1 引言
实体相关度计算的目的是为了确定两个实体之间的关联程度。以大家最为广泛使用的维基百科和百度百科为例,事实上,维基百科或百度百科中的每个页面(Article)均代表一个实体。目前很多的研究工作都希望能在百度百科和维基百科的页面间创建关联。这显然需要一种有效的实体之间相关度计算方法。设计合适的相关度计算算法可以有效地提高计算机对实体的理解程度,在诸多应用中都有着重要的现实意义。例如在推荐系统中,无论是基于协同过滤还是基于内容的过滤都需要通过计算两个用户实体之间的相关度而给出推荐结果;在问答系统中,利用文本实体之间的相关度计算方法,通过考察候选答案集合与用户查询之间的相关程度,可以大幅度地提高问答系统的效率;在文本聚类领域,通过计算文本之间的主题相似度可以将相似的文本聚到同一个聚簇中心。
2 国内外研究现状
在自然语言处理领域,实体往往被理解为命名实体(Named Entity),命名实体是指人名、机构名、地名以及其他所有以名称为标识的实体,更广泛的实体还包括数字、日期、货币、地址等等。命名实体识别(Named Entity Recognition,NER)是自然语言处理领域非常重要的研究任务,旨在从一定的文本信息中识别出具有一定意义的命名实体。
本文提到的实体的概念与命名实体并不完全等同。本文将实体的概念进一步抽象,认为一切具有一定属性集合的物体都可以被视为一个实体,这是一种更为抽象的描述,能更全面的反映出现实世界中存在的一些概念。例如,数据库的一张表单、一段基因代码等。
由于构成实体的文本信息同样是由词语(实体即可视为一种类型的词语)组成的,所以实体相关度计算可以从两个层面上进行考虑,分别可从词语的层面和从文本的层面。计算词语之间相关度的一种常用方法就是通过构建(人工地或半自动地)一个词语或概念的等级层次结构,然后将要计算相关度的词语对映射到该层次结构上,根据不同的相关度计算方式算出二者之间的相关度。WordNet[1]和Cyc[2]就是两个被广泛使用的知识库,分别包含词语义原(word sense)和概念(concept),通过这样的知识库可以避免纯粹的词语匹配所带来的问题(如某一词语在词典中不存在)。此种计算方式可以有效地利用有助于人们理解的义原或概念,在一定程度上取得了较好的结果。但是构建和维护这样的知识库需要专家花费大量的时间和精力,而且这些知识库的覆盖面是非常有限的。
近些年来,维基百科(Wikipedia)逐渐成为一个被广泛使用的概念网络,尽管它含有一定的噪音和不完善信息,但是由于它具有数量庞大的资源及冗余能力,并且具有丰富的多语种资源,一些较大的语义资源便从中衍生出来,如关系知识库Dbpedia和概念网络WikiNet等。Strube等人提出了WikiRelate!方法,该方法通过使用维基百科来计算两个词语之间的相关度,每一个词语通过文章标题被映射到一篇维基百科的文章上,然后用维基百科类别结构上的距离或者是文章的内容来计算两个词语之间的相关度[3]。
在文本相似度计算方面,研究主要集中在以词语为基本单元来计算文本相似度这一方案上。Cooper等人提出了通过快速提取出文本中的关键词,进而用词语之间的相关度去计算文本之间的相似度的方法[4]。Gabrilovich等人提出的ESA算法是在维基百科知识库的基础上,构建词语的语义表示,每个文本代表维基百科上的一篇文章,通过将一个文本表示成一个向量来计算出文本之间的相似度[5]。Hassan等人提出了SSA算法,与ESA相似,SSA的显式概念被定义为具有明确意义的词或短语,维基百科中文章之间的链接信息被视为文本的显式特征,该方法通过度量词语和文本的语义配置文件距离来计算词语或文本之间的相似度[6]。
从上面的分析中可以看出,传统方法视文本相似度计算和实体(词语)相关度计算为两个独立的过程。事实上,这两个过程是完全相关的,对于相似的两个文本片段,其内包含的实体之间的相关度显然较大。同样,如果两个文本片段包含的实体间的相关度较大,说明这两个文本片段有很大的可能性描述了同一主题,即这两个文本片段之间应具有较大的相似性。举个简单的例子,乳腺癌一般是由抑制基因(BRCA1)的变异引起的,而治疗乳腺癌最好的办法之一就是化疗,即化疗可以有效阻止抑制基因的变异。虽然很少有文章将这两者放在一起讨论,但是很多的文章会分别讨论乳腺癌和抑制基因的关系以及化疗对乳腺癌的治疗效果。通过这两类主题相似的文档是能够确定抑制基因和化疗是相关的。
原文链接:
https://mp.weixin.qq.com/s?__biz=MzIxNzE2MTM4OA==&mid=2665643343&idx=1&sn=e30f18e88766b2226b53b12016d7d5e8