如何使用词嵌入将文档映射到适合于监督学习的特征向量?
甲字嵌入每个单词映射到一个向量,其中是一些不太大数目(例如,500)。流行的词嵌入包括word2vec和Glove。v ∈ [R d d
我想应用监督学习对文档进行分类。我目前正在使用单词袋表示法将每个文档映射到特征向量,然后应用现成的分类器。我想用一个基于现有的预训练词嵌入的词替换词袋特征向量,以利用词嵌入中包含的语义知识。有标准的方法吗?
我可以想象出一些可能性,但是我不知道是否有最有意义的东西。我考虑过的候选方法:
我可以计算文档中每个单词的向量,然后将它们平均。但是,这似乎可能会丢失很多信息。例如,使用词袋表示法,如果有几个词与分类任务高度相关,而大多数词都不相关,则分类器可以轻松地学习到;如果我将文档中所有单词的向量平均,分类器就没有机会了。
将所有单词的向量连接起来是行不通的,因为这不会导致固定大小的特征向量。同样,这似乎是一个坏主意,因为它将对单词的特定位置过于敏感。
我可以使用单词嵌入将所有单词的词汇聚类为一组固定的聚类,例如1000个聚类,其中我在向量上使用余弦相似度作为单词相似度的度量。然后,我可以有一个词包,而不是词包:我提供给分类器的特征向量可以是1000个向量,其中第个分量计算文档中的词数是集群一部分。我
给定单词,这些单词嵌入使我能够计算出前20个最相似的单词及其相似度得分的集合。我可以使用它来适应类似词袋的特征向量。当我看到这个词,除了增加相应字元素由,我还可以增加对应的字元素通过,增加对应的字元素通过,等等。w 1,… ,w 20 s 1,… ,s 20 w w w 1 w 1 s 1 w 2 s 2
是否有任何特定的方法可能对文档分类有效?
我不是在寻找para2vec或doc2vec;这些需要在大型数据语料库上进行培训,而我没有大型数据语料库。相反,我想使用现有的单词嵌入。