一种混合特征融合的中文化工文献分词方法与流程

文档序号:23339527发布日期:2020-12-18 16:34阅读:164来源:国知局
一种混合特征融合的中文化工文献分词方法与流程

本发明属于自然语言处理和信息检索技术领域,特别涉及一种混合特征融合的中文化工文献分词方法。



背景技术:

本发明中的中文化工文献分词方法对自然语言处理和信息检索有重要的作用和意义。借助大数据技术,从文本文档中提取结构化信息和发现知识并反馈给研究者,研究者们可以更科学地分析、总结实验结果,从而更好地指导化工生产实践。然而中文化工文档的数据处理往往面临更困难的局面,一方面,中文是用连续的字符序列编写的,单词之间不似英文有明显的空格界限。另一方面,化工领域文档中包含化学式以及中英文混合词汇,以致计算机难以识别有中文意义的专业单词。因此,将自然语言处理和深度学习等方法应用于化工领域具有很好的研究价值。

中文分词(cws,chinesewordsegment),是进行中文自然语言处理的基础。到目前为止,已有的自动分词研究成果仍不能完全满足应用的需要,在一些专业关键领域问题上仍然值得继续探讨,如分词的规范性、切分歧义、未登录词识别、分词与理解的先后等。

特征提取,针对传统机器学习的序列标注模型存在着特征向量稀疏而且维度庞大,导致内存和计算资源的浪费的缺点,利用深度学习(dnns)自动学习和提取深度特征的优势可作为cws的有效工具。中文里,cnn可以使用在句子里分词后的字层面,获取更多特征,bilstm相比于cnn的好处是能保留到远端的上下文信息,也符合文本的建模。bilstm可以学习上下文特征,但不利于编码,而cnn可以学习字符级拼写特征,但很难提取文本的序列化特征。

现有的中文分词任务已取得了很好的效果。然而,化工领域中文分词方法还存在以下问题:1、化工领域术语识别问题,提高新词识别率;2、大量新词和中英文混合专业词汇给分词结果带来了困难等问题。基于以上技术中存在的问题,本文提出一种基于混合特征融合的中文化工文献中文分词方法。



技术实现要素:

发明目的:针对上述问题,本发明提供一种混合特征融合的中文化工文献分词方法,通过cnn和bilstm模型抽取文本特征,将融合后的特征输入到crf层以获得更好的分词,从而解决化工领域术语识别无法分割等问题。

技术方案:本发明提出一种混合特征融合的中文化工文献分词方法,包括如下步骤:

(1)从化工科学文献挖掘中文化工文献数据,并对文献数据进行预处理,得到清洗后语料t1,提取关键词构建化学技术行业中英文关键词库k;

(2)使用化学技术行业中英文关键词库k对挖掘的语料库数据进行分词标记和词性标注,得到化工文献语料t2,构建中英文词典v,训练并得到word2vec语言模型w;

(3)输入化工文献语料t2,处理每一条文本记录,通过语言模型w处理得到字向量序列s,分别输入到预先构建的cnn和bilstm模型中抽取局部特征fc和上下文特征fb,并融合特征fc和fb,得到新的特征f;

(4)将步骤(3)得到新的特征f输入crf模型,利用邻居标签信息提高标签标记准确性,训练混合特征融合的端到端中文分词模型,得到训练后的模型m;

(5)开放word2vec语言模型接口api,获取用户输入带分词文本t′,调用w模型接口对文本进行处理得到对应词向量;

(6)开放中文分词模型接口api,调用m模型接口,利用混合特征融合的中文分词模型m处理得到分词结果;封装分词结果返还web平台,通过echarts对实体信息可视化返回用户,用户判断分词准确性并反馈处理,分词过程结束。

进一步地,所述步骤(1)包括以下步骤:

(11)挖掘中文化工文献数据,包括文献摘要和关键词;

(12)对挖掘的化工文献数据进行去重,去除标点符号及特殊字符,得到清洗后语料库t1,其中t1={t1,t2,t3,…,tn},n为语料库大小;

(13)提取关键词构建化学技术行业中英文关键词库k。

进一步地,所述步骤(2)包括以下步骤:

(21)将步骤(1)中清洗后的语料库t1输入到自动化分词和词性标注程序中;

(22)定义循环变量i1,赋初始值为1,遍历清洗后语料库t1;

(23)如果i1≤n则跳转到步骤(24),否则跳转到步骤(26);

(24)使用化学技术行业中英文关键词库k对记录t1i1进行分词标记和词性标注,得到(word,label)二元组,word表示单词,label表示词性标记;

(25)i1=i1+1,转到步骤(23);

(26)使用yedda工具对标注后的数据进行补充标注,手动标识未匹配的关键词;

(27)构建中英文词典v;

(28)将分词后文本输入word2vec语言模型,训练并得到word2vec语言模型w。

进一步地,所述步骤(3)包括以下步骤:

(301)将化工文献语料t2输入到步骤(2)获得的语言模型w中;

(302)定义循环变量i2,赋初始值为1,遍历化工文献语料t2;

(303)如果i2≤n则跳转到步骤(304),否则跳转到步骤(312);

(304)对文本t2i2进行文本字符化,使文本切分为max_len个字符,对超过长度max_len的字符进行截断,长度不足以字符0标识;

(305)将文本t2i2通过word2vec语言模型w映射编码,得到字符w(i)组成的文本映射到文本矩阵s(i)=w(1),w(2),...,w(i);

(306)输入文本矩阵s(i),对其进行卷积操作,提取s(i)的局部特征c,计算公式为ci=relu(x·w(i:i+r-1)+b),其中,x为r×k的滤波器,b为偏置;w(i:i+r-1)为s(i)从i到i+r-1的r行向量;ci表示通过卷积操作得到的局部特征;

(307)通过最大池化的方法提取值最大的特征代替整个局部特征,以大幅降低特征向量的大小:di=max(c),其中c={c1,c2,...,cr};

(308)最后将所有池化后得到的向量输入全连接层进行组合输出特征向量fc(i2)={d1,d2,...,dmax_len};

(309)输入文本矩阵s(i),对其进行卷积操作,提取s(i)的上下文特征l;

(310)分别计算t时刻lstm前向语义输出lf(t)和后向语义输出lb(t);

(311)拼接隐藏层单向和反向输出lt=lf(t)+lb(t),来捕获文档句子前后之间的语义信息,得到全局性文本特征fb(i2)={l1,l2,...,lmax_len};

(312)i2=i2+1,转至步骤(303);

(313)得到包含局部特征的特征向量集合fc和包含上下文特征向量集合fb;

(314)将两个特征向量融合以获得新的向量序列f=concat(fc,fb)。

进一步地,所述步骤(4)包括以下步骤:

(41)步骤(3)得到的特征f及对应的序列标记y作为crf模型的输入;

(42)关注句子级别利用邻居标签信息,拟合f和y之间的关系:z(x)为归一化因子,可表示为z(x)=∑yexp(∑i,kvitk(yi-1,yi,x,i)+∑i,luisl(yi,x,i)),其中,tk是状态转移函数,sl是发射函数,vk和ui分别为tk和sl对应的权值;

(43)得到混合特征融合的端到端中文分词模型m。

进一步地,所述步骤(5)包括以下步骤:

(51)用户输入待分词文本到中文分词模型m;

(52)开放word2vec语言模型接口api;

(53)创建线程池threadpool1;

(54)判断线程池threadpool1所有任务是否执行完毕;

(55)创建工作线程childthread1;

(56)处理待分词文本,创建词向量映射任务task1;

(57)对待抽取领域专家文本进行预处理,获得词向量w,词向量映射任务结束;

(58)结束childthread1工作线程;

(59)关闭threadpool1线程池,词向量映射完成。

进一步地,所述步骤(6)包括以下步骤:

(601)开放中文分词模型接口api;

(602)创建线程池threadpool2;

(603)判断线程池threadpool2所有任务是否执行完毕;

(604)创建工作线程childthread2;

(605)输入步骤(5)中用户输入文本处理后的词向量w,创建分词任务task2;

(606)调用m模型接口,利用混合特征融合的中文分词模型m处理得到分词结果;

(607)封装分词结果返还web平台,通过echarts对实体信息可视化返回用户;

(608)用户判断分词结果准确性,若准确,转至步骤(610),若不准确,转至步骤(609);

(609)用户输入化工专业术语参考分词词汇,保存至化学技术行业中英文关键词库k;

(610)转至步骤(606),更新分词结果,分词任务task2结束;

(611)结束childthread2工作线程;

(612)关闭threadpool2线程池;

(613)系统分词过程结束。

有益效果:与现有技术相比,本发明的有益效果:1、本发明方法基于网络爬虫挖掘化工文献,使用关键词自动匹配和第三方工具补充标记,使用cnn和bilstm模型自动抽取特征并融合,使用crf进行序列标注以更好地分割化工专业术语,从而中英文混杂使化工专业术语无法提取的问题,更好的应用于化工科学文献检索;2、现有中文文本分词方法对化工领域术语识别率低,本发明通过挖掘化工文献,自动及半自动化标注构建化工文献分词语料库,通过本发明提出模型算法训练得到分词模型m,并开放接口,构建化工领域中文分词系统,该应用可更好的应用于化工关键词提取和化工科学文献检索。

附图说明

图1为本发明的流程图;

图2为训练语言模型的流程图;

图3为特征抽取的具体流程图;

图4为预处理用户输入文本的具体流程图;

图5为分词模型应用的流程图。

具体实施方式

下面结合附图对本发明作进一步详细说明。

本发明提供一种混合特征融合的中文化工文献分词方法,首先,建立化工科学文献语料库来训练中文分词任务,以提高专业领域中文文档分词效果;然后,通过利用bilstm和cnn实现特征融合,其中cnn主要是处理英文的情况,英文单词是由更细粒度的字母组成,这些字母潜藏着一些特征,通过cnn的卷积操作提取英文单词前后缀特征,bilstm提取上下文语义链接,将融合后的特征输入到crf层优化整个序列已达到更好的分词效果;最后,调用分词系统接口返回分词结果至web应用系统,用户提交反馈确认或更新分词结果。如图1所示,具体包括以下步骤:

步骤1:从化工科学文献挖掘中文化工文献数据,并对文献数据进行预处理,得到清洗后语料t1,提取关键词构建化学技术行业中英文关键词库k,具体方法为:

挖掘化工文献中中文化工文献数据,包括文献摘要abstract和关键词keyword;对挖掘的化工文献数据进行去重,去除标点符号及特殊字符,得到清洗后语料库t1,其中t1={t1,t2,t3,…,tn},n为语料库大小;提取关键词keyword构建化学技术行业中英文关键词库k。

步骤2:使用化学技术行业中英文关键词库k对挖掘的语料库数据进行分词标记和词性标注,得到化工文献语料t2,构建中英文词典v,训练并得到word2vec语言模型w。如图2所示,具体方法为:

步骤2.1:将步骤(1)中清洗后的语料库t1输入到自动化分词和词性标注程序中;

步骤2.2:定义循环变量i1,赋初始值为1,遍历清洗后语料库t1;

步骤2.3:如果i1≤n则跳转到步骤2.4,否则跳转到步骤2.6;

步骤2.4:使用化学技术行业中英文关键词库k对记录t1i1进行分词标记和词性标注,得到(word,label)二元组,word表示单词,label表示词性标记;

步骤2.5:i1=i1+1,转到步骤2.3;

步骤2.6:使用yedda工具对标注后的数据进行补充标注,手动标识未匹配的关键词;

步骤2.7:构建中英文词典v;

步骤2.8:将分词后文本输入word2vec语言模型,训练并得到word2vec语言模型w。

步骤3:输入化工文献语料t2,处理每一条文本记录,通过语言模型w处理得到字向量序列s,分别输入到cnn和bilstm模型中抽取局部特征fc和上下文特征fb,融合特征fc和fb,得到新的特征f。如图3所示,具体方法为:

步骤3.1:将化工文献语料t2输入到步骤(2)获得的语言模型w中;

步骤3.2:定义循环变量i2,赋初始值为1,遍历化工文献语料t2;

步骤3.3:如果i2≤n则跳转到步骤3.4,否则跳转到步骤3.12;

步骤3.4:对文本t2i2进行文本字符化,使文本切分为max_len个字符,对超过长度max_len的字符进行截断,长度不足以字符0标识;

步骤3.5:将文本t2i2通过word2vec语言模型w映射编码,得到字符w(i)组成的文本映射到文本矩阵s(i)=w(1),w(2),...,w(i);

步骤3.6:输入文本矩阵s(i),对其进行卷积操作,提取s(i)的局部特征c,计算公式为ci=relu(x·w(i:i+r-1)+b),其中,x为r×k的滤波器,b为偏置;w(i:i+r-1)为s(i1)从i到i+r-1的r行向量;ci表示通过卷积操作得到的局部特征;

步骤3.7:通过最大池化的方法提取值最大的特征代替整个局部特征,以大幅降低特征向量的大小:di=max(c),其中c={c1,c2,...,cr};

步骤3.8:最后将所有池化后得到的向量输入全连接层进行组合输出特征向量fc(i2)={d1,d2,...,dmax_len};

步骤3.9:输入文本矩阵s(i),对其进行卷积操作,提取s(i)的上下文特征l,;

步骤3.10:分别计算t时刻lstm前向语义输出lf(t)和后向语义输出lb(t);

步骤3.11:拼接隐藏层单向和反向输出lt=lf(t)+lb(t),来捕获文档句子前后之间的语义信息,得到全局性文本特征fb(i2)={l1,l2,...,lmax_len};

步骤3.12:i2=i2+1,转至步骤3.3;

步骤3.13:得到包含局部特征的特征向量集合fc和包含上下文特征向量集合fb;

步骤3.14:将两个特征向量融合以获得新的向量序列f=concat(fc,fb)。

步骤4:将步骤3得到新的特征f输入crf模型,利用邻居标签信息提高标签标记准确性,训练混合特征融合的端到端中文分词模型,得到训练后的模型m。具体方法为:

步骤4.1:步骤3得到的特征f及对应的序列标记y作为输入。

步骤4.2:关注句子级别利用邻居标签信息,拟合f和y之间的关系,公式为z(x)为归一化因子,可表示为z(x)=∑yexp(∑i,kvitk(yi-1,yi,x,i)+∑i,luisl(yi,x,i))其中,tk是状态转移函数,sl是发射函数,vk和ui分别为tk和sl对应的权值。

步骤4.3:得到混合特征融合的端到端中文分词模型m。

步骤5:开放word2vec语言模型接口api。获取用户输入带分词文本t′,调用w模型接口对文本进行处理得到对应词向量。如图4所示,具体方法如下:

步骤5.1:用户输入待分词文本;

步骤5.2:开放word2vec语言模型接口api;

步骤5.3:创建线程池threadpool1;

步骤5.4:判断线程池threadpool1所有任务是否执行完毕;

步骤5.5:创建工作线程childthread1;

步骤5.6:处理待分词文本,创建词向量映射任务task1;

步骤5.7:对待抽取领域专家文本进行预处理,获得词向量w,词向量映射任务结束;

步骤5.8:结束childthread1工作线程;

步骤5.9:关闭threadpool1线程池;

步骤5.10:词向量映射完成。

步骤6:开放中文分词模型接口api,调用m模型接口,利用混合特征融合的中文分词模型m处理得到分词结果。封装分词结果返还web平台,通过echarts对实体信息可视化返回用户,用户判断分词准确性并反馈处理,分词过程结束。如图5所示,具体方法如下:

步骤6.1:开放中文分词模型接口api;

步骤6.2:创建线程池threadpool2;

步骤6.3:判断线程池threadpool2所有任务是否执行完毕;

步骤6.4:创建工作线程childthread2;

步骤6.5:输入步骤5中用户输入文本处理后的词向量w,创建分词任务task2;

步骤6.6:调用m模型接口,利用混合特征融合的中文分词模型m处理得到分词结果;

步骤6.7:封装分词结果返还web平台,通过echarts对实体信息可视化返回用户;

步骤6.8:用户判断分词结果准确性,若准确,转至步骤6.10,若不准确,转至步骤6.9;

步骤6.9:用户输入化工专业术语参考分词词汇,保存化工专业术语词库k;

步骤6.10:转至步骤6.6,更新分词结果,分词任务task2结束;

步骤6.11:结束childthread2工作线程;

步骤6.12:关闭threadpool2线程池;

步骤6.13:系统分词过程结束。

为了更好的说明本方法的有效性,通过与hmm、bilstm、bilstm-cnn、bilstm-crf和idcnn-crf多个算法,在msr语料库和chem-pku化工科学文献语料库进行比较,分析算法的性能。本文提出的基于混合特征融合的中文分词方法的分割准确度高达95.74%,较传统方法分别提高了7.17%的准确率,1.78%的召回率以及3.81%的f分数。与普通语料库对比,准确率、召回率和f-分数分别提高2.22%、1.62%、2.67%。

本发明提出基于bilstm和cnn的混合特征融合的神经网络模型,其中bilstm提取上下文语义链接,cnn的卷积运算提取局部特征,例如英语单词的前缀和后缀特征,然后,将融合后的特征输入到crf网络层优化整个序列已达到更好的分词效果,以解决中英文混合专业词汇造成分词算法识别率低的问题。现有中文文本分词方法对化工领域术语识别率低,本发明通过挖掘化工文献,自动及半自动化标注构建化工文献分词语料库,通过本发明提出模型算法训练得到分词模型m,并开放接口,构建化工领域中文分词系统,该应用可更好的应用于化工关键词提取和化工科学文献检索。本发明可与计算机系统结合,将自然语言处理与化工行业知识深度融合,从而更好地对复杂文本进行处理,满足人们信息检索的需求。

本发明创造性地提出了一种混合特征融合的中文化工文献分词方法及系统,该方法表明有可能识别化工领域文档中包含化学式以及中英文混合词汇,对具有中文意义的专业单词或短语分词具有很好的效果。

本发明提出的一种混合特征融合的中文化工文献分词方法及系统普遍适用于各个领域中文文献分词任务。

以上所述仅为本发明的实施例子而已,并不用于限制本发明。凡在本发明的原则之内,所作的等同替换,均应半酣在本发明的保护范围之内。本发明未作详细阐述的内容属于本专业领域技术人员公知的已有技术。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1