fasttext-advance版本

该方法的优化点是将位置信息添加到word2vec的计算中。

word2vec有两种实现方式,一种是cbow,基于context(上下文S词)预测中心词,另一种是skipgram,基于中心词预测上下文。 主要的优化方向是cbow.

1. 标准的cbow的实现

有两种实现模式:

1)基于公式\sum_{T}^tlogp(w_{t}|c_{t}),其中c_{t}代表句向量,在fasttext中的求法就是w的简单均值。

2)考虑到随机选取一部分非中心词当做错误集合,将错误集合的预测结果和中心词的预测当成两类,加入loss函数,那么loss函数的公式可以写为:

\sum_{T}^tlog(1+e^{-s(w,c)})+ \sum_{w_{c}\in N_{c}}log(1+e^{s(w,c)})

其中:s(w,C)=\frac{1}{|C|} \sum_{w_{i}\in C}C_{i}w_{i}^T

2. 基于位置的cbow

该方案中,基于位置的考虑非常简单容易实现,计算成本低。

对于每个需要预测的词w, 建立一个基于距离P的文本窗口,w是通过该文本窗口中的词预测出来。

v_{c} = \sum_{p\in P}d_{p}\odot w_{t+p}

也就是说,将原有标准cbow实现中的文本向量是w的平均,改成基于位置权重的词向量叠加。

三. 效果:

论文中,对比了cbow, cbow+phrase(ngream),cbow+phrase+weight(本方案)方法在

common crawel数据集的结果如下:


可以看出,本方案取得了较优的提升。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 前面的文章主要从理论的角度介绍了自然语言人机对话系统所可能涉及到的多个领域的经典模型和基础知识。这篇文章,甚至之后...
    我偏笑_NSNirvana阅读 14,807评论 2 64
  • 主要内容 自然语言输入编码 前馈网络 卷积网络 循环网络(recurrent networks ) 递归网络(re...
    JackHorse阅读 9,834评论 0 2
  • 目前词向量主要用的技术 word2vec fasttext glove 1 one-host编码 one-hot编...
    georgeguo阅读 7,134评论 0 2
  • 1. 导入   这是语言表示系列的第1篇,主要讲述了分布式表示里的Word2vec方法。该系列目前暂定有4篇语言的...
    brucep3阅读 8,512评论 0 5
  • 看到网上有人问了一个问题: 在同一个目录下,有两个 Python 文件 [A.py] from B import ...
    超net阅读 4,897评论 0 2

友情链接更多精彩内容