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。

对微博美食博主的分析

免责声明:因为资料来源有限而且可能有错漏,本文内容仅供参考。若要引用请自行修正,本人不对由此产生的任何社会影响负责。

微博上有很多饮食自媒体人出没,三教九流。这里讨论的“微博美食博主”是指那些经常放出做菜教程的博主。比如几年前比较火的“薄灰”、到现在打出名气的“美食家大雄”、“厨男王一刀”、“李子柒”等等。(顺便说一下,除了“薄灰”以外,以上提到的这几个账号好像都和一个叫“鲜城”的饮食自媒体营销号关系密切,所以某种意义上说这些人更像是“厨艺演员”而不是那种一边持家一边直播日常生活的普通人。)

这些美食博主的工作流大概有三个阶段:

第一阶段主要是每周按时放出一些比较热门的家常菜的教程,这个阶段博主一般会展示自己作为“厨艺素人”不断成长的状态,以便拉近自己和观众的距离,获得好感。

第二阶段主要是巩固自己的粉丝群体,并且开始针对特定人群推出一些专题性的内容,比如“留学生做菜系列”、“学生早餐系列”之类。接着流量增大的机会,也会开始推销一些自己的产品,比如厨具之类的。一般博主会宣称这类东西是好朋友推出来的工厂尾货或者瑕疵品,现在低价甩卖。其实随便在淘宝上比较一下同类产品就能发现这些东西并不能便宜多少,而且售后是一个很大的问题。大概就是省下了售后的钱。

第三阶段主要是著书立说、开淘宝店或者开始办一些访谈类节目提升自己的形象。淘宝店卖的东西从书到原料都有。

这类美食博主的宣传动机或者诉求一般有:

1、自己做饭有乐趣和满足感

2、自己做饭比较安全,外面餐馆的餐饮卫生堪忧

3、自己淘宝店卖的原材料是乡下亲戚种的,不加农药,纯天然(一般还会放上手捧蔬菜的真人照片展示农民的憨厚老实。。。。。。。)

总的来说这些动机都多少有一些反食品工业的倾向,这是我一直觉得比较荒谬的地方。这是食品工业的发展和矛盾变化的体现。早期生产力不发达的时候,人们可能会对食品工业的生产力产生一种崇拜敬畏的心态,就如同古代中国某些地方的“耕牛崇拜”。现在需求基本满足以后,在对“工业社会的反思”这样一种背景下,食品工业反而成为一种反人道反天然的存在。并且生产力的发展使得个人产生以一己之力挑战食品工业的心态,而这“一己之力”,就是这些美食博主所追求的“天然”。比较典型的就是“厨男王一刀”和“李子柒”,这两个账号的内容基本都是展示在类似农村的环境下,自己采集材料和烹调,做出来某种食物。其实这种烹调的环境是十分肮脏的,但是“一己之力”和“天然”的概念被最大限度的强化,使得受众暂时忘记食品安全的顾虑,沉醉在自媒体带来的虚幻的田园之乐当中。

当然如果观众能从这些自媒体当中学到一些烹调的技巧用来改善自己的生活,这是最好的。至于其他的东西,见仁见智,各取所需。

语言模型的偏移

为了描述文档中词的分布,之前的研究者提出了很多的语言模型(比如 N-gram)。

一方面来说,这些模型只是近似地描述了一类分布,所以通过求解这类模型得到的分布只能说是基于对应的语言模型假设下最佳的结果。

另一方面,实践中经常会遇到这类情况,我们选定了一个语言模型来描述特定的文档集合的词的分布。但是有时候,工程人员并不完全依照这些模型的经典形式,而是喜欢在模型里面加入一些微扰项作为某种“分布在当前数据集上的偏移”,以便取得更好的结果。 这种现象反映了语言模型作为信息检索的核心的某些深层次问题。