如何找到两个短语之间的关系?

时间:2013-11-26 13:40:54

标签: string nlp text-manipulation

我怎样才能找到两个完全不同但相关的短语之间的关系。例如: 1)“今天的社交媒体网站......” 2)“Facebook是极受欢迎的社交网站......”

虽然这两个短语并没有太多共同点,但它们是相关的(Facebook是今天的社交媒体网站)。如何量化这种关系(如果可能的话)?

2 个答案:

答案 0 :(得分:4)

简单,无效的方式:计算共同的单词数量(和/或单词本身),或两个句子之间的编辑距离,但使用单词而不是字符。在这种情况下,它会发现两个句子中出现“社交”一词。您还可以使用某些同义词库数据找到一种检测同义词的方法,例如“网站”和“网站”。这可能需要一些工作。可以忽略常用词(“和”,“the”,......),以减少偶然匹配的机会。

细化:维护某些字词之间的链接图(例如“Facebook”和“网络”),根据单词之间的链接权重来确定它们在一起出现的频率,并以此为基础关联度量。维护过于频繁出现的单词列表,并忽略它们。显然,这取决于为您的算法提供一些有代表性的“训练数据”。

复杂,有效的方式:阅读机器学习。

答案 1 :(得分:3)

这是一个非常普遍的问题,您将不得不采用多种方法来获得任何可观的结果。事实上,你所说的是NLP的最终目标。我建议你将问题分解成碎片并逐一解决每个问题。

这个难题的第一部分是要理解两个句子是否在谈论相同/相似的实体。这可以通过在不同的句子中识别主题,对象,动词,位置参考,工具参考,配对参考等来完成。然后可以将这些引用相互比较。我想到的一种方法是查看wordnet距离。你必须在一段时间内建立自己的词汇量。

第二部分是解决句子的精神问题。您将不得不在这里使用机器学习方法和语言学。

正如我所说,这是一个非常普遍的问题,因此很难一次解决。如果我是你,我会以下列方式解决问题:

步骤1.首先将我的解决方案限制在一个域中。这将有助于我建立更好的本体/词汇,更好地训练我的模型。

步骤2:解析实体接近度并尝试理解哪些句子正在谈论类似主题或指向类似对象等。此步骤更多是语言问题

步骤3:在机器学习的帮助下,尝试找到具有相似精神和音调的句子。

第4步:转到下一个域并重复这些步骤。

希望这会有所帮助。