CN115329075A - 基于分布式机器学习的文本分类方法 - Google Patents

基于分布式机器学习的文本分类方法 Download PDF

Info

Publication number
CN115329075A
CN115329075A CN202210945562.8A CN202210945562A CN115329075A CN 115329075 A CN115329075 A CN 115329075A CN 202210945562 A CN202210945562 A CN 202210945562A CN 115329075 A CN115329075 A CN 115329075A
Authority
CN
China
Prior art keywords
text
data
word
machine learning
distributed
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.)
Pending
Application number
CN202210945562.8A
Other languages
English (en)
Inventor
盛雪晨
陈丹伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing University of Posts and Telecommunications
Original Assignee
Nanjing University of Posts and Telecommunications
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nanjing University of Posts and Telecommunications filed Critical Nanjing University of Posts and Telecommunications
Priority to CN202210945562.8A priority Critical patent/CN115329075A/zh
Publication of CN115329075A publication Critical patent/CN115329075A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Databases & Information Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Evolutionary Computation (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Machine Translation (AREA)

Abstract

本发明公开了一种基于分布式机器学习的文本分类方法,包括:S1、输入数据集并进行预处理;S2、将数据集进行分块,并提出Word2Vec的分布式文本数据流分类方法;S3、训练Word2Vec模型,将单词表示为在连续空间上的低维稠密向量形式,生成词向量,并自定义权重矩阵;S4、主节点将分类器权重广播到子节点,数据流通过分布式文件管理系统将数据块分发至子节点,主节点轮询等待子节点对数据块的处理结果,以获取权重梯度之和,更新后处理下一个数据块;S5、初始化CNN参数,输入至卷积神经网络进行并行化训练,在Spark平台下构建基于分布式机器学习的文本分类模型。本发明通过Apache Spark框架的适应性来探索卷积神经网络,充分利用Spark框架的并行优势,提高了文本分类的精度。

Description

基于分布式机器学习的文本分类方法
技术领域
本发明涉及一种基于分布式机器学习的文本分类方法,属于文本分类处理技术领域。
背景技术
目前,随着信息时代的发展,互联网上的文本数据呈现爆发式的增长。海量的数据未经过分类,人们无法高效地对其提取有用的信息,同时也浪费了网络资源。文本分类作为文本处理重要的技术之一,被广泛地用于各项自然语言处理任务当中。文本分类即是通过特定的算法,分析文本数据中的潜在规则,再将新的文本和对应的类别相匹配。
长久以来,文本分类的主流方法还是基于统计的机器学习模型,该模型通常采用词袋(bag-of-words)和n元语法(n-gram)等表示方法将文档转化成一个N维向量,然后将该向量输入到支持向量机(Support Vector Machine)、朴素贝叶斯(Naive Bayes)等分类器中,预测文档的标签,基于统计的机器学习模型结构简单,鲁棒性好,但也存在大量问题,比如最重要的统计的文本表示方法的文本语义表示方面是比较浅显的,需要进一步提取文本向量的深层特征,这个过程需要人工进行设计、添加和组合。并且研究者在构建文本特征表示的过程中,由于经验和对问题理解的不同,对不同文本词与词、句子与句子、上下文之间关联性的理解均不相同,所构建的文本特征表示,不能代表文本的核心语义,简单的机器学习模型分类器无法从中解析出文本语义信息。
2006年Hinton等研究人员发现了深度学习强大的表达能力,可以从文档中提取句子级别和词级别的特征信息,通过构建深层神经网络的方式解决了传统机器学习难以解决的语义提取的问题。随着深度学习成为研究的热门,目前利用深度学习框架开展的有关自然语言处理的研究和应用已经取得了一定的成果。
2014年,Kim基于卷积神经网络(Convolutional Neural Networks,CNN)展开了对文本分类的研究,包括情感分析,语义分析等。Kim提出的文本分类模型Textcnn包含一个卷积层(使用了多个不同尺寸的卷积核)和最大池化层,因为其结构简单,效果良好,被广泛的应用在NLP领域中。该方法能够有效的对长度较短的文本进行分类,但是对于文本长度超过5000字甚至更多的长文,单层的CNN不能完整的提取长文特征。
Robert Keeling等人将Textcnn运用于法律文本分类,实验表明,当文本长度超过2000字时,与传统神经网络相比,Textcnn的分类准确率没有显著提高。因为CNN只能处理其一个卷积核中的信息,而相邻卷积核的信息只能通过后一层的卷积层进行关联。信息的关联取决于卷积核的大小和移动步长等参数,因此,利用CNN进行长文本分类时,模型不能灵活调整参数,导致训练时间延长。
相比于CNN,循环神经网络(Recurrent Neural Network,RNN)使用时间序列的结构遍历文字,不仅会考虑文字本身,还会考虑文字上下文的信息,从而达到更好的文本分类效果。循环神经网络中的长短期记忆网络(Long Short-Term Memory,LSTM),其特殊的门结构允许信息选择性地影响神经网络每个时刻的状态,解决了传统序列模型由于记忆信息太多产生的维度爆炸问题。Pengfei Liu等人提出的Textrnn模型和Miwa M等人提出的LSTMs端对端文本训练模型能够持续保留信息,记忆文本前后关联性,更好地利用了传统神经网络无法建模的信息。但文本长度超过万字时,序列模型记忆量不断增大,输入数据维度的不断扩大,容易引起资源耗尽,导致训练缓慢,模型分类准确度下降。
有鉴于此,确有必要提出一种基于分布式机器学习的文本分类方法,以解决上述问题。
发明内容
本发明的目的在于提供一种基于分布式机器学习的文本分类方法,以解决现有文本分类模型在文本长度过长时,出现的训练缓慢和准确率低的问题。
为实现上述目的,本发明提供一种基于分布式机器学习的文本分类方法,包括以下步骤:
S1、输入数据集,并对数据集进行预处理;
S2、将数据集进行分块,并提出一种基于Word2Vec的分布式文本数据流分类方法;
S3、训练Word2Vec模型,将单词表示为在连续空间上的低维稠密向量形式,生成词向量,并自定义权重矩阵;
S4、在一个主节点和三个子节点构成的标准集群中,主节点将分类器权重广播到所述子节点,数据流通过分布式文件管理系统将所述数据块分发至所述子节点,主节点轮询等待所述子节点对数据块的处理结果,随后获取每个子节点处理的权重梯度之和,更新主节点,随后处理下一个数据块,直至数据流结束;
S5、初始化CNN参数,输入至卷积神经网络进行并行化训练,在Spark平台下构建基于分布式机器学习的文本分类模型,以对文本进行分类。
作为本发明的进一步改进,S1包括以下步骤:
S11、使用分词系统对数据集进行分词;所述分词系统包括结巴(Jieba)分词系统、Han LP分词系统、清华中文词法分析和THULAC分词系统;
S12、使用停用词表对数据集进行去停用词;常见的停用词表包括哈工大停用词表和百度停用词表。
作为本发明的进一步改进,S2包括以下步骤:
S21、按定长的时间窗口机制,将给定的数据流分为固定大小的数据块;
S22、为了缓解短文本数据流中的稀疏信息和高维特征,利用外部语料库建立扩展Word2vec模型,采用固定大小的N维词向量Vec对短文本进行向量表示;
S23、对t时刻数据流中数据块Dt使用词向量集合完成向量化,获得向量化表示Vec(Dt),然后在Vec(Dt)上进行模型的训练,并对下一个数据块Dt+1进行预测;
S24、对文本进行预测。
作为本发明的进一步改进,S24具体为:以t时刻的数据块Dt+1中的短文本
Figure BDA0003787185370000041
为例,通过以下公式预测向量化的
Figure BDA0003787185370000042
文本:
Figure BDA0003787185370000043
其中,
Figure BDA0003787185370000044
为预测标签;
Figure BDA0003787185370000045
为算法集成模型Ft在第t时刻中第r个分类器的特征权重,σ(·)表示为对应激活函数;最后使用文本上下文信息更新扩展Word2vec词向量集合VecE。
作为本发明的进一步改进,S3包括以下步骤:
S31、Word2vec根据语料中词汇共现信息,将词汇编码成一个向量,以计算每个词语在给定语料库环境下的分布式词向量;
S32、通过扩展Word2vec模型对短文本的向量化。
作为本发明的进一步改进,S4包括以下步骤:
S41、机器学习算法通常来说通过给定数据和模型,对目标函数进行迭代直至收敛,具体公式为:
Mt=F(Mt-1L(Mt-1,D));
其中,t表示迭代次数,ΔL为目标函数,F做模型更新;
S42、数据流通过HDFS分布式文件系统将所有数据块均衡的分发到各子节点进行分布式参数训练。
作为本发明的进一步改进,S41具体为:当数据量较大时,需要对数据进行切分在多节点上并行,此时,每个工作节点利用本地数据进行训练,并通过一定的通信算法同步更新,此时的迭代公式为:
Figure BDA0003787185370000051
当机器学习模型较大时,需要对模型进行划分并在工作节点上分别训练时,此时的迭代函数可表示为:
Figure BDA0003787185370000052
其中,
Figure BDA0003787185370000053
是模型调度函数;目标函数在各个节点训练的子模型上,对参数进行选择。
作为本发明的进一步改进,S42具体为:主节点将分类器Ft的各个特征权重广播至所有的子节点,并等待所有子节点完成对短文本d(d∈Dt+1)的预测,同时将本地短文本中存在的新词文本回传给主节点,主节点获取所有子节点对训练数据块的预测信息与数据块中存在的新词文本集合信息,输出预测结果。
作为本发明的进一步改进,S5包括以下步骤:
S51、卷积层和池化层是CNN的核心组件,经过卷积和池化操作,将原始特征映射到更高层次维度的语义空间;
S52、池化层负责对卷积层提取到的信息进行采样并对部分信息进行保留,同时为下一层的计算减少参数,加快模型的训练速度;
S53、全连接层将样本从特征空间映射到标记空间。
作为本发明的进一步改进,S51具体为:假设某文本包含n个单词,词向量维数为k,则输入可表示为n×k维的文本矩阵X;
X={x1,x2,...,xn}T,其中,xi为第i个词的词向量;
通过设置不同长度的卷积核,CNN可以进行丰富的局部特征提取,定义卷积核的尺寸为h,权值矩阵和偏置分别为W∈Rh×k和b∈R;
将输入X分为{x1:h,x2:h+1,...,xi:i+h-1,...,xn-h+1:n},每次卷积操作对第i步时滑动窗口内的信息xi:i+h-1∈Rh×k进行特征提取,得到的属性值ci∈R,i∈[1,n-h+1],计算如下:
Figure BDA0003787185370000061
其中,f是非线性的激活函数,
Figure BDA0003787185370000062
为卷积操作符;
卷积特征图可描述为:
C={c1,c2,...,cn-h+1}。
本发明的有益效果是:本发明提出了一种基于分布式机器学习的文本分类方法,通过Apache Spark框架的适应性来探索卷积神经网络,充分利用了Spark框架的并行优势,提高了文本分类的精度与时间性能;通过Word2vec的分布式文本数据流分类,使得外部语料库构建Word2vec词向量模型完成短文本的向量化过程。
附图说明
图1是本发明中基于分布式机器学习的文本分类方法的流程图。
图2是分布式模型预测和Word2vec框架示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
请参阅图1和图2所示,本发明提供了一种基于分布式机器学习的文本分类方法,用于文本进行分类,具体包括以下步骤:
S1、输入数据集,并对数据集进行预处理。
其中,预处理包括对数据集进行分词和去停用词,具体包括以下步骤:
S11、使用分词系统对数据集进行分词。
常见的分词系统包括但不限于结巴(Jieba)分词系统、Han LP分词系统、清华中文词法分析和THULAC分词系统等。
由于中文语言中字与字排列组合成词语的选择性极多,很难使用词典的形式进行识别,使得中文文本信息正确地进行分词是中文分词的一大难点。使用上述常见的分词系统,可以有效的对中文语言进行分词处理。
S12、使用停用词表对数据集进行去停用词。
常见的停用词表包括但不限于哈工大停用词表和百度停用词表等。
停用词指在中文文本中会含有许多无意义的词,例如“和”、“的”、“他”、“了”等一些连接词、介词、副词、人称代词等,这些词在文本中无任何含义且对文本分类起的作用微乎其微,需要将这些无意义的词删除来降低文本噪声。
S2、将数据集进行分块,并提出一种基于Word2Vec的分布式文本数据流分类方法。
S21、按定长的时间窗口机制,将给定的数据流分为固定大小的数据块。数据流D公式化表示为D={D1,D2,...,Dt,...,DT},其中,T→∞,
Figure BDA0003787185370000071
Figure BDA0003787185370000072
1≤t≤T,|Dt|表示Dt中短文本的数量,
Figure BDA0003787185370000073
表示数据流中第t个数据块第n个文本,
Figure BDA0003787185370000074
为文本对应的类标签。
S22、为了缓解短文本数据流中的稀疏信息和高维特征,利用外部语料库建立扩展Word2vec模型,采用固定大小的N维词向量Vec对短文本进行向量表示。
其中,第t个数据块中的第n个短文本
Figure BDA0003787185370000075
的文本向量可表示为
Figure BDA0003787185370000076
Dt数据块中所有短文本的向量化集合表示为Vec(Dt),为了避免过度依赖外部语料库而导致模型下降,因此,模型维护一个新词集合S构建Word2vec模型以获得扩展的词向量集合VecE。
S23、对t时刻数据流中数据块Dt使用词向量集合完成向量化,获得向量化表示Vec(Dt),然后在Vec(Dt)上进行模型的训练,并对下一个数据块Dt+1进行预测。
具体的,为了使分类器模型适应实时变化的数据流,模型在t时刻分别为每个类标签构建分类器,并记为fr(1≤r≤|R|,|R|≤L),其中,R是在时间t上出现的类标签的集合,得到|R|个分类器的集成模型
Figure BDA0003787185370000077
Figure BDA0003787185370000078
S24、对文本进行预测。
具体的,以t时刻的数据块Dt+1中的短文本
Figure BDA0003787185370000081
为例,通过以下公式预测向量化的
Figure BDA0003787185370000082
文本:
Figure BDA0003787185370000083
其中,
Figure BDA0003787185370000084
为预测标签;
Figure BDA0003787185370000085
为算法集成模型Ft在第t时刻中第r个分类器的特征权重,σ(·)表示为对应激活函数。最后使用文本上下文信息更新扩展Word2vec词向量集合VecE。
S3、训练Word2Vec模型,将单词表示为在连续空间上的低维稠密向量形式,生成词向量,并自定义权重矩阵。
S31、Word2vec根据语料中词汇共现信息,将词汇编码成一个向量,以计算每个词语在给定语料库环境下的分布式词向量。
具体的,Word2vec是一种词嵌入(Word Embedding)方法,它包含两种训练模型,即跳字模型(Skip-gram)和连续词袋模型(Continuous Bag of Words,CBOW)。
跳字模型的计算方法逆转了CBOW的因果关系,利用当前位置词语w(t)来预测上下文中词的概率,即P(w(i)|w(t)),其中,t-k≤i≤t+k且i≠k。
连续词袋模型利用上下文或周围的词语来预测当前位置词语w(t)的概率,即P(w(t)|w(t-k),w(t-(k-1)),…,w(t-1),w(t+1),w(t+2),…,w(t+k)),具体的,连续词袋模型是一个三层神经网络。
S32、通过扩展Word2vec模型对短文本的向量化。
具体的,定义数据块Dt中短文本
Figure BDA0003787185370000086
向量化表示记为:
Figure BDA0003787185370000087
Figure BDA0003787185370000088
其中,
Figure BDA0003787185370000089
表示短文本
Figure BDA00037871853700000810
中单词个数,Vec(wdi)表示短文本
Figure BDA00037871853700000811
中第i个词wdi对应的词向量。循环迭代以得到数据块Dt中所有短文本的向量化表示Vec(Dt)。
S4、在一个主节点和三个子节点构成的标准集群中,主节点将分类器权重广播到所述子节点,数据流通过分布式文件管理系统将所述数据块分发至所述子节点,主节点轮询等待所述子节点对数据块的处理结果,随后获取每个子节点处理的权重梯度之和,更新主节点,随后处理下一个数据块,直至数据流结束。
Spark是一个在集群上运行的并行编程模型,其中有一个主节点Driver处理spark驱动程序并使用集群管理器将任务发送给三个执行程序的Executor。其中Driver是Spark的驱动器节点,主要负责Executor之间的任务(task)调度。Executor是Spark程序中的一个JVM进程,负责运行Spark作业中具体的任务,并且将执行结果返回给Driver。
为了实现标准集群,首先,主节点Driver将分类器权重广播到所有子节点Executor,然后轮询等待其对数据块处理完后,获取每个子节点处理的权重梯度之和,主节点执行参数在线更新之后按上述步骤循环处理下一个数据块,直至数据流结束。
也就是说,每个工作节点都有自己的本地训练数据且各自的模型初始值可以不同,利用本地训练数据更新本地模型参数。本地模型完成一轮参数更新后,所有节点依据相应拓扑与同步算法,开始对本地模型参数进行通信并聚合更新全局参数,最终各工作节点获取新的全局模型准备进入下一轮迭代。
S41、机器学习算法通常来说通过给定数据和模型,对目标函数进行迭代直至收敛,具体公式为:
Mt=F(Mt-1L(Mt-1,D));
其中,t表示迭代次数,ΔL为目标函数,F做模型更新。
除此之外,至少有两种情况需要并行场景。
第一种情况是:数据量太大需要对数据进行切分在多节点上并行,此时,每个工作节点利用本地数据进行训练,并通过一定的通信算法同步更新,此时的迭代公式为:
Figure BDA0003787185370000101
第二种情况是:机器学习模型太大,以至于需要对模型进行划分并在工作节点上分别训练时,此时的迭代函数可表示为:
Figure BDA0003787185370000102
其中,
Figure BDA0003787185370000103
是模型调度函数;目标函数在各个节点训练的子模型上,对参数进行选择。
S42、数据流通过HDFS分布式文件系统将所有数据块均衡的分发到各子节点进行分布式参数训练。
以Dt数据块为例,主节点首先将分类器权重广播到所有子节点,然后轮询等待子节点对数据块进行处理,以获取每个子节点处理的权重梯度之和,得到
Figure BDA0003787185370000104
其中,ΔW(Dt)为权重梯度之和。
ΔW’(Dt)为一个|R|维的向量,记为
Figure BDA0003787185370000105
Figure BDA0003787185370000106
其中
Figure BDA0003787185370000107
为分类器
Figure BDA0003787185370000108
对应权重梯度,主节点执行参数在线更新之后按上述步骤循环处理下一个数据块,直至数据流结束。
HDFS文件系统将数据块Dt+1划分成三份数据集合,即
Figure BDA0003787185370000109
Figure BDA00037871853700001010
并根据之前描述的Word2vec的词向量集合,再对数据块进行向量化处理,得到短文本向量化表示
Figure BDA00037871853700001011
Figure BDA00037871853700001012
然后主节点将分类器Ft的各个特征权重广播至所有的子节点,并等待所有子节点完成对短文本d(d∈Dt+1)的预测,同时将本地短文本中存在的新词文本回传给主节点,主节点获取所有子节点对训练数据块的预测信息与数据块中存在的新词文本集合信息,输出预测结果。
S5、初始化CNN参数,输入至卷积神经网络进行并行化训练,在Spark平台下构建基于分布式机器学习的文本分类模型,以对文本进行分类,其中,sigmod是CNN最终的激活函数。
S51、卷积层和池化层是CNN的核心组件,经过卷积和池化操作,将原始特征映射到更高层次维度的语义空间。
假设某文本包含n个单词,词向量维数为k,则输入可表示为n×k维的文本矩阵X,X={x1,x2,...,xn}T,其中,xi为第i个词的词向量。
通过设置不同长度的卷积核,CNN可以进行丰富的局部特征提取,定义卷积核的尺寸为h,权值矩阵和偏置分别为W∈Rh×k和b∈R。
将输入X分为{x1:h,x2:h+1,...,xi:i+h-1,...,xn-h+1:n},每次卷积操作对第i步时滑动窗口内的信息xi:i+h-1∈Rh×k进行特征提取,得到的属性值ci∈R,i∈[1,n-h+1],计算如下:
Figure BDA0003787185370000111
其中,f是非线性的激活函数,
Figure BDA0003787185370000112
为卷积操作符。卷积特征图可描述为:
C={c1,c2,...,cn-h+1}。
S52、池化层负责对卷积层提取到的信息进行采样并对部分信息进行保留,同时为下一层的计算减少参数,加快模型的训练速度。
其中,池化层保留的信息是采样得到的信息中重要的信息,对于m个卷积核,生成的池化特征图可表示为:
Figure BDA0003787185370000113
S53、全连接层将样本从特征空间映射到标记空间。
主要参数为权值矩阵Wf和偏置bf,将池化层得到的特征信息输入到全连接层,然后通过softmax层输出归一化的分类概率y:
Figure BDA0003787185370000114
假设d维向量为V,Vj表示V中的第j个元素,则其softmax值计算如下:
Figure BDA0003787185370000115
通过参数共享机制,CNN能够较好地处理高维数据,并且在建模过程中,无需人为选择特征。
除了上述简单的结构,对于具有复杂特征的数据集,通过卷积层-池化层反复堆叠,构建深层的特征提取网络。
综上所述,本发明提供了一种基于分布式机器学习的文本分类方法,通过在分布式框架下采用Spark集群环境来优化实现文本的分类,实现了文本分类的运行效率和精度;通过Apache Spark框架的适应性来探索卷积神经网络,充分利用了Spark框架的并行优势,提高了文本分类的精度与时间性能;通过Word2vec的分布式文本数据流分类,使得外部语料库构建Word2vec词向量模型完成短文本的向量化过程。
以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围。

Claims (10)

1.一种基于分布式机器学习的文本分类方法,其特征在于,包括以下步骤:
S1、输入数据集,并对数据集进行预处理;
S2、将数据集进行分块,并提出一种基于Word2Vec的分布式文本数据流分类方法;
S3、训练Word2Vec模型,将单词表示为在连续空间上的低维稠密向量形式,生成词向量,并自定义权重矩阵;
S4、在一个主节点和三个子节点构成的标准集群中,主节点将分类器权重广播到所述子节点,数据流通过分布式文件管理系统将所述数据块分发至所述子节点,主节点轮询等待所述子节点对数据块的处理结果,随后获取每个子节点处理的权重梯度之和,更新主节点,随后处理下一个数据块,直至数据流结束;
S5、初始化CNN参数,输入至卷积神经网络进行并行化训练,在Spark平台下构建基于分布式机器学习的文本分类模型,以对文本进行分类。
2.根据权利要求1所述的基于分布式机器学习的文本分类方法,其特征在于,S1包括以下步骤:
S11、使用分词系统对数据集进行分词;所述分词系统包括结巴(Jieba)分词系统、HanLP分词系统、清华中文词法分析和THULAC分词系统;
S12、使用停用词表对数据集进行去停用词;常见的停用词表包括哈工大停用词表和百度停用词表。
3.根据权利要求1所述的基于分布式机器学习的文本分类方法,其特征在于,S2包括以下步骤:
S21、按定长的时间窗口机制,将给定的数据流分为固定大小的数据块;
S22、为了缓解短文本数据流中的稀疏信息和高维特征,利用外部语料库建立扩展Word2vec模型,采用固定大小的N维词向量Vec对短文本进行向量表示;
S23、对t时刻数据流中数据块Dt使用词向量集合完成向量化,获得向量化表示Vec(Dt),然后在Vec(Dt)上进行模型的训练,并对下一个数据块Dt+1进行预测;
S24、对文本进行预测。
4.根据权利要求3所述的基于分布式机器学习的文本分类方法,其特征在于,S24具体为:以t时刻的数据块Dt+1中的短文本
Figure FDA0003787185360000021
为例,通过以下公式预测向量化的
Figure FDA0003787185360000022
文本:
Figure FDA0003787185360000023
其中,
Figure FDA0003787185360000024
为预测标签;
Figure FDA0003787185360000025
为算法集成模型Ft在第t时刻中第r个分类器的特征权重,σ(·)表示为对应激活函数;最后使用文本上下文信息更新扩展Word2vec词向量集合VecE。
5.根据权利要求1所述的基于分布式机器学习的文本分类方法,其特征在于,S3包括以下步骤:
S31、Word2vec根据语料中词汇共现信息,将词汇编码成一个向量,以计算每个词语在给定语料库环境下的分布式词向量;
S32、通过扩展Word2vec模型对短文本的向量化。
6.根据权利要求1所述的基于分布式机器学习的文本分类方法,其特征在于,S4包括以下步骤:
S41、机器学习算法通常来说通过给定数据和模型,对目标函数进行迭代直至收敛,具体公式为:
Mt=F(Mt-1L(Mt-1,D));
其中,t表示迭代次数,ΔL为目标函数,F做模型更新;
S42、数据流通过HDFS分布式文件系统将所有数据块均衡的分发到各子节点进行分布式参数训练。
7.根据权利要求6所述的基于分布式机器学习的文本分类方法,其特征在于,S41具体为:当数据量较大时,需要对数据进行切分在多节点上并行,此时,每个工作节点利用本地数据进行训练,并通过一定的通信算法同步更新,此时的迭代公式为:
Figure FDA0003787185360000031
当机器学习模型较大时,需要对模型进行划分并在工作节点上分别训练时,此时的迭代函数可表示为:
Figure FDA0003787185360000032
其中,
Figure FDA0003787185360000033
是模型调度函数;目标函数在各个节点训练的子模型上,对参数进行选择。
8.根据权利要求6所述的基于分布式机器学习的文本分类方法,其特征在于,S42具体为:主节点将分类器Ft的各个特征权重广播至所有的子节点,并等待所有子节点完成对短文本d(d∈Dt+1)的预测,同时将本地短文本中存在的新词文本回传给主节点,主节点获取所有子节点对训练数据块的预测信息与数据块中存在的新词文本集合信息,输出预测结果。
9.根据权利要求1所述的基于分布式机器学习的文本分类方法,其特征在于,S5包括以下步骤:
S51、卷积层和池化层是CNN的核心组件,经过卷积和池化操作,将原始特征映射到更高层次维度的语义空间;
S52、池化层负责对卷积层提取到的信息进行采样并对部分信息进行保留,同时为下一层的计算减少参数,加快模型的训练速度;
S53、全连接层将样本从特征空间映射到标记空间。
10.根据权利要求9所述的基于分布式机器学习的文本分类方法,其特征在于,S51具体为:假设某文本包含n个单词,词向量维数为k,则输入可表示为n×k维的文本矩阵X;
X={x1,x2,...,xn}T,其中,xi为第i个词的词向量;
通过设置不同长度的卷积核,CNN可以进行丰富的局部特征提取,定义卷积核的尺寸为h,权值矩阵和偏置分别为W∈Rh×k和b∈R;
将输入X分为{x1:h,x2:h+1,...,xi:i+h-1,...,xn-h+1:n},每次卷积操作对第i步时滑动窗口内的信息xi:i+h-1∈Rh×k进行特征提取,得到的属性值ci∈R,i∈[1,n-h+1],计算如下:
Figure FDA0003787185360000041
其中,f是非线性的激活函数,
Figure FDA0003787185360000042
为卷积操作符;
卷积特征图可描述为:
C={c1,c2,...,cn-h+1}。
CN202210945562.8A 2022-08-08 2022-08-08 基于分布式机器学习的文本分类方法 Pending CN115329075A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210945562.8A CN115329075A (zh) 2022-08-08 2022-08-08 基于分布式机器学习的文本分类方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210945562.8A CN115329075A (zh) 2022-08-08 2022-08-08 基于分布式机器学习的文本分类方法

Publications (1)

Publication Number Publication Date
CN115329075A true CN115329075A (zh) 2022-11-11

Family

ID=83921590

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210945562.8A Pending CN115329075A (zh) 2022-08-08 2022-08-08 基于分布式机器学习的文本分类方法

Country Status (1)

Country Link
CN (1) CN115329075A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117132218A (zh) * 2023-07-17 2023-11-28 杭州逍邦网络科技有限公司 工作流管理系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117132218A (zh) * 2023-07-17 2023-11-28 杭州逍邦网络科技有限公司 工作流管理系统
CN117132218B (zh) * 2023-07-17 2024-03-19 杭州逍邦网络科技有限公司 工作流管理系统

Similar Documents

Publication Publication Date Title
CN111368996B (zh) 可传递自然语言表示的重新训练投影网络
Yao et al. Bi-directional LSTM recurrent neural network for Chinese word segmentation
CN113792818B (zh) 意图分类方法、装置、电子设备及计算机可读存储介质
CN108733742B (zh) 全局归一化阅读器系统和方法
US10089576B2 (en) Representation learning using multi-task deep neural networks
CN113239700A (zh) 改进bert的文本语义匹配设备、系统、方法及存储介质
CN111753060A (zh) 信息检索方法、装置、设备及计算机可读存储介质
CN109299341A (zh) 一种基于字典学习的对抗跨模态检索方法和系统
CN109284406B (zh) 基于差异循环神经网络的意图识别方法
CN110297888B (zh) 一种基于前缀树与循环神经网络的领域分类方法
CN112395385B (zh) 基于人工智能的文本生成方法、装置、计算机设备及介质
CN109918663A (zh) 一种语义匹配方法、装置及存储介质
CN109684449B (zh) 一种基于注意力机制的自然语言语义表征方法
CN110263325A (zh) 中文分词系统
Irsoy et al. Bidirectional recursive neural networks for token-level labeling with structure
CN113515632B (zh) 基于图路径知识萃取的文本分类方法
CN111274790A (zh) 基于句法依存图的篇章级事件嵌入方法及装置
Stergiou et al. Distributed negative sampling for word embeddings
Banik et al. Gru based named entity recognition system for bangla online newspapers
CN114911945A (zh) 基于知识图谱的多价值链数据管理辅助决策模型构建方法
WO2014073206A1 (ja) 情報処理装置、及び、情報処理方法
CN114358201A (zh) 基于文本的情感分类方法和装置、计算机设备、存储介质
CN113139599A (zh) 一种融合词向量扩充和主题模型的服务分布式聚类方法
Gao et al. Deep learning for web search and natural language processing
Zhuang et al. An ensemble approach to conversation generation

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