词嵌入

词嵌入

维基百科上关于词嵌入的定义:Word embedding是一组语言模型和自然语言处理中特征学习技术的的总称,词汇中的单词(也可能是短语)被映射到相对于词汇量的大小(“连续空间”)而言低维空间的实数向量。

参考文章:《How to Generate a Good Word Embedding?》导读

  • 语料对词向量的影响比模型的影响要重要得多,语料越纯越好。

参考文章:Deep Learning in NLP (一)词向量和语言模型

  • NLP 中最直观,也是到目前为止最常用的词表示方法是 One-hot Representation,这种方法把每个词表示为一个很长的向量。这个向量的维度是词表大小,其中绝大多数元素为 0,只有一个维度的值为 1,这个维度就代表了当前的词。存在一个重要的问题“词汇鸿沟”现象:任意两个词之间都是孤立的。
  • Deep Learning 中一般用到的词向量是Distributed Representation。最大的贡献就是让相关或者相似的词,在距离上更接近了。
  • C&W的论文主要目的不是生成一份好的词向量,甚至不想训练语言模型,而是要用这份词向量去完成NLP里面的各种任务,比如词性标注、命名实体识别、短语识别、语义角色标注等等。词向量训练方法也有所不同,没有去近似地求 P(wt|w1,w2,,wt1) ,而是直接去尝试近似 P(w1,w2,,wt) 。在实际操作中,并没有去求一个字符串的概率,而是求窗口连续 n 个词的打分 f(wtn+1,,wt1,wt) 。打分 f 越高的说明这句话越是正常的话;打分低的说明这句话不是太合理。C&W 就直接使用 pair-wise 的方法训练词向量。具体的来说,就是最小化: xXwDmax{0,1f(x)+f(x(w))} X 为训练集中的所有连续的 n 元短语, D 是整个字典。第一个求和枚举了训练语料中的所有的 n 元短语,作为正样本。第二个对字典的枚举是构建负样本。 x(w) 是将短语 x 的最中间的那个词,替换成 w f(x) 是对正样本的打分, f(x(w)) 是对负样本的打分。最后希望正样本的打分要比负样本的打分至少高1分。C&W的输出层只有一个节点,表示得分。

参考文献:Deep Learning, NLP, and Representations

  • 词嵌入 W: wordsRn 是一个参数化函数,映射某种语言的词到高维空间(可能是200或500维)。
  • 通常的技巧——在任务A中学习一个好的表达,然后用于任务B——是深度学习工具箱的一个主要技巧。
  • 替代学习表达一种数据的方法用于多种类型任务,可以学习映射多种数据到一个单一表达的方法。如双语词嵌入,用同样的方法训练词嵌入,用额外的属性:意思相近的词彼此靠近来优化。
  • 递归神经网络(Recursive Neural Networks):“the cat sat on the mat”,加括号划分成:”((the cat) (sat (on (the mat))”,对应的递归神经网络:
    词嵌入_第1张图片
    称为递归神经网络是因为:一个模块的输出,到另一个相同类型的模块。也称为树状神经网络。

你可能感兴趣的:(方法模型)