gensim提取一个句子的关键词_聊一聊 NLPer 如何做关键词抽取

微信公众号:NLP从入门到放弃​

有兴趣的去github看更多NLP相关知识总结:

https://github.com/DA-southampton/NLP_ability​github.com

关键词的提取,也可以称之为文本标签提取。

比如说,”今天这顿烧烤是真不错啊“,在这句话中,”烧烤“这个词就可以被认为是一个关键词,或者说这个句子的一个标签。

这个标签在一定程度上能够表现出这个句子的含义,比如这个”烧烤“,如果用在文本分类任务中,可以隐含带有”美食“这个类别的信息。

这些标签有些时候也可以用在推荐系统的召回,比如直接按照”烧烤“这个标签做一路召回。

对于关键词的提取一般来说分为抽取式和生成式。其实类比到摘要,其实也是分为抽取式和生成式。

生成式有一个缺点就是有些结果不可控,这其实还挺要命的。

对于抽取式,就是从现有的数据中拿出来词组。最差的结果也就是拿出的单词并不重要,不是我们想要的。

我们的重点是在抽取式提取关键词。

关键词的提取可以分为两个步骤:召回+排序

1.召回

召回就是得到文本中的候选关键词,也就是得到这个句子中有可能是关键词的词汇。

这一步,可以做的方法有很多,比如

  1. 我们有积累的关键词词库,在这里直接匹配出来。
  2. 一些符合的词性的候选词,比如我挑选出名词作为候选词
  3. 还可以基于一些统计特征提出候选词,比如TF-IDF(有些时候统计特征也会用在排序中作为特征)
  4. 基于一些规则,比如一个句子出现了人名地名,书名号中词,这些很有可能就是关键词

召回其实是一个很重要的部分,在这一步骤,尽可能的召回有用的词汇。我自己的标准是宁可多不能少。如果多了,无非就是增加了资源消耗,但是少了,可能在排序阶段就是无米之炊了。

2.排序

排序阶段,我们可以将方法大致的分为有监督和无监督的方法

2.1无监督抽取关键词

对于无监督,我们分为基于统计和基于图。基于统计就是TF-IDF和各种变种。基于图最常见的就是TextRank。

关键词提取的一个baseline就是 TF-IDF 提取,这种方法效果已经很好。投入产出比很高,我们一般需要去掉常用的停用词,保留重要的词语。

TF-IDF基于统计,易于实现,但是缺点就是没有考虑词与词,词与文档之间的关系。是割裂的。

另一个baseline就是基于图的TextRank, TextRank 由 PageRank 演变而来。

相比于TF-IDF,TextRank考虑了词与词之间的关系(提取思想就是从窗口之间的词汇关系而来),但是缺点是它针对的是单个文本,而不是整个语料,在词汇量比较少的文本中,也就是短文中,效果会比较差。

随着数据量的积累,我们需要把模型更换到有监督模型加上。一般来说,有监督分为两种,一种是看做序列标注,一种是看做二分类的问题。

2.2有监督之二分类

先说二分类问题,比较简单,就是找到词汇的各种特征,去判断这个词汇是不是这个文本的关键词。

我大概罗列一些可能会用到的特征。

  1. 位置特征:

使用位置特征是我们基于文本关键词出现的位置是在大量数据的情况下是有规律可言的,比如微博文本中出现在##符号中部分词汇有很大概率就是文本的一个关键词。

是否出现在开头,是否出现在中间部分,是否出现在末尾,出现的位置(具体是第几个单词);相对于整个文本的位置;是否出现在##符号中...

  1. 统计特征:

共现矩阵信息;词频;逆词频;词性;词跨度;关键词所在句子的最大长度/最小长度/平均长度;

  1. 向量特征:
    关键词词向量和文档向量的相似性

2.3有监督之序列标注

关键词的提取,就是一个典型的序列标注的问题。判断句子中关键词的开头中间结尾的位置。

序列标注最基础的就是HMM和CRF方法,但是特征工程比较复杂。

为了解决特征工程复杂的问题,我们使用深度学习模型序列标注。

关于序列标注,大家可以参考我这个文章内容:

工业级命名体识别经验+代码总结

3.新词发现

还会出现一个问题,如果我们使用二分类判定关键词,上述的过程我们都是基于我们的分词器来做的。有可能会出现一些新词,由于分词错误,不能及时的出现在你的候选词库中,比如”爷青结“。

这个时候,我们需要一个新词发现系统,持续不断的补充到词库中,在召回阶段可以提升召回率。

对于新词发现来说,基操就是从文本的自由程度和凝固程度来判断是否是新词,这样的问题就是阈值不好调整从而导致召回和精准不好平衡。

我们还可以通过别的方法离线挖掘实体词补充道词库中,之前有借鉴美团ner的文章实现了一下,效果还不错,在这里,大家可以参考我这个文章:实体库构建:离线大规模新词实体挖掘

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/501723.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网页挂码方式html css,CSS代码 解决网页挂马问题

CSS代码 解决网页挂马问题发布时间:2009-10-01 02:13:24 作者:佚名 我要评论两行CSS来解决网页挂马问题,共5种方案。两行CSS来解决,共5种方案一、iframe{n1ifm:expression(this.srcabout:blank,this.outerHTML);}/*这行代码是…

华为可以看游戏时长吗_怎么测试华为手机玩游戏的帧率情况

有的人会问,怎么来测试手机玩游戏的帧率情况?其实很简单,这是我第一次安装的原话,结果发现问题并不那么容易,我们之前通俗使用的测试软件要么不准、要么就太单方面啦,现在我们有了快否这个工具后&#xff0…

计算机应用基础的听课记录,听课记录-计算机应用基础

听课记录-计算机应用基础-Excel 2003的条件格式的应用3.单击“条件格式”对话框中的“格式”按钮,弹出“单元格格式”对话框,设置字形为加粗,颜色为红色,底纹为黄色。4.单击“确定”按钮,返回“条件格式”对话框。 二、…

微型计算机原理risc,微型计算机原理习题及解答-20210409003329.docx-原创力文档

????????微机原理习题1、微处理器、微型计算机和微型计算机系统三者之间冇什么不同?答:微型计算机系统:包括微型计算机的硬件系统利必箜的系统软件。微型计算机的换件系统包括:微型计算机和外例设备.微型计算机&#xff1…

请描述定时器初值的计算方式_单片机C语言编程中定时器初值计算的两种方法...

单片机C语言编程中,定时器的初值对于初学者真的是比较不好计算,因此我总结了以下几种方法。第1种方法:#define FOSC 11059200L //晶振的频率#define TIMS (65536-FOSC/12/1000) //12T mode 对于8051系列单片机通用//#define TIMS (65536-FOSC…

fortify hp 价格_惠普推出“惠普Fortify软件安全中心套件”

近日,惠普今天宣布推出一套自动化和管理企业应用安全的新产品,包括唯一一款整合的应用安全测试解决方案,既可以在企业内部部署,也可以按需使用支持成千上万种的应用漏洞扫描。应用漏洞给企业带来巨大威胁,使企业遭受日…

计算机科学系小学教育专业就业前景,小学教育专业就业方向与就业前景

【导语】现在大学生就业形势越来越严峻,在填报志愿时,如果不是特别喜欢某一专业的话,选一个好就业的专业就显得尤为重要了,就业的专业排名是很多考生和家长朋友们关心的问题,以下是无忧考网整理的小学教育专业就业方向…

java绘制图形代码_ImagePy_Learn | 图形学绘制代码学习:core\draw\polygonfill.py

最近在学图形学绘制,想到了ImagePy框架的ROI涂抹交互很方便,于是啃起了绘制代码。这里主要对ImagePy中一个填充工具进行难点讲解。让我们好好学习Python中的图形学绘制吧。例子代码来源:https://github.com/Image-Py/imagepy/blob/master/ima…

2017qs计算机专业排名,2018年度QS世界大学专业排名|2017QS精算专业排名

出国留学网权威发布2016年度QS世界大学专业排名,更多2016年度QS世界大学专业排名相关信息请访问出国留学网。传播学/媒体研究 Communication&Media Studies001南加州大学University of Southern California002威斯康星大学麦迪逊分校University of Wisconsin-Ma…

曲奇云盘资源搜索引擎_曲奇云盘下载-曲奇云盘官网版v3.2.4-sosyes

手机里面有太多的文件存储不下,不舍得舍弃,不妨下载曲奇云盘进行存储,将会在这为你带来更多云盘服务,你可以在这了解到更多资源下的存储服务,还可以在这进行免费空间下的拓展,为你带来更多文档线上的观看服…

计算机管理中添加用户属性,如何在计算机右键菜单栏中添加属性选项

如何在计算机右键菜单栏中添加属性选项电脑是现在最常用的工具之一,有些用户想知道如何在计算机右键菜单栏中添加属性选项,接下来小编小编就给大家介绍一下具体的操作步骤。具体如下:1. 首先第一步按下【winr】快捷键打开【运行】窗口&#x…

mo汇编指令_汇编指令大全

一、数据传输指令───────────────────────────────────────它们在存贮器和寄存器、寄存器和输入输出端口之间传送数据.1. 通用数据传送指令.MOV 传送字或字节.MOVSX 先符号扩展,再传送.MOVZX 先零扩展,再传送.PUSH 把字压入堆栈.POP 把…

计算机英语A卷答案,计算机专业英语试题及答案A卷.doc

PAGEPAGE 12湖北职业技术学院2008-2009学年度第一学期期末考核试卷考核课程: 《计算机专业英语》 考试类型: 理论 考试方式: 闭卷笔试学生所在院系: 信息技术学院 年 级: 2007 级 试 卷: A姓名:…

vue摸板 大数据_Vue和DataV强强联合,这个大数据可视化模板你一定要拥有

项目名称:vue-big-screen项目作者:奔跑的面条开源许可协议:Apache-2.0项目简介一个基于 vue、datav、Echart 框架的 " 数据大屏项目 ",通过 vue 组件实现数据动态刷新渲染,内部图表可实现自由替换。部分图表…

青岛旅游学校计算机证书,【我和我的旅校】青岛旅游学校优秀毕业生郭千瑜

原标题:【我和我的旅校】青岛旅游学校优秀毕业生郭千瑜姓名:郭千瑜班主任:李欣专业:2012级中国民航大学航空班我是郭千瑜,2015年毕业于青岛旅游学校中国民航大学航空班,今年夏天,我就要从韩国首…

javascript 校验 非空_Javascript的表单与验证-非空验证

JavaScript 可用来在数据被送往服务器前对 HTML 表单中的这些输入数据进行验证。表单提交前要检查数据的合法性在要对表单里的数据进行验证的时候,可以利用getElementById()来访问网页上任何一个元素每个表单域都有一个form对象,可被传给任何验证表单数据…

计算机网络同步技术,计算机网络同步技术

同步:通信双方的收发数据序列必须在时间上一致,以使接收方能准确地区分和接收发送方发来数据。同步方式:同步传输、异步传输。1.异步传输(起—止式同步方式)异步传输:发送端和接收端的时钟信号是各自独立的。特点:信息…

dts数据库迁移工具_干货分享丨DM8 DTS工具使用小技巧

DTS工具的介绍DM数据库为迁移提供了图形化工具——DTS。DTS可以从主流大型数据库迁移到DM、DM到DM、文件迁移到DM以及DM迁移到文件的功能,极大的简化了迁移操作,让数据迁移变得简单。DTS迁移步骤1.可以查看迁移帮助工具2.新建工程,工程名为qy…

中科大计算机复试题目,08中科大11系(计算机)复试

0808中科大11系(计算机)复试今年成绩出来的比较早,所以复试的也比较早29复试,一般都周末复试,31号成绩就出来了,然后给三天时间联系导师签收,一般都能联系上,只是好坏的差别,交表,体…

hsv 直方图均衡化_Opencv从零开始 - 「启蒙篇」- 直方图、直方图均衡和反向投射...

本文主要介绍一些opencv关于直方图的一些知识运用,直方图是非常常用的图像处理方法,有时候在很多图像预处理中能起到特别好的效果,大家可以一起来学习探讨~目录直方图计算直方图直方图均衡化CLAHE 自适应均衡化2D直方图直方图反射投影直方图✏…