《自然语言理解方法及系统.pdf》由会员分享,可在线阅读,更多相关《自然语言理解方法及系统.pdf(19页珍藏版)》请在专利查询网上搜索。
1、10申请公布号CN104360994A43申请公布日20150218CN104360994A21申请号201410735412X22申请日20141204G06F17/2720060171申请人科大讯飞股份有限公司地址230088安徽省合肥市高新开发区望江西路666号72发明人黄鑫陈志刚张丹胡国平胡郁刘庆峰74专利代理机构北京维澳专利代理有限公司11252代理人王立民姜溯洲54发明名称自然语言理解方法及系统57摘要本发明公开了一种自然语言理解方法及系统,该方法包括预先构建排序模型;对待解析的自然语言信息进行语义解析,得到多个语义解析结果;提取所述语义解析结果的相关度特征;将所述相关度特征输入所。
2、述排序模型,得到所述排序模型输出的各语义解析结果的排序得分;根据排序得分选取其中的一个或多个语义解析结果作为自然语言理解的结果。利用本发明,可以有效提高自然语言理解的可靠性和准确性。51INTCL权利要求书3页说明书11页附图4页19中华人民共和国国家知识产权局12发明专利申请权利要求书3页说明书11页附图4页10申请公布号CN104360994ACN104360994A1/3页21一种自然语言理解方法,其特征在于,包括预先构建排序模型;对待解析的自然语言信息进行语义解析,得到多个语义解析结果;提取所述语义解析结果的相关度特征;将所述相关度特征输入所述排序模型,得到所述排序模型输出的各语义解析。
3、结果的排序得分;根据排序得分选取其中的一个或多个语义解析结果作为自然语言理解的结果。2根据权利要求1所述的方法,其特征在于,采用基于机器学习的排序方法训练得到排序模型,并在训练过程中将用户查询字串的重要性通过加权方式加入到训练目标函数中。3根据权利要求1所述的方法,其特征在于,构建排序模型的过程包括收集用户查询字串,并将所述查询字串作为训练数据;对所述训练数据进行业务标注,得到训练样本;对所述训练数据进行语义解析,得到语义解析结果;提取所述语义解析结果的相关度特征;利用所述训练样本及所述相关度特征训练得到排序模型。4根据权利要求3所述的方法,其特征在于,所述相关度特征包括以下特征中的一种或多种。
4、语义解析结果所能理解的词数、核心元素数、核心元素内容的热度;所述词数表示所述语义解析结果与其对应的训练数据针对同一语义场景共同出现的词数;所述核心元素数表示所述语义解析结果与其对应的训练数据针对同一业务共同出现的核心元素数;所述核心元素内容的热度表示核心元素内容在本场景下的热门程度。5根据权利要求3所述的方法,其特征在于,所述对待解析的自然语言信息进行语义解析,得到多个语义解析结果包括对待解析的自然语言信息分别在预先设定的多种不同语义场景下进行语义解析,得到对应各语义场景的语义解析结果;所述方法还包括在构建排序模型的过程中,在预先设定的多种不同语义场景下对所述训练数据进行语义解析,得到对应各语。
5、义场景的语义解析结果;在排序模型训练过程中将语义场景类型的重要性通过加权方式加入到训练目标函数中;所述相关度特征还包括包含关系,所述包含关系表示所述语义解析结果与其它业务类型的语义解析结果间的相互包含关系。6根据权利要求5所述的方法,其特征在于,在不同语义场景下采用相同或不同的方法对所述自然语言信息进行语义解析。7根据权利要求1至6任一项所述的方法,其特征在于,所述根据排序得分选取其中的一个或多个语义解析结果作为自然语言理解的结果包括依排序得分从高到低选择预设数量的语义解析结果作为自然语言理解的结果;或者,权利要求书CN104360994A2/3页3选择排序得分大于预设阈值的语义解析结果作为自。
6、然语言理解的结果。8根据权利要求1至6任一项所述的方法,其特征在于,所述自然语言信息为语音信息;所述方法还包括在对所述自然语言信息进行语义解析之前,通过语音识别将所述自然语言信息转换为文本信息。9一种自然语言理解系统,其特征在于,包括排序模型构建模块,用于预先构建排序模型;语义解析模块,用于对待解析的自然语言信息进行语义解析,得到多个语义解析结果;特征提取模块,用于提取所述语义解析结果的相关度特征;排序模块,用于将所述相关度特征输入所述排序模型,得到所述排序模型输出的各语义解析结果的排序得分;输出模块,用于根据排序得分选取其中的一个或多个语义解析结果作为自然语言理解的结果。10根据权利要求9所。
7、述的系统,其特征在于,所述排序模型构建模块采用基于机器学习的排序方法训练得到排序模型,并在训练过程中将用户查询字串的重要性通过加权方式加入到训练目标函数中。11根据权利要求9所述的系统,其特征在于,所述排序模型构建模块包括训练数据获取单元,用于收集用户查询字串,并将所述用户查询字串作为训练数据;标注单元,用于对所述训练数据进行业务标注,得到训练样本;语义解析单元,用于对所述训练数据进行语义解析,得到语义解析结果;特征提取单元,用于提取所述语义解析结果的相关度特征;训练单元,用于利用所述训练样本及所述相关度特征训练得到排序模型。12根据权利要求11所述的系统,其特征在于,所述语义解析模块,具体用。
8、于对待解析的自然语言信息分别在预先设定的多种不同语义场景下进行语义解析,得到对应各语义场景的语义解析结果;所述语义解析单元,具体用于在预先设定的多种不同语义场景下对所述训练数据进行语义解析,得到对应各语义场景的语义解析结果;所述排序模型构建模块在排序模型训练过程中还将语义场景类型的重要性通过加权方式加入到训练目标函数中。13根据权利要求12所述的系统,其特征在于,所述语义解析模块在不同语义场景下采用相同或不同的方法对所述自然语言信息进行语义解析。14根据权利要求9至13任一项所述的系统,其特征在于,所述输出模块,具体用于依排序得分从高到低选择预设数量的语义解析结果作为自然语言理解的结果,或者选。
9、择排序得分大于预设阈值的语义解析结果作为自然语言理解的结果。15根据权利要求9至13任一项所述的系统,其特征在于,所述自然语言信息为语音信息;所述系统还包括语音识别模块,用于在所述语义解析模块对所述自然语言信息进行语义解析之前,通权利要求书CN104360994A3/3页4过语音识别将所述自然语言信息转换为文本信息。权利要求书CN104360994A1/11页5自然语言理解方法及系统技术领域0001本发明涉及人工智能技术领域,具体涉及一种自然语言理解方法及系统。背景技术0002自然语言作为人类表达自己思想最为方便、自然的方式,近年来,已逐渐成为人机交互中最主流的方式。因自然语言的多样性、复杂性。
10、等特点,实现其准确地机器理解一直是人工智能领域中研究的热点和难点。现有人机交互中自然语言理解的方法多为系统首先对用户自然语言输入进行分类,确定其语义场景类型,再在其语义场景下进行自然语言解析,得到自然语言理解结果。该方法通过预先进行语义场景分类,然后再在各场景下解析得到自然语言理解结果,在一定程度上解决了因自然语言多样、复杂而难以理解的问题,但其理解结果准确性过于依赖预先语义场景判定的正误,对于多样、开放的用户自然语言信息输入,在根据识别词是否匹配、识别词匹配数等信息进行语义场景类型判定时,可能会因为用户表达不准确、语音识别不准确、自然语言本身存在多义和/或歧义等原因导致判定错误,就会使整个系。
11、统进入无法逆转的错误。例如“北京遇上西雅图”是一部电影名称,作为“电影”场景的识别词。“北京”、“西雅图”是城市名,可以作为“航班”场景的识别词。用户想查询“北京遇上西雅图”这部电影,但对电影名称记得不准确,表达为“北京爱上西雅图”。则无法匹配语义场景类型“电影”的识别词,匹配上语义场景类型“航班”中的识别词,从而错误的确定语义场景类型为“航班”,导致最终解析结果错误。同样,在单一语义场景下,对进行自然语言解析,也可能会得到多个自然语言理解结果,而如何从中选出最准确的结果,也是值得研究的一项课题。发明内容0003本发明实施例提供一种自然语言理解方法及系统,以提高自然语言理解的可靠性和准确性。0。
12、004为此,本发明实施例提供如下技术方案0005一种自然语言理解方法,包括0006预先构建排序模型;0007对待解析的自然语言信息进行语义解析,得到多个语义解析结果;0008提取所述语义解析结果的相关度特征;0009将所述相关度特征输入所述排序模型,得到所述排序模型输出的各语义解析结果的排序得分;0010根据排序得分选取其中的一个或多个语义解析结果作为自然语言理解的结果。0011优选地,采用基于机器学习的排序方法训练得到排序模型,并在训练过程中将用户查询字串的重要性通过加权方式加入到训练目标函数中。0012优选地,构建排序模型的过程包括0013收集用户查询字串,并将所述查询字串作为训练数据;说。
13、明书CN104360994A2/11页60014对所述训练数据进行业务标注,得到训练样本;0015对所述训练数据进行语义解析,得到语义解析结果;0016提取所述语义解析结果的相关度特征;0017利用所述训练样本及所述相关度特征训练得到排序模型。0018优选地,所述相关度特征包括以下特征中的一种或多种语义解析结果所能理解的词数、核心元素数、核心元素内容的热度;0019所述词数表示所述语义解析结果与其对应的训练数据针对同一语义场景共同出现的词数;0020所述核心元素数表示所述语义解析结果与其对应的训练数据针对同一业务共同出现的核心元素数;0021所述核心元素内容的热度表示核心元素内容在本场景下的热。
14、门程度。0022优选地,所述对待解析的自然语言信息进行语义解析,得到多个语义解析结果包括0023对待解析的自然语言信息分别在预先设定的多种不同语义场景下进行语义解析,得到对应各语义场景的语义解析结果;0024所述方法还包括0025在构建排序模型的过程中,在预先设定的多种不同语义场景下对所述训练数据进行语义解析,得到对应各语义场景的语义解析结果;0026在排序模型训练过程中将语义场景类型的重要性通过加权方式加入到训练目标函数中;0027所述相关度特征还包括包含关系,所述包含关系表示所述语义解析结果与其它业务类型的语义解析结果间的相互包含关系。0028优选地,在不同语义场景下采用相同或不同的方法对。
15、所述自然语言信息进行语义解析。0029优选地,所述根据排序得分选取其中的一个或多个语义解析结果作为自然语言理解的结果包括0030依排序得分从高到低选择预设数量的语义解析结果作为自然语言理解的结果;或者,0031选择排序得分大于预设阈值的语义解析结果作为自然语言理解的结果。0032优选地,所述自然语言信息为语音信息;所述方法还包括0033在对所述自然语言信息进行语义解析之前,通过语音识别将所述自然语言信息转换为文本信息。0034一种自然语言理解系统,包括0035排序模型构建模块,用于预先构建排序模型;0036语义解析模块,用于对待解析的自然语言信息进行语义解析,得到多个语义解析结果;0037特征。
16、提取模块,用于提取所述语义解析结果的相关度特征;0038排序模块,用于将所述相关度特征输入所述排序模型,得到所述排序模型输出的各语义解析结果的排序得分;说明书CN104360994A3/11页70039输出模块,用于根据排序得分选取其中的一个或多个语义解析结果作为自然语言理解的结果。0040优选地,所述排序模型构建模块采用基于机器学习的排序方法训练得到排序模型,并在训练过程中将用户查询字串的重要性通过加权方式加入到训练目标函数中。0041优选地,所述排序模型构建模块包括0042训练数据获取单元,用于收集用户查询字串,并将所述用户查询字串作为训练数据;0043标注单元,用于对所述训练数据进行业务。
17、标注,得到训练样本;0044语义解析单元,用于对所述训练数据进行语义解析,得到语义解析结果;0045特征提取单元,用于提取所述语义解析结果的相关度特征;0046训练单元,用于利用所述训练样本及所述相关度特征训练得到排序模型。0047优选地,所述语义解析模块,具体用于对待解析的自然语言信息分别在预先设定的多种不同语义场景下进行语义解析,得到对应各语义场景的语义解析结果;0048相应地,所述语义解析单元,具体用于在预先设定的多种不同语义场景下对所述训练数据进行语义解析,得到对应各语义场景的语义解析结果;0049相应地,所述排序模型构建模块在排序模型训练过程中还将语义场景类型的重要性通过加权方式加入。
18、到训练目标函数中。0050优选地,所述语义解析模块在不同语义场景下采用相同或不同的方法对所述自然语言信息进行语义解析。0051优选地,所述输出模块,具体用于依排序得分从高到低选择预设数量的语义解析结果作为自然语言理解的结果,或者选择排序得分大于预设阈值的语义解析结果作为自然语言理解的结果。0052优选地,所述自然语言信息为语音信息;所述系统还包括0053语音识别模块,用于在所述语义解析模块对所述自然语言信息进行语义解析之前,通过语音识别将所述自然语言信息转换为文本信息。0054本发明实施例提供的自然语言理解方法及系统,对用户输入的自然语言进行解析,得到多个语义解析结果,再根据排序学习对多个语义。
19、解析结果进行排序,进而得到自然语言理解结果。0055进一步地,本发明方案解决了传统方法存在的因语义场景类型判断错误,进而使整个自然语言理解系统进入无法挽回错误的问题,充分利用了语义解析结果信息,实现语义结果选取,最终得到自然语言理解结果,大大提高了自然语言理解的可靠性和准确性。附图说明0056为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。0057图1A是本发明实施例自然语言理解方法的一种流程图;0058图1B是本发明实施例。
20、自然语言理解方法的另一种流程图;0059图2是本发明实施例构建排序模型的一种流程图;说明书CN104360994A4/11页80060图3是本发明实施例自然语言理解系统的一种结构示意图;0061图4是本发明实施例中排序模型构建模块的一种结构示意图。具体实施方式0062为了使本技术领域的人员更好地理解本发明实施例的方案,下面结合附图和实施方式对本发明实施例作进一步的详细说明。0063如图1A所示,是本发明实施例自然语言理解方法的一种流程图,包括以下步骤0064步骤111,预先构建排序模型。0065本发明实施例的排序模型,利用机器学习的方法学习出参数权重,实现基于统计的排序方法,对语义解析结果与用。
21、户输入的自然语言之间的相关度进行排序。0066步骤112,对待解析的自然语言信息进行语义解析,得到多个语义解析结果。0067需要说明的是,在实际应用中,所述自然语言信息可以是用户以文本输入的信息,也可以是用户以语音形式输入的信息,当然还可以同时包含文本信息和语音信息。如果用户所输入的自然语言信息中不仅有文本信息还有语音信息,或者所输入的自然语言信息均为语音信息,则还需要通过语音识别技术先将语音信息转换为对应的文本信息。0068由于语义解析方式多种多样,因此,在实际应用中,可以采用一种或多种方式对所述自然语言信息进行语义解析。比如,语义解析方式可以采用基于句法语义分析、基于文法规则网络、敏感词匹。
22、配等任意解析方式中的一种或者多种,对此本发明实施例不做限定。而且,每种解析方式可以取其中的一个或多个解析结果。0069步骤113,提取所述语义解析结果的相关度特征。0070所述语义解析结果的相关度特征用于反映该语义解析结果与进行本次语义解析时对应的语义场景的相关度。所述相关度特征包括以下特征中的一种或多种语义解析结果所能理解的词数、核心元素数、核心元素内容的热度。其中0071所述词数表示所述语义解析结果与所述自然语言信息针对同一语义场景共同出现的词数;0072所述核心元素数表示所述语义解析结果与所述自然语言信息针对同一业务共同出现的核心元素数;0073所述核心元素内容的热度表示核心元素内容在本。
23、场景下的热门程度。0074当然,还可以有其它用于反映语义解析结果与语义场景相关度的特征,对此本发明实施例不做限定。0075步骤114,将所述相关度特征输入所述排序模型,得到所述排序模型输出的各语义解析结果的排序得分。0076也就是说,排序模型的输入为上述提取的语义解析结果的相关度特征,输出是各语义解析结果的排序得分。0077步骤115,根据排序得分选取其中的一个或多个语义解析结果作为自然语言理解的结果。0078具体地,可以依排序得分从高到低选择预设数量的语义解析结果作为自然语言理解的结果;或者选择排序得分大于预设阈值的语义解析结果作为自然语言理解的结果。0079本发明实施例中的排序模型可以采用。
24、包含大量用户实际说法的、覆盖多种意图和说明书CN104360994A5/11页9参数组合的大规模训练数据通过离线训练得到,该大规模数据能较为真实地反映用户说法在语义方面的特征,从而使得该排序模型能够全面、准确地体现各语义解析结果与不同场景的相关度,有效地提高了自然语言理解的可靠性和准确性。0080需要说明的是,上述排序模型不仅可以应用于单一语义场景下对多个语义解析结果的排序,而且同样适用于对多语义场景下的不同语义解析结果的排序。0081如图1B所示,是本发明实施例自然语言理解方法的另一种流程图,包括以下步骤0082步骤121,预先构建排序模型。0083本发明实施例的排序模型,利用机器学习的方法。
25、学习出参数权重,实现基于统计的排序方法,对多场景语义解析结果与用户输入的自然语言之间的相关度进行排序。0084步骤122,对待解析的自然语言信息分别在预先设定的多种不同语义场景下进行语义解析,得到对应各语义场景的语义解析结果。0085需要说明的是,在实际应用中,所述自然语言信息可以是用户以文本输入的信息,也可以是用户以语音形式输入的信息,当然还可以同时包含文本信息和语音信息。如果用户所输入的自然语言信息中不仅有文本信息还有语音信息,或者所输入的自然语言信息均为语音信息,则还需要通过语音识别技术先将语音信息转换为对应的文本信息。0086在本发明实施例中,可以预先设置多种语义场景类型,以便能够对用。
26、户输入的自然语言信息,在多个语义场景下进行全方位的语义解析,从而防止语义场景类型判断错误而导致的语义解析错误。具体地,对用户输入的自然语言信息,可以在每种预设的语义场景下分别进行语义解析,从而可以得到多个语义解析结果。其中,在每种语义场景下都可以得到至少一种语义解析结果,当然该语义解析结果可以是匹配成功的语义解析结果也可以是匹配失败的语义解析结果。每种语义场景对应的语义解析方式,可以由系统预先设定,也可以由用户根据不同的应用需要来选择,对此本发明实施例不做限定。0087由于语义解析方式多种多样,在每种语义场景下可以采用相同或不同的语义解析方式进行语义解析,其中,语义场景和语义解析方式之间的对应。
27、关系可以事先设定好,例如以映射表的方式存在,也即,在某种特定的语义场景下可以采用事先选定的一种或多种语义解析方式。其中,语义解析方式可以采用例如基于句法语义分析、基于文法规则网络、敏感词匹配等任意解析方式中的一种或者多种,本发明实施例不做具体限定。0088以采用文法规则网络进行语义解析为例,在特定的语义场景下,可以对应多种文法规则网络,即不同语句形式对应不同的文法规则网络,其中,文法规则网络优选采用基于文法规则编译成的WFST加权有限状态机网络。具体地,语义解析可以是对自然语言信息通过动态规划算法,对文法规则网络进行路径匹配解析,通过回溯匹配路径,得到相应的语义信息。对于同时匹配若干路径的,取。
28、得分最高的一条路径作为语义解析结果。0089对应各语义场景的语义解析结果可以包括各语义场景解析成功的一个或多个解析结果,可根据实际应用情况或经验决定。0090步骤123,提取所述语义解析结果的相关度特征。0091所述语义解析结果的相关度特征用于反映该语义解析结果与进行本次语义解析时对应的语义场景的相关度。0092在该应用情况下,所述相关度特征不仅包括前面提到的以下特征中的一种或多说明书CN104360994A6/11页10种语义解析结果所能理解的词数、核心元素数、核心元素内容的热度,而且还可进一步包括以下特征包含关系。0093所述包含关系表示本业务类型的语义解析结果与其它业务类型的语义解析结果。
29、间的包含关系。0094当然,还可以有其它用于反映语义解析结果与语义场景相关度的特征,对此本发明实施例不做限定。0095步骤124,将所述相关度特征输入所述排序模型,得到所述排序模型输出的各语义解析结果的排序得分。0096也就是说,排序模型的输入为上述提取的语义解析结果的相关度特征,输出是各语义解析结果的排序得分。0097步骤125,根据排序得分选取其中的一个或多个语义解析结果作为自然语言理解的结果。0098具体地,可以依排序得分从高到低选择预设数量的语义解析结果作为自然语言理解的结果;或者选择排序得分大于预设阈值的语义解析结果作为自然语言理解的结果。0099可见,本发明实施例提供的自然语言理解。
30、方法,不对用户输入的自然语言信息预先判定语义场景类型,而是对用户输入的自然语言在各语义场景下进行解析,得到多个语义解析结果,再根据排序学习对多个语义解析结果进行排序,进而得到自然语言理解结果。本发明方案解决了传统方法存在的因语义场景类型判断错误,进而使整个自然语言理解系统进入无法挽回错误的问题,充分利用了多个语义场景下的语义解析结果,实现语义结果选取,最终得到自然语言理解结果,大大提高了自然语言理解的可靠性和准确性。0100本发明实施例中的排序模型可以采用包含大量用户实际说法的、覆盖多种意图和参数组合的大规模训练数据通过离线训练得到,该大规模数据能较为真实地反映用户说法在语义方面的特征,从而使。
31、得该多场景语义解析排序模型能够全面、准确地体现各语义解析结果与不同场景的相关度。0101需要说明的是,不论是单一语义场景下还是多语义场景下,排序模型的构建原理及过程是类似的,具体可以采用基于机器学习的排序方法训练得到多场景语义解析排序模型,并在训练过程中将用户查询字串的重要性通过加权方式加入到训练目标函数中,对于多语义场景,还可进一步将语义场景类型的重要性通过加权方式加入到训练目标函数中。0102下面以多语义场景下的应用为例,说明排序模型的构建过程。0103如图2所示,是本发明实施例构建多场景语义解析排序模型的一种流程图,包括以下步骤0104步骤201,收集用户查询字串,并将所述用户查询字串作。
32、为训练数据。0105所述训练数据可以来源于海量的用户日志,能较为真实地反映用户说法在语义方面的特征。0106步骤202,对所述训练数据进行业务标注,得到训练样本。0107具体可以通过人工或机器自动对每句训练数据即用户查询字串对应的业务信息进行标注,例如,将“用英文说再见”标注为“翻译”,将“上淘宝网站”标注为“网站”等。0108步骤203,在预先设定的多种不同语义场景下对所述训练数据进行语义解析,得到对应各语义场景的语义解析结果。说明书CN104360994A107/11页110109如果是针对单一语义场景下的应用,则只需在该单一语义场景下对所述训练数据进行语义解析,得到多个语义解析结果。同样。
33、,在进行语义解析时,可以采用一种或多种方式,对此本发明实施例不做限定。0110步骤204,提取所述语义解析结果的相关度特征。0111该相关度特征反映了语义解析结果与对应的语义场景的相关度,包括但不限于语义解析结果所能理解的词数、语义解析结果所能理解的核心元素数、语义解析结果核心元素内容的热度、语义解析结果与其它业务类型的语义解析结果相互包含关系等。其提取方法如下01121语义解析结果所能理解的词数0113根据语义解析的结果,统计其与用户输入的自然语言信息共同出现的词数,也即本语义场景类型语义所能理解的词数。0114例如,“从西安到北京的航班”,导航业务类型能理解的词数为4“从”,“西安”,“到。
34、”,“北京”,而机票查询业务类型能理解的词数为5“从”,“西安”,“到”,“北京”,“航班”。在这一特征上,导航业务劣于机票查询业务。01152语义解析结果所能理解的核心元素数0116根据语义解析的结果,统计其与用户输入的自然语言信息共同出现的核心元素数,也即本业务类型语义所能理解的核心元素数。其中,本业务类型的核心元素,可以根据本业务下的海量数据离线统计和挖掘所得,也可根据先验知识人工补充得到。0117例如,“打开音乐播放器”,音乐业务类型能理解的核心元素数为1“音乐”,而软件管家业务类型能理解的核心元素数为2“打开”,“播放器”。在这一特征上,软件管家业务要优于音乐业务。01183语义解析。
35、结果核心元素内容的热度0119根据语义解析的结果,统计其与用户输入的自然语言信息共同出现的核心元素,然后统计这些核心元素内容的热度。其中,核心元素内容的热度,可以根据该场景相关的垂直类页面相关条目的热度信息、相关条目在多个垂直站点中的分布数、用户查询数、相关条目的时效性等综合分析计算得到。0120例如,“听天龙八部”,听书业务类型中的“天龙八部”作为小说的热度为中,视频业务类型中的“天龙八部”作为视频资源的热度为高。在本特征上,听书业务劣于视频业务,因此也可看出,用户输入的自然语言信息最终的实际意图,并不由某一点或几点特征来决定,还需要大量的其它信息综合分析。01214语义解析结果与其它业务类。
36、型的语义解析结果相互包含关系0122根据语义解析的结果,统计其与其它业务类型的语义解析结果间的相互包含关系。具体来说,一些业务类型,比如短信业务、翻译业务、搜索业务等,它们的业务特性使得其操作对象比如短信的具体内容、翻译的具体内容、搜索的具体信息等可以涵盖其它业务类型。具体统计时可以根据文法规则匹配路径之间的关系或句法树之间的关系,来判断是否有包含关系。0123例如,“翻译宫保鸡丁”,菜谱业务类型的解析结果“宫保鸡丁”作为菜名,被翻译业务类型的翻译内容所包含。又如,“百度我是歌手”,视频业务中“我是歌手”作为视频名称,被搜索业务的搜索内容所包含。在上述两个例子中,本特征上翻译业务优于菜谱业务,。
37、搜索说明书CN104360994A118/11页12业务优于视频业务。0124需要说明的是以上阐述的相关度特征,只是从语料在不同语义场景下的语义解析结果中可以抽取的一部分特征,上述举例是为了更加详细和直观的说明,但在实际应用中,所述相关度特征并不局限于此。比如,还可以将业务类型匹配结果元素的NGRAMN元语法、句法分析的概率等作为所述相关度特征中的一种特征。0125步骤205,利用所述训练样本及所述相关度特征训练得到排序模型。0126具体地,可以采用LEARNINGTORANK基于机器学习的排序方法,L2R的方式,选择合适的算法训练模型,例如RANKINGSVM基于支持向量机的排序学习算法、R。
38、ANKBOOST、RANKNET等。0127比如,采用基于PAIRWISE对方式的RANKINGSVM,其原因是01281实际业务中各个业务类型之间的排序是弱排序,即,业务类型集合中并不是每两个业务类型间都存在相关度的强弱排序。比如,“科大讯飞的股票”,火车票查询业务和天气查询业务之间就不存在针对此查询信息的相关度强弱排序关系。01292基于海量的用户日志,可以通过点击等用户行为记录,挖掘出大量PAIRWISE的业务间的相关度强弱关系,用于RANKINGSVM中。0130与传统RANKINGSVM算法训练模型不同的是,本发明实施例中,将不同业务类型即语义场景类型的重要程度和不同用户查询的重要程。
39、度,通过加权的方式加入到训练目标函数中,使得机器学习的离线模型训练更好地反映实际业务需求和提升用户体验。一般越重要的业务类型及用户查询,其在目标函数中的权重越高,从而训练出的模型会倾向于重要业务类型和重要用户查询的正确率。0131其中,不同业务类型的重要程度可以利用用户日志进行挖掘,业务类型下的查询信息数目,以及一段时间内该查询信息数目的上升值,计算出此业务的绝对重要程度;再根据各个业务类型在绝对重要程度值的相对比例,计算出各个业务类型的重要程度。同时,也可以人工配置业务类型的重要程度,以反映实际应用的需求。不同用户查询的重要程度首先将用户日志中的相同业务类型下的各个查询信息用文法规则或句法分。
40、析进行语义解析,对相同语义结构进行统计,计算出前N个语义解析结果的语义结构;再将此语义结构中涉及查询内容的元素如视频名、小说名的内容进行统计,结合垂直数据的热门信息,得到热门的用户查询信息,打上标识并加入到训练样本中。0132以RANKINGSVM算法为例,使用LINEARKERNEL线性核函数,那么PAIRWISERANKINGSVM的损失函数是01330134其中,第一项是正则化矩阵,第二项是HINGELOSS铰链损失函数。是排序模型,是正则化项的权重因子,是第I个训练数据在业务U上的特征向量,是第I个训练数据在业务V上的特征向量,总共有M个训练数据,ZI的定义为0135说明书CN1043。
41、60994A129/11页130136考虑依据相对重要程度调整此损失函数,新的损失函数为01370138其中,GI,U,V是权重因子,其值是用户查询字串I、业务类型排序对U,V这三者的函数,计算方法由上述1、2两步的离线过程确定,公式如下01390140其中,I是用户查询字串I在用户查询中的相对权重,例如“下载汤姆猫”这类重要语义结构和重要热门查询内容的权重是12,“查一下云南白药”的这类普通查询字串的权重是默认值10。U是标注数据中业务类型排序对U,V中在前的业务的权重,V是标注数据中排序对U,V中在后的业务的权重,两者均由业务重要程度确定。例如假设应用比较看重打电话业务,闲聊业务作为兜底业。
42、务相对并不看重,因而打电话业务记作P的权重是12,闲聊记作T的权重是08,天气查询业务记作N的权重则为默认值10,那么,排序对P,T和T,P的重要性相同,均为120820,排序对P,N的重要性121022要大于排序对N,T的重要性100818。最后,一个用户查询字串I中的排序对U,V的权重因子,由I,U和V三者平均加权得到。注意到,对于默认的未提权或降权的查询字串I,业务类型排序对U,V,则GI,U,V值为1,与传统的RANKINGSVM等同。0141相应地,本发明实施例还提供一种自然语言理解系统,如图3所示,是本发明实施例自然语言理解系统的一种结构示意图。0142该系统包括0143排序模型构。
43、建模块301,用于预先构建排序模型300;0144语义解析模块302,用于对待解析的自然语言信息进行语义解析,得到多个语义解析结果;0145特征提取模块303,用于提取所述语义解析结果的相关度特征;0146排序模块304,用于将所述相关度特征输入所述排序模型300,得到所述排序模型300输出的各语义解析结果的排序得分;0147输出模块305,用于根据排序得分选取其中的一个或多个语义解析结果作为自然语言理解的结果。0148上述自然语言信息可以是用户以文本输入的信息,也可以是用户以语音形式输入的信息,当然还可以同时包含文本信息和语音信息。如果用户所输入的自然语言信息中不仅有文本信息还有语音信息,或。
44、者所输入的自然语言信息均为语音信息,则在本发明实施例的自然语言理解系统中,还需要设置语音识别模块未图示,用于在所述语义解析模块302对所述自然语言信息进行语义解析之前,通过语音识别将所述自然语言信息转换为文本信息。0149需要说明的是,上述排序模型300不仅可以应用于单一语义场景下对多个语义解析结果的排序,而且同样适用于对多语义场景下的不同语义解析结果的排序。说明书CN104360994A1310/11页140150在单一语义场景下,所述语义解析模块302可以在该语义场景下采用一种或多种不同的方式对所述自然语言信息进行语义解析。0151在多语义场景下,所述语义解析模块302可以在不同语义场景下。
45、采用相同或不同的方式对所述自然语言信息进行语义解析。0152在实际应用中,可以由系统预先设定各语义场景对应的语义解析方式,也可以在系统中设置选择模块未图示,向用户提供对应各场景的语义解析方式,由用户根据不同的应用需要来选择相应的语义解析方式,对此本发明实施例不做限定。0153上述输出模块305可以根据排序模块304输出的排序得分从高到低选择预设数量的语义解析结果作为自然语言理解的结果,或者选择排序得分大于预设阈值的语义解析结果作为自然语言理解的结果。0154本发明实施例中的多场景语义解析排序模型可以采用包含大量用户实际说法的、覆盖多种意图和参数组合的大规模训练数据通过离线训练得到,该大规模数据。
46、能较为真实地反映用户说法在语义方面的特征,从而使得该多场景语义解析排序模型能够全面、准确地体现各语义解析结果与不同场景的相关度。比如,排序模型构建模块301可以采用基于机器学习的排序方法训练得到排序模型,并在训练过程中将用户查询字串的重要性通过加权方式加入到训练目标函数中,对于多语义场景的应用,还可进一步将语义场景类型的重要性通过加权方式加入到训练目标函数中。0155如图4所示,是本发明实施例中排序模型构建模块的一种结构示意图。0156该排序模型构建模块包括0157训练数据获取单元401,用于收集训练数据。所述训练数据可以来源于海量的用户日志,能较为真实地反映用户说法在语义方面的特征。0158。
47、标注单元402,用于对所述训练数据进行业务标注,得到训练样本;0159语义解析单元403,用于对所述训练数据进行语义解析,得到语义解析结果。0160不同语义场景下采用的语义解析方式可以相同,也可以不同。单一语义场景下可以采用一种或多种语义解析方式对所述训练数据进行语义解析。0161特征提取单元404,用于提取所述语义解析结果的相关度特征。该相关度特征反映了语义解析结果与对应的场景的相关度,包括但不限于语义解析结果所能理解的词数、语义解析结果所能理解的核心元素数、语义解析结果核心元素内容的热度。对于多语义场景的应用,所述相关度特征还可进一步包括语义解析结果与其它业务类型的语义解析结果相互包含关系。
48、等。每种特征的具体提取方式可参照前面本发明方法实施例中的描述,在此不再赘述。0162训练单元405,用于利用所述训练样本及所述相关度特征训练得到多场景语义解析排序模型。具体地,可以采用LEARNINGTORANK的方式,选择合适的算法训练模型,例如RANKINGSVM、RANKBOOST、RANKNET等。0163可见,本发明实施例提供的自然语言理解系统,对用户输入的自然语言进行解析,得到多个语义解析结果,再根据排序学习对多个语义解析结果进行排序,进而得到自然语言理解结果。0164进一步地,将本发明方案应用于多语义场景下的自然语言理解,解决了传统方法存在的因语义场景类型判断错误,进而使整个自然。
49、语言理解系统进入无法挽回错误的问说明书CN104360994A1411/11页15题,充分利用了多个语义场景下的语义解析结果,实现语义结果选取,最终得到自然语言理解结果,大大提高了自然语言理解的可靠性和准确性。0165本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统实施例仅仅是示意性的,其中所述作为分离部件说明的模块及单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的,比如,图3中的特征提取模块303及图4中的特征提取单元404可以采用同一物理模块来完成相应功能。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。0166以上对本发明实施例进行了详细介绍,本文中应用了具体实施方式对本发明进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及设备;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明。