专栏首页润风拂过存甘霖NeuralCoref: python的共指消解工具,向代词指代的问题进军!

NeuralCoref: python的共指消解工具,向代词指代的问题进军!

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/blmoistawinde/article/details/81782971

共指消解

首先简要地说说共指消解是什么,有什么用处。假设机器正在阅读一个这样的文本:

克劳德·莫奈是印象派代表人物和创始人之一。
他最重要的风格是改变了阴影和轮廓线的画法。

如果机器想要从这段话中了解到关于莫奈风格的知识,它首先必须知道,第二句话中的“他”指的就是莫奈。弄清代词的指代就是共指消解中的一个典型任务。

关于共指消解,更详细的概念可以参照: https://blog.csdn.net/qjc937044867/article/details/51694547

下面直接引出解决这个问题的一个开源工具——NeuralCoref。

NeuralCoref

Github官网:https://github.com/huggingface/neuralcoref NeuralCoref是使用时下先进神经网络技术完成指代消解任务的一个工具。它不是一个独立的python库, 而是另一个高速强大的python自然语言处理库——spaCy的一个拓展包,因此,要使用这个工具首先要安装spaCy:

pip install spacy

然后,再安装NeuralCoref支持的几个模型,下面的例子中,我会使用面向英语的小模型,安装方法如下:

pip install https://github.com/huggingface/neuralcoref-models/releases/download/en_coref_sm-3.0.0/en_coref_sm-3.0.0.tar.gz

如果需要更大的词汇量和准确率,把链接中的sm改成md/lg就可以下载对应的中模型和大模型。

基本用法

下面用jupyter notebook展示其基本用法:

src="https://nbviewer.jupyter.org/github/blmoistawinde/hello_world/blob/master/NeuralCoref_basic.ipynb" width="720" height="2000">

下一篇文章里,我会再尝试共指消解的一个有趣应用: NeuralCoref: 用指代消解来做一个“能多轮对话的问答对话机器人”

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 用HarvestText自动识别实体及人物别名,用于实体链接分析

    处理1需要文本清洗,处理2需要挖掘出人物别名,HarvestText提供了能够方便处理这些问题的接口:

    blmoistawinde
  • 更少标注的机器学习方法——主动学习(python示例)

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

    blmoistawinde
  • python用re.sub实现分组匹配和替换(及问答系统中的应用)

    关于正则表达式替换,前面我写过一个应用: python2代码搬运到python3要改很多print? 试试用pyCharm的正则表达式替换

    blmoistawinde
  • 学习笔记-小甲鱼Python3学习第十讲

      File "<pyshell#37>", line 1, in <module>

    py3study
  • 深度学习遇上稀缺数据就无计可施?这里有几个好办法!

    对于深度学习而言,在有很多数据的情况下,再复杂的问题也不在话下,然而没有这么多数据呢?本文作者 Tyler Folkman 针对这一问题,为大家介绍了几个在有限...

    AI科技评论
  • 内附POC以及干货 | WinRAR代码执行漏洞威胁预警

    近日,有安全研究人员使用WinAFL fuzzer发现WinRAR中存在逻辑漏洞,利用该漏洞攻击者可完全控制受害者计算机。攻击者只需利用此漏洞构造恶意的压缩文件...

    HACK学习
  • arm64硬件架构支持总结

    自从中兴事件后,国家开始在政策上大力支持国产硬软件,甚至在某些项目投标要求上都加上了隐性条件,软件系统必须能在国产硬软件基础上运行。而国产硬软件一般也就是代指a...

    jeremyxu
  • Python - 变量的作用域

    局部变量:在函数内部,类内部,lamda.的变量,它的作用域仅在函数、类、lamda里面

    小菠萝测试笔记
  • 博客开启HTTPS

    沈唁
  • C++ 错误C2374 错误C2084 错误C2568 头文件 重定义 多次初始化 已有主体

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

    acoolgiser

扫码关注云+社区

领取腾讯云代金券