一种海量数据下的实时中文文本分词方法技术

技术编号:26846137 阅读:14 留言:0更新日期:2020-12-25 13:08
本发明专利技术属于数据分析处理领域,尤其涉及一种海量数据下的实时中文文本分词方法。该方法具体步骤为:将采集的数据源上送至消息组件,通过实时流处理引擎消费,并清洗,封装,存入分布式文件系统;使用Pyflink程序读取分布式文件系统中的文本数据,并进行脱敏处理;利用分布式文件系统进行分词和词性标注,再进行规范化处理,进行关键词抽取,并统计,对结果进行封装,存储到分布式文件系统。本发明专利技术通过大数据技术和文本分词算法的融合,具有在线处理海量数据的能力和实时性的特点,实现了海量数据的场景下对文本数据的在线实时分析,同时,通过自主地动态调整停用词和数据字典,能够广泛地应用于即时分析和风险防控等场景中。

【技术实现步骤摘要】
一种海量数据下的实时中文文本分词方法
本专利技术属于数据分析处理领域,尤其涉及一种海量数据下的实时中文文本分词方法。
技术介绍
在用户行为分析领域,获取的文本数据呈现爆发式增长。文本规模的不断增长,导致从海量数据中获取重要信息变得愈加困难。随着自然语言处理技术的广泛应用,从大规模文本数据中提取用户关键信息成为可能。传统的文本关键信息提取,使用分布式系统结合自然语言处理技术,对海量数据进行离线处理。为了符合即时分析和风险防控等场景的需求,引入大数据流式处理技术,通过语言模型训练,对中文文本进行实时在线的文本分析。
技术实现思路
本专利技术公开了一种海量数据下的实时中文文本分词方法,以解决现有技术的上述以及其他潜在问题中任一问题。为了达到上述技术方案,本专利技术的技术方案是:一种海量数据下的实时中文文本分词方法,具体包括以下步骤: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算法得到未登录词组的文本状态序列,获取分词后的最优路径,获得未登录词组分本文档来自技高网...

【技术保护点】
1.一种海量数据下的实时中文文本分词方法,其特征在于,所述方法具体包括以下步骤:/nS1)将采集的数据源上送至消费消息组件,消费消息组件的所述数据源作为实时流处理引擎的输入流;/nS2)通过实时流处理引擎对所述消费消息组件的数据流进行脏数据清洗,封装成Json落盘到分布式文件系统;/nS3)使用Pyflink程序读取S2)的封装成Json落盘到分布式文件系统中的数据,获取文本数据,并对所述文本数据中的敏感数据进行脱敏处理;/nS4)将S3)得到脱敏后的文本数据基于分布式文件系统中的停用词及数据字典文本数据进行分词和词性标注,并对词结果进行规范化处理,通过词频-逆文档频率算法在规范化处理后的结果上进行关键词抽取;/nS5)对S4)得到的关键词抽取的结果进行统计,并按照标准的报文格式对结果进行封装,最后存储到分布式文件系统。/n

【技术特征摘要】
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)得到的关键词进行数据重组后,输出关键词的提取结果。

<...

【专利技术属性】
技术研发人员:李振鲁宾宾宋璞曾琦凯王云端陈枫
申请(专利权)人:民生科技有限责任公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1