0

为此,我正在 solr 中进行跨语言搜索,我正在从语言 A 到语言 B 进行查询翻译,这些翻译基于双语词典。我目前面临的问题是“对于查询中的某些单词,我有多个翻译”。在这里我需要输入正确的单词进行翻译。我该如何解决这种翻译歧义。

在这种情况下,我们无法确定查询的上下文,因为查询可能太短了。我能看到的只有一种方法是单词的概率出现。有什么办法可以让我检查单词一起出现的概率吗?

4

1 回答 1

0

我相信您会将分析单词一起出现的概率称为一种简单的上下文形式,并且我认为在查询中它很容易出错,并导致您错过相关结果。对于完整的上下文句子来说,这是一个非常困难的问题。用户输入的查询字符串中的歧义可能是无法解析的歧义,因此尝试解决它们,我相信,会使您的搜索令人沮丧地不可预测,甚至可能使某些概念难以搜索或无法搜索。

对于它的价值,我的建议是使用SynonymFilter 之类的实现来搜索两种替代翻译。

因此,如果我正在搜索英语单词"fine",我可能会在西班牙语中将其分解为查询"multa fino sutil"

将这些同义词列表包装在DisjunctionMaxQuery中可能是有意义的,以防止对同一术语的多个翻译的命中超过应有的影响评分。所以如果搜索

  • “好点”

我可能正在寻找在辩论中提出的出色论点、削尖的铅笔,或者,知道用户如何输入查询,我很可能正在寻找一个野餐的好地方,或者交通罚单处罚背后的理由。

因此,我可能会将其扩展为:

  • BooleanQuery,加入:
    • DisjunctionMaxQuery:“multa”、“fino”、“sutil”
    • DisjunctionMaxQuery:“蓬塔”、“时刻”、“卢格”
于 2013-03-12T19:12:39.477 回答