CN111753547B - 一种用于敏感数据泄露检测的关键词提取方法及系统 - Google Patents
一种用于敏感数据泄露检测的关键词提取方法及系统 Download PDFInfo
- Publication number
- CN111753547B CN111753547B CN202010610999.7A CN202010610999A CN111753547B CN 111753547 B CN111753547 B CN 111753547B CN 202010610999 A CN202010610999 A CN 202010610999A CN 111753547 B CN111753547 B CN 111753547B
- Authority
- CN
- China
- Prior art keywords
- idf
- word
- mailbox
- document
- chinese
- 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
- 238000000605 extraction Methods 0.000 title claims abstract description 67
- 238000001514 detection method Methods 0.000 title claims abstract description 19
- 238000012545 processing Methods 0.000 claims abstract description 37
- 238000000034 method Methods 0.000 claims abstract description 32
- 238000004140 cleaning Methods 0.000 claims abstract description 19
- 230000011218 segmentation Effects 0.000 claims description 32
- 230000014509 gene expression Effects 0.000 claims description 26
- 238000012163 sequencing technique Methods 0.000 claims description 22
- 238000004364 calculation method Methods 0.000 claims description 21
- 238000003058 natural language processing Methods 0.000 claims description 12
- 238000007781 pre-processing Methods 0.000 claims description 8
- 238000005457 optimization Methods 0.000 description 7
- 230000007547 defect Effects 0.000 description 3
- 238000006467 substitution reaction Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000012634 fragment Substances 0.000 description 2
- 238000009499 grossing Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000002372 labelling Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification 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/289—Phrasal analysis, e.g. finite state techniques or chunking
- G06F40/295—Named entity recognition
-
- 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
-
- 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/35—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/216—Parsing using statistical methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/107—Computer-aided management of electronic mailing [e-mailing]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Human Resources & Organizations (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Strategic Management (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Artificial Intelligence (AREA)
- Entrepreneurship & Innovation (AREA)
- Computer Hardware Design (AREA)
- Economics (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Software Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种用于敏感数据泄露检测的关键词提取方法及检测系统,包括对源文本数据进行清洗,去时间、日期,得到目标文档;针对目标文档,采用TF‑IDF算法进行关键词提取,得到TF‑IDF关键词候选;针对目标文档,进行非中文处理,得到邮箱、URL、IP、手机号、最长公共子串关键词;将得到的TF‑IDF关键词候选与邮箱、URL、IP、手机号、最长公共子串关键词进行剔重排序,得到TF‑IDF关键词。
Description
技术领域
本发明涉及计算机数据安全技术领域,具体为一种用于敏感数据泄露检测的关键词提取方法及系统。
背景技术
随着DevOps、开源等趋势,越来越多员工喜欢在Github、网盘、论坛上传企业内部文档、代码等数据,而这些数据又常常包含了敏感高危信息,因此企业面临敏感数据泄露的风险。
互联网数据泄露具有渠道多、范围广的特点,如何有效的从海量的互联网信息中查找和追回数据是企业面临的一大难题。当前企业用的最多最广的方法是利用敏感数据匹配的方式进行互联网敏感信息发现,而敏感词的搜集是该方法的关键。传统的敏感词搜集是利用专家经验,从内部文档中人工提取关键词,缺点是搜集周期长、人工成本高、关键词覆盖面窄。
如申请号为201911195301.3公开的一种基于文本识别的敏感数据发现方法及系统,其通过文本标注模型和用于描述数据特征的标签体系,可以区分文本数据字段,降低数据分类结果之间的干扰,同时通过算法模型的迭代优化,可以精准、高效的对敏感数据进行判断,并识别出敏感字段类型,保证敏感数据的识别和具体数据分类结果的一致性。但是,该方法需要对文本进行分词。对于文档文本包含中文、英文、数字、标点符号等大类,其中有日期/时间、邮箱、URL、IP、手机号等一些特殊子类,在文本关键词提取过程中,在分词的时候对非中文不友好,容易引发分词不当和各种歧义。对于电信行业数据的特殊性,采用该方法进行关键词提取过程中,容易引发分词不当和各种歧义,导致关键词匹配失误率大。
发明内容
本发明所要解决的技术问题在于提供一种针对包含特殊字符文档的,用于敏感数据泄露检测的关键词提取方法。
一种用于敏感数据泄露检测的关键词提取方法,包括以下步骤:
S1.数据预处理,对源文本数据进行清洗,去时间、日期,得到目标文档;
S2.关键词提取,针对目标文档,采用TF-IDF算法进行关键词提取,得到TF-IDF关键词候选;
S3.非中文处理,针对目标文档,进行非中文处理,得到邮箱、URL、IP、手机号、最长公共子串关键词;
S4.剔重排序,将得到的TF-IDF关键词候选与邮箱、URL、IP、手机号、最长公共子串关键词进行剔重排序,得到TF-IDF关键词。
本发明利用自然语言处理中的关键词提取、命名实体识别、正则表达式等多种技术并行,并考虑文本数据本身非结构化的复杂特征,将文本数据进行拆解和切分,有针对性的进行处理,通过多种手段实现关键词提取。这样即避免了人工维护关键词带来的问题,也解决了传统关键词提取算法的缺陷。
进一步的,所述步骤S1具体为
1)命名实体识别:采用自然语言处理工具包Stanford CoreNLP,对原文本数据中的时间、日期分别标注为TIME、DATE;
2)替换:将文本中标注为TIME和DATE的替换成空格。
进一步的,所述步骤S2具体为
S201:分词,使用中文分词工具jieba进行分词;
S202:去停用词;
S203:采用TF-IDF进行关键词提取,得到TF-IDF关键词候选。
进一步的,针对TF-IDF关键词候选,由专家根据经验判断提取的关键词中对业务无意义的词,添加到停用词库中。
进一步的,所述TF-IDF算法包括TF算法和IDF算法,其中TF计算公式为
其中nij表示词i在文档j中的出现频次:
IDF的计算公式为
其中,|D|为文档集中总文档数,包括目标文档、引入不同于目标文档的其他类型文档,|Di|为文档集中出现词i的文档数量;
计算完成后,提取每篇目标文档中词的tf-idf值排名top n的词,共计得到n*m个关键词,m表示目标文档数,然后将n*m个关键词汇总再按照tf-idf值排名取top k的词;其中,k<n*m。
进一步的,所述步骤S3具体为
S301.非中文提取
对文本中的中文用空格替代,将非中文文本划分为用空格分割的词。
S302.特殊串的提取
文档文本包含邮箱、URL、IP、手机号特殊子类,对每个子类进行单独提取:
邮箱处理策略:使用正则表达式,匹配出邮箱地址,以其在整个文档集内出现的词频作为关键性的排序依据,生成邮箱域名清单,本发明实例中对目标样本文档提取135个邮箱地址;
URL处理策略:使用正则表达式,匹配出URL,以其在整个文档集内出现的词频作为关键性的排序依据,生成URL域名清单,本发明实例中对目标样本文档提取59个URL;
IP处理策略:使用正则表达式,匹配出IP地址,以其在整个文档集内出现的词频作为关键性的排序依据,生成IP地址清单,本发明实例中对目标样本文档提取761个IP地址;
手机号处理策略:使用正则表达式,匹配出手机号,以其在整个文档集内出现的词频作为关键性的排序依据,生成手机号清单,本发明实例中对目标样本文档提取186个手机号码;
S303.公共子串提取
1)剔除:在S301中剔除了中文的基础上,再将S302中提取的特殊串邮箱、URL、IP、手机号去除;
2)清洗:对步骤1)处理后的部分做清洗,将词的长度小于2或者不包含数字、字母的串去除;
3)公共最长子串提取:提取词与词之间的最长公共子串,以子串在整个文档集内出现的词频作为排序依据,生成公共子串清单。
本发明还提供一种用于敏感数据泄露检测的关键词提取系统,应用于上述的检测方法,包括
数据预处理模块,对源文本数据进行清洗,去时间、日期,得到目标文档;
关键词提取模块,针对目标文档,采用TF-IDF算法进行关键词提取,得到TF-IDF关键词候选;
非中文处理模块,针对目标文档,进行非中文处理,得到邮箱、URL、IP、手机号、最长公共子串关键词;
剔重排序模块,将得到的TF-IDF关键词候选与邮箱、URL、IP、手机号、最长公共子串关键词进行剔重排序,得到TF-IDF关键词。
进一步的,所述数据预处理模块具体执行过程为
1)命名实体识别:采用自然语言处理工具包Stanford CoreNLP,对原文本数据中的时间、日期分别标注为TIME、DATE;
2)替换:将文本中标注为TIME和DATE的替换成空格。
进一步的,所述关键词提取模块具体执行过程为
S201:分词,使用中文分词工具jieba进行分词;
S202:去停用词;
S203:采用TF-IDF进行关键词提取,由专家根据经验判断提取的关键词中对业务无意义的词,添加到停用词库中。
进一步的,所述TF-IDF算法包括TF算法和IDF算法,其中TF计算公式为
其中nij表示词i在文档j中的出现频次:
IDF的计算公式为
其中,|D|为文档集中总文档数,包括目标文档、引入不同于目标文档的其他类型文档,|Di|为文档集中出现词i的文档数量;
计算完成后,提取每篇目标文档中词的tf-idf值排名top n的词,共计得到n*m个关键词,m表示目标文档数,然后将n*m个关键词汇总再按照tf-idf值排名取top k的词;其中,k<n*m。
进一步的,所述非中文处理模块具体执行过程为
S301.非中文提取
对文本中的中文用空格替代,将非中文文本划分为用空格分割的词。
S302.特殊串的提取
文档文本包含邮箱、URL、IP、手机号特殊子类,对每个子类进行单独提取:
邮箱处理策略:使用正则表达式,匹配出邮箱地址,以其在整个文档集内出现的词频作为关键性的排序依据,生成邮箱域名清单,本发明实例中对目标样本文档提取135个邮箱地址;
URL处理策略:使用正则表达式,匹配出URL,以其在整个文档集内出现的词频作为关键性的排序依据,生成URL域名清单,本发明实例中对目标样本文档提取59个URL;
IP处理策略:使用正则表达式,匹配出IP地址,以其在整个文档集内出现的词频作为关键性的排序依据,生成IP地址清单,本发明实例中对目标样本文档提取761个IP地址;
手机号处理策略:使用正则表达式,匹配出手机号,以其在整个文档集内出现的词频作为关键性的排序依据,生成手机号清单,本发明实例中对目标样本文档提取186个手机号码;
S303.公共子串提取
1)剔除:在S301中剔除了中文的基础上,再将S302中提取的特殊串邮箱、URL、IP、手机号去除;
2)清洗:对步骤1)处理后的部分做清洗,将词的长度小于2或者不包含数字、字母的串去除;
3)公共最长子串提取:提取词与词之间的最长公共子串,以子串在整个文档集内出现的词频作为排序依据,生成公共子串清单。
本发明通过以下技术手段实现解决上述技术问题的:
本发明的优点在于:
本发明利用自然语言处理中的关键词提取、命名实体识别、正则表达式等多种技术并行,并考虑文本数据本身非结构化的复杂特征,将文本数据进行拆解和切分,有针对性的进行处理,通过多种手段实现关键词提取。这样即避免了人工维护关键词带来的问题,也解决了传统关键词提取算法的缺陷。
另外,在TF-IDF计算过程中,引入其他类型文档,提高总文档数,充分考虑特征想在类间、类内的分布信息,减少单一类别文档导致的IDF值造成的影响。
附图说明
图1为本发明实施例中基于关键词匹配的敏感数据泄露检测方法的流程框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
一种用于敏感数据泄露检测的关键词提取方法,包括
步骤1.数据预处理
在传统的关键词提取算法中,直接对文本进行分词,然后再利用自然语言处理中关键词提取算法进行关键词的提取。但是在敏感数据泄露事件中,文本中的某些数据不是关键词而因为出现的频次多会被当作关键词提取出来,如时间串、日期经过分词后会出现“00”、“24:”等,这样的“关键词”显然不是我们所需要的。
本发明实例中,在进行关键词提取之前对源文本数据进行清洗,去除时间、日期等数据:
1)命名实体识别:这里利用斯坦福的一款自然语言处理工具包StanfordCoreNLP,对本文中的时间、日期进行标注;
2)替换:将文本中标注为'TIME'或者'DATE'的替换成空格;
步骤2.TF-IDF关键词提取
TF-IDF算法是一种基于统计的计算方法,常用于评估在一个文档集中一个词对某份文档的重要程度。
S201:分词
分词、去停用词是自然语言处理中关键词提取的常规操作,这里使用的是中文分词工具jieba:jieba是目前最好的Python中文分词组件,它主要有以下3种特性:
1)支持3种分词模式:精确模式、全模式、搜索引擎模式
2)支持繁体分词
3)支持自定义词典
S202:去停用词
关键在于停用词表的维护。有了停用词表,实际使用时,在分词之后,若分词结果中包含停用词则直接剔掉。目前网上停用词表较多,哈工大停用词表、百度停用词表等均较常见。但针对具体业务,可以按业务需要,专门整理对业务无帮助或无意义的词。
本发明实例中用到哈工大停用词表,并通过S203关键词提取之后,由专家经验判别出对业务无帮助或者无意义的词,添加到停用词库中,随着业务的发展,关键词提取的准确度将越来越高。
S203:优化的TF-IDF关键词提取
TF-IDF算法(Term Frequency-Inverse Document Frequency,词频-逆文档频次算法)是一种基于统计的计算方法,常用以评估一个单词在一个文档集合或语料库中的重要程度。从算法的名称就可以看出,TF-IDF算法由两部分组成:TF算法以及IDF算法。TF算法是统计一个词在一篇文档中出现的频次,其基本思想是,一个词在文档中出现的次数越多,则其对文档的表达能力也就越强。而IDF算法则是统计一个词在文档集的多少个文档中出现,其基本的思想是,如果一个词在越少的文档中出现,则其对文档的区分能力也就越强;在此计算的TF-IDF值越高,也就说明其对应的词语更为关键;
在实际使用中,TF的计算常用式(2.1)。其中nij表示词i在文档j中的出现频次,但是仅用频次来表示,长文本中的词出现频次高的概率会更大,这一点会影响到不同文档之间关键词权值的比较。所以在计算的过程中一般会对词频进行归一化。分母部分就是统计文档中每个词出现次数的总和,也就是文档的总词数。更直白的表示方式就是,tf(word)=(word在文档中出现的次数)/(文档总词数)。
而IDF的计算常用式(2.2)。|D|为文档集中总文档数,|Di|为文档集中出现词i的文档数量。分母加1是采用了拉普拉斯平滑,避免有部分新的词没有在语料库中出现过而导致分母为零的情况出现,增强算法的健壮性。
基于TF-IDF算法定义做出部分优化:
1)该算法本身没有考虑特征项在类间、类内的分布信息。比如关键词i在目标文本类别中出现的文档数是|Di|,按照IDF公式,|Di|越大则IDF值越小,表示词条i没有很好的区分能力,但实际上|Di|越大表示越频繁出现,说明i对于该类别文档有很好的区分能力。这里,我们的模型增加不同于目标文档的其他类型文档,如新闻类文档,提高总文档数|D|的值,通过IDF公式可知,这样可以减少单一类别文档导致的IDF值造成的影响;
2)该算法本身是提取文本中词的TF-IDF值排在top n的n个词作为关键词,这里我们的另一个优化点是:计算完成后,提取每篇目标文档中词的tf-idf值排名top n的词,共计得到n*m个关键词,m表示目标文档数,然后将n*m个关键词汇总再按照tf-idf值排名取top k的词;其中,k<n*m,k、n取值根据业务需要以及文本总词量来定。
步骤3.非中文处理
考虑文本数据本身非结构化的复杂特征以及传统分词对非中文部分的不合理,将文本数据进行拆解和切分,对文本的非中文部分进行特殊处理。
S301:非中文提取
对文本中的中文用空格替代,将非中文文本划分为用空格分割的词。
S302:特殊串的提取
文档文本包含邮箱、URL、IP、手机号等一些特殊子类,这里我们首先按照规则对这些子类单独进行提取:
邮箱处理策略:使用正则表达式,匹配出邮箱地址,以其在整个文档集内出现的词频作为关键性的排序依据,生成邮箱域名清单,本发明实例中对目标样本文档提取135个邮箱地址。
URL处理策略:使用正则表达式,匹配出URL,以其在整个文档集内出现的词频作为关键性的排序依据,生成URL域名清单,本发明实例中对目标样本文档提取59个URL。
IP处理策略:使用正则表达式,匹配出IP地址,以其在整个文档集内出现的词频作为关键性的排序依据,生成IP地址清单,本发明实例中对目标样本文档提取761个IP地址。
手机号处理策略:使用正则表达式,匹配出手机号,以其在整个文档集内出现的词频作为关键性的排序依据,生成手机号清单,本发明实例中对目标样本文档提取186个手机号码。
S303:公共子串提取
1)剔除:在S301中剔除了中文的基础上,再将S302中提取的特殊串邮箱、URL、IP、手机号去除;
2)清洗:对步骤1)处理后的部分做清洗,将词的长度小于2或者不包含数字、字母的串去除。这里主要是为了剔除纯数字、特殊字符组合、标点组合等无意义的串;
3)公共最长子串提取:提取词与词之间的最长公共子串,以子串在整个文档集内出现的词频作为关键性的排序依据,生成公共子串清单,如:
本发明实例中对目标样本文档提取617个子串。
步骤4.结果整合和优化
1)TF-IDF结果中包含所有非中文的分词,与上述S3中的5个结果集存在交集及子串的情况。将TF-IDF结果中的非中文部分与上述5个结果集进行比较。策略是:如果TF-IDF词W1是任一结果集中词W2的子串(包括相同),则剔除TF-IDF词W1,例如TF-IDF中的”HZ”和公共子串中的”HZ-MMSA”,将在TF-IDF中删除”HZ”;
2)对经过上一步清理后的TF-IDF结果、四个特殊串(URL、邮箱、手机号码、IP)以及公共子串,最终得到目标文本集的6个关键词清单集;
3)将以上得到的关键词到互联网上检测泄露的敏感数据,匹配度更高且更全。另一方面,维护人员可以在日常检测过程中,将匹配度不高、不准的关键词放入停用词库,不断优化关键词库。
与上述检测方法对应的,本实施例还提供一种用于敏感数据泄露检测的关键词提取系统,包括:
数据预处理模块
在传统的关键词提取算法中,直接对文本进行分词,然后再利用自然语言处理中关键词提取算法进行关键词的提取。但是在敏感数据泄露事件中,文本中的某些数据不是关键词而因为出现的频次多会被当作关键词提取出来,如时间串、日期经过分词后会出现“00”、“24:”等,这样的“关键词”显然不是我们所需要的。
本发明实例中,在进行关键词提取之前对源文本数据进行清洗,去除时间、日期等数据:
1)命名实体识别:这里利用斯坦福的一款自然语言处理工具包StanfordCoreNLP,对本文中的时间、日期进行标注;
2)替换:将文本中标注为'TIME'或者'DATE'的替换成空格;
TF-IDF关键词提取模块
TF-IDF算法是一种基于统计的计算方法,常用于评估在一个文档集中一个词对某份文档的重要程度。
S201:分词
分词、去停用词是自然语言处理中关键词提取的常规操作,这里使用的是中文分词工具jieba:jieba是目前最好的Python中文分词组件,它主要有以下3种特性:
1)支持3种分词模式:精确模式、全模式、搜索引擎模式
2)支持繁体分词
3)支持自定义词典
S202:去停用词
关键在于停用词表的维护。有了停用词表,实际使用时,在分词之后,若分词结果中包含停用词则直接剔掉。目前网上停用词表较多,哈工大停用词表、百度停用词表等均较常见。但针对具体业务,可以按业务需要,专门整理对业务无帮助或无意义的词。
本发明实例中用到哈工大停用词表,并通过S203关键词提取之后,由专家经验判别出对业务无帮助或者无意义的词,添加到停用词库中,随着业务的发展,关键词提取的准确度将越来越高。
S203:优化的TF-IDF关键词提取
TF-IDF算法(Term Frequency-Inverse Document Frequency,词频-逆文档频次算法)是一种基于统计的计算方法,常用以评估一个单词在一个文档集合或语料库中的重要程度。从算法的名称就可以看出,TF-IDF算法由两部分组成:TF算法以及IDF算法。TF算法是统计一个词在一篇文档中出现的频次,其基本思想是,一个词在文档中出现的次数越多,则其对文档的表达能力也就越强。而IDF算法则是统计一个词在文档集的多少个文档中出现,其基本的思想是,如果一个词在越少的文档中出现,则其对文档的区分能力也就越强;在此计算的TF-IDF值越高,也就说明其对应的词语更为关键;
在实际使用中,TF的计算常用式(2.1)。其中nij表示词i在文档j中的出现频次,但是仅用频次来表示,长文本中的词出现频次高的概率会更大,这一点会影响到不同文档之间关键词权值的比较。所以在计算的过程中一般会对词频进行归一化。分母部分就是统计文档中每个词出现次数的总和,也就是文档的总词数。更直白的表示方式就是,tf(word)=(word在文档中出现的次数)/(文档总词数)。
而IDF的计算常用式(2.2)。|D|为文档集中总文档数,|Di|为文档集中出现词i的文档数量。分母加1是采用了拉普拉斯平滑,避免有部分新的词没有在语料库中出现过而导致分母为零的情况出现,增强算法的健壮性。
基于TF-IDF算法定义做出部分优化:
1)该算法本身没有考虑特征项在类间、类内的分布信息。比如关键词i在目标文本类别中出现的文档数是|Di|,按照IDF公式,|Di|越大则IDF值越小,表示词条i没有很好的区分能力,但实际上|Di|越大表示越频繁出现,说明i对于该类别文档有很好的区分能力。这里,我们的模型增加不同于目标文档的其他类型文档,如新闻类的文档,提高总文档数|D|的值,通过IDF公式可知,这样可以减少单一类别文档导致的IDF值造成的影响;
2)该算法本身是提取文本中词的TF-IDF值排在top n的n个词作为关键词,这里我们的另一个优化点是:计算完成后,提取每篇目标文档中词的tf-idf值排名top n的词,共计得到n*m个关键词,m表示目标文档数,然后将n*m个关键词汇总再按照tf-idf值排名取top k的词;其中,k<n*m,k、n取值根据业务需要以及文本总词量来定。
非中文处理模块
考虑文本数据本身非结构化的复杂特征以及传统分词对非中文部分的不合理,将文本数据进行拆解和切分,对文本的非中文部分进行特殊处理。
S301:非中文提取
对文本中的中文用空格替代,将非中文文本划分为用空格分割的词。
S302:特殊串的提取
文档文本包含邮箱、URL、IP、手机号等一些特殊子类,这里我们首先按照规则对这些子类单独进行提取:
邮箱处理策略:使用正则表达式,匹配出邮箱地址,以其在整个文档集内出现的词频作为关键性的排序依据,生成邮箱域名清单,本发明实例中对目标样本文档提取135个邮箱地址。
URL处理策略:使用正则表达式,匹配出URL,以其在整个文档集内出现的词频作为关键性的排序依据,生成URL域名清单,本发明实例中对目标样本文档提取59个URL。
IP处理策略:使用正则表达式,匹配出IP地址,以其在整个文档集内出现的词频作为关键性的排序依据,生成IP地址清单,本发明实例中对目标样本文档提取761个IP地址。
手机号处理策略:使用正则表达式,匹配出手机号,以其在整个文档集内出现的词频作为关键性的排序依据,生成手机号清单,本发明实例中对目标样本文档提取186个手机号码。
S303:公共子串提取
1)剔除:在S301中剔除了中文的基础上,再将S302中提取的特殊串邮箱、URL、IP、手机号去除;
2)清洗:对步骤1)处理后的部分做清洗,将词的长度小于2或者不包含数字、字母的串去除。这里主要是为了剔除纯数字、特殊字符组合、标点组合等无意义的串;
3)公共最长子串提取:提取词与词之间的最长公共子串,以子串在整个文档集内出现的词频作为关键性的排序依据,生成公共子串清单,如:
本发明实例中对目标样本文档提取617个子串。
结果整合和优化模块
1)TF-IDF结果中包含所有非中文的分词,与上述S3中的5个结果集存在交集及子串的情况。将TF-IDF结果中的非中文部分与上述5个结果集进行比较。策略是:如果TF-IDF词W1是任一结果集中词W2的子串(包括相同),则剔除TF-IDF词W1,例如TF-IDF中的”HZ”和公共子串中的”HZ-MMSA”,将在TF-IDF中删除”HZ”;
2)对经过上一步清理后的TF-IDF结果、四个特殊串(URL、邮箱、手机号码、IP)以及公共子串,最终得到目标文本集的6个关键词清单集;
3)将以上得到的关键词到互联网上检测泄露的敏感数据,匹配度更高且更全。另一方面,维护人员可以在日常检测过程中,将匹配度不高、不准的关键词放入停用词库,不断优化关键词库。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (4)
1.一种用于敏感数据泄露检测的关键词提取方法,其特征在于:包括以下步骤:
S1.数据预处理,对源文本数据进行清洗,去时间、日期,得到目标文档;
S2.关键词提取,针对目标文档,采用TF-IDF算法进行关键词提取,得到TF-IDF关键词候选;
所述步骤S2具体为
S201:分词,使用中文分词工具jieba进行分词;
S202:去停用词;
S203:采用TF-IDF进行关键词提取,得到TF-IDF关键词候选;
所述TF-IDF算法包括TF算法和IDF算法,其中TF计算公式为
其中nij表示词i在文档j中的出现频次:
IDF的计算公式为
其中,|D|为文档集中总文档数,包括目标文档、引入不同于目标文档的其他类型文档,|Di|为文档集中出现词i的文档数量;
计算完成后,提取每篇目标文档中词的tf-idf值排名top n的词,共计得到n*m个关键词,m表示目标文档数,然后将n*m个关键词汇总再按照tf-idf值排名取top k的词;其中,k<n*m;
S3.非中文处理,针对目标文档,进行非中文处理,得到邮箱、URL、IP、手机号、最长公共子串关键词;
所述步骤S3具体为
S301.非中文提取
对文本中的中文用空格替代,将非中文文本划分为用空格分割的词;
S302.特殊串的提取
文档文本包含邮箱、URL、IP、手机号特殊子类,对每个子类进行单独提取:
邮箱处理策略:使用正则表达式,匹配出邮箱地址,以其在整个文档集内出现的词频作为关键性的排序依据,生成邮箱域名清单;
URL处理策略:使用正则表达式,匹配出URL,以其在整个文档集内出现的词频作为关键性的排序依据,生成URL域名清单;
IP处理策略:使用正则表达式,匹配出IP地址,以其在整个文档集内出现的词频作为关键性的排序依据,生成IP地址清单;
手机号处理策略:使用正则表达式,匹配出手机号,以其在整个文档集内出现的词频作为关键性的排序依据,生成手机号清单;
S303.公共子串提取
1)剔除:在S301中剔除了中文的基础上,再将S302中提取的特殊串邮箱、URL、IP、手机号去除;
2)清洗:对步骤1)处理后的部分做清洗,将词的长度小于2或者不包含数字、字母的串去除;
3)公共最长子串提取:提取词与词之间的最长公共子串,以子串在整个文档集内出现的词频作为排序依据,生成公共子串清单;
S4.剔重排序,将得到的TF-IDF关键词候选与邮箱、URL、IP、手机号、最长公共子串关键词进行剔重排序,得到TF-IDF关键词清单集。
2.根据权利要求1所述的一种用于敏感数据泄露检测的关键词提取方法,其特征在于:所述步骤S1具体为
1)命名实体识别:采用自然语言处理工具包Stanford CoreNLP,对原文本数据中的时间、日期分别标注为TIME、DATE;
2)替换:将文本中标注为TIME和DATE的替换成空格。
3.一种用于敏感数据泄露检测的关键词提取系统,其特征在于:应用于权利要求1或2任一所述的提取方法,包括
数据预处理模块,对源文本数据进行清洗,去时间、日期,得到目标文档;
关键词提取模块,针对目标文档,采用TF-IDF算法进行关键词提取,得到TF-IDF关键词候选;
所述关键词提取模块具体执行过程为
S201:分词,使用中文分词工具jieba进行分词;
S202:去停用词;
S203:采用TF-IDF进行关键词提取,得到TF-IDF关键词候选;
所述TF-IDF算法包括TF算法和IDF算法,其中TF计算公式为
其中nij表示词i在文档j中的出现频次:
IDF的计算公式为
其中,|D|为文档集中总文档数,包括目标文档、引入不同于目标文档的其他类型文档,|Di|为文档集中出现词i的文档数量;
计算完成后,提取每篇目标文档中词的tf-idf值排名top n的词,共计得到n*m个关键词,m表示目标文档数,然后将n*m个关键词汇总再按照tf-idf值排名取top k的词;其中,k<n*m;
非中文处理模块,针对目标文档,进行非中文处理,得到邮箱、URL、IP、手机号、最长公共子串关键词;
所述非中文处理模块具体执行过程为
S301.非中文提取
对文本中的中文用空格替代,将非中文文本划分为用空格分割的词;
S302.特殊串的提取
文档文本包含邮箱、URL、IP、手机号特殊子类,对每个子类进行单独提取:
邮箱处理策略:使用正则表达式,匹配出邮箱地址,以其在整个文档集内出现的词频作为关键性的排序依据,生成邮箱域名清单;
URL处理策略:使用正则表达式,匹配出URL,以其在整个文档集内出现的词频作为关键性的排序依据,生成URL域名清单;
IP处理策略:使用正则表达式,匹配出IP地址,以其在整个文档集内出现的词频作为关键性的排序依据,生成IP地址清单;
手机号处理策略:使用正则表达式,匹配出手机号,以其在整个文档集内出现的词频作为关键性的排序依据,生成手机号清单;
S303.公共子串提取
1)剔除:在S301中剔除了中文的基础上,再将S302中提取的特殊串邮箱、URL、IP、手机号去除;
2)清洗:对步骤1)处理后的部分做清洗,将词的长度小于2或者不包含数字、字母的串去除;
3)公共最长子串提取:提取词与词之间的最长公共子串,以子串在整个文档集内出现的词频作为排序依据,生成公共子串清单;
剔重排序模块,将得到的TF-IDF关键词候选与邮箱、URL、IP、手机号、最长公共子串关键词进行剔重排序,得到TF-IDF关键词清单集。
4.根据权利要求3所述的一种用于敏感数据泄露检测的关键词提取系统,其特征在于:所述数据预处理模块具体执行过程为
1)命名实体识别:采用自然语言处理工具包Stanford CoreNLP,对原文本数据中的时间、日期分别标注为TIME、DATE;
2)替换:将文本中标注为TIME 和DATE的替换成空格。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010610999.7A CN111753547B (zh) | 2020-06-30 | 2020-06-30 | 一种用于敏感数据泄露检测的关键词提取方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010610999.7A CN111753547B (zh) | 2020-06-30 | 2020-06-30 | 一种用于敏感数据泄露检测的关键词提取方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111753547A CN111753547A (zh) | 2020-10-09 |
CN111753547B true CN111753547B (zh) | 2024-02-27 |
Family
ID=72678183
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010610999.7A Active CN111753547B (zh) | 2020-06-30 | 2020-06-30 | 一种用于敏感数据泄露检测的关键词提取方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111753547B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112232020B (zh) * | 2020-12-14 | 2021-03-16 | 北京智慧星光信息技术有限公司 | 文章发布时间通用识别方法、系统、电子设备及存储介质 |
CN114186561A (zh) * | 2021-10-20 | 2022-03-15 | 福建亿榕信息技术有限公司 | 一种基于知识图谱的电子文件关联分析方法及系统 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101694670A (zh) * | 2009-10-20 | 2010-04-14 | 北京航空航天大学 | 一种基于公共子串的中文Web文档在线聚类方法 |
US8812299B1 (en) * | 2010-06-24 | 2014-08-19 | Nuance Communications, Inc. | Class-based language model and use |
WO2017084267A1 (zh) * | 2015-11-18 | 2017-05-26 | 乐视控股(北京)有限公司 | 一种关键词提取方法和装置 |
CN107562824A (zh) * | 2017-08-21 | 2018-01-09 | 昆明理工大学 | 一种文本相似度检测方法 |
CN108170666A (zh) * | 2017-11-29 | 2018-06-15 | 同济大学 | 一种基于tf-idf关键词提取的改进方法 |
CN109960724A (zh) * | 2019-03-13 | 2019-07-02 | 北京工业大学 | 一种基于tf-idf的文本摘要方法 |
CN110059311A (zh) * | 2019-03-27 | 2019-07-26 | 银江股份有限公司 | 一种面向司法文本数据的关键词提取方法及系统 |
CN110826320A (zh) * | 2019-11-28 | 2020-02-21 | 上海观安信息技术股份有限公司 | 一种基于文本识别的敏感数据发现方法及系统 |
CN110837556A (zh) * | 2019-10-30 | 2020-02-25 | 深圳价值在线信息科技股份有限公司 | 摘要生成方法、装置、终端设备及存储介质 |
CN110880075A (zh) * | 2019-11-21 | 2020-03-13 | 上海观安信息技术股份有限公司 | 一种员工离职倾向检测方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10394959B2 (en) * | 2017-12-21 | 2019-08-27 | International Business Machines Corporation | Unsupervised neural based hybrid model for sentiment analysis of web/mobile application using public data sources |
-
2020
- 2020-06-30 CN CN202010610999.7A patent/CN111753547B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101694670A (zh) * | 2009-10-20 | 2010-04-14 | 北京航空航天大学 | 一种基于公共子串的中文Web文档在线聚类方法 |
US8812299B1 (en) * | 2010-06-24 | 2014-08-19 | Nuance Communications, Inc. | Class-based language model and use |
WO2017084267A1 (zh) * | 2015-11-18 | 2017-05-26 | 乐视控股(北京)有限公司 | 一种关键词提取方法和装置 |
CN107562824A (zh) * | 2017-08-21 | 2018-01-09 | 昆明理工大学 | 一种文本相似度检测方法 |
CN108170666A (zh) * | 2017-11-29 | 2018-06-15 | 同济大学 | 一种基于tf-idf关键词提取的改进方法 |
CN109960724A (zh) * | 2019-03-13 | 2019-07-02 | 北京工业大学 | 一种基于tf-idf的文本摘要方法 |
CN110059311A (zh) * | 2019-03-27 | 2019-07-26 | 银江股份有限公司 | 一种面向司法文本数据的关键词提取方法及系统 |
CN110837556A (zh) * | 2019-10-30 | 2020-02-25 | 深圳价值在线信息科技股份有限公司 | 摘要生成方法、装置、终端设备及存储介质 |
CN110880075A (zh) * | 2019-11-21 | 2020-03-13 | 上海观安信息技术股份有限公司 | 一种员工离职倾向检测方法 |
CN110826320A (zh) * | 2019-11-28 | 2020-02-21 | 上海观安信息技术股份有限公司 | 一种基于文本识别的敏感数据发现方法及系统 |
Non-Patent Citations (5)
Title |
---|
Comments Mining With TF-IDF: The Inherent Bias and Its Removal;Yahav, I ET AL;《IEEE TRANSACTIONS ON KNOWLEDGE AND DATA ENGINEERING》;20190219;全文 * |
基于多维信息融合的知识库问答实体链接;曾宇涛等;《模式识别与人工智能》;20190715;第32卷(第7期);全文 * |
基于词或词组长度和频数的短中文文本关键词提取算法;陈伟鹤;刘云;;计算机科学(第12期);全文 * |
基于词或词组长度和频数的短中文文本关键词提取算法;陈伟鹤等;《计算机科学》;20161215(第12期);第50-57页 * |
改进的维吾尔语Web文本后缀树聚类;邹志华;田生伟;禹龙;冯冠军;;中文信息学报(第02期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111753547A (zh) | 2020-10-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10558754B2 (en) | Method and system for automating training of named entity recognition in natural language processing | |
CN111581976A (zh) | 医学术语的标准化方法、装置、计算机设备及存储介质 | |
US20180181544A1 (en) | Systems for Automatically Extracting Job Skills from an Electronic Document | |
CN111753547B (zh) | 一种用于敏感数据泄露检测的关键词提取方法及系统 | |
CN111767716A (zh) | 企业多级行业信息的确定方法、装置及计算机设备 | |
CN108628822B (zh) | 无语义文本的识别方法及装置 | |
CN110413998B (zh) | 一种面向电力行业的自适应中文分词方法及其系统、介质 | |
US20110145269A1 (en) | System and method for quickly determining a subset of irrelevant data from large data content | |
CN110990529B (zh) | 企业的行业明细划分方法及系统 | |
CN110334343B (zh) | 一种合同中个人隐私信息抽取的方法和系统 | |
CN113986864A (zh) | 日志数据处理方法、装置、电子设备及存储介质 | |
CN112883730B (zh) | 相似文本匹配方法、装置、电子设备及存储介质 | |
CN114266256A (zh) | 一种领域新词的提取方法及系统 | |
CN117236324A (zh) | 基于tf-idf的关键词提取方法 | |
CN111325019A (zh) | 词库的更新方法及装置、电子设备 | |
CN110688572A (zh) | 冷启动状态下搜索意图的识别方法 | |
Mashtalir et al. | Data preprocessing and tokenization techniques for technical Ukrainian texts | |
Saputri et al. | Sentiment analysis on shopee e-commerce using the naïve bayes classifier algorithm | |
CN113158001B (zh) | 一种网络空间ip资产归属及相关性判别方法及系统 | |
CN115114922A (zh) | 实体标签确定方法和装置 | |
CN111581950B (zh) | 同义名称词的确定方法和同义名称词的知识库的建立方法 | |
CN107577667A (zh) | 一种实体词处理方法和装置 | |
CN113934910A (zh) | 一种自动优化、更新的主题库构建方法,及热点事件实时更新方法 | |
JP4057587B2 (ja) | 特徴パターン出力装置 | |
Chen et al. | Chinese named entity abbreviation generation using first-order logic |
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 |