订阅博客
收藏博客
微博分享
QQ空间分享

无敌,语义目的在语音机器人中的使用,深渊

频道:365彩票网打不开 标签:吉本多香美读书笔记格式 时间:2019年11月29日 浏览:269次 评论:0条

布景

语音机器人是58同城TEG架构渠道线AI Lab自主研制的具有自动电话拨打、多轮语音交互、智能意向判别等多种功用的通用智能对话机器人。语义目的是一个比较广泛的概念,在语音机器人中有两层意义,一是在与用户交互进程中对用户说话的了解,协助体系完结元宵节的诗通话,二是在整轮通话完毕后,对用户打上的意向标签,作为后期剖析运用,本文首要介绍前者的内容。

为了让语音机器人在杂乱且多样的话术上与用户流通的交互,咱们规划了对话管红河理体系,其试验孕棒一深一浅现细节已在文章《语音机器人中对话办理体系规划与完结》中介绍。语义目的作为对话办理体系的输入,是依据用户说话内容界说的标签,这些标签结合对应的战略完结话术流通。

语义目的的辨认经过自然言语了解模块(NLU)完结,在电话外呼场景下也称为白话言语了解(SLU),首要包括单句目的辨认、语义类似度匹配、槽位辨认三个部分,本文将具体介绍各模块所处理的问题与难点,以及对应的完结办法。


单句目的

电话外呼的使命是首要向用户建议通话,并依照话术上的逻辑引导用户完结对话。话术中的问题一般是意向承认类型,如:“你们公司近期有招人的方案吗?”,咱们希望的答案应为必定或否百骨夜宴定,为了更好的满意事务需求,咱们将主线话术界说为只要两个分支的有向图结构。

但实际情况比较杂乱,用户有时不会正面答复,比方,“招满了”表明然后爱情随遇而安否定,“怎么了?”默许表明必定等等。更为费事的是,不同的话术,乃至不同的节点对必定和否定都有着不同的界说,这给目的辨认带来的很大的应战。

为了无敌,语义目的在语音机器人中的运用,深渊习惯多种杂乱的话术类型,一起能够便利事务方装备话术,咱们界说了19类目的标签,如下图所示:


单句目的标签能够分为三类:主线目的、通用目的和拒识目的。其间主线目的均能够代表着用户的意向,如:必定、否定、供给信息、发问等。

事务方依据话术隆重想要到达的目的,装备话术语料,体系会依据语料自动辨认每个分支表达了什么目的,如下图所示,当用户触发了affirm、request,会跳转到必定否定对应的节点,而当用户触发negate、offer目的,会跳转到否定分支对应的节点。这样话术每无敌,语义目的在语音机器人中的运用,深渊个节点的必定和否定具有了定制化的才能,一起因为目的标签是通用的,也让话术具有了必定的泛化才能。


电话外呼场景对通话流通性的要求很高,需求有用处理用户的口头语和暂时提出的一些问题。通用目的则界说了电话交互进程中经常出现的几种目的,如:greeting表明“您好”,hangup表明“别再给我打电话了”等。当用户提及这些目的时,会触发对话办理体系中对应的通用目的战略,合作拉回战略确保了对话的连贯性。

拒识目的则表明对话中常见但暂时不需求处理的目的,体系会经过引导语将用户拉回到主线话术上来。

单句目的的完结运用了下图所示的TextCNN文本分类模型,一起试验过BiLSTM、FastText、BERT等办法,作用不如TextCNN,首要是因为白话场景下的文本存在着字数少、不通畅、多目的等特色,TextCNN关于部分依存联系较灵敏,在当时场景下存在优势。


语音场景下的单句目的作用

用于目的辨认的文本来源于语音辨认(ASR)模块,现在无法确保ASR的成果是彻底准确率的。因为电话另一端的布景无法控制,加上用户的口音不同,ASR的难度要比通勉励语句常情况下高许多,咱们界说了一些声响类型来表明辨认的质量,如:听不清、语音辨认过错、噪音、机器音等。

依据声响类型,咱们从单句目的过错的比方中核算了各类型的散布如下图所示,可见听不清(deafness)和语音辨认过错(wrong)是影响目的辨认作用的首要因素,其间听不清表明一种非人声,与噪音不同,听不清不是继续的,所以很简单被ASR判别为人声。现在单句目的辨认准确率为75%,在扫除语音过错和听不清后,准确率为97%。


因为直接从语音傍边提取语义目的难度较大,咱们运用了声响类型辨以为单句目的供给参阅,声响类型包括人声、听不清、噪音、空白音、机器音等,模型挑选了VGGish+BiLSTM,并以声学特征FBank作为输入,模型结构如下图所示。


得到份额最高的听不清的辨认准确率为86%,在很大程度上处理了语音质量欠安导致的单句目的过错。


语义类似度匹配

单句目的首要处理了主事务需求需求的risk目的,在体系与用户通话的进程中,用户或许会说出各式各样的问题,这些问题或许不是事务相关的,但假如直接疏忽掉用户的发问会让流通度大打折扣,影响用户的通话体会,因而引入了规范问题和要害词问答的概念。

规范问题一般是与事务无关的问题,如:“你是谁”等,关于这类的问题,直接回复对应的答案,并合作拉回战略将一人饮酒醉状况拉回到上一句话。

要害词问答一般与事务相关,能够了解为主线的分支使命,如:“多少钱”等问题,体系在对用户发问做出回复后,会依据话术界说,将状况拉回到主线的指定节点。

规范问题与要害词问答都是用户说话触发了某个问题对应的语料,且不同话术的规范问题、要害词问答的界说不同,因而,均选用了依据DSSM的类似度匹配的办法。

DSSM运用语义模型将文本转化为语义向量,并核算向量之间的类似度作为两个语句的类似度,一般运用余弦类似度。其进程分为练习和猜测两部,练习时,一般选用负采样的办法,挑选一个与输入语句类似的正例,并挑选多个与输入不类似的反例,咱们会对每个正例挑选20个反例,最终运用穿插熵作为丢失函数练习模型。


模型练习好后,离线核算出一切语料的语义向量,并保存在模型中。猜测时,将当时话术语料对应的向量取出来,运用练习好的语义模型将公交顶用户说话转化为向量,与尾椎骨疼是怎么回事话术语料的向量做类似度核算,若分数高于阈值,则以为射中的语料对应的问题为当时用户说话所触发的问题。

类似度核算的中心是语义模型无敌,语义目的在语音机器人中的运用,深渊部分,不同阶段选用了不同的办法,咱们将类似度匹配的开发分为无样本期、小样本期和多样本期。

无样本期没有运用DSSM办法,而是运用拼音结合修改距离的办法,不需求模型练习,且能够到达较高的准确率,可是缺少召回和数据迭代的才能。跟着数据添加,别离运用BiGRU和TextCNN作为DSSM的语义模型到达了不错的作用。尔后,经过不断的数据堆集和数据增强,咱们运用TextCNN+Transformer作为语义模型作用最好,准确率为83.39%,召回率为80.1%,其王效政结构如下图所示,输入文本首要经过embedding层(Emb),再运用卷积核别离为1、2、3、4的一层卷积层,得到语句的部分特征表明,再经过一层的Transformer(Trm),添加了词之间的相关无敌,语义目的在语音机器人中的运用,深渊性特征,经过Max Pooling后,进入最终的输出层得到语义向量。


此外,因为单句目的粒度较粗,无法满意单个话术区别必定否定分支的要求,如下图梁山气候所示,目的拿手处理的问题为,语句不同较大但语义彻底相同的文本,如:“我是”和“没错”都表明必定目的,而目的辨认无法无敌,语义目的在语音机器人中的运用,深渊处理目的相同,且语句之间只要细微不同的文本,如:“没想好”和“没考虑”都是否定目的,但前者却表明“想肚皮舞过,可是没有想好”,后者则表明“从来没有考虑过”,在意向发掘的场景下,前者暗指用户仍是有意向的,这一类问题相同需求用到类似度匹配来处理。

因而,除了规范问题和要害词问答,主线也会用到类似度匹配,用以处理目的粒度缺乏的问题,完结办法与规范问题相同。

槽位辨认

前面说到大部分话术的目的是意向承认,也有话术会要求提取用户提及的要害信息,并依据提取的内容进行话术跳转,这就需求槽位辨认模块。比方,关于58新车话术,体系对阅读过58新车、二手车的用户进行回访,并从中了解用户对买车的要求,并辨认出槽位:车品牌、车系、车型、姓氏、新车仍是二手车等。

槽位辨认是一种序列标示使命,一般运用实体辨认传祺ga8算法完结,目的是从一句话中提取咱们关怀的实体。实体标签与语句中的每个字对应,一般运用两种规范IOB2和IOBES,标签意义如下表:


辨认成果如下图所示,标签包括方位和实体类型两个部分,图中“电视机”即为一个实体。


槽位辨认的开发流程如下图所示,首要需求界说本体库,本体库也便是界说咱们需求辨认哪些实体类型,以及各实体之间的联系,如:“地址”类型包括“城市”、“商圈”等,“时刻大类”包括“时刻”、“日期”等,因而本体库为一个树形结构。结构好本体库,对每个“叶子节点”搜集一些实体,并依据这些实体爬虫取得相关文本数据,运用Trie数先依据要害词辨认出文本中实体的大约方位,再运用标示东西批改Trie树的结巢湖学院构。

最终,咱们选用IDCNN+CRF模型来进行实体辨认,模型结构如下图所示。IDCN无敌,语义目的在语音机器人中的运用,深渊N也叫空泛卷积,其卷积核的每行每列之间有距离,能够增大模型的感触野,一般以四个卷积核为一个网络单元,重复屡次以取得字与字中心丰厚的依存联系。

经过IDCNN得到标签数量维度的向量,作为CRF的特征,然后得到每个字对应的实体标签。现在,测验会集槽位辨认全体的chunk准确率为95%。


在语音机器人场景中,辨认出来的槽位用于话术流通,一起作为最终标签的一部分,并不涉及到依据槽位查找数据库或常识图谱的进程。因而,在装备槽位时,定了三个概念槽位名、槽位类型和槽位值。

槽位名为事务方界说的姓名,也是最终槽位标签的姓名,槽位类型为槽位名对应的实体类型,也便是本体库中的一个节点,槽位值为从文本中提取出来的实体。如:槽位名为“品牌车系”,槽位类型为“car_brand, car_series”,槽位值为“奥迪,A6”。

辨认出槽位后,依据对话办理体系中槽位战略的装备,挑选话术跳转途径,完结话术流通。此外,辨认出来的槽位名+槽位值作为标签反馈给事务方。

总结

本文介绍的语义目的是对用户说话内容的了解,经过自然言语了解(NLU)模块得到。具体介绍末世之妖花灿烂了单句目的、语义类似度、槽四川旅行位辨认的完结进程和办法,结合对话办理,完结了一套通用的语音机器人体系。关于整轮通话的语义目的,后续会有相关文章介绍。

现在,关于用户说话的了解大部分是依据文字内容完结的,其作用受语音辨认和断句的作用影响较大,白话场无敌,语义目的在语音机器人中的运用,深渊景和喧闹的环境是目的辨认的难点。后续会进一步运用语音后宫懿妃传特征,优化语音辨认作用,使语音机器人与用户的交互愈加安稳流通。

作者简介

周维,算法高档开发工程师,担任智能客服闲谈机器人、写稿机器人、语音机器人算法相关作业。现在首要从事语音机器人NLU模块算法研制和外呼作用调优作业。


欢迎我们重视“58技能”微信大众号,“58技能”是58官方技能号,58技能创新、共享与交流渠道。