Word2vec技术-帮您更好地聆听客户
VoC和MLS是博鼎国际adtarg营销体验管理平台中帮助企业聆听客户和市场反馈的核心产品,要能准确地聆听就离不开语义分析的技术,之前文章中我们介绍过自然语言处理的基础概念和情感分析技术,这期我们说一下Word2vec如何帮助博鼎国际提升语义分析的效率和准确度。
什么是Word2vec?
Word2vec是2013年发布的一种自然语言处理技术。维基百科是这样解释的“该算法使用神经网络模型从大量文本语料库中学习单词关联。一旦经过训练,这样的模型就可以检测同义词或句子中一部分额外的词。”在word2vec中词袋模型假设下,词的顺序是不重要的。训练完成之后,word2vec模型可用来映射每个词到一个向量,可用来表示词对词之间的关系,该向量为神经网络之隐藏层。
您看完的感觉是什么?是不是每个字都认识,就是不知道放一起什么意思?那我现在尝试抛开这些专业的描述和逻辑过程,跟大家解释博鼎国际是如何使用word2vec技术更好地聆听用户。
句子一:“我 想要 吃 橙子”,转化为计算机可理解的语言是【10,20,30,40】,我们编码为a;
句子二:“我 想要 吃 苹果”,对应【10,20,30,60】编码为 b;
句子三:“树上 结 满了 橙子”,对应【70, 80,90,40】编码为c;
根据这种方法计算机可以比较容易地区分出:a和b比较接近,而跟c相差较远。因此,通过对应关系,计算机就知道了句子一和句子二意思相近,跟句子三说的不是一回事儿。
以上例子只是为了形象描述自然语言到计算机编码转换的意思,实际上这样的转换和分析方式有很多种,word2vec是其中的一种。它是Google研究团队里的Tomas Mikolov等人于2013年的《Distributed Representations of Words and Phrases and their Compositionality》以及后续的《Efficient Estimation of Word Representations in Vector Space》两篇文章中提出的一种高效训练词向量的模型,基本出发点和Distributed representation类似:上下文相似的两个词,它们的词向量也应该相似,比如橙子和苹果在句子中可能经常出现在相同的上下文中,因此这两个词的表示向量应该就比较相似。
按照word2vec的编码方式,我们得到一系列样本(x,y),这里x是词语,y是它们的词性,我们要构建f(x)->y的映射,但这里的数学模型f(比如神经网络、SVM)只接受数值型输入,而NLP里的词语,是人类的抽象总结,是符号形式的(比如中文、英文、拉丁文等等),所以需要把他们转换成数值形式,或者说——嵌入到一个数学空间里,这种嵌入方式,就叫词嵌入(word embedding),而 Word2vec,就是词嵌入(word embedding) 的一种。大部分的有监督机器学习模型,都可以归结为:f(x)->y 在 NLP 中,把 x 看作一个句子里的一个词语,y 是这个词语的上下文词语,那么这里的 f,便是 NLP 中经常出现的『语言模型』(language model),这个模型的目的,就是判断 (x,y) 这个样本,是否符合自然语言的法则,更通俗点说就是:词语x和词语y放在一起,是不是人话。虽然基于这个思想,但它的最终目的,不是要把 f 训练得多么完美,而是只关心模型训练完后的副产物——模型参数(这里特指神经网络的权重),并将这些参数,作为输入 x的某种向量化的表示,这个向量便叫做——词向量。
Word2vec的基本思想:句子之中相近的词之间是有联系的,比如今天后面经常出现上午、下午。所以它的基本思想就是用词来预测词,准确地说,word2vec仍然是一种编码方式,将一个个的词编码成向量,但是被编码而成的向量并不是随便生成的,而是能够体现这些单词之间的关系(如相似性等)。Word2vec可以利用连续词袋(CBOW)或跳字模型(skip-gram)两种模型架构中的任何一种来产生单词的分布式表示。在连续词袋结构中,模型从周围环境词的窗口中预测当前词。语境词的顺序并不影响预测(词包假设)。在跳字模型结构中,模型使用当前词来预测周围的语境词窗口。也就是说,跳字模型相当于给你一个词,让你猜前面和后面可能出现什么词。而连续词袋模型相当于一句话中去掉一个词,让你猜这个词是什么。根据作者的说明,CBOW的速度更快,而skip-gram对不经常出现的词做得更好。
上面的介绍可以简单理解为word2vec这个模型定义了一个概率分布,基于这个概率的模型, 计算机可以比较准确的“理解”看起来并不是完全一样但意思差不多的句子。这个技术已经在博鼎国际的VoC和MLS产品中用于电商评论和全网提及客户品牌信息的提炼和理解中,帮助信息专家们归并和整理相关文本信息,从而把更多精力放在信息关联建模和优化策略咨询中,大大提升了客户服务效率。比如我们在某户外品牌客户产品反馈中获得这样一个句子“I really like the blue tent, it is so great for…”,经过word2vec模型, 不论提及什么颜色或者材质的用户评论,系统都可以直接替换近义词和同类型词来准确理解其表达的产品方面,从而实现通过一句话学习理解很多类似的人类自然语言,也就是所有“I ___ like ___ tent, it is ____ for…”, 这样的句子都会被计算机自动归为一类而不必替换每一个颜色词来重新识别, 这样就极大提升了语义分析的效率并且准确度更高。
2.《[NLP] 秒懂词向量Word2vec的本质》,知乎,作者穆文。