2017-07-02 99 views
0

我想計算某些搜索查詢在Google上搜索查詢的相似度分數。試圖計算搜索詞之間的相似度

這意味着,除其他外,單詞的順序不一定重要。例如:

「阿迪達斯藍色」和「藍球鞋阿迪達斯」

應該是考慮完全相同的序列,這是不是在許多傳統的距離算法,我相信這種情況。

上面可以用餘弦相似度我猜想,但如果我有什麼需要解決的例子:

「adiddas鞋藍色」

我想算法產生原來的一個非常相似的距離「 「阿迪達斯藍色」

這樣的算法存在嗎?

+0

不知道你在問什麼。首先,你需要一個算法,其中的單詞順序無關緊要(雖然存在噸),然後你請求一個包含或執行拼寫糾正的算法?你們中的哪一個是你的興趣?此外,我認爲這屬於統計數據或數據科學堆棧交換。 –

+0

1.順序無關緊要,2它適應類似的拼寫。當然,拼寫錯誤是一件事情,但品牌不知道它是否會一直工作。無論如何,爲了爭論起見,讓我們說你說的是對的。我想根據單詞的順序在單詞順序上的相似程度來計算整個句子的相似性分數。關於你的第二個評論,有很多像SO這樣的問題。 – elelias

回答

2

使用Soft Cosine Similarity和術語之間的相似性度量設置爲Levenshtein distance。軟餘弦相似度推廣通過考慮對之間的編輯距離來實現傳統的餘弦相似度度量。換句話說,軟餘弦相似性度量補償了矢量空間的不同維度並不真正正交的事實。

請注意,您必須按照類似術語具有1的相似性(即,如果術語之間的距離爲0,那麼它們的相似性必須爲1)來標準化Levenshtein距離。

更多詳細信息可在the paper suggesting the soft similarity measure找到。

相關問題