CN104750673A - 文本匹配过滤方法及装置 - Google Patents
文本匹配过滤方法及装置 Download PDFInfo
- Publication number
- CN104750673A CN104750673A CN201310753277.7A CN201310753277A CN104750673A CN 104750673 A CN104750673 A CN 104750673A CN 201310753277 A CN201310753277 A CN 201310753277A CN 104750673 A CN104750673 A CN 104750673A
- Authority
- CN
- China
- Prior art keywords
- character
- key word
- key
- text
- successful
- 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.)
- Granted
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种文本匹配过滤方法及装置。所述方法包括:将被测文本中的字符进行独立分割,得到分割后的字符串;将分割后的字符串中的字符分别与倒排字库中的关键字符进行匹配;所述倒排字库是对输入的关键字进行逐字符分解并记录每个关键字符在所述关键字中的位置信息后形成的;按照设定的模糊度确定规则,确定匹配成功的每个关键字中关键字符匹配时用到的模糊度值,得到每个关键字的匹配模糊度;根据每个关键字的匹配模糊度,确定输入的关键字的平均模糊度,根据所述平均模糊度确定所述被测文本是否符合过滤条件。本发明还公开了用于实现所述方法的装置。
Description
技术领域
本发明涉及信息安全技术领域,尤其涉及一种对信息进行过滤的文本匹配过滤方法及装置。
背景技术
随着互联网和移动通信的普及与发展,使得现实生活中充满了大量的各种信息,也为信息的传播与获取提供了更加便捷、更加有效的方式。与此同时,也充斥着各种违法有害信息的传播,比如:淫秽色情信息、反动信息、广告信息等。因此,采用一些技术手段对这些违法有害信息进行过滤,保证信息的绿色、健康是很必要的。对信息进行过滤时,一般会采用关键字匹配技术实现,即通过设定违规关键字库、对被测文本进行分析,匹配关键字库后进行疑似判定;关键字识别与过滤技术具有速度快、方式灵活等优点,是进行违规信息过滤的主要方式。
目前采用关键字匹配方式对文本进行识别的技术主要包括精确匹配、去除特殊符号匹配、组合匹配的方式。以“购买发票”为关键字为例,具体说明如下:
(1)关键字精确匹配。通过匹配被检测文本中包含的关键字信息,实现对文本的过滤;只有在文本中准确出现原关键字,才能进行判定。例如文本“新企业需要购买发票本,须在该企业报到完成,……”中包含关键字,则能有效发现与过滤。
这种方式由于关键字精确匹配的方式对匹配的内容要求与设定的关键字完全一致,若被测文本关键字中出现特殊字符,如“&”、“*”、“#”等,那么此方法将不能识别出所测关键字;当采用同音字代替关键字中的部分字符时,也不能识别。即精确匹配容易被绕开产生漏判。
而且随着对过滤技术的了解,越来越多的非法信息采用多种方式进行过滤技术绕开,常用的技术包括:加入特殊字符、使用谐音字、使用拼音等。在这些技术干扰的情况下,对文本进行准确过滤的难度进一步增加。
(2)去除特殊字符后匹配(模糊匹配)。在一些广告信息中,为避免精确匹配关键字并进行过滤,采用了一些干扰字符间隔。通过模糊匹配的方式,可以去除一些干扰字符,然后按精确匹配的方式进行。例如文本“您好!购、买、发、票请咨询400xxxxxx”,通过去除特殊字符后形成文本“您好购买发票请咨询400xxxxxx”;去除标点符号后,可以匹配关键字并进行有效发现。
这种模糊匹配的方式从一定程度上避免了漏判,但不能识别同音字、形近字,容易形成漏判。比如:所设定的关键字为“购买发票”,若使用去特殊字符算法进行查找,则若文本中出现“购埋发票”字段中有同音错字的现象时,此方法则不能正确识别。
(3)组合关键字匹配。通过将一个关键字拆分成多个关键字组合的方式。例如将“购买发票”拆分成“购买+发票”,这种方法也在一定程度上过滤了特殊字符和错别字,提高适用范围。例如对于文本“购买水果的同志,请到服务台开具发票”,可实现组合关键字匹配,发现疑似文本。在组合关键字的技术中,如何有效地拆分关键字是一项关键技术。
这种组合关键字设定方式困难,且容易形成误判。例如设定“购买+发票”为判定规则,对于文本“购买水果的同志,请到服务台开具发票”形成了误判。若需要判定字符之间的间距等,则算法复杂,导致效率降低,不适合大规模处理。
综上所述,现有的通过关键字识别技术进行文本过滤匹配的方法,其过滤匹配的准确性比较低,容错性比较差,很容易产生误判与漏判,导致不能准确的将需要过滤的文本过滤掉。
发明内容
本发明实施例提供一种文本匹配过滤方法及装置,用于解决现有技术中文本匹配过滤时存在的容错性差,判断准确性低,容易产生误判和漏判的问题。
本发明实施例提供一种文本匹配过滤方法,包括以下步骤:
将被测文本中的字符进行独立分割,得到分割后的字符串;
将分割后的字符串中的字符分别与倒排字库中的关键字符进行匹配;所述倒排字库是对输入的关键字进行逐字符分解并记录每个关键字符在所述关键字中的位置信息后形成的;
按照设定的模糊度确定规则,确定匹配成功的每个关键字中关键字符匹配时用到的模糊度值,得到每个关键字的匹配模糊度;
根据每个关键字的匹配模糊度,确定输入的关键字的平均模糊度,根据所述平均模糊度确定所述被测文本是否符合过滤条件。
在一些可选的实施例中,形成到排字库的过程,具体包括:
对输入的关键字进行顺序编号,形成关键字库;
对关键字库中的每个关键字进行逐字符分解,为分解后得到的每个关键字符建立位置信息集合;所述位置信息集合中包括关键字符、关键字符所属的关键字编号、关键字符在所属关键字中的字符位。
在一些可选的实施例中,将分割后的字符串中的字符分别与倒排字库中的关键字符进行匹配,具体包括:
依次获取分割后的字符串中的字符,针对获取的字符:
遍历倒排字库中的关键字符,当有与获取的字符相匹配的关键字符时,记录匹配成功的字符所属的关键字以及在所属关键字中的字符位。
在一些可选的实施例中,得到每个关键字的匹配模糊度的过程,具体包括:
根据匹配成功的关键字中匹配成功的字符所属的关键字以及在所属关键字中的字符位,针对每个匹配成功的关键字,确定该关键字中匹配成功的各关键字符的字符位之间的字符位间隔,根据确定出的字符位间隔,确定关键字符匹配时用到的模糊度值,得到所述匹配模糊度。
在一些可选的实施例中,根据确定出的字符位间隔,确定关键字符匹配时用到的模糊度值,得到所述匹配模糊度,具体包括:
获取设定的模糊度确定规则中规定的字符位间隔与模糊度值的对应关系,确定匹配成功的关键字中匹配成功的关键字符的字符位间隔的最大值,查找到字符位间隔的最大值所对应的模糊度值,作为关键字的匹配模糊度。
在一些可选的实施例中,确定所述被测文本是否符合过滤条件的过程,具体包括:
将得到的所述平均模糊度预设定的文本模糊度阈值进行比较,当所述平均模糊度不大于所述文本模糊度阈值时,确定所述被测文本符合过滤条件。
本发明实施例还提供一种文本匹配过滤装置,包括:
关键字倒排模块,用于对输入的关键字进行逐字符分解并记录每个关键字符在所述关键字中的位置信息后形成的倒排字库;
文本处理模块,用于将被测文本中的字符进行独立分割,得到分割后的字符串;
模糊匹配模块,用于将分割后的字符串中的字符分别与倒排字库中的关键字符进行匹配;以及按照设定的模糊度确定规则,确定匹配成功的每个关键字中关键字符匹配时用到的模糊度值,得到每个关键字的匹配模糊度;
过滤判断模块,用于根据每个关键字的匹配模糊度,确定输入的关键字的平均模糊度,根据所述平均模糊度确定所述被测文本是否符合过滤条件。
在一些可选的实施例中,所述关键字倒排模块,具体用于:
对输入的关键字进行顺序编号,形成关键字库;
对关键字库中的每个关键字进行逐字符分解,为分解后得到的每个关键字符建立位置信息集合;所述位置信息集合中包括关键字符、关键字符所属的关键字编号、关键字符在所属关键字中的字符位。
在一些可选的实施例中,所述模糊匹配模块,具体用于:
依次获取分割后的字符串中的字符,针对获取的字符:
遍历倒排字库中的关键字符,当有与获取的字符相匹配的关键字符时,记录匹配成功的字符所属的关键字以及在所属关键字中的字符位。
在一些可选的实施例中,所述模糊匹配模块,具体用于:
根据匹配成功的关键字中匹配成功的字符所属的关键字以及在所属关键字中的字符位,针对每个匹配成功的关键字,确定该关键字中匹配成功的各关键字符的字符位之间的字符位间隔,根据确定出的字符位间隔,确定关键字符匹配时用到的模糊度值,得到所述匹配模糊度。
在一些可选的实施例中,所述模糊匹配模块,具体用于:
获取设定的模糊度确定规则中规定的字符位间隔与模糊度值的对应关系,确定匹配成功的关键字中匹配成功的关键字符的字符位间隔的最大值,查找到字符位间隔的最大值所对应的模糊度值,作为关键字的匹配模糊度。
在一些可选的实施例中,所述过滤判断模块,具体用于:
将得到的所述平均模糊度预设定的文本模糊度阈值进行比较,当所述平均模糊度不大于所述文本模糊度阈值时,确定所述被测文本符合过滤条件。
本发明实施例提供的文本匹配过滤方法及装置,通过建立关键字库形成倒排字库,建立起关键字倒排索引,然后针对被测文本逐一进行过滤匹配,并基于设定的模糊度策略,进行模糊匹配,得到匹配结果后进行过滤。在被测文本中存在干扰因素时,可以绕过干扰字符,提高识别能力及系统查询的准确性,减少了误判和漏判的可能。通过灵活设定模糊度可以提高关键字在文本查找中的匹配准确度和抗干扰能力,提高了文本匹配过滤的容错能力,具有很强的实用性。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为本发明实施例中文本匹配过滤方法的流程图;
图2为本发明实施例中形成倒排字库的流程图;
图3为本发明实施例中文本匹配过滤装置的结构示意图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
为了解决现有技术中存在的文本匹配准确度低,容易产生漏判和错判的问题,本发明实施例提供一种文本匹配过滤方法,该方法流程如图1所示,包括如下步骤:
步骤S101:对输入的关键字进行逐字符分解并记录每个关键字符在关键字中的位置信息后形成倒排字库。
为了便于针对各个关键字中的关键字符进行逐一的独立匹配,需要预先形成一个倒排字库,该倒排字库通过对输入的各个关键字进行字符分解,逐一标记其在各个关键字中的位置信息后形成,具体的:
对输入的关键字进行顺序编号,形成关键字库;对关键字库中的每个关键字进行逐字符分解,为分解后得到的每个关键字符建立位置信息集合。其中,位置信息集合中包括关键字符、关键字符所属的关键字编号、关键字符在所属关键字中的字符位。
即通过将关键字拆分为字符,形成一个集合,并记录每个字符在哪些关键字中出现及出现的位置,以便后续匹配索引时用。
步骤S102:将被测文本中的字符进行独立分割,得到分割后的字符串。
以便后续逐字符与倒排字库中的关键字符进行匹配。
步骤S103:将被测文本分割后的字符串中的字符分别与倒排字库中的关键字符进行匹配。其中,倒排字库是对输入的关键字进行逐字符分解并记录每个关键字符在关键字中的位置信息后形成的。
对被测文本分割后得到的分割后的字符串中的每一个字符进行逐一的匹配,可以通过编写合适的逻辑程序,实现依次获取分割后的字符串中的字符,一一与倒排字库中的关键字符匹配并记录匹配结果。具体实现下列匹配过程:
依次获取分割后的字符串中的字符,针对获取的字符:遍历倒排字库中的关键字符,当有与获取的字符相匹配的关键字符时,记录匹配成功的字符所属的关键字以及在所属关键字中的字符位。
步骤S104:按照设定的模糊度确定规则,确定匹配成功的每个关键字中关键字符匹配时用到的模糊度值,得到每个关键字的匹配模糊度。
根据匹配成功的关键字中匹配成功的字符所属的关键字以及在所属关键字中的字符位,针对每个匹配成功的关键字,确定该关键字中匹配成功的各关键字符的字符位之间的字符位间隔,根据确定出的字符位间隔,确定关键字符匹配时用到的模糊度值,得到关键词的匹配模糊度。
根据确定出的字符位间隔,确定关键字符匹配时用到的模糊度值,得到所述匹配模糊度,具体包括:获取设定的模糊度确定规则中规定的字符位间隔与模糊度值的对应关系,确定匹配成功的关键字中匹配成功的关键字符的字符位间隔的最大值,查找到字符位间隔的最大值所对应的模糊度值,作为关键字的匹配模糊度。
在上述步骤S103的被测文本遍历过程中,发现出现在关键字中的字符后,可以在每个字符匹配成功后根据模糊度值的策略,发现可能存在的其他关键字,及其相应的模糊度值,以提高容错能力。
举例说明,比如针对一个有4个关键字符的关键字,分割后的字符串与该关键字匹配成功,且其中的4个关键字符均匹配成功;在分割后的字符串中,匹配成功的每个关键字符与其相邻的关键字符之间均没有其他字符时,其各关键字符的字符位之间的字符位间隔均为0。若某个关键字符与其相邻的关键字符之间有一个其他字符时,则该关键字符与相邻的关键字符之间的字符位间隔均为1。或者当4个关键字符只有3个匹配成功时,与匹配成功的关键字符为第1、3、4个关键字符,第1、3个关键字符之间存在一个未匹配成功的字符,则也认为匹配成功的第1、3个关键字符之间的字符位间隔为1;而第3、4个关键字符之间没有其他字符,则认为匹配成功的第3、4个关键字符之间的字符位间隔为0。
然后,获取设定的模糊度确定规则中规定的字符位间隔与模糊度值的对应关系,确定匹配成功的关键字中匹配成功的关键字符的字符位间隔的最大值,查找到字符位间隔的最大值所对应的模糊度值,作为关键字的匹配模糊度。
模糊关键字匹配主要是设置模糊度值M,M根据两个字符之间的距离差值确定,默认相邻字符间隔为0,也可以说差值为1。例如规定:字符位间隔为0时,对应的匹配模糊度为1;字符位间隔为1时,对应的匹配模糊度为2;……,以此类推。则上述举例中4个关键字符均匹配成功的情况下且不间隔其他字符时,其最大字符位间隔为0,对应的匹配模糊度为1;4个关键字符均匹配成功的情况下且间隔有其他字符时,其最大字符位间隔为1,对应的匹配模糊度为2;只有3个字符匹配成功的那种情况,其最大字符位间隔为1,对应的匹配模糊度为2。
步骤S105:根据每个关键字的匹配模糊度,确定输入的关键字的平均模糊度。
计算输入所有关键字的平均模糊度,一般是将每个关键字的匹配模糊度进行加和之后,再除以输入的关键字的数量。当然,可选的,也可以规定采用其他方式确定。
步骤S106:根据平均模糊度确定被测文本是否符合过滤条件。
将得到的平均模糊度预设定的文本模糊度阈值进行比较,当平均模糊度不大于文本模糊度阈值时,确定被测文本符合过滤条件。这样根据模糊匹配的结果对文本进行过滤,提高了匹配过滤的准确度,减少了错判漏判的可能性。
下面具体描述上述各个步骤过程的具体实现流程。
上述步骤S101形成倒排字库的过程,实际上是基于倒排索引的原理考虑的,倒排索引源于实际应用中需要根据属性的值来查找记录。这种索引表中的每一项都包括一个属性值和具有该属性值的各记录的地址。由于不是由记录来确定属性值,而是由属性值来确定记录的位置,因而称为倒排索引。
本发明方法中,将关键字库中的每一个关键字按单个字符进行分割,并用二维坐标系标示它们的位置,为每个字符形成<字符,<位置,index集合>>形式的记录,形成倒排字库。在被测文本中把字符逐字进行分解,用分解出来的字符到倒排字库中进行查询,看是否属于关键字的字符。
该过程形成倒排字库的具体可以如图2所示,包括如下步骤:
步骤S201:对输入的关键字进行顺序编号,形成关键字库。
可以通过一个关键字库模块实现关键字的输入,关键字库模块主要功能是通过excel文件、txt文件或手工输入向关键字库中导入所需测试的关键字,形成关键字库。如表1所示为输入五个关键字并对其进行编号后得到关键字库。
表1
其中,关键字库KEY={K1,K2,……,Km|m为关键字个数}。上述表1中m=5。
步骤S202:对关键字库中的每个关键字进行逐字符分解。
为了实现关键字模糊匹配,提高匹配准确度和抗干扰能力,对关键字进行逐字符分解,并记录其所在关键字的位置等信息,以便形成倒排字库。
可以通过一个关键字倒排模块实现,将关键字库中的关键字进行逐一分解,并为每一个关键字符形成一个相应的集合RI,记录它在哪些关键字中出现和在关键字中出现的位置,形式如:<字符,<位置,index集合>>。从而形成倒排索引库,RI<K,V<Pos,Index>>,其中K表示一个关键字符,V为该关键字符在关键字库中出现的位置信息,Pos表示关键字符K在关键字Ki中的位置,Index表示所有满足第Pos位字符为K的关键字Ki在关键字库Key中出现的序列集合{i|1<=i<=m}。
例如:对上述表1中的五个关键字“女色”、“日本美女”、“炸药”、“购买发票”和“购枪”进行拆分,拆分出来的关键字符如下表2所示。
表2
在拆分关键字时,规定Ki=Wi1,Wi2,……,Win(1<=i<=m,n>=1),n为第i个关键字的长度。其中Wij(1<=i<=m,1<=j<=n)表示第i个关键字中的第j个字符。
步骤S203:为分解后得到的每个关键字符建立位置信息集合。其中,位置信息集合中包括关键字符、关键字符所属的关键字编号、关键字符在所属关键字中的字符位。
在拆分关键字后,为每一个字符形成一个集合RI。具体算法如下:
把上述表2看做一张二维表,其中的每一个字符均由横坐标与纵坐标唯一标示,如K1中的“色”字符,其坐标为(2,1),K3中的“色”字符,其坐标为(2,3)。那么“色”字符的集合为RI[色]={<1,null>,<2,{1,3}>,<3,null>}。那么RI[色][2]={1,3],表示“色”字符在关键字中出现的位置是第二个字符位,且分别在第1、3个关键字中出现。从而生成倒排字库,如下表3所示。
表3
<女,<1,1>> |
<色,<2,{1,3}>> |
<日,<1,2>> |
<本,<2,2>> |
<片,<3,2>> |
<美,<1,3>> |
<购,<1,{4,5}>> |
<买,<2,4>> |
<发,<3,4>> |
<票,<4,4>> |
<枪,<2,5>> |
上述步骤S102实现对被测文本进行分割,例如针对输入的被测文本,可以通过一个文本处理模块进行字符分割。
把输入的被测文本“购埋发票请联系王经理”中每一个字符都独立分割出来,得到如下表4所示的分割后的字符串。
表4
S1 | S2 | S3 | S4 | S5 | S6 | S7 | S8 | S9 | S10 | |
S | 购 | 埋 | 发 | 票 | 请 | 联 | 系 | 王 | 经 | 理 |
规定被分割字符串S=S1,S2,……,Sh(h>=1),h为字符串S的长度,其中Si(1<=i<=h)表示字符串S中的第i个字符。
上述步骤S103中,实现关键字符的匹配过程,关键字模糊匹配是整个方法流程中的核心部分,主要是把生成的倒排字库中的字符进行查询,关键字模糊匹配,看被测文本中是否存在所查找的关键字。该步骤和步骤S104可以通过一个模糊匹配模块,具体包括:
首先,定义集合Q={(i,j)|1<=i<=m,1<=j<=n}表示前一字符可能匹配成功的关键字信息,i为关键字序号,j为字符出现的位置。具体实现算法可以通过伪代码实现,具体代码内容此处不再详述。
然后,依次获取分割后的字符串中的字符,针对获取的字符,遍历倒排字库中的关键字符,当有与获取的字符相匹配的关键字符时,记录匹配成功的字符所属的关键字以及在所属关键字中的字符位。例如:针对表4中所示的分割后的字符串,先获取“购”进行匹配,然后再依次获取“埋”进行匹配,……以此类推,逐一匹配。匹配的过程如下表5所示:
表5
上述表5中,S表示被检测的文本转换的字符串,Si(1<=i<=h)表示字符串S中的第i个字符;
RI表示关键字字符的位置数组,其格式为:{<字符在关键字中的位置,所属的关键字>}即每个关键字字符在每个关键字中存在的位置,如不存在,用null表示;例如RI[色]={<1,null>,<2,{1,3}>,<3,null>},表示在关键字1、3的位置2出现;
K表示候选关键词序号的集合,K={k1,k2….}例如K={1,2,3}表示包含第1、2、3三个关键词;Q中的每一个元素用(k,v)表示,其中k表示匹配的关键字编号,v表示关键词中已匹配上的最后一个字符的位置;例如(4,2)表示第四个关键词的第2个字符已经匹配成功;
Q表示最终匹配成功的关键词的集合,Q初始化为空;Q由Add、Sub两个集合迭代运算得到;
Add表示新增的已部分匹配的关键词集合,初始化为空;格式为Add={(关键词,关键词已匹配上的最后一个字符位置),…..},例如Add={(4,2)}表示第四个关键词的第2个字符已经匹配成功;
Sub含义与Add类似,表示不符合要求而需要减去的关键词集合,初始化为空;例如文本遍历结束,而Add={(4,2)}的关键词仅前两个字符匹配成功,不符合要求,应该加入Sub;
M表示关键词模糊度,关键字中匹配上的临近字符的最大间隔。
从上述表5所示的过程可以看出,针对表4所示的拆分后的字符串进行匹配时,与第四个关键字“购买发票”匹配成功,且匹配成功的字符为该关键字中的第1、3、4个字符。
上述步骤S104实现模糊度匹配,其实现策略如下:
在进行匹配之前,还可以通过一个策略控制模块控制调整设置匹配策略,比如:调整模糊度值M(M>=1)。本发明中以文本中两个相邻字符的模糊度值是1,即如表4中,S1与S2的模糊度值M为1,S1与S3的模糊度值M为2。调整M的值,使系统达到最优的配置度,可以达到抗干扰、提高识别准确度的作用。模糊度值M的设置如下表6所示。
表6
当把模糊度匹配值M设置为2时,进行测试。若倒排字库中有关键字“购买发票”,被测文本中有一段如S的字段,当S1字符查询完毕后游标自动向后移动一位,指向S2进行查询。发现不是倒排字库中的字符,则游标继续向后移动指向S3,继续查询。发现S3的“发”字为倒排字库中的关键字且不为首字符,则向前进行匹配,根据算法1<=j-v<=M(M=2),可以向前匹配两个字符的位置,正好与S1字符匹配,组成关键字“购买发票”的前半部分。游标继续后移,同理S4也与S3匹配,最后组成字符串“购*发票”与倒排字库中的“购买发票”整体匹配度极高,说明此文本中存在所测关键字“购买发票”。
根据上述策略,对于上述表5所示的匹配过程,匹配成功的关键字“购买发票”在分割后的字符串中是“购埋发票”其字符位间隔分别为:“购”和“发”之间的字符位间隔为1,“发”和“票”之间的字符位间隔为0,因此,字符位间隔的最大值为1,对应的模糊度值为2,因此得到匹配成功的关键字“购买发票”的匹配模糊度为2。
上述步骤S105实现文本模糊度计算及文本过滤判别,可以通过一个过滤判断模块实现,其实现策略如下:
基于关键字倒排索引方式进行的关键字匹配后的匹配结果,不仅能显示发现的关键字,而且能有效比对发现的关键字的模糊度。通过对整个文本中包含的关键字的匹配模糊度进行均值计算,可进一步优化模糊匹配的结果。
在文本的关键字匹配的过程中,记录下每个的关键字匹配模糊度,即匹配的关键字符之间的用到的最大模糊度值。例如在上述表6的匹配过程第六步,“此时j=3,v=1;j-v=2,2<=M(M=2).”存在本关键字匹配时用到的最大模糊度值为2,因此,该关键字的匹配模糊度为2。
对整个文档设定一个模糊度阈值Y=1.5。然后计算文本中各个匹配的关键字的匹配模糊度模糊度,进行平均后与Y进行比较。比如针对“购买发票”、“增值税”和“餐饮娱乐”这几个关键的各关键字,计算得到的平均模糊度可以如表7所示。
表7
若某文本中发现“购买发票”、“增值税”和“餐饮娱乐”这3个关键字,经计算得到平均模糊度1.33,由于模糊度越低说明匹配程度越高,平均模糊度为1.33<Y,该文本判定为符合过滤条件,是需要被过滤掉的文本。
基于同一发明构思,本发明实施例还提供一种文本匹配过滤装置,该装置可以设置在需要进行文本匹配过滤的网络设备或终端设备中,该装置的结构如图3所示,包括:关键字倒排模块301、文本处理模块302、模糊匹配模块303和过滤判断模块304。
关键字倒排模块301,用于对输入的关键字进行逐字符分解并记录每个关键字符在关键字中的位置信息后形成的倒排字库。
文本处理模块302,用于将被测文本中的字符进行独立分割,得到分割后的字符串。
模糊匹配模块303,用于将分割后的字符串中的字符分别与倒排字库中的关键字符进行匹配;以及按照设定的模糊度确定规则,确定匹配成功的每个关键字中关键字符匹配时用到的模糊度值,得到每个关键字的匹配模糊度。
过滤判断模块304,用于根据每个关键字的匹配模糊度,确定输入的关键字的平均模糊度,根据平均模糊度确定所述被测文本是否符合过滤条件。
优选的,上述关键字倒排模块301,具体用于:
对输入的关键字进行顺序编号,形成关键字库;
对关键字库中的每个关键字进行逐字符分解,为分解后得到的每个关键字符建立位置信息集合;所述位置信息集合中包括关键字符、关键字符所属的关键字编号、关键字符在所属关键字中的字符位。
优选的,上述模糊匹配模块303,具体用于:
依次获取分割后的字符串中的字符,针对获取的字符:
遍历倒排字库中的关键字符,当有与获取的字符相匹配的关键字符时,记录匹配成功的字符所属的关键字以及在所属关键字中的字符位。
优选的,上述模糊匹配模块303,具体用于:
根据匹配成功的关键字中匹配成功的关键字符所属的关键字以及在所属关键字中的字符位,针对每个匹配成功的关键字,确定该关键字中匹配成功的各关键字符的字符位之间的字符位间隔,根据确定出的字符位间隔,确定关键字符匹配时用到的模糊度值,得到所述匹配模糊度。
优选的,上述模糊匹配模块303,具体用于:
获取设定的模糊度确定规则中规定的字符位间隔与模糊度值的对应关系,确定匹配成功的关键字中匹配成功的关键字符的字符位间隔的最大值,查找到字符位间隔的最大值所对应的模糊度值,作为关键字的匹配模糊度。
优选的,上述过滤判断模块304,具体用于:
将得到的平均模糊度预设定的文本模糊度阈值进行比较,当平均模糊度不大于文本模糊度阈值时,确定被测文本符合过滤条件。
可选的,上述装置中,在进行模糊匹配策略设置时,可以由模糊匹配模块303实现,也可以单独设置一个策略控制模块来实现。同样的,在输入关键字时,可以由关键字倒排模块301实现,也可以单独设置一个关键字库模块,用于实现关键字库的生成及其关键字的输入。
上述装置中的各功能模块,根据需要可以进行拆分和组合,不限于上述图3所示的模块划分方式。
本发明实施例提供的上述文本匹配过滤方法及装置是一种基于关键字库倒排索引的模糊关键字匹配的新的匹配方法,可以对文本中包含的指定信息进行模糊匹配与识别。该方法通过建立关键字库形成倒排字库,建立起关键字倒排索引,然后针对被测文本逐一进行过滤匹配,并基于设定的模糊度策略,进行模糊匹配,得到匹配结果后进行过滤。其模糊匹配策略,在文本中存在特殊字符、音近字、形近字、同音别字或插入非关键字等干扰判断因素容易使程序出现漏判、错判时,可以绕过干扰字符,提高识别能力及系统查询的准确性,避免了组合关键字中容易出现的误判问题。通过灵活设定模糊度可以提高关键字在文本查找中的匹配准确度和抗干扰能力,提高了匹配过滤的容错能力,具有很高的实用价值。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (12)
1.一种文本匹配过滤方法,其特征在于,包括:
将被测文本中的字符进行独立分割,得到分割后的字符串;
将分割后的字符串中的字符分别与倒排字库中的关键字符进行匹配;所述倒排字库是对输入的关键字进行逐字符分解并记录每个关键字符在所述关键字中的位置信息后形成的;
按照设定的模糊度确定规则,确定匹配成功的每个关键字中关键字符匹配时用到的模糊度值,得到每个关键字的匹配模糊度;
根据每个关键字的匹配模糊度,确定输入的关键字的平均模糊度,根据所述平均模糊度确定所述被测文本是否符合过滤条件。
2.如权利要求1所述的方法,其特征在于,形成到排字库的过程,具体包括:
对输入的关键字进行顺序编号,形成关键字库;
对关键字库中的每个关键字进行逐字符分解,为分解后得到的每个关键字符建立位置信息集合;所述位置信息集合中包括关键字符、关键字符所属的关键字编号、关键字符在所属关键字中的字符位。
3.如权利要求1所述的方法,其特征在于,将分割后的字符串中的字符分别与倒排字库中的关键字符进行匹配,具体包括:
依次获取分割后的字符串中的字符,针对获取的字符:
遍历倒排字库中的关键字符,当有与获取的字符相匹配的关键字符时,记录匹配成功的字符所属的关键字以及在所属关键字中的字符位。
4.如权利要求1所述的方法,其特征在于,得到每个关键字的匹配模糊度的过程,具体包括:
根据匹配成功的关键字中匹配成功的字符所属的关键字以及在所属关键字中的字符位,针对每个匹配成功的关键字,确定该关键字中匹配成功的各关键字符的字符位之间的字符位间隔,根据确定出的字符位间隔,确定关键字符匹配时用到的模糊度值,得到所述匹配模糊度。
5.如权利要求4所述的方法,其特征在于,根据确定出的字符位间隔,确定关键字符匹配时用到的模糊度值,得到所述匹配模糊度,具体包括:
获取设定的模糊度确定规则中规定的字符位间隔与模糊度值的对应关系,确定匹配成功的关键字中匹配成功的关键字符的字符位间隔的最大值,查找到字符位间隔的最大值所对应的模糊度值,作为关键字的匹配模糊度。
6.如权利要求1-5任一所述的方法,其特征在于,确定所述被测文本是否符合过滤条件的过程,具体包括:
将得到的所述平均模糊度预设定的文本模糊度阈值进行比较,当所述平均模糊度不大于所述文本模糊度阈值时,确定所述被测文本符合过滤条件。
7.一种文本匹配过滤装置,其特征在于,包括:
关键字倒排模块,用于对输入的关键字进行逐字符分解并记录每个关键字符在所述关键字中的位置信息后形成的倒排字库;
文本处理模块,用于将被测文本中的字符进行独立分割,得到分割后的字符串;
模糊匹配模块,用于将分割后的字符串中的字符分别与倒排字库中的关键字符进行匹配;以及按照设定的模糊度确定规则,确定匹配成功的每个关键字中关键字符匹配时用到的模糊度值,得到每个关键字的匹配模糊度;
过滤判断模块,用于根据每个关键字的匹配模糊度,确定输入的关键字的平均模糊度,根据所述平均模糊度确定所述被测文本是否符合过滤条件。
8.如权利要求7所述的装置,其特征在于,所述关键字倒排模块,具体用于:
对输入的关键字进行顺序编号,形成关键字库;
对关键字库中的每个关键字进行逐字符分解,为分解后得到的每个关键字符建立位置信息集合;所述位置信息集合中包括关键字符、关键字符所属的关键字编号、关键字符在所属关键字中的字符位。
9.如权利要求7所述的装置,其特征在于,所述模糊匹配模块,具体用于:
依次获取分割后的字符串中的字符,针对获取的字符:
遍历倒排字库中的关键字符,当有与获取的字符相匹配的关键字符时,记录匹配成功的字符所属的关键字以及在所属关键字中的字符位。
10.如权利要求7所述的装置,其特征在于,所述模糊匹配模块,具体用于:
根据匹配成功的关键字中匹配成功的字符所属的关键字以及在所属关键字中的字符位,针对每个匹配成功的关键字,确定该关键字中匹配成功的各关键字符的字符位之间的字符位间隔,根据确定出的字符位间隔,确定关键字符匹配时用到的模糊度值,得到所述匹配模糊度。
11.如权利要求10所述的装置,其特征在于,所述模糊匹配模块,具体用于:
获取设定的模糊度确定规则中规定的字符位间隔与模糊度值的对应关系,确定匹配成功的关键字中匹配成功的关键字符的字符位间隔的最大值,查找到字符位间隔的最大值所对应的模糊度值,作为关键字的匹配模糊度。
12.如权利要求7-11任一所述的装置,其特征在于,所述过滤判断模块,具体用于:
将得到的所述平均模糊度预设定的文本模糊度阈值进行比较,当所述平均模糊度不大于所述文本模糊度阈值时,确定所述被测文本符合过滤条件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310753277.7A CN104750673B (zh) | 2013-12-31 | 2013-12-31 | 文本匹配过滤方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310753277.7A CN104750673B (zh) | 2013-12-31 | 2013-12-31 | 文本匹配过滤方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104750673A true CN104750673A (zh) | 2015-07-01 |
CN104750673B CN104750673B (zh) | 2018-02-23 |
Family
ID=53590385
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310753277.7A Active CN104750673B (zh) | 2013-12-31 | 2013-12-31 | 文本匹配过滤方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104750673B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105550298A (zh) * | 2015-12-11 | 2016-05-04 | 北京搜狗科技发展有限公司 | 一种关键词模糊匹配的方法及装置 |
CN107451125A (zh) * | 2017-08-19 | 2017-12-08 | 洪志令 | 一种针对顺序无关项组进行快速相近语义匹配的方法 |
CN108846094A (zh) * | 2018-06-15 | 2018-11-20 | 江苏中威科技软件系统有限公司 | 一种基于分词检索交互的方式 |
CN109918638A (zh) * | 2018-12-05 | 2019-06-21 | 国网浙江桐乡市供电有限公司 | 一种网络数据监测方法 |
CN111191087A (zh) * | 2019-12-31 | 2020-05-22 | 歌尔股份有限公司 | 字符匹配方法、终端设备及计算机可读存储介质 |
CN111476037A (zh) * | 2020-04-14 | 2020-07-31 | 腾讯科技(深圳)有限公司 | 文本处理方法、装置、计算机设备和存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101158948A (zh) * | 2006-10-08 | 2008-04-09 | 中国科学院软件研究所 | 文本内容过滤方法和系统 |
CN101329680A (zh) * | 2008-07-17 | 2008-12-24 | 安徽科大讯飞信息科技股份有限公司 | 句子层面的大规模快速匹配方法 |
CN101452458A (zh) * | 2007-11-30 | 2009-06-10 | 英业达股份有限公司 | 通配符查询字典字词系统及其方法 |
US7788084B2 (en) * | 2006-09-19 | 2010-08-31 | Xerox Corporation | Labeling of work of art titles in text for natural language processing |
CN103425687A (zh) * | 2012-05-21 | 2013-12-04 | 阿里巴巴集团控股有限公司 | 一种基于关键词的检索方法和系统 |
-
2013
- 2013-12-31 CN CN201310753277.7A patent/CN104750673B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7788084B2 (en) * | 2006-09-19 | 2010-08-31 | Xerox Corporation | Labeling of work of art titles in text for natural language processing |
CN101158948A (zh) * | 2006-10-08 | 2008-04-09 | 中国科学院软件研究所 | 文本内容过滤方法和系统 |
CN101452458A (zh) * | 2007-11-30 | 2009-06-10 | 英业达股份有限公司 | 通配符查询字典字词系统及其方法 |
CN101329680A (zh) * | 2008-07-17 | 2008-12-24 | 安徽科大讯飞信息科技股份有限公司 | 句子层面的大规模快速匹配方法 |
CN103425687A (zh) * | 2012-05-21 | 2013-12-04 | 阿里巴巴集团控股有限公司 | 一种基于关键词的检索方法和系统 |
Non-Patent Citations (1)
Title |
---|
温园旭: "变体短文本过滤算法研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105550298A (zh) * | 2015-12-11 | 2016-05-04 | 北京搜狗科技发展有限公司 | 一种关键词模糊匹配的方法及装置 |
WO2017097075A1 (zh) * | 2015-12-11 | 2017-06-15 | 北京搜狗科技发展有限公司 | 一种关键词模糊匹配的方法及装置 |
CN105550298B (zh) * | 2015-12-11 | 2019-12-10 | 北京搜狗科技发展有限公司 | 一种关键词模糊匹配的方法及装置 |
CN107451125A (zh) * | 2017-08-19 | 2017-12-08 | 洪志令 | 一种针对顺序无关项组进行快速相近语义匹配的方法 |
CN107451125B (zh) * | 2017-08-19 | 2021-05-18 | 洪志令 | 一种针对顺序无关项组进行快速相近语义匹配的方法 |
CN108846094A (zh) * | 2018-06-15 | 2018-11-20 | 江苏中威科技软件系统有限公司 | 一种基于分词检索交互的方式 |
CN109918638A (zh) * | 2018-12-05 | 2019-06-21 | 国网浙江桐乡市供电有限公司 | 一种网络数据监测方法 |
CN111191087A (zh) * | 2019-12-31 | 2020-05-22 | 歌尔股份有限公司 | 字符匹配方法、终端设备及计算机可读存储介质 |
CN111191087B (zh) * | 2019-12-31 | 2023-11-07 | 歌尔股份有限公司 | 字符匹配方法、终端设备及计算机可读存储介质 |
CN111476037A (zh) * | 2020-04-14 | 2020-07-31 | 腾讯科技(深圳)有限公司 | 文本处理方法、装置、计算机设备和存储介质 |
CN111476037B (zh) * | 2020-04-14 | 2023-03-31 | 腾讯科技(深圳)有限公司 | 文本处理方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN104750673B (zh) | 2018-02-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Kim et al. | Code prediction by feeding trees to transformers | |
CN104750673A (zh) | 文本匹配过滤方法及装置 | |
CN102831121A (zh) | 一种网页信息抽取的方法和系统 | |
CN102915314A (zh) | 一种纠错对自动生成方法及系统 | |
CN102402561B (zh) | 一种搜索方法和装置 | |
CN102708100A (zh) | 挖掘相关实体词的关系关键词的方法和装置及其应用 | |
CN103678277A (zh) | 基于文档分段的构建主题-词汇分布的方法及系统 | |
CN107748745B (zh) | 一种企业名称关键字提取方法 | |
CN104462085A (zh) | 检索关键词纠错方法及装置 | |
CN104899264A (zh) | 一种多模式正则表达式匹配方法及装置 | |
Dalvi et al. | Deduplicating a places database | |
CN104268216A (zh) | 一种基于互联网信息的数据清洗系统 | |
CN103714086A (zh) | 用于生成非关系数据库的模式的方法和设备 | |
CN110969517B (zh) | 一种招投标生命周期关联方法、系统、存储介质及计算机设备 | |
CN109165382A (zh) | 一种加权词向量和潜在语义分析结合的相似缺陷报告推荐方法 | |
CN104137095A (zh) | 用于演进分析的系统 | |
CN103123624A (zh) | 确定中心词的方法及装置、搜索方法及装置 | |
CN104298785A (zh) | 一种众搜资源搜索方法 | |
CN110162637B (zh) | 信息图谱构建方法、装置及设备 | |
CN103955514A (zh) | 一种基于Lucene倒排索引的图像特征索引方法 | |
CN104112011A (zh) | 一种海量数据提取的方法及装置 | |
CN103886092A (zh) | 一种提供终端故障问题解决方案的方法及装置 | |
CN106095912A (zh) | 用于生成扩展查询词的方法和装置 | |
CN104484057A (zh) | 联想结果的提供方法和装置 | |
CN102750282A (zh) | 同义词模板的挖掘方法和装置以及同义词挖掘方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |