语义识别方法、语义识别装置、存储介质及电子设备与流程

文档序号:29042148发布日期:2022-02-25 21:01阅读:148来源:国知局
语义识别方法、语义识别装置、存储介质及电子设备与流程

1.本公开涉及自然语言处理技术领域,具体而言,涉及一种语义识别方法、语义识别装置、计算机可读存储介质和电子设备。


背景技术:

2.目前,程序员常常采用规则语义解析引擎来对用户输入的语句或者文本进行处理,例如,斯坦福大学的corenlp项目。corenlp项目采用的技术方案是:首先,配置指定的语义识别模板,然后,在用户输入语句与语义识别模板的内容完全相同的情况下,匹配并输出语句识别结果,否则,不输出结果。然而,在实际处理过程中,用户输入的语句可以包括一个或者多个口头禅或者语气词,用户可以输入与语义模板顺序不同的语句,这将导致计算机识别不出用户输入的语句的问题。
3.需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。


技术实现要素:

4.本公开的目的在于提供一种语义识别方法、语义识别装置、计算机可读存储介质和电子设备,进而至少在一定程度上克服由于相关技术的限制和缺陷而导致语义识别率低的问题。
5.根据本公开的第一个方面,提供一种语义识别方法,包括:获取待识别语句,按语义模板对待识别语句进行分词处理,得到待识别词语集合和与待识别词语集合对应的第一模板词语集合;基于待识别词语集合中各词语及各词语的词语类型,确定各词语对应的评价指标值,利用各词语对应的评价指标值,计算待识别语句与语义模板的第一相似度;根据待识别词语集合中各词语的长度之和与第一模板词语集合中各词语的长度之和,计算待识别语句与语义模板的第二相似度;基于第一相似度和第二相似度,输出待识别语句对应的第一识别语句。
6.根据本公开的第二个方面,提供一种语义识别装置,包括:词语集合确定模块,用于获取待识别语句,按语义模板对待识别语句进行分词处理,得到待识别词语集合和与待识别词语集合对应的第一模板词语集合;第一相似度计算模块,用于基于待识别词语集合中各词语及各词语的词语类型,确定各词语对应的评价指标值,利用各词语对应的评价指标值,计算待识别语句与语义模板的第一相似度;第二相似度计算模块,用于根据待识别词语集合中各词语的长度之和与第一模板词语集合中各词语的长度之和,计算待识别语句与语义模板的第二相似度;语句输出模块,用于基于第一相似度和第二相似度,输出待识别语句对应的第一识别语句。
7.可选地,第一相似度计算模块,可以被配置为执行:在各词语的词语类型包括第一关键词语类型的情况下,确定第一关键词语类型对应词语的评价指标值为第一预设指标值;将除第一关键词语类型对应的词语之外的各词语确定为中间词语集合,以及确定中间
词语集合中各词语对应的评价指标值。
8.可选地,第一相似度计算模块,可以被配置为执行:确定中间词语集合中各词语的词语类型对应的权重系数;基于中间词语集合和词语评价指标库得出中间词语集合中各词语对应的评价分数;基于中间词语集合中各词语对应的评价分数和中间词语集合中各词语的词语类型对应的权重系数,计算中间词语集合中各词语的评价指标值。
9.可选地,语义识别装置还包括:指标值确定模块,可以被配置为执行:在各词语的词语类型包括第一关键词语类型的情况下,且第二关键词语类型对应词语的评价指标值小于指标阈值,则确定出待识别词语集合中第二关键词语类型对应词语的评价指标为第二预设指标值。
10.可选地,语义识别装置还包括:词语集合生成模块,用于按语义模板确定与第一识别语句对应的第二模板词语集合;语句确定模块,用于基于第一模板词语集合和第二模板词语集合,输出待识别语句对应的第二识别语句。
11.可选地,语句确定模块,可以被配置为执行:在第一模板词语集合中各词语的词语类型包含第一关键词语类型和第二关键词语类型的情况下,则确定第一模板词语集合中各词语对应的评价指标值,利用第一模板词语集合中各词语对应的评价指标值,计算第一识别语句与语义模板的第三相似度;根据第一模板词语集合中各词语的长度之和与第二模板词语集合中各词语的长度之和,计算第一识别语句与语义模板的第四相似度;基于第三相似度和第四相似度,输出待识别语句对应的第二识别语句。
12.可选地,词语集合生成模块,可以被配置为执行:确定出第一模板词语集合中与语义模板对应词语相同的词语,作为与第一识别语句对应的第二模板词语集合。
13.可选地,语句输出模块,可以被配置为执行:基于第一相似度和第二相似度得到目标相似度,将目标相似度与相似度阈值进行比较,若目标相似度大于相似度阈值,则输出待识别语句对应的第一识别语句。
14.可选地,语句输出模块,可以被配置为执行:确定待识别词语集合中各词语在待识别语句中的位置顺序;根据位置顺序对第一模板词语集合中各词语进行排序,并输出排序后的与待识别语句对应的第一识别语句。
15.可选地,词语集合确定模块,可以被配置为执行:对分词后的待识别语句中停用词进行过滤处理,得到待识别词语集合。
16.根据本公开的第三个方面,提供一种计算机可读存储介质,其上存储有计算机程序,程序被处理器执行时实现如上所述的语义识别方法。
17.根据本公开的第四个方面,提供一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器实现如上所述的语义识别方法。
18.本公开的示例性实施例具有以下有益效果:
19.在本公开的一些实施例所提供的技术方案中,首先,获取待识别语句,按语义模板对待识别语句进行分词处理,得到待识别词语集合和与待识别词语集合对应的第一模板词语集合;然后,基于待识别词语集合中各词语及各词语的词语类型,确定各词语对应的评价指标值,利用各词语对应的评价指标值,计算待识别语句与语义模板的第一相似度;接着,根据待识别词语集合中各词语的长度之和与第一模板词语集合中各词语的长度之和,计算
待识别语句与语义模板的第二相似度;随后,基于第一相似度和第二相似度,输出待识别语句对应的第一识别语句。一方面,本公开基于待识别词语集合和第一模板词语集合,确定出待识别词语集合中各词语的评价指标值,并进一步得出待识别语句与语义模板的相似度值,避免限制待识别语句中词语的顺序与语义模板相同,避免限制语义模板必须包含待识别语句中所有词语,本公开扩大了语句的识别范围,提高了语句的识别率,提高语义识别步骤的灵活度。另一方面,本公开利用各词语对应的评价指标值,计算待识别语句与语义模板的第一相似度,避免与语义模板相似语义的语句不能识别,扩大语句的识别范围。
20.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
21.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
22.图1示意性示出了根据本公开的示例性实施方式的规则语义解析引擎的语义识别方法的流程图;
23.图2示意性示出了根据本公开的示例性实施方式的语义识别方法的流程图;
24.图3示意性示出了根据本公开的示例性实施方式的模板加载器中各加载数据模块的示意图;
25.图4示意性示出了根据本公开的示例性实施方式的语义识别装置的方框图;
26.图5示意性示出了根据本公开的另一示例性实施方式的语义识别装置的方框图;
27.图6示意性示出了根据本公开的示例性实施方式的语义识别系统的方框图;
28.图7示意性示出了根据本公开的示例性实施方式中的电子设备的方框图。
具体实施方式
29.现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本公开的各方面变得模糊。
30.此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
31.需要说明的是,本公开中,用语“包括”、“包含”用以表示开放式的包括在内的意思,并且是指除了列出的要素/组成部分/等之外还可存在另外的要素/组成部分/等。另外,本公开所用的术语“第一”、“第二”仅是为了区分的目的,不应当作为本公开内容的限制。
32.附图中所示的流程图仅是示例性说明,不是必须包括所有的步骤。例如,有的步骤还可以分解,而有的步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
33.目前,针对用户使用终端设备输入的话术或者文本,一般采用规则语义解析引擎进行处理。具体的语义识别方法参考图1,在步骤s102中,获取用户输入的话术;在步骤s104中,对用户输入的话术进行预处理,确定出话术对应的语义领域;在步骤s106中,基于话术对应的语义领域建立语义领域与语义模板之间的索引,确定出语义领域与语义模板之间的索引;在步骤s108中,基于语义领域与语义模板之间的索引从语义模板集合中确定出话术对应的候选语义模板;在步骤s110中,基于候选语义模板对话术进行正则语义识别处理,得出语义识别结果;在步骤s112中,若语义识别结果为语义模板与话术完全相同,则输出话术对应的语义识别结果。
34.然而,当话术中包括一个或者多个语气词,或者话术的语句顺序与语义模板不同时,则不能通过语义模板输出语义识别结果。
35.针对该问题,本公开提出了一种语义识别方法。
36.需要说明的是,在本公开的示例性实施方式中,下面所述的语义识别方法通常可以由服务器来实现,也就是说,可以由服务器执行语义识别方法的各个步骤,在这种情况下,语义识别装置可以配置在该服务器中。
37.另外,语义识别方法可以由终端设备(如,手机、平板、个人计算机等)来实现,也就是说,可以由终端设备执行语义识别方法的各个步骤,在这种情况下,语义识别装置可以配置在该终端设备中。
38.下面,将结合附图及实施例对本示例实施方式中的语义识别方法的各个步骤进行更详细的说明。
39.图2示意性示出了本公开的示例性实施方式的语义识别方法的流程图。在下面的举例说明中,以服务器为执行主体进行示例说明。参考图2,语义识别方法具体可以包括以下步骤:
40.s201.获取待识别语句,按语义模板对待识别语句进行分词处理,得到待识别词语集合和与待识别词语集合对应的第一模板词语集合。
41.在本公开的示例性实施方式中,待识别语句可以是终端设备通过语音采集模块获取到用户的语句,也可以是用户通过终端设备输入的语句。待识别语句可以是一语义领域的语句。
42.语义模板可以是与待识别语句对应的语义领域相关的语义模板,可以包含多个与待识别语句相关的词语,可以包含与语义领域相关的多个词语。在服务器中针对一语义领域可以包含多个语义模板。本公开可以在获取待识别语句之前,对语义模板进行配置,可以指定语义模板集合中每一个语义模板与对应语义领域的匹配关系。语义领域可以是待识别语句的内容主题。
43.在获取待识别语句之前,服务器在模板加载器中对执行数据加载过程得到语义模
板集合,可以参考图3。服务器基于语义领域1 310、语义领域2 320

语义领域n 330在模板加载器340中加载配置了语义模板1 350、语义模板2 360

语义模板m 370。
44.其中,每个语义模板都包括词语命名模块、语义模式模块以及语义结果模块。例如,语义模板2 360包括词语命名模块3601、语义模式模块3603以及语义结果模块3605。词语命名模块可以定义词语的词语类型、词语的变量等,语义模式模块可以配置词语的分词步骤、词语类型对应的权重系数等,语义结果模块可以将识别的词语进行组合,确定出待识别语句对应的语义结果。
45.在语义领域为天气的情况下,语义模板的预设配置程序表现形式例如可以是:
46.《synsets》
47.《synset name="查询"core_term=""expr="!查一下|查询"/》
48.《synset name="的"core_term=""expr="!得|的"/》
49.《synset name="天气"core_term=""expr="!天气"/》
50.《synset name="怎么样"core_term=""expr="!怎么样"/》
51.《synset name="city"core_term=""expr="!?@location#%location%"/》《/synsets》
52.待识别词语集合可以是构成待识别语句的多个词语。也可以包含待识别词语中的部分词语。
53.根据本公开的示例性实施例,服务器可以对分词后的待识别语句中停用词进行过滤处理,得到待识别词语集合。其中,停用词可以指计算机检索中的虚字、非检索用字,停用词例如可以包括语气助词、副词、介词、连词等,如“的”、“在”、“和”、“接着”、“呀”、“啊”等。本公开中的停用词可以使用网络中的停用词数据库。
54.第一模板词语集合可以指将语义模板包含的词语与待识别词语集合进行比较后,确定出语义模板对应的词语集合。
55.本公开基于第一模板词语集合和待识别词语集合进行语义识别,避免因限制识别语句的词语顺序而导致识别结果错误。本公开提高了语义识别率。另外,本公开对分此后的待识别语句的停用词进行过滤处理,扩大了语义识别范围,提高语句的识别率。
56.例如,待识别语句为“帮我看看北京今天的天气如何”。其中,停用词为“的”“帮我”。语义模板为:“【查询】?,【city】,【time】,【的】?,【天气】,【怎么样】?”。
57.服务器可以得出待识别词语集合为{看看,北京,今天,天气,如何},第一模板词语集合为{北京,今天,天气,如何}。
58.服务器首先可以获取到待识别语句,然后,对待识别语句进行语句预处理,确定出待识别语句的语义领域,接着,基于待识别语句的语义领域建立语义领域与语义模板之间的索引,随后,根据索引从语义模板集合中确定出待识别语句对应的语义模板。服务器也可以获取一语义领域的待识别语句,然后,确定语义领域与语义模板之间的索引,随后,确定出待识别语句对应的语义模板。
59.其中,待识别语句的语义领域可以是待识别语句的内容主题。例如,待识别语句为:“北京今天天气怎么样”,那么通过语句预处理后,确定出待识别语句的领域可以是天气。
60.s203.基于待识别词语集合中各词语及各词语的词语类型,确定各词语对应的评
价指标值,利用各词语对应的评价指标值,计算待识别语句与语义模板的第一相似度。
61.服务器可以预先配置语义模板中词语的分类,词语类型可以包括实体词语类型、可选词语类型、必选词语类型。
62.其中,实体词语类型的词语可以包括地名、时间或者日期等词语,在语义模板中,实体类型词语也可以是“%location%”、“【city】”。例如可以是北京、今天等。
63.可选词语类型的词语可以是语气词、副词、助词等,例如可以是“的”、“怎么样”。
64.必选词语类型的词语可以是与待识别语句的语义领域相关的词语,可以是与待识别语句的内容主题相关的词语。
65.各词语的词语类型可以采用语义模板的词语分类方式来确定。
66.各词语对应的评价指标值可以是用来评价各词语的多个评价参数对应的值。
67.服务器可以将实体词语类型作为第一关键词语类型,将必选词语类型作为第二关键词语类型。
68.根据本公开的示例性实施例,服务器在各词语的词语类型包括第一关键词语类型的情况下,确定第一关键词语类型对应词语的评价指标值为第一预设指标值;将除第一关键词语类型对应的词语之外的各词语确定为中间词语集合,以及确定中间词语集合中各词语对应的评价指标值。
69.其中,第一预设指标值可以设置为指定数值,例如实体词语类型对应的词语的评价指标值可以是1。
70.中间词语集合可以包括待识别词语集合中的必选词语类型的词语和可选词语类型的词语。
71.评价指标值可以包括评价分数和权重系数。其中,评分分数可以基于词语从网络中的词语评价指标库确定出。词语的词语类型对应的权重系数可以是预设数值。
72.需要说明的是,在各词语的词语类型未包括第一关键词语类型的情况下,则不计算待识别语句的相似度,也可以更换语义模板,重新进行语义识别。本公开利用各词语对应的评价指标值,计算待识别语句与语义模板的第一相似度,避免与语义模板相似语义的语句不能识别,扩大语句的识别范围。
73.服务器也可以将第一关键词语类型对应词语的评价分数确定为指定数值,然后基于第一关键词语类型对应词语的评价分数和第一关键词语类型对应的权重系数确定出第一关键词语类型对应词语的评价指标值。
74.根据本公开的示例性实施例,服务器可以首先确定中间词语集合中各词语的词语类型对应的权重系数;然后,基于中间词语集合和词语评价指标库得出中间词语集合中各词语对应的评价分数;随后,基于中间词语集合中各词语对应的评价分数和中间词语集合中各词语的词语类型对应的权重系数,计算中间词语集合中各词语的评价指标值。
75.例如,待识别语句为“北京今天的气候如何”。语义模板为:“【查询】?,【city】,【time】,【的】?,【天气】,【怎么样】?”。其中,语义模板配置包括:第一关键词语类型为实体词语类型,且实体词语类型的词语的评价分数为1,实体词语类型对应的权重系数为1,必选词语类型对应的权重系数为1和可选词语类型对应的权重系数为0.2。词语评价指标库可以采用同义词词林扩展库。
76.服务器首先按照语义模板确定出待识别词语集合为{北京,今天,气候,如何},第
一模板词语集合为{北京,今天,天气,如何}。
77.其中,实体词语类型的词语:“北京”、“今天”,必选词语类型的词语:“气候”,可选词语类型的词语:“如何”。
78.然后,服务器基于待识别词语集合的各词语及各词语的词语类型,确定出:“北京”、“今天”两个词语的评价指标值为1=1*1;
79.根据词语评价指标库和“气候”词语,确定出“气候”与“天气”的评价分数为0.9,“气候”词语的词语类型对应的权重系数为1,则“气候”词语的评价指标值为0.9=0.9*1;
80.根据词语评价指标库和“如何”词语,确定出“如何”与“怎么样”的评价分数为0.9,“如何”词语的词语类型对应的权重系数为0.2,则“如何”词语的评价指标值为0.18=0.9*0.2;
81.语义模板中的“的”和“查询”两个词语根据词语评价指标库未确定出评价分数,则不参与计算。
82.随后,服务器基于待识别词语集合中各词语的评价指标值,计算待识别语句与语义模板的第一相似度为0.9625=(1+1+0.9+0.18)/(1+1+1+0.2)。
83.根据本公开的示例性实施例,在各词语的词语类型包括第一关键词语类型的情况下,且第二关键词语类型对应词语的评价指标值小于指标阈值,则确定出待识别词语集合中第二关键词语类型对应词语的评价指标值为第二预设指标值。
84.其中,指标阈值可以指词语评价指标值计算过程中,服务器可以预先设置指标条件值。
85.第二预设指标值可以是第二关键词语类型对应权重系数值取负数,可以预设为指定数值,例如可以是-1。
86.需要说明的是,当一词语的评价指标值大于等于指标阈值时,服务器采用计算出的评价指标值。
87.例如,待识别语句为“北京今天的温度如何”。语义模板为:“【查询】?,【city】,【time】,【的】?,【天气】,【怎么样】?”。其中,语义模板配置包括:第一关键词语类型为实体词语类型,且实体词语类型的词语的评价分数为1,实体词语类型对应的权重系数为1,必选词语类型对应的权重系数为1和可选词语类型对应的权重系数为0.2,分数阈值设置为0.5。词语评价指标库可以采用同义词词林扩展库。
88.服务器首先按照语义模板确定出待识别词语集合为{北京,今天,温度,如何},第一模板词语集合为{北京,今天,天气,如何}。
89.其中,实体词语类型的词语:“北京”、“今天”,必选词语类型的词语:“温度”,可选词语类型的词语:“如何”。
90.然后,服务器基于待识别词语集合的各词语及各词语的词语类型,确定出:“北京”、“今天”两个词语的评价指标值为1=1*1;
91.根据词语评价指标库和“温度”词语,确定出“温度”与“天气”的评价分数为0.0225,“温度”词语的词语类型对应的权重系数为1,则“温度”词语的评价指标值为0.0225=0.0225*1《指标阈值0.5,则“温度”词语的评价指标值确定为-1。
92.根据词语评价指标库和“如何”词语,确定出“如何”与“怎么样”的评价分数为0.9,“如何”词语的词语类型对应的权重系数为0.2,则“如何”词语的评价指标值为0.18=0.9*
0.2;
93.随后,服务器基于待识别词语集合中各词语的评价指标值,计算待识别语句与语义模板的第一相似度为0.3687=(1+1-1+0.18)/(1+1+1+0.2)。
94.s205.根据待识别词语集合中各词语的长度之和与第一模板词语集合中各词语的长度之和,计算待识别语句与语义模板的第二相似度。
95.词语的长度可以是词语包含的字数,例如“天气”词语的长度为2。
96.服务器在得出待识别词语集合和第一模板词语集合之后,可以分别计算出各词语的长度之和。
97.例如,待识别语句为“帮我看看北京今天的天气如何”。其中,停用词为“的”“帮我”。语义模板为:“【查询】?,【city】,【time】,【的】?,【天气】,【怎么样】?”。
98.服务器首先在对分词后的待识别语句中停用词进行过滤处理,得到待识别词语集合{看看,北京,今天,天气,如何},第一模板词语集合为{北京,今天,天气,如何};
99.然后,服务器计算出待识别词语集合中各词语的长度之和为10,第一模板词语集合中各词语的长度之和为8;
100.随后,服务器计算处待识别语句与语义模板的第二相似度为0.8=8/10。
101.s207.基于第一相似度和第二相似度,输出待识别语句对应的第一识别语句。
102.在本公开的示例性实施方式中,第一识别语句可以为按语音模板对待识语句进行识别后生成的语句,可以包括第一模板词语集合中的各词语。
103.根据本公开的示例性实施例,服务器在计算出第一相似度和第二相似度之后,首先可以基于第一相似度和第二相似度得到目标相似度,然后,将目标相似度与相似度阈值进行比较,若目标相似度大于相似度阈值,则输出待识别语句对应的第一识别语句。
104.其中,目标相似度可以是第一相似度和第二相似度的平均值。第一相似度阈值可以是预先设定的指定数值。
105.需要说明的是,当目标相似度小于相似度阈值时,则不输出识别语句,更换语义模板重新进行识别。
106.本公开首先基于待识别词语集合和第一模板词语集合,确定出待识别词语集合中各词语的评价指标值,然后,计算出待识别语句与语义模板的第一相似度和第二相似度,随后,基于第一相似度和第二相似度输出待识别语句的第一识别语句。本公开避免要求整个语句中词语的顺序以及语义模板必须与待识别语句相同,也为限制必须包括待识别语句中的每一个词语,避免缺失语句的识别结果,本公开扩大了语句的识别范围,提高了语句的识别率,提高语义识别步骤的灵活度。
107.具体的,在语义领域为天气的情况下,语义模板中与语义识别相关的程序表现形式例如可以是:
108.《?xml version="1.0"encoding="utf-8"?》
109.《templates domainid="id.triage.weather"domaincontext="天气"》
110.《synsets》
111.《synset name="查询"core_term=""expr="!查一下|查询"/》
112.《synset name="的"core_term=""expr="!得|的"/》
113.《synset name="天气"core_term=""expr="!天气"/》
114.《synset name="怎么样"core_term=""expr="!怎么样"/》
115.《synset name="city"core_term=""expr="!?@location#%location%"/》《/synsets》
116.《template id="query_weather_1"》
117.《description》have ner result:北京/location今天/date time的天气《/description》
118.《pattern type="exact"》^【查询】?【city】%time%【的】?【天气】【怎么样】?$《/pattern》
119.《semantics type="json"》
120.《![cdata[{"domain":"weather","intent":"query","city":"@location","time":"%time%"}]]》
[0121]
《/semantics》
[0122]
《/template》
[0123]
《/templates》
[0124]
例如,待识别语句为“帮我看看北京今天的气候如何”。其中,停用词为“的”“帮我”。语义模板为:“【查询】?,【city】,【time】,【的】?,【天气】,【怎么样】?”。
[0125]
其中,语义模板配置包括:第一关键词语类型为实体词语类型,且实体词语类型的词语的评价分数为1,实体词语类型对应的权重系数为1,必选词语类型对应的权重系数为1和可选词语类型对应的权重系数为0.2。词语评价指标库可以采用同义词词林扩展库。相似度阈值设置为0.8。
[0126]
服务器首先按照语义模板对待识别语句进行分词处理,并对分词后的所述待识别语句中停用词进行过滤处理,确定出待识别词语集合为{看看,北京,今天,气候,如何},第一模板词语集合为{北京,今天,天气,如何}。
[0127]
其中,实体词语类型的词语:“北京”、“今天”,必选词语类型的词语:“气候”,可选词语类型的词语:“如何”。
[0128]
然后,服务器基于待识别词语集合的各词语及各词语的词语类型,确定出:“北京”、“今天”两个词语的评价指标值为1=1*1;
[0129]
根据词语评价指标库和“气候”词语,确定出“气候”与“天气”的评价分数为0.9,“气候”词语的词语类型对应的权重系数为1,则“气候”词语的评价指标值为0.9=0.9*1;
[0130]
根据词语评价指标库和“如何”词语,确定出“如何”与“怎么样”的评价分数为0.9,“如何”词语的词语类型对应的权重系数为0.2,则“如何”词语的评价指标值为0.18=0.9*0.2;
[0131]
语义模板中的“的”和“查询”两个词语根据词语评价指标库未确定出评价分数,则不参与计算。
[0132]
其次,服务器基于待识别词语集合中各词语的评价指标值,计算待识别语句与语义模板的第一相似度为0.9625=(1+1+0.9+0.18)/(1+1+1+0.2)。
[0133]
再次,服务器计算出待识别词语集合中各词语的长度之和为10,第一模板词语集合中各词语的长度之和为8,进而计算处待识别语句与语义模板的第二相似度为0.8=8/10。
[0134]
随后,基于第一相似度0.9625和第二相似度0.8,确定出目标相似度为0.88125》相似度阈值0.8,则输出待识别语句对应的第一识别语句“北京今天天气如何”。
[0135]
根据本公开的示例性实施例,服务器可以首先确定待识别词语集合中各词语在待识别语句中的位置顺序;然后,根据位置顺序对第一模板词语集合中各词语进行排序,并输出排序后的与待识别语句对应的第一识别语句。
[0136]
例如,待识别语句为“帮我看看北京的气候如何今天”。其中,停用词为“的”“帮我”。语义模板为:“【查询】?,【city】,【time】,【的】?,【天气】,【怎么样】?”。
[0137]
服务器首先按照语义模板对待识别语句进行分词处理,并对分词后的所述待识别语句中停用词进行过滤处理,确定出待识别词语集合为{看看,北京,气候,如何,今天},第一模板词语集合为{北京,今天,天气,如何}。
[0138]
然后,确定出待识别词语集合中各词语在待识别语句中的位置顺序为:1)看看2)北京,3)气候,4)如何,5)今天;
[0139]
随后,根据位置顺序对第一模板词语集合中各词语进行排序,并输出排序后的与待识别语句对应的第一识别语句“北京气候如何今天”。
[0140]
根据本公开的示例性实施例,服务器可以在输出第一识别语句后,首先按语义模板确定与第一识别语句对应的第二模板词语集合;然后,基于第一模板词语集合和第二模板词语集合,输出待识别语句对应的第二识别语句。
[0141]
服务器可以确定出第一模板词语集合中与语义模板对应词语相同的词语,作为与第一识别语句对应的第二模板词语集合。
[0142]
根据本公开的示例性实施例,在服务器确定出第一模板词语集合和第二模板词语集合之后,首先在第一模板词语集合中各词语的词语类型包含第一关键词语类型和第二关键词语类型的情况下,则确定第一模板词语集合中各词语对应的评价指标值,利用第一模板词语集合中各词语对应的评价指标值,计算第一识别语句与语义模板的第三相似度;然后,根据第一模板词语集合中各词语的长度之和与第二模板词语集合中各词语的长度之和,计算第一识别语句与所述语义模板的第四相似度;随后,基于第三相似度和第四相似度,输出待识别语句对应的第二识别语句。
[0143]
具体地,服务器可以首先确定出第三相似度和第四相似度的平均值,然后,将第三相似度和第四相似度的平均值与相似度阈值进行比较,若第三相似度和第四相似度的平均值大于相似度阈值,则输出待识别语句对应的第二识别语句。
[0144]
需要说明的是,在第一模板词语集合中各词语的词语类型未包含第一关键词语类型或第二关键词语类型的情况下,则不对第一识别语句与语义模板的相似度进行计算。
[0145]
例如,第一识别语句为“北京天气如何明天”。语义模板为:“【查询】?,【city】,【time】,【的】?,【天气】,【怎么样】?”。其中,语义模板配置包括:第一关键词语类型为实体词语类型,第二关键词语类型为必选词语类型。相似度阈值设置为0.8。
[0146]
服务器首先按照语义模板对待识别语句进行分词处理,确定出待第二模板词语集合为{北京,明天,天气},并获取到第一模板词语集合为{北京,天气,如何,明天};
[0147]
然后,服务器确定出第一模板词语集合具有:实体词语类型的词语:“北京”、“明天”,必选词语类型的词语:“天气”,则确定出“北京”、“明天”、“天气”三个词语的评价指标值均为1;另外,由于语义模板中可选词语为“怎么样”,第一模板词语集合中的可选词语为“如何”,两个词语不相同,则不计算可选词语“如何”的评价指标值;则得出第一识别语句与语义模板的第三相似度为1;
[0148]
接着,计算出第一模板词语集合中各词语的长度之和为8,第二模板词语集合中各词语的长度之和6,则得出第一识别语句与语义模板的第四相似度为0.75=6/8;
[0149]
随后,服务器计算第三相似度和第四相似度的平均值为0.875=(1+0.75)/2,其中0.875》0.8,则输出待识别语句对应的第二识别语句“北京明天天气”。
[0150]
应当注意,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
[0151]
进一步的,在本公开的示例性实施例中,还提供了一种语义识别装置。
[0152]
图4示意性示出了根据本公开的示例性实施方式的语义识别装置的方框图。参考图4,根据本公开的示例性实施方式的语义识别装置400,可以包括:词语集合确定模块401、第一相似度计算模块403、第二相似度计算模块405以及语句输出模块407。
[0153]
其中,词语集合确定模块401,用于获取待识别语句,按语义模板对待识别语句进行分词处理,得到待识别词语集合和与待识别词语集合对应的第一模板词语集合;第一相似度计算模块403,用于基于待识别词语集合中各词语及各词语的词语类型,确定各词语对应的评价指标值,利用各词语对应的评价指标值,计算待识别语句与语义模板的第一相似度;第二相似度计算模块405,用于根据待识别词语集合中各词语的长度之和与第一模板词语集合中各词语的长度之和,计算待识别语句与语义模板的第二相似度;语句输出模块407,用于基于第一相似度和第二相似度,输出待识别语句对应的第一识别语句。
[0154]
根据本公开的另一个实施例,第一相似度计算模块403,可以被配置为执行:在各词语的词语类型包括第一关键词语类型的情况下,确定第一关键词语类型对应词语的评价指标值为第一预设指标值;将除第一关键词语类型对应的词语之外的各词语确定为中间词语集合,以及确定中间词语集合中各词语对应的评价指标值。
[0155]
根据本公开的另一个实施例,第一相似度计算模块403,可以被配置为执行:确定中间词语集合中各词语的词语类型对应的权重系数;基于中间词语集合和词语评价指标库得出中间词语集合中各词语对应的评价分数;基于中间词语集合中各词语对应的评价分数和中间词语集合中各词语的词语类型对应的权重系数,计算中间词语集合中各词语的评价指标值。
[0156]
根据本公开的另一个实施例,语义识别装置400还可以包括:指标值确定模块,可以被配置为执行:在各词语的词语类型包括第一关键词语类型的情况下,且第二关键词语类型对应词语的评价指标值小于指标阈值,则确定出待识别词语集合中第二关键词语类型对应词语的评价指标值为第二预设指标值。
[0157]
根据本公开的另一个实施例,参考图5,相比于语义识别装置400,语义识别装置500还可以包括:词语集合生成模块502和语句确定模块504。
[0158]
其中,词语集合生成模块502,用于按语义模板确定与第一识别语句对应的第二模板词语集合;语句确定模块504,用于基于第一模板词语集合和第二模板词语集合,输出待识别语句对应的第二识别语句。
[0159]
根据本公开的另一个实施例,语句确定模块504,可以被配置为执行:在第一模板词语集合中各词语的词语类型包含第一关键词语类型和第二关键词语类型的情况下,则确定第一模板词语集合中各词语对应的评价指标值,利用第一模板词语集合中各词语对应的评价指标值,计算第一识别语句与语义模板的第三相似度;根据第一模板词语集合中各词语的长度之和与第二模板词语集合中各词语的长度之和,计算第一识别语句与语义模板的第四相似度;基于第三相似度和第四相似度,输出待识别语句对应的第二识别语句。
[0160]
根据本公开的另一个实施例,词语集合生成模块502,可以被配置为执行:确定出第一模板词语集合中与语义模板对应词语相同的词语,作为与第一识别语句对应的第二模板词语集合。
[0161]
根据本公开的另一个实施例,语句输出模块407,可以被配置为执行:基于第一相似度和第二相似度得到目标相似度,将目标相似度与第一相似度阈值进行比较,若目标相似度大于第一相似度阈值,则输出待识别语句对应的第一识别语句。
[0162]
根据本公开的另一个实施例,语句输出模块407,可以被配置为执行:确定待识别词语集合中各词语在待识别语句中的位置顺序;根据位置顺序对第一模板词语集合中各词语进行排序,并输出排序后的与待识别语句对应的第一识别语句。
[0163]
根据本公开的另一个实施例,词语集合确定模块401,可以被配置为执行:对分词后的待识别语句中停用词进行过滤处理,得到待识别词语集合。
[0164]
上述装置中各模块/单元的具体细节在方法部分的实施例中已经详细说明,因此不再赘述。
[0165]
在本公开的示例性实施方式中,参考图6,示意性示出了根据本公开的示例性实施方式的语义识别系统的方框图。根据本公开的示例性实施方式的语义识别装置600,可以包括:待识别语句获取装置601、领域选择装置603、索引确定装置605、语义模板选择装置607以及语句识别装置500。
[0166]
其中,待识别语句获取装置601,用于获取用户输入的待识别语句;领域选择装置603,用于确定出待识别语句的语义领域;索引确定装置605,用于基于待识别语句的语义领域与语义领域在语义模板中的位置,得出待识别语句的语义领域与语义模板之间的索引;语义模板选择装置607,用于基于待识别语句的语义领域与语义模板之间的索引,选择出待识别语句对应的语义模板;语句识别装置500,用于对待识别语句进行语义识别,并输出待识别语句的第一识别语句。
[0167]
根据本公开的示例性实施例,服务器在执行语句识别装置500之前。可以先使用精确语义识别模板进行识别,也可以使用通配符识别模板或者槽位识别模板。通配符识别模板或者槽位识别模板的识别方法均可参考本公开的识别语句方法得到,在此不做赘述。
[0168]
在本公开的示例性实施例中,还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在终端设备上运行时,程序代码用于使终端设备执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的步骤。
[0169]
在本公开的示例性实施例中,还提供了一种能够实现上述方法的电子设备。
[0170]
所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或
程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
[0171]
下面参照图7来描述根据本发明的这种实施方式的电子设备700。图7显示的电子设备700仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
[0172]
如图7所示,电子设备700以通用计算设备的形式表现。电子设备700的组件可以包括但不限于:上述至少一个处理单元710、上述至少一个存储单元720、连接不同系统组件(包括存储单元720和处理单元710)的总线730、显示单元740。
[0173]
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元710执行,使得所述处理单元710执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的步骤。例如,所述处理单元710可以执行如图2所示的步骤s201至步骤s207。
[0174]
存储单元720可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(ram)7201和/或高速缓存存储单元7202,还可以进一步包括只读存储单元(rom)7203。
[0175]
存储单元720还可以包括具有一组(至少一个)程序模块7205的程序/实用工具7204,这样的程序模块7205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
[0176]
总线730可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
[0177]
电子设备700也可以与一个或多个外部设备800(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备700的设备通信,和/或与使得该电子设备700能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口750进行。并且,电子设备700还可以通过网络适配器760与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图所示,网络适配器760通过总线730与电子设备700的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备700使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。
[0178]
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施方式的方法。
[0179]
此外,上述附图仅是根据本发明示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
[0180]
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单
元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
[0181]
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其他实施例。本技术旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
[0182]
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1