CN113609843B - 一种基于梯度提升决策树的句词概率计算方法及*** - Google Patents
一种基于梯度提升决策树的句词概率计算方法及*** Download PDFInfo
- Publication number
- CN113609843B CN113609843B CN202111184159.XA CN202111184159A CN113609843B CN 113609843 B CN113609843 B CN 113609843B CN 202111184159 A CN202111184159 A CN 202111184159A CN 113609843 B CN113609843 B CN 113609843B
- Authority
- CN
- China
- Prior art keywords
- participle
- decision tree
- elements
- sequence
- serial number
- 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
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/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/279—Recognition of textual entities
- G06F40/284—Lexical analysis, e.g. tokenisation or collocates
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Machine Translation (AREA)
Abstract
本公开提供了一种基于梯度提升决策树的句词概率计算方法及***,在多个梯度提升决策树模型进行学***行数据的分批次输入,计算各个梯度提升决策树模型之间的共享权重,以共享权重调节多个梯度提升决策树模型的损失函数,学习后得到多个判别模型,分别输入多个判别模型分别得到多个输出的判别分数,分别将各个判别模型输出的判别分数结合共享权重得到最终的总体判别分数。由此提升句词概率计算的并行性与高效性,通过数据并行化实现了降低所有候选分词的计算成本与时间复杂度的有益效果。
Description
技术领域
本公开属于大数据技术领域,具体涉及一种基于梯度提升决策树的句词概率计算方法及***。
背景技术
在现代社会中,文本数据的增长速度飞快,对文本文件的数据分析能力的要求也在急剧上升。在现代化的电子化生产生活中,文本数据的预处理是重要的一环,同时由于数据的增速飞快,对数据的分析的时间成本和计算成本也呈现指数级别的快速上升,当前已有的文本数据的处理能力和处理速度已经在大量处理分词字符串的任务上明显乏力。针对大规模分词字符串序列进行纠错计算会造成计算位点过多,采用混淆集对所有候选词都参与计算的计算成本与时间复杂度过大。在公开号为CN107861936A的专利文献中,提供了语句的极性概率分析方法和装置,尽管能够根据语句的词向量计算语句的维度再结合训练模型确定语句的极性概率,在一定程度上能提高概率分析的准确性,但对于提升句词概率计算的并行性与高效性仍显不足。
发明内容
本发明的目的在于提出一种基于梯度提升决策树的句词概率计算方法及***,以解决现有技术中所存在的一个或多个技术问题,至少提供一种有益的选择或创造条件。
针对大规模分词字符串序列进行纠错计算会造成计算位点过多,采用混淆集对所有候选词都参与计算的计算成本与时间复杂度过大。
本公开提供了一种基于梯度提升决策树的句词概率计算方法及***,对文本数据集进行数据清洗得到预处理数据集,读取预处理数据集中的字符串,使用HanLP对读取的字符串进行分词,将分词的集合组合为分词标注集合,并将所得分词以json格式保存为输入数据集,输入数据集读取并处理为平行数据,将平行数据分批次输入多个梯度提升决策树模型进行学***行数据的分批次输入,计算各个梯度提升决策树模型之间的共享权重,以共享权重调节多个梯度提升决策树模型的损失函数,学***行数据同样格式的待监测数据,分别输入多个判别模型分别得到多个输出的判别分数,分别将各个判别模型输出的判别分数结合共享权重得到最终的总体判别分数。由此提升句词概率计算的并行性与高效性,通过数据并行化实现了降低所有候选分词的计算成本与时间复杂度的有益效果。
为了实现上述目的,根据本公开的一方面,提供一种基于梯度提升决策树的句词概率计算方法,所述方法包括以下步骤:
S100,对文本数据集进行数据清洗,去除其中的标点符号和无效的非中文字符,得到预处理数据集;
S200,读取预处理数据集中的字符串,使用HanLP对读取的字符串进行分词,将分词的集合组合为分词标注集合,并将所得分词以json格式保存为输入数据集;
S300,将输入数据集读取并处理为平行数据;
S400,将平行数据分批次输入多个梯度提升决策树模型进行学习;
S500,在多个梯度提升决策树模型进行学***行数据的分批次输入,计算各个梯度提升决策树模型之间的共享权重,以共享权重调节多个梯度提升决策树模型的损失函数,学习后得到多个判别模型;
S600,将与平行数据同样格式的待监测数据,分别输入多个判别模型分别得到多个输出的判别分数,分别将各个判别模型输出的判别分数结合共享权重得到最终的总体判别分数。
进一步地,在S100中,对文本数据集进行数据清洗,去除其中的标点符号和无效的非中文字符,得到预处理数据集的方法为:从服务器集群的数据库中获取文本数据集,所述文本数据集为数据库中的表,其中,所述表的数据的字段类型为字符串,所述表中的字符串为从任意文本文件中读取的字符串,所述表中的每一行数据为一个文本的字符串,将所述表的数据中的各个字符按照ASCII码对照表转换成十进制数值,将十进制数值的范围在[0,31]的对应字符在数据中删除,或者将所述表的数据的字段的字符中在ASCII码对照表中十进制数值在[0,31]的字符进行删除,并将进行删除后的表的数据保存为一个或多个csv文件作为预处理数据集。
进一步地,在S200中,读取预处理数据集中的字符串,使用HanLP对读取的字符串进行分词,将分词的集合组合为分词标注集合,并将所得分词以json格式保存为输入数据集的方法为:从预处理数据集对其中每一行分别读取其中的字符串,每一行读取为一个字符串,使用HanLP对读取的各个字符串分别进行分词,并将每一个字符串分别进行分词后所得的分词作为一个分词数组,所述分词为每一行读取得到一个字符串中的部分字符组成的字符串,将所有分词数组中的所有的分词组成的互异性集合记为集合Aset,Aset即为分词标注集合,记Aset的元素的数量为n,记Aset的元素的序号为i,i∈[1,n],将每一个分词数组对其中各分词在分词上标注该分词在Aset中的序号得到一个分词标注序列,即所述一个分词标注序列中的元素由一个分词及该分词在分词标注集合Aset中的序号组成,若分词在Aset中的序号为i,则Aset中序号为i的分词记为Aset(i),一个分词标注序列中的元素由序号i和分词Aset(i)组成即为<i, Aset(i)>,将各个分词标注序列组成的集合以json格式将保存为输入数据集。
进一步地,在S300中,将输入数据集读取并处理为平行数据的方法为:读取输入数据集中的各个分词标注序列组成的集合作为集合Bset,集合Bset中的元素的数量为m,集合Bset中的元素的序号为变量j,j∈[1,m],集合Bset中序号为j的元素记作B_j,定义函数len()为计算获取输入函数中的数组或序列或向量中的元素的个数的函数,len(B_j)表示B_j中元素的个数,将集合Bset中各序号的元素中的元素的个数组成的集合记为集合Lset,Lset={len(B_j)| j∈[1,m]},函数max()表示计算获取输入函数中的数组或序列或向量中数值最大的元素的函数,max(Lset)表示获取集合Lset中数值最大的元素;
定义函数Han(),函数Han()的计算过程为以下步骤:
S301-1,函数Han()输入集合Bset;
S301-2,设置空集合Cset;
S301-3,通过函数len()得到集合Bset中各序号的元素对应的len(B_j),并得到各序号的元素对应的len(B_j)组成的集合Lset中的数值最大的max(Lset),将max(Lset)记为ml;
S301-4,对集合Bset中各序号的元素B_j,若其中任意序号的B_j满足约束条件len(B_j)<ml,则在该分词标注序列B_j的末尾加上ml-len(B_j)个由空字符串与序号0组成的元素,将一个由空字符串与序号0组成的元素记作一个填充元素,即分词标注序列B_j的长度由原本的len(B_j)通过在其后加入了ml-len(B_j)个由空字符串与序号0组成的元素,延长其长度至ml,以此将集合Bset中各序号的元素B_j皆处理为长度为ml的分词标注序列;其中,在长度为ml的分词标注序列中,分词标注序列中的元素的序号为il,有il∈[1,ml];
S301-5,将处理后的集合Bset中各元素加入Cset;
S301-6,函数Han()输出Cset;
进而,在输出的集合Cset的基础上,集合Cset元素的数量与集合Bset中的元素的数量相同皆为m,集合Cset元素的序号与集合Bset中的元素的序号相同皆为j,集合Cset中的各元素皆为长度为ml的分词标注序列,依次以集合Cset中m个长度为ml的分词标注序列作为矩阵的m个长度为ml的列(即,将集合Cset中m个长度为ml的分词标注序列作为m个一维矩阵,将各个一维矩阵转置后得到的转置矩阵作为的m个长度为ml的列),将集合Cset中m个长度为ml的分词标注序列作为一个大小为ml×m的m行ml列的矩阵记为矩阵Cmat;
矩阵Cmat中的每一列为集合Cset中的一个元素,即矩阵Cmat中列的数量与集合Cset中元素的数量相同皆为m、矩阵Cmat中列的序号与集合Cset中元素的序号相同皆为j,矩阵Cmat中的每一列皆为长度为ml的分词标注序列,即矩阵Cmat的行的数量为ml、矩阵Cmat的行的序号与分词标注序列中的元素的序号相同皆为il,矩阵Cmat中序号为il的行的元素为集合Cset中序号从1到m的各个分词标注序列中分别序号为il的元素,矩阵Cmat中第il行第j列的元素为集合Cset中序号为j的分词标注序列中的序号为il的元素,将矩阵Cmat中第il行记为Cmat[il,]、矩阵Cmat中第j列记为Cmat[,j]、矩阵Cmat中第il行第j列的元素记为Cmat[il,j];
矩阵Cmat中第il行第j列的元素记为Cmat[il,j],Cmat[il,j]由一个分词及该分词在分词标注集合中的序号组成,记Cmat[il,j]中的分词为Cstr(il,j)、Cmat[il,j]中的分词在分词标注集合中的序号为Cid(il,j),Cmat中第il行第j列的元素Cmat[il,j]可记作Cmat[il,j]=<Cid(il,j), Cstr(il,j)>;
将矩阵Cmat中每个元素中的分词Cstr(il,j)替换为该分词Cstr(il,j)通过词向量算法得到的词向量,记Cstr(il,j)通过词向量算法得到的词向量为Cvec(il,j),记词向量的维度的数量为k、词向量的各维度的序号为v,v∈[1,k],空字符串通过词向量算法得到的词向量为全零向量,把矩阵Cmat中每个元素中的分词Cstr(il,j)替换为Cvec(il,j)由此得到一个数组记作Ctensor,Ctensor中第il行记为Ctensor[il,]、Ctensor中第j列记为Ctensor[,j]、Ctensor中第il行第j列的元素记为Ctensor[il,j],Ctensor[il,j]由Cid(il,j)和Cvec(il,j)组成,Ctensor[il,j]=<Cid(il,j), Cvec(il,j)>,Cvec(il,j)中第v维的数值记作Cvec(il,j,v),所得Ctensor即为平行数据。
进一步地,在S400中,将平行数据分批次输入多个梯度提升决策树模型进行学习的方法为:
创建q个不同的梯度提升决策树模型,定义int()为向下取整的函数,获取分词标注集合,进而得到分词标注集合的元素的数量n,获取输入数据集,进而获取输入数据集中元素的数量m,其中得到q 的数值的计算为:
获取平行数据,记为Ctensor,对平行数据Ctensor进行分批次的具体步骤为:
S401,获取Ctensor中列的数量为m;设置变量p,p的初始值为0;设置空集合gap;转到S402;
S402,定义分批次的数量为epi;将m除以q;判断m除以q是否有余数,若是有余数则转到S403,若否则转到S405;
S403,将p的数值改变为等于m除以q的余数;从Ctensor中随机取出q列,使得Ctensor中列的数量为m-q;转到S404;
S404,令q-p的结果为g,从Ctensor中随机取出g列放入gap;将gap中的所有元素加入Ctensor中;清空集合gap;转到S405;
S405,获取Ctensor中的列数;将epi的数值改变为等于获取的Ctensor中的列数除以q后得到的结果的数值;转到S406;
S406,将Ctensor按列分为q份,每份为Ctensor中的epi个列并将每份记为一个批次,将各个批次分别输入一个梯度提升决策树模型进行学习,所述梯度提升决策树模型为XGBoost模型,由此学习得到q个不同的梯度提升决策树模型;
其中,在S406中,各个批次分别输入一个梯度提升决策树模型进行学***行数据中任意行任意列的元素并将该被删除的元素被删除后空出的位置的位置记为占位符,令梯度提升决策树模型根据其他未被删除的元素预测占位符被删除前的元素,并输出预测占位符被删除前的元素的概率,以XGBoost的方式来计算得到预测占位符被删除前的元素的概率与占位符被删除前的元素的交叉熵再经过sigmoid激活函数得到损失函数的输出结果,损失函数的输出结果用于对模型利用梯度下降进行优化。
进一步地,在S500中,根据平行数据的分批次输入,计算各个梯度提升决策树模型之间的共享权重的方法为:将平行数据记为Ctensor,将平行数据按列分为多个的分批次输入,其中平行数据按列分为的分批次输入的数量为q,各个分批次输入的序号为qi,qi∈[1,q],Ctensor中序号为qi的分批次输入记为Ctensor(qi),Ctensor(qi)∈Ctensor,各个分批次输入的行数相同皆记为ml,各个分批次输入的行的序号为il,有il∈[1,ml],分批次输入Ctensor(qi)的列的数量记为mqi,分批次输入Ctensor(qi)的列的序号为jqi,jqi∈[1,mqi],Ctensor(qi)中行的序号为il的行记为Ctensor(qi)[il,],Ctensor(qi)中列的序号为mqi的行记为Ctensor(qi)[,jqi],Ctensor(qi)中行的序号为il、列的序号为mqi的元素记为Ctensor(qi)[il,jqi],其中,Ctensor(qi)[il,jqi]由一个序号与一个词向量组成,Ctensor(qi)[il,jqi]中的序号记为Cid(qi)[il,jqi],Ctensor(qi)[il,jqi]中的词向量记为Cvec(qi)[il,jqi],定义共享权重为计量各个分批次输入的信息量的频率的数值,定义根据分批次输入计算共享权重的函数为Cov(),通过函数Cov()计算Ctensor(qi)的共享权重记为Cov(qi),Cov(qi)的计算公式为:
计算得到的Cov(qi)即为Ctensor中序号为qi的分批次输入的共享权重,Ctensor中各个序号的分批次输入的共享权重组成的数组记为数组Covs,Covs=[Cov(qi)|qi∈[1,q]],数组Covs中各元素的算术平均值记为Covg,函数exp()为以自然常数e为底的指数函数,将多个不同的梯度提升决策树模型的数量设置为与分批次输入的数量相同为q,将多个不同的梯度提升决策树模型的序号设置为与分批次输入的序号同样为qi,序号为qi的梯度提升决策树模型记为M(qi),将各个梯度提升决策树模型组成的集合记为Ms,M(qi)∈Ms,M(qi)的损失函数的输出结果为loss(qi),各个梯度提升决策树模型的损失函数的返回值为各个梯度提升决策树模型的损失函数的输出结果被该个梯度提升决策树模型的共享权重调节后的数值,损失函数的返回值为机器学习的模型训练过程中需要对模型利用梯度下降进行优化的参数,记M(qi)的损失函数的返回值为L(qi),L(qi)用于对M(qi)进行优化,各个序号的梯度提升决策树模型的损失函数的返回值组成的数组为数组Loss,以共享权重调节多个梯度提升决策树模型的损失函数的计算公式如下,
由此使用各M(qi)对应的L(qi)用于对模型进行优化,从而在优化后,得到q个判别模型。
进一步地,在S600中,将与平行数据同样格式的待监测数据,分别输入多个判别模型分别得到多个输出的判别分数,分别将各个判别模型输出的判别分数结合共享权重得到最终的总体判别分数的方法为:判别模型的数量及序号与进行优化之前梯度提升决策树模型的数量及序号相等,判别模型的数量为q,判别模型的序号为qi,qi∈[1,q],判别模型的输出为XGBoost的判别分数,随机删除平行数据中任意行任意列的元素并将该被删除的元素的位置放入占位符,令梯度提升决策树模型根据其他未被删除的元素预测占位符被删除前的元素,并输出预测占位符被删除前的元素的概率,记序号qi的判别模型的输出为score(qi),score(qi) 输出预测占位符被删除前的元素的概率,序号qi的判别模型对应的共享权重记为Cov(qi),最终的总体判别分数记为score,score的计算公式为:
计算所得的score即为分别将各个判别模型输出的判别分数结合共享权重得到最终的总体判别分数,以计算所得的score作为句词概率进行储存。
本公开还提供了一种基于梯度提升决策树的句词概率计算***,所述一种基于梯度提升决策树的句词概率计算***包括:处理器、存储器及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述一种基于梯度提升决策树的句词概率计算方法中的步骤,所述一种基于梯度提升决策树的句词概率计算***运行于桌上型计算机、笔记本、掌上电脑及云端数据中心的计算设备中,可运行的***包括处理器、存储器、服务器集群,所述处理器执行所述计算机程序运行在以下***的单元中:
预处理单元,用于对文本数据集进行数据清洗去除其中的标点符号和无效的非中文字符得到预处理数据集;
输入数据集单元,用于读取预处理数据集中的字符串使用HanLP对读取的字符串进行分词,将分词的集合组合为分词标注集合并将所得分词以json格式保存为输入数据集;
平行数据处理单元,用于将输入数据集读取并处理为平行数据;
模型学***行数据分批次输入多个梯度提升决策树模型进行学习;
分批次输入单元,用于在多个梯度提升决策树模型进行学***行数据的分批次输入,计算各个梯度提升决策树模型之间的共享权重,以共享权重调节多个梯度提升决策树模型的损失函数,学习后得到多个判别模型;
概率输出单元,用于将与平行数据同样格式的待监测数据分别输入多个判别模型分别得到多个输出的判别分数,分别将各个判别模型输出的判别分数结合共享权重得到最终的总体判别分数。
本公开的有益效果为: 本公开提供了一种基于梯度提升决策树的句词概率计算方法及***,在多个梯度提升决策树模型进行学***行数据的分批次输入,计算各个梯度提升决策树模型之间的共享权重,以共享权重调节多个梯度提升决策树模型的损失函数,学习后得到多个判别模型,分别输入多个判别模型分别得到多个输出的判别分数,分别将各个判别模型输出的判别分数结合共享权重得到最终的总体判别分数。由此提升句词概率计算的并行性与高效性,通过数据并行化实现了降低所有候选分词的计算成本与时间复杂度的有益效果。
附图说明
通过对结合附图所示出的实施方式进行详细说明,本公开的上述以及其他特征将更加明显,本公开附图中相同的参考标号表示相同或相似的元素,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,在附图中:
图1所示为一种基于梯度提升决策树的句词概率计算方法的流程图;
图2所示为一种基于梯度提升决策树的句词概率计算***的***结构图。
具体实施方式
以下将结合实施例和附图对本公开的构思、具体结构及产生的技术效果进行清楚、完整的描述,以充分地理解本公开的目的、方案和效果。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
在本发明的描述中,若干的含义是一个或者多个,多个的含义是两个以上,大于、小于、超过等理解为不包括本数,以上、以下、以内等理解为包括本数。如果有描述到第一、第二只是用于区分技术特征为目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系。
如图1所示为根据本发明的一种基于梯度提升决策树的句词概率计算方法的流程图,下面结合图1来阐述根据本发明的实施方式的一种基于梯度提升决策树的句词概率计算方法及***。
本公开提出一种基于梯度提升决策树的句词概率计算方法,所述方法具体包括以下步骤:
S100,对文本数据集进行数据清洗,去除其中的标点符号和无效的非中文字符,得到预处理数据集;
S200,读取预处理数据集中的字符串,使用HanLP对读取的字符串进行分词,将分词的集合组合为分词标注集合,并将所得分词以json格式保存为输入数据集;
S300,将输入数据集读取并处理为平行数据;
S400,将平行数据分批次输入多个梯度提升决策树模型进行学习;
S500,在多个梯度提升决策树模型进行学***行数据的分批次输入,计算各个梯度提升决策树模型之间的共享权重,以共享权重调节多个梯度提升决策树模型的损失函数,学习后得到多个判别模型;
S600,将与平行数据同样格式的待监测数据,分别输入多个判别模型分别得到多个输出的判别分数,分别将各个判别模型输出的判别分数结合共享权重得到最终的总体判别分数。
进一步地,在S100中,对文本数据集进行数据清洗,去除其中的标点符号和无效的非中文字符,得到预处理数据集的方法为:从服务器集群的数据库中获取文本数据集,所述文本数据集为数据库中的表,其中,所述表的数据的字段类型为字符,所述表中的字符为从任意文本文件中读取的字符串的字符,所述表中的每一行数据为一个文本的字符串,将所述表的数据的字段的字符中在ASCII码对照表中十进制数值在[0,31]的字符进行删除并将进行删除后的表的数据保存为一个或多个csv文件作为预处理数据集。
进一步地,在S200中,读取预处理数据集中的字符串,使用HanLP对读取的字符串进行分词,将分词的集合组合为分词标注集合,并将所得分词以json格式保存为输入数据集的方法为:从预处理数据集对其中每一行分别读取其中的字符串,每一行读取为一个字符串,使用HanLP对读取的各个字符串分别进行分词,并将每一个字符串分别进行分词后所得的分词作为一个分词数组,所述分词为每一行读取得到一个字符串中的部分字符组成的字符串,将所有分词数组中的所有的分词组成的互异性集合记为集合Aset,Aset即为分词标注集合,记Aset的元素的数量为n,记Aset的元素的序号为i,i∈[1,n],将每一个分词数组对其中各分词在分词上标注该分词在Aset中的序号得到一个分词标注序列,即所述一个分词标注序列中的元素由一个分词及该分词在分词标注集合Aset中的序号组成,若分词在Aset中的序号为i,则Aset中序号为i的分词记为Aset(i),一个分词标注序列中的元素由序号i和分词Aset(i)组成即为<i, Aset(i)>,将各个分词标注序列组成的集合以json格式将保存为输入数据集。
进一步地,在S300中,将输入数据集读取并处理为平行数据的方法为:读取输入数据集中的各个分词标注序列组成的集合作为集合Bset,集合Bset中的元素的数量为m,集合Bset中的元素的序号为变量j,j∈[1,m],集合Bset中序号为j的元素记作B_j,定义函数len()为计算获取输入函数中的数组或序列或向量中的元素的个数的函数,len(B_j)表示B_j中元素的个数,其中B_j中元素的个数的范围为大于0,将集合Bset中各序号的元素中的元素的个数组成的集合记为集合Lset,Lset={len(B_j)| j∈[1,m]},函数max()表示计算获取输入函数中的数组或序列或向量中数值最大的元素的函数,max(Lset)表示获取集合Lset中数值最大的元素;
定义函数Han(),函数Han()的计算过程为:
S301-1,函数Han()输入集合Bset;
S301-2,设置空集合Cset;
S301-3,通过函数len()得到集合Bset中各序号的元素对应的len(B_j),并得到各序号的元素对应的len(B_j)组成的集合Lset中的数值最大的max(Lset),将max(Lset)记为ml;
S301-4,对集合Bset中各序号的元素B_j,若其中任意序号的B_j满足约束条件len(B_j)<ml,则在该分词标注序列B_j的末尾加上ml-len(B_j)个由空字符串与序号0组成的元素,将一个由空字符串与序号0组成的元素记作一个填充元素,即分词标注序列B_j的长度由原本的len(B_j)通过在其后加入了ml-len(B_j)个由空字符串与序号0组成的元素,延长其长度至ml,以此将集合Bset中各序号的元素B_j皆处理为长度为ml的分词标注序列;其中,在长度为ml的分词标注序列中,分词标注序列中的元素的序号为il,有il∈[1,ml];
S301-5,将处理后的集合Bset中各元素加入Cset;
S301-6,函数Han()输出Cset;
进而,在输出的集合Cset的基础上,集合Cset元素的数量与集合Bset中的元素的数量相同皆为m,集合Cset元素的序号与集合Bset中的元素的序号相同皆为j,集合Cset中的各元素皆为长度为ml的分词标注序列,将集合Cset中m个长度为ml的分词标注序列作为一个大小为ml×m的m行ml列的矩阵记为矩阵Cmat;
矩阵Cmat中的每一列为集合Cset中的一个元素,即矩阵Cmat中列的数量与集合Cset中元素的数量相同皆为m、矩阵Cmat中列的序号与集合Cset中元素的序号相同皆为j,矩阵Cmat中的每一列皆为长度为ml的分词标注序列,即矩阵Cmat的行的数量为ml、矩阵Cmat的行的序号与分词标注序列中的元素的序号相同皆为il,矩阵Cmat中序号为il的行的元素为集合Cset中序号从1到m的各个分词标注序列中分别序号为il的元素,矩阵Cmat中第il行第j列的元素为集合Cset中序号为j的分词标注序列中的序号为il的元素,将矩阵Cmat中第il行记为Cmat[il,]、矩阵Cmat中第j列记为Cmat[,j]、矩阵Cmat中第il行第j列的元素记为Cmat[il,j];
矩阵Cmat中第il行第j列的元素记为Cmat[il,j],Cmat[il,j]由一个分词及该分词在分词标注集合中的序号组成,记Cmat[il,j]中的分词为Cstr(il,j)、Cmat[il,j]中的分词在分词标注集合中的序号为Cid(il,j),Cmat中第il行第j列的元素Cmat[il,j]可记作Cmat[il,j]=<Cid(il,j), Cstr(il,j)>;
将矩阵Cmat中每个元素中的分词Cstr(il,j)替换为该分词Cstr(il,j)通过词向量算法得到的词向量,记Cstr(il,j)通过词向量算法得到的词向量为Cvec(il,j),记词向量的维度的数量为k、词向量的各维度的序号为v,v∈[1,k],空字符串通过词向量算法得到的词向量为全零向量,把矩阵Cmat中每个元素中的分词Cstr(il,j)替换为Cvec(il,j)由此得到一个数组记作Ctensor,Ctensor中第il行记为Ctensor[il,]、Ctensor中第j列记为Ctensor[,j]、Ctensor中第il行第j列的元素记为Ctensor[il,j],Ctensor[il,j]由Cid(il,j)和Cvec(il,j)组成,Ctensor[il,j]=<Cid(il,j), Cvec(il,j)>,Cvec(il,j)中第v维的数值记作Cvec(il,j,v),所得Ctensor即为平行数据;
其中,可优选地,使用的代码可包括:
utils import *
import random
class ParalDel:
def __init__(self, il, ml):
"""
#把矩阵Cmat中每个元素中的分词Cstr(il,j)替换为Cvec(il,j)由此得到一个数组记作Ctensor,
"""
self.cmat = utils.cmat
self.json_id = ml
self.count = il * ml - 1
self.pool = set()
self.used_count = 0
def pre_mer(self):
"""
Ctensor中第il行记为Ctensor[il,]、Ctensor中第j列记为Ctensor[,j]、Ctensor中第il行第j列的元素记为Ctensor[il,j],
Ctensor[il,j]由Cid(il,j)和Cvec(il,j)组成,Ctensor[il,j]=<Cid(il,j), Cvec(il,j)>,Cvec(il,j)中第v维的数值记作Cvec(il,j,v),所得Ctensor即为平行数据
"""
while True:
ar = random.randint(self.used_count, self.count)
if ar not in self.pool:
self.pool.add(ar)
return divmod(ar, self.json_id)
def paralellize(self):
self.pool = set();
由此得到平行数据。
进一步地,在S400中,将平行数据分批次输入多个梯度提升决策树模型进行学习的方法为:
创建q个不同的梯度提升决策树模型,定义int()为向下取整的函数,获取分词标注集合,进而得到分词标注集合的元素的数量n,获取输入数据集,进而获取输入数据集中元素的数量m,其中得到q 的数值的计算为:
获取平行数据,记为Ctensor,对平行数据Ctensor进行分批次的具体步骤为:
S401,获取Ctensor中列的数量为m;设置变量p,p的初始值为0;设置空集合gap;转到S402;
S402,定义分批次的数量为epi;将m除以q;判断m除以q是否有余数,若是有余数则转到S403,若否则转到S405;
S403,将p的数值改变为等于m除以q的余数;从Ctensor中随机取出q列,使得Ctensor中列的数量为m-q;转到S404;
S404,令q-p的结果为g,从Ctensor中随机取出g列放入gap;将gap中的所有元素加入Ctensor中;清空集合gap;转到S405;
S405,获取Ctensor中的列数;将epi的数值改变为等于获取的Ctensor中的列数除以q后得到的结果的数值;转到S406;
S406,将Ctensor按列分为q份,每份为Ctensor中的epi个列并将每份记为一个批次,将各个批次分别输入一个梯度提升决策树模型进行学习,所述梯度提升决策树模型为XGBoost模型,由此学习得到q个不同的梯度提升决策树模型;
其中,在S406中,各个批次分别输入一个梯度提升决策树模型进行学***行数据中任意行任意列的元素并将该被删除的元素记为占位符,令梯度提升决策树模型根据其他未被删除的元素预测占位符被删除前的元素,并输出预测占位符被删除前的元素的概率,以XGBoost的方式来计算得到预测占位符被删除前的元素的概率与占位符被删除前的元素的交叉熵再经过sigmoid激活函数得到损失函数的输出结果,损失函数的输出结果用于对模型利用梯度下降进行优化。
进一步地,在S500中,根据平行数据的分批次输入,计算各个梯度提升决策树模型之间的共享权重的方法为:将平行数据记为Ctensor,将平行数据按列分为多个的分批次输入,其中平行数据按列分为的分批次输入的数量为q,各个分批次输入的序号为qi,qi∈[1,q],Ctensor中序号为qi的分批次输入记为Ctensor(qi),Ctensor(qi)∈Ctensor,各个分批次输入的行数相同皆记为ml,各个分批次输入的行的序号为il,有il∈[1,ml],分批次输入Ctensor(qi)的列的数量记为mqi,分批次输入Ctensor(qi)的列的序号为jqi,jqi∈[1,mqi],Ctensor(qi)中行的序号为il的行记为Ctensor(qi)[il,],Ctensor(qi)中列的序号为mqi的行记为Ctensor(qi)[,jqi],Ctensor(qi)中行的序号为il、列的序号为mqi的元素记为Ctensor(qi)[il,jqi],其中,Ctensor(qi)[il,jqi]由一个序号与一个词向量组成,Ctensor(qi)[il,jqi]中的序号记为Cid(qi)[il,jqi],Ctensor(qi)[il,jqi]中的词向量记为Cvec(qi)[il,jqi],定义共享权重为计量各个分批次输入的信息量的频率的数值,定义根据分批次输入计算共享权重的函数为Cov(),通过函数Cov()计算Ctensor(qi)的共享权重记为Cov(qi),Cov(qi)的计算公式为:
计算得到的Cov(qi)即为Ctensor中序号为qi的分批次输入的共享权重,Ctensor中各个序号的分批次输入的共享权重组成的数组记为数组Covs,Covs=[Cov(qi)|qi∈[1,q]],数组Covs中各元素的算术平均值记为Covg,函数exp()为以自然常数e为底的指数函数,将多个不同的梯度提升决策树模型的数量设置为与分批次输入的数量相同为q,将多个不同的梯度提升决策树模型的序号设置为与分批次输入的序号同样为qi,序号为qi的梯度提升决策树模型记为M(qi),将各个梯度提升决策树模型组成的集合记为Ms,M(qi)∈Ms,M(qi)的损失函数的输出结果为loss(qi),各个梯度提升决策树模型的损失函数的返回值为各个梯度提升决策树模型的损失函数的输出结果被该个梯度提升决策树模型的共享权重调节后的数值,损失函数的返回值为机器学习的模型训练过程中需要对模型利用梯度下降进行优化的参数,记M(qi)的损失函数的返回值为L(qi),L(qi)用于对M(qi)进行优化,各个序号的梯度提升决策树模型的损失函数的返回值组成的数组为数组Loss,以共享权重调节多个梯度提升决策树模型的损失函数的计算公式如下,
由此使用各M(qi)对应的L(qi)用于对模型进行优化,从而在优化后,得到q个判别模型。
进一步地,在S600中,将与平行数据同样格式的待监测数据,分别输入多个判别模型分别得到多个输出的判别分数,分别将各个判别模型输出的判别分数结合共享权重得到最终的总体判别分数的方法为:
监测数据可为输入的字符串数据或者为与平行数据的大小相同的矩阵其中矩阵中的元素由一个分词在分词标注集合中的序号、以及这个分词通过词向量算法得到的词向量而组成,判别模型的数量及序号与进行优化之前梯度提升决策树模型的数量及序号相等,判别模型的数量为q,判别模型的序号为qi,qi∈[1,q],判别模型的输出为XGBoost的判别分数,随机删除平行数据中任意行任意列的元素并将该被删除的元素记为占位符,令梯度提升决策树模型根据其他未被删除的元素预测占位符被删除前的元素,并输出预测占位符被删除前的元素的概率,记序号qi的判别模型的输出为score(qi),score(qi) 输出预测占位符被删除前的元素的概率,序号qi的判别模型对应的共享权重记为Cov(qi),最终的总体判别分数记为score,score的计算公式为:
计算所得的score即为分别将各个判别模型输出的判别分数结合共享权重得到最终的总体判别分数,以计算所得的score作为句词概率进行储存。
所述一种基于梯度提升决策树的句词概率计算***包括:处理器、存储器及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述一种基于梯度提升决策树的句词概率计算方法实施例中的步骤,所述一种基于梯度提升决策树的句词概率计算***可以运行于桌上型计算机、笔记本、掌上电脑及云端数据中心等计算设备中,可运行的***可包括,但不仅限于,处理器、存储器、服务器集群。
本公开的实施例提供的一种基于梯度提升决策树的句词概率计算***,如图2所示,该实施例的一种基于梯度提升决策树的句词概率计算***包括:处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述一种基于梯度提升决策树的句词概率计算方法实施例中的步骤,所述处理器执行所述计算机程序运行在以下***的单元中:
预处理单元,用于对文本数据集进行数据清洗去除其中的标点符号和无效的非中文字符得到预处理数据集;
输入数据集单元,用于读取预处理数据集中的字符串使用HanLP对读取的字符串进行分词,将分词的集合组合为分词标注集合并将所得分词以json格式保存为输入数据集;
平行数据处理单元,用于将输入数据集读取并处理为平行数据;
模型学***行数据分批次输入多个梯度提升决策树模型进行学习;
分批次输入单元,用于在多个梯度提升决策树模型进行学***行数据的分批次输入,计算各个梯度提升决策树模型之间的共享权重,以共享权重调节多个梯度提升决策树模型的损失函数,学习后得到多个判别模型;
概率输出单元,用于将与平行数据同样格式的待监测数据分别输入多个判别模型分别得到多个输出的判别分数,分别将各个判别模型输出的判别分数结合共享权重得到最终的总体判别分数。
所述一种基于梯度提升决策树的句词概率计算***可以运行于桌上型计算机、笔记本、掌上电脑及云端数据中心等计算设备中。所述一种基于梯度提升决策树的句词概率计算***包括,但不仅限于,处理器、存储器。本领域技术人员可以理解,所述例子仅仅是一种基于梯度提升决策树的句词概率计算方法及***的示例,并不构成对一种基于梯度提升决策树的句词概率计算方法及***的限定,可以包括比例子更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述一种基于梯度提升决策树的句词概率计算***还可以包括输入输出设备、网络接入设备、总线等。
所称处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器 (Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列 (Field-Programmable Gate Array,FPGA) 或者其他可编程逻辑器件、分立元器件门电路或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述一种基于梯度提升决策树的句词概率计算***的控制中心,利用各种接口和线路连接整个一种基于梯度提升决策树的句词概率计算***的各个分区域。
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述一种基于梯度提升决策树的句词概率计算方法及***的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card, SMC),安全数字(Secure Digital, SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
注:如果本申请中出现重复定义的变量或者代号,则该变量的作用范围只在本自然段中。
本公开提供了一种基于梯度提升决策树的句词概率计算方法及***,在多个梯度提升决策树模型进行学***行数据的分批次输入,计算各个梯度提升决策树模型之间的共享权重,以共享权重调节多个梯度提升决策树模型的损失函数,学习后得到多个判别模型,分别输入多个判别模型分别得到多个输出的判别分数,分别将各个判别模型输出的判别分数结合共享权重得到最终的总体判别分数。由此提升句词概率计算的并行性与高效性,通过数据并行化实现了降低所有候选分词的计算成本与时间复杂度的有益效果。
尽管本公开的描述已经相当详尽且特别对几个所述实施例进行了描述,但其并非旨在局限于任何这些细节或实施例或任何特殊实施例,从而有效地涵盖本公开的预定范围。此外,上文以发明人可预见的实施例对本公开进行描述,其目的是为了提供有用的描述,而那些目前尚未预见的对本公开的非实质性改动仍可代表本公开的等效改动。
Claims (6)
1.一种基于梯度提升决策树的句词概率计算方法,其特征在于,所述方法包括以下步骤:
S100,对文本数据集进行数据清洗,去除其中的标点符号和无效的非中文字符,得到预处理数据集;
S200,读取预处理数据集中的字符串,使用HanLP对读取的字符串进行分词,将分词的集合组合为分词标注集合,并将所得分词以json格式保存为输入数据集;
S300,将输入数据集读取并处理为平行数据;
S400,将平行数据分批次输入多个梯度提升决策树模型进行学习;
S500,在多个梯度提升决策树模型进行学***行数据的分批次输入,计算各个梯度提升决策树模型之间的共享权重,以共享权重调节多个梯度提升决策树模型的损失函数,学习后得到多个判别模型;
S600,将与平行数据同样格式的待监测数据,分别输入多个判别模型分别得到多个输出的判别分数,分别将各个判别模型输出的判别分数结合共享权重得到最终的总体判别分数;
其中,在S300中,将输入数据集读取并处理为平行数据的方法为:读取输入数据集中的各个分词标注序列组成的集合作为集合Bset,集合Bset中的元素的数量为m,集合Bset中的元素的序号为变量j,j∈[1,m],集合Bset中序号为j的元素记作B_j,定义函数len()为计算获取输入函数中的数组或序列或向量中的元素的个数的函数,len(B_j)表示B_j中元素的个数,将集合Bset中各序号的元素中的元素的个数组成的集合记为集合Lset,即Lset={len(B_j)| j∈[1,m]},函数max()表示计算获取输入函数中的数组或序列或向量中数值最大的元素的函数,max(Lset)表示获取集合Lset中数值最大的元素;
定义函数Han(),函数Han()的计算过程为以下步骤:
S301-1,函数Han()输入集合Bset;
S301-2,设置空集合Cset;
S301-3,通过函数len()得到集合Bset中各序号的元素对应的len(B_j),并得到各序号的元素对应的len(B_j)组成的集合Lset中的数值最大的max(Lset),将max(Lset)记为ml;
S301-4,对集合Bset中各序号的元素B_j,若其中任意序号的B_j满足约束条件len(B_j)<ml,则在该分词标注序列B_j的末尾加上ml-len(B_j)个由空字符串与序号0组成的元素,将一个由空字符串与序号0组成的元素记作一个填充元素,即分词标注序列B_j的长度由原本的len(B_j)通过在其后加入了ml-len(B_j)个由空字符串与序号0组成的元素,延长其长度至ml,以此将集合Bset中各序号的元素B_j皆处理为长度为ml的分词标注序列;其中,在长度为ml的分词标注序列中,分词标注序列中的元素的序号为il,有il∈[1,ml];
S301-5,将处理后的集合Bset中各元素加入Cset;
S301-6,函数Han()输出Cset;
进而,在输出的集合Cset的基础上,集合Cset元素的数量与集合Bset中的元素的数量相同皆为m,集合Cset元素的序号与集合Bset中的元素的序号相同皆为j,集合Cset中的各元素皆为长度为ml的分词标注序列,依次以集合Cset中m个长度为ml的分词标注序列作为矩阵的m个长度为ml的列,将集合Cset中m个长度为ml的分词标注序列作为一个大小为ml×m的m行ml列的矩阵记为矩阵Cmat;
矩阵Cmat中的每一列为集合Cset中的一个元素,即矩阵Cmat中列的数量与集合Cset中元素的数量相同皆为m、矩阵Cmat中列的序号与集合Cset中元素的序号相同皆为j,矩阵Cmat中的每一列皆为长度为ml的分词标注序列,即矩阵Cmat的行的数量为ml、矩阵Cmat的行的序号与分词标注序列中的元素的序号相同皆为il,矩阵Cmat中序号为il的行的元素为集合Cset中序号从1到m的各个分词标注序列中分别序号为il的元素,矩阵Cmat中第il行第j列的元素为集合Cset中序号为j的分词标注序列中的序号为il的元素,将矩阵Cmat中第il行记为Cmat[il,]、矩阵Cmat中第j列记为Cmat[,j]、矩阵Cmat中第il行第j列的元素记为Cmat[il,j];
矩阵Cmat中第il行第j列的元素记为Cmat[il,j],Cmat[il,j]由一个分词及该分词在分词标注集合中的序号组成,记Cmat[il,j]中的分词为Cstr(il,j)、Cmat[il,j]中的分词在分词标注集合中的序号为Cid(il,j),Cmat中第il行第j列的元素Cmat[il,j]可记作Cmat[il,j]=<Cid(il,j), Cstr(il,j)>;
将矩阵Cmat中每个元素中的分词Cstr(il,j)替换为该分词Cstr(il,j)通过词向量算法得到的词向量,记Cstr(il,j)通过词向量算法得到的词向量为Cvec(il,j),记词向量的维度的数量为k、词向量的各维度的序号为v,v∈[1,k],空字符串通过词向量算法得到的词向量为全零向量,把矩阵Cmat中每个元素中的分词Cstr(il,j)替换为Cvec(il,j)由此得到一个数组记作Ctensor,Ctensor中第il行记为Ctensor[il,]、Ctensor中第j列记为Ctensor[,j]、Ctensor中第il行第j列的元素记为Ctensor[il,j],Ctensor[il,j]由Cid(il,j)和Cvec(il,j)组成,Ctensor[il,j]=<Cid(il,j), Cvec(il,j)>,Cvec(il,j)中第v维的数值记作Cvec(il,j,v),所得Ctensor即为平行数据;
其中,在S400中,将平行数据分批次输入多个梯度提升决策树模型进行学习的方法为:
创建q个不同的梯度提升决策树模型,定义int()为向下取整的函数,获取分词标注集合,进而得到分词标注集合的元素的数量n,获取输入数据集,进而获取输入数据集中元素的数量m,其中得到q 的数值的计算为:
获取平行数据,记为Ctensor,对平行数据Ctensor进行分批次的具体步骤为:
S401,获取Ctensor中列的数量为m;设置变量p,p的初始值为0;设置空集合gap;转到S402;
S402,定义分批次的数量为epi;将m除以q;判断m除以q是否有余数,若是有余数则转到S403,若否则转到S405;
S403,将p的数值改变为等于m除以q的余数;从Ctensor中随机取出q列,使得Ctensor中列的数量为m-q;转到S404;
S404,令q-p的结果为g,从Ctensor中随机取出g列放入gap;将gap中的所有元素加入Ctensor中;清空集合gap;转到S405;
S405,获取Ctensor中的列数;将epi的数值改变为等于获取的Ctensor中的列数除以q后得到的结果的数值;转到S406;
S406,将Ctensor按列分为q份,每份为Ctensor中的epi个列并将每份记为一个批次,将各个批次分别输入一个梯度提升决策树模型进行学习,所述梯度提升决策树模型为XGBoost模型,由此学习得到q个不同的梯度提升决策树模型。
2.根据权利要求1所述的一种基于梯度提升决策树的句词概率计算方法,其特征在于,在S100中,对文本数据集进行数据清洗,去除其中的标点符号和无效的非中文字符,得到预处理数据集的方法为:从服务器集群的数据库中获取文本数据集,所述文本数据集为数据库中的表,其中,表的数据的字段类型为字符串,表中的每一行数据为一个文本的字符串,将所述表的数据中的各个字符按照ASCII码对照表转换成十进制数值,将十进制数值的范围在[0,31]的对应字符在数据中删除,并将进行删除后的表的数据作为预处理数据集。
3.根据权利要求1所述的一种基于梯度提升决策树的句词概率计算方法,其特征在于,在S200中,读取预处理数据集中的字符串,使用HanLP对读取的字符串进行分词,将分词的集合组合为分词标注集合,并将所得分词以json格式保存为输入数据集的方法为:从预处理数据集对其中每一行分别读取其中的字符串,每一行读取为一个字符串,使用HanLP对读取的各个字符串分别进行分词,并将每一个字符串分别进行分词后所得的分词作为一个分词数组,所述分词为每一行读取得到一个字符串中的部分字符组成的字符串,将所有分词数组中的所有的分词组成的互异性集合记为集合Aset,Aset即为分词标注集合,记Aset的元素的数量为n,记Aset的元素的序号为i,i∈[1,n],将每一个分词数组对其中各分词在分词上标注该分词在Aset中的序号得到一个分词标注序列,即所述一个分词标注序列中的元素由一个分词及该分词在分词标注集合Aset中的序号组成,若分词在Aset中的序号为i,则Aset中序号为i的分词记为Aset(i),一个分词标注序列中的元素由序号i和分词Aset(i)组成即为<i, Aset(i)>,将各个分词标注序列组成的集合以json格式将保存为输入数据集。
4.根据权利要求1所述的一种基于梯度提升决策树的句词概率计算方法,其特征在于,在S500中,根据平行数据的分批次输入,计算各个梯度提升决策树模型之间的共享权重的方法为:将平行数据记为Ctensor,将平行数据按列分为多个的分批次输入,其中平行数据按列分为的分批次输入的数量为q,各个分批次输入的序号为qi,qi∈[1,q],Ctensor中序号为qi的分批次输入记为Ctensor(qi),Ctensor(qi)∈Ctensor,各个分批次输入的行数相同皆记为ml,各个分批次输入的行的序号为il,有il∈[1,ml],分批次输入Ctensor(qi)的列的数量记为mqi,分批次输入Ctensor(qi)的列的序号为jqi,jqi∈[1,mqi],Ctensor(qi)中行的序号为il的行记为Ctensor(qi)[il,],Ctensor(qi)中列的序号为mqi的行记为Ctensor(qi)[,jqi],Ctensor(qi)中行的序号为il、列的序号为mqi的元素记为Ctensor(qi)[il,jqi],其中,Ctensor(qi)[il,jqi]由一个序号与一个词向量组成,Ctensor(qi)[il,jqi]中的序号记为Cid(qi)[il,jqi],Ctensor(qi)[il,jqi]中的词向量记为Cvec(qi)[il,jqi],定义共享权重为计量各个分批次输入的信息量的频率的数值,定义根据分批次输入计算共享权重的函数为Cov(),通过函数Cov()计算Ctensor(qi)的共享权重记为Cov(qi),Cov(qi)的计算公式为:
计算得到的Cov(qi)即为Ctensor中序号为qi的分批次输入的共享权重,Ctensor中各个序号的分批次输入的共享权重组成的数组记为数组Covs,Covs=[Cov(qi)|qi∈[1,q]],数组Covs中各元素的算术平均值记为Covg,函数exp()为以自然常数e为底的指数函数,将多个不同的梯度提升决策树模型的数量设置为与分批次输入的数量相同为q,将多个不同的梯度提升决策树模型的序号设置为与分批次输入的序号同样为qi,序号为qi的梯度提升决策树模型记为M(qi),将各个梯度提升决策树模型组成的集合记为Ms,M(qi)∈Ms,M(qi)的损失函数的输出结果为loss(qi),各个梯度提升决策树模型的损失函数的返回值为各个梯度提升决策树模型的损失函数的输出结果被各个梯度提升决策树模型的共享权重调节后的数值,损失函数的返回值为机器学习的模型训练过程中需要对模型利用梯度下降进行优化的参数,记M(qi)的损失函数的返回值为L(qi),L(qi)用于对M(qi)进行优化,各个序号的梯度提升决策树模型的损失函数的返回值组成的数组为数组Loss,以共享权重调节多个梯度提升决策树模型的损失函数的计算公式如下,
由此使用各M(qi)对应的L(qi)用于对各个梯度提升决策树模型进行优化,从而在优化后,得到q个判别模型。
5.根据权利要求4所述的一种基于梯度提升决策树的句词概率计算方法,其特征在于,在S600中,将与平行数据同样格式的待监测数据,分别输入多个判别模型分别得到多个输出的判别分数,分别将各个判别模型输出的判别分数结合共享权重得到最终的总体判别分数的方法为:判别模型的数量及序号与进行优化之前梯度提升决策树模型的数量及序号相等,判别模型的数量为q,判别模型的序号为qi,qi∈[1,q],判别模型的输出为XGBoost的判别分数,随机删除平行数据中任意行任意列的元素并将被删除的元素被删除后空出的位置放入占位符,令梯度提升决策树模型根据其他未被删除的元素预测占位符被删除前的元素,并输出预测占位符被删除前的元素的概率,记序号qi的判别模型的输出为score(qi),score(qi) 输出预测占位符被删除前的元素的概率,序号qi的判别模型对应的共享权重记为Cov(qi),最终的总体判别分数记为score,score的计算公式为:
计算所得的score即为分别将各个判别模型输出的判别分数结合共享权重得到最终的总体判别分数,以计算所得的score作为句词概率进行储存。
6.一种基于梯度提升决策树的句词概率计算***,其特征在于,所述一种基于梯度提升决策树的句词概率计算***包括:处理器、存储器及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现权利要求1中的一种基于梯度提升决策树的句词概率计算方法中的步骤,所述一种基于梯度提升决策树的句词概率计算***运行于桌上型计算机、笔记本、掌上电脑及云端数据中心的计算设备中,可运行的***包括处理器、存储器、服务器集群。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111184159.XA CN113609843B (zh) | 2021-10-12 | 2021-10-12 | 一种基于梯度提升决策树的句词概率计算方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111184159.XA CN113609843B (zh) | 2021-10-12 | 2021-10-12 | 一种基于梯度提升决策树的句词概率计算方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113609843A CN113609843A (zh) | 2021-11-05 |
CN113609843B true CN113609843B (zh) | 2022-02-01 |
Family
ID=78310943
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111184159.XA Active CN113609843B (zh) | 2021-10-12 | 2021-10-12 | 一种基于梯度提升决策树的句词概率计算方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113609843B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113743110B (zh) * | 2021-11-08 | 2022-02-11 | 京华信息科技股份有限公司 | 一种基于微调生成式对抗网络模型的漏词检测方法及*** |
CN114091624B (zh) * | 2022-01-18 | 2022-04-26 | 蓝象智联(杭州)科技有限公司 | 一种无第三方的联邦梯度提升决策树模型训练方法 |
CN117725437B (zh) * | 2024-02-18 | 2024-05-24 | 南京汇卓大数据科技有限公司 | 一种基于机器学习的数据精准匹配分析方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107608961A (zh) * | 2017-09-08 | 2018-01-19 | 广州汪汪信息技术有限公司 | 基于视角的情感分析方法、电子设备、存储介质、*** |
WO2018107921A1 (zh) * | 2016-12-15 | 2018-06-21 | 腾讯科技(深圳)有限公司 | 回答语句确定方法及服务器 |
CN109086412A (zh) * | 2018-08-03 | 2018-12-25 | 北京邮电大学 | 一种基于自适应加权Bagging-GBDT的不平衡数据分类方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105279252B (zh) * | 2015-10-12 | 2017-12-26 | 广州神马移动信息科技有限公司 | 挖掘相关词的方法、搜索方法、搜索*** |
CN108304365A (zh) * | 2017-02-23 | 2018-07-20 | 腾讯科技(深圳)有限公司 | 关键词提取方法及装置 |
CN107423339A (zh) * | 2017-04-29 | 2017-12-01 | 天津大学 | 基于极端梯度推进和随机森林的热门微博预测方法 |
-
2021
- 2021-10-12 CN CN202111184159.XA patent/CN113609843B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018107921A1 (zh) * | 2016-12-15 | 2018-06-21 | 腾讯科技(深圳)有限公司 | 回答语句确定方法及服务器 |
CN107608961A (zh) * | 2017-09-08 | 2018-01-19 | 广州汪汪信息技术有限公司 | 基于视角的情感分析方法、电子设备、存储介质、*** |
CN109086412A (zh) * | 2018-08-03 | 2018-12-25 | 北京邮电大学 | 一种基于自适应加权Bagging-GBDT的不平衡数据分类方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113609843A (zh) | 2021-11-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113609843B (zh) | 一种基于梯度提升决策树的句词概率计算方法及*** | |
CN109271521B (zh) | 一种文本分类方法及装置 | |
CN112883190A (zh) | 文本分类方法、装置、电子设备及存储介质 | |
CN110083832B (zh) | 文章转载关系的识别方法、装置、设备及可读存储介质 | |
CN115146865A (zh) | 基于人工智能的任务优化方法及相关设备 | |
CN112883730B (zh) | 相似文本匹配方法、装置、电子设备及存储介质 | |
CN115018588A (zh) | 产品推荐方法、装置、电子设备及可读存储介质 | |
CN113268571A (zh) | 一种确定段落中正确答案位置的方法、装置、设备及介质 | |
CN113722512A (zh) | 基于语言模型的文本检索方法、装置、设备及存储介质 | |
CN110083731B (zh) | 图像检索方法、装置、计算机设备及存储介质 | |
CN114969387A (zh) | 文献作者信息消歧方法、装置及电子设备 | |
US9008974B2 (en) | Taxonomic classification system | |
CN113344125A (zh) | 长文本匹配识别方法、装置、电子设备及存储介质 | |
CN111553442B (zh) | 一种分类器链标签序列的优化方法及*** | |
CN112632264A (zh) | 智能问答方法、装置、电子设备及存储介质 | |
CN113705201B (zh) | 基于文本的事件概率预测评估算法、电子设备及存储介质 | |
CN113627157B (zh) | 一种基于多头注意力机制的概率阈值调整方法及*** | |
CN113505117A (zh) | 基于数据指标的数据质量评估方法、装置、设备及介质 | |
CN113724779A (zh) | 基于机器学习技术的SNAREs蛋白识别方法、***、存储介质及设备 | |
CN113343102A (zh) | 基于特征筛选的数据推荐方法、装置、电子设备及介质 | |
CN113469237A (zh) | 用户意图识别方法、装置、电子设备及存储介质 | |
CN107622129B (zh) | 一种知识库的组织方法及装置、计算机存储介质 | |
CN113934842A (zh) | 文本聚类方法、装置及可读存储介质 | |
CN111708884A (zh) | 文本分类方法、装置及电子设备 | |
CN114116989B (zh) | 一种基于ocr识别的格式化文档生成方法及*** |
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 |