语义相似度

因为有意向参加蚂蚁金服的比赛金融大脑-金融智能NLP服务——问题相似度计算,属于语义相似度计算的子集。

文本间的语义相似度是NLP的核心问题,因为它对各种应用,从网页检索、问答、文本分类、聚类到自然语言生成,以及虚拟人工对话都非常重要。语义相似度可以从不同的层次度量,从词、短语到段落、文档。

一、论文:Description and Evaluation of Semantic similarity Measures Approaches——语义相似度描述和评估方法。

这篇论文是来比较几种不同的语义相似度策略,以便于研究者和实践者选择最合适的策略。论文所述方法主要是计算两个words之间的语义相似度

将两个不同的概念置于"结构体"两个不同的节点中,节点间的距离表示两个概念的语义相似度。位于同一个节点中的两个条目语义是相近的,语义相似度是最大的。对于“结构体”这个术语,原文是"ontology"。类似下图:

1、论文介绍了几种不同的“结构体”:WordNet, SENSUS, Cyc, UMLS, SNOMED, MeSH, GO 和STDS。

通用的Ontologies:

WordNet 是一个用来建模英语词汇知识的词汇索引系统。详细描述

SENSUS是WordNet的扩展。

Cyc KB 是一个庞大的人类知识库。旨在收集生活中常识知识并将其编码集成到一个全面的本体知识库。Cyc知识库中的知识使用专门设计的CycL进行表示。同其他专家系统一样,Cyc不仅包括知识,而且提供了非常多的推理引擎,支持演绎推理和归纳推理。目前Cyc知识库涉及50万条概念的500万条常识知识。OpenCyc是其开放出来免费供大众使用的部分知识,包括24万条概念的约240万条常识知识。摘自知识图谱的发展概述 | 机器之心

特定领域的Ontologies:

UMLS全称Unified Medical Language System(统一医学语言系统),包含一个非常大的,多用途的,关于生物医学与健康概念的多语言检索词表。维基百科

SNOMED is a dynamic, scientifically validated clinical healthcare terminology and infrastructure that makes health careknowledge more usable and accessible。

SNOMED是一种动态的,科学验证的临床健康保健术语和基础设施,使医疗保健知识更易于使用和访问。(谷歌翻译)

SNOMED CT学习系列:1,何以为临床术语

MeSH是一个分级的医学主题词库。

GO:基因本体论(GO)描述基因蛋白和所有关注点有机体作为定义术语的结构化网络。

STDS:空间数据传输标准,是一个可以在不同计算机系统之间无损的转换地球空间数据的鲁棒方法。

2、语义测度种类:

有三个与ontology层次结构相关的因素:路径长度,深度,局部密度。这三个因素会影响语义距离测度。两个概念C1和C2的密度是指从根路径到C1,C2的交集的最短距离路径上的概念的子节点的数目。

原文:Three factors associatedwith the ontology taxonomic hierarchy can be specified: The path length factor, depth factor and local density factor in thehierarchy do affecting (although not significantly) the semantic distance measure. The density of two concepts C1 and C2 is the number of sons of the concepts which belong to the shortest path from the root to the most specific common subsumer of two concepts C1 and C2.

两个概念的相似度会受普通特征的影响。概念间的差异会使相似度降低,共性会使相似度升高。另外,相似度和分类可以被关联起来,即概念在分类结构中的位置和分层链接的数量。此外相似度考虑了概念的信息内容,无论它们的值是有界的还是无穷大,无论它们是对称的还是不同的。

原文:The similarity measures can affected by the common characteristics of the compared concepts. The differences between the concepts cause the measures to decrease or to increase with commonality. In addition, the similarity measures and the taxonomy can be related (taxonomic relations), i.e. the position of the concepts in the taxonomy and the number of hierarchic links are considered. Moreover, similarity measures take into account the information content of the concepts, whether they are enclosed or infinite values, whether they are symmetric and whether they give different perspectives.

基于结构的度量:

基于结构或边缘计数的测度方法代表一类使用一个函数计算ontology层级结构中的语义相似度的方法。这个函数计算连接terms的路径的长度,以及terms在层级结构中的位置。因此,两个概念越相近,概念间的连接就越多,联系就越紧密。

(1)最短路径法

(2)权重连接法

(3)HSO方法( Hirst and St-Onge Measure)

(4) Wu and Palmer方法

(5)Slimani et al. [20] (TBK)  方法

(6)Li et al. 法

(7)Leacock and Chodorow 法

基于信息内容的度量

基于信息内容的测度是使用概念的信息内容来计算两个概念间的语义相似度。概念的信息内容值是基于概念在给定文档集中出现的频率计算的。下面会展示多个语义相似度度量方法。这些方法都使用两个概念C1,C2的公共父亲的信息内容,S(C1;C2)表示同时包含C1,C2的概念集。两个概念可以通过多个路径共享父节点。当C1,C2有多个公共父节点的时候,C就是信息量最丰富的概念集(简称MIS),这时会用 minimum P(C)度量相似度。


(1)Resnik

    这种方法使用公共父节点的信息内容。度量原则是:两个概念展现越多的公共信息,它们的就越相似。并且C1,C2共有的信息由C1,C2在分类体系中的公共集合(就是S(C1;C2))的信息内容表示。

(2)Lord et al

    基于Resnik,用于度量 DNA和阮蛋白序列数据库的相似度。

(3) Lin et al.

    由Resnik改进。

(4)Jiang & Conrath

    由Resnik改进。

基于特征的度量

基于特征的度量方法假设每个概念的属性和特征都可以用一个概念集表示。

混合度量法

二、论文:Measuring Semantic Similarity in Short Texts through Greedy Pairing and Word Semantics——基于语义合成的贪婪方法。

度量短文本之间的语义相似度。

这种度量方法基于语义合成性准则,即一个句子的含义可以通过将各个部分的含义相加得到,这里用的是words的含义相加。基于这个准则,将word to word的语义相似度推广到了句子级别。这个方法在paraphrase identification 和 recognizing textual entailment任务的表现比类似方法要好。

这篇论文的研究内容可以表述为两个问题:计算两个文本的语义相似度,或者是判断两个文本是否有本质的语义关系(释义关系,当两个文本由相同的含义和蕴含关系,当一个文本可以逻辑推出另一个文本)。

语义相似度可以从不同的层次度量,从词、短语到段落、文档。这篇论文着重于句子间的语义相似度。

该论文设计的语义相似度计算方法基于语义合成性准则,句子的含义由各成分的含义和组合规则决定。文本的成分由词法符号(单词,数字或标点符号)表达。它们之间的交互关系由句子的语法结构控制。这篇论文的方法只考虑如何通过简单的求和方式使独立的词义组成整个句子的含义,因此忽略可能会使词义组合变得复杂的语法、语义和语用学规则。原因如下:1、基于单词语义合成的方法本身是很复杂的,因为它包含许多选项,比如在单词级相似度求和的时候是否使用权重,产生的结果或多或少会导致方案竞争(competitive solution)。为了更好地理解这些选择所涵盖的方法空间,以及解决当下问题所用的基本方法是如何影响整体性能的,是有大量必要工作要做的。比如,判断两个文本是否有释义关系。2、我们想比较基本方法的几个变种

词到词的相似度

过去十年间(相对于发表论文时)出现了两种主要的基于词的相似度度量。第一种是基于知识的度量。其中比较流行的一个词库就是WordNet。基于知识的度量的主要优点是它们基于专家判断,非常可靠。缺点是,可以比较相似度的词种类受限。大多数这类度量都只能计算名词,动词,形容词,副词的相似度,并且它们只能计算同类词之间的相似度。少数此类方法可以计算不同种类词的相似度,比如形容词和副词,但是速度非常慢。另外,使用基于WordNet的度量方法需要指定词义,这也是一个难点(WSD),论文规避了这个问题。

第二种是目前是在当前的研究中被广泛使用的,基于向量表达词义的方法。在这种方法中,词义被表达为高维空间中的向量,向量的每一维都表示一种潜在的语义概念。这种方法的优点是几乎可以计算任何两个词之间的相似度。这时经常使用LSA/LSI计算句子的语义相似度。

贪婪匹配法

就像前面提到的,我们用来评估两个文本的相似度的基本方法是基于语义合成性对词到词语义相似度的推广。两个文本之间的相似度由词对间的独立相似度的简单求和组成。这种方法可以总结为三步:1、在两个文本间构造一个相似词对集合S,每个词只能出现在一个词对中。2、用词对,通过加权求和的方式计算两个文本间的整体相似度。3、使用原始文本的权重化长度归一化所求得的和。

需要注意的是,根据任务的不同,两个文本间的语义相似度可以通过单向或者双向的方式计算。 

For entailment recognition, we need to compute a unidirectional similarity score from the entailing hypothesis (H) to the entailed text (T). In case of paraphrase identification, we need to compute a bidirectional similarity score by combining the unidirectional scores from one text (A) to the other (B) and vice versa.

为了计算从文本A到文本B的单向相似度,我们采用一个贪婪策略去查找A和B中最相近的词。另外,我们排除相似度值低于预定义阈值的词。

我们使用论文开头的正例来描述这个基本想法。我们发现A中的6个单词和B中的完全相同(the, is, the, second, third, trimester)。另外,基于最大相似度得分,还有两对单词可以被贪婪匹配(比如procedure 和 technique, 以及 performed 和 used),其他的单词不会被匹配,因为它们在另一个文本中没有合适的匹配对象(比如 generally 和 pregnancy))。注意单词是不能被单独排除的。比如,限定词“the”在两个句子中分别出现了两次,因此会被配对两次。如果一个单词有超过一个相似匹配,那么只选最相近的那个配对。

这种配对方式和 Corley 和 Mihalcea的不同,用于配对的单词是不重复的。另一个不同之处是任何种类的单词都可以被配对。之前的研究只配对内容单词和数字。我们发现在paraphrase 情形下,考虑所有的单词会有更好的结果。不过,对于entailment,Corley 和 Mihalcea的只用内容单词的方法效果更好。

另一个重要的方面是,我们的方法考虑词的配对。给定两个单词,我们的第一个选择(Choice A)是去比较它们的词法,看它们的原形,变形(比如,复数单词 children会被映射到原形child)。形式相同后才会进行匹配。如果没有可以配对的词,我们可以计算词到词的语义相似度。

Choice B:匹配同种词性的词(比如,匹配child和boy,但不对children和boy配对,因为它们词性不同)或者

比较同类词,比如,比较所有的名词和名词而不管它们的细微差别(这时child和children会被配对,因为它们都是名词)。

Choice A 和 Choice B是紧密相关的,因为词形的变化通常受词性影响。有趣的是,这些选项在我们的数据集上会展现出不同的结果。

For paraphrasing, it is more effective to compare words based on their base forms, and semantically by their part-of-speech, while for entailment, it is best when comparing them using their original, inflected forms, and semantically, based on their broad category.

不知道 base form 和 original form 的区别,inflected form 和 lemmatized form的区别。不过对于中文不存在form的差异。

计算整体相似度得分的下一步是用每一对词的语义相似度结合成文本的相似度。随后这个整体得分会基于输入文本归一化。When computing the overlap score, one might weight the importance of each word。加权的思想是,允许一些单词对整体得分产生较大的影响,比如一些短句中很少出现的词,可能会对句意产生很大的影响。词的特性(specificity)被广泛地用作词的重要性度量。通常,用词的逆文档频率 idf(用来度量一个词在一个大的文档集中的罕见程度)作为词的特性(specificity)的度量。词在文档中出现的越少,特性(specificity)就越强。与此相关的一件事是计算一对词的权重,然而每个词的idf值都不同。我们研究了几种方案:只考虑第一个句子中词的idf , 两个idf取均值,或者取两个idf中较大的。我们发现,取较大的idf对于entailment和paraphrase任务效果都很好。因此我们使用下面的公式去计算Text A 和 Text B的相似度得分,加权Simw , 不加权 Sim, wa 表示A中的单词,wb表示B中的单词,p(wa, wb)是相似词对集合S中的一个,WordSim用来计算词到词的相似度。


Finally, we normalize the overall similarity score on the weighted length of the input texts.这步计算通过求和我们第一步中考虑的所有词法符号的idf权重(构造词对集合时)。如果不用权重,就用输入文本的长度,长度为前面配对过程中所有符号的数量。因为有两个文本,两个长度,所以有几种方式进行归一化。

计算公式:

实验和结果

实验了两个语义相似度任务:paraphrase identification 和 entailment recognition。在这两个任务中,分别在 paraphrase identification 使用MSPR数据集和entailment recognition使用RTE数据集时发现了基本方法最好的变种。

For preprocessing, we use the Stanford NLP Core library to tokenize, lemmatize and extract the part-of-speech tags. For idf weighting, we use an idf index which we previously computed from the English Wikipedia.

未完待续。。。


三、论文:A Survey of Text Similarity Approaches——文本相似度方法调查。


四、网站:Text Similarity: estimate the degree of similarity between two texts.——这个网站将文本相似度分为语义相似度和句法相似度。

五、论文:Measuring the Semantic Similarity of Texts——贪婪匹配法论文中提到的论文

六、论文:基于语义角色标注的汉语句子相似度算法

七:论文:基于关系向量模型的句子相似度计算

八:论文:Siamese Recurrent Architectures for Learning Sentence Similarity, Tensorflow实现——深度网络,孪生LSTM

        论文解读 Siamese Recurrent Architectures for Learning Se... - 简书


蚂蚁金服NLP语义相似度竞赛讨论区分享的一个模型:[NLP大赛baseline分享](https://openclub.alipay.com/read.php?tid=7480&fid=96)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,013评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,205评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,370评论 0 342
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,168评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,153评论 5 371
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,954评论 1 283
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,271评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,916评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,382评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,877评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,989评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,624评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,209评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,199评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,418评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,401评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,700评论 2 345

推荐阅读更多精彩内容