一种文本匹配方法、装置、电子设备及存储介质与流程
未命名
07-19
阅读:84
评论:0
1.本发明实施例涉及信息处理技术领域,尤其涉及一种文本匹配方法、装置、电子设备及存储介质。
背景技术:
2.随着信息技术的快速发展,文本匹配技术层出不穷,文本匹配技术能够利用算法模型将需要匹配的关键信息进行特殊形式展示,使用户能够准确地获取有意义有价值的文本信息。
3.目前,用户在进行文本匹配时,可以选择通过对文本增加遮罩的方式进行展示,或是通过利用自然语言处理的方式对文本定位并进行快速跳转的方式进行展示,再或是通过安装专门的检索插件进行文本标记并对有意义有价值的文本信息进行展示。
4.发明人在实现本发明的过程中,发现在利用遮罩方式进行展示时,若遮罩颜色或透明度选择不当,极易影响有价值信息的展示;利用自然语言处理的方式对文本中有价值的文本进行展示的过程中,仅支持用户对一条文本进行展示;发现检索插件存在被检索的文本数量只能为一个,无法实现多文本的对比展示且存在文本匹配操作卡顿或被批评文本样式错乱等问题,进而导致被匹配文本操作性能和展示性能降低。
技术实现要素:
5.本发明实施例提供一种文本匹配方法、装置、电子设备及存储介质,能够提高文本匹配的性能,丰富文本匹配功能。
6.根据本发明的一方面,提供了一种文本匹配方法,包括:
7.获取至少一个目标匹配文本;
8.根据所述目标匹配文本生成文本检索状态机;
9.将待匹配文本输入至所述文本检索状态机,以通过所述文本检索状态机在所述待匹配文本中匹配所述目标匹配文本;
10.对所述待匹配文本中匹配到的所述目标匹配文本进行文本突出显示处理。
11.根据本发明的另一方面,提供了一种文本匹配装置,包括:
12.目标匹配文本获取模块,用于获取至少一个目标匹配文本;
13.文本检索状态机生成模块,用于根据所述目标匹配文本生成文本检索状态机;
14.目标匹配文本匹配模块,用于将待匹配文本输入至所述文本检索状态机,以通过所述文本检索状态机在所述待匹配文本中匹配所述目标匹配文本;
15.文本突出显示处理模块,用于对所述待匹配文本中匹配到的所述目标匹配文本进行文本突出显示处理。
16.根据本发明的另一方面,提供了一种电子设备,所述电子设备包括:
17.至少一个处理器;以及
18.与所述至少一个处理器通信连接的存储器;其中,
19.所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例所述的文本匹配方法。
20.根据本发明的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本发明任一实施例所述的文本匹配方法。
21.在本发明实施例中,首先获取至少一个目标匹配文本,再根据目标匹配文本生成文本检索状态机,将待匹配文本输入至文本检索状态机,以通过文本检索状态机在待匹配文本中匹配目标匹配文本,最后对待匹配文本中匹配到的目标匹配文本进行文本突出显示处理,解决了现有文本匹配方法存在的匹配检索的文本数量单一、且影响被匹配文本操作性能和展示性能等问题,能够提高文本匹配的性能,丰富文本匹配功能。
22.应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
附图说明
23.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
24.图1是本发明实施例一提供的一种文本匹配方法的流程图;
25.图2是本发明实施例一提供的一种文本检索状态机的示意图;
26.图3是本发明实施例二提供的另一种文本匹配方法的流程图;
27.图4是本发明实施例二提供的另一种文本检索状态机的示意图;
28.图5是本发明实施例二提供的一种确定状态机节点的兜底转移状态的效果示意图;
29.图6是本发明实施例二提供的另一种确定状态机节点的兜底转移状态的效果示意图;
30.图7是本发明实施例二提供的一种网页标签字符位置标记存储入栈的效果示意图;
31.图8是本发明实施例二提供的一种基于文本起始位置和文本结束位置进行文本突出显示处理的流程示意图;
32.图9是本发明实施例二提供的一种文本匹配方法的流程示意图;
33.图10是本发明实施例二提供的一种字符串匹配的效果示意图;
34.图11是本发明实施例三提供的一种文本匹配装置的示意图;
35.图12为本发明实施例四提供的一种电子设备的结构示意图。
具体实施方式
36.为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是
本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
37.需要说明的是,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
38.实施例一
39.图1是本发明实施例一提供的一种文本匹配方法的流程图,本实施例可适用于利用文本检索状态机进行高性能的文本匹配的情况,该方法可以由文本匹配装置来执行,该装置可以由软件和/或硬件的方式来实现,并一般可集成在电子设备中,该电子设备可以是终端设备,也可以是服务器设备,本发明实施例并不对电子设备的具体设备类型进行限定。相应的,如图1所示,该方法包括如下操作:
40.s110、获取至少一个目标匹配文本。
41.其中,目标匹配文本可以是任意类型需要检索匹配的文本数据,例如可以是网页中需要检索匹配的文本数据,也可以是用户上传的word文档或是pdf文档中需要检索匹配的文本数据等,只要是应用实现检索匹配功能即可。
42.在本发明实施例中,以对网页信息进行检索匹配为例,目标匹配文本可以是需要进行匹配处理的关键词,也可以是需要进行匹配处理的的短句。同时,获取目标匹配文本的方式可以是文本输入也可以是语音输入等方式。在本发明实施例并不对目标匹配文本的文本类型以及目标匹配文本的获取方式进行限定。
43.s120、根据所述目标匹配文本生成文本检索状态机。
44.其中,文本检索状态机可以是用于表示目标匹配文本各个字符以及各个字符之间的转移关系的模型。
45.图2是本发明实施例一提供的一种文本检索状态机的示意图,如图2所示,假设目标匹配文本可以是“he”,那么可以生成与之对应的文本检索状态机的具体流程可以包括下述操作:首先,创建一个起始节点s,在起始节点s依次添加状态节点1和状态节点2,并且确定起始节点s与状态节点1之间的转移条件为c=“h”,确定状态节点1与状态节点2之间的转移条件为c=“e”,最后再添加完结标记以及关键词“he”,得到目标匹配文本“he”匹配的文本检索状态机。
46.s130、将待匹配文本输入至所述文本检索状态机,以通过所述文本检索状态机在所述待匹配文本中匹配所述目标匹配文本。
47.其中,待匹配文本可以是任意类型需要进行文本匹配处理的文本数据,例如可以是网页信息的文本数据,也可以是用户上传的word文档或是pdf文档中的文本数据等,只要能够提供文本匹配功能即可,本发明实施例并不对待匹配文本的文本类型进行限定。
48.在本发明实施例中,以对网页信息进行检索匹配为例,待匹配文本可以为需要进行匹配处理的网页文本数据。将待匹配文本作为文本检索状态机的输入数据,送至文本检索状态机中,通过利用文本检索状态机在待匹配文本匹配目标匹配文本。示例性的,假设待匹配文本为网页文本“abc《/a》her”,目标匹配文本为“he”,那么将待匹配文本作为文本检
索状态机的输入数据,送至文本检索状态机中,通过利用文本检索状态机在待匹配文本“abc《/a》her”中匹配目标匹配文本“he”。
49.s140、对所述待匹配文本中匹配到的所述目标匹配文本进行文本突出显示处理。
50.其中,文本突出显示处理可以是对文本进行加粗处理方法、倾斜处理方法、下划线处理方法以及高亮处理方法等,本发明实施例并不对文本突出显示处理的具体处理方式进行限定。
51.在本发明实施例中,可以对待匹配文本中匹配到的目标匹配文本进行文本高亮处理,还可以对待匹配文本中匹配到的目标匹配文本进行文本加粗处理,还可以对待匹配文本中匹配到的目标匹配文本进行文本下划线处理。在本发明实施例中,不对文本突出显示处理方法进行限定。
52.在本发明实施例中,首先获取至少一个目标匹配文本,再根据目标匹配文本生成文本检索状态机,将待匹配文本输入至文本检索状态机,以通过文本检索状态机在待匹配文本中匹配目标匹配文本,最后对待匹配文本中匹配到的目标匹配文本进行文本突出显示处理,解决了现有文本匹配方法存在的匹配检索的文本数量单一、且影响被匹配文本操作性能和展示性能等问题,能够提高文本匹配的性能,丰富文本匹配功能。
53.实施例二
54.图3是本发明实施例二提供的另一种文本匹配方法的流程图,本实施例以上述实施例为基础进行具体化,在本实施例中,给出了通过文本检索状态机在待匹配文本中匹配目标匹配文本以及对待匹配文本中匹配到的目标匹配文本进行文本突出显示处理的多种具体可选的实现方式。相应的,如图3所示,本实施例的方法可以包括:
55.s210、获取至少一个目标匹配文本。
56.s220、确定所述文本检索状态机的初始化状态机起始节点。
57.其中,初始化状态机起始节点可以是文本检索状态机的唯一入口。初始化状态机起始节点无前驱节点,可以存在一个或多个后继节点。
58.在本发明实施例中,首先获取至少一个目标匹配文本,再确定文本检索状态机的初始化状态机起始节点。示例性的,文本检索状态机的初始化状态机起始节点可以是节点s。
59.s230、依次遍历所述目标匹配文本的各个文本字符,在确定所述目标匹配文本的当前文本字符不包括转移条件的情况下,根据所述目标匹配文本对所述当前文本字符添加转移条件和目标状态,得到所述当前文本字符的后续文本字符在所述文本检索状态机中匹配的状态机节点。
60.其中,转移条件可以是用于表示文本检索状态机中两个节点之间的转移关系。目标状态可以是用于表示目标匹配文本当前文本字符的后续文本字符在文本检索状态机中匹配的状态节点。
61.在本发明实施例中,首先根据目标匹配文本按顺序依次遍历各个文本字符。其中,目标匹配文本中的文本字符可以是一个字母也可以是一个汉字,本发明实施例并不对目标匹配文本的文本字符类型进行限定。如果目标匹配文本的当前文本字符不包括转移条件,则根据目标匹配文本对当前文本字符添加转移条件和目标状态,进而得到当前文本字符的后续文本字符在文本检索状态机中匹配的状态机节点。如果目标匹配文本的当前文本字符
包括转移条件,则根据转移条件得到当前文本字符的后续文本字符在文本检索状态机中匹配的状态机节点。
62.图4是本发明实施例二中提供的另一种文本检索状态机的示意图,如图4所示。假设目标匹配文本为“she”,那么,首先根据目标匹配文本按顺序依次遍历各个文本字符。首先取目标匹配文本中的字符“s”,因为初始节点s包括转移条件c=“s”,则当前文本检索状态机中匹配的状态机节点为3,再取目标匹配文本中的字符“h”,因为目标匹配文本的当前文本字符不包括转移条件c=“h”,那么根据目标匹配文本对当前文本字符添加转移条件c=“h”和目标状态4,进而得到当前文本字符的后续文本字符在文本检索状态机中匹配的状态机节点4,再取目标匹配文本中的字符“e”,因为目标匹配文本的当前文本字符不包括转移条件c=“e”,那么根据目标匹配文本对当前文本字符添加转移条件c=“e”和目标状态5,进而得到当前文本字符的后续文本字符在文本检索状态机中匹配的状态机节点5,最后添加完结标记以及关键词,完成对目标匹配文本“she”匹配的文本检索状态机的构建。
63.s240、在确定所述文本检索状态机的当前状态机节点为完结状态机节点的情况下,对所述完结状态机节点配置文本完结标记信息。
64.s250、在所述完结状态机节点中存储所述目标匹配文本。
65.其中,当前状态机节点可以是用于表示当前字符匹配状态下所处的状态机的节点位置。完结状态机节点可以用于表示目标匹配文本最后一个字符在状态机中所处的节点位置。文本完结标记信息可以是用于表示存储目标匹配文本信息的数据。
66.在本发明实施例中,当目标匹配文本中的所有字符都完成遍历后,直到确定文本检索状态机的当前状态机节点为完结状态机节点,对完结状态机节点配置文本完结标记信息。同时,在完结状态机节点中存储目标匹配文本。如果确定文本检索状态机的当前状态机节点不为完结状态机节点,则返回执行步骤s230。
67.在一个具体的例子中,假若目标匹配文本为“she”,那么,当目标匹配文本中的所有字符都完成遍历,文本检索状态机的当前状态机节点为完结状态机节点时,对完结状态机节点配置文本完结标记信息,并在完结状态机节点中存储目标匹配文本“she”。
68.s260、确定所述文本检索状态机的各状态机节点的转移条件和关联前置节点状态。
69.s270、根据各所述状态机节点的转移条件和关联前置节点状态对各所述状态机节点配置兜底转移状态。
70.在本发明实施例中,所述根据各所述状态机节点的转移条件和关联前置节点状态对各所述状态机节点配置兜底转移状态,可以包括:在确定当前状态机节点的关联前置节点状态为空的情况下,确定所述当前状态机节点的兜底转移状态为初始化状态机起始节点的兜底转移状态;在确定当前状态机节点的关联前置节点状态存在非兜底转移条件的情况下,则将所述当前状态机节点的目标状态确定为所述当前状态机节点的兜底转移状态;在确定当前状态机节点的关联前置节点状态不存在非兜底转移条件的情况下,根据所述当前状态机节点的关联前置节点状态的前置节点状态更新所述当前状态机节点的关联前置节点状态,并返回执行在确定当前状态机节点的关联前置节点状态为空的情况下,确定所述当前状态机节点的兜底转移状态为初始化状态机起始节点的兜底转移状态的操作,直至确定所述当前状态机节点的兜底转移状态。
71.其中,关联前置节点可以用于表示文本检索状态机当前状态的前一个状态的节点位置。兜底转移状态可以是用于表示在当前节点不满足任意转移条件时的条件连接所指向的状态。
72.图5是本发明实施例二提供的一种确定状态机节点的兜底转移状态的效果示意图,在一个具体的例子中,如图5所示,假若当前状态机节点为初始节点s,容易理解的,初始节点s的关联前置节点状态为空,因此将初始节点s的目标状态确定为初始节点s的兜底转移状态。假若当前状态机节点为1,那么,当前状态机节点1的关联前置节点为初始节点s。当前状态机节点2的关联前置节点状态1存在非兜底转移条件的情况,那么,将当前状态机节点2的目标状态1确定为当前状态机节点的兜底转移状态1。
73.图6是本发明实施例二提供的另一种确定状态机节点的兜底转移状态的效果示意图,在一个具体的例子中,如图6所示,假若当前状态机节点为5,那么当前状态机节点为5的关联前置节点为4。确定当前状态机节点5的关联前置节点状态4不存在非兜底转移条件,那么,根据当前状态机节点5的关联前置节点状态4的前置节点状态1更新当前状态机节点5的关联前置节点状态,而当前状态机节点4的关联前置节点状态1不存在非兜底转移条件,那么,根据当前状态机节点4的关联前置节点状态1的前置节点状态2更新当前状态机节点5的关联前置节点状态,最终,确定当前状态机节点5的兜底转移状态2。
74.在本发明的一个可选实施例中,所述待匹配文本可以包括目标网页文本,所述目标网页文本可以包括网页标签;在所述将待匹配文本输入至所述文本检索状态机之前,还可以包括下述操作:
75.s280、按照字符单位遍历所述目标网页文本,在确定当前网页文本字符为网页标签字符的情况下,将所述网页标签字符的起始位置标记和终止位置标记存储入栈。
76.其中,目标网页文本可以是需要进行文本突出标记处理的文本数据。网页标签字符的起始位置标记可以是用于表示网页文本字符出现的位置。网页标签字符的终止位置标记可以是用于网页文本字符结束的位置。
77.在本发明实施例中,可选的,可以将目标网页文本作为待匹配文本。由于目标网页文本包括网页标签,而网页标签不参与文本匹配过程。因此需要对目标网页文本类型的待匹配文本进行处理,具体是筛选目标网页文本中的非网页标签的文本作为最终的待匹配文本。
78.具体的,筛选目标网页文本中的非网页标签的文本时,可以首先获取目标网页文本并按照字符单位进行遍历。在遍历过程中,假若当前网页文本字符为网页标签字符,那么将网页标签字符的起始位置标记和终止位置标记,按先后顺序进行入栈存储。
79.图7是本发明实施例二提供的一种网页标签字符位置标记存储入栈的效果示意图,在一个具体的例子中,如图7所示,目标网页文本可以是“def《/a》ghi”,那么网页标签字符《/a》的起始位置标记可以是3,终止位置标记可以是6。相应的,可以将目标网页文本中的网页标签字符《/a》的起始位置标记3和终止位置标记6按先后顺序进行入栈存储。
80.s290、根据所述网页标签字符的起始位置标记和终止位置标记确定所述目标网页文本中的非网页标签字符,并将所述非网页标签字符作为所述待匹配文本。
81.其中,非网页标签字符可以是目标网页文本中去除网页标签字符的其他文本字符。
82.在本发明实施例中,首先根据网页标签字符的起始位置标记和终止位置标记确定目标网页文本中的非网页标签字符,再将非网页标签字符作为最终用于搜索匹配目标匹配文本的待匹配文本。示例性的,假设目标网页文本为“dsh《/a》ehi”,首先根据网页标签字符的起始位置标记3和终止位置标记6确定目标网页文本中的非网页标签字符“《/a》”,再将非网页标签字符“dshehi”作为待匹配文本。
83.在本发明实施例中,所述通过所述文本检索状态机在所述待匹配文本中匹配所述目标匹配文本,可以包括:在确定所述文本检索状态机的当前状态机节点包括目标转移条件的情况下,将所述当前状态机节点的节点状态更新为所述目标转移条件匹配的目标转移状态;在确定所述文本检索状态机的当前状态机节点目标转移条件为空的情况下,将所述当前状态机节点的节点状态更新为所述当前状态机节点的兜底转移状态;在确定所述文本检索状态机的当前状态机节点不满足状态机退出条件的情况下,返回执行在确定所述文本检索状态机的当前状态机节点包括目标转移条件的情况下,将所述当前状态机节点的节点状态更新为所述目标转移条件匹配的目标转移状态的操作,直至确定所述文本检索状态机的当前状态机节点满足所述状态机退出条件。
84.在一个具体的例子中,当文本检索状态机的当前状态机节点包括目标转移条件时,将当前状态机节点的节点状态更新为目标转移条件匹配的目标转移状态。示例性的,假设文本检索状态机的当前状态机节点为s,s包括目标转移条件c=“s”,那么将当前状态机节点s的节点状态更新为目标转移条件匹配的目标转移状态3;由于文本检索状态机的当前状态机节点为3,3包括目标转移条件c=“h”,那么将当前状态机节点3的节点状态更新为目标转移条件匹配的目标转移状态4;由于文本检索状态机的当前状态机节点为4,4包括目标转移条件c=“e”,那么将当前状态机节点4的节点状态更新为目标转移条件匹配的目标转移状态5。示例性的,假设假设文本检索状态机的当前状态机节点为s,起始节点s包括目标转移条件c=“s”,那么将当前状态机节点s的节点状态更新为目标转移条件匹配的目标转移状态3;由于文本检索状态机的当前状态机节点为3,节点3包括目标转移条件c=“h”,那么将当前状态机节点3的节点状态更新为目标转移条件匹配的目标转移状态4;由于文本检索状态机的当前状态机节点为4,节点4的目标转移条件为空,那么将当前状态机节点4的节点状态更新为当前状态机节点的兜底转移状态1。如若文本检索状态机的当前状态机节点不满足状态机退出条件,那么当文本检索状态机的当前状态机节点包括目标转移条件时,进行当前状态机节点的节点状态更新为目标转移条件匹配的目标转移状态的操作,直至确定文本检索状态机的当前状态机节点满足状态机退出条件。其中,状态机退出条件可以是达到网页标签字符长度的最大值或待匹配文本数量的最大值。在本发明实施例中,不对状态机退出条件进行限定。
85.s2100、将待匹配文本输入至所述文本检索状态机,以通过所述文本检索状态机在所述待匹配文本中匹配所述目标匹配文本。
86.s2110、在所述待匹配文本中对所述目标匹配文本的文本起始位置和文本结束位置进行标记处理。
87.s2120、将所述文本起始位置和所述文本结束位置之间的目标文本字符进行文本突出显示处理。
88.在本发明实施例中,首先将待匹配文本输入至文本检索状态机,通过利用文本检
索状态机在待匹配文本中匹配目标匹配文本。完成匹配后,在待匹配文本中对目标匹配文本的文本起始位置和文本结束位置进行标记处理,最后,将文本起始位置和文本结束位置之间的目标文本字符进行文本突出显示处理。
89.图8是本发明实施例二提供的一种基于文本起始位置和文本结束位置进行文本突出显示处理的流程示意图,在一个具体的例子中,如图8所示,假设待匹配文本可以是“def《/a》ghi”,则可以首先将待匹配文本输入至文本检索状态机中,通过利用文本检索状态机在待匹配文本中匹配目标匹配文本“fg”。完成匹配后,在待匹配文本中对目标匹配文本的文本起始位置和文本结束位置进行标记处理,最后,将文本起始位置和文本结束位置之间的目标文本字符“fg”进行文本突出显示处理。示例性的,完成匹配后,在待匹配文本中对目标匹配文本的文本起始位置添加网页标签字符《keyword》和文本结束位置添加网页标签字符《/keyword》。由于目标文本字符“fg”的中间存在网页标签字符《/a》,则可以将目标网页文本中的网页标签字符《/a》的起始位置标记3和终止位置标记6按先后顺序进行入栈存储。由于栈不为空,所以依次进行出栈操作,当6出栈时,在位置6处添加网页标签字符《keyword》;当3出栈时,在位置3处添加网页标签字符《/keyword》。最后,便完成对文本起始位置和文本结束位置之间的目标文本字符“fg”的文本突出显示处理。
90.随着信息技术的快速发展,全球信息数量呈爆炸式增长。各区域、各领域内部的信息产生速度,较二三十年前有了质的飞跃;跨区域、跨领域的信息交流的壁垒也在不断降低。随着信息量的膨胀,人们不断寻找更高效、更便捷的信息汲取方式。而其中最容易想到的就是在浏览信息时,通过变更背景色,将搜寻的关键词高亮展示。由于有线网络带宽的增加和4g乃至5g蜂窝网络的普及,现如今网页中呈现的信息亦比若干年前更为丰富、多彩,同样动辄百千乃至数万字的文本,给用户同样会带来不小的浏览压力。
91.图9是本发明实施例二提供的一种文本匹配方法的流程示意图,在一个具体的例子中,如图9所示,首先将关键词作为状态机的输入数据,送至状态机中,再对原文进行网页标签字符去除操作得到待匹配文本,再将待匹配文本送入状态机中,通过状态机在待匹配文本搜索匹配关键词。当匹配成功时增加高亮标签,完成匹配后结束流程。
92.图10是本发明实施例二提供的一种字符串匹配的效果示意图,在一个具体的例子中,如图10所示,将“细胞质”作为目标匹配文本,在状态机对“细”进行匹配时,“细”匹配成功,再对“胞”进行匹配,“胞”匹配成功,再对“质”进行匹配,匹配失败结束匹配。再将“细”与“胞”进行匹配,匹配失败结束匹配。最后,将“细”与“细”进行匹配,进而依次匹配到“细胞质”,显示匹配成功。
93.本发明实施例的技术方法,在检索文本状态机的存储过程中的空间复杂度为o(∑1),l为单个关键词的字符数,∑1为所有关键词的字符数;在检索文本状态机的存储过程中的时间复杂度为o(n+∑1),其中l为单个关键词的字符数,∑1为所有关键词的字符数,n为关键词的个数;在跨标签时的入栈存储过程中的最坏空间复杂度为o(max(t));t为同一个关键词跨标签的个数;最坏时间复杂度为o(max(t),t为同一个关键词跨标签的个数;在整个技术方法的最坏空间复杂度为o(∑1+t);最坏时间复杂度为o(n+∑1+l+max(t)),可以近似看作o(l),由此可见,本发明实施例的技术方案通过构建文本检索状态机,并利用文本检索状态机对待匹配文本进行匹配,能够有效提高文本匹配的性能。本发明实施例的技术方案,首先获取至少一个目标匹配文本,确定文本检索状态机的初始化状态机起始节点,再依
次遍历目标匹配文本的各个文本字符,在确定目标匹配文本的当前文本字符不包括转移条件的情况下,根据目标匹配文本对当前文本字符添加转移条件和目标状态,得到当前文本字符的后续文本字符在文本检索状态机中匹配的状态机节点,在确定文本检索状态机的当前状态机节点为完结状态机节点的情况下,对完结状态机节点配置文本完结标记信息,在完结状态机节点中存储目标匹配文本。完成对目标匹配文本的存储后,确定文本检索状态机的各状态机节点的转移条件和关联前置节点状态。根据各状态机节点的转移条件和关联前置节点状态对各状态机节点配置兜底转移状态,再按照字符单位遍历所述目标网页文本,在确定当前网页文本字符为网页标签字符的情况下,将网页标签字符的起始位置标记和终止位置标记存储入栈,再根据网页标签字符的起始位置标记和终止位置标记确定目标网页文本中的非网页标签字符,并将非网页标签字符作为待匹配文本,最后,将待匹配文本输入至所述文本检索状态机,以通过文本检索状态机在待匹配文本中匹配目标匹配文本,在待匹配文本中对目标匹配文本的文本起始位置和文本结束位置进行标记处理,将文本起始位置和文本结束位置之间的目标文本字符进行文本突出显示处理,通过构建文本检索状态机,利用文本检索状态机对待匹配文本进行匹配,提高文本匹配的性能,丰富文本匹配功能。
94.实施例三
95.图11是本发明实施例三提供的一种文本匹配装置的示意图,如图11所示,所述装置包括:目标匹配文本获取模块310、文本检索状态机生成模块320、目标匹配文本匹配模块330以及文本突出显示处理模块340,其中:
96.目标匹配文本获取模块310,用于:获取至少一个目标匹配文本。
97.文本检索状态机生成模块320,用于:根据所述目标匹配文本生成文本检索状态机。
98.目标匹配文本匹配模块330,用于:将待匹配文本输入至所述文本检索状态机,以通过所述文本检索状态机在所述待匹配文本中匹配所述目标匹配文本。
99.文本突出显示处理模块340,用于:对所述待匹配文本中匹配到的所述目标匹配文本进行文本突出显示处理。
100.在本发明实施例中,首先获取至少一个目标匹配文本,再根据目标匹配文本生成文本检索状态机,将待匹配文本输入至文本检索状态机,以通过文本检索状态机在待匹配文本中匹配目标匹配文本,最后对待匹配文本中匹配到的目标匹配文本进行文本突出显示处理,解决了现有文本匹配方法存在的匹配检索的文本数量单一、且影响被匹配文本操作性能和展示性能等问题,能够提高文本匹配的性能,丰富文本匹配功能。
101.可选的,文本检索状态机生成模块320,具体用于:确定所述文本检索状态机的初始化状态机起始节点;依次遍历所述目标匹配文本的各个文本字符,在确定所述目标匹配文本的当前文本字符不包括转移条件的情况下,根据所述目标匹配文本对所述当前文本字符添加转移条件和目标状态,得到所述当前文本字符的后续文本字符在所述文本检索状态机中匹配的状态机节点。
102.可选的,文本检索状态机生成模块320,还用于:在确定所述文本检索状态机的当前状态机节点为完结状态机节点的情况下,对所述完结状态机节点配置文本完结标记信息;在所述完结状态机节点中存储所述目标匹配文本。
103.可选的,文本匹配装置还包括兜底转移状态配置模块,用于:确定所述文本检索状态机的各状态机节点的转移条件和关联前置节点状态;根据各所述状态机节点的转移条件和关联前置节点状态对各所述状态机节点配置兜底转移状态。
104.可选的,兜底转移状态配置模块,还用于:在确定当前状态机节点的关联前置节点状态为空的情况下,确定所述当前状态机节点的兜底转移状态为初始化状态机起始节点的兜底转移状态;在确定当前状态机节点的关联前置节点状态存在非兜底转移条件的情况下,则将所述当前状态机节点的目标状态确定为所述当前状态机节点的兜底转移状态;在确定当前状态机节点的关联前置节点状态不存在非兜底转移条件的情况下,根据所述当前状态机节点的关联前置节点状态的前置节点状态更新所述当前状态机节点的关联前置节点状态,并返回执行在确定当前状态机节点的关联前置节点状态为空的情况下,确定所述当前状态机节点的兜底转移状态为初始化状态机起始节点的兜底转移状态的操作,直至确定所述当前状态机节点的兜底转移状态。
105.可选的,所述待匹配文本包括目标网页文本,所述目标网页文本包括网页标签文本,文本匹配装置还包括待匹配文本确定模块,用于:按照字符单位遍历所述目标网页文本,在确定当前网页文本字符为网页标签字符的情况下,将所述网页标签字符的起始位置标记和终止位置标记存储入栈;根据所述网页标签字符的起始位置标记和终止位置标记确定所述目标网页文本中的非网页标签字符,并将所述非网页标签字符作为所述待匹配文本;目标匹配文本匹配模块,还用于:在确定所述文本检索状态机的当前状态机节点包括目标转移条件的情况下,将所述当前状态机节点的节点状态更新为所述目标转移条件匹配的目标转移状态;在确定所述文本检索状态机的当前状态机节点目标转移条件为空的情况下,将所述当前状态机节点的节点状态更新为所述当前状态机节点的兜底转移状态;在确定所述文本检索状态机的当前状态机节点不满足状态机退出条件的情况下,返回执行在确定所述文本检索状态机的当前状态机节点包括目标转移条件的情况下,将所述当前状态机节点的节点状态更新为所述目标转移条件匹配的目标转移状态的操作,直至确定所述文本检索状态机的当前状态机节点满足所述状态机退出条件。
106.可选的,文本突出显示处理模块340,具体用于:在所述待匹配文本中对所述目标匹配文本的文本起始位置和文本结束位置进行标记处理;将所述文本起始位置和所述文本结束位置之间的目标文本字符进行文本突出显示处理。
107.上述文本匹配装置可执行本发明任意实施例所提供的文本匹配方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明任意实施例提供的文本匹配方法。
108.实施例四
109.图12示出了可以用来实施本发明的实施例的电子设备10的结构示意图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备(如头盔、眼镜、手表等)和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
110.如图12所示,电子设备10包括至少一个处理器11,以及与至少一个处理器11通信
连接的存储器,如只读存储器(rom)12、随机访问存储器(ram)13等,其中,存储器存储有可被至少一个处理器执行的计算机程序,处理器11可以根据存储在只读存储器(rom)12中的计算机程序或者从存储单元18加载到随机访问存储器(ram)13中的计算机程序,来执行各种适当的动作和处理。在ram 13中,还可存储电子设备10操作所需的各种程序和数据。处理器11、rom 12以及ram 13通过总线14彼此相连。输入/输出(i/o)接口15也连接至总线14。
111.电子设备10中的多个部件连接至i/o接口15,包括:输入单元16,例如键盘、鼠标等;输出单元17,例如各种类型的显示器、扬声器等;存储单元18,例如磁盘、光盘等;以及通信单元19,例如网卡、调制解调器、无线通信收发机等。通信单元19允许电子设备10通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
112.处理器11可以是各种具有处理和计算能力的通用和/或专用处理组件。处理器11的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的处理器、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。处理器11执行上文所描述的各个方法和处理,例如文本匹配方法。
113.在一些实施例中,文本匹配方法可被实现为计算机程序,其被有形地包含于计算机可读存储介质,例如存储单元18。在一些实施例中,计算机程序的部分或者全部可以经由rom 12和/或通信单元19而被载入和/或安装到电子设备10上。当计算机程序加载到ram 13并由处理器11执行时,可以执行上文描述的文本匹配方法的一个或多个步骤。备选地,在其他实施例中,处理器11可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行文本匹配方法。
114.本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
115.用于实施本发明的方法的计算机程序可以采用一个或多个编程语言的任何组合来编写。这些计算机程序可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,使得计算机程序当由处理器执行时使流程图和/或框图中所规定的功能/操作被实施。计算机程序可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
116.在本发明的上下文中,计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的计算机程序。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。备选地,计算机可读存储介质可以是机器可读信号介质。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只
读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
117.为了提供与用户的交互,可以在电子设备上实施此处描述的系统和技术,该电子设备具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给电子设备。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者触觉输入)来接收来自用户的输入。
118.可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)、区块链网络和互联网。
119.计算系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与vps服务中,存在的管理难度大,业务扩展性弱的缺陷。
技术特征:
1.一种文本匹配方法,其特征在于,包括:获取至少一个目标匹配文本;根据所述目标匹配文本生成文本检索状态机;将待匹配文本输入至所述文本检索状态机,以通过所述文本检索状态机在所述待匹配文本中匹配所述目标匹配文本;对所述待匹配文本中匹配到的所述目标匹配文本进行文本突出显示处理。2.根据权利要求1所述的方法,其特征在于,所述根据所述目标匹配文本生成文本检索状态机,包括:确定所述文本检索状态机的初始化状态机起始节点;依次遍历所述目标匹配文本的各个文本字符,在确定所述目标匹配文本的当前文本字符不包括转移条件的情况下,根据所述目标匹配文本对所述当前文本字符添加转移条件和目标状态,得到所述当前文本字符的后续文本字符在所述文本检索状态机中匹配的状态机节点。3.根据权利要求2所述的方法,其特征在于,在所述得到所述当前文本字符的后续文本字符在所述文本检索状态机中匹配的状态机节点之后,还包括:在确定所述文本检索状态机的当前状态机节点为完结状态机节点的情况下,对所述完结状态机节点配置文本完结标记信息;在所述完结状态机节点中存储所述目标匹配文本。4.根据权利要求2或3任一所述的方法,其特征在于,在所述根据所述目标匹配文本生成文本检索状态机之后,还包括:确定所述文本检索状态机的各状态机节点的转移条件和关联前置节点状态;根据各所述状态机节点的转移条件和关联前置节点状态对各所述状态机节点配置兜底转移状态。5.根据权利要求4所述的方法,其特征在于,所述根据各所述状态机节点的转移条件和关联前置节点状态对各所述状态机节点配置兜底转移状态,包括:在确定当前状态机节点的关联前置节点状态为空的情况下,确定所述当前状态机节点的兜底转移状态为初始化状态机起始节点的兜底转移状态;在确定当前状态机节点的关联前置节点状态存在非兜底转移条件的情况下,则将所述当前状态机节点的目标状态确定为所述当前状态机节点的兜底转移状态;在确定当前状态机节点的关联前置节点状态不存在非兜底转移条件的情况下,根据所述当前状态机节点的关联前置节点状态的前置节点状态更新所述当前状态机节点的关联前置节点状态,并返回执行在确定当前状态机节点的关联前置节点状态为空的情况下,确定所述当前状态机节点的兜底转移状态为初始化状态机起始节点的兜底转移状态的操作,直至确定所述当前状态机节点的兜底转移状态。6.根据权利要求1所述的方法,其特征在于,所述待匹配文本包括目标网页文本,所述目标网页文本包括网页标签;在所述将待匹配文本输入至所述文本检索状态机之前,还包括:按照字符单位遍历所述目标网页文本,在确定当前网页文本字符为网页标签字符的情况下,将所述网页标签字符的起始位置标记和终止位置标记存储入栈;
根据所述网页标签字符的起始位置标记和终止位置标记确定所述目标网页文本中的非网页标签字符,并将所述非网页标签字符作为所述待匹配文本;所述通过所述文本检索状态机在所述待匹配文本中匹配所述目标匹配文本,包括:在确定所述文本检索状态机的当前状态机节点包括目标转移条件的情况下,将所述当前状态机节点的节点状态更新为所述目标转移条件匹配的目标转移状态;在确定所述文本检索状态机的当前状态机节点目标转移条件为空的情况下,将所述当前状态机节点的节点状态更新为所述当前状态机节点的兜底转移状态;在确定所述文本检索状态机的当前状态机节点不满足状态机退出条件的情况下,返回执行在确定所述文本检索状态机的当前状态机节点包括目标转移条件的情况下,将所述当前状态机节点的节点状态更新为所述目标转移条件匹配的目标转移状态的操作,直至确定所述文本检索状态机的当前状态机节点满足所述状态机退出条件。7.根据权利要求1所述的方法,其特征在于,所述对所述待匹配文本中匹配到的所述目标匹配文本进行文本突出显示处理,包括:在所述待匹配文本中对所述目标匹配文本的文本起始位置和文本结束位置进行标记处理;将所述文本起始位置和所述文本结束位置之间的目标文本字符进行文本突出显示处理。8.一种文本匹配装置,其特征在于,包括:目标匹配文本获取模块,用于获取至少一个目标匹配文本;文本检索状态机生成模块,用于根据所述目标匹配文本生成文本检索状态机;目标匹配文本匹配模块,用于将待匹配文本输入至所述文本检索状态机,以通过所述文本检索状态机在所述待匹配文本中匹配所述目标匹配文本;文本突出显示处理模块,用于对所述待匹配文本中匹配到的所述目标匹配文本进行文本突出显示处理。9.一种电子设备,其特征在于,所述电子设备包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-7中任一所述的文本匹配方法。10.一种计算机存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现权利要求1-7中任一所述的文本匹配方法。
技术总结
本发明实施例公开了一种文本匹配方法、装置、电子设备及存储介质,其中,文本匹配方法,包括:获取至少一个目标匹配文本;根据所述目标匹配文本生成文本检索状态机;将待匹配文本输入至所述文本检索状态机,以通过所述文本检索状态机在所述待匹配文本中匹配所述目标匹配文本;对所述待匹配文本中匹配到的所述目标匹配文本进行文本突出显示处理。本发明实施例的技术方案能够提高文本匹配的性能,丰富文本匹配功能。匹配功能。匹配功能。
技术研发人员:周立运 请求不公布姓名
受保护的技术使用者:魔方医药科技(苏州)有限公司
技术研发日:2023.03.29
技术公布日:2023/7/18
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
