本文主要介绍一个Word2vec和Doc2vec应用示例:用Word2vec做词的相似度计算和用Doc2vec做句子的相似度计算。
该示例主要包含两部分:
1.训练Word2vec模型和Doc2vec模型;
2.用训练好的Word2vec模型和Doc2vec模型分别进行词相似度计算和句子相似度计算。
本例中采用的数据是13万多本中文科技图书的一级目录标题,将图书目录标题按行存储,每行是一个标题,用中文分词工具HanLP进行分词。分词结果如下如所示:
将分词的结果传入Word2vec模型和Doc2vec模型训练词的word2vec和目录标题的doc2vec。Word2vec模型和Doc2vec模型训练使用的Java版本实现的,可以从我的GitHub上获取(Java版本Word2vec和doc2vec)。
训练好Word2vec模型和Doc2vec模型之后,就可以将模型加载进内存中,然后对输入的词语计算跟它最相近的TOP10个词(按降序排序),对输入的标题计算跟它最相近的TOP10个标题(按降序排序)。
相似度计算公式采用的是余弦相似度:

本文展示了使用Word2vec和Doc2vec进行词和句子相似度计算的实例,包括训练模型、计算相似度及结果分析。数据来源于13万多本中文科技图书的一级目录标题,通过Java实现模型训练,并提供了代码资源。
最低0.47元/天 解锁文章


被折叠的 条评论
为什么被折叠?



