CN117609458A - 一种基于人机对话的图表结果生成方法、装置及相关设备 - Google Patents
一种基于人机对话的图表结果生成方法、装置及相关设备 Download PDFInfo
- Publication number
- CN117609458A CN117609458A CN202311602625.0A CN202311602625A CN117609458A CN 117609458 A CN117609458 A CN 117609458A CN 202311602625 A CN202311602625 A CN 202311602625A CN 117609458 A CN117609458 A CN 117609458A
- Authority
- CN
- China
- Prior art keywords
- word
- target
- chart
- natural language
- language 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
- 238000000034 method Methods 0.000 title claims abstract description 54
- 238000005259 measurement Methods 0.000 claims abstract description 19
- 239000013598 vector Substances 0.000 claims description 48
- 230000008569 process Effects 0.000 claims description 21
- 230000006870 function Effects 0.000 claims description 15
- 230000011218 segmentation Effects 0.000 claims description 11
- 241000157593 Milvus Species 0.000 claims description 6
- 238000001914 filtration Methods 0.000 claims description 4
- 238000004590 computer program Methods 0.000 claims description 2
- 238000004891 communication Methods 0.000 description 7
- 230000003993 interaction Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000002452 interceptive effect Effects 0.000 description 3
- 238000003058 natural language processing Methods 0.000 description 3
- 238000013079 data visualisation Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
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/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
- G06F16/2433—Query languages
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种基于人机对话的图表结果生成方法、装置及相关设备,包括:基于用户输入的音频数据生成自然语言文本;在预设的第一数据库中获取与所述自然语言文本匹配的目标查询模板;从所述自然语言文本中提取各维度词、各度量词以及图表类型,所述维度词用于表示数据记录中的属性值,所述度量词用于表示数据记录中的指标值;基于所述查询模板、各维度词以及各度量词,确定目标查询语句;利用所述目标查询语句在预设的第二数据库中获取目标数据;基于所述图表类型以及所述目标数据,生成图表结果。本申请利用预设的查询模板,对于用户的语音提问自动输出图表结果,扩大了语音查询的业务适用范围,且提高了图表生成效率。
Description
技术领域
本申请涉及人机对话技术领域,更具体地说,是涉及一种基于人机对话的图表结果生成方法、装置及相关设备。
背景技术
软件的交互方式随着人工智能的兴起发生翻天覆地变化,对话生成式的交互方式成为未来的重要发展方向。原来通过传统方法如:用户登录系统后通过选择配置好的菜单进入对应功能查询数据图表。而现在新的方法变为:通过与系统进行人机对话,系统或机器人通过自然语言处理解析生成的方式为用户提供图表,向用户展现数据,这个过程最主要就是将自然语言文体转化为可查询的SQL语句,再执行SQL后以图表的形式来显示。
将自然语言文体转化为可查询的SQL语句,传统的方法是将数据库的模型的表名、列名、数据等作为分词的词库,自然语言分词对他进行词性进行配对,最终生成SQL。这种方式虽然简单,但是生成SQL的能力也有限,只能通过外键关系生成简单表单或者两三个表关联的SQL,而且所生成的SQL不能直接转为图表展现。然而,这对于业务来说是不够的,一方面是业务普遍需要关联的表多达2~10个,现场转化的SQL难以足业务需求,且无法使用自定义函数等场景;另一方面是需要开发人员再将SQL转为图表,效率太低。
发明内容
有鉴于此,本申请提供了一种基于人机对话的图表结果生成方法、装置及相关设备,以解决至少一个前文提及的技术问题。
为实现上述目的,本申请第一方面提供了一种基于人机对话的图表结果生成方法,包括:
基于用户输入的音频数据生成自然语言文本;
在预设的第一数据库中获取与所述自然语言文本匹配的目标查询模板;
从所述自然语言文本中提取各维度词、各度量词以及图表类型,所述维度词用于表示数据记录中的属性值,所述度量词用于表示数据记录中的指标值;
基于所述查询模板、各维度词以及各度量词,确定目标查询语句;
利用所述目标查询语句在预设的第二数据库中获取目标数据;
基于所述图表类型以及所述目标数据,生成图表结果。
优选地,在预设的第一数据库中获取与所述自然语言文本匹配的目标查询模板的过程,包括:
将所述自然语言文本转换为向量数据;
在所述第一数据库中获取与所述向量数据相似度最高,且相似度高于预设阈值的目标向量;
将对应于所述目标向量的查询模板确定为目标查询模板。
优选地,将所述自然语言文本转换为向量数据的过程,包括:
利用Bert模型中的bert.sentence_encode功能将所述自然语言文本转换为向量数据。
优选地,在所述第一数据库中获取与所述向量数据相似度最高,且相似度高于预设阈值的目标向量的过程,包括:
利用向量搜索引擎Milvus在所述第一数据库中获取与所述向量数据相似度最高,且相似度高于预设阈值的目标向量。
优选地,从所述自然语言文本中提取各维度词、各度量词以及图表类型的过程,包括:
从所述自然语言文本中剔除停用词,并对剔除掉停用词的自然语言文本进行分词,得到多个词语;
基于各词语的词性,确定各维度词、各度量词以及图表类型。
优选地,基于所述查询模板、各维度词以及各度量词,确定目标查询语句的过程,包括:
基于预设的分词词库,分别过滤各维度词和各度量词,得到目标维度词和目标度量词;
利用目标维度词替换所述查询模板中的维度变量,利用目标度量词替换所述查询模板中的列变量,得到目标查询语句。
优选地,基于所述图表类型以及所述目标数据,生成图表结果的过程,包括:
将所述目标数据填充至对应于所述图表类型的图表中,得到图表结果。
本申请第二方面提供了一种基于人机对话的图表结果生成装置,包括:
对话文本获取单元,用于基于用户输入的音频数据生成自然语言文本;
查询模板匹配单元,用于在预设的第一数据库中获取与所述自然语言文本匹配的目标查询模板;
关键词获取单元,用于从所述自然语言文本中提取各维度词、各度量词以及图表类型,所述维度词用于表示数据记录中的属性值,所述度量词用于表示数据记录中的指标值;
查询语句确定单元,用于基于所述查询模板、各维度词以及各度量词,确定目标查询语句;
目标数据获取单元,用于利用所述目标查询语句在预设的第二数据库中获取目标数据;
图表结果生成单元,用于基于所述图表类型以及所述目标数据,生成图表结果。
本申请第三方面提供了一种基于人机对话的图表结果生成设备,包括:存储器和处理器;
所述存储器,用于存储程序;
所述处理器,用于执行所述程序,实现上述的基于人机对话的图表结果生成方法的各个步骤。
本申请第四方面提供了一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现如上述的基于人机对话的图表结果生成方法的各个步骤。
经由上述的技术方案可知,本申请首先基于用户输入的音频数据生成自然语言文本。然后,在预设的第一数据库中获取与所述自然语言文本匹配的目标查询模板。可以理解,所述第一数据库预先存储有各查询模板,各查询模板是基于业务需求预先设计好的,适用于多种业务场景,且可以采用自定义的函数构成查询模板。接着,从所述自然语言文本中提取各维度词、各度量词以及图表类型。其中,所述维度词用于表示数据记录中的属性值,所述度量词用于表示数据记录中的指标值,各维度词和各度量词共同描述了用户想要查询的数据。然后,基于所述查询模板、各维度词以及各度量词,确定目标查询语句,并利用所述目标查询语句在预设的第二数据库中获取目标数据。最后,基于所述图表类型以及所述目标数据,自动生成图表结果,而非直接基于SQL生成图表,提高了效率。本申请利用预设的查询模板,对于用户的语音提问自动输出图表结果,扩大了语音查询的业务适用范围,且提高了图表生成效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例公开的基于人机对话的图表结果生成方法的示意图;
图2示例了本申请实施例公开的图表结果;
图3为本申请实施例公开的基于人机对话的图表结果生成装置的示意图;
图4为本申请实施例公开的基于人机对话的图表结果生成设备的示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
SQL(Structured Query Language),一种具有数据操纵和数据定义等多种功能的数据库语言,这种语言具有交互性特点,能为用户提供极大的便利,数据库管理系统应充分利用SQL语言提高计算机应用系统的工作质量与效率。
GPU(Graphic Processing Unit),一种专门在个人电脑、工作站、游戏机和一些移动设备(如平板电脑、智能手机等)上做图像和图形相关运算工作的微处理器。
Echart,一款基于JavaScript的数据可视化图表库,提供直观,生动,可交互,可个性化定制的数据可视化图表。
Mybatis,是一个数据持久层框架,它内部封装了JDBC,使开发者只需要关注SQL语句本身,而不需要花费精力去处理加载驱动、创建连接、创建statement等繁杂的过程。
Bert(Bidirectional Encoder Representations from Transformers),一种语言表示模型,是一种深度双向、无监督的语言表示,仅使用纯文本语料库进行预训练。用于自然语言处理(NLP)预训练。
Milvus:一款全球领先的开源向量数据库,赋能AI应用和向量相似度搜索,加速非结构化数据检索。
下面介绍本申请实施例提供的基于人机对话的图表结果生成方法。请参阅图1,本申请实施例提供的基于人机对话的图表结果生成方法可以包括如下步骤:
步骤S101,基于用户输入的音频数据生成自然语言文本。
例如,可以利用语音识别技术(Automatic Speech Recognition,ASR)将用户输入的音频数据转换为自然语言文本。
步骤S102,在预设的第一数据库中获取与自然语言文本匹配的目标查询模板。
可以理解,若无法从第一数据库中匹配到查询模板,则直接返回,不再执行下述各步骤。
需要注明的是,第一数据库预先存储有多个查询模板(如SQL查询模板),这些查询模板是根据业务需求预先设计并配置好的,在查询模板中可以包含自定义函数。
查询模板配置用于维护业务模型的通用SQL,SQL采用MyBatis的语法编写,示例性地,首先根据业务进行建模,将同一种业务查询转化为同样的SQL语句,将SQL语句进行标准化和模板化,得到查询模板。此外,还可以对查询模板可显示的图表种类进行配置,例如,柱状图、折线图,y轴为指标值,x轴为月份;维度名称:指标名称/用户名称等。
示例性地,在设计查询模板时,可以参考下表:
表1:建模信息表
示例性地,查询模板可以如下:
select
a.date_m,--月份(查询列)
a.user_id,--用户编号(查询列)
u.user_name,--用户名称(查询列)
o.org_name,--机构名称(查询列)
sum(a.kpi_val)as kpi_vals,--指标值(查询列)a.kpi_name,--指标名称(查询列)
a.kpi_code--指标代号(查询列)
from kpis_emp_${year}a
left join user u on u.user_id=a.user_id
left join user_org uo on uo.user_id=a.user_id left join org o ono.org_id=uo.org_id where 1=1
and o.org_id=${orgId}--(必填变量)
<if test=”userId!=null and userId!=””>
and u.user_id in(${userId})--(非必填变量)
</if>
<if test=”kpiCode!=null and kpiCode!=””>
and a.kpi_code in(${kpiCode})--(非必填变量)</if>
group by
a.date_m,
a.user_id,
u.user_name,
o.org_name,
a.kpi_name,
a.kpi_code
步骤S103,从自然语言文本中提取各维度词、各度量词以及图表类型。
其中,维度词用于表示数据记录中的属性值,例如SQL语句中where后面的条件语句中的变量;度量词用于表示数据记录中的指标值,例如SQL语句中紧跟select后面的变量。
步骤S104,基于查询模板、各维度词以及各度量词,确定目标查询语句。
具体地,从各维度词、度量词中确定目标维度词及目标度量词,并将其代入查询模板中,得到目标查询语句。
步骤S105,利用目标查询语句在预设的第二数据库中获取目标数据。
可以理解,第二数据库存储有供用户查询的数据。
步骤S106,基于图表类型以及目标数据,生成图表结果。
本申请首先基于用户输入的音频数据生成自然语言文本。然后,在预设的第一数据库中获取与所述自然语言文本匹配的目标查询模板。可以理解,所述第一数据库预先存储有各查询模板,各查询模板是基于业务需求预先设计好的,适用于多种业务场景,且可以采用自定义的函数构成查询模板。接着,从所述自然语言文本中提取各维度词、各度量词以及图表类型。其中,所述维度词用于表示数据记录中的属性值,所述度量词用于表示数据记录中的指标值,各维度词和各度量词共同描述了用户想要查询的数据。然后,基于所述查询模板、各维度词以及各度量词,确定目标查询语句,并利用所述目标查询语句在预设的第二数据库中获取目标数据。最后,基于所述图表类型以及所述目标数据,自动生成图表结果,而非直接基于SQL生成图表,提高了效率。本申请利用预设的查询模板,对于用户的语音提问自动输出图表结果,扩大了语音查询的业务适用范围,且提高了图表生成效率。
在本申请的一些实施例中,步骤S102在预设的第一数据库中获取与自然语言文本匹配的目标查询模板的过程,可以包括:
S1,将所述自然语言文本转换为向量数据。
示例性地,可以利用Bert模型中的bert.sentence_encode功能将自然语言文本转换为向量数据。例如:
Float[][]d=bert.sentence_encode(['查询机构用户的各项指标值'])
返回向量数据d=[[12,31,3],[111,331,13],[22,0,11]...]
S2,在第一数据库中获取与向量数据相似度最高,且相似度高于预设阈值的目标向量。
示例性地,可以利用向量搜索引擎Milvus在第一数据库中获取与向量数据相似度最高,且相似度高于预设阈值的目标向量。
例如:answer=milvus_client.search_vectors(d,1)(参数:1表示只取一条最相关的数据)
通过将d(S1计算出来的)找到最相关的文本,answer=查询银行每个月的各项余额指标值,其查询模板的编号为10001。
S3,将对应于目标向量的查询模板确定为目标查询模板。
其中,第一数据库可以是如表2、表3中的表格形式,其中,查询模板直接由SQL编写,即表格中的SQL模板。
表2:SQL模板配置
表3:问答表
向量编号 | 名称 | 答案(SQL模板编号) |
443927134170162339 | 查询机构用户的各项指标值 | 10001 |
443927134170162338 | 查询银行用户每个月的各项指标值; | 10001 |
443927134170162337 | 查询银行每个月的各项余额指标值 | 10001 |
从表3可知,本申请采用向量来维护查询模板的名称,将查询模板的名称通过BERT进行向量化(也就是转成二维数据),存到向量数据库(Milvus)中。需要注明的是,可使用同义词、多个不同同义词绑定同一个查询模板。
在本申请的一些实施例中,步骤S103从自然语言文本中提取各维度词、各度量词以及图表类型的过程,可以包括:
S1,从自然语言文本中剔除停用词,并对剔除掉停用词的自然语言文本进行分词,得到多个词语。
例如,对于自然语言文本:“查询A银行用户张三2022年每个月份的各项贷款余额指标值”,可以分词如下:A银行,张三,20220101,20221231,月份,各项贷款余额,指标值。
S2,基于各词语的词性,确定各维度词、各度量词以及图表类型。
示例性地,对于S1中的例子,可以得到下述结果:
日期:2022
度量词(查询列):指标值,月份
维度词:各项贷款余额(指标名称),张三(用户),xx银行(机构名称)
图表类型:柱状图
可以理解,虽然原始文本中不涉及图表类型,此时可以采用默认的图表类型(即柱状图)。
在本申请的一些实施例中,步骤S104基于查询模板、各维度词以及各度量词,确定目标查询语句的过程,可以包括:
S1,基于预设的分词词库,分别过滤各维度词和各度量词,得到目标维度词和目标度量词。
其中,分词词库是原先配置好的,其存储有业务所需的各分词,用于维护配置到查询模板库中的维度变量和度量变量(查询列)。示例性地,如下:
(1)将where后面可变化的维度进行登记录入到分词库中,并用变量名标记维度词性。
如业务查询的sql模板为select*from table where name=${name},${name}为可变化的维度,而${name}是通过另一张关联表t_user如用户表的数据,那么就那用户表t_user的用户姓名数据录入到分词词库中,并标记词性为${name},类型为维度词。
(2)将select后面的查询列也录入到分词词库中,并将查询字段也录入分词词库。
如select phone from table,phone代表手机号,那把将“手机号”录入到分词词库,并标记词性为phone,类型为度量词。
S1中过滤各维度词和各度量词的过程,可以是过滤掉分词词库中不存在的维度词及度量词,最终得到目标维度词和目标度量词。
S2,利用目标维度词替换查询模板中的维度变量,利用目标度量词替换查询模板中的列变量,得到目标查询语句。
示例性地,对于前述自然语言文本,其最终得到的目标查询语句可以为:
select
a.date_m,--月份,
sum(a.kpi_val)as kpi_vals,--指标值
from kpis_emp_2022a
left join user u on u.user_id=a.user_id
left join user_org uo on uo.user_id=a.user_id
left join org o on o.org_id=uo.org_id
where 1=1
and o.org_id=1210
and u.user_id in(1)
and a.kpi_code in(1210)
group by
a.date_m,
a.user_id,
u.user_name,
o.org_name,
a.kpi_name,
a.kpi_code
在本申请的一些实施例中,步骤S106基于图表类型以及目标数据,生成图表结果的过程,可以包括:
将目标数据填充至对应于所述图表类型的图表中,得到图表结果。
示例性地,如图2所示,该图表结果以柱状图的形式展示了“查询A银行用户张三2022年每个月份的各项贷款余额指标值”的查询结果。
下面对本申请实施例提供的基于人机对话的图表结果生成装置进行描述,下文描述的基于人机对话的图表结果生成装置与上文描述的基于人机对话的图表结果生成方法可相互对应参照。
请参见图3,本申请实施例提供的基于人机对话的图表结果生成装置,可以包括:
对话文本获取单元21,用于基于用户输入的音频数据生成自然语言文本;
查询模板匹配单元22,用于在预设的第一数据库中获取与所述自然语言文本匹配的目标查询模板;
关键词获取单元23,用于从所述自然语言文本中提取各维度词、各度量词以及图表类型,所述维度词用于表示数据记录中的属性值,所述度量词用于表示数据记录中的指标值;
查询语句确定单元24,用于基于所述查询模板、各维度词以及各度量词,确定目标查询语句;
目标数据获取单元25,用于利用所述目标查询语句在预设的第二数据库中获取目标数据;
图表结果生成单元26,用于基于所述图表类型以及所述目标数据,生成图表结果。
在本申请的一些实施例中,查询模板匹配单元22在预设的第一数据库中获取与所述自然语言文本匹配的目标查询模板的过程,可以包括:
将所述自然语言文本转换为向量数据;
在所述第一数据库中获取与所述向量数据相似度最高,且相似度高于预设阈值的目标向量;
将对应于所述目标向量的查询模板确定为目标查询模板。
在本申请的一些实施例中,查询模板匹配单元22将所述自然语言文本转换为向量数据的过程,可以包括:
利用Bert模型中的bert.sentence_encode功能将所述自然语言文本转换为向量数据。
在本申请的一些实施例中,查询模板匹配单元22在所述第一数据库中获取与所述向量数据相似度最高,且相似度高于预设阈值的目标向量的过程,可以包括:
利用向量搜索引擎Milvus在所述第一数据库中获取与所述向量数据相似度最高,且相似度高于预设阈值的目标向量。
在本申请的一些实施例中,关键词获取单元23从所述自然语言文本中提取各维度词、各度量词以及图表类型的过程,可以包括:
从所述自然语言文本中剔除停用词,并对剔除掉停用词的自然语言文本进行分词,得到多个词语;
基于各词语的词性,确定各维度词、各度量词以及图表类型。
在本申请的一些实施例中,查询语句确定单元24基于所述查询模板、各维度词以及各度量词,确定目标查询语句的过程,可以包括:
基于预设的分词词库,分别过滤各维度词和各度量词,得到目标维度词和目标度量词;
利用目标维度词替换所述查询模板中的维度变量,利用目标度量词替换所述查询模板中的列变量,得到目标查询语句。
在本申请的一些实施例中,图表结果生成单元26基于所述图表类型以及所述目标数据,生成图表结果的过程,可以包括:
将所述目标数据填充至对应于所述图表类型的图表中,得到图表结果。
本申请实施例提供的基于人机对话的图表结果生成装置可应用于基于人机对话的图表结果生成设备,如计算机等。可选的,图4示出了基于人机对话的图表结果生成设备的硬件结构框图,参照图4,基于人机对话的图表结果生成设备的硬件结构可以包括:至少一个处理器31,至少一个通信接口32,至少一个存储器33和至少一个通信总线34。
在本申请实施例中,处理器31、通信接口32、存储器33、通信总线34的数量为至少一个,且处理器31、通信接口32、存储器33通过通信总线34完成相互间的通信;
处理器31可能是一个中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本申请实施例的一个或多个集成电路等;
存储器33可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatilememory)等,例如至少一个磁盘存储器;
其中,存储器33存储有程序,处理器31可调用存储器33存储的程序,所述程序用于:
基于用户输入的音频数据生成自然语言文本;
在预设的第一数据库中获取与所述自然语言文本匹配的目标查询模板;
从所述自然语言文本中提取各维度词、各度量词以及图表类型,所述维度词用于表示数据记录中的属性值,所述度量词用于表示数据记录中的指标值;
基于所述查询模板、各维度词以及各度量词,确定目标查询语句;
利用所述目标查询语句在预设的第二数据库中获取目标数据;
基于所述图表类型以及所述目标数据,生成图表结果。
可选的,所述程序的细化功能和扩展功能可参照上文描述。
本申请实施例还提供一种存储介质,该存储介质可存储有适于处理器执行的程序,所述程序用于:
基于用户输入的音频数据生成自然语言文本;
在预设的第一数据库中获取与所述自然语言文本匹配的目标查询模板;
从所述自然语言文本中提取各维度词、各度量词以及图表类型,所述维度词用于表示数据记录中的属性值,所述度量词用于表示数据记录中的指标值;
基于所述查询模板、各维度词以及各度量词,确定目标查询语句;
利用所述目标查询语句在预设的第二数据库中获取目标数据;
基于所述图表类型以及所述目标数据,生成图表结果。
可选的,所述程序的细化功能和扩展功能可参照上文描述。
综上所述:
本申请首先基于用户输入的音频数据生成自然语言文本。然后,在预设的第一数据库中获取与所述自然语言文本匹配的目标查询模板。可以理解,所述第一数据库预先存储有各查询模板,各查询模板是基于业务需求预先设计好的,适用于多种业务场景,且可以采用自定义的函数构成查询模板。接着,从所述自然语言文本中提取各维度词、各度量词以及图表类型。其中,所述维度词用于表示数据记录中的属性值,所述度量词用于表示数据记录中的指标值,各维度词和各度量词共同描述了用户想要查询的数据。然后,基于所述查询模板、各维度词以及各度量词,确定目标查询语句,并利用所述目标查询语句在预设的第二数据库中获取目标数据。最后,基于所述图表类型以及所述目标数据,自动生成图表结果,而非直接基于SQL生成图表,提高了效率。本申请利用预设的查询模板,对于用户的语音提问自动输出图表结果,扩大了语音查询的业务适用范围,且提高了图表生成效率。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间可以根据需要进行组合,且相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种基于人机对话的图表结果生成方法,其特征在于,包括:
基于用户输入的音频数据生成自然语言文本;
在预设的第一数据库中获取与所述自然语言文本匹配的目标查询模板;
从所述自然语言文本中提取各维度词、各度量词以及图表类型,所述维度词用于表示数据记录中的属性值,所述度量词用于表示数据记录中的指标值;
基于所述查询模板、各维度词以及各度量词,确定目标查询语句;
利用所述目标查询语句在预设的第二数据库中获取目标数据;
基于所述图表类型以及所述目标数据,生成图表结果。
2.根据权利要求1所述的方法,其特征在于,在预设的第一数据库中获取与所述自然语言文本匹配的目标查询模板的过程,包括:
将所述自然语言文本转换为向量数据;
在所述第一数据库中获取与所述向量数据相似度最高,且相似度高于预设阈值的目标向量;
将对应于所述目标向量的查询模板确定为目标查询模板。
3.根据权利要求2所述的方法,其特征在于,将所述自然语言文本转换为向量数据的过程,包括:
利用Bert模型中的bert.sentence_encode功能将所述自然语言文本转换为向量数据。
4.根据权利要求2所述的方法,其特征在于,在所述第一数据库中获取与所述向量数据相似度最高,且相似度高于预设阈值的目标向量的过程,包括:
利用向量搜索引擎Milvus在所述第一数据库中获取与所述向量数据相似度最高,且相似度高于预设阈值的目标向量。
5.根据权利要求1所述的方法,其特征在于,从所述自然语言文本中提取各维度词、各度量词以及图表类型的过程,包括:
从所述自然语言文本中剔除停用词,并对剔除掉停用词的自然语言文本进行分词,得到多个词语;
基于各词语的词性,确定各维度词、各度量词以及图表类型。
6.根据权利要求1所述的方法,其特征在于,基于所述查询模板、各维度词以及各度量词,确定目标查询语句的过程,包括:
基于预设的分词词库,分别过滤各维度词和各度量词,得到目标维度词和目标度量词;
利用目标维度词替换所述查询模板中的维度变量,利用目标度量词替换所述查询模板中的列变量,得到目标查询语句。
7.根据权利要求1所述的方法,其特征在于,基于所述图表类型以及所述目标数据,生成图表结果的过程,包括:
将所述目标数据填充至对应于所述图表类型的图表中,得到图表结果。
8.一种基于人机对话的图表结果生成装置,其特征在于,包括:
对话文本获取单元,用于基于用户输入的音频数据生成自然语言文本;
查询模板匹配单元,用于在预设的第一数据库中获取与所述自然语言文本匹配的目标查询模板;
关键词获取单元,用于从所述自然语言文本中提取各维度词、各度量词以及图表类型,所述维度词用于表示数据记录中的属性值,所述度量词用于表示数据记录中的指标值;
查询语句确定单元,用于基于所述查询模板、各维度词以及各度量词,确定目标查询语句;
目标数据获取单元,用于利用所述目标查询语句在预设的第二数据库中获取目标数据;
图表结果生成单元,用于基于所述图表类型以及所述目标数据,生成图表结果。
9.一种基于人机对话的图表结果生成设备,其特征在于,包括:存储器和处理器;
所述存储器,用于存储程序;
所述处理器,用于执行所述程序,实现如权利要求1~7中任一项所述的基于人机对话的图表结果生成方法的各个步骤。
10.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现如权利要求1~7中任一项所述的基于人机对话的图表结果生成方法的各个步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311602625.0A CN117609458A (zh) | 2023-11-27 | 2023-11-27 | 一种基于人机对话的图表结果生成方法、装置及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311602625.0A CN117609458A (zh) | 2023-11-27 | 2023-11-27 | 一种基于人机对话的图表结果生成方法、装置及相关设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117609458A true CN117609458A (zh) | 2024-02-27 |
Family
ID=89947651
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311602625.0A Pending CN117609458A (zh) | 2023-11-27 | 2023-11-27 | 一种基于人机对话的图表结果生成方法、装置及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117609458A (zh) |
-
2023
- 2023-11-27 CN CN202311602625.0A patent/CN117609458A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210019341A1 (en) | Implementing a software action based on machine interpretation of a language input | |
KR100969447B1 (ko) | 자연 언어 커맨드에 따른 표 렌더링 | |
US20180210883A1 (en) | System for converting natural language questions into sql-semantic queries based on a dimensional model | |
US9672490B2 (en) | Procurement system | |
CN110222194B (zh) | 基于自然语言处理的数据图表生成方法和相关装置 | |
CN110297880B (zh) | 语料产品的推荐方法、装置、设备及存储介质 | |
US11734358B2 (en) | Inferring intent and utilizing context for natural language expressions in a data visualization user interface | |
US11934392B2 (en) | Method and system for data conversations | |
US11763095B2 (en) | Creating apps from natural language descriptions | |
CN114328980A (zh) | 结合rpa及ai的知识图谱构建方法、装置、终端及存储介质 | |
CN115795030A (zh) | 文本分类方法、装置、计算机设备和存储介质 | |
CN113190702A (zh) | 用于生成信息的方法和装置 | |
WO2019160152A1 (ja) | 対話管理サーバ、対話管理方法、及びプログラム | |
EP4295245A1 (en) | Methods and systems for controlled modeling and optimization of a natural language database interface | |
CN117271558A (zh) | 语言查询模型构建方法、查询语言获取方法及相关装置 | |
CN117076636A (zh) | 一种智能客服的信息查询方法、系统和设备 | |
JP2020204971A (ja) | 対話管理サーバ、対話管理方法、及びプログラム | |
CN117609458A (zh) | 一种基于人机对话的图表结果生成方法、装置及相关设备 | |
CN116108053A (zh) | 基于表格的问答处理方法及装置 | |
Yeh et al. | Ontology‐based speech act identification in a bilingual dialog system using partial pattern trees | |
CN113129399A (zh) | 纹样生成 | |
US20240184777A1 (en) | Method and system for data conversations | |
CN117591663B (zh) | 一种基于知识图谱的大模型prompt生成方法 | |
CN117725190B (zh) | 基于大语言模型的多轮问答方法、系统、终端及存储介质 | |
CN115438142B (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 |