CN112131877A - 一种海量数据下的实时中文文本分词方法 - Google Patents
一种海量数据下的实时中文文本分词方法 Download PDFInfo
- Publication number
- CN112131877A CN112131877A CN202010996063.2A CN202010996063A CN112131877A CN 112131877 A CN112131877 A CN 112131877A CN 202010996063 A CN202010996063 A CN 202010996063A CN 112131877 A CN112131877 A CN 112131877A
- Authority
- CN
- China
- Prior art keywords
- data
- text
- word
- real
- file system
- 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
- 230000011218 segmentation Effects 0.000 title claims abstract description 57
- 238000000034 method Methods 0.000 title claims abstract description 36
- 238000012545 processing Methods 0.000 claims abstract description 56
- 238000000586 desensitisation Methods 0.000 claims abstract description 9
- 238000004806 packaging method and process Methods 0.000 claims abstract description 8
- 238000004140 cleaning Methods 0.000 claims abstract description 3
- 239000011159 matrix material Substances 0.000 claims description 18
- 238000000605 extraction Methods 0.000 claims description 16
- 238000001914 filtration Methods 0.000 claims description 13
- 238000002372 labelling Methods 0.000 claims description 11
- 238000006243 chemical reaction Methods 0.000 claims description 6
- 238000001514 detection method Methods 0.000 claims description 6
- 238000007476 Maximum Likelihood Methods 0.000 claims description 3
- 239000012634 fragment Substances 0.000 claims description 3
- 230000006798 recombination Effects 0.000 claims description 3
- 238000005215 recombination Methods 0.000 claims description 3
- 238000012216 screening Methods 0.000 claims description 3
- 230000007704 transition Effects 0.000 claims description 3
- 230000010365 information processing Effects 0.000 claims description 2
- 238000005516 engineering process Methods 0.000 abstract description 5
- 238000010223 real-time analysis Methods 0.000 abstract description 4
- 230000002265 prevention Effects 0.000 abstract description 3
- 238000007405 data analysis Methods 0.000 abstract description 2
- 238000004458 analytical method Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000003058 natural language processing Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000002360 explosive Substances 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Images
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/215—Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
-
- 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
- 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)
- Databases & Information Systems (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Probability & Statistics with Applications (AREA)
- Quality & Reliability (AREA)
- Machine Translation (AREA)
Abstract
本发明属于数据分析处理领域,尤其涉及一种海量数据下的实时中文文本分词方法。该方法具体步骤为:将采集的数据源上送至消息组件,通过实时流处理引擎消费,并清洗,封装,存入分布式文件系统;使用Pyflink程序读取分布式文件系统中的文本数据,并进行脱敏处理;利用分布式文件系统进行分词和词性标注,再进行规范化处理,进行关键词抽取,并统计,对结果进行封装,存储到分布式文件系统。本发明通过大数据技术和文本分词算法的融合,具有在线处理海量数据的能力和实时性的特点,实现了海量数据的场景下对文本数据的在线实时分析,同时,通过自主地动态调整停用词和数据字典,能够广泛地应用于即时分析和风险防控等场景中。
Description
技术领域
本发明属于数据分析处理领域,尤其涉及一种海量数据下的实时中文文本分词方法。
背景技术
在用户行为分析领域,获取的文本数据呈现爆发式增长。文本规模的不断增长,导致从海量数据中获取重要信息变得愈加困难。随着自然语言处理技术的广泛应用,从大规模文本数据中提取用户关键信息成为可能。
传统的文本关键信息提取,使用分布式系统结合自然语言处理技术,对海量数据进行离线处理。为了符合即时分析和风险防控等场景的需求,引入大数据流式处理技术,通过语言模型训练,对中文文本进行实时在线的文本分析。
发明内容
本发明公开了一种海量数据下的实时中文文本分词方法,以解决现有技术的上述以及其他潜在问题中任一问题。
为了达到上述技术方案,本发明的技术方案是:一种海量数据下的实时中文文本分词方法,具体包括以下步骤:
S1)采集日志数据上送至消息组件(Kafka),消费消息组件(Kafka)的数据作为实时处理模块的输入流;
(2)通过实时流处理引擎(Flink)消费消息组件(Kafka)数据,对数据流进行脏数据清洗,封装成Json落盘到分布式文件系统(HDFS);
(3)使用Pyflink读取(2)的分布式文件系统(HDFS)中的数据,获取最新的一条文本数据,对敏感数据进行脱敏处理;
(4)同时,通过数据读取接口,实时的读取分布式文件系统(HDFS)中存储的停用词及数据字典的文件。基于分词系统对(3)中读取的脱敏后的文本进行分词和词性标注,结合上述读取的停用词及数据字典,对分词结果进行规范化处理。使用词频-逆文档频率(TF-IDF)算法在规范化处理后的结果上进行关键词抽取;
(5)对(4)的关键词抽取的结果进行统计,并按照标准的报文格式对结果进行封装,最后存储到分布式文件系统(HDFS)。
进一步地,所述的实时中文文本分词方法,所述步骤(2),具体包括:
(2.1)创建实时流处理引擎的流处理环境,添加消息组件(Kafka)数据源;
(2.2)若干数据流(DataStream)经过转换算子处理合成新的数据流(DataStream)拓扑;
(2.3)执行过滤操作,过滤数据流(DataStream)的脏数据;
(2.4)指定数据流(DataStream)处理结果的存储方式和数据格式,将数据结果注入到分布式文件系统(HDFS)。
进一步地,所述的实时中文文本分词方法,所述步骤(3),具体包括:
(3.1)执行Pyflink项目任务代码,在实时流处理引擎(Flink)中生成处理脱敏任务的执行步骤;
(3.2)上述(3.1)的执行任务被提交到大数据集群中,在每个子节点分别执行上述任务的子任务;
(3.3)实时流处理引擎(Flink)整合上述子节点的子任务执行结果,作为下一步任务的数据输入。
进一步地,所述的实时中文文本分词方法,所述步骤(4),具体包括:
(4.1)从分布式文件系统(HDFS)中提取脱敏处理后的待分词文本。同时从分布式文件系统(HDFS)读取停用词和数据字典文本数据。基于数据字典,构建前缀词典;
(4.2)对于已登录的词组,基于前缀词典对其文本进行切分,得到所有的切分可能,并构造DAG。采用动态规划算法,获取已登录词组分词后的最大概率路径;
(4.3)对于未登录词组,通过序列标注方法对其文本进行状态序列标注,构建隐马尔可夫模型;
(4.4)通过Viterbi算法得到未登录词组的文本状态序列,获取分词后的最优路径,完成未登录词组的中文文本分词和词性标注;
(4.5)利用词频-逆文档频率(TF-IDF)算法对上述已登录和未登录词组分词后的文本序列进行关键词抽取;
(4.6)筛选抽取后的关键词以及词性,并基于停用词数据剔除无效词组;
(4.7)对上述步骤得到的关键词进行数据重组后,输出关键词的提取结果。
本发明的有益效果是:本发明通过大数据技术和文本分词算法的融合,具有在线处理海量数据的能力和实时性的特点,实现了海量数据的场景下对文本数据的在线实时分析,同时,通过自主地动态调整停用词和数据字典,能够广泛地应用于即时分析和风险防控等场景中。
附图说明
图1为本发明一种基于海量数据下的实时中文文本分词方法的流程示意图。
图2为本发明实施例中采用的基于实时流处理引擎(Flink)的数据过滤的流程图。
图3为本发明实施例提供的基于前缀词典和语言模型的文本分词流程图。
具体实施方式
下面结合附图和实施例对本发明的技术方案作进一步描述。
如图1所示:本发明一种海量数据下的实时中文文本分词方法,其所述方法具体包括以下步骤:
S1)将采集的数据源上送至消费消息组件,消费消息组件的所述数据源作为实时流处理引擎的输入流;
S2)通过实时流处理引擎对所述消费消息组件的数据流进行脏数据清洗,封装成Json落盘到分布式文件系统;
S3)使用Pyflink程序读取S2)的封装成Json落盘到分布式文件系统中的数据,获取文本数据,并对所述文本数据中的敏感数据进行脱敏处理;
S4)将S3)得到脱敏后的文本数据基于分布式文件系统中的停用词及数据字典文本数据进行分词和词性标注,并对词结果进行规范化处理,通过词频-逆文档频率算法在规范化处理后的结果上进行关键词抽取;所述停用词及数据字典,是分布式文件系统中自带数据。
S5)对S4)得到的关键词抽取的结果进行统计,并按照标准的报文格式对结果进行封装,最后存储到分布式文件系统。
所述S2)的具体步骤为:
S2.1)创建实时流处理引擎的流处理环境,添加消费消息组件的数据源;
S2.2)若干数据流经过转换算子处理合成新的数据流拓扑;
S2.3)执行过滤操作,过滤数据流的脏数据;
S2.4)指定数据流处理结果的存储方式和数据格式,将数据结果注入到分布式文件系统。
所述S3)的具体为:
S3.1)执行Pyflink项目任务代码,在实时流处理引擎中生成处理脱敏任务的执行步骤;
S3.2)将S3.1)的执行任务提交到大数据集群中,在每个子节点分别执行所述执行任务的子任务;
S3.3)实时流处理引擎整合上述子节点的子任务执行结果,作为下一步任务的数据输入。
所述S4)的具体步骤为:
S4.1)从分布式文件系统中提取脱敏处理后的待分词文本,同时从分布式文件系统读取停用词和数据字典文本数据,基于数据字典,构建前缀词典,判断词组是否已登录,如果已登录则执行S4.2),否则执行S4.3);
S4.2)对于已登录的词组,基于前缀词典对其文本进行切分,得到所有的切分可能,并构造DAG,采用动态规划算法,获取已登录词组分词后的最大概率路径序列;
S4.3)对于未登录词组,通过序列标注方法对其文本进行状态序列标注,构建隐马尔可夫模型;
S4.4)通过Viterbi算法得到未登录词组的文本状态序列,获取分词后的最优路径,获得未登录词组分词后的最大概率路径序列;
S4.5)利用词频-逆文档频率算法对得到S4.2)得到获取已登录词组分词后的最大概率路径序列和S4.4)未登录词组分词后的最大概率路径序列进行关键词抽取;
词频-逆文档频度(Term Frequency-Inverse Document Frequency,TF-IDF)技术,是一种用于资讯检索与文本挖掘的常用加权技术,可以用来评估一个词对于一个文档集或语料库中某个文档的重要程度。字词的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降。
S4.6)筛选抽取后的关键词以及词性,并基于停用词数据剔除无效词组;
S4.7)对S4.6)得到的关键词进行数据重组后,输出关键词的提取结果。
所述S5)的具体步骤为:
S5.1)任务处理器整合S4.7)输出关键词的提取结果,统计词频数量;
S5.2)根据S5.1)统计词频数量封装分词结果,并存储至分布式文件系统。
所述S4.2)的具体步骤为:
S4.21)获取需要进行分词处理的文本,从前往后依次遍历目标文本的每个位置,对于位置k,首先形成一个片段,所述片段只包含位置k的字,然后判断该片段是否在前缀词典中;
S4.22)若所述片段在前缀词典中,再根据词频进行判断,当词频大于0时,就将位置i追加到以位置k标志为key的一个序列中;
若词频等于0,则表明所述前缀词典存在所述片段,但是统计词典并没有所述片段,则不需要将这个位置i追加到所述序列中,继续执行S4.23),
若该片段不在前缀词典中,则表明这个片段已经超出统计词典中词组的范围,则终止循环;
S4.23)将位置k加1,获取下一个新的片段,所述新的片段在文本的索引为[k:i+1],返回,最终,完成对中文文本的切分,得到所有的切分,并构造DAG,采用动态规划算法,获取最大概率路径。
所述S4.3)的具体步骤为:
S4.31)利用前向-后向算法,计算模型参数矩阵λ下观测序列O出现的概率P(O|λ),其中O为观测序列,λ=(A,B,π),A为隐含状态概率转移矩阵,B为观测概率矩阵,π为初始概率矩阵;
S4.32)利用极大似然估计,计算隐马尔可夫模型,求得模型参数矩阵λ;
S4.33)利用Viterbi算法,计算给定模型参数矩阵λ基础上,观测序列的最优隐含状态序列,公式如下所示:
T=argTmaxP(T|V),T=(t1,t2,t3,...,tm),m>0,V=(v1,v2,v3,...,vm);
其中,V为输入文本,v1’v2’v3’…vm为子集,T为V的某个可能的标注结果,t1’t2’t3’…tm为子集,m为子集的个数,T1是最大概率的角色标注序列,即最终的标注结果,P为集合。
所述S2.1)的具体步骤为:
S2.11)创建实时流处理引擎的流处理环境,添加消费消息组件数据源,设置消息组件API具体参数;
S2.12)设定消费消息组件的偏移量的检测参数,并配置的存储方式和检测周期参数;
S2.13)配置环境变量:对若干数据流经过转换算子处理后,构造n维元组。
一种实现如上述的海量数据下的实时中文文本分词方法的信息处理终端。
一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行上述的一种海量数据下的实时中文文本分词方法。
实施例:
本发明实施例的实时处理模块接收消息组件(Kafka)中的日志数据,日志数据内容包括但不限于用户访问应用系统产生的请求数据,其中数据格式需要包含文本分隔符以及业务标识码。图2为本发明实施例中采用的基于实时流处理引擎(Flink)的数据过滤的流程图。根据图2,对S102做进一步说明,具体流程如下:
A201:创建实时流处理引擎(Flink)的流处理环境,添加消息组件(Kafka)DataSource。设置消息组件(Kafka)API具体参数,包括SERVER:HOST、ZK:HOST、GROUP.ID、TOPIC等。设定消息组件(Kafka)的偏移量offset的检测参数,并配置checkpoint的存储方式和检测周期参数等,避免在异常情况下实时流处理引擎(Flink)对消息组件(Kafka)文本数据的错误消费。
A202:配置;
StreamExecutionEnvironment.addSource(ParallelSourceFunction)自定义并行源,若干数据流(DataStream)经过Map()、FlatMap()等转换算子处理后,构造n维元组;
A203:对上述的并行数据源执行过滤操作,根据日志数据中的业务唯一标识码作正则匹配,过滤数据流(DataStream)的脏数据;
A204:构建实时流处理引擎的数据写入模块(Fink Sink),指定数据流(DataStream)处理结果的存储方式和数据格式,将数据结果注入到分布式文件系统(HDFS)。
上述步骤实现了对日志数据的实时接入和过滤,该路径下的分布式文件系统(HDFS)文件具有统一的数据格式,为下一步的文本数据脱敏、提取和分词准备了标准的数据源。在分词功能模块,在Python环境下,S103采用Pyflink获取分布式文件系统(HDFS)文本,调用自然语言处理模型对文本进一步处理。S103具体包括:
A301:执行Pyflink项目任务代码,在实时流处理引擎(Flink)中生成处理脱敏和分词的任务的执行步骤;
A302:上述的执行任务被提交到大数据集群中,在每个子节点分别执行上述任务的子任务;
S104为文本数据的分词和提取模块,具体实现步骤包括:
基于数据字典,构建前缀词典。
解析统计词典文本文件,每一行分别对应着词、词频、词性,将词和词频提取出来,以词为key,以词频为value,加入到前缀词典中。对于每个词,再分别获取它的前缀词,如果前缀词已经存在于前缀词典中,则不处理;如果该前缀词不在前缀词典中,则将其词频置为0,便于后续处理文本时,构建有向无环图。
(2)对于已登录的词组,基于(1)构建的前缀词典,对中文文本进行划分。
第一步,获取需要进行分词处理的文本,从前往后依次遍历目标文本的每个位置,对于位置k,首先形成一个片段,这个片段只包含位置k的字,然后就判断该片段是否在前缀词典中。
第二步,若该片段在前缀词典中,当词频大于0时,就将这个位置i追加到以k为key的一个序列中;若词频等于0,则表明前缀词典存在这个前缀,但是统计词典并没有这个词,不需要将这个位置i追加到上述的序列中,继续执行第一步所述的循环;若该片段不在前缀词典中,则表明这个片段已经超出统计词典中词组的范围,则终止循环。
第三步,位置k加1,获取下一个新的片段,该片段在文本的索引为[k:i+1],继续上述循环判断过程。最终,完成对中文文本的切分,得到所有的切分可能,并构造DAG。采用动态规划算法,获取最大概率路径;
(3)对于未登录词组,通过隐马尔可夫模型对文本进行状态序列标注。
第一步,利用前向-后向算法,计算模型参数矩阵λ下观测序列O出现的概率P(O|λ),其中O为观测序列,λ=(A,B,π),A为隐含状态概率转移矩阵,B为观测概率矩阵,π为初始概率矩阵。
第二步,观测序列和隐状态序列都给出情况下,利用极大似然估计,计算隐马尔可夫模型;给出观测序列,但没给出隐状态序列的前提下,利用Baum-Welch算法计算隐马尔可夫模型。通过上述方式求得模型参数矩阵λ。
第三步,利用Viterbi算法,计算给定模型参数矩阵基础上,观测序列的最优隐含状态序列。Vertbi算法的具体公式:
T1=argTmaxP(T|V),T=(t1,t2,t3,...,tm),m>0,V=(v1,v2,v3,...,vm);
其中,V是步骤S103中得到的输入文本,T是V的某个可能的标注结果,T1是最大概率的角色标注序列,即最终的标注结果。
例如:文本内容:“中国人民大学”
文字位置:“1 2 3 4 5 6”
数据字典:“中国”“人民”“大学”
基于数据字典生成前缀词典:“中”“中国”“中国人”“人”“人民”“大”“大学”
已登录词组:
从位置1开始遍历:会形成
{1,1}中 --未登录词
{1,1,2}中国
{1,1,2,3}—中国人,不在数据字典中,但在前缀词典中,需要标记为数据字典中未登录的词组,后续处理;{2,。。}—国**,没有这个字开头的词,需要抛弃掉。
{3,4}人民,
{5,6}大学,
下面处理未登录词
{1,1}中
{1,1,2,3}中国人
通过计算,得到中,中国,中国人哪个概率更大,便选择哪个是最优的分词结果。
(4)经上述(2)和(3)完成已登录词组和未登录词组的中文文本分词和词性标注;
(5)利用词频-逆文档频率(TF-IDF)算法对分词后的文本序列进行关键词抽取;
(6)筛选抽取后的关键词词性,并过滤停用词数据;
(7)数据重组后,输出关键词的提取结果。
经过上述的数据过滤和文本分词过程,获得最终的关键词序列。S105对结果数据重新整合处理并存储,具体如下:
A305:实时流处理引擎(Flink)整合上述任务的分词后,提取的关键词结果,并记录词频的数量;
A306:根据数据类型和数据格式要求,封装分词结果,并存储至分布式文件系统(HDFS)。
以上对本申请实施例所提供的一种海量数据下的实时中文文本分词方法,进行了详细介绍。以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
如在说明书及权利要求书当中使用了某些词汇来指称特定组件,硬件制造商可能会用不同名词来称呼同一个组件。本说明书及权利要求书并不以名称的差异来作为区分组件的方式,而是以组件在功能上的差异来作为区分的准则。如在通篇说明书及权利要求书当中所提及的“包含”、“包括”为一开放式用语,故应解释成“包含/包括但不限定于”。“大致”是指在可接收的误差范围内,本领域技术人员能够在一定误差范围内解决所述技术问题,基本达到所述技术效果。说明书后续描述为实施本申请的较佳实施方式,然所述描述乃以说明本申请的一般原则为目的,并非用以限定本申请的范围。本申请的保护范围当视所附权利要求书所界定者为准。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的商品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种商品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的商品或者系统中还存在另外的相同要素。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
上述说明示出并描述了本申请的若干优选实施例,但如前所述,应当理解本申请并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述申请构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本申请的精神和范围,则都应在本申请所附权利要求书的保护范围内。
Claims (10)
1.一种海量数据下的实时中文文本分词方法,其特征在于,所述方法具体包括以下步骤:
S1)将采集的数据源上送至消费消息组件,消费消息组件的所述数据源作为实时流处理引擎的输入流;
S2)通过实时流处理引擎对所述消费消息组件的数据流进行脏数据清洗,封装成Json落盘到分布式文件系统;
S3)使用Pyflink程序读取S2)的封装成Json落盘到分布式文件系统中的数据,获取文本数据,并对所述文本数据中的敏感数据进行脱敏处理;
S4)将S3)得到脱敏后的文本数据基于分布式文件系统中的停用词及数据字典文本数据进行分词和词性标注,并对词结果进行规范化处理,通过词频-逆文档频率算法在规范化处理后的结果上进行关键词抽取;
S5)对S4)得到的关键词抽取的结果进行统计,并按照标准的报文格式对结果进行封装,最后存储到分布式文件系统。
2.根据权利要求1所述的方法,其特征在于,所述S2)的具体步骤为:
S2.1)创建实时流处理引擎的流处理环境,添加消费消息组件的数据源;
S2.2)若干数据流经过转换算子处理合成新的数据流拓扑;
S2.3)执行过滤操作,过滤数据流的脏数据;
S2.4)指定数据流处理结果的存储方式和数据格式,将数据结果注入到分布式文件系统。
3.根据权利要求2所述的方法,其特征在于,所述S3)的具体为:
S3.1)执行Pyflink程序,在实时流处理引擎中生成处理脱敏任务的执行步骤;
S3.2)将S3.1)的执行任务提交到大数据集群中,在每个子节点分别执行所述执行任务的子任务;
S3.3)实时流处理引擎整合上述子节点的子任务执行结果,作为下一步任务的数据输入。
4.根据权利要求3所述的方法,其特征在于,所述S4)的具体步骤为:
S4.1)从分布式文件系统中提取脱敏处理后的待分词文本,同时从分布式文件系统读取停用词和数据字典文本数据,基于数据字典构建前缀词典,判断词组是否已登录,如果已登录则执行S4.2),否则执行S4.3);
S4.2)对于已登录的词组,基于前缀词典对其文本进行切分,得到所有的切分可能,并构造DAG,采用动态规划算法,获取已登录词组分词后的最大概率路径序列;
S4.3)对于未登录词组,通过序列标注方法对其文本进行状态序列标注,构建隐马尔可夫模型;
S4.4)通过Viterbi算法得到未登录词组的文本状态序列,获取分词后的最优路径,获得未登录词组分词后的最大概率路径序列;
S4.5)利用词频-逆文档频率算法对得到S4.2)得到获取已登录词组分词后的最大概率路径序列和S4.4)未登录词组分词后的最大概率路径序列进行关键词抽取;
S4.6)筛选抽取后的关键词以及词性,并基于停用词数据剔除无效词组;
S4.7)对S4.6)得到的关键词进行数据重组后,输出关键词的提取结果。
5.根据权利要求4所述的方法,其特征在于,所述S5)的具体步骤为:
S5.1)任务处理器整合S4.7)输出关键词的提取结果,统计词频数量;
S5.2)根据S5.1)统计词频数量封装分词结果,并存储至分布式文件系统。
6.根据权利要求4所述的方法,其特征在于,所述S4.2)的具体步骤为:
S4.21)获取需要进行分词处理的文本,从前往后依次遍历目标文本的每个位置,对于位置k,首先形成一个片段,所述片段只包含位置k的字,然后判断该片段是否在前缀词典中;
S4.22)若所述片段在前缀词典中,再根据词频进行判断,当词频大于0时,就将位置i追加到以位置k标志为key的一个序列中;
若词频等于0,则表明所述前缀词典存在所述片段,但是统计词典中并没有所述片段,则不需要将这个位置i追加到所述序列中,继续执行S4.23),
若该片段不在前缀词典中,则表明这个片段已经超出统计词典中词组的范围,则终止循环;
S4.23)将位置k加1,获取下一个新的片段,所述新的片段在文本的索引为[k:i+1],返回,最终,完成对中文文本的切分,得到所有的切分,并构造DAG,采用动态规划算法,获取最大概率路径。
7.根据权利要求4所述的方法,其特征在于,所述S4.3)的具体步骤为:
S4.31)利用前向-后向算法,计算模型参数矩阵λ下观测序列O出现的概率P(O|λ),其中O为观测序列,λ=(A,B,π),A为隐含状态概率转移矩阵,B为观测概率矩阵,π为初始概率矩阵;
S4.32)利用极大似然估计,计算隐马尔可夫模型,求得模型参数矩阵λ;
S4.33)利用Viterbi算法,计算给定模型参数矩阵λ基础上,观测序列的最优隐含状态序列,公式如下所示:
T1=argTmaxP(T|V),T=(t1,t2,t3,...,tm),m>0,V=(v1,v2,v3,...,vm);
其中,V为输入文本,v1,v2,v3,…vm为子集,T为V的某个可能的标注结果,t1,t2,t3,…tm为子集,m为子集的个数,T1是最大概率的角色标注序列,即最终的标注结果,P为集合。
8.根据权利要求2所述的方法,其特征在于,所述S2.1)的具体步骤为:
S2.11)创建实时流处理引擎的流处理环境,添加消费消息组件数据源,设置消息组件API具体参数;
S2.12)设定消费消息组件的偏移量的检测参数,并配置的存储方式和检测周期参数;
S2.13)配置环境变量:对若干数据流经过转换算子处理后,构造n维元组。
9.一种实现如权利要求1-8任一项所述的海量数据下的实时中文文本分词方法的信息处理终端。
10.一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行如权利要求1-8任意一项所述的一种海量数据下的实时中文文本分词方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010996063.2A CN112131877B (zh) | 2020-09-21 | 2020-09-21 | 一种海量数据下的实时中文文本分词方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010996063.2A CN112131877B (zh) | 2020-09-21 | 2020-09-21 | 一种海量数据下的实时中文文本分词方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112131877A true CN112131877A (zh) | 2020-12-25 |
CN112131877B CN112131877B (zh) | 2024-04-09 |
Family
ID=73842079
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010996063.2A Active CN112131877B (zh) | 2020-09-21 | 2020-09-21 | 一种海量数据下的实时中文文本分词方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112131877B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112699674A (zh) * | 2021-01-11 | 2021-04-23 | 山东特检鲁安工程技术服务有限公司 | 一种特种设备舆情分类方法 |
CN117892727A (zh) * | 2024-03-14 | 2024-04-16 | 中国电子科技集团公司第三十研究所 | 一种实时文本数据流去重系统及方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104408034A (zh) * | 2014-11-28 | 2015-03-11 | 武汉数为科技有限公司 | 一种面向文本大数据的中文分词方法 |
US20150095331A1 (en) * | 2012-12-21 | 2015-04-02 | Cloud Computing Center Chinese Academy Of Sciences | Establishing and querying methods of knowledge library engine based on emergency management |
CN109284352A (zh) * | 2018-09-30 | 2019-01-29 | 哈尔滨工业大学 | 一种基于倒排索引的评估类文档不定长词句的查询方法 |
CN109388803A (zh) * | 2018-10-12 | 2019-02-26 | 北京搜狐新动力信息技术有限公司 | 中文分词方法及系统 |
US20190220514A1 (en) * | 2017-02-23 | 2019-07-18 | Tencent Technology (Shenzhen) Company Ltd | Keyword extraction method, computer equipment and storage medium |
CN110659307A (zh) * | 2019-09-06 | 2020-01-07 | 西安交大捷普网络科技有限公司 | 一种事件流的关联分析方法与系统 |
CN111258978A (zh) * | 2020-01-17 | 2020-06-09 | 广东小天才科技有限公司 | 一种数据存储的方法 |
CN111639489A (zh) * | 2020-05-15 | 2020-09-08 | 民生科技有限责任公司 | 中文文本纠错系统、方法、装置及计算机可读存储介质 |
-
2020
- 2020-09-21 CN CN202010996063.2A patent/CN112131877B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150095331A1 (en) * | 2012-12-21 | 2015-04-02 | Cloud Computing Center Chinese Academy Of Sciences | Establishing and querying methods of knowledge library engine based on emergency management |
CN104408034A (zh) * | 2014-11-28 | 2015-03-11 | 武汉数为科技有限公司 | 一种面向文本大数据的中文分词方法 |
US20190220514A1 (en) * | 2017-02-23 | 2019-07-18 | Tencent Technology (Shenzhen) Company Ltd | Keyword extraction method, computer equipment and storage medium |
CN109284352A (zh) * | 2018-09-30 | 2019-01-29 | 哈尔滨工业大学 | 一种基于倒排索引的评估类文档不定长词句的查询方法 |
CN109388803A (zh) * | 2018-10-12 | 2019-02-26 | 北京搜狐新动力信息技术有限公司 | 中文分词方法及系统 |
CN110659307A (zh) * | 2019-09-06 | 2020-01-07 | 西安交大捷普网络科技有限公司 | 一种事件流的关联分析方法与系统 |
CN111258978A (zh) * | 2020-01-17 | 2020-06-09 | 广东小天才科技有限公司 | 一种数据存储的方法 |
CN111639489A (zh) * | 2020-05-15 | 2020-09-08 | 民生科技有限责任公司 | 中文文本纠错系统、方法、装置及计算机可读存储介质 |
Non-Patent Citations (6)
Title |
---|
于重重: "吕苏语口语标注语料的自动分词方法研究", 《计算机应用研究》, vol. 34, no. 05, 15 July 2016 (2016-07-15), pages 1325 - 1328 * |
天涯到处跑: "Flink实时读取kafka数据写入到hdfs和es", 《HTTPS://BLOG.CSDN.NET/M0_37592814/ARTICLE/DETAILS/106320348》, 25 May 2020 (2020-05-25), pages 1 - 12 * |
无为二里: "jieba分词原理:构建前缀词典,形成语料的有向无环图,动态规划求解最优路径", 《HTTPS://BLOG.CSDN.NET/WEIXIN_40122615/ARTICLE/DETAILS/105564026》, 30 April 2020 (2020-04-30), pages 1 - 8 * |
樊春美: "基于Flink实时计算的自动化流控制算法", 《计算机技术与发展》, vol. 30, no. 08, 10 August 2020 (2020-08-10), pages 66 - 72 * |
石凤贵: "中文文本分词及其可视化技术研究", 现代计算机, no. 12, 25 April 2020 (2020-04-25), pages 131 - 138 * |
韦人予: "中文分词技术研究", 信息与电脑(理论版), vol. 32, no. 10, 25 May 2020 (2020-05-25), pages 26 - 29 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112699674A (zh) * | 2021-01-11 | 2021-04-23 | 山东特检鲁安工程技术服务有限公司 | 一种特种设备舆情分类方法 |
CN117892727A (zh) * | 2024-03-14 | 2024-04-16 | 中国电子科技集团公司第三十研究所 | 一种实时文本数据流去重系统及方法 |
CN117892727B (zh) * | 2024-03-14 | 2024-05-17 | 中国电子科技集团公司第三十研究所 | 一种实时文本数据流去重系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112131877B (zh) | 2024-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11126647B2 (en) | System and method for hierarchically organizing documents based on document portions | |
US10459971B2 (en) | Method and apparatus of generating image characteristic representation of query, and image search method and apparatus | |
AU2017355420B2 (en) | Systems and methods for event detection and clustering | |
CN109033063B (zh) | 基于知识图谱的机器推理方法、电子设备及计算机可读存储介质 | |
US20160140109A1 (en) | Generation of a semantic model from textual listings | |
JP2010506247A (ja) | 迷惑情報をフィルタリングするネットワークベースの方法および装置 | |
CN107844533A (zh) | 一种智能问答系统及分析方法 | |
CN109471889B (zh) | 报表加速方法、系统、计算机设备和存储介质 | |
US9606984B2 (en) | Unsupervised clustering of dialogs extracted from released application logs | |
CN112417846B (zh) | 文本自动化生成方法、装置、电子设备及存储介质 | |
US20180210897A1 (en) | Model generation method, word weighting method, device, apparatus, and computer storage medium | |
Bhutani et al. | Open information extraction from question-answer pairs | |
CN109522396B (zh) | 一种面向国防科技领域的知识处理方法及系统 | |
CN112131877A (zh) | 一种海量数据下的实时中文文本分词方法 | |
CN108763202A (zh) | 识别敏感文本的方法、装置、设备及可读存储介质 | |
WO2022053163A1 (en) | Distributed trace anomaly detection with self-attention based deep learning | |
US10242107B2 (en) | Extraction of quantitative data from online content | |
CN109697676B (zh) | 基于社交群的用户分析及应用方法和装置 | |
Lin et al. | Fine-grained late-interaction multi-modal retrieval for retrieval augmented visual question answering | |
US12067361B2 (en) | System and method for infusing knowledge graphs and language models for natural language sentence pair applications | |
Wibisono et al. | Log anomaly detection using adaptive universal transformer | |
CN113590421B (zh) | 日志模板提取方法、程序产品及存储介质 | |
CN110705285B (zh) | 一种政务文本主题词库构建方法、装置、服务器及可读存储介质 | |
CN115357720B (zh) | 基于bert的多任务新闻分类方法及装置 | |
CN109344397B (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 |