neuralcoref使用教程-指代消解
作者: 明天依旧可好
邮箱: ke.zb@qq.com
编译器: jupyter notebook
创作时间: 2020.3.1
文章目录
- 一、什么是指代消解
- 二、案例展示
- 三、进入正题:配置环境
- 四、neuralcoref有哪些函数可以用
neuralcoref与spaCy的配合使用,目前版本上存在不兼容现象(今天是2020.3.1),需要将spaCy降解到2.1.0版本才可以正常使用
pip install spaCy==2.1.0
如果事前已经安装过了,可以使用下面的语句来卸载
pip uninstall spaCy
一、什么是指代消解
举个例子
A 来自湖北,他喜欢吃橘子。B来自湖南,她喜欢吃苹果。
我们将这段语料输入到电脑,电脑会就认为这段文字描述的四个人(分别是“A”,“他”,“B”,“她”),实际上文字中的“A”与“他”均是指A,但是电脑是无法理解这个的。
假如我们使用指代消解,电脑就会知道
A 来自湖北,A喜欢吃橘子。B来自湖南,B喜欢吃苹果。
二、案例展示
先看例子
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_sm
、spacy2.1.0
、neuralcoref
,在命令行中直接使用pip安装。
1.安装neuralcoref
语句:
pip install neuralcoref
2.安装spacy2.1.0
,如果安装速度过慢建议F墙,不要安装最新版本,会出现问题的(为你们节约了三天时间)
pip install spacy==2.1.0
3.安装en_core_web_sm
语句:
pip install en_core_web_sm
安装后可使用上面的案例来检查,看自己是否成功。
四、neuralcoref有哪些函数可以用
我们借用上面的例子,然后一一调用它们,来看看结果
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官网】
neuralcoref使用教程-指代消解相关推荐
- 共指消解/指代消解 spacy+neuralcoref 排坑
背景 模型需要用到指代消解功能,查询到比较好用的是spaCy+neuralcoref.代码简单,但是出现了很多兼容性问题,neuralcoref相当于一个插件,在spaCy框架下实现指代消解,安装很多 ...
- 斯坦福NLP名课带学详解 | CS224n 第16讲 - 指代消解问题与神经网络方法(NLP通关指南·完结)
作者:韩信子@ShowMeAI,路遥@ShowMeAI,奇异果@ShowMeAI 教程地址:https://www.showmeai.tech/tutorials/36 本文地址:https://ww ...
- 基于 BERT 掩码语言的指代消解--论文笔记
BERT Masked Language Modeling for Co-reference Resolution 基于 BERT 掩码语言的指代消解 [原文地址](https://www.aclwe ...
- (2020)指代消解ontoNotes_Release_5.0处理详细流程
最近在做指代消解的任务,目前才处理完数据部分,确实有些繁琐,因此记录 准备用spanbert做的指代消解,所以该代码里的.sh文件: github代码 数据获取 获取数据部分也需要耐心,参考以下博客( ...
- 基于VSM的命名实体识别、歧义消解和指代消解
前面讲述过两篇知识图谱相关的文章,这篇文章主要讲解基于向量空间模型(Vector Space Model)的相关应用,包括命名实体识别.实体消歧和跨文本指代消解:其最终目的是想通过它应用到知识图谱构建 ...
- Stanford CoreNLP 3.6.0 中文指代消解模块调用失败的解决方案
Stanford CoreNLP 3.6.0 中文指代消解模块调用失败的解决方案 参考文章: (1)Stanford CoreNLP 3.6.0 中文指代消解模块调用失败的解决方案 (2)https: ...
- 基于深度学习和指代消解的中文人名识别
摘要 [目的]命名实体识别是自然语言处理领域的一项基本任务,实体包括人名.地名和组织名等,与其他实体相比,人名与职务.职务变更及人称代词有关.人名的实体识别中,人名语料的残缺及人称指代不明等问题,成为 ...
- 指代消解系列(1)-综述
一.什么是指代消解? 1.指代的基本概念 指代作为一种常见的语言现象,广泛存在于自然语言的各种表达中. eg:***俄罗斯总统*** 在德国发表讲话时表示:"我们不排除中油集团参 与已拍卖的 ...
- AllenNLP系列文章之四:指代消解
指代消解是自然语言处理的一大任务之一,它是信息抽取不可或缺的组成部分.在信息抽取中,由于用户关心的事件和实体间语义关系往往散布于文本的不同位置,其中涉及到的实体通常可以有多种不同的表达方式,例如某个语 ...
最新文章
- Laravel 上使用 phpexcel的两种方式
- Linux如何显示文件数目的技巧比较两个文件夹是否相同
- python画图中grid等于true_Python中的matplotlib画图总结
- altium designer 自动扇出功能
- 算法图解:如何判断括号是否有效?
- 在VS中安装/使用 MVVMLight
- javascript自动填写表单小技巧
- Linux-Anaconda-pycharm 安装 配置
- NLP——12.词向量及相关应用
- 不显示BOM清单的版本
- CSS学习(四)——字体样式,文本样式
- SAA7113视频解码芯片介绍
- excel转换成html预览,Excel转换成html
- 解决Jenkins不能在线安装maven持续集成插件(百度云离线下载)
- 基于Linux的FTP文件传输项目(类似百度云)
- dns劫持是什么 dns被劫持了怎么办、dns被劫持怎么解决
- 如何评判一个企业是否需要实施erp系统?
- SOLIDWORKS怎样做填充阵列
- 【Binder 机制】AIDL 分析 ( 分析 AIDL 文件生成的 Java 源文件 | Binder | IBinder | Stub | Proxy )
- java pdfbox2 中文乱码_Java用pdfbox或icepdf转换PDF为图片时,中文乱码问题