当前位置: 首页 > article >正文

【大厂AI实践】美团:事件图谱在美团智能客服问答中的应用(基于交互的推理)

【大厂AI实践】美团:事件图谱在美团智能客服问答中的应用(基于交互的推理)


🌟 嗨,你好,我是 青松 !

🌈 自小刺头深草里,而今渐觉出蓬蒿。


NLP Github 项目推荐:

  • 【AI 藏经阁】:https://gitee.com/fasterai/ai-e-book

    介绍:该仓库主要分享了数百本 AI 领域电子书

  • 【AI 算法面经】:fasterai/nlp-interview-handbook#面经

    介绍:该仓库一网打尽互联网大厂NLP算法面经,算法求职必备神器

  • 【大模型(LLMs)面试笔记】:https://gitee.com/fasterai/nlp-interview-handbook

    介绍:该仓库汇总了 NLP 算法工程师高频面题,适合大模型初学者和正在准备面试的小伙伴。

    希望能帮助各位同学缩短面试准备时间,不错过金三银四涨薪窗口,迅速收获心仪的Offer 🎉🎉🎉


文章目录

    • **01 事件图谱是什么**
      • **1. 事件图谱的概念**
      • **2.事件图谱的常见应用案例**
    • **02 客服场景事件图谱**
      • **1. Event Schema Induction**
      • **2. 客服场景事件图谱Instance**
      • **3. 事件图谱时序处理框架**
    • **03 事件图谱在智能客服问答中的应用**
      • **1. Event Script Prediction**
      • **2. 多轮话题引导**
      • **3. 辅助经营决策**
    • **04 小结与展望**


导读:事件图谱(Event Graph)是以事件为基本单位,研究事件属性、事件间关联关系的知识网络。用户在电子商务平台上查找、购买、咨询、投诉、评价等用户行径,均是发生在真实时空下的真实事件。其中涉及到沟通的咨询、投诉、评价等会话事件,如何从中准确地识别事件及事件属性,如何实时地对事件进行在线聚合处理,以及事件推理如何在智能客服机器人中应用等,本文将围绕其在美团智能客服中的应用实践进行介绍。


01 事件图谱是什么

1. 事件图谱的概念

知识图谱(Knowledge Graph)是人工智能的重要分支技术,它在2012年由谷歌提出,是结构化的语义知识库,用于以符号形式描述物理世界中的概念、实体及其相互关系。知识图谱常由节点和边构成,其中节点代表客观世界中的概念和实体,边代表它们之间的关系和属性。通常知识图谱描述的是静态信息。

然而,世界上存在着大量事件信息,传递着动态的、程序性的知识。事件是发生在特定时空下由一个或者多个角色参与的一个或者多个动作组成的事情或者状态的改变。以事件为中心的知识表示非常重要,它把实体与事件组织在一起。当前事件图谱方面的研究也提出了很多概念,如下图右下角表格所示,包括Event Graph, Event-centric KG, Event Evolutionary Graph, Event-centric Temporal KG, 以及Event Logic Graph等。其中,有些是在事件体系(Schema)层面的,另一些是在事件图谱实例(Instance)层面的。其中节点(Nodes)有事件、实体,有的甚至还包括关系,不过大多数还是认为节点是事件和实体的集合,边是事件与事件的关系。

本文遵从多数人的定义,事件图谱是包含事件、事件属性、事件间关联关系的以事件为基本单位的知识网络。当前业界研究事件图谱多以新闻和金融领域应用为主,主要是从篇章文本中提炼事件图谱。常见的应用场景有:

  • 事件脉络梳理:依据时间顺序,将关联事件及子事件聚合并串联起来;
  • 网络热点发现:从网络中实时检测事件,并捕捉热点;
  • 后续事件的预测与推理:通过对历史事件进行关联分析,预测/推理下一步事件。

下面将分别举例说明。

2.事件图谱的常见应用案例

① 事件脉络

近期大家共同关心的一件事是俄乌冲突,上图左边是从百度App上截取的一个截图,其中的事件脉络以新闻事件的先后顺序(时间轴)进行组合呈现,并且支持以发布方来筛选。上图右边是一个外卖客服场景的例子,用户在11:12分下了一个订单,是商家小野螺螺蛳粉加的一份炸蛋,然后在11:19分又下了一单,是商家黑洪堂家的黑洪大满贯牛乳奶茶。然后就是在12:23分请求了美团客服,会话事件是申请退款。这里把下单事件和退款事件以时间轴的方式进行组合呈现,便形成了一个事件脉络。

② 热点发现

如上图左边截图所示,常见的热点发现有新闻热点榜单,在新闻类应用中非常常见。上图右边是以客服场景中的外卖客服为例,将不同品类下的事件进行汇总,可以得到事件在各品类下的分布。若将事件在各区域下进行汇总,则可以得到事件在各区域下的分布。

③ 后续事件预测/推理

以金融领域为例,将历史数据的相关金融标的进行挖掘和提取,构建基于事理的图谱,能够进行在线实时的事理推理,这是多步推理的认知呈现。如上图左边所示,还可以融合企业与供应链图谱进行上下游的事件推理。比如,以上游原料产能不足为例,该事件爆发后会导致上游原材料价格上涨,同时也会导致下游产品价格上涨,最终影响下游产品所在的公司股价等等。上图右侧是以外卖客服场景为例,通过对对话历史进行挖掘分析,申请赔付事件的现象事件通常是配送慢或者骑手接单不取餐等等,接下来大概率会得到请求更换骑手的事件。经过对事件的预测推理,我们可以优化客服的对话逻辑,帮助用户在申请赔付时,根据系统信息来判断下单后是否已经过了取餐时间、骑手是否已经取餐等,进而直接与用户沟通,帮助用户进行申请更换骑手的解决方案。


02 客服场景事件图谱

上文主要介绍了事件图谱的定义及其常见应用,接下来重点介绍在客服领域事件图谱的构建。分别从事件体系归纳(Event Schema Induction),客服场景事件图谱实时处理关键技术,以及事件图谱的时序处理框架三个方面介绍。

1. Event Schema Induction

以用户在电子商务App上的一个完整消费旅程为例,其用户旅程包含:查找商品/服务、售前咨询、下单购买、售中咨询、消费商品/服务、消费后有疑问申请售后客服服务,有时最后还会对商品或服务进行评价。如下图左边所示。

这些均是发生在真实时空里的一个个事件,特别是过程中涉及到售前咨询、售中咨询、售后客服以及商品或服务评价等多个沟通过程,这些沟通过程即发生在消费者与商户、骑手、客服人员等不同的角色之间的会话事件。智能客服就是在这些沟通过程中,帮助用户快速自助解决问题,提升沟通效率。通过对每个会话中的事件进行实时抽取,如右边图所示,如无法下单、申请赔付、餐品缺货等,并依据事件之间的时序、共指等关系关联,最后构成了实时动态更新的客服场景的事件图谱。

参考已有公开的事件图谱定义,再结合智能客服的应用场景,本文使用的事件图谱的表达式定义如下:

其中 s 为事件或者实体,实体如功能、产品、人或物等专名;p 为事件的触发(trigger)词,通常为谓词,如“投诉、打赏、退订”等;o 为事件所关联的业务,如电子商务平台所涉及的配送服务、保险服务、商家服务、商品价格、营销活动、APP使用等。

节点 �∋{�,�} 包括事件 ���� 和实体 ���� ,除了会话中的事件、也将订单看成“下订单”事件,实体主要是事件涉及到的用户、商户、骑手、商品等; �∋� 包括事件与事件 (���−���) 之间的关系, 事件与实体 (���−���) 之间的关系,以及实体与实体 (���−���) 之间的关系,下文介绍中节点 N 主要是事件,边 E 主要是事件与事件的关系。

通过对客服场景中的会话事件进行整理归纳,我们将其分为四大类:

  • 办理

通常指需要客服人员或者平台去执行某个动作,比如调用退款接口完成退款,又可分为退款、赔付、退单、开具发票、追加备注等小类,退款小类又包括申请全单退款,申请部分退款,赔付又包括放心吃赔付、准时宝赔付等。

  • 现象

通常是办理的具体原因,可以按照事件关联业务或功能细分,比如骑手反馈的配送问题,包括“配送路线距离不准”、“配送路线交通管制”等;又比如用户反馈的账号问题,包括“账号无法登录”、“保证金无法体现”等。

  • 咨询

通常是咨询流程或者信息查询相关的问题,比如商户咨询“线下培训计划”、咨询“如何联系保险公司”等。

  • 投诉

通常是投诉商家/骑手/BD,可以按照投诉对象划分小类,比如投诉他们的某个行为,“商家投诉BD修改商家配送范围”等。

Event Schema具体怎么得到,通常是需要经过模型识别事件,人工审核并进行归类归纳,再优化事件识别模型的一个循环迭代过程。

首先我们看下事件的构成,通常由(subject,predicate)、(predicate, object)或者(subject,predicate,object)构成。其中subject通常为独立的功能、产品、人、物等专有名词,predicate指有明确事件属性的谓词,如投诉、打赏、退订等。因此我们将事件识别任务定位成由会话中的核心词或者主题词构成的关键词短语的识别。

上图左边流程是Runtime的会话事件识别流程,包括三个步骤:

第一步,从会话session中生成关键词短语候选,由分词后的ngram构成。

第二步,生成关键词短语候选的特征,具体特征如上图右边所示,包括位置、角色、左右熵、标签模板等特征。

第三步,模型预测每个关键词短语候选的得分,选择得分高的关键词短语作为会话的事件。

这里有意思的是我们在候选中增加一个EOS候选,通过EOS的位置来决定最终哪些关键词短语被抽取出来。EOS的特征表示为所有候选特征对应位置的值做pooling得到。

实际业务中各业务Event Schema归纳的SOP流程为先从会话中进行事件抽取(keyphrase抽取),然后与Event Schema中已有的事件进行匹配,判断是否是已有事件,如果是可以将说法添加到已有事件的具体说法中;如果不是则可能是新事件,最后将所有识别的新事件候选进行聚类,并将聚好的类交由业务运营人员或者数据标注同学进行整理和归类归纳,进而扩充现有的事件体系。

2. 客服场景事件图谱Instance

以上介绍的是事件图谱中事件体系的构建。对于事件图谱而言,有了事件体系后,就是为新发生的会话实时识别其中所包含的事件。

容易想到的做法是对会话中的每个句子进行识别,判断它是不是事件体系中的某个事件。考虑到事件体系是在不断更新的,通常会采用相似度计算的方式来进行。在客服场景中,有些会话轮数非常多,根据句子识别出来的事件也会比较多,不容易区分哪些是该会话中的核心事件。好在客服场景,客服人员在跟用户沟通结束后会记录工单,包括记录用户的诉求,也就是要办理什么事,或者咨询什么事,亦或是投诉什么人,以及对应的背景现象是什么,这些数据都是非常好的人工整理数据源。基于客服人员填写的工单数据,可以训练一个模型,挑选会话中的核心语句,如上图左边所示。然后基于挑选出来的重要句子,再对其进行事件的识别。在这里,现象类事件的识别采用的是这种两阶段的方法,具体模型如上图所示。

针对诉求类事件,即办理、投诉和咨询类事件,客服人员记录工单时,是在各业务中用户诉求类别的有限集中选择出来的。同样,基于客服人员填写的诉求结果,可以训练一个模型来识别出会话中用户的核心诉求,如上图左边所示。然后根据诉求可以挑选出候选的句子,这里是简单的通过诉求对应的触发词,匹配得到候选句。然后再对这些候选句分别进行相应的事件识别。

3. 事件图谱时序处理框架

2.2节介绍的是实时事件识别是怎么做的,下面再来看下完整的事件图谱时序处理框架。

如上图所示,最下层是数据接入,包括实时的会话数据、评论数据和舆情数据,也包括订单数据、配送数据、工单数据等。这些数据有些是从Binlog Kafka、日志中心的实时流中获取,有些是静态数据,如用户维表和商户维表,则是从Hive中读取。

中间层是流批处理计算引擎,我们采用的是Flink+Spark,会调用事件识别模型对会话数据打上事件标签,其中Spark主要是离线批量刷数据。我们同时也会基于打上事件标签的实时数据进行事件级别的实时预警。

处理之后的数据我们在Doris里会存储一份宽表,方便实时多维度的查询分析,为了加上对文本类内容的查询,文本类字段也会在ES(Elastic Search引擎)里建立索引。

最后我们有统一的API层实现事件图谱的对外输出接口。


03 事件图谱在智能客服问答中的应用

上文介绍了事件图谱是什么以及事件图谱的构建,本节介绍事件图谱在智能客服问答中的应用,包括事件脚本预测(Event Script Prediction)、多轮话题引导和辅助业务经营决策。

1. Event Script Prediction

Event Scripts在一些论文中也称作Narrative Event Chains,下图左边描述的是一个去餐厅消费的事件链。顾客走进餐厅,然后坐下、点餐、服务员送餐、顾客吃餐,然后支付、离开餐厅。学术上通常把预测下一步要做什么叫做Event Script Prediction。

回到智能客服场景,将事件图谱Instance中的每个会话事件进行时序关系建模,可以形成一个个事件链。通过对这些事件链进行合并,可以形成如上图右侧所示的一颗树。在这里,为了和对话中的概念对齐,我们把从用户话语中抽取的事件称为User Action,把从客服人员话语中抽取的事件称为Staff Action。最后这棵树就用于指导特定任务的任务型对话,也就是我们通常称之为的TaskBot。

在不同人的会话过程中哪些事先说哪些事后说,具有很大的随机性。如果直接对每个会话中抽取出来的事件链进行拼接,势必会非常乱。这里需要先对这些事件链进行序列的先后建模。本节介绍一种对对话的动作序列进行N-gram建模的方法,如上图最左方框所示。给定动作序列,N-gram模型可以输出后续动作及其概率,这里在统计的时候将每个会话中的事件链加入起始标记SOS和结束标记EOS。

得到了N-gram模型性后,如何生成Taskflow树,总共可以分为5个步骤,如上图中间方框所示。

到此生成的Taskflow在实际使用中还有问题,因为多数Taskflow需要调用外部接口来获取数据或者状态。因此还需要后处理,人工添加API的调用信息,然后根据API的返回值进行节点间的条件转移。

下图是一颗生成好的Taskflow样例,右边是基于该Taskflow实现的机器人与用户的真实对话。其中对于机器人来说Staff Action就对应为System Action,在用户确认订单后,System Action为询问骑行时间,当用户告知了1分钟后,系统调用 set_fee API,然后将最终的处理结果告知用户。

2. 多轮话题引导

事件图谱在智能客服中除了用来生成Taskflow外,还可以用于多轮对话中话题引导。

这个在之前的报告《美团智能客服技术实践》中也提到过。比如当用户询问会员能否退订这件事时,我们除了给出答案外,也会引导用户回答具体的原因现象是什么,是“外卖红包无法使用”,还是因为换了手机号需要了解“如何换绑手机号”等。

3. 辅助经营决策

事件图谱除了在智能客服问答中直接使用外,还有一个很大的作用就是辅助业务做经营决策。

通过会话事件可以把用户、商户、地址、商品及服务等关联起来,从而我们可以得到商户维度、商品维度、地理位置维度等的事件分布,比如这个例子,我们可以筛选出各商家一定时段内的发生的食品安全类事件,从而挑选出存在食品安全隐患的商家,告知商家,并相应地要求商家进行食品安全方面的学习,对存在的食品安全问题进行整改;同时我们还可以用事件图谱对这些商家的食品安全问题进行长时间的日常跟踪监控。


04 小结与展望

最后对全文进行一个回顾总结。

第一部分主要介绍了事件图谱是什么,知识图谱和事件图谱的区别以及当前在事件图谱方面的主要研究,并且举了几个应用的例子,包括事件脉络、热点发现和事件预测推理。

第二部分主要讲解智能客服和事件图谱,并分别介绍了事件Schema的构建、实时事件标签的识别以及在智能客服场景的事件图谱时序处理框架。

第三部分主要介绍了事件图谱在智能客服问答中的应用,包括如何从事件图谱中生成Taskflow用于多轮问答,事件图谱在多轮问答中用于话题引导,以及事件图谱如何辅助商家经营决策。

最后,针对下阶段的工作,当前在事件图谱上的工作还比较初步,还只是在单个业务上的探索,一是我们会进一步完善事件图谱以及挖掘在公司内部更多有价值的落地,二是基于事件图谱的问答以及辅助经营会在更多业务上进行验证。



http://www.kler.cn/a/576815.html

相关文章:

  • im即时聊天客服系统SaaS还是私有化部署:成本、安全与定制化的权衡策略
  • React基础之受控表单绑定
  • 头歌作业-数据库实验一:数据库和数据表的建立,修改和删除
  • 深入解析 JVM —— 从基础概念到实战调优的全链路学习指南
  • 【机械臂】Windows 11安装Mujoco200并运行基于强化学习的多任务机械臂Meta-word基准
  • 论文阅读_LMLPA_用大语言模型实现人格评测
  • 【linux网络编程】浏览网页时客户端与服务器之间数据交互的完整过程
  • 游戏引擎学习第144天
  • 用AI学编程3——Java学习1
  • 轻量级 Transformer 架构多模态预训练框架
  • set、LinkedHashSet和TreeSet的区别、Map接口常见方法、Collections 工具类使用
  • Restful 接口设计规范
  • 从高资源到低资源语言的全覆盖:Manus AI的数据革命与迁移学习策略
  • 从0开始,手搓Tomcat
  • Python——计算机网络
  • 香橙派首款高性能开源 RISC-V 开发板 OrangePi RV 即将开售
  • 【Manus资料合集】激活码内测渠道+《Manus Al:Agent应用的ChatGPT时刻》(附资源)
  • LeetCode 解题思路 12(Hot 100)
  • .NET Core全屏截图,C#全屏截图
  • C++蓝桥杯基础篇(八)