CN110377908B - 语义理解方法、装置、设备及可读存储介质 - Google Patents
语义理解方法、装置、设备及可读存储介质 Download PDFInfo
- Publication number
- CN110377908B CN110377908B CN201910655828.3A CN201910655828A CN110377908B CN 110377908 B CN110377908 B CN 110377908B CN 201910655828 A CN201910655828 A CN 201910655828A CN 110377908 B CN110377908 B CN 110377908B
- Authority
- CN
- China
- Prior art keywords
- interaction
- semantic understanding
- node
- interaction node
- optimized
- 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
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/26—Speech to text systems
Abstract
本申请实施例公开了一种语义理解方法、装置、设备及可读存储介质,预先定义了多个交互节点以及交互节点间的跳转流程,在交互过程中,按照该跳转流程进行交互节点的跳转,每跳转到一交互节点,获得待分析文本并利用跳转到的交互节点对应的语义理解模型对待分析文本进行语义理解。由于每个交互节点对应有独立的语义理解模型,且语义理解模型不需要配置说法模板,并能够通过机器学习进行更新,从而提高人机交互的智能性。
Description
技术领域
本申请涉及自然语言处理技术领域,更具体地说,涉及一种语义理解方法、装置、设备及可读存储介质。
背景技术
随着人工智能技术的迅猛发展,以智能语音交互为核心的人机交互系统的应用越来越广泛,例如,智能家居、智能客服、聊天机器人、早教机器人等。要实现人机交互,机器需要对用户输入的语料进行语义理解。目前,语义理解的主要方式是基于预先配置的说法模板进行语义理解,然而,说法模板需要人为配置,且所配置的说法模板有限,容易出现无法识别语义的情况,使得人机交互终断,人机交互的智能性较差。
发明内容
本申请的目的是提供一种语义理解析方法、装置、设备及可读存储介质,以提高人机交互的智能性,具体可以包括如下技术方案:
一种语义理解方法,包括:
按照预置的交互节点跳转流程进行交互节点跳转;每跳转到一交互节点,执行如下交互流程:
获得待分析文本;
利用跳转到的所述交互节点对应的语义理解模型对所述待分析文本进行语义理解。
上述方法,优选的,还包括:
确定至少一个交互节点作为待优化交互节点;
对所述待优化交互节点对应的语义理解模型进行优化。
上述方法,优选的,所述确定至少一个交互节点作为待优化交互节点,包括:
获取所述交互节点跳转流程中各个交互节点的语义理解成功率;
将语义理解成功率小于成功率阈值的交互节点确定为待优化交互节点。
上述方法,优选的,所述确定至少一个交互节点作为待优化交互节点,包括:
根据各个交互节点的语义理解成功率,以及各个交互节点在所述交互节点跳转流程中的位置,确定各个交互节点的优先级;
将优先级满足预设条件的交互节点确定为待优化交互节点。
上述方法,优选的,所述根据各个交互节点的语义理解成功率,以及各个交互节点在所述交互节点跳转流程中的位置,确定各个交互节点的优先级,包括:
对应每一个交互节点,根据该交互节点的语义理解成功率,以及该交互节点在所述交互节点跳转流程中的位置,计算该交互节点的优先级得分;所述优先级得分与该交互节点的语义理解成功率呈反比例关系,与该交互节点在所述交互节点跳转流程中的位置呈正比例关系;
所述将优先级满足预设条件的交互节点确定为待优化交互节点,包括:
将优先级得分高于分数阈值的交互节点确定为待优化交互节点。
上述方法,优选的,所述对所述待优化交互节点对应的语义理解模型进行优化,包括:
对于每一个待优化交互节点,将预设历史时间范围内,该待优化交互节点对应的语义理解失败的历史分析文本和历史分析文本对应的标注语义作为训练样本,对与该待优化交互节点对应的语义理解模型进行训练,得到与该待优化交互节点对应的更新后的语义理解模型。
上述方法,优选的,还包括:
若再次跳转到所述待优化交互节点,并获得待分析文本,利用所述更新后的语义理解模型对再次获得的待分析文本进行语义理解。
一种语义理解装置,包括:
跳转模块,用于按照预置的交互节点跳转流程进行交互节点跳转;
获得模块,用于所述跳转模块每跳转到一交互节点,获得待分析文本;
语义理解模块,用于利用跳转到的所述交互节点对应的语义理解模型对所述待分析文本进行语义理解。
上述装置,优选的,还包括:
确定模块,用于确定至少一个交互节点作为待优化交互节点;
优化模块,用于对所述待优化交互节点对应的语义理解模型进行优化。
上述装置,优选的,所述确定模块包括:
成功率获取模块,用于获取所述交互节点跳转流程中各个交互节点的语义理解成功率;
第一确定模块,用于将语义理解成功率小于成功率阈值的交互节点确定为待优化交互节点。
上述装置,优选的,所述确定模块包括:
优先级确定模块,用于根据各个交互节点的语义理解成功率,以及各个交互节点在所述交互节点跳转流程中的位置,确定各个交互节点的优先级;
第二确定模块,用于将优先级满足预设条件的交互节点确定为待优化交互节点。
上述装置,优选的,所述优先级确定模块包括:
计算模块,用于对应每一个交互节点,根据该交互节点的语义理解成功率,以及该交互节点在所述交互节点跳转流程中的位置,计算该交互节点的优先级得分;所述优先级得分与该交互节点的语义理解成功率呈反比例关系,与该交互节点在所述交互节点跳转流程中的位置呈正比例关系;
第二确定模块具体可以用于:将优先级得分高于分数阈值的交互节点确定为待优化交互节点。
上述装置,优选的,所述优化模块包括:
训练模块,用于对于每一个待优化交互节点,将预设历史时间范围内,该待优化交互节点对应的语义理解失败的历史分析文本和历史分析文本对应的标注语义作为训练样本,对与该待优化交互节点对应的语义理解模型进行训练,得到与该待优化交互节点对应的更新后的语义理解模型。
上述装置,优选的,所述语义理解模块还用于:
若再次跳转到所述待优化交互节点,并获得待分析文本,利用所述更新后的语义理解模型对再次获得的待分析文本进行语义理解。
一种语义理解设备,包括:
所述存储器,用于存储程序;
所述处理器,用于执行所述程序,实现如上任一项所述的语义理解方法的各个步骤。
一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现如上任一项所述的语义理解方法的各个步骤。
通过以上方案可知,本申请提供的一种语义理解方法、装置、设备及可读存储介质,预先定义了多个交互节点以及交互节点间的跳转流程,在交互过程中,按照该跳转流程进行交互节点的跳转,每跳转到一交互节点,获得待分析文本并利用跳转到的交互节点对应的语义理解模型对待分析文本进行语义理解。由于每个交互节点对应有独立的语义理解模型,且语义理解模型不需要配置说法模板,并能够通过机器学习进行更新,从而提高人机交互的智能性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的语义理解方法的一种实现流程图;
图2为本申请实施例提供的基于交互节点的语义理解成功率确定待优化交互节点的一种实现流程图;
图3为本申请实施例提供的根据交互节点的语义理解成功率以及交互节点在交互节点跳转流程中的位置,确定待优化交互节点的一种实现流程图;
图4为本申请实施例提供的交互节点的跳转流程的一种示例图;
图5为本申请实施例提供的语义理解成功的交互日志的一种示例图;
图6为本申请实施例提供的语义理解失败的交互日志的一种示例图;
图7为本申请实施例提供的语义标注的结果示意图;
图8为本申请实施例提供的语义理解装置的一种结构示意图;
图9为本申请实施例提供的语义理解设备的硬件结构框图。
说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的部分,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示的以外的顺序实施。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了说明本申请与现有技术基于预先配置的说法模板进行语义理解的不同,首先对现有技术进行简单介绍。
现有技术中,若要实现某个技能(如,查询天气,预订酒店、看新闻、听音乐等),需要预先为该技能创建一系列的意图,再为每个意图添加一系列的说法模板并配置语义实体。在完成这一系列的操作之后,基于上述信息构建基于说法模板的语义理解引擎,基于该语义理解引擎进行人机交互。在进行交互的过程中,当用户的语料命中了某个意图的一个说法模板,即为命中该意图,并抽取出必要的语义槽信息。
比如,现在需要实现一个楼盘销售的客服系统,能够支持查询楼盘列表、问询楼盘价格和详细配置信息等功能。具体操作为:在技能工作室新建技能houseSale,然后创建三个意图:查询户型列表(list)、查询楼盘价格(price)以及查看某一楼盘详细配置(detail),并分别添加一系列说法模板,例如,针对楼盘价格的意图,可以添加的说法模板为:{houseType}多少钱一平米、{houseType}的单价是多少,其中{houseType}为语义槽位,需要关联上制定的语义实体(比如,三室一厅、2室2厅等),创建完成并发布该项技能以后。在交互过程中,当用户问“三室一厅的单价多少”类似的说法,就能匹配出houseSale技能的price意图,并抽取houseType为“三室一厅”,然后通过后台查询三室一厅的价格数据,并返回给用户。
由上可知,现有技术的语义理解方法主要依赖配置的说法模板和实体资源来匹配用户语料,从而实现语义理解。这就要求一个意图添加足够多而全面的语料模板才能覆盖到常见的用户场景,但这很难实现,因此人机交互的智能性较低。
下面对本申请实施例进行解释说明。
本申请实施例提供的语义理解方法可以应用电子设备中,该电子设备可以是计算机,也可以是智能家居设备,也可以是聊天机器人、早教机器人等能够与用户进行对话的设备。
人机交互过程中,用户可以通过手动输入信息的方式与设备进行交互,也可以通过语音输入信息的方式与电子设备进行交互。
在一些对话场景,一些话题需要经过多轮对话才能得以完成,例如预订酒店的场景,用户打电话给人工客服说我要预定酒店,客服人员会一次或多次向用户询问预定的城市及具体位置、入住时间以及房型要求等信息,只有收集到所需的必要信息以后,客服人员才能帮忙完成酒店预定工作。人机交互的过程也类似,电子设备要实现某些技能,也需要收集所需的必要信息,这可能需要与用户进行多轮对话。基于此,本申请的基本思想是:根据实现技能所需的必要信息以及收集这些必要信息所需的交互逻辑,预先定义了若干交互节点,以及这些交互节点间的跳转流程,每个交互节点对应有实现技能所需的至少一项信息以及获取该至少一项信息所需要的人机交互流程,该人机交互流程至少可以包括:获取用户输入的信息,以及利用跳转到的交互节点对应的语义理解模型对用户输入的信息进行语义理解。当需要实现某个技能时,在交互过程中根据该技能对应的交互节点跳转流程依次执行每个交互节点对应的人机交互流程。由于每个交互节点对应有独立的语义理解模型,且语义理解模型不需要配置说法模板,并能够通过机器学习进行更新,从而提高人机交互的智能性。后续还可以根据各交互节点对应的交互结果筛选出需要被优化的交互节点,对该待优化的交互节点对应的语义理解模型进行优化,即每次不是对所有交互节点对应的语义理解模型都进行优化,而是仅对部分交互节点对应的语义理解模型进行优化,在保证人机交互智能性的同时,提高优化效率。
基于上述基本思想,本申请实施例提供的语义理解方法的一种实现流程图如图1所示,可以包括:
步骤S11:按照预置的交互节点跳转流程进行交互节点跳转;每跳转到一交互节点,执行如下交互流程:
步骤S12:获得待分析文本。
可选的,可以通过键盘(可以是虚拟键盘,也可以是物理键盘)接收用户输入的待分析文本,或者,通过语音采集模块采集用户语音,对用户语音进行识别,得到待分析文本。
可选的,为了快速为用户提供其所需的服务,在获得待分析文本之前,可以先输出与交互节点对应的交互信息,该交互信息用于引导用户输入特定信息。则获得待分析文本可以为:获得与上述交互信息对应的待分析文本。
步骤S13:利用跳转到的交互节点对应的语义理解模型对待分析文本进行语义理解。
步骤S12-步骤S13只是交互节点对应的交互流程的基本实现方式,在一些情况下,如果交互节点对应的语义理解模型对待分析文本进行语义理解失败,可以引导用户再次输入信息,以获得新的待分析文本,利用当前交互节点对应的语义理解模型对新的待分析文本进行语义理解。若语义理解还是失败,则可以结合基于说法模板的语义理解引擎对待分析文本进行语义理解。即,在跳转到的交互节点对应的语义理解模型语义理解失败时,可以利用基于说法模板的语义理解引擎对待分析文本进行语义理解。
在另一可选的实例中,在利用跳转到的交互节点对应的语义理解模型对待分析文本进行语义理解之前,可以先利用基于说法模板的语义理解引擎对待分析文本进行语义理解,在基于说法模板的语义理解引擎语义理解失败时,再利用跳转到的交互节点对应的语义理解模型对待分析文本进行语义理解。
通过语义理解模型结合基于说法模板的语义理解引擎进行语义理解可以进一步提高语义理解成功率。
本申请提供的语义理解方法,预先定义了多个交互节点以及交互节点间的跳转流程,在人机交互过程中,按照该跳转流程进行交互节点的跳转,每跳转到一交互节点,获得待分析文本并利用跳转到的交互节点对应的语义理解模型对待分析文本进行语义理解。由于每个交互节点对应有独立的语义理解模型,且语义理解模型不需要配置说法模板,并能够通过机器学习进行更新,从而提高人机交互的智能性。
在一可选的实施例中,本申请实施例提供的语义理解方法还可以包括语义理解模型优化的过程:
确定至少一个交互节点作为待优化交互节点;对该待优化交互节点对应的语义理解模型进行优化。
也就说,每次要进行语义理解模型优化时,仅对预置的多个交互节点中的部分交互节点对应的语义理解模型进行优化。
后续若再次跳转到该待优化交互节点并获得待分析文本,可以利用该待优化交互节点对应的优化后的语义理解模型对获得的待分析文本进行语义理解。
通过对语义理解模型进行优化,提高语义理解模型语义理解成功的概率,而且,由于每次仅对部分交互节点对应的语义理解模型进行了优化,因而,在保证人机交互智能性的同时,提高优化效率。
在一可选的实施例中,可以基于交互节点的语义理解成功率确定待优化交互节点。由于是对语义理解模型进行优化,因而,这里所说的交互节点的语义理解成功率是指交互节点对应的语义理解模型的语义理解成功率。
可选的,可以仅基于交互节点的语义理解成功率确定待优化交互节点。具体实现流程如图2所示,可以包括:
步骤S21:获取交互节点跳转流程中各个交互节点的语义理解成功率。
语义理解成功率是指语义理解成功的次数占语义理解总次数的比例。交互节点的语义理解成功率可以是预先统计好的,例如,每次人机交互完成后,对于每个交互节点,根据该交互节点的历史语义理解结果统计该交互节点的语义理解成功率。其中,语义理解结果中至少包括指示语义理解成功或失败的信息,语义理解失败是指未识别到语义。当需要确定待优化交互节点时,直接读取各交互节点的语义理解成功率即可。
交互节点的成功率也可以是在需要确定待优化交互节点时才进行统计得到的。
步骤S21:将语义理解成功率小于成功率阈值的交互节点确定为待优化交互节点。
语义理解成功率小于成功率阈值的交互节点可能只有一个,也可能有两个或多个。
在一可选的实施例中,可以将交互节点按照语义理解成功率由高到低的顺序排序,选择排序前N位的交互节点作为待优化交互节点。
在另一可选的实施例中,可以结合交互节点的语义理解成功率以及交互节点在交互节点跳转流程中的位置,确定待优化交互节点。具体实现流程如图3所示,可以包括:
步骤S31:对应每一个交互节点,根据该交互节点的语义理解成功率,以及该交互节点在交互节点跳转流程中的位置,计算该交互节点的优先级得分;优先级得分与该交互节点的语义理解成功率呈反比例关系,与该交互节点在交互节点跳转流程中的位置呈正比例关系。优先级得分越高,表征该交互节点的优先级越高。
交互节点在交互节点跳转流程中的位置可以为交互节点的位置索引,该位置索引用数字表示,根据交互节点的跳转顺序,交互节点越靠后,位置索引取值越大。
可选的,对于每一个交互节点,可以将该交互节点的位置索引与该交互节点的语义理解成功率的比值作为该交互节点的优先级得分。
发明人研究发现,将交互节点的位置索引与交互节点的语义理解成功率的比值作为交互节点的优先级得分时,由于优先级得分随着交互节点的位置索引的增大而程线性增长,对于一个比较复杂的跳转流程,其可能有上百个交互节点,假设第100个交互节点的位置索引为100,第10个交互节点的位置索引为10,那么,在语义理解成功率相同的情况下,第100个交互节点的优先级得分是第10个交互节点的优先级得分的10倍,会显得第10个节点被优化的优先级不那么高了,其被优化的概率大大降低,因此,这种计算优先级得分的方式不太合理,使得语义理解模型被优化的效果较差。
在一可选的实施例中,为了使得优先级得分的计算更加合理、自然,可以先对该交互节点的位置索引取对数,然后将该对数与该交互节点的语义理解成功率的比值作为该交互节点的优先级得分。其中,对该交互节点的位置索引取对数时,可以对该交互节点的位置索引取以10为底的对数,或者对该交互节点的位置索引取自然对数。以取自然对数为例,则第100个交互节点的位置索引取对数为ln100=4.60517,第10个交互节点的位置索引取对数为ln10=2.302585,第100个交互节点的优先级得分是第10个交互节点的优先级得分的2倍左右,显得差距不是很大。提高了语义理解模型被优化的概率。
步骤S32:将优先级得分高于分数阈值的交互节点确定为待优化交互节点。
优先级得分高于分数阈值的交互节点可能只有一个,也可能有两个或多个。
在一可选的实施例中,可以将交互节点按照优先级得分由高到低的顺序排序,选择排序前N位的交互节点作为待优化交互节点。
在一可选的实施例中,上述对待优化交互节点对应的语义理解模型进行优化的一种实现方式可以为:
对于每一个待优化交互节点,将预设历史时间范围内,该待优化交互节点对应的语义理解失败的历史分析文本和历史分析文本对应的标注语义作为训练样本,对与该待优化交互节点对应的语义理解模型进行训练,得到与该待优化交互节点对应的更新后的语义理解模型。
历史分析文本对应的标注语义可以是人工标注的,也可以是机器标注的。
本申请实施例中,为了对语义理解模型进行优化,每一次人机交互过程中,针对每个交互节点均记录交互日志,该交互日志中至少可以包括:用户查询串(即用户输入的需要理解语义的文本),交互节点名称,语义理解结果相关信息(如,用于标记语义理解是否成功的标志;语义理解结果的具体内容,包括用户意图和语义实体)等,这里举例说明了交互日志中与语义理解模型优化相关的一些关键字段,除了与语义理解模型优化相关字段的信息,交互日志中还可以包括与语义理解模型优化无关字段的信息,如,请求和响应时间等,因这些字段的信息不影响语义理解模型的优化,这里不再一一举例说明。
当需要对语义理解失败的历史分析文本进行语义标注时,可以根据语义理解结果提取出语义理解失败的交互日志。从交互日志中可以确定历史分析文本(即未能理解出语义的文本),标注人员根据历史分析文本确定意图和语义实体后,对应历史分析文本标注意图和语义实体,例如,直接在交互日志中的语义理解结果字段补充意图和语义实体,或者,将历史分析文本,以及标注的意图和语义实体关联存储在预设的表格中。除了人工标注,也可以通过机器标注,机器标注的具体标注过程可以参看目前已有的标注方法,这里不再详细说明。
由于历史分析文本是人机交互过程中用户实际使用的信息,因而,利用待优化交互节点对应的语义理解失败的历史分析文本和历史分析文本对应的标注语义作为训练样本,对与该待优化交互节点对应的语义理解模型进行训练,得到的更新后的语义理解模型(即优化后的语义理解模型)能够更加有效的对用户输入的语料进行语义理解,提高语义理解的成功率。
下面以预定酒店这一技能为例对本申请的语义理解方法一种实现方式进行说明。
该示例中,定义了如下交互节点:确认城市、确认入住酒店位置信息、确认入/离日期、确认房型和房数、确认入住人员身份、告知预订信息并提交订单等过程,上述交互节点的跳转流程如图4所示,图4中还示出了各个节点的位置索引,例如,开始节点的位置索引(记为index)为1,“询问城市”这个节点的index为2,“该城市是否可以预定”这个节点的index为3等等,这里不再一一说明。
另外,根据实际的对话逻辑,该跳转流程图中的节点除了包括需要与用户进行交互的交互节点(如index为2、4(节点“确认入住酒店位置信息”)、5、6、7、8的节点),还可以包括不需要与用户交互的节点(如,index为1、3、4(节点“非常抱歉,该城市暂不支持电话预定,您可以通过APP查询预定”)的节点)。
需要说明的是,实际的酒店预定交互流程远比上述流程复杂的多,这里仅为了对本申请方案进行解释说明,所以进行了必要的简化。另外,节点的位置索引仅用于说明节点的位置,而不用于区分不同的节点。
当用户向客服机器人输入预定酒店的命令后,客服机器人启动如图4所示的节点跳转流程,首先进入开始节点,进行初始化过程。初始化完成后,跳转到“确认城市”这个交互节点,在这个交互节点,输出与该交互节点对应的交互信息,例如,“请问您要在哪个城市预定酒店”,假设用户听到或看到该信息后,输入了“合肥”,则客服机器人接收到“合肥”后,利用“确认城市”这个交互节点对应的语义理解模型对“合肥”进行语义理解,如果语义理解成功,则跳转到下一个节点“该城市是否可以预定”,如果语义理解失败可能会再询问用户在哪个城市预定酒店或者执行其它流程,这不是本申请的关注重点,所以不再详述。在其它交互节点的处理流程与在“确认城市”这个交互节点的处理流程类似,这里也不再详述。
在上面的酒店预定对话交互过程中,任何一个交互节点都有可能出现语义理解失败的情况。为了对各个交互节点进行优化,本申请还在服务端对每一次人机交互过程记录交互日志。为便于说明,这里仅对交互日志中涉及语义理解模型优化的信息进行说明。该示例中,交互日志中包括用户查询串(query)、节点名称(node)、语义理解的结果意图(intent)和实体(slots)等字段。如图5所示,为本申请实施例提供的“确认入住酒店位置信息”这个交互节点的交互日志的一个示例图,“confirmLoc”为“确认入住酒店位置信息”这个交互节点的名称,用户的查询串query具体为“大蜀山附近的酒店”,intent为语义理解模型给出的意图,具体为loc,表示位置,slots为抽取出的语义实体,该语义实体的语义槽位name为loc,该语义实体的具体值value为大蜀山。rc为语义理解服务的返回码。一般的,rc=0,表示语义理解成功,并且,intent和slots都是非空的,如图5所示。如果语义理解失败,rc的取值就会是其它值,例如,rc=1,并且,intent和slots都是空的,如图6所述,为本申请实施例提供的语义交互失败时的交互日志的示例图。
下面说明对交互节点进行优化的过程:
基于各个交互节点的交互日志,对预设历史时长内各个交互节点的语义理解的成功率进行统计。统计时,若rc=0,且,intent和slots都是非空的,则认为语义理解成功。对于每个交互节点,该交互节点的成功率可以通过如下公式计算:
其中,rate表示该交互节点的语义理解成功率;countrc=0表示该交互节点的语义理解成功的次数;counttotal表示该交互节点的语义理解的总次数。
根据交互节点的成功率和交互节点在跳转流程中的位置索引计算交互节点的优先级得分,对于每一个交互节点,该交互节点的优先级得分可以通过如下公式计算:
其中,score表示该交互节点的优先级得分;index表示该交互节点的位置索引;ln(index)表示对位置索引取自然对数。
本申请认为,在一个对话流程中,越是靠后的交互节点,如果交互失败,对用户的体验影响越大,越会“功亏一篑”,所以通过index因子来增加靠后交互节点的权重。
如表1所示,为图4中的各交互节点的语义理解总次数和语义理解成功的次数,计算得到的语义理解成功率(rate),以及结合节点在流程中位置索引计算得到的各个交互节点的优先级得分(score)的示例。
表1
本示例中,选择优先级得分最高的交互节点作为待优化交互节点,由于confirmLoc这个交互节点的优先级得分最高,因此将confirmLoc这个交互节点作为待优化交互节点。
当然,本申请中还可以选择优先级得分高于阈值的交互节点作为待优化交互节点,例如,选择优先级得分高于2的交互节点作为待优化交互节点,则confirmLoc和submitOrder这两个交互节点均被确定为待优化交互节点。
下面以待优化交互节点为confirmLoc为例说明人工标注的过程:
在确定待优化交互节点后,可以从上述预设历史时长内的交互日志中筛选出confirmLoc语义理解失败的日志,筛选条件为:node=confirmLoc&&rc=1。假设图6所示日志为confirmLoc的所有语义理解失败的交互日志中的其中一篇交互日志,则可以将该交互日志格式化为标注系统所支持的格式,并导入到标注系统,通过标注系统由标注人员确定意图,抽取出实体信息并进行标注,标注结果如图7所示。
在对confirmLoc的所有语义理解失败的交互日志均进行标注后,根据标注结果生成训练数据集,训练数据集中训练数据的格式如下所示:
Query:银泰城对面的酒店intent:loc slots.name:loc slots.value:银泰城
在得到训练数据集后,就可以利用训练数据集对语义训练模型进行训练了。语义理解模型包括两部分,一部分是意图分类模型,另一部分是实体提取模型。其中,
意图分类模型用来预测一句用户语料属于哪个意图,例如,“银泰城对面的酒店”语料属于位置意图loc,通过意图分类模型,客服机器人遇到类似的语料就知道用户是在告诉它想要预订的酒店位置信息。训练意图分类模型时,将训练数据集中各训练数据的用户语料和意图部分,例如“Query:银泰城对面的酒店intent:loc”输入到意图分类模型进行训练,得到更新后的意图分类模型。
实体抽取模型则是用来负责抽取语料中的实体关键词的,因为理解用户语义的内容既要知道其想表达的意图,还要提取到一些关键词信息,例如上面的酒店位置“银泰城”。训练实体抽取模型时,将训练数据集输入到实体抽取模型中进行训练,得到更新后的实体抽取模型。
意图分类模型和实体抽取模型的具体训练过程,都是采用一些已经比较成熟的机器学习和深度学习算法来处理的,不是本案的关注重点,这里不再详述。
可选的,在更新语义理解模型后,当再次跳转到confirmLoc节点,并接收到用户语料(即待分析文本)时,可以先调用基于说法模板的语义理解引擎对用户语料进行语义理解,若语义理解失败,再将用户语料输入到意图分类模型得到意图信息,然后将用户语料以及意图分类模型识别出的意图信息输入到实体抽取模型,提取出语料中的实体词和槽位信息,实现语义理解。
例如,以用户语料“银泰城对面的酒店”为例,若调用基于说法模板的语义理解引擎对用户语料进行语义理解,未得到语义理解结果,即语义理解失败,则将“query:银泰城对面的酒店”输入到意图分类模型,预测出意图信息intent:loc,然后将语料、意图信息“query:银泰城对面的酒店”和“intent:loc”输入到实体抽取模型,提取出语义实体“loc:银泰城”。
可选的,在更新语义理解模型后,当再次跳转到confirmLoc节点,并接收到用户语料(即待分析文本)时,可以直接将用户语料输入到意图分类模型得到意图信息,然后将用户语料以及意图分类模型识别出的意图信息输入到实体抽取模型,提取出语料中的实体词和槽位信息,实现语义理解。
与方法实施例相对应,本申请还提供一种语义理解装置,本申请提供的语义理解装置的一种结构示意图如图8所示,可以包括:
跳转模块81,获得模块82和语义理解模块83;其中,
跳转模块81用于按照预置的交互节点跳转流程进行交互节点跳转;
获得模块82用于所述跳转模块每跳转到一交互节点,获得待分析文本;
语义理解模块82用于利用跳转到的所述交互节点对应的语义理解模型对所述待分析文本进行语义理解。
本申请实施例提供的语义理解装置,预先定义了多个交互节点以及交互节点间的跳转流程,在人机交互过程中,按照该跳转流程进行交互节点的跳转,每跳转到一交互节点,获得待分析文本并利用跳转到的交互节点对应的语义理解模型对待分析文本进行语义理解。由于每个交互节点对应有独立的语义理解模型,且语义理解模型不需要配置说法模板,并能够通过机器学习进行更新,从而提高人机交互的智能性。
在一可选的实施例中,所述语义理解装置还可以包括:
确定模块,用于确定至少一个交互节点作为待优化交互节点;
优化模块,用于对所述待优化交互节点对应的语义理解模型进行优化。
在一可选的实施例中,上述确定模块可以包括:
成功率获取模块,用于获取所述交互节点跳转流程中各个交互节点的语义理解成功率;
第一确定模块,用于将语义理解成功率小于成功率阈值的交互节点确定为待优化交互节点。
在一可选的实施例中,上述确定模块可以包括:
优先级确定模块,用于根据各个交互节点的语义理解成功率,以及各个交互节点在所述交互节点跳转流程中的位置,确定各个交互节点的优先级;
第二确定模块,用于将优先级满足预设条件的交互节点确定为待优化交互节点。
在一可选的实施例中,上述优先级确定模块可以包括:
计算模块,用于对应每一个交互节点,根据该交互节点的语义理解成功率,以及该交互节点在所述交互节点跳转流程中的位置,计算该交互节点的优先级得分;所述优先级得分与该交互节点的语义理解成功率呈反比例关系,与该交互节点在所述交互节点跳转流程中的位置呈正比例关系;
第二确定模块具体可以用于:将优先级得分高于分数阈值的交互节点确定为待优化交互节点。
在一可选的实施例中,上述优化模块可以包括:
训练模块,用于对于每一个待优化交互节点,将预设历史时间范围内,该待优化交互节点对应的语义理解失败的历史分析文本和历史分析文本对应的标注语义作为训练样本,对与该待优化交互节点对应的语义理解模型进行训练,得到与该待优化交互节点对应的更新后的语义理解模型。
在一可选的实施例中,上述语义理解模块82还可以用于:
若再次跳转到所述待优化交互节点,并获得待分析文本,利用所述更新后的语义理解模型对再次获得的待分析文本进行语义理解。
本申请实施例提供的语义理解装置可应用于语义理解设备,如PC终端、平板电脑、智能家居设备、聊天机器人、早教机器人等。可选的,图9示出了语义理解设备的硬件结构框图,参照图9,语义理解设备的硬件结构可以包括:至少一个处理器1,至少一个通信接口2,至少一个存储器3和至少一个通信总线4;
在本申请实施例中,处理器1、通信接口2、存储器3、通信总线4的数量为至少一个,且处理器1、通信接口2、存储器3通过通信总线4完成相互间的通信;
处理器1可能是一个中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路等;
存储器3可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatilememory)等,例如至少一个磁盘存储器;
其中,存储器存储有程序,处理器可调用存储器存储的程序,所述程序用于:
按照预置的交互节点跳转流程进行交互节点跳转;每跳转到一交互节点,执行如下交互流程:
获得待分析文本;
利用跳转到的所述交互节点对应的语义理解模型对所述待分析文本进行语义理解。
可选的,所述程序的细化功能和扩展功能可参照上文描述。
本申请实施例还提供一种存储介质,该存储介质可存储有适于处理器执行的程序,所述程序用于:
按照预置的交互节点跳转流程进行交互节点跳转;每跳转到一交互节点,执行如下交互流程:
获得待分析文本;
利用跳转到的所述交互节点对应的语义理解模型对所述待分析文本进行语义理解。
可选的,所述程序的细化功能和扩展功能可参照上文描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
应当理解,本申请实施例中,从权、各个实施例、特征可以互相组合结合,都能实现解决前述技术问题。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (9)
1.一种语义理解方法,其特征在于,包括:
按照预置的交互节点跳转流程进行交互节点跳转;每跳转到一交互节点,执行如下交互流程:
获得待分析文本;
利用跳转到的所述交互节点对应的语义理解模型对所述待分析文本进行语义理解;
如果任一交互节点被确定为待优化交互节点,将预设历史时间范围内,所述待优化交互节点对应的语义理解失败的历史分析文本和历史分析文本对应的标注语义作为训练样本,对与所述待优化交互节点对应的语义理解模型进行训练,得到与所述待优化交互节点对应的更新后的语义理解模型。
2.根据权利要求1所述的方法,其特征在于,还包括:
确定至少一个交互节点作为待优化交互节点。
3.根据权利要求2所述的方法,其特征在于,所述确定至少一个交互节点作为待优化交互节点,包括:
获取所述交互节点跳转流程中各个交互节点的语义理解成功率;
将语义理解成功率小于成功率阈值的交互节点确定为待优化交互节点。
4.根据权利要求2所述的方法,其特征在于,所述确定至少一个交互节点作为待优化交互节点,包括:
根据各个交互节点的语义理解成功率,以及各个交互节点在所述交互节点跳转流程中的位置,确定各个交互节点的优先级;
将优先级满足预设条件的交互节点确定为待优化交互节点。
5.根据权利要求4所述的方法,其特征在于,所述根据各个交互节点的语义理解成功率,以及各个交互节点在所述交互节点跳转流程中的位置,确定各个交互节点的优先级,包括:
对应每一个交互节点,根据该交互节点的语义理解成功率,以及该交互节点在所述交互节点跳转流程中的位置,计算该交互节点的优先级得分;所述优先级得分与该交互节点的语义理解成功率呈反比例关系,与该交互节点在所述交互节点跳转流程中的位置呈正比例关系;
所述将优先级满足预设条件的交互节点确定为待优化交互节点,包括:
将优先级得分高于分数阈值的交互节点确定为待优化交互节点。
6.根据权利要求1所述的方法,其特征在于,还包括:
若再次跳转到所述待优化交互节点,并获得待分析文本,利用所述更新后的语义理解模型对再次获得的待分析文本进行语义理解。
7.一种语义理解装置,其特征在于,包括:
跳转模块,用于按照预置的交互节点跳转流程进行交互节点跳转;
获得模块,用于所述跳转模块每跳转到一交互节点,获得待分析文本;
语义理解模块,用于利用跳转到的所述交互节点对应的语义理解模型对所述待分析文本进行语义理解;
训练模块,用于如果任一交互节点被确定为待优化交互节点,将预设历史时间范围内,所述待优化交互节点对应的语义理解失败的历史分析文本和历史分析文本对应的标注语义作为训练样本,对与所述待优化交互节点对应的语义理解模型进行训练,得到与所述待优化交互节点对应的更新后的语义理解模型。
8.一种语义理解设备,其特征在于,包括:
存储器,用于存储程序;
处理器,用于执行所述程序,实现如权利要求1-6中任一项所述的语义理解方法的各个步骤。
9.一种可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现如权利要求1-6中任一项所述的语义理解方法的各个步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910655828.3A CN110377908B (zh) | 2019-07-19 | 2019-07-19 | 语义理解方法、装置、设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910655828.3A CN110377908B (zh) | 2019-07-19 | 2019-07-19 | 语义理解方法、装置、设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110377908A CN110377908A (zh) | 2019-10-25 |
CN110377908B true CN110377908B (zh) | 2023-05-30 |
Family
ID=68254317
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910655828.3A Active CN110377908B (zh) | 2019-07-19 | 2019-07-19 | 语义理解方法、装置、设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110377908B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111428017B (zh) * | 2020-03-24 | 2022-12-02 | 科大讯飞股份有限公司 | 人机交互优化方法以及相关装置 |
CN111540353B (zh) * | 2020-04-16 | 2022-11-15 | 重庆农村商业银行股份有限公司 | 一种语义理解方法、装置、设备及存储介质 |
CN113488035A (zh) * | 2020-04-28 | 2021-10-08 | 海信集团有限公司 | 一种语音信息的处理方法、装置、设备及介质 |
CN111767219B (zh) * | 2020-06-24 | 2023-08-15 | 中国工商银行股份有限公司 | 智能客服对话流程的检验方法及装置 |
CN112164400A (zh) * | 2020-09-18 | 2021-01-01 | 广州小鹏汽车科技有限公司 | 语音交互方法、服务器和计算机可读存储介质 |
CN112102844B (zh) * | 2020-11-09 | 2021-02-05 | 苏州思必驰信息科技有限公司 | 离线识别xbnf的编写和维护方法和装置 |
CN112417116B (zh) * | 2020-11-18 | 2022-03-15 | 四川长虹电器股份有限公司 | 一种基于少样本语料的问句理解模型训练方法和系统 |
CN112487144A (zh) * | 2020-11-30 | 2021-03-12 | 北京天润融通科技股份有限公司 | 多轮对话机器人意图命中优化方法及装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6778970B2 (en) * | 1998-05-28 | 2004-08-17 | Lawrence Au | Topological methods to organize semantic network data flows for conversational applications |
CN109429522A (zh) * | 2016-12-06 | 2019-03-05 | 吉蒂机器人私人有限公司 | 语音交互方法、装置及系统 |
CN107240398B (zh) * | 2017-07-04 | 2020-11-17 | 科大讯飞股份有限公司 | 智能语音交互方法及装置 |
CN108388638B (zh) * | 2018-02-26 | 2020-09-18 | 出门问问信息科技有限公司 | 语义解析方法、装置、设备及存储介质 |
-
2019
- 2019-07-19 CN CN201910655828.3A patent/CN110377908B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110377908A (zh) | 2019-10-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110377908B (zh) | 语义理解方法、装置、设备及可读存储介质 | |
CN108153800B (zh) | 信息处理方法、信息处理装置以及记录介质 | |
CN101267518B (zh) | 从内容元数据提取相关信息的方法和装置 | |
CN107480162B (zh) | 基于人工智能的搜索方法、装置、设备及计算机可读存储介质 | |
CN109165302B (zh) | 多媒体文件推荐方法及装置 | |
US9218414B2 (en) | System, method, and user interface for a search engine based on multi-document summarization | |
CN101167075B (zh) | 专有表现抽取装置、方法以及程序 | |
US20100318532A1 (en) | Unified inverted index for video passage retrieval | |
WO2012154348A1 (en) | Generation of topic-based language models for an app search engine | |
CN110287364B (zh) | 语音搜索方法、系统、设备及计算机可读存储介质 | |
CN101566995A (zh) | 一种互联网信息整合发布的方法和系统 | |
US10313403B2 (en) | Systems and methods for virtual interaction | |
RU2711104C2 (ru) | Способ и компьютерное устройство для определения намерения, связанного с запросом для создания зависящего от намерения ответа | |
CN106951503A (zh) | 信息提供方法、装置、设备以及存储介质 | |
EP3961426A2 (en) | Method and apparatus for recommending document, electronic device and medium | |
CN109508448A (zh) | 基于长篇文章生成短资讯方法、介质、装置和计算设备 | |
CN102073704A (zh) | 文本分类处理方法和系统以及设备 | |
CN110019713A (zh) | 基于意图理解的数据检索方法和装置、设备及存储介质 | |
CN106776136A (zh) | 数据库处理方法和装置 | |
CN110246494A (zh) | 基于语音识别的服务请求方法、装置及计算机设备 | |
WO2020095776A1 (ja) | 知識情報作成支援装置 | |
CN102789466B (zh) | 一种提问标题质量判定方法、提问引导方法及其装置 | |
CN107193922A (zh) | 一种信息处理的方法及装置 | |
US20190303364A1 (en) | Searching method and apparatus, device and non-volatile computer storage medium | |
CN113919446A (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 |