一种对话管理方法和系统与流程

文档序号:11206017阅读:330来源:国知局
一种对话管理方法和系统与流程

本发明涉及自然语言处理领域,特别是涉及一种对话管理方法和系统。



背景技术:

近年来,随着人工智能技术的发展,出现了越来越多的人机对话系统,如各种手机助手、智能客服等;人机对话系统可以利用计算机为人类服务,从而为企业在减少人力成本的同时,提高服务效率;如何在人机交互过程中,快速准确的找到用户的需求反馈给用户成为研究人员亟待解决的问题;因此,研究人员提出了各种对话管理方法,以减少人机交互的次数,提高人机交互的效率;一个好的对话管理方法对人机交互过程起到至关重要的作用,对话管理方法的好坏直接关系到用户体验效果。

现有对话管理方法首先接收用户输入信息;然后对用户输入信息进行语义理解,得到多条候选结果;随后依次根据候选结果的候选得分直接更新对话目标每个属性取值的使用概率;最后根据对话目标属性取值的使用概率,对用户输入信息进行响应;具体响应时,判断对话目标属性取值的使用概率是否超过阈值,如果超过阈值,则按照预先设置的对话目标属性提问顺序对其它属性进行提问;否则,继续对当前属性进行提问;直到根据当前得到的属性取值可以确定对话目标,将对话目标返回给用户。

现有方法以对话目标的属性为处理对象依次选择每条候选结果对所有对话目标属性取值的使用概率进行更新,当选择的候选结果的顺序不同时,对话目标属性取值的最终使用概率往往会不同,从而造成系统响应用户的结果不同,如果更新对话目标属性取值使用概率的候选结果顺序选择不当,无疑会增加对话系统的交互次数,有时甚至会出现重复提问的情况,降低用户体验。



技术实现要素:

鉴于以上所述现有技术的缺点,本发明的目的在于提供一种对话管理方法和系统,应用于对话管理系统中,包括以下步骤:s1、接收用户输入信息;s2、对用户输入信息进行语义理解,根据语义理解结果计算对话目标的支持度,通过所述对话目标的支持度更新系统状态;s3、根据更新后的系统状态,对用户输入信息进行响应。

于本发明的一实施例中,所述步骤s2还包括步骤:s21、对用户输入信息进行语义理解并得到候选结果;s22、初始化所述对话管理系统状态;s23、计算所述候选结果对所述对话 目标的支持度;s24、通过所述支持度更新所述对话目标的使用概率;s25、对使用概率进行归一化,将归一化后的使用概率作为更新后的所述对话管理系统的状态。

于本发明的一实施例中,所述步骤s22还包括步骤:判断每个所述对话目标是否有历史数据;若是,则通过每个所述对话目标的历史使用次数与所有所述对话目标的总的使用次数的比值作为每个所述对话目标的使用概率;若否,则将每个所述对话目标的使用次数默认为1后,计算每个所述对话目标的使用概率。

于本发明的一实施例中,所述步骤s23还包括步骤:s231、找到每个所述候选结果支持或否定的所有所述对话目标,再根据支持或否定每个所述对话目标的所述候选结果计算所述对话目标的支持度;s232、判断所述候选结果是否支持所述对话目标;若是,则进入步骤s24;若否,则进入步骤s233;s233、判断所述候选结果是否否定所述对话目标;若是,则将计算出的所述候选结果对所述对话目标的支持度取相反数,作为新的支持度;若否,则将所述候选结果对所述对话目标的支持度设置为零。

于本发明的一实施例中,所述步骤s231中,所述支持度的计算方式为:根据所述对话目标的使用概率,及支持或否定所述对话目标的所述候选结果的候选得分,计算所述对话目标的支持度。

于本发明的一实施例中,所述步骤s24还包括步骤:s241、判断所述候选结果是否支持或否定所述对话目标;若否,则使用第一预设公式更新使用概率;若是,则使用第二预设公式更新使用概率,并进入步骤s242;s242、判断计算后的使用概率是否为负数;若是,则直接将使用概率置零。

于本发明的一实施例中,所述步骤s25还包括步骤:将每个所述对话目标的使用概率与所有所述对话目标的使用概率之和的比值作为每个所述对话目标归一化后的使用概率;进而使得所有所述对话目标的使用概率之和为1,并将所有所述对话目标归一化后的使用概率分布作为更新后的系统状态。

于本发明的一实施例中,所述步骤s3还包括步骤:判断当前所述对话管理系统的状态下所述对话目标的使用概率是否超过阈值;若是,则将所述对话目标反馈给用户;若否,则对用户进行提问,在用户回答后,返回步骤s1。

本发明还提供了一种对话管理系统,包括:信息接收模块,用于接收用户输入信息;系统更新模块,包括用于对用户输入信息进行语义理解的语义理解单元和用于根据语义理解结果计算对话目标的支持度的支持度计算单元,用于根据所述对话目标的支持度更新系统状态;系统响应模块,用于根据更新后的系统状态对用户输入信息进行响应。

于本发明的一实施例中,所述系统更新模块还包括:系统初始单元,用于在所述语义理解单元对用户输入信息进行语义理解并得到候选结果后初始化所述对话管理系统状态;使用概率更新单元,用于在所述支持度计算单元计算所述候选结果对所述对话目标的支持度后更新所述对话目标的使用概率;归一化单元,用于对使用概率更新单元更新后的使用概率进行归一化,并将归一化后的使用概率作为更新后的所述对话管理系统的状态。

于本发明的一实施例中,所述系统初始单元还用于判断每个所述对话目标是否有历史数据;在所述对话目标有历史数据时,通过每个所述对话目标的历史使用次数与所有所述对话目标的总的使用次数的比值作为每个所述对话目标的使用概率;在所述对话目标没有历史数据时,将每个所述对话目标的使用次数默认为1后,计算每个所述对话目标的使用概率。

于本发明的一实施例中,所述支持度计算单元还用于找到每个所述候选结果支持或否定的所有所述对话目标,再根据支持或否定每个所述对话目标的所述候选结果计算所述对话目标的支持度;并在所述候选结果否定所述对话目标时,将计算出的所述候选结果对所述对话目标的支持度取相反数,作为新的支持度;在所述候选结果既不支持也不否定所述对话目标时,将所述候选结果对所述对话目标的支持度设置为零。

于本发明的一实施例中,所述使用概率更新单元还用于判断所述候选结果是否支持或否定所述对话目标;在既不支持也不否定时使用第一方法更新使用概率;在支持或否定时,则使用第二方法更新使用概率;并在计算后的使用概率为负数时,直接将使用概率置零。

于本发明的一实施例中,所述归一化单元还用于将每个所述对话目标的使用概率与所有所述对话目标的使用概率之和的比值作为每个所述对话目标归一化后的使用概率;进而使得所有所述对话目标的使用概率之和为1,并将所有所述对话目标归一化后的使用概率分布作为更新后的系统状态。

于本发明的一实施例中,所述系统响应模块还用于判断当前所述对话管理系统的状态下所述对话目标的使用概率是否超过阈值;并在超过阈值时,将所述对话目标反馈给用于;在没有超过阈值时,对用户进行提问,并在用户回答后重新进行语义理解。

如上所述,本发明的一种对话管理方法和系统,具有以下有益效果:

不需要选择候选结果的更新顺序,在对话目标受到多条候选结果的支持时,同时考虑多条候选结果对对话目标的支持,从而提高该对话目标的使用概率,增加该对话目标在系统响应时反馈给用户的概率,减少用户与对话系统的交互次数,提升用户体验。

附图说明

图1显示为本发明对话管理方法一实施例的系统流程示意图。

图2显示为本发明对话管理系统一实施例的系统框架示意图。

具体实施方式

以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。

需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。

参见图1,图1显示为本发明对话管理方法一实施例的系统流程示意图。本发明提供了一种对话管理方法,应用于对话管理系统中,包括以下步骤:

s1、接收用户输入信息;在本发明中,用户输入信息包括文本信息、语音信息和图像信息;可以多方面的对用户输入信息进行接收,使得本发明的处理范围不局限于语音信息或文本信息等。

s2、对用户输入信息进行语义理解,根据语义理解结果计算对话目标的支持度,通过对话目标的支持度更新系统状态;系统状态指当前对话管理系统的状态,具体可以使用知识库中所有对话目标的使用概率分布来描述,对话目标使用的次数越多,使用概率越高,如当对话目标为歌曲时,用户听的次数越多,该歌曲的使用概率越高。对话目标指用户与对话管理系统交互时,最终需要获取的信息,具体可以根据实际应用预先确定,如对话系统是用于点歌的系统,则可以确定对话目标为歌曲。对系统状态进行更新主要根据用户输入信息的语义理解结果更新所有对话目标的使用概率。在本发明的一优选实施例中,步骤s2还包括步骤:

s21、对用户输入信息进行语义理解并得到候选结果;当用户输入信息为文本信息时,直接通过文本信息进行识别;当用户输入信息为语音信息时,先将语音信息识别成文本信息;当用户输入信息为图像信息时,通过ocr技术(opticalcharacterrecognition,光学字符识别技术),将图像中的信息识别成文本信息。在本发明的一优选实施方式中,具体语义理解时,可以结合知识库中的记录,对用户输入信息进行解码,得到多个候选结果,候选结果可以表 示为属性和属性值对的形式:(属性:属性值,候选得分),如用户输入“我想听周杰伦的歌”,进行语义理解后得到候选结果:(歌手名:周杰伦,0.7),假设知识库中存在一首歌曲的歌曲名就是“周杰伦的歌”,则还会得到一个候选结果(歌曲名:周杰伦的歌,0.02),其中数字表示每个候选结果语义理解时的概率,即侯选得分。

s22、初始化对话管理系统状态;在本发明的一实施例中,步骤s22还包括步骤:判断每个对话目标是否有历史数据;若是,则通过每个对话目标的历史使用次数与所有对话目标的总的使用次数的比值作为每个对话目标的使用概率;若否,则将每个对话目标的使用次数默认为1后,计算每个对话目标的使用概率。在一优选实施例中,系统状态使用知识库中所有对话目标的使用概率分布来描述,系统状态的描述方式如下公式所示:

s0=[p1,p2,...pi,……,pn]

其中,s0表示系统状态,n为知识库中对话目标总数,pi为第i个对话目标的使用概率。

初始化时,根据每个对话目标之前的使用情况进行初始化,使用概率为每个对话目标的使用次数与知识库中所有对话目标的总使用次数的比值。如每个对话目标的使用概率为近一个月内知识库中每个对话目标的使用次数与所有对话目标总使用次数的比值,使用情况可以是对话目标在网站上的使用情况,如点击次数、下载次数或浏览次数等。如果对话目标没有使用的历史数据,则将对话目标的使用次数默认为1;当然,也可以对所有对话目标的使用概率统一初始化,如统一设置每个对话目标的使用次数为1后,计算其使用概率。

s23、计算候选结果对对话目标的支持度;支持度指语义理解候选结果中的属性和属性值对为对话目标的属性和属性值对时,该候选结果对当前对话目标的支持程度。由于每个对话目标包含多个属性和属性值对,当多条候选结果的属性和属性值同时为一个对话目标的属性和属性值对时,则这些候选结果同时对该对话目标支持,并且支持度是累加的。因此,当支持对话目标的候选结果越多时,对话目标的支持度越高。如,两条候选结果为(歌手名:周杰伦,0.7),(歌曲名:双节棍,0.8)同时支持对话目标为“双节棍”的这首歌,则候选结果对对话目标“双节棍”的支持度为两条候选结果对对话目标支持度的和。

当然,并不是所有的对话目标都会得到候选结果的支持,对话目标也会被候选结果否定,相应侯选结果对对话目标的支持度为支持对话目标时的相反数,计算否定对话目标的侯选结果对对话目标的支持度时,只需要根据当前对话目标的所有否定侯选结果进行计算。如当用户输入信息为“我想听快歌”,对话系统最终的反馈结果为一首周杰伦的歌,用户继续输入信息“不想听周杰伦的歌”,语义理解后,有一个候选结果为(歌手名:周杰伦,0.8),此时,该候选结果否定了知识库中包含属性为歌手名属性值为周杰伦的对话目标,受到否定的对话 目标的支持度为受到支持时支持度的相反数。当同一对话目标同时有支持它的侯选结果和否定它的侯选结果时,分别计算出支持侯选结果对所述对话目标的支持度和否定侯选结果对所述对话目标的支持度,将二者的累加和作为所述对话目标的支持度。

当对话目标未得到候选结果的支持或否定时,该对话目标的支持度为零。

在本发明的一优选实施例中,步骤s23还包括步骤:s231、找到每个候选结果支持或否定的所有对话目标,再根据支持或否定每个对话目标的候选结果计算对话目标的支持度;优选地,步骤s231中,支持度的计算方式为:根据对话目标的使用概率,及支持或否定对话目标的候选结果的候选得分,计算对话目标的支持度;

支持度的计算公式为:

其中,ci为候选结果对第i个对话目标的支持度,mi为支持第i个对话目标的候选结果数或者否定第i个对话目标的候选结果数,scorek为支持第i个对话目标的第k个候选结果的候选得分或否定第i个对话目标的第k个候选结果的候选得分,gk表示第k个候选结果支持或否定的知识库中对话目标集合,pi表示第i个对话目标更新前的使用概率。

s232、判断候选结果是否支持对话目标;若是,则进入步骤s24;若否,则进入步骤s233;

s233、判断候选结果是否否定对话目标;若是,则将计算出的候选结果对对话目标的支持度取相反数,作为新的支持度;若否,则将候选结果对对话目标的支持度设置为零。

s24、通过支持度更新对话目标的使用概率;根据语义理解的候选结果计算候选结果对对话目标的支持度后,得到候选结果支持的对话目标的使用概率发生了变化,需要根据对话目标的支持度对对话目标的使用概率进行更新,当所有对话目标的使用概率更新结束后,得到新的系统状态;对对话目标的使用概率进行更新时,需要考虑到对话目标更新前的使用概率,在此基础上考虑候选结果对对话目标的支持度对使用概率的影响。在本发明的一实施例中,步骤s24还包括步骤:s241、判断候选结果是否支持或否定对话目标;若否,则使用第一方法更新使用概率;若是,则使用第二方法更新使用概率,并进入步骤s242;s242、判断计算后的使用概率是否为负数;若是,则直接将使用概率置零。本实施例中,第一方法通过第一预设公式计算并更新使用概率,第一预设公式为:

其中,表示第r个对话目标更新后的使用概率,pr表示第r个对话目标更新前的使用 概率,m为用户输入信息语义理解的所有候选结果数,scoret表示第t个候选结果的候选得分。

第二方法通过第二预设公式计算并更新使用概率,第二预设公式为:

其中,表示第i个对话目标更新后的使用概率,pi表示第i个对话目标更新前的使用概率。

s25、对使用概率进行归一化,将归一化后的使用概率作为更新后的对话管理系统的状态。为了保证库中所有对话目标的使用概率之和为1,需要对更新后的所有对话目标的使用概率进行归一化。具体的,在一实施例中,步骤s25还包括步骤:

将每个对话目标的使用概率与所有对话目标的使用概率之和的比值作为每个对话目标归一化后的使用概率;进而使得所有对话目标的使用概率之和为1,并将所有对话目标归一化后的使用概率分布作为更新后的系统状态。优选地,归一化后的使用概率的计算公式为:

其中,为第i个对话目标归一化后的使用概率;为根据候选结果对对话目标的支持度更新后的第i个对话目标的使用概率;n为知识库中对话目标总数。

s3、根据更新后的系统状态,对用户输入信息进行响应。通常,步骤s3还包括步骤:判断当前对话管理系统的状态下对话目标的使用概率是否超过阈值;若是,则将对话目标反馈给用户;若否,则对用户进行提问,在用户回答后,返回步骤s1。

下面以用户输入信息为“我想听周杰伦的歌”为例,说明对话管理方法的步骤s2中对话管理系统状态的更新过程,具体如下:

假设知识库中有3000首歌曲,其中,“青花瓷(国语版)”、“青花瓷(粤语版)”、“一路向北”三首歌曲的属性“歌手名”的属性值为“周杰伦”,“周杰伦的歌”歌曲的属性“歌曲名”的属性值为“周杰伦的歌”;

步骤1、结合知识库,对用户输入信息进行语义理解,得到的候选结果为:

(歌手名:周杰伦,0.7)

(歌曲名:周杰伦的歌,0.02)

根据对话系统与用户的交互可以知道对话目标为歌曲,则知识库中所有的歌曲都是对话目标;

步骤2、初始化系统状态;

将对话目标的使用次数统一设置为1次,则使用概率s0=[p1,p2,...pi,……,p3000],统一初始化为1/3000;

步骤3、计算候选结果对对话目标的支持度;

首先找到满足候选结果(歌手名:周杰伦,0.7)支持的对话目标,即该对话目标包含的属性和属性值对的取值为:歌手名和周杰伦:

“青花瓷(国语版)”,使用概率0.15;

“青花瓷(粤语版)”,使用概率0.12;

“一路向北”,使用概率0.05;

满足候选结果(歌曲名:周杰伦的歌,0.02)的对话目标,即该对话目标包含的属性和属性值对的取值为:歌曲名和周杰伦的歌:

“周杰伦的歌”,使用概率0.06;

然后根据支持每个对话目标的候选结果,计算对话目标的支持度;

对话目标“青花瓷(国语版)”的支持度:

对话目标“青花瓷(粤语版)”的支持度:

对话目标“一路向北”的支持度:

对话目标“周杰伦的歌”的支持度:

步骤4、利用对话目标的支持度对系统状态进行更新

知识库中有四首歌曲得到了候选结果的支持,根据第二预设公式对所有对话目标的使用概率进行更新,得到新的系统状态,具体更新方法如下:

对话目标“青花瓷(国语版)”的使用概率:

对话目标“青花瓷(粤语版)”的使用概率:

对话目标“一路向北”的使用概率:

对话目标“周杰伦的歌”的使用概率:

其它未得到候选结果支持或否定的对话目标的使用概率使用第一预设公式进行更新,假设知识库中有一首“那英”的“春暖花开”,更新前的使用概率为0.08,则对话目标“春暖花开”的使用概率更新为:

使用第一预设公式对知识库中剩余对话目标更新使用概率,当所有对话目标的使用概率更新结束后,将得到新的使用概率分布作为更新后的系统状态。

步骤5、对使用概率进行归一化,将知识库中所有对话目标归一化后的使用概率分布作为更新后的系统状态。

如图2所示,图2显示为本发明对话管理系统一实施例的系统框架示意图。本发明还提供了一种对话管理系统,包括:

信息接收模块,用于接收用户输入信息;

系统更新模块,包括用于对用户输入信息进行语义理解的语义理解单元和用于根据语义理解结果计算对话目标的支持度的支持度计算单元,用于根据对话目标的支持度更新系统状态;当用户输入信息为文本信息时,直接通过文本信息进行识别;当用户输入信息为语音信息时,先将语音信息识别成文本信息;当用户输入信息为图像信息是,通过ocr技术(opticalcharacterrecognition,光学字符识别技术),将图像中的信息识别成文本信息。在本发明的一优选实施方式中,具体语义理解时,可以结合知识库中的记录,对用户输入信息进行解码,得到多个候选结果,候选结果可以表示为属性和属性值对的形式:(属性:属性值,候选得分),如用户输入“我想听周杰伦的歌”,进行语义理解后得到候选结果:(歌手名:周杰伦,0.7),假设知识库中存在一首歌曲的歌曲名就是“周杰伦的歌”,则还会得到一个候选结果(歌曲名:周杰伦的歌,0.02),其中数字表示每个候选结果语义理解时的概率。

在本发明的一实施例中,系统更新模块还包括:系统初始单元,用于在语义理解单元对用户输入信息进行语义理解并得到候选结果后初始化对话管理系统状态;优选地,系统初始单元还用于判断每个对话目标是否有历史数据;在对话目标有历史数据时,通过每个对话目标的历史使用次数与所有对话目标的总的使用次数的比值作为每个对话目标的使用概率;在对话目标没有历史数据时,将每个对话目标的使用次数默认为1后,计算每个对话目标的使 用概率。在一优选实施例中,系统状态使用知识库中所有对话目标的使用概率分布来描述,系统状态的描述方式如下公式所示:

s0=[p1,p2,...pi,……,pn]

其中,s0表示系统状态,n为知识库中对话目标总数,pi为第i个对话目标的使用概率。

初始化时,根据每个对话目标之前的使用情况进行初始化,使用概率为每个对话目标的使用次数与知识库中所有对话目标的总使用次数的比值。如每个对话目标的使用概率为近一个月内知识库中每个对话目标的使用次数与所有对话目标总使用次数的比值,使用情况可以是对话目标在网站上的使用情况,如点击次数、下载次数或浏览次数等。如果对话目标没有使用的历史数据,则将对话目标的使用次数默认为1;当然,也可以对所有对话目标的使用概率统一初始化,如统一设置每个对话目标的使用次数为1后,计算其使用概率。

使用概率更新单元,用于在支持度计算单元计算候选结果对对话目标的支持度后更新对话目标的使用概率;支持度指语义理解候选结果中的属性和属性值对为对话目标的属性和属性值对时,该候选结果对当前对话目标的支持程度。由于每个对话目标包含多个属性和属性值对,当多条候选结果的属性和属性值同时为一个对话目标的属性和属性值对时,则这些候选结果同时对该对话目标支持,并且支持度是累加的。因此,当支持对话目标的候选结果越多时,对话目标的支持度越高。如,两条候选结果为(歌手名:周杰伦,0.7),(歌曲名:双节棍,0.8)同时支持对话目标为“双节棍”的这首歌,则候选结果对对话目标“双节棍”的支持度为两条候选结果对对话目标支持度的和。

当然,并不是所有的对话目标都会得到候选结果的支持,对话目标也会被候选结果否定,相应侯选结果对对话目标的支持度为支持对话目标时的相反数,计算否定对话目标的侯选结果对对话目标的支持度时,只需要根据当前对话目标的所有否定侯选结果进行计算。如当用户输入信息为“我想听快歌”,对话系统最终的反馈结果为一首周杰伦的歌,用户继续输入信息“不想听周杰伦的歌”,语义理解后,有一个候选结果为(歌手名:周杰伦,0.8),此时,该候选结果否定了知识库中包含属性为歌手名属性值为周杰伦的对话目标,受到否定的对话目标的支持度为受到支持时支持度的相反数。

当同一对话目标同时有支持它的侯选结果和否定它的侯选结果时,分别计算出支持侯选结果对所述对话目标的支持度和否定侯选结果对所述对话目标的支持度,将二者的累加和作为所述对话目标的支持度。

当对话目标未得到候选结果的支持或否定时,该对话目标的支持度为零。

在一优选实施例中,支持度计算单元还用于找到每个候选结果支持或否定的所有对话目 标,再根据支持或否定每个对话目标的候选结果计算对话目标的支持度;并在候选结果否定对话目标时,将计算出的候选结果对对话目标的支持度取相反数,作为新的支持度;在候选结果既不支持也不否定对话目标时,将候选结果对对话目标的支持度设置为零。优选地,支持度的计算方式为:根据对话目标的使用概率,及支持或否定对话目标的候选结果的候选得分,计算对话目标的支持度。支持度的计算公式为:

其中,ci为候选结果对第i个对话目标的支持度,mi为支持第i个对话目标的候选结果数或否定第i个对话目标的候选结果数,scorek为支持第i个对话目标的第k个候选结果的候选得分或否定第i个对话目标的第k个候选结果的候选得分,gk表示第k个候选结果支持或否定的知识库中对话目标集合,pi表示第i个对话目标更新前的使用概率。

同时,由于根据语义理解的候选结果计算候选结果对对话目标的支持度后,得到候选结果支持的对话目标的使用概率发生了变化,需要根据对话目标的支持度对对话目标的使用概率进行更新,当所有对话目标的使用概率更新结束后,得到新的系统状态;对对话目标的使用概率进行更新时,需要考虑到对话目标更新前的使用概率,在此基础上考虑候选结果对对话目标的支持度对使用概率的影响。使用概率更新单元还用于根据支持度判断候选结果是否支持或否定对话目标;在既不支持也不否定时使用第一方法更新使用概率;在支持或否定时,则使用第二方法更新使用概率;并在计算后的使用概率为负数时,直接将使用概率置零。本实施例中,第一方法通过第一预设公式计算并更新使用概率,第一预设公式为:

其中,表示第r个对话目标更新后的使用概率,pr表示第r个对话目标更新前的使用概率,m为用户输入信息语义理解的所有候选结果数,scoret表示第t个候选结果的候选得分。

第二方法通过第二预设公式计算并更新使用概率,第二预设公式为:

其中,表示第i个对话目标更新后的使用概率,pi表示第i个对话目标更新前的使用概率。

归一化单元,用于对使用概率更新单元更新后的使用概率进行归一化,并将归一化后的使用概率作为更新后的对话管理系统的状态。为了保证库中所有对话目标的使用概率之和为 1,需要对更新后的所有对话目标的使用概率进行归一化。具体的,在一实施例中,归一化单元还用于将每个对话目标的使用概率与所有对话目标的使用概率之和的比值作为每个对话目标归一化后的使用概率;进而使得所有对话目标的使用概率之和为1,并将所有对话目标归一化后的使用概率分布作为更新后的系统状态。

优选地,归一化后的使用概率的计算公式为:

其中,为第i个对话目标归一化后的使用概率;为根据候选结果对对话目标的支持度更新后第i个对话目标的使用概率;n为知识库中对话目标总数。

系统响应模块,用于根据更新后的系统状态对用户输入信息进行响应。通常,系统响应模块还用于判断当前对话管理系统的状态下对话目标的使用概率是否超过阈值;并在超过阈值时,将对话目标反馈给用于;在没有超过阈值时,对用户进行提问,并在用户回答后重新进行语义理解。

下面以用户输入信息为“我想听周杰伦的歌”为例,说明对话管理系统中系统更新模块对话管理系统状态的更新过程,具体如下:

假设知识库中有3000首歌曲,其中,“青花瓷(国语版)”、“青花瓷(粤语版)”、“一路向北”三首歌曲的属性“歌手名”的属性值为“周杰伦”,“周杰伦的歌”歌曲的属性“歌曲名”的属性值为“周杰伦的歌”;

步骤1、结合知识库,语义理解单元对用户输入信息进行语义理解,得到的候选结果为:

(歌手名:周杰伦,0.7)

(歌曲名:周杰伦的歌,0.02)

根据对话系统与用户的交互可以知道对话目标为歌曲,则知识库中所有的歌曲都是对话目标;

步骤2、系统初始单元初始化系统状态;

系统初始单元将对话目标的使用次数统一设置为1次,则使用概率:

s0=[p1,p2,...pi,……,p3000],

统一初始化为1/3000;

步骤3、支持度计算单元计算候选结果对对话目标的支持度;

首先找到候选结果(歌手名:周杰伦,0.7)支持的对话目标,即该对话目标包含的属性 和属性值对的取值为:歌手名和周杰伦:

“青花瓷(国语版)”,使用概率0.15

“青花瓷(粤语版)”,使用概率0.12

“一路向北”,使用概率0.05;

满足候选结果(歌曲名:周杰伦的歌,0.02)的对话目标,即该对话目标包含的属性和属性值对的取值为:歌曲名和周杰伦的歌:

“周杰伦的歌”,使用概率0.06;

然后根据支持每个对话目标的候选结果,计算对话目标的支持度

对话目标“青花瓷(国语版)”的支持度:

对话目标“青花瓷(粤语版)”的支持度:

对话目标“一路向北”的支持度:

对话目标“周杰伦的歌”的支持度

步骤4、使用概率更新单元利用对话目标的支持度对系统状态进行更新

知识库中有四首歌曲得到了候选结果的支持,根据第二预设公式对所有对话目标的使用概率进行更新,得到新的系统状态,具体更新方法如下:

对话目标“青花瓷(国语版)”的使用概率:

对话目标“青花瓷(粤语版)”的使用概率:

对话目标“一路向北”的使用概率:

对话目标“周杰伦的歌”的使用概率

其它未得到候选结果支持或否定的对话目标的使用概率使用第一预设公式进行更 新,假设知识库中有一首“那英”的“春暖花开”,更新前的使用概率为0.08,则对话目标“春暖花开”的使用概率更新为:

使用第一预设公式对知识库中剩余对话目标更新使用概率,当所有对话目标的使用概率更新结束后,将得到新的使用概率分布作为更新后的系统状态。

步骤5、归一化单元对使用概率进行归一化,将知识库中所有对话目标归一化后的使用概率分布作为更新后的系统状态。

综上所述,本发明的一种对话管理方法和系统,首先接收用户输入信息;随后对用户输入信息进行语义理解,根据语义理解结果更新系统状态,具体更新时,将对话目标作为处理对象,计算语义理解结果的候选结果对对话目标的支持度,根据所述支持度更新对话目标的使用概率,当所有对话目标的使用概率更新结束后,统一进行归一化,将对话目标归一化后的使用概率分布作为更新后的系统状态;最后根据更新后的系统状态对用户输入信息进行响应。本案所述方法以对话目标作为处理对象,当所有候选结果对对话目标的支持度计算结束后,再进行系统状态的更新,从而不需要选择候选结果的更新顺序,在对话目标受到多条候选结果的支持时,同时考虑多条候选结果对对话目标的支持,从而提高该对话目标的使用概率,增加该对话目标在系统响应时反馈给用户的概率,减少用户与对话系统的交互次数,提升用户体验。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。

上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。

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