CN111507103B - 一种利用部分标注集的自训练神经网络分词模型 - Google Patents
一种利用部分标注集的自训练神经网络分词模型 Download PDFInfo
- Publication number
- CN111507103B CN111507103B CN202010159438.XA CN202010159438A CN111507103B CN 111507103 B CN111507103 B CN 111507103B CN 202010159438 A CN202010159438 A CN 202010159438A CN 111507103 B CN111507103 B CN 111507103B
- Authority
- CN
- China
- Prior art keywords
- label
- word segmentation
- labeled
- sets
- confidence
- 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/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Abstract
本发明公开了一种利用部分标注集的自训练神经网络分词模型。本发明首先结合正向最大匹配算法,设计了一种通过词典和无标注集获得人工部分标注集的方法。然后,本发明通过修改损失函数,将有标注集和部分标注集共同用于训练基于双向循环神经网络的中文分词模型。最后,本发明利用自训练思想,设计了分词准确率置信度和差异置信度,迭代地将部分标注集转化为有标注集,不断优化基于双向循环神经网络的中文分词模型,从而使最终的模型在无标注数据领域能取得较好的分词效果。本发明不但能解决训练集不足以及跨领域分词问题,而且可以避免耗费人力进行数据集标注。
Description
技术领域
本发明涉及中文分词任务,具体来讲是一种利用部分标注集的自训练神经网络分词模型,属于自然语言处理技术领域。
背景技术
近几年,基于深度神经网络的中文分词模型在分词准确率上取得了突破性的进展。然而,这类模型非常依赖有标注的数据集。当有标注集数量不足,或者训练集与测试集属于不同领域时,模型的分词准确率都会大幅下降。目前,为了解决训练集不足和模型的跨领域问题,已经有很多方法被提出。这些方法大多使用了词典、无标注数据集等额外资源。然而,部分标注集作为另一种额外资源,却很少被用于中文分词中。部分标注集是指在一个文本序列中,已经有部分词汇被确定切分好了。现存的使用部分标注集的方式主要是修改损失函数。另外,前几年也有人利用部分标注集来自训练中文分词感知机模型。关于如何利用部分标注集来自训练基于深度神经网络的中文分词模型还没有人研究过。
发明内容
本发明针对基于深度神经网络的中文分词模型存在的训练集不足和跨领域分词问题,提出了一种利用部分标注集的自训练神经网络分词模型,以解决上述分词问题。
一种利用部分标注集的自训练神经网络分词模型,包括如下步骤:
步骤(1)利用基于词典的字符串匹配算法,从无标注集中获取部分标注集。
步骤(2)通过改进损失函数,利用有标注集和部分标注集共同训练基于双向循环神经网络(Bidirectional Long Short Term Memory,BiLSTM)的中文分词模型。
步骤(3)利用基于BiLSTM的中文分词模型对部分标注集进行分词标注。
步骤(4)计算每个序列的分词准确率置信度和差异置信度。
步骤(5)将满足置信度条件的部分标注集转为有标注集。迭代步骤(2)-步骤(5)直到k次。
进一步的,所述的步骤(1)中利用基于词典的字符串匹配算法,从无标注集中获取部分标注集的过程如下:
1.1利用词典最大正向匹配算法,将匹配到的领域特殊词汇以及长度超过4的词汇打上确定标注。
1.2对于一个文本序列,根据其中确定标注的词汇,划分出多个未切分文本片段。
1.3对于每个未切分文本片段中的第i个汉字ci,计算它的n-grams窗口词汇。
1.4利用窗口词汇给未标注汉字ci打上部分确定标注。
进一步的,所述的步骤(2)中通过改进损失函数,利用有标注集和部分标注集共同训练基于双向循环神经网络的中文分词模型的过程如下:
2.1利用有标注集训练基于BiLSTM的中文分词模型,交叉熵损失函数表示如下:
2.2利用部分标注集训练上述基于BiLSTM的中文分词模型,损失函数表示如下:
其中,N表示确定标注的索引号,|N|表示N的数量大小。yi表示输入序列在索引为i的位置的确定标注。表示模型对输入序列索引为i位置的预测标注。M表示部分确定标注的索引号,||M||表示其中表示L0正则化。表示输入序列索引为j位置的部分确定标注。表示模型对输入序列索引为j位置的预测标注。上述公式的整体理解是,在确定标注位置,使用原来的损失函数,通过减小损失函数,让模型的预测标注更贴近确定标注;在部分确定标注位置,修改原来的损失函数,让模型最小化错误标注上的预测值。
进一步的,所述的步骤(4)中计算每个序列的分词准确率置信度和差异置信度的过程如下:
计算每个序列的分词准确率置信度:
上式中,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。例如:k=2表示计算的是部分确定标注(Bi,Mi,Ei,Si)中1的个数为2的情况。
booli,k=(sum(Bi,Mi,Ei,Si)==k)&&booli (5)
一个汉字的预测标注是否满足差异置信度,表示如下:
最后,一个序列S的差异置信度计算如下:
进一步的,所述的步骤(5)中,将满足置信度条件的部分标注集转为有标注集的过程如下:
5.1选取分词准确率高的前m条部分标注集序列。m可根据部分标注集规模来选取。
5.2在前m条部分标注集序列中选取差异置信度高的前25%的部分标注集。
5.3对于筛选出的部分标注集,转为有标注集。
5.4将新的有标注集加入原始有标注集,并在部分标注集中剔除已转化的部分。
5.5迭代步骤(2)(3)(4)(5)直到k次。k是一个可以人为设定的终止迭代条件。
本发明的优点及有益效果如下:
本发明首先提出一种利用词典与无标注集来获取部分标注集的方法。该方法获取的部分标注集质量较高,为后续的模型训练以及置信度计算提供了数据支持。然后,本文通过改进损失函数,让部分标注集和有标注集能共同训练分词模型。这使得模型能充分学习目标领域的知识。最后,通过设置分词准确率置信度和差异置信度,让部分标注集能转化为有标注集,从而更好地训练模型。最终的分词模型能在目标领域取得很高的分词准确率。这一方法不但能解决训练集不足以及跨领域分词问题,而且可以避免耗费人力进行数据集标注。
附图说明
图1是本发明的整体实施方案流程图。
图2是获取部分标注集的算法流程图。
具体实施方式
下面结合附图对本发明作进一步描述:
如图1和2所示,一种利用部分标注集的自训练神经网络分词模型,具体包括如下步骤:
1)利用基于词典的字符串匹配算法,从无标注集中获取部分标注集:
1.1利用词典最大正向匹配算法,将匹配到的领域特殊词汇以及长度超过4的词汇打上确定标注。
1.2对于一个文本序列,根据其中的确定标注词汇,划分出多个未切分文本片段。
1.3对于每个未切分文本片段中的第i个汉字ci,计算出ci的n-grams窗口词汇,只需要3-grams以下的,如表1所示。如果ci是文本片段的第一、第二、倒数第一、倒数第二个词汇,则取值如表2所示。
表1 3-grams以下的窗口词汇
Type | Template |
2-gram | c<sub>i-1</sub>c<sub>i</sub>,c<sub>i</sub>c<sub>i+1</sub> |
3-gram | c<sub>i-2</sub>c<sub>i-1</sub>c<sub>i</sub>,c<sub>i-1</sub>c<sub>i</sub>c<sub>i+1</sub>,c<sub>i</sub>c<sub>i+1</sub>c<sub>i+2</sub> |
表2特殊位置的n-grams窗口词汇
1.4利用窗口词汇给未标注汉字ci打上部分确定标注fi,具体算法步骤如表3。
表3获取未标注汉字ci的部分确定标注fi
表3中,fij表示fi在索引j位置的值。例如,fi1=1,则fi=(1,0,0,0)。
2)通过改进损失函数,利用有标注集和部分标注集共同训练基于双向循环神经网络(Bidirectional Long Short Term Memory,BiLSTM)的中文分词模型:
2.1使用Word2Vec将输入序列中的每个汉字映射到其对应的词嵌入表示。
2.2将词嵌入输入BiLSTM,其网络结构是由一个前向的LSTM和一个后向的LSTM叠加组成的。在每一个时刻i,词嵌入层会同时提供一个输入给前、后向的LSTM。然后将前后向的LSTM的输出进行拼接,就得到了BiLSTM在i时刻的输出,公式如下:
2.3通过softmax非线性映射层,将BiLSTM的输出映射为预测概率。
logiti=Whi+b
2.4利用有标注集训练基于BiLSTM的中文分词模型时,交叉熵损失函数表示如下:
其中,yi表示输入序列的第i个确定标注,n表示输入序列的长度。
2.5利用部分标注集训练基于BiLSTM的中文分词模型时,损失函数表示如下:
上式中N表示确定标注的索引号,|N|表示N的数量大小。yi表示输入序列在索引为i的位置的确定标注。表示模型对输入序列索引为i位置的预测标注。M表示部分确定标注的索引号,||M||表示其中表示L0正则化。表示输入序列索引为j位置的部分确定标注。表示模型对输入序列索引为j位置的预测标注。上述公式的整体理解是,在确定标注位置,使用原来的损失函数,通过减小损失函数,让模型的预测标注更贴近确定标注;在部分确定标注位置,修改原来的损失函数,让模型最小化错误标注上的预测值。
2.6使用Adam算法优化模型参数,使损失函数最小化。
3)利用BiLSTM分词模型对部分标注集进行分词标注:
4)计算每个序列的分词准确率置信度和差异置信度:
上式中,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。例如:k=2表示计算的是部分确定标注(Bi,Mi,Ei,Si)中1的个数为2的情况。
booli,k=(sum(Bi,Mi,Ei,Si)==k)&&booli
一个汉字的预测标注是否满足差异置信度,表示如下:
最后,一个序列S的差异置信度计算如下:
5)将满足置信度条件的部分标注集转为有标注集。迭代步骤(2)(3)(4)(5)直到k次:
5.1选取分词准确率高的前m条部分标注集序列。m可根据部分标注集规模来选取,需要适中。
5.2在上述的部分标注集中选取差异置信度高的前25%的部分标注集。
5.4将新的有标注集加入原始有标注集,并在部分标注集中剔除已转化的部分。
5.5迭代步骤(2)(3)(4)(5)直到k次。k是一个可以人为设定的终止迭代条件。
Claims (1)
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的中文分词模型,交叉熵损失函数表示如下:
2.2利用部分标注集训练上述基于BiLSTM的中文分词模型,损失函数表示如下:
其中,N表示确定标注的索引号,|N|表示N的数量大小;yi表示输入序列在索引为i的位置的确定标注;表示模型对输入序列索引为i位置的预测标注;M表示部分确定标注的索引号,||M||表示其中表示L0正则化;表示输入序列索引为j位置的部分确定标注;表示模型对输入序列索引为j位置的预测标注;
步骤(4)中计算每个序列的分词准确率置信度和差异置信度的过程如下:
计算每个序列的分词准确率置信度:
上式中,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)
一个汉字的预测标注是否满足差异置信度,表示如下:
最后,一个序列S的差异置信度计算如下:
步骤(5)中,将满足置信度条件的部分标注集转为有标注集的过程如下:
5.1选取分词准确率高的前m条部分标注集序列;m根据部分标注集规模来选取;
5.2在前m条部分标注集序列中选取差异置信度高的前25%的部分标注集;
5.3对于筛选出的部分标注集,转为有标注集;
5.4将新的有标注集加入原始有标注集,并在部分标注集中剔除已转化的部分。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010159438.XA CN111507103B (zh) | 2020-03-09 | 2020-03-09 | 一种利用部分标注集的自训练神经网络分词模型 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010159438.XA CN111507103B (zh) | 2020-03-09 | 2020-03-09 | 一种利用部分标注集的自训练神经网络分词模型 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111507103A CN111507103A (zh) | 2020-08-07 |
CN111507103B true CN111507103B (zh) | 2020-12-29 |
Family
ID=71874064
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010159438.XA Active CN111507103B (zh) | 2020-03-09 | 2020-03-09 | 一种利用部分标注集的自训练神经网络分词模型 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111507103B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113111654B (zh) * | 2021-04-09 | 2022-03-08 | 杭州电子科技大学 | 一种基于分词工具共性信息和部分监督学习的分词方法 |
CN113076750B (zh) * | 2021-04-26 | 2022-12-16 | 华南理工大学 | 一种基于新词发现的跨领域中文分词系统及方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107145483A (zh) * | 2017-04-24 | 2017-09-08 | 北京邮电大学 | 一种基于嵌入式表示的自适应中文分词方法 |
CN107291837A (zh) * | 2017-05-31 | 2017-10-24 | 北京大学 | 一种基于领域适应性的网络文本的分词方法 |
CN110287961A (zh) * | 2019-05-06 | 2019-09-27 | 平安科技(深圳)有限公司 | 中文分词方法、电子装置及可读存储介质 |
-
2020
- 2020-03-09 CN CN202010159438.XA patent/CN111507103B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107145483A (zh) * | 2017-04-24 | 2017-09-08 | 北京邮电大学 | 一种基于嵌入式表示的自适应中文分词方法 |
CN107291837A (zh) * | 2017-05-31 | 2017-10-24 | 北京大学 | 一种基于领域适应性的网络文本的分词方法 |
CN110287961A (zh) * | 2019-05-06 | 2019-09-27 | 平安科技(深圳)有限公司 | 中文分词方法、电子装置及可读存储介质 |
Non-Patent Citations (2)
Title |
---|
Evaluating Word String Embeddings and Loss Functions for CNN-based Word Spotting;Sebastian Sudholt et al.;《2017 14th IAPR International Conference on Document Analysis and Recognition》;20171109;第1-6页 * |
深度学习实体关系抽取研究综述;鄂海红 等;《软件学报》;20190630;第30卷(第6期);第1793-1818页 * |
Also Published As
Publication number | Publication date |
---|---|
CN111507103A (zh) | 2020-08-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109657239B (zh) | 基于注意力机制和语言模型学习的中文命名实体识别方法 | |
CN109918666B (zh) | 一种基于神经网络的中文标点符号添加方法 | |
CN112487143B (zh) | 一种基于舆情大数据分析的多标签文本分类方法 | |
CN111666427B (zh) | 一种实体关系联合抽取方法、装置、设备及介质 | |
CN111563383A (zh) | 一种基于BERT与SemiCRF的中文命名实体识别方法 | |
CN111209401A (zh) | 网络舆情文本信息情感极性分类处理系统及方法 | |
CN112560478B (zh) | 一种使用语义标注的中文地址RoBERTa-BiLSTM-CRF耦合解析方法 | |
CN111897908A (zh) | 融合依存信息和预训练语言模型的事件抽取方法及系统 | |
CN109492202A (zh) | 一种基于拼音的编码与解码模型的中文纠错方法 | |
CN111191453A (zh) | 一种基于对抗训练的命名实体识别方法 | |
CN108415906B (zh) | 基于领域自动识别篇章机器翻译方法、机器翻译系统 | |
CN112784051A (zh) | 专利术语抽取方法 | |
CN111460824B (zh) | 一种基于对抗迁移学习的无标注命名实体识别方法 | |
CN110555084A (zh) | 基于pcnn和多层注意力的远程监督关系分类方法 | |
CN114757182A (zh) | 一种改进训练方式的bert短文本情感分析方法 | |
CN113190656B (zh) | 一种基于多标注框架与融合特征的中文命名实体抽取方法 | |
CN110837736B (zh) | 一种基于字结构的中文医疗记录的命名实体识别方法 | |
CN111400455A (zh) | 基于知识图谱的问答系统的关系检测方法 | |
CN111507103B (zh) | 一种利用部分标注集的自训练神经网络分词模型 | |
CN115062104A (zh) | 融合知识提示的法律文本小样本命名实体识别方法 | |
CN113486667A (zh) | 一种基于实体类型信息的医疗实体关系联合抽取方法 | |
CN115293138A (zh) | 一种文本纠错方法及计算机设备 | |
CN113191150B (zh) | 一种多特征融合的中文医疗文本命名实体识别方法 | |
CN114638228A (zh) | 一种基于词集自注意力的中文命名实体识别方法 | |
CN113312498B (zh) | 用无向图嵌入知识图谱的文本信息抽取方法 |
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 | ||
EE01 | Entry into force of recordation of patent licensing contract | ||
EE01 | Entry into force of recordation of patent licensing contract |
Application publication date: 20200807 Assignee: Hangzhou Yuanchuan New Technology Co.,Ltd. Assignor: HANGZHOU DIANZI University Contract record no.: X2021330000781 Denomination of invention: A self training neural network word segmentation model using partial annotation set Granted publication date: 20201229 License type: Common License Record date: 20211206 |