亲,你的KB会QA吗?

卷友们好,我是rumor。

今天和大家聊聊我又爱又恨的主线剧情——对话。

除了搜广推之外,NLP最大最核心的落地点就是对话了。对话场景下又可以分为闲聊、任务型和FAQ三类任务。闲聊就不说了,做一个凉一个。比较能带来商业价值的就是任务型和FAQ。

任务型主要用在智能音箱、车载系统等IoT产品中,FAQ则更多地嵌入软件,作为企业的智能客服为用户提供信息。虽然之前聊过对话类应用的产品化问题,但技术总在发展,长期来看对话赛道的想象力还是很大的

任务型对话更偏Query理解和交互,需要get到用户的意图,并将其转化为程序指令。FAQ则更像一个小型的搜索引擎,不仅需要理解,也需要对答案进行召回排序,计算Q-A的相关性。

其实再细分,根据答案数据来源的不同,FAQ也可以分为很多路召回。在答案数据是纯文本的时候,就可以用端到端的阅读理解来做,从本文中抽出一段话回答给用户。但单纯抽取出的答案会不太友好,同时Q-A需要模型本身有很强的推理能力,实际应用时准确率堪忧。所以保险的做法是用Q-Q匹配,提前把标准问题和答案都准备好,如果用户问题匹配到标准问题,就给出准备好的答案和话术。但这种方式做久了也会有问题,比如金融、保险领域里,类似的标准问题会很多,有问A股开户的,有问创业板、港股开户的。如果把这些query都提前准备好,会碰到一些问题:

  1. 数据爆炸:需要准备很多query,同时因为问法太多,标准问也是一直在优化的(一般都是人工配),优化了“我想开个A股的账户”之后,就得再去添加“我想开个港股的账户”
  2. 难匹配:到后期标准问越来越多,很难区分,需要模型的细粒度匹配能力越来越强,不然容易匹配错

面对上述问题,就有了更简化的方法——KBQA

比如刚才的A股开户问题,可以先识别出query中的主实体是A股,之后的意图/关系是开户。这样就把多个板块的开户问题变成了一个问题:

另外,在很多场景中,信息都已经是结构化好的,比如商家、商品信息,利用KBQA技术就可以直接对询问信息的query作答。在我听过的一些业界分享(阿里小蜜、小爱音箱)中,大多数对话系统都有KBQA这路召回。

目前业界主要是用Pipeline的方式来做KBQA,主要分为以下流程:

  1. Query理解:识别句子中的主实体,进行实体链接。再复杂一点还需要进行Query分词、依存分析、意图识别等
  2. 子图召回:根据主实体,召回多跳子图
  3. 答案排序:计算Query和子图的匹配分数,找到最终答案,进行话术优化后返回给用户

其中每个模块都要用到机器学习技术,实体识别需要NER、实体链接需要匹配、子图召回涉及到图谱构建、答案排序涉及到匹配以及ensemble。

我目前负责的项目之一就是KBQA,将这个技术嵌入到美团APP中,为用户回答商家以及商品信息的各类问题。可能你们找不到入口,不过不要紧,要紧的是:

我们最近和北大合作!!!

在CCKS全国知识图谱与语义计算大会2021的测评任务中!!!

在Biendata平台上!!!

举办了第四届CCKS KBQA的比赛!!!

之所以举办,主要是因为我们去年只卷到了A榜第一!!!B榜第二的成绩!!!(不代表官方观点)

不开心!!!(不代表官方观点)

所以今年卷成主办方!!!看看我们出的题别人怎么做!!!(不代表官方观点)

这一整套系统做下来!不仅锻炼了工程能力!又锻炼了算法能力!

别人参加一个比赛只做了一个算法!而来参加KBQA比赛你可以做N个!

喜不喜欢!心不心动!

心动就快行动吧!

(0)

相关推荐