我想比较不同句子中提到的同一单词之间的差异,例如“旅行”。我想做的是:
我知道word2vec不仅需要几个句子来训练可靠的向量。官方页面推荐了包含数十亿个单词的数据集,但我的数据集中没有这么多的数字(我有数千个单词)。
我试图用以下几句话来测试模型:
Sentences
Hawaii makes a move to boost domestic travel and support local tourism
Honolulu makes a move to boost travel and support local tourism
Hawaii wants tourists to return so much it's offering to pay for half of their travel expenses
我构建向量的方法是:
from gensim.models import Word2Vec
vocab = df['Sentences']))
model = Word2Vec(sentences=vocab, size=100, window=10, min_count=3, workers=4, sg=0)
df['Sentences'].apply(model.vectorize)
但是,我不知道如何可视化结果以查看它们的相似性并获得一些有用的见解。任何帮助和建议都将受到欢迎。
更新:我将使用主成分分析算法来可视化3维空间中的嵌入。我知道每个单词的用法,但不知道句子的用法。
如果您对比较句子感兴趣,则Word2Vec不是最佳选择。结果表明,使用它创建句子嵌入比使用专用的句子嵌入算法产生的效果差。如果数据集不大,则无法使用自己的数据创建(训练新的)嵌入空间。这迫使您对句子使用经过预训练的嵌入。幸运的是,如今有足够的这些了。我相信通用句子编码器(由Google提供)将最适合您的需求。
获得句子的矢量表示后,您可以采用2种方法:
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句