CN116561389A - 一种文本匹配方法、装置、设备及存储介质 - Google Patents
一种文本匹配方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN116561389A CN116561389A CN202310545697.XA CN202310545697A CN116561389A CN 116561389 A CN116561389 A CN 116561389A CN 202310545697 A CN202310545697 A CN 202310545697A CN 116561389 A CN116561389 A CN 116561389A
- Authority
- CN
- China
- Prior art keywords
- text
- dictionary tree
- characters
- node
- matched
- 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 47
- 238000003860 storage Methods 0.000 title claims abstract description 14
- 238000004590 computer program Methods 0.000 claims description 12
- 238000012545 processing Methods 0.000 abstract description 9
- 230000000694 effects Effects 0.000 abstract description 7
- 230000000875 corresponding effect Effects 0.000 description 47
- 238000010586 diagram Methods 0.000 description 14
- 235000013616 tea Nutrition 0.000 description 10
- 241001122767 Theaceae Species 0.000 description 8
- 230000006870 function Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000006386 memory function 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/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
- G06F16/90344—Query processing by using string matching techniques
-
- 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/3331—Query processing
-
- 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)
- Databases & Information Systems (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Machine Translation (AREA)
Abstract
本申请实施例提供了一种文本匹配方法、装置、设备及存储介质,涉及数据处理技术领域,该方法包括:获取包含多个待匹配字符的目标文本;从字典树的根节点开始,在字典树中依次遍历多个待匹配字符,并在遍历结束时,基于遍历结果获得查找路径,字典树中每个节点对应一个参考字符;基于查找路径中多个节点对应的参考字符,确定与目标文本的至少一个前序文本匹配的目标字符串。本申请实施例中,通过字典树查找与目标文本的前序文本匹配的目标字符串时,仅需在字典树中对目标文本的每个字符遍历一遍即可,缩短了匹配时间,节省了资源,实现了既能快速匹配又可以精确匹配的效果。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种文本匹配方法、装置、设备及存储介质。
背景技术
在实际应用场景中,银行卡号的卡bin(Bank Identification Number,简称bin)是持卡人信息中一个非常重要的数据,卡bin也称发卡行识别码。不同的卡bin代表了不同的银行卡组织和卡片级别。用户可以通过卡bin查询相对应的发卡行或者银行卡类型等信息。在不同的场景中,一个银行卡号可以映射为不同的卡bin,以采用不同的卡bin参与不同的活动。那么,在联机交易处理过程中,需要执行大量的卡bin(字符串)匹配。
相关技术下,将银行卡号拆解为N个前序字符串,然后对每个前序字符哈希查找,以实现字符串匹配。然而,该方法耗时较大,从而影响联机交易的性能。
发明内容
本申请实施例提供了一种文本匹配方法、装置、设备及存储介质,用于降低字符串匹配的时间,提升联机交易的性能。
一方面,本申请实施例提供了一种文本匹配方法,包括:
获取包含多个待匹配字符的目标文本;
从字典树的根节点开始,在所述字典树中依次遍历所述多个待匹配字符,并在遍历结束时,基于遍历结果获得查找路径,所述字典树中每个节点对应一个参考字符;
基于所述查找路径中多个节点对应的参考字符,确定与所述目标文本的至少一个前序文本匹配的目标字符串。
本申请实施例中,通过字典树查找与目标文本的前序文本匹配的目标字符串时,仅需在字典树中对目标文本的每个字符遍历一遍即可,缩短了匹配时间,节省了资源,实现了既能快速匹配又可以精确匹配的效果。
可选地,所述遍历结束的条件为:遍历到达所述字典树的叶子节点,或者,遍历完所述多个待匹配字符。
可选地,所述基于所述查找路径中多个节点对应的参考字符,确定与所述目标文本的至少一个前序文本匹配的目标字符串,包括:
针对所述查找路径中除根节点之外的每个非根节点,基于所述根节点至所述非根节点的候选路径上多个节点对应的参考字符,确定候选字符串;
若所述非根节点被标记为有效节点,则将所述候选字符串作为与所述目标文本的前序文本匹配的目标字符串。
可选地,从所述字典树中查找所述目标文本的时间复杂度为O(n),其中,n为所述待匹配字符的数量。
可选地,所述获取包含多个待匹配字符的目标文本之前,还包括:
获取包含多个参考文本的参考文本集合;
基于与所述多个参考文本关联的参考字符,构建所述字典树,其中,每个参考文本在所述字典树中对应的一个查找路径,所述查找路径的起始位置为根节点,所述查找路径的终点位置为所述参考文本中最后一个参考字符对应的非根节点。
本申请实施例中,基于与多个参考文本关联的参考字符构建字典树,故后续在文本匹配时,仅需对目标文本中的每个字符遍历一次,即可快速查找到与目标文本的前序文本匹配的目标字符串。
可选地,还包括:
针对每个参考文本,将相应查找路径的终点位置的非根节点标记为有效节点。
可选地,还包括:
针对新增文本,从所述字典树的根节点开始,在所述字典树中依次遍历所述新增文本的多个参考字符;
在遍历过程中,若所述字典树中不存在所述新增文本的参考字符,则在所述字典树中新增所述新增文本的参考字符对应的节点,直到遍历完所述新增文本的多个参考字符停止。
本申请实施例中,当字典树中不存在新增文本的参考字符时,可以在字典树中增加相应的参考字符,以实现对字典树的查找范围的扩充,提高了文本匹配的范围以及灵活性。
一方面,本申请实施例提供了一种文本匹配装置,包括:
获取模块,用于获取包含多个待匹配字符的目标文本;
遍历模块,用于从字典树的根节点开始,在所述字典树中依次遍历所述多个待匹配字符,并在遍历结束时,基于遍历结果获得查找路径,所述字典树中每个节点对应一个参考字符;
确定模块,用于基于所述查找路径中多个节点对应的参考字符,确定与所述目标文本的至少一个前序文本匹配的目标字符串。
可选地,所述遍历结束的条件为:遍历到达所述字典树的叶子节点,或者,遍历完所述多个待匹配字符。
可选地,所述确定模块具体用于:
针对所述查找路径中除根节点之外的每个非根节点,基于所述根节点至所述非根节点的候选路径上多个节点对应的参考字符,确定候选字符串;
若所述非根节点被标记为有效节点,则将所述候选字符串作为与所述目标文本的前序文本匹配的目标字符串。
可选地,从所述字典树中查找所述目标文本的时间复杂度为O(n),其中,n为所述待匹配字符的数量。
可选地,所述获取模块具体用于:
所述获取包含多个待匹配字符的目标文本之前,获取包含多个参考文本的参考文本集合;
基于与所述多个参考文本关联的参考字符,构建所述字典树,其中,每个参考文本在所述字典树中对应的一个查找路径,所述查找路径的起始位置为根节点,所述查找路径的终点位置为所述参考文本中最后一个参考字符对应的非根节点。
可选地,所述获取模块还用于:
针对每个参考文本,将相应查找路径的终点位置的非根节点标记为有效节点。
可选地,所述获取模块还用于:
针对新增文本,从所述字典树的根节点开始,在所述字典树中依次遍历所述新增文本的多个参考字符;
在遍历过程中,若所述字典树中不存在所述新增文本的参考字符,则在所述字典树中新增所述新增文本的参考字符对应的节点,直到遍历完所述新增文本的多个参考字符停止。
一方面,本申请实施例提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述文本匹配方法的步骤。
一方面,本申请实施例提供了一种计算机可读存储介质,其存储有可由计算机设备执行的计算机程序,当所述程序在计算机设备上运行时,使得所述计算机设备执行上述文本匹配方法的步骤。
附图说明
图1为本申请实施例提供的一种系统架构图;
图2为本申请实施例提供的一种文本匹配方法的流程图一;
图3A为本申请实施例提供的一种字典树的结构图一;
图3B为本申请实施例提供的一种字典树的结构图二;
图4为本申请实施例提供的一种字典树的结构图三;
图5为本申请实施例提供的一种文本匹配方法的流程图二;
图6为本申请实施例提供的一种文本匹配装置的结构示意图;
图7为本申请实施例提供的一种计算机设备。
具体实施方式
为了使本发明的目的、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,为本申请实施例使用的一种文本匹配方法的系统架构图,该系统架构包括终端设备101和服务器102。
终端设备101预先安装用于文本匹配的业务应用,其中,业务应用是客户端应用、网页版应用、小程序应用等。终端设备101可以是智能手机、POS机等,但并不局限于此。
服务器102为业务应用的后台服务器,服务器102可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。
本申请实施例中的文本匹配方法可以由终端设备101执行,也可以由服务器102执行,还可以由终端设备101和服务器102交互执行。
在实际应用中,本申请实施例中的文本匹配方法可以应用于卡bin匹配,进而确定与卡bin关联的活动信息。
基于图1的系统架构图,本申请实施例提供了一种文本匹配方法的流程,如图2所示,该方法的流程由计算机设备执行,该计算机设备可以是图1所示的服务器执行,包括以下步骤:
步骤201、获取包含多个待匹配字符的目标文本。
具体地,待匹配字符可以是字母、数字、运算符号、标点符号等。目标文本可以是银行卡号、积分卡号、会员卡号等。在一些实施例中,目标文本除了包含多个待匹配字符之外,还可以包含其他信息。
目标文本可以是通过终端设备101扫描获得并发送至服务器的,也可以是用户输入终端设备101,并由终端设备101发送至服务器102的。
步骤202、从字典树的根节点开始,在字典树中依次遍历多个待匹配字符,并在遍历结束时,基于遍历结果获得查找路径,字典树中每个节点对应一个参考字符。
具体地,字典树是一种较为简单的数据结构,它是一个树形结构,用来解决在一组字符串集合中快速查找某个字符串。字典树的根节点不包含字符,除根节点以外的每一个节点都只对应一个参考字符。
在获取到目标文本后,从字典树的根节点开始,遍历目标文本中的每个待匹配字符。遍历结束的条件可以是:遍历到达字典树的叶子节点,或者,遍历完多个待匹配字符。遍历结果为:与至少一个待匹配字符匹配的节点。然后基于根节点和至少一个节点,确定目标文本在字典树中的查询路径。
在一些实施例中,获取包含多个待匹配字符的目标文本之前,至少采用以下方式构建字典树:
获取包含多个参考文本的参考文本集合;然后基于与多个参考文本关联的参考字符,构建字典树,其中,每个参考文本在字典树中对应的一个查找路径,查找路径的起始位置为根节点,查找路径的终点位置为参考文本中最后一个参考字符对应的非根节点。
具体地,在获取目标文本之前,需要构建字典树。字典树由多个参考文本相关联的参考字符构成。每个参考文本对应一个查找路径,查找路径的起始位置为根节点,终点位置为参考文本中最后一个参考字符对应的节点。
举例说明,如图3A所示,设定参考文本集合为{to,tea,ten,in,inn},则与参考文本相关联的参考字符包含:t,o,e,a,i,n。根据参考文本集合{to,tea,ten,in,inn}和参考字符集合{t,o,e,a,i,n},构建字典树,其中,字典树的起始位置为根节点,即节点0。字典树中的节点1对应参考字符t、节点2对应参考字符i、节点3对应参考字符o、节点4对应参考字符e、节点5对应参考字符n、节点6对应参考字符a、节点7对应参考字符n、节点8对应参考字符n。
本申请实施例中,基于与多个参考文本关联的参考字符构建字典树,故后续在文本匹配时,仅需对目标文本中的每个字符遍历一次,即可快速查找到与目标文本的前序文本匹配的目标字符串。
在一些实施例中,针对每个参考文本,将相应查找路径的终点位置的非根节点标记为有效节点。
具体地,在创建字典树时,在字典树中包含各个参考文本的查询路径之外,还包括非参考文本对应的查询路径。比如,在图3A所示的字典树中,既包含参考文本tea对应的查询路径,即节点0-节点1-节点4-节点6。也包含非参考文本te对应的查询路径,即节点0-节点1-节点4。然而,在实际应用中,参考文本往往才具备实际意义。比如,在活动信息匹配场景中,只针对参考文本配置了对应的活动信息,而没有针对非参考文本配置了对应的活动信息。
鉴于此,为了在字典树中区分参考文本和非参考文本,针对每个参考文本,将相应查找路径的终点位置的非根节点标记为有效节点。比如,在图3B所示的字典树中,将参考文本to中参考字符o对应的节点3标记为有效节点;将参考文本tea中参考字符a对应的节点6标记为有效节点;将参考文本ten中参考字符n对应的节点7标记为有效节点;将参考文本in中参考字符n对应的节点5标记为有效节点;将参考文本inn中参考字符n对应的节点8标记为有效节点。
在一些实施例中,针对新增文本,从字典树的根节点开始,在字典树中依次遍历新增文本的多个参考字符;在遍历过程中,若字典树中不存在新增文本的参考字符,则在字典树中新增新增文本的参考字符对应的节点,直到遍历完新增文本的多个参考字符停止。
具体地,在新加入一个参考文本时,需要遍历新增的参考文本的每个参考字符,增加一个参考文本到字典树中时间复杂度是O(n),n为参考文本中的字符个数。在一些实施例中,将新增文本的查找路径的终点位置标记为有效节点。
举例说明,假设在图3A所示的字典树中新增参考字符teach,则在字典树中依次遍历参考字符t、e、a、c、h。在遍历到参考字符c时,字典树中不存在参考字符c对应的节点,因此,增加节点9对应参考字符c。在遍历到参考字符h时,字典树中不存在参考字符h对应的节点,因此,增加节点10对应参考字符h,获得图4所示的字典树。
本申请实施例中,当字典树中不存在新增文本的参考字符时,可以在字典树中增加相应的参考字符,以实现对字典树的查找范围的扩充,提高了文本匹配的范围以及灵活性。
步骤203、基于查找路径中多个节点对应的参考字符,确定与目标文本的至少一个前序文本匹配的目标字符串。
具体地,目标文本的前序文本可以是一个或多个。在查找路径中包含有多个节点,每个节点都对应有参考字符,则从多个节点对应的参考字符中确定与目标文本的至少一个前序文本匹配的目标字符串。目标字符串可以是一个也可以是多个。
举例说明,如图3A所示,设定字典树中包括节点0、节点1、…、节点8,其中,节点0为根节点,节点1对应参考字符t,节点2对应参考字符i,节点3对应参考字符o,节点4对应参考字符e,节点5对应参考字符a,节点6对应参考字符n,节点7对应参考字符i,节点8对应参考字符n。
设定目标文本为teacher,目标文本teacher的前序文本包括:te、tea、teac、teach、teache、teacher。
从节点0开始依次遍历目标文本中的各个字符,获得图3A中虚线表示的查询路径,基于查询路径上各个节点对应的参考字符,可以确定与目标文本teacher的至少一个前序文本匹配的目标字符串包括:te、tea。
在一些实施例中,从字典树中查找目标文本的时间复杂度为O(n),其中,n为待匹配字符的数量。
具体地,时间复杂度O是定性描述算法的运行时间。在本申请实施例中,从字典树中查找目标文本所需的时间复杂度为O(n)。其中,n为待匹配字符的数量,举例来说,若目标文本为teacher,则待匹配字符为t,e,a,c,h,e,r,即共7个待匹配字符,则查找目标文本所需的时间复杂度为O(7)。
在一些实施例中,基于查找路径中多个节点对应的参考字符,确定与目标文本的至少一个前序文本匹配的目标字符串,包括以下步骤:
步骤401、针对查找路径中除根节点之外的每个非根节点,基于根节点至非根节点的候选路径上多个节点对应的参考字符,确定候选字符串。
具体地,在查找路径中,包括一个根节点和至少一个非根节点。根节点到每个非根节点之间路径为候选路径,候选路径上的参考字符组成候选字符串。
举例说明,在图3A中,目标文本的teacher在字典树中的查询路径为:节点0-节点1-节点4-节点6;查询路径中包括候选路径1(节点0-节点1-节点4)、候选路径2(节点0-节点1-节点4-节点6),相应的候选字符串为:te、tea。
步骤402、若非根节点被标记为有效节点,则将候选字符串作为与目标文本的前序文本匹配的目标字符串。
具体地,在创建字典树时,针对具备实际意义的参考文本,将相应查找路径的终点位置的非根节点标记为有效节点。那么,结合字典树中的有效节点,对目标文本进行文本匹配时,不是目标文本的每个前序文本都可以获得匹配的目标字符串,而只有与参考文本匹配的前序文本,才可以获得匹配的目标字符串。
比如,基于目标文本teacher查询图3B所示的字典树时,获得前序文本tea对应的目标字符串,则确定用户采用前序文本tea参与了营销活动,进而获得相应的活动信息。而目标文本teacher的其他前序文本{tea、teac、teach、teache、teacher}均没有匹配的目标字符串。
为了更好地解释本申请实施例,下面结合具体实施场景介绍本申请实施例提供的一种文本匹配方法,包括构建字典树阶段和在线应用阶段,如图5所示:
首先介绍构建字典树阶段,包括以下步骤:
步骤501、获取参考文本集合。
步骤502、根据各个参考文本的参考字符构建字典树。
步骤503、将字典树中各个参考文本的查找路径的终点位置标记为有效节点。
步骤504、若有新增文本,判断字典树中是否存在新增文本中的参考字符,若存在,则不处理;若不存在,则执行步骤505。
步骤505、在字典树中新增新增文本的参考字符对应的节点。
接着介绍在线应用阶段,包括以下步骤:
步骤506、获取包含多个待匹配字符的目标文本。
步骤507、从字典树的根节点开始,依次遍历多个待匹配字符。
步骤508、在遍历停止时,获取目标文本在字典树中的查找路径。
步骤509、根据查找路径中各个节点对应的参考字符,确定与目标文本的前序文本匹配的目标字符串。
本申请实施例中,通过字典树查找与目标文本的前序文本匹配的目标字符串时,仅需在字典树中对目标文本的每个字符遍历一遍即可,缩短了匹配时间,节省了资源,实现了既能快速匹配又可以精确匹配的效果。基于相同的技术构思,本申请实施例提供了一种文本匹配装置600,如图6所示,该装置包括:
获取模块601,用于获取包含多个待匹配字符的目标文本;
遍历模块602,用于从字典树的根节点开始,在所述字典树中依次遍历所述多个待匹配字符,并在遍历结束时,基于遍历结果获得查找路径,所述字典树中每个节点对应一个参考字符;
确定模块603,用于基于所述查找路径中多个节点对应的参考字符,确定与所述目标文本的至少一个前序文本匹配的目标字符串。
可选地,所述遍历模块602具体用于:
所述遍历结束的条件为:遍历到达所述字典树的叶子节点,或者,遍历完所述多个待匹配字符。
可选地,所述确定模块603具体用于:
针对所述查找路径中除根节点之外的每个非根节点,基于所述根节点至所述非根节点的候选路径上多个节点对应的参考字符,确定候选字符串;
若所述非根节点被标记为有效节点,则将所述候选字符串作为与所述目标文本的前序文本匹配的目标字符串。
可选地,从所述字典树中查找所述目标文本的时间复杂度为O(n),其中,n为所述待匹配字符的数量。
可选地,所述获取模块601具体用于:
所述获取包含多个待匹配字符的目标文本之前,还包括:
获取包含多个参考文本的参考文本集合;
基于与所述多个参考文本关联的参考字符,构建所述字典树,其中,每个参考文本在所述字典树中对应的一个查找路径,所述查找路径的起始位置为根节点,所述查找路径的终点位置为所述参考文本中最后一个参考字符对应的非根节点。
可选地,所述获取模块601还用于:
针对每个参考文本,将相应查找路径的终点位置的非根节点标记为有效节点。
可选地,所述获取模块601还用于:
针对新增文本,从所述字典树的根节点开始,在所述字典树中依次遍历所述新增文本的多个参考字符;
在遍历过程中,若所述字典树中不存在所述新增文本的参考字符,则在所述字典树中新增所述新增文本的参考字符对应的节点,直到遍历完所述新增文本的多个参考字符停止。
基于相同的技术构思,本申请实施例提供了一种计算机设备,计算机设备可以是服务器,如图7示,包括至少一个处理器701,以及与至少一个处理器连接的存储器702,本申请实施例中不限定处理器701与存储器702之间的具体连接介质,图7处理器701和存储器702之间通过总线连接为例。总线可以分为地址总线、数据总线、控制总线等。
在本申请实施例中,存储器702存储有可被至少一个处理器701执行的指令,至少一个处理器701通过执行存储器702存储的指令,可以执行上述文本匹配方法中所包括的步骤。
其中,处理器701是计算机设备的控制中心,可以利用各种接口和线路连接计算机设备的各个部分,通过运行或执行存储在存储器702内的指令以及调用存储在存储器702内的数据,从而进行文本匹配。可选的,处理器701可包括一个或多个处理单元,处理器701可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器701中。在一些实施例中,处理器701和存储器702可以在同一芯片上实现,在一些实施例中,它们也可以在独立的芯片上分别实现。
处理器701可以是通用处理器,例如中央处理器(CPU)、数字信号处理器、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器702作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器702可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(Random AccessMemory,RAM)、静态随机访问存储器(Static Random Access Memory,SRAM)、可编程只读存储器(Programmable Read Only Memory,PROM)、只读存储器(Read Only Memory,ROM)、带电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性存储器、磁盘、光盘等等。存储器702是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本申请实施例中的存储器702还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
基于同一发明构思,本申请实施例提供了一种计算机可读存储介质,其存储有可由计算机设备执行的计算机程序,当程序在计算机设备上运行时,使得计算机设备执行上述文本匹配方法的步骤。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (10)
1.一种文本匹配方法,其特征在于,包括:
获取包含多个待匹配字符的目标文本;
从字典树的根节点开始,在所述字典树中依次遍历所述多个待匹配字符,并在遍历结束时,基于遍历结果获得查找路径,所述字典树中每个节点对应一个参考字符;
基于所述查找路径中多个节点对应的参考字符,确定与所述目标文本的至少一个前序文本匹配的目标字符串。
2.根据权利要求1所述的方法,其特征在于,所述遍历结束的条件为:遍历到达所述字典树的叶子节点,或者,遍历完所述多个待匹配字符。
3.根据权利要求1所述的方法,其特征在于,所述基于所述查找路径中多个节点对应的参考字符,确定与所述目标文本的至少一个前序文本匹配的目标字符串,包括:
针对所述查找路径中除根节点之外的每个非根节点,基于所述根节点至所述非根节点的候选路径上多个节点对应的参考字符,确定候选字符串;
若所述非根节点被标记为有效节点,则将所述候选字符串作为与所述目标文本的前序文本匹配的目标字符串。
4.根据权利要求1所述的方法,其特征在于,从所述字典树中查找所述目标文本的时间复杂度为O(n),其中,n为所述待匹配字符的数量。
5.根据权利要求1至4任一所述的方法,其特征在于,所述获取包含多个待匹配字符的目标文本之前,还包括:
获取包含多个参考文本的参考文本集合;
基于与所述多个参考文本关联的参考字符,构建所述字典树,其中,每个参考文本在所述字典树中对应的一个查找路径,所述查找路径的起始位置为根节点,所述查找路径的终点位置为所述参考文本中最后一个参考字符对应的非根节点。
6.根据权利要求5所述的方法,其特征在于,还包括:
针对每个参考文本,将相应查找路径的终点位置的非根节点标记为有效节点。
7.根据权利要求5所述的方法,其特征在于,还包括:
针对新增文本,从所述字典树的根节点开始,在所述字典树中依次遍历所述新增文本的多个参考字符;
在遍历过程中,若所述字典树中不存在所述新增文本的参考字符,则在所述字典树中新增所述新增文本的参考字符对应的节点,直到遍历完所述新增文本的多个参考字符停止。
8.一种文本匹配装置,其特征在于,包括:
获取模块,用于获取包含多个待匹配字符的目标文本;
遍历模块,用于从字典树的根节点开始,在所述字典树中依次遍历所述多个待匹配字符,并在遍历结束时,基于遍历结果获得查找路径,所述字典树中每个节点对应一个参考字符;
确定模块,用于基于所述查找路径中多个节点对应的参考字符,确定与所述目标文本的至少一个前序文本匹配的目标字符串。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1~7任一所述方法的步骤。
10.一种计算机可读存储介质,其特征在于,其存储有可由计算机设备执行的计算机程序,当所述程序在计算机设备上运行时,使得所述计算机设备执行权利要求1~7任一所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310545697.XA CN116561389A (zh) | 2023-05-15 | 2023-05-15 | 一种文本匹配方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310545697.XA CN116561389A (zh) | 2023-05-15 | 2023-05-15 | 一种文本匹配方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116561389A true CN116561389A (zh) | 2023-08-08 |
Family
ID=87496087
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310545697.XA Pending CN116561389A (zh) | 2023-05-15 | 2023-05-15 | 一种文本匹配方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116561389A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117539871A (zh) * | 2024-01-09 | 2024-02-09 | 深圳市超越科技开发有限公司 | 菜单文本快速查找方法、装置、电子设备及存储介质 |
CN117828382A (zh) * | 2024-02-26 | 2024-04-05 | 闪捷信息科技有限公司 | 基于url的网络接口聚类方法及装置 |
-
2023
- 2023-05-15 CN CN202310545697.XA patent/CN116561389A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117539871A (zh) * | 2024-01-09 | 2024-02-09 | 深圳市超越科技开发有限公司 | 菜单文本快速查找方法、装置、电子设备及存储介质 |
CN117539871B (zh) * | 2024-01-09 | 2024-04-26 | 深圳市超越科技开发有限公司 | 菜单文本快速查找方法、装置、电子设备及存储介质 |
CN117828382A (zh) * | 2024-02-26 | 2024-04-05 | 闪捷信息科技有限公司 | 基于url的网络接口聚类方法及装置 |
CN117828382B (zh) * | 2024-02-26 | 2024-05-10 | 闪捷信息科技有限公司 | 基于url的网络接口聚类方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116561389A (zh) | 一种文本匹配方法、装置、设备及存储介质 | |
US11176549B2 (en) | Systems and methods for matching transactional data | |
US20230205755A1 (en) | Methods and systems for improved search for data loss prevention | |
CN111159329A (zh) | 敏感词检测方法、装置、终端设备和计算机可读存储介质 | |
CN114610951A (zh) | 数据处理方法、装置、电子设备及可读存储介质 | |
CN112015806A (zh) | 区块链存储数据的方法及装置 | |
CN109726295A (zh) | 品牌知识图谱显示方法、装置、图服务器及存储介质 | |
CN109656954A (zh) | 商标查询方法、装置及计算机设备 | |
CN117971873A (zh) | 一种生成结构化查询语言sql的方法、装置及电子设备 | |
Riesen et al. | On the impact of using utilities rather than costs for graph matching | |
CN110781375A (zh) | 一种用户状态标识确定方法及装置 | |
CN110765100A (zh) | 标签的生成方法、装置、计算机可读存储介质及服务器 | |
CN115544132A (zh) | 数据导入方法、系统及电子设备 | |
CN115840775A (zh) | 数据的提取方法、装置、服务器及存储介质 | |
CN113656466A (zh) | 保单数据查询方法、装置、设备及存储介质 | |
CN113743982A (zh) | 广告投放方案推荐方法、装置、计算机设备及存储介质 | |
CN111858609A (zh) | 区块链模糊查询方法及装置 | |
US10430775B1 (en) | Validation and lookup techniques for rule-based data categorization | |
CN111291263B (zh) | 数据推送方法、装置、系统及存储介质 | |
CN113468280B (zh) | 一种数据认知方法、装置、设备及存储介质 | |
CN111506756A (zh) | 相似图片的查找方法及系统、电子设备、存储介质 | |
CN114943231B (zh) | 样本生成方法、模型训练方法及相关装置 | |
CN116701719B (zh) | 一种数据处理方法、装置、计算机设备以及可读存储介质 | |
CN112035501B (zh) | 用户标识的更新方法、装置和设备 | |
CN116719839B (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 |