赞
踩
NLP(Natural language processing,自然语言处理)是一门涵盖语言学、计算机科学、人工智慧等多个领域的科学,研究人与计算机之间用自然语言进行有效通信的理论方法,简单来说,NLP 就是开发能够理解人类语言的应用程序或服务。自然语言处理是很大的一门范畴和学问,这里讨论一些自然语言处理的例子,如分词、分句、词性划分、理解匹配词的同义词,当然,这并不是 NLP 能做的所有事情,笔者并不是想让读者进行非常高深学问的学习,读者只需要掌握我们用到的可能性较大的方法。
NLTK(Natural Language Toolkit,自然语言工具包)在用 Python 处理自然语言的工具中处于领先的地位,同时,它基于 Python 构建。它提供了 WordNet 这种方便处理词汇资源的接口(拥有超过 50 个语料库和词汇资源),还有分类、分词、除茎、标注、语法分析、语义推理等类库,最让人惊喜的一点是,它基于 Apache2.0 开源协议免费发放。NLTK 是一个第三方包,你需要通过 pip 或者其他的包管理器更或是源码进行安装,但仅仅是安装 NLTK 库,那么它的大部分方法你都无法使用。NLTK 库中,自带一个函数download(),会打开一个类似于下图的界面。
import nltk
nltk.download()
使用该命令可以打开这样一个界面,用来下载‘包’
你也可以使用以下命令直接下载
nltk.download('[包名]')
下载完成之后,你需要将下载的内容存放在这些位置之一。
当你很自信的认为已经整理好 nltk_data,并且能够正常使用,那么你可以使用这个命令来确认
from nltk.book import *
返回结果:
text1.concordance('different')
这句话实现的是从这一大串字符串中找寻出包含 different 这个单词的语句,返回的结果如下:
from nltk import FreqDist
fdist=FreqDist(text1)
fdist.most_common(10)
fdist.plot(10)
text4.dispersion_plot(['citizens','democracy ', 'freedom ', 'duties', 'America'])
除了简单的文本统计,NLTK 库还为我们提供了许多的分析方法
text2.common_contexts(["monstrous", "very"])
text1.similar("different")
在这里插入图片描述
text1.similar([文字]),可以告诉我们和我们指定的字符具有相同作用(并不是它们的语义相同)的单词,比如说,我们经常使用 beautiful 来形容 girl,那么这个函数可能就会给我们返回 handsome(同样用来形容 girl)
sent_tokenize(text)
可能 1 会疑问如果是很规范的文本,我们直接根据标点符号进行断句就可以了,为什么还要使用这个命令呢?
那么像"Hi Mr. Liu, how are you? Blessing for you"这种呢,称谓之间的标点符号很明显你是不可以把它单独分割成一个句子的,这时候 NLTK 库的分句用法就会展现出它的强大。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。