system: [SYSTEM]

user: 3. 基于实体依赖建模的检索模型 本节将详细介绍我们提出的基于实体依赖的检索模型。如前文所说，本模型是 [ 1 ] 提出的MRF检索模型的一个扩展，因此我们先简要介绍MRF检索模型，再介绍我们的扩展方法。 3.1. MRF检索模型 马尔可夫随机场是无向图模型，它提供了一种紧凑，稳健的联合分布建模方法。在信息检索领域，常常希望建模查询 Q = q 1 ， q 2 ， ⋯ ， q n 与文档D的联合概率。MRF检索模型假设查询和相关文档组成的<查询，文档>对存在一个潜在分布，也即从这个分布中采样出来的查询和文档都是相关的。MRF检索模型则是建模查询Q和文档D的相关性。 一个马尔可夫随机场是由一个无向图G，以及定义在图G的团(clique)上一系列势函数(potential function)组成。其中图上的节点表示随机变量，边表示变量间的依赖性。一个马尔可夫随机场需要满足马尔可夫性质，即网络中每个节点v都条件独立于其邻居节点给定时的v的任意非邻居节点子集。 给定一个图G，以及势函数 ψ 和参数向量 Λ ，则定义在Q和D上联合概率为： P G ， Λ ( Q ， D ) = 1 Z Λ ∏ c ∈ C ( G ) ψ ( c ; Λ ) 其中 Z Λ 是归一化因子，为了便于计算势函数 ψ 通常取指数函数 exp { λ i f i ( c ) } ， f i ( c ) 则是定义在团c上的是实值特征函数。 对于给定查询Q如何与文档D构建无向概率图，原始检索模型给出了三种方式：完全独立(fully term independency)，序列依赖(sequential term dependency)和完全依赖(full term dependency)。分别对应于查询项之间完全独立，序列依赖，以及完全依赖的情况，如图1： MRF模型的联合概率分布通常基于无向图上的最大团参数化，但用于检索模型时，这样的方式太过粗糙。这里为了在更细粒度的水平上将特征函数与团相关联，同时保持特征的数量，从而保持参数的数量。对于上述定义的三种类型的团，每个定义一种特征函数。 图1. 三种依赖建模方式 3.2. 检索框架 上一节节中我们简要介绍了MRF模型，本模型是在MRF模型的基础上，引入实体信息的一种扩展模型。 原始的MRF模型主要是对查询词的三种不同类型的依赖关系进行建模，即完全独立、序列依赖和完全依赖，分别对应于计算图 〈 Q ， D 〉 上三种不同类型团的特征函数。在本模型中，我们加入一种新的节点类型-查询实体节点 E = { e 1 ， e 2 ， ⋯ } ，并对由 { Q ， D ， E } 构成的概率图G计算联合概率。如图2为加入实体集E后的MRF结构，查询实体E是由多个实体 ( e 1 ， e 2 ， e 3 ， ⋯ ) 组成，由查询经过实体链接技术抽取得到，在这里查询实体和查询词两部分的内部元素间采用相互独立关系。 图2. 包含查询实体的MRF概率无向图 依据MRF原理，对于包含 的概率无向图G，我们类似的定义查询Q、文档D和查询实体E的联合概率为： P G ， Λ ( D ， Q ， E ) = 1 Z Λ ∏ c ∈ C ( G ) ψ ( c ， Λ ) 最终我们使用条件概率 P G ， Λ ( D ， Q ， E ) 作为最后的文档检索得分： P G ， Λ ( D | Q ， E ) = P G ， Λ ( Q ， D ， E ) P G ， Λ ( Q ， E ) ⇒ log P G ， Λ ( Q ， D ， E ) − log P G ， Λ ( Q ， E ) ⇒ ∑ c ∈ C ( G ) log ψ ( c ; Λ ) (1) 在这里我们可以把团分为两个大的部分。第一部分为文档D与查询词Q之间的团集 C w ( G ) ，即满足前文所述的查询词完全独立、序列依赖、完全依赖假设的团集。第二部分为文档D与查询实体之间的团集 C E ( G ) ，这一部分的团集类型以及对应的特征函数将在3.3和3.4节详细说明。相应的，我们将公式简化为如下： P G ， Λ ( D | Q ， E ) = ( 1 − λ E ) ∑ c ∈ C w ( G ) log ψ w ( c ; Λ ) + λ E ∑ c ∈ C E ( G ) log ψ E ( c ; Λ ) (2) 3.3. 实体依赖模型 参考查询词依赖建模的方式，对于查询实体的依赖建模也可以遵循上述不同的依赖假设，即完全独立、序列依赖、完全依赖假设。对应于上述假设，分别定义三种团集，如表1： Table 1 Entity dependency type definitio 团集类型 说明 T E 包含文档节点和一个查询实体节点的团集。 O E 包含文档节点和在查询中出现的多个(两个及以上)连续查询实体的团集。 U E 包含文档节点和在查询中以任意顺序出现的多个(两个及以上)查询实体的团集。 表1. 实体依赖类型定义 对查询实体建模需要考虑到实体的特性，例如每个查询实体本身就是一个完整的语义单元，每个实体可以是单字、双字或者多字短语等。如图3，查询经过实体链接工具标注后得到4个不同实体 e 1 ， e 2 ， e 3 ， e 4 ，虽然在原始查询中它们并不是连续的，但我们认为在实体层面上它们是连续的序列。同样的可以得到文档实体序列。那么依据表1中定义，有 T E = { ( e 1 ， e n 1 ) ， ( e 2 ， e n 2 ) ， ( e 4 ， e n 5 ) } ， O E = { ( e 1 ， e 2 ， e n 1 ， e n 2 ) } ， 为只考虑两个实体时的完全依赖匹配团集。在本模型中我们只使用完全独立和完全依赖假设，而忽略了对于序列依赖关系的建模。下面将结合实例对上述选择进行详细阐述。 图3. 查询和文档实体clique集匹配示例 在科学文献检索领域，除却题名、作者和研究机构等相关字段的简单查找，用户需要根据自己的检索需求提取关键字，然后组合形成最终查询。如查询“基于深度学习的信息检索”。其中“深度学习”和“信息检索”两个概念实体，表述了用户不同的信息需求。直观上，这两个实体在文档中出现次数越高则文档越相关。 T E 集合上计算的正是文档对不同信息需求匹配的程度。然而单纯依赖于 集合上的结果进行排序，会导致检索结果更容易倾向于包含单个高频实体的文档，而不是同时包含多个不同实体的文档。 O E 和 U E 都体现了实体的共现关系，但这里不使用 O E 团集，这是基于以下两个因素的考虑：1) 由于实体本身为一个独立语义单元，实体与实体之间序列依赖关系并不明显，一个常见的例子是对于多关键词罗列的查询，如“CRISPR/Cas9，ZFN，TALEN”，替换关键词之间的顺序，并不影响查询结果。2) 受限于实体识别精度，查询中识别出的实体并不完备，实体间可能有未识别出的实体。 3.4. 特征函数定义 目前为止，我们在由 { D ， Q ， E } 组成的无向图上定义了5种不同的团集，其中T、O和U与原始MRF模型一样，特征函数也相同，这里不再赘述， O E 和 U E 为新增团集。 文献检索场景下，返回的文档(即文献)包含了标题、摘要、关键词、正文等多个字段。我们假设一个文档 d i 有k个不同字段， d i = { d i 1 ， d i 2 ， ⋯ ， d i k } ，那么文档集合就可以被分成k部分： { D 1 ， D 2 ， ⋯ ， D k } 。我们使用混合语言模型(mixture of language model， MLM) [ 13 ] 定义特征函数。 对于 T E 团集上的特征函数 f T E ( D ， E ) ，我们定义： f T E ( e i ， d j ) = log P ( e i | d j ) = log ∑ m = 1 k w m T ⋅ P ( e i | d j m ) 其中 m = 1 ， k → ，k是文档包含的字段的总数目， w m T 是每一个字段对应的权重，概率 P ( e i | d j m ) 表示每个文档字段下实体生成概率，通过极大似然估计得到： P ( e i | d j m ) = n e i ， d j m + u m T n e i ， D m L D m L d j m + u m T n e i ， d j m 表示实体 e i 出现在 d j m 的次数， L d j m 表示文档j字段m的总长度。与 和 定义类似， n e i ， D m 和 L D m 为在文档集合上的定义， u m T 是字段j的狄利克雷平滑因子 [ 14 ] 。 至于 U E 集合上，出于对计算效率的考虑，本文只考虑两个实体的情况，定义特征函数如下： f U E ( e i ， i + 1 ， d j ) = log P ( e i ， e i + 1 | d j ) = log ∑ m = 1 k w m U ⋅ P ( e i ， e i + 1 | d j m ) 对于 P ( e i ， e i + 1 | d j m ) 我们统计两个实体在同一个窗口单元(如同一字段)共现的频次，即： P ( e i ， e i + 1 | d j m ) = n e i ， i + 1 ， d j m + u m n e i ， i + 1 ， D m L D m L d j m + u m 在MRF基础模型中对于每个匹配项，假设具有相同的权重。这样的假设可能对检索性能有潜在的不利影响，特别是对于复杂的冗长查询 [ 15 ] 。对此，我们引入了一个权重项 ，用于度量不同项的重要程度。这里我们参考IDF定义方式，定义权重函数 ： g ( t ) = 1 + log ( N D n t ) 其中t可以是unigram或者bigram， N D 表示文档集合数目， 表示t出现的文档个数。最终特征函数为： f T E ( e i ， d j ) = g ( e i ) ⋅ log ∑ m = 1 k w m T ⋅ P ( e i | d j m ) (3) f U E ( e i ， i + 1 ， d j ) = g ( e i ， e i + 1 ) ⋅ log ∑ m = 1 k w m U ⋅ P ( e i ， e i + 1 | d j m ) (4) 3.5. 实体类型信息 本文关注文献检索领域，依据文献检索的特点将用户的检索查询划分为面向问题和面向方法两种信息需求。为了实现上述检索方式，我们在检索模型中引入实体的类型信息。通过命名实体识别(Named Entity Recognition，简称NER)技术，首先识别出文本中具有特定意义的实体。 本文中涉及的实体类别主要为以下几种类别： · Task (T)：表示与具体应用，最终目标或问题定义相关的科学概念实体。 · Process (P)：表示与某些科学模型，算法或过程相关的科学概念实体。 · Other (O)：表示除上述定义的两种类型实体外，文献中涉及的其它科学概念实体。 本文使用模型CNN-biLSTM-CRF [ 16 ] 进行特定域命名实体识别。如图4为典型的一篇研究文献摘要的实体指称抽取过程。 图4. 特定类型实体抽取示例 biLSTM-CRF模型在进行NER任务时，利用上下文信息，编码了文本的词法和语法信息，因此处理短句子或者不完整文本描述效果并不好，适合于文献标题、摘要、正文等长文本数据的实体识别。对于查询上实体类别信息的识别，本文基于伪相关反馈策略对查询中实体类型进行估计。具体的，首先利用公式(2)计算与用户查询的相关文档，然后基于相关文档，我们定义查询实体类型的概率分布为： P ( t | E ， D ， Q ) ∝ P ( t | D ) P ( D | Q ， E ) ≈ ∑ d i ∈ D R P ( t | d i ) P ( d i | Q ， E ) D R 表示与查询相关的TOP-K的相关文档集合，t表示实体类型， t ∈ { T ， P ， O } 。 然后，我们使用上式对于用户查询实体类型进行估计，得到用户查询类型推断，基于用户查询类型进行再次检索。具体的做法是，我们对公式(3) (4)稍加改变，引入实体的类别信息。本文中采用以下策略，在估计语言模型概率 P ( e i | d j m ) 和 P ( e i ， e i + 1 | d j m ) 时，我们考虑词项的类型匹配信息。对于词项e (即实体、实体对)在 d j m 出现的词频 估计有： n e i ， d j m = ∑ e i ∈ E q ∑ e j ∈ E d m a t c h ( e i ， e j ) m a t c h ( e i ， e j ) = { 1                   t y p e ( e i ) ≠ t y p e ( e j ) ∧ e i = e j 0                                             e i ≠ e j η                 t y p e ( e i ) = t y p e ( e j ) ∧ e i = e j 其中 为超参数，值越大表示实体的类型信息越重要。最后使用公式(2)进行检索，得到满足用户查询需求的文献结果。 如图5，为基于实体依赖建模的MRF检索流程。其主要分为离线和在线部分，离线部分(左)负责文献集合的实体抽取和索引构建。在线部分(右)可以总结为以下流程：1) 用户根据自身潜在信息需求，形成原始查询；2) 原始查询经过实体链接，变成查询以及查询实体，然后将查询以及查询实体送入检索模型，使用公式(2)进行初次检索，得到TOP-K的相关文档；3) 基于相关文档中实体类型，估计查询实体的类型分布，获得用户的查询类型信息。4) 基于查询词、查询实体和实体类型信息再次进行面向问题-方法的细粒度检索。 图5. 基于实体依赖建模的MRF检索流程