具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本发明实施例提供了一种关键词过滤装置,该装置可以通过计算机设备实现其功能。
图1是根据本发明实施例的关键词过滤装置的示意图。如图1所示,该关键词过滤装置包括获取单元10、过滤单元30、选取单元50和输出单元70。
获取单元10用于由互联网查询结果中获取多个关键词。
互联网查询结果可以是所搜引擎中记录的查询结果,该查询结果包括大量的关键词,从互联网查询结果中获取多个关键词,以便于从对这多个关键词进行过滤,得到满足要求的关键词。其中,多个关键词可以是记录的所有的关键词,也可以是记录的一部分关键词,关键词的数量须多于最终满足要求的关键词的数量。例如,为了获取被搜索次数排名前10的关键词,首先获取大量的关键词,在从这些大量的关键词中进行过滤和筛选,最终得到满足上述要求的关键词。
过滤单元30用于按照预设匹配规则对多个关键词进行过滤,得到第一数量的关键词。
预设匹配规则可以是用于过滤非法关键词或者敏感关键词或者恶意关键词的规则,用于对获取到的多个关键词进行过滤。例如,当获取到的多个关键词中包含有对人有攻击性的词语、脏话词语等,这些均可以按照预设匹配规则进行过滤。当然,预设匹配规则也可以是用于过滤掉一些不需要的关键词,例如,可以在预设匹配规则中设置规则,用于过滤掉所有包含有“假”字的关键词,如果匹配到多个关键词中包含有“假”的关键词,则可以是直接将该关键词舍弃。预设匹配规则在对关键词进行匹配时,可以采用例如左包含。右包含、等于、包含等规则对关键词进行匹配。在获取到多个关键词之后,按照预设匹配规则对获取的多个关键词进行过滤,得到第一数量的关键词,其中,由于是对多个关键词词进行过滤得到的第一数量的关键词,那么,该第一数量小于或者等于获取的多个关键词的数量。
具体地,可以按照预设匹配规则对多个关键词进行匹配,如果匹配到关键词非法关键词,则将非法关键词置为默认值,该默认值可以任意设置,如“-”。对与合法关键词,可以派生成合法关键词列,包含所有的合法关键词。
选取单元50用于从第一数量的关键词中选取第二数量的关键词。
在对多个关键词进行过滤得到第一数量的关键词后,从该第一数量的关键词中选取第二数量的关键词。第二数量可以根据需要进行设定。由于第二数量的关键词是从第一数量的关键词中选取的,因此,第二数量小于等于第一数量。其中,第二数量的关键词为最终需要返回的关键词。在从第一数量的关键词中选取第二数量的关键词之前,还可以判断第一数量是否大于等于第二数量,如果是,则直接从第一数量的关键词中选取第二数量的关键词。具体地,从第一数量的关键词中选取第二数量的关键词可以是按照被搜索次数的多少从第一数量的关键词中选取关键词,如被搜索次数排名前10的关键词等。
输出单元70用于输出第二数量的关键词。
在得到第二数量的关键词之后,输出该第二数量的关键词,作为最终结果返回。
本发明实施例中,先对多个关键词进行一次批量预处理,按照预设匹配规则对多个关键词进行过滤,得到第一数量的关键词,该第一数量的关键词均为合法的关键词。然后,从第一数量的关键词中直接选取第二数量的关键词,只需要对查询和过滤就可以得到最终的查询结果,获取到符合要求的关键词。例如,当需要得到被搜索次数排名前10的关键词时,可以先按照预设匹配规则对大量的关键词如1000个关键词进行过滤,得到合法关键词200个,再从该200个关键词中选取被搜索次数排名前10的关键词即可。在该过程中,由于一些非法关键词被搜索的次数的排名会比较靠前,例如,在1000个关键词中排名前200的均为非法关键词,在现有技术中,则会先选取该前200个关键词,则进行过滤,导致最终得到的关键词为0个,无法返回预定数量的关键词。
根据本发明实施例,按照预设匹配规则对多个关键词进行过滤,得到第一数量的关键词,从第一数量的关键词中选取第二数量的关键词,输出第二数量的关键词,解决由于过滤后的关键词的数量小于需要选取的关键词的数量导致无法准确的返回相应数量的关键词的问题,达到了准确返回相应数量的关键词的效果。
图2是根据本发明实施例优选的关键词过滤装置的示意图。该实施例的关键词过滤装置可以作为上述实施例的关键词过滤装置的一种优选实施方式。如图2所示,该关键词过滤装置包括获取单元10、过滤单元30、选取单元50和输出单元70,其中,选取单元50包括获取模块501和503。
获取模块501用于获取第一数量的关键词中每一个关键词被搜索的次数。
选取模块503用于基于被搜索的次数从第一数量的关键词选取第二数量的关键词。
在得到第一数量的关键词之后,获取该关键词中每一个关键词被搜索的次数,以便于按照该搜索次数选取关键词。例如,第一数量的关键词包括:关键词A、关键词B、关键词C和关键词D,其中,关键词A被搜索的次数为5000,关键词B被搜索的次数为8000,关键词C被搜索的次数为6500,关键词D被搜索的次数为7300。如果按照被搜索的次数由多到少对关键词进行选取,则优先选取关键词B,其次选取关键词D。当然,也可以按照被搜索的次数由少到多进行选取。
根据本发明实施例,通过按照关键词被搜索的次数选取第二数量的关键词,提高了关键词选取的效率。
优选地,关键词过滤装置还包括:创建单元,用于在按照预设匹配规则对多个关键词进行过滤之前,创建关键词过滤表,关键词过滤表中包括预设匹配规则。其中,关键词过滤表中可以是包括多个预设匹配规则,该关键词过滤表里面指定匹配规则(如左包含,右包含,包含,等于等),以及相应的匹配值。过滤单元30包括:第一匹配模块,用于将多个关键词依次与关键词过滤表进行匹配;以及第一生成模块,用于根据与关键词过滤表不匹配的关键词生成合法关键词列,将合法关键词列中的关键词作为第一数量的关键词,其中,与关键词过滤表匹配的关键词置为预设的默认值。
由与关键词过滤表不匹配的关键词即合法关键词,派生一列KeywordsLegal,即合法关键词列,若关键词为非法关键词,应该置为默认值,如“-”。
根据本发明实施例,将多个关键词依次与关键词过滤表进行匹配,并对匹配结果进行相应处理,将合法关键词生成合法关键词列,非法关键词则置为默认值。在从第一数量的关键词中选取第二数量的关键词时,由于非法关键词均置为默认值,则可以直接从合法关键词列中选取,进一步提高了关键词的查询效率。
优选地,过滤单元30还包括:第二匹配模块,用于当在多个关键词中插入新增关键词时,通过trigger触发器将新增关键词与关键词过滤表进行匹配,得到匹配结果;以及第二生成模块,用于根据匹配结果重新生成合法关键词列。
新增关键词可以是一个也可以是多个。当在多个关键词中插入新增关键词时,可以是在获取到多个关键词之后,在多个关键词中插入新增关键词,例如,当获取到多个关键词x、y、z之后,在一段时间内,关键词g被搜索的次数急速上升,此时可以将该关键词g作为新增关键词插入到获取的多个关键词中。在对关键词进行查询时,可以通过trigger触发器将该关键词g与关键词过滤表进行匹配,从而确定该新增关键词是否合法,如果合法则重新生成合法关键词列。具体地,每个关键词插入时,会通过SqlServer的Trigger触发器为每一条新增的关键词应用关键词过滤表进行过滤,并设置KeywordsLegal列。
优选地,过滤单元30还包括:第三匹配模块,用于当多个关键词中关键词发生更改时,通过trigger触发器将更改的关键词与关键词过滤表进行匹配,得到匹配结果;以及第三生成模块,用于根据匹配结果重新生成合法关键词列。
发生更改的关键词可以是一个也可以是多个。可以是在获取到多个关键词之后,该多个关键词发生更改,例如,当获取到多个关键词x、y、z之后,关键词x被更改为关键词g,此时需要对该关键词g与关键词过滤表进行匹配。如果匹配到更改的关键词为合法关键词,则重新生成合法关键词列。具体地,当多个关键词中的关键词进行更改操作时,通过Trigger触发器,会执行下面的操作,更改的操作集里,会分解为删除的和插入的关键词配置集合,可以仅对插入的操作集进行处理,为每个插入的关键词,根据其规则进行批量匹配,若匹配成功,则将其过滤,即合法关键词置为默认值“-”,若匹配不成功,则保留其原先的关键词。
综上,本发明实施例中,对新插入的关键词做一次性的批量处理,将非法关键词以默认值进行替代,当关键词后续发生更改或删除时,同样仅会对更改的那些关键词再进行一次批量的处理,从而保证了合法关键词列在任何时候都是合法的,并且维护成本仅会在新插入,或是发生更改时,对改变的那些关键词进行一下批量的重新匹配及设置,从而达到高效预处理的目的。预处理时,仅会对新插入的关键词和发生更改的关键词做一下批量的匹配,并重新设置合法关键词的派生列,保证最小化处理成本。
本发明实施例还提供了一种关键词过滤方法。该方法可以运行在计算机设备上。需要说明的是,本发明实施例的关键词过滤方法可以通过本发明实施例所提供的关键词过滤装置来执行,本发明实施例的关键词过滤装置也可以用于执行本发明实施例所提供的关键词过滤方法。
图3是根据本发明实施例的关键词过滤方法的流程图。如图3所示,该关键词过滤方法包括步骤如下:
步骤S302,由互联网查询结果中获取多个关键词。
互联网查询结果可以是所搜引擎中记录的查询结果,该查询结果包括大量的关键词,从互联网查询结果中获取多个关键词,以便于从对这多个关键词进行过滤,得到满足要求的关键词。其中,多个关键词可以是记录的所有的关键词,也可以是记录的一部分关键词,关键词的数量须多于最终满足要求的关键词的数量。例如,为了获取被搜索次数排名前10的关键词,首先获取大量的关键词,在从这些大量的关键词中进行过滤和筛选,最终得到满足上述要求的关键词。
步骤S304,按照预设匹配规则对多个关键词进行过滤,得到第一数量的关键词。
预设匹配规则可以是用于过滤非法关键词或者敏感关键词或者恶意关键词的规则,用于对获取到的多个关键词进行过滤。例如,当获取到的多个关键词中包含有对人有攻击性的词语、脏话词语等,这些均可以按照预设匹配规则进行过滤。当然,预设匹配规则也可以是用于过滤掉一些不需要的关键词,例如,可以在预设匹配规则中设置规则,用于过滤掉所有包含有“假”字的关键词,如果匹配到多个关键词中包含有“假”的关键词,则可以是直接将该关键词舍弃。预设匹配规则在对关键词进行匹配时,可以采用例如左包含。右包含、等于、包含等规则对关键词进行匹配。在获取到多个关键词之后,按照预设匹配规则对获取的多个关键词进行过滤,得到第一数量的关键词,其中,由于是对多个关键词词进行过滤得到的第一数量的关键词,那么,该第一数量小于或者等于获取的多个关键词的数量。
具体地,可以按照预设匹配规则对多个关键词进行匹配,如果匹配到关键词非法关键词,则将非法关键词置为默认值,该默认值可以任意设置,如“-”。对与合法关键词,可以派生成合法关键词列,包含所有的合法关键词。
步骤S306,从第一数量的关键词中选取第二数量的关键词。
在对多个关键词进行过滤得到第一数量的关键词后,从该第一数量的关键词中选取第二数量的关键词。第二数量可以根据需要进行设定。由于第二数量的关键词是从第一数量的关键词中选取的,因此,第二数量小于等于第一数量。其中,第二数量的关键词为最终需要返回的关键词。在从第一数量的关键词中选取第二数量的关键词之前,还可以判断第一数量是否大于等于第二数量,如果是,则直接从第一数量的关键词中选取第二数量的关键词。具体地,从第一数量的关键词中选取第二数量的关键词可以是按照被搜索次数的多少从第一数量的关键词中选取关键词,如被搜索次数排名前10的关键词等。
步骤S308,输出第二数量的关键词。
在得到第二数量的关键词之后,输出该第二数量的关键词,作为最终结果返回。
本发明实施例中,先对多个关键词进行一次批量预处理,按照预设匹配规则对多个关键词进行过滤,得到第一数量的关键词,该第一数量的关键词均为合法的关键词。然后,从第一数量的关键词中直接选取第二数量的关键词,只需要对查询和过滤就可以得到最终的查询结果,获取到符合要求的关键词。例如,当需要得到被搜索次数排名前10的关键词时,可以先按照预设匹配规则对大量的关键词如1000个关键词进行过滤,得到合法关键词200个,再从该200个关键词中选取被搜索次数排名前10的关键词即可。在该过程中,由于一些非法关键词被搜索的次数的排名会比较靠前,例如,在1000个关键词中排名前200的均为非法关键词,在现有技术中,则会先选取该前200个关键词,则进行过滤,导致最终得到的关键词为0个,无法返回预定数量的关键词。
根据本发明实施例,按照预设匹配规则对多个关键词进行过滤,得到第一数量的关键词,从第一数量的关键词中选取第二数量的关键词,输出第二数量的关键词,解决由于过滤后的关键词的数量小于需要选取的关键词的数量导致无法准确的返回相应数量的关键词的问题,达到了准确返回相应数量的关键词的效果。
图4是根据本发明实施例优选的关键词过滤方法的流程图。该实施例的关键词过滤方法可以是上述实施例的关键词过滤方法的一种优选实施方式。如图4所示,该关键词过滤方法包括步骤如下:
步骤S402、步骤S404分别于图3所示的步骤S302、步骤S304相同,这里不做赘述。
步骤S406,获取第一数量的关键词中每一个关键词被搜索的次数。
步骤S408,基于被搜索的次数从第一数量的关键词选取第二数量的关键词。
在得到第一数量的关键词之后,获取该关键词中每一个关键词被搜索的次数,以便于按照该搜索次数选取关键词。例如,第一数量的关键词包括:关键词A、关键词B、关键词C和关键词D,其中,关键词A被搜索的次数为5000,关键词B被搜索的次数为8000,关键词C被搜索的次数为6500,关键词D被搜索的次数为7300。如果按照被搜索的次数由多到少对关键词进行选取,则优先选取关键词B,其次选取关键词D。当然,也可以按照被搜索的次数由少到多进行选取。
步骤S410与图3所示的步骤S308相同,这里不做赘述。
根据本发明实施例,通过按照关键词被搜索的次数选取第二数量的关键词,提高了关键词选取的效率。
优选地,在按照预设匹配规则对多个关键词进行过滤之前,关键词过滤方法还包括:创建关键词过滤表,关键词过滤表中包括预设匹配规则。其中,关键词过滤表中可以是包括多个预设匹配规则,该关键词过滤表里面指定匹配规则(如左包含,右包含,包含,等于等),以及相应的匹配值。
按照预设匹配规则对多个关键词进行过滤包括:将多个关键词依次与关键词过滤表进行匹配;根据与关键词过滤表不匹配的关键词生成合法关键词列,将合法关键词列中的关键词作为第一数量的关键词,其中,与关键词过滤表匹配的关键词置为预设的默认值。
由与关键词过滤表不匹配的关键词即合法关键词,派生一列KeywordsLegal,即合法关键词列,若关键词为非法关键词,应该置为默认值,如“-”。
根据本发明实施例,将多个关键词依次与关键词过滤表进行匹配,并对匹配结果进行相应处理,将合法关键词生成合法关键词列,非法关键词则置为默认值。在从第一数量的关键词中选取第二数量的关键词时,由于非法关键词均置为默认值,则可以直接从合法关键词列中选取,进一步提高了关键词的查询效率。
优选地,当在多个关键词中插入新增关键词时,按照预设匹配规则对多个关键词进行过滤还包括:通过trigger触发器将新增关键词与关键词过滤表进行匹配,得到匹配结果;以及根据匹配结果重新生成合法关键词列。
新增关键词可以是一个也可以是多个。当在多个关键词中插入新增关键词时,可以是在获取到多个关键词之后,在多个关键词中插入新增关键词,例如,当获取到多个关键词x、y、z之后,在一段时间内,关键词g被搜索的次数急速上升,此时可以将该关键词g作为新增关键词插入到获取的多个关键词中。在对关键词进行查询时,可以通过trigger触发器将该关键词g与关键词过滤表进行匹配,从而确定该新增关键词是否合法,如果合法则重新生成合法关键词列。具体地,每个关键词插入时,会通过SqlServer的Trigger触发器为每一条新增的关键词应用关键词过滤表进行过滤,并设置KeywordsLegal列。
优选地,当多个关键词中关键词发生更改时,按照预设匹配规则对多个关键词进行过滤还包括:通过trigger触发器将更改的关键词与关键词过滤表进行匹配,得到匹配结果;以及根据所述匹配结果重新生成合法关键词列。
发生更改的关键词可以是一个也可以是多个。可以是在获取到多个关键词之后,该多个关键词发生更改,例如,当获取到多个关键词x、y、z之后,关键词x被更改为关键词g,此时需要对该关键词g与关键词过滤表进行匹配。如果匹配到更改的关键词为合法关键词,则重新生成合法关键词列。具体地,当多个关键词中的关键词进行更改操作时,通过Trigger触发器,会执行下面的操作,更改的操作集里,会分解为删除的和插入的关键词配置集合,可以仅对插入的操作集进行处理,为每个插入的关键词,根据其规则进行批量匹配,若匹配成功,则将其过滤,即合法关键词置为默认值“-”,若匹配不成功,则保留其原先的关键词。
综上,本发明实施例中,对新插入的关键词做一次性的批量处理,将非法关键词以默认值进行替代,当关键词后续发生更改或删除时,同样仅会对更改的那些关键词再进行一次批量的处理,从而保证了合法关键词列在任何时候都是合法的,并且维护成本仅会在新插入,或是发生更改时,对改变的那些关键词进行一下批量的重新匹配及设置,从而达到高效预处理的目的。预处理时,仅会对新插入的关键词和发生更改的关键词做一下批量的匹配,并重新设置合法关键词的派生列,保证最小化处理成本。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、移动终端、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。