3 回答

TA貢獻1853條經驗 獲得超6個贊
我的感覺是(#translate 到直覺,而不是數學):
將根據這兩個詞彼此靠近或在相同上下文中使用的頻率來計算相似度。
如果你從那里去:
如果這兩個詞實際上相似,則它們使用的頻率越高 => 您擁有的訓練數據越多 => 模型越好 => 它們越接近。
如果你有更多的上下文來使用這兩個詞,那么它們的關系會更緊密。
但是,如果它們在整個語料庫中出現的頻率較低,但在一起的頻率較高,則它們的關系也會更加緊密。
所以它更像是一個 (frequency_same_context)/(frequency_overall)。如果你不改變它,你應該沒問題,我猜?

TA貢獻1828條經驗 獲得超4個贊
如果您已經“精簡”了一個單詞的示例上下文的數量,而不是其他單詞,那么相似性肯定會改變。
Word2Vec 依賴于許多不同的單詞用法示例。訓練過程一次只考慮一個同時出現的例子。(在流行的 skip-gram 模式中,只有一個context-word -> target-word
例子。)。
訓練反復向神經網絡呈現一個單一的上下文,沿著一些有趣的小路徑子集檢查網絡的響應,并通過改變網絡的內部權重和“投影權重”略微推動網絡做得更好定義一個詞的向量。
與其他向量相比,正是所有這些更新的聚合效果,經過多次迭代,最終將每個詞的向量推到了有用的地方。(這是改進一些示例和改進其他示例之間的“拔河”。)
任何改變所用示例組合的事情都會改變最終結果。特別是,如果A
整體單詞的示例較少,則使模型在包括A
. 它的最終位置和相關權重將更多地受到其他單詞更多示例的影響。
此外,精簡 的例子A
實際上會改變它與它曾經共同訓練過的所有單詞的共現率。更少的A
上下文意思的數量A -> B
和B -> A
環境也將發生變化,這也將改變字B
的最終位置。這適用于與,共現的所有其他單詞C
,D
等,A
尤其是當某些上下文比其他上下文更稀薄時。(因為,在您A
的新發行版示例中,'context 2' 出現頻率為 1/5000,但 'context 3' 出現頻率為 1/10。)
請注意,在大多數 Word2Vec 實現中都有一個頻繁詞下采樣功能,通常由一個名為 的參數控制sample
,它有意丟棄了許多非常頻繁出現的詞。這確實會有意地改變訓練語料庫中單詞的相對頻率。
與無下采樣相比,這里精心選擇的值往往會加快訓練速度并提高最終詞向量的質量。為什么?一旦你有成百上千個頻繁詞的不同例子,額外的邊際例子并不能幫助改善這個詞 - 但它是花費更多的時間和更高比例的整體訓練時間,改進那些常用詞的模型。并且這些詞的微小改進,在許多示例中,必須按照上述過程與對更稀有示例的更多詞的改進進行權衡。丟棄一些“過于頻繁”的詞讓其他詞對模型的最終狀態有更大的相對影響,甚至實際上甚至有效地縮小了稀有詞之間的有效上下文距離(當更頻繁的介入詞被刪除時)。

TA貢獻1805條經驗 獲得超10個贊
Gensim 實現了兩個詞向量模型:
跳碼
CBOW
兩者之間的區別在于如何使用特征化和標簽來訓練詞向量模型。
兩種模型都在標記上下文上進行訓練,以將標記自動編碼為連續的語義向量空間。
跳格
訓練的輸入是上下文窗口 n-gram,而預測標簽是第 n 個標記。
如果我們使用二元上下文窗口,輸入向量將使用標記;
[Token_(n-2), Token_(n-1), Token_(n+1), Token_(n+2)]
要預測的標簽將是
Token_n
CBOW
訓練的輸入是上下文窗口 n-gram,而預測標簽是第 n 個標記。
如果我們使用二元上下文窗口,輸入向量將使用標記;
Token_n
要預測的標簽將是
[Token_(n-2), Token_(n-1), Token_(n+1), Token_(n+2)]
目的是什么?
顯然這是一個粗略的過度簡化,但它有助于我們問,詞向量模型有什么作用?
gensim中實現的詞向量模型的目的是什么?
這兩個模型為給定的標記編碼語義上下文。
因此,詢問模型中單詞的相似程度應該與它們所訓練的上下文成正比。
TL; 博士
WV 模型對表示中的詞上下文進行編碼。
因此,單詞的相似性與它們的數量不成正比,而與它們出現的上下文成正比。
添加回答
舉報