首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

浅谈文本词向量转换的机制

首先感谢大家对上一篇文章的关注吧,建议看这篇文章前先看下上一篇我推送的《20行代码实现电影评论情感分析》,上篇文章其实留了个坑,不过不一定坑到大家,因为可能90%的同学可能不会去认真读一遍代码,或者去跑一下程序。上文说道关于文本词向量转换的embedding相关的内容,其实是没有详细说明的,那这一篇我尝试着去解释一些,说的不对的还望各位大神指正,我也是自学的,没人一起讨论,可能有理解不到位的地方。

其实机器学习算法,无非是矩阵的加减乘除,对于文本string型的数据,必然需要把这类数据转成数值型的向量,才能方便计算。文本转词向量就是起到这样的作用,当然,方法有很多,这里我们提到的机制有点类似于算法word2vector,它会把文本转成带有语意的向量。

什么是带有语意的向量?就拿上一篇推送里出现的tflearn.embedding它起到的作用说起。它其实是通过大量的语句分析挖掘出词语之间的相似度,举个简单的例子,假设有大量的语句中都出现“美女喜欢帅哥”、“美女喜欢好看的男人”,那么算法会挖掘出“帅哥”和“好看的男人”可能是相似的语意,于是可以通过向量表示,以下向量纯属yy,为了举例:

美女=[3,5,7]

帅哥=[5,3,9]

好看的男人=[5.1,2.9,9]

“帅哥”和“好看的男人”会被用距离更近的向量表示起来。另外,向量间的距离也可能会建立联系,比方说“北京”是“中国”的首都,“巴黎”是“法国”的首都,那么向量:|中国|-|北京|=|法国|-|巴黎|

通过embedding函数把所有词向量距离计算出来后,其实每句话就可以通过词向量组装成矩阵,简单的方式是第一行是第一个词向量,第二行是第二个。那么两句话的语意相似度就可以通过简单的矩阵减法计算啦,感谢收看。

上一篇《20行代码实现电影评论情感分析》代码地址,我只放了一点点测试数据,完整的数据大家自己去IMDB下吧:https://github.com/jimenbian/sentiment-analysis

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180312G1A09Y00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券