CN111414375A - 基于数据库查询的输入推荐方法、电子装置及存储介质 - Google Patents

基于数据库查询的输入推荐方法、电子装置及存储介质 Download PDF

Info

Publication number
CN111414375A
CN111414375A CN202010131725.XA CN202010131725A CN111414375A CN 111414375 A CN111414375 A CN 111414375A CN 202010131725 A CN202010131725 A CN 202010131725A CN 111414375 A CN111414375 A CN 111414375A
Authority
CN
China
Prior art keywords
dictionary
query
sentence
preset
keyword
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
Application number
CN202010131725.XA
Other languages
English (en)
Inventor
璧典寒
赵亮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
OneConnect Smart Technology Co Ltd
OneConnect Financial Technology Co Ltd Shanghai
Original Assignee
OneConnect Financial Technology Co Ltd Shanghai
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by OneConnect Financial Technology Co Ltd Shanghai filed Critical OneConnect Financial Technology Co Ltd Shanghai
Priority to CN202010131725.XA priority Critical patent/CN111414375A/zh
Publication of CN111414375A publication Critical patent/CN111414375A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/243Natural language query formulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2452Query translation
    • G06F16/24522Translation of natural language queries to structured queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Machine Translation (AREA)

Abstract

本发明涉及数据处理技术,提供了一种基于数据库查询的输入推荐方法、电子装置及存储介质。该方法通过在数据库中构建第一、第二、第三及第四字典,将数据表分别存储至对应的字典,对用户输入的查询语句进行分词,将分词后的最后一个词作为目标关键词,将目标关键词与四个字典中的关键词进行匹配,若匹配到任意一个字典中存在目标关键词,则根据预设推荐规则向用户推荐相应的内容,若四个字典中均不存在目标关键词则构建正则表达式,将正则表达式与四个字典中的关键词进行匹配,得到多个匹配结果并排序,将排序结果推荐给用户。本发明推荐的内容均来源于数据库中的数据表,使得转换工具可将用户输入的语句转换成结构化查询语言。

Description

基于数据库查询的输入推荐方法、电子装置及存储介质
技术领域
本发明涉及数据处理领域,尤其涉及一种基于数据库查询的输入推荐方法、电子装置及存储介质。
背景技术
关系型数据库是采用结构化方法存储数据,用户对数据库的数据查询是基于转换工具将用户输入的自然语言转换为结构化查询语言对数据库进行查询的。在用户输入自然语言的同时,通常会根据用户输入的自然语言推荐查询内容,现有技术的推荐往往是以关键字触发后随机向用户推荐若干内容,导致出现推荐的内容来源于不一、推荐的内容过于复杂的问题,使得转换工具难以将用户输入的自然语言转换成结构化查询语言。
发明内容
鉴于以上内容,本发明提供一种基于数据库查询的输入推荐方法、电子装置及存储介质,其目的在于解决用户进行数据库的数据查询时,基于关键字随机推荐的内容,转换工具难以将用户输入的自然查询语言转换成结构化查询语言的问题。
为实现上述目的,本发明提供一种基于数据库查询的输入推荐方法,该方法包括:
构建步骤:在预设数据库中构建第一、第二、第三及第四字典,将所述预设数据库中的数据表按预设存储方式分别存储至对应的字典;
分词步骤:接收用户输入的查询语句,利用预设的分词规则对所述查询语句进行分词,将所述查询语句分词后得到的最后一个词作为所述查询语句的目标关键词;
匹配步骤:将所述目标关键词与所述第一、第二、第三及第四字典中的关键词进行匹配;
第一推荐步骤:若匹配到任意一个字典中存在所述目标关键词,则基于SQL语言的查询规则生成的多个预设词,及该字典的预设推荐规则向所述用户推荐内容;及
第二推荐步骤:若所述第一、第二、第三及第四字典中均不存在所述目标关键词,基于所述目标关键词构建正则表达式,将构建的正则表达式与所述第一、第二、第三及第四字典中的关键词进行匹配,得到多个匹配结果,将所述多个匹配结果按预设排序规则进行排序后将排序结果推荐给所述用户。
优选的,所述第一推荐步骤包括:
若第一字典中存在所述目标关键词,则依次向所述用户推荐的内容包括:
基于所述查询语句增加第一预设词生成的语句;
基于所述查询语句增加第一关键词后加上第二预设词生成的语句,其中,所述第一关键词是从第一字典中随机获取的;
基于所述查询语句增加第三预设词并加上第二关键词后再加上第三预设词及第一预设词生成的语句,其中,所述第二关键词是从第二字典中随机获取的。
优选的,所述第一推荐步骤包括:
若第二字典中存在所述目标关键词,则依次向所述用户推荐的内容包括:
基于所述查询语句增加第四预设词生成的语句;
基于所述查询语句增加第三关键词后加上第一预设词生成的语句,其中,所述第三关键词是从第一字典随机获取的。
优选的,所述第一推荐步骤包括:
若第三字典中存在所述目标关键词,则依次向所述用户推荐的内容包括:
基于所述查询语句增加第五预设词生成的语句;
基于所述查询语句增加第四关键词后加上第五预设词生成的语句,其中,所述第四关键词是从第三字典随机中获取的;
基于所述查询语句增加第五关键词后加上第一预设词生成的语句,其中,所述第五关键词是从第一字典随机获取的。
优选的,所述预设排序规则包括:
根据所述多个匹配结果中目标关键词的字符位置的前后顺序,对所述多个匹配结果依次排序,若存在目标关键词的字符位置相同的匹配结果,则根据该匹配结果的字符长度进行排序。
为实现上述目的,本发明还提供一种电子装置,该电子装置包括:存储器及处理器,所述存储器上存储基于数据库查询的输入推荐程序,所述基于数据库查询的输入推荐程序被所述处理器执行,实现如下步骤:
构建步骤:在预设数据库中构建第一、第二、第三及第四字典,将所述预设数据库中的数据表按预设存储方式分别存储至对应的字典;
分词步骤:接收用户输入的查询语句,利用预设的分词规则对所述查询语句进行分词,将所述查询语句分词后得到的最后一个词作为所述查询语句的目标关键词;
匹配步骤:将所述目标关键词与所述第一、第二、第三及第四字典中的关键词进行匹配;
第一推荐步骤:若匹配到任意一个字典中存在所述目标关键词,则基于SQL语言的查询规则生成的多个预设词,及该字典的预设推荐规则向所述用户推荐内容;及
第二推荐步骤:若所述第一、第二、第三及第四字典中均不存在所述目标关键词,基于所述目标关键词构建正则表达式,将构建的正则表达式与所述第一、第二、第三及第四字典中的关键词进行匹配,得到多个匹配结果,将所述多个匹配结果按预设排序规则进行排序后将排序结果推荐给所述用户。
优选的,所述第一推荐步骤包括:
若第一字典中存在所述目标关键词,则依次向所述用户推荐的内容包括:
基于所述查询语句增加第一预设词生成的语句;
基于所述查询语句增加第一关键词后加上第二预设词生成的语句,其中,所述第一关键词是从第一字典中随机获取的;
基于所述查询语句增加第三预设词并加上第二关键词后再加上第三预设词及第一预设词生成的语句,其中,所述第二关键词是从第二字典中随机获取的。
优选的,所述第一推荐步骤包括:
若第二字典中存在所述目标关键词,则依次向所述用户推荐的内容包括:
基于所述查询语句增加第四预设词生成的语句;
基于所述查询语句增加第三关键词后加上第一预设词生成的语句,其中,所述第三关键词是从第一字典随机获取的。
优选的,所述第一推荐步骤包括:
若第三字典中存在所述目标关键词,则依次向所述用户推荐的内容包括:
基于所述查询语句增加第五预设词生成的语句;
基于所述查询语句增加第四关键词后加上第五预设词生成的语句,其中,所述第四关键词是从第三字典随机中获取的;
基于所述查询语句增加第五关键词后加上第一预设词生成的语句,其中,所述第五关键词是从第一字典随机获取的。
为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中包括基于数据库查询的输入推荐程序,所述基于数据库查询的输入推荐程序被处理器执行时,实现如上所述基于数据库查询的输入推荐方法中的任意步骤。
本发明提出的基于数据库查询的输入推荐方法、电子装置及存储介质,通过在预设数据库中构建第一、第二、第三及第四字典,将数据表分别存储至对应的字典,对用户输入的查询语句进行分词,将分词后的最后一个词作为目标关键词,将目标关键词与四个字典中的关键词进行匹配,若匹配到任意一个字典中存在目标关键词,则基于SQL语言的查询规则预先设置的预设词及预设推荐规则向用户推荐相应的内容,若四个字典中均不存在目标关键词,则构建正则表达式,将该正则表达式与四个字典中的关键词进行匹配,得到多个匹配结果并排序,将排序结果推荐给用户。本发明可以根据用户输入的自然语言查询语句,实时向用户推荐不同的内容,且推荐的内容均来源于数据库中的数据表,引导用户书写自然语言查询语句,避免了出现推荐的内容过于复杂的情况,而导致转换工具难以将用户输入的自然语言转换成结构化查询语言。
附图说明
图1为本发明电子装置较佳实施例的示意图;
图2为图1中基于数据库查询的输入推荐程序较佳实施例的模块示意图;
图3为本发明基于数据库查询的输入推荐方法较佳实施例的流程图;
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参照图1所示,为本发明电子装置1较佳实施例的示意图。
该电子装置1包括但不限于:存储器11、处理器12、显示器13及网络接口14。所述电子装置1通过网络接口14连接网络,获取原始数据。其中,所述网络可以是企业内部网(Intranet)、互联网(Internet)、全球移动通讯***(Global System of Mobilecommunication,GSM)、宽带码分多址(Wideband Code Division Multiple Access,WCDMA)、4G网络、5G网络、蓝牙(Bluetooth)、Wi-Fi、通话网络等无线或有线网络。
其中,存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器11可以是所述电子装置1的内部存储单元,例如该电子装置1的硬盘或内存。在另一些实施例中,所述存储器11也可以是所述电子装置1的外部存储设备,例如该电子装置1配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,所述存储器11还可以既包括所述电子装置1的内部存储单元也包括其外部存储设备。本实施例中,存储器11通常用于存储安装于所述电子装置1的操作***和各类应用软件,例如基于数据库查询的输入推荐程序10的程序代码等。此外,存储器11还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器12在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器12通常用于控制所述电子装置1的总体操作,例如执行数据交互或者通信相关的控制和处理等。本实施例中,所述处理器12用于运行所述存储器11中存储的程序代码或者处理数据,例如运行基于数据库查询的输入推荐程序10的程序代码等。
显示器13可以称为显示屏或显示单元。在一些实施例中显示器13可以是LED显示器、液晶显示器、触控式液晶显示器以及有机发光二极管(Organic Light-EmittingDiode,OLED)触摸器等。显示器13用于显示在电子装置1中处理的信息以及用于显示可视化的工作界面,例如显示数据统计的结果。
网络接口14可选地可以包括标准的有线接口、无线接口(如WI-FI接口),该网络接口14通常用于在所述电子装置1与其它电子设备之间建立通信连接。
图1仅示出了具有组件11-14以及基于数据库查询的输入推荐程序10的电子装置1,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
可选地,所述电子装置1还可以包括用户接口,用户接口可以包括显示器(Display)、输入单元比如键盘(Keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及有机发光二极管(Organic Light-Emitting Diode,OLED)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在电子装置1中处理的信息以及用于显示可视化的用户界面。
该电子装置1还可以包括射频(Radio Frequency,RF)电路、传感器和音频电路等等,在此不再赘述。
在上述实施例中,处理器12执行存储器11中存储的基于数据库查询的输入推荐程序10时可以实现如下步骤:
构建步骤:在预设数据库中构建第一、第二、第三及第四字典,将所述预设数据库中的数据表按预设存储方式分别存储至对应的字典;
分词步骤:接收用户输入的查询语句,利用预设的分词规则对所述查询语句进行分词,将所述查询语句分词后得到的最后一个词作为所述查询语句的目标关键词;
匹配步骤:将所述目标关键词与所述第一、第二、第三及第四字典中的关键词进行匹配;
第一推荐步骤:若匹配到任意一个字典中存在所述目标关键词,则基于SQL语言的查询规则生成的多个预设词,及该字典的预设推荐规则向所述用户推荐内容;及
第二推荐步骤:若所述第一、第二、第三及第四字典中均不存在所述目标关键词,基于所述目标关键词构建正则表达式,将构建的正则表达式与所述第一、第二、第三及第四字典中的关键词进行匹配,得到多个匹配结果,将所述多个匹配结果按预设排序规则进行排序后将排序结果推荐给所述用户。
所述存储设备可以为电子装置1的存储器11,也可以为与电子装置1通讯连接的其它存储设备。
关于上述步骤的详细介绍,请参照下述图2关于基于数据库查询的输入推荐程序10实施例的程序模块图以及图3关于基于数据库查询的输入推荐方法实施例的流程图的说明。
在其他实施例中,所述基于数据库查询的输入推荐程序10可以被分割为多个模块,该多个模块被存储于存储器12中,并由处理器13执行,以完成本发明。本发明所称的模块是指能够完成特定功能的一系列计算机程序指令段。
参照图2所示,为图1中基于数据库查询的输入推荐程序10一实施例的程序模块图。在本实施例中,所述基于数据库查询的输入推荐程序10可以被分割为:构建模块110、分词模块120、匹配模块130、第一推荐模块140及第二推荐模块150。
构建模块110,用于在预设数据库中构建第一、第二、第三及第四字典,将所述预设数据库中的数据表按预设存储方式分别存储至对应的字典。
在本实施例中,以如下数据表为例对本方案进行说明
姓名 性别 职业 年龄 个人税后月收入 个人消费
张三 男性 教师 35 10000 3500
李四 女性 护士 24 5000 3000
其中,第一字典为枚举型字段名字典,用于存储数据表中的枚举型字段,例如:[“姓名”,“性别”,“职业”];
第二字典为连续型字段名字典,用于存储数据表中的连续型字段名,例如:[“年龄”,“个人税后月收入”,“个人消费”];
第三字典为枚举值字段名字典,用于存储数据表中的枚举值字段名,例如:[“张三”,“李四”,“男性”,“女性”,“教师”,“护士”];
第四字典为方法词字典,用于存储常用的方法关键词,方法关键词可根据实际场景自定义,针对该数据表,可将方法关键词设为[“平均”,“最大”,“最小”]。
数据库会对数据表的每一列数据定义数据类型,可以是根据数据表的数据类型来判断该列数据具体属于哪一种类型。例如数据表中的“char”类型的数据列可以作为枚举型字段,“int”及“double”类型的数据等可以为连续型字段。
分词模块120,用于接收用户输入的查询语句,利用预设的分词规则对所述查询语句进行分词,将所述查询语句分词后得到的最后一个词作为所述查询语句的目标关键词。
在本实施例中,可以提供用户交互界面供用户输入查询语句,分词是将连续的字序列按照一定的规范重新组合成词序列的过程。
其中,利用预设的分词规则所述查询语句进行分词包括:
调用jieba分词工具,利用jieba分词工具的add_word()函数将字典中的关键词添加至jieba分词工具的内置词典中,调用jieba.cut对句子进行分词处理,返回一个可迭代的generator,使用for循环获取分词后得到的每一个词语。
将上述四个字典的所有关键词(即“姓名”,“性别”,“职业”,“个人税后月收入”等)加入到分词工具的内置词典中,可以保证关键词不被切分,例如:对于“个人税后月收入”这样的长词,分词工具就不会将其切分为“个人/税后/月收入”,而是以一个整体出现。
本实施例是根据用户的实时输入进行推荐,用户查询语句的语义重点往往是用户输入的最后一个词,因此选取所述查询语句分词后的最后一个词语作为该查询语句的目标关键词。
匹配模块130,用于将所述目标关键词与所述第一、第二、第三及第四字典中的关键词进行匹配。
在本实施例中,将查询语句分词后的目标关键词与预设数据库中的四个字典的关键词进行一一匹配。
第一推荐模块140,用于若匹配到任意一个字典中存在所述目标关键词,则基于SQL语言的查询规则生成的多个预设词,及该字典的预设推荐规则向所述用户推荐内容。
在本实施例中,如果匹配到其中任意一个字典中存在目标关键词,则基于SQL语言的查询规则生成的多个预设词,及该字典的预设推荐规则向用户推荐内容。
在一个实施例中,若第一字典中存在所述目标关键词,则依次向所述用户推荐的内容包括:
基于所述查询语句增加第一预设词生成的语句;
基于所述查询语句增加第一关键词后加上第二预设词生成的语句,其中,所述第一关键词是从第一字典中随机获取的;
基于所述查询语句增加第三预设词并加上第二关键词后再加上第三预设词及第一预设词生成的语句,其中,所述第二关键词是从第二字典中随机获取的。
假设用户的查询语句为“男性”,进行分词处理后得到的最后一个词为“男性”,且“男性”在第一字典的关键词中,则向用户推荐的内容包括:
查询语句+“分布”,例如:“男性分布”;
查询语句+第一关键词(即第一字典中随机一个关键词)+“相关性如何”,例如:“男性职业相关性如何”;
查询语句+“平均”+第二关键词(即第二字典中随机一个关键词)+“分布”,例如:“男性平均年龄分布”。
在一个实施例中,若第二字典中存在所述目标关键词,则依次向所述用户推荐的内容包括:
基于所述查询语句增加第四预设词生成的语句;
基于所述查询语句增加第三关键词后加上第一预设词生成的语句,其中,所述第三关键词是从第一字典随机获取的。
假设用户的查询语句进行分词处理后得到的最后一个词为“个人消费”,“个人消费”在第二字典的关键词中,则向用户推荐的内容包括:
查询语句+“如何”,例如:“个人消费如何”;
查询语句+第三关键词(即第一字典中随机一个关键词)+“分布”,例如:“个人消费职业分布”。
在一个实施例中,若第三字典中存在所述目标关键词,则依次向所述用户推荐的内容包括:
基于所述查询语句增加第五预设词生成的语句;
基于所述查询语句增加第四关键词后加上第五预设词生成的语句,其中,所述第四关键词是从第三字典随机中获取的;
基于所述查询语句增加第五关键词后加上第一预设词生成的语句,其中,所述第五关键词是从第一字典随机获取的。
假设用户的查询语句为“男性”,进行分词处理后得到的最后一个词为“男性”,且“男性”在第一字典的关键词中,则向用户推荐的内容包括:
查询语句+“有多少”,例如:“男性有多少”;
查询语句+第四关键词(即第三字典中随机一个关键词)+“有多少”;
查询语句+第五关键词(即第一字典中随机一个关键词)+“分布”。
在一个实施例中,若所述第四字典中存在所述目标关键词,则向所述用户推荐的内容包括基于所述查询语句增加从所述第二字典随机获取一个关键词后加上第四预设词生成的语句;
向用户推荐的内容包括:
查询语句+第二字典中随机一个关键词+“如何”。
第一字典相当于结构查询语言的group by操作里面对应的列,第二字典是连续型字段,第三字典相当于结构查询语言的where条件查询部分,第四字典相当于聚合函数,第二字典和第四字典通常一起出现在结构查询语言的select部分。第一至第五预设词是基于SQL语言的查询规则预先设置的,且存储至数据库中。
当目标关键词为第一字典中的词时,表示以第一字典为维度进行图形展示,相当于SQL语言的group by操作里面对应的列,结合SQL的查询规则,第一预设词可以是“分布”;
当查询语句中有两个第一字典中的词时,说明展示维度为2,这个时候图形展示的是相关性,因此第二预设词可以是“相关性如何”;
第二字典的词是数据表中可以计算的对象,因此在第二字典前可以补充的第三预设词可以是“平均”;
第二字典和第四字典通常一起出现在结构查询语言的select部分,因此第四预设词可以是“如何”;
当目标关键词为第三字典中的词时,对应的SQL查询语言为:select count(1)from table where F and F(F为第三字典的词),相当于筛选满足条件的数据,因此可以补充的第五预设词可以“有多少”。
第二推荐模块150,用于若所述第一、第二、第三及第四字典中均不存在所述目标关键词,基于所述目标关键词构建正则表达式,将构建的正则表达式与所述第一、第二、第三及第四字典中的关键词进行匹配,得到多个匹配结果,将所述多个匹配结果按预设排序规则进行排序后将排序结果推荐给所述用户。
在本实施例中,如果四个字典中均不存在查询语句分词后的目标关键词,则根据该目标关键词构建正则表达式,首先要构建pattern,pattern是一种规则模板,用于表达所要匹配的字符串形式。例如,当检测到用户输入的最后一个词是“个人”,则构建的规则模板为“个.*人.*”,其中,“.*”表示的是匹配任意字符,所有包含“个”和“人”的关键词都将会被匹配到,例如“个人收入”、“单个法人”等。
所述预设排序规则包括:根据多个匹配结果中目标关键词的字符位置的前后顺序,对多个匹配结果依次排序,若存在目标关键词的字符位置相同的匹配结果,则根据该匹配结果的字符长度进行排序。例如:目标关键词为“AB”,排序规则为目标关键词字符位置越靠前的匹配结果,其排名越靠前(即匹配结果ABXXX的排名要高于AXXB的排名),若目标关键词字符位置的相同,根据该目标关键词的字符长度对匹配结果进行排序,匹配到的字符长度越短,排名越靠前(即匹配结果ABXX的排名要高于ABXXXXX)。
用户输入的查询语句为“男性平均个人”,利用预设分词规则作分词处理后得到的最后一个词为“个人”,“个人”不在四个字典中,是一个不完整的词,因此在“个人”每一个字后面添加“.*”构建正则表达式“个.*人.*”,之后和四个字典中的关键词进行匹配,得到了候选词为[“个人税后月收入”,“个人消费”],因为“个人”在这两个词中,都在最前面,则比较两个词的长度,“个人消费”的字符长度小于“个人税后月收入”,因此“男性平均个人消费”的排序,在“男性平均个人税后月收入”排序的前面。需要说明的是,多个匹配结果进行排序之后,在用户交互界面生成相应的排序,以供用户选择。
此外,本发明还提供一种基于数据库查询的输入推荐方法。参照图3所示,为本发明基于数据库查询的输入推荐方法的实施例的方法流程示意图。电子装置1的处理器12执行存储器11中存储的基于数据库查询的输入推荐程序10时实现基于数据库查询的输入推荐方法的如下步骤:
步骤S10:在预设数据库中构建第一、第二、第三及第四字典,将所述预设数据库中的数据表按预设存储方式分别存储至对应的字典。
在本实施例中,以如下数据表为例对本方案进行说明
姓名 性别 职业 年龄 个人税后月收入 个人消费
张三 男性 教师 35 10000 3500
李四 女性 护士 24 5000 3000
其中,第一字典为枚举型字段名字典,用于存储数据表中的枚举型字段,例如:[“姓名”,“性别”,“职业”];
第二字典为连续型字段名字典,用于存储数据表中的连续型字段名,例如:[“年龄”,“个人税后月收入”,“个人消费”];
第三字典为枚举值字段名字典,用于存储数据表中的枚举值字段名,例如:[“张三”,“李四”,“男性”,“女性”,“教师”,“护士”];
第四字典为方法词字典,用于存储常用的方法关键词,方法关键词可根据实际场景自定义,针对该数据表,可将方法关键词设为[“平均”,“最大”,“最小”]。
数据库会对数据表的每一列数据定义数据类型,可以是根据数据表的数据类型来判断该列数据具体属于哪一种类型。例如数据表中的“char”类型的数据列可以作为枚举型字段,“int”及“double”类型的数据等可以为连续型字段。
步骤S20:接收用户输入的查询语句,利用预设的分词规则对所述查询语句进行分词,将所述查询语句分词后得到的最后一个词作为所述查询语句的目标关键词。
在本实施例中,可以提供用户交互界面供用户输入查询语句,分词是将连续的字序列按照一定的规范重新组合成词序列的过程。
其中,利用预设的分词规则所述查询语句进行分词包括:
调用jieba分词工具,利用jieba分词工具的add_word()函数将字典中的关键词添加至jieba分词工具的内置词典中,调用jieba.cut对句子进行分词处理,返回一个可迭代的generator,使用for循环获取分词后得到的每一个词语。
将上述四个字典的所有关键词(即“姓名”,“性别”,“职业”,“个人税后月收入”等)加入到分词工具的内置词典中,可以保证关键词不被切分,例如:对于“个人税后月收入”这样的长词,分词工具就不会将其切分为“个人/税后/月收入”,而是以一个整体出现。
本实施例是根据用户的实时输入进行推荐,用户查询语句的语义重点往往是用户输入的最后一个词,因此选取所述查询语句分词后的最后一个词语作为该查询语句的目标关键词.
步骤S30:将所述目标关键词与所述第一、第二、第三及第四字典中的关键词进行匹配。
在本实施例中,将查询语句分词后的目标关键词与预设数据库中的四个字典的关键词进行一一匹配。
步骤S40:若匹配到任意一个字典中存在所述目标关键词,则基于SQL语言的查询规则生成的多个预设词,及该字典的预设推荐规则向所述用户推荐内容。
在本实施例中,如果匹配到其中任意一个字典中存在目标关键词,则基于SQL语言的查询规则生成的多个预设词,及该字典的预设推荐规则向用户推荐内容。
在一个实施例中,若第一字典中存在所述目标关键词,则依次向所述用户推荐的内容包括:
基于所述查询语句增加第一预设词生成的语句;
基于所述查询语句增加第一关键词后加上第二预设词生成的语句,其中,所述第一关键词是从第一字典中随机获取的;
基于所述查询语句增加第三预设词并加上第二关键词后再加上第三预设词及第一预设词生成的语句,其中,所述第二关键词是从第二字典中随机获取的。
假设用户的查询语句为“男性”,进行分词处理后得到的最后一个词为“男性”,且“男性”在第一字典的关键词中,则向用户推荐的内容包括:
查询语句+“分布”,例如:“男性分布”;
查询语句+第一关键词(即第一字典中随机一个关键词)+“相关性如何”,例如:“男性职业相关性如何”;
查询语句+“平均”+第二关键词(即第二字典中随机一个关键词)+“分布”,例如:“男性平均年龄分布”。
在一个实施例中,若第二字典中存在所述目标关键词,则依次向所述用户推荐的内容包括:
基于所述查询语句增加第四预设词生成的语句;
基于所述查询语句增加第三关键词后加上第一预设词生成的语句,其中,所述第三关键词是从第一字典随机获取的。
假设用户的查询语句进行分词处理后得到的最后一个词为“个人消费”,“个人消费”在第二字典的关键词中,则向用户推荐的内容包括:
查询语句+“如何”,例如:“个人消费如何”;
查询语句+第三关键词(即第一字典中随机一个关键词)+“分布”,例如:“个人消费职业分布”。
在一个实施例中,若第三字典中存在所述目标关键词,则依次向所述用户推荐的内容包括:
基于所述查询语句增加第五预设词生成的语句;
基于所述查询语句增加第四关键词后加上第五预设词生成的语句,其中,所述第四关键词是从第三字典随机中获取的;
基于所述查询语句增加第五关键词后加上第一预设词生成的语句,其中,所述第五关键词是从第一字典随机获取的。
假设用户的查询语句为“男性”,进行分词处理后得到的最后一个词为“男性”,且“男性”在第一字典的关键词中,则向用户推荐的内容包括:
查询语句+“有多少”,例如:“男性有多少”;
查询语句+第四关键词(即第三字典中随机一个关键词)+“有多少”;
查询语句+第五关键词(即第一字典中随机一个关键词)+“分布”。
在一个实施例中,若所述第四字典中存在所述目标关键词,则向所述用户推荐的内容包括基于所述查询语句增加从所述第二字典随机获取一个关键词后加上第四预设词生成的语句;
向用户推荐的内容包括:
查询语句+第二字典中随机一个关键词+“如何”。
第一字典相当于结构查询语言的group by操作里面对应的列,第二字典是连续型字段,第三字典相当于结构查询语言的where条件查询部分,第四字典相当于聚合函数,第二字典和第四字典通常一起出现在结构查询语言的select部分。第一至第五预设词是基于SQL语言的查询规则预先设置的,且存储至数据库中。
当目标关键词为第一字典中的词时,表示以第一字典为维度进行图形展示,相当于SQL语言的group by操作里面对应的列,结合SQL的查询规则,第一预设词可以是“分布”;
当查询语句中有两个第一字典中的词时,说明展示维度为2,这个时候图形展示的是相关性,因此第二预设词可以是“相关性如何”;
第二字典的词是数据表中可以计算的对象,因此在第二字典前可以补充的第三预设词可以是“平均”;
第二字典和第四字典通常一起出现在结构查询语言的select部分,因此第四预设词可以是“如何”;
当目标关键词为第三字典中的词时,对应的SQL查询语言为:select count(1)from table where F and F(F为第三字典的词),相当于筛选满足条件的数据,因此可以补充的第五预设词可以“有多少”。
步骤S50:若所述第一、第二、第三及第四字典中均不存在所述目标关键词,基于所述目标关键词构建正则表达式,将构建的正则表达式与所述第一、第二、第三及第四字典中的关键词进行匹配,得到多个匹配结果,将所述多个匹配结果按预设排序规则进行排序后将排序结果推荐给所述用户。
在本实施例中,如果四个字典中均不存在查询语句分词后的目标关键词,则根据该目标关键词构建正则表达式,首先要构建pattern,pattern是一种规则模板,用于表达所要匹配的字符串形式。例如,当检测到用户输入的最后一个词是“个人”,则构建的规则模板为“个.*人.*”,其中,“.*”表示的是匹配任意字符,所有包含“个”和“人”的关键词都将会被匹配到,例如“个人收入”、“单个法人”等。
所述预设排序规则包括:根据多个匹配结果中目标关键词的字符位置的前后顺序,对多个匹配结果依次排序,若存在目标关键词的字符位置相同的匹配结果,则根据该匹配结果的字符长度进行排序。例如:目标关键词为“AB”,排序规则为目标关键词字符位置越靠前的匹配结果,其排名越靠前(即匹配结果ABXXX的排名要高于AXXB的排名),若目标关键词字符位置的相同,根据该目标关键词的字符长度对匹配结果进行排序,匹配到的字符长度越短,排名越靠前(即匹配结果ABXX的排名要高于ABXXXXX)。
用户输入的查询语句为“男性平均个人”,利用预设分词规则作分词处理后得到的最后一个词为“个人”,“个人”不在四个字典中,是一个不完整的词,因此在“个人”每一个字后面添加“.*”构建正则表达式“个.*人.*”,之后和四个字典中的关键词进行匹配,得到了候选词为[“个人税后月收入”,“个人消费”],因为“个人”在这两个词中,都在最前面,则比较两个词的长度,“个人消费”的字符长度小于“个人税后月收入”,因此“男性平均个人消费”的排序,在“男性平均个人税后月收入”排序的前面。需要说明的是,多个匹配结果进行排序之后,在用户交互界面生成相应的排序,以供用户选择。
此外,本发明实施例还提出一种计算机可读存储介质,该计算机可读存储介质可以是硬盘、多媒体卡、SD卡、闪存卡、SMC、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、便携式紧致盘只读存储器(CD-ROM)、USB存储器等等中的任意一种或者几种的任意组合。所述计算机可读存储介质中包括基于数据库查询的输入推荐程序10,所述基于数据库查询的输入推荐程序10被处理器执行时实现如下操作:
构建步骤:在预设数据库中构建第一、第二、第三及第四字典,将所述预设数据库中的数据表按预设存储方式分别存储至对应的字典;
分词步骤:接收用户输入的查询语句,利用预设的分词规则对所述查询语句进行分词,将所述查询语句分词后得到的最后一个词作为所述查询语句的目标关键词;
匹配步骤:将所述目标关键词与所述第一、第二、第三及第四字典中的关键词进行匹配;
第一推荐步骤:若匹配到任意一个字典中存在所述目标关键词,则基于SQL语言的查询规则生成的多个预设词,及该字典的预设推荐规则向所述用户推荐内容;及
第二推荐步骤:若所述第一、第二、第三及第四字典中均不存在所述目标关键词,基于所述目标关键词构建正则表达式,将构建的正则表达式与所述第一、第二、第三及第四字典中的关键词进行匹配,得到多个匹配结果,将所述多个匹配结果按预设排序规则进行排序后将排序结果推荐给所述用户。
本发明之计算机可读存储介质的具体实施方式与上述基于数据库查询的输入推荐方法的具体实施方式大致相同,在此不再赘述。
需要说明的是,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。并且本文中的术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,电子装置,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种基于数据库查询的输入推荐方法,应用于电子装置,其特征在于,所述方法包括:
构建步骤:在预设数据库中构建第一、第二、第三及第四字典,将所述预设数据库中的数据表按预设存储方式分别存储至对应的字典;
分词步骤:接收用户输入的查询语句,利用预设的分词规则对所述查询语句进行分词,将所述查询语句分词后得到的最后一个词作为所述查询语句的目标关键词;
匹配步骤:将所述目标关键词与所述第一、第二、第三及第四字典中的关键词进行匹配;
第一推荐步骤:若匹配到任意一个字典中存在所述目标关键词,则基于SQL语言的查询规则生成的多个预设词,及该字典的预设推荐规则向所述用户推荐内容;及
第二推荐步骤:若所述第一、第二、第三及第四字典中均不存在所述目标关键词,基于所述目标关键词构建正则表达式,将构建的正则表达式与所述第一、第二、第三及第四字典中的关键词进行匹配,得到多个匹配结果,将所述多个匹配结果按预设排序规则进行排序后将排序结果推荐给所述用户。
2.如权利要求1所述的基于数据库查询的输入推荐方法,其特征在于,所述第一推荐步骤包括:
若第一字典中存在所述目标关键词,则依次向所述用户推荐的内容包括:
基于所述查询语句增加第一预设词生成的语句;
基于所述查询语句增加第一关键词后加上第二预设词生成的语句,其中,所述第一关键词是从第一字典中随机获取的;
基于所述查询语句增加第三预设词并加上第二关键词后再加上第三预设词及第一预设词生成的语句,其中,所述第二关键词是从第二字典中随机获取的。
3.如权利要求1所述的基于数据库查询的输入推荐方法,其特征在于,所述第一推荐步骤包括:
若第二字典中存在所述目标关键词,则依次向所述用户推荐的内容包括:
基于所述查询语句增加第四预设词生成的语句;
基于所述查询语句增加第三关键词后加上第一预设词生成的语句,其中,所述第三关键词是从第一字典随机获取的。
4.如权利要求1所述的基于数据库查询的输入推荐方法,其特征在于,所述第一推荐步骤包括:
若第三字典中存在所述目标关键词,则依次向所述用户推荐的内容包括:
基于所述查询语句增加第五预设词生成的语句;
基于所述查询语句增加第四关键词后加上第五预设词生成的语句,其中,所述第四关键词是从第三字典随机中获取的;
基于所述查询语句增加第五关键词后加上第一预设词生成的语句,其中,所述第五关键词是从第一字典随机获取的。
5.如权利要求1至4任意一项所述的基于数据库查询的输入推荐方法,其特征在于,所述预设排序规则包括:
根据所述多个匹配结果中目标关键词的字符位置的前后顺序,对所述多个匹配结果依次排序,若存在目标关键词的字符位置相同的匹配结果,则根据该匹配结果的字符长度进行排序。
6.一种电子装置,该电子装置包括存储器及处理器,其特征在于,所述存储器上存储基于数据库查询的输入推荐程序,所述基于数据库查询的输入推荐程序被所述处理器执行,实现如下步骤:
构建步骤:在预设数据库中构建第一、第二、第三及第四字典,将所述预设数据库中的数据表按预设存储方式分别存储至对应的字典;
分词步骤:接收用户输入的查询语句,利用预设的分词规则对所述查询语句进行分词,将所述查询语句分词后得到的最后一个词作为所述查询语句的目标关键词;
匹配步骤:将所述目标关键词与所述第一、第二、第三及第四字典中的关键词进行匹配;
第一推荐步骤:若匹配到任意一个字典中存在所述目标关键词,则基于SQL语言的查询规则生成的多个预设词,及该字典的预设推荐规则向所述用户推荐内容;及
第二推荐步骤:若所述第一、第二、第三及第四字典中均不存在所述目标关键词,基于所述目标关键词构建正则表达式,将构建的正则表达式与所述第一、第二、第三及第四字典中的关键词进行匹配,得到多个匹配结果,将所述多个匹配结果按预设排序规则进行排序后将排序结果推荐给所述用户。
7.如权利要求6所述的电子装置,其特征在于,所述第一推荐步骤包括:
若第一字典中存在所述目标关键词,则依次向所述用户推荐的内容包括:
基于所述查询语句增加第一预设词生成的语句;
基于所述查询语句增加第一关键词后加上第二预设词生成的语句,其中,所述第一关键词是从第一字典中随机获取的;
基于所述查询语句增加第三预设词并加上第二关键词后再加上第三预设词及第一预设词生成的语句,其中,所述第二关键词是从第二字典中随机获取的。
8.如权利要求6所述的电子装置,其特征在于,所述第一推荐步骤包括:
若第二字典中存在所述目标关键词,则依次向所述用户推荐的内容包括:
基于所述查询语句增加第四预设词生成的语句;
基于所述查询语句增加第三关键词后加上第一预设词生成的语句,其中,所述第三关键词是从第一字典随机获取的。
9.如权利要求6所述的电子装置,其特征在于,所述第一推荐步骤包括:
若第三字典中存在所述目标关键词,则依次向所述用户推荐的内容包括:
基于所述查询语句增加第五预设词生成的语句;
基于所述查询语句增加第四关键词后加上第五预设词生成的语句,其中,所述第四关键词是从第三字典随机中获取的;
基于所述查询语句增加第五关键词后加上第一预设词生成的语句,其中,所述第五关键词是从第一字典随机获取的。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中包括基于数据库查询的输入推荐程序,所述基于数据库查询的输入推荐程序被处理器执行时,实现如权利要求1至5中任一项所述基于数据库查询的输入推荐方法的步骤。
CN202010131725.XA 2020-02-29 2020-02-29 基于数据库查询的输入推荐方法、电子装置及存储介质 Pending CN111414375A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010131725.XA CN111414375A (zh) 2020-02-29 2020-02-29 基于数据库查询的输入推荐方法、电子装置及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010131725.XA CN111414375A (zh) 2020-02-29 2020-02-29 基于数据库查询的输入推荐方法、电子装置及存储介质

Publications (1)

Publication Number Publication Date
CN111414375A true CN111414375A (zh) 2020-07-14

Family

ID=71490994

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010131725.XA Pending CN111414375A (zh) 2020-02-29 2020-02-29 基于数据库查询的输入推荐方法、电子装置及存储介质

Country Status (1)

Country Link
CN (1) CN111414375A (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112100987A (zh) * 2020-09-27 2020-12-18 中国建设银行股份有限公司 一种多源数据字典的转码方法及装置
CN112330400A (zh) * 2020-11-02 2021-02-05 泰康保险集团股份有限公司 一种产品推荐方法、装置、计算机设备及存储介质
CN112463798A (zh) * 2020-12-08 2021-03-09 中国人寿保险股份有限公司 跨数据库数据提取方法、装置、电子设备及存储介质
CN113220710A (zh) * 2021-05-11 2021-08-06 北京百度网讯科技有限公司 数据查询方法、装置、电子设备以及存储介质
CN113505129A (zh) * 2021-07-07 2021-10-15 深圳市汉云科技有限公司 一种基于字典的数据库查询优化方法、装置及终端设备
CN114201525A (zh) * 2022-02-15 2022-03-18 支付宝(杭州)信息技术有限公司 查询数据的方法及装置
CN116595249A (zh) * 2023-04-28 2023-08-15 广东津虹数字科技有限公司 个性推荐方法、***、电子设备以及计算机程序产品

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112100987A (zh) * 2020-09-27 2020-12-18 中国建设银行股份有限公司 一种多源数据字典的转码方法及装置
CN112330400A (zh) * 2020-11-02 2021-02-05 泰康保险集团股份有限公司 一种产品推荐方法、装置、计算机设备及存储介质
CN112330400B (zh) * 2020-11-02 2023-12-26 泰康保险集团股份有限公司 一种产品推荐方法、装置、计算机设备及存储介质
CN112463798A (zh) * 2020-12-08 2021-03-09 中国人寿保险股份有限公司 跨数据库数据提取方法、装置、电子设备及存储介质
CN112463798B (zh) * 2020-12-08 2024-05-28 中国人寿保险股份有限公司 跨数据库数据提取方法、装置、电子设备及存储介质
CN113220710A (zh) * 2021-05-11 2021-08-06 北京百度网讯科技有限公司 数据查询方法、装置、电子设备以及存储介质
CN113220710B (zh) * 2021-05-11 2024-06-04 北京百度网讯科技有限公司 数据查询方法、装置、电子设备以及存储介质
CN113505129A (zh) * 2021-07-07 2021-10-15 深圳市汉云科技有限公司 一种基于字典的数据库查询优化方法、装置及终端设备
CN114201525A (zh) * 2022-02-15 2022-03-18 支付宝(杭州)信息技术有限公司 查询数据的方法及装置
CN116595249A (zh) * 2023-04-28 2023-08-15 广东津虹数字科技有限公司 个性推荐方法、***、电子设备以及计算机程序产品
CN116595249B (zh) * 2023-04-28 2024-03-22 广东津虹数字科技有限公司 个性推荐方法、***、电子设备以及计算机程序产品

Similar Documents

Publication Publication Date Title
CN111414375A (zh) 基于数据库查询的输入推荐方法、电子装置及存储介质
CN110866180B (zh) 资源推荐方法、服务器及存储介质
CN107704512B (zh) 基于社交数据的金融产品推荐方法、电子装置及介质
AU2017408801A1 (en) User keyword extraction device and method, and computer-readable storage medium
US9898464B2 (en) Information extraction supporting apparatus and method
US20220229855A1 (en) Genealogical entity resolution system and method
CN111339166A (zh) 基于词库的匹配推荐方法、电子装置及存储介质
CN110427480B (zh) 个性化文本智能推荐方法、装置及计算机可读存储介质
CN113449187A (zh) 基于双画像的产品推荐方法、装置、设备及存储介质
CN112507098B (zh) 问题处理方法、装置、电子设备、存储介质及程序产品
WO2020056979A1 (zh) 知识库搜索方法、装置及计算机可读存储介质
CN112364625A (zh) 文本筛选方法、装置、设备及存储介质
CN113127621A (zh) 对话模块的推送方法、装置、设备及存储介质
CN112885478A (zh) 医疗文献的检索方法、装置、电子设备及存储介质
CN111221954A (zh) 一种构建家电维修问答库的方法、装置、存储介质及终端
CN111191454A (zh) 一种实体匹配的方法及装置
CN113886708A (zh) 基于用户信息的产品推荐方法、装置、设备及存储介质
CN112231452A (zh) 基于自然语言处理的问答方法、装置、设备及存储介质
CN113282763B (zh) 文本关键信息提取、装置、设备及存储介质
CN111369148A (zh) 对象指标的监测方法、电子装置及存储介质
JP6621514B1 (ja) 要約作成装置、要約作成方法、及びプログラム
CN113468421A (zh) 基于向量匹配技术的产品推荐方法、装置、设备及介质
CN110837559B (zh) 语句样本集的生成方法、电子装置及存储介质
CN115544214B (zh) 一种事件处理方法、设备及计算机可读存储介质
CN110909130B (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