本发明实施例涉及数据处理技术领域,具体涉及一种基于正则表达式的语义理解准确率的评估方法、装置、存储介质和电子设备。
背景技术:
利用正则表达式来描述字符串的组成规则,并利用正则表达式来判断某些字符串的组成规则是否与该正则表达式所对应的字符串组成规则相匹配,进而根据不同的匹配结果执行不同的操作。换言之,正则表达式可以用简单的语法来描述复杂的数据特征,因此被广泛应用于网络入侵检测、文档内容检索等多个领域。
例如,在网络、语音通话、短信等业务领域,常使用正则表达式对语音、文本语句进行深度检测。即通过与事先设定的测试集进行匹配,以识别、分类或阻止具有特殊数据或者特定载荷的数据包,在对抗病毒、垃圾邮件、非法入侵等方面发挥着重要作用。
在对话系统中,语义理解需要支持各种各样的用户说法,因此实际应用中会使用正则表达式覆盖用户不同的说法。然而,如果正则表达式条件写的太宽泛,则有可能匹配到错误的意图;如果正则表达式写的太严格,又可能出现用户的说法无法匹配到意图。因此,在新增或者修改正则表达式的时候,需要重新全量测试正则表达式的准确率。然而,修改正则表达式后,常出现用户说法与匹配意图准确率低的问题。
技术实现要素:
为此,本发明实施例提供一种基于正则表达式的语义理解准确率的评估方法、装置、存储介质和电子设备,以解决现有技术中由于更新正则表达式而导致的用户说法与匹配意图准确率低的问题。
为了实现上述目的,本发明实施例提供如下技术方案:
本发明第一方面提供一种评估语义理解准确率的方法,所述语义理解准确率的方法包括:
获得标准测试文件,在所述标准测试文件中,用户说法与正确的标准用户意图匹配;
调用当前测试意图分类,所述当前测试意图分类是根据被测试的当前正则表达式获得的意图分类;
判断所述当前测试意图分类与所述标准用户意图的分类是否一致;
统计所述当前测试意图分类与所述标准用户意图的分类一致或不一致的概率。
其中,所述获得标准测试文件的步骤包括:
获得标准测试集表格,在所述标准测试集表格中,用户说法用正确的标准用户意图标注;
根据所述标准测试集表格生成所述标准测试文件。
其中,所述调用根据被测试的当前正则表达式获得的当前测试意图分类,并从中获得与测试用户说法相匹配的测试用户意图包括:
从测试集表格中读取当前测试集数据;
调用被测试的所述当前正则表达式;
按照所述当前正则表达式从所述当前测试集数据中获得所述当前测试意图分类。
优选地,当所述当前测试意图分类与所述标准用户意图的分类不一致时,将该不一致的测试用户意图分类输出。
优选地,当所述当前测试意图分类与所述标准用户意图的分类不一致的概率大于预设值时,或者,当所述当前测试意图分类与所述标准用户意图的分类一致的概率小于预设值时,修正所述当前正则表达式。
本发明第二方面提供一种评估语义理解准确率的装置,所述评估语义理解准确率的装置包括:
获取单元,其用于获得标准测试文件,在所述标准测试文件中,用户说法与正确的标准用户意图匹配;
匹配单元,其用于调用根据被测试的当前正则表达式获得的当前测试意图分类;
判断单元,其用于判断所述当前测试意图分类与所述标准用户意图的分类是否一致;
统计单元,其用于统计所述当前测试意图分类与所述标准用户意图的分类一致的概率。
其中,所述匹配单元包括:
调用模块,其用于调用被测试的所述当前正则表达式;
读取模块,其用于从测试集表格中读取当前测试集数据;
生成模块,其用于按照所述当前正则表达式从所述当前测试集数据中获得所述当前测试意图分类。
优选地,所述装置还包括:
输出单元,其用于当所述当前测试意图分类与所述标准用户意图的分类不一致时,将该不一致的测试用户意图分类输出。
本发明第三方面提供一种计算机可读存储介质,所述计算机可读存储介质包括指令,当其在计算机上运行时,使得计算机执行本发明实施例提供的方法。
本发明第四方面提供一种电子设备,所述电子设备包括含有指令的计算机程序,当所述指令在所述电子设备中运行时,所述电子设备执行本发明实施例提供的方法。
本发明实施例具有如下优点:
本发明实施例提供的评估语义理解准确率的方法提供了一个自动回归测试方法,即,当新增或修改当前正则表达式后,调用当前正则表达式对应的当前测试意图分类,同时获得标准测试文件,判断当前测试意图分类与标准用户意图的分类是否一致,统计测试用户意图与标准用户意图的分类不一致概率,若不一致的概率超过预设概率,则修正该正则表达式。因此,该方法只需要维护好标准测试文件,即可评估当前测试意图分类是否准确,并及时修正正则表达式,从而提高正则表达式的准确率。
附图说明
为了更清楚地说明本发明的实施方式或现有技术中的技术方案,下面将对实施方式或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是示例性的,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图引伸获得其它的实施附图。
图1为本发明实施例1提供的一种评估语义理解准确率的方法的流程图;
图2为本发明实施例1中获得标准测试文件的流程图;
图3为本发明实施例1中测试用户说法与测试用户意图相匹配的流程图;
图4为本发明实施例2提供的一种评估语义理解准确率的方法的流程图;
图5为本发明实施例3提供的一种评估语义理解准确率的装置的结构示意图;
图6为本发明实施例3和实施例4中匹配单元的结构示意图;
图7为本发明实施例4提供的一种评估语义理解准确率的装置的结构示意图。
图中:1-获取单元,2-匹配单元,21-调用模块,22-读取模块,23-生成模块,3-判断单元,4-统计单元,5-输出单元。
具体实施方式
以下由特定的具体实施例说明本发明的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本发明的其他优点及功效,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
本实施例提供一种评估语义理解准确率的方法。如图1所示,语义理解准确率的方法包括:
步骤s1,获得标准测试文件。
在标准测试文件中,用户说法与正确的标准用户意图匹配。
如图2所示,步骤s1具体包括以下步骤:
步骤s11,获得标准测试集表格。
在标准测试集表格中,用户说法用正确的标准用户意图标注。
步骤s12,根据标准测试集表格生成标准测试文件。
步骤s2,调用被测试的当前正则表达式获得的当前测试意图分类。
如图3,步骤s2具体包括以下步骤:
步骤s21,从测试集表格中读取当前测试集数据。
步骤s22,调用被测试的当前正则表达式。
当前正则表达式是新增或修改后的正则表达式。
步骤s23,按照所述当前正则表达式从所述当前测试集数据中获得所述当前测试意图分类。
步骤s3,判断所述当前测试意图分类与标准用户意图的分类是否一致。
步骤s4,统计当前测试意图分类与标准用户意图的分类不一致的概率。
在步骤s4中,既可以统计当前测试意图分类与标准用户意图的分类一致的概率,也可以统计当前测试意图分类与标准用户意图的分类不一致的概率。
实施例2
本实施例提供一种评估语义理解准确率的方法。如图4所示,语义理解准确率的方法包括:
步骤s1,获得标准测试文件,在标准测试文件中,用户说法与正确的标准用户意图匹配。
步骤s2,调用被测试的当前正则表达式获得的当前测试意图分类。
步骤s3,判断当前测试意图分类与标准用户意图的分类是否一致。
步骤s4,若不一致,则认为该当前测试意图分类错误,将该不一致(错误)的测试用户意图分类输出。
步骤s5,统计当前测试意图分类与标准用户意图的分类不一致的概率。
在步骤s5中,既可以统计当前测试意图分类与标准用户意图的分类一致的概率,也可以统计当前测试意图分类与标准用户意图的分类不一致的概率。
步骤s6,判断测试用户意图分类与标准用户意图的分类不一致的概率超过第一预设概率,或,测试用户意图与标准用户意图的分类一致的概率小于第二预设概率,则执行步骤s7。
步骤s7,修正当前正则表达式。
修正当前正则表达式后,再次从步骤s1开始检测修正后的正则表达式的准确率。
实施例3
本实施例提供一种评估语义理解准确率的装置。如图5所示,评估语义理解准确率的装置包括:
获取单元1,其用于获得标准测试文件,在标准测试文件中,用户说法与正确的标准用户意图匹配。
匹配单元2,其用于按照当前正则表达式从当前测试集数据中获得当前测试意图分类。
其中,如图6所示,匹配单元2包括:
调用模块21,其用于调用被测试的当前正则表达式;
读取模块22,其用于用于从测试集表格中读取当前测试集数据;
生成模块23,其用于根据当前测试集数据生成当前测试意图分类。
判断单元3,其用于判断当前测试意图分类与标准用户意图的分类是否一致。
统计单元4,其用于统计当前测试意图分类与标准用户意图的分类一致的概率。
实施例4
本实施例提供一种评估语义理解准确率的装置。如图7所示,评估语义理解准确率的装置包括:
获取单元1,其用于获得标准测试文件,在标准测试文件中,用户说法与正确的标准用户意图匹配。
匹配单元2,其用于按照当前正则表达式从当前测试集数据中获得当前测试意图分类。
其中,如图6所示,匹配单元2包括:
调用模块21,其用于调用被测试的当前正则表达式;
读取模块22,其用于从测试集表格中读取当前测试集数据;
生成模块23,根据所述当前测试集数据生成所述当前测试意图分类。
判断单元3,其用于判断当前测试意图分类与标准用户意图的分类是否一致。
统计单元4,其用于统计当前测试意图分类与标准用户意图的分类一致的概率。
输出单元5,其用于当当前测试意图分类与标准用户意图的分类不一致时,则认为该当前测试意图分类错误,将该错误(不一致)的当前测试用户意图分类输出。
实施例5
本实施例提供一种计算机可读存储介质。计算机可读存储介质包括一个或多个应用程序,每一应用程序包括指令,当指令在包括应用程序计算机上运行时,使得计算机执行实施例1-3提供的任意一种方法。
实施例6
本实施例提供一种电子设备。电子设备包括含有指令的计算机程序,当指令在电子设备中运行时,电子设备执行实施例1-3提供的任意一种方法。
虽然,上文中已经用一般性说明及具体实施例对本发明作了详尽的描述,但在本发明基础上,可以对之作一些修改或改进,这对本领域技术人员而言是显而易见的。因此,在不偏离本发明精神的基础上所做的这些修改或改进,均属于本发明要求保护的范围。