基于word2vec的词语相似度计算

作者:刘才权

编辑:黄俊嘉

基于word2vec的词语相似度计算

应用场景

假设你有一个商品的数据库,比如:

现在通过用户的输入来检索商品的价格,最简单的方法就是通过字符串进行匹配,比如, 用户输入“椅子”,就用“椅子”作为关键字进行搜索,很容易找到椅子的价格就是200元/个。 但有时用户输入的是“凳子”,如果按照字符串匹配的方法,只能返回给用户,没有此商品。但实际上可以把“椅子”的结果返回给用户参考。这种泛化的能力,通过简单的字符串匹配是显然不能实现的。

词语相似度计算

在上面的例子中,“凳子”跟“椅子”的语意更相近,跟“香蕉”或“冰箱”的语意相对较远。在商品搜索的过程中,可以计算用户输入的关键字与数据库中商品名间的相似度,在商品数据库中找出相似度最大的商品,推荐给用户。这种相近的程度就是词语的相似度。在实际的工程开发中可以通过word2vec实现词语相似度的计算。

代码实现

运行结果

调试技巧

在开发调试的过程中,会出现错误,需要重新运行程序。如果每次修改后,都从头开始执行,肯定会消耗很多无用的时间。比如,预处理后的文本结果和word2vec的训练参数,这些中间结果可以保持下来,当遇到问题时,就可以从文件中读取结果,而不需要每次都从头开始。

源码下载地址

https://github.com/CaiquanLiu/MachineLearning

原文发布于微信公众号 - 机器学习算法全栈工程师(Jeemy110)

原文发表时间:2017-09-15

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏华章科技

Java 10新特性解密

请注意,本文中所包含的信息在写本文时是准确的。但是到发布时,JDK 10特性组预计将会增加。

552
来自专栏皮振伟的专栏

[linux][memory] 物理内存管理

前言: 书接上回《内存映射技术分析》,继续来分析一下linux的物理内存管理。 分析: 1,物理内存 PC上的内存条,或者手机上的内存芯片,物理上实实在在的...

3907
来自专栏Golang语言社区

麻将游戏的听牌算法

测试测试!!~~~~这两周都是在测试各种BUG,没事情的时候自己在网上学学新知识,也为下个月的游戏改版预热。最近呢我也开始了我的shader之旅,估计也是这充满...

38816
来自专栏大数据文摘

为什么Python这么慢?

Python语言近年来人气爆棚。它广泛应用于网络开发运营,数据科学,网络开发,以及网络安全问题中。

484
来自专栏杨建荣的学习笔记

通过pl/sql计算程序的运行时间(r3笔记第77天)

在sqlplus中运行sql语句或者pl/sql的时候如果需要统计运行的时间,只需要开启set timing on选项即可。 SQL> set timing o...

32311
来自专栏搜云库

Java 10 新特性解密,引入类型推断机制,将于 2018 年 3 月 20 日发布

JDK 10 是 Java 10 标准版的部分实现,将于 2018 年 3 月 20 日发布,改进的关键点包括一个本地类型推断、一个垃圾回收的“干净”接口。

3848
来自专栏大闲人柴毛毛

浅谈代码覆盖

在做单元测试时,代码覆盖率常常被拿来作为衡量测试好坏的指标,甚至,用代码覆盖率来考核测试任务完成情况,比如,代码覆盖率必须达到80%或 90%。于是乎,测试人...

3296
来自专栏葡萄城控件技术团队

C# 8.0的三个值得关注的新特性

image.png C# 语言是在2000发布的,至今已正式发布了7个版本,每个版本都包含了许多令人兴奋的新特性和功能更新。同时,C# 每个版本的发布都与同...

2218
来自专栏debugeeker的专栏

《coredump问题原理探究》Linux x86版4.1节函数的逆向之序言

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xuzhina/article/detai...

372
来自专栏C语言及其他语言

[每日一题]破解密码(1244)

向往如图灵一样破解密码吗?那么就请开始你的表演 题目描述 密码是我们生活中非常重要的东东,我们的那么一点不能说的秘密就全靠它了。哇哈哈. 接下来渊子要在密码之...

3129

扫描关注云+社区