其他序列的数据也是可以这样做的,记得去年KDD上有一篇DeepWalk的文章,在社交网络上进行随机游走生成一组组节点的序列,然后通过word2vec训练每个节点对应的向量。但是我用这个方法在qq的社交网络上面做了一些实验,发现效果非常不理想,可能和qq社交网络的复杂性有关。
我非常满意的一个应用是把word2vec应用在用户app下载序列上,根据用户下载app的顺序,把app看做单词,也是可以形成这样的序列数据,进而训练处每个app对应的向量。利用这个向量计算app之间的相似度,效果非常好,能够把真正内容相关的app聚合在一起,同事规避热门app的影响。类似的场景应该还有很多,而且应用也很广泛,比如说推荐系统、广告系统都可以用上。
作者:orangeprince
链接:https://www.zhihu.com/question/25269336/answer/49188284
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
用这个embeding的思想去做推荐系统,比如电影的推荐?把用户打分的电影投影到embedding space,然后算similarity?
利用用户的行为序列训练item2vec。缺点就是一些meta信息不能加入到训练中去。
举几个我尝试过的。
1. 相似词 我把它比作完型填空
2.词的特征扩充 在term weight 里很有用
3.关系挖掘 看哈工大论文学习的
4.序列点击数据的分析 效果还行
作者:且听风雨
链接:https://www.zhihu.com/question/25269336/answer/45509338
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
举几个我尝试过的。
1. 相似词 我把它比作完型填空
2.词的特征扩充 在term weight 里很有用
3.关系挖掘 看哈工大论文学习的
4.序列点击数据的分析 效果还行
感觉自己是第一个把word2vec应用在电商上的,哈哈。现在感觉很多应用都在使用word2vec。介绍一下自己的工程实践尝试。
1、序列数据不能过长,过长会导致偏移现象,训练的词向量会变差。其实就是用户注意力的问题,用时髦的话说就是attention。现在attention在lstm里混得风生水起。我当时拿到用户log后,先根据session进行数据切割,如果一个session过长,我会进行限制,只允许最大一个长度。尽量保证一个序列的主题(attention)基本一致。这一块还有很多可以优化,session的切分好像也有相关算法。数据没清洗干净,后期也很恼火。
2、淘宝的数据特别多,用户点击数据量特别大,并且商品数也接近10亿,真是让人又爱又恨。10亿的商品如果每个都算200维的话,内存根本撑不住。淘宝的商品id特别长,占用内存多,最开始我对商品进行了重排序节约内存。但是这点优化远远不够,就开始修改源代码,只保存整数,后来发现还是不行,就切换到当时有个很初级的ps版本word2vec(我和xlab的一个同事开发),吭哧吭哧的跑了很久完成。不过效果不如原始的word2vec,有点心灰意冷,后面有其他任务,这方面老大也不是特别上心,没有支持,就停止了这方面的尝试。感觉很是遗憾。
5.相关词挖掘 用在品牌词和品牌相似词挖掘中
品牌词的挖掘也特别有意思。背景是淘宝打击盗版,普通商家不敢在淘宝商品详情里写品牌名。他们会进行品牌词的变种,比如Levi's会变成李家、L家,tommy 会变成汤米、汤家、T家等等来躲避打击。 我先进行文本的 统计分词, 然后用word2vec 进行模型训练、最终把这些盗版品牌找出来了。 当时觉得很有意思,但是没找到相关部门,然后就放弃了。又放弃。。。 不过我利用这些知识,买了些号称原单的商品,最终有原单,也有仿版,吃过亏,趟过坑,导致后面上淘宝眼光越来越毒,买了一些好货。后来海淘流行,我就不玩这个了。
6.句子vector 在gensim 中有代码,论文中效果很好。不过自己测试效果很一般,还不如bayes。。。
7.作为其它如火如荼的cnn rnn rnn-lstm 系列的初始化输入特征
word 2vec 算这里面最好的成果了,模型简单,效率高,易调参。
word2vec 简单说就是一种把词语变成向量表示的方法。对word2vec本身有一些改进版本,比如GloVe (Global Vectors for Word Representation), 类似的这些方法采用的都是浅层模型。word2vec或类似方法目前是NLP,尤其是机器学习相关的热点。有一些有意思的应用:
1. 把word2vec生成的向量直接作为深度神经网络的输入。可以做sentiment analysis, 个人试过用在IMDb的影评数据库上,准确率可以达到90%左右。
2. 可以把学得的word2vec向量和平行学得的图像feature结合,形成一个multi-modal网络,把词语或是句子跟图片匹配。
3. 通过类似nearest neighbor原理,找意思相关的词汇,段落或者文章匹配,推荐排序。
还有很多。。
作者:约翰曰不约
链接:https://www.zhihu.com/question/25269336/answer/90348993
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
1. 找相关词,注意是相关词而不是同义词。例如你输入”雷军”,计算出来的相关词就会有:手机,小米,乔布斯等等。
2. 根据上下文预测句子中缺失的单词
3. 根据不同语种里相同单词的词向量之间的特定关系做机器翻译。
4.由词向量构建句子向量。
也可以做推荐运用,推荐文章、朋友、商品、店铺等等
.名称实体识别也可以使用word2vec,因为word2vec非常擅长在命名实体识别中找出相似性。所有类似的实体都可以聚集在一起,可以获得更好的结果。通过引入医学文本语言和文档类别特征,构建了一个基于深度学习的电子病历命名实体识别系统。识别的实体包括身体部位、症状和体征、疾病和诊断、检查和检验以及治疗5大类。基于模型识别的结果,将其应用在基于共现的临床知识发现中。医学语言特征的引入能够进一步提高基于深度学习的医学实体识别系统的效果,实体识别的结果可以作为电子病历知识发现的基础。
作者:GARRETT
链接:https://www.zhihu.com/question/25269336/answer/612383892
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
word2vec提供了一种计算关联的新思路,通过转化为term向量的方式,可以计算出任何term之间的关联度,同时这种关联能够在一个很快速的时间内被计算出来,这在实际应用中就有很大的价值。
上述的term还可以被替换为其他任何类型的item,比如book2vec、movie2vec、query2vec等等,只要你有足够的上下文语料去做训练,而现实中这种语料是非常多的,比如一个用户看过/买过/评价过的book、movie,用户搜索过的query。。。
作者:耕耘友善
链接:https://www.zhihu.com/question/25269336/answer/123434306
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。