赞
踩
指代分解是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之后并没有找到指代分解部分(可能我下载的版本过旧?),所以就不多介绍了。
Java配置主要有以下注意点:
1, java版本需要JDK1.8
2, Stanford coreNLP的安装链接如下:
https://stanfordnlp.github.io/CoreNLP/
在这根据官方指导,应该使用maven工程,工程建立的流程如下:
http://www.sfs.uni-tuebingen.de/~keberle/NLPTools/presentations/CoreNLP/NLP Tools - Stanford CoreNLP - Installation (1).pdf
最后导入需要的包,在这直接参照前辈的操作指南了,链接如下:
https://www.cnblogs.com/tec-vegetables/p/4153144.html
接着就可以开始愉快的指代分解之旅了:)
代码如下:
Kosgi Santosh sent an email to Stanford University. He didn’t get a reply.
(指代链形式)
代码如下:
托马斯叹了口气,他知道自己又无法拒绝了,不由得怪自己心肠实在不够硬。其实他也不愿意把莉莉娅赶走,如果是平时,托马斯还会给她耐心讲解一些工作的事,但是今天的任务非同寻常,案件极端棘手,又牵扯数额巨大的跨国黑钱交易,他实在不能分心。从今天早上开始,他的心就一直跳得很厉害,隐隐有一种不祥的预感。“头儿,她出来了。”就在这时,查理突然喊道。
(指代链形式)
英文的指代分解斯坦福已经做得不错了,但中文指代分解结果可以说真的很差。查完资料过后发现斯坦福的英文指代分解已经在用机器学习的算法了,但中文部分好像还没有上线。更新后再学习吧。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。