爱吧机器人网 » 技术 > 机器人学 > 正文

如何设计一款垂直领域的对话型机器人?

\

如何设计一款垂直领域对话机器人,首先要了解一下对话型机器人要解决问题。

其实主要有两方面:

第一是听得懂,主要是讲的机器人要能够理解用户的语言——也就是自然语言理解。在这方面,已经很成熟,已经可以做到情绪的识别。

第二方面就是答得出,就是说在听懂的基础上,我能够给出最准确的答案,这就需要有一个庞大的语料做储备,或者说答案做储备。

作为一款垂直领域的机器人,可以解决两个问题:

第一,我可以预测到用户问的问题方向。

第二,我的语料可以做的非常的精细精密,能够做到问不漏,可以提升很大的用户体验。

所以说垂直领域的机器人搭建更简单,也更实用。

对话型机器人包括哪些模块

1. 问题的语义理解

问题的语义理解的过程包括两个子任务:意图识别和实体抽取。

意图识别 (intention classification):用来识别用户所提问题的意图,也就是用户希望做一件什么事。

本文只是简单的阐述一下意图分析的典型思路和方法,并实现一个基本的意图分类器。因为本文主要讨论垂直领域对话机器人的设计,所以用户的问题意图限定在了特定领域,因此答案的结果的准确率也会很高。

意图分类:做意图识别第一步是要做意图分类,根据所在领域,搜集归纳数个意图。并为意图命名。

数据准备:意图识别离不开数据,搜索领域的意图识别用到的数据通常就是用户的搜索日志了。一般一条搜索日志记录会包括时间-查询串-点击URL记录-在结果中的位置等信息。对话领域则需要批量的意图语料。

特征提取:特征的提取是为了方便进行分类计算,每一个特征都具备一定的权重,表明它的权值。通过特征的权值,就能够确定句子属于哪一个类别。这里我们将每一个字作为一个特征,1/(字出现的总次数)作为权值,并构建字典。

模型准备:模型准备需要的是建立分类模型。这里我们通过给每一个特征赋予一个得分,然后将句子中每一个字的特征得分进行相加,然后就可以得到句子在某一个类别下特征的总得分,从而能够对句子进行分类。

训练模型:在完成特征任务后,接下来就是选择合适的分类器进行训练了,因为意图识别可以看作是一个多分类任务,所以通常可以选择SVM、决策树等来训练分类器。

完成以上工作后基本上一个意图识别分类模型就建立好了,接下来就是对已识别语句的实体进行抽取。

实体抽取 (entity extraction):用于提取用户对话中所提供的和意图相关的参数(实体),例如:时间、地点等。

要想实现实体抽取,主要分为两步:

系统分词:现在都有一些开源的分词工具,可以实现很高精度的分词效果,如:jieba分词,它的全模式就是把句子中所有的可以成词的词语都扫描出来,速度非常快。

信息抽取:利用jieba分词后我们得到了切分好的短词信息,将该信息输入到语义识别模型中就可以实现机器人“听得懂”的功能了。

举个例子:智小保是一款保险行业的机器人,主要回答保险相关的问题。

那么可以如此定义意图和实体:

Case1:推荐一款小孩的医疗险给我?—— 意图:保险推荐;保险类型实体:医疗险,被保人实体:小孩 。

Case2:e生保的产品特色是什么?—— 意图:保险产品了解;了解维度实体:产品特色,产品实体:e生保。

垂直领域的对话机器人就可以根据该领域所涉及的所有问题进行聚合,梳理若干意图,根据意图拆分实体,意图越具象,实体颗粒度越细,回答越准确。

2. 知识库构建

知识库分为聊天话语库和聊天人属性库,聊天话语库由多个聊天话语记录构成,每个记录包含一条聊天话语、该聊天话语的语境信息、该聊天话语的多个回复话语及每一回复话语的限制条件集合。

聊天人属性库由多个聊天人属性记录构成,每个记录包含聊天人的静态属性和动态属性。聊天机器人都含有一个聊天知识库以及对话控制模块,聊天知识库就像聊天机器人的大脑,存储着回复用户输入的聊天知识,而对话控制模块则用于控制对话进程。

对于垂直领域的对话型机器人,知识库搭建则更为垂直。一般分为以下几个步骤:

(1)数据获取

人工维护录入数据:非标性答案。

第三方开放平台接口数据,例:金融股票行业对于股票实时信息有相应的API接口。

垂直爬虫爬取数据:所谓垂直爬虫,通俗的讲,可以认为是针对某一领域或行业的爬虫。网上的数据毕竟是错综复杂的,用户所需获取的信息是需要有针对性的。比如:保险行业可以去百度贴吧保险吧等类似垂直领域爬取数据。

数据商城购买数据。

(2)数据清洗

网路获取到的数据毕竟是杂乱无章和带有很多噪点,无法拿来直接使用,必须经过清洗后才能使用。

清洗基本也分为三个方向:

文本挖掘:从海量文本中提取出有用的信息。

协同过滤:协同过滤是利用集体智慧的一个典型方法——也就是说的少数服从多数。对数据中权重大的做优先级排序,类似今日头条的推荐系统。

深度学习:目前深度学习做对话系统,主流的核心算法是seq2seq,之后还有很多优化算法,如使用beam search解决前k个字符概率乘积最大、考虑低频回复的MMI,兼顾问题前后字符的信息——attention mechanism,解决连续多轮的问答HRED,同时使用reinforcement learning也能在一定程度上解决多轮问题。

总的来说,这些优秀的算法在一定程度上确实解决了问题,不过你还是得有合适的数据(如多轮问答数据)才能测试、评估、改进等。

(3)搭建知识库

知识库的类型又有结构化和非结构化之分,非结构化数据库的使用涉及复杂的数据分析、挖掘技术,在实现的效果和性能等方面都很难满足聊天机器人的要求,因此通常采用结构化的知识库。

例如:对于一个机器人对话系统,你说一句话,语音转成文字之后,根据文字的分词、句法、语义分析结果,去对应的语言库中,寻求或自动生成最合理的应答。

以保险行业为例来说:需要搭建。

通用知识库:所有保险名称及专属名称解释;

保险产品知识库 :所有保险产品,及相关维度信息;

保险产品推荐逻辑库:每款保险产品的适用地区、人群等相关维度信息;

保险公司库:所有保险公司相关信息;

核保知识库:针对所有情况的核保信息等。

在完成了上述工作后,一个可以理解人类语言的垂直领域的聊天机器人就可以为顾客服务了。但是这仅仅是可以服务,具体服务效果还需后期的验证,对于对话型机器人产品,其实这只是完成了30%工作,后续的标注、纠偏、训练才是重点。这便是机器人深度学习。


上一篇:让机器人去冰箱里拿瓶可乐有多难?
下一篇:新型机器人只需观察一次就能模仿人的动作
精选推荐
研究人员融合人类与AI的创造力 显著提高了深度学习的表现
研究人员融合人类与AI的创造力 显著提高了深度学习的表现

[2019-10-12]  由加拿大人工智能领域研究主席、滑铁卢大学系统设计工程教授Alexander Wong领导的一个团队开发了一种新型紧凑型神经网络家族,可以在智能 ...

集群机器人领域最新研究:一种用于探测未知环境的微型无人机群
集群机器人领域最新研究:一种用于探测未知环境的微型无人机群

[2019-10-26]  (图:无人机扩散至不同方向来探索环境。当一个无人机注意到另一个无人机在它的首选方向,它将试图飞到另一个方向。若首选方向冲突,低优先 ...

麻省理工学院最新研究:优化软体机器人的控制和设计
麻省理工学院最新研究:优化软体机器人的控制和设计

[2019-11-24]  软体机器人属于一个新的领域,它可能在诸如外科手术等领域发挥重要作用(手术时的纳米机器人需要在人体内部移动而不损伤软组织)。软体机器 ...

九台“猎豹”机器人组队踢球,麻省理工高材生们的高级趣味
九台“猎豹”机器人组队踢球,麻省理工高材生们的高级趣味

[2019-11-09]  本周,在麻省理工学院10号楼外草坪上展开了一场别开生面的足球比赛。在绿草如茵的基利安球场上,一群由人工智能驱动的机器人就是这场比赛的 ...

南加州大学机器人学家:机器人更适合粗暴的爱
南加州大学机器人学家:机器人更适合粗暴的爱

[2019-11-07]  图片来自JOHN MADERE GETTY IMAGES打是疼骂是爱,当人类粗暴的将物体从机器人手中敲掉,看似残忍,实际上却能帮助机器人找到最好的握持物 ...

谷歌大脑发布ROBEL基准 鼓励用低成本机器人训练AI系统
谷歌大脑发布ROBEL基准 鼓励用低成本机器人训练AI系统

[2019-10-11]  训练AI系统的机器人D& 39;Claw和D& 39;Kitty用于控制机器人的人工智能系统,测量其性能所使用的基准通常仅限于为工业环境设计的昂贵硬件, ...

美国喷气推进实验室的AI驱动无人机挑战人类飞行员
美国喷气推进实验室的AI驱动无人机挑战人类飞行员

[2017-12-08]  随着无人机及其组件越来越小,效率越来越高,功能越来越强大,我们已经看到越来越多的研究开始让无人机自主飞行在半结构化的环境中,而不依赖于外部定位。 宾夕法尼亚大学在......

搭载人工智能的太空机器人CIMON 2乘SpaceX抵达国际空间站
搭载人工智能的太空机器人CIMON 2乘SpaceX抵达国际空间站

[2019-12-09]  12月5日,搭载人工智能的太空机器人西蒙2号(CIMON 2)乘坐SpaceX火箭Dragon货运舱,从佛罗里达州卡纳维拉尔角空军基地升空,前往国际空间 ...

本周栏目热点

机器人离线编程误差来源分析及消除办法

[2018-01-02]  随着机器人应用领域越来越广,传统的示教编程这种编程手段有些场合变得效率非常低下,于是离线编程应运而生,并且应用越来越普及。初用离线编程的朋友,总会被最后生...

全面了解机器人的精度

[2018-05-07]  1 绝对精度是啥玩意? 这个软件能否后刷进机器人系统?关于第二个问题,近期有不少客户询问本助手,这个软件可以后刷到系统里卖面吗?可以 ...

使用Azure Bot创建一个智能聊天机器人|附源代码

[2018-01-09]  首先,需要在Azure门户上创建一个帐户。只有这样,我们才能在云环境中托管应用程序。在左侧菜单上单击New,它将打开Azure Marketplace,在那里我们可以看到服务列表。点击AI +认知服务...

机器人如何赢得人类信任?普渡大学研究小组正在探索

[2018-12-15]  该测试使研究人员能够识别与智能系统中人类信任相关的心理生理特征,并相应地建立信任传感器模型。假设信任水平在可靠的试验中很高,在错误的试验中较低,使用从581名在线参与......

移动机器人的视觉算法解析

[2018-12-03]  如果对移动机器人视觉算法进行拆解,你就会发现获取物体深度信息、定位导航以及壁障等都是基于不同的视觉算法,本文就带大家聊一聊几种不同但又必不可少的视觉算法组成。...