CN110427625B - 语句补全方法、装置、介质及对话处理系统 - Google Patents
语句补全方法、装置、介质及对话处理系统 Download PDFInfo
- Publication number
- CN110427625B CN110427625B CN201910701230.3A CN201910701230A CN110427625B CN 110427625 B CN110427625 B CN 110427625B CN 201910701230 A CN201910701230 A CN 201910701230A CN 110427625 B CN110427625 B CN 110427625B
- Authority
- CN
- China
- Prior art keywords
- word
- sentence
- vector
- sequence
- matrix
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Theoretical Computer Science (AREA)
- Artificial Intelligence (AREA)
- Human Computer Interaction (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Machine Translation (AREA)
Abstract
公开了一种基于人工智能的语句补全方法、语句补全装置、语句补全设备、介质及对话处理系统,所述语句补全方法包括:获取对话中当前语句及当前语句的至少一个先前语句;提取所述至少一个先前语句中与当前语句相关联的隐含字;将所述至少一个先前语句、当前语句和隐含字拼接,得到复合输入序列;对所述复合输入序列进行处理,补全当前语句,得到补全对话。通过在先前语句中提取与当前语句相关联的隐含字,基于隐含字补全当前语句,便于更好地理解该对话语句并对于对话语句进行响应。
Description
技术领域
本公开涉及人工智能领域,更具体地涉及一种基于人工智能的语句补全方法、语句补全装置、语句补全设备、介质及对话处理系统。
背景技术
随着人工智能和机器学习技术在民用和商用领域的广泛应用,在聊天机器人、语音助理、客服机器人、语音交互系统及其他各类任务导向对话系统中均需要理解用户的对话内容,并对该对话内容进行反馈和响应。
目前的对话处理过程采用隐形模式对上文内容建模,一方面,对话上下文之间的联系较弱,相关性不明显,模型难以从上文内容中准确识别出有用信息;另外一方面,在隐形模式建模中,由于不会将模型对输入对话文本处理得到的对话内容进行输出或显示,因而在实际使用过程中,用户无法得知模型是否真正理解了对话内容。
因此,需要一种能够从上文对话语句中挑选有用信息,基于上文对话语句中的有用信息补全对话语句内容,从而能够直观真实地反映模型理解上文的能力的语句补全方法。
发明内容
针对以上问题,本公开提供了一种基于人工智能的语句补全方法、装置、设备、介质及对话处理系统。利用本公开提供的语句补全方法能够从上文对话语句中挑选隐含字,基于上文对话语句中的隐含字补全对话语句内容,从而能够直观真实地反映模型理解上文的能力的语句补全方法。
根据本公开的一方面,提出了一种基于人工智能的语句补全方法,包括:获取对话中当前语句及当前语句的至少一个先前语句;提取所述至少一个先前语句中与当前语句相关联的隐含字;将所述至少一个先前语句、当前语句和隐含字拼接,得到复合输入序列;对所述复合输入序列进行处理,补全当前语句,得到补全对话。
在一些实施例中,提取所述至少一个先前语句中与当前语句相关联的隐含字包括:将所述至少一个先前语句及当前语句拼接得到待挑选语句序列,并生成与所述待挑选语句序列对应的待挑选语句矩阵,所述待挑选语句矩阵中的每一行向量为待挑选语句序列中相应字的字向量;对所述待挑选语句矩阵进行处理,得到隐含字预测向量,所述隐含字预测向量与待挑选语句序列具有相同尺寸;将隐含字预测向量中的每一个隐含字预测值与预设阈值相比较,并将大于预设阈值的隐含字预测值所对应的字确定为隐含字。
在一些实施例中,对所述待挑选语句矩阵进行处理得到隐含字预测向量包括:对于待挑选语句矩阵中的每一行向量,计算其所对应的位置编码向量,并将所得到的位置编码向量与该行向量相加和,得到语句编码矩阵;对所述语句编码矩阵进行处理,生成待检测矩阵;对所述待检测矩阵进行处理,得到对应于该待检测矩阵的隐含字预测向量。
在一些实施例中,对所述复合输入序列进行处理以补全当前语句得到补全对话包括:对于预设输出序列中的每一个输出位,计算复合输入序列中每一个输入字为预设输出序列该输出位上输出字的概率,获得在该输出位上该输入字所对应的注意力数值,基于所述注意力数值得到注意力分布向量;计算预设字库序列中的每一个预设字为预设输出序列该输出位上的输出字的概率,获得在该输出位上该预设字所对应的生成概率数值,基于所述生成概率数值得到生成概率分布向量;基于生成概率分布向量和注意力分布向量,得到总分布向量;将总分布向量中最大总分布数值所对应的字确定为预设输出序列该输出位上的输出字,并将其输出。
在一些实施例中,对于预设输出序列中的每一个输出位得到所述注意力分布向量包括:通过第一循环神经网络对所述复合输入序列进行处理,生成与所述复合输入序列相对应的加码器隐状态矩阵,所述加码器隐状态矩阵中每一行向量对应于复合输入序列中的一个字;基于所得到的加码器隐状态矩阵,通过第二循环神经网络处理,得到用于该输出位的解码器隐状态向量;根据用于该输出位的解码器隐状态向量与加码器隐状态矩阵,计算得到用于该输出位的注意力分布向量。
在一些实施例中,对所述复合输入序列进行处理以补全当前语句得到补全对话还包括:对所述隐含字预测向量与复合输入序列共同进行处理,以得到补全对话。
根据本公开的另一方面,提出了一种基于人工智能的语句补全装置,包括:先前语句获取模块,其被配置为获取对话中当前语句及当前语句的至少一个先前语句;隐含字提取模块,其被配置为提取所述至少一个先前语句中与当前语句相关联的隐含字;语句序列生成模块,其被配置为将所述至少一个先前语句、当前语句和隐含字拼接,得到复合输入序列;语句补全模块,其被配置为对所述复合输入序列进行处理,补全当前语句,得到补全对话。
在一些实施例中,隐含字提取模块包括:待挑选语句矩阵生成模块,其被配置为将所述至少一个先前语句及当前语句拼接得到待挑选语句序列,并生成与所述待挑选语句序列对应的待挑选语句矩阵,所述待挑选语句矩阵中的每一行向量为待挑选语句序列中相应字的字向量;隐含字预测向量生成模块,其被配置为对所述待挑选语句矩阵进行处理,得到隐含字预测向量,所述隐含字预测向量与待挑选语句序列具有相同尺寸;隐含字获取模块,其被配置为将隐含字预测向量中的每一个隐含字预测值与预设阈值相比较,并将大于预设阈值的隐含字预测值所对应的字确定为隐含字。
在一些实施例中,隐含字预测向量生成模块包括:语句编码矩阵获取模块,其被配置为对于待挑选语句矩阵中的每一行向量,计算其所对应的位置编码向量,并将所得到的位置编码向量与该行向量相加和,得到语句编码矩阵;待检测矩阵生成模块,其被配置为对所述语句编码矩阵进行处理,生成待检测矩阵;隐含字预测向量确定模块,其被配置为对所述待检测矩阵进行处理,得到对应于该待检测矩阵的隐含字预测向量。
在一些实施例中,语句补全模块包括:注意力分布向量计算模块,其被配置为对于预设输出序列中的每一个输出位,计算复合输入序列中每一个输入字为预设输出序列该输出位上输出字的概率,获得在该输出位上该输入字所对应的注意力数值,基于所述注意力数值得到注意力分布向量;生成概率分布向量计算模块,其被配置为对于预设输出序列中的每一个输出位,计算预设字库序列中的每一个预设字为预设输出序列该输出位上的输出字的概率,获得在该输出位上该预设字所对应的生成概率数值,基于所述生成概率数值得到生成概率分布向量;总分布向量计算模块,其被配置为基于生成概率分布向量和注意力分布向量,得到总分布向量;当前字确定模块,其被配置为将总分布向量中最大总分布数值所对应的字确定为预设输出序列该输出位上的输出字,并将其输出。
根据本公开的另一方面,提出了一种基于人工智能的语句补全设备,其中所述设备包括处理器和存储器,所述存储器包含一组指令,所述一组指令在由所述处理器执行时使所述语句补全设备执行操作,所述操作包括:获取对话中当前语句及当前语句的至少一个先前语句;提取所述至少一个先前语句中与当前语句相关联的隐含字;将所述至少一个先前语句、当前语句和隐含字拼接,得到复合输入序列;对所述复合输入序列进行处理,补全当前语句,得到补全对话。
根据本公开的另一方面,提出一种对话处理系统,所述对话处理系统包括:对话采集装置,其被配置为采集用户的对话;处理器;存储器,所述存储器包含一组指令;其中,所述一组指令在由所述处理器执行时使所述对话处理系统执行操作,所述操作包括:获取对话中当前语句及当前语句的至少一个先前语句;提取所述至少一个先前语句中与当前语句相关联的隐含字;将所述至少一个先前语句、当前语句和隐含字拼接,得到复合输入序列;对所述复合输入序列进行处理,补全当前语句,得到补全对话。
在一些实施例中,所述一组指令在由所述处理器执行时使所述对话处理系统执行操作,所述操作还包括:基于所述补全对话,生成应答语句。
在一些实施例中,所述对话处理系统还包括应答输出单元,所述应答输出单元被配置为将所述应答语句输出。
根据本公开的另一方面,提出了一种算机可读存储介质,其特征在于,其上存储有计算机可读的指令,当利用计算机执行所述指令时执行如前所述的方法。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员而言,在没有做出创造性劳动的前提下,还可以根据这些附图获得其他的附图。以下附图并未刻意按实际尺寸等比例缩放绘制,重点在于示出本公开的主旨。
图1示出了根据本公开实施例的基于人工智能的语句补全方法100的示例性流程图;
图2示出了根据本公开实施例的提取所述至少一个先前语句中与当前语句相关联的隐含字的过程200的示例性流程图;
图3A示出了根据本公开的实施例的得到隐含字预测向量的过程300的示例性流程图;
图3B示出了根据本公开实施例的BERT模型的示例性结构图;
图3C示出了根据本公开实施例通过BERT模型得到待检测矩阵的过程310的示意性流程图;
图4A示出了根据本公开实施例对所述复合输入序列进行处理以补全当前语句得到补全对话的过程400的示例性流程图;
图4B中示出了根据本公开实施例基于概率分布向量和注意力分布向量得到总分布向量的过程的示例性流程图;
图5示出了根据本公开实施例得到所述注意力分布向量的过程500的示例性流程图;
图6示出了根据本公开实施例的端到端模型的示例性结构图;
图7示出了根据本公开实施例的基于人工智能的语句补全装置的示例性的框图;
图8A示出了根据本公开实施例的基于人工智能的语句补全设备的示例性的框图;
图8B示出了根据本公开实施例不同补全方法语句补全后得到的结果的示意图;
图9示出了根据本公开实施例的一种对话处理系统980的示例性框图;
图10A示出了根据本公开实施例对话处理系统980处理过程的示例性流程图;
图10B示出了根据本公开实施例不同对话处理系统对于预设输入对话的回复比较的示意图。
具体实施方式
下面将结合附图对本公开实施例中的技术方案进行清楚、完整地描述,显而易见地,所描述的实施例仅仅是本公开的部分实施例,而不是全部的实施例。基于本公开实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,也属于本公开保护的范围。
如本申请和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其他的步骤或元素。
虽然本申请对根据本申请的实施例的系统中的某些模块做出了各种引用,然而,任何数量的不同模块可以被使用并运行在用户终端和/或服务器上。所述模块仅是说明性的,并且所述系统和方法的不同方面可以使用不同模块。
本申请中使用了流程图用来说明根据本申请的实施例的系统所执行的操作。应当理解的是,前面或下面操作不一定按照顺序来精确地执行。相反,根据需要,可以按照倒序或同时处理各种步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。
人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
自然语言处理(Nature Language processing,NLP)是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系。自然语言处理技术通常包括文本处理、语义理解、机器翻译、机器人问答、知识图谱等技术。
随着人工智能技术研究和进步,人工智能技术在多个领域展开研究和应用,例如常见的智能家居、智能穿戴设备、虚拟助理、智能音箱、智能营销、无人驾驶、自动驾驶、无人机、机器人、智能医疗、智能客服等,相信随着技术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值。
本申请实施例提供的方案涉及基于人工智能的语句补全方法、装置、设备、介质、对话处理系统等技术,具体通过如下实施例进行说明。
图1示出了根据本公开实施例的基于人工智能的语句补全方法100的示例性的流程图。
首先,在步骤S101中,获取对话中当前语句及当前语句的至少一个先前语句。
所述对话例如可以为用户直接输入的文本内容,或者也可以首先对用户的对话进行语音采集,对采集得到的语音进行识别而生成文本内容。本公开不受所获取的对话的来源及其具体内容的限制。
所述对话中当前语句,表征对话中需要补全的对话语句,其可以基于实际需要进行设置。本公开的实施例不受所述当前语句所包括具体语句个数及其内容的限制。
所述先前语句,表征在对话中位于所述当前语句之前的对话语句。且所述先前语句也可以基于实际需要进行设置。例如可以将对话中当前语句之前的所有语句均设置为先前语句,或者也可以将对话中当前语句之前的预设数量的语句设置为先前语句,例如将当前语句之前的20句语句设置为先前语句。
获取对话中的当前语句及先前语句后,进一步地,在步骤S102中,提取所述至少一个先前语句中与当前语句相关联的隐含字。
所述隐含字表征先前语句中与当前语句相关联的字。例如,其可以为在先前语句中出现但是在当前语句中没有出现的字。所提取的隐含字例如可以为一个,或者也可以为多个,本公开的实施例不受所提取得到的隐含字的个数的限制。
所述提取隐含字的过程例如可以通过神经网络实现,例如通过卷积神经网络,双向长短时记忆循环神经网络(LSTM)来实现,或者也可以通过适用于自然语言相关的分类问题的大规模预训练的语言理解模型(BERT模型)来实现,或者也可以通过其他方式实现。本公开的实施例不受所述隐含字提取的具体实现方式的限制。
在得到隐含字后,进一步地,在步骤S103中,将所述至少一个先前语句、当前语句和隐含字拼接,得到复合输入序列。
拼接先前语句、当前语句、隐含字的过程中,例如可以进一步地在所拼接的不同类别内容(即先前语句、当前语句、隐含字三种类别)之间设置分割。具体而言,若先前语句为“蛋糕真好吃”,当前语句为“我也觉得”,隐含字为“蛋”、“糕”,且不同类别内容之间通过分隔符作为区分标识,则所得到的复合输入序列例如可以为“蛋糕真好吃|我也觉得|蛋糕”。本公开实施例不受具体的拼接形式和拼接得到的内容的限制。
得到复合输入序列后,在步骤S104中,对所述复合输入序列进行处理,补全当前语句,得到补全对话。
上述处理过程例如可以通过深度学习模型实现。所述深度学习模型例如可以为端到端(end-to-end learning)模型或其他的深度学习模型,或者其也可以为将端到端模型与其他深度学习模型集成所得到的复合深度学习模型。本公开的实施例不受所采用的深度学习模型的具体类型及其组成的限制。
基于上述,通过在对话的至少一个先前语句中提取与当前语句相关联的隐含字,将该隐含字与先前语句、当前语句按序拼接得到复合输入序列并对该复合输入序列处理,使得能够基于对话先前语句中与当前语句相关联的信息,即所确定的隐含字,对于当前语句进行补全,得到补全对话。因而在对话交互中存在词语省略的情况下,能够准确地补全该省略词语,完善了对话内容信息,有利于更好地理解对话内容,同时也有利于后续基于该对话内容进行响应和答复。
图2示出了根据本公开实施例的提取所述至少一个先前语句中与当前语句相关联的隐含字的过程200的示例性流程图。
参照图2,在一些实施例中,提取所述至少一个先前语句中与当前语句相关联的隐含字的过程可以更具体地描述。
首先,在步骤S201中,将所述至少一个先前语句及当前语句拼接得到待挑选语句序列,并生成与所述待挑选语句序列对应的待挑选语句矩阵,所述待挑选语句矩阵中的每一行向量为待挑选语句序列中相应字的字向量。在下文中,为了简化描述,有时将所述待挑选语句矩阵简称为“待挑选矩阵”。下文中所出现的“待挑选矩阵”与“待挑选语句矩阵”不做区分。
其中,所述待挑选矩阵与所述待挑选语句序列具有相同尺寸,其具体表征为,所述待挑选矩阵的行数与所述待挑选语句序列中的字数相同,且所述待挑选矩阵中每一行向量为待挑选语句序列中相应字的字向量。
进一步地,待挑选矩阵的行向量可以具有预设第一维数,所述预设第一维数可以根据实际情况进行设置,例如可以为128或者也可以为256。本公开的实施例不受所述待挑选矩阵的行向量所具有的预设第一维数的具体数值的限制。
例如,该待挑选语句序列例如为P×1维的向量,则生成的所述待挑选矩阵例如为P×I维的矩阵,即,所述矩阵为P行I列的矩阵。则基于其对应关系可知,待挑选语句序列中的第p个字(p为大于等于1且小于等于P的正整数)对应于待挑选矩阵的第p行向量。
基于所述待挑选语句序列生成所述待挑选矩阵的过程例如可以通过神经网络对该待挑选语句序列中的每一个字进行特征提取,输出其字特征向量,所述字特征向量即为待挑选矩阵的行向量;或者其可以通过预设的字向量对照表,对待挑选序列中的每一个字,得到其所对应的字向量作为待挑选矩阵的行向量。本公开的实施例不受得到所述待挑选矩阵的具体方式的限制。
具体而言,例如设置预设第一维数为3,则对于待挑选语句序列中的“你”、“我”、“天”,查找预设的字向量对照表,例如可以得到:“我”所对应的字向量是(-0.1,0.9,0.8),“你”所对应的字向量是(-0.1,0.8,0.9),“天”所对应的字向量是(1.7,-0.3,0.2)。
得到所述待挑选矩阵后,进一步地,在步骤S202中对所述待挑选语句矩阵进行处理,得到隐含字预测向量,所述隐含字预测向量与待挑选语句序列具有相同尺寸。
所述隐含字预测向量旨在表征待挑选语句序列中的每一个字为隐含字的概率。所述隐含字预测向量与所述待挑选语句序列具有相同尺寸,即,所述隐含字预测向量的维数与所述待挑选语句序列的维数相同。所述隐含字预测向量中的每一个子元素表征待挑选语句序列中相应的字的隐含字预测值。
所述隐含字预测值例如可以在0至1的数值范围内。例如其可以为0.9,或者其也可以为0.4。本公开的实施例不受所述隐含字预测值的具体数值内容的限制。
例如,当先前语句为“我喜欢煮饭”,当前语句为“我也喜欢”,且例如计算隐含字预测值时遵循如下规则:判断当前字是否仅在先前语句中出现而未在当前语句中出现,若其仅在先前语句中出现而未在当前语句中出现,则该字的隐含字预测值为1,否则其隐含字预测值为0。则此时对于拼接而成的待挑选序列“我喜欢煮饭|我也喜欢”而言,其序列中的字数为9,则其所对应的隐含字预测向量例如为(0,0,0,1,1,0,0,0,0)。
得到隐含字预测向量后,在步骤S203中,将隐含字预测向量中的每一个隐含字预测值与预设阈值相比较,并将大于预设阈值的隐含字预测值所对应的字确定为隐含字。
所述预设阈值旨在划分隐含字与非隐含字,其数值范围在0至1之间,且其可以基于实际需要进行设置。例如可以将其设置为0.5,或者也可以将其设置为0.8。本公开的实施例不受所设置的预设阈值的具体数值的限制。
例如,当所述预设阈值为0.5时,则对于如前所述待挑选序列“我喜欢煮饭|我也喜欢”的隐含字预测向量(0,0,0,1,1,0,0,0,0),可以获取其中数值大于0.5的子元素将其所对应的字确定为隐含字,即可以确定“煮”“饭”为隐含字。
基于上述,通过将至少一个先前语句及当前语句拼接形成待挑选语句并计算该待挑选语句的隐含字预测向量,可以基于该隐含字预测向量中各隐含字预测值来确定待挑选语句中的隐含字,从而可以提高隐含字确定的精确度,且该方法具有良好的鲁棒性。
图3A示出了根据本公开的实施例的得到隐含字预测向量的过程300的示例性流程图。图3B示出了根据本公开实施例的BERT模型的示例性结构图。
参照图3A及3B,在一些实施例中,当通过BERT模型对所述待挑选语句矩阵进行处理时,上述得到隐含字预测向量的过程可更具体地描述。
首先,在步骤S301中,对于待挑选语句矩阵中的每一行向量,计算其所对应的位置编码(Positiong Embedding)向量,并将所述位置编码向量与该行向量相加和得到该行向量对应的语句位置编码综合向量,基于语句位置编码综合向量得到语句位置编码综合矩阵,即语句编码矩阵。
其中,所述语句编码矩阵与所述待挑选矩阵具有相同尺寸,即,所述语句编码矩阵所具有的行数与所述待挑选矩阵相同,且所述语句编码矩阵各行向量所具有的维数与待挑选矩阵中各行向量所具有的维数相同,为第一预设维数。
在一些实施例中,位置编码向量例如可以经由如下所示出的公式计算:
PE(p,2i)=sin(p/100002i/I) 1)
PE(p,2i+1)=cos(p/100002i/I) 2)
其中,PE表征位置编码数值;p表征待挑选矩阵中当前行向量所具有的行号,即待挑选序列中当前待挑选字所具有的位置序号;I表征待挑选矩阵的各向量行具有的向量维数,即待挑选矩阵的列数;2i表征待挑选矩阵当前行向量中的偶数位置;2i+1表征待挑选矩阵当前行向量中的奇数位置。其中,当向量维数I为奇数时,i为大于等于1且小于等于(I-1)/2的正整数,当向量维数I为偶数时,i为大于等于1且小于等于I/2的正整数。
且其中,当对于待挑选矩阵中当前行向量的奇数位置的子元素计算其位置编码数值时,则采用公式1),当对于待挑选矩阵中当前行向量的偶数位置的子元素计算其位置编码数值时,则采用公式2)。
具体而言,例如待挑选矩阵中的第四行向量为(-0.1,0.8,-0.2),则基于上述公式计算得到:对应第四行向量中的第一位置元素-0.1的位置编码数值PE(4,1)为:PE(4,1)=cos(4/(10000(0/3)))=cos(4)=0.9975,对应第四行向量中的第二位置元素0.8的位置编码数值PE(4,2)为:PE(4,2)=sin(4/(10000(2/3)))=sin(4/464)=0.0001,对应第四行向量中的第三位置元素0.9的位置编码数值PE(4,3)为:PE(4,3)=cos(4/(10000(2/3)))=cos(4/464)=0.9999。基于此,得到的对应于第四行向量的位置编码向量为(0.9975,0.0001,0.9999)。
其后,将该行对应的位置编码向量与该行向量相加和得到该行向量对应的语句编码向量,则可以得到第四行向量所对应的语句编码向量为(0.8975,0.8001,0.7999)。基于每一行向量所对应的语句编码向量,最终得到语句编码矩阵。
得到语句编码矩阵后,在步骤S302中,对所述语句编码矩阵进行处理,生成待检测矩阵。
其中,所述待检测矩阵与所述待挑选矩阵具有相同尺寸,即所述待检测矩阵所具有的行数与所述待挑选矩阵相同,且所述待检测矩阵各行向量所具有的维数与待挑选矩阵中各行向量所具有的维数相同,为第一预设维数。
在一些实施例中,例如可以通过模型编码器对所述语句编码矩阵进行处理从而生成待检测矩阵,应了解,所述模型编码器可以循环执行以使得所得到的待检测矩阵具有较高精度,例如对于BERT模型编码器,其例如循环执行6次,或者也可以循环执行12次。本公开实施例不受所述模型编码器的执行次数的限制。
最后,基于所得到的待检测矩阵,在步骤S303中,对所述待检测矩阵进行处理,得到对应于该待检测矩阵的隐含字预测向量。
基于上述,通过将待挑选矩阵转换为语句编码矩阵,并进一步基于语句编码矩阵得到待检测矩阵,最终基于所述待检测矩阵得到隐含字预测向量,使得后续能够基于该隐含字预测向量实现对于隐含字的判别和处理,从而实现语句补全。
图3C示出了根据本公开实施例通过BERT模型得到待检测矩阵的过程310的示意性流程图。参照图3B和图3C,在一些实施例中,当采用BERT模型进行处理时,上述得到待检测矩阵的过程可以更具体地描述。
如图3B所示,所述BERT模型的模型编码器按照数据的执行顺序依次包括:多头注意力层、第一相加正则层、前向反馈层、第二相加正则层。则在进行待检测矩阵生成的过程中,首先,在步骤S311中,通过多头注意力层对语句编码矩阵进行线性转换,产生对应于语句编码矩阵的多头注意力矩阵。
其中,所述多头注意力矩阵与所述语句编码矩阵具有相同尺寸,即,所述多头注意力矩阵与所述语句编码矩阵所具有的行数和列数相同。
具体而言,BERT模型得到该语句编码矩阵后,将生成与该语句编码矩阵相同的多个输入矩阵,将所述多个输入矩阵(即多个相同的语句编码矩阵)输入至多头注意力层,且在所述多头注意力层中设置有预设数量的多个线性转换矩阵,所述多个线性转换矩阵彼此不同,所述预设数量例如为M。每一个线性转换矩阵将对一个输入矩阵进行处理。
生成多头注意力矩阵的过程为:输入的语句编码矩阵为P×I维的矩阵,即为P行I列的矩阵,且此时在多头注意力层中设置有M个线性转换矩阵,则每个线性转换矩阵为I行I/M列的矩阵。基于此,所述语句编码矩阵与M个注意力矩阵中的每一个注意力矩阵相乘后,相应得到M个注意力矩阵,其中每个注意力矩阵为P行I/M列,将该多个注意力矩阵拼接生成多头注意力矩阵时,基于该多个注意力矩阵的行数相同,因此分别提取该多个注意力矩阵第p行的行向量(其中i为大于等于1且小于I的正整数),将所述多个行向量拼接,并将拼接所得到的向量维数为I的行向量作为多头注意力矩阵第p行的行向量,据此得到P×I维的多头注意力矩阵。
例如,输入的语句编码矩阵为3×6维的矩阵,此时在多头注意力层中存在3个线性转换矩阵,则每个线性转换矩阵为6×2维的矩阵。基于此,将所述语句编码矩阵与3个注意力矩阵中的每一个注意力矩阵相乘后,相应得到3个注意力矩阵,每个所得到的注意力矩阵皆为3×2维的矩阵,即该矩阵具有3行2列。则所生成的多头注意力矩阵为3×6维的矩阵,且以该矩阵的第二行向量为例,其为将三个注意力矩阵第二行的行向量(2维向量)拼接得到的向量。
所述多头注意力层中线性转换矩阵的预设数量可以基于实际需要设置,其例如可以为8,或者也可以为12。本公开的实施例不受所述预设数量的具体数值的限制。
其后,在步骤S312中,将P×I维的所述语句编码矩阵与P×I维的所述多头注意力矩阵相加和得到P×I维的第一加和矩阵,并对所述P×I维的第一加和矩阵进行正则化处理,得到P×I维的加和正则矩阵。
对所述第一加和矩阵进行正则化处理例如可以通过如下所示出的公式实现:
公式3)用于计算第一加和矩阵中的每一行向量所具有的平均值,其中μ表征当前行向量所具有的向量平均值,I表征当前行向量所具有的向量维数;a表征当前行向量,ai表征当前向量行中的第i个向量子元素,其中i为大于等于1且小于等于向量维数I的正整数。
公式4)用于计算第一加和矩阵中每一行向量所具有的标准差。其中σ表征当前行向量所具有的向量标准差,I表征当前行向量所具有的向量维数;a表征当前行向量,ai表征当前向量行中的第i个向量子元素,其中i为大于等于1且小于等于向量维数I的正整数;μ为上述计算得到的当前行向量所具有的向量平均值。
得到第一加和向量中的每一行向量所具有的向量标准差和向量平均值后,接下来利用公式5)实现对第一加和向量中每一行的正则化:
其中,h表征第一加和矩阵当前行向量进行正则化后得到的正则化向量;μ为上述计算得到的当前行向量所具有的向量平均值;σ为上述计算得到的当前行向量所具有的向量标准差;a表征当前行向量;其中g和b为BERT模型在训练阶段学习得到的模型参数,其可以基于实际需求进行选取。
基于上述,则对于第一加和矩阵的每一行向量得到其所对应的正则化向量,基于所得到的正则化向量生成与所述第一加和矩阵相对应的加和正则矩阵。所述加和正则矩阵与所述第一加和矩阵具有相同尺寸。所述加和正则矩阵即为第一相加正则层的输出。
其后,在步骤S313中,通过前向反馈层对所得到的加和正则矩阵进行处理,得到第一全连接矩阵。其中,所述前向反馈层为全连接层。且所述第一全连接矩阵与所述加和正则矩阵具有相同尺寸,其均为P×I维的矩阵。
得到所述第一全连接矩阵后,在第二相加正则层中执行如步骤S314所示的操作,将所述第一全连接矩阵及所述加和正则矩阵相加和得到第二加和矩阵,并对所述第二加和矩阵进行正则化处理得到待检测矩阵。
具体而言,前述得到的P×I维的第一全连接矩阵将与P×I维的加和正则矩阵相加和,得到P×I维的第二加和矩阵,所述第二加和矩阵进行正则化处理后得到P×I维的待检测矩阵。
且其中,对于所述第二加和矩阵进行正则化处理得到待检测矩阵也可以采用如前所述的公式3)、4)、5),经由如前所述的方法实现。在这里不再赘述。
图4A示出了根据本公开实施例对所述复合输入序列进行处理以补全当前语句得到补全对话的过程400的示例性流程图。
参照图4A,对于预设输出序列J中的每一个输出位j,首先,在步骤S401中,计算复合输入序列Q中每一个输入字q为预设输出序列J该输出位上输出字的概率,获得在该输出位上该输入字所对应的注意力数值,基于所述注意力数值得到注意力分布向量。
其中,所述预设输出序列为预先设定的初始输出序列。所述预设输出序列具有预设序列长度,该序列长度仅用于限定补全得到的补全对话序列所具有的长度上限,其例如可以实际情况进行选取,例如将其设置为2048,或者也可以将其设定为10000。本公开的实施例不受所述预设输出序列所具有的预设序列长度的具体数值的限制。
所述预设输出序列的每一个输出位具有相同的初始值,其例如可以均设置为空值,或者也可以将其设置为预设字,本公开的实施例不受所述预设输出序列所设置的初始值的限制。
所述复合输入序列中的每一个输入字即为复合输入序列中的字。所述预设输出序列该输出位上的输出字,旨在表征在预设输出序列的该输出位上输出的字。
所述注意力数值例如在0至1的数值范围内。获得该输出位上该输入字所对应的注意力数值例如可以通过对复合输入序列进行处理得到的加码隐状态矩阵和用于该输出位的解码隐状态向量基于预设公式进行计算得到,或者也可以通过其他方式计算得到。本公开的实施例不受得到所述注意力数值的具体过程的限制。
在该输出位上复合输入序列中每一个输入字的注意力数值即组成注意力分布向量。例如复合输入序列为“天气真好|我也觉得|天气真好”,且其预设输出序列的序列长度例如为20,计算得到在输出序列的第二位上每一个输入字的注意力数值分别为0.21,0.82,0.16,0.34,0.26,0.23,0.27,0.11,0.21,0.82,0.16,0.34,则所得到的注意力分布向量为(0.21,0.82,0.16,0.34,0.26,0.23,0.27,0.11,0.21,0.82,0.16,0.34)。
其后,在步骤S402中,计算预设字库序列中的每一个预设字为预设输出序列该输出位上的输出字的概率,获得在该输出位上该预设字所对应的生成概率数值,基于所述生成概率数值得到生成概率分布向量。
所述预设字库为预先设定的字库,其中例如存储有多个预设字,所述预设字可以为汉字、字母、数字字符等,例如其可以存储有10000个汉字,或者其也可以存储有5000个汉字及26个字母。本公开的实施例不受预设字库中所存储的预设字的具体内容及所存储的预设字的个数的限制。
所述预设字库例如可以由现有的通用语库导入,例如其可以为某一专有领域的专业词汇库导入而生成;或者其也可以为在互联网实时爬取的搜索关键字或热点对话内容。本公开的实施例不受所述预设字库的来源的限制。
所述生成概率数值旨在表征预设输出序列的该输出位输出所述预设字的概率。所述生成概率数值例如在0至1的数值范围内。
将预设字库中每一个预设字在该输出位上的生成概率数值依序排列,组成生成概率分布向量,即所述概率分布向量的每一位为预设字库中相应预设字的概率分布数值。例如,若字库中存在20个预设字,其中仅第一个预设字的生成概率数值为1,其余预设字的生成概率均为0,则所得到的生成概率分布向量为(1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)。
在一些实施例中,也可以对所得到的注意力分布向量进行进一步处理得到所述生成概率分布向量。此时所述生成概率分布向量与复合输入序列相关联。
得到生成概率分布向量和注意力分布向量后,在步骤S403中,基于生成概率分布向量和注意力分布向量,得到总分布向量。
所述总分布向量的形成过程中,通过将注意力分布向量中的注意力数值与概率分布向量中相应概率分布数值进行加权平均,使得在概率分布向量中相应地增加了与复合输入序列中的输入字相同的预设字的概率数值。
图4B中示出了根据本公开实施例基于概率分布向量和注意力分布向量得到总分布向量的过程的示例性流程图。
参照图4B,基于概率分布向量和注意力分布向量得到总分布向量的过程例如可以为:首先,基于注意力分布向量Ma与复合输入序列Q中输入字的对应关系,对于注意力分布向量Ma(其中例如包括n个注意力数值)中的每一个注意力数值Ma_i,在复合输入序列Q(其中包括n个输入字)中得到其所对应的输入字qi,如图4B所示出的,对于注意力分布向量Ma中的注意力数值Ma_2,可以在复合输入序列Q中得到其所对应的输入字为q2。进一步地,在预设字库Z(其中例如包括r个预设字)中寻找与该输入字qi相同的预设字zi,例如对复合输入序列Q中输入字q2,在预设字库Z寻找到的与其相同的预设字例如为z23。进一步地,若找到与该输入字qi相同的预设字zi,则基于预设字库Z与概率分布向量Mg的对应关系,在概率分布向量Mg中得到该预设字zi的概率分布数值Mg_i,并将该输入字的注意力数值Ma_i与同该输入字相同的预设字的概率分布数值Mg_i进行加权平均,将该加权平均结果作为该预设字的总分布数值。例如对于附图4B所示出的注意力分布向量Ma_2,得到其所对应的预设字为z23,进一步地,得到该预设字的概率分布数值Mg_23,则将概率分布数值Mg_23与注意力分布向量Ma_2加权得到该字的总分布数值。
若在预设字库中不存在该输入字,则认为该输入字为误码字或错误输入,将该输入字及其所对应的注意力数值舍弃。
此外,在历遍注意力分布向量中的每一个注意力数值后,将概率分布向量中未经过加权平均处理的概率分布数值直接作为该预设字的总分布数值,据此得到预设库中预设字的总分布向量。
当经由输入字的注意力数值与相应的预设字的生成概率分布数值进行加权平均得到总分布数值时,注意力数值及生成概率分布数值各自的权重系数例如可以为预设的权重系数,例如设置生成概率分布数值的权重系数为0.6,注意力分布数值的权重系数为0.4;或者其也可以通过神经网络计算得到,例如经由神经网络处理得到其二者的权重系数。本公开的实施例不受所述权重系数的设置方式及其数值内容的限制。
得到总分布向量后,在步骤S404中,将总分布向量中最大总分布数值所对应的字确定为预设输出序列该输出位上的输出字,并将其输出。
基于上述,对于预设输出序列中的每一个输出位,计算复合输入序列中的每一个输入字为预设输出序列该输出位上输出字的概率并得到注意力分布向量;计算预设字库序列中的每一个预设字为预设输出序列该输出位上的输出字的概率并得到生成概率向量;最终基于该二者得到总分布向量并最终确定该输出位上的输出字,使得在进行语句识别补全的过程中,在计算预设字库中各个字的输出概率的基础上,综合考虑到先前语句及其中隐含字对于补全输出结果的影响,并提高了预设字库中与复合输入序列的输入字相对应的预设字的输出概率,使得所得到的补全对话更为精准且更为符合对话中上下文的语义。
在一些实施例中,计算得到所述注意力分布向量的过程可更具体地描述。
图5示出了根据本公开实施例计算得到所述注意力分布向量的过程500的示例性流程图。图6示出了根据本公开实施例的端到端模型的示例性结构图。
参照图5和图6,上述计算注意力分布向量的过程S401可更具体地描述。首先,在步骤S501中,通过第一循环神经网络对所述复合输入序列进行处理,生成与所述复合输入序列相对应的加码器隐状态矩阵,所述加码器隐状态矩阵中每一行向量对应于复合输入序列中的一个字。
其中,所述第一循环神经网络为双向长短时记忆循环神经网络。其旨在对于所述复合输入序列进行编码,在其对于复合输入序列编码的过程中,对应于复合输入序列中的每一个字将会产生与之相对应的加码器隐状态向量。
所述加码器隐状态矩阵的每一行向量例如具有第二预设维数,所述第二预设维数可以基于实际需要设置,其例如可以为100,或者也可以为其他数值。其可以与第一预设维数相同,或者也可以与第一预设维数不同。本公开的实施例不受所述第二预设维数的具体数值及其与第一预设维数的关系的限制。
其后,在步骤S502中,基于所得到的加码器隐状态矩阵,通过第二循环神经网络处理,得到用于该输出位的解码器隐状态向量。
其中,所述解码器隐状态向量与所述加码器隐状态矩阵中的行向量具有相同的维数。
所述第二循环神经网络为双向长短时记忆循环神经网络。所述第二循环神经网络与所述第一循环神经网络为相同类型的循环神经网络,即,其均为双向长短时记忆循环神经网络,但其二者的输入量及功能不同。
所述第二循环神经网络计算得到用于该输出位的解码器隐状态向量的过程例如可以更具体地描述。
例如对于预设输出序列的第一个输出位,所述第二循环神经网络将获取加码器隐状态矩阵中的第一行向量,并将其作为初始向量,对该初始向量进行处理得到解码器隐状态向量,该解码器隐状态向量即为用于该第一个输出位的解码器隐状态向量。
对于预设输入序列中除第一个输出位之外的输出位,端到端模型会将用于该输出位的上一输出位的解码器隐状态向量作为初始向量,通过第二循环神经网络对该初始向量进行处理,进而得到用于该输出位的解码器隐状态向量。
其后,得到解码器隐状态向量后,在步骤S503中,基于用于该输出位的解码器隐状态向量与加码器隐状态矩阵,得到注意力分布向量。
上述过程可更具体地描述。其中,首先,将解码器隐状态向量与加码器隐状态矩阵的每一行向量进行计算,计算加码器隐状态矩阵的每一行向量对应的注意力数值,基于所述注意力数值得到注意力分布向量。
所述加码器隐状态矩阵每一行向量所对应的注意力数值,即为所述复合输入序列中每一个字所对应的注意力数值,其例如可以通过如下所示出的公式进行计算:
ei t=vTtanh(Whbi+Wsst+battn) 6)
其中,bi为加码器隐状态矩阵的第i行向量;st为计算得到的解码器隐状态向量;v、Wh、Ws、battn为深度学习模型经由预训练得到学习参数;et为中间过程向量,ei t为中间过程向量中对应于加码器隐状态矩阵的第i行向量相应向量元素,其中i为大于等于1且小于等于加码器隐状态矩阵的预设维数的正整数。
所得到的中间过程向量et与加码器隐状态矩阵的行向量具有相同维数。其后,例如可以通过如下公式基于中间过程向量计算注意力分布向量:
at=softmax(et) 7)
其中,at为计算得到的注意力分布向量,其与所述中间过程向量et具有相同维数。Softmax函数旨在对于所得到的中间过程向量et进行分数化,使得所得到的注意力分布向量at的每一个向量元素的数值范围均在0至1之间。
基于上述,在端到端模型中,根据所输入的复合输入序列,通过第一循环神经网络、第二循环神经网络计算得到其注意力分布向量。有利于后续基于注意力分布向量计算其总分布向量并实现语句补全。
在一些实施例中,当采用端到端模型时,上述生成概率分布向量的过程S402可以更进一步地描述。此时端到端模型基于所得到的注意力分布向量可以进一步地计算以求取生成概率分布向量。其计算过程例如可以更具体地描述。
首先,基于所得到的注意力分布向量,将该注意力分布向量中的每一个注意力数值作为与其相对应的加码器隐状态矩阵行向量的权重系数,基于如下公式计算得到复合输入序列所对应的内容表示向量:
其中,ht *表征所得到的内容表示向量;ai t为计算得到的注意力分布向量中的第i个子元素;bi为加码器隐状态矩阵的第i行向量;B为加码器隐状态矩阵的预设维数;i为大于等于1且小于等于加码器隐状态矩阵的预设维数的正整数。
得到内容表示向量后,例如可以对其进行处理得到生成概率分布向量。例如经由前馈网络全连接层对该内容表示向量进行处理,例如将其与一个B×K的预设处理矩阵相乘,从而得到一个向量维数为K的向量。其中K等于预设字库中具有的预设字数。且该生成概率分布向量中的每一个子元素对应于预设字库中的相应字。
进一步地,在一些实施例中,还可以基于所得到的内容表示向量进一步处理,计算得到在总分布向量中生成概率分布向量的权重系数Pgen,据此可以基于该权重系数对生成概率分布向量和注意力分布向量进行加权平均,得到总分布向量。
基于上述,在生成注意力分布向量后,进一步地经由该注意力分布向量计算得到生成概率分布向量和该生成概率分布向量在总分布向量中的权重系数,有利于后续基于注意力分布向量和生成概率分布向量实现对总分布向量的计算。
在一些实施例中,对所述复合输入序列进行处理得到当前语句的补全结果还包括:对所述隐含字预测向量与复合输入序列共同进行处理,以得到补全对话。
基于上述,使得在对复合输入序列进行处理的过程中,可以进一步考虑到各隐含字所具有的隐含字预测值,即其隐含字概率,使得可以进一步提高对话语句补全的精度。
图7示出了根据本公开实施例的基于人工智能的语句补全装置的示例性框图。
如图7所示的语句补全装置900包括先前语句获取模块910、隐含字提取模块920、语句序列生成模块930和语句补全模块940。
其中,所述先前语句获取模块910配置为获取对话中当前语句及当前语句的至少一个先前语句。所述隐含字提取模块920配置为提取所述至少一个先前语句中与当前语句相关联的隐含字。所述语句序列生成模块930配置为将所述至少一个先前语句、当前语句和隐含字拼接,得到复合输入序列。所述语句补全模块940配置为对所述复合输入序列进行处理,补全当前语句,得到补全对话。
所述对话例如可以为用户直接输入的文本内容,或者也可以首先对用户的对话进行语音采集,对采集得到的语音进行识别而生成文本内容。本公开不受所获取的对话的来源及其具体内容的限制。
所述对话中当前语句,表征对话中需要补全的对话语句,其可以基于实际需要进行设置。本公开的实施例不受所述当前语句所包括具体语句个数及其内容的限制。
所述先前语句,表征在对话中位于所述当前语句之前的对话语句。且所述先前语句也可以基于实际需要进行设置,本公开的实施例不受所述先前语句的内容及其所包括的语句个数的限制。
所述隐含字表征先前语句中与当前语句相关联的字。例如,其可以为在先前语句中出现但是在当前语句中没有出现的字。所提取的隐含字例如可以为一个,或者也可以为多个,本公开的实施例不受所提取得到的隐含字的个数的限制。
所述提取隐含字的过程例如可以通过神经网络实现,或者也可以通过适用于自然语言相关的分类问题的大规模预训练的语言理解模型(BERT模型)来实现,本公开的实施例不受所述隐含字提取的具体实现方式的限制。
上述过程例如可以通过深度学习模型实现,所述深度学习模型例如可以为端到端(end-to-end learning)模型或其他的深度学习模型,本公开的实施例不受所采用的深度学习模型的具体类型及其组成的限制。
基于上述,通过在对话的至少一个先前语句中提取与当前语句相关联的隐含字,将该隐含字与先前语句、当前语句按序拼接得到复合输入序列并对该复合输入序列处理,使得能够基于对话先前语句中与当前语句相关联的信息,即所确定的隐含字,对于当前语句进行补全,得到补全对话。因而在对话交互中存在词语省略的情况下,能够准确地补全该省略词语,完善了对话内容信息,有利于更好地理解对话内容,同时也有利于后续基于该对话内容进行响应和答复。
在一些实施例中,隐含字提取模块920中进一步可包括:待挑选语句矩阵生成模块921、隐含字预测向量生成模块922和隐含字获取模块923,其可以执行如图2所示的流程,提取所述至少一个先前语句中与当前语句相关联的隐含字。
其中,所述待挑选语句矩阵生成模块921被配置为执行如图2中步骤S201的操作,将所述至少一个先前语句及当前语句拼接得到待挑选语句序列,并生成与所述待挑选语句序列对应的待挑选语句矩阵,所述待挑选语句矩阵中的每一行向量为待挑选语句序列中相应字的字向量。
其中,所述待挑选语句矩阵与所述待挑选语句序列具有相同尺寸,其具体表征为,所述待挑选语句矩阵的行数与所述待挑选语句序列中的字数相同,且所述待挑选语句矩阵中每一行向量为待挑选语句序列中相应字的字向量。
进一步地,待挑选矩阵的行向量可以具有预设第一维数,本公开的实施例不受所述待挑选矩阵的行向量所具有的预设第一维数的具体数值的限制。
所述隐含字预测向量生成模块922被配置为执行如图2中步骤S202的操作,对所述待挑选语句矩阵进行处理,得到隐含字预测向量,所述隐含字预测向量与待挑选语句序列具有相同尺寸。
所述隐含字预测向量旨在表征待挑选语句序列中的每一个字为隐含字的概率。所述隐含字预测向量与所述待挑选语句序列具有相同尺寸,即,所述隐含字预测向量的长度与所述待挑选语句序列相同。所述隐含字预测向量中的每一个子元素表征待挑选语句序列中相应的字的隐含字预测值。
所述隐含字获取模块923被配置为执行如图2中步骤S203的操作,将隐含字预测向量中的每一个隐含字预测值与预设阈值相比较,并将大于预设阈值的隐含字预测值所对应的字确定为隐含字。
所述预设阈值旨在划分隐含字与非隐含字,其数值范围在0至1之间,且其可以基于实际需要进行设置。本公开的实施例不受所设置的预设阈值的具体数值的限制。
基于上述,通过将至少一个先前语句及当前语句拼接形成待挑选语句并计算该待挑选语句的隐含字预测向量,可以基于该隐含字预测向量中各隐含字预测值来确定待挑选语句中的隐含字,从而可以提高隐含字确定的精确度,且该方法具有良好的鲁棒性。
进一步地,在一些实施例中,隐含字预测向量生成模块922中还包括语句编码矩阵获取模块9221、待检测矩阵生成模块9222、隐含字预测向量确定模块9223。
其中,所述语句编码矩阵获取模块9221被配置为执行如图3A中步骤S301的操作,对于待挑选语句矩阵中的每一行向量,计算其所对应的位置编码向量,并将所得到的位置编码向量与该行向量相加和,得到语句编码矩阵。
其中,所述语句编码矩阵与所述待挑选矩阵具有相同尺寸,即,所述语句编码矩阵所具有的行数与所述待挑选矩阵相同,且所述语句编码矩阵各行向量所具有的维数与待挑选语句矩阵中各行向量所具有的维数相同,为第一预设维数。
所述待检测矩阵生成模块9222被配置为执行如图3A中步骤S302的操作,对所述语句编码矩阵进行处理,生成待检测矩阵。
其中,所述待检测矩阵与所述待挑选矩阵具有相同尺寸,即所述待检测矩阵所具有的行数与所述待挑选矩阵相同,且所述待检测矩阵各行向量所具有的维数与待挑选语句矩阵中各行向量所具有的维数相同,为第一预设维数。
应了解,所述模型编码器可以循环执行以使得所得到的待检测矩阵具有较高精度,例如对于BERT模型编码器,其例如循环执行6次,或者也可以循环执行12次。本公开实施例不受所述模型编码器的执行次数的限制。
所述隐含字预测向量确定模块9223被配置为执行如图3A中步骤S303的操作,对所述待检测矩阵进行处理,得到对应于该待检测矩阵的隐含字预测向量。
基于上述,通过将待挑选语句矩阵转换为语句编码矩阵,并进一步基于语句编码矩阵得到待检测矩阵,最终基于所述待检测矩阵得到隐含字预测向量,使得后续能够基于该隐含字预测向量实现对于隐含字的判别和处理,从而实现语句补全。
在一些实施例中,所述语句补全模块940可以进一步包括注意力分布向量计算模块941、生成概率分布向量计算模块942、总分布向量计算模块943和当前字确定模块944。
其中,所述注意力分布向量计算模块941被配置为执行如图4A中步骤S401的操作,对于预设输出序列中的每一个输出位,计算复合输入序列中每一个输入字为预设输出序列该输出位上输出字的概率,获得在该输出位上该输入字所对应的注意力数值,基于所述注意力数值得到注意力分布向量。
其中,所述预设输出序列为预先设定的初始输出序列。所述预设输出序列具有预设序列长度,该序列长度仅用于限定补全得到的补全对话序列所具有的长度上限,其例如可以实际情况进行选取,本公开的实施例不受所述预设输出序列所具有的预设序列长度的具体数值的限制。
所述预设输出序列的每一个输出位具有相同的初始值,本公开的实施例不受所述预设输出序列所设置的初始值的限制。
所述复合输入序列中的每一个输入字即为复合输入序列中的字。所述预设输出序列该输出位上的输出字,旨在表征在预设输出序列的该输出位上输出的字。
所述注意力数值例如在0至1的数值范围内。且本公开的实施例不受得到所述注意力数值的具体过程的限制。
所述生成概率分布向量计算模块942被配置为执行如图4A中步骤S402的操作,对于预设输出序列中的每一个输出位,计算预设字库序列中的每一个预设字为预设输出序列该输出位上的输出字的概率,获得在该输出位上该预设字所对应的生成概率数值,基于所述生成概率数值得到生成概率分布向量。
所述预设字库为预先设定的字库,其中例如存储有多个预设字,所述预设字可以为汉字、字母、数字字符等,本公开的实施例不受预设字库中所存储的预设字的具体内容及所存储的预设字的个数的限制。
所述预设字库例如可以由现有的通用语库导入,例如其可以为某一专有领域的专业词汇库导入而生成;或者其也可以为在互联网实时爬取的搜索关键字或热点对话内容。本公开的实施例不受所述预设字库的来源的限制。
所述生成概率数值旨在表征预设输出序列的该输出位输出所述预设字的概率。所述生成概率数值例如在0至1的数值范围内。
所述总分布向量计算模块943被配置为执行如图4A中步骤S403的操作,基于生成概率分布向量和注意力分布向量,得到总分布向量。
所述总分布向量的形成过程中,通过将注意力分布向量中的注意力数值与概率分布向量中相应概率分布数值进行加权平均,使得在概率分布向量中相应地增加了与复合输入序列中的输入字相同的预设字的概率数值。
所述当前字确定模块944被配置为执行如图4A中步骤S404的操作,将总分布向量中最大总分布数值所对应的字确定为预设输出序列该输出位上的输出字,并将其输出。
基于上述,通过对于预设输出序列中的每一个输出位,计算复合输入序列中的每一个输入字为预设输出序列该输出位上输出字的概率并得到注意力分布向量;计算预设字库序列中的每一个预设字为预设输出序列该输出位上的输出字的概率并得到生成概率向量;最终基于该二者得到总分布向量并最终确定该输出位上的输出字,使得在进行语句识别补全的过程中,在计算预设字库中各个字的输出概率的基础上,综合考虑到先前语句及其中隐含字对于补全输出结果的影响,并提高了预设字库中与复合输入序列的输入字相对应的预设字的输出概率,使得所得到的补全对话更为精准且更为符合对话中上下文的语义。
图8A示出了根据本公开实施例的基于人工智能的语句补全设备的示例性的框图。
如图8A所示的语句补全设备950可以实现为一个或多个专用或通用的计算机系统模块或部件,例如个人电脑、笔记本电脑、平板电脑、手机、个人数码助理(personaldigital assistance,PDA)及任何智能便携设备。其中,语句补全设备950可以包括至少一个处理器960及存储器970。
其中,所述至少一个处理器用于执行程序指令。所述存储器970在语句补全设备950中可以以不同形式的程序储存单元以及数据储存单元存在,例如硬盘、只读存储器(ROM)、随机存取存储器(RAM),其能够用于存储处理器处理和/或执行语句补全过程中使用的各种数据文件,以及处理器所执行的可能的程序指令。虽然未在图中示出,但语句补全设备950还可以包括一个输入/输出组件,支持语句补全设备950与其他组件之间的输入/输出数据流。语句补全设备950也可以通过通信端口从网络发送和接收信息及数据。
在一些实施例中,所述存储器970所存储的一组指令在由所述处理器960执行时,使所述语句补全设备950执行操作,所述操作包括:获取对话中当前语句及当前语句的至少一个先前语句;提取所述至少一个先前语句中与当前语句相关联的隐含字;将所述至少一个先前语句、当前语句和隐含字拼接,得到复合输入序列;通过对所述复合输入序列进行处理,补全当前语句,得到补全对话。
在一些实施例中,提取所述至少一个先前语句中与当前语句相关联的隐含字包括:将所述至少一个先前语句及当前语句拼接得到待挑选语句序列,并生成与所述待挑选语句序列对应的待挑选语句矩阵,所述待挑选语句矩阵中的每一行向量为待挑选语句序列中相应字的字向量;对所述待挑选语句矩阵进行处理,得到隐含字预测向量,所述隐含字预测向量与待挑选语句序列具有相同尺寸;将隐含字预测向量中的每一个隐含字预测值与预设阈值相比较,并将大于预设阈值的隐含字预测值所对应的字确定为隐含字。
在一些实施例中,对所述待挑选语句矩阵进行处理得到隐含字预测向量包括:对于待挑选语句矩阵中的每一行向量,计算其所对应的位置编码向量,并将所得到的位置编码向量与该行向量相加和,得到语句编码矩阵;通过模型编码器对所述语句编码矩阵进行处理,生成待检测矩阵;通过全连接层对所述待检测矩阵进行处理,得到对应于该待检测矩阵的隐含字预测向量。
在一些实施例中,对所述复合输入序列进行处理以补全当前语句得到补全对话包括:对于预设输出序列中的每一个输出位,计算复合输入序列中每一个输入字为预设输出序列该输出位上输出字的概率,获得在该输出位上该输入字所对应的注意力数值,基于所述注意力数值得到注意力分布向量;计算预设字库序列中的每一个预设字为预设输出序列该输出位上的输出字的概率,获得在该输出位上该预设字所对应的生成概率数值,基于所述生成概率数值得到生成概率分布向量;基于生成概率分布向量和注意力分布向量,得到总分布向量;将总分布向量中最大总分布数值所对应的字确定为预设输出序列该输出位上的输出字,并将其输出。
在一些实施例中,语句补全设备950可以接收来自该语句补全设备950外部的采集设备所采集的对话,并对接收的对话执行上文描述的语句补全方法、实现上文描述的语句补全装置的功能。
尽管在图8A中,处理器960、存储器970呈现为单独的模块,本领域技术人员可以理解,上述设备模块可以被实现为单独的硬件设备,也可以被集成为一个或多个硬件设备。只要能够实现本公开描述的原理,不同的硬件设备的具体实现方式不应作为限制本公开保护范围的因素。
在对上述语句补全方法、装置、设备的结果进行补全效果检测时,目前使用的度量标准是双语学习评估标准(Bilingual Evaluation understudy,BLEU)和基于召回率的相似性度量标准(Recall-Oriented Understudy for Gisting Evaluation,ROUGE),其将直接比较补全对话和通过人工标注方法得到的标准补全对话(reference)以生成检测结果。
对于预设对话集,通过序列到序列模型(Seq2Seq模型)、指针生成网络(Pointer)和本申请提出的语句补全方法分别对该预设对话集进行处理。图8B示出了根据本公开实施例不同补全方法语句补全后得到的结果的示意图。
参照图8B,其中,语句A1-B2为先前语句,语句A3为当前语句,即需补全语句。参考语句表征人工标注进行补全后的补全语句;本申请语句补全方法表征应用本申请提出的方法补全后得到的补全语句;序列到序列表征通过序列到序列模型进行语句补全后得到的补全语句、指针生成网络表征采用指针生成器网络进行语句补全后得到的补全语句。
进一步地,例如可以将处理结果通过BLEU、ROUGE度量标准进行评估,得到的度量标准计算数值如下表1所示。
表1度量标准计算数值
其中,ROUGE-1表征基于补全对话中包括补全字且长度为1的短语计算得到的ROUGE数值;ROUGE-2表征基于补全对话中包括补全字且长度为2的短语计算得到的ROUGE数值;ROUGE-L表征基于补全对话中包括补全字且长度为预设长度L的短语计算得到的ROUGE数值,其中L可以基于实际需要进行选取。且其中,BLEU-1表征基于补全对话中包括补全字且长度为1的短语计算得到的BLEU数值;BLEU-2表征基于补全对话中包括补全字且长度为2的短语计算得到的BLEU数值;BLEU-3表征基于补全对话中包括补全字且长度为3的短语计算得到的BLEU数值。
然而,上述度量标准均没有区分当前语句中已经出现过的字和从先前语句中挑选出来隐含字,其衡量不同模型效果不够明显。本申请提出了如下三种新的度量指标,其分别为补全准确率pn、补全召回率rn、和补全检测值fn。其具体计算方式如下:
其中,Res(n-grams)表征通过语句补全方法补全得到的补全语句中具有补全字且长度为n的短语的集合,Ref(n-grams)表征通过人工标注方法得到的补全语句中具有补全字且长度为n的短语的集合,其中n例如可以为大于0小于等于该补全后语句长度阈值(人工标注得到的语句长度及语句补全方法得到的语句长度中的较小值)的正整数;NRes(n-grams)表征集合Res(n-grams)中所包括的短语的个数;NRef(n-grams)表征集合Ref(n-grams)中所包括的短语的个数;N{Res(n-grams)∩Ref(n-grams)}旨在表征集合Res(n-grams)与集合Ref(n-grams)中相同的短语的个数。
计算得到补全准确率pn和补全召回率rn后,接下来可以基于如下公式得到补全检测值fn。
基于上述计算公式,当选取语句序列长度n分别为1、2、3时,对于预设的对话集,基于上述度量标准计算得到其相应度量值如下表2所示。
表2本申请提出的度量标准的计算数值
其中,p1、r1、f1表征基于包括补全字且长度为1的短语计算而分别得到补全准确率、补全召回率、和补全检测值的数值;p2、r2、f2表征基于包括补全字且长度为2的短语计算而分别得到补全准确率、补全召回率、和补全检测值的数值;p3、r3、f3表征基于包括补全字且长度为3的短语计算而分别得到补全准确率、补全召回率、和补全检测值的数值。
图9示出了根据本公开实施例的一种对话处理系统980的示例性框图。
参照图9,根据本公开的另一方面,提出了一种对话处理系统980。所述对话处理系统980包括语音采集装置981、处理器982、存储器983、应答输出单元984。
其中,所述语音采集装置981被配置为采集用户对话。所述语音采集装置例如可以进一步包括语音采集器、数模转换器、语音识别装置等。本公开的实施例不受所述语音采集装置具体组成的限制。
其中,所述语音采集器用于采集场景中的对话语音,其例如可以为麦克风组件,其可包括麦克风、麦克风套管、安装杆、连接线等;其也可为无线麦克风或麦克风电路。
所述数模转换器旨在将采集得到的模拟量转换为数字量,便于后续进行进一步地处理。
所述语音识别装置旨在对于所得到的数模转换器输出的数字量进行处理识别,识别所采集的对话语音中的每一个字,并生成与所述对话语音相对应的对话文本。
所述处理器用于执行程序指令,其例如可以为一个或多个专用或通用的计算机处理系统模块或部件,例如个人电脑、笔记本电脑、平板电脑、手机、个人数码助理(personaldigital assistance,PDA)及任何智能便携设备。
所述存储器包含一组指令,其在对话处理系统中可以以不同形式的程序储存单元以及数据储存单元存在,例如硬盘、只读存储器(ROM)、随机存取存储器(RAM),其能够用于存储处理器处理和/或执行语句补全及应答语句生成的过程中使用的各种数据文件,以及处理器所执行的可能的程序指令。
其中,所述一组指令在由所述处理器执行时使所述对话处理系统执行操作,所述操作包括:获取对话中当前语句及当前语句的至少一个先前语句;提取所述至少一个先前语句中与当前语句相关联的隐含字;将所述至少一个先前语句、当前语句和隐含字拼接,得到复合输入序列;对所述复合输入序列进行处理,补全当前语句,得到补全对话。
在一些实施例中,所述一组指令在由所述处理器执行时使所述对话处理系统执行操作,所述操作还包括:基于所述补全对话,生成应答语句。
在一些实施例中,所述对话处理系统还包括应答输出单元984,所述应答输出单元984被配置为将所述应答语句输出。
所述应答输出单元例如可以为扬声器,将所述应答语句通过音频方式输出,或者其也可以为其他输入/输出组件,将所述应答语句以文本的形式输出,其可以支持对话处理系统与其他组件(如屏幕显示装置等)的数据传输。
基于上述,通过设置对话处理系统,采集用户的对话语音,并基于所述对话语音处理得到用户对话,对所述对话处理,补全对话中的当前语句,得到补全对话,基于补全对话生成应答语句,并将该语句输出。使得所述对话处理系统能够良好地对于用户对话进行响应,且所述应答语句具有较高的应答质量,提高了人机交互的性能。
图10A示出了根据本公开实施例对话处理系统980处理过程的示例性流程图。
参照图10A,首先,经由麦克风组件采集场景中的用户对话,获得用户对话语句,并将该对话语句传输至处理器。
其后,在处理器中,例如首先经由BERT模型挑选隐含字,其具体为:对于所述对话语句进行处理,获取对话中的当前语句及当前语句的至少一个先前语句,并将当前语句及当前语句的至少一个先前语句拼接,将拼接得到的待挑选语句序列作为BERT模型的输入,经由BERT模型处理,在BERT模型的输出端例如可以得到挑选得到的所述至少一个先前语句中与当前语句相关联的隐含字,其具体处理过程如图3B所示出的。其后,基于该挑选得到的隐含字得到补全语句,其具体为:首先,将先前语句、当前语句和隐含字相拼接得到复合输入序列,将该复合输入序列作为端到端模型的输入,经由端到端模型的处理,在端到端模型的输出端得到补全对话。最后,将该补全对话输出至单轮对话子系统(MMI),经由所述单轮对话子系统对于所述补全对话进行解析,并基于解析结果生成应答语句。
最终,所述处理器将所述应答语句传输至应答输出单元,应答输出单元例如基于将所述应答语句经由麦克风输出,以实现良好的人机交互;或者其也可以将应答语句在与该对话处理系统相连接的屏幕上进行显示。
为了验证本公开所述的对话系统的实践效果,对于预设的对话集我们采用本申请提出的对话系统与现有对话系统分别对其进行处理。例如将预设对话输入至本申请的对话系统和现有技术的对话系统,得到其应答语句。
图10B示出了根据本公开实施例不同对话处理系统对于预设输入对话的回复比较的示意图。其中,语句A1-A3为输入对话。现有系统表征使用现有对话系统对于输入对话得到的应答语句;本申请系统表征使用本申请所提出的对话系统对于输入对话得到的应答语句。
基于所得到的应答语句,进一步地,评估本申请的对话系统相较于现有对话系统的应答质量,例如对于预设的输入对话集,其评估结果如表3所示:
表3本申请对话系统相较于现有对话系统应答质量统计
应答质量 | 百分比(%) |
优化 | 50.66 |
相同 | 38.58 |
恶化 | 10.76 |
其中,所述应答质量被定义为对话系统所给出的回复与上文内容的相关性和恰当性。如果对话系统所给出的回复更恰当或与上文内容更相关,则将被判定为更好。基于上表可知,本申请所提出的对话系统相较于现有的对话系统具有更好的应答质量。
基于上述,通过设置在应答系统中首先将输入的对话进行语句补全,生成补全对话,其后基于补全对话生成应答语句,可以有效地提高所述应答系统的响应效率及其应答质量。
根据本公开的另一方面,还提供了一种非易失性的计算机可读存储介质,其上存储有计算机可读的指令,当利用计算机执行所述指令时可以执行如前所述的方法。
技术中的程序部分可以被认为是以可执行的代码和/或相关数据的形式而存在的“产品”或“制品”,通过计算机可读的介质所参与或实现的。有形的、永久的储存介质可以包括任何计算机、处理器、或类似设备或相关的模块所用到的内存或存储器。例如,各种半导体存储器、磁带驱动器、磁盘驱动器或者类似任何能够为软件提供存储功能的设备。
所有软件或其中的一部分有时可能会通过网络进行通信,如互联网或其他通信网络。此类通信可以将软件从一个计算机设备或处理器加载到另一个。例如:从语句补全设备的一个服务器或主机计算机加载至一个计算机环境的硬件平台,或其他实现系统的计算机环境,或与提供语句补全所需要的信息相关的类似功能的系统。因此,另一种能够传递软件元素的介质也可以被用作局部设备之间的物理连接,例如光波、电波、电磁波等,通过电缆、光缆或者空气等实现传播。用来载波的物理介质如电缆、无线连接或光缆等类似设备,也可以被认为是承载软件的介质。在这里的用法除非限制了有形的“储存”介质,其他表示计算机或机器“可读介质”的术语都表示在处理器执行任何指令的过程中参与的介质。
本申请使用了特定词语来描述本申请的实施例。如“第一/第二实施例”、“一实施例”、和/或“一些实施例”意指与本申请至少一个实施例相关的某一特征、结构或特点。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一替代性实施例”并不一定是指同一实施例。此外,本申请的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。
此外,本领域技术人员可以理解,本申请的各方面可以通过若干具有可专利性的种类或情况进行说明和描述,包括任何新的和有用的工序、机器、产品或物质的组合,或对他们的任何新的和有用的改进。相应地,本申请的各个方面可以完全由硬件执行、可以完全由软件(包括固件、常驻软件、微码等)执行、也可以由硬件和软件组合执行。以上硬件或软件均可被称为“数据块”、“模块”、“引擎”、“单元”、“组件”或“系统”。此外,本申请的各方面可能表现为位于一个或多个计算机可读介质中的计算机产品,该产品包括计算机可读程序编码。
除非另有定义,这里使用的所有术语(包括技术和科学术语)具有与本发明所属领域的普通技术人员共同理解的相同含义。还应当理解,诸如在通常字典里定义的那些术语应当被解释为具有与它们在相关技术的上下文中的含义相一致的含义,而不应用理想化或极度形式化的意义来解释,除非这里明确地这样定义。
上面是对本发明的说明,而不应被认为是对其的限制。尽管描述了本发明的若干示例性实施例,但本领域技术人员将容易地理解,在不背离本发明的新颖教学和优点的前提下可以对示例性实施例进行许多修改。因此,所有这些修改都意图包含在权利要求书所限定的本发明范围内。应当理解,上面是对本发明的说明,而不应被认为是限于所公开的特定实施例,并且对所公开的实施例以及其他实施例的修改意图包含在所附权利要求书的范围内。本发明由权利要求书及其等效物限定。
Claims (11)
1.一种基于人工智能的语句补全方法,包括:
获取对话中当前语句及当前语句的至少一个先前语句;
提取所述至少一个先前语句中与当前语句相关联的隐含字;
将所述至少一个先前语句、当前语句和隐含字拼接,得到复合输入序列;
对所述复合输入序列进行处理,补全当前语句,得到补全对话;
其中,提取所述至少一个先前语句中与当前语句相关联的隐含字包括:
将所述至少一个先前语句及当前语句拼接得到待挑选语句序列,并生成与所述待挑选语句序列对应的待挑选语句矩阵,所述待挑选语句矩阵中的每一行向量为待挑选语句序列中相应字的字向量;
对所述待挑选语句矩阵进行处理,得到隐含字预测向量,所述隐含字预测向量与待挑选语句序列具有相同尺寸;
将隐含字预测向量中的每一个隐含字预测值与预设阈值相比较,并将大于预设阈值的隐含字预测值所对应的字确定为隐含字;
且其中,对所述复合输入序列进行处理以补全当前语句得到补全对话包括:对于预设输出序列中的每一个输出位,
计算复合输入序列中每一个输入字为预设输出序列该输出位上输出字的概率,获得在该输出位上该输入字所对应的注意力数值,基于所述注意力数值得到注意力分布向量;
计算预设字库序列中的每一个预设字为预设输出序列该输出位上的输出字的概率,获得在该输出位上该预设字所对应的生成概率数值,基于所述生成概率数值得到生成概率分布向量;
基于生成概率分布向量和注意力分布向量,得到总分布向量;
将总分布向量中最大总分布数值所对应的字确定为预设输出序列该输出位上的输出字,并将其输出。
2.如权利要求1所述的语句补全方法,其中,对所述待挑选语句矩阵进行处理得到隐含字预测向量包括:
对于待挑选语句矩阵中的每一行向量,计算其所对应的位置编码向量,并将所得到的位置编码向量与该行向量相加和,得到语句编码矩阵;
对所述语句编码矩阵进行处理,生成待检测矩阵;
对所述待检测矩阵进行处理,得到对应于该待检测矩阵的隐含字预测向量。
3.如权利要求1所述的语句补全方法,其中,对于预设输出序列中的每一个输出位得到所述注意力分布向量包括:
通过第一循环神经网络对所述复合输入序列进行处理,生成与所述复合输入序列相对应的加码器隐状态矩阵,所述加码器隐状态矩阵中每一行向量对应于复合输入序列中的一个字;
基于所得到的加码器隐状态矩阵,通过第二循环神经网络处理,得到用于该输出位的解码器隐状态向量;
基于所述解码器隐状态向量与加码器隐状态矩阵,计算得到用于该输出位的注意力分布向量。
4.如权利要求1所述的语句补全方法,其中,对所述复合输入序列进行处理以补全当前语句得到补全对话还包括:
对所述隐含字预测向量与复合输入序列共同进行处理,以得到补全对话。
5.一种基于人工智能的语句补全装置,包括:
先前语句获取模块,其被配置为获取对话中当前语句及当前语句的至少一个先前语句;
隐含字提取模块,其被配置为提取所述至少一个先前语句中与当前语句相关联的隐含字;
语句序列生成模块,其被配置为将所述至少一个先前语句、当前语句和隐含字拼接,得到复合输入序列;
语句补全模块,其被配置为对所述复合输入序列进行处理,补全当前语句,得到补全对话;
其中,隐含字提取模块包括:
待挑选语句矩阵生成模块,其被配置为将所述至少一个先前语句及当前语句拼接得到待挑选语句序列,并生成与所述待挑选语句序列对应的待挑选语句矩阵,所述待挑选语句矩阵中的每一行向量为待挑选语句序列中相应字的字向量;
隐含字预测向量生成模块,其被配置为对所述待挑选语句矩阵进行处理,得到隐含字预测向量,所述隐含字预测向量与待挑选语句序列具有相同尺寸;
隐含字获取模块,其被配置为将隐含字预测向量中的每一个隐含字预测值与预设阈值相比较,并将大于预设阈值的隐含字预测值所对应的字确定为隐含字;
且其中,语句补全模块包括:
注意力分布向量计算模块,其被配置为对于预设输出序列中的每一个输出位,计算复合输入序列中每一个输入字为预设输出序列该输出位上输出字的概率,获得在该输出位上该输入字所对应的注意力数值,基于所述注意力数值得到注意力分布向量;
生成概率分布向量计算模块,其被配置为对于预设输出序列中的每一个输出位,计算预设字库序列中的每一个预设字为预设输出序列该输出位上的输出字的概率,获得在该输出位上该预设字所对应的生成概率数值,基于所述生成概率数值得到生成概率分布向量;
总分布向量计算模块,其被配置为基于生成概率分布向量和注意力分布向量,得到总分布向量;
当前字确定模块,其被配置为将总分布向量中最大总分布数值所对应的字确定为预设输出序列该输出位上的输出字,并将其输出。
6.如权利要求5所述的语句补全装置,其中,隐含字预测向量生成模块包括:
语句编码矩阵获取模块,其被配置为对于待挑选语句矩阵中的每一行向量,计算其所对应的位置编码向量,并将所得到的位置编码向量与该行向量相加和,得到语句编码矩阵;
待检测矩阵生成模块,其被配置为对所述语句编码矩阵进行处理,生成待检测矩阵;
隐含字预测向量确定模块,其被配置为对所述待检测矩阵进行处理,得到对应于该待检测矩阵的隐含字预测向量。
7.一种基于人工智能的语句补全设备,其中所述设备包括处理器和存储器,所述存储器包含一组指令,所述一组指令在由所述处理器执行时使所述语句补全设备执行操作,所述操作包括:
获取对话中当前语句及当前语句的至少一个先前语句;
提取所述至少一个先前语句中与当前语句相关联的隐含字;
将所述至少一个先前语句、当前语句和隐含字拼接,得到复合输入序列;
对所述复合输入序列进行处理,补全当前语句,得到补全对话;
其中,提取所述至少一个先前语句中与当前语句相关联的隐含字包括:
将所述至少一个先前语句及当前语句拼接得到待挑选语句序列,并生成与所述待挑选语句序列对应的待挑选语句矩阵,所述待挑选语句矩阵中的每一行向量为待挑选语句序列中相应字的字向量;
对所述待挑选语句矩阵进行处理,得到隐含字预测向量,所述隐含字预测向量与待挑选语句序列具有相同尺寸;
将隐含字预测向量中的每一个隐含字预测值与预设阈值相比较,并将大于预设阈值的隐含字预测值所对应的字确定为隐含字;
且其中,对所述复合输入序列进行处理以补全当前语句得到补全对话包括:对于预设输出序列中的每一个输出位,
计算复合输入序列中每一个输入字为预设输出序列该输出位上输出字的概率,获得在该输出位上该输入字所对应的注意力数值,基于所述注意力数值得到注意力分布向量;
计算预设字库序列中的每一个预设字为预设输出序列该输出位上的输出字的概率,获得在该输出位上该预设字所对应的生成概率数值,基于所述生成概率数值得到生成概率分布向量;
基于生成概率分布向量和注意力分布向量,得到总分布向量;
将总分布向量中最大总分布数值所对应的字确定为预设输出序列该输出位上的输出字,并将其输出。
8.一种对话处理系统,所述对话处理系统包括:
对话采集装置,其被配置为采集用户的对话;
处理器;
存储器,所述存储器包含一组指令;
其中,所述一组指令在由所述处理器执行时,使所述对话处理系统执行操作,所述操作包括:
获取对话中当前语句及当前语句的至少一个先前语句;
提取所述至少一个先前语句中与当前语句相关联的隐含字;
将所述至少一个先前语句、当前语句和隐含字拼接,得到复合输入序列;
对所述复合输入序列进行处理,补全当前语句,得到补全对话;
其中,提取所述至少一个先前语句中与当前语句相关联的隐含字包括:
将所述至少一个先前语句及当前语句拼接得到待挑选语句序列,并生成与所述待挑选语句序列对应的待挑选语句矩阵,所述待挑选语句矩阵中的每一行向量为待挑选语句序列中相应字的字向量;
对所述待挑选语句矩阵进行处理,得到隐含字预测向量,所述隐含字预测向量与待挑选语句序列具有相同尺寸;
将隐含字预测向量中的每一个隐含字预测值与预设阈值相比较,并将大于预设阈值的隐含字预测值所对应的字确定为隐含字;
且其中,对所述复合输入序列进行处理以补全当前语句得到补全对话包括:对于预设输出序列中的每一个输出位,
计算复合输入序列中每一个输入字为预设输出序列该输出位上输出字的概率,获得在该输出位上该输入字所对应的注意力数值,基于所述注意力数值得到注意力分布向量;
计算预设字库序列中的每一个预设字为预设输出序列该输出位上的输出字的概率,获得在该输出位上该预设字所对应的生成概率数值,基于所述生成概率数值得到生成概率分布向量;
基于生成概率分布向量和注意力分布向量,得到总分布向量;
将总分布向量中最大总分布数值所对应的字确定为预设输出序列该输出位上的输出字,并将其输出。
9.如权利要求8所述的对话处理系统,其中,所述一组指令在由所述处理器执行时使所述对话处理系统执行操作,所述操作还包括:
基于所述补全对话,生成应答语句。
10.如权利要求9所述的对话处理系统,所述对话处理系统还包括应答输出单元,所述应答输出单元被配置为将所述应答语句输出。
11.一种算机可读存储介质,其特征在于,其上存储有计算机可读的指令,当利用计算机执行所述指令时执行上述权利要求1-4中任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910701230.3A CN110427625B (zh) | 2019-07-31 | 2019-07-31 | 语句补全方法、装置、介质及对话处理系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910701230.3A CN110427625B (zh) | 2019-07-31 | 2019-07-31 | 语句补全方法、装置、介质及对话处理系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110427625A CN110427625A (zh) | 2019-11-08 |
CN110427625B true CN110427625B (zh) | 2022-12-27 |
Family
ID=68411758
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910701230.3A Active CN110427625B (zh) | 2019-07-31 | 2019-07-31 | 语句补全方法、装置、介质及对话处理系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110427625B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111221424B (zh) * | 2020-01-02 | 2021-04-27 | 北京字节跳动网络技术有限公司 | 用于生成信息的方法、装置、电子设备和计算机可读介质 |
CN111507088B (zh) * | 2020-04-15 | 2022-12-16 | 深圳前海微众银行股份有限公司 | 语句补全方法、设备及可读存储介质 |
CN111475635B (zh) * | 2020-05-18 | 2023-04-18 | 支付宝(杭州)信息技术有限公司 | 语义补全方法、装置和电子设备 |
CN111859921B (zh) * | 2020-07-08 | 2024-03-08 | 金蝶软件(中国)有限公司 | 文本纠错方法、装置、计算机设备和存储介质 |
CN111858854B (zh) * | 2020-07-20 | 2024-03-19 | 上海汽车集团股份有限公司 | 一种基于历史对话信息的问答匹配方法及相关装置 |
CN112035651B (zh) * | 2020-09-25 | 2024-04-09 | 北京小米松果电子有限公司 | 语句补全方法、装置及计算机可读存储介质 |
CN112417107A (zh) * | 2020-10-22 | 2021-02-26 | 联想(北京)有限公司 | 一种信息处理方法及装置 |
CN112765330A (zh) * | 2020-12-31 | 2021-05-07 | 科沃斯商用机器人有限公司 | 文本数据处理方法、装置、电子设备和存储介质 |
CN113051915A (zh) * | 2021-04-22 | 2021-06-29 | 北京正智科技有限公司 | 一种语句处理的方法、设备和计算机可读存储介质 |
CN114970666B (zh) * | 2022-03-29 | 2023-08-29 | 北京百度网讯科技有限公司 | 一种口语处理方法、装置、电子设备及存储介质 |
CN116737888B (zh) * | 2023-01-11 | 2024-05-17 | 北京百度网讯科技有限公司 | 对话生成模型的训练方法和答复文本的确定方法、装置 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105068661B (zh) * | 2015-09-07 | 2018-09-07 | 百度在线网络技术(北京)有限公司 | 基于人工智能的人机交互方法和系统 |
CN105589844B (zh) * | 2015-12-18 | 2017-08-08 | 北京中科汇联科技股份有限公司 | 一种用于多轮问答系统中缺失语义补充的方法 |
US10546066B2 (en) * | 2016-08-31 | 2020-01-28 | Microsoft Technology Licensing, Llc | End-to-end learning of dialogue agents for information access |
CN106777018B (zh) * | 2016-12-08 | 2020-05-22 | 竹间智能科技(上海)有限公司 | 一种智能聊天机器人中对输入语句的优化方法及装置 |
CN106897439B (zh) * | 2017-02-28 | 2020-04-14 | 百度在线网络技术(北京)有限公司 | 文本的情感识别方法、装置、服务器以及存储介质 |
CN106897268B (zh) * | 2017-02-28 | 2020-06-02 | 科大讯飞股份有限公司 | 文本语义理解方法、装置和系统 |
CN108334487B (zh) * | 2017-07-14 | 2021-06-25 | 腾讯科技(深圳)有限公司 | 缺失语意信息补全方法、装置、计算机设备和存储介质 |
CN108304437B (zh) * | 2017-09-25 | 2020-01-31 | 腾讯科技(深圳)有限公司 | 一种自动问答方法、装置及存储介质 |
WO2019079922A1 (zh) * | 2017-10-23 | 2019-05-02 | 腾讯科技(深圳)有限公司 | 会话信息处理方法及其装置、存储介质 |
CN109101537B (zh) * | 2018-06-27 | 2021-08-06 | 北京慧闻科技发展有限公司 | 基于深度学习的多轮对话数据分类方法、装置和电子设备 |
CN108897896B (zh) * | 2018-07-13 | 2020-06-02 | 深圳追一科技有限公司 | 基于强化学习的关键词抽取方法 |
CN109086423A (zh) * | 2018-08-08 | 2018-12-25 | 北京神州泰岳软件股份有限公司 | 一种文本匹配方法及装置 |
CN109492223B (zh) * | 2018-11-06 | 2020-08-04 | 北京邮电大学 | 一种基于神经网络推理的中文缺失代词补全方法 |
CN109726389B (zh) * | 2018-11-13 | 2020-10-13 | 北京邮电大学 | 一种基于常识和推理的中文缺失代词补全方法 |
CN109522419B (zh) * | 2018-11-15 | 2020-08-04 | 北京搜狗科技发展有限公司 | 会话信息补全方法及装置 |
CN109977207A (zh) * | 2019-03-21 | 2019-07-05 | 网易(杭州)网络有限公司 | 对话生成方法、对话生成装置、电子设备及存储介质 |
CN110032631B (zh) * | 2019-03-26 | 2021-07-02 | 腾讯科技(深圳)有限公司 | 一种信息反馈方法、装置和存储介质 |
CN109960807A (zh) * | 2019-03-26 | 2019-07-02 | 北京博瑞彤芸文化传播股份有限公司 | 一种基于上下文关联的智能语义匹配方法 |
-
2019
- 2019-07-31 CN CN201910701230.3A patent/CN110427625B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110427625A (zh) | 2019-11-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110427625B (zh) | 语句补全方法、装置、介质及对话处理系统 | |
CN110534087B (zh) | 一种文本韵律层级结构预测方法、装置、设备及存储介质 | |
CN111444329B (zh) | 智能对话方法、装置和电子设备 | |
CN111460807B (zh) | 序列标注方法、装置、计算机设备和存储介质 | |
CN112100354B (zh) | 人机对话方法、装置、设备及存储介质 | |
CN110781663B (zh) | 文本分析模型的训练方法及装置、文本分析方法及装置 | |
CN113435208B (zh) | 学生模型的训练方法、装置及电子设备 | |
CN108228576B (zh) | 文本翻译方法及装置 | |
CN113723166A (zh) | 内容识别方法、装置、计算机设备和存储介质 | |
WO2020155619A1 (zh) | 带情感的机器聊天方法、装置、计算机设备及存储介质 | |
CN109961041B (zh) | 一种视频识别方法、装置及存储介质 | |
EP4113357A1 (en) | Method and apparatus for recognizing entity, electronic device and storage medium | |
CN113158687B (zh) | 语义的消歧方法及装置、存储介质、电子装置 | |
CN113392265A (zh) | 多媒体处理方法、装置及设备 | |
CN113553412A (zh) | 问答处理方法、装置、电子设备和存储介质 | |
CN115495568A (zh) | 一种对话模型的训练方法及装置、对话响应方法及装置 | |
CN110717021A (zh) | 人工智能面试中获取输入文本和相关装置 | |
CN116152833B (zh) | 基于图像的表格还原模型的训练方法及表格还原方法 | |
CN112905772A (zh) | 语义相关性分析方法、装置及相关产品 | |
CN114239559B (zh) | 文本纠错和文本纠错模型的生成方法、装置、设备和介质 | |
CN118278543A (zh) | 答案评价模型训练方法、评价方法、装置、设备及介质 | |
CN112214592B (zh) | 一种回复对话评分模型训练方法、对话回复方法及其装置 | |
CN109002498B (zh) | 人机对话方法、装置、设备及存储介质 | |
CN116860943A (zh) | 对话风格感知与主题引导的多轮对话方法及系统 | |
CN112818688B (zh) | 文本处理方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |