一种搜索违禁词的红名单实现方法、系统、设备及终端与流程

文档序号:33299183发布日期:2023-02-28 22:20阅读:56来源:国知局
一种搜索违禁词的红名单实现方法、系统、设备及终端与流程

1.本发明属于文本处理领域,尤其涉及一种搜索违禁词的红名单实现方法、系统、设备及终端。


背景技术:

2.目前,在数据集中想要过滤出违禁词的现有方案中,一般采用的是将陆续收集到的违禁词归档保存于本地文件或者数据库当中,在一次检索完成后在应用程序中判定此次检索返回数据集中是否包含相关违禁词条,目前可知的方案中,很少将违禁词条与检索人员权限等级进行关联,即缺少红名单的等级管理,再者,违禁词存储于文件或关系型数据库中,查询速度较慢,更重要的是缺少对待匹配文本的分词和过滤处理,使得违禁词的匹配很难做到深度干预。
3.通过上述分析,现有技术存在的问题及缺陷为:
4.(1)现有的过滤违禁词的方案中缺少红名单的等级管理,无法将违禁词条与检索人员权限等级进行关联。
5.(2)现有的过滤违禁词的方案对违禁词过滤速度慢,基本都是逐行逐句进行正则或直接包含匹配。
6.(3)现有的传统匹配策略采用的匹配方式不够灵活,很少引入分词机制,缺少对停用词、扩展词、同义词进行处理,特殊情况下很难做到精准匹配,对于特殊字符混淆的匹配较为繁琐,很难深度干预违禁词的匹配过程。
7.(4)现有的词元匹配中缺少索引优化,缺少索引匹配方式选择,不能支持模糊度,在高并发、海量数据压力下无法保证高效性和准确性。


技术实现要素:

8.针对现有技术存在的问题,本发明提供了一种基于动态反向渗滤的搜索违禁词的红名单实现方法、系统、设备及存储介质。
9.本发明是这样实现的,一种基于动态反向渗滤的搜索违禁词的红名单实现方法,所述基于动态反向渗滤的搜索违禁词的红名单实现方法包括:词条配置部分和词条检索部分;词条配置与红名单等级相关联,实现了不同红名单等级对应不同的词条权限,通常等级越高,可见的词条越多,同时本发明中也提供了一种违禁词条动态更新的方法,使得每一次词条元数据变化能在词条检索中立即生效;词条检索的含义是指针对待匹配文本集的反向检索,支持一次检索,全部过滤,过滤掉当前红名单等级不可见的违禁词条。
10.步骤一,词条动态配置,自定义红名单等级,用户可根据自身现有的组织架构来自定义红名单等级,例如可以有部长级别、厅长级别、局长级别等,每个等级下的词条配置不尽相同;
11.步骤二,根据违禁词条动态生效解决方案,包含词条实时同步和任务同步,通过页面词条元数据变更触发实时同步机制保障实时性,通过控制同步任务执行的时间间隔来周
期性更新es违禁词索引数据保障准确性;
12.进一步,所述时间间隔可以是每秒钟、每分钟,依据实际业务而定。
13.进一步,所述违禁词的索引结构包括红名单类别(redlist_type)、红名单等级(rank_value)、违禁词(message)以及过滤条件(forbidden_query),特殊地forbidden_query的类型为percolate。
14.进一步,所述percolate结构简化违禁词的搜索,不同于普通的查询,percolate数据结构存储的是断言,查询时将待匹配的文本集传入并根据断言成立与否,定位出文本集中违禁词的位置。
15.步骤三,采用es分析器的分词特性精准干预违禁词的匹配,充分利用es可扩展分析器插件特性,基于现有ik分词算法之上,根据特定场景可自定义实现文本的分词效果。
16.进一步,所述分析器是利用自定义字符过滤器character filter解决特殊字符带来的混淆问题。
17.进一步,所述分析器还可以通过自定义token filter来实现违禁词的同义词过滤。
18.步骤四,利用反向过滤查询违禁词判定文本集合中是否含有违禁词词条,进而完成过滤。
19.进一步,所述反向过滤查询是搜索违禁词命中集合结果的属性,所述属性包含文本数据集命中违禁词的数组下标,通过下标判定文本集合中是否含有违禁词词条,完成过滤。
20.本发明的另一目的在于提供一种基于动态反向渗滤的搜索违禁词的红名单实现系统,所述基于动态反向渗滤的搜索违禁词的红名单实现系统包括:
21.词条配置模块,用于用户根据自身现有的组织架构来自定义红名单等级,通过控制同步任务执行的时间间隔来周期性更新es违禁词索引数据以及利用percolate结构来简化违禁词的搜索。
22.词条检索模块,用于精准干预违禁词的匹配过程,以及基于es反向渗滤查询特性判定文本集合中是否含有违禁词词条。
23.本发明的另一目的在于提供一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行所述基于动态反向渗滤的搜索违禁词的红名单实现方法的步骤。
24.本发明的另一目的在于提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行所述基于动态反向渗滤的搜索违禁词的红名单实现方法的步骤。
25.本发明的另一目的在于提供一种信息数据处理终端,所述信息数据处理终端用于实现所述基于动态反向渗滤的搜索违禁词的红名单实现系统。
26.结合上述的技术方案和解决的技术问题,本发明所要保护的技术方案所具备的优点及积极效果为:
27.现有技术存在问题较多,没有形成一套成熟的解决方案:
28.没有分词模型,或者有分词,但是需要使用者完整实现分词模块代码,源码实现难度大,在高并发、海量数据集的压力下很难保证高效性、准确性。
29.没有匹配算法,文本被分词之后,词元与违禁词的匹配算法需要自己实现,例如前缀树查找算法,以及索引压缩算法设计,目的是使大量的索引数据能完全容纳在内存中,最终基于实现基于内存级别的快速匹配,但是过程设计复杂,在实际应用中需要投入大量的人力物力。
30.没有关联红名单设计,缺少红名单等级关联,特殊场景下,常态的过滤筛选可能并不适用。
31.本发明以elasticsearch为核心引擎,充分利用elasticsearch强大的无中心化的分布式搜索能力,解决高并发下,海量数据集的违禁词筛选过滤,基于可扩展的分词特性,以现有业务为出发点,从底层源码级别定制分析器分词模型,支持自定义字符过滤器、分词器、词元过滤器,从根本上解决过滤过程中特殊字符、停用词、同义词等带来的干扰问题,深入干预违禁词的匹配过程,并且基于特有的反向渗滤查询方式,配合倒排索引技术,可以使违禁词检索更加高效,再者,基于本发明独创的动态红名单等级关联模型,可以针对组织架构内不同等级的人员实现不同的过滤效果,对于庞大的政务生态系统非常适用。
32.本发明采用完善的分词解决方案能够最大程度排除干扰字符影响,并有效识别出具有与违禁词条语义相同、相近的词组进行过滤,避免漏筛,保障数据安全性。
33.本发明采用独创的违禁词条与红名单等级相关联的业务模型,用户可以根据自身的组织架构自定义红名单等级,在检索相同内容时红名单等级高的用户涉及违禁词条更少,返回检索结果也就会更加完整、贴近原文;相对地,红名单等级低用户涉及违禁词更多,浏览相同的数据集时会被深度过滤,最终达到“多人多面”的过滤效果。
34.本发明采用变更行为触发和同步任务来实现违禁词条变更后能够在检索过滤过程中及时生效,保证违禁词索引数据的动态更新。
35.本发明采用es为核心引擎,支持高并发下、海量数据搜索时的过滤场景,并能发挥倒排索引快速匹配的优势,使得过滤查询具有更低的响应延迟。
36.本发明采用es分析器的分词特性有效提高违禁词匹配的灵活性、精准性和高效性,大幅度地简化了存在特殊字符混淆的违禁词匹配过程。
37.本发明采用es反向渗滤查询特性实现文本内容匹配过滤条件的反向搜索,充分提高违禁词检索效率的同时有效节约磁盘空间。
38.本发明的技术方案转化后的预期收益和商业价值为:在目前的市场前景下,本发明可应用在全国各地公安领域、政务服务领域、发改委、企业服务等数字化建设项目中。公安领域、政务服务领域等垂直领域的数据涉及个人、企业的大量隐私,需要保证一些敏感信息不会直观的呈现在大家面前。随着业务数据体量越来越大,难免会出现漏洞。本发明基于开源的分布式搜索引擎能力,巧妙设计反向渗滤查询和红名单违禁词的业务模型,解决索引文档与用户等级权限、违禁词条相关匹配算法难题,实现在检索过程中就过滤,既保证了敏感信息的安全性,又保证了数据检索的准确性、时效性。相较于海量的业务数据,使用者只需关注体量很小的违禁词条的梳理工作,根据业务迭代需求,同步更新词条,且更新后实时生效,大大减少人力投入及开发成本。从项目的发展趋势上看,本发明可以为项目带来较显著的经济收益,为政企行业实现降本增效。
附图说明
39.图1是本发明实施例提供的基于动态反向渗滤的搜索违禁词的红名单实现方法流程图。
40.图2是本发明实施例提供的动态配置流程图。
41.图3是本发明实施例提供的违禁词条索引结构和插入代码图。
42.图4是本发明实施例提供的分析器工作流程图。
43.图5是本发明实施例提供的违禁词检索流程图。
具体实施方式
44.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
45.为了使本领域技术人员充分了解本发明如何具体实现,该部分是对权利要求技术方案进行展开说明的解释说明实施例。
46.如图1所示,本发明实施例提供的基于elasticsearch结合人员权限等级的动态反向渗滤搜索违禁词的红名单实现方法包括:
47.s101,词条动态配置,自定义红名单等级,用户可根据自身现有的组织架构来自定义红名单等级;
48.s102,根据违禁词条动态生效解决方案,通过控制同步任务执行的时间间隔来周期性更新es违禁词索引数据;
49.在一优选实施例中,所述时间间隔可以是每秒钟、每分钟,依据实际业务而定。
50.在一优选实施例中,所述违禁词的索引结构包括红名单类别(redlist_type)、红名单等级(rank_value)、违禁词(message)以及过滤条件(forbidden_query),特殊地forbidden_query的类型为percolate。
51.在一优选实施例中,所述percolate结构简化违禁词的搜索。
52.s103,采用es分析器的分词特性精准干预违禁词的匹配。
53.在一优选实施例中,所述分析器是利用自定义字符过滤器character filter解决特殊字符带来的混淆问题。
54.在一优选实施例中,所述分析器还可以针对不同的行业特点使用不同的分词器,分词出具有行业特征的词元。
55.在一优选实施例中,所述分析器还可以通过自定义token filter来实现违禁词的同义词过滤。
56.s104,利用反向过滤查询违禁词判定文本集合中是否含有违禁词词条,进而完成过滤。
57.在一优选实施例中,所述反向过滤查询是搜索违禁词命中集合结果的属性,所述属性包含文本数据集命中违禁词的数组下标,通过下标判定文本集合中是否含有违禁词词条,完成过滤。
58.为了证明本发明的技术方案的创造性和技术价值,该部分是对权利要求技术方案进行具体产品上或相关技术上的应用实施例。
59.本发明实施例提供的elasticsearch percolate查询(本发明简称反向渗滤查询),与普通查询不同的是,反向渗滤查询是将查询条件或过滤条件存储到es索引结构中,在匹配违禁词时只需要将待匹配的文本数据集代入反向查询api即可得到命中结果,利用这一特性,每次匹配新的文本数据时,都无需再手动编入索引(索引化),就可以对其进行反向渗滤查询,进而确认文本数据集中是否含有违禁词条。
60.本发明实施例的整体方案分为词条配置部分和词条检索部分,词条动态配置阶段如图2所示,首先,管理员自定义红名单等级,用户可根据自身现有的组织架构来自定义红名单等级,例如我们可以添加局长、处长以及普通科员等级,定义等级的意义在于每一个等级对应的违禁词条可以是不同的,这就可以实现在检索相同内容时,红名单等级高的用户涉及违禁词条更少,返回检索结果也就会更加完整、贴近原文。
61.本发明实施例中违禁词条动态生效解决方案是利用同步任务来实现违禁词条变更,变更后能够在检索过滤过程中及时生效,因为原始数据集中是否含有违禁词的凭据是通过匹配es违禁词索引来界定的,所以通过控制同步任务执行的时间间隔(可以是每秒钟、每分钟,依据实际业务而定)来周期性更新es违禁词索引数据是保证动态性的关键。
62.本发明实施例提供的违禁词之索引结构设计如图3所示,索引结构中包括红名单类别(redlist_type)、红名单等级(rank_value)、违禁词(message)以及过滤条件(forbidden_query),特殊地forbidden_query的类型为percolate,即利用es反向渗滤查询特性来实现文本内容匹配过滤条件的反向搜索,文本设计为何要选用渗滤查询呢?相反地,如果用普通查询,那岂不是要手动将待匹配文本都插入es建立倒排索引来实现快速匹配,那样绝对是费时费力还占用磁盘空间,故而充分利用percolate结构来简化违禁词的搜索是本发明的核心点。
63.本发明实施例中违禁词检索过程如图5所示,核心流程为反向渗滤查询阶段,对应图中步骤2、3,查询结果将会返回_percolator_document_slot属性,该属性包含了文本数据集命中违禁词的数组下标,通过下标即可判定文本集合中是否含有违禁词词条,进而完成过滤。
64.将本发明应用实施例提供的基于动态反向渗滤的搜索违禁词的红名单实现方法应用于计算机设备,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行所述基于动态反向渗滤的搜索违禁词的红名单实现方法的步骤。
65.将本发明应用实施例提供的基于动态反向渗滤的搜索违禁词的红名单实现方法应用于计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行所述基于动态反向渗滤的搜索违禁词的红名单实现方法的步骤。
66.将本发明应用实施例提供的基于动态反向渗滤的搜索违禁词的红名单实现方法应用于信息数据处理终端,所述信息数据处理终端用于实现所述基于动态反向渗滤的搜索违禁词的红名单实现系统。
67.本发明应用实施例提供的搜索违禁词的红名单方法可广泛应用于庞大的政务生态系统。
68.本发明实施例在研发或者使用过程中取得了一些积极效果,和现有技术相比的确具备很大的优势,下面内容结合试验过程的数据、图表等进行描述。
69.本发明实施例应用到1500万常住人口搜索案例。案例中将部分人员信息进行红名单管理,低等级用户无法查询这些信息,系统部署节点为3节点,单台物理机配置为16核心64g内存,搜索召回100条数据,其间含有8条数据命中红名单被过滤,实际响应延迟大约为220ms,相同的搜索条件下,对比未开启红名单过滤功能搜索延迟204ms,得出红名单过滤阶段耗时约为16ms,反向过滤查询延迟非常低,对搜索影响微乎其微。
70.应当注意,本发明的实施方式可以通过硬件、软件或者软件和硬件的结合来实现。硬件部分可以利用专用逻辑来实现;软件部分可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域的普通技术人员可以理解上述的设备和方法可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、cd或dvd-rom的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本发明的设备及其模块可以由诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用由各种类型的处理器执行的软件实现,也可以由上述硬件电路和软件的结合例如固件来实现。
71.以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,都应涵盖在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1