©PaperWeekly 原创 · 作者|金金

单位|阿里巴巴研究实习生

研究方向|推荐系统

本文由卡耐基梅隆大学发表于 WWW 2020,介绍了基于上下文的文本词项权重生成方法 HDCT。原有的搜索引擎在使用词袋模型表示文本时,性能受限于基于词频(term frequence)的词项权重,HDCT 可以生成基于上下文的词项权重作为优化方案,该研究对 BM25 等初步检索(first stage)模型性能提升具有较大意义。

论文标题:Context-Aware Document Term Weighting for Ad-Hoc Search

论文来源:WWW 2020

论文链接:http://www.paperweekly.site/papers/3972

代码链接:https://github.com/AdeDZY/DeepCT

算法

HDCT 算法首先通过 BERT 模型得到段落级词项权重,然后聚合文本内各段落词项权重,最后使用文本内容信号、相关性信号和伪相关反馈信号作为标签训练模型,模型框架图如下:

图1. HDCT框架图

段落级词项权重

给定文本




,作者首先将其划分为




个段落




























,在此基础上,作者将每个段落输入BERT模型得到各词项的 embedding,并使用回归层得到初步的权重分数:

此后作者将权重分数放缩到类似于term frequence的整数范围,例如






表示保持原分数的两位小数精度:

由此我们可以得到类似于词袋模型的段落向量表示如下:

文档级词项权重 

根据以上步骤得到的段落级词项权重表示,文档级词项权重可以通过段落级词项权重的加权和表示:

具体来说,权重的选取有两种方式:第一种方式认为各段落的重要性相同,即










;第二种方式考虑用户阅读的注意力随文本的深入而下降,认为各段落的权重随位置前后逐步递减,具体可设置为













。该步骤得到的文档级词项权重可直接应用 BM25 等初步检索模型。

模型训练

根据给定的 ground truth 权重分数











,作者以最小化平均平方误差作为目标训练模型,损失函数如下:

具体来说,作者提出了三种获取 ground truth 的方法,分别基于文本内容(document content)、基于相关性信号(relevance)和基于伪相关反馈信号(Pseudo-Relevance Feedback)。

基于文本内容的方法考虑包含词项的文本信息源(fields,例如标题、关键词等)的比例。给定文本




的段落集合























和 field 集合























,ground truth 分数计算方法如下:

基于相关性信号的方法考虑包含词项的相关查询的比例。给定文本




的段落集合























和相关查询集合























,ground truth 分数计算方法如下:

基于伪相关反馈信号的方法考虑包含词项的相关查询得到的伪相关反馈文本的比例。ground truth 分数计算方法如下:

实验

本文实验在 ClueWeb 数据集(包括 ClueWeb09-B/C,ClueWeb12-C)和 MS-MARCO Document Ranking 数据集上实现。作者在前者验证了基于内容的训练方法在初步检索任务和重排序任务上的效果,在后者研究了不同训练方法之间的效果差异。

ClueWeb数据集 

作者首先在该数据集上对比了传统的 term frequence 算法和 HDCT 得到的权重对 BM25 及相关算法的效果差异。作者分别使用文本的 title 和 inlink 训练模型,发现两种情况效果均优于传统的 term frequence,而在不同的任务上两者效果各有千秋,总体而言使用 inlink 效果略好。

在此基础上,作者对比了该模型和目前较好的重排序模型的效果,和基于 BERT 的重排序模型 BERT-FirstP 相比,该模型在使用 title 作为 query 时和 BM25 的结合取得了更好的效果,在使用 description 作为 query 时同样取得相当的效果。考虑到该模型的时间效率,表现的结果很满足实际的应用需求。

MS-MARCO数据集 

作者在该数据集上研究了不同训练信号对模型性能的影响。作者分别使用 title 作为 content-based 的训练信号(HDCT-title),使用 out-domain 和 in-domain 的伪相关反馈文本作为伪相关反馈信号(HDCT-PRFaol 和 HDCT-PRFmacro),使用训练集查询词作为相关性训练信号(HDCT-supervised)。最终结果显示,三者均优于传统的 term frequence,而相关性训练信号的效果最好。

总结

本文介绍了基于上下文的文本词项权重生成方法 HDCT。在搜索引擎在使用词袋模型表示文本时,HDCT 可以生成基于上下文的词项权重,优化检索性能,该研究对 BM25 等初步检索(first stage)模型性能提升具有较大意义。

更多阅读

#投 稿 通 道#

 让你的论文被更多人看到 

如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。

总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。

PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学习心得技术干货。我们的目的只有一个,让知识真正流动起来。

???? 来稿标准:

• 稿件确系个人原创作品,来稿需注明作者个人信息(姓名+学校/工作单位+学历/职位+研究方向)

• 如果文章并非首发,请在投稿时提醒并附上所有已发布链接

• PaperWeekly 默认每篇文章都是首发,均会添加“原创”标志

???? 投稿邮箱:

• 投稿邮箱:hr@paperweekly.site

• 所有文章配图,请单独在附件中发送

• 请留下即时联系方式(微信或手机),以便我们在编辑发布时和作者沟通

????

现在,在「知乎」也能找到我们了

进入知乎首页搜索「PaperWeekly」

点击「关注」订阅我们的专栏吧

关于PaperWeekly

PaperWeekly 是一个推荐、解读、讨论、报道人工智能前沿论文成果的学术平台。如果你研究或从事 AI 领域,欢迎在公众号后台点击「交流群」,小助手将把你带入 PaperWeekly 的交流群里。

WWW 2020 | 信息检索中基于上下文的文本词项权重生成相关推荐

  1. 【信息检索导论】第六章 词项权重及向量空间模型

    1. 总述 本章主要介绍一下几个问题: 给定关键词,如何评定包含这些关键词的文档中哪些更重要,即如何给文档进行相关性排序 tf-idf算法是什么? 怎样给文档中的词项进行打分? 支配了IR界几十年的空 ...

  2. 基于上下文的rpn_构建事物-产品评论视频中基于上下文的情感分析

    基于上下文的rpn The word "Social" has taken a whole new meaning in today's digital era. Simply g ...

  3. 信息检索(基础知识一)——词项-文档关联矩阵及倒排索引构建

    sdnu 202011000106 实现内容: (本文中用到的文件名为:hyatt-k,有需要可以留言) 利用文件读取方法对给定邮件数据集中的文本文件进行预处理,并按照图1中的词项词典构造流程生成词项 ...

  4. WWW 2020 | 信息检索中的对话式问题建议

    ©PaperWeekly 原创 · 作者|金金 单位|阿里巴巴研究实习生 研究方向|推荐系统 论文标题: Leading Conversational Search by Suggesting Use ...

  5. 文本分类 决策树 python_Python中基于决策树的文本分类

    我对Python和机器学习都是新手.我的实现是基于IEEE的研究论文http://ieeexplore.ieee.org/document/7320414/(Bug报告,功能请求,还是简单的表扬?关于 ...

  6. 大数据时代从繁乱冗杂中精准提取核心文本信息 × Python Tkinter 生成词云图

    背景 人类在数字化浪潮中面临着怎样的抉择?如何把握数字时代的机遇和挑战?科技日新月异,人类生活日益便捷,你是愕然还是亢奋?机器人越来越人性化,你是恐惧焦虑还是心生欢喜?人类是否可以始终制霸选择权中的& ...

  7. nmt模型源文本词项序列_「自然语言处理(NLP)」阿里团队--文本匹配模型(含源码)...

    来源:AINLPer微信公众号 编辑: ShuYini 校稿: ShuYini 时间: 2019-8-14 引言 两篇文章与大家分享,第一篇作者对通用文本匹配模型进行探索,研究了构建一个快速优良的文本 ...

  8. nmt模型源文本词项序列_TensorFlow NMT的数据处理过程

    在tensorflow/nmt项目中,训练数据和推断数据的输入使用了新的Dataset API,应该是tensorflow 1.2之后引入的API,方便数据的操作.如果你还在使用老的Queue和Coo ...

  9. 基于神经网络的文本分类(基于Pytorch实现)

    <Convolutional Neural Networks for Sentence Classification> 作者:Yoon Kim 单位:New York University ...

最新文章

  1. java new string 图_Java中String直接赋字符串和new String的一些问题
  2. typescript调用javascript URI.js
  3. 360浏览器、chrome开发扩展插件教程(2)为html添加行为
  4. python做啥用-你都用 Python 来做什么?
  5. 在电脑桌面怎样用命令开启远程桌面?
  6. java链表代码,java链表的基本使用 代码
  7. shiro学习(15):使用注解实现权限认证和后台管理
  8. NYOJ 99单词拼接(有向图的欧拉(回)路)
  9. Google面试题——蓄水问题
  10. 数据计算 统计学案例_PSG三维数据采集软件在土方量计算中的应用案例
  11. opencv+Dlib python瘦脸代码
  12. 电脑键盘下划线怎么打_苹果电脑键盘失灵怎么办,维护方法!
  13. 小程序随笔(关于香港手机号无法接收短信)
  14. Gensim库的使用——Doc2Vec模型(一)介绍与使用
  15. FAN73893MX 350mA-650mA 高压600V 用于高压、高速驱动 MOSFET和IGBT 三相半桥栅极驱动 IC
  16. StarUml----逆向工程操作步骤
  17. WGS84(GPS坐标) BD09坐标(百度坐标)GCJ02(国测局坐标) 的相互转换
  18. 钉钉企业内部机器人python开发(公网部署版本)
  19. linux kernle 同步原语
  20. 学习高翔一起做rgbd-slam中关于g20部分的学习一

热门文章

  1. 怎么用python编程实现二次差值多项式_二次插值法python实现
  2. 前端常见知识点五之Fetch
  3. python修复不了_修复 Python version 2.6 required, which was not found in the registry.
  4. delphi 回调函数例子 用函数过程作为参数
  5. Luogu1574 超级数
  6. 解决ajax 发送post 请求时csrf_token 问题
  7. mybatis生成UUID主键,且获取当前新增的UUID主键
  8. JAVA开发常用类(一)
  9. vnc服务器和客户端怎么配置文件,VNC服务器端与客户端配置
  10. 关于六年级定格动画计算机教案,定格动画教案