您的位置:首页 > 编程语言 > Python开发

Python自然语言处理(二)--NLTK调用Stanford_NLP_Tools完成NLP任务

2015-05-04 15:03 423 查看
上一篇博文Python自然语言处理(一)介绍了如何利用NLTK自带的函数快速进行NLP任务,适用于对NLP处理要求不高的场景。
如果对NLP的效果有较高要求的话,那些NLTK自带的函数可能就无法满足要求了。
幸好,NLTK可以调用第三方的NLP工具。Stanford NLP Tools 是非常优秀的NLP工具,下面介绍如何在Python中使用它们。
NLTK自带的类支持部分Stanford NLP Tools, 但是我本机测试始终无法运行,不知是Stanford NLP Tools升级的原因还是我电脑的原因。这里利用第三方工具包使用Stanford NLP Tools。
一、使用StanfordNER
首先,需要下载StanfordNER工具包,点这里下载
还需要下载一个第三方工具包Pyner, 点这里下载
下载完成后,依次进行下列操作:
     1. 安装Pyner
          解压下载的Pyner,命令行中将工作目录切换到Pyner文件夹下, 输入命令 :python setup.py install 完成安装
     2. 解压StanfordNER工具包,命令行中将工作目录切换到StanfordNER文件夹下,输入以下命令以服务的方式运行StanfordNER
         命令:java -mx1000m -cp stanford-ner.jar edu.stanford.nlp.ie.NERServer -loadClassifier classifiers/english.muc.7class.distsim.crf.ser.gz
-port 8080 -outputFormat inlineXML





   3.上面两步正确完成之后,下面可以很方便的用python调用StanfordNER了。
     
二、使用StanfordParser
首先,需要下载 StanfordParser,测试支持1.6.4版本,其它版本未测,点此下载
还需要安装第三方工具包Stanford-parser-python, 点此下载
注意:Stanford-parser-python需要用到另一个工具包JPype,如果尚未安装,需要先安装JPype.  安装教程
下面配置Stanford-parser-python
1. 在工程下新建python包,将stanford-parser-python解压后拷贝进去,我的例子中包名为stanford-parser



2. 打开parser.py文件,进行配置
    


在打开的文件中找到startJvm函数,将其修改为上图样式
其中,stanford_parser_home配置为stanford parser在你本机的所在目录



将此Parser的构造函数红线标注的部分修改为:
self.pcfg_model_fname = "%s/englishPCFG.ser.gz" % stanford_parser_home

现在终于配置完成,可以使用StanfordParser了




执行结果:




三、使用StanfordPosTag
StanfordParser同时进行了PosTag操作,直接可以利用StanfordParser进行PosTag。
按照二的步骤配置好StanfordParser之后,很容易进行PosTag
下面自定义PosTag方法:




执行结果:





作者:liushulinle      转自:http://www.pythontip.com/blog/post/10042/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息