当我对用自然语言写的文档进行分类和聚类时,我提出了一个问题.
由于word2vec和glove等在分布式空间中将单词向量化,我想知道是否有任何方法推荐或常用使用word向量的文档矢量化。。
例如,
Document1:“如果你追两只兔子,你会把它们都弄丢的。”
可以矢量化为,
0.1425,0.2718,0.8187,…,0.1011
我知道还有一个叫做doc2vec的文档,这个文档有n个维度,就像word2vec一样。但这是1xn维数,我一直在测试,以找出使用doc2vec的局限性。
因此,我想知道其他人是如何将单词向量应用于具有稳定大小的应用程序的。
只要叠加m个字的向量,就会形成m×n维向量。在这种情况下,向量维数不会统一,因为维数m将取决于文档中的字数。
如果: 0.1018,.,0.8717 你: 0.5182,. 0.8981 .:. M字:.
这种形式不适合运行CNN等机器学习算法。使用word向量生成稳定形式的文档向量的建议方法是什么?
如果还能提供文件,那就太好了。
谢谢!
发布于 2018-05-08 15:34:11
最简单的方法是从文本中得到一个固定大小的向量,当你只有单词向量时,将所有的单词向量平均在一起。(向量可以加权,但如果它们没有单位长度归一化,它们从训练中得到的原始量值在某种程度上表明了它们的单义多义/歧义词的强度往往有较小的量值。)它可以用于许多目的。
如果训练文本已经与已知的课程相关联,那么可以专门训练单词向量,以便更好地进行这样的写作。Facebook的FastText在其“分类”模式下做到了这一点;对于预测它们出现在其中的文本的输出类别,单词向量进行了优化,就像它们用来预测上下文窗口邻居(经典word2vec)一样。
“段落向量”技术,通常被称为“doc2vec”,为每一篇训练文本提供了一种浮动假词,有助于每一种预测,从而最终得到一个类似于单词向量的位置,它可以代表全文,而不是单个的单词/上下文。
还有许多更多的变体,包括一些基于更深层次的预测网络(如‘Skip- training’),或略有不同的预测目标(例如“fastSent”中的相邻句子),或者其他在培训期间甚至可以包含符号和数字输入/目标的概括(Facebook的StarSpace中的一个选项,它探索与单词向量和FastText类似的分类需求相关的其他实体向量化可能性)。
如果您不需要将文本折叠成固定大小的向量,而只需要比较文本,也有一些技术,比如"Word Mover's距离“,它为一个文本和另一个文本取”字向量袋“,并给出一个相似度评分。
https://stackoverflow.com/questions/50225323
复制相似问题