Word2vec模型的常用方法枚举

1 model.wv.vectors.shape

词向量的维度 (631, 50) 模型有631个不重复的词汇,维度为50

2 model.wv.most_similar(positive=[文本挖掘, 汽车], negative=[内容], topn=20)

获取词汇相关的前n个词语,当positive和negative同时使用的话,就是词汇类比

model.wv.similar_by_word(social_listening, topn=10, restrict_vocab=30))

model.wv.most_similar(social_listening)

找到前N个最相似的单词,注意其中的参数restrict_vocab ,它是可选的整数,

它限制了向量的范围,搜索最相似的值。 例如,restrict_vocab = 10000会

,只检查词汇顺序(按降序频率对词汇表进行排序会更有有意义)中的前10000个词汇向量

3 model.wv.doesnt_match("舆情 互联网 媒体 商业 场景 咨询 ".split())

找出与其他词差异最大的词汇

4 model.wv.closer_than(微博,社会化媒体) #微博是词汇A,社会化媒体是词汇B

接近词汇A更甚于词汇B接近词汇A的【所有】词汇,按相似度由高到低降序排列

就是找到比b词汇更接近a单词的词汇

5 model.wv.similarity(social_listening, 社会化媒体)

基于cosine余弦计算词汇之间的相似度,数值越大代表相似度越高

6 model.wv.wmdistance(doc1.split(), doc2.split())

wmdistance比较语句之间的相似度,数值越大代表越不相似

7 model.predict_output_word([social_listening, 口碑, 情报], topn=20)

给定上下文词汇(the context words)作为输入,你可以获得中心词汇的概率分布

8 使用乘法组合对象(multiplicative combination objective)找到前N个最相似的单词

print("使用most_similar_cosmul进行相似度计算的结果: {}".format(model.wv.most_similar_cosmul(positive=[文本挖掘,数据,语义相关性], negative=[商业,社交,社交媒体平台], topn=10)))

print(----------------------------------------------------------------------------------------------------------------------------------------------------------------------------)

print("使用most_similar进行相似度计算的结果: {}".format(model.wv.most_similar(positive=[文本挖掘,数据,语义相关性], negative=[商业,社交,社交媒体平台], topn=10)))

9 model.wv[文本挖掘]

查询到某个词汇的词向量稠密表示 它是我们做后续高阶文本挖掘,即文本聚类、文本分类、情感分析以及文本相似度的基础

model.wv.vectors将其扩展为2D 的NumPy矩阵

10 model.get_latest_training_loss()

训练损失计算(Training Loss Computation)

当训练Word2Vec模型时,将其中的参数compute_loss设置为True,

则可计算训练Word2Vec模型时所得到的损失(Training Loss),它可以衡量模型的训练质量。

计算出的损失存储在模型的属性running_training_loss中,

可以调用get_latest_training_loss方法进行查询

经验分享 程序员 微信小程序 职场和发展