第一种方法,使用NLTK调用stanfordNLP工具包
安装与配置
一、NLTK的安装配置
1.笔者是用Anoconda下载的python,就以Anaconda为例。打开Anaconda prompt,输入pip install nltk
安装最新版的NLTK。
2.打开python编辑器,输入import nltk
,再输入nltk download ()
并执行,下载NLTK数据包,在下载界面选中book模块,选择下载目标路径,例如:E:\Anaconda\Anaconda\nltk_data,修改系统环境变量,在path中加入刚刚选择的路径:E:\Anaconda\Anaconda\nltk_data;记得跟前面的路径之间用;
隔开
3.配置完成之后,打开python编辑器,输入import nltk.book
,只要没有输出明显的错误,正确显示了相关信息,就表示NLTK安装成功了
4.下载nltk-develop.zip,这个文件提供的NLTK工具连接到StanfordNLP工具的接口,下载之后解压,把解压后的nltk-develop文件复制到python安装的主路径下,笔者是Anaconda方式安装的python,所以就直接放在了Anaconda3的主目录下
5.然后进入nltk-develop文件夹,在路径框中输入cmd
,回车,进入命令行,输入python setup.py install
,并执行
6.NLTK配置完成
二、stanford NLP工具安装配置
1.下载工具包
2.下载之后全部解压,为了方便管理和配置,新建一个文件夹stanfordNLP,把需要的文件放入
-
从stanford-corenlp-full-2018-10-05中拷贝slf4j-api.jar、stanford-corenlp-3.9.2.jar、stanford-corenlp-3.9.2-models.jar
-
从stanford-ner-2018-10-16拷贝classifiers、stanford-ner-3.9.2.jar
-
从stanford-parser-full-2018-10-17中拷贝stanford-parser.jar、stanford-parser-3.9.2-models.jar
-
从stanford-postagger-full-2018-10-16中拷贝stanford-postagger.jar、models
-
从stanford-segmenter-2018-10-16中拷贝data、stanford-segmenter-3.9.2.jar并重命名为stanford-segmenter.jar
3.配置环境变量
事实上,也可以完全不进行环境变量设置,但这就需要在每次调用的时候手动指定参数
新建CLASSPATH系统环境变量,添加上面新建的文件夹stanfordNLP的路径:“F:\知识图谱\工具\stanfordNLP;”
新建STANFORD_MODELS系统环境变量,添加文件夹stanfordNLP中的models、classifiers、data的路径
新建STANFORD_SEGMENTER系统环境变量,添加文件夹stanfordNLP中的data的路径
4.配置完成,可以开始使用了
使用
1.分词
from nltk.tokenize.stanford_segmenter import StanfordSegmenter
from nltk.tokenize.stanford_segmenter import StanfordSegmenter
segmenter = StanfordSegmenter()
str="改革春风吹满地,中国人民真争气。"
segmenter.default_config('zh')
result = segmenter.segment(str)
print(result)
print(help(StanfordSegmenter))
# 可以查看StanfordSegmenter函数的参数说明以及用法,
# 因为之前设置了环境变量,所以一些默认参数不用指定
使用出现问题,暂时未解决
'utf-8' codec can't decode byte 0xc6 in position 81: invalid continuation byte
2.实体命名识别
from nltk impor