CN115827819A - 一种智能问答处理方法、装置、电子设备及存储介质 - Google Patents
一种智能问答处理方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN115827819A CN115827819A CN202211244937.4A CN202211244937A CN115827819A CN 115827819 A CN115827819 A CN 115827819A CN 202211244937 A CN202211244937 A CN 202211244937A CN 115827819 A CN115827819 A CN 115827819A
- Authority
- CN
- China
- Prior art keywords
- question text
- sql statement
- text
- question
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开一种智能问答处理方法、装置、电子设备及存储介质,涉及自然语言处理技术领域。该方法包括:响应于输入问题文本的用户操作,对所述问题文本进行意图识别,确定所述问题文本的意图信息;对所述问题文本进行实体识别,确定所述问题文本的实体信息,所述实体信息包括所述问题文本中的关键词;根据所述意图信息以及所述问题文本的关键词,确定所述问题文本的第一结构化查询SQL语句;基于NL2SQL模型,将所述问题文本转换为第二SQL语句;根据所述第一SQL语句和所述第二SQL语句,确定所述问题文本的目标SQL语句,实现对问题文本处理的准确率。
Description
技术领域
本申请涉及自然语言处理技术领域,尤其涉及一种智能问答处理方法、装置、电子设备及存储介质。
背景技术
智能问答系统是将积累的无序语料信息,进行有序和科学的整理,并建立基于知识的分类模型;这些分类模型可以指导新增加的语料咨询和服务信息,节约人力资源,提高信息处理的自动性,降低网站运行成本。基于对网站多年积累的关于各行业的基本情况常见问题及其解答,整理为规范的问答库形式,以支撑各种形式问题的智能问答。方便了用户,提高了办事效率,提升了企业形象。
目前,在智能问答系统中,一般就是响应于用户输入的问题文本,将该问题文本转换为对应的结构化查询语言(Structured Query Language,SQL)语句,执行转换后的SQL语句,便可得到该问题文本的答案数据。该方案,在相对较为简单的操作时,可能准确率相对较好,但是处理语义较为复杂的文本或者内容不清晰的文本时,准确率则相对较低。
因此,在处理用户输入的问题文本时,如何提高对问题文本处理的准确率是目前亟需解决的问题。
发明内容
本发申请提供了一种智能问答处理方法,用以提高对问题文本处理的准确率。
第一方面,提供一种智能问答处理方法,包括:
响应于输入问题文本的用户操作,对所述问题文本进行意图识别,确定所述问题文本的意图信息;对所述问题文本进行实体识别,确定所述问题文本的实体信息,所述实体信息包括所述问题文本中的关键词;根据所述意图信息以及所述问题文本中的关键词,确定所述问题文本的第一SQL语句;基于NL2SQL模型,将所述问题文本转换为第二SQL语句;根据所述第一SQL语句和所述第二SQL语句,确定所述问题文本的目标SQL语句。
可选的,所述对所述问题文本进行实体识别,确定所述问题文本的实体信息,包括:
对所述问题文本进行实体识别,确定所述问题文本的i个特征以及所述i个特征的位置信息,所述i为大于0的整数;根据所述i个特征以及所述i个特征的位置信息,确定所述问题文本的实体信息。
可选的,所述根据所述意图信息以及所述问题文本中的关键词,确定所述问题文本的第一SQL语句,包括:
根据所述意图信息以及所述关键词查询数据库,得到与所述问题文本相关联的第一信息列表;其中,所述第一信息列表包括与所述意图信息和/或与所述关键词相关的候选SQL语句;基于统计算法,从所述候选SQL语句中筛选出与所述问题文本匹配的第一SQL语句。
可选的,所述根据所述第一SQL语句和所述第二SQL语句,确定所述问题文本的目标SQL语句,包括:
若所述第一SQL语句与所述第二SQL语句之间的相似度满足要求,则将所述第一SQL语句和所述第二SQL语句中的任意一个作为所述问题文本的目标SQL语句;若所述第一SQL语句与所述第二SQL语句之间的相似度不满足要求,则确定所述第一SQL语句的得分是否大于设定阈值,若是,则将所述第一SQL语句作为所述问题文本的目标SQL语句,否则,将所述第二SQL语句作为所述问题文本的目标SQL语句。
可选的,所述对所述问题文本进行意图识别之前,还包括:
对所述问题文本执行以下至少一种预处理操作:
将所述问题文本中的文字转化为指定类型的文字;若所述问题文本中包括错别字,则对所述错别字进行纠正;若所述问题文本中包括时间信息,则将所述时间信息转化为指定格式的时间信息;将所述问题文本中的标点符号转化为英文类型的标点符号;基于停用词表将所述问题文本中的助词删除;基于分词词典,将所述问题文本进行分词。
可选的,所述根据所述第一SQL语句和所述第二SQL语句,确定所述问题文本的目标SQL语句之后,还包括:
执行所述目标SQL语句,输出执行结果,所述执行结果用于指示所述问题文本的答案。
第二方面,提供一种智能问答处理装置,包括:
意图识别模块,用于响应于输入问题文本的用户操作,对所述问题文本进行意图识别,确定所述问题文本的意图信息;实体识别模块,用于对所述问题文本进行实体识别,确定所述问题文本的实体信息,所述实体信息包括所述问题文本中的关键词;第一确定模块,用于根据所述意图信息以及所述问题文本中的关键词,确定所述问题文本的第一SQL语句;转换模块,用于基于NL2SQL模型,将所述问题文本转换为第二SQL语句;第二确定模块,用于根据所述第一SQL语句和所述第二SQL语句,确定所述问题文本的目标SQL语句。
可选的,所述第一确定模块,具体用于:
根据所述意图信息以及所述实体信息查询数据库,得到与所述问题文本相关联的第一信息列表;其中,所述第一信息列表包括与所述意图信息和/或与所述实体信息相关的候选SQL语句;基于统计算法,从所述候选SQL语句中筛选出与所述问题文本匹配的第一SQL语句。
可选的,所述第二确定模块,具体用于:
若所述第一SQL语句与所述第二SQL语句之间的相似度满足要求,则将所述第一SQL语句和所述第二SQL语句中的任意一个作为所述问题文本的目标SQL语句;若所述第一SQL语句与所述第二SQL语句之间的相似度不满足要求,则确定所述第一SQL语句的得分是否大于设定阈值,若是,则将所述第一SQL语句作为所述问题文本的目标SQL语句,否则,将所述第二SQL语句作为所述问题文本的目标SQL语句。
可选的,所述装置还包括预处理模块;
所述预处理模块,用于对所述问题文本执行以下至少一种预处理操作:
将所述问题文本中的文字转化为指定类型的文字;若所述问题文本中包括错别字,则对所述错别字进行纠正;若所述问题文本中包括时间信息,则将所述时间信息转化为指定格式的时间信息;将所述问题文本中的标点符号转化为英文类型的标点符号;基于停用词表将所述问题文本中的助词删除;基于分词词典,将所述问题文本进行分词。
可选的,所述装置还包括SQL语句操作模块;所述SQL语句操作模块,用于执行所述目标SQL语句,输出执行结果,所述执行结果用于指示所述问题文本的答案。
第三方面,提供一种电子设备,包括:
存储器,用于存放计算机程序;处理器,用于执行所述存储器上所存放的计算机程序时,实现第一方面中任一项所述的方法步骤。
第四方面,提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现第一方面中任一项所述的方法步骤。
本申请实施例中,由于响应于输入问题文本的用户操作,对该问题文本进行意图识别,确定问题文本的意图信息;对问题文本进行实体识别,确定问题文本的实体信息,该实体信息包括问题文本中的关键词;根据意图信息以及问题文本中的关键词,确定问题文本的第一SQL语句,因此可以提高对问题文本的特征表示能力,从而也提高了对问题文本的识别效果;再由于基于NL2SQL模型,将问题文本转换为第二SQL语句;根据第一SQL语句和第二SQL语句,确定问题文本的目标SQL语句,因此相较于通过一种机制确定问题文本的SQL语句,提高了问题文本对应的SQL语句的准确率,也保证了对问题文本输出结果的准确率,满足了用户体验。
上述第二方面至第四方面中的各个方面以及各个方面可能达到的技术效果请参照上述针对第一方面或第一方面中的各种可能方案可以达到的技术效果说明,这里不再重复赘述。
附图说明
图1为本申请实施例适用的应用场景示意图;
图2为本申请实施例提供的一种智能问答处理方法的流程图;
图3为本申请实施例提供的一种编码器的结构示意图;
图4为本申请实施例提供的一种NL2SQL模型的结构示意图;
图5为本申请实施例提供的一种智能问答处理的逻辑示意图;
图6为本申请实施例提供的一种智能问答处理装置的结构示意图;
图7为本申请实施例提供的另一种智能问答处理装置的结构示意图;
图8为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述。方法实施例中的具体操作方法也可以应用于装置实施例或系统实施例中。需要说明的是,在本申请的描述中“多个”理解为“至少两个”。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。A与B连接,可以表示:A与B直接连接和A与B通过C连接这两种情况。另外,在本申请的描述中,“第一”、“第二”等词汇,仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。
下面结合附图,对本申请实施例进行详细描述。
为了更好地理解本申请实施例,下面首先对本申请实施例中涉及的技术术语进行说明。
(1)结构化查询语言是用户操作数据库的一种语言,全称结构化查询语言,它是由关键字、字面值、操作符、注释、分隔符等组成的一个语句,被广泛应用于各式各样的数据库,用以提高计算机应用系统的工作质量以及效率。
(2)NL2SQL(Natural Language to SQL),顾名思义是将自然语言转为SQL语句。它可以充当数据库的智能接口,让不熟悉数据库的用户能够快速地找到自己想要的数据。
(3)抽象语法树(Abstract Syntax Tree,AST),SQL通过词法分析和语法分析处理之后的结果即是抽象语法树,它是一颗多叉树,每一个非叶子节点描述了一个SQL片段的语义。
(4)BERT模型的英文全称为Bidirectional Encoder Representation fromTransformers,基于Transformer的双向编码器表示,是一个预训练的语言表征模型。它强调了不再像以往一样采用传统的单向语言模型或者把两个单向语言模型进行浅层拼接的方法进行预训练,而是采用新的掩码语言模型(masked language model,MLM),以致能生成深度的双向语言表征。BERT模型的目标是利用大规模无标注语料训练、获得问题文本的包含丰富语义信息的Representation,即:文本的语义表示,然后将文本的语义表示在特定序列标注任务中作微调,最终应用于该任务。
(5)双向长短期记忆神经网络模型(Bi-directional Long Short-Term Memory,Bi-LSTM)循环神经网络(RNN)的一种。Bi-LSTM神经网络结构模型分为2个独立的LSTM,输入序列分别以正序和逆序输入至2个LSTM神经网络进行实体识别,将2个输出向量(即提取后的特征向量)进行拼接后形成的词向量作为该词的最终特征表达。LSTM在主体结构上与RNN类似,其主要的改进是在隐藏层h中增加了3个门控(gates)结构,分别是遗忘门(forgetgate)、输入门(input gate)、输出门(output gate),同时新增了一个隐藏状态(cellstate)。
(6)条件随机场模型(Conditional Random Field,CRF)是一种判别式概率模型,是随机场的一种,常用于标注或分析序列资料,如自然语言文字或是生物序列。
(7)TF-IDF是一种统计方法,用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度。字词的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降。TF-IDF加权的各种形式常被搜索引擎应用,作为文件与用户查询之间相关程度的度量或评级。除了TF-IDF以外,因特网上的搜索引擎还会使用基于链接分析的评级方法,以确定文件在搜寻结果中出现的顺序。
(8)停用词(Stop Words)是自然语言处理领域的一个重要工具,通常被用来提升文本特征的质量,或者降低文本特征的维度。
(9)税收数据字典指的是用字典的形式以描述和表示税收数据流程图中的数据流、数据存储和数据处理内容的一种工具。税收数据字典由五种不同类型的条目组成,这五种条目内容是:数据元素、数据流、数据结构、数据处理和数据存储。通过编写数据字典对数据流程图中各种数据的类型、数据特性、数据量以及数据间的变换关系进行描述和表示,以进一步弄清数据结构和处理逻辑。税收数据字典有不同形式,通常采用索引卡片的形式,以便于查找。
(10)关系感知的自注意力机制(Relation-Aware Transformer-SQL,RAT-SQL)模型主要应用在语义编码(schema encoder)、语义关联(schema linking)和特征表示的问题上。利用关系感知的自注意力机制来构建schema和question的全局推理,用于在给定的question和数据库schema中对关系结构进行编码。传统的注意力机制层提取到的特征满足以下表达式:
其中,xi为输入问题文本中的第i个词,xj为输入问题文本中的第j个词,为xi的query vector与xj的key vector的点积得分,为不同维度的权重矩阵;为xi对不同词向量的注意力权重;为xi的自注意力输出。可以看出传统的注意力机制层提取到的特征没有体现出不同xi(特征)之间的关系,识别效果较差。
下面对本申请实施例的技术方案能够适用的应用场景做一些简单介绍,需要说明的是,以下介绍的应用场景仅用于说明本申请实施例而非限定。在具体实施时,可以根据实际需要灵活地应用本申请实施例提供的技术方案。
图1为本申请实施例适用的应用场景示意图。如图所示,该场景主要包括:终端10、服务器11。图1为本申请实施例适用的应用场景示意图。如图所示,该应用场景主要包括:终端10、服务器11。其中,终端10和服务器11之间可通过通信网络进行信息交互,该通信网络采用的通信方式可包括:无线通信方式和有线通信方式。
示例性的,终端10可通过蜂窝移动通信技术接入网络,与服务器11进行通信,该蜂窝移动通信技术,可包括第五代移动通信(5th Generation Mobile Networks,5G)技术。
示例性的,终端10可通过短距离无线通信方式接入网络,与服务器11进行通信,该短距离无线通信方式,可包括无线保真(Wireless Fidelity,Wi-Fi)技术。
本申请实施例对上述设备的数量不做任何限制,如图1所示,仅以终端10和服务器11为例进行描述,下面对上述各设备及其各自的功能进行简要介绍。
终端10是一种可以向用户提供语音和/或数据连通性的设备,包括:具有无线连接功能的手持式终端设备、车载终端设备等。
示例性的,终端10包括但不限于:手机、平板电脑、笔记本电脑、掌上电脑、移动互联网设备(Mobile Internet Device,MID)、可穿戴设备,虚拟现实(Virtual Reality,VR)设备、增强现实(Augmented Reality,AR)设备、工业控制中的无线终端设备、无人驾驶中的无线终端设备、智能电网中的无线终端设备、运输安全中的无线终端设备、智慧城市中的无线终端设备,或智慧家庭中的无线终端设备等。
此外,终端10上可以安装有智能问答处理相关的客户端,该客户端可以是软件(例如,APP、浏览器等),也可以是网页、小程序等。
在本申请实施例中,终端10可以使用上述智能问答处理相关的客户端,并且能够与服务器11之间进行智能问答场景相关的信息交互。举例来说,终端10可向服务器11发送问题文本,服务器11接收到该终端10发送的问题文本后,可对该问题文本进一步进行分析、处理后,输出问题文本的答案。
进一步的,服务器11可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content DeliveryNetwork,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。
进一步的,在本申请实施例中,上述服务器11可以搭载有与上述客户端对应的智能问答业务系统,该智能问答业务系统用于响应于输入问题文本的用户操作,对输入的问题文本进行分析和处理后,输出问题文本的准确答案。
当然,本申请实施例提供的方法并不限于图1所示的应用场景,还可以用于其它可能的应用场景,本申请实施例并不进行限制。对于图1所示的应用场景的各个设备所能实现的功能将在后续的方法实施例中一并进行描述,在此先不过多赘述。
为进一步说明本申请实施例提供的技术方案,下面结合附图以及具体实施方式对此进行详细的说明。虽然本申请实施例提供了如下述实施例或附图所示的方法操作步骤,但基于常规或者无需创造性的劳动在所述方法中可以包括更多或者更少的操作步骤。在逻辑上不存在必要因果关系的步骤中,这些步骤的执行顺序不限于本申请实施例提供的执行顺序。所述方法在实际的处理过程中或者装置执行时,可按照实施例或者附图所示的方法顺序执行或者并执行。
为了便于理解,下文通过具体实施例对本申请提供的一种智能问答处理方法进行详细说明,图2为本申请实施例提供的一种智能问答处理方法的流程图,该流程可由智能问答装置所执行,该装置可通过软件的方式实现,也可通过硬件的方式实现,还可通过软件和硬件结合的方式实现。如图所示,该流程包括如下步骤:
201:响应于输入问题文本的用户操作,对问题文本进行意图识别,确定问题文本的意图信息。
可选的,该用户操作可以是手动输入方式,例如用户通过在用户界面上手动输入该问题文本,也可以是语音输入方式,通过语音识别输入该问题文本,本申请实施例在此不做限制。
可选的,对问题文本进行意图识别,确定该问题文本的意图信息,可采用文本分类的相关模型(例如,BERT模型)分析用户输入该问题文本的操作意图,例如,采用聚合操作的判别规则,确定该问题文本是否属于AVG、MAX、MIN、SUM等操作中的一种或多种,再例如,还可采用条件类型的判别规则,确定该问题文本是否属于>、<、==、!=中的一种或多种,从而准确的确定问题文本的意图信息。
在一些实施例中,对问题文本进行意图识别之前,还可对输入的问题文本进行预处理,可对该问题文本执行以下至少一种预处理操作:
数字转换:将问题文本中的文字转化为指定类型的文字,例如,对于中文问题文本,可将中文数字表示转化为阿拉伯数字表示(包括日期),这样可便于模型处理这些数据,此外还可替换数字中百、千、亿等表达,便于与数据库中的数据匹配,转换的方式主要基于正则表达式匹配,提取出问题文本中需要处理的部分,将其处理后还原到原本的问题文本中。
文本纠错:若问题文本包括错别字,则对错别字进行纠正。由于,用户输入的问题中可能会含有一些错别字,这些错别字也是造成歧义的重要原因,因此在对问题文本进行分析时,可先对该文本中的错误进行一定程度的修正,从而提高后续结果输出的准确性。
时间解析:若问题文本中包括时间信息,则将时间信息转化为指定格式的时间信息,例如,对问题文本中的时间信息进行检索,并按照时间基准将其转化为标准时间。
标点转换:将问题文本中的标点符号转化为英文类型的标点符号。
去停用词:基于停用词表将问题文本中的助词删除,例如,使用哈工大停用词表、百度停用词表等,去除口语化查询词、语气词、助词等问题文本内容关联性不强的词。
分词:基于分词词典,将问题文本进行分词,例如,引入税务数据扩充分词词典,使用jieba分词对问题文本进行分词。
通过上述预处理方式,可以得到语言精练、语义清晰的问题文本,提高了后续对问题文本处理结果的准确率。
202:对上述问题文本进行实体识别,确定该问题文本的实体信息。
可选的,该实体信息可包括:问题文本中的关键词,还可包括该关键词的属性等。
可选的,对问题文本进行实体识别,确定该问题文本的实体信息,可通过如下方式:对问题文本进行实体识别,确定问题文本的i个特征以及该i个特征的位置信息(i为大于0的整数);根据i个特征以及i个特征的位置信息,确定该问题文本的实体信息。该位置信息可包括每一个特征的绝对位置和相对位置。该方式,可结合BERT模型、Bi-LSTM模型、CRF模型对该问题文本进行实体识别,确定该问题文本的实体信息,提高了实体识别的效果,从而保证了输出结果的准确性。具体的,首先将BERT模型作为词向量的特征获取层,将问题文本输入到BERT模型中,得到问题文本的i个特征(Embedding),并获取该i个特征的位置信息,将该i个特征以及i个特征的位置信息输入到Bi-LSTM模型中,经过该Bi-LSTM模型后,输出每个特征对应的预测标签,并将该每个特征对应的预测标签作为CRF模型的输入,输入到CRF模型中,最终输出该问题文本的实体信息。其中,输入到Bi-LSTM模型的特征满足以下公式:
Ui=Wi(W1iPi+W2iEi)+bi.........(3)
其中,Ui为输入到Bi-LSTM模型中的第i个特征,Pi为第i个特征的位置信息,Ei为经过BERT模型得到的第i个Embedding,bi为第i个特征的偏置,Wi、W1i和W2i均为第i个特征的权重参数。
本申请实施例中,在基于BERT模型的特征获取过程中,引入了各特征的绝对位置信息,从而提高了对问题文本的特征表达能力,进一步的,在各Embedding中,还引入相对位置信息,经过Bi-LSTM模型后,输出每个特征对应的预测标签,并将该每个特征对应的预测标签作为CRF模型的输入,将特征序列中分数最高或满足设定分数阈值的特征作为该问题文本的实体信息(关键词),提高了实体识别的效果,从而保证了后续输出结果的准确性。
203:根据上述意图信息以及上述问题文本中的关键词,确定该问题文本的第一SQL语句。
可选的,确定该问题文本的第一SQL语句,可通过如下方式:首先,根据意图信息以及关键词查询数据库,得到与该问题文本相关联的第一信息列表。其中,在一些实施中,该第一信息列表包括与意图信息相关的候选SQL语句,在另一些实施例中,该第一信息列表包括与关键词相关的候选SQL语句,在另一些实施例中,该第一信息列表包括与该意图信息和关键词相关的候选SQL语句。然后,基于统计算法(例如,TF-IDF算法),从候选SQL语句中筛选出该与问题文本匹配的第一SQL语句,该第一SQL语句具体可以是指得分最高的SQL语句。
204:基于NL2SQL模型,将上述问题文本转换为第二SQL语句。
可选的,基于NL2SQL模型,将问题文本转换为第二SQL语句通过如下方式:该模型可以包括编码器(encoder)和解码器(decoder)。其中,编码器可以用于处理常用的自然语言的语义向量,同时融入自然语言和数据库表信息的关系向量,从而根据用户输入的自然语言(问题文本)进行编码处理,输出对应的编码向量。相应的,编码器可以将输出的编码向量输入至解码器,由解码器通过一系列的预测动作对编码向量进行解码处理,从而推断出编码向量中隐含的语法规则。本申请实施例中,在编码器中relation-aware self-attention组成RAT层代替transformer层,用于提高特征表达能力。
具体的,首先,将给定的问题文本输入到编码器中关系感知的自注意力机制层,并在该层中加入各特征之间的关系特征(Rrelational features),基于问题文本中各词之间的相对位置,或者各词之间的距离进行实体识别,提取到的特征满足以下表达式:
其中,用于表征假设有R个关系对,而是通过学习得到的对关系R(s)的向量表示,xi为输入问题文本中的第i个词,xj为输入问题文本中的第j个词,为xi的query vector与xj的key vector的点积得分,为不同维度的权重矩阵;为xi对不同词向量(特征)的注意力权重;为xi的自注意力输出。
上述编码器的结构,如图3所示,示例性示出了本申请实施例提供的一种编码器301的结构示意图。如图所示,该结构主要由列名(column names)、表名(table names)以及问题词(question words)三部分组成,针对每个表、列、问题词节点使用glove的embeding获得各自的词向量,并通过Bi-LSTM处理各自的词向量,将经由Bi-LSTM处理过的词向量组成集合(X=[C;T;Q],并将X输入到关系感知自注意力机制层(relation-aware self-attention)进行训练,最后得到编码器301的输出结果。
然后,将上述编码器301输出的结果(编码向量),作为解码器的输入,使用LSTM输出解码器的Actions序列,将最后生成的节点扩展成一条语法规则,当完成一个叶子节点时,从语义信息中选择一个行、列或者表信息进行填充,最后生成该问题文本的AST,根据该AST确定该问题文本对应的第二SQL语句。
图4为本申请实施例提供的一种NL2SQL模型的结构示意图,如图所示,该NL2SQL模型400主要可由输入层401、编码器301、解码器402组成。
输入层401可将基于问题文本提取到的列名、表名、问题词分别输入到各自的模块中(如图4中的列名模块、表名模块、问题词模块),然后再经由编码器301中的关系感知自注意力机制进行训练,经由解码器402中的应用规则生成基本结构,通过选择列、选择表进行表名、列名的填充,填充后,生成该问题文本的AST,最后根据该问题文本的AST推导出对应的SQL语句(第二SQL语句)。
205:根据上述第一SQL语句和第二SQL语句,确定该问题文本的目标SQL语句。
可选的,确定该问题文本的目标SQL语句可通过如下方式:首先,判断第一SQL语句和第二SQL语句是否满足相似度要求,若第一SQL语句与第二SQL语句之间的相似度满足要求(例如,第一SQL语句与第二SQL语句相同),则将第一SQL语句和第二SQL语句中的任意一个作为问题文本的目标SQL语句,若第一SQL语句与第二SQL语句之间的相似度不满足要求,则确定第一SQL语句的得分是否大于设定阈值(例如,得到的第一SQL语句的打分分数是否大于90),若是,则将第一SQL语句作为问题文本的目标SQL语句,否则,将第二SQL语句作为问题文本的目标SQL语句。
采用两种不同的机制对该问题文本进行处理,得到各自对应的SQL语句,再将各自的SQL语句进行比对,综合确定该问题文本最终的SQL语句,进一步提升问题文本对应的SQL语句的准确率。
可选的,确定该问题文本的目标SQL语句后,还可执行该目标SQL语句,输出执行结果,该执行结果用于指示上述问题文本的答案。
本申请实施例中,由于响应于输入问题文本的用户操作,对该问题文本进行意图识别,确定问题文本的意图信息;对问题文本进行实体识别,确定问题文本的实体信息,该实体信息包括问题文本中的关键词;根据意图信息以及问题文本中的关键词,确定问题文本的第一SQL语句,因此可以提高对问题文本的特征表示能力,从而也提高了对问题文本的识别效果;再由于基于NL2SQL模型,将问题文本转换为第二SQL语句;根据第一SQL语句和第二SQL语句,确定问题文本的目标SQL语句,因此相较于通过一种机制确定问题文本的SQL语句,提高了问题文本对应的SQL语句的准确率,也保证了对问题文本输出结果的准确率,满足了用户体验。
基于上述图2所示的方法流程图,图5示例性示出了本申请实施例提供的智能问答处理的逻辑示意图。如图所示,输入问题文本Q,对问题文本Q进行预处理,得到预处理后的问题文本Q,将预处理后的问题文本Q分别输入到实体识别模块B、意图识别模块C、NL2SQL模块D,并分别得到问题文本Q的实体信息、意图信息、第二SQL语句,根据该实体信息与意图信息在数据库进行检索,确定第一SQL语句,将第一SQL语句与第二SQL语句输入到规则匹配模块M,经由该规则匹配模块M,对第一SQL语句与第二SQL语句进行比对和修正,输出得到该问题文本Q的目标SQL语句,经由SQL语句操作模块N操作该目标SQL语句,最后输出该问题文本Q的答案K。
基于相同的技术构思,本申请实施例中还提供一种智能问答处理装置的结构示意图。
图6为本申请实施例提供的一种智能问答处理装置的结构示意图,如图所示,该装置包括:意图识别模块601、实体识别模块602、第一确定模块603、转换模块604、第二确定模块605。
意图识别模块601,用于响应于输入问题文本的用户操作,对所述问题文本进行意图识别,确定所述问题文本的意图信息。
实体识别模块602,用于对所述问题文本进行实体识别,确定所述问题文本的实体信息,所述实体信息包括所述问题文本中的关键词。
第一确定模块603,用于根据所述意图信息以及所述问题文本中的关键词,确定所述问题文本的第一SQL语句。
转换模块604,用于基于NL2SQL模型,将所述问题文本转换为第二SQL语句。
第二确定模块605,用于根据所述第一SQL语句和所述第二SQL语句,确定所述问题文本的目标SQL语句。
可选的,实体识别模块602,具体用于:
对所述问题文本进行实体识别,确定所述问题文本的i个特征以及所述i个特征的位置信息,所述i为大于0的整数;根据所述i个特征以及所述i个特征的位置信息,确定所述问题文本的实体信息。
可选的,第一确定模块603,具体用于:
根据所述意图信息以及所述实体信息查询数据库,得到与所述问题文本相关联的第一信息列表;其中,所述第一信息列表包括与所述意图信息和/或与所述实体信息相关的候选SQL语句;基于统计算法,从所述候选SQL语句中筛选出与所述问题文本匹配的第一SQL语句。
可选的,第二确定模块605,具体用于:
若所述第一SQL语句与所述第二SQL语句之间的相似度满足要求,则将所述第一SQL语句和所述第二SQL语句中的任意一个作为所述问题文本的目标SQL语句;若所述第一SQL语句与所述第二SQL语句之间的相似度不满足要求,则确定所述第一SQL语句的准确率是否大于设定阈值,若是,则将所述第一SQL语句作为所述问题文本的目标SQL语句,否则,将所述第二SQL语句作为所述问题文本的目标SQL语句。
在一些实施例中,智能问答处理装置的结构示意图除了图6中的各模块以外,还可包括预处理模块、SQL语句操作模块。图7为本申请实施例提供的另一种智能问答处理装置的结构示意图。如图所示,该装置包括:意图识别模块601、实体识别模块602、第一确定模块603、转换模块604、第二确定模块605、预处理模块701、SQL语句操作模块702。其中,意图识别模块601、实体识别模块602、第一确定模块603、转换模块604、第二确定模块605的相关描述参见上述图6,在此不再重复描述。
预处理模块701,用于对所述问题文本执行以下至少一种预处理操作:
将所述问题文本中的文字转化为指定类型的文字;若所述问题文本中包括错别字,则对所述错别字进行纠正;若所述问题文本中包括时间信息,则将所述时间信息转化为指定格式的时间信息;将所述问题文本中的标点符号转化为英文类型的标点符号;基于停用词表将所述问题文本中的助词删除;基于分词词典,将所述问题文本进行分词。
SQL语句操作模块702,用于执行所述目标SQL语句,输出执行结果,所述执行结果用于指示所述问题文本的答案。
在此需要说明的是,本申请实施例提供的上述设备,能够实现上述智能问答处理实施例中的所有方法步骤,且能够达到相同的技术效果,在此不再对本实施例中与方法实施例相同的部分及有益效果进行具体赘述。
基于相同的技术构思,本申请实施例中还提供了一种电子设备,所述电子设备可以实现前述一种智能问答处理装置的功能。
图8为本申请实施例提供的电子设备的结构示意图。
至少一个处理器801,以及与至少一个处理器801连接的存储器802,本申请实施例中不限定处理器801与存储器802之间的具体连接介质,图8中是以处理器801和存储器802之间通过总线800连接为例。总线800在图8中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。总线800可以分为地址总线、数据总线、控制总线等,为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。或者,处理器801也可以称为控制器,对于名称不做限制。
在本申请实施例中,存储器802存储有可被至少一个处理器801执行的指令,至少一个处理器801通过执行存储器802存储的指令,可以执行前文论述的一种智能问答处理方法。处理器801可以实现图6或图7所示的装置中各个模块的功能。
其中,处理器801是该装置的控制中心,可以利用各种接口和线路连接整个该控制设备的各个部分,通过运行或执行存储在存储器802内的指令以及调用存储在存储器802内的数据,该装置的各种功能和处理数据,从而对该装置进行整体监控。
在一种可能的设计中,处理器801可包括一个或多个处理单元,处理器801可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、驾驶人员界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器801中。在一些实施例中,处理器801和存储器802可以在同一芯片上实现,在一些实施例中,它们也可以在独立的芯片上分别实现。
处理器801可以是通用处理器,例如中央处理器(CPU)、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的一种智能问答处理方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器802作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器802可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(Random AccessMemory,RAM)、静态随机访问存储器(Static Random Access Memory,SRAM)、可编程只读存储器(Programmable Read Only Memory,PROM)、只读存储器(Read Only Memory,ROM)、带电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性存储器、磁盘、光盘等等。存储器802是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本申请实施例中的存储器802还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
通过对处理器801进行设计编程,可以将前述实施例中介绍的一种智能问答处理方法所对应的代码固化到芯片内,从而使芯片在运行时能够执行图3所示的实施例的一种智能问答处理方法。如何对处理器801进行设计编程为本领域技术人员所公知的技术,这里不再赘述。
在此需要说明的是,本申请实施例提供的上述通电子设备,能够实现上述方法实施例所实现的所有方法步骤,且能够达到相同的技术效果,在此不再对本实施例中与方法实施例相同的部分及有益效果进行具体赘述。
本申请实施例还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机可执行指令,计算机可执行指令用于使计算机执行上述实施例中的一种智能问答处理方法。
本申请实施例还提供了一种计算机程序产品,所述计算机程序产品在被计算机调用时,使得所述计算机执行上述实施例中的一种智能问答处理方法。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
Claims (14)
1.一种智能问答处理方法,其特征在于,包括:
响应于输入问题文本的用户操作,对所述问题文本进行意图识别,确定所述问题文本的意图信息;
对所述问题文本进行实体识别,确定所述问题文本的实体信息,所述实体信息包括所述问题文本中的关键词;
根据所述意图信息以及所述问题文本中的关键词,确定所述问题文本的第一结构化查询SQL语句;
基于NL2SQL模型,将所述问题文本转换为第二SQL语句;
根据所述第一SQL语句和所述第二SQL语句,确定所述问题文本的目标SQL语句。
2.如权利要求1所述的方法,其特征在于,所述对所述问题文本进行实体识别,确定所述问题文本的实体信息,包括:
对所述问题文本进行实体识别,确定所述问题文本的i个特征以及所述i个特征的位置信息,所述i为大于0的整数;
根据所述i个特征以及所述i个特征的位置信息,确定所述问题文本的实体信息。
3.如权利要求1所述的方法,其特征在于,所述根据所述意图信息以及所述问题文本中的关键词,确定所述问题文本的第一SQL语句,包括:
根据所述意图信息以及所述关键词查询数据库,得到与所述问题文本相关联的第一信息列表;其中,所述第一信息列表包括与所述意图信息和/或与所述关键词相关的候选SQL语句;
基于统计算法,从所述候选SQL语句中筛选出与所述问题文本匹配的第一SQL语句。
4.如权利要求1所述的方法,其特征在于,所述根据所述第一SQL语句和所述第二SQL语句,确定所述问题文本的目标SQL语句,包括:
若所述第一SQL语句与所述第二SQL语句之间的相似度满足要求,则将所述第一SQL语句和所述第二SQL语句中的任意一个作为所述问题文本的目标SQL语句;
若所述第一SQL语句与所述第二SQL语句之间的相似度不满足要求,则确定所述第一SQL语句的得分是否大于设定阈值,若是,则将所述第一SQL语句作为所述问题文本的目标SQL语句,否则,将所述第二SQL语句作为所述问题文本的目标SQL语句。
5.如权利要求1-4任一项所述的方法,其特征在于,所述对所述问题文本进行意图识别之前,还包括:
对所述问题文本执行以下至少一种预处理操作:
将所述问题文本中的文字转化为指定类型的文字;
若所述问题文本中包括错别字,则对所述错别字进行纠正;
若所述问题文本中包括时间信息,则将所述时间信息转化为指定格式的时间信息;
将所述问题文本中的标点符号转化为英文类型的标点符号;
基于停用词表将所述问题文本中的助词删除;
基于分词词典,将所述问题文本进行分词。
6.如权利要求1-4任一项所述的方法,其特征在于,所述根据所述第一SQL语句和所述第二SQL语句,确定所述问题文本的目标SQL语句之后,还包括:
执行所述目标SQL语句,输出执行结果,所述执行结果用于指示所述问题文本的答案。
7.一种智能问答处理装置,其特征在于,包括:
意图识别模块,用于响应于输入问题文本的用户操作,对所述问题文本进行意图识别,确定所述问题文本的意图信息;
实体识别模块,用于对所述问题文本进行实体识别,确定所述问题文本的实体信息,所述实体信息包括所述问题文本中的关键词;
第一确定模块,用于根据所述意图信息以及所述问题文本中的关键词,确定所述问题文本的第一结构化查询SQL语句;
转换模块,用于基于NL2SQL模型,将所述问题文本转换为第二SQL语句;
第二确定模块,用于根据所述第一SQL语句和所述第二SQL语句,确定所述问题文本的目标SQL语句。
8.如权利要求7所述的装置,其特征在于,所述实体识别模块,具体用于:
对所述问题文本进行实体识别,确定所述问题文本的i个特征以及所述i个特征的位置信息,所述i为大于0的整数;
根据所述i个特征以及所述i个特征的位置信息,确定所述问题文本的实体信息。
9.如权利要求7所述的装置,其特征在于,所述第一确定模块,具体用于:
根据所述意图信息以及所述实体信息查询数据库,得到与所述问题文本相关联的第一信息列表;其中,所述第一信息列表包括与所述意图信息和/或与所述实体信息相关的候选SQL语句;
基于统计算法,从所述候选SQL语句中筛选出与所述问题文本匹配的第一SQL语句。
10.如权利要求7所述的装置,其特征在于,所述第二确定模块,具体用于:
若所述第一SQL语句与所述第二SQL语句之间的相似度满足要求,则将所述第一SQL语句和所述第二SQL语句中的任意一个作为所述问题文本的目标SQL语句;
若所述第一SQL语句与所述第二SQL语句之间的相似度不满足要求,则确定所述第一SQL语句的得分是否大于设定阈值,若是,则将所述第一SQL语句作为所述问题文本的目标SQL语句,否则,将所述第二SQL语句作为所述问题文本的目标SQL语句。
11.如权利要求7-9任一项所述的装置,其特征在于,所述装置还包括预处理模块;
所述预处理模块,用于对所述问题文本执行以下至少一种预处理操作:
将所述问题文本中的文字转化为指定类型的文字;
若所述问题文本中包括错别字,则对所述错别字进行纠正;
若所述问题文本中包括时间信息,则将所述时间信息转化为指定格式的时间信息;
将所述问题文本中的标点符号转化为英文类型的标点符号;
基于停用词表将所述问题文本中的助词删除;
基于分词词典,将所述问题文本进行分词。
12.如权利要求7-9任一项所述的装置,其特征在于,所述装置还包括SQL语句操作模块;
所述SQL语句操作模块,用于执行所述目标SQL语句,输出执行结果,所述执行结果用于指示所述问题文本的答案。
13.一种电子设备,其特征在于,包括:
存储器,用于存放计算机程序;
处理器,用于执行所述存储器上所存放的计算机程序时,实现权利要求1-6中任一项所述的方法步骤。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-6中任一项所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211244937.4A CN115827819A (zh) | 2022-10-12 | 2022-10-12 | 一种智能问答处理方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211244937.4A CN115827819A (zh) | 2022-10-12 | 2022-10-12 | 一种智能问答处理方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115827819A true CN115827819A (zh) | 2023-03-21 |
Family
ID=85524663
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211244937.4A Pending CN115827819A (zh) | 2022-10-12 | 2022-10-12 | 一种智能问答处理方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115827819A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116629227A (zh) * | 2023-07-24 | 2023-08-22 | 海信集团控股股份有限公司 | 一种将文本转换为sql语句的方法及设备 |
CN116737759A (zh) * | 2023-08-14 | 2023-09-12 | 北京理工大学 | 一种基于关系感知注意力的中文查询生成sql语句方法 |
CN117171332A (zh) * | 2023-11-02 | 2023-12-05 | 江西拓世智能科技股份有限公司 | 基于ai的智能问答方法及系统 |
CN117555916A (zh) * | 2023-11-06 | 2024-02-13 | 广东电网有限责任公司佛山供电局 | 一种基于自然语言处理的语音交互方法及系统 |
-
2022
- 2022-10-12 CN CN202211244937.4A patent/CN115827819A/zh active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116629227A (zh) * | 2023-07-24 | 2023-08-22 | 海信集团控股股份有限公司 | 一种将文本转换为sql语句的方法及设备 |
CN116629227B (zh) * | 2023-07-24 | 2023-10-24 | 海信集团控股股份有限公司 | 一种将文本转换为sql语句的方法及设备 |
CN116737759A (zh) * | 2023-08-14 | 2023-09-12 | 北京理工大学 | 一种基于关系感知注意力的中文查询生成sql语句方法 |
CN116737759B (zh) * | 2023-08-14 | 2023-12-08 | 北京理工大学 | 一种基于关系感知注意力的中文查询生成sql语句方法 |
CN117171332A (zh) * | 2023-11-02 | 2023-12-05 | 江西拓世智能科技股份有限公司 | 基于ai的智能问答方法及系统 |
CN117555916A (zh) * | 2023-11-06 | 2024-02-13 | 广东电网有限责任公司佛山供电局 | 一种基于自然语言处理的语音交互方法及系统 |
CN117555916B (zh) * | 2023-11-06 | 2024-05-31 | 广东电网有限责任公司佛山供电局 | 一种基于自然语言处理的语音交互方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111753060B (zh) | 信息检索方法、装置、设备及计算机可读存储介质 | |
WO2023065544A1 (zh) | 意图分类方法、装置、电子设备及计算机可读存储介质 | |
US8972408B1 (en) | Methods, systems, and articles of manufacture for addressing popular topics in a social sphere | |
CN111325029B (zh) | 一种基于深度学习集成模型的文本相似度计算方法 | |
CN112035730B (zh) | 一种语义检索方法、装置及电子设备 | |
CN112800170A (zh) | 问题的匹配方法及装置、问题的回复方法及装置 | |
CN115827819A (zh) | 一种智能问答处理方法、装置、电子设备及存储介质 | |
CN110765277B (zh) | 一种基于知识图谱的移动端的在线设备故障诊断方法 | |
US10824816B2 (en) | Semantic parsing method and apparatus | |
CN111783394A (zh) | 事件抽取模型的训练方法、事件抽取方法和系统及设备 | |
CN110597844B (zh) | 异构数据库数据统一访问方法及相关设备 | |
CN113392209B (zh) | 一种基于人工智能的文本聚类方法、相关设备及存储介质 | |
CN112307182B (zh) | 一种基于问答系统的伪相关反馈的扩展查询方法 | |
CN113282729B (zh) | 基于知识图谱的问答方法及装置 | |
CN115759119B (zh) | 一种金融文本情感分析方法、系统、介质和设备 | |
CN111831624A (zh) | 数据表创建方法、装置、计算机设备及存储介质 | |
CN117807482B (zh) | 海关报关单的分类方法、装置、设备及存储介质 | |
CN117271558A (zh) | 语言查询模型构建方法、查询语言获取方法及相关装置 | |
CN114372454A (zh) | 文本信息抽取方法、模型训练方法、装置及存储介质 | |
CN112256765A (zh) | 一种数据挖掘方法、系统及计算机可读存储介质 | |
CN111460114A (zh) | 检索方法、装置、设备及计算机可读存储介质 | |
WO2023134085A1 (zh) | 问题答案的预测方法、预测装置、电子设备、存储介质 | |
CN116303923A (zh) | 一种知识图谱问答方法、装置、计算机设备和存储介质 | |
CN115203206A (zh) | 数据内容搜索方法、装置、计算机设备及可读存储介质 | |
CN113157892A (zh) | 用户意图处理方法、装置、计算机设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |