2017-12-03 112 views
1

我想使用在text2vec中實現的GloVe單詞嵌入來執行有監督的迴歸/分類。我閱讀了關於如何生成單詞向量的text2vec主頁上的有用教程。然而,我很難理解如何進一步進行,即應用或轉換這些單詞向量,並將它們附加到每個文檔中,使得每個文檔都由一個向量表示(從其組成單詞'我假設的向量派生而來'),在分類器中用作輸入。我在網上找到了一些短文檔的快速修復,但是我的文檔相當長(電影字幕),似乎沒有關於如何處理這些文檔的指導 - 或者至少指導符合我的理解水平;我有使用n-gram,詞典和主題模型的經驗,但詞嵌入困惑我。從單詞向量到文檔向量[text2vec]

謝謝!

+0

要麼你可以嘗試Doc2Vec(不可用於R!),或者你可以嘗試將單詞向量傳遞給CNN。以下是開始的鏈接:https://stackoverflow.com/questions/47615799/from-word-vector-to-document-vector-text2vec?rq=1 – TMrtSmith

回答

0

如果您的目標是對文檔進行分類 - 我懷疑任何doc2vec方法都會擊敗bag-of-words/ngrams。如果你仍然想嘗試 - 常見的簡單策略短文檔(< 20字)是將文檔表示爲單詞向量的加權和/平均值。

common_terms = intersect(colnames(dtm), rownames(word_vectors)) 
dtm_averaged = normalize(dtm[, common_terms], "l1") 
# you can re-weight dtm above with tf-idf instead of "l1" norm 
sentence_vectors = dtm_averaged %*% word_vectors[common_terms, ] 

我不知道有任何普遍建立的方法,以獲得良好的文檔向量長文檔:

你可以像獲得它。