毒咬

所谓“路径选择”。

轰斧

Some cliches.

Comment on EYRE’18

EYRE’18 就是 “1st International Workshop on EntitY REtrieval (EYRE ’18)”

因为我那天在都灵睡过头了,错过了一些 presentation,所以只谈几个我感兴趣的。

1. Graph Analytical Re-ranking for Entity Search. Takahiro Komamizu

文章和之前评论的内容差不多,我甚至有点怀疑作者是看了我的评论才把这个方法叫做 “Personalized Pagerank based score distribution”。这个方法是否本质有效,不想说了,最近心情不好。

(说点不好听的吧,这其实是我三年前玩过的东西,研究我的 github 项目的人会发现,我的框架里面总有一个 createGraph 模块,就是给这个东西用的。为什么我没写文章讲这件事呢?自己想想吧)

Anyway, consider entities together 是有价值的想法。

2.Annotating Domain-Specific Texts with Babelfy: A Case Study. Michael Färber, Kristian Noullet and Boulos El Asmar

对文章内容不评价。讲一些趣闻:年初我参加 ECIR2018 找 Adam Jatowt 尬聊 NTCIR AKG 的时候看到 Michael 也在旁边,当时还以为他是 Adam 的学生,抢占了他几分钟时间,真是抱歉。。。个人看好这个小帅哥,感觉他是个比较踏实的人。

3.Graph-based Reranking Approach for DBpedia Entity Search. Bo Ma, Yating Yang, Tonghai Jiang, Xi Zhou and Lei Wang

我个人认为,作者提出来的方法本质是借鉴 Discounted Cumulative Gain 的思想来 rerank 所有结果。当然,他在 slides 里面说 “more links, more important”这种解释也还算说得过去,其实和 DCG 的思想是一样的。不过比较讽刺的是这个模型在 QALD2 和 SemSearch 上的结果很差,有点违背了他的解释。

为什么大部分模型都会有 “results are dataset specific” 的情况呢? 不想说了,最近心情不好。

update 2019/03. 最近考虑了一下,感觉更像是从 pagerank 这类基于重要性的模型中得到灵感。NDCG 作为一种评价方式和 pagerank 有一些形式上的相同,这反而让我觉得有些意思。

4.Exploring Summary-Expanded Entity Embeddings for Entity Retrieval. Shahrzad Naseri, John Foley, James Allan and Brendan T. O’Connor

训练了一个 word-entity 的 embedding,embedding 的分数和 FSDM 的分数加权平均。不想说什么。

 

我觉得最不高兴的点就是这些人好像根本没有注意到 term-based retrieval model 的地位。另外好像也没读我的 ECIRICTIR 的文章,更别说引用了。(这并不是说我的文章有多么好或多么重要,而是在你准备做相关的研究的时候至少应该看看最近这个领域的人在谈论什么。)

总的来说这次研讨会的 entity search 部分就像一个大型民科自嗨现场,没有特别有效的进展。不过 Prof. Gong Cheng 花了很多时间尽力让这个会议变得正式和专业,作为开拓者劳苦功高,什么都干不了的小弟在此表示衷心感谢和敬意。期待下次变得更好。

最近在干嘛

之前生活在被别人有意无意限制的社交圈子当中,每每于虚情假意和狡诈中觉得压抑。最近来到广阔的天地呼吸新鲜空气,才明白那些社交毒蛇其实可以一脚轻松踩死。换句话说,做自己的事情真的无须理会别人,刺探和试探也敌不过光明磊落。

CIKM的文章被拒其实是计划中的事情。这篇稿子火力全开,攻击了几个我很讨厌的 entity retrieval 方法论,只想激起一点涟漪。所以最后连 review 都没看。这一年自评对这个领域的微小贡献主要有二:一是强调了 knowledge graph structure 的独特作用,二是尽绵薄之力发了一些简单的论文,试图引起关注,造一个时势。在我觉得势单力孤的时候,正巧碰上了 1st International Workshop on Entity Retrieval (EYRE ’18).

说实话我们对这个新研讨会的背景感到有点疑惑。但是转念一想,既然有人愿意召集同行讨论 entity retrieval 这件事,不管意图如何,都是值得赞赏的事情。所以 I will attend this workshop.

Comment On Recent Progress Of Ad-Hoc Entity Retrieval 2

我写文章的时候只引用那些我已经消化过的论文。我引用新文章的时候比较谨慎,因为没时间去了解具体的内容。暌违一年,重新在 google scholar 上浏览了一下最近都有哪些新东西。

Comment On Recent Progress Of Ad-Hoc Entity Retrieval 1 在这里: https://lxsay.com/archives/591

Exploiting Entity Linking in Queries for Entity Retrieval

(ICTIR 2016. Faegheh Hasibi, Krisztian Balog, Svein Erik Bratsberg)

这篇文章把语义标注 (semantic annotation) 整合进了 Markov Random Field 这个框架内,简单的来说就是统计语义标注 在 pseudo document 中的频率,然后通过一个平滑函数 (smoothing based feature function) 来刻画 semantic annotation 的分数。

但我觉得这篇文章更重要的在于它暗示了 Knowledge-based Question Answering 和 entity search 的联系。 这个模型在 Fielded Sequential Dependence Model 的基础上使用了一个称为 “Selective Top Fields” 的技巧:给定一个 query,模型首先会通过计算 query term 的 mapping based probabilities across the whole collection 然后选择分数最高的top-k fields计算 query 和 entity profile 之间的分数。这其实是 graph-based question answering 的方法:给定一个问题,Knowledge graph 中每个关系的权值定义为该问题和该关系的语义相似度,最后选择一条权值最优的路径输出作为答案。 这篇文章提出的模型可以看成是能处理 1-hop 关系的 retrieval-based question answering model.

Ranking Entities for Web Queries Through Text and Knowledge

(CIKM 2015. Michael Schuhmacher, Laura Dietz, Simone Paolo Ponzetto)

当信息检索的研究者说他们对 “knowledge graph” 感兴趣的时候,他们所指的 “knowledge graph” 其实是以下三种的组合:

  1. Knowledge graph = Freebase
  2. Knowledge graph = Freebase or DBpedia or Yago or …
  3. Knowledge graph = Wikipedia

这篇文章考虑的是第2种和第3种的组合,使用基于 learning to rank 的方法。特征主要分成 query-mention features, query-entity features, entity-entity features 还有 knowledge base retrieval. 这个框架既考虑了 knowledge graph 的结构(比如考虑 entity mention 到 candidate entity 的路径),也考虑了文本的内容,水准不俗。比较可惜的是这些特征只停留在“统计个数”这样的层面,没有进一步地理解查询的语义(比如说查询“面积最大的国家”就需要理解“最大”的概念,很多 question answering 的模型都可以做到这点)。这篇文章的引用次数不是很多,没有得到应有的关注,个人觉得很可惜。

Michael Schuhmacher 是少数几位懂得运用 Knowledge graph structure 帮助提升 information retrieval performance 的研究者。其他人也有尝试,但我觉得都只能算是浅尝辄止,顾左右而言他。能够把 Graph Algorithm 和 IR 结合得这么好的人屈指可数(中国大陆的 Gong Cheng 也是一位善于使用图论方法的研究者,但是现在这方面的文章比较少,还看不出成熟的思路)。这也显示出德国人在方法论上面深受欧陆古典哲学的影响:重视整体和理性。第二作者的加入弥补了这篇文章过于注重结构忽视文本信息的弱点。

“Exploiting Entity Linking in Queries for Entity Retrieval” 的作者认为这篇文章的结论 “somewhat inconclusive”。我觉得情有可原,因为 2015 年的时候 entity search 的 benchmark dataset 还比较少。说实话这个模型很值得在现在的数据集上复现。

Intent-Aware Semantic Query Annotation

(SIGIR 2017. Rafael Glater,  Rodrygo L. T. Santos and Nivio Ziviani)

基于 learning to rank 的方法。测试数据用的是 DBpedia-Entity v1,因为 sigir 2017 那个时候 v2 还没有发布。这篇文章比 “an empirical study of learning to rank for entity search” 好的地方在于考虑了语义标注的信息 (semantic annotations),简单的说就是统计了 query 和 entity profile 里面出现了多少 knowledge graph 里面的 type 和 relation 的信息,然后当成特征输入 learning to rank 的框架。本质上还是 term-based (word as a term / semantic annotation as a term) 的语言模型方法,对复杂的查询无能为力。但是我觉得这个框架的设计不错,有启发。作者没有开源,本人准备自己实现一个当作以后的 baseline 。

最后想说下(和这篇文章无关), learning to rank 虽然是实证有效的方法,但也分好坏。好的 letor 框架能够精细的处理输入,让整体锦上添花;坏的 letor 框架缺乏对具体问题的洞察(insight),堆砌特征,好像是在指挥一堆垃圾为它们自己建一个垃圾厂。

Interpreting Fine-Grained Categories from Natural Language Queries of Entity Search

(DASFAA 2018. Denghao Ma,  Yueguo Chen, Xiaoyong Du, Yuanzhe Hao)

这篇文章的框架和 “Improving Context and Category Matching for Entity Search” (Yueguo Chen et. al. ) 里面提出的没什么区别,但是用到的语言模型感觉受到了 “Query modeling for entity search based on terms, categories, and examples” 这篇文章的影响。其次更新了一些处理 Wikipedia Category Tree 的细节,定义了一些新的特征。另外在新的数据集上面更新了一下结果。

Leveraging Fine-Grained Wikipedia Categories for Entity Search

(WWW 2018. Denghao Ma, Yueguo Chen, Kevin Chang and Xiaoyong Du)

这篇文章的框架和 “Improving Context and Category Matching for Entity Search” (Yueguo Chen et. al. ) 里面提出的没什么区别,但是用到的语言模型感觉受到了 “Query modeling for entity search based on terms, categories, and examples” 这篇文章的影响。其次更新了一些处理 Wikipedia Category Tree 的细节,定义了一些新的特征。另外在新的数据集上面更新了一下结果。  (灌水小能手:)

可能是受到了自己导师的影响,这篇文章的作者还是主要在 INEX 2009 之类比较老的数据集上面进行测试。如果能转到 DBpedia-Entity v2 上就更好了(不过这样的话需要和 “On Type-Aware Entity Retrieval” 正面比较,感觉比较悬)。

中国人民大学的这个研究小组这几年对 entity search 问题有独到的贡献,比如用提取维基百科的分类标签(category)的关键词和描述词,并把它们按照自己偏序重新组合成 category tree。但我还是感觉他们使用的方法过于复杂,虽然目前在他们的文章里表现不错,但如果换一个测试数据集的话,很难做出针对性的调整。换句话说,工巧但是略欠“大局观”。BM25 和 sequential dependence model 广受欢迎不是因为它们总能够达到最好的结果,而是设计足够鲁棒,足够简单。在不同的问题上都可以做出针对性的调整。

RWRDoc: Random Walk with Restart based Entity Documentation

(ESWC 2018. Takahiro Komamizu)

这篇文章提出了一种新的表示 Entity profile 的方式。每个 entity 的文本都可以表示成一个 bag-of-words vector 或者 TF-IDF vector,考虑到 entity 在 knowledge graph 中与其他 entity 相连,所以它们的文本应该会有一些相关性,于是作者认为每个 entity 的向量表示都是自身与相关 entity 的向量的线性加权和。我认为,作者把这个建模为随机游走是因为如果想要求解这个大型线性方程的话必须假定这样的表示法能够收敛。这种思想来源于 relevance propagation/page rank 这些传统的方法论,不同的是这篇文章传递的是 entity 的 bag-of-words vector 而不是 relevance score。

另外,这篇文章上所有 baseline 的结果都是从 DBpedia-Entity v2 的发布论文里面复制过来的。这其实提出了一个问题:每个人的建的 index 质量都不一样,于是 baseline 的结果也变得有好有坏。这个领域是否需要一个公开的 standard index 让研究者可以比较不同的方法呢?

Entity Retrieval in the Knowledge Graph with Hierarchical Entity Type and Content

Full Text at ACM Digital Library: https://dl.acm.org/citation.cfm?id=3234963

github: https://github.com/linxinshi/EntityRetrievalPAS

我的文章 “Entity Retrieval in the Knowledge Graph with Hierarchical Entity Type and Content” 被 ICTIR 2018 这个会议接收了。

这是我的 “entity retrieval trilogy” 的第二篇。相比第一篇,这篇文章把之前的方法扩展到 Markov Random Field 上,使得 sequential dependence model 也可以使用结构平滑。另外把维基百科的文章解析成一个树状的形式,仍然使用结构平滑来计算查询和文章的相关程度(考虑一个从根到叶子的路径,最后的结果比整篇文章用 bag of words 表示的结果要好,这其实说明文本中有相当多的信息都被传统的语言模型忽略掉了)。这种推广并不是很难,但这篇文章是想强调在不同的结构化信息来源中信息检索模型可以通过以路径为中心的统一框架来寻找答案。“路径”的概念被推广到一个单纯的序列,序列中的相邻元素不一定是在具体的结构(比如 knowledge graph/type taxonomy)中相连的。只要使用者认为把它们组合在一起是有意义的,就可以使用结构平滑。另外结构平滑还可以用在其他更复杂的模型当中。

这篇文章还有一个细节是我把 BM25F 拿来当 baseline。之前这个模型在 dbpedia-entity v2 上取得了最好的成绩,导致这个领域的同行有一段时间意志消沉,觉得之前提出的模型都成了废柴。本人这次把它的固定参数版本单独拎出来吊打了一遍又一遍,to vent for my peer researchers。。。(原来使用的是 coordinate ascent 来学习参数,但是仍然和我的模型有差距)

最后感谢我们家 Sam 的劳动,各位 reviewer 还有 chair Grace & Fabrizio。

Recent thoughts on entity retrieval

This area needs more publications to demonstrate its essence and boundary. I am tired of being asked “what is the difference between ad-hoc entity retrieval and (knowledge based) question answering ?” or “Is what you have done similar to Siri that can answer users’ questions ?”

I emphasized the term “structure-aware” in my previous papers on entity retrieval. From my perspective, a typical entity retrieval framework shall degenerate into a document retrieval model if it has no structure to utilize.

The research on entity retrieval is, to some extent, the research on document retrieval in the context of a certain kind of knowledge structure  (e.g. knowledge graph, rdf, wikipedia articles …).

Entity Retrieval via Type Taxonomy Aware Smoothing

Github: https://github.com/linxinshi/EntityRetrievalTAS

我的文章 “Entity Retrieval via Type Taxonomy Aware Smoothing”  被 ECIR 2018 这个会接受了

这算是我的第一篇正式的比较有意义的论文。之前几个月因为参加相关比赛的原因,投了 NTCIR 13 和 TREC 两个会议,但是比赛文章毕竟档次要低一些。我参加的两个比赛最后都以只有我一个人参赛不战而胜告终(然后组织者只好请我去演讲)。。。可见目前实体相关领域的研究比较冷清

Ad-hoc Entity Retrieval 可以看作是文档检索任务在结构化数据上的发展。 实体(entity) 就是客观世界存在的物体。目前的知识数据库(比如 DBpedia, Freebase)通常用 主语-谓语-宾语 (Subject-Predicate-Object, SPO triple)这样的三元组来描述实体(比如说 Virginia-isPartOf-UnitedStates)。中间的谓语通常叫作关系(relation),每个数据库都有自己的一套固定的谓语。 Ad-hoc Entity Retrieval 任务的输入是用户的查询,输出就是数据库里面的实体。 比如问“中国首都”,系统返回“北京”这个实体以及它的所有在数据库里面的信息。

很多文档检索的方法也可以用在实体检索任务上。这篇文章主要的创新点是让语言模型(Language Model)里面的狄利克雷平滑(Dirichlet Smoothing)可以在分类系统上(比如维基百科的标签系统)找到更多的和查询有关的信息,从而帮助返回更精确的结果。

坦白说这篇文章的结果不好。虽然 mlm-tc 那两列的提升很吓人,但我觉得主要是因为 mlm 本身能力有限并且每个域的权值是固定的,没有调整。最后不需要在会上演讲,只是展示海报

投稿的时候没时间做更多的实验(比如说推广到 Sequential Dependence Model 上面,这些都写到下一篇文章了)。不过我的目的只是想抛砖引玉,让信息检索这个领域的研究者可以重新审视语料库的结构对检索结果的影响,而不是天天想着用神经网络拟合文档的词的分布或者搞一些乱七八糟的 embedding 模型。所以个人觉得还是达到了我想要的效果。另外也想用这篇文章致敬信息检索大师、语言平滑的专家 Chengxiang Zhai…..

最后感谢各位大佬评审…….虽然看不到名字,但是从评论内容就可以猜出是谁,因为这个领域人很少…….小弟以后会多引用各位大佬的大作的……..请多关照…………

Comment on recent progress of ad-hoc entity retrieval

1.An Empirical Study of Learning to Rank for Entity Search (Jing Chen, Chenyan Xiong, Jamie Callan)

这篇文章用 learning to rank 的方法,把之前一些表现比较好的模型的分数拿出来学习权重,然后返回新的混合的分数。

说实话,这篇文章让我挺失望的。这种基于 LTR 的办法纯属是下三滥的鸡肋套路,对本领域的研究几乎没有任何帮助(Empirical 也要讲道理啊!!拿分数当特征,真的不知道意义何在,而且很多模型其实都是基于类似的语言模型,很有过拟合的嫌疑,最后模型完全变成调参数的框架),因为我们可以随便编造出一堆简单的检索模型(比如对每个域都指派一个不同参数的 Language Model 构造的检索模型),然后用 LTR 以后照样可以提高性能,但是这样的性能提升是有限度的。当然,我也非常理解,因为这几位作者和 Learning to rank 的研究者圈子关系密切,所以用这样的方法论思考是很自然的事情。

这篇文章用的是 Balog 的 DBpedia 测试数据集的第一版,质量比较差。 之后在第二版数据 (DBpedia-Entity v2: A Test Collection for Entity Search)里面,这个方法一下就被打回原形了,和一些当前比较好的方法相比没有明显的提高甚至有所下降。

不知道第一作者是不是急着要文章毕业。假如我文章不够不能毕业,我也不会发这种文章凑数。。。

虽然不待见这篇文章,但是考虑到这个领域的文章实在太少,所以能投出去其实也算个好事,毕竟众人拾柴火焰高

2.Entity Search Based on the Representation Learning Model With Different Embedding Strategies  (Shijia E, Yang Xiang)

首先第一作者鄂世嘉的姓挺少见的,看样子似乎是满族,也有可能是汉族鄂氏(我总感觉每个满族人都是以前的皇族(爱新觉罗???)。。。。小的给贝勒爷请安了)。

这篇文章其实应该归类到知识库问答 (Knowledge Based Question Answering)这类文章中,因为 ad hoc entity search 主要还是发展传统信息检索在新的结构化数据上的方法论,KBQA 则是各种奇技淫巧崭新方法的竞技场。 这篇文章用的是 KBQA 里面比较常见的方法(其实就是 Facebook 之前一篇文章里面的方法。。。),学习查询和实体的表示,然后计算他们的相似度。

这篇文章方法并没有很大的突破,所以拉低了它的档次。文章的实验部分比较可疑(按照 ad-hoc entity retrieval 这个领域的标准来看),只用了 ListSearch 和 INEX-LD 两个数据集,按道理应该用上全部四个数据集, 不知道是否是因为结果不佳还是时间不够还是作者“觉得”这两个已经足够有代表性。  这篇文章用的也是 Balog 第一版的数据,如果换上新的测试数据集可能会被打回原形。

这个领域的数据集的标注数据特别少,一般只有几百条,并且有一定的数据集依赖性(比如说 INEX-LD 里面都是关键词组成的查询, QALD2 里面都是符合文法的正规查询,如果打乱这些不同“风格”的查询组成新的测试数据集,很可能会影响模型的性能)。所以深度学习是否能真的学到什么,个人持怀疑态度。

这篇文章还是有一定的价值,起码指了一条新路。博主的评论风格一般比较狂暴,所以看上去好像我全盘否定了这篇文章,但其实不是,因为我知道 IR 的研究工作量是其他领域的十倍以上,像我这样慢手慢脚的猪仔真的很难生存。。。。。

我觉得大部分的文章都没有理解 entity search 和 traditional information retrieval 的区别在哪里,所以导致方法论有偏差,一味想去拟合文本中词的分布。 其实照这个思路发展下去,总有一天会出现这样的文章:我们只要给每个词一个权重,然后找一台超级计算机疯狂运算几个月拟合结果,出来的结果一定是 state of the art 。。。。。