句子之间的语义相似度

时间:2010-01-10 17:29:44

标签: java nlp

我在做project.i需要任何开源工具或技术来找到句子之间的语义相似性,我将输入作为两个句子输出并输出为分数(即语义相似性)。任何人都知道这些信息。我希望我很快就会得到回复。谢谢大家。

3 个答案:

答案 0 :(得分:19)

萨尔玛,我担心这不是你问题的正确论坛,因为它与编程没有直接关系。我建议您再次在corpora list上提出问题。您也可能希望首先搜索他们的档案。

除此之外,你的问题不够精确,我会解释我的意思。我假设你的项目是关于计算句子之间的语义相似性而不是关于语义相似性只是其中之一的其他东西。如果是这种情况,那么有几点需要考虑:首先,从计算语言学和理论语言学的角度来看,“语义相似性”一词的确切含义都很清楚。它有许多不同的观点和定义,都取决于要解决的问题的类型,手头的工具和技术,以及接近这个任务的人的背景等。考虑这些例子:

  1. Pete和Rob在车站附近发现了一条狗。
  2. Pete和Rob从未在车站附近找到过狗。
  3. Pete和Rob都喜欢编程。
  4. 帕特里夏在车站附近发现了一只狗。
  5. 这只狗在雪地下找到了Pete和Rob。
  6. 哪个句子2-4与1相似? 2与1完全相反,仍然是皮特和罗布(不)找到一只狗。 3是关于皮特和罗布,但在一个完全不同的背景下。 4是关于在车站附近找一只狗,虽然发现者是别人。 5是Pete,Rob,狗和'发现'事件,但方式不同于1.对于我来说,即使不必编写计算机程序,我也无法根据它们的相似性对这些例子进行排名

    为了计算语义相似性,您需要首先确定您希望将哪些内容视为“语义相似”,哪些不是。为了计算句子级别的语义相似度,理想情况下,您可以比较句子的某种意义表示。意义表示通常作为逻辑公式出现,并且生成起来非常复杂。但是,有些工具试图这样做,例如, Boxer

    作为一种简单但经常实用的方法,您可以将语义相似度定义为一个句子中的单词与另一个句子之间的相似性的总和。这使得问题变得更容易,尽管仍然存在一些难以解决的问题,因为单词的语义相似性与句子的语义相似性一样严格。如果你想得到这个印象,请看看D.A.的“词汇语义学”一书。克鲁斯(1986年)。然而,有许多工具和技术来计算单词之间的语义相似性。他们中的一些人基本上将其定义为像Word Net或维基百科分类法这样的分类法中两个单词的负距离(参见this paper,其中描述了一个API)。其他人通过使用在大文本语料库上计算的一些统计测量来计算语义相似性。它们基于类似词语出现在类似语境中的洞察力。计算句子单词之间语义相似度的第三种方法涉及从信息检索中可以知道的向量空间模型。要了解后面这些技术的概述,请参阅Manning和Schütze的统计自然语言处理基础一书中的第8.5章。

    希望这会让你暂时离开。

答案 1 :(得分:9)

我开发了一个简单的开源工具,根据 类别 进行语义比较: https://sourceforge.net/projects/semantics/files/

适用于任何长度的句子,简单,稳定,快速,体积小...... 这是一个示例输出:
句子之间的相似性 -Pete和Rob在车站附近发现了一只狗 -Pete和Rob从未在车站附近找到过狗  是:1.0000000000


句子之间的相似性 -Patricia在车站附近发现了一只狗 - 在雪下发现Pete和Rob的是一只狗  是:0.7363210405107239


句子之间的相似性 -Patricia在车站附近发现了一只狗 - 我很好,谢谢!  是:0.0


句子之间的相似性 - 你好,你好吗? - 我很好,谢谢!  是:0.29160592175990213



<强> USAGE:

import semantics.Compare;
public class USAGE {

public static void main(String[] args) {

    String a = "This is a first sentence.";
    String b = "This is a second one.";

    Compare c = new Compare(a,b);
    System.out.println("Similarity between the sentences\n-"+a+"\n-"+b+"\n is: " + c.getResult());

    }

}

答案 2 :(得分:0)

您可以尝试使用基于WordNet KB的UMBC语义相似服务。 有UMBC STS(语义文本相似性)服务。这是链接http://swoogle.umbc.edu/StsService/sts.html

此致