最近搞一些 Entity Linking 相关的事情看了看下 yahoo 的这两篇工作和开源的(FEL)[https://github.com/yahoo/FEL]
Fast and Space-Efficient Entity Linking in Queries
ABSTRACT
Entity Linking一般需要在在下游的检索之前完成,typically within milliseconds.
In this paper we propose a probabilistic model that leverages user-generated information on the web to link queries to entities in a knowledge base.
算法的快速和高效主要得益于下面三点:
- 忽略不同实体之间的依赖关系
- 使用 hashing and compression techniques 减少内存占用
- 为了使算法具有上下文知识而不牺牲速度,我们将查询词和实体的分布语义之间的距离考虑到模型中。
INTRODUCTION
Linking free text to entities typically comprises three steps:
- 识别 candidate mentions, i.e., which part(s) of the text to link
- 识别 candidate entities for each mention
- 基于一些背景和一致性的概念来消除候选实体的歧义
MODELING ENTITY LINKING
我们的模型通过锚文本或者用户的点击行为建立了从 entities 和 entities 的别名的连接(本文只考虑维基百科中的锚文本以及维基百科结果上的网络搜索结果中的点击)。
解决的问题:
- 自动分割查询
- 为每个分割选择正确的实体
我们的快速实体链接器(Fast Entity Linker, FEL)通过计算每个分段-实体对的概率分数,然后优化整个查询的分数来解决此问题。不采用任何监督,让模型和数据以无参数方式运行;也可以添加利用标注的训练数据的附加层,增强模型的性能。
Fast Entity Linker
定义符号:
- S × E S\times E S×E:an event space where S S S is the set of all sequences and E E E the set of all entities known to the system.
- s s s:一系列的term
- s ^ \hat{s} s^:一系列的 s s s,分词结果
- e ^ \hat{e} e^:一系列的 e e e,实体集合
- a s a_s as:indicates if s s s is an alias
- a s , e a_{s,e} as,e:$indicates if s s s is an alias pointing (linking/clicked) to e e e.
- c c c: indicates which collection acts as a source of information query log or Wikipedia ( c q c_q cq or c w c_w cw)
- n ( s , c ) n(s, c) n(s,c) is the count of s s s in c c c
- n ( e , c ) n(e, c) n(e,c) is the count of e e e in c c c
令 q q q为输入查询, S q = { t 1 , … , t k } S_q=\{t_1,…,t_k\} Sq={
t1,…,tk}为所有可能的分词集合。 该算法将返回实体 e e e的集合,通过最大化
a r g m a x e ^ ∈ E l o g P ( e ^ ∣ q ) = a r g m a x e ^ ∈ E , s ^ ∈ S q ∑ e ∈ e ^ , s ∈ s ^ ∑ e ∈ e ^ , s