掌桥专利:专业的专利平台
掌桥专利
首页

一种基于BERT的汉语句子简化方法

文献发布时间:2023-06-19 09:32:16



技术领域

本发明涉及中文文本简化领域,特别涉及一种基于BERT的汉语句子简化方法。

背景技术

随着中国对外开放水平的提高,中文在国际上的影响力越来越大,很多外国人都会通过各种渠道学习中文,而中文作为一种象形语言,学习难度很大,同时,词汇量的缺乏很大程度上影响了对学习者对阅读材料的理解程度。在以往的研究中已经被证实,如果学习者理解了文本中90%的词汇,即使面对长而复杂的文本,文本所表达的意思也很容易被理解。另外,文本简化对母语是中文的人也有很大的帮助,特别是对那些文化程度不高,认知或语言障碍的弱势群体。

句子简化中的词汇简化算法目标是用简单词替代句子中的复杂词,因此,替换后的句子可以大大降低对用户的词汇量要求。目前中文领域暂无公开的中文词汇简化方法。在已有的英文文本简化研究中,词汇简化算法的步骤大致可以分为:复杂词识别、候选词生成、候选词排序。词汇简化算法按照候选替代词的产生,大致可以分为三类:第一类是基于词典的简化算法,该类算法主要利用词典产生复杂词的同义词,作为候选替代词;第二类算法基于并行语料的算法,最常用的并行语料是从正常的维基百科和儿童版的英文维基百科中获取,通过匹配算法分别两个不同维基百科中选择句子作为平行句子对,然后,从平行句子对中获取规则,这些规则用来产生复杂词的候选替代词;第三类算法基于词嵌入模型,从词嵌入模型中获取词语的向量表示,利用词语相似度计算方法,寻找复杂词最相似的词语集合作为候选替代词。

然而,前两类算法具有很大的局限性,首先,词典的构造与维护的代价很大,高质量的并行语料提取非常困难,其次,这两类算法对复杂词的覆盖也是有限的。更重要的是,以上三类算法最大的问题还是产生候选词的过程中,只考虑了复杂词本身,忽略了复杂词的上下文,将不可避免的产生很多不适合的候选词,给系统后面的步骤带来很大干扰。

发明内容

本发明的目的是克服现有技术缺陷,提供一种基于BERT的汉语句子简化方法,利用采用普通文本进行预训练的Transformer语言模型进行句子简化,充分考虑了复杂词的上下文和复杂词本身,可以更好地产生复杂词的候选替代词,从而更好地对句子进行简化。

本发明的目的是这样实现的:一种基于BERT的汉语句子简化方法,包括以下步骤:

步骤1)获取公开的语义资源包括现代汉语常用词词表W及对应的词频、预训练的汉语词嵌入模型Chinese-Word-Embedding、公开的义原数据库OpenHownet;

步骤2)假设需要简化的句子为s,利用分词工具对s进行分词和词性标注,获取s={(w

步骤3)对s中的词语w

步骤4)对于句子s和复杂词w

步骤5)采用多个特征对集合CS

步骤6)对比排名前二的候选替代词(c

作为本发明的进一步限定,所述步骤1)包括以下步骤:

步骤1.1)利用公开的现代汉语常用词词频表,获取包含的词语集合W及每个词语w∈W对应的词语频率f

步骤1.2)利用词嵌入模型Word2Vector在大规模语料中训练好的汉语词嵌入模型Chinese-Word-Embedding,得到词语集合U及每个词语u∈U对应的向量表示v

步骤1.3)获取公开的对词语进行义原表示的数据库OpenHownet,得到包含的词语集合T及每个词语t∈T包含的义原树集合sem

作为本发明的进一步限定,所述步骤4)包括以下步骤:

步骤4.1)获取公开的汉语预训练Transformer语言模型BERT-base-Chinese;

步骤4.2)计算复杂词所含字数chnum,当chnum=1或chnum=2,执行步骤4.3)-4.15);当chnum=3,执行步骤4.11)-4.15);当chnum=4,执行步骤4.11)-4.21);

步骤4.3)用一个“[MASK]”标签替换原句s中的复杂词w

步骤4.4)依次连接符号“[CLS]”、句子s、符号“[SEP]”、句子s’和符号“[SEP]”,连接后的序列记为S;

步骤4.5)利用BERT中的分词器BertTokenizer,对S以字为单位进行分词,分词后的集合称之为T;

步骤4.6)利用BertTokenizer将T转化为对应的ID特征;

步骤4.7)获取集合T的长度len,定义一个长度为len的数组,所有的值都为1,称之为Mask特征;

步骤4.8)定义一个长度为len的数组,其中第一个符号“[SEP]”相对应位置之前的内容都赋值为0,剩下的内容都赋值为1,称之为Type特征;

步骤4.9)传输ID特征、Mask特征和Type特征给BERT的掩码语言模型,获取“[MASK]”对应字表中所有字的得分SC,从SC中选择最高得分的m个字,得到集合SCS={c

步骤4.10)将SCS添加至集合CS

步骤4.11)用两个“[MASK]”标签替换s中的w

步骤4.12)重复步骤4.4)-4.8),传输ID特征、Mask特征和Type特征给BERT的掩码语言模型,获取当前第一个“[MASK]”对应字表中所有字的得分SC

步骤4.13)将第一个“[MASK]”替换为c

步骤4.14)将第一个字c

步骤4.15)j=j+1,重复步骤4.13)-4.14),若j=m,跳转至步骤4.22);

步骤4.16)用四个“[MASK]”标签替换s中的w

步骤4.17)重复步骤4.4)-4.8),传输ID特征、Mask特征和Type特征给BERT的掩码语言模型,获取当前第一个“[MASK]”对应字表中所有字的得分SC

步骤4.18)将当前第一个“[MASK]”替换为c

步骤4.19)将当前第一个“[MASK]”替换为d

步骤4.20)将当前第一个“[MASK]”替换为d

步骤4.21)将第一个字c

步骤4.22)将得到的CS

作为本发明的进一步限定,所述步骤5)包括以下步骤:

步骤5.1)采用四个特征对每个候选替代词CS

步骤5.2)从句子s中选择复杂词w

步骤5.3)采用词向量相似度对CS

步骤5.4)采用义原相似度对所有的词进行排序,得到rank

步骤5.5)采用词频特征对CS

步骤5.6)利用all_ranks中四个特征的排序,计算CS

选择排名最靠前的候选替代词c

作为本发明的进一步限定,所述步骤5.2)包括以下步骤:

步骤5.2.1)用候选替代词c

步骤5.2.2)从前到后依次掩藏Seq’的每一个字w

式(1)中y是原有字的one-hot概率分布,

最后根据式(2)求W’所有字的交叉熵损失值的平均值loss

步骤5.2.3)j=j+1,重复执行步骤5.2.1)和5.2.2),直至CS

步骤5.2.4)对所有的损失值loss

作为本发明的进一步限定,所述步骤5.3)包括以下步骤:

步骤5.3.1)从词向量模型中,获取c

步骤5.3.2)采用余弦相似度计算方法计算

式(3)中,g为词向量模型中向量的维数;

步骤5.3.3)j=j+1,重复执行步骤5.3.1)和5.3.2),直到CS

步骤5.3.4)对所有的相似度值cos

作为本发明的进一步限定,所述步骤5.4)包括以下步骤:

步骤5.4.1)获得c

步骤5.4.2)采用式(2)计算c

式(5)中N代表N种不同的关系,

步骤5.4.3)j=j+1,重复执行步骤5.4.1)和5.4.2),直到CS

步骤5.4.4)对所有的义原相似度值sim

作为本发明的进一步限定,所述步骤6)包括以下步骤:

步骤6.1)如果c

步骤6.2)比较w

步骤6.3)令i=i+1,返回步骤3),直至CS

本发明采用以上技术方案,与现有技术相比,有益效果在于:

1.本发明利用基于预训练Transformer语言模型BERT产生词的候选词,BERT是利用海量文本语料库,通过掩码语言模型(Masked Language modeling,MLM)进行训练,MLM通过随机掩藏句子中少部分字并预测掩藏的字,进行优化训练;对于中文词汇简化算法,通过用不同数目的标签掩藏复杂词,利用MLM逐个预测每个标签位上的字,进而将较高概率的字组合连接作为候选替代词。因此,该方法相对已有的算法,不是仅仅利用复杂词本身,而是在原有的句子基础上,产生复杂词的候选替代词,可以更好的获取复杂词的候选替代词,从而克服了传统方法中只针对复杂词本身进行候选词生成产生的缺陷。

2.本发明利用了语言模型特征、词向量相似度、义原相似度和词频四个特征,对候选词进行选择,不仅考虑了候选词和复杂词的相关性、候选词与原有的上下文之间的连贯性,还考虑了候选词的简化程度,从而能够更准确的找到最适合的替代词。

3.本发明首次将义原相似度引入词简化的候选词排序过程中,有效弥补了单一词向量相似度度量语义相似度时可能出现的失效情况。

具体实施方式

一种基于BERT的汉语句子简化方法,包括以下步骤:

步骤1)获取公开的以下语义资源包括现代汉语常用词词表W及对应的词频、预训练的汉语词嵌入模型Chinese-Word-Embedding、公开的义原数据库OpenHownet。

步骤1.1)利用公开的现代汉语常用词词频表,获取包含的词语集合W及每个词语w∈W对应的词语频率f

步骤1.2)利用词嵌入模型Word2Vector在大规模语料中训练好的汉语词嵌入模型Chinese-Word-Embedding,得到词语集合U及每个词语u∈U对应的向量表示v

步骤1.3)获取公开的对词语进行义原表示的数据库OpenHownet,得到包含的词语集合T及每个词语t∈T包含的义原树集合sem

步骤2)假设需要简化的句子为s,利用分词工具对s进行分词和词性标注,获取s={(w

步骤3)对s中的词语w

步骤4)对于句子s和复杂词w

步骤4.1)获取公开的汉语预训练BERT模型;这里选用了基于PyTorch实现的BERT算法与预训练好的“BERT-Base,Chinese”模型,预训练模型可以从“

步骤4.2)计算复杂词所含字数chnum,当chnum=1或chnum=2,执行步骤4.3)-4.15);当chnum=3,执行步骤4.11)-4.15);当chnum=4,执行步骤4.11)-4.21);这里针对不同字数的复杂词,本发明设计了不同的替代词生成方案;

步骤4.3)用一个“[MASK]”标签替换原句s中的复杂词w

步骤4.4)依次连接符号“[CLS]”、句子s、符号“[SEP]”、句子s’和符号“[SEP]”,连接后的序列记为S;在这里“[CLS]”为序列起始标识符,“[SEP]”为两句句子之间的分隔符,这里连接两句句子主要有两个优点:一是双句可以保留复杂词自身的语义特征,二是BERT采用了下一句预测(Next sentence prediction)进行优化模型,其更擅长处理双句问题;

步骤4.5)利用BERT中的分词器BertTokenizer,对S以字为单位进行分词,分词后的集合称之为T;这是制作以下几个特征的预处理步骤;

步骤4.6)利用BertTokenizer将T转化为对应的ID特征;这里ID特征就是将T中的每一个字用“BERT-base,Chinese”预训练模型字表中该字对应的数字编号替换后组成的序列;

步骤4.7)获取集合T的长度len,定义一个长度为len的数组,所有的值都为1,称之为Mask特征;Mask特征可以让模型识别有用信息的位置;

步骤4.8)定义一个长度为len的数组,其中第一个符号“[SEP]”相对应位置之前的内容都赋值为0,剩下的内容都赋值为1,称之为Type特征,Type特征用来区分两句句子;

步骤4.9)传输ID特征、Mask特征和Type特征给BERT的掩码语言模型,获取“[MASK]”对应字表中所有字的得分SC,从SC中选择最高得分的m个字,得到集合SCS={c

步骤4.10)将SCS添加至集合CS

步骤4.11)用两个“[MASK]”标签替换s中的w

步骤4.12)重复步骤4.4)-4.8),传输ID特征、Mask特征和Type特征给BERT的掩码语言模型,获取当前第一个“[MASK]”对应字表中所有字的得分SC

步骤4.13)将第一个“[MASK]”替换为c

步骤4.14)将第一个字c

步骤4.15)j=j+1,重复步骤4.13)-4.14),若j=m,跳转至步骤4.22);

步骤4.16)用四个“[MASK]”标签替换s中的w

步骤4.17)重复步骤4.4)-4.8),传输ID特征、Mask特征和Type特征给BERT的掩码语言模型,获取当前第一个“[MASK]”对应字表中所有字的得分SC

步骤4.18)将当前第一个“[MASK]”替换为c

步骤4.19)将当前第一个“[MASK]”替换为d

步骤4.20)将当前第一个“[MASK]”替换为d

步骤4.21)将第一个字c

步骤4.22)将得到的CS

步骤5)采用多个特征对集合CS

步骤5.1)采用四个特征对每个候选替代词CS

步骤5.2)从句子s中选择复杂词w

步骤5.2.1)用候选替代词c

步骤5.2.2)从前到后依次掩藏Seq’的每一个字w

式(1)中y是原有字的one-hot概率分布,

最后根据式(2)求W’所有字的交叉熵损失值的平均值loss

步骤5.2.3)j=j+1,重复执行步骤5.2.1)和5.2.2),直至CS

步骤5.2.4)对所有的损失值loss

步骤5.3)采用词向量相似度对CS

步骤5.3.1)从词向量模型中,获取c

步骤5.3.2)采用余弦相似度计算方法计算

式(3)中,g为词向量模型中向量的维数;这里余弦相似度通过计算两个词向量的夹角余弦值来评估他们的相似度;

步骤5.3.3)j=j+1,重复执行步骤5.3.1)和5.3.2),直到CS

步骤5.3.4)对所有的相似度值cos

步骤5.4)采用义原相似度对所有的词进行排序,得到rank

步骤5.4.1)获得c

步骤5.4.2)采用式(2)计算c

式(5)中N代表N种不同的关系,

步骤5.4.3)j=j+1,重复执行步骤5.4.1)和5.4.2),直到CS

步骤5.4.4)对所有的义原相似度值sim

步骤5.5)采用词频特征对CS

步骤5.6)利用all_ranks中四个特征的排序,计算CS

选择排名最靠前的候选替代词c

步骤6)对比排名前二的候选替代词(c

步骤6.1)如果c

步骤6.2)比较w

步骤6.3)令i=i+1,返回步骤3),直至CS

综上所述,本发明提出一种基于BERT的汉语句子简化方法,该方法无需任何词典和并行简化语料,利用采用普通文本进行预训练的Transformer语言模型进行句子简化,充分考虑了复杂词的上下文和复杂词本身,可以更好地产生复杂词的候选替代词,从而更好地对句子进行简化。

本发明并不局限于上述实施例,在本发明公开的技术方案的基础上,本领域的技术人员根据所公开的技术内容,不需要创造性的劳动就可以对其中的一些技术特征作出一些替换和变形,这些替换和变形均在本发明的保护范围内。

相关技术
  • 一种基于BERT的汉语句子简化方法
  • 一种基于卷积神经网络的汉语句子词义消岐方法
技术分类

06120112206527