1.介绍

文本相似性是自然语言处理中的主动研究和应用主题之一。在本教程中,我们将显示文本相似度的定义和类型,然后讨论文本语义相似性定义,方法和应用程序。

2.文本相似性

在自然语言处理(NLP)中,答案“如何两个单词/短语/文档彼此相似?”是研究和应用的关键主题。文字相似性是计算两个单词/短语/文档彼此接近的方式。亲密度可以是词汇或意义。

语义相似性是关于近似的含义,并且词汇相似性是关雷竞技app官网网站于单词集的亲密关系。

让我们检查以下两个短语作为示例:

  • 狗咬人
  • 那个男人咬了狗

根据词汇相似性,这两个短语非常接近,几乎相同,因为它们具有相同的单词集。对于语义相似性,它们完全不同,因为尽管单词集的相似性,但它们具有不同的含义。

计算文本相似度取决于将文本转换为特征的向量然后,算法选择适当的特征表示,如TF-IDF。最后,在文本的表示向量上的相似性工作。

有很多技术来计算文本相似性,他们是否考虑了语义关系或没有。在这些技术之上:

  • Jaccard相似之处
  • 茂密的相似性
  • k均值
  • 潜在语义索引(LSI)。
  • 潜在的Dirichlet分配(LDA),以及任何距离算法,如Jaccard
  • 最先前的技术与任何单词嵌入算法相结合(如Word2vec.)显示出色的结果

3.语义相似性

我们将从使用Google搜索的示例开始。让我们看看以下两个短语:

  • 旅游业正在崩溃
  • 旅行业担心Covid-19危机将导致更多的假期公司崩溃

根据以下图像,如果您在Google搜索上使用了第一个短语,您将在前5个结果中获取第二个短语。对于词汇相似性,这两个语句彼此不靠近,而是对于语义相似性,它们非常接近,因为尽管单词集有区别,但它们具有强烈的含义:

结果(第二短语)将随时间而变化,因为事件会影响搜索结果。但是确定的是,结果将具有不同的单词集,而是非常近似的含义。

两条文本之间的语义相似度测量他们的含义如何关闭。这项措施通常是0到1. 0之间的分数意味着根本不关闭,1表示它们几乎具有相同的含义。

4.语义相似性的类型

4.1。知识的相似性

我们使用此类型来确定概念之间的语义相似性。此类型表示本体图中的节点的每个概念。该方法也称为拓扑方法,因为该图用作语料库概念的表示。

两个概念(节点)之间的最小边沿意味着它们更接近含义和更自结性。

下图显示了概念如何形成拓扑的示例,此图将导致“硬币”更接近“金钱”,而不是“信用卡”:

4.2。基于统计的相似性

这种类型基于来自语料库的学习功能的向量来计算语义相似度。

vectors表示可以依赖于许多技术,如潜在语义分析(LSA)中的计数或TF-IDF,在显式语义分析(ESA)中的维基百科概念的权重,同义词相互信息(PMI),以及A的共同发生的单词套在超空间模拟中的预定义词到兰扬羚(hal)。

在这种类型中,最先前的大多数技术可以与Word Embeddings组合以获得更好的结果,因为Word Embeddings捕获了单词之间的语义关系。

4.3。基于串的相似性

测量语义相似性并不依赖于此类型,而是将其与其他类型相结合,以测量非零传感器之间的距离。

这种类型的最重要的算法是曼哈顿距离,欧几里德距离,余弦相似性,Jaccard指标和索伦登骰子指数。

欧几里德距离计算如下:

\ [d(x,y)= \ sqrt {\ sum_ {i = 1} ^ {n}(y_ {i}  -  x_ {i})^ {^ {2}}} \]

在哪里N是传感器的大小。

茂密的相似性如下:

\ [相似度(a,b)= \ frac {a。b} {\左\ |一个\右\ |\ times \左\ |b \ rick \ |} = \ frac {\ sum_ {i = 1} ^ {n} a_ {i} b_ {i} b_ {i}} {\ sqrt {\ sum_ {i = 1} ^ {n} a_ {i} ^{2}} \ sqrt {\ sum_ {i = 1} ^ {n} b_ {i} ^ {2}}} \]

在哪里N是传感器的大小。

4.4。基于语言模型的相似性

科学界将于2016年介绍了这类类型的两个英语短语类型的语义相似性测量,假设它们在句子上正确。

此类型有五个主要步骤:

  1. 删除停止单词
  2. 使用语音(POS)算法的任何部分标记两个短语
  3. 从标记步骤输出,此类型为每个短语形成结构树(解析树)
  4. 使用解析树构建无向加权图
  5. 最后,将相似性计算为节点之间的最小距离路径(单词)

5.例子

我们本文中提到的所有算法已经以不同的编程语言实现和优化,主要是Python和Java。

赛季是用于测量语义相似性的Python中最新工具之一。这取决于基于知识的相似性类型。以下代码段显示您可以如何如何在英语中测量两个基本单词之间的语义相似性,其中输出为0.5:

来自Semitch.Semantic.siemarility导入Wordnetsimillity WNS = Wordnetsimillity()wns.word_simillity('dog','cat','li')

6.语义文本相似性的应用

文本语义相似性是自然语言处理和语言学领域的活跃研究区域。此外,它涉及许多用于自然语言处理和信息学科学的应用。

用于自然语言处理(NLP),我们在许多应用中使用语义相似性,如情绪分析,自然语言理解,机器翻译,问题应答,聊天,搜索引擎和信息检索

对于信息学科学,我们在生物医学领域和地理信息学中拥有申请。生物医学信息学主要使用语义相似性方法构建生物医学本体论(基因本体论)。地理信息学,地理特征类型本体取决于语义相似性的拓扑和统计类型。此类应用程序中最知名的工具之一是用于计算OpenStreetMap中标记的语义相似性的OSM语义网络。

7.结论

在本文中,我们以简而言之表达了文本相似性。然后我们展示了语义相似性定义,类型和技术,以及应用程序。此外,我们展示了使用最新的Python库之一进行语义相似性。

评论在本文上关闭!