CN103646101A - 查找内容项中是否存在标志的方法及装置 - Google Patents
查找内容项中是否存在标志的方法及装置 Download PDFInfo
- Publication number
- CN103646101A CN103646101A CN201310714534.6A CN201310714534A CN103646101A CN 103646101 A CN103646101 A CN 103646101A CN 201310714534 A CN201310714534 A CN 201310714534A CN 103646101 A CN103646101 A CN 103646101A
- Authority
- CN
- China
- Prior art keywords
- character
- mark
- character string
- content item
- tree
- 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
- 238000000034 method Methods 0.000 title claims abstract description 30
- 244000175571 Warszewiczia coccinea Species 0.000 claims description 21
- 239000003550 marker Substances 0.000 claims description 10
- 238000004364 calculation method Methods 0.000 abstract description 2
- 238000004422 calculation algorithm Methods 0.000 description 5
- 244000269722 Thea sinensis Species 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
Images
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
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种查找内容项中是否存在标志的方法及装置,包括:将内容项文本拆分为一个或多个字符串;其中,每一个字符串包含至少一个字符;针对所述一个或多个字符串中的每一个字符串,查找在预先建立的标志树上是否存在与该字符串相匹配的字符路径;如果所述标志树中存在至少一个与所述一个或多个字符串中任意一个字符串相匹配的字符路径,则确定所述内容项文本中存在标志。采用本发明的技术方案查找内容项文本中是否存在不允许使用的标志,能够提高查找的效率,减少计算工作量。
Description
技术领域
本发明涉及互联网技术领域,具体涉及一种查找内容项中是否存在标志的方法及装置。
背景技术
在互联网上的内容项展示系统中,一般一个内容项发布者所展示的内容项都是具有其独有的标志的,并且在一般情况下只有该内容项的发布者具有该独有的标志的使用权,因此该发布者还会禁止其他的发布者使用该独有的标志,例如,禁止其他的发布者发布包含该独有的标志的内容项。内容项展示系统一般都具有针对标志侵权进行过滤的模块,会对所有内容项文本进行标志的查找,若查找到内容项中包含不属于该发布者的标志,则从展示平台撤销该内容项的展示。
可以通过从标志库中取出所有标志,然后逐个地和一个内容项文本进行字符串匹配的方式查找该内容项中是否存在不允许使用的标志,若该内容项文本中出现了标志库中的任意一个标志,则可以确定该内容项中包含不允许使用的标志,将会从展示平台中撤销该内容项的展示,若该内容项文本中未出现该标志库中的任何一个标志,则可以确定该内容项中不包含不允许使用的标志,可以在展示平台上展示该内容项。然而,标志库中标志的数量一般都很大,因此,将内容项文本与标志库中的每一个标志逐个进行字符对比的查找方法效率非常低。
为提高内容项中标志的查找效率,本发明提出了一种查找内容项中是否存在标志的方案。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种查找内容项中是否存在标志的方法和相应的装置。
依据本发明的一个方面,提供了一种查找内容项中是否存在标志的方法,包括:将内容项文本拆分为一个或多个字符串;其中,每一个字符串包含至少一个字符;针对所述一个或多个字符串中的每一个字符串,查找在预先建立的标志树上是否存在与该字符串相匹配的字符路径;如果所述标志树中存在至少一个与所述一个或多个字符串中任意一个字符串相匹配的字符路径,则确定所述内容项文本中存在标志。
其中,如果所述标志树中不存在与所述一个或多个字符串中任何一个字符串相匹配的字符路径,则确定所述内容项文本中不存在标志。
其中,所述标志树是基于标志库中的所有标志而被预先建立的;其中,所述标志库中包含一个或多个标志,所述标志树包含一个或多个节点,其中的一个或多个为首级节点,每个节点包含一个字符,每个首级节点包含的字符与所述标志库中一个或多个标志所共有的相同的一个或多个首字符相同,所述每个首级节点与其下级的一级或多级节点构成一个或多个字符路径,每个字符路径构成一个路径字符串,并且每个所述路径字符串对应所述标志库中一个标志,每个所述标志的结束字符对应的节点上带有结束标记。
其中,将内容项文本拆分为一个或多个字符串,包括:按顺序取出所述内容项文本中的所有字符,以得到所述内容项文本的一个字符串;依次去除前一次得到的字符串的首字符,以得到所述内容项文本的一个或多个字符串。
其中,针对所述一个或多个字符串中的每一个字符串,查找在预先建立的标志树上是否存在与该字符串相匹配的字符路径,包括:针对所述一个或多个字符串中的任意一个字符串,在所述标志树上查找包含的字符与所述字符串的首字符对应相同的首级节点;从所述首级节点起,顺次向下级查找包含的字符与所述字符串的其余字符对应相同的节点;如果顺次查找到的包含的字符与所述字符串中字符对应相同的任意一级节点带有结束标记,则确定在所述标志树上存在与所述字符串匹配的字符路径。
其中,如果针对所述一个或多个字符串中的任意一个字符串,在所述标志树上未查找到包含的字符与所述字符串的首字符对应相同的首级节点,则确定在所述标志树上不存在与所述字符串匹配的字符路径。
其中,如果顺次一直查找到包含的字符与所述字符串的结束字符对应相同的节点,但在包含的字符与所述字符串对应相同的每一级节点中都不带有结束标记,则确定在所述标志树上不存在与所述字符串匹配的字符路径。
根据本发明的另一方面,提供了一种查找内容项中是否存在标志的装置,包括:拆分模块,用于将内容项文本拆分为一个或多个字符串;其中,每一个字符串包含至少一个字符;查找模块,用于针对所述一个或多个字符串中的每一个字符串,查找在预先建立的标志树中是否存在与该字符串相匹配的字符路径;确定模块,用于如果所述标志树中存在至少一个与所述一个或多个字符串中任意一个字符串相匹配的字符路径,则确定所述内容项文本中存在标志。
其中,所述确定模块进一步用于如果所述标志树中不存在与所述一个或多个字符串中任何一个字符串相匹配的字符路径,则确定所述内容项文本中不存在标志。
其中,所述标志树是基于标志库中的所有标志而被预先建立的;其中,所述标志库中包含一个或多个标志,所述标志树包含一个或多个节点,其中的一个或多个为首级节点,每个节点包含一个字符,每个首级节点包含的字符与所述标志库中一个或多个标志所共有的相同的一个或多个首字符相同,所述每个首级节点与其下级的一级或多级节点构成一个或多个字符路径,每个字符路径构成一个路径字符串,并且每个所述路径字符串对应所述标志库中一个标志,每个所述标志的结束字符对应的节点上带有结束标记。
其中,所述拆分模块进一步用于:按顺序取出所述内容项文本中的所有字符,以得到所述内容项文本的一个字符串;依次去除前一次得到的字符串的首字符,以得到所述内容项文本的一个或多个字符串。
其中,所述查找模块包括:第一查找子模块,用于针对所述一个或多个字符串中的任意一个字符串,在所述标志树上查找包含的字符与所述字符串的首字符对应相同的首级节点;第二查找子模块,用于从所述首级节点起,顺次向下级查找包含的字符与所述字符串的其余字符对应相同的节点;确定子模块,用于如果顺次查找到的包含的字符与所述字符串中字符对应相同的任意一级节点带有结束标记,则确定在所述标志树上存在与所述字符串匹配的字符路径。
其中,所述确定子模块进一步用于:如果针对所述一个或多个字符串中的任意一个字符串,在所述标志树上未查找到包含的字符与所述字符串的首字符对应相同的首级节点,则确定在所述标志树上不存在与所述字符串匹配的字符路径。
其中,所述确定子模块进一步用于如果顺次一直查找到包含的字符与所述字符串的结束字符对应相同的节点,但在包含的字符与所述字符串对应相同的每一级节点中都不带有结束标记,则确定在所述标志树上不存在与所述字符串匹配的字符路径。
根据本发明的技术方案可以查找内容项文本中是否存在不允许使用的标志,并且与现有技术相比,能够提高查找的效率,减少计算工作量。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明一个实施例的查找内容项中是否存在标志的方法的流程图;
图2示出了根据本发明一个实施例的图1中的步骤S101的流程图;
图3示出了根据本发明一个实施例的标志树的一部分的结构示意图;
图4示出了根据本发明一实施例的图1中的步骤S102的流程图;以及
图5示出了根据本发明一个实施例的查找内容项中是否存在标志的装置的结构框图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
由于标志库中标志的数量巨大,因此,通过将内容项文本对照标志库中的每一个标志逐个进行匹配以查找该内容项中是否存在不允许使用的标志的方法效率非常低。现有技术中一般采用字符串匹配算法例如,克努特—莫里斯—普拉特操作(KMP算法)对内容项文本进行扫描来提高查找的效率,如果标志库中标志的总量为n,单个内容项文本的平均长度是t,标志文本的平均长度为s,则使用KMP算法进行扫描的算法复杂度是n·(t+s),即使忽略内容项文本的平均长度和标志文本的平均长度仅考虑标志的总量,内容项展示系统的标志库的标志的总量n一般都很大,因此,使用KMP算法扫描内容项文本,效率虽然有提升,但是依然需要很高的计算工作量。
下面将参考附图,详细描述本发明改进的技术方案。
如图1所示,图1是根据本发明一实施例的查找内容项中是否存在标志的方法的流程图。
在步骤S110处,将内容项文本拆分为一个或多个字符串;其中,每一个字符串包含至少一个字符。所述内容项文本可以包含一个或多个字符,所述字符可以为汉字、字母、数字、符号等中的一种或多种。
如图2所示,图2是根据本发明一实施例的图1中的步骤S110的流程图。
在步骤S210处,按顺序取出所述内容项文本中的所有字符,以得到所述内容项文本的一个字符串。即,按照字符在内容项文本中排列顺序,取出内容项文本中的所有字符作为一个字符串,例如,内容项文本顺次包含字符abcdef,则将abcdef作为一个字符串。
在步骤S220处,依次去除前一次得到的字符串的首字符,以得到所述内容项文本的一个或多个字符串。也就是说,每次将前一次得到的字符串的首字符去除,其余字符作为一个字符串。例如,内容项文本顺次包含abcdef,则按顺序取出该内容项文本的所有字符得到字符串abcdef,去除该字符串的首字符,则得到字符串bcdef,接下来,再依次去除前一次得到的字符串的首字符得到其余的字符串分别为cdef、def、ef、f,直到只剩下一个字符。其中,该内容项文本中包含几个字符,就可以拆分成几个字符串。
在步骤S120处,针对所述一个或多个字符串中的每一个字符串,查找在预先建立的标志树上是否存在与该字符串相匹配的字符路径。
其中,所述标志树是基于标志库中的所有标志而被预先建立的。如图3所示,图3是根据本发明一实施例的标志树的一部分的结构示意图。图3中只示出了该标志树的一部分,未示出全部。
其中,所述标志库中包含一个或多个标志;所述标志树可以包含一个或多个节点,其中的一个或多个为首级节点310,该标志树还包含根节点330,根节点330下为一个或多个首级节点310,该根节点330不包含任何字符。除根节点外,其余的每个节点可以包含一个字符,每个首级节点包含的字符与所述标志库中一个或多个标志所共有的相同的一个或多个首字符相同,也就是说,该标志库中每一个标志独有的首字符或一个或多个标志共有的相同首字符对应该标志树上的一个首级节点310。即,该标志树上的每个首级节点包含的字符各不相同,在该标志库中,首字符相同的多个标志的首字符在该标志树上共同对应一个首级节点310,每个具有独有的首字符(即,首字符与其他标志都不同)的标志的首字符对应该标志树上一个首级节点310。
例如,标志库中的标志“tea”、“to”、“te”和“tete”有相同的首字符“t”,则标志“tea”、“to”、“te”和“tete”的首字符在基于该标志库建立的该标志树上共同对应包含字符“t”的首级节点310。在该标志树上每个首级节点包含的字符各不相同,每个首级节点310的下一级节点中,每个节点包含的字符各不相同,若每个节点还有一个或多个下一级节点,则该一个或多个下一级节点包含的字符也各不相同,即,每一个节点(包括首级节点)下一级的各节点包含的字符都各不相同。例如,图3所示的标志树上包含的字符为“t”的首级节点的下一级的各节点包含的字符都不相同。
所述每个首级节点与其下级的一级或多级节点构成一个或多个字符路径,每个字符路径构成一个路径字符串,并且每个所述路径字符串对应所述标志库中一个标志,每个所述标志的结束字符对应的节点320上带有结束标记,如图3所示,节点中的□标记,即为结束标记。也就是说,从首级节点310开始,到该首级节点310下的带有结束标记的节点320构成一个字符路径,该字符路径构成一个路径字符串对应该标志库中的一个字符串。其中,每个首级节点310下至少有一个带有结束标记的节点320。也就是说,每个首级节点310下可能有一个或多个节点带有结束标记,从该首级节点开始,到该首级节点310下的一个或多个带有结束标记的节点320可以构成一个或多个字符路径,对应标志库中的一个或多个字符串。例如,在图3所示的标志树上包含的字符为“t”的首级节点的下级的节点中,包含的字符分别为“o”、“e”、“a”、“e”的节点带有结束标记,可以构成“to”、“tea”、“te”、“tete”四个路径字符串,即,对应该标志库中的“to”、“tea”、“te”、“tete”四个标志。
根据本发明的实施例,建立该标志树时,可以先创建一个空的树,并将该标志库中每一个标志文本的字符添加到该空的树中。应该理解,本发明不限于此,而是还可以采用任何其他合适的方法来基于所述标志库中的标志预先创建标志树。
参考图3已经描述了如何预先建立标志树,下面我们参考图4详细地描述步骤S120中如何针对所述一个或多个字符串中的每一个字符串,查找在预先建立的标志树上是否存在与该字符串相匹配的字符路径。如图4所示,图4是根据本发明一实施例的图1中的步骤S120的流程图。
在步骤S410处,针对所述一个或多个字符串中的任意一个字符串,在所述标志树上查找包含的字符与所述字符串的首字符对应相同的首级节点。其中,与所述字符串的首字符对应相同的首级节点是指包含的字符与该字符串首字符相同的首级节点,即,在该标志树上的首级节点中查找包含的字符与该字符串的首字符相同的首级节点。例如,一个字符串为“inniva”,首字符为“i”,则在图3所示的标志树上,可以对应的在该标志树的首级节点中查找包含的字符为“i”的首级节点,当找到包含的字符与该字符串的首字符对应相同的首级节点时,再查找其余字符对应相同的节点,即,进行步骤S420。
其中,如果针对所述一个或多个字符串中的任意一个字符串,在所述标志树上未查找到包含的字符与所述字符串的首字符对应相同的首级节点,则确定在所述标志树上不存在与所述字符串匹配的字符路径。即,如果在该标志树的首级节点中查找不到包含的字符与该字符串的首字符相同的首级节点,则可以直接确定在该标志树上不存在与该字符串匹配的字符路径。例如,一个字符串“dfafs”,首字符为“d”,则在图3所示的标志树中,查找不到包含的字符为“d”的首级节点,则可以确定该标志树上不存在与该字符串匹配的字符路径。
在步骤S420处,从所述首级节点起,顺次向下级查找包含的字符与所述字符串的其余字符对应相同的节点。其中,所述对应相同的节点是指与该字符串中的字符顺次对应并且包含的字符与该字符相同的节点。例如,首级节点对应该字符串的首字符,如果该首级节点包含的字符与该字符串的首字符相同,则该首级节点为与该字符串的首字符对应相同的节点,而首级节点的下一级的节点对应该字符串首字符的下一个字符,如果该下一级的节点中存在包含的字符与该首字符的下一个字符相同的节点,则该节点为与该字符对应相同的节点,以此类推。即,在该标志树上查找到包含的字符与该字符串的首字符相同的首级节点后,从该首级节点起继续向该首级节点的下级查找该字符串的下一个字符对应的下一级的节点中包含的字符与该字符相同的节点,如果找到则再继续向下级查找,例如,针对内容项文本的一个字符串“inniva”,在图3所示的标志树的首级节点中对应的查找到了包含字符“i”的首级节点,则在该首级节点下一级的节点中查找包含的字符与该字符串“inniva”的下一个字符“n”相同的节点,如果在该下一级的节点中查找到了包含字符“n”的节点,则再在包含字符“n”的节点的下一级节点中查找包含下一个字符“n”的节点,以此类推。
在步骤S430处,如果顺次查找到的包含的字符与所述字符串中字符对应相同的任意一级节点带有结束标记,则确定在所述标志树上存在与所述字符串匹配的字符路径。即,如果查找到的包含的字符与该字符串中字符对应相同的节点中,有任意一个或多个节点带有结束标记,就可以确定该标志树上存在有该字符串匹配的字符路径。
例如,针对内容项文本的一个字符串“tetefg”在图3所示的标志树中从该字符串的首字符对应的首级节点“t”开始顺次向下级查找,查找到包含的字符与该字符串中的字符对应相同的节点“e”、“t”、“e”,其中该首级节点下的第二级节点中与该字符串的第二个字符对应相同的包含的字符为“e”的节点带有结束标记,则可以确定在该标志树上存在与该字符串匹配的字符路径,并且,由于该包含的字符为“e”的节点带有结束标记,则说明该字符串中包含“t”、“e”构成的标志“te”,而在该首级节点下的第四级节点中,与该字符串的第四个字符对应相同的包含的字符为“e”的节点也带有结束标记,并且,由于该包含的字符为“e”的节点带有结束标记,则说明该字符串还包含“t”、“e”、“t”、“e”构成的标志“tete”。只要顺次查找到的包含的字符与该字符串中字符对应相同的任意一级节点带有结束标记就可以确定在该标志树上存在与该字符串匹配的字符路径。
其中,如果顺次一直查找到包含的字符与所述字符串的结束字符对应相同的节点,但在包含的字符与所述字符串对应相同的每一级节点中都不带有结束标记,则确定在所述标志树上不存在与所述字符串匹配的字符路径。也就是说,如果在该标志树上一直查找到了包含的字符与该字符串的结束字符对应相同的节点,即,在该标志树上查找到了与该字符串所有的字符对应相同的节点,直到该字符结束,但是在查找到的与该字符串的字符对应相同的节点中都不存在带有结束标记的节点,则可以确定在该标志树上不存在与该字符串匹配的字符路径。例如,针对内容项文本的一个字符串“inn”在图3所示的标志树中从该字符串的首字符对应相同的首级节点“i”开始顺次向下级查找,并查找到了该字符串的其余字符对应相同的节点分别为包含“n”、“n”的节点,但是这三个节点中不存在带有结束标记的节点,则可以确定在该标志树上不存在与该字符串“inn”匹配的字符路径。
上面参考图4已经详细描述了在步骤S120中如何针对所述一个或多个字符串中的每一个字符串,查找在预先建立的标志树上是否存在与该字符串相匹配的字符路径。
接下来,在步骤S130处,如果所述标志树中存在至少一个与所述一个或多个字符串中任意一个字符串相匹配的字符路径,则确定所述内容项文本中存在标志。也就是说,如果该内容项文本的一个或多个字符串中,有任意一个字符串在该标志树中存在相匹配的字符路径,则可以确定该内容项文本中存在标志。
如果所述标志树中不存在与所述一个或多个字符串中任何一个字符串相匹配的字符路径,则确定所述内容项文本中不存在标志。即,如果在该标志树上查找不到与该内容项的任意一个字符串相匹配的字符路径,则可以确定该内容项文本中不存在标志。
本发明还提供了一种查找内容项中是否存在标志的装置。如图5所示,图5是根据本发明一实施例的查找内容项中是否存在标志的装置500的结构框图。
装置500可以包括:拆分模块510、查找模块520以及确定模块530。
其中,拆分模块510可以用于将内容项文本拆分为一个或多个字符串;其中,每一个字符串包含至少一个字符。
查找模块520可以用于针对所述一个或多个字符串中的每一个字符串,查找在预先建立的标志树中是否存在与该字符串相匹配的字符路径。
确定模块530可以用于如果所述标志树中存在至少一个与所述一个或多个字符串中任意一个字符串相匹配的字符路径,则确定所述内容项文本中存在标志。
根据本申请的实施例,确定模块530可以进一步用于如果所述标志树中不存在与所述一个或多个字符串中任何一个字符串相匹配的字符路径,则确定所述内容项文本中不存在标志。
根据本申请的实施例,所述标志树是基于标志库中的所有标志而被预先建立的。其中,所述标志库中包含一个或多个标志;所述标志树包含一个或多个节点,其中的一个或多个为首级节点,每个节点包含一个字符,每个首级节点包含的字符与所述标志库中一个或多个标志所共有的相同的一个或多个首字符相同,所述每个首级节点与其下级的一级或多级节点构成一个或多个字符路径,每个字符路径构成一个路径字符串,并且每个所述路径字符串对应所述标志库中一个标志,每个所述标志的结束字符对应的节点上带有结束标记。
根据本申请的一个实施例,所述拆分模块510可以进一步用于:按顺序取出所述内容项文本中的所有字符,以得到所述内容项文本的一个字符串;依次去除前一次得到的字符串的首字符,以得到所述内容项文本的一个或多个字符串。
根据本申请的实施例,所述查找模块520可以包括:第一查找子模块、第二查找子模块以及确定子模块。
其中,第一查找子模块可以用于针对所述一个或多个字符串中的任意一个字符串,在所述标志树上查找包含的字符与所述字符串的首字符对应相同的首级节点。
第二查找子模块可以用于从所述首级节点起,顺次向下级查找包含的字符与所述字符串的其余字符对应相同的节点。
确定子模块可以用于如果顺次查找到的包含的字符与所述字符串中字符对应相同的任意一级节点带有结束标记,则确定在所述标志树上存在与所述字符串匹配的字符路径。
根据本申请的一个实施例,确定子模块可以进一步用于:如果针对所述一个或多个字符串中的任意一个字符串,在所述标志树上未查找到包含的字符与所述字符串的首字符对应相同的首级节点,则确定在所述标志树上不存在与所述字符串匹配的字符路径。
根据本申请的一个实施例,确定子模块可以进一步用于如果顺次一直查找到包含的字符与所述字符串的结束字符对应相同的节点,但在包含的字符与所述字符串对应相同的每一级节点中都不带有结束标记,则确定在所述标志树上不存在与所述字符串匹配的字符路径。
以上描述的查找内容项中是否存在标志的装置与之前描述的查找内容项中是否存在标志的方法的处理是对应的,因此,关于更详细的技术细节,可以参见之前描述的方法。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的查找内容项中是否存在标志的装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
本发明包括A8、一种查找内容项中是否存在标志的装置,其特征在于,包括:
拆分模块,用于将内容项文本拆分为一个或多个字符串;其中,每一个字符串包含至少一个字符;
查找模块,用于针对所述一个或多个字符串中的每一个字符串,查找在预先建立的标志树中是否存在与该字符串相匹配的字符路径;
确定模块,用于如果所述标志树中存在至少一个与所述一个或多个字符串中任意一个字符串相匹配的字符路径,则确定所述内容项文本中存在标志。
A9、如权利要求A8所述的装置,其特征在于,所述确定模块进一步用于如果所述标志树中不存在与所述一个或多个字符串中任何一个字符串相匹配的字符路径,则确定所述内容项文本中不存在标志。
A10、如权利要求A8所述的装置,其特征在于,所述标志树是基于标志库中的所有标志而被预先建立的;
其中,所述标志库中包含一个或多个标志,
所述标志树包含一个或多个节点,其中的一个或多个为首级节点,每个节点包含一个字符,每个首级节点包含的字符与所述标志库中一个或多个标志所共有的相同的一个或多个首字符相同,所述每个首级节点与其下级的一级或多级节点构成一个或多个字符路径,每个字符路径构成一个路径字符串,并且每个所述路径字符串对应所述标志库中一个标志,每个所述标志的结束字符对应的节点上带有结束标记。
A11、如权利要求A8所述的装置,其特征在于,所述拆分模块进一步用于:
按顺序取出所述内容项文本中的所有字符,以得到所述内容项文本的一个字符串;
依次去除前一次得到的字符串的首字符,以得到所述内容项文本的一个或多个字符串。
A12、如权利要求A10所述的装置,其特征在于,所述查找模块包括:
第一查找子模块,用于针对所述一个或多个字符串中的任意一个字符串,在所述标志树上查找包含的字符与所述字符串的首字符对应相同的首级节点;
第二查找子模块,用于从所述首级节点起,顺次向下级查找包含的字符与所述字符串的其余字符对应相同的节点;
确定子模块,用于如果顺次查找到的包含的字符与所述字符串中字符对应相同的任意一级节点带有结束标记,则确定在所述标志树上存在与所述字符串匹配的字符路径。
A13、如权利要求A12所述的装置,其特征在于,所述确定子模块进一步用于:
如果针对所述一个或多个字符串中的任意一个字符串,在所述标志树上未查找到包含的字符与所述字符串的首字符对应相同的首级节点,则确定在所述标志树上不存在与所述字符串匹配的字符路径。
A14、如权利要求A12所述的装置,其特征在于,所述确定子模块进一步用于如果顺次一直查找到包含的字符与所述字符串的结束字符对应相同的节点,但在包含的字符与所述字符串对应相同的每一级节点中都不带有结束标记,则确定在所述标志树上不存在与所述字符串匹配的字符路径。
Claims (10)
1.一种查找内容项中是否存在标志的方法,其特征在于,包括:
将内容项文本拆分为一个或多个字符串;其中,每一个字符串包含至少一个字符;
针对所述一个或多个字符串中的每一个字符串,查找在预先建立的标志树上是否存在与该字符串相匹配的字符路径;
如果所述标志树中存在至少一个与所述一个或多个字符串中任意一个字符串相匹配的字符路径,则确定所述内容项文本中存在标志。
2.如权利要求1所述的方法,其特征在于,如果所述标志树中不存在与所述一个或多个字符串中任何一个字符串相匹配的字符路径,则确定所述内容项文本中不存在标志。
3.如权利要求1所述的方法,其特征在于,所述标志树是基于标志库中的所有标志而被预先建立的;其中,
所述标志库中包含一个或多个标志,
所述标志树包含一个或多个节点,其中的一个或多个为首级节点,每个节点包含一个字符,每个首级节点包含的字符与所述标志库中一个或多个标志所共有的相同的一个或多个首字符相同,所述每个首级节点与其下级的一级或多级节点构成一个或多个字符路径,每个字符路径构成一个路径字符串,并且每个所述路径字符串对应所述标志库中一个标志,每个所述标志的结束字符对应的节点上带有结束标记。
4.如权利要求1所述的方法,其特征在于,将内容项文本拆分为一个或多个字符串,包括:
按顺序取出所述内容项文本中的所有字符,以得到所述内容项文本的一个字符串;
依次去除前一次得到的字符串的首字符,以得到所述内容项文本的一个或多个字符串。
5.如权利要求3所述的方法,其特征在于,针对所述一个或多个字符串中的每一个字符串,查找在预先建立的标志树上是否存在与该字符串相匹配的字符路径,包括:
针对所述一个或多个字符串中的任意一个字符串,在所述标志树上查找包含的字符与所述字符串的首字符对应相同的首级节点;
从所述首级节点起,顺次向下级查找包含的字符与所述字符串的其余字符对应相同的节点;
如果顺次查找到的包含的字符与所述字符串中字符对应相同的任意一级节点带有结束标记,则确定在所述标志树上存在与所述字符串匹配的字符路径。
6.如权利要求5所述的方法,其特征在于,如果针对所述一个或多个字符串中的任意一个字符串,在所述标志树上未查找到包含的字符与所述字符串的首字符对应相同的首级节点,则确定在所述标志树上不存在与所述字符串匹配的字符路径。
7.如权利要求5所述的方法,其特征在于,如果顺次一直查找到包含的字符与所述字符串的结束字符对应相同的节点,但在包含的字符与所述字符串对应相同的每一级节点中都不带有结束标记,则确定在所述标志树上不存在与所述字符串匹配的字符路径。
8.一种查找内容项中是否存在标志的装置,其特征在于,包括:
拆分模块,用于将内容项文本拆分为一个或多个字符串;其中,每一个字符串包含至少一个字符;
查找模块,用于针对所述一个或多个字符串中的每一个字符串,查找在预先建立的标志树中是否存在与该字符串相匹配的字符路径;
确定模块,用于如果所述标志树中存在至少一个与所述一个或多个字符串中任意一个字符串相匹配的字符路径,则确定所述内容项文本中存在标志。
9.如权利要求8所述的装置,其特征在于,所述确定模块进一步用于如果所述标志树中不存在与所述一个或多个字符串中任何一个字符串相匹配的字符路径,则确定所述内容项文本中不存在标志。
10.如权利要求8所述的装置,其特征在于,所述标志树是基于标志库中的所有标志而被预先建立的;
其中,所述标志库中包含一个或多个标志,
所述标志树包含一个或多个节点,其中的一个或多个为首级节点,每个节点包含一个字符,每个首级节点包含的字符与所述标志库中一个或多个标志所共有的相同的一个或多个首字符相同,所述每个首级节点与其下级的一级或多级节点构成一个或多个字符路径,每个字符路径构成一个路径字符串,并且每个所述路径字符串对应所述标志库中一个标志,每个所述标志的结束字符对应的节点上带有结束标记。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310714534.6A CN103646101B (zh) | 2013-12-20 | 2013-12-20 | 查找内容项中是否存在标志的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310714534.6A CN103646101B (zh) | 2013-12-20 | 2013-12-20 | 查找内容项中是否存在标志的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103646101A true CN103646101A (zh) | 2014-03-19 |
CN103646101B CN103646101B (zh) | 2017-06-27 |
Family
ID=50251315
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310714534.6A Expired - Fee Related CN103646101B (zh) | 2013-12-20 | 2013-12-20 | 查找内容项中是否存在标志的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103646101B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106874333A (zh) * | 2016-08-11 | 2017-06-20 | 阿里巴巴集团控股有限公司 | 字符串存储、检索方法及装置 |
CN109522459A (zh) * | 2018-12-07 | 2019-03-26 | 天津字节跳动科技有限公司 | 指定任务联系人的方法、装置、计算机设备和存储介质 |
CN110245330A (zh) * | 2018-03-09 | 2019-09-17 | 腾讯科技(深圳)有限公司 | 字符序列匹配方法、实现匹配的预处理方法和装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101572647A (zh) * | 2008-04-30 | 2009-11-04 | 华为技术有限公司 | 一种数据查找的方法及装置 |
US20130054522A1 (en) * | 2011-08-30 | 2013-02-28 | International Business Machines Corporation | Data synchronization using string matching |
CN103377259A (zh) * | 2012-04-28 | 2013-10-30 | 北京新媒传信科技有限公司 | 一种多模式字符串匹配方法和装置 |
-
2013
- 2013-12-20 CN CN201310714534.6A patent/CN103646101B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101572647A (zh) * | 2008-04-30 | 2009-11-04 | 华为技术有限公司 | 一种数据查找的方法及装置 |
US20130054522A1 (en) * | 2011-08-30 | 2013-02-28 | International Business Machines Corporation | Data synchronization using string matching |
CN103377259A (zh) * | 2012-04-28 | 2013-10-30 | 北京新媒传信科技有限公司 | 一种多模式字符串匹配方法和装置 |
Non-Patent Citations (2)
Title |
---|
HACKBUTEER1: "Trie树详解及其应用", 《HTTP://BLOG.CSDN.NET/HACKBUTEER1/ARTICLE/DETAILS/7964147》 * |
尹京花: "改进的Trie树和AC算法在Android平台上个性化推荐引擎的设计与实现", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106874333A (zh) * | 2016-08-11 | 2017-06-20 | 阿里巴巴集团控股有限公司 | 字符串存储、检索方法及装置 |
CN110245330A (zh) * | 2018-03-09 | 2019-09-17 | 腾讯科技(深圳)有限公司 | 字符序列匹配方法、实现匹配的预处理方法和装置 |
CN109522459A (zh) * | 2018-12-07 | 2019-03-26 | 天津字节跳动科技有限公司 | 指定任务联系人的方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN103646101B (zh) | 2017-06-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6494061B2 (ja) | 広告情報プッシュ方法、装置、システム、サーバ及びコンピュータ読取り可能な媒体 | |
US8639036B1 (en) | Product image information extraction | |
JP5605571B2 (ja) | 部分グラフ検出装置、部分グラフ検出方法、プログラム、データのデータ構造、及び情報記憶媒体 | |
US8046372B1 (en) | Duplicate entry detection system and method | |
US20160041951A1 (en) | Corpus generation device, corpus generation method and corpus generation program | |
CN107025239B (zh) | 敏感词过滤的方法和装置 | |
JP6912488B2 (ja) | 文字列距離計算方法及び装置 | |
CN112328732A (zh) | 敏感词检测、敏感词树构建方法及装置 | |
CN104504135B (zh) | 推广账户结构的生成方法和装置 | |
CN103399872B (zh) | 对网页抓取进行优化的方法和装置 | |
CN103106199A (zh) | 文本检索方法和装置 | |
CN104216992A (zh) | 一种信息处理方法及装置 | |
CN103646101B (zh) | 查找内容项中是否存在标志的方法及装置 | |
WO2018053863A1 (en) | Identifying video pages | |
CN107577943B (zh) | 基于机器学习的样本预测方法、装置及服务器 | |
CN106815179A (zh) | 一种文本相似度确定方法及装置 | |
CN105187439A (zh) | 钓鱼网站检测方法及装置 | |
CN110008395B (zh) | 评论内容的呈现方法、装置、存储介质及终端 | |
CN105183749B (zh) | 一种爬取推广内容并供搜索使用的方法和装置 | |
US20150019382A1 (en) | Corpus creation device, corpus creation method and corpus creation program | |
CN106445626B (zh) | 数据分析方法及装置 | |
CN104462360B (zh) | 一种为文本集合生成语义标识的方法和装置 | |
CN108280198B (zh) | 榜单生成方法及装置 | |
CN113656549A (zh) | 电子书的内容搜索方法、电子设备及计算机存储介质 | |
CN108463816A (zh) | 通过使用自动变体检测来防止禁止网络内容的分发 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170627 Termination date: 20211220 |
|
CF01 | Termination of patent right due to non-payment of annual fee |