文本摘要、知识图谱、对话系统项目梳理

一. 文本摘要项目

1. 项目背景

咨诉处理需要多级流转,上级处理人员会将咨诉处理以手工录入文字的方式(通常有10-50字)给下级处理人员。这个步骤通常要占用坐席40s。占平均咨诉处理时间的20%。为了提升效率,我们将用音转字作为原文,处理人员手工录入的作为答案。建立一个文本摘要系统。提升客诉处理效率。
例如:音转字内容为:“你好,我就是想提前还款,但是找不到提前还款的按钮” "您可以关注微信号首页我要还款。“
摘要:“客户想要提前还款”

2. 数据量有多少? 是否有标签?打标消耗人力么?

2019年一整年的咨诉件有200万,其中83万音转字大于50字。83万的原文和标签都是有的,不需要额外打标。
原文是音转字的对话(ASR准确率大约80%)。

3. 最终模型是什么样的?

首先使用UNILM预训练语言模型进行预训练,得到词向量。(这里直接用的我们自己的语料进行的预训练)。
接着使用seq2seq + self-attention + pointer Network + Coverage 训练得到文本摘要。

4. pointer Network是如何使用的,有什么作用?

因为我们的摘要大部分还是来自于原文的。所以用一定的比例(训练出来的)抽取自原文,另一部分使用seq2seq生成的。
就是本来是对整个词典进行softmax。现在改成对(整个词典和原文加权)softmax。Pointer Network提高了摘要的通常度,可读性。(将抽取式的优点借鉴了过来)

5. Coverage机制是什么?有啥用?

主要就是在训练参数的时候增加了一项为之前产生的向量的加和。希望模型给这部分负的权重,让模型更好的避免生成重复的摘要。

6.Self-attention是怎么加入的?有啥用?

可以让S2S时候Decoder阶段使用Encoder的全部上下文向量也就是让摘要注意到更多的上下文信息。

7. UNILM是什么?有啥用?

其实就是将原文和摘要使用[SEP]连在一起,然后利用MASK进行预训练。比基础BERT更加适合文本生成任务。同时又可以直接使用BERT源码,简单修改即可。

8.模型的效果如何?

ROUGE值达到53%。

二、知识图谱项目

1. 项目背景

目的是给咨诉处理岗在处理咨诉提供一个知识图谱的工具,是系统的一个小模块。

2. 数据量如何,多少个实体类型等?

从30多个文件中处理出10万多组SPO(使用模型的方式),2万多组属性(匹配的方式)
实体类型有25类,其中8个类型有属性5万组属性(0-5个不等),关系有39种。
属性比如说(机构实体的补偿额度、赔付率,咨询实体的咨询类型)
实体类型比如说(咨诉类型、投诉来源、处理步骤、机构、媒体名称,系统等)
关系比如说(场景、标签、下级,落单系统)

3. 简述图谱建立模型以及效果:

和BIO序列标注的方法不同,我们做SPO的识别使用的是指针的方法,以头实体为例,我对于每一个文本的词都需要判断是否是头实体的起始(0,1),是否是头实体的结束【0,1】
尾实体+关系我们 2* 39
效果使用:

4. 简述图谱问答模型以及效果

使用TEXT_CNN做意图分类,根据输入的文本(AC自动机匹配)

  1. 如果是问的是属性值,是实体抽取 + 属性名抽取
  2. 如果问的是实体,那么就是实体抽取 + 关系抽取
  3. 如果问的是关系【可能产生多跳】实体抽取 + 关系抽取

三、对话系统项目

1. 项目背景

对于存量客户都会关注我们的"客户服务中心"微信公众号,内嵌了一个"我的客服"功能,可以使用AI智能解决常见的客户问题,分担热线进线量,节约人力成本。

2. 数据准备

关键数据:近两年的咨询投诉对话150万条左右的语料,24种意图类别,64种实体类型。人工打的标签,每条语料需要整理出客户意图、实体类型,实体标签。

一个例子:一个(意图,实体类型)对决定这一个对话决策(一般是sql语句的决策)比如 意图为"提前还款",实体类型为"还款渠道",实体名称为"XXXAPP",后台一般会反馈一个对话策略 “会问客户希望在哪里,什么时间提前还款?” 客户又会回答一个时间,系统会识别实体类型"还款类型",实体名称为"明天下午",系统会最终给出回答"请明日12点后登录路径1点击XXX还款,提示每月扣款时间为。。。。。。" 等

3. 模型内容

整个对话系统分为三个模块:NLU、DM、NLG。其中NLU是我们主要负责的部分。

模型是基于Bert将意图识别和语义槽填充两个任务同时完成的。逻辑是输入语料用Bert预训练之后,每个词都有相应的词向量表示。对于一条训练语句,第一个输入到模型的token是【CLS】,利用【CLS】的向量表示经过一个feedforward 神经网络【768,24】可以进行意图识别,也就是使用softmax进行24分类。而句子其他的输出向量则经过一个【768,64*2+1】的FF做BIO序列标注。得到的意图类别和实体与预先标注的标签进行对比。用cross entropy loss(两个任务的loss相加)进行训练得到合适的模型权重。

4. 模型效果

模型效果:两个任务由于一个是24分类,另一个是句子长度个的129分类,前者的难度比后者小的多。意图识别的准确率也确实可以达到98%,而NER命名实体似乎别最好也就是88%左右。
业务效果:可以分担之前12%的进线咨询,在线智能解决率约为95%

5.面试可能会问到的相关问题

  1. 如果有新的意图进来如何能在不影响已经训练好的意图?
  2. 小样本如何训练?
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值