老铁们,大家好,相信还有很多朋友对于深入解析:斯坦福NLP与Python结合,中文配置及可视化应用教程和的相关问题不太懂,没关系,今天就由我来为大家分享分享深入解析:斯坦福NLP与Python结合,中文配置及可视化应用教程以及的问题,文章篇幅可能偏长,希望可以帮助到大家,下面一起来看看吧!
有两个文件需要下载,一个是Stanford CoreNLP,另一个是中文语言包(两个文件都很大,请稍候)
安装包下载
Stanford NLP安装
1.下载安装jdk1.8
官网:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
下载对应版本即可
测试JDK下载是否安装成功,在命令行输入命令“java -version”即可显示jdk版本,如下:
查看JDK版本
2.安装配置stanford nlp与中文语言包
安装stanfordcorenlp
直接用pip命令安装,添加青青镜像,速度无边~~跳舞
命令:
pip install stanfordcorenlp -i http://pypi.mirrors.ustc.edu.cn/simple/--trusted-host pypi.mirrors.ustc.edu.cn
注意:这里如果报错:unable to execute "gcc": No such file or directory
表示您的计算机上未安装gcc 编译器。 Mac自带,Linux系统没有。使用yum 命令。
只需yum 安装gcc 即可。
为了可视化安装nltk
最好重新安装nltk。它与解析无关。主要是画图,以便把stanford parser的结果画成树,可视化。
安装命令:pip install nltk
然后运行python
导入nltk
nltk.download()
下载一些nltk资源包。
配置中文解析
要解析中文,首先将下载的Chinese.jar文件复制到/Users/***/stanford-corenlp-full-2018-10-05目录下。
3.运行
解析英文文本
代码如下:
从stanfordcorenlp 导入斯坦福CoreNLP
nlp=StanfordCoreNLP("/Users/***/stanford-corenlp-full-2018-10-05")
句子="广东外语外贸大学位于广州。"
print ("Tokenize:", nlp.word_tokenize(句子))
print ("部分语音:", nlp.pos_tag(sentence))
print ("命名实体:", nlp.ner(句子))
print ("选区解析:", nlp.parse(sentence))#语法树
print ("依存解析:", nlp.dependency_parse(sentence))#依存语法
nlp.close()#释放,否则后端服务器会消耗大量内存
但是运行的时候报错,样式在第二行:
PermissionError.AccessDenied,简单来说就是权限问题,所以直接用sudo运行这个python文件就可以了。
在命令行输入sudo python ***.py,结果如下:
斯坦福解析器结果
解析中文文本
代码:
nlp=StanleyCoreNLP("/Users/wangwenhua/Downloads/stanford-corenlp-full-2018-10-05",lang="zh")#此处配置中文标记"zh"
句子="清华大学位于北京。 "
打印(nlp.word_tokenize(句子))
print(nlp.pos_tag(句子))
print(nlp.ner(句子))
print(nlp.parse(句子))
打印(nlp.dependency_parse(句子))
结果:
中文解析结果中文解析器比英文慢一点。
4.可视化
虽然已经解析出来了,但是我们想把它画成一棵树来看看。这里我们使用nltk提供的树可视化包。
代码:
从stanfordcorenlp 导入斯坦福CoreNLP
来自nltk.treeimport 树
nlp=StanfordCoreNLP("/Users/wangwenhua/Downloads/stanford-corenlp-full-2018-10-05", lang="zh")
句子="清华大学位于北京。 "
树=Tree.fromstring(nlp.parse(句子))
树.draw()
运行截图:
解析结果可视化接下来,可以对nltk.tree 类执行相对依赖语法分析结果的一些后处理。
print(tree.height())#树的高度
print(tree.leaves())#树的叶子节点
tree.products()#生成树的非终端节点对应的结果
如下:
[ROOT -IP, IP -NP VP PU, NP -NR NN, NR -"清华", NN -"大学", VP -VV NP, VV -"中", NP -NR, NR -"北京", PU -"。 "]
【深入解析:斯坦福NLP与Python结合,中文配置及可视化应用教程】相关文章:
2.米颠拜石
3.王羲之临池学书
8.郑板桥轶事十则
用户评论
我一直想要学习NLP,感觉 Stanford NLP 库看起来很有趣!
有18位网友表示赞同!
这篇文章内容听起来很实用,尤其是在要用Python处理中文文本的情况下。
有10位网友表示赞同!
之前我听说Stanford NLP 不错,现在终于有时间好好研究一下了。
有20位网友表示赞同!
可视化效果是关键啊,方便我更好地理解模型运行情况。
有10位网友表示赞同!
我之前就用过Python进行英文文本分析,不知道这篇文章能否介绍中文语言处理的技巧?
有14位网友表示赞同!
配置使用方面我一直比较迷糊,这篇文章能够帮我解决不少问题吧!
有12位网友表示赞同!
Stanford NLP 库是研究NLP的首选工具吗?
有17位网友表示赞同!
期待学习如何将 Python 和 Stanford NLP 集成起来。
有11位网友表示赞同!
最近在搞中文文本分类项目,希望这篇文章能给我一些思路。
有10位网友表示赞同!
使用可视化手段分析数据很有帮助,我期待看看这篇文章的具体案例。
有20位网友表示赞同!
Python+Stanford NLP 的组合确实很强大,希望能学到更多高级应用技巧。
有11位网友表示赞同!
中文文本处理难度确实比较大,文章能介绍一些应对策略吗?
有13位网友表示赞同!
我对可视化的工具很感兴趣,这篇文章能否推荐一些好用的软件呢?
有17位网友表示赞同!
感觉 Stanford NLP 和 Python 的结合应用前景非常广阔!
有13位网友表示赞同!
希望这篇文章能够讲解Stanford NLP 中的一些常用模型。
有12位网友表示赞同!
我现在对 NLP还处于入门阶段,希望能从这篇文章中获得一些启发。
有11位网友表示赞同!
我已经开始学习Python了,现在加上 Stanford NLP,我会更加深入地探索数据分析领域。
有7位网友表示赞同!
这篇文章一定能帮助我快速上手 Stanford NLP 和 Python 的结合使用!
有14位网友表示赞同!
期待看到这篇文章详细的代码示例和运行流程图。
有16位网友表示赞同!