一种通用的语义匹配实现方法与系统技术方案

技术编号:28295610 阅读:23 留言:0更新日期:2021-04-30 16:19
本发明专利技术公开了一种通用的语义匹配实现方法及系统,方法包括:S1,获取用户输入的自然语言和待匹配的语义;S2,语义匹配,包括如下步骤:S21,查找语义对应的语义规则表达式数组;S22,遍历语义规则表达式数组中每一个语义规则表达式;S23,判断用户输入的自然语言与语义规则表达式是否匹配,通过判断用户输入的自然语言与每个语义子规则是否匹配成功,多个语义子规则的匹配结果用逻辑计算器计算,从而判断整个语义规则表达式是否匹配成功,只要有一个匹配成功,则用户输入的自然语言与该语义匹配成功,否则匹配失败;系统包括:由多个语义规则表达式构成的语义规则表达式数组,语义规则表达式又包含多个通过逻辑关系连接的语义子规则。

【技术实现步骤摘要】
一种通用的语义匹配实现方法与系统
本专利技术涉及自然语言处理
,尤其是涉及一种通用的语义匹配实现方法与系统。
技术介绍
在自然语言处理的过程中,语义的匹配是其中重要的关键环节。语义匹配一般可理解为判断用户输入的自然语言和语义之间是否匹配的过程。语义匹配主要用于解决语言的多样、歧义和鲁棒性。目前通常使用的策略有规则匹配和机器学习,但在实际产品应用中,机器学习产生的匹配结果不可控性较高,在一些正式的商用产品中还不能够满足用户的需求,不适合作为商用产品主要的语义匹配方式。以下是目前语义规则匹配所面临的一些问题:1.一个语义存在多种表达方式;2.一个表达方式可以用不同的自然语言结构表示;3.这种语义的多样、歧义和鲁棒性,没有一个通用的表述方式来解决上述问题,导致语义规则的编写人员,在编写语义规则时,编写逻辑混乱、语义之间相互影响、错误匹配等问题常现。
技术实现思路
为解决现有技术的不足,实现在规则匹配的场景下,方便语义规则编写人员灵活、快速、准确的定义各种语义的匹配规则的目的,本专利技术采用如下的技术方案:一种通用的语义匹配实现方法,包括如下步骤:S1,获取用户输入的自然语言和待匹配的语义;S2,语义匹配,包括如下步骤:S21,查找语义对应的语义规则表达式数组SREA;S22,遍历语义规则表达式数组SREA中每一个语义规则表达式SRE;S23,判断用户输入的自然语言与语义规则表达式SRE是否匹配,通过判断用户输入的自然语言与每个语义子规则SSR是否匹配成功,多个语义子规则SSR的匹配结果用逻辑计算器计算,从而判断整个语义规则表达式SRE是否匹配成功,只要有一个SRE匹配成功,则用户输入的自然语言与该语义匹配成功,否则匹配失败。进一步地,所述步骤S23中语义子规则SSR与用户输入的自然语言的匹配,通过函数f(MR,MWA,MA)来表示,包括如下步骤:S231,对匹配词组MWA中的所有匹配子元素MSE,使用匹配算法MA来判断用户输入的自然语言和该匹配子元素MSE是否匹配:当匹配规则MR为all时,只有所有匹配子元素MSE均匹配成功,该匹配规则MR才算匹配成功;当匹配规则MR为anyone时,只要任何一个匹配子元素MSE匹配成功,该匹配规则MR就算匹配成功;当匹配规则MR为none时,所有匹配子元素MSE都不能匹配成功,该匹配规则MR才算匹配成功;当匹配规则MR为notall时,只要不是所有的匹配子元素MSE都匹配成功,该匹配规则MR就算匹配成功;S232,匹配算法MA:当匹配算法MA为包含时,只要用户输入的自然语言包含匹配子元素MSE,该匹配算法MA就算匹配成功;当匹配算法MA为相似度时,计算用户输入的自然语言和匹配子元素MSE的相似度,只要相似度超过指定的阈值,该匹配算法MA就算匹配成功;当匹配算法MA为正则表达式时,使用正则表达式匹配用户输入的自然语言和匹配子元素MSE,只要用户输入的自然语言和匹配子元素MSE匹配成功,该匹配算法MA就算匹配成功;当匹配算法为其它自定义的匹配算法时,可调用其它匹配算法函数或者自行实现的匹配算法,来判断该匹配算法是否匹配成功。进一步地,所述步骤S232中当匹配算法MA为相似度时,使用文本相似度算法,计算用户输入的自然语言和作为匹配子元素MSE的句子的相似度。进一步地,所述步骤S232中当匹配算法MA为正则表达式时,使用正则表达式匹配用户输入的自然语言和作为匹配子元素MSE的匹配模式。一种通用的语义匹配实现系统,包括语义规则表达式数组SREA,所述语义规则表达式数组SREA包含多个语义规则表达式SRE,语义规则表达式SRE包含多个语义子规则SSR,语义子规则SSR之间通过逻辑关系连接,一种语义有多种表达方式,通过遍历语义规则表达式数组SREA中每一个语义规则表达式SRE,来判断用户输入的自然语言与语义规则表达式SRE是否匹配,只要有一个SRE匹配成功,则用户输入的自然语言与该语义匹配成功,否则匹配失败。进一步地,所述语义子规则SSR,包括匹配规则MR、匹配词组MWA和匹配算法MA;所述匹配规则MR用于匹配词组MWA的规则;所述匹配词组MWA包括匹配子元素MSE,在不同的配置算法MA下,具有不同的匹配子元素MSE;所述匹配算法MA用于用户输入的自然语言和匹配词组MWA中匹配子元素MSE的匹配。进一步地,所述匹配规则MR包括:all:表示必须匹配上匹配词组MWA中的所有匹配子元素MSE;anyone:表示匹配上匹配词组MWA中匹配子元素MSE的任何一个即可;none:表示不能匹配上匹配词组MWA中匹配子元素MSE的任何一个;notall:表示只要不是匹配上匹配词组MWA中的所有匹配子元素MSE即可。进一步地,所述匹配子元素MSE是单词、句子或正则匹配模式。进一步地,所述匹配算法MA包括:包含:自然语言的语义包含指定匹配子元素MSE即可;相似度:自然语言的语义和指定匹配子元素MSE,使用相似度算法计算相似度,达到指定阈值即可;正则表达式:自然语言的语义和指定匹配子元素MSE匹配即可;自定义:根据需要自行扩充和添加。进一步地,所述逻辑关系包括与、或、非、括号。本专利技术的优势和有益效果在于:1,本专利技术通过一种通用语义匹配实现方法,实际上是定义了一种通用的语义规则编写的语法,且实现了相应的解析器。方便语义规则编写人员灵活、快速、准确的定义各种语义的匹配规则;2,这种方式解决语义的多样、歧义和鲁棒性问题,使产生的匹配结果可控性较高,适用于商用产品;3,除了默认常用的匹配规则和匹配算法外,本系统也预留了用户可自定义添加匹配规则和匹配算法的接口,方便系统的扩展。附图说明图1是本专利技术的方法流程图。具体实施方式以下结合附图对本专利技术的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本专利技术,并不用于限制本专利技术。一种通用的语义匹配实现方法及系统,如图1所示。一、名词解释:1、用户输入的自然语言(NaturalLanguage),缩写NL;2、语义(Semantic),缩写S,用户表达的意图,一般为数据编写人员提前设定的,且数量有限。语义匹配的过程就是判断用户输入的自然语言和某个语义是否匹配的过程;3、语义规则表达式数组(SemanticRuleExpressionArray),缩写SREA,一个语义可以有多种表述方式,一个语义规则表达式可以定义一种表述方式,可以用数组的形式来表示多种表述方式,例如:SREA=[SRE1,SRE2,...,SREn];4、语义规则表达式(SemanticRuleExpression),缩写SRE,语义子规则组成的逻辑表达式,支持与、或、本文档来自技高网...

【技术保护点】
1.一种通用的语义匹配实现方法,其特征在于包括如下步骤:/nS1,获取用户输入的自然语言和待匹配的语义;/nS2,语义匹配,包括如下步骤:/nS21,查找语义对应的语义规则表达式数组SREA;/nS22,遍历语义规则表达式数组SREA中每一个语义规则表达式SRE;/nS23,判断用户输入的自然语言与语义规则表达式SRE是否匹配,通过判断用户输入的自然语言与每个语义子规则SSR是否匹配成功,多个语义子规则SSR的匹配结果用逻辑计算器计算,从而判断整个语义规则表达式SRE是否匹配成功,只要有一个SRE匹配成功,则用户输入的自然语言与该语义匹配成功,否则匹配失败。/n

【技术特征摘要】
1.一种通用的语义匹配实现方法,其特征在于包括如下步骤:
S1,获取用户输入的自然语言和待匹配的语义;
S2,语义匹配,包括如下步骤:
S21,查找语义对应的语义规则表达式数组SREA;
S22,遍历语义规则表达式数组SREA中每一个语义规则表达式SRE;
S23,判断用户输入的自然语言与语义规则表达式SRE是否匹配,通过判断用户输入的自然语言与每个语义子规则SSR是否匹配成功,多个语义子规则SSR的匹配结果用逻辑计算器计算,从而判断整个语义规则表达式SRE是否匹配成功,只要有一个SRE匹配成功,则用户输入的自然语言与该语义匹配成功,否则匹配失败。


2.如权利要求1所述的一种通用的语义匹配实现方法,其特征在于所述步骤S23中语义子规则SSR与用户输入的自然语言的匹配,通过函数f(MR,MWA,MA)来表示,包括如下步骤:
S231,对匹配词组MWA中的所有匹配子元素MSE,使用匹配算法MA来判断用户输入的自然语言和该匹配子元素MSE是否匹配:
当匹配规则MR为all时,只有所有匹配子元素MSE均匹配成功,该匹配规则MR才算匹配成功;
当匹配规则MR为anyone时,只要任何一个匹配子元素MSE匹配成功,该匹配规则MR就算匹配成功;
当匹配规则MR为none时,所有匹配子元素MSE都不能匹配成功,该匹配规则MR才算匹配成功;
当匹配规则MR为notall时,只要不是所有的匹配子元素MSE都匹配成功,该匹配规则MR就算匹配成功;
S232,匹配算法MA:
当匹配算法MA为包含时,只要用户输入的自然语言包含匹配子元素MSE,该匹配算法MA就算匹配成功;
当匹配算法MA为相似度时,计算用户输入的自然语言和匹配子元素MSE的相似度,只要相似度超过指定的阈值,该匹配算法MA就算匹配成功;
当匹配算法MA为正则表达式时,使用正则表达式匹配用户输入的自然语言和匹配子元素MSE,只要用户输入的自然语言和匹配子元素MSE匹配成功,该匹配算法MA就算匹配成功;
当匹配算法为其它自定义的匹配算法时,可调用其它匹配算法函数或者自行实现的匹配算法,来判断该匹配算法是否匹配成功。


3.如权利要求2所述的一种通用的语义匹配实现方法,其特征在于所述步骤S232中当匹配算法MA为相似度时,使用文本相似度算法,计算用户输入的自然语言和作为匹配子元素MSE的句子的相似度。

【专利技术属性】
技术研发人员:钱小一孙彬
申请(专利权)人:杭州北冥星眸科技有限公司
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1