文本表示(五)短语的分布式表示

短语的分布式表示

短语的分布式表示学习方法分为两种:一是视短语为不可分割的独立语义单位,然后基于分布式假说学习短语的语义向量表示;二是认为短语的语义由词组合而成,关键是学习词和词之间的语义组合方式。

因为短语出现的频率很低,所以如果将短语视为一个不可分割的独立语义单位,那么将没有足够频率的语料来训练短语向量,所以第一种方式就不可行了。基于组合语义的短语表示学习是一种更加合理的方法。

基于词袋的分布式表示

给定一个由i个词组成的短语 p h i = w 1 w 2 . . . w n ph_i=w_1w_2...w_n phi=w1w2...wn,利用词袋的分布式表示为,对这个短语中的词向量进行平均或者对词向量的每一维取最大值等方式来进行表示:

  • p h i = 1 i ∑ k = 1 i e ( w k ) ph_i= \frac{1}{i}\sum^i_{k=1}{e(w_k)} phi=i1k=1ie(wk)
  • p h i = m a x k = 1 i ( e ( w 1 ) k , e ( w 2 ) k , . . . , e ( w n ) k ) ph_i=max^i_{k=1}(e(w_1)_k,e(w_2)_k,...,e(w_n)_k) phi=maxk=1i(e(w1)k,e(w2)k,...,e(wn)k)

不过这种方法有两个缺点:没有考虑到短语中不同的词对短语的影响权重,也没有考虑到词序对短语语义的影响。

针对第一种缺点,可以类似字词混合时那样,对词向量平均的基础上增加词的权重信息:

  • p h i = 1 i ∑ k = 1 i v k ⋅ e ( w k ) ph_i= \frac{1}{i}\sum^i_{k=1}{v_k·e(w_k)} phi=i1k=1ivke(wk)
  • 其中 v k v_k vk可以是词 w k w_k wk的tf-idf值也可以是字词混合的门限机制。

针对于没有对词序的关注,所以有了接下来的自动编码机方法。

基于自动编码机的分布式表示

因为在很多情况下词语词序的不同语义会完全不同,所以短语的分布式语义表示学习需要对词语的顺序进行有效的建模。所以接下来的方法就是解决词序问题的。

递归自动编码机(recursive auto encoder,RAE):以递归的方式自底向上不断的合并两个子节点的向量表示,直到获得短语的向量表示。

你可能感兴趣的:(文本表示)