文本摘录之间的语义距离

机器算法验证 聚类 分类 文本挖掘
2022-04-04 23:57:37

我想知道自然语言处理在确定两个文本摘录之间的语义距离方面有多远。

例如,考虑以下短语

  1. 今天一早,我起床洗了车。
  2. 今天早上我清理了我的卡车。
  3. 香蕉是钾的极好来源。

显然(对于人类读者而言)前两个语句彼此之间的相似性远高于它们与第三个语句的相似性。是否存在任何方法可以让计算机得出相同的结论?

(最终我试图根据语义内容对 Twitter 推文进行分组。)

3个回答

当两个句子足够相似时,例如组合成一个集群,这远非显而易见,而且确实是高度特定于任务的。问题不在于确定哪个

  1. 今天早上我清理了我的卡车。
  2. 香蕉是钾的极好来源。

更类似于

  1. 今天一早,我起床洗了车。

它正在确定哪些更相似:

  1. 今天一早,我就起来了。
  2. 今天一早,我洗了个澡。
  3. 昨天我去洗车。
  4. 今天我来看看新车。
  5. 昨天我的车下雨了。
  6. 我在房子周围做了很多工作。
  7. 孩子们今天把车弄脏了。为什么我丈夫不更管教他们。
  8. 简的车刚洗完,被三个鸡蛋撞了。

等等等等等等

当上述任何一种情况以及更多情况最相似时,都可以构成任务上下文。在假设特定的通用技术(Wordnet、特定的无监督学习器等)会做你想做的事之前,你要先仔细考虑你的目标。

让没有投资于该技术的人对其进行盲目评估是个好主意。

假设我们可以通过以下方式计算一个名词到另一个名词的距离。使用 Worldnet(我猜你知道),并利用一个存在的函数,但你可以自己构建它,它计算你需要从一个单词到另一个单词的分类学点数(例如从 cat to dog 你可能有 4 但从钉子到音乐你可能有 25)然后使用在句子的名词之间计算的这个数字只是发明一个度量(例如,简单地使用名词之间的距离的平均值,或者使用之间的最小距离名词)将帮助您完成任务。

查看Jones & Mewhort (2007)的作品。这项最近的工作也可能很有趣,尤其是他们的在线工具