这里安装的是两个自然语言处理工具,NLTK和Stanford NLP。

声明:笔者操作系统是Windows10,理论上Windows都可以;

版本号:NLTK 3.2

Stanford NLP 3.6.0

JDK 1.8

重要文件在讲述过程中会以网盘链接给出,可随时下载。

注:笔者是通过Anaconda安装的python,所以有关路径都与Anaconda有关。

一、 NLTK的安装

1、检查python版本:NLTK是python语言编写的,依托python来安装。当前通行的python版本是python3.5.2。笔者的python版本也是python3.5.2,为了防止不可预估的问题,建议大家都选择python3.5.2,日后再改也可以。

2、下载NLTK安装文件,版本是NLTK 3.2,网盘链接:https://pan.baidu.com/s/1fPxL36TGZtrzMdq3pFxlcg
      下载后直接运行exe文件进行安装,会自动匹配到python安装路径,如果没有找到路径则说明NLTK版本不正确,或者说python版本不正确。
3.  打开python编辑器,输入“import nltk”,再输入“nltk.download()”,下载NLTK数据包,在下载界面选中book模块,这个模块包含了许多数据案例和内置函数。
     修改book下载目的路径建议如下:D:\DevelopmentTools\Anaconda3\nltk_data,也就是在Anaconda下创建一个nltk_data的文件夹,将book下载目标路径放在此处即可,这样做便于管理和维护。如下如:

4、环境变量的配置:计算机→属性→高级系统设置→高级→环境变量-系统变量→path,在path中加入刚刚定的路径:D:\DevelopmentTools\Anaconda3\nltk_data
5、配置完成之后,打开python编辑器,输入from nltk.book import *,只要没有输出明显的错误,正确显示了相关信息,就表示NLTK安装成功了,如下图:

二、Stanford NLP工具的安装

1、版本检查:python版本依旧是python3.5.2,同时要确保安装的是Java 8及以后版本(Stanford NLP只支持Java 8及以后的版本),也就是确定系统安装的jdk1.8及以上版本。笔者电脑安装的是jdk1.8.0_161。这里就不说jdk的安装了,自己百度下。    附上jdk1.8链接:https://pan.baidu.com/s/1RltrIesUoEcQvVshsns6Aw
 
2、下载nltk-develop.zip,这个文件提供的NLTK工具连接到Stanford NLP工具的接口。网盘链接:
下载之后解压,然后把解压后的nltk-develop文件夹复制到python安装的主路径下,笔者是Anaconda方式安装的python,所以就直接放在了Anaconda3的主目录下,如下:

3、然后进入Windows的cmd命令行

从命令进入到刚刚复制的路径下:D:\DevelopmentTools\Anaconda3\nltk-develop  ,然后输入python setup.py install,并执行  如下:

等待安装即可,由于笔者已经安装过了,就不展示安装后的信息了。

4、Stanford NLP版本是3.6.0,所有文件可在网盘下载:https://pan.baidu.com/s/15y7gfy167cfLJhvRurWMCA

      笔者已经将所需的文件和jar包统一打包好了,下载下来的就是打包好的文件夹“stanfordNLP”,直接将此文件夹复制到Anaconda3的目录下即可(理论上放到别的路径也可以,这个路径最终是要来设置环境变量,这里统一放在Anaconda3目录下是为了更方便的统一管理和维护而已),如下:
 

5、下面就来开始设置刚刚“stanfordNLP”文件夹下各个文件的环境变量,环境变量都是在系统变量的classpath中来操作。

设置环境变量的目的是为了能随时快速的调用,设置环境变量之后,以后的所有调用都不需要传输绝对路径的参数了。

(1)StanfordSegmenter环境变量的设置

进入“stanfordNLP”文件夹,将stanford-segmenter.jar的绝对路径拷贝到classpath下,分别如下:

注意,每一个不同路径之间要用分号分隔。

(2)slf4j-api.jar加入classpath环境变量。slf4j-api.jar是stanford-segmenter-2015-12-09.zip解压后含有的文件。

同理,将“stanfordNLP”中的slf4j-api.jar的绝对路径加入到classpath中去,如下:

(3)StanfordPOSTagger环境变量的设置

同理,进入“stanfordNLP”文件夹,将stanford-postagger.jar文件的绝对路径添加到classpath中,如下:

(4)StanfordNERTagger环境变量的设置

同理,进入“stanfordNLP”文件夹,将stanford-ner.jar文件的绝对路径添加到classpath中,如下:

(5)将classifiers文件夹也添加入classpath环境变量。classifiers文件夹是从stanford-ner-2015-12-09.zip解压后含有的文件夹,直接复制提取的

(6)将models文件夹添加入classpath环境变量。models文件夹是stanford-postagger-full-2015-12-09.zip解压后含有的文件夹。环境变量如下:

(7)StanfordParser环境变量的设置

同理,进入“stanfordNLP”文件夹,将stanford-parser.jar和stanford-parser-3.6.0-models.jar分别添加到classpath环境变量中去,分别如下:

(8)StanfordNeuralDependencyParser环境变量的设置

同上,进入“stanfordNLP”文件夹,分别将stanford-corenlp-3.6.0.jar和stanford-corenlp-3.6.0-models.jar添加入classpath环境变量,分别如下:

三、测试

由于Stanford NLP工具安装最繁琐,也最容易出问题,于是特别展示对Stanford NLP的测试,所有简短的代码都是在python编辑器中执行的,其它地方也可:

代码如下:

路径:相应路径是笔者前面安装所使用的路径,结合更改为自己电脑的实际路径。只要按照上述步骤将所有环境变量配置了,那么,在所有函数的调用中,函数参数就不用再输入绝对路径了,只需要直接输入相应的文件名即可,函数运行时自会在环境变量的路径下来找该文件,找不到的话就会报错的。

1、分词
(1)中文分词
from nltk.tokenize.stanford_segmenter import StanfordSegmenter
segmenter = StanfordSegmenter(
  path_to_sihan_corpora_dict="D:\DevelopmentTools\Anaconda3\stanfordNLP\data\",   path_to_model="D:\DevelopmentTools\Anaconda3\stanfordNLP\data\pku.gz",   path_to_dict="D:\DevelopmentTools\Anaconda3\stanfordNLP\data\dict-chris6.ser.gz")
str="我在博客园开了一个博客,我的博客名字叫钝学累功。"
result = segmenter.segment(str)
==>运行有错误,未解决
(2)英文分词
from nltk.tokenize import StanfordTokenizer
tokenizer=StanfordTokenizer()
sent="Good muffins cost $3.88\nin New York. Please buy me\ntwo of them.\nThanks."
print(tokenizer.tokenize(sent))
2、命名实体识别
(1)英文命名实体识别
from nltk.tag import StanfordNERTagger
eng_tagger=StanfordNERTagger(model_filename=r'D:\DevelopmentTools\Anaconda3\stanfordNLP\classifiers\english.all.3class.distsim.crf.ser.gz')
print(eng_tagger.tag('Rami Eid is studying at Stony Brook University in NY'.split()))
(2)中文命名实体识别
3、词性标注
(1)英文词性标注
from nltk.tag import StanfordPOSTagger
eng_tagger=StanfordPOSTagger(model_filename=r'D:\DevelopmentTools\Anaconda3\stanfordNLP\models\english-bidirectional-distsim.tagger')
print(eng_tagger.tag('What is the airspeed of an unladen swallow ?'.split()))
(2)中文词性标注
from nltk.tag import StanfordPOSTagger
chi_tagger=StanfordPOSTagger(model_filename=r'chinese-distsim.tagger')
result="四川省 成都 信息 工程 大学 我 在 博客 园 开 了 一个 博客 , 我 的 博客 名叫 钝学累功 。 \r\n"
print(chi_tagger.tag(result.split()))
4、句法分析
(1)英文句法分析
from nltk.parse.stanford import StanfordParser
eng_parser=StanfordParser()
print(list(eng_parser.parse("the quick brown for jumps over the lazy dog".split())))
(2)中文句法分析
from nltk.parse.stanford import StanfordParser
chi_parser=StanfordParser()
sent=u'北海 已 成为 中国 对外开放 中 升起 的 一 颗 明星'
print(list(chi_parser.parse(sent.split())))
 
5、依存句法分析
(1)英文依存句法分析
from nltk.parse.stanford import StanfordDependencyParser
eng_parser=StanfordDependencyParser()
res=list(eng_parser.parse("the quick brown fox jumps over the lazy dog".split()))
for row in res[0].triples():
    print(row)
(2)中文依存句法分析
from nltk.parse.stanford import StanfordDependencyParser
chi_parser=StanfordDependencyParser()
res=list(chi_parser.parse(u'四川 已 成为 中国 西部 对外开放 中 升起 的 一 颗 明星'.split()))
for row in res[0].triples():
     print(row)

总结,环境变量的设置总的来说是自由的,但是要设置的便于自己识别和 维护,笔者只是提供了自己的设置方案。只要能正常运行上述测试代码,就表示Stanford NLP和NLTK安装成功了,之后开发可以结合两个工具一起使用。。。

参考链接:https://www.jianshu.com/p/4b3c7e7578e6

NLTK和Stanford NLP两个工具的安装配置的更多相关文章

  1. 【NLP】干货!Python NLTK结合stanford NLP工具包进行文本处理

    干货!详述Python NLTK下如何使用stanford NLP工具包 作者:白宁超 2016年11月6日19:28:43 摘要:NLTK是由宾夕法尼亚大学计算机和信息科学使用python语言实现的 ...

  2. [转]【NLP】干货!Python NLTK结合stanford NLP工具包进行文本处理 阅读目录

    [NLP]干货!Python NLTK结合stanford NLP工具包进行文本处理  原贴:   https://www.cnblogs.com/baiboy/p/nltk1.html 阅读目录 目 ...

  3. 代码静态分析工具PC-LINT安装配置

    代码静态分析工具PC-LINT安装配置--step by step                             作者:ehui928                             ...

  4. 第【一】部分Netzob项目工具的安装配置

    第[一]部分Netzob项目工具的安装配置 声明: 1)本报告由博客园bitpeach撰写,版权所有,免费转载,请注明出处,并请勿作商业用途. 2)若本文档内有侵权文字或图片等内容,请联系作者bitp ...

  5. python操作三大主流数据库(3)python操作mysql③python操作mysql的orm工具sqlaichemy安装配置和使用

    python操作mysql③python操作mysql的orm工具sqlaichemy安装配置和使用 手册地址: http://docs.sqlalchemy.org/en/rel_1_1/orm/i ...

  6. 画图工具Graphviz安装配置

    Graphviz (英文:Graph Visualization Software的缩写)是一个由AT&T实验室启动的开源工具包,用于绘制DOT语言脚本描述的图形.它也提供了供其它软件使用的库 ...

  7. ②---Java开发工具Eclipse安装配置

    Java开发工具Eclipse安装及配置 以下将为大家介绍Java开发工具Eclipse安装及配置. 一.下载Eclipse安装文件 正所谓工欲善其事必先利其器,我们在开发java语言过程中同样需要依 ...

  8. Linux性能实时监测工具netdata安装配置

    netdata:功能强大的实时性能检测工具,展示地址. github地址:https://github.com/firehol/netdata 本文介绍在CentOS 6.7下安装netdata 1. ...

  9. BUG管理工具——Mantis安装配置

    配置环境: CentOS6.5(所有操作在root用户下面操作) 1. 关闭防火墙, service iptables stop(防止防火墙捣乱,或者还得手动添加端口号的麻烦) 2. Disable ...

随机推荐

  1. IO的概念

    什么是IO: 在内存中存在数据交换的操作都可以认为是IO操作 和终端交互:input print 和磁盘交互:read write 和网络交互:recv send IO密集型程序:在程序执行过程中存在 ...

  2. 51Nod 1006:最长公共子序列Lcs(打印LCS)

    1006 最长公共子序列Lcs  基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题  收藏  关注 给出两个字符串A B,求A与B的最长公共子序列(子序列不要求是连续的). ...

  3. Spring Model存储值在jsp EL表达式中不能正确显示(原样显示)问题

    这几天我搭了一个SpringMvc环境,写了一个Controller,并且Controller里面有一个很简单的映射到jsp页面的方法,如下: 这里的Map<String,String>其 ...

  4. Nodejs中npm install 命令的问题

    在使用nodejs的npm包管理工具中碰到过许多个坑,在网上查了很久才解决,现在加以总结. 两种安装方式(本地安装,全局安装) 1.全局安装(npm install -g moduleName/npm ...

  5. 【liunx】telnet命令

    telnet命令用于登录远程主机,对远程主机进行管理.telnet因为采用明文传送报文,安全性不好,很多Linux服务器都不开放telnet服务,而改用更安全的ssh方式了.但仍然有很多别的系统可能采 ...

  6. 浅谈ASP.NET ---- 系列文章

    [01]浅谈Google Chrome浏览器(理论篇) [02]浅谈Google Chrome浏览器(操作篇)(上) [03]浅谈Google Chrome浏览器(操作篇)(下) [04]浅谈ASP. ...

  7. Android自动化测试-UiAutomator2环境搭建

    Android自动化测试-UiAutomator环境搭建(QQ交流群:490451176) 一.环境准备 1. 安装android sdk,并配置环境变量 2. 安装android studio,国内 ...

  8. 【转】shell 编程:冒号 后面跟 等号,加号,减号,问号的意义

    原文网址:http://blog.csdn.net/trochiluses/article/details/9048539 缺省值(:-)   如果变量后面跟着冒号和减号,则变量后面跟着是这个变量的缺 ...

  9. Eclipse转Android Studio工程实践

    Eclipse转Android Studio工程有两种方式, 一种是兼容Eclipse,两者都可以使用,一种是全新的Android Gradle Project. 这里使用的Android Studi ...

  10. emacs配置buffer的快捷键

    emacsConfig/buffer-setting.el (global-set-key (kbd "<M-left>") 'previous-buffer) (gl ...