美文网首页
Learning to Match using Local an

Learning to Match using Local an

作者: 吹洞箫饮酒杏花下 | 来源:发表于2018-08-17 15:28 被阅读0次

    已知深层神经网络模型受益于大的训练数据,在可获得大规模训练语料库的领域获得最先进的性能。由于学习文本的有效表示所必需的大量训练数据的公共可用性很少,因此在自组织检索中神经模型缺乏积极的结果。在Session6中,将分析训练数据对这些DNN模型性能的影响。特别是,我们发现,在存在更多数据的情况下,分布式模型的性能显著提高。与以前一些工作不同,以前以随机抽样文档作为反面例子来训练点击率数据,我们在人类判断的标签上训练我们的模型。每个查询的候选集都由商业搜索引擎Bing检索到的文档组成,然后由多个评委标记。我们发现,使用人工标注的doc作为负例,与随机抽取doc作为负例,更有效。

    2. 文献排序的必要性

    1)首先,query和doc之间的exact term matches(精确词匹配)是所有信息检索模型的基础。传统的IR模型(例如BM25  )是基于文档文本中查询项的精确匹配计数。它们可以在最少(或不需要)训练数据的情况下使用,有时直接用于新任务或语料库。当查询项是新的或罕见的时,精确匹配也特别重要。例如,如果在Web上出现具有电视型号“sc32mn 17”的新文档,则BM25可以立即检索精确地包含该型号的这些页面,而无需调整排名模型的任何参数。当查询中包含在模型所训练的数据中很少出现或没有出现的项时,一个好的排序模型需要利用精确匹配来可靠地执行查询。

    2)第二,query在doc中的匹配位置不仅反映文档的潜在相关部分所在位置(例如标题、第一段、结束段落),而且还反映各个查询项匹配彼此的聚类程度。

    3)最后,查询和文档之间的不精确项匹配是指用于解决词汇不匹配问题的技术。

    在实践中,最有效的IR方法利用这些技术的组合。依赖模型结合了精确匹配和邻近。基于LDA的文档模型结合了精确匹配和不精确匹配。查询超图捕获这三个方面。我们的方法也结合了这些技术,但是与先前的工作不同,在单个深层神经网络结构中联合学习不同部件的所有自由参数。

    DUTE ARTITECTURE

    分布式模型在匹配之前将查询和文档文本投影到嵌入空间中,而本地模型在交互矩阵上操作,将每个查询项与每个文档项进行比较。最终得分是来自本地和分布式网络的得分之和。

    我们固定所有查询和文档的输入长度,仅考虑查询中的前10个术语和文档中的前1000个术语。如果查询或文档短于这些目标维度,则输入向量用0填充。文档正文文本到前1000个术语的截断仅针对我们的模型及其变体执行,而不针对baseline模型执行。对于所有的神经基线模型和非神经基线模型,我们考虑全文本。

    Q=[q1,q2,,,,]  D=[d1,d2,,,,,]  query、doc的每个term q/d 都是m*1 的向量。

    query 中term数: nq  ;  doc中term数: nd

     Local Model

    Local Model 基于query term 在 doc 中的精准匹配来衡量doc相关性。每个term表达为one-hot 的向量(m维,m为词典大小)。然后,模型生成X,获取query term在doc中的每个精确匹配(和位置)。但是X不保留term本身的信息。因此,Local Model 不能从训练语料中学习term的特定属性,也不能对不同term之间的交互进行建模。

    X首先经过卷积层,有c个过滤器,核大小为nd*1 (doc 的term数),跨距为1.

    X上的第i个卷积窗的输出

    Zi,是 qi与doc中的所有term进行匹配的函数的输出。Xi是X的第i行。W (nd*c矩阵)是卷积层要学习的参数。Z维度为c*nq。我们使用300的过滤器大小( c )。卷积层的输出然后通过两个全连接层、drop-out层、最终的全连接层,得到一个单个的实数值。Local Model 中的所有节点都使用ttan 进行非线性处理。

    Distributed Model

    Distributed Model学习query和doc文本的稠密低维向量表示,然后计算它们在嵌入空间中的位置相似性。不同于Local Model中对term进行one-hot编码,Distributed Model 用了基于n-graph 对每个term进行表示。本文中的n-graph 是基于trigraph 编码,不同的是。。。。对于每个term,对所有 1<=n< =G 的n-graphs 计数。然后用n-graph 频率矢量来表达这个term(长度md)。

    不直接计算矩阵Q(md*nq)和矩阵D(md*nd)的交互,对这种基于字符的输入,首先学习一系列的非线性转换。对于查询和文档,第一步是卷积。md*3 的 卷积窗,300的滤波器尺寸。它将3个连续term投影到一个300维向量,然后跨1个位置,投影接下来的3个term,依此类推。对于查询,卷积层生成维数为300×8的张量。对于文档,它生成维度300*998。

    接下来,是max-pooling 层。对于query ,池化层的核维数为1*8。对于doc,维数为1*100。因此,对于query,得到300*1 的矩阵~Q。对于doc,得到300*899的矩阵~D。~ D可以被解释为899个独立的嵌入,每个嵌入对应于文档内不同的相等大小的文本跨度。我们选择基于窗口的最大池策略,而不是CDSSM 采用的全局最大池策略,是因为基于窗口的方法允许模型区分文档不同部分中的匹配项。当处理长文档,尤其是包含许多不同主题的混合文档时,知道匹配位置的模型可能更适合。

    query的最大池化层的输出通过全连接层。对于doc,300*899的维度矩阵输出 ,由另一卷积层运算(filter size为300、kernel size 为300*1、stride为1)。这些卷积层和最大池层的组合使得分布式模型能够学习文本的适当表示,以实现有效的不精确匹配。

    为了进行匹配,我们对 embedded doc和query 进行element-wise or Hadamard product。然后,我们将此矩阵通过完连接层和dropout层,直到得到一个分数。与局部模型一样,本文采用tan进行非线性分析。

    最优化

    每个训练样本包含一个query Q,一个相关的doc D* ,和一系列不相关的doc。给定一个query,用softmax函数计算D*的后验概率。目标:最大化对数似然函数  方法:SGD

    实现:1)duet Model vs Local Model 和 duet Model vs Distributed Model   2 )  duet Model vs baseline 3 ) 随机负例 vs 标注负例

    训练集:199,753 实例。query来自于Bing 一段时间内的随机采样。人工判断doc到5 个等级。doc 的body text 从Bing索引中获取。所有query、doc文本都通过转换小写和删除所有非字母-数字字符进行规范化。

    我们考虑了两个不同的测试集,都是从Bing搜索日志中采样的。加权集包括按其在搜索日志中的频率采样的查询。因此,频繁查询很好地表示在该数据集中。未加权集由查询组成从唯一查询的整个总体中均匀采样。

    因为我们所有的数据集都是从实际查询中采样得到的,且查询自然会有重复,因此训练集和测试集之间的查询有一些重叠。具体而言,加权集中14 %的测试查询发生在训练集中,而未加权集中只有0.04 %的测试查询发生在训练集中。我们为那些可能处于重复查询环境中的人(这在生产搜索引擎中是常见的)和那些可能对冷启动情况或尾部查询更感兴趣的人提供两种结果。

    训练

    相关文章

      网友评论

          本文标题:Learning to Match using Local an

          本文链接:https://www.haomeiwen.com/subject/qdyyjftx.html