基于word2vec的词语相似度计算

作者:刘才权

编辑:黄俊嘉

基于word2vec的词语相似度计算

应用场景

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

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

词语相似度计算

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

代码实现

运行结果

调试技巧

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

源码下载地址

https://github.com/CaiquanLiu/MachineLearning

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

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

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏嵌入式程序猿

你还没学会CAN通信波特率的设置?

记得最早是在15年就给大家推送过关于CAN通信波特率的设置,当时是以NXP的kinetis系列之KV46为例子来给大家介绍的,最近推送了几篇有关CAN通信的文章...

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

重温二分查找算法(r4笔记第66天)

二分查找在学习算法的时候会涉及到,算是一个基本的分治思想,对于算法的实现大家也都是很熟悉的,但是这个时候真会犯眼高手低的毛病。不信你自己试试,看你能够在段时间内...

3935
来自专栏数据结构与算法

到天宫做客(2017寒假培训测试压轴题)

题目描述 有一天,我做了个梦,梦见我很荣幸的接到了猪八戒的邀请,到天宫陪他吃酒。我犹豫了。天上一日,人间一年啊!当然,我是个闲人,一年之中也没有多少时日是必须在...

3486
来自专栏吉浦迅科技

DAY48:阅读 Atomic Functions

An atomic function performs a read-modify-write atomic operation on one 32-bit o...

611
来自专栏嵌入式程序猿

如何计算CAN通信波特率

CAN通信波特率的计算是一个难点,要正确计算设置CAN波特率。CAN2.0协议中定义标称位速率为一理想的发送器在没有重新同步的情况下,每秒发送的位数量,也就是我...

3268
来自专栏大数据挖掘DT机器学习

【推荐】分析的前提—数据质量

数据质量(Data Quality)是数据分析结论有效性和准确性的基础也是最重要的前提和保障。数据质量保证(Data Quality Assurance...

2945
来自专栏深度学习自然语言处理

昨天遇到的几个常用函数

英文文本清洗函数 ? 因为电脑只能识别数字,所以得需要固定字符串对应固定id(为什么要固定?因为调整好的参数对应的是最近上次的数据,上次你保存下来,根...

31111
来自专栏美团技术团队

人工智能在线特征系统中的生产调度

前言 在上篇博客《人工智能在线特征系统中的数据存取技术》中,我们围绕着在线特征系统存储与读取这两方面话题,针对具体场景介绍了一些通用技术,此外特征系统还有另一个...

36410
来自专栏大数据文摘

手把手:四色猜想、七桥问题…程序员眼里的图论,了解下?(附大量代码和手绘)

3003
来自专栏贾老师の博客

【笔记】读 JeffDean 分布式系统

1143

扫码关注云+社区