CN108846103B - 一种数据查询方法及装置 - Google Patents
一种数据查询方法及装置 Download PDFInfo
- Publication number
- CN108846103B CN108846103B CN201810633278.0A CN201810633278A CN108846103B CN 108846103 B CN108846103 B CN 108846103B CN 201810633278 A CN201810633278 A CN 201810633278A CN 108846103 B CN108846103 B CN 108846103B
- Authority
- CN
- China
- Prior art keywords
- query
- parameter
- subject
- character string
- name
- 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.)
- Active
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供一种数据查询方法及装置。所述方法包括:接收终端发送的查询字符串;根据所述查询字符串利用主体库进行主体分析获得对应的主体名称;根据所述主体名称利用对应的参数分析模型对所述查询字符串进行参数分析,获得对应的参数信息;将所述主体名称和所述参数信息生成查询指令,根据所述查询指令进行查询。所述装置用于执行上述方法。本发明实施例通过主体库获取到查询字符串中的主体名称,然后根据主体名称利用对应的参数分析模型获得参数信息,最后根据主体名称和参数信息构成的查询指令进行查询,获得查询结果,由于从查询字符串中获得了较为规范的查询指令,因此能够获取较为准确的查询结果。
Description
技术领域
本发明涉及数据处理技术领域,具体而言,涉及一种数据查询方法及装置。
背景技术
基于自动化技术的发展,用于工业自动化生产的自动化设备或者其他智能装置也越来越多,因此,为了供用户查询某一产品的相关参数信息,一些公司提供了在线查询服务。
现有技术中,查询公司存储了超过7亿条产品规格记录,以实现为用户提供准确全面地搜索服务。在数据库中,每条产品规格包括:品牌、品类、所属产品系列、产品名称、参数、物料号等多类可供检索的信息。例如:iC65N-C16A/3P+VEA 30mA是一个独立的SKU。其对应的信息有:产品名称:iC65N-C16A/3P+VEA 30mA;产品类别:微型断路器;品牌:施耐德电气;所属产品系列:iC65系列小型断路器;厂商物料号:1001;特性参数:分断能力类型:[N型];极数:[3极];脱扣特性:[C型];额定电流:[16安];....关键的特性参数,都会以代码字符的方式,组合反映在产品名称中。但是还有相当多的参数(最多可达300项),未在产品名称中体现。
搜索系统需要根据用户输入的包含上述(部分)信息的字符串,查找并返回相关产品名称、物料号以及其他周边信息。用户查询中存在的常见问题包括:
用户对特定内容的描述可能是不规范的。例如:16安,写为16A;施耐德写为施奈德或者Schneider等。
用户字符串中包含的信息片段,顺序是不固定的。例如:施耐德3P16A或者iC65N3P 16A Schneider Electric。
用户字符串中包含的信息项,是不完备的。例如:“施耐德3极16A”这个字符串包含了品牌和产品名称的一些片段。其中,“施耐德”是品牌名称;“3极16A”可以优先理解为是产品名称中的一些字符,也可能是产品参数中的值。
由于上述用户输入的查询字符串并不都是规范的,因此可能会查询出的结果并不是用户想要的,从而导致了查询准确率比较低。
发明内容
有鉴于此,本发明实施例的目的在于提供一种数据查询方法及装置,以解决上述技术问题。
第一方面,本发明实施例提供了一种数据查询方法,包括:
接收终端发送的查询字符串;
根据所述查询字符串利用主体库进行主体分析获得对应的主体名称;
根据所述主体名称利用对应的参数分析模型对所述查询字符串进行参数分析,获得对应的参数信息;
将所述主体名称和所述参数信息生成查询指令,根据所述查询指令进行查询。
进一步地,所述方法,还包括:
对所述查询字符串进行预处理操作,其中,所述预处理操作包括分隔符替换、主体名称预识别和参数信息预识别。
进一步地,所述方法,还包括:
预先获取所有产品规格对应的标准主体名称以及每一所述标准主体名称对应的所有疑似主体名称;
将所述标准主体名称和对应的所述疑似主体名称的集合构成所述主体库。
进一步地,所述方法,还包括:
预先获取所有产品规格对应的参数命名规则,根据每一产品规格对应的参数命名规则构建对应的参数词典,其中所述参数词典中包括:参数代码、词频的对数值和代码属性编号;
根据所述参数词典构建对应的参数分析模型。
进一步地,所述方法,还包括:
将查询获得的查询结果按照预设规则进行排序,其中,所述预设规则包括相似度、查询频率、点击反馈率、编辑距离中的任意一种或其组合。
进一步地,所述根据所述查询字符串利用主体库进行主体分析,获得所述查询字符串对应的主体名称,包括:
利用正则表达式或Aho-Corasick自动机算法将所述查询字符串与所述主体库中的主体名称进行匹配,获得所述查询字符串对应的主体名称。
进一步地,所述根据所述主体利用对应的参数分析模型对所述查询字符串进行参数分析,获得对应的参数信息,包括:
将所述查询字符串进行去主体操作,获得非主体查询字符串;
将所述非主体查询字符串输入到所述参数分析模型中,所述参数分析模型根据动态规划算法将参数概率和最大的参数组作为所述参数信息。
进一步地,所述根据所述查询指令进行查询,包括:
利用Elastic Search搜索引擎对所述查询指令进行查询,获得查询结果。
第二方面,本发明实施例提供了一种数据查询装置,包括:
接收模块,用于接收终端发送的查询字符串;
主体分析模块,用于根据所述查询字符串利用主体库进行主体分析获得对应的主体名称;
参数分析模块,用于根据所述主体名称利用对应的参数分析模型对所述查询字符串进行参数分析,获得对应的参数信息;
查询模块,用于将所述主体名称和所述参数信息生成查询指令,根据所述查询指令进行查询。
进一步地,所述装置,还包括:
预处理模块,用于对所述查询字符串进行预处理操作,其中,所述预处理操作包括分隔符替换、主体名称预识别和参数信息预识别。
第三方面,本发明实施例提供一种电子设备,包括:处理器、存储器和总线,其中,
所述处理器和所述存储器通过所述总线完成相互间的通信;
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行第一方面的方法步骤。
第四方面,本发明实施例提供一种非暂态计算机可读存储介质,包括:
所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行第一方面的方法步骤。
本发明实施例通过主体库获取到查询字符串中的主体名称,然后根据主体名称利用对应的参数分析模型获得参数信息,最后根据主体名称和参数信息构成的查询指令进行查询,获得查询结果,由于从查询字符串中获得了较为规范的查询指令,因此能够获取较为准确的查询结果。
本发明的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明实施例了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明实施例提供的一种数据查询方法流程示意图;
图2为本发明实施例提供的另一种数据查询方法流程示意图;
图3为本发明实施例提供的一种数据查询装置结构示意图;
图4为本发明实施例提供的电子设备的结构框图。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
图1为本发明实施例提供的一种数据查询方法流程示意图,如图1所示,该方法包括:
步骤101:接收终端发送的查询字符串。
在具体的实施过程中,用户在终端的搜索框中输入需要产品对应的查询字符串,查询装置接收终端发送的该查询字符串,其中,查询字符串中包括需要产品的主体名称和/或参数信息。应当说明的是,用户在输入查询字符串时,其内容有可能不是装置所规定的规范查询语句。
步骤102:根据所述查询字符串利用主体库进行主体分析获得对应的主体名称。
在具体的实施过程中,装置获取预先构建的主体库,主体库是所有产品规格的主体名称的集合。若在查询装置中存储的产品规格的总量较小,则可通过文本文件的形式来存储(一行为一个主体名称);若在查询装置中存储的产品规格的总量较大,可以可通过构建双数组单词查找树(double-array trie)来存储主体名称。将查询字符串与主体库中的各主体名称进行对比,从而获得查询字符串中包括的主体名称,应当说明的是,查询字符串中的主体名称可以为一个也可以为多个,主体名称是预先定义好的,例如,将一个产品规格中的品牌、品类、所属产品系列、产品名称等作为主体名称。
步骤103:根据所述主体名称利用对应的参数分析模型对所述查询字符串进行参数分析,获得对应的参数信息。
在具体的实施过程中,因为不同厂商的不同产品的参数命名规则不同,因此,每一厂商对应的每一个产品都有对应的参数分析模型,因此,通过主体名称可以获取到对应的参数分析模型,将用户输入的查询字符串中的主体名称去掉,然后输入到参数分析模型中进行参数分析,参数分析模型可以根据输入的内容输出其对应的参数信息。应当说明的是,参数分析模型是预先构建的。
步骤103:将所述主体名称和所述参数信息生成查询指令,根据所述查询指令进行查询。
在具体的实施过程中,在获取到查询字符串对应的主体名称和参数信息后,根据主体名称和参数信息生成对应的查询指令,具体生成方式为:如果根据主体名称发现查询字符串中包括两个不同系列的主体名称,且每个主体名称对应各自的参数信息,此时则将这两个主体名称及各自对应的取并集构成查询指令;如果根据主体名称和参数信息发现要查找的是同一系列但是不同参数,则将参数信息取交集构成查询指令;如果根据主体名称和参数信息发现要查询的是同一系列,同一参数但参数值不同,则取并集构成查询指令。将生成的查询指令去数据库中进行查询。应当说明的是,数据库中预先存储有产品规格的信息。以天工矩阵的数据库为例:天工矩阵的产品数据是由一条条产品规格数据构成,即产品规格是基本的数据单元。产品规则中包含了规格全称、简称、品牌、类型、价格、若干参数和附件等信息。基于此,我们可以设计如下的一般性产品记录规范。
字段名称 | 数据类型 | 涵义 | 备注 |
id | long | 产品ID | |
vendor | string | 厂商 | |
cat | string | 产品类型 | |
series | string | 系列名称 | |
shortSeries | string | 系列简称 | |
name | string | 产品全称 | |
price | float | 价格 | |
P1Value | string | 属性1值 | |
P2Code | string | 属性1代码 | |
….. | |||
PnValue | string | 属性n值 | |
PnCode | string | 属性n代码 | |
accessory | long | 附件ID |
因为不同的产品其属性各不相同,所以对于属性的命名采用了P1...Pn这样的抽象命名方式以便于构建统一的索引结构,具体的属性名称则可以存储在另外一个数据表中。这张表的格式可以定义如下:
字段名称 | 数据类型 | 说明 |
SpecID | Int | 规格ID |
PSeq | Int | 参数序号(从1开始) |
PDef | String | 参数定义(名称) |
根据上述产品规范,对业务数据进行梳理,并构建规范化程序,将原始业务数据转化为规范化的数据。规范化程序一般依靠正则表达式对原始数据进行处理,处理的结果保存在数据库中。
本发明实施例通过主体库获取到查询字符串中的主体名称,然后根据主体名称利用对应的参数分析模型获得参数信息,最后根据主体名称和参数信息构成的查询指令进行查询,获得查询结果,由于从查询字符串中获得了较为规范的查询指令,因此能够获取较为准确的查询结果。
在上述实施例的基础上,所述方法,还包括:
对所述查询字符串进行预处理操作,其中,所述预处理操作包括分隔符替换、主体名称预识别和参数信息预识别。
在具体的实施过程中,查询装置在接收到用户发送的查询字符串后,为了对查询字符串进行初步的规范化,减少干扰,提高进行主体分析和参数分析的准确性,需要对查询字符串进行预处理。其中,预处理的具体内容包括:
将“-”、“/”等分隔符统一替换为空格,便于后续分析。
识别特殊的多词主体,比如“XX YY”为一个主体,并合并成为“XX-YY”。这部分需要预先建立待识别的主体词表,然后使用Aho-Corasick(AC)自动机进行识别。
识别特殊的参数,将某些特殊的参数预先识别并进行转换。
本发明实施例通过对查询字符串进行预处理,对查询字符串进行初步的规范化,减少干扰,提高进行主体分析和参数分析的准确性。
在上述实施例的基础上,所述方法,还包括:
预先获取所有产品规格对应的标准主体名称以及每一所述标准主体名称对应的所有疑似主体名称;
将所述标准主体名称和对应的所述疑似主体名称的集合构成所述主体库。
在具体的实施过程中,预先对所有的产品规格对应的主体名称进行标定,获得标准主体名称,然后根据经验获取每一标准主体名称对应的用户可能输入的疑似主体名称。例如:标准主体名称为施耐德,而用户可能在查询时会输入施奈德或者Schneider,因此,将施奈德和Schneider均作为疑似主体名称,将一个标准主体名称及其对应的疑似主体名称作为一条记录,放入主体库中,从而多个标准主体名称和其对应的疑似主体名称的集合构成了主体库。
本发明实施例通过构建主体库来对查询字符串中的主体名称进行识别,实现了针对不同厂商不同产品的精确化分析,提高了数据查询的准确性。
在上述实施例的基础上,所述方法,还包括:
预先获取所有产品规格对应的参数命名规则,根据每一产品规格对应的参数命名规则构建对应的参数词典,其中所述参数词典中包括:参数代码、词频的对数值和代码属性编号;
根据所述参数词典构建对应的参数分析模型。
在具体的实施过程中,由于不同厂商的不同产品的参数命名规则都不同,所以需要根据每一产品规格对应的参数命名规则为每个产品分别构造参数词典。其中,参数词典中包括:参数代码、词频的对数值和代码属性编号,应当说明的是,参数词典中还可以包括其他参数,本发明实施例对此不作具体限定。需要注意的是,如果在用户输入中存在类似“6A”和“6安”这样的同义表达,则应当考虑将同义表达的形式也加入训练数据中。因为不同的产品规格的被使用频次不同,输入的产品规格记录应当以其使用频次加权(重复),以保证与真实的使用分布相一致。
参数分析模型的数学形式为:
其中,O表示用户输入的查询字符串,W表示用户所想要表达的参数(也就是我们想得到的参数信息),因为我们的提取不改变输入,而且是基于输入的,所以P(O|W)可以认为是1而被忽略。我们只需要找到最大的P(W)即可,P(W)可以根据动态规划算法找出最优的参数序列,然后从参数词典中找出对应的参数信息。在这里,因为样本数量较少,我们使用uni-gram一元语言模型。在一元语言模型中,P(W)=P(w1)*P(w2)*....*P(wn)。所以参数分析算法需要做的是找到对用户输入的查询字符串(非主体部分)的概率最大的划分。
本发明实施例通过构建每一产品规格对应的参数分析模型,通过参数分析模型可以准确地获得查询字符串中参数信息,进而能够较为准确的获得到查询结果。
在上述实施例的基础上,所述方法,还包括:
将查询获得的查询结果按照预设规则进行排序,其中,所述预设规则包括相似度、查询频率、点击反馈率、编辑距离中的任意一种或其组合。
在具体的实施过程中,当通过查询指令获得到查询结果后,其查询结果可能不止一个,因此,需要对查询结果展示的先后顺序进行确定,在对查询结果排序时,可以考虑相似度、查询频率、点击反馈率、编辑距离中的任意一种或其组合,当然,也可以基于机器学习的方式,建立排序模型,通过排序模型输出查询结果的排序。
本发明实施例通过对查询结果排序,使得能够将用户想要获得的查询结果排在最前面,方便用户的浏览。
在上述实施例的基础上,所述根据所述查询字符串利用主体库进行主体分析,获得所述查询字符串对应的主体名称,包括:
利用正则表达式或Aho-Corasick自动机算法将所述查询字符串与所述主体库中的主体名称进行匹配,获得所述查询字符串对应的主体名称。
在具体的实施过程中,主体分析的功能是从查询字符串中找到关键的主体名称。其实现方法有两种:
第一,主体数量较少(<1000)的时候,可以使用正则表达式进行匹配搜索,所使用的正则表达式为“A|B|C|D|...”。其中A、B、C等为主体名称。
第二,当主体名称数量较多的时候,则可以使用Aho-Corasick自动机算法来进行高效的线性时间复杂度的匹配查找。应当说明的是,Aho-Corasick自动机算法为现有技术,其核心思想此处不再赘述。且本发明实施例中还可以通过其他的算法来实现对主体名称的匹配,本发明实施例对此不作具体限定。
本发明实施例通过主体库对查询字符串进行主体分析,实现了针对不同厂商不同产品的精确化分析,提高了数据查询的准确性。
在上述实施例的基础上,所述根据所述主体利用对应的参数分析模型对所述查询字符串进行参数分析,获得对应的参数信息,包括:
将所述查询字符串进行去主体操作,获得非主体查询字符串;
将所述非主体查询字符串输入到所述参数分析模型中,所述参数分析模型根据动态规划算法将参数概率和最大的参数组作为所述参数信息。
在具体的实施过程中,在将查询字符串经过主体分析获取对应的主体名称后,将查询字符串中的主体名称去除,获得非主体查询字符串,将非查询字符串输入到参数分析模型中进行参数分析,利用动态规划算法输出参数概率和最大的参数组作为参数信息。例如,查询字符串IC65N3P16A进行去主体操作获得的非主体查询字符串为:N3P16A,将N3P16A输入到参数分析模型后,通过参数分析模型中的参数词典可以获得一个参数矩阵:
0 | 1 | 2 | 3 | 4 | 5 | |
0 | P(N) | P(N3) | P(N3P) | P(N3P1) | P(N3P16) | P(N3P16A) |
1 | P(3) | P(3P) | P(3P1) | P(3P16) | P(3P16A) | |
2 | P(P) | P(P1) | P(P16) | P(P16A) | ||
3 | P(1) | P(16) | P(16A) | |||
4 | P(6) | P(6A) | ||||
5 | P(A) |
通过动态规划算法找到参数概率和最大的参数组为:N,3P,16A。
本发明实施例通过参数分析模型对非主体查询字符串进行参数分析,通过参数分析模型可以准确地获得查询字符串中参数信息,进而能够较为准确的获得到查询结果。
在各上述实施例的基础上,所述根据所述查询指令进行查询,包括:
利用Elastic Search搜索引擎对所述查询指令进行查询,获得查询结果。
在具体的实施过程中,目前查询装置选用了Elastic Search(ES)作为后端搜索引擎。ES是一个开源的、基于Lucene的分布式搜索引擎,具有功能丰富、搜索语法丰富、排序配置灵活、分布式架构可靠和高性能等优良的特性,而且有充足的开源社区支持。
索引更新程序读取规范化后的产品规格记录,并通过ES HTTP API写入ES索引中。搜索引擎通过ES的HTTP API提供基础的搜索服务。
图2为本发明实施例提供的另一种数据查询方法流程示意图,如图2所示,包括:
查询装置预先获取所有产品规格的产品业务数据,并对各产品业务数据进行规范化处理;
将进行规范化处理的产品业务数据一方面存入ES索引中,更新该ES索引,另一方面作为训练数据对离线模型进行训练,训练后生成分析模型,其中,分析模型包括主体库和参数优化模型;
当用户输入查询字符串时,通过分析模型对查询字符串进行分析,获得对应的主体名称和参数信息,根据主体名称和参数信息构成的查询指令通过搜索引擎从ES索引中进行查询,将查询结果通过排序模型进行排序并显示。
本发明实施例通过主体库获取到查询字符串中的主体名称,然后根据主体名称利用对应的参数分析模型获得参数信息,最后根据主体名称和参数信息构成的查询指令进行查询,获得查询结果,由于从查询字符串中获得了较为规范的查询指令,因此能够获取较为准确的查询结果。
图3为本发明实施例提供的一种数据查询装置结构示意图,如图3所示,该装置包括:接收模块301、主体分析模块302、参数分析模块303和查询模块304,其中,
接收模块301用于接收终端发送的查询字符串;主体分析模块302用于根据所述查询字符串利用主体库进行主体分析获得对应的主体名称;参数分析模块303用于根据所述主体名称利用对应的参数分析模型对所述查询字符串进行参数分析,获得对应的参数信息;查询模块304用于将所述主体名称和所述参数信息生成查询指令,根据所述查询指令进行查询。
在上述实施例的基础上,所述装置,还包括:
预处理模块,用于对所述查询字符串进行预处理操作,其中,所述预处理操作包括分隔符替换、主体名称预识别和参数信息预识别。
在上述实施例的基础上,所述装置,还包括:
主体库构建模块,用于预先获取所有产品规格对应的标准主体名称以及每一所述标准主体名称对应的所有疑似主体名称;
将所述标准主体名称和对应的所述疑似主体名称的集合构成所述主体库。
在上述实施例的基础上,所述装置,还包括:
参数分析模型构建模块,用于预先获取所有产品规格对应的参数命名规则,根据每一产品规格对应的参数命名规则构建对应的参数词典,其中所述参数词典中包括:参数代码、词频的对数值和代码属性编号;
根据所述参数词典构建对应的参数分析模型。
在上述实施例的基础上,所述装置,还包括:
排序模块,用于将查询获得的查询结果按照预设规则进行排序,其中,所述预设规则包括相似度、查询频率、点击反馈率、编辑距离中的任意一种或其组合。
在上述实施例的基础上,所述主体分析模块,具体用于:
利用正则表达式或Aho-Corasick自动机算法将所述查询字符串与所述主体库中的主体名称进行匹配,获得所述查询字符串对应的主体名称。
在上述实施例的基础上,所述参数分析模块,具体用于:
将所述查询字符串进行去主体操作,获得非主体查询字符串;
将所述非主体查询字符串输入到所述参数分析模型中,所述参数分析模型根据动态规划算法将参数概率和最大的参数组作为所述参数信息。
在上述各实施例的基础上,所述查询模块,具体用于:
利用Elastic Search搜索引擎对所述查询指令进行查询,获得查询结果。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置的具体工作过程,可以参考前述方法中的对应过程,在此不再过多赘述。
综上所述,本发明实施例通过主体库获取到查询字符串中的主体名称,然后根据主体名称利用对应的参数分析模型获得参数信息,最后根据主体名称和参数信息构成的查询指令进行查询,获得查询结果,由于从查询字符串中获得了较为规范的查询指令,因此能够获取较为准确的查询结果。
请参照图4,图4为本发明实施例提供的电子设备的结构框图。电子设备可以包括查询装置401、存储器402、存储控制器403、处理器404、外设接口405、输入输出单元406、音频单元407、显示单元408。
所述存储器402、存储控制器403、处理器404、外设接口405、输入输出单元406、音频单元407、显示单元408各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。所述查询装置401包括至少一个可以软件或固件(firmware)的形式存储于所述存储器402中或固化在查询装置401的操作系统(operating system,OS)中的软件功能模块。所述处理器404用于执行存储器402中存储的可执行模块,例如查询装置401包括的软件功能模块或计算机程序。
其中,存储器402可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-OnlyMemory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。其中,存储器402用于存储程序,所述处理器404在接收到执行指令后,执行所述程序,前述本发明实施例任一实施例揭示的流过程定义的服务器所执行的方法可以应用于处理器404中,或者由处理器404实现。
处理器404可以是一种集成电路芯片,具有信号的处理能力。上述的处理器404可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器404也可以是任何常规的处理器等。
所述外设接口405将各种输入/输出装置耦合至处理器404以及存储器402。在一些实施例中,外设接口405,处理器404以及存储控制器403可以在单个芯片中实现。在其他一些实例中,他们可以分别由独立的芯片实现。
输入输出单元406用于提供给用户输入数据实现用户与所述服务器(或本地终端)的交互。所述输入输出单元406可以是,但不限于,鼠标和键盘等。
音频单元407向用户提供音频接口,其可包括一个或多个麦克风、一个或者多个扬声器以及音频电路。
显示单元408在所述电子设备与用户之间提供一个交互界面(例如用户操作界面)或用于显示图像数据给用户参考。在本实施例中,所述显示单元408可以是液晶显示器或触控显示器。若为触控显示器,其可为支持单点和多点触控操作的电容式触控屏或电阻式触控屏等。支持单点和多点触控操作是指触控显示器能感应到来自该触控显示器上一个或多个位置处同时产生的触控操作,并将该感应到的触控操作交由处理器404进行计算和处理。
所述外设接口405将各种输入/输入装置耦合至处理器404以及存储器402。在一些实施例中,外设接口405,处理器404以及存储控制器403可以在单个芯片中实现。在其他一些实例中,他们可以分别由独立的芯片实现。
输入输出单元406用于提供给用户输入数据实现用户与处理终端的交互。所述输入输出单元406可以是,但不限于,鼠标和键盘等。
可以理解,图4所示的结构仅为示意,所述电子设备还可包括比图4中所示更多或者更少的组件,或者具有与图4所示不同的配置。图4中所示的各组件可以采用硬件、软件或其组合实现。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (10)
1.一种数据查询方法,其特征在于,包括:
接收终端发送的查询字符串;
根据所述查询字符串利用主体库进行主体分析获得对应的主体名称;所述主体库是指所有产品规格的主体名称的集合;
根据所述主体名称利用对应的参数分析模型对所述查询字符串进行参数分析,获得对应的参数信息;
将所述主体名称和所述参数信息生成查询指令,根据所述查询指令进行查询;
所述将所述主体名称和所述参数信息生成查询指令,根据所述查询指令进行查询,包括:
如果根据主体名称得知查询字符串中包括两个不同系列的主体名称,且每个主体名称对应各自的参数信息,则将这两个主体名称及各自对应的参数信息取并集构成查询指令;如果根据主体名称和参数信息得知要查找的是同一系列但是不同参数,则将参数信息取交集构成查询指令;如果根据主体名称和参数信息得知要查询的是同一系列,同一参数但参数值不同,则取并集构成查询指令。
2.根据权利要求1所述的方法,其特征在于,所述方法,还包括:
对所述查询字符串进行预处理操作,其中,所述预处理操作包括分隔符替换、主体名称预识别和参数信息预识别。
3.根据权利要求1所述的方法,其特征在于,所述方法,还包括:
预先获取所有产品规格对应的标准主体名称以及每一所述标准主体名称对应的所有疑似主体名称;
将所述标准主体名称和对应的所述疑似主体名称的集合构成所述主体库。
4.根据权利要求1所述的方法,其特征在于,所述方法,还包括:
预先获取所有产品规格对应的参数命名规则,根据每一产品规格对应的参数命名规则构建对应的参数词典,其中所述参数词典中包括:参数代码、词频的对数值和代码属性编号;
根据所述参数词典构建对应的参数分析模型。
5.根据权利要求1所述的方法,其特征在于,所述方法,还包括:
将查询获得的查询结果按照预设规则进行排序,其中,所述预设规则包括相似度、查询频率、点击反馈率、编辑距离中的任意一种或其组合。
6.根据权利要求1所述的方法,其特征在于,所述根据所述查询字符串利用主体库进行主体分析,获得所述查询字符串对应的主体名称,包括:
利用正则表达式或Aho-Corasick自动机算法将所述查询字符串与所述主体库中的主体名称进行匹配,获得所述查询字符串对应的主体名称。
7.根据权利要求1所述的方法,其特征在于,所述根据所述主体名称利用对应的参数分析模型对所述查询字符串进行参数分析,获得对应的参数信息,包括:
将所述查询字符串进行去主体操作,获得非主体查询字符串;
将所述非主体查询字符串输入到所述参数分析模型中,所述参数分析模型根据动态规划算法将参数概率和最大的参数组作为所述参数信息。
8.根据权利要求1-7任一项所述的方法,其特征在于,所述根据所述查询指令进行查询,包括:
利用Elastic Search搜索引擎对所述查询指令进行查询,获得查询结果。
9.一种数据查询装置,其特征在于,包括:
接收模块,用于接收终端发送的查询字符串;
主体分析模块,用于根据所述查询字符串利用主体库进行主体分析获得对应的主体名称;所述主体库是指所有产品规格的主体名称的集合;
参数分析模块,用于根据所述主体名称利用对应的参数分析模型对所述查询字符串进行参数分析,获得对应的参数信息;
查询模块,用于将所述主体名称和所述参数信息生成查询指令,根据所述查询指令进行查询;
所述 查询模块具体用于:
如果根据主体名称得知查询字符串中包括两个不同系列的主体名称,且每个主体名称对应各自的参数信息,则将这两个主体名称及各自对应的参数信息取并集构成查询指令;如果根据主体名称和参数信息得知要查找的是同一系列但是不同参数,则将参数信息取交集构成查询指令;如果根据主体名称和参数信息得知要查询的是同一系列,同一参数但参数值不同,则取并集构成查询指令。
10.根据权利要求9所述的装置,其特征在于,所述装置,还包括:
预处理模块,用于对所述查询字符串进行预处理操作,其中,所述预处理操作包括分隔符替换、主体名称预识别和参数信息预识别。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810633278.0A CN108846103B (zh) | 2018-06-19 | 2018-06-19 | 一种数据查询方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810633278.0A CN108846103B (zh) | 2018-06-19 | 2018-06-19 | 一种数据查询方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108846103A CN108846103A (zh) | 2018-11-20 |
CN108846103B true CN108846103B (zh) | 2021-01-15 |
Family
ID=64203036
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810633278.0A Active CN108846103B (zh) | 2018-06-19 | 2018-06-19 | 一种数据查询方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108846103B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110287203B (zh) * | 2019-05-24 | 2021-03-26 | 北京百度网讯科技有限公司 | 用于售货机的更新方法、更新装置及售货机 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101131706A (zh) * | 2007-09-28 | 2008-02-27 | 北京金山软件有限公司 | 一种查询修正方法及系统 |
CN101916263A (zh) * | 2010-07-27 | 2010-12-15 | 武汉大学 | 基于加权编辑距离的模糊关键字查询方法及系统 |
CN102880614A (zh) * | 2011-07-15 | 2013-01-16 | 阿里巴巴集团控股有限公司 | 数据搜索方法及设备 |
CN107977422A (zh) * | 2017-11-27 | 2018-05-01 | 中国电子科技集团公司第二十八研究所 | 一种装备型号名称的模糊匹配方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7630982B2 (en) * | 2007-02-24 | 2009-12-08 | Trend Micro Incorporated | Fast identification of complex strings in a data stream |
-
2018
- 2018-06-19 CN CN201810633278.0A patent/CN108846103B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101131706A (zh) * | 2007-09-28 | 2008-02-27 | 北京金山软件有限公司 | 一种查询修正方法及系统 |
CN101916263A (zh) * | 2010-07-27 | 2010-12-15 | 武汉大学 | 基于加权编辑距离的模糊关键字查询方法及系统 |
CN102880614A (zh) * | 2011-07-15 | 2013-01-16 | 阿里巴巴集团控股有限公司 | 数据搜索方法及设备 |
CN107977422A (zh) * | 2017-11-27 | 2018-05-01 | 中国电子科技集团公司第二十八研究所 | 一种装备型号名称的模糊匹配方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108846103A (zh) | 2018-11-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108804641B (zh) | 一种文本相似度的计算方法、装置、设备和存储介质 | |
CN111563385B (zh) | 语义处理方法、装置、电子设备和介质 | |
CN110020422A (zh) | 特征词的确定方法、装置和服务器 | |
CN112035599B (zh) | 基于垂直搜索的查询方法、装置、计算机设备及存储介质 | |
KR20200007969A (ko) | 정보 처리 방법, 단말기, 및 컴퓨터 저장 매체 | |
CN111881316A (zh) | 搜索方法、装置及服务器和计算机可读存储介质 | |
CN111274267A (zh) | 一种数据库查询方法、装置及计算机可读取存储介质 | |
CN112100396B (zh) | 一种数据处理方法和装置 | |
CN109508441B (zh) | 通过自然语言实现数据统计分析的方法、装置及电子设备 | |
TW201915777A (zh) | 金融非結構化文本分析系統及其方法 | |
JP4368336B2 (ja) | カテゴリ設定支援方法及び装置 | |
JP2020513128A (ja) | トピック構造化方法、検索結果提供方法、コンピュータプログラムおよびトピック構造化システム | |
CN109144964A (zh) | 基于机器学习的日志解析方法和装置 | |
CN113408301A (zh) | 一种样本处理方法、装置、设备和介质 | |
CN110263121B (zh) | 表格数据处理方法、装置、电子装置及计算机可读存储介质 | |
CN108846103B (zh) | 一种数据查询方法及装置 | |
CN110874366A (zh) | 数据处理、查询方法和装置 | |
CN113536156B (zh) | 搜索结果排序方法、模型构建方法、装置、设备和介质 | |
CN115080603B (zh) | 一种数据库查询语言转换方法、装置、设备及存储介质 | |
US11507593B2 (en) | System and method for generating queryeable structured document from an unstructured document using machine learning | |
CN112182177B (zh) | 一种用户问题处理方法、装置、电子设备及存储介质 | |
CN112800314B (zh) | 搜索引擎询问自动补全的方法、系统、存储介质及设备 | |
CN115292370A (zh) | 一种业务单据数据处理方法、装置、介质 | |
CN113869408A (zh) | 一种分类方法及计算机设备 | |
CN113779362A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |