关键词抽取(keywords extraction)的相关研究 博客分类: 自然语言处理机器学习&数据挖掘 算法 关键词抽取
程序员文章站
2024-02-08 14:49:58
...
现有上线的关键词提取算法
1. 语言特征+位置特征,如标题中的名词
2. 对正文+标题的文本构造PAT,然后从中计算字符串的左右熵,互信息来抽取关键词
参考论文《PAT-Tree-Based Keyword Extraction for Chinese Information Retrival》
《Updateable PAT-Tree Approach to Chinese Key Phrase Extraction using Mutual Information:A Linguistic Foundation for Knowledge Management》
这种方案的好处能抽出一些网络新词,性能比较好;但会引入一些噪音,召回率也不太理想
3. 网页特征:标题中存在特殊标记如《》或者“”等直接抽取出来,微博中存在##
4. 位置特征,候选关键词是否在标题,正文,还有meta data中出现过
存在问题
关键词抽取算法研究小结
关键词抽取特征
论文《Finding Advertising Keywords on web pages》中提到过的特征
1.语言特征 词性标注
2.首字母大写
3.关键词是否在hypertext里
4.关键词是否在meta data里
5.关键词是否在title里
6.关键词是否在url里
7.TF,DF
8.关键词所处位置信息
9.关键词所在句子长度及文档长度
10.候选短语的长度
11.查询日志
关键词抽取的特征选取
1.语言特征:使用POS(part-of-speech),标出词性。如名词、动词、副词、形容词等。
2.title : 该关键词是否出现在document中的标题里。
3.position : 该关键词在document中的位置,是否出现在整篇文章的首句、末句或段落的首句、末句等。《Automatic Keyword Extraction Using Linguistic Features》里面详细介绍了这种方法。
4.TF,IDF:最基本的信息权衡特征。
5.Named-Entity: 该关键词是否为命名实体,如人名、地名、机构名、专有名词、产品名。是否为日期信息,如年月日,时间等。
6.关键词之间关系:关键词之间的语义距离,是越大越好还是越小越好,还是没有关系?(我理解的语义距离就是两个关键词共现的概率,如互信息度量)
7.周围词信息含量:该词所在的位置附近几个词的信息含量是否高?或者说该词所在的句子在整篇文章中信息含量情况如何?
8.该关键词是否在其他关键词中出现过:作为关键词出现的概率
9.document所属类别:可参考基于分类的关键词提取和基于concept的关键词提取
10.该词是否出现在一个总结性句子中
关于Named-Entity的问题
1. 在paper《News-Oriented Automatic Chinese Keyword Indexing》中使用过
2. Named-Entity的信息含量非常高。
3. Named-Entity的区分度非常高。
值得注意和探讨的问题:
1. 关键词的定义?是区分度最大还是信息含量最大。
2. 由分词带来的影响。TF的粒度的问题。分词本身存在的问题,《Chinese keyword extraction based on max-duplicated Strings of the Documents》找出重复的最大字串。
《News-Oriented Automatic Chinese Keyword Indexing》描写中文关键词抽取,非常经典的一篇文章。其提出了在分词前先统计字符频率,解决了分词不准确及分词粒度带来的问题。提到了过滤关键词的方法等等。使用POS标记词串,然后过滤掉信息含量比较低的词性对应的词汇。例如连词,副词等等。
关于选择出来的特征,如何选取最有效的特征,可以参考论文《Multi-Subset Selection for Keyword Extraction and Other Prototype Search Tasks Using Feature Selection Algorithms》
其他比较新的算法
这些算法都需要对文本进行分词处理
一、 TextRank算法,是受到网页之间关系PageRank算法启发,利用局部词汇之间关系(共现窗口)对后续关键词进行排序;复旦NLP有实现,但效果不好
二、 对语料进行标注,训练有监督的机器学习模型,来识别关键词。这种方法的局限是标注语料成本比较高,而且语料随着时间变化会过时。
三、 看了两篇关键词抽取的清华大学博士论文(说明关键词抽取不是个简单问题,都写成博士论文了),都是孙茂松老师的学生
一篇是《基于内容的社会标签推荐与分析研究》
它研究了无监督的关键词抽取研究,改进了TextRank算法,加入了全局词汇关系(点互信息,google distance,topic model),提出SemanticRank和SeamnticFlowRank
另外一篇是《基于文档主题的关键词抽取研究》
论文从四个方面研究
1.基于文档内部信息,利用文档的词聚类算法构建文档主题,进行关键词抽取。
本方法首先将候选词组成若干个聚类,然后选取每个聚类的聚类中心
词。然后,再用这些聚类中心词从文档中抽取名词短语作为关键词。
其中聚类算法用到了(层次聚类,谱聚类,AP聚类)
该方法的局限
一方面,一篇文档的信息有限,往往无法为发现文档主题提供足够的信息;
另一方面,该方法会受到词汇相似度度量和聚类方法性能的较大影响,而目前,
如何为聚类算法找到合适的聚类个数,仍然是一个困难的研究问题
2.基于文档外部信息,利用隐含主题模型构建文档主题,进行关键词抽取。
它使用大规模文档集合学习隐含主题,这避免了一篇文档自身信息不足的问题,同时也能够得到比较有意义的、稳定的主题信息,避免了在一篇文档上聚类的不确定性。由于LDA模型训练速度比较慢,所以研究了并行LDA算法,,主要的思路是采用流水线的思想并行吉布斯采样中的通信和计算部分
3.综合利用隐含主题模型和文档结构信息,进行关键词抽取。
该方法针对仅利用文档结构信息进行关键词抽取(如TextRank)和仅利用隐含主
题模型进行关键词抽取存在的问题,提出一种综合利用隐含主题模型和文档结构
信息的关键词抽取方法,Topical PageRank. 该方法是一种基于主题的随机游走模型,在每个主题上运行PageRank,计算词在不同主题下的PageRank值。该方法一方面能够通过隐含主题模型构建文档主题,同时能够通过文档图的随机游走模型考虑文档结构为关键词抽取提供信息
4.基于文档与关键词主题一致性的前提,提出基于机器翻译模型的关键词抽取方法。
1. 语言特征+位置特征,如标题中的名词
2. 对正文+标题的文本构造PAT,然后从中计算字符串的左右熵,互信息来抽取关键词
参考论文《PAT-Tree-Based Keyword Extraction for Chinese Information Retrival》
《Updateable PAT-Tree Approach to Chinese Key Phrase Extraction using Mutual Information:A Linguistic Foundation for Knowledge Management》
这种方案的好处能抽出一些网络新词,性能比较好;但会引入一些噪音,召回率也不太理想
3. 网页特征:标题中存在特殊标记如《》或者“”等直接抽取出来,微博中存在##
4. 位置特征,候选关键词是否在标题,正文,还有meta data中出现过
存在问题
关键词抽取算法研究小结
关键词抽取特征
论文《Finding Advertising Keywords on web pages》中提到过的特征
1.语言特征 词性标注
2.首字母大写
3.关键词是否在hypertext里
4.关键词是否在meta data里
5.关键词是否在title里
6.关键词是否在url里
7.TF,DF
8.关键词所处位置信息
9.关键词所在句子长度及文档长度
10.候选短语的长度
11.查询日志
关键词抽取的特征选取
1.语言特征:使用POS(part-of-speech),标出词性。如名词、动词、副词、形容词等。
2.title : 该关键词是否出现在document中的标题里。
3.position : 该关键词在document中的位置,是否出现在整篇文章的首句、末句或段落的首句、末句等。《Automatic Keyword Extraction Using Linguistic Features》里面详细介绍了这种方法。
4.TF,IDF:最基本的信息权衡特征。
5.Named-Entity: 该关键词是否为命名实体,如人名、地名、机构名、专有名词、产品名。是否为日期信息,如年月日,时间等。
6.关键词之间关系:关键词之间的语义距离,是越大越好还是越小越好,还是没有关系?(我理解的语义距离就是两个关键词共现的概率,如互信息度量)
7.周围词信息含量:该词所在的位置附近几个词的信息含量是否高?或者说该词所在的句子在整篇文章中信息含量情况如何?
8.该关键词是否在其他关键词中出现过:作为关键词出现的概率
9.document所属类别:可参考基于分类的关键词提取和基于concept的关键词提取
10.该词是否出现在一个总结性句子中
关于Named-Entity的问题
1. 在paper《News-Oriented Automatic Chinese Keyword Indexing》中使用过
2. Named-Entity的信息含量非常高。
3. Named-Entity的区分度非常高。
值得注意和探讨的问题:
1. 关键词的定义?是区分度最大还是信息含量最大。
2. 由分词带来的影响。TF的粒度的问题。分词本身存在的问题,《Chinese keyword extraction based on max-duplicated Strings of the Documents》找出重复的最大字串。
《News-Oriented Automatic Chinese Keyword Indexing》描写中文关键词抽取,非常经典的一篇文章。其提出了在分词前先统计字符频率,解决了分词不准确及分词粒度带来的问题。提到了过滤关键词的方法等等。使用POS标记词串,然后过滤掉信息含量比较低的词性对应的词汇。例如连词,副词等等。
关于选择出来的特征,如何选取最有效的特征,可以参考论文《Multi-Subset Selection for Keyword Extraction and Other Prototype Search Tasks Using Feature Selection Algorithms》
其他比较新的算法
这些算法都需要对文本进行分词处理
一、 TextRank算法,是受到网页之间关系PageRank算法启发,利用局部词汇之间关系(共现窗口)对后续关键词进行排序;复旦NLP有实现,但效果不好
二、 对语料进行标注,训练有监督的机器学习模型,来识别关键词。这种方法的局限是标注语料成本比较高,而且语料随着时间变化会过时。
三、 看了两篇关键词抽取的清华大学博士论文(说明关键词抽取不是个简单问题,都写成博士论文了),都是孙茂松老师的学生
一篇是《基于内容的社会标签推荐与分析研究》
它研究了无监督的关键词抽取研究,改进了TextRank算法,加入了全局词汇关系(点互信息,google distance,topic model),提出SemanticRank和SeamnticFlowRank
另外一篇是《基于文档主题的关键词抽取研究》
论文从四个方面研究
1.基于文档内部信息,利用文档的词聚类算法构建文档主题,进行关键词抽取。
本方法首先将候选词组成若干个聚类,然后选取每个聚类的聚类中心
词。然后,再用这些聚类中心词从文档中抽取名词短语作为关键词。
其中聚类算法用到了(层次聚类,谱聚类,AP聚类)
该方法的局限
一方面,一篇文档的信息有限,往往无法为发现文档主题提供足够的信息;
另一方面,该方法会受到词汇相似度度量和聚类方法性能的较大影响,而目前,
如何为聚类算法找到合适的聚类个数,仍然是一个困难的研究问题
2.基于文档外部信息,利用隐含主题模型构建文档主题,进行关键词抽取。
它使用大规模文档集合学习隐含主题,这避免了一篇文档自身信息不足的问题,同时也能够得到比较有意义的、稳定的主题信息,避免了在一篇文档上聚类的不确定性。由于LDA模型训练速度比较慢,所以研究了并行LDA算法,,主要的思路是采用流水线的思想并行吉布斯采样中的通信和计算部分
3.综合利用隐含主题模型和文档结构信息,进行关键词抽取。
该方法针对仅利用文档结构信息进行关键词抽取(如TextRank)和仅利用隐含主
题模型进行关键词抽取存在的问题,提出一种综合利用隐含主题模型和文档结构
信息的关键词抽取方法,Topical PageRank. 该方法是一种基于主题的随机游走模型,在每个主题上运行PageRank,计算词在不同主题下的PageRank值。该方法一方面能够通过隐含主题模型构建文档主题,同时能够通过文档图的随机游走模型考虑文档结构为关键词抽取提供信息
4.基于文档与关键词主题一致性的前提,提出基于机器翻译模型的关键词抽取方法。