检测文本中提到的圣经经文的最佳方法是什么?

数据挖掘 机器学习 深度学习 词嵌入 nlp
2022-02-18 23:41:08

我有一套英语圣经中的 10 节经文。我想检测文本中任何这些经文的出现。这样做的最佳方法是什么?

请注意,圣经的经文从一个翻译到另一个的措辞不同。例如,诗句“把你所有的焦虑都推给他,因为他关心你”在其他翻译中存在如下:

KJV 把你所有的关心都倾注在他身上;因为他关心你。

ESV 把你所有的焦虑都投给了他,因为他关心你。

NLT 把你所有的忧虑和关心交给上帝,因为他关心你。

此外,人们在写诗时可能会出现拼写错误或错误。

你会说语义搜索是最好的方法吗?如果是这样,我是否使用相关的词嵌入模型,在我的 10 节经文上重新训练它,然后在我的文本中搜索这些经文的出现?

搜索机制将如何工作?我是否逐句获取单词嵌入,并将每个句子的嵌入与我的 10 节经文嵌入的圣经语料库逐一进行比较?

1个回答

一种方法是使用Word Mover 的距离 (WMD)WMD 是一种用于查找不同长度文本之间距离的算法,其中每个单词都表示为一个单词嵌入向量。

WMD 距离衡量两个文本文档之间的差异,作为一个文档的嵌入词需要“旅行”以到达另一个文档的嵌入词的最小距离量。

例如:

在此处输入图像描述 资料来源:“从词嵌入到文档距离”论文

文本中的每个句子都可以与 10 节圣经经文进行比较。圣经经文可以根据相似性进行排名。