当前位置: 首页 > 专利查询>扬州大学专利>正文

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

技术编号:27031432 阅读:37 留言:0更新日期:2021-01-12 11:14
本发明专利技术公开了一种基于BERT的汉语句子简化方法,包括以下步骤:步骤1)获取汉语常用词词频表,预训练汉语嵌入模型,义元数据库并获取词语集合,词频,词向量表示与义元表示;步骤2)假设需要简化的句子为

【技术实现步骤摘要】
一种基于BERT的汉语句子简化方法
本专利技术涉及中文文本简化领域,特别涉及一种基于BERT的汉语句子简化方法。
技术介绍
随着中国对外开放水平的提高,中文在国际上的影响力越来越大,很多外国人都会通过各种渠道学习中文,而中文作为一种象形语言,学习难度很大,同时,词汇量的缺乏很大程度上影响了对学习者对阅读材料的理解程度。在以往的研究中已经被证实,如果学习者理解了文本中90%的词汇,即使面对长而复杂的文本,文本所表达的意思也很容易被理解。另外,文本简化对母语是中文的人也有很大的帮助,特别是对那些文化程度不高,认知或语言障碍的弱势群体。句子简化中的词汇简化算法目标是用简单词替代句子中的复杂词,因此,替换后的句子可以大大降低对用户的词汇量要求。目前中文领域暂无公开的中文词汇简化方法。在已有的英文文本简化研究中,词汇简化算法的步骤大致可以分为:复杂词识别、候选词生成、候选词排序。词汇简化算法按照候选替代词的产生,大致可以分为三类:第一类是基于词典的简化算法,该类算法主要利用词典产生复杂词的同义词,作为候选替代词;第二类算法基于并行语料的算法,最常用的并行语料是从正常的维基百科和儿童版的英文维基百科中获取,通过匹配算法分别两个不同维基百科中选择句子作为平行句子对,然后,从平行句子对中获取规则,这些规则用来产生复杂词的候选替代词;第三类算法基于词嵌入模型,从词嵌入模型中获取词语的向量表示,利用词语相似度计算方法,寻找复杂词最相似的词语集合作为候选替代词。然而,前两类算法具有很大的局限性,首先,词典的构造与维护的代价很大,高质量的并行语料提取非常困难,其次,这两类算法对复杂词的覆盖也是有限的。更重要的是,以上三类算法最大的问题还是产生候选词的过程中,只考虑了复杂词本身,忽略了复杂词的上下文,将不可避免的产生很多不适合的候选词,给系统后面的步骤带来很大干扰。
技术实现思路
本专利技术的目的是克服现有技术缺陷,提供一种基于BERT的汉语句子简化方法,利用采用普通文本进行预训练的Transformer语言模型进行句子简化,充分考虑了复杂词的上下文和复杂词本身,可以更好地产生复杂词的候选替代词,从而更好地对句子进行简化。本专利技术的目的是这样实现的:一种基于BERT的汉语句子简化方法,包括以下步骤:步骤1)获取公开的语义资源包括现代汉语常用词词表W及对应的词频、预训练的汉语词嵌入模型Chinese-Word-Embedding、公开的义原数据库OpenHownet;步骤2)假设需要简化的句子为s,利用分词工具对s进行分词和词性标注,获取s={(w1,pos1),(w2,pos2),…,(wi,posi),…,(wn,posn)},wi表示s中第i个词,posi表示wi对应的词性,n表示s中词的数目,定义i的初值为1;步骤3)对s中的词语wi(1≤i≤n),根据词性posi进行筛选;如果posi属于名词、动词、形容词和副词的一种,执行步骤4);否则:令i=i+1,继续执行步骤3);步骤4)对于句子s和复杂词wi,利用公开的预训练Transformer语言模型BERT,获取k个候选替代词组成的集合CSi={c1,c2,…,ck};步骤5)采用多个特征对集合CSi中的候选替代词进行排序,通过对多个排序结果求平均值,选择排名第一的候选替代词cp和排名第二的候选替代词cq,(k≥p,q≥1);步骤6)对比排名前二的候选替代词(cp,cq)和原有词语wi,确定是否替换原来的词语。作为本专利技术的进一步限定,所述步骤1)包括以下步骤:步骤1.1)利用公开的现代汉语常用词词频表,获取包含的词语集合W及每个词语w∈W对应的词语频率fw;步骤1.2)利用词嵌入模型Word2Vector在大规模语料中训练好的汉语词嵌入模型Chinese-Word-Embedding,得到词语集合U及每个词语u∈U对应的向量表示vu,每个向量由300维组成;步骤1.3)获取公开的对词语进行义原表示的数据库OpenHownet,得到包含的词语集合T及每个词语t∈T包含的义原树集合semt={s1,s2,…,sm},m表示词语t在OpenHownet中包含的义原树数目。作为本专利技术的进一步限定,所述步骤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中的复杂词wi,记替换后的句子为s’;步骤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={c1,c2,…,cm};步骤4.10)将SCS添加至集合CSi;步骤4.11)用两个“[MASK]”标签替换s中的wi,记替换后的句子为s’;步骤4.12)重复步骤4.4)-4.8),传输ID特征、Mask特征和Type特征给BERT的掩码语言模型,获取当前第一个“[MASK]”对应字表中所有字的得分SC1;从SC1中选择高得分的m个字,得到集合SCS1={c1,c2,…,cj,…,cm};定义j的初值为1;步骤4.13)将第一个“[MASK]”替换为cj,用替换后的句子代替s’;重复步骤4.4)-4.8),传输ID特征、Mask特征和Type特征给BERT,获取下一个“[MASK]”对应字表中所有字的得分SC2,选择高得分的m个字,得到集合SCS2={d1,d2,…,dk,…,dm};定义k的初值为1;步骤4.14)将第一个字cj与第二个字dk拼接为一个词,添加至集合CSi,k=k+1,重复此步骤直至k=m;步骤4.15)j=j+1,重复步骤4.13)-4.14),若j=m,跳转至步骤4.22);步骤4.16)用四个“[MASK]”标签替换s中的wi,记替换后的句子为s’;步骤4.17)重复步骤4.4)-4.8),传输ID特征、Mask特征和Type特征给BERT的掩码语言模型,获本文档来自技高网
...

【技术保护点】
1.一种基于BERT的汉语句子简化方法,其特征在于,包括以下步骤:/n步骤1)获取公开的语义资源包括现代汉语常用词词表W及对应的词频、预训练的汉语词嵌入模型Chinese-Word-Embedding、公开的义原数据库OpenHownet;/n步骤2)假设需要简化的句子为s,利用分词工具对s进行分词和词性标注,获取s={(w

【技术特征摘要】
1.一种基于BERT的汉语句子简化方法,其特征在于,包括以下步骤:
步骤1)获取公开的语义资源包括现代汉语常用词词表W及对应的词频、预训练的汉语词嵌入模型Chinese-Word-Embedding、公开的义原数据库OpenHownet;
步骤2)假设需要简化的句子为s,利用分词工具对s进行分词和词性标注,获取s={(w1,pos1),(w2,pos2),…,(wi,posi),…,(wn,posn)},wi表示s中第i个词,posi表示wi对应的词性,n表示s中词的数目,定义i的初值为1;
步骤3)对s中的词语wi(1≤i≤n),根据词性posi进行筛选;如果posi属于名词、动词、形容词和副词的一种,执行步骤4);否则:令i=i+1,继续执行步骤3);
步骤4)对于句子s和复杂词wi,利用公开的预训练Transformer语言模型BERT,获取k个候选替代词组成的集合CSi={c1,c2,…,ck};
步骤5)采用多个特征对集合CSi中的候选替代词进行排序,通过对多个排序结果求平均值,选择排名第一的候选替代词cp和排名第二的候选替代词cq,(k≥p,q≥1);
步骤6)对比排名前二的候选替代词(cp,cq)和原有词语wi,确定是否替换原来的词语。


2.根据权利要求1所述的一种基于BERT的汉语句子简化方法,其特征在于,所述步骤1)包括以下步骤:
步骤1.1)利用公开的现代汉语常用词词频表,获取包含的词语集合W及每个词语w∈W对应的词语频率fw;
步骤1.2)利用词嵌入模型Word2Vector在大规模语料中训练好的汉语词嵌入模型Chinese-Word-Embedding,得到词语集合U及每个词语u∈U对应的向量表示vu,每个向量由300维组成;
步骤1.3)获取公开的对词语进行义原表示的数据库OpenHownet,得到包含的词语集合T及每个词语t∈T包含的义原树集合semt={s1,s2,…,sm},m表示词语t在OpenHownet中包含的义原树数目。


3.根据权利要求1所述的一种基于BERT的汉语句子简化方法,其特征在于,所述步骤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中的复杂词wi,记替换后的句子为s’;
步骤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={c1,c2,…,cm};
步骤4.10)将SCS添加至集合CSi;
步骤4.11)用两个“[MASK]”标签替换s中的wi,记替换后的句子为s’;
步骤4.12)重复步骤4.4)-4.8),传输ID特征、Mask特征和Type特征给BERT的掩码语言模型,获取当前第一个“[MASK]”对应字表中所有字的得分SC1;从SC1中选择高得分的m个字,得到集合SCS1={c1,c2,…,cj,…,cm};定义j的初值为1;
步骤4.13)将第一个“[MASK]”替换为cj,用替换后的句子代替s’;重复步骤4.4)-4.8),传输ID特征、Mask特征和Type特征给BERT,获取下一个“[MASK]”对应字表中所有字的得分SC2,选择高得分的m个字,得到集合SCS2={d1,d2,…,dk,…,dm};定义k的初值为1;
步骤4.14)将第一个字cj与第二个字dk拼接为一个词,添加至集合CSi,k=k+1,重复此步骤直至k=m;
步骤4.15)j=j+1,重复步骤4.13)-4.14),若j=m,跳转至步骤4.22);
步骤4.16)用四个“[MASK]”标签替换s中的wi,记替换后的句子为s’;
步骤4.17)重复步骤4.4)-4.8),传输ID特征、Mask特征和Type特征给BERT的掩码语言模型,获取当前第一个“[MASK]”对应字表中所有字的得分SC1,从SC1中选择高得分的m个字,得到集合SCS1={c1,c2,…,cj,…,cm};定义j的初值为1;
步骤4.18)将当前第一个“[MASK]”替换为cj,将替换后的句子记为s’;重复步骤4.4)-4.8),传输ID特征、Mask特征和Type特征给BERT的掩码语言模型,获取下一个“[MASK]”对应字表中所有字的得分SC2,选择最高得分的字,记为d1;
步骤4.19)将当前第一个“[MASK]”替换为d1,将替换后的句子记为s’;重复步骤4.4)-4.8),传输ID特征、Mask特征和Type特征给BERT的掩码语言模型,获取下一个“[MASK]”对应字表中...

【专利技术属性】
技术研发人员:强继朋陆欣雨李云
申请(专利权)人:扬州大学
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1