A Bite of Ristorante Acanto Milano

在都灵度过不甚满意的两天,坐火车来到米兰。

在米兰的第一天晚上在一家中餐馆解决晚饭。一盘老干妈回锅肉,一盘老干妈炒饭,一盘老干妈口水鸡,收费21 欧。。。反正我快吃吐了。

第二天早上,去米兰大教堂和周边。大陆假期已无余额,广场上只有零零落落的港人和台湾仔。排队坐电梯的时候看到了 MC Jin and his wife (???),也许是认错了。

暴走一上午,回到酒店睡到傍晚。醒来,仍然是孑然一身。美食与爱不可辜负,此时没有爱,应有美食相伴。打算找个好点的餐厅吃饭。想起《厨王争霸》有一季中国厨师 vs 意大利厨师 里面有一集,来自“米兰鱼吧”的厨师很有个性,实力深不可测,好像是那一季里面唯一能在中国赛区取胜的意大利厨师。可惜我想不起“米兰鱼吧”对应的意大利文是什么了。。。作罢。打开 tripAdvisor 随便找了家附近有米其林一个餐盘标记的餐厅(也就是 “good cooking” 的意思)

于是我来到了 Ristorante Acanto Milano,感谢服务员阿姨很有礼貌地接待了我这个强行 walk in 的家伙(高级餐厅一般要预约的)。

模仿我的人都是我的影子

这一年发现了一个有趣的现象。每次开会,描述我的方法,之后的几星期,偶尔能看到隔壁桌上出现了一些和我说的东西非常类似的文章。一开始没有在意这些事情,因为现在 IR 的思路实在太受限制,撞车是经常发生的事情。看这几年的文章,感觉大家都一副办法不多的样子:要么自己创造数据集,既当裁判又当运动员;要么就是靠 “change problem setting” 曲折求生。(顺便说一下,CIKM18 那篇研究 “Entity Attribute Identification” 的文章的作者,你们也许应该阅读一下或者引用 “CUIS team for NTCIR-13 AKG task” ,原因自己想。想到第三作者曾经对困境中的我给与了无私的帮助,并且这篇文章用更好的框架描述了这种方法,just let it go)

然后呢,就是渐渐看到“XX+smoothing”、“XX+type information”、“XX+data augmentation+LTR” 之类的新文章出现。虽然这些文章在方法上和我的那一套东西可能有明显的区别,但是如此相似的方法论着实让我心生忧虑。怪自己过于平庸,只能想到这些烂大街的东西,而且还手慢总是做不出来。

看懂了我想说什么的人可能会觉得作者神经病。但是作者想说的是,

 

是时候去寻找自己想要的尊重和真实了。

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 花了很多时间尽力让这个会议变得正式和专业,作为开拓者劳苦功高,什么都干不了的小弟在此表示衷心感谢和敬意。期待下次变得更好。

冰箱异响维修一例

最近搬家,搞来一台东芝的冰箱(Toshiba GR-H12HPT)。到手以后发现冰箱有异响,具体来说就是运行的时候会有“嗒嗒嗒”或者“咔嗒咔嗒”的齿轮声,吵得本人难以入睡,只能自己动手解决。

首先要确定发出声响的部位,通电以后大致确定声音从后面压缩机和电源部分传出。接下来发现压缩机工作完毕(等待时间较长,有经验者无需此步骤)之后响声仍在,说明在电源部分。断电等待十分钟左右,拆开电源接线盒,再通电,用绝缘的物体轻触每个部分,发现化霜定时器震动明显,接下来就可以确定是化霜定时器的齿轮或电机老化(比如断齿)导致异响。 把定时器拆下来按型号换新即可。需要注意的是,市场上的化霜定时器很可能是存放很久的仓库备件或者拆机货,所以最好用砂纸或者橡皮擦打磨一下触脚,否则长时间之后可能会出现卡齿之类的故障,导致压缩机长时间停机或者不停机。

事实上大部分冰箱使用几年之后都会出现这种异响的情况,但因为大部分都放在厨房,用户难以察觉。

Comment on SEMIR X CJ YAO

在之前的一篇文章里,我对CJ YAO的设计风格提出了一些自己的看法。最近,森马推出了和CJ YAO的联名款,并且去纽约时装周参展。这个展让我有写点东西的冲动。

首先是CJ YAO的衣服“越往下越宽大”(这样描述比较土,但是很真实。。)的特点依然存在,但是在SEMIR的运动气质的限制下,这种特性的弊病受到制约,并保留了优点。

具体来说,一是使用配色和几何形状体现oversize的嘻哈风

二是使用柔软轻薄闪亮的材质

本人不是很清楚这个系列的定位,如果按照一件运动休闲服的标准来看,这些在功能性的基础上有所施展的设计非常优秀,不会像她自家衣服那样经常不知道穿了有什么意义,适合去哪种地方。

第二个我比较喜欢的是这个系列的颜色。具体来说一是衣服上用了多个颜色拼贴而不是单色(仍然比较土的描述。。),二是使用了浓重的红色、天蓝色、黑色,加深衣服视觉上的冲击力(我感觉两年前她家的用色都是很清淡怀旧的少女风,经常让人觉得有点矫情)。三是那件银色连帽衫/风衣还有红白黑的衣服效果很不错。

整个系列风格有点日系,但是又带有国产运动服土土的特质,综合起来反而觉得有点可爱,像一个幻想在城市冒险的少年….很年轻,很有想象力,属于博主会考虑买一件的那类作品。对设计师来说,这可能不是她想要的设计,但是博主认为这会取得商业上的成功。这个系列在国内算是很不错了,但是要说“时尚”的话还差得挺远的。。。

最后就是设计师的颜值好像又变高了….如果我是hater的话会花这么多时间冒着被人喷的风险写这些我不太熟悉的领域吗,都是满满的爱啊!

Information need & supply

For a fixed  retrieval model that satisfies users’ information need to some extent

Margin: a unit of incremental data size may increase the “dimension” of the data, which makes it more difficult for the model to handle. Thus non-positive margin.

 

For a fixed data producing model that provides “information supply”.

Margin: a unit of incremental data size may increase the “dimension” of the data. In this situation, a new “basis” can be used to generate more “new deep” data. Thus non-negative margin.

 

Intersection: the best performance(utility) bound for a fixed retrieval model and data generator.

最近在干嘛

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

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

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

隐形光纤实战

之前一篇文章中我讲了用电力猫组网的故事。前段时间中国移动送了我这个老客户一年的免费 100M 光宽带(其实是强推,每周若干推销员轮流电话轰炸,实在不堪其扰。。。)。我住的小区在建设的时候每户的预埋网线位置都被长城宽带占用了,所以移动的工作人员只能从楼下拉明线入户,甚至想要直接拉进客厅。这自然遭到了我的反对,所以只让他们拉进靠近门的位置并留下光猫等设备,剩下的我自己解决。

想要美观不走明线,首先使用电力猫,但是按照家里的线路条件和电力猫的性能,目前实测只能达到一半的带宽,比较可惜。最近在淘宝发现了一种叫“隐形光纤”的东西,形状和钓鱼线差不多,细,透明,可以转接和延长大部分 ISP 使用的光纤,索性买来试一下。

安装隐形光纤需要首先研究布线方案,一般来说让光纤沿着墙壁边缘或者瓷砖和墙壁之间的缝隙(俗称“石膏线”)行进是最佳方案。为了把隐形光纤固定在墙壁上,需要使用热熔胶(传统光纤比较粗,一般使用有钉子固定的卡扣,需要打洞,非常不美观),所以还要准备一把热熔胶枪和几根胶棒。走线的过程很枯燥,每次把融化的胶水小心的敷在光纤或者石膏线上,然后按压固定,注意光纤不能接触热熔胶枪的嘴,否则可能会烧断。线遇到转角处要走大弯或使用弯角保护器,不可强行弯折。

安装之后开机试用,光信号大概比布线之前衰减了0.1~1DB 左右,带宽和延迟几乎没有变化,这个数据还是很令人满意的。另外隐形的效果很好,非常美观。

塑料老化发粘的解决办法

塑料、塑胶件经常应用于电子产品和汽车内饰当中,时间长了以后可能出现发臭、发粘的现象。最近整理家里的东西,发现有些东西就出现了这些现象,用酒精、水擦洗无法清除。

经过尝试,发现如下办法最有效:

1.把大量厨房洗洁精倒在待清洁的物品上,使用干抹布(不能用沾水的,否则无效)反复擦拭。

2.静置一段时间后,用湿抹布擦去洗洁精。重复上述步骤,反复三次左右

清洗过后物体表面不会再发臭、发粘,但是触感变得很差,有很强的阻尼感。这是因为物体表面氧化的塑胶没有被完全清除,并且原来表面的结构被破坏了。这个时候可以使用“塑胶还原剂”擦拭物体并静置半天左右,之后表面会形成保护层,因此触感会变得比较滑润。“塑胶还原剂”是一种汽车用品,常用来保养汽车内饰,可以在汽车用品店买到。

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 让研究者可以比较不同的方法呢?