基于深度学习和有限状态机的智能语音机器人系统的制作方法

文档序号:20604365发布日期:2020-05-01 21:56阅读:227来源:国知局
基于深度学习和有限状态机的智能语音机器人系统的制作方法

本发明涉及信息处理技术领域,具体涉及一种基于深度学习和有限状态机的智能语音机器人系统。



背景技术:

随着科技的发展,智能语音机器人被广泛应用于电话销售领域,智能客服,电话回访等相关领域。智能语音机器人通过自动拨打号码,与用户通话,然后在通话的过程中识别用户所表达的情感和真实意图,并根据相应的业务规则进行应答,完成完整的业务需求。智能语音机器人将传统的人工话务员从重复单调的业务系统中解放出来,有效地降低了人工成本。此外,智能语音机器人系统在整个过程中,不受自己情绪影响,可以保质保量完成业务任务。

智能语音机器人的核心是机器人能够正确理解用户所希望表达的意图。意图识别的准确性主要受制于两个方面,一方面是受制于大量数据的累计,幸运的是,基于人工的电话回访、智能客服、电话销售等相关领域已经积累了大量的数据,并且在业务实现过程中已经实施对数据的标注;另一方面是受制于深度学习技术,随着深度学习技术的发展,深度学习技术在自然语言处理方面取得了长足发展,其算法能力已经得到了很大提高。因此,海量数据的积累和深度学习技术的发展为智能语音机器人的推广应用提供了完整的基础。

然而,目前的智能语音机器人虽然可以按照标准的流程,合规合法地完成相应的业务功能,但是却缺乏应对不同业务需求的能力,同时目前的智能语音机器人与用户的交互过程比较机械,难以有效地理解用户的真实意图。



技术实现要素:

本发明旨在至少在一定程度上解决上述技术中的技术问题之一。为此,本发明的目的在于提出一种基于深度学习和有限状态机的智能语音机器人系统,能够提高智能语音机器人识别用户意图的准确度与应对多样的业务需求的适应性,从而能够实现业务和功能之间的松散耦合。

为达到上述目的,本发明实施例提出了一种基于深度学习和有限状态机的智能语音机器人系统,包括:语音外呼模块,所述语音外呼模块用于呼叫用户并获取用户应答信息;用户意图识别模块,所述用户意图识别模块基于深度学习根据所述用户应答信息对用户意图进行识别;业务执行模块,所述业务执行模块基于有限状态机根据识别的用户意图进行业务跳转并执行相应的业务操作,同时保存相应的业务数据。

根据本发明实施例的基于深度学习和有限状态机的智能语音机器人系统,通过语音外呼模块获取用户应答信息,并通过用户意图识别模块基于深度学习根据用户应答信息对用户意图进行识别,然后通过业务执行模块基于有限状态机根据识别的用户意图进行业务跳转并执行相应的业务操作,同时保存相应的业务数据,由此,能够提高智能语音机器人识别用户意图的准确度与应对多样的业务需求的适应性,从而能够实现业务和功能之间的松散耦合。

另外,根据本发明上述实施例提出的基于深度学习和有限状态机的智能语音机器人系统还可以具有如下附加的技术特征:

根据本发明的一个实施例,所述用户意图识别模块包括:预处理模块,所述预处理模块用于对所述用户应答信息进行停用词删减、纠错、分词处理;词向量模型,所述词向量模型用于对预处理后的用户应答信息进行向量化处理,以将所述预处理后的用户应答信息转换为对应的词向量:深度学习网络模型,所述深度学习网络模型用于根据所述词向量识别用户的意图。

进一步地,所述用户意图识别模块还包括模式跳转模块,所述模式跳转模块基于有限状态机实现与业务跳转,所述有限状态机的跳转触发为深度模型所识别的意图,当所述深度学习网络模型未完成训练时,所述有限状态机将根据所述预处理后的用户应答信息通过关键字匹配或模式匹配的方式来识别用户的意图,并进行跳转。

根据本发明的一个实施例,所述深度学习网络模型基于样本数据进行训练,具体基于双向lstm网络对样本数据进行训练。

根据本发明的一个实施例,所述词向量模型基于word2vec生成。

根据本发明的一个实施例,所述预处理模块包括领域专用字典,所述领域专用字典基于样本数据生成,用于对所述用户应答信息进行分词处理。

进一步地,所述的基于深度学习和有限状态机的智能语音机器人系统还包括:呼叫策略定义模块,所述呼叫策略定义模块用于设定所述语音外呼模块的呼叫策略;业务逻辑定义模块,所述业务逻辑定义模块用于设定业务逻辑;业务数据分析模块,所述业务数据分析模块用于分析所述业务执行模块保存的业务数据;业务数据展现模块,所述业务数据展现模块用于展示分析后的业务数据。

进一步地,所述业务逻辑基于有限状态机进行跳转,每一个所述业务逻辑均包括触发条件、跳转目的、执行动作。

附图说明

图1为本发明实施例的基于深度学习和有限状态机的智能语音机器人系统的方框示意图;

图2为本发明一个实施例的基于深度学习和有限状态机的智能语音机器人系统的方框示意图;

图3为本发明一个实施例的业务逻辑的bnf定义;

图4为本发明一个实施例的基于双向lstm的深度学习网络模型示意图;

图5为本发明一个实施例的基于深度学习和有限状态机的智能语音机器人系统的方框示意图;

图6为本发明一个具体实施例的智能语音机器人的业务流程图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

图1为本发明实施例的基于深度学习和有限状态机的智能语音机器人系统的方框示意图。

如图1所示,本发明实施例的基于深度学习和有限状态机的智能语音机器人系统包括语音外呼模块10、用户意图识别模块20和业务执行模块30。其中,语音外呼模块10用于呼叫用户并获取用户应答信息;用户意图识别模块20基于深度学习根据用户应答信息对用户意图进行识别;业务执行模块30基于有限状态机根据识别的用户意图进行业务跳转并执行相应的业务操作,同时保存相应的业务数据。

进一步地,如图2所示,本发明实施例的基于深度学习和有限状态机的智能语音机器人系统还可包括呼叫策略定义模块40和业务逻辑定义模块50。其中,呼叫策略定义模块40可用于设定语音外呼模块10的呼叫策略;业务逻辑定义模块50可用于设定业务逻辑。

在本发明的一个实施例中,业务逻辑可基于有限状态机进行跳转。具体地,如图3所示,每一个业务逻辑的跳转,即transfer均包括触发条件,即condition;跳转目的,即next;执行动作,即action。其中,触发条件,即condition可为关键字,即keywords、意图标签,即label或模式串,即template;跳转目的,即next可为结束,即end或跳转到节点,即transfer;执行动作,即action可为播放录音,即play、设置参数,即set或保存设置,即save。

在本发明的一个实施例中,呼叫策略定义模块40可配置呼叫策略,例如可导入需要访问用户的信息,并设定需要访问用户的策略,即访问时间、访问频率和访问次数。

在本发明的一个实施例中,用户意图识别模块20可包括预处理模块,预处理模块用于对用户应答信息进行停用词删减、纠错、分词处理;词向量模型,词向量模型用于对预处理后的用户应答信息进行向量化处理,以将预处理后的用户应答信息转换为对应的词向量:深度学习网络模型,深度学习网络模型用于根据所述词向量识别用户的意图。

其中,预处理模块可包括领域专用字典,领域专用字典可基于样本数据生成,用于对用户应答信息进行分词处理。具体地,可先基于样本数据分析相应领域的意图类别,然后可根据该意图类别对相应领域的样本数据进行标注,最后根据标注的样本数据生成对应的领域专用字典。

其中,词向量模型可基于word2vec生成。

其中,深度学习网络模型可基于样本数据进行训练。具体地,如图4所示,可基于双向lstm网络,并设定双向lstm网络的层数和输入的序列长度参数,以对样本数据进行训练,得到深度学习网络模型。进一步地,可将得到的深度学习网络模型导出为pb模型,并可通过tensorflow-serving进行部署。

在本发明的一个实施例中,用户意图识别模块20还可包括模式跳转模块,模式跳转模块基于有限状态机实现与业务跳转,有限状态机的跳转触发为深度模型所识别的意图,当深度学习网络模型未完成训练时,有限状态机将根据预处理后的用户应答信息通过关键字匹配或模式匹配的方式来识别用户的意图,并进行跳转。

具体地,模式跳转模块可基于有限状态机进行不同的跳转,例如,当深度学习网络模型完成训练时,模式跳转模块针对深度学习网络模型识别的意图进行跳转,可具体根据有限状态机的状态选择对应的深度网络模型,进一步可将向量化后的用户应答信息,即词向量输入到该训练好的深度学习网络模型中,以识别用户的意图,即得到用户的意图分类。

当深度学习网络模型未完成训练时,模式跳转模块可通过关键字匹配的方式来进行意图识别并跳转,可具体将用户应答信息的分词与设定的关键字信息进行匹配,以识别用户的意图,即得到用户的意图分类;当深度学习网络模型未完成训练时,模式跳转模块还可应用模式匹配的方式来进行意图识别并跳转,具体将用户应答信息的分词与设定的模式串进行匹配,以识别用户的意图,即得到用户的意图分类。通过模式跳转模块针对关键字和模式串的跳转,可实现基于深度学习和有限状态机的智能语音机器人系统的冷启动,即保证在深度学习网络模型未完成训练时仍然能够进行用户意图的识别。

在本发明的一个实施例中,业务执行模块30可根据业务逻辑和识别的用户意图返回用户应答信息相应的返回信息。

进一步地,在进行业务跳转时,可执行相应的业务操作并保存相应的业务数据。

在本发明的一个实施例中,如图5所示,基于深度学习和有限状态机的智能语音机器人系统还包括业务数据分析模块60和业务数据展现模块70。其中,业务数据分析模块60可用于分析业务执行模块30保存的业务数据;业务数据展现模块70用于展示分析后的业务数据。

下面将以本发明的基于深度学习和有限状态机的智能语音机器人系统在客户满意度调査中的应用为例,进一步说明本发明的基于深度学习和有限状态机的智能语音机器人系统的工作流程。

在本发明的一个具体实施例中,首先根据前期人工问卷调查的样本数据训练用户意图识别模块,同时设定业务逻辑和智能语音机器人话术并通过业务逻辑定义模块输入。

具体地,可通过客户满意度调査领域的数据专家根据该领域内的样本数据训练基于双向lstm构建的深度学习网络模型,以用于识别用户意图,并可通过该领域的业务专家根据业务,即客户满意度调查业务的需求,编写制定好业务方案的跳转,并针对各个情景,编写相应的智能语音机器人话术,最终根据业务方案与智能语音机器人话术完成业务逻辑,然后可通过该领域的业务人员根据编写的话术和业务逻辑配置智能语音机器人。

在本发明的一个具体实施例中,根据前期人工问卷调查的样本数据训练用户意图识别模块,包括首先基于前期人工问卷调查的样本数据分析该领域,即客户满意度调查领域的意图类别,然后可根据意图类别对该领域的前期人工问卷调查的样本数据进行标注,最后可根据标注的前期人工问卷调查的样本数据生成该领域,即客户满意度调查领域专用字典。

其中,客户满意度调查领域的意图类别为:

{

"1":"1分",

"2":"2分",

"3":"3分",

"4":"4分",

"5":"5分",

"6":"6分",

"7":"7分",

"8":"8分",

"9":"9分",

"10":"10分",

"11":"impatient",

"12":"not_well_know",

"13":"identify",

"14":"positive",

"15":"negative"

}

对该领域的前期人工问卷调查的样本数据进行标注的格式为{text:label},具体如下所示:

请问您是这个号码的主要使用者吗?对。14

请问您或者您的家人是否有在运营商等行业工作的没有。15

根据您的使用体验,您对江苏电信4g业务的总体满意度如何评价?请用1-10分中的任意一个整数来打分,10分表示“非常满意”十分啊。10

您继续使用江苏电信4g业务的可能性有多大?请用1-10分中的任意一个整数来打分,10分表示“非常满意”继续使用嗯嗯。打几分呢八分吧。8。

进一步地,根据前期人工问卷调查的样本数据训练用户意图识别模块,还包括基于gensim生成word2vec词向量模型。

除此之外,根据前期人工问卷调查的样本数据训练用户意图识别模块,还包括根据前期人工问卷调查的样本数据训练深度学习网络模型,具体为:

{

"model_name":"bilstm_atten",

"epochs":2,

"checkpoint_every":100,

"eval_every":100,

"learning_rate":1e-3,

"optimization":"adam",

"embedding_size":200,

"hidden_sizes":[256],

"sequence_length":100,

"batch_size":128,

"vocab_size":10000,

"num_classes":1,

"keep_prob":0.5,

"l2_reg_lambda":0.0,

"max_grad_norm":5.0,

"train_data":"data/imdb/train_data.txt",

"eval_data":"data/imdb/eval_data.txt",

"stop_word":"data/english",

"output_path":"outputs/imdb/bilstm_atten",

"word_vectors_path":null,

"ckpt_model_path":"ckpt_model/imdb/bilstm_atten",

"pb_model_path":"pb_model/imdb/bilstm_atten"

}

进一步地,可将深度学习网络模型导出为pb模型,并可通过tensorfow-serving进行部署,具体为:

tensorflow_model_server--port=8500--model_name=text_classifier--model_base_path=/text_classifier_tfserving_model/

在本发明的一个具体实施例中,可设定智能语音机器人话术为:

{

"steps":{

"a1":{

"model":"model-common",

"robot":"根据您的使用经验,您对江苏电信4g业务的总体满意度如何评价?请用1-10分中的任意一个整数来打分,10分表示“非常满意”。",

在本发明的一个具体实施例中,可设定业务逻辑的跳转逻辑为:

进一步地,可根据上述业务跳转逻辑的配置文件得到设定的每个业务跳转逻辑包括:触发条件label、keys和user_question;跳转目的“next”、“#a2”,其中“#a2”表示上述业务逻辑的配置文件中的a2节点,具体地“d1#a2”表示d1配置文件中的a2节点。

在本发明的一个具体实施例中,还需要配置智能语音机器人的呼叫策略,具体为首先导入需要访问的客户信息,即需要做回访调查的用户的电话号码信息;然后设定访问客户的策略,即访问时间、访问频率和访问次数,例如可设定访问时间段为8:30-11:30,和13:30-17:30,同时设定200个智能语音机器人的同时拨打,并设定拨打成功电话次数为80000。

基于上述训练的深度学习网络模型、设定的业务逻辑、设定的智能语音机器人话术和配置的智能语音机器人呼叫策略,可启动智能语音机器人执行客户满意度调查业务。

在本发明的一个具体实施例中,如图6所示,执行客户满意度调查业务包括以下步骤:

s1,加载呼叫策略。

s2,加载业务逻辑。

s3,开始呼叫客户。

s4,等待应答。

s5,客户应答信息预处理。

举例而言,当客户应答信息为“嗯,我大概可以打嗝八分吧!”时,可先删除该客户应答信息中的停用词,即“嗯”,然后对删除后的客户应答信息,即“我大概可以打嗝八分”进行语音纠错,即将“嗝”修正为“个”,最后可根据客户满意度调查领域专用字典对纠错后的客户应答信息,即“我大概可以打个八分”进行分词处理,可得到“我大概可以打个八分”分词。

s6,判断客户应答信息是否有效。若是,则执行步骤s7;若否,则返回步骤s4;若客户接收应答,则结束此次客户满意度调查业务。

s7,跳转模式。若针对深度学习网络模型识别的意图进行跳转,则执行步骤s8;若通过关键字匹配的方式来进行意图识别并跳转,则执行步骤s10;若应用模式匹配的方式来进行意图识别并跳转,则执行步骤s11。

s8,向量化处理预处理后的客户应答信息。

具体地,可基于客户满意度调查领域专用字典将每个词转换成一个one-hot向量,例如,“我”表示为(0,0,0,...,1,...),其中向量的维度为客户满意度调查领域专用字典的大小,只有“我”所对应序列有值为1,其余均为0;可基于word2vec词向量模型将每个分词转换成一个固定维度的向量,例如500维度的向量,可将“我”转换成(0.1,0.3456,0.43563,.........)。

s9,将词向量输入深度学习网络模型以识别用户意图。

具体地,每个有限状态机中的状态均对应一个深度网络模型,可根据有限状态机的状态选择对应的深度网络模型,例如可根据有限状态机中的状态“model”:“common_model”选择对应的深度网络模型。

更具体地,可将词向量输入对应的深度网络模型,以得到对应用户意图的输出向量,例如(0.103,0.002,0.223,....,0.6005,.....),进一步可将该输出向量通过softmax激活函数处理,以得到对应的用户意图的分类,例如第8类,从而完成用户的意图识别。

s10,针对预处理后的客户应答信息进行关键字匹配。

具体地,可将分词通过word2vec进行转换,以得到分词列表input=(i1,i2,i3,i4,....),同时将相应节点条件分支中的关键字转换为word2vec向量:

key=((k11,k12,k13,...),...(km1,km2,k1m3,...))

其中,m为节点条件分支的个数,kij为一个关键字转换之后的词向量。

进一步地,计算分词和关键字之间的语义相似度,并返回分支序号,如下所示:

其中,sim(x,y)为返回基于word2vec计算得到的分词和关键字之间的语义相似度,index为返回最大分支的序号。

s11,针对预处理后的客户应答信息应用模式匹配。

具体地,可采用正则表达式客户的应用模式,如下所示:

<patternmode="template">###(天气|气候)(怎样|怎么样|如何)</pattern>。

进一步地,匹配模式与分词之间的语义相似度,并返回分支序号。

进一步地,假设分词通过匹配的应用模式可得到input=(i1,i2,i3,i4,....),并假设相应节点所有分支中定义的应用模式为:

template=((t11,t12,t13,...),...(tm1,tm2,t1m3,...))

其中,m为相应节点的分支个数,tij为第i个分支中的第j个定义的应用模板。

进一步地,跳转的label返回分支序号,如下所示:

其中,match(x,template)为返回分词和应用模板template之间的匹配程度,index为返回相应分支的标签。

s12,业务跳转。

具体地,可根据识别的用户意图和业务逻辑执行对应的业务跳转,如下式所示:

next=transfer(label)

s13,业务跳转,并执行相应的业务操作。

s14,保存相应的业务数据,并返回步骤s4。

具体地,业务数据保存的结构如下所示:

(lnput,label,file)。

综上所述,可实现客户满意度调査业务,同时通过保存业务数据能够不断积累样本数据,提高训练的深度学习网络模型的精准度,并且通过“通用模型+插件式模型”的方式能够使得智能语音机器人适应业务的局部调整。

根据本发明实施例提出的基于深度学习和有限状态机的智能语音机器人系统,通过语音外呼模块获取用户应答信息,并通过用户意图识别模块基于深度学习根据用户应答信息对用户意图进行识别,然后通过业务执行模块基于有限状态机根据识别的用户意图进行业务跳转并执行相应的业务操作,同时保存相应的业务数据,由此,能够提高智能语音机器人识别用户意图的准确度与应对多样的业务需求的适应性,从而能够实现业务和功能之间的松散耦合。

在本发明中,除非另有明确的规定和限定,术语“相连”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1