词嵌入算法在性能方面

机器算法验证 机器学习 自然语言 word2vec 词嵌入 余弦相似度
2022-03-25 03:42:52

我试图将大约6000 万个短语嵌入到向量空间中,然后计算它们之间的余弦相似度我一直在使用 sklearnCountVectorizer和一个自定义构建的分词器功能,该功能产生一元和二元。事实证明,为了获得有意义的表示,我必须允许大量的列,与行数成线性关系。这会导致令人难以置信的稀疏矩阵并降低性能。如果只有大约 10,000 列就不会那么糟糕了,我认为这对于词嵌入来说是相当合理的。

我正在考虑尝试使用谷歌的word2vec,因为我很确定它会产生更低维度和更密集的嵌入。但在此之前,是否还有其他可能值得一看的嵌入?关键要求是能够扩展大约 6000 万个短语(行)。

我对词嵌入领域很陌生,所以任何建议都会有所帮助。

我还应该补充一点,我已经在使用奇异值分解来提高性能。

1个回答

最近有一些关于使用玻尔兹曼机动态分配 word2vec(skip gram)维度的工作。看看这篇论文:

“无限维词嵌入”-Nalsnick, Ravi

基本思想是让您的训练集决定您的 word2vec 模型的维度,该模型受到与维度大小相关的正则化项的惩罚。

上面的论文对单词做了这个,我很想知道它在短语中的表现如何。