CN105843882A - 一种信息匹配方法及装置 - Google Patents
一种信息匹配方法及装置 Download PDFInfo
- Publication number
- CN105843882A CN105843882A CN201610161559.1A CN201610161559A CN105843882A CN 105843882 A CN105843882 A CN 105843882A CN 201610161559 A CN201610161559 A CN 201610161559A CN 105843882 A CN105843882 A CN 105843882A
- Authority
- CN
- China
- Prior art keywords
- node
- fuzzy
- level
- nodes
- ordinary
- 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 40
- 230000004048 modification Effects 0.000 abstract description 4
- 238000012986 modification Methods 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 230000035558 fertility Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000004080 punching Methods 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
-
- 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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2246—Trees, e.g. B+trees
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供了一种信息匹配方法及装置,其中方法包括:获取输入的待检索信息;在预设数据库中按照预设规则查找与所述待检索信息相匹配的数据;输出所查找到的与所述待检索信息相匹配的数据;其中,所述预设数据库中的数据按照Trie树方式存储,并且,所述Trie树中除了普通节点外还包括模糊节点,所述模糊节点用于在需要进行模糊查找时越过同一级中的各兄弟普通节点而直接达到所述同一级中的各兄弟普通节点的子节点。本发明对Trie树的结构进行了改进,在Trie树的普通节点的基础上添加了模糊节点,使之变为更适合模糊匹配的数据结构,使用时可大大减少查找和比较的次数,进而提高了模糊查找的速度。
Description
技术领域
本发明涉及计算机技术,尤其涉及一种信息匹配方法及装置。
背景技术
当前很多网页或APP等都提供检索功能,用户在使用时可能会输入错误的查询词,或者是输入模糊的查询词,此时就需要使用模糊匹配技术,为用户提供尽可能正确的检索结果。在现有技术中,可以通过在Trie树的结构上使用深度优先搜索算法,来实现对检索词的模糊匹配。
Trie树又可称前缀树或字典树,是一种匹配查找的常用方法,可以用来排序和保存大量的字符串等信息,所以经常被搜索引擎系统用于文本词频统计。它的优点是:利用字符串的公共前缀来减少查询时间,最大限度地减少无谓的字符串比较,查询效率比哈希树高。深度优先搜索则是一种常用的枚举搜索法,其规则简单说来就是从根节点出发,对每一个可能的分支路径深入到不能再深入为止,且每个节点只能访问一次。
发明人在实现本发明的过程中发现,现有的这种检索方式在使用时查找和比较的次数太多,导致运行速度很慢,效率很低,用户体验不好。
发明内容
为克服现有技术中存在的问题,本发明实施例提供一种信息匹配方法及装置,提高模糊检索时的效率。
根据本发明实施例的第一方面,提供一种信息匹配方法,所述方法包括:
获取输入的待检索信息;
在预设数据库中按照预设规则查找与所述待检索信息相匹配的数据;
输出所查找到的与所述待检索信息相匹配的数据;
其中,所述预设数据库中的数据按照Trie树方式存储,并且,所述Trie树中除了普通节点外还包括模糊节点,所述模糊节点用于在需要进行模糊查找时越过同一级中的各兄弟普通节点而直接达到所述同一级中的各兄弟普通节点的子节点;
所述预设规则包括:
按照深度优先算法在所述预设数据库查找与所述待检索信息相匹配的数据,当需要选取下一个节点时,如果此时为模糊查找,则只选取下一个节点中的模糊节点。
可选的:
所述模糊节点分为一级模糊节点和二级模糊节点,所述Trie树的每个普通节点下带有一个一级模糊节点,每个一级模糊节点下带有一个二级模糊节点,所述一级模糊节点的父节点的子子节点中的所有普通节点均链接到当前一级模糊节点下,所述二级模糊节点的祖父节点的子子子节点中所有普通节点均链接到当前二级模糊节点下,作为叶子节点的一级模糊节点储存有同父的所有兄弟普通节点中所储存的数据,作为叶子节点的二级模糊节点储存有同祖父的所有兄弟普通节点中所储存的数据。
可选的,在获取输入的待检索信息之前,所述方法还包括:
获取用于生成所述预设数据库的数据;
将所述用于生成所述预设数据库的数据按照Trie树方式存储;
在每个Trie树的普通节点下添加一个一级模糊节点,在每个一级模糊节点下添加一个二级模糊节点,将一级模糊节点的父节点的子子节点中的所有普通节点均链接到当前一级模糊节点下,将二级模糊节点的祖父节点的子子子节点中的所有普通节点均链接到当前二级模糊节点下,并令作为叶子节点的一级模糊节点储存有同父的所有兄弟普通节点所储存的数据,作为叶子节点的二级模糊节点储存有同祖父的所有兄弟普通节点所储存的数据,以生成所述预设数据库。
可选的,通过如下方式判断是否为模糊查找:
如果所述待检索信息中包括模糊通配符,则当所述查找进行到所述模糊通配符的位置处时,判断为此时进行模糊查找。
可选的,所述输出所查找到的与所述待检索信息相匹配的数据,包括:
输出所查找到的叶子节点中所存储的数据。
根据本发明实施例的第二方面,提供一种信息匹配装置,所述装置包括:
获取单元,用于获取输入的待检索信息;
匹配单元,用于在预设数据库中按照预设规则查找与所述待检索信息相匹配的数据;
输出单元,用于输出所查找到的与所述待检索信息相匹配的数据;
其中,所述预设数据库中的数据按照Trie树方式存储,并且,所述Trie树中除了普通节点外还包括模糊节点,所述模糊节点用于在需要进行模糊查找时越过同一级中的各兄弟普通节点而直接达到所述同一级中的各兄弟普通节点的子节点;
所述预设规则包括:
按照深度优先算法在所述预设数据库查找与所述待检索信息相匹配的数据,当需要选取下一个节点时,如果此时为模糊查找,则只选取下一个节点中的模糊节点。
可选的:
所述模糊节点分为一级模糊节点和二级模糊节点,所述Trie树的每个普通节点下带有一个一级模糊节点,每个一级模糊节点下带有一个二级模糊节点,所述一级模糊节点的父节点的子子节点中的所有普通节点均链接到当前一级模糊节点下,所述二级模糊节点的祖父节点的子子子节点中所有普通节点均链接到当前二级模糊节点下,作为叶子节点的一级模糊节点储存有同父的所有兄弟普通节点中所储存的数据,作为叶子节点的二级模糊节点储存有同祖父的所有兄弟普通节点中所储存的数据。
可选的,所述装置还包括:
预设数据库生成单元,用于:
获取用于生成所述预设数据库的数据;将所述用于生成所述预设数据库的数据按照Trie树方式存储;在每个Trie树的普通节点下添加一个一级模糊节点,在每个一级模糊节点下添加一个二级模糊节点,将一级模糊节点的父节点的子子节点中的所有普通节点均链接到当前一级模糊节点下,将二级模糊节点的祖父节点的子子子节点中的所有普通节点均链接到当前二级模糊节点下,并令作为叶子节点的一级模糊节点储存有同父的所有兄弟普通节点所储存的数据,作为叶子节点的二级模糊节点储存有同祖父的所有兄弟普通节点所储存的数据,以生成所述预设数据库。
可选的,所述匹配单元通过如下方式判断是否为模糊查找:
如果所述待检索信息中包括模糊通配符,则当所述查找进行到所述模糊通配符的位置处时,判断为此时进行模糊查找。
可选的,所述输出单元用于:
输出所查找到的叶子节点中所存储的数据。
本发明的实施例提供的技术方案可以包括以下有益效果:
本发明对Trie树的结构进行了改进,在Trie树的普通节点的基础上添加了模糊节点,使之变为更适合模糊匹配的数据结构,使用时可大大减少查找和比较的次数,进而提高了模糊查找的速度。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1是现有技术中Trie树的示意图;
图2是现有技术中在Trie树进行查找时的查找顺序示意图;
图3是根据本发明一示例性实施例示出的一种信息匹配方法的流程图;
图4是根据本发明一示例性实施例示出的带模糊节点的Trie树示意图;
图5是根据本发明一示例性实施例示出的模糊节点链接示意图;
图6是现有技术中进行模糊查找的示意图;
图7是根据本发明一示例性实施例示出的进行模糊查找的示意图;
图8是根据本发明一示例性实施例示出的一种信息匹配方法的流程图;
图9是根据本发明一示例性实施例示出的一种信息匹配装置的示意图;
图10是根据本发明一示例性实施例示出的一种信息匹配装置的示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
首先对Trie树进行一下简单介绍。假设Trie树中存储的数据是“勇者大冒险”、“勇者大冲关”、“勇者传说”、“圣域传说”、“神话传说”这些词条,参见图1所示。再假设某时刻用户输入的待查询关键词是“勇者传说”,则检索系统会将“勇者传说”分为4个单字‘勇’、‘者’、‘传’、‘说’,然后从根节点出发,检索‘勇’字,进入该节点,从‘勇’字节点出发,检索‘者’字,进入该节点,如此下去,直至发现全部单字,命中“勇者传说”,搜索结束。该过程可参见图2所示,在图2中,节点旁边的数字代表搜索节点时的顺序,下同。
图3是根据一示例性实施例示出的一种信息匹配方法的流程图。该方法可用于手机、平板电脑、台式机等终端设备,也可用于服务器等。
参见图3所示,该方法可以包括:
步骤S301,获取输入的待检索信息。
例如当用户需要检索某信息时,可在手机的搜索框中输入待检索信息,然后点击检索按钮。
步骤S302,在预设数据库中按照预设规则查找与所述待检索信息相匹配的数据。
其中,所述预设数据库中的数据按照Trie树方式存储,并且,所述Trie树中除了普通节点外还包括模糊节点,所述模糊节点用于在需要进行模糊查找时越过同一级中的各兄弟普通节点而直接达到所述同一级中的各兄弟普通节点的子节点;
所述预设规则包括:
按照深度优先算法在所述预设数据库查找与所述待检索信息相匹配的数据,当需要选取下一个节点时,如果此时为模糊查找,则只选取下一个节点中的模糊节点。
同一级的各兄弟普通节点可以是同父的子节点,也可以是同祖父的子子节点。
具体的,在本实施例或本发明其他某些实施例中:
所述模糊节点分为一级模糊节点和二级模糊节点,所述Trie树的每个普通节点下带有一个一级模糊节点,每个一级模糊节点下带有一个二级模糊节点,所述一级模糊节点的父节点的子子节点中的所有普通节点均链接到当前一级模糊节点下,所述二级模糊节点的祖父节点的子子子节点中的所有普通节点均链接到当前二级模糊节点下,作为叶子节点的一级模糊节点储存有同父的所有兄弟普通节点中所储存的数据,作为叶子节点的二级模糊节点储存有同祖父的所有兄弟普通节点中所储存的数据。
作为示例可参见图4~图5所示,在图4中,F1节点为一级模糊节点、F2节点为二级模糊节点。在图5中,F1节点的父节点的子子节点中的所有普通节点均链接到当前F1节点下,成为F1的子节点,F2节点的祖父节点的子子子节点中的所有普通节点均链接到当前F2节点下,成为F2的子节点。
对于图4和图5需要说明的是,理论上每个普通节点下都应该增加一个一级模糊节点,然而实际中有时增加了一级模糊节点后,该模糊节点并无意义,所以在图4和图5中有些普通节点下并未绘出模糊节点。以‘冲’字节点为例,该节点下并无子子节点,所以即使为该节点添加了F1节点,该F1节点下也没有可以链接的普通节点,所以该F1节点也就无存在意义了,故图4和图5中‘冲’字节点下未绘出一级模糊节点。同理,有些一级模糊节点下也并未绘出二级模糊节点。
步骤S303,输出所查找到的与所述待检索信息相匹配的数据。
作为示例,所述输出所查找到的与所述待检索信息相匹配的数据,可以包括:
输出所查找到的叶子节点中所存储的数据。
下面结合示例对Trie树所存储的数据进行说明。Trie树中所述存储可以为字符串,例如由自然语言构成的词组。数据通常主要存储在叶子节点。例如对于“勇者传说”这一词组,对应四个普通节点,各节点分别用于索引‘勇’‘者’‘传’‘说’,而实际的数据即“勇者传说”这一词条,则存储在叶子节点即‘说’字节点中。另外,因为“勇者”一词也可以单独做一个词条,所以‘者’字节点也可以存储“勇者”一词。
此外,‘说’字节点所存储的数据除了包括“勇者传说”这一词条外,还可以进一步包括其他相关内容,如地址、图片、简介、链接等等,这样用户检索到“勇者传说”时就可以进一步看到该检索结果所关联的其他相关内容了。
在本发明或本发明其他某些实施例中,可以通过如下方式判断是否为模糊查找:
如果所述待检索信息中包括模糊通配符,则当所述查找进行到所述模糊通配符的位置处时,判断为此时进行模糊查找。
例如模糊通配符可以为“*”、“%”等。
下面结合具体示例对使用深度优先算法的模糊检索过程进行进一步说明:
假设要检索的内容是“**传说”,其中‘*’代表任意字。如果是在普通Trie树上进行模糊检索,参见图6所示,其过程可以如下:
1)将“**传说”分为4个单字,即‘*’、‘*’、‘传’、‘说’。
2)从根节点出发,遍历其所有的子节点,首先进入节点‘勇’。
3)由于第二个字也是‘*’,从‘勇’节点出发,遍历其所有节点,首先进入节点‘者’。
4)从‘者’字节点出发,检索‘传’字,进入该节点。
5)从‘传’字节点出发,检索‘说’字,进入该节点,发现符合条件的词条“勇者传说”,于是记录下来。
6)回到第3)步,继续‘勇’节点的子节点的遍历,重复3)~5)。在这里‘勇’节点下面只有一个子节点,所以遍历结束。
7)回到第2)步,继续根节点的子节点的遍历,重复2)~6)。在这里根节点下面有三个子节点,要一一遍历。
8)统计所有记录下的符合条件的结果(“勇者传说”、“圣域传说”、“神话传说”),搜索结束。
而如果使用本发明中添加了模糊节点的Trie树,参见图7所示,其过程可以如下:
a)将“**传说”分为4个单字,即‘*’、‘*’、‘传’、‘说’。
b)从根节点出发,只进入到它的子节点‘F1’。
c)由于第二个字也是‘*’,从‘F1’节点出发,进入到它的子节点‘F2’。
d)从‘F2’节点出发,检索‘传’字,发现多个节点,遍历这些节点。
e)从第一个‘传’字节点出发,检索‘说’字,进入该节点,发现符合条件的词条“勇者传说”,记录下来。
f)重复第e步,完成遍历。
g)统计所有找到的符合条件的结果(“勇者传说”、“圣域传说”、“神话传说”),搜索结束。
通过对比图6和图7,可以明确看出本发明检索速度的优势,因为需要比较的次数大大减少,在需要进行模糊查找时会越过同一级中的各兄弟普通节点而直接达到所述同一级中的各兄弟普通节点的子节点。
在现实搜索中,服务器上会储存大量的数据,一般每个节点下面将会由3000左右的子节点。本发明避免两重遍历,优化了约3000x3000倍的速度。这样使得模糊匹配的速度有了显著的提升,使得算法变得实际可用。当有80万数据量的时候,优化前的Trie树模糊匹配,一次搜索大约用时5~6分钟,优化后的模糊匹配算法搜索用时可忽略不计(小于1毫秒)。
此外参见图8所示,在获取输入的待检索信息之前,所述方法还包括:
步骤S801,获取用于生成所述预设数据库的数据。
步骤S802,将所述用于生成所述预设数据库的数据按照Trie树方式存储。
步骤S803,在每个Trie树的普通节点下添加一个一级模糊节点,在每个一级模糊节点下添加一个二级模糊节点,将一级模糊节点的父节点的子子节点中的所有普通节点均链接到当前一级模糊节点下,将二级模糊节点的祖父节点的子子子节点中所有普通节点均链接到当前二级模糊节点下,并令作为叶子节点的一级模糊节点储存有同父的所有兄弟普通节点所储存的数据,作为叶子节点的二级模糊节点储存有同祖父的所有兄弟普通节点所储存的数据,以生成所述预设数据库。
本发明实施例对Trie树的结构进行了改进,为Trie树的普通节点添加了模糊节点,使之变为更适合模糊匹配的数据结构,使用时可大大减少查找和比较的次数,从而提高了查找速度。
下述为本发明装置实施例,可以用于执行本发明方法实施例。对于本发明装置实施例中未披露的细节,请参照本发明方法实施例。
图9是根据一示例性实施例示出的一种信息匹配装置的示意图。该装置可用于手机、平板电脑、台式机等终端设备,也可用于服务器等。
参见图9所示,该装置可以包括:
获取单元901,用于获取输入的待检索信息。
例如当用户需要检索某信息时,可在手机的搜索框中输入待检索信息,然后点击检索按钮。
匹配单元902,用于在预设数据库中按照预设规则查找与所述待检索信息相匹配的数据。
其中,所述预设数据库中的数据按照Trie树方式存储,并且,所述Trie树中除了普通节点外还包括模糊节点,所述模糊节点用于在需要进行模糊查找时越过同一级中的各兄弟普通节点而直接达到所述同一级中的各兄弟普通节点的子节点;
所述预设规则包括:
按照深度优先算法在所述预设数据库查找与所述待检索信息相匹配的数据,当需要选取下一个节点时,如果此时为模糊查找,则只选取下一个节点中的模糊节点。
具体的,在本实施例或本发明其他某些实施例中:
所述模糊节点分为一级模糊节点和二级模糊节点,所述Trie树的每个普通节点下带有一个一级模糊节点,每个一级模糊节点下带有一个二级模糊节点,所述一级模糊节点的父节点的子子节点中的所有普通节点均链接到当前一级模糊节点下,所述二级模糊节点的祖父节点的子子子节点中所有普通节点均链接到当前二级模糊节点下,作为叶子节点的一级模糊节点储存有同父的所有兄弟普通节点中所储存的数据,作为叶子节点的二级模糊节点储存有同祖父的所有兄弟普通节点中所储存的数据。
输出单元903,用于输出所查找到的与所述待检索信息相匹配的数据。
作为示例,所述输出单元903具体可以用于:
输出所查找到的叶子节点中所存储的数据。
在本发明或本发明其他某些实施例中,所述匹配单元902可以通过如下方式判断是否为模糊查找:
如果所述待检索信息中包括模糊通配符,则当所述查找进行到所述模糊通配符的位置处时,判断为此时进行模糊查找。
此外,参见图10所示,所述装置还可以包括:
预设数据库生成单元904,用于:
获取用于生成所述预设数据库的数据;将所述用于生成所述预设数据库的数据按照Trie树方式存储;在每个Trie树的普通节点下添加一个一级模糊节点,在每个一级模糊节点下添加一个二级模糊节点,将一级模糊节点的父节点的子子节点中的所有普通节点均链接到当前一级模糊节点下,将二级模糊节点的祖父节点的子子子节点中的所有普通节点均链接到当前二级模糊节点下,并令作为叶子节点的一级模糊节点储存有同父的所有兄弟普通节点所储存的数据,作为叶子节点的二级模糊节点储存有同祖父的所有兄弟普通节点所储存的数据,以生成所述预设数据库。
本发明实施例对Trie树的结构进行了改进,为Trie树的普通节点添加了模糊节点,使之变为更适合模糊匹配的数据结构,使用时可大大减少查找和比较的次数,从而提高了查找速度。
关于上述实施例中的装置,其中各个单元\模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由所附的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
Claims (10)
1.一种信息匹配方法,其特征在于,所述方法包括:
获取输入的待检索信息;
在预设数据库中按照预设规则查找与所述待检索信息相匹配的数据;
输出所查找到的与所述待检索信息相匹配的数据;
其中,所述预设数据库中的数据按照Trie树方式存储,并且,所述Trie树中除了普通节点外还包括模糊节点,所述模糊节点用于在需要进行模糊查找时越过同一级中的各兄弟普通节点而直接达到所述同一级中的各兄弟普通节点的子节点;
所述预设规则包括:
按照深度优先算法在所述预设数据库查找与所述待检索信息相匹配的数据,当需要选取下一个节点时,如果此时为模糊查找,则只选取下一个节点中的模糊节点。
2.根据权利要求1所述的方法,其特征在于:
所述模糊节点分为一级模糊节点和二级模糊节点,所述Trie树的每个普通节点下带有一个一级模糊节点,每个一级模糊节点下带有一个二级模糊节点,所述一级模糊节点的父节点的子子节点中的所有普通节点均链接到当前一级模糊节点下,所述二级模糊节点的祖父节点的子子子节点中所有普通节点均链接到当前二级模糊节点下,作为叶子节点的一级模糊节点储存有同父的所有兄弟普通节点中所储存的数据,作为叶子节点的二级模糊节点储存有同祖父的所有兄弟普通节点中所储存的数据。
3.根据权利要求2所述的方法,其特征在于,在获取输入的待检索信息之前,所述方法还包括:
获取用于生成所述预设数据库的数据;
将所述用于生成所述预设数据库的数据按照Trie树方式存储;
在每个Trie树的普通节点下添加一个一级模糊节点,在每个一级模糊节点下添加一个二级模糊节点,将一级模糊节点的父节点的子子节点中的所有普通节点均链接到当前一级模糊节点下,将二级模糊节点的祖父节点的子子子节点中的所有普通节点均链接到当前二级模糊节点下,并令作为叶子节点的一级模糊节点储存有同父的所有兄弟普通节点所储存的数据,作为叶子节点的二级模糊节点储存有同祖父的所有兄弟普通节点所储存的数据,以生成所述预设数据库。
4.根据权利要求1所述的方法,其特征在于,通过如下方式判断是否为模糊查找:
如果所述待检索信息中包括模糊通配符,则当所述查找进行到所述模糊通配符的位置处时,判断为此时进行模糊查找。
5.根据权利要求1所述的方法,其特征在于,所述输出所查找到的与所述待检索信息相匹配的数据,包括:
输出所查找到的叶子节点中所存储的数据。
6.一种信息匹配装置,其特征在于,所述装置包括:
获取单元,用于获取输入的待检索信息;
匹配单元,用于在预设数据库中按照预设规则查找与所述待检索信息相匹配的数据;
输出单元,用于输出所查找到的与所述待检索信息相匹配的数据;
其中,所述预设数据库中的数据按照Trie树方式存储,并且,所述Trie树中除了普通节点外还包括模糊节点,所述模糊节点用于在需要进行模糊查找时越过同一级中的各兄弟普通节点而直接达到所述同一级中的各兄弟普通节点的子节点;
所述预设规则包括:
按照深度优先算法在所述预设数据库查找与所述待检索信息相匹配的数据,当需要选取下一个节点时,如果此时为模糊查找,则只选取下一个节点中的模糊节点。
7.根据权利要求6所述的装置,其特征在于:
所述模糊节点分为一级模糊节点和二级模糊节点,所述Trie树的每个普通节点下带有一个一级模糊节点,每个一级模糊节点下带有一个二级模糊节点,所述一级模糊节点的父节点的子子节点中的所有普通节点均链接到当前一级模糊节点下,所述二级模糊节点的祖父节点的子子子节点中所有普通节点均链接到当前二级模糊节点下,作为叶子节点的一级模糊节点储存有同父的所有兄弟普通节点中所储存的数据,作为叶子节点的二级模糊节点储存有同祖父的所有兄弟普通节点中所储存的数据。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
预设数据库生成单元,用于:
获取用于生成所述预设数据库的数据;将所述用于生成所述预设数据库的数据按照Trie树方式存储;在每个Trie树的普通节点下添加一个一级模糊节点,在每个一级模糊节点下添加一个二级模糊节点,将一级模糊节点的父节点的子子节点中的所有普通节点均链接到当前一级模糊节点下,将二级模糊节点的祖父节点的子子子节点中的所有普通节点均链接到当前二级模糊节点下,并令作为叶子节点的一级模糊节点储存有同父的所有兄弟普通节点所储存的数据,作为叶子节点的二级模糊节点储存有同祖父的所有兄弟普通节点所储存的数据,以生成所述预设数据库。
9.根据权利要求6所述的装置,其特征在于,所述匹配单元通过如下方式判断是否为模糊查找:
如果所述待检索信息中包括模糊通配符,则当所述查找进行到所述模糊通配符的位置处时,判断为此时进行模糊查找。
10.根据权利要求6所述的装置,其特征在于,所述输出单元用于:
输出所查找到的叶子节点中所存储的数据。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610161559.1A CN105843882A (zh) | 2016-03-21 | 2016-03-21 | 一种信息匹配方法及装置 |
PCT/CN2016/088684 WO2017161749A1 (zh) | 2016-03-21 | 2016-07-05 | 一种信息匹配方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610161559.1A CN105843882A (zh) | 2016-03-21 | 2016-03-21 | 一种信息匹配方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105843882A true CN105843882A (zh) | 2016-08-10 |
Family
ID=56588107
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610161559.1A Pending CN105843882A (zh) | 2016-03-21 | 2016-03-21 | 一种信息匹配方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN105843882A (zh) |
WO (1) | WO2017161749A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106716420A (zh) * | 2016-11-16 | 2017-05-24 | 深圳达闼科技控股有限公司 | 消息匹配方法、消息匹配装置及计算机程序产品、电子设备 |
CN108334491A (zh) * | 2017-09-08 | 2018-07-27 | 腾讯科技(深圳)有限公司 | 文本分析方法、装置、计算设备及存储介质 |
CN108985672A (zh) * | 2017-06-01 | 2018-12-11 | 北京京东尚科信息技术有限公司 | 信息输出方法和装置 |
CN109034938A (zh) * | 2018-06-11 | 2018-12-18 | 广东因特利信息科技股份有限公司 | 信息快速筛选匹配方法、装置、电子设备及存储介质 |
US20230020080A1 (en) * | 2021-04-12 | 2023-01-19 | Adishesh Kishore | Relationship builder to relate data across multiple entities/nodes |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111160200B (zh) * | 2019-12-23 | 2023-06-16 | 浙江大华技术股份有限公司 | 一种路人库的建立方法及装置 |
CN114758727B (zh) * | 2022-04-26 | 2024-06-14 | 安徽农业大学 | 基于携带缓存Trie树加速生物基因的检索方法 |
CN117150095B (zh) * | 2023-09-12 | 2024-03-22 | 北京云枢创新软件技术有限公司 | 层次结构树节点的查找方法、电子设备和介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006130947A1 (en) * | 2005-06-06 | 2006-12-14 | 3618633 Canada Inc. | A method of syntactic pattern recognition of sequences |
CN102737060A (zh) * | 2011-04-14 | 2012-10-17 | 商业对象软件有限公司 | 地理编码应用中的模糊搜索 |
CN103020052A (zh) * | 2011-09-20 | 2013-04-03 | 北京百度网讯科技有限公司 | 一种识别搜索需求的方法和装置 |
CN103209126A (zh) * | 2012-01-11 | 2013-07-17 | 深圳市东进软件开发有限公司 | 一种具有模糊识别功能的号码分析方法和系统 |
CN103778124A (zh) * | 2012-10-17 | 2014-05-07 | 北大方正集团有限公司 | 一种树形结构查询方法及装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6594655B2 (en) * | 2001-01-04 | 2003-07-15 | Ezchip Technologies Ltd. | Wildcards in radix- search tree structures |
CN101083608A (zh) * | 2006-05-30 | 2007-12-05 | 华为技术有限公司 | 设备管理树节点信息的查询方法及其终端设备 |
CN101286988B (zh) * | 2008-04-18 | 2011-05-04 | 北京启明星辰信息技术股份有限公司 | 一种并行多模式匹配的方法及系统 |
CN101807184B (zh) * | 2009-02-16 | 2013-05-01 | 阿尔卡特朗讯 | 用于检索包含通配符的字符串的方法和系统 |
CN102360385A (zh) * | 2011-10-14 | 2012-02-22 | 盛乐信息技术(上海)有限公司 | 文件查找方法及系统 |
CN102646115A (zh) * | 2012-02-17 | 2012-08-22 | 北京星网锐捷网络技术有限公司 | Ac状态机的构建方法及装置 |
-
2016
- 2016-03-21 CN CN201610161559.1A patent/CN105843882A/zh active Pending
- 2016-07-05 WO PCT/CN2016/088684 patent/WO2017161749A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006130947A1 (en) * | 2005-06-06 | 2006-12-14 | 3618633 Canada Inc. | A method of syntactic pattern recognition of sequences |
CN102737060A (zh) * | 2011-04-14 | 2012-10-17 | 商业对象软件有限公司 | 地理编码应用中的模糊搜索 |
CN103020052A (zh) * | 2011-09-20 | 2013-04-03 | 北京百度网讯科技有限公司 | 一种识别搜索需求的方法和装置 |
CN103209126A (zh) * | 2012-01-11 | 2013-07-17 | 深圳市东进软件开发有限公司 | 一种具有模糊识别功能的号码分析方法和系统 |
CN103778124A (zh) * | 2012-10-17 | 2014-05-07 | 北大方正集团有限公司 | 一种树形结构查询方法及装置 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106716420A (zh) * | 2016-11-16 | 2017-05-24 | 深圳达闼科技控股有限公司 | 消息匹配方法、消息匹配装置及计算机程序产品、电子设备 |
CN108985672A (zh) * | 2017-06-01 | 2018-12-11 | 北京京东尚科信息技术有限公司 | 信息输出方法和装置 |
CN108334491A (zh) * | 2017-09-08 | 2018-07-27 | 腾讯科技(深圳)有限公司 | 文本分析方法、装置、计算设备及存储介质 |
CN108334491B (zh) * | 2017-09-08 | 2020-07-31 | 腾讯科技(深圳)有限公司 | 文本分析方法、装置、计算设备及存储介质 |
CN109034938A (zh) * | 2018-06-11 | 2018-12-18 | 广东因特利信息科技股份有限公司 | 信息快速筛选匹配方法、装置、电子设备及存储介质 |
CN109034938B (zh) * | 2018-06-11 | 2022-07-05 | 广东因特利信息科技股份有限公司 | 信息快速筛选匹配方法、装置、电子设备及存储介质 |
US20230020080A1 (en) * | 2021-04-12 | 2023-01-19 | Adishesh Kishore | Relationship builder to relate data across multiple entities/nodes |
Also Published As
Publication number | Publication date |
---|---|
WO2017161749A1 (zh) | 2017-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105843882A (zh) | 一种信息匹配方法及装置 | |
TWI746690B (zh) | 自然語言問句答案的產生方法、裝置及伺服器 | |
US20160124936A1 (en) | Grammar compiling methods, semantic parsing methods, devices, computer storage media, and apparatuses | |
US9158836B2 (en) | Iterative refinement of search results based on user feedback | |
US8078645B2 (en) | Operations on multi-level nested data structure | |
US8078638B2 (en) | Operations of multi-level nested data structure | |
CN109947952B (zh) | 基于英语知识图谱的检索方法、装置、设备及存储介质 | |
US10713429B2 (en) | Joining web data with spreadsheet data using examples | |
US20040221229A1 (en) | Data structures related to documents, and querying such data structures | |
CN110147544B (zh) | 一种基于自然语言的指令生成方法、装置以及相关设备 | |
CN107798123B (zh) | 知识库及其建立、修改、智能问答方法、装置及设备 | |
CN103365992B (zh) | 一种基于一维线性空间实现Trie树的词典检索方法 | |
US11475065B2 (en) | Pre-emptive graph search for guided natural language interactions with connected data systems | |
CN112818092B (zh) | 知识图谱查询语句生成方法、装置、设备及存储介质 | |
CN102693279A (zh) | 一种快速计算评论相似度的方法、装置及系统 | |
EP2889788A1 (en) | Accessing information content in a database platform using metadata | |
US20230153534A1 (en) | Generating commonsense context for text using knowledge graphs | |
CN103514289A (zh) | 一种兴趣本体库构建方法及装置 | |
CN104268176A (zh) | 一种基于搜索关键词的推荐方法及系统 | |
JP5980520B2 (ja) | 効率的にクエリを処理する方法及び装置 | |
US11620282B2 (en) | Automated information retrieval system and semantic parsing | |
CN110489603A (zh) | 一种信息检索的方法、装置和车机 | |
CN109710844A (zh) | 基于搜索引擎的快速准确定位文件的方法和设备 | |
JP4628258B2 (ja) | グラフ検索装置 | |
JP2009175896A (ja) | 情報検索装置及び方法及びプログラム及びコンピュータ読取可能な記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20160810 |
|
WD01 | Invention patent application deemed withdrawn after publication |