基于对比学习的中文句子精简方法和系统与流程

文档序号:30788859发布日期:2022-07-16 09:13阅读:182来源:国知局
基于对比学习的中文句子精简方法和系统与流程

1.本技术涉及自然语言处理技术领域,尤其涉及一种基于对比学习的中文句子精简方法和系统。


背景技术:

2.在信息量爆炸性增长的今天,对语句进行精简已经在各个领域中引起关注。句子精简旨在修改原始句子的内容和结构,以减低句子的复杂度,但同时要求保留其主要思想并接近其原始语义,以便更易于阅读和理解。尤其对于读写能力较低的群体而言是极有价值的,例如儿童、听障人士、第二语言习得者和低读写能力者等等。此外,句子精简也可以提高其他自然语言处理(naturallanguageprocessing,简称nlp)任务的性能,例如文本摘要、信息抽取、语义角色标注、句法分析和机器翻译等。
3.相关技术中,大多数句子精简集中在英语语种上,中文句子精简研究展开较少,并且没有公开数据集,因此迫切需要一个成熟可用的句子精简方法。早期的句子精简方法采用基于规则方法,主要考虑词汇简化或者句法简化。目前的研究方法主要分为两种:一种是将句子精简视作单语之间机器翻译任务;另外一种是将句子精简视作句子编辑任务,即删除、插入、保留等。
4.然而,上述句子精简方法在某些具体应用场景下,简化内容会出现长度不可控,简化内容相对于原始句子容易出现忠实度不高和遗漏重点等现象。


技术实现要素:

5.本技术旨在至少在一定程度上解决相关技术中的技术问题之一。
6.为此,本技术的第一个目的在于提出一种基于对比学习的中文句子精简方法,该方法将句子精简任务视作端到端的有条件生成任务,首先采用无监督方法挖掘语义相似的复杂句-简单句句对,然后计算编辑信号和词汇句法复杂度信号作为有监督信号,在编码器-解码器(encoder-decoder)的预训练模型基础上引入对比学习加以微调,从而使用户不仅可根据实际需求控制生成的简化句子,而且能提高生成的简化句子的忠实度。
7.本技术的第二个目的在于提出一种基于对比学习的中文句子精简系统。
8.本技术的第三个目的在于提出一种非临时性计算机可读存储介质。
9.为达上述目的,本技术的第一方面实施例提出了一种基于对比学习的中文句子精简方法,包括以下步骤:
10.基于无监督学习方式挖掘多个语义相似的复杂句-简单句句对;
11.计算每个所述复杂句-简单句句对的监督信号;
12.将每个所述监督信号以字符串的形式添加至对应的句对中的复杂句的起始位置,生成有监督信号的复杂句-简单句句对的数据集,并按照预设比例将所述有监督信号的复杂句-简单句句对的数据集划分为训练集、验证集和测试集;
13.对预设的基于编码器-解码器的多语种预训练模型进行模型剪枝,以获得中文单
语种预训练模型;
14.基于所述训练集和所述验证集,引入对比学习损失对所述中文单语种预训练模型进行微调,联合训练出中文句子简化模型;
15.将所述测试集中的复杂句输入至所述中文句子简化模型,通过所述中文句子简化模型生成预测的精简句子,并评测所述中文句子简化模型的简化效果,在所述简化效果大于预设阈值时,通过所述中文句子简化模型对待简化的中文句子进行精简。
16.可选地,在本技术的一个实施例中,基于无监督学习方式挖掘多个语义相似的复杂句-简单句句对,包括:从预设的资源库中获取大数据量中文句子;通过语言工具库获取每个句子的向量并创建索引,挖掘出每个句子对应的多个相似候选句子;对每个句子对应的所述候选句子进行条件过滤,确定每个句子对应的目标句子,生成所述多个语义相似的复杂句-简单句句对。
17.可选地,在本技术的一个实施例中,监督信号包括句子长度比、编辑距离比、词汇复杂度比和句法树深度比,所述计算每个所述复杂句-简单句句对的监督信号,包括:计算每个所述句对中的简单句长度与复杂句长度的比值,以获得所述句子长度比;计算所述复杂句与所述简单句之间的莱文斯坦距离,并计算每个编辑操作的莱文斯坦距离比,以获得所述编辑距离比,所述编辑操作包括:删除、插入和替换;计算所述复杂句的词汇复杂度与所述简单句的词汇复杂度的比值,以获得所述词汇复杂度比,其中,通过词汇的词频表示所述词汇复杂度;通过自然语言文本处理库分别获取所述复杂句和所述简单句的句法树深度,计算所述复杂句的句法树深度与所述简单句的句法树深度的比值,以获得所述句法树深度比。
18.可选地,在本技术的一个实施例中,将每个所述监督信号以字符串的形式添加至对应的句对中的初始复杂句的起始位置,包括:将每个所述句对的各个所述监督信号,以在监督信号名称后设置监督信号比值的形式依次添加至对应的复杂句的所述起始位置之前。
19.可选地,在本技术的一个实施例中,对预设的基于编码器-解码器的多语种预训练模型进行模型剪枝,包括:选取中文语句中常用的标点符号、数字、英文字母和高频的中文词,作为新的词汇表;将所述多语种预训练模型的原始词汇表替换为所述新的词汇表,并更新所述多语种预训练模型的输入向量和输出向量的表示参数,以更新所述多语种预训练模型;保存所述新的词汇表和更新后的预训练模型。
20.可选地,在本技术的一个实施例中,评测所述中文句子简化模型的简化效果,包括:将所述预测的精简句子与标准的参考精简句子进行对比;通过预设的多个评测指标对所述中文句子简化模型的简化效果进行评测,所述多个评测指标包括:bleu-4指标、rouge-l指标和sari指标。
21.为达上述目的,本技术的第二方面实施例提出了一种基于对比学习的中文句子精简系统,包括以下模块:
22.挖掘模块,用于基于无监督学习方式挖掘多个语义相似的复杂句-简单句句对;
23.计算模块,用于计算每个所述复杂句-简单句句对的监督信号;
24.第一生成模块,用于将每个所述监督信号以字符串的形式添加至对应的句对中的复杂句的起始位置,生成有监督信号的复杂句-简单句句对的数据集,并按照预设比例将所述有监督信号的复杂句-简单句句对的数据集划分为训练集、验证集和测试集;
25.第二生成模块,用于对预设的基于编码器-解码器的多语种预训练模型进行模型剪枝,以获得中文单语种预训练模型;
26.训练模块,用于基于所述训练集和所述验证集,引入对比学习损失对所述中文单语种预训练模型进行微调,联合训练出中文句子简化模型;
27.第三生成模块,用于将所述测试集中的复杂句输入至所述中文句子简化模型,通过所述中文句子简化模型生成预测的精简句子,评测所述中文句子简化模型的简化效果,并在所述简化效果大于预设阈值时,通过所述中文句子简化模型对待简化的中文句子进行精简。
28.可选地,在本技术的一个实施例中,挖掘模块,具体用于:从预设的资源库中获取大数据量中文句子;通过语言工具库获取每个句子的向量并创建索引,挖掘出每个句子对应的多个相似候选句子;对每个句子对应的所述候选句子进行条件过滤,确定每个句子对应的目标句子,生成所述多个语义相似的复杂句-简单句句对。
29.可选地,在本技术的一个实施例中,监督信号包括句子长度比、编辑距离比、词汇复杂度比和句法树深度比,所述计算模块,具体用于:计算每个所述句对中的简单句长度与复杂句长度的比值,以获得所述句子长度比;计算所述复杂句与所述简单句之间的莱文斯坦距离,并计算每个编辑操作的莱文斯坦距离比,以获得所述编辑距离比,所述编辑操作包括:删除、插入和替换;计算所述复杂句的词汇复杂度与所述简单句的词汇复杂度的比值,以获得所述词汇复杂度比,其中,通过词汇的词频表示所述词汇复杂度;通过自然语言文本处理库分别获取所述复杂句和所述简单句的句法树深度,计算所述复杂句的句法树深度与所述简单句的句法树深度的比值,以获得所述句法树深度比。
30.为了实现上述实施例,本技术第三方面实施例还提出了一种非临时性计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述实施例中的基于对比学习的中文句子精简方法。
31.本技术的实施例提供的技术方案至少带来以下有益效果:本技术将信句子精简任务视为端到端的有条件生成任务,首先采用无监督方法挖掘语义相似的复杂句-简单句句对,然后将句对之间的编辑信号和词汇句法复杂度信号作为有监督信号,利用编码器-解码器的预训练模型加以微调,从而使用户可根据不同需求控制生成的简化句子。并且,本技术在交叉熵损失函数的基础上引入对比学习损失,以加大来正负样例的距离,从而提高生成的简化句子的忠实度。本技术不仅使生成结果根据不同需求可控并且可以提高目标的简化句子忠实度。
32.本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
33.本技术上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中
34.图1为本技术实施例提出的一种基于对比学习的中文句子精简方法的流程图;
35.图2为本技术实施例提出的一种具体的语义相似的句对的挖掘方法的流程图;
36.图3为本技术实施例提出的一种监督信号的计算方法的流程图;
37.图4为本技术实施例提出的一种基于对比学习的中文句子精简系统的结构示意图。
具体实施方式
38.下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
39.下面参考附图描述本发明实施例所提出的一种基于对比学习的中文句子精简方法和系统。
40.图1为本技术实施例提出的一种基于对比学习的中文句子精简方法的流程图,如图1示,该方法包括以下步骤:
41.步骤s101,基于无监督学习方式挖掘多个语义相似的复杂句-简单句句对。
42.其中,无监督学习是一种根据没有被标记的训练样本进行模式识别机器学习方法,其训练样本中没有标签,可以适用于本技术在缺乏先验知识的场景下挖掘语义相似的复杂句-简单句句对。
43.其中,复杂句-简单句句对是由一个长度较长的复杂句与一个语义相似但长度较短的简单句组成的句对,比如,“在今天,a线路建造完成
”‑“
a线路于今日竣工”。
44.具体的,采用无监督的方法挖掘语义相似的复杂句-简单句句对,为了更加清楚的说明本技术挖掘复杂句-简单句句对的具体实现过程,下面以本技术一个实施例中的提出的一种语义相似的句对的挖掘方法作为示例进行详细说明。如图2所示,该方法包括以下步骤:
45.步骤s201:从预设的资源库中获取大数据量中文句子。
46.具体的,资源库是预存了大量中文句子的数据库,它可以是各种可读取中文数据的网站和云平台服务器等。在本实施例中,根据实际需要预先选择一个资源库,从资源库中下载已处理好的大量的中文句子。举例而言,从cc-100网站下载该网站已爬取且预处理好的大规模的中文句子。
47.步骤s202:通过语言工具库获取每个句子的向量并创建索引,挖掘出每个句子对应的多个相似候选句子。
48.其中,语言工具库是包含多种语言并可支持相似性向量检索的开源语言工具包,比如,语言工具库包括laser(language-agnostic sentence representations)库和faiss(facebook ai similarity search)库。其中,laser库是可探索多语言句子表示的工具包,它可以通过不同的字符串编写多种语言,将较多类型的语言嵌入到一个独立的共享空间中,在不做修改的情况下实现跨语言迁移。faiss库是针对聚类和相似性搜索的库,为稠密向量提供高效相似度搜索和聚类,实现近似搜索。
49.在本实施例中,首先联合利用各个语言工具库执行各自的搜索挖掘功能,获取上述步骤中挖掘出的每个句子的向量表示,并创建每个句子的索引。然后,利用欧式距离挖掘出每个句子对应的多个相似候选句子。比如,通过计算句子间的欧式距离挖掘出与每个句子语义相似的8个候选句子。
50.步骤s203:对每个句子对应的候选句子进行条件过滤,确定每个句子对应的目标
句子,生成多个语义相似的复杂句-简单句句对。
51.在本实施例中,针对每个句子,对其多个候选句子进行进一步的条件过滤,包括筛除内容错误的句子和筛选出语义相似度更高的句子等操作,从多个候选句子确定出当前句子对应的目标句子。其中,目标句子是指当前句子在句对中对应的句子,比如,若当前句子是一个复杂句,则目标句子是该复杂句对应的目标简单句。
52.由此,为每个句子匹配出对应的语义相似的目标简单句或目标复杂句,将每个句子与对应的目标句子组成句对,生成多个语义相似的复杂句-简单句句对。
53.步骤s102,计算每个复杂句-简单句句对的监督信号。
54.在本技术一个实施例中,监督信号包括句子长度比、编辑距离比、词汇复杂度比和句法树深度比等信息。
55.本技术针对每类监督信号以不同的方式进行计算,为了更加清楚的说明本技术计算各个监督信号的具体实现过程,下面以本技术一个实施例中的提出的一种监督信号的计算方法作为示例进行详细说明。如图3所示,该方法包括以下步骤:
56.步骤s301:计算每个句对中的简单句长度与复杂句长度的比值,以获得句子长度比。
57.具体的,先确定每个句对中的简单句的长度和复杂句的长度,再计算简单句的长度和复杂句的长度的比值,从而计算出每个句对的句子长度比。
58.步骤s302:计算复杂句与简单句之间的莱文斯坦距离,并计算每个编辑操作的莱文斯坦距离比,以获得编辑距离比,编辑操作包括:删除、插入和替换。
59.其中,莱文斯坦距离(levenshtein)是指两个字串之间,由一个转成另一个所需的最少编辑操作次数,可以用于衡量两个字符串之间的相似度。
60.在本实施例中,计算编辑距离比时先计算复杂句与简单句之间的莱文斯坦距离,再分别计算删除、插入和替换的各种编辑操作的莱文斯坦比,即本技术共计算出4项编辑距离比。
61.步骤s303:计算复杂句的词汇复杂度与简单句的词汇复杂度的比值,以获得词汇复杂度比,其中,通过词汇的词频表示所述词汇复杂度。
62.在本实施例中,通过词汇的词频表示词汇复杂度,针对每个句对,先依次计算复杂句和简单句中每个词汇的复杂度,通过累加计算,确定复杂句的词汇复杂度和简单句的词汇复杂度的。然后计算复杂句的词汇复杂度和简单句的词汇复杂度的比值,以获得每个句对的词汇复杂度比。
63.步骤s304:通过自然语言文本处理库分别获取复杂句和简单句的句法树深度,计算复杂句的句法树深度与简单句的句法树深度的比值,以获得句法树深度比。
64.在本实施例中,自然语言文本处理库可以是spacy库等自然语言处理开源库,spacy库可应用于python中的自然语言处理,本技术使用spacy库分别获取复杂句与简单句的中文依存句法树的深度,然后计算两者之比,获得句法树深度比。
65.步骤s103,将每个监督信号以字符串的形式添加至对应的句对中的复杂句的起始位置,生成有监督信号的复杂句-简单句句对的数据集,并按照预设比例将有监督信号的复杂句-简单句句对的数据集划分为训练集、验证集和测试集。
66.在本技术的一个实施例中,对于步骤s102的实施例中计算出的监督信号,将每个
监督信号以字符串的形式添加至对应的句对中的初始复杂句的起始位置,包括将每个句对的各个监督信号,以在监督信号名称后设置监督信号比值的形式依次添加至对应的复杂句的起始位置之前。其中,监督信号名后对应该监督信号的数值,可以根据计算出监督信号的顺序或者为每个监督信号设置权重并由大至小排序等方式,依次将每个督信号添加至复杂句的起始位置之前。
67.举例而言,将复杂句-简单句句对的监督信号,以《监督信号名_监督信号比值》添加至句对中的原始复杂句的起始位置之前,在原始句对的基础上形成有监督信号的复杂句-简单句的数据集,每行数据形如:《监督信号名1_监督信号比值1》

《监督信号名n_监督信号比值n》复杂句,简单句。然后以csv等文件格式保存。
68.进一步的,按照预设比例将有监督信号的复杂句-简单句句对的数据集划分为训练集、验证集和测试集。比如,按照8:1:1比例将带有监督信号的复杂句-简单句的数据集数据划分为训练集、验证集和测试集,以便于后续训练模型并验证模型的性能。
69.步骤s104,对预设的基于编码器-解码器的多语种预训练模型进行模型剪枝,以获得中文单语种预训练模型。
70.需要说明的是,相关技术中进行句子精简处理的预训练模型大多是多语言预训练模型,基于编码器-解码器(encoder-decoder)的结构实现,因此包含中文的基于编码器-解码器的预训练模型通常也包含其他多种语言。而对于本技术进行的中文句子精简而言,包含过多无用的冗余信息并且耗用资源过大,其中其他语言的向量表示参数可能占模型参数的一半以上,这些无用的信息会浪费计算资源。因此,本技术可修剪冗余的向量表示,将多语言预训练模型转变为适用于中文的单语言预训练模型。
71.具体实施时,本技术预先选取相关技术中的一种多语言预训练模型作为中文精简的预训练模型,然后对预设的基于编码器-解码器的多语种预训练模型进行模型剪枝,修剪冗余的向量表示,将该多语种预训练模型转换为中文单语种预训练模型。
72.作为其中一种可能的实现方式,先选取中文语句中常用的标点符号、数字、英文字母和高频的中文词,作为新的词汇表。其中,预设的多语种预训练模型具有一个原始词汇表,该词汇表中可能包括其他多种语言的词汇,本实施例选取中文语句中常用的标点符号、数字、英文字母和高频的中文词作为代替该原始词汇表的新的词汇表。
73.然后,将多语种预训练模型的原始词汇表替换为新的词汇表,并更新多语种预训练模型的输入向量和输出向量的表示参数,以更新多语种预训练模型。具体实施时,可以直接进行词汇表的替换,也可以将原始词表中包含的新的词表中没有的词汇删除,并向原始词表中导入新的词表中新出现的词汇。然后更新模型的输入和输出的向量表示,从而替换掉多语言预训练模型中输入和输出向量表示的参数以更新神经网络。
74.最后,保存新生成的词汇表和更新后的预训练模型,完成对多语种预训练模型的剪枝,获得中文单语种预训练模型。
75.步骤s105,基于训练集和验证集,引入对比学习损失对中文单语种预训练模型进行微调,联合训练出中文句子简化模型。
76.其中,对比学习是自监督学习中的一类,对比学习通过将数据分别与正例样本和负例样本在特征空间进行对比,来学习样本的特征表示。
77.具体的,本技术在预训练模型的在原始交叉熵损失的基础上,加入对比学习损失
来联系训练优化模型,将上述划分后的训练集和验证集中的数据作为训练数据,对步骤s104中进行剪枝后的预训练模型进行微调,训练得到中文精简模型,便于后续通过该中文精简模型对中文句子进行精简。
78.需要说明的是,本技术在进行对比学习时,通过加入对比正样例和负样例来训练剪枝后的预训练模型,以学习目标的简单句的向量表示,其中,以上述实施例中挖掘出的原始的复杂句-简单句句对中的简单句,作为学习的目标的简单句,通过学习一个编码器,使得模型输出的特征和正样本的特征更相似,同时和其他剩余的负样本的特征更不相似。具体进行对比学习的实现过程可以参照相关技术中的方式,此处不再赘述。
79.步骤s106,将测试集中的复杂句输入至中文句子简化模型,通过中文句子简化模型生成预测的精简句子,并评测中文句子简化模型的简化效果,在简化效果大于预设阈值时,通过中文句子简化模型对待简化的中文句子进行精简。
80.具体的,将测试集中的复杂句输入至训练好的中文句子简化模型,通过微调后的简化模型中预测生成最佳的精简句子,再获取该模型输出的预测精简句子,基于预测结果进行该模型对中文句子简化效果的评价。
81.在本技术一个实施例中,评测中文句子简化模型的简化效果,包括先将模型输出的预测的精简句子与标准的参考精简句子进行对比,再通过预设的多个评测指标对中文句子简化模型的简化效果进行评测,其中多个评测指标包括:bleu-4指标、rouge-l指标和sari指标。
82.具体实施时,标准的参考精简句子可以包括挖掘出的句对中的原始简单句,或者对测试集中复杂句进行人工标注后的参考句子。先将中文句子简化模型输出的预测的精简句子与标准的参考精简句子进行对比,并用bleu-4、rouge-l以及sari三个评测指标依次对模型进行评测。其中,bleu主要用来评估机器翻译质量,主要根据精确率(precision)衡量翻译的质量。rouge-l是一种常用的机器翻译和文章摘要评价指标,根据召回率(recall)衡量翻译的质量,其主要考虑了机器译文和参考译文之间的最长公共子序列。sari指标从词汇精简方面考虑,用于衡量由简化模型添加、删除和保留单词的“好坏”程度。在本技术实施例中,可以通过上述方式计算每个评价指标对应的中文句子简化模型的评价值,获得中文句子简化模型的简化效果。
83.进一步的,在评测出中文句子简化模型的简化效果后,在简化效果大于预设阈值时,通过中文句子简化模型对待简化的中文句子进行精简。其中,预设阈值是表示中文句子简化模型的简化效果满足句子简化最低要求的阈值,可以理解的是,当简化效果大于预设阈值时,表明该中文句子简化模型可适用于中文句子简化任务,进而通过该中文句子简化模型进行实际的中文句子简化任务,将待简化的中文句子输入至该中文句子简化模型进行精简。
84.作为一种示例,根据当前的句子简化的应用场景,预先设置bleu-4指标、rouge-l指标和sari指标各自的最低分数阈值,比如,在应用于文本摘要生成时,设置各个预设阈值的数值较高,在应用于人机交互系统时,设置各个预设阈值的数值稍低等。然后,评测出当前中文句子简化模型的各指标值时,分别将各指标值与对应的预设阈值进行比较,若均大于对应的阈值,则可通过当前中文句子简化模型执行相应场景下的中文句子简化任务。
85.由此,本方法不仅从长度、词法句法复杂度等方面控制精简结果,而且能提高目标
端精简句子的忠实度。
86.综上所述,本技术实施例的基于对比学习的中文句子精简方法,将信句子精简任务视为端到端的有条件生成任务,首先采用无监督方法挖掘语义相似的复杂句-简单句句对,然后将句对之间的编辑信号和词汇句法复杂度信号作为有监督信号,利用编码器-解码器的预训练模型加以微调,从而使用户可根据不同需求控制生成的简化句子。并且,该方法在交叉熵损失函数的基础上引入对比学习损失,以加大来正负样例的距离,从而提高生成的简化句子的忠实度。该方法不仅使生成结果根据不同需求可控并且可以提高目标的简化句子忠实度。
87.为了实现上述实施例,本技术还提出了一种基于对比学习的中文句子精简系统。
88.图4为本技术实施例提出的一种基于对比学习的中文句子精简系统的结构示意图。
89.如图4所示,该基于对比学习的中文句子精简系统包括挖掘模块100、计算模块200,第一生成模块300、第二生成模块400、训练模块500和第三生成模块600。
90.其中,挖掘模块100,用于基于无监督学习方式挖掘多个语义相似的复杂句-简单句句对。
91.计算模块200,用于计算每个复杂句-简单句句对的监督信号。
92.第一生成模块300,用于将每个监督信号以字符串的形式添加至对应的句对中的复杂句的起始位置,生成有监督信号的复杂句-简单句句对的数据集,并按照预设比例将包含有监督信号的复杂句-简单句句对的数据集划分为训练集、验证集和测试集。
93.第二生成模块400,用于对预设的基于编码器-解码器的多语种预训练模型进行模型剪枝,以获得中文单语种预训练模型。
94.训练模块500,用于基于训练集和验证集,引入对比学习损失对中文单语种预训练模型进行微调,联合训练出中文句子简化模型。
95.第三生成模块600,用于将测试集中的复杂句输入至中文句子简化模型,通过中文句子简化模型生成预测的精简句子,评测中文句子简化模型的简化效果,并在简化效果大于预设阈值时,通过中文句子简化模型对待简化的中文句子进行精简。
96.可选地,在本技术的一个实施例中,挖掘模块100具体用于:从预设的资源库中获取大数据量中文句子;通过语言工具库获取每个句子的向量并创建索引,挖掘出每个句子对应的多个相似候选句子;对每个句子对应的候选句子进行条件过滤,确定每个句子对应的目标句子,生成多个语义相似的复杂句-简单句句对。
97.在本技术的一个实施例中,监督信号包括句子长度比、编辑距离比、词汇复杂度比和句法树深度比,计算模块200,具体用于:计算每个句对中的简单句长度与复杂句长度的比值,以获得句子长度比;计算复杂句与简单句之间的莱文斯坦距离,并计算每个编辑操作的莱文斯坦距离比,以获得编辑距离比,编辑操作包括:删除、插入和替换;计算复杂句的词汇复杂度与简单句的词汇复杂度的比值,以获得词汇复杂度比,其中,通过词汇的词频表示词汇复杂度;通过自然语言文本处理库分别获取复杂句和简单句的句法树深度,计算复杂句的句法树深度与简单句的句法树深度的比值,以获得句法树深度比。
98.可选地,在本技术的一个实施例中,第一生成模块300具体用于:将每个句对的各个监督信号,以在监督信号名称后设置监督信号比值的形式依次添加至对应的复杂句的起
始位置之前。
99.可选地,在本技术的一个实施例中,第二生成模块400具体用于:选取中文语句中常用的标点符号、数字、英文字母和高频的中文词,作为新的词汇表;将多语种预训练模型的原始词汇表替换为新的词汇表,并更新多语种预训练模型的输入向量和输出向量的表示参数,以更新多语种预训练模型;保存新的词汇表和更新后的预训练模型。
100.可选地,在本技术的一个实施例中,第三生成模块600,具体用于:将预测的精简句子与标准的参考精简句子进行对比;通过预设的多个评测指标对中文句子简化模型的简化效果进行评测,多个评测指标包括:bleu-4指标、rouge-l指标和sari指标。
101.综上所述,本技术实施例的基于对比学习的中文句子精简系统,将信句子精简任务视为端到端的有条件生成任务,首先采用无监督方法挖掘语义相似的复杂句-简单句句对,然后将句对之间的编辑信号和词汇句法复杂度信号作为有监督信号,利用编码器-解码器的预训练模型加以微调,从而使用户可根据不同需求控制生成的简化句子。并且,该系统在交叉熵损失函数的基础上引入对比学习损失,以加大来正负样例的距离,从而提高生成的简化句子的忠实度。该系统不仅使生成结果根据不同需求可控并且可以提高目标的简化句子忠实度。
102.为了实现上述实施例,本发明还提出一种非临时性计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现本技术第一方面实施例所述的基于对比学习的中文句子精简方法。
103.在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本技术的至少一个实施例或示例中。在本说明书中,若在多个实施例或示例中采用了对上述术语的示意性表述,不代表这些实施例或示例是相同的。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
104.此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本技术的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
105.流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本技术的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本技术的实施例所属技术领域的技术人员所理解。
106.在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传
输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
107.应当理解,本技术的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。
108.本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
109.此外,在本技术各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
110.上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本技术的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本技术的限制,本领域的普通技术人员在本技术的范围内可以对上述实施例进行变化、修改、替换和变型。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1