基于发音相似度的人机对话匹配方法、装置及介质与流程
本发明涉及人工智能技术领域,具体地,涉及一种基于发音相似度的人机对话匹配方法、装置及介质。
背景技术:
目前,智能人机对话技术已广泛应用于智能客服信息采集领域。在此类场景下,对话机器人以选择题或填空题的形式向用户提出问题,收集用户回答,通过语义理解模块匹配到对应的选择题答案选项或进行填空题的答案抽取。对于选择题的语义理解常通过两类方式计算候选答案与用户回答之间的相似度,完成答案的匹配:1)基于文字相似度的匹配,如基于编辑距离(或称levenshtein距离)的方法可以计算用户回答的字符串需要经过多少次单字符编辑操作(单字的插入、删除或替换操作)才可以转换成候选答案的字符串,比较两个字符串之间的“形似”程度;2)基于词向量(或称词嵌入)的语义相似度匹配,分别计算用户回答字符串和答案字符串的语义词向量,通过计算两个词向量在语义空间中的距离(如余弦相似度)判断两个字符串是否相似。
但是,如果人机对话服务的业务形态是人机语音对话时,其语义理解的准确率会受到语音识别准确率的影响。语音识别在强噪声、重口音等不良因素影响下,尤其是在所说语句较短的情况下,由于缺乏足够的上下文信息帮助,识别准确率往往不高。例如,对于候选答案“满意”和“不满意”,如果用户想用语音说“不满意”进行回答,但如果受噪声影响或吐字不清的影响,语音识别引擎仅仅能捕捉到前两个发音['bu4','man3'],那么由于缺少上下文,其输出结果可能为“不满”,也可能为“布满”。如果语音识别模块正确输出为“不满”,则还可以通过编辑距离匹配到更相近的答案项“不满意”。但如果语音识别输出为“布满”,则无论基于文字相似度还是语义相似度都无法正确匹配。一般情况下,当识别的用户回答和所有候选答案的相似度都低于一个拒识阈值时,对话引擎会处理为回答不合规,要求用户重新回答,大大影响了用户体验。
因此,在基于语音的智能人机对话实际应用场景中,当用户回答的语音识别结果受到背景强噪音、用户口音不准、上下文信息不足等诸多因素影响时,很容易输出错误的同音异形字词,而在这种情况下,通过现有的文字/语义相似度匹配方法很难匹配到正确的候选答案。
技术实现要素:
鉴于以上问题,本发明的目的是提供一种基于发音相似度的人机对话匹配方法、装置及介质,以解决现有语音识别易输出错误的同音异形字词,导致人机对话很难正确匹配到候选答案的问题。
为了实现上述目的,本发明采用以下技术方案:
本发明的第一个方面是提供一种基于发音相似度的人机对话匹配方法,包括:
获取用户回答的字符串和多个待匹配的候选答案对应的字符串;
将用户回答的字符串和各个候选答案的字符串分别转化为对应的发音数组;
计算用户回答对应的发音数组与每个候选答案对应的发音数组之间的编辑距离;
根据所述编辑距离得到两个字符串之间的发音相似度;
根据发音相似度获取与用户回答匹配的候选答案。
优选地,根据所述编辑距离得到两个字符串之间的发音相似度的公式如下:
sim=1/dis
其中,sim表示发音相似度,dis表示编辑距离。
优选地,根据所述编辑距离得到两个字符串之间的发音相似度的公式如下:
sim=-1*dis
其中,sim表示发音相似度,dis表示编辑距离。
优选地,根据发音相似度获取与用户回答匹配的候选答案的步骤包括:
将用户回答的字符串与每个候选答案的字符串之间的发音相似度按照从大到小的顺序排列;
将最大发音相似度对应的候选答案与用户回答配对;
判断最大发音相似度是否大于预设的拒识阈值,若最大发音相似度大于预设的拒识阈值,则将配对的候选答案作为与用户回答匹配的候选答案。
优选地,所述发音数组中不包括拼音声调。
本发明的第二个方面是提供一种基于发音相似度的人机对话匹配装置,包括:
字符串获取模块,用于获取用户回答的字符串和多个待匹配的候选答案对应的字符串;
发音数组转化模块,用于将用户回答的字符串和各个候选答案的字符串分别转化为对应的发音数组;
编辑距离计算模块,用于计算用户回答对应的发音数组与每个候选答案对应的发音数组之间的编辑距离;
相似度获取模块,用于根据所述编辑距离得到两个字符串之间的发音相似度;
匹配模块,用于根据发音相似度获取与用户回答匹配的候选答案。
本发明的第三个方面是提供一种电子装置,该电子装置包括:至少一个处理器;与至少一个处理器通信连接的存储器,所述存储器中包括人机对话匹配程序,所述人机对话匹配程序被处理器执行时实现如上所述的人机对话匹配方法。
本发明的第四个方面是提供一种计算机可读存储介质,所述计算机可读存储介质中包括人机对话匹配程序,所述人机对话匹配程序被处理器执行时,实现如上所述的人机对话匹配方法。
与现有技术相比,本发明具有以下优点和有益效果:
本发明基于发音相似度对人机对话进行匹配,可以有效提高基于语音的人机对话系统的容错能力,实现正确的对话理解,使得对话服务更加流畅高效。
在实际应用中,基于发音相似度的匹配方法可以作为文字相似度匹配和语义相似度匹配的有效补充,在语音识别输出错误或者无法找到合适的候选答案的情况下实现容错处理,完成对用户回答和候选答案之间的正确匹配。
附图说明
图1是本发明所述基于发音相似度的人机对话匹配方法的流程示意图;
图2是本发明所述基于发音相似度的人机对话匹配装置的模块示意图。
具体实施方式
下面将参考附图来描述本发明所述的实施例。本领域的普通技术人员可以认识到,在不偏离本发明的精神和范围的情况下,可以用各种不同的方式或其组合对所描述的实施例进行修正。因此,附图和描述在本质上是说明性的,而不是用于限制权利要求的保护范围。此外,在本说明书中,附图未按比例画出,并且相同的附图标记表示相同的部分。
图1是本发明所述基于发音相似度的人机对话匹配方法的流程示意图,如图1所示,本发明所述基于发音相似度的人机对话匹配方法,包括以下步骤:
步骤s1,获取用户回答的字符串和多个待匹配的候选答案对应的字符串,例如,当人机对话问答为“是否满意”时,用户回答可以为“满意”或“不满”,或者是两者的同音异形字;待匹配的候选答案为“满意”、“不满”和“不满意”等;
步骤s2,将用户回答的字符串和各个候选答案的字符串分别转化为对应的发音数组;
步骤s3,计算用户回答对应的发音数组与每个候选答案对应的发音数组之间的编辑距离,则可以得到多个编辑距离,其中,编辑距离指的是从用户回答编辑到候选答案之间的距离。计算时,将发音数组中的每个发音等价于编辑距离算法中的单字,再计算两个发音数组之间的编辑距离,例如,对候选答案“不满意”,其发音数组为['bu4','man3','yi4'],其中,发音数组中的数字表示拼音声调;用户回答“布满”对应的发音数组为['bu4','man3'],由于['bu4','man3','yi4']仅需要进行一次删除操作移除发音'yi4',即可转换为['bu4','man3'],因此“不满意”对应的发音数组和“布满”对应的发音数组之间的编辑距离为1。同理,可求得“满意”和“布满”的发音编辑距离为2;
步骤s4,根据所述编辑距离得到两个字符串之间的发音相似度;
步骤s5,根据发音相似度获取与用户回答匹配的候选答案。
本发明基于发音相似度对用户回答和候选答案进行匹配,应用于语音人机问答系统中,可以在语音识别不准确的情况下,提高人机对话系统的容错能力,实现正确的对话理解,完成用户回答和候选答案之间的正确匹配,提升用户体验。
两个发音数组之间的编辑距离越小,发音的相似度越高。
在一个实施例中,根据所述编辑距离得到两个字符串之间的发音相似度的公式如下:
sim=1/dis
其中,sim表示发音相似度,dis表示编辑距离。
在一个实施例中,根据所述编辑距离得到两个字符串之间的发音相似度的公式如下:
sim=-1*dis
其中,sim表示发音相似度,dis表示编辑距离。
需要说明的是,本发明中,对于发音相似度的计算方式不限于上述取负数和取倒数的两种方式,也可以是其他计算方式。
在一个实施例中,根据发音相似度获取与用户回答匹配的候选答案的步骤包括:
将用户回答的字符串与每个候选答案的字符串之间的发音相似度按照从大到小的顺序排列;
将最大发音相似度对应的候选答案与用户回答配对;
判断最大发音相似度是否大于预设的拒识阈值,若最大发音相似度大于预设的拒识阈值,则将配对的候选答案作为与用户回答匹配的候选答案;若最大发音相似度小于或等于预设的拒识阈值,则回答不合规,无法配对得到正确的候选答案,要求用户重新回答。
可选地,所述发音数组中可以不包括拼音声调,例如,['bu','man','yi'],对不带拼音声调的发音数组进行编辑距离和相似度等的计算,与上述对带拼音声调的发音数组的计算方式大致相同,在此不再赘述。
在用户发音声调不准确或者由于声学模型误差导致声调识别错误时,利用本发明的基于发音相似度的匹配方法进行匹配,可以进一步地提高匹配的召回率。
其他类似的情况包括,如果用户带有口音或者对个别字的发音不准确,进而导致语音识别系统识别为另一个词,如“胸口难受”['xiong1','kou3','nan2','shou4']识别为“胸口蓝瘦”['xiong1','kou3','lan2','shou4'],同样可以利用本发明对两个发音数组进行编辑距离和相似度的计算,也可以提高匹配的准确率。
在实际应用中,基于发音相似度的匹配方法可以作为文字相似度匹配和语义相似度匹配的有效补充,在前一阶段语音识别输出错误的情况下实现容错处理,完成对用户回答和候选答案之间的正确匹配。当文字相似度和语义相似度均无法找到合适的候选答案时,可进行基于发音相似度的匹配方法,如果找到的相似度最高的“用户回答-候选答案”配对且其相似度高于发音拒识阈值时,则认为匹配成功并将相应的候选答案作为匹配结果。通过本发明所述的匹配方法可以有效提高基于语音的人机对话系统的容错能力,使得对话服务更加流畅高效。
图2是本发明所述基于发音相似度的人机对话匹配装置的模块示意图,如图2所示,本发明所述基于发音相似度的人机对话匹配装置,包括:
字符串获取模块1,用于获取用户回答的字符串和多个待匹配的候选答案对应的字符串;
发音数组转化模块2,用于将用户回答的字符串和各个候选答案的字符串分别转化为对应的发音数组;
编辑距离计算模块3,用于计算用户回答对应的发音数组与每个候选答案对应的发音数组之间的编辑距离,其中,编辑距离指的是从用户回答编辑到候选答案之间的距离。计算时,将发音数组中的每个发音等价于编辑距离算法中的单字,再计算两个发音数组之间的编辑距离,例如,对候选答案“不满意”,其发音数组为['bu4','man3','yi4'],其中,发音数组中的数字表示拼音声调;用户回答“布满”对应的发音数组为['bu4','man3'],由于['bu4','man3','yi4']仅需要进行一次删除操作移除发音'yi4',即可转换为['bu4','man3'],因此“不满意”对应的发音数组和“布满”对应的发音数组之间的编辑距离为1。同理,可求得“满意”和“布满”的发音编辑距离为2;
相似度获取模块4,用于根据所述编辑距离得到两个字符串之间的发音相似度;
匹配模块5,用于根据发音相似度获取与用户回答匹配的候选答案。
两个发音数组之间的编辑距离越小,发音的相似度越高。
在一个实施例中,所述相似度获取模块根据所述编辑距离得到两个字符串之间的发音相似度的公式如下:
sim=1/dis
其中,sim表示发音相似度,dis表示编辑距离。
在一个实施例中,所述相似度获取模块根据所述编辑距离得到两个字符串之间的发音相似度的公式如下:
sim=-1*dis
其中,sim表示发音相似度,dis表示编辑距离。
在一个实施例中,匹配模块5包括:排序单元,将用户回答的字符串与每个候选答案的字符串之间的发音相似度按照从大到小的顺序排列;配对单元,将最大发音相似度对应的候选答案与用户回答配对;判断单元,判断最大发音相似度是否大于预设的拒识阈值,若最大发音相似度大于预设的拒识阈值,则将配对的候选答案作为与用户回答匹配的候选答案;若最大发音相似度小于或等于预设的拒识阈值,则回答不合规,无法配对得到正确的候选答案,要求用户重新回答。
可选地,所述发音数组中可以不包括拼音声调,例如,['bu','man','yi'],对不带拼音声调的发音数组进行编辑距离和相似度等的计算,与上述对带拼音声调的发音数组的计算方式大致相同,在此不再赘述。
本发明所述基于发音相似度的人机对话匹配方法应用于电子装置,所述电子装置可以是电视机、智能手机、平板电脑、计算机、声控设备、对话机器人等终端设备。
所述电子装置包括:至少一个处理器,与至少一个处理器通信连接的存储器,所述存储器中包括人机对话匹配程序,所述人机对话匹配程序被处理器执行时实现如下所述的人机对话匹配方法的步骤:
获取用户回答的字符串和多个待匹配的候选答案对应的字符串;
将用户回答的字符串和各个候选答案的字符串分别转化为对应的发音数组;
计算用户回答对应的发音数组与每个候选答案对应的发音数组之间的编辑距离;
根据所述编辑距离得到两个字符串之间的发音相似度;
根据发音相似度获取与用户回答匹配的候选答案。
所述电子装置还可以包括网络接口和通信总线等。其中,网络接口可以包括标准的有线接口、无线接口,通信总线用于实现各个组件之间的连接通信。
存储器包括至少一种类型的可读存储介质,可以是闪存、硬盘、光盘等非易失性存储介质,也可以是插接式硬盘等,且并不限于此,可以是以非暂时性方式存储指令或软件以及任何相关联的数据文件并向处理器提供指令或软件程序以使该处理器能够执行指令或软件程序的任何装置。本发明中,存储器存储的软件程序包括人机对话匹配程序,并可以向处理器提供该人机对话匹配程序,以使得处理器可以执行该人机对话匹配程序,实现人机对话匹配方法的步骤。
处理器可以是中央处理器、微处理器或其他数据处理芯片等,可以运行存储器中的存储程序,例如,本发明中人机对话匹配程序。
所述电子装置还可以包括显示器,显示器也可以称为显示屏或显示单元。在一些实施例中显示器可以是led显示器、液晶显示器、触控式液晶显示器以及有机发光二极管(organiclight-emittingdiode,oled)触摸器等。显示器用于显示在电子装置中处理的信息以及用于显示可视化的工作界面。
所述电子装置还可以包括用户接口,用户接口可以包括输入单元(比如语音输入麦克风、键盘)、语音输出装置(比如音响、耳机)等。
需要说明的是,本发明之电子装置的具体实施方式与上述基于发音相似度的人机对话匹配方法、装置的具体实施方式大致相同,在此不再赘述。
在其他实施例中,基于发音相似度的人机对话匹配程序还可以被分割为一个或者多个模块,一个或者多个模块被存储于存储器中,并由处理器执行,以完成本发明。本发明所称的模块是指能够完成特定功能的一系列计算机程序指令段。所述人机对话匹配程序可以被分割为:字符串获取模块1、发音数组转化模块2、编辑距离计算模块3、相似度获取模块4和匹配模块5。上述模块所实现的功能或操作步骤均与上文类似,此处不再详述,示例性地,例如其中:
字符串获取模块1,用于获取用户回答的字符串和多个待匹配的候选答案对应的字符串;
发音数组转化模块2,用于将用户回答的字符串和各个候选答案的字符串分别转化为对应的发音数组;
编辑距离计算模块3,用于计算用户回答对应的发音数组与每个候选答案对应的发音数组之间的编辑距离;
相似度获取模块4,用于根据所述编辑距离得到两个字符串之间的发音相似度;
匹配模块5,用于根据发音相似度获取与用户回答匹配的候选答案。
本发明的一个实施例中,计算机可读存储介质可以是任何包含或存储程序或指令的有形介质,其中的程序可以被执行,通过存储的程序指令相关的硬件实现相应的功能。例如,计算机可读存储介质可以是计算机磁盘、硬盘、随机存取存储器、只读存储器等。本发明并不限于此,可以是以非暂时性方式存储指令或软件以及任何相关数据文件或数据结构并且可提供给处理器以使处理器执行其中的程序或指令的任何装置。所述计算机可读存储介质中包括人机对话匹配程序,所述人机对话匹配程序被处理器执行时,实现如下的人机对话匹配方法:
获取用户回答的字符串和多个待匹配的候选答案对应的字符串;
将用户回答的字符串和各个候选答案的字符串分别转化为对应的发音数组;
计算用户回答对应的发音数组与每个候选答案对应的发音数组之间的编辑距离;
根据所述编辑距离得到两个字符串之间的发音相似度;
根据发音相似度获取与用户回答匹配的候选答案。
需要说明的是,本发明之计算机可读存储介质的具体实施方式与上述基于发音相似度的人机对话匹配方法、装置的具体实施方式大致相同,在此不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,声控设备,机器人或者其他网络设备等)执行本发明各个实施例所述的方法。
起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。
此文章来源于网络,如有侵权,请联系删除