bert关键词提取_ir+bert: sigir19短文一篇

原文:Deeper Text Understanding for IR with Contextual Neural Language Modeling

链接:

https://arxiv.org/pdf/1905.09217.pdf​arxiv.org

针对的问题

bert的强文本理解能力能否应用到ir领域,能否带来ir领域性能的提升

结论

  1. 使用ir领域数据对bert进行fine-tuning,性能超过几个强baseline
  2. 长的,句子级别的query,检索性能,比短的,词级别的query,检索性能更好
  3. stopwords和标点符号,在现有的ir算法中被忽略,然而在文中基于bert的方法中有重要作用
  4. 在有标注数据非常稀少的前提下,使用领域内的知识,search log, 进行pretrain能够提升整体性能

模型

模型本身并不复杂,就是将query+doc喂bert进行fine-tuning做文本分类,但是会有一些细节问题:

bert关键词提取_ir+bert: sigir19短文一篇_第1张图片
  • 长文本:将长文本拆成overlap的passages分别处理,具体做法是150words长度的滑动窗口,每次滑动步长75words. 最终的doc得分,分别取first passage (BERT-FirstP), the best passage (BERT-MaxP), or the sum of all passage scores (BERT-SumP),分别对应三个model, 训练的时候如果doc是相关的则认为其包含的所有passages均相关
  • title:如果doc包含title则把title放在doc头部进入bert
  • search knowledge: 预训练的任务只有language understanding的knowledge,为了让预训练模型在search任务上表现更好需要加入search knowledge,因此加入search log进行预训练

实验

第一组:不同模型在两个数据集上,分别使用title和description作为query的实验效果,先看实验数据大致的样子:

bert关键词提取_ir+bert: sigir19短文一篇_第2张图片

实验效果如下

bert关键词提取_ir+bert: sigir19短文一篇_第3张图片

可以看出,在Description类型的query下的效果显著领先于其他方法,在title类型的query下,也领先或者基本持平

第二组:每个position往前更新时候对不同position的attention值

bert关键词提取_ir+bert: sigir19短文一篇_第4张图片

值得注意的是上图右边,可以看出query中的where也是有显著作用,而这类词其他的算法中往往被忽略

第三组:title, description,以及description的keywords版本,也就是去除了其中的stopwords和标点,最后还有narr极其positive版本,positive指的是其中的否定部分被除去,比如"Not relevant are documents..."这种被从narr中移除

bert关键词提取_ir+bert: sigir19短文一篇_第5张图片

从上面结果可以看出:

  • 相比于title,bert对desc利用效率更高,有的模型甚至desc不如title,因为其中stopwords对它们来说是噪音,但在bert中却非常有用
  • bert的nar,positive相较于narr没有显著变化,甚至有所提升,这也说明bert没有处理好否定部分,这部分去除之后效果反而升

总结

  • 使用bert来进行检索,能击败现有的方法
  • 使用bert检索不需要从query中手动提取关键词不用去stopwords也不用去标点,这些对于bert都是有用的信息

你可能感兴趣的:(bert关键词提取)