我们是如何测试人工智能的(七)包含大模型的企业级智能客服系统拆解与测试方法 – 知识引擎

作者:山治

之前更新《我们是如何测试人工智能的》这个系列的时候, 初衷是介绍比较科普的内容。介绍反欺诈和推荐系统的时候也都是以建模流程为主,没有对整体系统进行过详细的拆解。 那么这一次我想用几篇文章,比较详细的去拆解一下以大模型为背景对话机器人系统是如何设计的。 让大家看看除了计算机视觉,推荐系统, 机器翻译以外, 我们最熟悉的对话机器人是如何运作的(大家应该都接触过客服机器人吧)。 以及这里面的测试人员都是如何工作的。

知识引擎

我们在生活中应该多多少少接触过对话机器人,比如我们都知道很多客服其实都是机器人先档在前面回答用户问题的, 有些机器人有相当程度的知识储备, 比如你去买了一辆车, 然后想咨询客服这辆车的保险的细节。 你就会问: 请问车的每年的保险费是多少钱。 但很多时候不同的车型,年份等其他细节会决定了保险费的价格。这时候机器人要通过问询的形式收集这些信息(我们管这些信息叫词槽),所以机器人要先识别用户的意图, 然后识别为了回答这个问题还缺少的哪些关键词槽(就是信息),然后通过反复的询问和澄清收集这些信息后, 才能回答问题。 或者用户向机器人提一个很专业的问题, 比如询问《某个车型如何更换刹车油》,这就要求机器人有相当的知识储备, 很多时候它不能是随便一个搜索引擎搜出来的答案,而是根据客户企业内严格的操作手册提炼而来的。 所以大家知道了吧, 一个企业级的对话机器人不是说随便拿一个类似 GPT 这样的模型扔进去就可以的(GPT 只能当面向 C 端用户来用,企业的对话机器人或者客服机器人必须要有这个企业的专业知识), 所以我们需要有相当的专业领域的知识引擎的构建才可以。

如何构建知识引擎

首先我们现在处于一个大模型的时代, 所以一个类似 GPT 这样的大模型加入到产品中在大厂已经是比较普遍的现状了, 各个大厂都有训练自己的大模型。 有 GPT 这样的大模型在,可以极大的提升对话机器人的回答质量。 但我们上面也说了这样是不够的。 对于专业领域的问答, 需要有专业的知识库的建立。 所以在这样的产品中一般都有个比较大的系统名叫知识引擎。

作者:山治

之前更新《我们是如何测试人工智能的》这个系列的时候, 初衷是介绍比较科普的内容。介绍反欺诈和推荐系统的时候也都是以建模流程为主,没有对整体系统进行过详细的拆解。 那么这一次我想用几篇文章,比较详细的去拆解一下以大模型为背景对话机器人系统是如何设计的。 让大家看看除了计算机视觉,推荐系统, 机器翻译以外, 我们最熟悉的对话机器人是如何运作的(大家应该都接触过客服机器人吧)。 以及这里面的测试人员都是如何工作的。

知识引擎

我们在生活中应该多多少少接触过对话机器人,比如我们都知道很多客服其实都是机器人先档在前面回答用户问题的, 有些机器人有相当程度的知识储备, 比如你去买了一辆车, 然后想咨询客服这辆车的保险的细节。 你就会问: 请问车的每年的保险费是多少钱。 但很多时候不同的车型,年份等其他细节会决定了保险费的价格。这时候机器人要通过问询的形式收集这些信息(我们管这些信息叫词槽),所以机器人要先识别用户的意图, 然后识别为了回答这个问题还缺少的哪些关键词槽(就是信息),然后通过反复的询问和澄清收集这些信息后, 才能回答问题。 或者用户向机器人提一个很专业的问题, 比如询问《某个车型如何更换刹车油》,这就要求机器人有相当的知识储备, 很多时候它不能是随便一个搜索引擎搜出来的答案,而是根据客户企业内严格的操作手册提炼而来的。 所以大家知道了吧, 一个企业级的对话机器人不是说随便拿一个类似 GPT 这样的模型扔进去就可以的(GPT 只能当面向 C 端用户来用,企业的对话机器人或者客服机器人必须要有这个企业的专业知识), 所以我们需要有相当的专业领域的知识引擎的构建才可以。

如何构建知识引擎

首先我们现在处于一个大模型的时代, 所以一个类似 GPT 这样的大模型加入到产品中在大厂已经是比较普遍的现状了, 各个大厂都有训练自己的大模型。 有 GPT 这样的大模型在,可以极大的提升对话机器人的回答质量。 但我们上面也说了这样是不够的。 对于专业领域的问答, 需要有专业的知识库的建立。 所以在这样的产品中一般都有个比较大的系统名叫知识引擎。

  • 文档上传:一般来说这种产品需要给客户上传文档的功能, 这些文档里就是这个企业的专业知识了, 客户把机器人需要了解的知识以文档的形式上传到系统中。
  • 文档解析:这是一个非常重的步骤, 甚至这样一个文档解析的能力可以发展成一家公司的体量,因为客服的文档类型和格式五花八门,层出不穷。 这个文档可能是 word,excel,pdf。 像是 pdf 的话解析起来会更困难, 因为 pdf 里的数据格式太多了, 有图, 有文字, 有各种不同格式的表格, 有图文夹杂等等。 想要在这些文档中自动的把内容解析出来是非常困难的。 可能会有同学说为什么不规定一个格式然后让用户按这个格式来上传文档呢。 这个形式几乎是不可能的,这些文档是客户在多年的发展过程中积累的知识, 它的量是十分庞大的, 你让客户把这么庞大的文档按你的格式重新写一遍, 这是不可操作的。 所以一个知识引擎构建的如何,文档解析的能力起到决定性的作用,并且也是测试的重点。
  • 文档拆分:也叫文档切片,是需要通过规则或者模型把文档按照语义切分成不同的段落。 因为一篇文档有非常多的内容, 它肯定不是只讲一件事的。 比如当用户提问说我想知道这辆车如何更换玻璃水的时候, 这个问题的答案可能记录在一份类似《不同车型下的保养操作手册》这个文档里的。那么当用户询问一个问题的时候, 你不能把这个近万字的文档一股脑的发给用户对吧。 我们预期只把更换玻璃水的那段内容发送给用户即可。 所以一个文档需要按语义进行拆分。
  • 特征/词向量:词向量通常也叫做嵌入层(embedding),是 NLP 领域(自然语言处理)非常重要的特征工程手段。 它可以把一个词转换成一个 N 维的特征向量(比如 512 维)。我用下面一个例子来解释一下词向量是什么: 假设我们有一组信息:性别,年级,学校。处理这样的离散特征我们通常使用的 one-hot(独热编码)。比如我们有一群学生,他们可以通过 3 个特征来形容&#x
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值