交互式标注方法及装置与流程

文档序号:22578288发布日期:2020-10-20 16:51阅读:155来源:国知局
交互式标注方法及装置与流程

本发明属于自然语言处理技术领域,尤其涉及交互式标注方法及装置。



背景技术:

相关技术中,text-to-sql定义为:让机器自动将用户输入的自然语言问题转成数据库可操作的sql语句,实现基于数据库的自动问答能力。在语义解析的text-to-sql任务中,常用意图和语义槽标注的方法,该方法常用于标注语义意图分类,输入一句自然语言,标记该句属于哪个领域内。如:输入:我想听刘德华的忘情水。

标注内容1,领域分类:领域-音乐;

标注内容2,标注意图和语义槽:意图-听歌;歌手名-刘德华;歌曲名-忘情水。

将该方法用于text-to-sql的标注,输入一句自然语言,标记该句属于哪个数据库,并编写sql,执行验证sql正确。如:输入:获得奥运会金牌数最多的运动员姓名。

标注内容1,数据库:奥运会;

标注内容2,sql:select姓名from奥运奖牌榜orderby金牌数desclimit1。

下表说明sql中每个子句内容是如何从输入中提取出来的:

发明人在实现本申请的过程中发现上述的方法,在对text-to-sql任务的数据进行标注时,至少存在以下问题:1、标注的内容(sql)复杂,标注效率低;

2、sql写法多样,标注准确率得不到保证,数据质量不高;

3、标注门槛高,标注人员需对数据库内容、数据结构和业务有充分理解。



技术实现要素:

本发明实施例提供一种交互式标注方法及装置,用于至少解决上述技术问题之一。

第一方面,本发明实施例提供一种交互式标注方法,包括:获取开发者输入的待标注数据,将待标注数据输入至sql语句输出模块,获取sql语句输出模块输出的第一sql语句;对第一sql语句中进行可视化展示并形成可修改展示界面;执行第一sql语句并展示与第一sql语句对应的查询结果;响应于开发者对可修改展示界面的修改操作,重新生成第二sql语句;执行第二sql语句并展示与第二sql语句对应的查询结果直至开发者确认第二sql语句对应的查询结果准确。

第二方面,本发明实施例提供一种交互式标注装置,包括:输出模块,配置为获取开发者输入的待标注数据,将待标注数据输入至sql语句输出模块,获取sql语句输出模块输出的第一sql语句;可视化模块,配置为对第一sql语句中进行可视化展示并形成可修改展示界面;展示模块,配置为执行第一sql语句并展示与第一sql语句对应的查询结果;修改模块,配置为响应于开发者对可修改展示界面的修改操作,重新生成第二sql语句;执行模块,配置为执行第二sql语句并展示与第二sql语句对应的查询结果直至开发者确认第二sql语句对应的查询结果准确。

第三方面,提供一种电子设备,其包括:至少一个处理器,以及与至少一个处理器通信连接的存储器,其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行本发明任一实施例的多意图识别训练或使用方法的步骤。

第四方面,本发明实施例还提供一种计算机程序产品,计算机程序产品包括存储在非易失性计算机可读存储介质上的计算机程序,计算机程序包括程序指令,当程序指令被计算机执行时,使计算机执行本发明任一实施例的多意图识别训练或使用方法的步骤。

本申请的方法和装置可以输出一个具有基本句式和内容的第一sql语句,能够提高标注效率,通过开发者在可修改展示界面上对第一sql语句采用交互式的修改操作,实现了第一sql语句不断修正,使得直至重新生成查询结果准确的sql语句,从而在降低了修改sql的门槛的同时,提高了sql语句的准确率。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明一实施例提供的一种交互式标注方法的流程图;

图2为本发明一实施例提供的另一种交互式标注方法的流程图;

图3为本发明一实施例提供的再一种交互式标注方法的流程图;

图4为本发明一实施例提供的交互式标注方法的一个具体示例的流程图;

图5为本发明一实施例提供的交互式标注方法的一个具体示例的界面图;

图6为本发明一实施例提供的交互式标注方法的另一个具体示例的界面图;

图7为本发明一实施例提供的一种交互式标注装置的框图;

图8是本发明一实施例提供的电子设备的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参考图1,其示出了本申请的交互式标注方法一实施例的流程图,本实施例的交互式标注方法可以适用于具备通讯功能的终端、如平板、电脑等。

如图1所示,在步骤101中,获取开发者输入的待标注数据,将待标注数据输入至sql语句输出模块,获取sql语句输出模块输出的第一sql语句;

在步骤102中,对第一sql语句中进行可视化展示并形成可修改展示界面;

在步骤103中,执行第一sql语句并展示与第一sql语句对应的查询结果;

在步骤104中,响应于开发者对可修改展示界面的修改操作,重新生成第二sql语句;

在步骤105中,执行第二sql语句并展示与第二sql语句对应的查询结果直至开发者确认第二sql语句对应的查询结果准确。

在本实施例中,对于步骤101,交互式标注装置在获取开发者输入的待标注数据之后,将待标注数据输入至sql语句输出模块中,待标注数据通过sql语句输出模块的转换,使得获取具有基本句式和内容的第一sql语句,需要说明的是,该sql语句输出模块可以用sql语句输出模型的方式实现,也可以采用其他已知的或未来开发的方式实现,本申请在此没有限制。之后,在步骤102中,交互式标注装置对第一sql语句进行解析,并进行可视化展开,从而形成可修改展示界面。然后,在步骤103中,交互式标注装置执行第一sql语句,并展示执行第一sql语句后的查询结果。然后,在步骤104中,开发者判断查询结果是否正确,若查询结果不正确,开发者对可修改展示界面进行修改操作,完成修改后,重新生成第二sql语句。之后,在步骤105中,交互式标注装置执行第二sql语句,并展示执行第二sql语句后的查询结果,直至开发者判断查询结果正确。

本实施例的方法通过将待标注数据输入至sql语句输出模块中,使得获取具有基本句式和内容的第一sql语句,开发者在可修改展示界面上对第一sql语句采用交互式的修改操作,实现了第一sql语句不断修正,使得直至重新生成查询结果准确的sql语句,从而在降低了修改sql的门槛的同时,提高了sql语句的准确率。

进一步参阅图2,其示出了本申请一实施例提供的另一种交互式标注方法的流程图。该流程图主要是对流程图1的附加流程进一步限定的步骤的流程图。

如图2所示,在步骤201中,响应于开发者确认第二sql语句对应的查询结果准确,基于第二sql语句对待标注数据进行标注形成标注结果;

在步骤202中,对标注结果进行存储。

在本实施例中,对于步骤201,在交互式标注装置获取开发者确认第二sql语句对应的查询结果准确的指令之后,交互式标注装置基于第二sql语句对待标注数据进行标注,从而形成标注结果。之后,对于步骤202,交互式标注装置对标注结果进行存储。

本实施例的方法可以在开发者确认查询结果准确之后,对标注结果进行存储,实现了避免标注数据丢失的效果,而且避免了需要对相同的待标注数据重复标注的问题。

在一个具体实施例中,可修改展示界面包括树状图,树状图中包括节点以及与节点对应的逻辑关系,其中,各节点具有不可修改状态和可修改状态中任一状态。这样,开发者能够对树状图中处于可修改状态的节点进行修改,从而实现了对sql语句进行交互式修改的操作。

节点包括步骤节点、操作节点和值节点;步骤节点包括开始节点,开始节点包括选择数据库节点和生成sql节点,其中,生成sql节点包括选表、选列、查询条件和/或排序。

请参阅图3,其示出了本申请一实施例提供的再一种交互式标注方法的流程图。该流程图主要是对图1中步骤104“响应于开发者对可修改展示界面的修改操作,重新生成第二sql语句”的情况的进一步限定的步骤的流程图。

如图3所示,在步骤301中,响应于开发者对某一步骤节点和/或某一操作节点的修改操作,向开发者展示与某一步骤节点对应的至少一个包含操作节点和/或值节点的备选集合,和/或与操作节点对应的至少一个包含值节点的备选集合;

在步骤302中,基于开发者选择与某一步骤节点对应的备选集合中的操作节点和/或值节点,和/或与某一操作节点对应的备选集合中的值节点,重新生成第二sql语句。

在本实施例中,对于步骤301,在开发者对可修改的某一步骤节点和/或某一操作节点进行修改操作之后,交互式标注装置开发者展示与某一步骤节点对应的至少一个包含操作节点和/或值节点的备选集合,和/或与操作节点对应的至少一个包含值节点的备选集合。之后,对于步骤302,开发者选择与某一步骤节点对应的备选集合中的操作节点和/或值节点,和/或与某一操作节点对应的备选集合中的值节点,交互式标注装置将开发者选择的操作节点和/或值节点填充至树状图中,从而完成重新生成第二sql语句。

本实施例的方法采用开发者在树状图中进行交互式修改,能够提高生成的sql语句的准确率,而且降低了标注人员修改sql语句的专业门槛。

在另一实施例中,开发者可以对操作节点和值节点进行编辑修改,从而使得交互式标注装置能够重新生成第二sql语句。

在一些可选的实施例中,上述方法还包括:在响应于开发者对可修改展示界面的修改操作,重新生成第二sql语句之前,响应于开发者对可修改展示界面的修改操作,对可修改展示界面中的内容进行存储。

需要说明的是,上述方法步骤并不用于限制各步骤的执行顺序,实际上,某些步骤可能会同时执行或者以与步骤限定的相反的顺序执行,本申请在此没有限制。

目前市面上还未见到可以输出一个具有基本句式和内容的第一sql语句,通过开发者在可修改展示界面上对第一sql语句采用交互式的修改操作,实现了第一sql语句不断修正,使得直至重新生成查询结果准确的sql语句的技术方案。

下面对通过描述发明人在实现本发明的过程中遇到的一些问题和对最终确定的方案的一个具体实施例进行说明,以使本领域技术人员更好地理解本申请的方案。

发明人在实现本申请的过程中发现现有技术中存在的缺陷主要是由以下原因导致的:待标注的输出内容(sql)具有专业性,sql的使用难度限制了非技术用户来进行标注,最终给数据分析和使用带来了较高的门槛。

发明人还发现:寻找了解数据库技术,并且有一定业务理解的人员来标注数据。这通常会导致付出高昂的标注成本,并且人均标注效率不高,不利于大规模生产交付。

本申请的方案主要从以下几个方面入手进行设计和优化来降低数据分析门槛,降低标注成本,提高人均标注效率:

1、使用预训练的模型,将待标注的文本作为输入,输出一个模型预测的sql语句。该sql语句不一定完全正确,但提供了基本的sql语句的句式和内容的提取。该步骤提高了标注效率。

2、解析sql语句,并将其可视化为多个子步骤和逻辑结构(如图5所示),用树状图表示。该步骤降低了理解sql语句查询过程的门槛。

3、通过交互式的操作修改树状图中的节点内容。该步骤降低了修改sql语句的门槛。

4、将每一步修改后的树状图转换为新的sql语句,并在数据库中查询到相应的结果(如图6所示)。将sql语句与查询结果展示给用户。该步骤降低了数据分析的门槛。

请参阅图4,其示出了本申请一实施例的交互式标注方法的一个具体示例的流程图。

如图4所示,本申请的方案主要包括以下步骤:

步骤一:系统初始化,加载预训练模型。

步骤二:用户输入一句自然语言查询,如:专辑数量低于100的歌手按歌曲数量降序排列,给出歌手出生地及其姓名。

步骤三:系统收到用户输入,并调用预训练模型输出sql语句,如:

步骤四:系统解析sql语句,通过树状图展示数据查询过程。其中有三类节点类型:步骤节点、值节点和操作节点。每个节点根据需要,有“可修改”、“不可修改”两种状态。树状图中的叶子节点都为值节点类型。三类节点有如下特性和属性。

a)步骤节点:通常有子节点,节点自身有一个固定的值,每个节点有一个子节点的备选集合,有当前已选择的子节点或子树。该类节点用于展示数据库的相关操作,如:选择库、生成sql语句、选择表、选择列、添加条件、排序、限制数量等。通常是“可修改”的状态。

b)值节点:通常作为叶子节点,节点自身有一个可变的值,没有子节点的备集合。该类节点用于展示sql语句中相关值内容,如:选择的表名、列名、输入的查询条件等。如果是表名、列名则状态为“不可修改”,否则为“可修改”状态。

c)操作节点:通常有子节点,节点自身有一个可变的值,有一个子节点的备选集合。该节点用于展示sql语句中聚合操作、排序关键字、逻辑关键字等内容。如:avg、count、sum、asc、desc等。

步骤五:设置节点状态。“不可修改”状态的节点,用户无法修改。用户可点击“可修改”状态的节点,系统展示该节点中子节点的备选集合。根据节点特性,该备选集合有单选、多选的限制。如图4所示,点击“选列”这个可修改节点,右边栏展示该节点所有可选项。

步骤六:系统将sql语句作为输入,请求查询数据库,并将sql语句和数据查询结果展示给用户。

步骤七:用户通过从节点的备选集合中选择更合适的值,来修改当前节点子节点内容,修改树状图的展示。

步骤八:系统接收到用户修改的内容并存储,包括修改节点id、修改为的子节点id集合两项。

步骤九:回到步骤四,系统根据修改内容重新生成新的sql语句。

步骤十:用户可选择重复步骤七-步骤九来获得更准确地sql结果。

步骤十一:系统记录每一轮用户输入、每一轮用户修改内容,以及最终的sql。

通过本解决方案可以提高text-to-sql任务的标注效率,单位时间内可以标注更多数据,降低标注成本,标注人员不需要具备深入的数据知识,在一定程度上固定了sql的句式,所以标注质量相对稳定,提高了数据分析效率,挖掘数据更大价值。

请参考图7,其示出了本发明一实施例提供的交互式标注装置的框图。

如图7所示,交互式标注装置400,包括输出模块410、可视化模块420、展示模块430、修改模块440以及执行模块450。

其中,输出模块,配置为获取开发者输入的待标注数据,将待标注数据输入至sql语句输出模块,获取sql语句输出模块输出的第一sql语句;可视化模块,配置为对第一sql语句中进行可视化展示并形成可修改展示界面;展示模块,配置为执行第一sql语句并展示与第一sql语句对应的查询结果;修改模块,配置为响应于开发者对可修改展示界面的修改操作,重新生成第二sql语句;执行模块,配置为执行第二sql语句并展示与第二sql语句对应的查询结果直至开发者确认第二sql语句对应的查询结果准确。

应当理解,图7中记载的诸模块与参考图1、图2和图3中描述的方法中的各个步骤相对应。由此,上文针对方法描述的操作和特征以及相应的技术效果同样适用于图7中的诸模块,在此不再赘述。

值得注意的是,本公开的实施例中的模块并不用于限制本公开的方案,另外,还可以通过硬件处理器来实现相关功能模块,例如判断模块也可以用处理器实现,在此不再赘述。

在另一些实施例中,本发明实施例还提供了一种非易失性计算机存储介质,计算机存储介质存储有计算机可执行指令,该计算机可执行指令可执行上述任意方法实施例中的交互式标注方法;

作为一种实施方式,本发明的非易失性计算机存储介质存储有计算机可执行指令,计算机可执行指令设置为:

获取开发者输入的待标注数据,将待标注数据输入至sql语句输出模块,获取sql语句输出模块输出的第一sql语句;

对第一sql语句中进行可视化展示并形成可修改展示界面;

执行第一sql语句并展示与第一sql语句对应的查询结果;

响应于开发者对可修改展示界面的修改操作,重新生成第二sql语句;

执行第二sql语句并展示与第二sql语句对应的查询结果直至开发者确认第二sql语句对应的查询结果准确。

非易失性计算机可读存储介质可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据交互式标注装置的使用所创建的数据等。此外,非易失性计算机可读存储介质可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,非易失性计算机可读存储介质可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至交互式标注装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

本发明实施例还提供一种计算机程序产品,计算机程序产品包括存储在非易失性计算机可读存储介质上的计算机程序,计算机程序包括程序指令,当程序指令被计算机执行时,使计算机执行上述任一项交互式标注方法。

图8是本发明实施例提供的电子设备的结构示意图,如图8所示,该设备包括:一个或多个处理器510以及存储器520,图8中以一个处理器510为例。交互式标注方法的设备还可以包括:输入装置530和输出装置540。处理器510、存储器520、输入装置530和输出装置540可以通过总线或者其他方式连接,图8中以通过总线连接为例。存储器520为上述的非易失性计算机可读存储介质。处理器510通过运行存储在存储器520中的非易失性软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例用于语音对话的通讯补偿方法。输入装置530可接收输入的数字或字符信息,以及产生与通讯补偿装置的用户设置以及功能控制有关的键信号输入。输出装置540可包括显示屏等显示设备。

上述产品可执行本发明实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明实施例所提供的方法。

作为一种实施方式,上述电子设备应用于交互式标注装置中,用于客户端,包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够:

获取开发者输入的待标注数据,将待标注数据输入至sql语句输出模块,获取sql语句输出模块输出的第一sql语句;

对第一sql语句中进行可视化展示并形成可修改展示界面;

执行第一sql语句并展示与第一sql语句对应的查询结果;

响应于开发者对可修改展示界面的修改操作,重新生成第二sql语句;

执行第二sql语句并展示与第二sql语句对应的查询结果直至开发者确认第二sql语句对应的查询结果准确。

本申请实施例的电子设备以多种形式存在,包括但不限于:

(1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类终端包括:智能手机、多媒体手机、功能性手机,以及低端手机等。

(2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:pda、mid和umpc设备等。

(3)便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括:音频、视频播放器,掌上游戏机,电子书,以及智能玩具和便携式车载导航设备。

(4)服务器:提供计算服务的设备,服务器的构成包括处理器、硬盘、内存、系统总线等,服务器和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。

(5)其他具有数据交互功能的电子装置。

以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分的方法。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1