首页 > 编程知识 正文

直角坐标机器人具有结构紧凑、灵活(设计一个人机对话系统)

时间:2023-05-06 02:01:51 阅读:81820 作者:417

本文主要讨论垂直领域对话机器人的设计,简单阐述意图分析的典型思路和方法,并实现基本的意图分类器。 设计垂直领域的交互机器人应该包括哪些模块呢?

如何设计垂直领域对话机器人,首先要明白对话型机器人解决问题。

主要有两个方面。

第一个是可以理解的。 主要是会说话的机器人能够理解用户的语言——,也就是自然语言理解。 在这方面,已经成熟,可以识别感情了。 第二个方面是答案。 也就是说,在听懂的基础上,我能给出最准确的答案。 为此,需要储备庞大的词汇,或者储备答案。 作为垂直领域的机器人,可以解决两个问题。

第一,可以预测用户提问的方向。 其次,我的资料可以做得非常精密,可以倾听,可以提高很大的用户体验。 所以垂直领域的机器人更简单,实用。

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

1. 问题的语义理解

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

意图识别(intention classification )用于识别用户提问的意图,即用户想要做什么。

本文只简单阐述意图分析的典型思路和方法,实现基本的意图分类器。 本论文主要研究垂直领域对话机器人的设计,因此用户的提问意图仅限于特定的领域,因此回答结果的精度也很高。

意图分类:识别意图的第一步是对意图进行分类,根据所属领域的不同,将几个意图集中起来进行总结。 给意图起名字。 数据准备:意图识别离不开数据。 用于识别搜索区域意图的数据通常是用户的搜索日志。 典型的搜索日志记录包括时间-单击查询字符串URL记录-在结果中的位置等信息。 对话领域需要大量的意图语。 特征提取:特征的提取是为了便于分类计算,每个特征都有一定的权重,并表示出其权重。 根据特征的权重,可以确定句子属于哪个类别。 在此,以各个单词为特征,以1/(单词出现的总次数)为权重,构建词典。 模型准备:模型准备需要的是建立分类模型。 在这里,通过给各个特征打分,再加上文中各个单词的特征得分,可以得到句子在某个类别中的特征总分,从而可以对句子进行分类。 训练模式:完成特征任务后,接下来选择合适的分类器进行训练。 因为意图识别可以看作是多分类任务,所以通常可以选择SVM、决策树等来训练分类器。 以上工作完成后,基本上建立了一个意图识别分类模型,接下来提取识别出的句子的实体。

实体提取(entity extraction )用于提取与用户交互中提供的意图相关的参数(如时间和位置)的实体。

实现实体抽取主要分为两个阶段:

系统分词:目前有几种开源分词工具,可以实现非常高精度的分词效果。 例如,jieba分词是扫描句子中的所有词语,使之非常快。 信息提取:利用jieba分词获取截取的短单词信息,将该信息输入语义识别模型中,可以实现机器人的“听懂”功能。 举个例子,智小保是保险业的机器人,主要回答保险相关的问题。

意图和实体可以定义如下。

Case1:你推荐儿童医疗保险吗? ——意图:保险推荐保险类型实体:医疗保险,被保险人实体:孩子。 Case2:e生保的产品特色是什么? ——意图:了解保险产品; 维实体:了解产品特征,产品实体: e生保。 垂直领域的对话机器人可以根据该领域涉及的所有问题进行聚合,整理出一些意图,根据意图分割实体,意图越具象,实体的粒度越细,回答越准确。

2. 知识库构建

知识库分为聊天话语库和聊天人属性库,聊天话语库由多张聊天话语记录组成,各记录由一张聊天话语、该聊天话语的语境信息、该聊天话语的多张回复话语以及回复

聊天人属性库由多个聊天人属性记录组成,各记录包含聊天人的静态属性和动态属性。 聊天机器人包括聊天知识库和对话控制模块。 聊天知识库就像聊天机器人的大脑,储存着用户输入的聊天知识。 对话控制模块用于控制对话的进行。

在垂直领域的交互机器人的情况下,知识库的构建会更加垂直。 一般分为以下几个步骤。

(1)数据获取

人工维护输入数据:非标准答案。 第三方开放平台接口数据,如金融业对股票的实时信息有相应的API接口。 爬虫获取数据:所谓垂直爬虫,通俗地说,我们认为是以某个领域或行业的爬虫为对象的。 网络上的数据只不过是错综复杂的,用户需要获取的信息必须根据目的而定。 例如,保险业可以去百度贴吧、保险条等垂直领域获取数据。 数据商城购买数据。 )2)数据清洗

网上获取的数据始终杂乱无章、干扰较多,无法直接使用。 请务必清洗后再使用。

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

文本挖掘:从大量文本中提取有用的信息。 协同过滤:协同过滤是利用集体智慧的典型方法之一——,也就是少数服从多数。 给数据中重要的东西排序,类似于今天顶级的推荐系统。 深度学习:现在深度学习正在制作对话系统,主流的核心算法是se

q2seq,之后还有很多优化算法,如使用beam search解决前k个字符概率乘积最大、考虑低频回复的MMI,兼顾问题前后字符的信息——attention mechanism,解决连续多轮的问答HRED,同时使用reinforcement learning也能在一定程度上解决多轮问题。

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

(3)搭建知识库

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

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

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

通用知识库:所有保险名称及专属名称解释;保险产品知识库 :所有保险产品,及相关维度信息;保险产品推荐逻辑库:每款保险产品的适用地区、人群等相关维度信息;保险公司库:所有保险公司相关信息;核保知识库:针对所有情况的核保信息等。

总结

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

作者:单纯的发带,微信号:zjl12224 。 宜信集团保险事业部智能保险产品负责人,运营军师联盟创始人之一,《运营实战手册》作者之一。

本文由 @单纯的发带 原创发布于人人都是产品经理。未经许可,禁止转载

题图来自Unsplash,基于CC0协议

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。