Eclipse插件 全局重载运算符 矿工文档 parsing pip jaxb drupal7 Avalon formvalidator.js nodejs视频教程 coreldraw学习 android调试工具 chrome发送post请求 webapp打包 phpstorm插件 linux查询文件内容 车载u盘 python练习 pythonset python安装配置 java接口 java编程入门 java课程 javaworld java入门代码 java原始数据类型 java的输入 java遍历list集合 java方法调用 linux系统教程 python入门经典 mounted 微信超级好友 max电池容量 选择模拟位置信息应用 苹果双微信 小洛快跑 pr放大画面 逗号的作用 回收站在哪个盘
当前位置: 首页 > 学习教程  > 编程学习

深度学习笔记——Word2vec和Doc2vec应用举例:词和句子的相似度计算

2021/1/9 1:56:33 文章标签: word计算

本文主要介绍一个Word2vec和Doc2vec应用示例:用Word2vec做词的相似度计算和用Doc2vec做句子的相似度计算。 该示例主要包含两部分: 1.训练Word2vec模型和Doc2vec模型; 2.用训练好的Word2vec模型和Doc2vec模型分别进行词相似度计算和句子相…

本文主要介绍一个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个标题(按降序排序)。

相似度计算公式采用的是余弦相似度:


下面是词相似度计算的例子:



从上图中可以看出,词的相似度计算结果还是可以的,一般都能找到有一定关系的词语。


下面是标题相似度计算的例子:


从图中可以看出,标题相似度的例子并不太好,分析原因:一则可能是语料库不够大;二则图书目录标题太短,分词之后一般只有几个词语,这样将每一个标题当做一个文档训练得到的Doc2vec的效果就不够好。这方面还有很大改进空间。


具体代码可以到我的GitHub上获取,欢迎fork和star。地址:点击打开链接



本文链接: http://www.dtmao.cc/news_show_1100110.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?