CN112183087B - 一种敏感文本识别的系统和方法 - Google Patents
一种敏感文本识别的系统和方法 Download PDFInfo
- Publication number
- CN112183087B CN112183087B CN202011034790.7A CN202011034790A CN112183087B CN 112183087 B CN112183087 B CN 112183087B CN 202011034790 A CN202011034790 A CN 202011034790A CN 112183087 B CN112183087 B CN 112183087B
- Authority
- CN
- China
- Prior art keywords
- sensitive
- document
- word
- module
- words
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 27
- 230000011218 segmentation Effects 0.000 claims abstract description 46
- 239000012634 fragment Substances 0.000 claims description 7
- 238000010606 normalization Methods 0.000 claims description 7
- 238000004364 calculation method Methods 0.000 claims description 6
- 238000006243 chemical reaction Methods 0.000 claims description 3
- 230000001419 dependent effect Effects 0.000 claims description 3
- 239000011159 matrix material Substances 0.000 claims description 3
- 238000005516 engineering process Methods 0.000 abstract description 12
- 238000007726 management method Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 10
- 230000008569 process Effects 0.000 description 5
- 238000013461 design Methods 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000035945 sensitivity Effects 0.000 description 2
- 244000024671 Brassica kaber Species 0.000 description 1
- 235000004977 Brassica sinapistrum Nutrition 0.000 description 1
- 101000795744 Homo sapiens TPA-induced transmembrane protein Proteins 0.000 description 1
- 102100031626 TPA-induced transmembrane protein Human genes 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/284—Lexical analysis, e.g. tokenisation or collocates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/31—Indexing; Data structures therefor; Storage structures
- G06F16/316—Indexing structures
- G06F16/319—Inverted lists
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
- G06F16/3344—Query execution using natural language analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/126—Character encoding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/194—Calculation of difference between files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/237—Lexical tools
- G06F40/242—Dictionaries
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种敏感文本识别的系统,包括:分词模块、文档和索引模块、敏感内容相似度评分模块、文档匹配模块、上层管理模块;本发明提出的一种敏感文本识别的系统,一方面对敏感词的细粒度拆分,会大大减少一些干扰因素对敏感信息判定的干扰,当有多个单字与敏感词中的单字雷同的情况时,会使该文档的敏感词相似度打分上升,从而更容易鉴别出包含隐藏敏感信息的文档。另一方面,本发明方便用户对多个文档的敏感情况进行评估,同时在用户想了解详细情况的时候,能通过文档匹配模块对敏感信息进行定位,方便寻找和判定,大大提高了敏感词检索技术的可用性,使之能够成为保密行业多种软件产品可以依赖的一种重要的保密工具。
Description
技术领域
本发明涉及的是文本识别技术领域,特别涉及一种敏感文本识别的系统和方法。
背景技术
国外很多公司在我国众多领域和行业占据了主导地位,占据了庞大的市场份额,甚至包括关系到国计民生的基础设施行业和中国政府公共事业、金融、铁路、航空、石油化工和军工等敏感领域。然而国外软件安全漏洞事故频发,令人十分担忧。
而现在国内更加重视核心技术的自主可控,其中自主可控主要针对的是关键技术和卡脖子的行业,包括芯片、操作系统、软件、高精密度机床等,预期政策对于科技创新和自主可控的支持力度加大,各类基于国产化平台的信息化系统应运而生。同时随着各类信息化系统的出现,相关敏感信息的种类和数量在不断增多,如政府的组织结构与决策信息,企业的某些技术资料,部队的武器装备部署详情等,都是需要保护的敏感信息。为了防止政府,企业和军队因信息泄露而蒙受损失,办公系统需要对系统中流通的数据和信息进行相应的安全检查过滤,以保证这些敏感信息不会因为工作人员操作不当或者其他恶意的原因而遭到泄露。
敏感信息泄露的情况分为两种,一种是流通的文件中直接包含敏感关键字,在传递和阅览过程中造成信息泄露。另一种是文档中使用了与敏感词语义相近或结构类似的词汇和语法,这样也可能造成相应的损失。敏感内容相似度识别技术的研究意义,即尽量减少这类通过打“擦边球”而造成信息泄露的情况出现,为政府,企业和军队的信息安全保驾护航。
现有的敏感词识别技术,主要是从效率上对敏感词检索过程做了优化,比较典型的有自动机算法和TTMP算法,前者是通过构建词图,从词图上检索文本出现的字和词以确定文本中是否有敏感词出现,后者则是通过构建脏字表,将文本中出现的字母在脏字表中逐字检索和匹配,来确定是否有敏感词出现。
然而从功能性上看,现存的敏感词识别技术大多只能识别出与敏感词完全相同的文字,或者加入少量符号干扰的文字,缺少对更零散和隐晦的表述的识别方法,同时缺少功能的封装,对文本的敏感程度也缺少直观的表示和判断。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种敏感文本识别的系统和方法。
一种敏感文本识别的系统,包括:分词模块、文档和索引模块、敏感内容相似度评分模块、文档匹配模块、上层管理模块;其中:
分词模块,用于对文档进行分析和拆分,将文档整理为一个单词的词典,依据单词词典对建立倒排记录表,其中,倒排列表记录了出现过某个单词的所有文档的文档列表及单词在该文档中出现的位置信息;
文档储存和索引模块,用于当文档经过分词模块处理以后,对得到的数据以文档为单位进行存储,并且为文档建立倒排索引,根据单词属性快速获取包含这个单词的文档列表;
敏感内容相似度评分模块,用于对文档针对单个敏感词和多个敏感词进行相似度评分;
文档匹配模块,根据文档储存和索引模块返回的检索结果,依据检索结果偏移量信息返回每个敏感词在文档内的具体位置,同时将指定长度的上下文返回给上层管理模块;
上层管理模块,用于和用户进行交互,接收用户需要检测的敏感词组,传递给分词模块;还用于上接收需要存储的文档,将文档传输给分词模块。
进一步地,分词模块通过正向迭代最细粒度拆分算法对文档进行拆分。
进一步地,正向迭代最细粒度拆分算法,具体为;首先Dictionary类会加载所有词典,存储在map中,并以isEnd()标志结束;对需要分词的字符串进行大小写转换和转码预处理,输入字符串以字符的形式进行匹配,一个char如果能取到hitList,那么会锁定hitList,循环到第二个char,如果能在hitList里与上一个char匹配成词,则保存当前的newLexeme,并加入到输出结果集;判断是否读取到了isEnd(),如果不是,则context.currCursor偏移1位,继续取词,以此类推,直到遍历完这个字符串。
进一步地,文档储存和索引模块中,倒排索引是实现“单词-文档矩阵”的一种具体存储形式,通过倒排索引,可以根据单词属性快速获取包含这个单词的文档列表。
进一步地,敏感内容相似度评分模块,通过BM25评分函数和多维向量相似度算法进行评分。
进一步地,BM25评分函数对单个敏感词的评分加权公式为
其中,coord(q,d)表示评分因子,计算公式为:overlap/maxOverlap,overlap表示文档d中所包含的敏感分词数,maxOverlap表示敏感词q能拆分成的敏感分词的总数。queryNorm(q)为常数,是查询输入归一化因子,其作用是使最终的得分不至于太大,从而具有一定的可比性;tf(t in d)指某一个敏感分词t在文档d中出现的次数frequency,具体值为次数的开根号, idf(t)表示反转文档频率,计算公式为idf(t)=log(1+(docCount-docFreq+0.5)/(docFreq+0.5)),其中docFreq表示包含一个特定的敏感分词t的文档的数量,docCount表示文档总数;t.getBoost为常数,表示一个特定的敏感分词t的加权,加权越大,表示该词汇越重要,在评分时所占比重越大;norm(d)表示长度相关的加权因子/>numTerms表示文档d的长度,即文档被分成词的个数。
进一步地,多维向量相似度算法对多个敏感词的评分公式为:
其中,表示文档1对敏感词汇的评分向量,/>表示每个敏感词在文档1中的权重值向量。
进一步地,上层管理模块,还用于对敏感词组进行增删改,同时能调用文档管理模块的接口,对提供文档的进行增删改。
本发明还公开了一种敏感文本识别的方法,包括:
S100.对文档进行储存,上层应用模块接收需要存储的文档,将文档传输给分词模块,通过分词模块将文档拆分成可识别的词汇,再通过分词形成的词汇建立倒排索引并存储文档;
S200.对敏感词进行检查,上层应用接收用户需要检测的敏感词组,传递给分词模块,分词模块对词组进行更细粒度的拆分,拆分成新的敏感词组,再查询倒排索引,对敏感词组进行匹配,匹配结果分别发给敏感内容相似度评分模块和文档匹配模块,敏感内容相似度评分模块通过特定的算法对相似度进行计算和打分,将结果返回给上层应用,文档匹配模块对匹配命中的文档片段进行定位,返回被命中的文段的位置,以及指定长度的上下文。
如权利要求1的一种敏感文本识别的方法,敏感内容相似度评分模块对相似度进行计算和打分的算法为BM25评分函数和多维向量相似度算法。
本发明实施例提供的上述技术方案的有益效果至少包括:
本发明提出的一种敏感文本识别的系统和方法,一方面对敏感词的细粒度拆分,会大大减少一些干扰因素对敏感信息判定的干扰,对敏感词进行细粒度分词后,当有多个单字与敏感词中的单字雷同的情况时,会使该文档的敏感词相似度打分上升,从而更容易鉴别出包含隐藏敏感信息的文档。
另一方面,文档相似度打分的方式是具有突破性意义的,使文档的涉密情况能够更直观地反应给用户,方便用户对多个文档的敏感情况进行评估,同时在用户想了解详细情况的时候,能通过文档匹配模块对敏感信息进行定位,方便寻找和判定,大大提高了敏感词检索技术的可用性,使之能够成为保密行业多种软件产品可以依赖的一种重要的保密工具。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为本发明实施例一中,一种敏感文本识别的系统结构图;
图2为本发明实施例一中,一种敏感文本识别的方法流程图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
为了解决现有技术中存在的只能识别出与敏感词完全相同的文字,或者加入少量符号干扰的文字的问题,本发明实施例提供一种敏感文本识别的系统和方法。
实施例1
一种敏感文本识别的系统,如图1,包括:分词模块、文档和索引模块、敏感内容相似度评分模块、文档匹配模块、上层管理模块;其中:
分词模块,用于对文档进行分析和拆分,将文档整理为一个单词的词典,依据单词词典对建立倒排记录表,其中,倒排列表记录了出现过某个单词的所有文档的文档列表及单词在该文档中出现的位置信息。
具体的,在分析文档时对词汇的拆分粒度会一定程度上影响之后的倒排索引的建立,从而影响查询的准确度。在本实施例中,优选使用的是正向迭代最细粒度拆分,即将文档拆分到字,除了停顿词以外将所有可以识别的词汇都写入单词词典,同时采用了多子处理器分析模式,支持英文字母(IP地址、Email、URL)、数字(日期,常用中文数量词,罗马数字,科学计数法),中文词汇(姓名、地名处理)等分词处理,使搜索时能实现对词汇的精确匹配没有遗漏。
正向迭代最细粒度拆分算法,具体为,首先Dictionary类会加载所有词典,存储在map中,并以isEnd()标志结束。之后对需要分词的字符串进行预处理,比如大小写转换,转码等等。输入字符串以字符的形式进行匹配,一个char如果能取到hitList,那么会锁定hitList,循环到第二个char,如果能在hitList里与上一个char匹配成词(前面加载字典成map结构就用上了),则保存当前的newLexeme,并加入到输出结果集。之后判断是否读取到了isEnd(),如果不是,则context.currCursor偏移1位,继续取词。以此类推,直到遍历完这个字符串。
文档储存和索引模块,用于当文档经过分词模块处理以后,对得到的数据以文档为单位进行存储,并且为文档建立倒排索引,根据单词属性快速获取包含这个单词的文档列表。
在本实施例中,查询词可以切分成若干个单词,所以对于本发明中的倒排索引对应的属性就是单词,而对应的记录就是文档。所以,这里的倒排索引是实现“单词-文档矩阵”的一种具体存储形式,通过倒排索引,可以根据单词(属性)快速获取包含这个单词的文档列表(记录)。倒排索引主要由两个部分组成:“单词词典”和“倒排文件”。
具体的,倒排索引创建索引的流程:
1)首先把所有的原始数据进行编号,形成文档列表
2)把文档数据进行分词,得到很多的词条,以词条为索引。保存包含这些词条的文档的编号信息。
同时需要分析并保存每个文档对于每个词的词向量及偏移量,以便在搜索时定位敏感词并返回上下文。词向量的每个权重有针对不同模式的多种计算方法,最简单的计算方法即把这个词在该文档出现的次数当作该文档针对这个词的权重,较为复杂的计算方法需要将词频和文档长度作为参数,以较为复杂的模型计算权重。
敏感内容相似度评分模块,用于对文档针对单个敏感词和多个敏感词进行相似度评分。
在本实施例中,敏感内容相似度评分模块,通过BM25评分函数和多维向量相似度算法进行评分。BM25评分函数对单个敏感词的评分加权公式为:
其中,coord(q,d)表示评分因子,计算公式为:overlap/maxOverlap,overlap表示文档d中所包含的敏感分词数,maxOverlap表示敏感词q能拆分成的敏感分词的总数。queryNorm(q)为常数,是查询输入归一化因子,其作用是使最终的得分不至于太大,从而具有一定的可比性;tf(t in d)指某一个敏感分词t在文档d中出现的次数frequency,具体值为次数的开根号, idf(t)表示反转文档频率,计算公式为idf(t)=log(1+(docCount-docFreq+0.5)/(docFreq+0.5)),其中docFreq表示包含一个特定的敏感分词t的文档的数量,docCount表示文档总数;t.getBoost为常数,表示一个特定的敏感分词t的加权,加权越大,表示该词汇越重要,在评分时所占比重越大;norm(d)表示长度相关的加权因子/>numTerms表示文档d的长度,即文档被分成词的个数。
多维向量相似度算法对多个敏感词的评分公式为:
其中,表示文档1对敏感词汇的评分向量,/>表示每个敏感词在文档1中的权重值向量。
例如,文档1对于两个敏感词的评分分别是4,5,于是文档1所对应的向量为[4,5]。而查询本身所对应的向量由用户在查询时给各个敏感词设定的权重决定。用户可以在使用一组敏感词对文档进行敏感相似度打分的时候,为每个敏感词设置权重值,权重值越大,说明该词越具有重要性。在这里设定两个敏感词的权重值都为1,说明两个词重要性相同,查询向量可被表示为[1,1]。
文档匹配模块,根据文档储存和索引模块返回的检索结果,依据检索结果偏移量信息返回每个敏感词在文档内的具体位置,同时将指定长度的上下文返回给上层管理模块。
具体的,在文档存入本系统的时候,除了将每条信息以文档的形式存在存储系统中以外,还会建立倒排索引,同时存储每个词的词向量及偏移量。在对敏感词进行检索时,可通过检索索引,确定每个词在文档内的具体位置,同时将指定长度的上下文返回给上层应用。
上层管理模块,用于和用户进行交互,接收用户需要检测的敏感词组,传递给分词模块;还用于上接收需要存储的文档,将文档传输给分词模块。
具体的,上层管理模块负责与用户进行交互,对各个模块、应用进行统筹。管理模块维护一套对敏感词组进行增删改的功能模块,同时能调用文档管理模块的接口,能够提供文档的增删改功能。
通过多次调用敏感词与多篇文档的相似度检查接口,并将返回的参数进行有机结合,最终取得多篇文档针对多个敏感词组成的敏感词组的相似度评分。
提供专有词汇导入接口,可以将检测环境所需要的专有词汇导入分词模块,使分词更合理,敏感词相似度检查评分更具有可参考性。
在返回相似度评分的同时,调用文档匹配模块,将敏感词检查命中的文档片段返回,可以清晰直观地展现文档的敏感词命中情况。
上层管理模块能向其他应用提供如下几个主要功能接口:
XContentBuilder:主要用存储文档文件,可以设置分片数量以及相关的json存储格式,包括type字段名和各类属性名及数据类型。
FunctionScoreQueryBuilder:用于进行带评分的查询语句生成,需要嵌套使用queryStringQuery产生的单条件查询语句,再用should语句进行连接,组成多条件或查询语句,用于对敏感信息组进行批量查询,在封装时可以将输出按照命中情况进行排序,并对查询结果按照敏感词的命中情况进行评分,最终返回每个查询结果所获得的分数。
HighlightBuilder:可以对含有敏感信息的内容进行高亮标注处理,并按要求节选定长段落和固定数量的片段,最后返回被检索命中的文档片段和位置。
updateRequest:对指定数据进行相关更新,可以指定到某一篇文档,或者嵌套语句以后进行批量更新,同时对更新语句中不存在的数据进行新建。
DeleteResponse:对指定数据进行删除操作,可以指定到某一篇文档,或者对符合语句条件限制的文档进行批量删除。
本实施例还公开了一种敏感文本识别的方法,如图2,包括:
S100.对文档进行储存,上层应用模块接收需要存储的文档,将文档传输给分词模块,通过分词模块将文档拆分成可识别的词汇,再通过分词形成的词汇建立倒排索引并存储文档;
S200.对敏感词进行检查,上层应用接收用户需要检测的敏感词组,传递给分词模块,分词模块对词组进行更细粒度的拆分,拆分成新的敏感词组,再查询倒排索引,对敏感词组进行匹配,匹配结果分别发给敏感内容相似度评分模块和文档匹配模块,敏感内容相似度评分模块通过特定的算法对相似度进行计算和打分,将结果返回给上层应用,文档匹配模块对匹配命中的文档片段进行定位,返回被命中的文段的位置,以及指定长度的上下文。
本发明提出的一种敏感文本识别的系统和方法,一方面对敏感词的细粒度拆分,会大大减少一些干扰因素对敏感信息判定的干扰,对敏感词进行细粒度分词后,当有多个单字与敏感词中的单字雷同的情况时,会使该文档的敏感词相似度打分上升,从而更容易鉴别出包含隐藏敏感信息的文档。
另一方面,文档相似度打分的方式是具有突破性意义的,使文档的涉密情况能够更直观地反应给用户,方便用户对多个文档的敏感情况进行评估,同时在用户想了解详细情况的时候,能通过文档匹配模块对敏感信息进行定位,方便寻找和判定,大大提高了敏感词检索技术的可用性,使之能够成为保密行业多种软件产品可以依赖的一种重要的保密工具。
应该明白,公开的过程中的步骤的特定顺序或层次是示例性方法的实例。基于设计偏好,应该理解,过程中的步骤的特定顺序或层次可以在不脱离本公开的保护范围的情况下得到重新安排。所附的方法权利要求以示例性的顺序给出了各种步骤的要素,并且不是要限于所述的特定顺序或层次。
在上述的详细描述中,各种特征一起组合在单个的实施方案中,以简化本公开。不应该将这种公开方法解释为反映了这样的意图,即,所要求保护的主题的实施方案需要清楚地在每个权利要求中所陈述的特征更多的特征。相反,如所附的权利要求书所反映的那样,本发明处于比所公开的单个实施方案的全部特征少的状态。因此,所附的权利要求书特此清楚地被并入详细描述中,其中每项权利要求独自作为本发明单独的优选实施方案。
本领域技术人员还应当理解,结合本文的实施例描述的各种说明性的逻辑框、模块、电路和算法步骤均可以实现成电子硬件、计算机软件或其组合。为了清楚地说明硬件和软件之间的可交换性,上面对各种说明性的部件、框、模块、电路和步骤均围绕其功能进行了一般地描述。至于这种功能是实现成硬件还是实现成软件,取决于特定的应用和对整个系统所施加的设计约束条件。熟练的技术人员可以针对每个特定应用,以变通的方式实现所描述的功能,但是,这种实现决策不应解释为背离本公开的保护范围。
结合本文的实施例所描述的方法或者算法的步骤可直接体现为硬件、由处理器执行的软件模块或其组合。软件模块可以位于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、移动磁盘、CD-ROM或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质连接至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。该ASIC可以位于用户终端中。当然,处理器和存储介质也可以作为分立组件存在于用户终端中。
对于软件实现,本申请中描述的技术可用执行本申请所述功能的模块(例如,过程、函数等)来实现。这些软件代码可以存储在存储器单元并由处理器执行。存储器单元可以实现在处理器内,也可以实现在处理器外,在后一种情况下,它经由各种手段以通信方式耦合到处理器,这些都是本领域中所公知的。
上文的描述包括一个或多个实施例的举例。当然,为了描述上述实施例而描述部件或方法的所有可能的结合是不可能的,但是本领域普通技术人员应该认识到,各个实施例可以做进一步的组合和排列。因此,本文中描述的实施例旨在涵盖落入所附权利要求书的保护范围内的所有这样的改变、修改和变型。此外,就说明书或权利要求书中使用的术语“包含”,该词的涵盖方式类似于术语“包括”,就如同“包括,”在权利要求中用作衔接词所解释的那样。此外,使用在权利要求书的说明书中的任何一个术语“或者”是要表示“非排它性的或者”。
Claims (6)
1.一种敏感文本识别的系统,其特征在于,包括:分词模块、文档和索引模块、敏感内容相似度评分模块、文档匹配模块、上层管理模块;其中:
分词模块,用于对文档进行分析和拆分,将文档整理为一个单词的词典,依据单词词典对建立倒排记录表,其中,倒排列表记录了出现过某个单词的所有文档的文档列表及单词在该文档中出现的位置信息;
文档储存和索引模块,用于当文档经过分词模块处理以后,对得到的数据以文档为单位进行存储,并且为文档建立倒排索引,根据单词属性快速获取包含这个单词的文档列表;
敏感内容相似度评分模块,用于对文档针对单个敏感词和多个敏感词进行相似度评分;敏感内容相似度评分模块,通过BM25评分函数和多维向量相似度算法进行评分;BM25评分函数对单个敏感词的评分加权公式为:
其中,coord(q,d)表示评分因子,计算公式为:overlap/maxOverlap,overlap表示文档d中所包含的敏感分词数,maxOverlap表示敏感词q能拆分成的敏感分词的总数;queryNorm(q)为常数,表示查询输入归一化因子;tf(t in d)指某一个敏感分词t在文档d中出现的次数frequency,具体值为次数的开根号,idf(t)表示反转文档频率,计算公式为idf(t)=log(1+(docCount-docFreq+0.5)/(docFreq+0.5)),其中docFreq表示包含一个特定的敏感分词t的文档的数量,docCount表示文档总数;t.getBoost为常数,表示一个特定的敏感分词t的加权,加权越大,表示该词汇越重要,在评分时所占比重越大;norm(t,d)表示长度相关的加权因子,/> numTerms表示文档d的长度,即文档被分成词的个数;多维向量相似度算法对多个敏感词的评分公式为:
其中,表示文档1对敏感词汇的评分向量,/>表示每个敏感词在文档1中的权重值向量;
文档匹配模块,根据文档储存和索引模块返回的检索结果,依据检索结果偏移量信息返回每个敏感词在文档内的具体位置,同时将指定长度的上下文返回给上层管理模块;
上层管理模块,用于和用户进行交互,接收用户需要检测的敏感词组,传递给分词模块;还用于接收需要存储的文档,将文档传输给分词模块。
2.如权利要求1所述的一种敏感文本识别的系统,其特征在于,分词模块通过正向迭代最细粒度拆分算法对文档进行拆分。
3.如权利要求2所述的一种敏感文本识别的系统,其特征在于,正向迭代最细粒度拆分算法,具体为:首先Dictionary类加载所有词典,存储在map中,并以isEnd()标志结束;对需要分词的字符串进行大小写转换和转码预处理,输入字符串以字符的形式进行匹配,一个char如果能取到hitList,则锁定hitList,循环到第二个char,如果能在hitList里与上一个char匹配成词,则保存当前的newLexeme,并加入到输出结果集;继续判断是否读取到了isEnd(),如果不是,则将context.currCursor偏移1位,继续取词,以此类推,直到遍历完整个字符串。
4.如权利要求1所述的一种敏感文本识别的系统,其特征在于,文档储存和索引模块中,通过倒排索引实现“单词-文档矩阵”的具体存储,通过倒排索引,可以根据单词属性快速获取包含这个单词的文档列表。
5.如权利要求1所述的一种敏感文本识别的系统,其特征在于,上层管理模块,还用于对敏感词组进行增删改,通过调用文档管理模块的接口,对提供的文档进行增删改。
6.一种基于权利要求1所述的敏感文本识别的系统的敏感文本识别的方法,包括:
S100.对文档进行储存,上层应用模块接收需要存储的文档,将文档传输给分词模块,通过分词模块将文档拆分成可识别的词汇,再通过分词形成的词汇建立倒排索引并存储文档;
S200.对敏感词进行检查,上层应用接收用户需要检测的敏感词组,传递给分词模块,分词模块对词组进行更细粒度的拆分,拆分成新的敏感词组,再查询倒排索引,对敏感词组进行匹配,匹配结果分别发给敏感内容相似度评分模块和文档匹配模块,敏感内容相似度评分模块通过特定的算法对相似度进行计算和打分,将结果返回给上层应用,文档匹配模块对匹配命中的文档片段进行定位,返回被命中的文段的位置,以及指定长度的上下文。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011034790.7A CN112183087B (zh) | 2020-09-27 | 2020-09-27 | 一种敏感文本识别的系统和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011034790.7A CN112183087B (zh) | 2020-09-27 | 2020-09-27 | 一种敏感文本识别的系统和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112183087A CN112183087A (zh) | 2021-01-05 |
CN112183087B true CN112183087B (zh) | 2024-05-28 |
Family
ID=73944602
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011034790.7A Active CN112183087B (zh) | 2020-09-27 | 2020-09-27 | 一种敏感文本识别的系统和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112183087B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1643383A1 (en) * | 2004-09-30 | 2006-04-05 | Microsoft Corporation | System and method for incorporating anchor text into ranking of search results |
CN103823857A (zh) * | 2014-02-21 | 2014-05-28 | 浙江大学 | 基于自然语言处理的空间信息检索方法 |
CN108319630A (zh) * | 2017-07-05 | 2018-07-24 | 腾讯科技(深圳)有限公司 | 信息处理方法、装置、存储介质和计算机设备 |
CN109284352A (zh) * | 2018-09-30 | 2019-01-29 | 哈尔滨工业大学 | 一种基于倒排索引的评估类文档不定长词句的查询方法 |
CN109284441A (zh) * | 2018-09-18 | 2019-01-29 | 中国人民解放军战略支援部队信息工程大学 | 动态自适应网络敏感信息检测方法及装置 |
CN110619036A (zh) * | 2019-08-25 | 2019-12-27 | 南京理工大学 | 基于改进if-idf算法的全文检索系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10333530A1 (de) * | 2003-07-23 | 2005-03-17 | Siemens Ag | Automatische Indexierung von digitalen Bildarchiven zur inhaltsbasierten, kontextsensitiven Suche |
US8498972B2 (en) * | 2010-12-16 | 2013-07-30 | Sap Ag | String and sub-string searching using inverted indexes |
-
2020
- 2020-09-27 CN CN202011034790.7A patent/CN112183087B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1643383A1 (en) * | 2004-09-30 | 2006-04-05 | Microsoft Corporation | System and method for incorporating anchor text into ranking of search results |
CN103823857A (zh) * | 2014-02-21 | 2014-05-28 | 浙江大学 | 基于自然语言处理的空间信息检索方法 |
CN108319630A (zh) * | 2017-07-05 | 2018-07-24 | 腾讯科技(深圳)有限公司 | 信息处理方法、装置、存储介质和计算机设备 |
CN109284441A (zh) * | 2018-09-18 | 2019-01-29 | 中国人民解放军战略支援部队信息工程大学 | 动态自适应网络敏感信息检测方法及装置 |
CN109284352A (zh) * | 2018-09-30 | 2019-01-29 | 哈尔滨工业大学 | 一种基于倒排索引的评估类文档不定长词句的查询方法 |
CN110619036A (zh) * | 2019-08-25 | 2019-12-27 | 南京理工大学 | 基于改进if-idf算法的全文检索系统 |
Also Published As
Publication number | Publication date |
---|---|
CN112183087A (zh) | 2021-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10565273B2 (en) | Tenantization of search result ranking | |
Chaudhuri et al. | Extending autocompletion to tolerate errors | |
CN101819578B (zh) | 检索方法、索引建立方法和装置及检索系统 | |
US8209321B2 (en) | Emphasizing search results according to conceptual meaning | |
US6999914B1 (en) | Device and method of determining emotive index corresponding to a message | |
US6026398A (en) | System and methods for searching and matching databases | |
KR101524889B1 (ko) | 간접 화법 내에서의 시맨틱 관계의 식별 | |
US20080275859A1 (en) | Method and system for disambiguating informational objects | |
US20090063426A1 (en) | Identification of semantic relationships within reported speech | |
Yerra et al. | A sentence-based copy detection approach for web documents | |
Taghva et al. | Expert system for automatically correcting OCR output | |
CN114722137A (zh) | 基于敏感数据识别的安全策略配置方法、装置及电子设备 | |
US11151317B1 (en) | Contextual spelling correction system | |
JP4254763B2 (ja) | 文書検索システム、文書検索方法及び文書検索プログラム | |
WO2020037794A1 (zh) | 一种英文地名的索引建立方法及其查询方法和装置 | |
Turba | Checking for spelling and typographical errors in computer-based text | |
US20100205175A1 (en) | Cap-sensitive text search for documents | |
CN112183087B (zh) | 一种敏感文本识别的系统和方法 | |
CN115617965A (zh) | 一种语言结构大数据的快速检索方法 | |
KR20040098862A (ko) | 색인 및 형태소 분석에 이용되는 특정문서 고유사전의 작성방법 및 작성을 위한 장치 | |
Bayer et al. | Evaluation of an ontology-based knowledge-management-system. a case study of convera retrievalware 8.0 | |
KR20200122089A (ko) | 지역 색인을 이용한 전자문서 검색 방법 및 장치 | |
KR102338949B1 (ko) | 기술문서 번역 지원 시스템 | |
CN110347804B (zh) | 一种线性时间复杂度的敏感信息检测方法 | |
CN110175268B (zh) | 一种最长匹配资源映射方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |