首页 > 专利 > 杭州电子科技大学 > 一种利用部分标注集的自训练神经网络分词模型专利详情

一种利用部分标注集的自训练神经网络分词模型   0    0

有效专利 查看PDF
专利申请流程有哪些步骤?
专利申请流程图
申请
申请号:指国家知识产权局受理一件专利申请时给予该专利申请的一个标示号码。唯一性原则。
申请日:提出专利申请之日。
2020-03-09
申请公布
申请公布指发明专利申请经初步审查合格后,自申请日(或优先权日)起18个月期满时的公布或根据申请人的请求提前进行的公布。
申请公布号:专利申请过程中,在尚未取得专利授权之前,国家专利局《专利公报》公开专利时的编号。
申请公布日:申请公开的日期,即在专利公报上予以公开的日期。
2020-09-01
授权
授权指对发明专利申请经实质审查没有发现驳回理由,授予发明专利权;或对实用新型或外观设计专利申请经初步审查没有发现驳回理由,授予实用新型专利权或外观设计专利权。
2020-12-29
预估到期
发明专利权的期限为二十年,实用新型专利权期限为十年,外观设计专利权期限为十五年,均自申请日起计算。专利届满后法律终止保护。
2040-03-09
基本信息
有效性 有效专利 专利类型 发明专利
申请号 CN202010159438.X 申请日 2020-03-09
公开/公告号 CN111507103B 公开/公告日 2020-12-29
授权日 2020-12-29 预估到期日 2040-03-09
申请年 2020年 公开/公告年 2020年
缴费截止日
分类号 G06F40/289G06N3/04G06N3/08 主分类号 G06F40/289
是否联合申请 独立申请 文献类型号 B
独权数量 2 从权数量 0
权利要求数量 2 非专利引证数量 1
引用专利数量 0 被引证专利数量 0
非专利引证 1、CN 110287961 A,2019.09.27CN 107291837 A,2017.10.24CN 107145483 A,2017.09.08鄂海红 等.深度学习实体关系抽取研究综述《.软件学报》.2019,第30卷(第6期),第1793−1818页. Sebastian Sudholt et al..EvaluatingWord String Embeddings and Loss Functionsfor CNN-based Word Spotting《.2017 14thIAPR International Conference on DocumentAnalysis and Recognition》.2017,第1-6页.;
引用专利 被引证专利
专利权维持 2 专利申请国编码 CN
专利事件 事务标签 公开、实质审查、授权
申请人信息
申请人 第一申请人
专利权人 杭州电子科技大学 当前专利权人 杭州电子科技大学
发明人 张旻、黄涛、姜明、汤景凡 第一发明人 张旻
地址 浙江省杭州市下沙高教园区2号大街 邮编 310018
申请人数量 1 发明人数量 4
申请人所在省 浙江省 申请人所在市 浙江省杭州市
代理人信息
代理机构
专利代理机构是经省专利管理局审核,国家知识产权局批准设立,可以接受委托人的委托,在委托权限范围内以委托人的名义办理专利申请或其他专利事务的服务机构。
杭州君度专利代理事务所 代理人
专利代理师是代理他人进行专利申请和办理其他专利事务,取得一定资格的人。
朱月芬
摘要
本发明公开了一种利用部分标注集的自训练神经网络分词模型。本发明首先结合正向最大匹配算法,设计了一种通过词典和无标注集获得人工部分标注集的方法。然后,本发明通过修改损失函数,将有标注集和部分标注集共同用于训练基于双向循环神经网络的中文分词模型。最后,本发明利用自训练思想,设计了分词准确率置信度和差异置信度,迭代地将部分标注集转化为有标注集,不断优化基于双向循环神经网络的中文分词模型,从而使最终的模型在无标注数据领域能取得较好的分词效果。本发明不但能解决训练集不足以及跨领域分词问题,而且可以避免耗费人力进行数据集标注。
  • 摘要附图
    一种利用部分标注集的自训练神经网络分词模型
  • 说明书附图:图1
    一种利用部分标注集的自训练神经网络分词模型
  • 说明书附图:图2
    一种利用部分标注集的自训练神经网络分词模型
法律状态
序号 法律状态公告日 法律状态 法律状态信息
1 2020-12-29 授权
2 2020-09-01 实质审查的生效 IPC(主分类): G06F 40/289 专利申请号: 202010159438.X 申请日: 2020.03.09
3 2020-08-07 公开
权利要求
权利要求书是申请文件最核心的部分,是申请人向国家申请保护他的发明创造及划定保护范围的文件。
1.一种利用部分标注集的自训练神经网络分词方法,其特征在于包括如下步骤:
步骤(1)利用基于词典的字符串匹配算法,从无标注集中获取部分标注集;
步骤(2)通过改进损失函数,利用有标注集和部分标注集共同训练基于双向长短期记忆网络Bidirectional Long Short Term Memory,即BiLSTM的中文分词模型;
步骤(3)利用基于BiLSTM的中文分词模型对部分标注集进行分词标注;
步骤(4)计算每个序列的分词准确率置信度和差异置信度;
步骤(5)将满足置信度条件的部分标注集转为有标注集;
步骤(6)迭代步骤(2)-步骤(5)直到P次,P是一个人为设定的终止迭代条件;
步骤(1)中利用基于词典的字符串匹配算法,从无标注集中获取部分标注集的过程如下:
1.1利用词典最大正向匹配算法,将匹配到的领域特殊词汇以及长度超过4的词汇打上确定标注;
1.2对于一个文本序列,根据其中确定标注的词汇,划分出多个未切分文本片段;
1.3对于每个未切分文本片段中的第i个汉字ci,计算它的n-grams窗口词汇;
1.4利用窗口词汇给未标注汉字ci打上部分确定标注;
步骤(2)中通过改进损失函数,利用有标注集和部分标注集共同训练基于双向长短期记忆网络的中文分词模型的过程如下:
2.1利用有标注集训练基于BiLSTM的中文分词模型,交叉熵损失函数表示如下:
其中,yi表示输入序列的第i个确定标注, 表示模型对输入序列的第i个预测标注,n表示输入序列的长度;
2.2利用部分标注集训练上述基于BiLSTM的中文分词模型,损失函数表示如下:
其中,N表示确定标注的索引号,|N|表示N的数量大小;yi表示输入序列在索引为i的位置的确定标注; 表示模型对输入序列索引为i位置的预测标注;M表示部分确定标注的索引号,||M||表示 其中 表示L0正则化; 表示输入序列索引
为j位置的部分确定标注; 表示模型对输入序列索引为j位置的预测标注;
步骤(4)中计算每个序列的分词准确率置信度和差异置信度的过程如下:
4.1设第i个汉字的部分确定标注为(Bi,Mi,Ei,Si),其中Bi,Mi,Ei,Si的值为0或1;设模型对第i个汉字的预测概率为 其中
计算每个序列的分词准确率置信度:
上式中,booli表示一个布尔类型的值;max_index表示计算四个标注中最大值的位置索引的集合;若booli=true,则预测概率 中最大值的位置索引集合是部分确定标注(Bi,Mi,Ei,Si)中最大值的位置索引集合的子集;
上式中Ppl表示分词准确率置信度,S表示一个序列;
4.2对于序列的差异置信度,首先按照部分确定标注(Bi,Mi,Ei,Si)中1的个数,计算出差异均值θk;因为部分确定标注中1的个数只可能为2,3,4,所以k取值为2,3或4;
booli,k=(sum(Bi,Mi,Ei,Si)==k)&&booli (5)
上述两个式子中,L表示所有序列的总个数;sum(Bi,Mi,Ei,Si)表示(Bi,Mi,Ei,Si)中1的个数; 表示保留可能标注的位置的值;
表示将 中最大值与第二大值相
减所得的值;
一个汉字的预测标注是否满足差异置信度,表示如下:
最后,一个序列S的差异置信度计算如下:
步骤(5)中,将满足置信度条件的部分标注集转为有标注集的过程如下:
5.1选取分词准确率高的前m条部分标注集序列;m根据部分标注集规模来选取;
5.2在前m条部分标注集序列中选取差异置信度高的前25%的部分标注集;
5.3对于筛选出的部分标注集,转为有标注集;
具体:确定标注的位置采用最初构造部分标注集时的标注,部分确定标注的位置根据模型输出的四维向量 来确定,将 四者最大值置为1,其余置为0;
5.4将新的有标注集加入原始有标注集,并在部分标注集中剔除已转化的部分。
说明书

技术领域

[0001] 本发明涉及中文分词任务,具体来讲是一种利用部分标注集的自训练神经网络分词模型,属于自然语言处理技术领域。

背景技术

[0002] 近几年,基于深度神经网络的中文分词模型在分词准确率上取得了突破性的进展。然而,这类模型非常依赖有标注的数据集。当有标注集数量不足,或者训练集与测试集属于不同领域时,模型的分词准确率都会大幅下降。目前,为了解决训练集不足和模型的跨领域问题,已经有很多方法被提出。这些方法大多使用了词典、无标注数据集等额外资源。然而,部分标注集作为另一种额外资源,却很少被用于中文分词中。部分标注集是指在一个文本序列中,已经有部分词汇被确定切分好了。现存的使用部分标注集的方式主要是修改损失函数。另外,前几年也有人利用部分标注集来自训练中文分词感知机模型。关于如何利用部分标注集来自训练基于深度神经网络的中文分词模型还没有人研究过。

发明内容

[0003] 本发明针对基于深度神经网络的中文分词模型存在的训练集不足和跨领域分词问题,提出了一种利用部分标注集的自训练神经网络分词模型,以解决上述分词问题。
[0004] 一种利用部分标注集的自训练神经网络分词模型,包括如下步骤:
[0005] 步骤(1)利用基于词典的字符串匹配算法,从无标注集中获取部分标注集。
[0006] 步骤(2)通过改进损失函数,利用有标注集和部分标注集共同训练基于双向循环神经网络(Bidirectional Long Short Term Memory,BiLSTM)的中文分词模型。
[0007] 步骤(3)利用基于BiLSTM的中文分词模型对部分标注集进行分词标注。
[0008] 步骤(4)计算每个序列的分词准确率置信度和差异置信度。
[0009] 步骤(5)将满足置信度条件的部分标注集转为有标注集。迭代步骤(2)-步骤(5)直到k次。
[0010] 进一步的,所述的步骤(1)中利用基于词典的字符串匹配算法,从无标注集中获取部分标注集的过程如下:
[0011] 1.1利用词典最大正向匹配算法,将匹配到的领域特殊词汇以及长度超过4的词汇打上确定标注。
[0012] 1.2对于一个文本序列,根据其中确定标注的词汇,划分出多个未切分文本片段。
[0013] 1.3对于每个未切分文本片段中的第i个汉字ci,计算它的n-grams窗口词汇。
[0014] 1.4利用窗口词汇给未标注汉字ci打上部分确定标注。
[0015] 进一步的,所述的步骤(2)中通过改进损失函数,利用有标注集和部分标注集共同训练基于双向循环神经网络的中文分词模型的过程如下:
[0016] 2.1利用有标注集训练基于BiLSTM的中文分词模型,交叉熵损失函数表示如下:
[0017]
[0018] 其中,yi表示输入序列的第i个确定标注, 表示模型对输入序列的第i个预测标注,n表示输入序列的长度。
[0019] 2.2利用部分标注集训练上述基于BiLSTM的中文分词模型,损失函数表示如下:
[0020]
[0021] 其中,N表示确定标注的索引号,|N|表示N的数量大小。yi表示输入序列在索引为i的位置的确定标注。 表示模型对输入序列索引为i位置的预测标注。M表示部分确定标注的索引号,||M||表示 其中 表示L0正则化。 表示输入序列索引为j位置的部分确定标注。 表示模型对输入序列索引为j位置的预测标注。上述公式的整体理解是,在确定标注位置,使用原来的损失函数,通过减小损失函数,让模型的预测标注更贴近确定标注;在部分确定标注位置,修改原来的损失函数,让模型最小化错误标注上的预测值。
[0022] 进一步的,所述的步骤(4)中计算每个序列的分词准确率置信度和差异置信度的过程如下:
[0023] 4.1设第i个汉字的部分确定标注为(Bi,Mi,Ei,Si),其中Bi,Mi,Ei,Si的值为0或1。设模型对第i个汉字的预测概率为 其中
[0024] 计算每个序列的分词准确率置信度:
[0025]
[0026] 上式中,booli表示一个布尔类型的值。max_index表示计算四个标注中最大值的位置索引的集合。若booli=true,则预测概率 中最大值的位置索引集合是部分确定标注(Bi,Mi,Ei,Si)中最大值的位置索引集合的子集。
[0027]
[0028] 上式中Ppl表示分词准确率置信度,S表示一个序列。
[0029] 4.2对于序列的差异置信度,首先按照部分确定标注(Bi,Mi,Ei,Si)中1的个数,计算出差异均值θk。因为部分确定标注中1的个数只可能为2,3,4,所以k取值为2,3或4。例如:k=2表示计算的是部分确定标注(Bi,Mi,Ei,Si)中1的个数为2的情况。
[0030] booli,k=(sum(Bi,Mi,Ei,Si)==k)&&booli  (5)
[0031]
[0032] 上述两个式子中,L表示所有序列的总个数;sum(Bi,Mi,Ei,Si)表示(Bi,Mi,Ei,Si)中1的个数。 表示保留可能标注的位置的值。
表示将 中最大值与第二大值相减所得的值。
[0033] 一个汉字的预测标注是否满足差异置信度,表示如下:
[0034]
[0035] 最后,一个序列S的差异置信度计算如下:
[0036]
[0037] 进一步的,所述的步骤(5)中,将满足置信度条件的部分标注集转为有标注集的过程如下:
[0038] 5.1选取分词准确率高的前m条部分标注集序列。m可根据部分标注集规模来选取。
[0039] 5.2在前m条部分标注集序列中选取差异置信度高的前25%的部分标注集。
[0040] 5.3对于筛选出的部分标注集,转为有标注集。
[0041] 具体:确定标注的位置采用最初构造部分标注集时的标注,部分确定标注的位置采用模型输出 中,最大位置标注值为1,其余位置均标注为0。
[0042] 5.4将新的有标注集加入原始有标注集,并在部分标注集中剔除已转化的部分。
[0043] 5.5迭代步骤(2)(3)(4)(5)直到k次。k是一个可以人为设定的终止迭代条件。
[0044] 本发明的优点及有益效果如下:
[0045] 本发明首先提出一种利用词典与无标注集来获取部分标注集的方法。该方法获取的部分标注集质量较高,为后续的模型训练以及置信度计算提供了数据支持。然后,本文通过改进损失函数,让部分标注集和有标注集能共同训练分词模型。这使得模型能充分学习目标领域的知识。最后,通过设置分词准确率置信度和差异置信度,让部分标注集能转化为有标注集,从而更好地训练模型。最终的分词模型能在目标领域取得很高的分词准确率。这一方法不但能解决训练集不足以及跨领域分词问题,而且可以避免耗费人力进行数据集标注。

实施方案

[0048] 下面结合附图对本发明作进一步描述:
[0049] 如图1和2所示,一种利用部分标注集的自训练神经网络分词模型,具体包括如下步骤:
[0050] 1)利用基于词典的字符串匹配算法,从无标注集中获取部分标注集:
[0051] 1.1利用词典最大正向匹配算法,将匹配到的领域特殊词汇以及长度超过4的词汇打上确定标注。
[0052] 1.2对于一个文本序列,根据其中的确定标注词汇,划分出多个未切分文本片段。
[0053] 1.3对于每个未切分文本片段中的第i个汉字ci,计算出ci的n-grams窗口词汇,只需要3-grams以下的,如表1所示。如果ci是文本片段的第一、第二、倒数第一、倒数第二个词汇,则取值如表2所示。
[0054] 表1 3-grams以下的窗口词汇
[0055]Type Template
2-gram ci-1ci,cici+1
3-gram ci-2ci-1ci,ci-1cici+1,cici+1ci+2
[0056] 表2特殊位置的n-grams窗口词汇
[0057]
[0058]
[0059] 1.4利用窗口词汇给未标注汉字ci打上部分确定标注fi,具体算法步骤如表3。
[0060] 表3获取未标注汉字ci的部分确定标注fi
[0061]
[0062] 表3中,fij表示fi在索引j位置的值。例如,fi1=1,则fi=(1,0,0,0)。
[0063] 2)通过改进损失函数,利用有标注集和部分标注集共同训练基于双向循环神经网络(Bidirectional Long Short Term Memory,BiLSTM)的中文分词模型:
[0064] 2.1使用Word2Vec将输入序列中的每个汉字映射到其对应的词嵌入表示。
[0065] 2.2将词嵌入输入BiLSTM,其网络结构是由一个前向的LSTM和一个后向的LSTM叠加组成的。在每一个时刻i,词嵌入层会同时提供一个输入给前、后向的LSTM。然后将前后向的LSTM的输出进行拼接,就得到了BiLSTM在i时刻的输出,公式如下:
[0066]
[0067]
[0068]
[0069] 上式中,forward_LSTM()代表前向的LSTM,Ei表示第i个汉字的词嵌入, 表示i-1时刻,前向LSTM的隐层输出,θf表示网络参数。反向参数类似,不再赘述。
[0070] 2.3通过softmax非线性映射层,将BiLSTM的输出映射为预测概率。
[0071] logiti=Whi+b
[0072]
[0073] 上式中logiti表示将hi线性映射到分类上的概率结果,W与b分别是权重矩阵和偏置量。 表示模型对输入序列的第i个汉字的预测概率,n表示序列长度。
[0074] 2.4利用有标注集训练基于BiLSTM的中文分词模型时,交叉熵损失函数表示如下:
[0075]
[0076] 其中,yi表示输入序列的第i个确定标注,n表示输入序列的长度。
[0077] 2.5利用部分标注集训练基于BiLSTM的中文分词模型时,损失函数表示如下:
[0078]
[0079] 上式中N表示确定标注的索引号,|N|表示N的数量大小。yi表示输入序列在索引为i的位置的确定标注。 表示模型对输入序列索引为i位置的预测标注。M表示部分确定标注的索引号,||M||表示 其中 表示L0正则化。 表示输入序列索引为j位置的部分确定标注。 表示模型对输入序列索引为j位置的预测标注。上述公式的整体理解是,在确定标注位置,使用原来的损失函数,通过减小损失函数,让模型的预测标注更贴近确定标注;在部分确定标注位置,修改原来的损失函数,让模型最小化错误标注上的预测值。
[0080] 2.6使用Adam算法优化模型参数,使损失函数最小化。
[0081] 3)利用BiLSTM分词模型对部分标注集进行分词标注:
[0082] 这一步需要利用步骤(2)训练的BiLSTM分词模型来获得部分标注集的预测标注[0083] 4)计算每个序列的分词准确率置信度和差异置信度:
[0084] 4.1设第i个汉字的部分确定标注为(Bi,Mi,Ei,Si),其中Bi,Mi,Ei,Si的值为0或1。设模型对第i个汉字的预测概率为 其中 计算每个序列的分词准确率置信度。
[0085]
[0086] 上式中,booli表示一个布尔类型的值。max_index表示计算四个标注中最大值的位置索引的集合。上式可简单理解为:若booli=true,则预测概率 中最大值的位置索引集合是部分确定标注(Bi,Mi,Ei,Si)中最大值的位置索引集合的子集。
[0087]
[0088] 上式中Ppl表示分词准确率置信度,S表示一个序列。
[0089] 4.2对于序列的差异置信度,首先按照部分确定标注(Bi,Mi,Ei,Si)中1的个数,计算出差异均值θk。因为部分确定标注中1的个数只可能为2,3,4,所以k取值为2,3或4。例如:k=2表示计算的是部分确定标注(Bi,Mi,Ei,Si)中1的个数为2的情况。
[0090] booli,k=(sum(Bi,Mi,Ei,Si)==k)&&booli
[0091]
[0092] 上述两个式子中,L表示所有序列的总个数;sum(Bi,Mi,Ei,Si)表示(Bi,Mi,Ei,Si)中1的个数。 表示保留可能标注的位置的值。
表示将 中最大值与第二大值相减所得的值。
[0093] 一个汉字的预测标注是否满足差异置信度,表示如下:
[0094]
[0095] 最后,一个序列S的差异置信度计算如下:
[0096]
[0097] 5)将满足置信度条件的部分标注集转为有标注集。迭代步骤(2)(3)(4)(5)直到k次:
[0098] 5.1选取分词准确率高的前m条部分标注集序列。m可根据部分标注集规模来选取,需要适中。
[0099] 5.2在上述的部分标注集中选取差异置信度高的前25%的部分标注集。
[0100] 5.3对于筛选出的部分标注集,转为有标注集。具体是确定标注的位置采用最初构造部分标注集时的标注,部分确定标注的位置采用模型输出 中,最大位置值为1,其余位置标注为0。
[0101] 5.4将新的有标注集加入原始有标注集,并在部分标注集中剔除已转化的部分。
[0102] 5.5迭代步骤(2)(3)(4)(5)直到k次。k是一个可以人为设定的终止迭代条件。

附图说明

[0046] 图1是本发明的整体实施方案流程图。
[0047] 图2是获取部分标注集的算法流程图。
版权所有:盲专网 ©2023 zlpt.xyz  蜀ICP备2023003576号