2013-03-12 67 views
0

爲了這個目的,我正在做solr中的跨語言搜索,我正在從語言A到語言B進行查詢翻譯,這些翻譯都是基於雙語詞典。我目前面臨的問題是「對於查詢中的某些單詞我有多個翻譯」。在這裏,我需要把正確的詞翻譯。我如何解決這種翻譯歧義。Solr中的翻譯歧義

在這種情況下,我們無法確定查詢的上下文,因爲查詢可能太短。我能看到的只有一種方法是詞語的概率發生。有什麼辦法可以檢查一起出現的單詞的概率嗎?

回答

0

我相信你會打電話來分析單詞出現在一起的簡單形式的上下文概率,而且我認爲在查詢中它會非常容易出錯,並且會導致錯過相關結果。這是一個非常困難的問題,具有完整的上下文句子。用戶輸入的查詢字符串中的含糊不清可能會造成不可估量的不確定性,因此,我認爲,嘗試解決這些問題會令您的搜索令人沮喪地無法預測,甚至可能會使某些概念難以搜索或無法搜索。

對於它的價值,我的建議是使用SynonymFilter這樣的實現來搜索兩種替代翻譯。

因此,如果我正在搜索英文單詞"fine",在西班牙語中,我可能會爆炸查詢"multa fino sutil"

將這些同義詞列表包裝在DisjunctionMaxQuery中可能有意義,以防止同一個詞語的多個翻譯中的命中影響比他們應該更高的得分。所以,如果搜索

  • 「精點」

我可能會尋找在辯論中,一個削尖的鉛筆做了精彩的說法,或者,知道用戶如何輸入查詢,我很可能是尋找一個野餐的好地方,或交通罰單罰款背後的理由。

所以,我可能會擴大到一個:

  • BooleanQuery,加盟:
    • DisjunctionMaxQuery: 「multa」, 「菲諾」, 「蘇蒂爾」
    • DisjunctionMaxQuery: 「蓬」,「 momento「,」lugar「