想让推荐和搜索引擎更聪明?基于知识图谱的篇章标签生成
The following article is from 丁香园大数据 Author 丁香园大数据NLP
一只小狐狸带你解锁NLP/ML/DL秘籍
正文来源:丁香园大数据NLP老板~我们的推荐系统笨笨的
你怎么对文档处理的这么糙!抽个关键词就应付过去了?
啊啊啊我错惹,那那,不用关键词用什么呢?
知识图谱用上了没?
概念词知道不?9012年了知道么!
嘤嘤嘤,马上升级!o(╥﹏╥)o
篇章的标签生成是NLP领域的一项基础任务,目的是对文本更好地结构化,筛选重要的关键词,概括文本的中心语义。因此,我们探索了一套标签生成流程,其中除了应用了已有的信息抽取技术之外,还将医疗知识图谱结构,实体显著性判断,concept抽取融入模型,实现业务增长。
关于标签生成,优化的方法大致有两种思路,第一种是在拥有一个较为完备的知识图谱后,如何使用知识图谱去指导标签抽取过程保持语义上的一致。举个栗子,比如通过词分布的分析,某篇文章的主题被定为在“妇科”相关疾病上,那么“骨科”的实体词就会被避免作为标签被抽出。这种思路在业界多以LDA的无监督打标签算法为主,利用知识表示向量、知识图谱结构或者其他统计信息对LDA模型进行改进,输出的结果为原文出现过的实体词,以下我们将它称之为主题语义连贯的词分布标签方法
;
另一种思路是在知识图谱上做文章,比如专业的医学知识图谱上的实体词够精确,但有时由于词本身的含义不够泛化,并不适用于文章的表示,举个栗子,比如“HP”、“胃镜”、“三联疗法”这几个词的确贴合消化内科的主题,但是它没有“幽门螺杆菌的治疗方法”这样更加泛化的标签词来的直观,后者包含了更多的信息量,且更具可解释性。这方向需要结合更多的NLP技术,包括在业务场景中挖掘优质的concept短语,构建concept短语与实体词的taxonomy,利用文本子图中心度测量、随机游走路径、词频共现等做encoding,以LDA作为抽取器完成标签工作,以下我们将它为Concept挖掘的标签方法
。
对这两种思路,我们调研了已有的相关研究,利用医疗知识图谱和医学垂直领域业务数据做了标签生成的尝试。
主题语义连贯的词分布主题模型
《Incorporating Knowledge Graph Embeddings into Topic Modeling》
概率主题模型可用于从文档集合中提取低维主题。然而,以往的模型往往产生无法解释的主题。近年来,已有许多基于知识的主题模型被提出,但它们不能很好的处理知识图中的三元组,大部分以must-link形式,或直接利用图谱中的上层概念,无法在向量空间中量化。本文将知识表示嵌入到到LDA中,将潜在的Dirichlet分配(一种广泛使用的主题模型)与实体向量编码的知识相结合,来提高了主题语义的一致性和连贯性。本文主要在两个以往研究(CI-LDA和Corr-LDA)上做了改进,上图为linkKGLDA,下图为corrKGLDA:两个模型的不同之处在于,前者为条件独立,后者为条件相关。具体的改进如下:
实现Concept挖掘的标签方法
目前的大多数concept标签方案,多是基于一定的统计数据,如:词对共现频数,词对覆盖率等。这些方法依赖业务场景下的query log,或者也可利用知识图谱结构进行层次聚类,中心化,路径预测等方式进行。下面将一一介绍相关研究。
《Graph-Sparse LDA: A Topic Model with Structured Sparsity》
本文引入了图稀疏LDA,这是一种分层主题模型,它使用单词之间关系的知识(例如:本体编码)。在模型中,主题被一些潜在的概念词概括,这些潜在概念词来自观察词在本体中的图。GS-LDA在标准LDA模型中引入了一个额外的层次结构层:主题不是分布在观察到的词上,而是分布在概念词上,然后通过由词汇结构通知的噪声过程生成观察到的词。《Grounding Topic Models with Knowledge Bases》
这篇工作认为尽管最近的研究试图利用各种知识源来改进主题建模,但它们要么承担着仅将主题表示为单词或短语分布,要么通过将主题与预先定义的知识库(知识库)实体进行一对一的绑定,建立主题模型,牺牲了主题建模的灵活性。因此提出了一种基于taxnomy层次结构随机游走特征的LDA,目的在于将taxnomy的语义和结构化特征全部考虑进来。《Modeling Documents by Combining Semantic Concepts with Unsupervised Statistical Learning》
以往的研究中,或是只用文档中的词来描述主题,或是在taxnomy中找到合适的concept描述主题,本文虽然只是在传统LDA模型上做了很小的改动,但是它可以实现文档词分布和taxnomy concept共存的主题表达形式。将文档中的所有单词(不仅仅是实体)映射到一组本体概念上,学习单词和概念的概率模型,并且使用完全无监督的方法,而无需任何监督标记。《Unsupervised Graph-based Topic Labelling using DBpedia》
这是一个完全将LDA作为抽取功能组件的模型,topic labeling过程完全基于聚类和图的中心化操作。《On Conceptual Labeling of a Bag of Words》
本文利用了probase来进行concept tagging,与上述的研究不同,他没有用到任何主题模型,主要的方法是用信息论的方法来权衡对词袋的语义覆盖度,输出覆盖最广但标签最少的单词。实际工作中的尝试
在实际工作的尝试中,我们的整体算法流程分为两部分:核心主题关键词抽取以及获取更为抽象的concept短语。符合一定主题的关键词抽取:在原有的linkKGLDA模型基础上,除了采用知识表示,还对图谱之外的词赋予deepwalk向量,是模型更好的应对图谱之外的词。更为抽象的concept短语:首先构建基于帖子的知识图谱,除了利用业务词典,丁香园论坛结构,搭建图谱上层,中下层图谱通过层次主题模型,concept,关键词抽取进行搭建。通过的concept抽取模型(可参考:医疗健康领域的短文本解析探索),我们从query和帖子标题中抽取到了300万的concept词语,那么如何才能找到一个帖子真正说的主题,并将文本中的最关键主题词连接到相应的concept上呢,这里我们要借助以下论文中提到的方法:
《Towards Better Text Understanding and Retrieval through Kernel Entity Salience Modeling》
由于一篇文章涉及到的实体多种多样,但一般会存在几个最关键的实体,例如:《A User-Centered Concept Mining System for Query and Document Understanding at Tencent》
本篇文章在tagging docment上的方法有两种,实现的前提条件是需要有足够数量和高质量的query log,以及知识图谱。整个过程分为两种方法:基于概率和基于匹配:基于条件概率:
文章3.1节描述了如何利用抽取到的主题关键词去对应到一组合适的concept,主要利用的还是主题关键词上下文与concept的条件概率推理。与《Grounding Topic Models with Knowledge Bases》不同,这种方法可以得到图谱中不存在,但是搜索中经常出现的concept,并且也不需要大量上下位词的共现频数。基于匹配:
1.首先利用GBRank,textRank,word2vec算法,得到一定数量的关键词(instance)2.利用检索或者web table找到与instance相关的概念候选。每一个concept,用topN搜索结果标题文本信息来丰富concept表示(tf-idf向量)。4.将concept表示与文档title tf-idf向量做相似度计算,超过一定阈值,打相应标签。实验对比
在丁香园论坛帖子的文本数据上,我们应用了前文调研的主题抽取、实体显著性判断、短语挖掘、concept召回等方法,所获得的标签在主题贴近度和可解释性上都有显著提高:
总结
标签生成任务虽然在NLP领域非常常见,但是想要获得高质量的标签词,在推荐、搜索、问答等工业场景下应用,背后其实集成了众多NLP基础工作。标签生成的上游包含了分词、命名实体识别、医学概念归一化、消岐、concept质量优化等工作。只有稳固的基础才能把楼盖得更高。其次,知识图谱就是模型。合理的图谱结构、丰富的数据量将决定最终结果的好坏。在产业界尤其需要关注实际业务下的知识体系构建,一套知识图谱并不一定能满足所有的业务线,比如在医学科普文章下表现良好的图谱,若应用在考研、招聘类的文本下,反而会因为抽出过多的医学专业词汇而偏离主题。可以与业务部门协同补全知识图谱,或者用一些统计学方法加以补充。最后,标签词并不需要一定作为文本的一种“显式”的展示方式,作为长文本的一种更优的结构化数据,它有各种各样的“隐式”用法,比如作为特征输入到下游的文本分类、标题生成甚至融入到推荐系统策略中,我们会在今后陆续分享各种有趣的玩儿法。
可
能
喜
欢
求关注 求投喂 拉你进高端群哦~
参
考
文
献
Incorporating Knowledge Graph Embeddings into Topic Modeling
Graph-Sparse LDA: A Topic Model with Structured Sparsity
Grounding Topic Models with Knowledge Bases
Modeling Documents by Combining Semantic Concepts with Unsupervised Statistical Learning
Unsupervised Graph-based Topic Labelling using DBpedia
On Conceptual Labeling of a Bag of Words
A User-Centered Concept Mining System for Query and Document Understanding at Tencent
Towards Better Text Understanding and Retrieval through Kernel Entity Salience Modeling
End-to-End Neural Ad-hoc Ranking with Kernel Pooling
Automatic Event Salience Identification