2015-11-07 46 views
0

假設我有一個巨大的單詞列表和一個數組,這些單詞中隨機組合了各種單詞。一個時隙可以保存一個或多個單詞,對該單詞的數量沒有限制,並且單詞可以重複。 (當我說插槽時,我的意思是字符串中充滿了標記爲在陣列中分開的單詞)Java上比率的算法

想象一下所有可能的單詞的網絡,其中它們的相互接近取決於它們在槽中一起出現的頻率。

例如如果word1和word2比word3和word2更頻繁地出現在一起,它們的「proximity」變量應該小於word3和word2之間的變量。我需要比率

我將如何確定一個算法可以計算網絡中所有可能的單詞之間的「接近度」比率?

回答

0

你可以使用從屬頻率:

f = f(w1 and w2)/f(w1 or w2) 

其中f(w1 and w2)是其中兩個詞出現和f(w1 or w2)時隙的數目是其中出現的兩個詞的至少一個的時隙的數目。如果兩個單詞只出現在一起,你會得到f = 1。如果兩個單詞都不會一起出現,您將獲得f = 0

對於某些比例因子k,您可以通過distance = k * (1 - f)輕鬆將其映射到類似距離的值。