2018-03-03 | Document Semantic | UNLOCK

Semantic correlation calculation

本文是看过某次百度的报告之后整理的相关内容。主要是以搜索场景下未命中词的予以相关性进行分析。

搜索场景下未命中词的语义相关性

  • 强语义关系,A和A是1.0关系,归一化后两个词完全等价,一般通过词干提取、拼写纠错、繁简转化、数字格式化统一
    image.png
  • 弱语义关系,概念类似的同义词,A和A是0.8关系,一般通过构建同义词词库
    image.png

  • 进一步弱化语义关系,只有0.2强度,不要求具有类似的概念,比如X虽然没有出现在Query中,但因为二者都出现了E,所以二者相关性有一定提升,这个一般是基于统计机器翻译模型来实现词语之间这种【爱】的关系。举例1)如果用户Query中有vista,那么如果一个Document中,出现了Windows, download,甚至是free,都会让系统认为这个Document更相关。2)如果用户Query中有titanic,那么如果一个Document中,出现了ship, pictures,甚至是rose,都会让系统认为这个Document更相关。
    image.png

总结,以上三种建模方式本质是相同的,都是对任何一个query中的词,建立一个相关词列表,每个相关词配上一个相关权重,如果document中出现任何一个相关词,都会得到大小不等的正向贡献例如归一化是1.0,同义词是0.8,这种建模方式的弊端是,相关词表不能太大。

在进行语义相关性分析时,除了考虑相关性,也希望能够通过建模词与词之间,短语与词之间这种【爱/恨】的关系,即相关性和不相关性,比如Query中出现[C D E],如果document中出现X时,认为二者更不相关.

  • 利用DNN建模短语与词之间的爱/恨关系,首先Word embedding非常重要,它能够把词映射到一个低维(128维或256维)的稠密向量上。任意两个向量都能计算距离(cosine),而且距离有正有负(对应词之间的『爱/恨』关系).该DNN模型初版结构如下图所示,输入是Query中的Term和Document的Title中的Term,最终输出是对这个Query和Title对的语义相关性预测值。其中 S*|V|的Looking up Table是word embedding层。
    image.png

  • 同时对相关性和不相关性建模,DNN模型的训练是通过同一个Query下有点击和无点击的title构成Pair来进行Pairwise loss的训练的。这样构建训练样本的好处(比如相对DSSM来说),它能够在原有很好的页面相关性的基础上进一步捕获微妙的语义差别,让模型来专注于语义的差别。
    image.png

参考文章

  1. 新智元

评论加载中