CN115203367A - 数据获取方法、装置、设备及存储介质 - Google Patents
数据获取方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN115203367A CN115203367A CN202210770293.6A CN202210770293A CN115203367A CN 115203367 A CN115203367 A CN 115203367A CN 202210770293 A CN202210770293 A CN 202210770293A CN 115203367 A CN115203367 A CN 115203367A
- Authority
- CN
- China
- Prior art keywords
- word segmentation
- report
- structured
- data
- text
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/36—Creation of semantic tools, e.g. ontology or thesauri
- G06F16/367—Ontology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/151—Transformation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/216—Parsing using statistical methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/237—Lexical tools
- G06F40/247—Thesauruses; Synonyms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Animal Behavior & Ethology (AREA)
- Probability & Statistics with Applications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种数据获取方法、装置、设备及存储介质,属于人工智能领域。接收终端基于搜索页面发送的数据查询请求,该数据查询请求中包括基于自然语言的查询文本;基于知识图谱对查询文本中的部分词语进行同义词替换,得到替换文本;对替换文本进行多种分词处理;在得到的多个分词序列中筛选概率值排在前指定数目位的分词序列;该概率值用于衡量相应分词序列的分词结果合理性;对筛选的分词序列进行转化处理,得到多个结构化语句;基于多个结构化语句,向终端返回基于自然语言的多个确认文本;基于目标结构化语句获取数据,将获取到的数据作为搜索结果返回给终端;目标结构化语句与终端选中的确认文本相匹配。本申请能够提高数据获取效率。
Description
技术领域
本申请涉及人工智能领域,特别涉及一种数据获取方法、装置、设备及存储介质。
背景技术
自然语言处理(Nature Language processing,NLP)是人工智能技术领域的一个重要研究方向。随着网络技术的飞速发展,NLP技术被应用在多种场景下,比如在数据分析场景下,软件即服务商业智能(Software-as-a-Service Business Intelligence,SaaSBI)平台利用NLP技术可以在数据库中获取数据并返回给用户,以便用户进行数据分析和业务决策。
相关技术预先定义了一系列具有不同主题的报表以供用户查阅。如果已有报表不能满足用户的数据需求,SaaS BI平台支持用户通过勾选的方式在报表指标集合和报表维度集合中分别选择报表指标和报表维度,进而再根据用户选中的报表指标和报表维度获取用户所需的数据。
然而,在已有报表不能满足用户数据需求的情况下,由于需要用户执行对报表指标和报表维度进行勾选的一系列复杂操作,因此数据获取效率低;特别是针对用户使用移动终端的场景,在有限的操作区域内更是难以完成对报表指标和报表维度进行勾选的精细操作。基于以上描述可知,目前亟需一种新的数据获取方法来提升数据获取效率。
发明内容
本申请实施例提供了一种数据获取方法、装置、设备及存储介质,能够提高数据获取效率。所述技术方案如下:
一方面,提供了一种数据获取方法,所述方法包括:
接收终端基于搜索页面发送的数据查询请求,所述数据查询请求中包括基于自然语言的查询文本;
基于目标领域的知识图谱对所述查询文本中的部分词语进行同义词替换,得到替换文本;其中,所述目标领域与所述查询文本所属的领域一致;
对所述替换文本进行多种分词处理,得到多个分词序列;
在所述多个分词序列中筛选概率值排在前指定数目位的分词序列;其中,所述概率值用于衡量相应分词序列的分词结果合理性;
对所述前指定数目位的分词序列进行转化处理,得到基于结构化查询语言的多个结构化语句;
基于所述多个结构化语句,向所述终端返回基于自然语言的多个确认文本;
基于目标结构化语句获取数据,将获取到的数据作为搜索结果返回给所述终端;其中,所述目标结构化语句与所述终端选中的确认文本相匹配。
在一些可能的实现方式中,所述在所述多个分词序列中筛选概率值排在前指定数目位的分词序列,包括:
确定所述多个分词序列中各个分词序列关联的报表;
根据语言模型和各个分词序列关联的报表确定各个分词序列的概率值;其中,所述语言模型是基于第一样本语料对第一预训练模型进行再训练后得到的,所述第一预训练模型是通过第一模型预训练得到的;
按照概率值由大到小的顺序对所述多个分词序列进行排序;
根据得到的排序结果,在所述多个分词序列中筛选概率值排在前指定数目位的分词序列。
在一些可能的实现方式中,对于任意一个分词序列,所述分词序列关联的报表,包括以下一项或多项:
响应于所述分词序列中的词语与第一报表的报表主题匹配,所述第一报表为所述分词序列关联的报表;
响应于所述分词序列中的词语与第二报表的报表指标匹配,所述第二报表为所述分词序列关联的报表;
响应于所述分词序列中的词语与第三报表的报表维度匹配,所述第三报表为所述分词序列关联的报表。
在一些可能的实现方式中,所述对所述前指定数目位的分词序列进行转化处理,得到基于结构化查询语言的多个结构化语句,包括:
对于任意一个分词序列,确定所述分词序列中的词语所属的报表要素类别;
将所述分词序列中的词语替换为相应报表要素类别的类别标签,得到分词序列模板;
基于结构化语句生成模型对所述分词序列模板进行转化处理,得到基于结构化查询语言的句式模板;其中,所述结构化语句生成模型是基于第二样本语料对第二预训练模型进行再训练后得到的,所述第二预训练模型是通过第二模型预训练得到的;
根据所述分词序列关联的报表,在所述句式模板中的各个类别标签位置处插入相应的报表要素取值,得到基于结构化查询语言的结构化语句。
在一些可能的实现方式中,所述方法还包括:
向所述终端返回所述多个分词序列中各个分词序列关联的报表;或,
向所述终端返回所述前指定数目位的分词序列关联的报表;或,
向所述终端返回所述目标结构化语句对应的分词序列关联的报表。
在一些可能的实现方式中,所述基于目标结构化语句获取数据,将获取到的数据作为搜索结果返回给所述终端,包括:
基于所述目标结构化语句,在所述目标结构化语句对应的分词序列关联的报表中获取数据;
根据获取到的数据和目标报表模板生成目标报表,将所述目标报表作为搜索结果返回给所述终端。
另一方面,提供了一种数据获取方法,所述方法包括:
显示搜索页面,基于所述搜索页面向服务器发送数据查询请求,所述数据查询请求中包括基于自然语言的查询文本;
其中,所述服务器用于基于目标领域的知识图谱对所述查询文本中的部分词语进行同义词替换,得到替换文本;其中,所述目标领域与所述查询文本所属的领域一致;对所述替换文本进行多种分词处理,得到多个分词序列;在所述多个分词序列中筛选概率值排在前指定数目位的分词序列;其中,所述概率值用于衡量相应分词序列的分词结果合理性;对所述前指定数目位的分词序列进行转化处理,得到基于结构化查询语言的多个结构化语句;
接收所述服务器返回的基于自然语言的多个确认文本,所述多个确认文本是基于所述多个结构化语句得到的;
显示所述多个确认文本;响应于对所述多个确认文本中任意确认文本的选中操作,向所述服务器发送被选中的确认文本;
显示所述服务器返回的基于目标结构化语句获取到的数据;其中,所述目标结构化语句与被选中的确认文本相匹配。
另一方面,提供了一种数据获取装置,所述装置包括:
接收模块,被配置为接收终端基于搜索页面发送的数据查询请求,所述数据查询请求中包括基于自然语言的查询文本;
第一处理模块,被配置为基于目标领域的知识图谱对所述查询文本中的部分词语进行同义词替换,得到替换文本;其中,所述目标领域与所述查询文本所属的领域一致;
第二处理模块,被配置为对所述替换文本进行多种分词处理,得到多个分词序列;在所述多个分词序列中筛选概率值排在前指定数目位的分词序列;其中,所述概率值用于衡量相应分词序列的分词结果合理性;
第三处理模块,被配置为对所述前指定数目位的分词序列进行转化处理,得到基于结构化查询语言的多个结构化语句;
发送模块,被配置为基于所述多个结构化语句,向所述终端返回基于自然语言的多个确认文本;
获取模块,被配置为基于目标结构化语句获取数据;
所述发送模块,还被配置为将获取到的数据作为搜索结果返回给所述终端;其中,所述目标结构化语句与所述终端选中的确认文本相匹配。
在一些可能的实现方式中,所述第二处理模块,被配置为:
确定所述多个分词序列中各个分词序列关联的报表;
根据语言模型和各个分词序列关联的报表确定各个分词序列的概率值;其中,所述语言模型是基于第一样本语料对第一预训练模型进行再训练后得到的,所述第一预训练模型是通过第一模型预训练得到的;
按照概率值由大到小的顺序对所述多个分词序列进行排序;
根据得到的排序结果,在所述多个分词序列中筛选概率值排在前指定数目位的分词序列。
在一些可能的实现方式中,对于任意一个分词序列,所述分词序列关联的报表,包括以下一项或多项:
响应于所述分词序列中的词语与第一报表的报表主题匹配,所述第一报表为所述分词序列关联的报表;
响应于所述分词序列中的词语与第二报表的报表指标匹配,所述第二报表为所述分词序列关联的报表;
响应于所述分词序列中的词语与第三报表的报表维度匹配,所述第三报表为所述分词序列关联的报表。
在一些可能的实现方式中,所述第三处理模块,被配置为:
对于任意一个分词序列,确定所述分词序列中的词语所属的报表要素类别;
将所述分词序列中的词语替换为相应报表要素类别的类别标签,得到分词序列模板;
基于结构化语句生成模型对所述分词序列模板进行转化处理,得到基于结构化查询语言的句式模板;其中,所述结构化语句生成模型是基于第二样本语料对第二预训练模型进行再训练后得到的,所述第二预训练模型是通过第二模型预训练得到的;
根据所述分词序列关联的报表,在所述句式模板中的各个类别标签位置处插入相应的报表要素取值,得到基于结构化查询语言的结构化语句。
在一些可能的实现方式中,所述发送模块,还被配置为:
向所述终端返回所述多个分词序列中各个分词序列关联的报表;或,
向所述终端返回所述前指定数目位的分词序列关联的报表;或,
向所述终端返回所述目标结构化语句对应的分词序列关联的报表。
在一些可能的实现方式中,所述获取模块,被配置为基于所述目标结构化语句,在所述目标结构化语句对应的分词序列关联的报表中获取数据;根据获取到的数据和目标报表模板生成目标报表;
所述发送模块,被配置为将所述目标报表作为搜索结果返回给所述终端。
另一方面,提供了一种数据获取装置,所述装置包括:
显示模块,被配置为显示搜索页面;
发送模块,被配置为基于所述搜索页面向服务器发送数据查询请求,所述数据查询请求中包括基于自然语言的查询文本;
其中,所述服务器用于基于目标领域的知识图谱对所述查询文本中的部分词语进行同义词替换,得到替换文本;其中,所述目标领域与所述查询文本所属的领域一致;对所述替换文本进行多种分词处理,得到多个分词序列;在所述多个分词序列中筛选概率值排在前指定数目位的分词序列;其中,所述概率值用于衡量相应分词序列的分词结果合理性;对所述前指定数目位的分词序列进行转化处理,得到基于结构化查询语言的多个结构化语句;
接收模块,被配置为接收所述服务器返回的基于自然语言的多个确认文本,所述多个确认文本是基于所述多个结构化语句得到的;
所述显示模块,还被配置为显示所述多个确认文本;
所述发送模块,还被配置为响应于对所述多个确认文本中任意确认文本的选中操作,向所述服务器发送被选中的确认文本;
所述显示模块,还被配置为显示所述服务器返回的基于目标结构化语句获取到的数据;其中,所述目标结构化语句与被选中的确认文本相匹配。
另一方面,提供了一种计算机设备,所述设备包括处理器和存储器,所述存储器中存储有至少一条程序代码,所述至少一条程序代码由所述处理器加载并执行以实现上述的数据获取方法。
另一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条程序代码,所述至少一条程序代码由处理器加载并执行以实现上述的数据获取方法。
另一方面,提供了一种计算机程序产品,该计算机程序产品包括计算机程序代码,该计算机程序代码存储在计算机可读存储介质中,计算机设备的处理器从计算机可读存储介质读取该计算机程序代码,处理器执行该计算机程序代码,使得该计算机设备执行上述的数据获取方法。
本申请实施例在获取数据时仅需用户通过搜索页面输入基于自然语言的查询文本和执行简单的确认操作,而无需执行对报表指标和报表维度进行勾选这样复杂且精细的操作,数据获取效率高。换一种表达方式,本申请实施例提供了类似搜索引擎的数据获取方式,避免了复杂的操作步骤,方便用户快捷完成数据获取,即便在移动终端上也可轻松操作,数据获取效率高。
详细来讲,在接收到终端基于搜索页面发送的数据查询请求后,会进行分词处理、分词序列排序、结构化语句转化以及向终端返回基于自然语言的多个确认文本等一系列处理,以便于根据用户输入的查询文本,解析出符合用户取数意图的目标结构化语句,进而实现根据目标结构化语句完成取数。其中,目标结构化语句与用户选中的确认文本相匹配,也即本申请实施例会返回多个确认文本供用户确认,进而根据用户确认结果完成取数,这种数据获取方式在提升了数据获取效率的前提下,还同时确保了数据获取的准确率。另外,在进行分词处理之前,还会先利用知识图谱对查询文本进行同义词替换,以弥合用户和平台之间的理解差异,更好地理解用户多样化的表达方式,这种处理方式能够正确的召回用户关心的数据。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据一示例性实施例示出的一种数据获取方法的实施环境示意图;
图2是根据一示例性实施例示出的一种数据获取方法的流程图;
图3是根据一示例性实施例示出的另一种数据获取方法的流程图;
图4是根据一示例性实施例示出的一种报表的示意图;
图5是根据一示例性实施例示出的一种分词序列排序的示意图;
图6是根据一示例性实施例示出的一种SQL预测的示意图;
图7是根据一示例性实施例示出的一种搜索页面的示意图;
图8是根据一示例性实施例示出的另一种搜索页面的示意图;
图9是根据一示例性实施例示出的另一种搜索页面的示意图;
图10是根据一示例性实施例示出的一种数据获取装置的结构示意图;
图11是根据一示例性实施例示出的另一种数据获取装置的结构示意图;
图12是根据一示例性实施例示出的一种计算机设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
本申请中术语“第一”、“第二”等字样用于对作用和功能基本相同的相同项或相似项进行区分,应理解,“第一”、“第二”、“第n”之间不具有逻辑或时序上的依赖关系,也不对数量和执行顺序进行限定。还应理解,尽管以下描述使用术语第一、第二等来描述各种元素,但这些元素不应受术语的限制。
这些术语只是用于将一个元素与另一个元素区别开。例如,在不脱离各种示例的范围的情况下,第一元素能够被称为第二元素,并且类似地,第二元素也能够被称为第一元素。第一元素和第二元素都可以是元素,并且在某些情况下,可以是单独且不同的元素。
其中,至少一个是指一个或一个以上,例如,至少一个元素可以是一个元素、两个元素、三个元素等任意大于等于一的整数个元素。而多个是指两个或者两个以上,例如,多个元素可以是两个元素、三个元素等任意大于等于二的整数个元素。
需要说明的是,本申请所涉及的信息(包括但不限于用户设备信息、用户个人信息等)、数据(包括但不限于用于分析的数据、存储的数据、展示的数据等)以及信号,均为经用户授权或者经过各方充分授权的,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
下面对本申请实施例提供的数据获取方法的实施环境进行介绍。
图1是根据一示例性实施例示出的一种数据获取方法的实施环境示意图。
该实施环境包括:终端101和服务器102。其中,终端101和服务器102通过网络连接。示例性地,终端101负责显示搜索页面,该搜索页面包括搜索框和搜索控件;用户在搜索框中输入基于自然语言的查询文本后触发搜索控件;响应于该搜索控件被触发,终端101向服务器102发送数据查询请求,该数据查询请求中包括基于自然语言的查询文本;而服务器102在接收到该查询文本后,会查询相关数据并返回给终端101。
在一些可能的实现方式中,终端101可以是智能手机、与车辆一体的车载终端等,但并不局限于此。图1仅是以终端101为智能手机为例进行举例说明。
在另一些可能的实现方式中,终端101泛指多个设备中的一个,本申请实施例仅以终端101来举例说明。本领域技术人员能够知晓,上述终端101的数量能够更多。比如上述终端101为几十个或几百个,或者更多数量,此时上述数据获取方法的实施环境还包括其他终端。本申请实施例对终端的数量和类型不加以限定。
在另一些可能的实现方式中,服务器102可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群,本申请在此不做限制。
在另一些可能的实现方式中,服务器102为SaaS BI平台,本申请实施例提出了一种应用于SaaS BI平台的数据获取方法,用户以自然语言提问,即用户输入基于自然语言的查询文本,而SaaS BI平台通过解析该查询文本,可以帮助用户在众多报表中查找相关报表并向用户推荐查找到的相关报表;或者,根据该查询文本描述的条件灵活地取出数据并根据取出的数据按需生成报表,本申请在此不做限制。
其中,本申请实施例实现了报表搜索,即提供了类似搜索引擎的数据获取方式,用户像使用搜索引擎一样,通过搜索关心的报表指标、报表维度或报表主题等,即可定位到对应的报表。
另外,本申请实施例还实现了自助取数,即使是不懂相关专业技术的用户也可以通过输入基于自然语言的查询文本完成在报表数据库取数,避免了复杂的操作步骤,方便用户快捷取数,在移动终端上也可轻松操作,数据获取效率高。
另外,本申请实施例还能够可理解歧义词语。通常情况下,用户的语言体系和SaaSBI平台的语言体系存在差异,例如用户常用的词语“流水”在SaaS BI平台中对应的是词语“实收”,且SaaS BI平台的报表数据库包含的报表往往数量巨大,因此用户一般很难快速定位到其所关心的数据。为此,本申请实施例利用积累的行业知识图谱来弥合用户和平台之间的理解差异,以便正确的召回用户关心的数据。
综上所述,本申请实施例提供的数据获取方法可以高效率地帮助用户在众多报表中定位所需的报表或者根据用户描述的条件灵活地实现取数,从而方便用户快捷地获取数据,比如快捷地获取日常经营指标。另外,本申请实施例提供的数据获取方法可以应用于各行各业的报表搜索和自助取数场景。
下面对本申请实施例提供的数据获取方法进行详细地解释说明。
图2是根据一示例性实施例示出的一种数据获取方法的流程图,该数据获取方法的执行主体为计算机设备,比如图1中的服务器。参见图2,该数据获取方法包括以下步骤:
201、服务器接收终端基于搜索页面发送的数据查询请求,该数据查询请求中包括基于自然语言的查询文本。
其中,自然语言(Natural Language,NL)通常是指一种自然地随文化演化的语言;例如,汉语、英语、日语都是自然语言的例子。
在本申请实施例中,终端会显示一个搜索页面,该搜索页面包括搜索框和搜索控件;用户在搜索框中输入基于自然语言的查询文本后触发搜索控件;响应于该搜索控件被触发,终端会向服务器发送数据查询请求,该数据查询请求中包括用户输入的查询文本。也即,用户像使用搜索引擎一样通过输入查询文本即可完成报表搜索和自助取数。其中,该查询文本可以是一个词语或一个句子等,本申请在此不做限制。示例性地,以该查询文本为一个句子为例,则该查询文本可以为“昨天营业收入超过1000的门店有哪些”。
202、服务器基于目标领域的知识图谱对该查询文本中的部分词语进行同义词替换,得到替换文本;其中,目标领域与该查询文本所属的领域一致。
该步骤属于对用户输入的查询文本进行预处理的步骤。通常情况下,用户的语言体系和SaaS BI平台的语言体系存在差异,为了帮助用户快速定位到其所关心的数据,本申请实施例会利用积累的行业知识图谱来弥合用户和平台之间的理解差异,以便正确的召回用户关心的数据。
其中,上述部分词语是指在目标领域的知识图谱中对应有同义词的词语,该步骤可以实现将用户理解的行业词语转换为可以被平台侧理解的专业术语。在该查询文本中识别到这些词语后,利用知识图谱中相应的同义词来替换这些词语,即可完成同义词替进而得到替换文本。
在一些可能的实现方式中,对用户输入的查询文本进行预处理还可以包括去除空格和标点符号等,本申请在此不做限制。另外,如果该查询文本中的全部词语在目标领域的知识图谱中均不存在同义词,那么可以跳过步骤202而直接执行步骤203。
203、服务器对该替换文本进行多种分词处理,得到多个分词序列。
在一些可能的实现方式中,可以基于不同的分词算法对该替换文本进行多种分词处理,进而得到多个分词序列,本申请在此不做限制。
需要说明的第一点是,无论采用何种分词算法进行分词处理,均是通过分词处理将该替换文本切分成由若干个词语组成分词序列(也称分词片段)。以该替换文本为“昨天营业收入超过1000的门店有哪些”,则一种可能的分词处理结果为昨天、营业、收入、大于、1000、的、门店、有、哪些。
在另一些可能的实现方式中,在得到分词序列后本申请实施例还会对各个分词序列中的词语进行命名实体识别(Named Entity Recognition,NER),以将分词处理后得到的词语识别为预先定义的类别。示例性地,预先定义的类别包括[报表,指标,维度,维度值,条件],其中,上述类别在本文中也称报表要素类别,即上述[报表,指标,维度,维度值,条件]中每一种都属于报表要素。另外,此处的报表通常指代报表主题,即识别分词处理后得到的词语是否属于报表主题;指标和维度指代报表指标和报表维度,而之所以将维度和纬度值单独列出来,是因为在某些场景下一个句子中同时出现了维度和纬度值。例如针对“A市各门店的营业收入怎么样”这个句子,A市属于维度值,而门店则属于维度。另外,维度这个类别下包括时间维度;而上述大于1000即为条件。
需要说明的第二点是,通过NER识别即可将上述分词序列所关联的报表信息解析出来,使得每个分词序列关联上相关的报表。也即,针对上述每个分词序列,本申请实施例将在该分词序列中识别出来的[报表,指标,维度,维度值,条件]按照所属的报表分组,使得该分词序列关联上相关的报表。
在另一些可能的实现方式中,对于任意一个分词序列,响应于该分词序列中的词语与报表数据库中第一报表的报表主题匹配,将第一报表确定为该分词序列关联的报表;或者,响应于该分词序列中的词语与报表数据库中第二报表的报表指标匹配,将第二报表确定为该分词序列关联的报表;或者,响应于该分词序列中的词语与报表数据库中第三报表的报表维度匹配,将第三报表确定为该分词序列关联的报表。其中,此处的第一、第二和第三仅是用于区分不同的报表,而不构成任何其他的限定。
在另一些可能的实现方式中,在对分词序列完成NER识别后,可以使用相应的类别标签来替换相应的分词,进而得到另一种形式的分词序列,该种形式的分词序列在本文中也称分词序列模板。示例性地,对于任意一个分词序列,确定该分词序列中的词语所属的报表要素类别;将该分词序列中的词语替换为相应报表要素类别的类别标签,得到该分词序列模板。
以“A市各门店的营业收入怎么样”这句话为例,则一种可能的分词方式为“A市各门店的营业收入怎么样”,其中,“A市”属于维度值,“门店”属于维度,“营业收入”属于指标,其中,维度值的类别标签可以是“dimension.value”,维度的类别标签可以是“dimension”,指标的类别标签可以是“measure”,因此相应的分词序列模板就可以是“[dimension.value]各[dimension]的[measure]怎么样”,本申请在此不做限制。
204、服务器在多个分词序列中筛选概率值排在前指定数目位的分词序列;其中,该概率值用于衡量相应分词序列的分词结果合理性。
该步骤即是对上述多个分词序列进行排序。示例性地,本申请实施例按照分词结果合理性在上述多个分词序列中进行筛选,得到若干个分词序列,这些筛选出来的分词序列即对应上述概率值排在前指定数目位的分词序列。
205、服务器对前指定数目位的分词序列进行转化处理,得到基于结构化查询语言的多个结构化语句。
该步骤即是进行结构化查询语言(Structured Query Language,SQL)预测,即将概率值较高的分词序列送入结构化语句生成模型,从而预测出相应的SQL语句。示例性地,该结构化语句生成模型为深度学习模型,比如Text2SQL模型。
206、服务器基于多个结构化语句,向终端返回基于自然语言的多个确认文本。
该步骤即是将上一步骤生成的SQL语句翻译成用户能够理解的基于自然语言的确认文本,其中,基于多个SQL语句会生成多个确认文本,即一个结构化语句对应一个确认文本。而终端在接收到服务器返回的多个确认文本后负责展示这些确认文本,以方便用户选择符合其意图的确认文本。
示例性地,终端可以在搜索页面上以弹窗的方式展示这些确认文本;或者,终端还可以在搜索页面的目标区域展示这些确认文本,本申请在此不做限制。
207、服务器基于目标结构化语句获取数据,将获取到的数据作为搜索结果返回给终端;其中,目标结构化语句与终端选中的确认文本相匹配。
该步骤即是在确定用户选中的确认文本后,根据选中的确认文本对应的SQL语句执行取数并向终端返回取数结果。示例性地,获取到的数据可以是某张报表指标下的数据,而这张报表指标可能会出现在一张或多张报表中。
本申请实施例在获取数据时仅需用户通过搜索页面输入基于自然语言的查询文本和执行简单的确认操作,而无需执行对报表指标和报表维度进行勾选这样复杂且精细的操作,数据获取效率高。换一种表达方式,本申请实施例提供了类似搜索引擎的数据获取方式,避免了复杂的操作步骤,方便用户快捷完成数据获取,即便在移动终端上也可轻松操作,数据获取效率高。
详细来讲,在接收到终端基于搜索页面发送的数据查询请求后,会进行分词处理、分词序列排序、结构化语句转化以及向终端返回基于自然语言的多个确认文本等一系列处理,以便于根据用户输入的查询文本,采用规则算法和深度学习相结合的方式,解析出符合用户取数意图的目标结构化语句,进而实现根据目标结构化语句完成取数。其中,目标结构化语句与用户选中的确认文本相匹配,也即本申请实施例会返回多个确认文本供用户确认,进而根据用户确认结果完成取数,这种数据获取方式在提升了数据获取效率的前提下,还同时确保了数据获取的准确率。另外,在进行分词处理之前,还会先利用知识图谱对查询文本进行同义词替换,以弥合用户和平台之间的理解差异,更好地理解用户多样化的表达方式,这种处理方式能够正确的召回用户关心的数据。
以上通过图2对应的实施例简要介绍了本申请实施例提供的数据获取方法。下面通过图3对应的实施例对本申请实施例提供的数据获取方法进行详细介绍。
图3是根据一示例性实施例示出的另一种数据获取方法的流程图,以终端和服务器之间交互为例,参见图3,该数据获取方法包括以下步骤:
301、终端显示搜索页面,基于该搜索页面向服务器发送数据查询请求,该数据查询请求中包括基于自然语言的查询文本。
本步骤与上述步骤201同理,此处不再赘述。
302、服务器基于目标领域的知识图谱对该查询文本中的部分词语进行同义词替换,得到替换文本;其中,目标领域与该查询文本所属的领域一致。
本步骤与上述步骤202同理,此处不再赘述。
303、服务器对该替换文本进行多种分词处理,得到多个分词序列。
本步骤与上述步骤203同理,此处不再赘述。
304、服务器在多个分词序列中筛选概率值排在前指定数目位的分词序列;其中,该概率值用于衡量相应分词序列的分词结果合理性。
该步骤即是通过语言模型和分词序列关联的报表选择概率值最大的若干个分词序列。在一些可能的实现方式中,在多个分词序列中筛选概率值排在前指定数目位的分词序列,包括但不限于如下方式:
3041、确定各个分词序列关联的报表;根据语言模型和各个分词序列关联的报表确定各个分词序列的概率值。
在本申请实施例中,语言模型用于给出各个分词序列符合用户语言习惯的概率,通俗来讲语言模型负责给出各个分词序列说人话的概率。
示例性地,语言模型是基于第一样本语料对第一预训练模型进行再训练后得到的,其中,此处的再训练也即是采用自己的数据集(第一样本语料)对第一预训练模型进行微调,而第一预训练模型是在通用数据集上预先训练得到的一个模型。另外,为了与后文出现的模型预训练进行区分,此处的模型预训练也被称为第一模型预训练。
在另一些可能的实现方式中,分词序列关联的报表用于调整语言模型输出的相应分词序列的概率值。示例性地,假设一个分词序列没有关联上任何报表,那么降低语言模型输出的该分词序列的概率值。
3042、按照概率值由大到小的顺序对多个分词序列进行排序;根据得到的排序结果,在多个分词序列中筛选概率值排在前指定数目位的分词序列。
下面以一个具体的例子对分词序列排序进行说明。
示例性地,以“昨天营业收入超过1000的门店有哪些”这个句子为例,则在分词处理过程中,作为报表指标的“营业收入”很可能被切分为“营业”和“收入”两个词,其中,“营业”和“收入”均被识别为报表指标,以“营业”关联上两张报表,分别为图4所示的报表1和报表2,而“收入”关联上图4所示的报表2为例,由于二者均关联上了报表1的“营业收入”指标,因此合理的切分方式应该是“营业收入”,即将营业收入作为一个词切分出来。相应地,语言模型也会据此对相关分词序列的排序进行调整,也即将营业收入作为一个词切分出来的相关分词序列的概率值调高,以使其排序在较前的位置。示例性地,图5给出了一种可能的排序方式。即,[维度][报表1.指标]出现的概率大于[维度][报表1.指标][报表2.指标]的概率。其中,上述[报表1.指标]和[报表2.指标]是指“营业”和“收入”关联的报表信息。在图5中,一个分词序列是将“营业收入”作为一个词切分出来,关联到报表1;另一个分词序列是将“营业收入”作为两个词切分出来,因此关联上两个报表,即报表1和报表2。
在另一些可能的实现方式中,如果用户输入的查询文本仅关联到一张报表,比如该查询文本与该报表的主题相匹配,则向终端返回该报表以供用户查看;如果该查询文本仅关联到一个报表指标,则向终端返回该报表指标所在的报表以供用户查看;如果该查询文本仅关联到一个报表维度,则向终端返回该报表维度所在的报表以供用户查看。例如,假设该查询文本为“营业”,定位到一张报表“营业概览”,因此向终端返回“营业概览”报表。
305、服务器对前指定数目位的分词序列进行转化处理,得到基于结构化查询语言的多个结构化语句。
该步骤即是进行SQL预测。在一些可能的实现方式中,对前指定数目位的分词序列进行转化处理,得到基于结构化查询语言的多个结构化语句,包括但不限于如下方式:
3051、对于任意一个分词序列,确定该分词序列中的词语所属的报表要素类别;将该分词序列中的词语替换为相应报表要素类别的类别标签,得到该分词序列模板。
需要说明的第一点是,如果在执行步骤305之前已经得到了分词序列模板,则可以跳过本步骤直接执行下述步骤3052。
3052、基于结构化语句生成模型对该分词序列模板进行转化处理,得到基于结构化查询语言的句式模板。
示例性地,结构化语句生成模型是基于第二样本语料对第二预训练模型进行再训练后得到的,其中,此处的再训练也即是采用自己的数据集(第二样本语料)对第二预训练模型进行微调,而第二预训练模型是在通用数据集上预先训练得到的一个模型。另外,为了与前文出现的模型预训练进行区分,此处的模型预训练也被称为第二模型预训练。
在另一些可能的实现方式中,生成式模型均可用于完成Text2SQL任务,仅需进行相应的训练即可。示例性地,该生成式模型为采用编码器-解码器结构的T5模型,本申请在此不做限制。其中,以编码器-解码器结构做SQL预测,能够更好的利用深度学习的泛化能力。
下面以一个具体的例子对SQL预测过程进行说明。
如图6所示,模型的输入为分词序列模板,模型的输出为相应的SQL结构。示例性地,以“昨天营业收入超过1000的门店有哪些”这个句子为例,则在进行分词处理后,得到的相应分词序列模板可以是“[dimension.value]各[dimension]”,在进行模型进行Text2SQL的转化处理后,模型可以预测出类似如下所述的SQL结构:SELECT[measure],[dimension]WHERE
${dimension.value}.name=[dimension.value]GROUPBY dimension
3053、根据该分词序列关联的报表,在该句式模板中的各个类别标签位置处插入相应的报表要素取值,得到基于结构化查询语言的结构化语句。
其中,在得到SQL结构后下一步即是与该分词序列关联的报表相结合,以为SQL结构中属于类别标签的位置赋予具体的报表要素取值。示例性地,在关联的报表中城市具体为A市,因此在上述SQL结构中measure=营业收入,dimension=门店,dimension.value=A市,因此上述SQL结构可以转化为最终可执行的SQL语句“SELECT营业收入,门店WHERE城市=A市GROUPBY门店”
306、服务器基于多个结构化语句,向终端返回基于自然语言的多个确认文本。
本步骤与上述步骤206同理,此处不再赘述。
307、终端显示多个确认文本;响应于对多个确认文本中任意确认文本的选中操作,向服务器发送被选中的确认文本。
本步骤与上述步骤207同理,此处不再赘述。
308、服务器基于目标结构化语句获取数据,将获取到的数据作为搜索结果返回给终端;其中,目标结构化语句与终端选中的确认文本相匹配。
在一些可能的实现方式中,可以根据获取到的数据按需生成报表,以将获取到的数据以报表形式返回给终端。换一种表达方式,基于目标结构化语句获取数据,将获取到的数据作为搜索结果返回给终端,包括:基于目标结构化语句,在目标结构化语句对应的分词序列关联的报表中获取数据;根据获取到的数据和目标报表模板生成目标报表,将目标报表作为搜索结果返回给终端。其中,目标报表模板可以是服务器根据获取到的数据自动匹配到的模板,本申请在此不做限制。
309、终端显示服务器以搜索结果形式返回的数据。
示例性地,终端可以在搜索页面上以弹窗的方式展示搜索结果;或者,终端还可以在搜索页面的目标区域展示搜索结果,本申请在此不做限制。
其中,图7示出了自助取数过程。用户在输入查询文本“昨天的营业收入是多少”后,服务器通过上述步骤301-308完成取数并返回给终端相关指标下的数据,进而由终端显示相关指标下的数据,至此取数过程结束。
以上介绍了自助取数过程。除此之外,本申请实施例还可以实现报表搜索并向终端返回相关的报表,也即实现报表定位。如前文所述,通过NER识别即可将分词处理后得到的分词序列所关联的报表信息解析出来,使得每个分词序列关联上相关的报表。示例性地,本申请实施例还包括:向终端返回多个分词序列中各个分词序列关联的报表;或,向终端返回前指定数目位的分词序列关联的报表;或,向终端返回目标结构化语句对应的分词序列关联的报表。示例性地,图8示出了报表定位过程,用户在输入查询文本“店内订单”后,服务器定位相关报表并返回给终端,进而由终端显示相关报表,至此报表定位过程结束。而图9则是示出了报表定位和自助取数过程,用户在输入查询文本“折前单均”后,服务器定位相关报表并获取相关指标下的数据,然后返回给终端,进而由终端显示相关报表和相关指标下的数据。其中,折前单均是指打折前每单平均收入。
本申请实施例在获取数据时仅需用户通过搜索页面输入基于自然语言的查询文本和执行简单的确认操作,而无需执行对报表指标和报表维度进行勾选这样复杂且精细的操作,数据获取效率高。换一种表达方式,本申请实施例提供了类似搜索引擎的数据获取方式,避免了复杂的操作步骤,方便用户快捷完成数据获取,即便在移动终端上也可轻松操作,数据获取效率高。
详细来讲,在接收到终端基于搜索页面发送的数据查询请求后,会进行分词处理、分词序列排序、结构化语句转化以及向终端返回基于自然语言的多个确认文本等一系列处理,以便于根据用户输入的查询文本,采用规则算法和深度学习相结合的方式,解析出符合用户取数意图的目标结构化语句,进而实现根据目标结构化语句完成取数。其中,目标结构化语句与用户选中的确认文本相匹配,也即本申请实施例会返回多个确认文本供用户确认,进而根据用户确认结果完成取数,这种数据获取方式在提升了数据获取效率的前提下,还同时确保了数据获取的准确率。
另外,在进行分词处理之前,还会先利用知识图谱对查询文本进行同义词替换,以弥合用户和平台之间的理解差异,更好地理解用户多样化的表达方式,这种处理方式能够正确的召回用户关心的数据。
另外,本申请实施例实现了报表搜索,即提供了类似搜索引擎的数据获取方式,用户像使用搜索引擎一样,通过搜索关心的报表指标、报表维度或报表主题等,即可定位到对应的报表。
综上所述,本申请实施例以Pipeline的方式将最终目标拆解成多阶段任务,并在过程中加入积累了行业知识的知识图谱,实现以规则算法和深度学习相结合的方式完成数据获取,可解释性和迁移性更强。该种数据获取方法可以高效率地帮助用户在众多报表中定位所需的报表或者根据用户描述的条件灵活地实现取数,从而方便用户快捷地获取数据。
图10是根据一示例性实施例示出的一种数据获取装置的结构示意图。参见图10,该装置包括:
接收模块1001,被配置为接收终端基于搜索页面发送的数据查询请求,所述数据查询请求中包括基于自然语言的查询文本;
第一处理模块1002,被配置为基于目标领域的知识图谱对所述查询文本中的部分词语进行同义词替换,得到替换文本;其中,所述目标领域与所述查询文本所属的领域一致;
第二处理模块1003,被配置为对所述替换文本进行多种分词处理,得到多个分词序列;在所述多个分词序列中筛选概率值排在前指定数目位的分词序列;其中,所述概率值用于衡量相应分词序列的分词结果合理性;
第三处理模块1004,被配置为对所述前指定数目位的分词序列进行转化处理,得到基于结构化查询语言的多个结构化语句;
发送模块1005,被配置为基于所述多个结构化语句,向所述终端返回基于自然语言的多个确认文本;
获取模块1006,被配置为基于目标结构化语句获取数据;
发送模块1005,还被配置为将获取到的数据作为搜索结果返回给所述终端;其中,所述目标结构化语句与所述终端选中的确认文本相匹配。
本申请实施例在获取数据时仅需用户通过搜索页面输入基于自然语言的查询文本和执行简单的确认操作,而无需执行对报表指标和报表维度进行勾选这样复杂且精细的操作,数据获取效率高。换一种表达方式,本申请实施例提供了类似搜索引擎的数据获取方式,避免了复杂的操作步骤,方便用户快捷完成数据获取,即便在移动终端上也可轻松操作,数据获取效率高。详细来讲,在接收到终端基于搜索页面发送的数据查询请求后,会进行分词处理、分词序列排序、结构化语句转化以及向终端返回基于自然语言的多个确认文本等一系列处理,以便于根据用户输入的查询文本,解析出符合用户取数意图的目标结构化语句,进而实现根据目标结构化语句完成取数。其中,目标结构化语句与用户选中的确认文本相匹配,也即本申请实施例会返回多个确认文本供用户确认,进而根据用户确认结果完成取数,这种数据获取方式在提升了数据获取效率的前提下,还同时确保了数据获取的准确率。另外,在进行分词处理之前,还会先利用知识图谱对查询文本进行同义词替换,以弥合用户和平台之间的理解差异,更好地理解用户多样化的表达方式,这种处理方式能够正确的召回用户关心的数据。
在一些可能的实现方式中,第二处理模块1003,被配置为:
确定所述多个分词序列中各个分词序列关联的报表;
根据语言模型和各个分词序列关联的报表确定各个分词序列的概率值;其中,所述语言模型是基于第一样本语料对第一预训练模型进行再训练后得到的,所述第一预训练模型是通过第一模型预训练得到的;
按照概率值由大到小的顺序对所述多个分词序列进行排序;
根据得到的排序结果,在所述多个分词序列中筛选概率值排在前指定数目位的分词序列。
在一些可能的实现方式中,对于任意一个分词序列,所述分词序列关联的报表,包括以下一项或多项:
响应于所述分词序列中的词语与第一报表的报表主题匹配,所述第一报表为所述分词序列关联的报表;
响应于所述分词序列中的词语与第二报表的报表指标匹配,所述第二报表为所述分词序列关联的报表;
响应于所述分词序列中的词语与第三报表的报表维度匹配,所述第三报表为所述分词序列关联的报表。
在一些可能的实现方式中,第三处理模块1004,被配置为:
对于任意一个分词序列,确定所述分词序列中的词语所属的报表要素类别;
将所述分词序列中的词语替换为相应报表要素类别的类别标签,得到分词序列模板;
基于结构化语句生成模型对所述分词序列模板进行转化处理,得到基于结构化查询语言的句式模板;其中,所述结构化语句生成模型是基于第二样本语料对第二预训练模型进行再训练后得到的,所述第二预训练模型是通过第二模型预训练得到的;
根据所述分词序列关联的报表,在所述句式模板中的各个类别标签位置处插入相应的报表要素取值,得到基于结构化查询语言的结构化语句。
在一些可能的实现方式中,发送模块1005,还被配置为:
向所述终端返回所述多个分词序列中各个分词序列关联的报表;或,
向所述终端返回所述前指定数目位的分词序列关联的报表;或,
向所述终端返回所述目标结构化语句对应的分词序列关联的报表。
在一些可能的实现方式中,获取模块1006,被配置为基于所述目标结构化语句,在所述目标结构化语句对应的分词序列关联的报表中获取数据;根据获取到的数据和目标报表模板生成目标报表;
发送模块1005,被配置为将所述目标报表作为搜索结果返回给所述终端。
上述所有可选技术方案,可以采用任意结合形成本公开的可选实施例,在此不再一一赘述。
图11是根据一示例性实施例示出的另一种数据获取装置的结构示意图。参见图11,该装置包括:
显示模块1101,被配置为显示搜索页面;
发送模块1102,被配置为基于所述搜索页面向服务器发送数据查询请求,所述数据查询请求中包括基于自然语言的查询文本;
其中,所述服务器用于基于目标领域的知识图谱对所述查询文本中的部分词语进行同义词替换,得到替换文本;其中,所述目标领域与所述查询文本所属的领域一致;对所述替换文本进行多种分词处理,得到多个分词序列;在所述多个分词序列中筛选概率值排在前指定数目位的分词序列;其中,所述概率值用于衡量相应分词序列的分词结果合理性;对所述前指定数目位的分词序列进行转化处理,得到基于结构化查询语言的多个结构化语句;
接收模块1103,被配置为接收所述服务器返回的基于自然语言的多个确认文本,所述多个确认文本是基于所述多个结构化语句得到的;
显示模块1101,还被配置为显示所述多个确认文本;
发送模块1102,还被配置为响应于对所述多个确认文本中任意确认文本的选中操作,向所述服务器发送被选中的确认文本;
显示模块1101,还被配置为显示所述服务器返回的基于目标结构化语句获取到的数据;其中,所述目标结构化语句与被选中的确认文本相匹配。
本申请实施例在获取数据时仅需用户通过搜索页面输入基于自然语言的查询文本和执行简单的确认操作,而无需执行对报表指标和报表维度进行勾选这样复杂且精细的操作,数据获取效率高。换一种表达方式,本申请实施例提供了类似搜索引擎的数据获取方式,避免了复杂的操作步骤,方便用户快捷完成数据获取,即便在移动终端上也可轻松操作,数据获取效率高。详细来讲,在接收到终端基于搜索页面发送的数据查询请求后,会进行分词处理、分词序列排序、结构化语句转化以及向终端返回基于自然语言的多个确认文本等一系列处理,以便于根据用户输入的查询文本,解析出符合用户取数意图的目标结构化语句,进而实现根据目标结构化语句完成取数。其中,目标结构化语句与用户选中的确认文本相匹配,也即本申请实施例会返回多个确认文本供用户确认,进而根据用户确认结果完成取数,这种数据获取方式在提升了数据获取效率的前提下,还同时确保了数据获取的准确率。另外,在进行分词处理之前,还会先利用知识图谱对查询文本进行同义词替换,以弥合用户和平台之间的理解差异,更好地理解用户多样化的表达方式,这种处理方式能够正确的召回用户关心的数据。
需要说明的是:上述实施例提供的数据获取装置在获取数据时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的数据获取装置与数据获取方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图12是本申请实施例提供的一种计算机设备1200的结构示意图。该计算机1200可以是服务器。该计算机设备1200可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(Central Processing Units,CPU)1201和一个或一个以上的存储器1202,其中,所述存储器1202中存储有至少一条程序代码,所述至少一条程序代码由所述处理器1201加载并执行以实现上述各个方法实施例提供的数据获取方法。当然,该计算机设备1200还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该计算机设备1200还可以包括其他用于实现设备功能的部件,在此不做赘述。
在示例性实施例中,还提供了一种计算机可读存储介质,例如包括程序代码的存储器,上述程序代码可由计算机设备中的处理器执行以完成上述实施例中的数据获取方法。例如,所述计算机可读存储介质可以是只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、光盘只读存储器(Compact Disc Read-OnlyMemory,CD-ROM)、磁带、软盘和光数据存储设备等。
在示例性实施例中,还提供了一种计算机程序产品,该计算机程序产品包括计算机程序代码,该计算机程序代码存储在计算机可读存储介质中,计算机设备的处理器从计算机可读存储介质读取该计算机程序代码,处理器执行该计算机程序代码,使得该计算机设备执行上述数据获取方法。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种数据获取方法,其特征在于,所述方法包括:
接收终端基于搜索页面发送的数据查询请求,所述数据查询请求中包括基于自然语言的查询文本;
基于目标领域的知识图谱对所述查询文本中的部分词语进行同义词替换,得到替换文本;其中,所述目标领域与所述查询文本所属的领域一致;
对所述替换文本进行多种分词处理,得到多个分词序列;
在所述多个分词序列中筛选概率值排在前指定数目位的分词序列;其中,所述概率值用于衡量相应分词序列的分词结果合理性;
对所述前指定数目位的分词序列进行转化处理,得到基于结构化查询语言的多个结构化语句;
基于所述多个结构化语句,向所述终端返回基于自然语言的多个确认文本;
基于目标结构化语句获取数据,将获取到的数据作为搜索结果返回给所述终端;其中,所述目标结构化语句与所述终端选中的确认文本相匹配。
2.根据权利要求1所述的方法,其特征在于,所述在所述多个分词序列中筛选概率值排在前指定数目位的分词序列,包括:
确定所述多个分词序列中各个分词序列关联的报表;
根据语言模型和各个分词序列关联的报表确定各个分词序列的概率值;其中,所述语言模型是基于第一样本语料对第一预训练模型进行再训练后得到的,所述第一预训练模型是通过第一模型预训练得到的;
按照概率值由大到小的顺序对所述多个分词序列进行排序;根据得到的排序结果,在所述多个分词序列中筛选概率值排在前指定数目位的分词序列;
其中,对于任意一个分词序列,所述分词序列关联的报表,包括以下一项或多项:响应于所述分词序列中的词语与第一报表的报表主题匹配,所述第一报表为所述分词序列关联的报表;响应于所述分词序列中的词语与第二报表的报表指标匹配,所述第二报表为所述分词序列关联的报表;响应于所述分词序列中的词语与第三报表的报表维度匹配,所述第三报表为所述分词序列关联的报表。
3.根据权利要求1所述的方法,其特征在于,所述对所述前指定数目位的分词序列进行转化处理,得到基于结构化查询语言的多个结构化语句,包括:
对于任意一个分词序列,确定所述分词序列中的词语所属的报表要素类别;
将所述分词序列中的词语替换为相应报表要素类别的类别标签,得到分词序列模板;
基于结构化语句生成模型对所述分词序列模板进行转化处理,得到基于结构化查询语言的句式模板;其中,所述结构化语句生成模型是基于第二样本语料对第二预训练模型进行再训练后得到的,所述第二预训练模型是通过第二模型预训练得到的;
根据所述分词序列关联的报表,在所述句式模板中的各个类别标签位置处插入相应的报表要素取值,得到基于结构化查询语言的结构化语句。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
向所述终端返回所述多个分词序列中各个分词序列关联的报表;或,
向所述终端返回所述前指定数目位的分词序列关联的报表;或,
向所述终端返回所述目标结构化语句对应的分词序列关联的报表。
5.根据权利要求1所述的方法,其特征在于,所述基于目标结构化语句获取数据,将获取到的数据作为搜索结果返回给所述终端,包括:
基于所述目标结构化语句,在所述目标结构化语句对应的分词序列关联的报表中获取数据;
根据获取到的数据和目标报表模板生成目标报表,将所述目标报表作为搜索结果返回给所述终端。
6.一种数据获取方法,其特征在于,所述方法包括:
显示搜索页面,基于所述搜索页面向服务器发送数据查询请求,所述数据查询请求中包括基于自然语言的查询文本;
其中,所述服务器用于基于目标领域的知识图谱对所述查询文本中的部分词语进行同义词替换,得到替换文本;其中,所述目标领域与所述查询文本所属的领域一致;对所述替换文本进行多种分词处理,得到多个分词序列;在所述多个分词序列中筛选概率值排在前指定数目位的分词序列;其中,所述概率值用于衡量相应分词序列的分词结果合理性;对所述前指定数目位的分词序列进行转化处理,得到基于结构化查询语言的多个结构化语句;
接收所述服务器返回的基于自然语言的多个确认文本,所述多个确认文本是基于所述多个结构化语句得到的;
显示所述多个确认文本;响应于对所述多个确认文本中任意确认文本的选中操作,向所述服务器发送被选中的确认文本;
显示所述服务器返回的基于目标结构化语句获取到的数据;其中,所述目标结构化语句与被选中的确认文本相匹配。
7.一种数据获取装置,其特征在于,所述装置包括:
接收模块,被配置为接收终端基于搜索页面发送的数据查询请求,所述数据查询请求中包括基于自然语言的查询文本;
第一处理模块,被配置为基于目标领域的知识图谱对所述查询文本中的部分词语进行同义词替换,得到替换文本;其中,所述目标领域与所述查询文本所属的领域一致;
第二处理模块,被配置为对所述替换文本进行多种分词处理,得到多个分词序列;在所述多个分词序列中筛选概率值排在前指定数目位的分词序列;其中,所述概率值用于衡量相应分词序列的分词结果合理性;
第三处理模块,被配置为对所述前指定数目位的分词序列进行转化处理,得到基于结构化查询语言的多个结构化语句;
发送模块,被配置为基于所述多个结构化语句,向所述终端返回基于自然语言的多个确认文本;
获取模块,被配置为基于目标结构化语句获取数据;
所述发送模块,还被配置为将获取到的数据作为搜索结果返回给所述终端;其中,所述目标结构化语句与所述终端选中的确认文本相匹配。
8.一种数据获取装置,其特征在于,所述装置包括:
显示模块,被配置为显示搜索页面;
发送模块,被配置为基于所述搜索页面向服务器发送数据查询请求,所述数据查询请求中包括基于自然语言的查询文本;
其中,所述服务器用于基于目标领域的知识图谱对所述查询文本中的部分词语进行同义词替换,得到替换文本;其中,所述目标领域与所述查询文本所属的领域一致;对所述替换文本进行多种分词处理,得到多个分词序列;在所述多个分词序列中筛选概率值排在前指定数目位的分词序列;其中,所述概率值用于衡量相应分词序列的分词结果合理性;对所述前指定数目位的分词序列进行转化处理,得到基于结构化查询语言的多个结构化语句;
接收模块,被配置为接收所述服务器返回的基于自然语言的多个确认文本,所述多个确认文本是基于所述多个结构化语句得到的;
所述显示模块,还被配置为显示所述多个确认文本;
所述发送模块,还被配置为响应于对所述多个确认文本中任意确认文本的选中操作,向所述服务器发送被选中的确认文本;
所述显示模块,还被配置为显示所述服务器返回的基于目标结构化语句获取到的数据;其中,所述目标结构化语句与被选中的确认文本相匹配。
9.一种计算机设备,其特征在于,所述设备包括处理器和存储器,所述存储器中存储有至少一条程序代码,所述至少一条程序代码由所述处理器加载并执行以实现如权利要求1至5中任一项权利要求所述的数据获取方法;或,如权利要求6所述的数据获取方法。
10.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条程序代码,所述至少一条程序代码由处理器加载并执行以实现如权利要求1至5中任一项权利要求所述的数据获取方法;或,如权利要求6所述的数据获取方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210770293.6A CN115203367A (zh) | 2022-06-30 | 2022-06-30 | 数据获取方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210770293.6A CN115203367A (zh) | 2022-06-30 | 2022-06-30 | 数据获取方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115203367A true CN115203367A (zh) | 2022-10-18 |
Family
ID=83579094
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210770293.6A Pending CN115203367A (zh) | 2022-06-30 | 2022-06-30 | 数据获取方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115203367A (zh) |
-
2022
- 2022-06-30 CN CN202210770293.6A patent/CN115203367A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108549656B (zh) | 语句解析方法、装置、计算机设备及可读介质 | |
EP4109295A1 (en) | Knowledge graph-based question answering method and apparatus, computer device, and medium | |
CN112035599B (zh) | 基于垂直搜索的查询方法、装置、计算机设备及存储介质 | |
CN110580308B (zh) | 信息审核方法及装置、电子设备、存储介质 | |
US11651014B2 (en) | Source code retrieval | |
CN110334186B (zh) | 数据查询方法、装置、计算机设备及计算机可读存储介质 | |
US11609748B2 (en) | Semantic code search based on augmented programming language corpus | |
CN112016313B (zh) | 口语化要素识别方法及装置、警情分析系统 | |
CN108228567B (zh) | 用于提取组织机构的简称的方法和装置 | |
CN116719520B (zh) | 代码生成方法及装置 | |
CN111339292A (zh) | 文本分类网络的训练方法、系统、设备及存储介质 | |
CN110941702A (zh) | 一种法律法规和法条的检索方法及装置、可读存储介质 | |
CN110968664A (zh) | 一种文书检索方法、装置、设备及介质 | |
CN115599356A (zh) | 一种数据处理方法、装置及相关设备 | |
CN117763126A (zh) | 知识检索方法、设备、存储介质及装置 | |
CN112749258A (zh) | 数据搜索的方法和装置、电子设备和存储介质 | |
CN114842982B (zh) | 一种面向医疗信息系统的知识表达方法、装置及系统 | |
CN112541091A (zh) | 图像搜索方法、装置、服务器和存储介质 | |
CN116127066A (zh) | 文本聚类方法、文本聚类装置、电子设备及存储介质 | |
CN115858742A (zh) | 问题文本扩充方法、装置、设备及存储介质 | |
CN115203206A (zh) | 数据内容搜索方法、装置、计算机设备及可读存储介质 | |
CN115203367A (zh) | 数据获取方法、装置、设备及存储介质 | |
CN114676258A (zh) | 一种基于患者症状描述文本的疾病分类智能服务方法 | |
CN114398482A (zh) | 一种词典构造方法、装置、电子设备及存储介质 | |
CN114328860A (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 |