2017-12-03 80 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, ] 

我不知道有任何普遍建立的方法,以获得良好的文档向量长文档:

你可以像获得它。