前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >neuralcoref使用教程-指代消解

neuralcoref使用教程-指代消解

作者头像
K同学啊
发布2020-03-03 10:52:33
2.1K0
发布2020-03-03 10:52:33
举报

作者: 明天依旧可好 | 柯尊柏 邮箱: ke.zb@qq.com 编译器: jupyter notebook 创作时间: 2020.3.1


文章目录


neuralcoref与spaCy的配合使用,目前版本上存在不兼容现象(今天是2020.3.1),需要将spaCy降解到2.1.0版本才可以正常使用

代码语言:javascript
复制
pip install spaCy==2.1.0

如果事前已经安装过了,可以使用下面的语句来卸载

代码语言:javascript
复制
pip uninstall spaCy

一、什么是指代消解

举个例子

A 来自湖北,他喜欢吃橘子。B来自湖南,她喜欢吃苹果。

我们将这段语料输入到电脑,电脑会就认为这段文字描述的四个人(分别是“A”,“他”,“B”,“她”),实际上文字中的“A”与“他”均是指A,但是电脑是无法理解这个的。

假如我们使用指代消解,电脑就会知道

A 来自湖北,A喜欢吃橘子。B来自湖南,B喜欢吃苹果。

二、案例展示

先看例子

代码语言:javascript
复制
import en_core_web_sm
import spacy
nlp = spacy.load('en')

import neuralcoref
neuralcoref.add_to_pipe(nlp)

#我们输入文本:My sister has a dog. She loves him.
doc = nlp(u'My sister has a dog. She loves him.')
doc._.coref_resolved

'''
输出:'My sister has a dog. My sister loves a dog.'
'''

三、进入正题:配置环境

需要安装的包有:en_core_web_smspacy2.1.0neuralcoref,在命令行中直接使用pip安装。

1.安装neuralcoref语句:

代码语言:javascript
复制
pip install neuralcoref

2.安装spacy2.1.0,如果安装速度过慢建议F墙,不要安装最新版本,会出现问题的(为你们节约了三天时间)

代码语言:javascript
复制
pip install spacy==2.1.0

3.安装en_core_web_sm语句:

代码语言:javascript
复制
pip install en_core_web_sm

安装后可使用上面的案例来检查,看自己是否成功。

四、neuralcoref有哪些函数可以用

我们借用上面的例子,然后一一调用它们,来看看结果

代码语言:javascript
复制
import en_core_web_sm
import spacy
nlp = spacy.load('en')

import neuralcoref
neuralcoref.add_to_pipe(nlp)

#我们输入文本:My sister has a dog. She loves him.
doc = nlp(u'My sister has a dog. She loves him.')
doc._.coref_resolved

我们用下面的方法替换代码中的最后一行,对比一下输出结果。

方法

返回结果

解释

doc._.has_coref

True

返回boolean,判断是否解决了文档中的指代问题

doc._.coref_clusters

[My sister: [My sister, She], a dog: [a dog, him]]

返回列表,说明指代关系

doc._.coref_resolved

‘My sister has a dog. My sister loves a dog.’

返回消除指代后的结果

doc._.coref_scores

{My sister: {My sister: 1.3110305070877075},a dog: {a dog: 1.804752230644226, My sister:-1.6715972423553467},She: {She: -0.10834205150604248,My sister: 8.058426856994629,a dog: -1.0625176429748535},him: {him: -1.870743989944458,My sister: 3.1147186756134033,a dog: 4.356405258178711,She: -3.1379528045654297}}

互指消解分数,简单来说就是相关性系数


官网:neuralcoref的GitHub官网

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-03-01 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文章目录
  • 一、什么是指代消解
  • 二、案例展示
  • 三、进入正题:配置环境
  • 四、neuralcoref有哪些函数可以用
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档