打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
相似、搜索和问答对匹配问题的差异

当然,这里对比的还是这几个场景对“匹配”这个问题的理解差异,大家继续看下去。

三者的共同点

首先,这几个任务其实本质都是一个双输入单输出的问题,无论训练阶段用了什么策略,类似triple loss那种,其实在预测阶段,都是为了对比两者的关系,即构造一个的函数进行预测罢了。对语义相似度而言,就是text1和text2,对搜索而言,就是query和doc,对于问答而言,就是问题和答案,其实所谓的各种方案,都是看给出的两者是否匹配。

因此从这个很简单的建模,就可以了解到,绝大部分简单的情况,其实都可以尝试下直接端到端模型来进行解决,交互式可以考虑ESIM甚至是BERT,表征式的话则是CNN孪生或者是sentence-bert之类的,甚至现在以SIMCSE为代表的对比学习。

然而,众所周知,如果就一个模型就能解决所有问题,在座的各位都要失业,那么是什么原因导致的我们需要各种招数才能处理这些复杂问题呢,继续看。

三者的不同点

相似度任务

首先,相似和其他两者最大的区别,就是他其实只是一个任务,简单到只要有一套数据,就直接计算,如中文的LCQMC、AFQMC,英文的STS系列等,其实都是奔着一个任务,就是相似去的。

其次,任务内,其实两个输入的性质是非常相似的,甚至是相同的,有些时候用表征模型,两个塔甚至可以共享了,很粗暴。

原因1可以说是任务层面的定义简单,原因2可以说是数据的简单,两个原因共同作用,使得整体其实难度就不会特别高,在这些对应的开放数据集下,现在已经能够取得很优秀的结果,因为推理过程中只需要模型比对两个句子之间相似和不相似的部分,就能直接给一个分数,就和小时候我们玩的找不同一样,甚至比这更简单,只要找到了不同,就可以直接做判断了。

搜索系统

传统的搜索系统,其实就是用倒排索引的方式找到各种doc中和query重合的部分,即可召回,然后通过精排来解决。

而query和doc的匹配,其实相比相似任务要更加复杂,我列举一些:

  • query和doc的长度不一致,本质是两者信息量不足,匹配起来的难度更高了。(心法利器[45] | 模型需要的信息提供够了吗
  • 由长短不一致衍生的,query往往需要匹配的是doc的一部分。如果能打出完整的信息,其实用户也不用搜了对吧。
  • 语义空间往往不一致,参数共享与否的差别就大起来了。
  • 对“匹配”的概念更加模糊了,完全同义几乎不可能,必须放松,这意味着对比起来可能更加困难。

说白了,就是考虑到了query和doc在语义空间、句子性质等众多原因的不对等下,难度就上来了。

来举个栗子,这里我搜的是“python教程”,(“--advertisement”只是为了过滤广告,大家可以忽略)。就和标题进行比对,其实query和doc下的信息量,就不一样,例如第一条的还有入门、详细之类的说法,其实从语义相似度上看压根就不匹配。

所以在解决方案上,尤其是早起,就很看重召回阶段的BM25,时至今日比较追前沿的科研领域,BM25仍需要被拿来做对比当靶子,可见这个方案的统治力。当然了,落到深度学习模型层面,其实大部分模型也都能cover住,能识别到两者的相似度,甚至根据一些点击信息,能够学出很好的结果了,现在很多比较规范的搜索数据集已经能达到比较高的高度,例如最近有聊到的ERNIE-search(前沿重器[29] | ERNIE-Search:向交互式学习的表征式语义匹配代表作)。

问答

问答的难度,其实比搜索还要高不少的。来举个例子,有点极端,但有些真实:

儿童节是哪天。6月1日。劳动节是哪天。5月1日。钱钟书的妻子是谁。杨绛。

从这个例子,不知道大家有没有发现什么:

  • 文本1和文本2,可以几乎没有任何语义的关联。
  • 相似的文本,可能有相似的答案,但是互换却是不行的。
  • 文本1对应的文本2,要求非常严格。

出现这个性质的原因,很大程度和对背景知识的要求有关。这里的知识,是指那些不知道,就一定解决不了的东西,我在这篇文章里面有谈到(心法利器[45] | 模型需要的信息提供够了吗),这是一些不提供给系统,这个系统就回复不了的信息。这些东西,光靠模型和样本数据的构造是不可能完成的,因为在模型视角,6月1日和5月1日就语义非常接近,但是张冠李戴不可取,当然用模型强制学可以学到,但是对于可能缺乏知识或者答案的一些问题,仍然会拒绝不掉。

因此,早期的问答系统,是通过挖掘同义的Q,然后进行检索的方式来做的,说白了转化为“相似度任务”或者是搜索问题来做,然后近年来,就是通过构造知识图谱、对预训练模型做知识增强的方式来做,一个是结构化来处理,另一个是非结构化的处理,本质都是要想办法往系统里面注入知识。

讨论

现在回头看,就会发现这3个东西在从易到难逐步升级,而且,也非常符合NLP本身的发展历程,从最基本的语义理解,到更强的表征和泛化能力,再到知识的注入。

  • 语义相似度强调的是两个文本之间是都语义相似,两者关系对等统一,一旦有些不同很可能就会认为不相似。
  • 搜索则是两个文本的内容要相关,两者关系不对等,对一些场景问题,不完全相似也可以认为是匹配,而且大多数情况的匹配都是对等的。
  • 问答则可能两个文本从语义上压根可能没关系,而且对答案的独立性要求很高,对知识的要求也很高,因此在解决的时候,需要有知识注入系统才能够很好的解决。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
业界总结 | BERT的花式玩法
ChatGPT火了,来聊聊大语言模型
PaddlePaddle
论文浅尝 | 基于知识库的自然语言理解 01#
书单丨机器阅读理解与问答&聊天机器人实践指南
百度文档智能技术与应用
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服