如何使用word2vec批处理多个文本
astText简而言之,就是把文档中所有词通过lookup table变成向量,取平均后直接用线性分类器得到分类结果。
fastText和ACL-15上的deep averaging network [1] (DAN,如下图)非常相似,区别就是去掉了中间的隐层。
两篇文章的结论也比较类似,也是指出对一些简单的分类任务,没有必要使用太复杂的网络结构就可以取得差不多的结果。
文中实验选取的都是对句子词序不是很敏感的数据集,所以得到文中的实验结果完全不奇怪。
但是比如对下面的三个例子来说:The movie is not very good , but i still like it . [2]The movie is very good , but i still do not like it .I do not like it , but the movie is still very good .其中第1、3句整体极性是positive,但第2句整体极性就是negative。
如果只是通过简单的取平均来作为sentence representation进行分类的话,可能就会很难学出词序对句子语义的影响。
从另一个角度来说,fastText可以看作是用window-size=1 + average pooling的CNN [3]对句子进行建模。
总结一下:对简单的任务来说,用简单的网络结构进行处理基本就够了,但是对比较复杂的任务,还是依然需要更复杂的网络结构来学习sentence representation的。
另外,fastText文中还提到的两个tricks分别是:hierarchical softmax类别数较多时,通过构建一个霍夫曼编码树来加速softmax layer的计算,和之前word2vec中的trick相同
word2vec能直接输出词向量矩阵吗?
:将one-hot向量转换成低维词向量的这一层(虽然大家都不称之为一层,但在我看来就是一层),因为word2vec的输入是one-hot。
one-hot可看成是1*N(N是词总数)的矩阵,与这个系数矩阵(N*M, M是word2vec词向量维数)相乘之后就可以得到1*M的向量,这个向量就是这个词对应的词向量了。
那么对于那个N*M的矩阵,每一行就对应了每个单词的词向量。
接下来就是进入神经网络,然后通过训练不断更新这个矩阵。
word2vec能直接输出词向量矩阵吗?
展开全部 :将one-hot向量转换成低维词向量的这一层(虽然大家都不称之为一层,但在我看来就是一层),因为word2vec的输入是one-hot。
one-hot可看成是1*N(N是词总数)的矩阵,与这个系数矩阵(N*M, M是word2vec词向量维数)相乘之后就可以得到1*M的向量,这个向量就是这个词对应的词向量了。
那么对于那个N*M的矩阵,每一行就对应了每个单词的词向量。
接下来就是进入神经网络,然后通过训练不断更新这个矩阵。
...
如何使用word2vec批处理多个文本
展开全部 最近刚刚接触word2vec这个工具,想做一些近义词判定的工作,在得到一组词向量后不太明白如何去评价词向量的好坏。
工具中有一个compute-accuracy,是用一些给定的文本去计算accuracy,不知道这个accuracy是指什么,以及如何给定文本来计算accuracy。
...
我想要做一个语音智能客服,可以在语音识别的过程中直接采用Word2...
展开全部当然是可以的,因为有前车之鉴,目前市面上的各种电话机器人,就已经在采用这样的手法了,不论是卖保险还是卖房,亦或是做客服,智能语音电话机器人在后台都可以将语音转换为文字,这样以备与管理层管理和检查通话内容以及质量,也有助于销售去根据通话内容评定意向客户的需求方向,所以,用Word2vec将与语音转换为词向量是可以实现的!...
转载请注明出处51数据库 » word2vec nodejs