当前位置:   article > 正文

如何用Stanford coreNLP 做中英文指代分解_stanfordnlp处理中文

stanfordnlp处理中文

如何用Stanford coreNLP 做中英文指代分解

指代分解是NLP领域的一个重要课题,目前流行好用的的NLP很多,如NLTK,spaCy,polyglot,jieba等,但实现指代消解的NLP着实的少,目前可以找到的貌似只有spacy下的NeuralCoref;斯坦福的stanford coreNLP和复旦大学的FudanNLP三个。
其中spacy是工业级的NLP处理方式,使用python,运行速度最快,但可惜目前没有中文的指代分解。Stanford coreNLP和FudanNLP相比,后者精度过差,本文使用Standford coreNLP实现中英文指代分解的例子各一个。

一, 环境配置

Stanford coreNLP使用java实现,他也有python的接口,CSDN有很多博客有介绍,但python版的stanford coreNLP更新比java版的慢一些,本人仔细查找了python的stanford coreNLP之后并没有找到指代分解部分(可能我下载的版本过旧?),所以就不多介绍了。

1,更新Java版本以及下载必要的包

Java配置主要有以下注意点:
1, java版本需要JDK1.8
2, Stanford coreNLP的安装链接如下:
https://stanfordnlp.github.io/CoreNLP/

2,建立工程

在这根据官方指导,应该使用maven工程,工程建立的流程如下:
http://www.sfs.uni-tuebingen.de/~keberle/NLPTools/presentations/CoreNLP/NLP Tools - Stanford CoreNLP - Installation (1).pdf

3,导入需要包

最后导入需要的包,在这直接参照前辈的操作指南了,链接如下:
https://www.cnblogs.com/tec-vegetables/p/4153144.html
接着就可以开始愉快的指代分解之旅了:)

二, 英文指代分解代码及结果

代码如下:
1
2
3
4

运行输入:

Kosgi Santosh sent an email to Stanford University. He didn’t get a reply.

运行输出:

(指代链形式)
g

三, 中文指代分解代码及结果: 代码如下: 运行输入:

代码如下:
1
2

运行输入:

托马斯叹了口气,他知道自己又无法拒绝了,不由得怪自己心肠实在不够硬。其实他也不愿意把莉莉娅赶走,如果是平时,托马斯还会给她耐心讲解一些工作的事,但是今天的任务非同寻常,案件极端棘手,又牵扯数额巨大的跨国黑钱交易,他实在不能分心。从今天早上开始,他的心就一直跳得很厉害,隐隐有一种不祥的预感。“头儿,她出来了。”就在这时,查理突然喊道。

运行输出:

(指代链形式)
3

评价

英文的指代分解斯坦福已经做得不错了,但中文指代分解结果可以说真的很差。查完资料过后发现斯坦福的英文指代分解已经在用机器学习的算法了,但中文部分好像还没有上线。更新后再学习吧。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/396481
推荐阅读
相关标签
  

闽ICP备14008679号