版权声明:本文由文智原创文章,转载请注明出处:
文章原文连接:https://www.qcloud.com/community/article/130html
来源:腾云阁 https://www.qcloud.com/community算法
关键词是指能反映文本主题或者意思的词语,如论文中的Keyword字段。大多数人写文章的时候,不会像写论文的那样明确的指出文章的关键词是什么,关键词自动标注任务正是在这种背景下产生的。网络
目前,关键词自动标注方法分为两类:1)关键词分配,预先定义一个关键词词库,对于一篇文章,从词库中选取若干词语做为文章的关键词;2)关键词抽取,从文章的内容中抽取一些词语做为关键词。app
在文献检索初期,因为当时还不支持全文搜索,关键词就成为了搜索文献的重要途径。随着网络规模的增加,关键词成为了用户获取所需信息的重要工具,从而诞生了如Google、百度等基于关键词的搜索引擎公司。分布式
关键词自动标注技术在推荐领域也有着普遍的应用。如图1所示,当用户阅读图中左边的新闻时,推荐系统能够给用户推荐包含关键词”Dropbox”、”云存储”的资讯,同时也能够根据文章关键词给用户推荐相关的广告。
图1基于关键词的资讯推荐系统工具
关键词能够做为用户兴趣的特征,从而知足用户的长尾阅读兴趣。传统的信息订阅系统通常使用类别或者主题做为订阅的内容,如图2所示。若是用户想订阅更细粒度的内容,这类系统就无能为力了。关键词做为一种对文章更细粒度的描述,恰好能够知足上述需求。
图2传统的订阅系统测试
除了这些之外,关键词还在文本聚类、分类、摘要等领域中有着重要的做用。好比在聚类时,将关键词类似的几篇文章当作一个类团能够大大提升K-means聚类的收敛速度。从某天全部新闻中提取出这些新闻的关键词,就能够大体知道那天发生了什么事情。或者将某段时间中几我的的微博拼成一篇长文本,而后抽取关键词就能够知道他们主要在讨论些什么话题。优化
文章的关键词一般具备如下三个特色[1]:ui
从上述三个特色,能够看到关键词标注算法的要求以及面临的挑战:a.新词发现以及短语识别问题,怎样快速识别出网络上最新出现的词汇(人艰不拆、可行可珍惜…)?b.关键词候选集合的问题,并非文章中全部的词语均可以做为候选;c.怎么计算候选词和文章之间的相关性?d.如何覆盖文章的各个主题?搜索引擎
关键词分配算法须要预先定义一个关键词词库,这就限定了关键词候选范围,算法的可扩展性较差,且耗时耗力;关键词抽取算法是从文章的内容中抽取一些词语做为标签词,当文章中没有质量较高的词语时,这类方法就无能为力了。为了解决上述这些问题和挑战,咱们设计了层次化关键词自动标注算法.
针对新闻的关键词识别任务,咱们设计了一套层次化的关键词体系,如图3所示。第一层是新闻频道(体育、娱乐、科技、etc),第二层是新闻的主题(一篇新闻能够包含多个主题),第三次是文章中出现的标签词。
图3层次化关键词体系
三层关键词体系有如下几个优势:
三层关键词体系从不一样角度描述文章所表达的内容,从而能让标注结果能更好地覆盖文章的各个主题,缓解了关键词覆盖度不够的问题。
因为各层之间有隶属关系,利用这种关系,能够抽取出更相关的关键词,如:“非诚勿扰”在娱乐新闻中多是指娱乐节目或者电影,能够做为一个关键词;若是是出如今汽车新闻中,则不太多是文章的关键词。
图4层次化关键词自动标注结果示例
从图3中能够看出,主题和标签词依赖于新闻频道,因此在标注一篇新闻的关键词时,首先须要获取新闻的类别,而后根据新闻的类别选择不一样的主题模型预测新闻的主题,最后再抽取新闻中的标签词。
在关键词标注方法上,咱们融合了关键词分配和关键词抽取两类方法。图5描述了算法处理一篇文章的流程。其中频道和主题的抽取方法属于关键词分配这一类算法,标签词抽取则属于关键词抽取这一类算法。除了上一节中所说的层次化关键词的两个优势以外,咱们的算法有以下几点好处:
2.1 文本分类器
文本分类器咱们采用最大熵模型[2],使用业务最近一年带频道标签的新闻做为训练集。每一个频道选取频道相关度最高的1W个词语做为分类特征。
对于最大熵模型,网上能够找到不少相关资料,这里就不做介绍了。
2.2 主题预测
使用LDA[3]做为主题聚类模型。LDA开源的大部分开源实现都是单进程的,在处理较大规模的语料时,其时间和内存开销都很是大,没法知足咱们的要求。所以咱们实现了一套分布式的LDA平台,使得可以快速处理大规模的数据。
语料经过LDA平台处理后,会获得每一个主题下几率较高的词语。人工选取质量较高的主题,并使用一个词语或者短语归纳这个主题。对于一篇文章,LDA的inference结果是一个几率向量,咱们选取几率值大于阈值的主题做为文章所属的主题。
图6高质量的主题
图7文章的主题关键词
2.3 标签词抽取
标签词抽取包括:生成候选词和相关性计算。下面分别介绍这两部分。
1)生成候选词
经过分词获得的基本词、短语等,过滤掉基本词中的停用词
命名实体(有效解决新词、热词的自动发现)
2)相关性计算
使用线性加权对候选词打分,其特征包括:
选取相关性得分大于阈值的候选词做为文章的标签词。
在腾讯网上随机抽取的351篇新闻上作测试,各项指标如表格1所示。因为主题集合的开放性,其召回率很难评价,故只评价其准确率。
表格1 层次化关键词自动标注算法准召率
对抽取错误的关键词进行分析,算法还存在一些问题,后续会针对这些问题继续改进。
目前已经接入的公司业务有:腾讯新闻客户端、手机Qzone个性化资讯。欢迎有需求的团队联系咱们,使用腾讯文智天然语言处理。
参考文献 [1] 刘知远. 基于文档主题结构的关键词抽取方法研究[D]. 北京: 清华大学, 2011. [2] Berger A L, Pietra VJ D, Pietra S A D. A maximum entropy approach to natural languageprocessing[J]. Computational linguistics, 1996, 22(1): 39-71. [3] Blei D M, Ng A Y,Jordan M I. Latent dirichlet allocation[J]. the Journal of machine Learning research,2003, 3: 993-1022.