首页 > 乐器声学 专利正文
智能语音交互方法、装置、设备和计算机存储介质与流程

时间:2022-02-15 阅读: 作者:专利查询

智能语音交互方法、装置、设备和计算机存储介质与流程

1.本技术涉及计算机技术领域,特别涉及人工智能技术领域下的语音、大数据和深度学习技术。


背景技术:

2.随着计算机应用技术的迅速发展和不断普及,人们的衣食住行越来越依赖于各种应用,而这些应用大多数是以各领域的大数据为基础的。而这些数据的真实性和准确性则很大程度影响了应用效果和用户体验。例如在地图类应用中,地理位置点可以是地图上的poi(pointofinterest,兴趣点)、aoi(areaofinterest,兴趣区域)或者更大范围的roi(regionof interest,位置区域),尤其是与人们生活密切相关的地点,如学校、银行、餐馆、医院、超市等。一个地理位置往往包括:名称、坐标、地址、类别和电话等信息。地理位置信息通常由实地采集、互联网数据获取和用户上报等方式获取。由于城市建设快速发展和业务单位规划的变更,导致地理位置信息也会频繁地发生变化。
3.因此,在诸如地图类应用的大量应用场景下,对数据进行核实是一个重要的环节。


技术实现要素:

4.有鉴于此,本技术提供了一种智能语音交互方法、装置、设备和计算机存储介质,以便于智能化的实现数据核实。
5.第一方面,本技术提供了一种智能语音交互方法,包括:
6.获取用户输入的第一对话语音;
7.将所述第一对话语音输入语音交互模型,获取所述语音交互模型针对所述第一对话语音生成的第二对话语音用以返回给所述用户;
8.其中所述语音交互模型包括:
9.语音编码子模型,用于对所述第一对话语音以及当前会话的历史对话语音进行编码,得到语音状态嵌入信息;
10.状态记忆网络,用于利用所述语音状态嵌入信息,得到至少一个预设属性的嵌入信息,其中所述至少一个预设属性依据被核实对象的信息预先设置;
11.语音生成子模型,用于利用所述语音状态嵌入信息和所述至少一个预设属性的嵌入信息,生成所述第二对话语音。
12.第二方面,本技术提供了一种获取语音交互模型的方法,包括:
13.获取训练数据,所述训练数据包括同一会话中的对话语音对,所述对话语音包括用户语音和反馈给用户的响应语音;
14.将所述用户语音作为语音交互模型的输入,训练所述语音交互模型,训练目标包括最小化所述语音交互模型输出的响应语音与训练数据中对应响应语音的差异;其中所述语音交互模型包括:
15.语音编码子模型,用于对所述用户语音以及同一会话的历史对话语音进行编码,
得到语音状态嵌入信息;
16.状态记忆网络,用于利用所述语音状态嵌入信息,得到至少一个预设属性的嵌入信息,其中所述至少一个预设属性依据被核实对象的信息预先设置;
17.语音生成子模型,用于利用所述语音状态嵌入信息和所述至少一个预设属性的嵌入信息,生成响应语音。
18.第三方面,本技术提供了一种智能语音交互装置,包括:
19.语音获取单元,用于获取用户输入的第一对话语音;
20.语音生成单元,用于将所述第一对话语音输入语音交互模型,获取所述语音交互模型针对所述第一对话语音生成的第二对话语音用以返回给所述用户;
21.其中所述语音交互模型包括:
22.语音编码子模型,用于对所述第一对话语音以及当前会话的历史对话语音进行编码,得到语音状态嵌入信息;
23.状态记忆网络,用于利用所述语音状态嵌入信息,得到至少一个预设属性的嵌入信息,其中所述至少一个预设属性依据被核实对象的信息预先设置;
24.语音生成子模型,用于利用所述语音状态嵌入信息和所述至少一个预设属性的嵌入信息,生成所述第二对话语音。
25.第四方面,本技术还提供了一种获取语音交互模型的装置,包括:
26.训练数据获取单元,用于获取训练数据,所述训练数据包括同一会话中的对话语音对,所述对话语音包括用户语音和反馈给用户的响应语音;
27.第一模型训练单元,用于将所述用户语音作为语音交互模型的输入,训练所述语音交互模型,训练目标包括最小化所述语音交互模型输出的响应语音与训练数据中对应响应语音的差异;
28.其中所述语音交互模型包括:
29.语音编码子模型,用于对所述用户语音以及同一会话的历史对话语音进行编码,得到语音状态嵌入信息;
30.状态记忆网络,用于利用所述语音状态嵌入信息,得到至少一个预设属性的嵌入信息,其中所述至少一个预设属性依据被核实对象的信息预先设置;
31.语音生成子模型,用于利用所述语音状态嵌入信息和所述至少一个预设属性的嵌入信息,生成响应语音。
32.第五方面,本技术还提供了一种电子设备,包括:
33.至少一个处理器;以及
34.与所述至少一个处理器通信连接的存储器;其中,
35.所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上任一项所述的方法。
36.第六方面,本技术还提供了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行上述中任一项所述的方法。
37.上述可选方式所具有的其他效果将在下文中结合具体实施例加以说明。
附图说明
38.附图用于更好地理解本方案,不构成对本技术的限定。其中:
39.图1为本公开实施例提供的智能语音交互的方法流程图;
40.图2为本公开实施例提供的语音交互架构示意图;
41.图3为本公开实施例提供的语音交互模型的结构示意图;
42.图4为本公开实施例提供的状态记忆网络的工作原理图;
43.图5为本公开实施例提供的获取语音交互模型的方法流程图;
44.图6为本公开实施例提供的智能语音交互装置的结构图;
45.图7为本公开实施例提供的获取语音交互模型的装置结构图;
46.图8是用来实现本公开实施例的电子设备的框图。
具体实施方式
47.以下结合附图对本技术的示范性实施例做出说明,其中包括本技术实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本技术的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
48.目前进行的数据核实通常采用人工的方式。例如针对地理位置点数据的核实,通常采用实地采集核实和人工客服打电话核实的方法。实地采集核实是地图信息采集员到达地理位置点实地,通过勘测、拍照、询问等方法对地理位置点信息进行核实。实地采集核实的方案在早期非信息化时代的地理信息建设中使用普遍,但是该方案需要消耗大量人力物力,不仅效率低,而且对作业人员有专业能力要求,不适用于大量数据作业,目前基本已被摒弃。
49.人工客服打电话核实则是客服拨打地理位置点的电话,使用人工对话询问的方式来核实信息。核实人员可以不用到达实地即可通过电话获得信息反馈。人工客服通过与用户直接沟通,更容易获得确切的信息。同时该方案操作门槛低对人工客服无特殊专业能力要求。如人工客服可基于现存信息询问该地理位置点的名称、地址、营业时间等属性信息,通过对方的反馈来标记该地理位置点的各个信息是否正确并进行更新。
50.然而人工客服打电话核实的方式需要大量人工参与,人工成本高、效率低,一个人一天只能核实100到200条。并且人很容易疲劳和情绪化,很难保证长时间的稳定作业。
51.虽然目前也有一些相关技术能够实现智能语音交互式的问询来进行信息核实,但整个系统需要由语音识别模型、语义理解模型、对话管理模型、自然语言生成模型、语音合成模型等大量模型构成。这些模型之间存在依赖,上游模型的错误会级联到下游模型,从而造成错误累积。例如如果语义理解模型对意图理解错误,则后续的对话则会完全失控。
52.图1为本公开实施例提供的智能语音交互的方法流程图。该方法的执行主体可以为语音交互装置,该装置可以位于服务器端的应用,或者还可以为位于服务器端的应用中的插件或软件开发工具包(software developmentkit,sdk)等功能单元,或者,还可以位于具有较强计算能力的计算机终端,本发明实施例对此不进行特别限定。若该方法在服务器端执行,则该服务器可以是单个的服务器,也可以是由多个服务器组成的服务器集群,服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,
以解决传统物理主机与虚拟专用服务器(vps,

irtualprivateserver)服务中存在的管理难度大,业务扩展性弱的缺陷。如图1中所示,该方法主要包括以下步骤:
53.在101中,获取用户输入的第一对话语音。
54.在102中,将第一对话语音输入语音交互模型,获取语音交互模型针对第一对话语音生成的第二对话语音用以返回给用户;其中语音交互模型包括语音编码子模型、状态记忆网络和语音生成子模型;语音编码子模型,用于对第一对话语音以及当前会话的历史对话语音进行编码,得到语音状态嵌入信息;状态记忆网络,用于利用语音状态嵌入信息,得到至少一个预设属性的嵌入信息;语音生成子模型,用于利用语音状态嵌入信息和至少一个预设属性的嵌入信息,生成第二对话语音;其中上述至少一个预设属性依据被核实对象的信息预先设置。
55.由以上技术方案可以看出,通过上述方式能够针对用户输入的第一对话语音,依据被核实对象的信息预先设置的属性生成第二对话语音,这种自动化的端到端语音生成方式能够实现智能化的数据核实。
56.本公开实施例涉及的被核实对象可以是任意领域的被核实对象,例如地图类应用中的地理位置点、电子商务领域的交易信息、商品信息等等。
57.为了方便对本公开实施例的理解,首先对本公开所基于的应用架构进行简单描述。如图2中所示,如图2中所示,本公开的语音交互架构中,用户与本公开实施例提供的语音交互装置建立通信连接后,可以实现由语音交互装置通过通信连接与用户进行语音交互以进行信息核实。例如可以通过电话与用户进行语音交互,通过网络语音通话与用户进行语音交互,通过网络语音消息与用户进行语音交互等。
58.语音交互装置与用户在建立连接的一次会话中可以进行多轮对话,在本公开中为了方便描述和在名称上进行区分,将用户输入的语音称为“第一对话语音”,将针对用户输入的语音生成的响应语音(即返回给用户的语音)称为“第二对话语音”。需要说明的是,本公开中涉及的“第一”、“第二”等限定并不具备大小、顺序和数量等方面的限制,仅仅用以在名称上加以区分,例如“第一对话语音”和“第二对话语音”用以区分两条语音。
59.用户与语音交互装置建立连接后,首句语音可以由用户发出,也可以由语音交互装置发出。如果首句语音由用户发出,通常不具备特别的含义,例如是“喂”、“你好”、“hello”、“哪位”等等。
60.对于由语音交互装置发出的首句语音,则可以采用预设的话术,该话术可以是对本次会话的目的进行简单介绍,例如“您好,我是aaa客服,本次通话是为了向您进行信息核实”,其中“aaa”可以是应用服务或应用服务提供商等的名称。
61.或者,对于由语音交互装置发出的首句语音,也可以直接根据被核实对象的信息进入正题。被核实对象的信息可以在领域知识库库中获取。以地图类应用为例,领域知识库可以是poi数据库。语音交互装置向用户发出的首句语音可以是例如“请问您是xxx商铺吗?”,其中“xxx”可以是商铺的名称。
62.无论是用户的语音还是向用户返回的语音,都会被记录为本次会话的对话语音历史。也就是说,对话语音历史是以会话为记录范围的,仅仅记录本次会话的对话语音历史。
63.对于来自用户的第一对话语音,语音交互装置会对其第一对话语音和对话语音历史进行联合编码,编码后得到的语音状态嵌入信息送入状态记忆网络,用以更新该状态记
忆网络。状态记忆网络利用语音状态嵌入信息,得到至少一个预设属性的嵌入信息。然后至少一个预设属性的嵌入信息被利用进行语音生成,从而得到第二对话语音返回给用户。继续周而复始进行多轮对话,直至对话结束后,利用状态记忆网络当前记忆的各属性的嵌入信息进入业务处理逻辑,即依据各属性的嵌入信息进行分类处理后,得到各属性的信息,用以作为被核实对象的信息更新领域知识库。
64.下面对上述方法实施例中的各步骤进行详细描述。首先对上述步骤101即“获取用户输入的第一对话语音”进行详细描述。
65.在本步骤中获取的第一对话语音指的是来自用户的语音,该语音可以是用户在会话中发出的首句语音,也可以是用户在会话中的多轮对话中的任一次输入的语音,本公开针对用户输入的语音均执行上述方法流程中的处理,生成针对用户返回的第二对话语音,直至会话结束。
66.若本公开所提供的方法在服务器端实现,则用户通过用户终端输入第一对话语音后,通过用户终端与服务器端之间建立的通信连接将第一对话语音发送给服务器端。
67.若本公开所提供的方法在用户终端实现,则可以直接获取用户在用户终端输入的第一对话语音。
68.下面重点对上述步骤102即“将第一对话语音输入语音交互模型,获取语音交互模型针对第一对话语音生成的第二对话语音用以返回给用户”。
69.上面已经提及本公开中的语音交互模型采用端到端模型,直接由用户输入的第一对话语音生成第二对话语音,而无需先对第一对话语音进行语音识别,在对识别文本进行语义理解后生成回复文本,再利用回复文本进行语音合成。也就是说,本公开采用了一种全新的思路,语音交互模型直接从语音到语音进行转换。如图3所示,该语音交互模型可以包括语音编码子模型、状态记忆网络和语音生成子模型。在模型的整体架构上采取seq2seq(sequence

to

sequence,序列到序列)的方式。
70.语音编码子模型,用于对第一对话语音以及当前会话的历史对话语音进行编码,得到语音状态嵌入信息。
71.在本公开实施例中,语音编码子模型实际上是一个encoder(编码器),该encoder对第一对话语音和当前会话的历史对话语音(不包括该第一对话语音)进行联合编码,得到语音状态嵌入信息(embedding)。所谓嵌入信息实际上是一种向量表示。
72.语音编码子模型可以采用诸如双向lstm(longshort

termmemory,长短期记忆网络)、cnn(convolutionalneuralnetworks,卷积神经网络)、transformer编码器等来实现。
73.用户本轮的第一对话语音也会被记录于历史对话语音中,但并不参与本轮的语音编码。
74.状态记忆网络,用于利用语音状态嵌入信息,得到至少一个预设属性的嵌入信息。其中上述至少一个预设属性依据被核实对象的信息预先设置。
75.在本公开实施例中可以采用循环动态记忆网络来记忆和更新属性状态信息,循环动态记忆网络中包括m个记忆单元,每个属性各自对应一个记忆单元。
76.具体地,可以根据被核实对象信息设置m个属性,m为正整数。例如,假设被核实对象为地图类应用中的poi,那么可以针对poi名称、poi状态、开门时间、关门时间等属性设置。其中poi状态可以是诸如新增、更名、搬迁、关闭等。
77.如图4中所示,在状态记忆网络中各记忆单元(memoryslot)之间相互独立,由(key,value)组成,key用来标识属性名,value用来存储该属性的embedding。针对每个记忆单元可以使用rnn(recurrentneural network,循环神经网路)来实现。优选地,可以使用gatedrnn(门限循环神经网络),在图中表示为gru(门控循环单元)。语音状态embedding被送入到状态记忆网络后,状态记忆网络会同时对m个不同的记忆单元的rnn进行更新,各记忆单元的计算相互独立,但在更新状态时各rnn分别更新。为了减少餐数量,在本公开实施例中可以将各记忆单元的rnn网络参数保持相同,也就是说共享一套rnn参数。
78.在每一轮对话中,记忆单元利用对应的属性名、语音状态embedding以及该记忆单元记录的embedding,生成该记忆单元所对应属性的embedding。然后记忆单元利用本次生成的embedding更新记录的embedding。
79.如图4中所示,假设有m个记忆单元。记忆单元1中在第一次对话中,利用key1、第一次对话的语音状态embedding(表示为e1)以及value1,生成该记忆单元1所对应属性即key1的embedding表示为然后记忆单元1记录该生成的embedding,也就是说,利用本次生成的embedding更新value1。
80.记忆单元2中在第一次对话中,利用key2、第一次对话的语音状态embedding(表示为e1)以及value2,生成该记忆单元2所对应属性即key2的embedding表示为然后记忆单元2记录该生成的embedding,也就是说,利用本次生成的embedding更新value2。记忆单元2图中省略未示出。
81.其他记忆单元类似,不做赘述。然后该状态记忆网络将本次对话中生成的m个embedding输出,表示为
82.然后在第二次对话中,记忆单元1中在第一次对话中,利用key1、第二次对话的语音状态embedding(表示为e2)以及value1,生成该记忆单元1所对应属性即key1的embedding表示为然后记忆单元1记录该生成的embedding,也就是说,利用本次生成的embedding更新value1。
83.记忆单元2中在第二次对话中,利用key2、第二次对话的语音状态embedding(表示为e2)以及value2,生成该记忆单元2所对应属性即key2的embedding表示为然后记忆单元2记录该生成的embedding,也就是说,利用本次生成的embedding更新value2。
84.其他记忆单元类似,不做赘述。然后该状态记忆网络将本次对话中生成的m个embedding输出,表示为
85.一直到第n次对话,状态记忆网络生成的m个embedding输出,表示为
86.可以看出每一轮的语音状态embedding均被及时更新到状态记忆网络中,使得状态记忆网络能够捕捉语音对话历史中涉及到的属性值变更的信息。
87.语音生成子模型,相当于一个decoder(解码器),用于利用语音状态embedding和至少一个预设属性的嵌入信息,生成第二对话语音。
88.语音生成子模型可以采用单向rnn加上attention(注意力机制)的结构,也可以采用transformer解码器的结构。其中在进行attention时需要同时在语音编码子模型和状态
记忆网络两个输出上进行attention。
89.举个例子,第一次对话中的语音状态embedding即图4中的e1以及状态记忆网络输出的各属性的embedding即图4中的生成第二对话语音用以返回给用户。
90.生成的第二对话语音也会被记录于历史对话语音中。
91.依次类推。直至第n次对话,利用图4中的e
n
以及状态记忆网络输出的各属性的embedding即图4中的生成第二对话语音用以返回给用户。
92.若第n次对话是本次会话的最后一次对话,各记忆单元当前记录的各属性的embedding分别送入各属性对应的分类模型,该分类模型可以是图4中所示的softmax层。即记忆单元1当前记录的送入第一个softmax层,得到第一个属性的分类结果,该分类结果对应该属性的核实数据。记忆单元m当前记录的送入第m个softmax层,得到第m个属性的分类结果,该分类结果对应该属性的核实数据。该分类结果实际上利用了在整个会话过程中捕捉到的各属性的信息。
93.对于被核实对象信息而言,经过上述分类后得到的核实数据仍可能不准确。例如,对于poi名称“永乐超市”大概率正确。但对于某些时空场景下,其可能是“勇乐超市”、“涌乐超市”等。为了解决这一情况,可以进一步将核实数据链指到被核实对象所属领域知识库中的对象信息。例如,将poi名称链指到poi知识库中的poi名称上。
94.具体地,可以预先构建领域知识库,在该知识库中可以包括地理位置点信息,包括名称、类型、地址、坐标、联系方式、开门时间、关门时间等等。然后对于获取到的地理位置点信息,基于语音相似度、文本相似度、属性相似度中的至少一种,将核实数据分类至领域知识库,以将核实数据链指到领域知识库中的对象信息。如果确定出链指到的对象信息,则利用确定出的对象信息更新核实数据。其中,在进行上述分类时,实际上是利用预先构建的分类器对核实数据进行分类。该分类器所分类的类别就是领域知识库中各已有地理位置点,即分类器计算得到的核实数据属于领域知识库中各已有地理位置点的概率,依据该概率确定该核实数据是否链指到领域知识库中的已有地理位置点,以及如果链指到,则具体链指到哪个已有地理位置点。
95.例如,对于得到的核实数据“永乐超市”,将该核实数据的语音、文本、地址、坐标等其他属性值分类至领域知识库中的各已有地理位置点。若最终发现将其分类至“勇乐超市”的概率最高且超过预设阈值,则将语义理解得到的“永乐超市”更正为“勇乐超市”。其中在进行分类时可以采用gbdt(gradientboostingdecisiontree,梯度提升迭代决策树)算法。
96.通过上述链指处理,能够使得通过语义交互得到的核实数据更加准确。
97.下面针对上述语音交互方法,举一个应用实例:
98.假设需要进行poi的信息核实,预先设置4个属性,相应地,在语音交互装置的状态记忆网络设置4个记忆网络。这4个属性分别是:
99.m1:电话是否正确;
100.m2:是否正常营业;
101.m3:起始营业时间;
102.m4:结束营业时间。
103.与用户建立通信连接后,语音交互装置可以通过冷启动的方式按照预设的话术发起首句语音1:“您好,我是aaa客服,请问您那里是xxx饭店吗?”。该语音1被记录于当前会话的对话语音历史。其中“aaa”为具体应用服务的名字或者应用服务提供商的名字。
104.获取用户输入的语音2:“嗯是的,有啥事您说”。该语音2被记录于当前会话的对话语音历史。此时,语音交互装置获取到的隐含属性信息为:电话正确,该信息被更新到状态记忆网络中。
105.语音交互装置生成语音3返回给用户:“为了更好地让顾客在地图上找到您的店铺,我们正在帮您核实地图上登记的店面信息是否准确,您那边现在还照常开门营业吗?”该语音3被记录于当前会话的对话语音历史。
106.获取用户输入的语音4:“照常营业”。该语音4被记录于当前会话的对话语音历史。此时,语音交互装置获取到的隐含属性信息为:正常营业,该信息被更新到状态记忆网络中。
107.语音交互装置生成语音5返回给用户:“那您家每天具体的营业时间是什么时候?”该语音5被记录于当前会话的对话语音历史。
108.获取用户输入的语音6:“我们每天早上10点就开门了”。该语音6被记录于当前会话的对话语音历史。此时,语音交互装置获取到的隐含属性信息为:开门时间10点,该信息被更新到状态记忆网络中。
109.语音交互装置生成语音7返回给用户:“那您家每天什么时间关门?”该语音7被记录于当前会话的对话语音历史。
110.获取用户输入的语音8:“九点”。该语音8被记录于当前会话的对话语音历史。此时,语音交互装置获取到的隐含属性信息为:关门时间9点,该信息被更新到状态记忆网络中。
111.语音交互装置生成语音9返回给用户:“好的,感谢您对aaa的支持,祝您生活愉快,再见”。该语音9被记录于当前会话的对话语音历史。
112.会话结束后,对状态记忆网络中每个记忆单元记录的属性embedding进行分类后,得到如下核实数据:
113.m1:正确;
114.m2:是;
115.m3:10;
116.m4:9。
117.图5为本公开实施例提供的获取语音交互模型的方法流程图,该方法的执行主体可以为获取语音交互模型的装置,该装置可以位于服务器端的应用,或者还可以为位于服务器端的应用中的插件或软件开发工具包(softwaredevelopmentkit,sdk)等功能单元,或者,还可以位于具有较强计算能力的计算机终端,本发明实施例对此不进行特别限定。若该方法在服务器端执行,则该服务器可以是单个的服务器,也可以是由多个服务器组成的服务器集群,服务器可以是云服务器。如图5中所示,该方法可以包括以下步骤:
118.在501中,获取训练数据,训练数据包括同一会话中的对话语音对,对话语音包括用户语音和反馈给用户的响应语音。
119.由于目前在很多场景下已经累积了大量的人工客服与用户的通话记录,因此可以
直接用来作为模型训练的训练数据。训练数据包括同一会话中的对话语音对,对话语音对包括用户语音和人工客服反馈给用户的响应语音。在本公开实施例中,将人工客服反馈给用户的语音均称为响应语音。
120.同一会话中的上述对话语音对是有先后顺序的,在一个对话语音对之前的对话语音对均是该一个对话语音对的历史对话语音。
121.上述人工客服与用户之间的通话记录可以是用于进行被核实对象的信息核实的,例如对poi数据进行信息核实,则可以预先设置m个预设属性,可以是诸如poi名称、poi状态、开门时间、关门时间等。在训练数据中还可以针对各会话标注各预设属性的取值,该取值是根据通话记录中会话的内容得到的。
122.在502中,将用户语音作为语音交互模型的输入,训练语音交互模型,训练目标包括最小化语音交互模型输出的响应语音与训练数据中响应语音的差异。
123.语音交互模型的结构仍如图3中所示,即包括语音编码子模型、状态记忆网络和语音生成子模型。
124.在训练过程中,语音编码子模型对用户语音以及同一会话的历史对话语音进行编码,得到语音状态embedding。
125.状态记忆网络利用语音状态嵌入信息,得到至少一个预设属性的embedding。关于状态记忆网络的结构和原理参见之前实施例中的相关记载,在此不做赘述。
126.语音生成子模型利用语音状态嵌入信息和至少一个预设属性的嵌入信息,生成响应语音。其中预设属性同样可以是依据被核实对象的信息预先设置的。
127.在训练时,可以根据训练目标设计损失函数,例如设计损失函数l1体现语音交互模型输出的响应语音与训练数据中响应语音的差异。每一轮迭代依据损失函数l1的取值,采用梯度下降等方式更新语音交互模型的模型参数,可以包括语音编码子模型、状态记忆网络以及语音生成子模型的参数。
128.利用训练数据中一个会话中的各对话语音对按照时间顺序分别执行上述训练过程后,在503中,若一个会话结束则分别将此时状态记忆网络记忆的各属性的embedding作为各分类模型的输入,训练分类模型和语音交互模型。可以依据训练目标即最小化分类模型输出的分类结果与标注的属性取值之间的差异来设计损失函数l2。采用梯度下降等方式更新分类模型和语音交互模型的模型参数(至少包括语音编码子模型、状态记忆网络的参数)。
129.可以先利用l1更新语音交互模型的模型参数,然后在会话结束时再利用l2更新分类模型和至少部分语音交互模型的模型参数。也可以利用l1和l2设计一个总的损失函数l,每一轮迭代利用该总的损失函数l进行分类模型和语音交互模型的模型参数的更新。
130.以上是对本公开所提供方法进行的详细描述,下面结合实施例对本公开所提供装置进行详细描述。
131.图6为本公开实施例提供的智能语音交互装置的结构图,如图6中所示,该装置600可以包括:语音获取单元601和语音生成单元602,还可以进一步包括历史记录单元603、核实数据获取单元604和链指单元605。其中,各组成单元的主要功能如下:
132.语音获取单元601,用于获取用户输入的第一对话语音。
133.语音生成单元602,用于将第一对话语音输入语音交互模型,获取语音交互模型针
对第一对话语音生成的第二对话语音用以返回给用户。
134.其中语音交互模型包括语音编码子模型、状态记忆网络和语音生成子模型;语音编码子模型,用于对第一对话语音以及当前会话的历史对话语音进行编码,得到语音状态嵌入信息;状态记忆网络,用于利用语音状态嵌入信息,得到至少一个预设属性的嵌入信息;语音生成子模型,用于利用语音状态嵌入信息和至少一个预设属性的嵌入信息,生成第二对话语音;其中至少一个预设属性依据被核实对象的信息预先设置。
135.历史记录单元603,用于将第一对话语音和第二对话语音记录于当前会话的历史对话语音。
136.作为一种优选的实施方式,状态记忆网络包括至少一个记忆单元,每个记忆单元与一个预设属性对应。记忆单元用于利用对应的属性名、语音状态嵌入信息以及记忆的嵌入信息,生成并记忆该记忆单元所对应属性的嵌入信息。
137.核实数据获取单元604,用于当前会话结束后,获取各记忆单元记忆的对应属性的嵌入信息;将各属性的嵌入信息分别经过对应的分类模型进行分类,得到各属性的核实数据。
138.链指单元605,用于将核实数据链指到被核实对象所属领域知识库中的对象信息。
139.图7为本公开实施例提供的获取语音交互模型的装置结构图,如图7中所示,该装置700可以包括:训练数据获取单元701和第一模型训练单元702,还可以包括第二模型训练单元703。其中,各组成单元的主要功能如下:
140.训练数据获取单元701,用于获取训练数据,训练数据包括同一会话中的对话语音对,对话语音包括用户语音和反馈给用户的响应语音。
141.第一模型训练单元702,用于将用户语音作为语音交互模型的输入,训练语音交互模型,训练目标包括最小化语音交互模型输出的响应语音与训练数据中响应语音的差异。
142.其中语音交互模型包括语音编码子模型、状态记忆网络和语音生成子模型;语音编码子模型,用于对用户语音以及同一会话的历史对话语音进行编码,得到语音状态嵌入信息;状态记忆网络,用于利用语音状态嵌入信息,得到至少一个预设属性的嵌入信息;语音生成子模型,用于利用语音状态嵌入信息和至少一个预设属性的嵌入信息,生成响应语音。
143.作为一种优选的实施方式,训练数据获取单元701可以从人工客服与用户的通话记录中,获取同一会话的对话语音对,对话语音对包括用户语音和人工客服反馈给用户的响应语音。
144.作为一种优选的实施方式,状态记忆网络包括至少一个记忆单元,每个记忆单元与一个预设属性对应。
145.记忆单元用于利用对应的属性名、语音状态嵌入信息以及记忆的嵌入信息,生成并记忆该记忆单元所对应属性的嵌入信息。
146.更进一步地,训练数据还可以包括:针对各会话标注的各预设属性的取值。
147.相应地,第二模型训练单元703,用于获取会话结束后各记忆单元记忆的对应属性的嵌入信息;分别将各属性的嵌入信息作为各分类模型的输入,训练分类模型和语音交互模型,训练目标包括最小化分类模型输出的分类结果与标注的取值之间的差异。
148.可以看出,在本公开实施例中语音交互装置中并不存在语音识别、语义理解、对话
管理、情感分析等等模块,而是采用端到端的方式,直接由用户语音生成向用户返回的语音。即对模型输入语音,模型直接输出返回的语音,不存在大量模型之间的依赖和级联,解决了错误累积的问题。
149.本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
150.本公开的技术方案中,所涉及的用户个人信息的获取,存储和应用等,均符合相关法律法规的规定,且不违背公序良俗。
151.根据本技术的实施例,本技术还提供了一种电子设备和一种可读存储介质。
152.如图8所示,是根据本技术实施例方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本技术的实现。
153.如图8所示,该电子设备包括:一个或多个处理器801、存储器802,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示gui的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图8中以一个处理器801为例。
154.存储器802即为本技术所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本技术所提供的方法。本技术的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本技术所提供的方法。
155.存储器802作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本技术实施例中的方法对应的程序指令/模块。处理器801通过运行存储在存储器802中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的方法。
156.存储器802可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据该电子设备的使用所创建的数据等。此外,存储器802可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器802可选包括相对于处理器801远程设置的存储器,这些远程存储器可以通过网络连接至该电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
157.该电子设备还可以包括:输入装置803和输出装置804。处理器801、存储器802、输
入装置803和输出装置804可以通过总线或者其他方式连接,图8中以通过总线连接为例。
158.输入装置803可接收输入的数字或字符信息,以及产生与该电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置804可以包括显示设备、辅助照明装置(例如,led)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(lcd)、发光二极管(led)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
159.此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用asic(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
160.这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(pld)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
161.为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
162.可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。
163.计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端

服务器关系的计算机程序来产生客户端和服务器的关系。
164.应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,
只要能够实现本技术公开的技术方案所期望的结果,本文在此不进行限制。
165.上述具体实施方式,并不构成对本技术保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本技术的精神和原则之内所作的修改、等同替换和改进等,均应包含在本技术保护范围之内。