CN107222383B - 一种对话管理方法和系统 - Google Patents

一种对话管理方法和系统 Download PDF

Info

Publication number
CN107222383B
CN107222383B CN201610168641.7A CN201610168641A CN107222383B CN 107222383 B CN107222383 B CN 107222383B CN 201610168641 A CN201610168641 A CN 201610168641A CN 107222383 B CN107222383 B CN 107222383B
Authority
CN
China
Prior art keywords
dialogue
target
conversation
probability
support degree
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
Application number
CN201610168641.7A
Other languages
English (en)
Other versions
CN107222383A (zh
Inventor
吴及
李淼
侯晋峰
伍梅
吕萍
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tsinghua University
iFlytek Co Ltd
Original Assignee
Tsinghua University
iFlytek Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tsinghua University, iFlytek Co Ltd filed Critical Tsinghua University
Priority to CN201610168641.7A priority Critical patent/CN107222383B/zh
Publication of CN107222383A publication Critical patent/CN107222383A/zh
Application granted granted Critical
Publication of CN107222383B publication Critical patent/CN107222383B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/02User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail using automatic reactions or user delegation, e.g. automatic replies or chatbot-generated messages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/216Parsing using statistical methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Machine Translation (AREA)

Abstract

本发明提供一种对话管理方法和系统,应用于对话管理系统中,包括以下步骤:S1、接收用户输入信息;S2、对用户输入信息进行语义理解,根据语义理解结果计算对话目标的支持度,通过所述对话目标的支持度更新系统状态;S3、根据更新后的系统状态,对用户输入信息进行响应。本发明提供的一种对话管理方法和系统,不需要选择候选结果的更新顺序,在对话目标受到多条候选结果的支持时,同时考虑多条候选结果对对话目标的支持,从而提高该对话目标的使用概率,增加该对话目标在系统响应时反馈给用户的概率,减少用户与对话系统的交互次数,提升用户体验。

Description

一种对话管理方法和系统
技术领域
本发明涉及自然语言处理领域,特别是涉及一种对话管理方法和系统。
背景技术
近年来,随着人工智能技术的发展,出现了越来越多的人机对话系统,如各种手机助手、智能客服等;人机对话系统可以利用计算机为人类服务,从而为企业在减少人力成本的同时,提高服务效率;如何在人机交互过程中,快速准确的找到用户的需求反馈给用户成为研究人员亟待解决的问题;因此,研究人员提出了各种对话管理方法,以减少人机交互的次数,提高人机交互的效率;一个好的对话管理方法对人机交互过程起到至关重要的作用,对话管理方法的好坏直接关系到用户体验效果。
现有对话管理方法首先接收用户输入信息;然后对用户输入信息进行语义理解,得到多条候选结果;随后依次根据候选结果的候选得分直接更新对话目标每个属性取值的使用概率;最后根据对话目标属性取值的使用概率,对用户输入信息进行响应;具体响应时,判断对话目标属性取值的使用概率是否超过阈值,如果超过阈值,则按照预先设置的对话目标属性提问顺序对其它属性进行提问;否则,继续对当前属性进行提问;直到根据当前得到的属性取值可以确定对话目标,将对话目标返回给用户。
现有方法以对话目标的属性为处理对象依次选择每条候选结果对所有对话目标属性取值的使用概率进行更新,当选择的候选结果的顺序不同时,对话目标属性取值的最终使用概率往往会不同,从而造成系统响应用户的结果不同,如果更新对话目标属性取值使用概率的候选结果顺序选择不当,无疑会增加对话系统的交互次数,有时甚至会出现重复提问的情况,降低用户体验。
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种对话管理方法和系统,应用于对话管理系统中,包括以下步骤: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技术(Optical Character Recognition,光学字符识别技术),将图像中的信息识别成文本信息。在本发明的一优选实施方式中,具体语义理解时,可以结合知识库中的记录,对用户输入信息进行解码,得到多个候选结果,候选结果可以表示为属性和属性值对的形式:(属性:属性值,候选得分),如用户输入“我想听周杰伦的歌”,进行语义理解后得到候选结果:(歌手名:周杰伦,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中,支持度的计算方式为:根据对话目标的使用概率,及支持或否定对话目标的候选结果的候选得分,计算对话目标的支持度;
支持度的计算公式为:
Figure BDA0000946139140000061
其中,Ci为候选结果对第i个对话目标的支持度,Mi为支持第i个对话目标的候选结果数或者否定第i个对话目标的候选结果数,Scorek为支持第i个对话目标的第k个候选结果的候选得分或否定第i个对话目标的第k个候选结果的候选得分,Gk表示第k个候选结果支持或否定的知识库中对话目标集合,Pi表示第i个对话目标更新前的使用概率。
S232、判断候选结果是否支持对话目标;若是,则进入步骤S24;若否,则进入步骤S233;
S233、判断候选结果是否否定对话目标;若是,则将计算出的候选结果对对话目标的支持度取相反数,作为新的支持度;若否,则将候选结果对对话目标的支持度设置为零。
S24、通过支持度更新对话目标的使用概率;根据语义理解的候选结果计算候选结果对对话目标的支持度后,得到候选结果支持的对话目标的使用概率发生了变化,需要根据对话目标的支持度对对话目标的使用概率进行更新,当所有对话目标的使用概率更新结束后,得到新的系统状态;对对话目标的使用概率进行更新时,需要考虑到对话目标更新前的使用概率,在此基础上考虑候选结果对对话目标的支持度对使用概率的影响。在本发明的一实施例中,步骤S24还包括步骤:S241、判断候选结果是否支持或否定对话目标;若否,则使用第一方法更新使用概率;若是,则使用第二方法更新使用概率,并进入步骤S242;S242、判断计算后的使用概率是否为负数;若是,则直接将使用概率置零。本实施例中,第一方法通过第一预设公式计算并更新使用概率,第一预设公式为:
Figure BDA0000946139140000062
其中,
Figure BDA0000946139140000063
表示第r个对话目标更新后的使用概率,Pr表示第r个对话目标更新前的使用概率,M为用户输入信息语义理解的所有候选结果数,Scoret表示第t个候选结果的候选得分。
第二方法通过第二预设公式计算并更新使用概率,第二预设公式为:
Figure BDA0000946139140000071
其中,
Figure BDA0000946139140000072
表示第i个对话目标更新后的使用概率,Pi表示第i个对话目标更新前的使用概率。
S25、对使用概率进行归一化,将归一化后的使用概率作为更新后的对话管理系统的状态。为了保证库中所有对话目标的使用概率之和为1,需要对更新后的所有对话目标的使用概率进行归一化。具体的,在一实施例中,步骤S25还包括步骤:
将每个对话目标的使用概率与所有对话目标的使用概率之和的比值作为每个对话目标归一化后的使用概率;进而使得所有对话目标的使用概率之和为1,并将所有对话目标归一化后的使用概率分布作为更新后的系统状态。优选地,归一化后的使用概率的计算公式为:
Figure BDA0000946139140000073
其中,
Figure BDA0000946139140000074
为第i个对话目标归一化后的使用概率;
Figure BDA0000946139140000075
为根据候选结果对对话目标的支持度更新后的第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;
然后根据支持每个对话目标的候选结果,计算对话目标的支持度;
对话目标“青花瓷(国语版)”的支持度:
Figure BDA0000946139140000081
对话目标“青花瓷(粤语版)”的支持度:
Figure BDA0000946139140000082
对话目标“一路向北”的支持度:
Figure BDA0000946139140000083
对话目标“周杰伦的歌”的支持度:
Figure BDA0000946139140000084
步骤4、利用对话目标的支持度对系统状态进行更新
知识库中有四首歌曲得到了候选结果的支持,根据第二预设公式对所有对话目标的使用概率进行更新,得到新的系统状态,具体更新方法如下:
对话目标“青花瓷(国语版)”的使用概率:
Figure BDA0000946139140000085
对话目标“青花瓷(粤语版)”的使用概率:
Figure BDA0000946139140000086
对话目标“一路向北”的使用概率:
Figure BDA0000946139140000091
对话目标“周杰伦的歌”的使用概率:
Figure BDA0000946139140000092
其它未得到候选结果支持或否定的对话目标的使用概率使用第一预设公式进行更新,假设知识库中有一首“那英”的“春暖花开”,更新前的使用概率为0.08,则对话目标“春暖花开”的使用概率更新为:
Figure BDA0000946139140000093
使用第一预设公式对知识库中剩余对话目标更新使用概率,当所有对话目标的使用概率更新结束后,将得到新的使用概率分布作为更新后的系统状态。
步骤5、对使用概率进行归一化,将知识库中所有对话目标归一化后的使用概率分布作为更新后的系统状态。
如图2所示,图2显示为本发明对话管理系统一实施例的系统框架示意图。本发明还提供了一种对话管理系统,包括:
信息接收模块,用于接收用户输入信息;
系统更新模块,包括用于对用户输入信息进行语义理解的语义理解单元和用于根据语义理解结果计算对话目标的支持度的支持度计算单元,用于根据对话目标的支持度更新系统状态;当用户输入信息为文本信息时,直接通过文本信息进行识别;当用户输入信息为语音信息时,先将语音信息识别成文本信息;当用户输入信息为图像信息是,通过OCR技术(Optical Character Recognition,光学字符识别技术),将图像中的信息识别成文本信息。在本发明的一优选实施方式中,具体语义理解时,可以结合知识库中的记录,对用户输入信息进行解码,得到多个候选结果,候选结果可以表示为属性和属性值对的形式:(属性:属性值,候选得分),如用户输入“我想听周杰伦的歌”,进行语义理解后得到候选结果:(歌手名:周杰伦,0.7),假设知识库中存在一首歌曲的歌曲名就是“周杰伦的歌”,则还会得到一个候选结果(歌曲名:周杰伦的歌,0.02),其中数字表示每个候选结果语义理解时的概率。
在本发明的一实施例中,系统更新模块还包括:系统初始单元,用于在语义理解单元对用户输入信息进行语义理解并得到候选结果后初始化对话管理系统状态;优选地,系统初始单元还用于判断每个对话目标是否有历史数据;在对话目标有历史数据时,通过每个对话目标的历史使用次数与所有对话目标的总的使用次数的比值作为每个对话目标的使用概率;在对话目标没有历史数据时,将每个对话目标的使用次数默认为1后,计算每个对话目标的使用概率。在一优选实施例中,系统状态使用知识库中所有对话目标的使用概率分布来描述,系统状态的描述方式如下公式所示:
S0=[P1,P2,...Pi,……,PN]
其中,S0表示系统状态,N为知识库中对话目标总数,Pi为第i个对话目标的使用概率。
初始化时,根据每个对话目标之前的使用情况进行初始化,使用概率为每个对话目标的使用次数与知识库中所有对话目标的总使用次数的比值。如每个对话目标的使用概率为近一个月内知识库中每个对话目标的使用次数与所有对话目标总使用次数的比值,使用情况可以是对话目标在网站上的使用情况,如点击次数、下载次数或浏览次数等。如果对话目标没有使用的历史数据,则将对话目标的使用次数默认为1;当然,也可以对所有对话目标的使用概率统一初始化,如统一设置每个对话目标的使用次数为1后,计算其使用概率。
使用概率更新单元,用于在支持度计算单元计算候选结果对对话目标的支持度后更新对话目标的使用概率;支持度指语义理解候选结果中的属性和属性值对为对话目标的属性和属性值对时,该候选结果对当前对话目标的支持程度。由于每个对话目标包含多个属性和属性值对,当多条候选结果的属性和属性值同时为一个对话目标的属性和属性值对时,则这些候选结果同时对该对话目标支持,并且支持度是累加的。因此,当支持对话目标的候选结果越多时,对话目标的支持度越高。如,两条候选结果为(歌手名:周杰伦,0.7),(歌曲名:双节棍,0.8)同时支持对话目标为“双节棍”的这首歌,则候选结果对对话目标“双节棍”的支持度为两条候选结果对对话目标支持度的和。
当然,并不是所有的对话目标都会得到候选结果的支持,对话目标也会被候选结果否定,相应侯选结果对对话目标的支持度为支持对话目标时的相反数,计算否定对话目标的侯选结果对对话目标的支持度时,只需要根据当前对话目标的所有否定侯选结果进行计算。如当用户输入信息为“我想听快歌”,对话系统最终的反馈结果为一首周杰伦的歌,用户继续输入信息“不想听周杰伦的歌”,语义理解后,有一个候选结果为(歌手名:周杰伦,0.8),此时,该候选结果否定了知识库中包含属性为歌手名属性值为周杰伦的对话目标,受到否定的对话目标的支持度为受到支持时支持度的相反数。
当同一对话目标同时有支持它的侯选结果和否定它的侯选结果时,分别计算出支持侯选结果对所述对话目标的支持度和否定侯选结果对所述对话目标的支持度,将二者的累加和作为所述对话目标的支持度。
当对话目标未得到候选结果的支持或否定时,该对话目标的支持度为零。
在一优选实施例中,支持度计算单元还用于找到每个候选结果支持或否定的所有对话目标,再根据支持或否定每个对话目标的候选结果计算对话目标的支持度;并在候选结果否定对话目标时,将计算出的候选结果对对话目标的支持度取相反数,作为新的支持度;在候选结果既不支持也不否定对话目标时,将候选结果对对话目标的支持度设置为零。优选地,支持度的计算方式为:根据对话目标的使用概率,及支持或否定对话目标的候选结果的候选得分,计算对话目标的支持度。支持度的计算公式为:
Figure BDA0000946139140000111
其中,Ci为候选结果对第i个对话目标的支持度,Mi为支持第i个对话目标的候选结果数或否定第i个对话目标的候选结果数,Scorek为支持第i个对话目标的第k个候选结果的候选得分或否定第i个对话目标的第k个候选结果的候选得分,Gk表示第k个候选结果支持或否定的知识库中对话目标集合,Pi表示第i个对话目标更新前的使用概率。
同时,由于根据语义理解的候选结果计算候选结果对对话目标的支持度后,得到候选结果支持的对话目标的使用概率发生了变化,需要根据对话目标的支持度对对话目标的使用概率进行更新,当所有对话目标的使用概率更新结束后,得到新的系统状态;对对话目标的使用概率进行更新时,需要考虑到对话目标更新前的使用概率,在此基础上考虑候选结果对对话目标的支持度对使用概率的影响。使用概率更新单元还用于根据支持度判断候选结果是否支持或否定对话目标;在既不支持也不否定时使用第一方法更新使用概率;在支持或否定时,则使用第二方法更新使用概率;并在计算后的使用概率为负数时,直接将使用概率置零。本实施例中,第一方法通过第一预设公式计算并更新使用概率,第一预设公式为:
Figure BDA0000946139140000112
其中,
Figure BDA0000946139140000113
表示第r个对话目标更新后的使用概率,Pr表示第r个对话目标更新前的使用概率,M为用户输入信息语义理解的所有候选结果数,Scoret表示第t个候选结果的候选得分。
第二方法通过第二预设公式计算并更新使用概率,第二预设公式为:
Figure BDA0000946139140000114
其中,
Figure BDA0000946139140000115
表示第i个对话目标更新后的使用概率,Pi表示第i个对话目标更新前的使用概率。
归一化单元,用于对使用概率更新单元更新后的使用概率进行归一化,并将归一化后的使用概率作为更新后的对话管理系统的状态。为了保证库中所有对话目标的使用概率之和为1,需要对更新后的所有对话目标的使用概率进行归一化。具体的,在一实施例中,归一化单元还用于将每个对话目标的使用概率与所有对话目标的使用概率之和的比值作为每个对话目标归一化后的使用概率;进而使得所有对话目标的使用概率之和为1,并将所有对话目标归一化后的使用概率分布作为更新后的系统状态。
优选地,归一化后的使用概率的计算公式为:
Figure BDA0000946139140000121
其中,
Figure BDA0000946139140000122
为第i个对话目标归一化后的使用概率;
Figure BDA0000946139140000123
为根据候选结果对对话目标的支持度更新后第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;
然后根据支持每个对话目标的候选结果,计算对话目标的支持度
对话目标“青花瓷(国语版)”的支持度:
Figure BDA0000946139140000131
对话目标“青花瓷(粤语版)”的支持度:
Figure BDA0000946139140000132
对话目标“一路向北”的支持度:
Figure BDA0000946139140000133
对话目标“周杰伦的歌”的支持度
Figure BDA0000946139140000134
步骤4、使用概率更新单元利用对话目标的支持度对系统状态进行更新
知识库中有四首歌曲得到了候选结果的支持,根据第二预设公式对所有对话目标的使用概率进行更新,得到新的系统状态,具体更新方法如下:
对话目标“青花瓷(国语版)”的使用概率:
Figure BDA0000946139140000135
对话目标“青花瓷(粤语版)”的使用概率:
Figure BDA0000946139140000136
对话目标“一路向北”的使用概率:
Figure BDA0000946139140000137
对话目标“周杰伦的歌”的使用概率
Figure BDA0000946139140000138
其它未得到候选结果支持或否定的对话目标的使用概率使用第一预设公式进行更新,假设知识库中有一首“那英”的“春暖花开”,更新前的使用概率为0.08,则对话目标“春暖花开”的使用概率更新为:
Figure BDA0000946139140000141
使用第一预设公式对知识库中剩余对话目标更新使用概率,当所有对话目标的使用概率更新结束后,将得到新的使用概率分布作为更新后的系统状态。
步骤5、归一化单元对使用概率进行归一化,将知识库中所有对话目标归一化后的使用概率分布作为更新后的系统状态。
综上所述,本发明的一种对话管理方法和系统,首先接收用户输入信息;随后对用户输入信息进行语义理解,根据语义理解结果更新系统状态,具体更新时,将对话目标作为处理对象,计算语义理解结果的候选结果对对话目标的支持度,根据所述支持度更新对话目标的使用概率,当所有对话目标的使用概率更新结束后,统一进行归一化,将对话目标归一化后的使用概率分布作为更新后的系统状态;最后根据更新后的系统状态对用户输入信息进行响应。本案所述方法以对话目标作为处理对象,当所有候选结果对对话目标的支持度计算结束后,再进行系统状态的更新,从而不需要选择候选结果的更新顺序,在对话目标受到多条候选结果的支持时,同时考虑多条候选结果对对话目标的支持,从而提高该对话目标的使用概率,增加该对话目标在系统响应时反馈给用户的概率,减少用户与对话系统的交互次数,提升用户体验。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。

Claims (15)

1.一种对话管理方法,应用于对话管理系统中,其特征在于,包括以下步骤:
S1、接收用户输入信息;
S2、对用户输入信息进行语义理解,根据语义理解结果计算对话目标的支持度,计算每一候选结果对对话目标的支持度,通过所述对话目标的支持度更新系统状态,所述系统状态指当前对话管理系统的状态,使用知识库中所有对话目标的使用概率分布来描述;其中,获得所述支持度的方法包括基于对话目标的使用概率与候选结果支持或否定的所有对话目标的更新前的使用概率的比值,以及该比值与支持或否定对话目标的候选结果的候选得分之积,得到对话目标的支持度;
S3、根据更新后的系统状态,对用户输入信息进行响应。
2.根据权利要求1所述的对话管理方法,其特征在于,所述步骤S2还包括步骤:
S21、对用户输入信息进行语义理解并得到候选结果;
S22、初始化所述对话管理系统状态;
S23、计算所述候选结果对所述对话目标的支持度;
S24、通过所述支持度更新所述对话目标的使用概率;
S25、对使用概率进行归一化,将归一化后的使用概率作为更新后的所述对话管理系统的状态。
3.根据权利要求2所述的对话管理方法,其特征在于,所述步骤S22还包括步骤:
判断每个所述对话目标是否有历史数据;若是,则通过每个所述对话目标的历史使用次数与所有所述对话目标的总的使用次数的比值作为每个所述对话目标的使用概率;若否,则将每个所述对话目标的使用次数默认为1后,计算每个所述对话目标的使用概率。
4.根据权利要求3所述的对话管理方法,其特征在于,所述步骤S23还包括步骤:
S231、找到每个所述候选结果支持或否定的所有所述对话目标,再根据支持或否定每个所述对话目标的所述候选结果计算所述对话目标的支持度;
S232、判断所述候选结果是否支持所述对话目标;若是,则进入步骤S24;若否,则进入步骤S233;
S233、判断所述候选结果是否否定所述对话目标;若是,则将计算出的所述候选结果对所述对话目标的支持度取相反数,作为新的支持度;若否,则将所述候选结果对所述对话目标的支持度设置为零。
5.根据权利要求4所述的对话管理方法,其特征在于,所述步骤S231中,所述支持度的计算方式为:根据所述对话目标的使用概率,及支持或否定所述对话目标的所述候选结果的候选得分,计算所述对话目标的支持度。
6.根据权利要求5所述的对话管理方法,其特征在于,所述步骤S24还包括步骤:
S241、判断所述候选结果是否支持或否定所述对话目标;若否,则使用第一方法更新使用概率;若是,则使用第二方法更新使用概率,并进入步骤S242;
S242、判断计算后的使用概率是否为负数;若是,则直接将使用概率置零。
7.根据权利要求6所述的对话管理方法,其特征在于,所述步骤S25还包括步骤:
将每个所述对话目标的使用概率与所有所述对话目标的使用概率之和的比值作为每个所述对话目标归一化后的使用概率;进而使得所有所述对话目标的使用概率之和为1,并将所有所述对话目标归一化后的使用概率分布作为更新后的系统状态。
8.根据权利要求1至7任一项所述的对话管理方法,其特征在于,所述步骤S3还包括步骤:
判断当前所述对话管理系统的状态下所述对话目标的使用概率是否超过阈值;若是,则将所述对话目标反馈给用户;若否,则对用户进行提问,在用户回答后,返回步骤S1。
9.一种对话管理系统,其特征在于,包括:
信息接收模块,用于接收用户输入信息;
系统更新模块,包括用于对用户输入信息进行语义理解的语义理解单元和用于根据语义理解结果的支持度更新系统并计算每一候选结果对对话目标的支持度的支持度计算单元,根据所述对话目标的支持度更新系统状态,所述系统状态指当前对话管理系统的状态,使用知识库中所有对话目标的使用概率分布来描述,其中,获得所述支持度的方法包括基于对话目标的使用概率与候选结果支持或否定的所有对话目标的更新前的使用概率的比值,以及该比值与支持或否定对话目标的候选结果的候选得分之积,得到对话目标的支持度;
系统响应模块,用于根据更新后的系统状态对用户输入信息进行响应。
10.根据权利要求9所述的对话管理系统,其特征在于,所述系统更新模块还包括:
系统初始单元,用于在所述语义理解单元对用户输入信息进行语义理解并得到候选结果后初始化所述对话管理系统状态;
使用概率更新单元,用于在所述支持度计算单元计算所述候选结果对所述对话目标的支持度后更新所述对话目标的使用概率;
归一化单元,用于对使用概率更新单元更新后的使用概率进行归一化,并将归一化后的使用概率作为更新后的所述对话管理系统的状态。
11.根据权利要求10所述的对话管理系统,其特征在于,所述系统初始单元还用于判断每个所述对话目标是否有历史数据;在所述对话目标有历史数据时,通过每个所述对话目标的历史使用次数与所有所述对话目标的总的使用次数的比值作为每个所述对话目标的使用概率;在所述对话目标没有历史数据时,将每个所述对话目标的使用次数默认为1后,计算每个所述对话目标的使用概率。
12.根据权利要求11所述的对话管理系统,其特征在于,所述支持度计算单元还用于找到每个所述候选结果支持或否定的所有所述对话目标,再根据支持或否定每个所述对话目标的所述候选结果计算所述对话目标的支持度;并在所述候选结果否定所述对话目标时,将计算出的所述候选结果对所述对话目标的支持度取相反数,作为新的支持度;在所述候选结果既不支持也不否定所述对话目标时,将所述候选结果对所述对话目标的支持度设置为零。
13.根据权利要求12所述的对话管理系统,其特征在于,所述使用概率更新单元还用于判断所述候选结果是否支持或否定所述对话目标;在既不支持也不否定时使用第一方法更新使用概率;在支持或否定时,则使用第二方法更新使用概率;并在计算后的使用概率为负数时,直接将使用概率置零。
14.根据权利要求13所述的对话管理系统,其特征在于,所述归一化单元还用于将每个所述对话目标的使用概率与所有所述对话目标的使用概率之和的比值作为每个所述对话目标归一化后的使用概率;进而使得所有所述对话目标的使用概率之和为1,并将所有所述对话目标归一化后的使用概率分布作为更新后的系统状态。
15.根据权利要求9至14任一项所述的对话管理系统,其特征在于,所述系统响应模块还用于判断当前所述对话管理系统的状态下所述对话目标的使用概率是否超过阈值;并在超过阈值时,将所述对话目标反馈给用户;在没有超过阈值时,对用户进行提问,并在用户回答后重新进行语义理解。
CN201610168641.7A 2016-03-21 2016-03-21 一种对话管理方法和系统 Active CN107222383B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610168641.7A CN107222383B (zh) 2016-03-21 2016-03-21 一种对话管理方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610168641.7A CN107222383B (zh) 2016-03-21 2016-03-21 一种对话管理方法和系统

Publications (2)

Publication Number Publication Date
CN107222383A CN107222383A (zh) 2017-09-29
CN107222383B true CN107222383B (zh) 2021-05-04

Family

ID=59927379

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610168641.7A Active CN107222383B (zh) 2016-03-21 2016-03-21 一种对话管理方法和系统

Country Status (1)

Country Link
CN (1) CN107222383B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110765312A (zh) * 2018-07-10 2020-02-07 阿里巴巴集团控股有限公司 人机交互及内容搜索方法、装置、设备以及存储介质
CN109829036A (zh) * 2019-02-12 2019-05-31 浙江核新同花顺网络信息股份有限公司 一种对话管理方法及相关装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1435781A (zh) * 2003-02-24 2003-08-13 杨炳儒 一种基于信息挖掘的智能决策支持构造方法
WO2007009168A1 (en) * 2005-07-15 2007-01-25 Think Software Pty Ltd Method and apparatus for providing structured data for free text messages
WO2012070228A1 (ja) * 2010-11-22 2012-05-31 日本電気株式会社 対話テキスト解析装置、方法およびプログラム
CN102510426A (zh) * 2011-11-29 2012-06-20 安徽科大讯飞信息科技股份有限公司 个人助理应用访问方法及系统
CN105354300A (zh) * 2015-11-05 2016-02-24 上海智臻智能网络科技股份有限公司 一种信息推荐方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1435781A (zh) * 2003-02-24 2003-08-13 杨炳儒 一种基于信息挖掘的智能决策支持构造方法
WO2007009168A1 (en) * 2005-07-15 2007-01-25 Think Software Pty Ltd Method and apparatus for providing structured data for free text messages
WO2012070228A1 (ja) * 2010-11-22 2012-05-31 日本電気株式会社 対話テキスト解析装置、方法およびプログラム
CN102510426A (zh) * 2011-11-29 2012-06-20 安徽科大讯飞信息科技股份有限公司 个人助理应用访问方法及系统
CN105354300A (zh) * 2015-11-05 2016-02-24 上海智臻智能网络科技股份有限公司 一种信息推荐方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"A Probabilistic Framework for Representing Dialog System and Entropy-Based Dialog Management Through Dynamic Stochastic State Rvolution";Ji Wu, Miao Li;《IEEE/ACM Transaction on Audio, Speech, and Language Processing》;20150729;全文 *

Also Published As

Publication number Publication date
CN107222383A (zh) 2017-09-29

Similar Documents

Publication Publication Date Title
US20220214775A1 (en) Method for extracting salient dialog usage from live data
WO2020182122A1 (zh) 用于生成文本匹配模型的方法和装置
US10157201B2 (en) Method and system for searching for and providing information about natural language query having simple or complex sentence structure
CN106098063B (zh) 一种语音控制方法、终端设备和服务器
CN111428010B (zh) 人机智能问答的方法和装置
JP7300435B2 (ja) 音声インタラクションするための方法、装置、電子機器、およびコンピュータ読み取り可能な記憶媒体
US20180373494A1 (en) Ranking and boosting relevant distributable digital assistant operations
CN111566638B (zh) 向应用编程接口添加描述性元数据以供智能代理使用
US20160078773A1 (en) System and method of providing task-based solicitation of request related user inputs
WO2018201601A1 (zh) 基于数据源的业务定制装置、方法、系统及存储介质
WO2021135455A1 (zh) 语义召回方法、装置、计算机设备及存储介质
CN105469789A (zh) 一种语音信息的处理方法及终端
US11238050B2 (en) Method and apparatus for determining response for user input data, and medium
US11393490B2 (en) Method, apparatus, device and computer-readable storage medium for voice interaction
CN110619050A (zh) 意图识别方法及设备
WO2021196610A1 (zh) 一种设备推荐方法、装置、电子设备及可读存储介质
CN112417121A (zh) 客户意图识别方法、装置、计算机设备及存储介质
CN112686051A (zh) 语义识别模型训练方法、识别方法、电子设备、存储介质
CN111862961A (zh) 识别语音的方法和装置
CN111444321B (zh) 问答方法、装置、电子设备和存储介质
CN111008213B (zh) 用于生成语言转换模型的方法和装置
CN117312641A (zh) 智能获取信息的方法、装置、设备及存储介质
CN107222383B (zh) 一种对话管理方法和系统
CN114822532A (zh) 语音交互方法、电子设备和存储介质
CN117332068B (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
TA01 Transfer of patent application right

Effective date of registration: 20190527

Address after: 100084 Tsinghua Yuan, Beijing, Haidian District

Applicant after: Tsinghua University

Applicant after: Iflytek Co., Ltd.

Address before: 230088 666 Wangjiang West Road, Hefei hi tech Development Zone, Anhui

Applicant before: Iflytek Co., Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant