一种基于用户问答的数据库索引方法、设备及介质与流程
- 国知局
- 2024-11-06 15:07:05
所属的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。根据本发明的这种实施方式的电子设备。电子设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。电子设备以通用计算设备的形式表现。电子设备的组件可以包括但不限于:上述至少一个处理器、上述至少一个储存器、连接不同系统组件(包括储存器和处理器)的总线。其中,所述储存器存储有程序代码,所述程序代码可以被所述处理器执行,使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的步骤。储存器可以包括易失性储存器形式的可读介质,例如随机存取储存器(ram)和/或高速缓存储存器,还可以进一步包括只读储存器(rom)。储存器还可以包括具有一组(至少一个)程序模块的程序/实用工具,这样的程序模块包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。总线可以为表示几类总线结构中的一种或多种,包括储存器总线或者储存器控制器、外围总线、图形加速端口、处理器或者使用多种总线结构中的任意总线结构的局域总线。电子设备也可以与一个或多个外部设备(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备交互的设备通信,和/或与使得该电子设备能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口进行。并且,电子设备还可以通过网络适配器与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施方式的方法。在本公开的示例性实施例中,还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的步骤。所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、rf等等,或者上述的任意合适的组合。可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、c++等,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。此外,上述附图仅是根据本发明示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
背景技术:
1、目前的用户问答方法,通过对用户提出的问题进行解析,并根据解析得到的索引词从数据库中找出对应的信息数据,最后生成答复语句返回给用户。由于目前数据库大多采用sql语言来进行数据索引,而数据索引的处理量以及处理速度又与索引语句的字符量的大小有关,sql语言的索引语句的字符量越大,在进行数据索引时,处理量就越大,相应的,处理速度就会变慢,因此,当用户提出的问题中包括的索引条件过多时,生成对应的答复语句的时间就会拉长,影响用户体验的同时也占用了大量算力。
技术实现思路
1、针对上述技术问题,本发明采用的技术方案为:
2、根据本技术的一个方面,提供一种基于用户问答的数据库索引方法,应用于数据库索引系统,数据库索引系统连接有数据库,数据库中存储有若干用户信息数据;
3、所述的基于用户问答的数据库索引方法包括如下步骤:
4、步骤s100、响应于接收到用户提问语句,对用户提问语句进行拆分处理,得到用户提问语句中包括的若干用户提问关键词;
5、步骤s200、将若干用户提问关键词输入至问答语言模型中,以得到问答语言模型输出的sql问答语句;问答语言模型根据对若干历史问答语句进行训练得到;
6、步骤s300、对sql问答语句进行解析,得到索引调用参数;
7、步骤s400、根据索引调用参数和用户提问语句对应的用户标识,从若干用户信息数据中确定出目标用户数据;
8、步骤s500、对目标用户数据进行整合,以得到用户答复语句并输出。
9、在本技术的一种示例性实施例中,步骤s100包括:
10、步骤s110、对用户提问语句进行多轮改写处理,以得到对应的目标提问语句;
11、步骤s120、对目标提问语句进行语义分析,得到目标提问语句中包括的每一目标提问词对应的语义标识;
12、步骤s130、遍历每一目标提问词,若目标提问词对应的语义标识为预设的关键语义标识,则将该目标提问词确定为用户提问关键词。
13、在本技术的一种示例性实施例中,问答语言模型通过以下步骤得到:
14、步骤s201、获取若干历史问答语句;
15、步骤s202、对每一历史问答语句进行拆分处理,以得到每一历史问答语句中包括的若干历史问答词,得到历史问答词列表集a=(a1,a2,...,ai,...,an);ai=(ai1,ai2,...,aie,...,aif(i));其中,i=1,2,...,n;n为历史问答语句的数量;ai为第i个历史问答语句对应的历史问答词列表;e=1,2,...,f(i);f(i)为对第i个历史问答语句进行拆分得到的历史问答词的数量;aie为对第i个历史问答语句进行拆分得到的第e个历史问答词;
16、步骤s203、对历史问答词列表集a中的若干历史问答词进行去重处理,以得到若干个目标历史问答词;
17、步骤s204、对每一目标历史问答词进行sql语言转换,以得到每一目标历史问答词对应的sql语言问答词;
18、步骤s205、根据每一sql语言问答词的字符长度,从若干sql语言问答词中确定出若干个目标sql语言问答词;目标sql语言问答词为符合预设的字符长度规则的sql语言问答词;
19、步骤s206、根据预设的字符简写规则,对每一目标sql语言问答词进行改写,以得到每一目标sql语言问答词对应的改写sql语言问答词;
20、步骤s207、根据每一目标sql语言问答词的信息熵和该目标sql语言问答词对应的改写sql语言问答词的信息熵,确定出映射关系表;映射关系表中存储有符合预设的信息熵差规则的目标sql语言问答词和其对应的改写sql语言问答词之间的映射关系;
21、步骤s208、将映射关系表输入至预设的初始语言模型中进行训练,以得到问答语言模型。
22、在本技术的一种示例性实施例中,步骤s205包括:
23、步骤s2051、获取每一sql语言问答词的字符长度,得到第一字符长度列表b=(b1,b2,...,bg,...,bh);其中,g=1,2,...,h;h为sql语言问答词的数量;bg为第g个sql语言问答词的字符长度;
24、步骤s2052、遍历第一字符长度列表b,若bg≥b0,则将第g个sql语言问答词确定为目标sql语言问答词,以得到若干个目标sql语言问答词;其中,b0为预设的字符长度阈值。
25、在本技术的一种示例性实施例中,步骤s207包括:
26、步骤s2071、获取每一目标sql语言问答词的信息熵,得到第一信息熵列表c=(c1,c2,...,ca,...,cb);其中,a=1,2,...,b;b为目标sql语言问答词的数量;ca为第a个目标sql语言问答词的信息熵;
27、步骤s2072、获取每一改写sql语言问答词的信息熵,得到第二信息熵列表d=(d1,d2,...,da,...,db);其中,da为对第a个目标sql语言问答词进行改写后得到的改写sql语言问答词的信息熵;
28、步骤s2073、遍历第一信息熵列表c和第二信息熵列表d,若|da-ca|≤d,则将第a个目标sql语言问答词和其对应的改写sql语言问答词的映射关系存储至预设的映射关系表中;其中,d为预设的信息熵差阈值。
29、在本技术的一种示例性实施例中,问答语言模型在接收到若干用户提问关键词后,执行以下步骤:
30、步骤s210、对每一用户提问关键词进行sql语言转换,以得到每一用户提问关键词对应的sql语言关键词,确定sql语言关键词列表e=(e1,e2,...,ec,...,ej);其中,c=1,2,...,j;j为用户提问关键词的数量;ec为第c个用户提问关键词对应的sql语言关键词;
31、步骤s220、依次遍历sql语言关键词列表e中每一sql语言关键词,若ec在映射关系表中存在映射关系,将ec改写为与ec具有映射关系的改写sql语言问答词;
32、步骤s230、对e1,e2,...,ec,...,ej依次进行标识符连接,以得到sql问答语句。
33、在本技术的一种示例性实施例中,步骤s300包括:
34、步骤s310、获取sql问答语句中包括的查询条件标识符;
35、步骤s320、将查询条件标识符对应的查询条件确定为索引调用参数。
36、在本技术的一种示例性实施例中,步骤s400包括:
37、步骤s410、若索引调用参数中包括身份查询标识,则执行步骤s420-步骤s440;否则,执行步骤s450;
38、步骤s420、获取用户提问语句对应的用户标识;
39、步骤s430、将与用户提问语句对应的用户标识相同的用户信息数据确定为关键用户数据;
40、步骤s440、将与索引调用参数对应的关键用户数据确定为目标用户数据;
41、步骤s450、将与索引调用参数对应的用户信息数据确定为目标用户数据。
42、根据本技术的一个方面,提供一种非瞬时性计算机可读存储介质,所述存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由处理器加载并执行以实现前述的基于用户问答的数据库索引方法。
43、根据本技术的一个方面,提供一种电子设备,包括处理器和前述的非瞬时性计算机可读存储介质。
44、本发明至少具有以下有益效果:
45、本发明的基于用户问答的数据库索引方法,在接收到用户提问语句后,对用户提问语句进行拆分处理,得到若干用户提问关键词,将若干用户提问关键词输入至问答语言模型中,以得到sql问答语句,并对sql问答语句进行解析,得到索引调用参数,根据索引调用参数和用户提问语句对应的用户标识,从若干用户信息数据中确定出目标用户数据,目标用户数据即为针对用户提问语句检索到的信息数据,最后对目标用户数据进行整合,以得到用户答复语句并输出。通过对用户提问语句进行sql语言转换,并根据改写规则对转换后的sql语言问答词进行对应改写,以使生成的sql问答语句更加精简,缩短sql问答语句的生成时间和降低信息数据的索引处理量,提高了数据库索引效率。
本文地址:https://www.jishuxx.com/zhuanli/20241106/325405.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。