CN116227466B - 一种语义不同措辞相似的句子生成方法、装置及设备 - Google Patents
一种语义不同措辞相似的句子生成方法、装置及设备 Download PDFInfo
- Publication number
- CN116227466B CN116227466B CN202310501928.7A CN202310501928A CN116227466B CN 116227466 B CN116227466 B CN 116227466B CN 202310501928 A CN202310501928 A CN 202310501928A CN 116227466 B CN116227466 B CN 116227466B
- Authority
- CN
- China
- Prior art keywords
- sentence
- replacement
- name
- input sentence
- input
- 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
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/205—Parsing
- G06F40/211—Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
-
- 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/284—Lexical analysis, e.g. tokenisation or collocates
-
- 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
- G06F40/295—Named entity recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Machine Translation (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种语义不同措辞相似的句子生成方法、装置及设备,包括生成、筛选与输入句子语义不同措辞相似的句子;生成句子包括关键词替换和模型生成,关键词替换是选择原句中的关键词进行替换生成结果,模型生成是利用生成模型生成结果;再通过通顺判断、语义不同判断、措辞相似判断和质量评分对过滤得到的句子进行筛选。本发明提出了一种新的自然语言处理任务,可以计算句子间措辞相似度、计算句子间结构差异和筛选优质的生成结果;丰富了自然语言处理研究的任务,有利于问答系统的测试、高质量负例数据的生成和增强模型对语言的理解。
Description
技术领域
本发明涉及自然语言处理的技术领域,具体涉及一种语义不同措辞相似的句子生成方法、装置及设备。
背景技术
复述生成是一项典型的自然语言处理任务,目标是生成与原句语义相同但表达不同的句子。复述生成要求对语言有深刻的理解和丰富的表达能力。复述生成有着广泛的应用。在问答系统中,对于用户输入的问题,可以用复述生成对问题进行扩充,使得问答库更容易匹配到相似的问题。在训练翻译模型时,复述生成可以扩充训练数据和标签数据。在自然语言生成任务中,对生成的句子进行复述生成来产生丰富多样的表达。
复述生成经历了基于规则、基于统计的方法到基于神经网络的方法。基于规则的生成方法根据规则对原句子进行改写,在保持语义与原句相同的情况下改变句子的措辞和结构来生成复述。基于统计的方法主要是基于统计机器翻译的复述生成方法。自然语言处理随着人工智能和深度学习的发展受到了越来越多的关注。复述生成作为自然语言处理的一个研究方向也有越来越多的学者进行研究。深度学习的发展为复述生成提供了新的思路和方法,例如可以微调预训练的语言模型来生成复述。在大规模的语料上预训练过的语言模型,对文本通用特征的提取能力很强。基于这样的模型在复述生成数据集上微调可以取得很好的复述生成效果。目前已有一些开源的框架和模型能实现生成优质的复述。
与复述生成相对应,定义一种自然语言处理任务:生成与原句语义不同但表达尽可能相同的句子。例如“再不疯狂我们就老了”和“你再不老我们就疯狂了”这两句,措辞接近表达的意思却差别很大。这种任务同样要求对语言有深刻的理解,也要求有巧妙的表达能力。这种任务也有很多应用场景。例如在测试问答系统时,对于问答系统能正确回答的问题,通过这个任务生成与原问题措辞相似但语义不同的问题,测试问答系统是否会将生成的问题误认为是原问题而给出原问题的回答。从而更好的测试问答系统的表现。在训练相似问题匹配模型时可以用这个任务生成高质量的负例来扩充训练数据,训练出更好的模型。
然而目前还找不到对语义不同措辞相似生成方式的研究。
发明内容
针对现有技术不足,本发明提出了一种语义不同措辞相似的句子生成方法、装置及设备。
根据本申请实施例的第一方面,提供一种语义不同措辞相似的句子生成方法,包括如下步骤:
(1)获取输入句子;
(2)通过以下两种方式生成误述:
(2.1)对所述输入句子中的关键词通过反义词替换、代词替换、人名替换、机构名替换、地名替换、职位名替换和数词替换生成误述;
(2.2)利用生成模型生成误述:首先利用BART模型训练生成模型,训练时,随机掩盖所述输入句子中的词,并在所述输入句子前后添加掩码标记得到输入句子,将输入句子输入模型,训练模型生成原输入句子;然后对输入句子进行分词,随机选择若干词丢弃;将剩下的词打乱顺序之后用掩码拼接起来,并在拼接成的字符串前后添加掩码标记得到输入字符串,将输入字符串转为整数列表输入模型,最后采用集束搜索算法生成多条误述;
(3)基于预设的筛选条件对步骤(2)生成的误述进行筛选;
(4)将经过筛选后的误述输出。
进一步地,所述误述为语义不同措辞相似的句子。
进一步地,所述步骤(2.1)包括以下子步骤:
(2.1.1)反义词替换:对所述输入句子进行词性标注,并识别出所述输入句子中的形容词和方位词,再调用反义词查询接口查询出所述输入句子中形容词和方位词的反义词进行替换;
(2.1.2)代词替换:对所述输入句子进行词性标注,并识别出所述输入句子中的代词,再从代词库中选取其他的代词进行替换;
(2.1.3)人名替换:对所述输入句子进行命名实体识别,找出句子中的人名;若人名是以姓氏开始的,则从姓氏库中随机选取一个其他的姓氏进行替换;
(2.1.4)机构名替换:对所述输入句子进行命名实体识别,找出句子中的机构名词,再从机构名库中选取与该机构名不同但编辑距离最小的机构名进行替换;
(2.1.5)地名替换:对所述输入句子进行命名实体识别,找出句子中的地名词,再从地名库中选取与该地名不同但编辑距离最小的地名进行替换;
(2.1.6)职位名替换:对所述输入句子进行分词,判断该词是否在职位名库中;若在职位名词库中,则选取与该职位名不同但编辑距离最小的职位名进行替换;
(2.1.7)数词替换:通过正则表达式查找出所述输入句子的数字,从2、3、4三个数中随机选取一个数乘以原数字得到的结果进行替换。
进一步地,所述步骤(3)包括以下子步骤:
(3.1)判断生成的新句子是否通顺;若不通顺,则输出错误结果;
(3.2)判断生成的新句子和所述输入句子的语义是否相同;若不相同,则输出错误结果;
(3.3)判断生成的新句子与所述输入句子是否措辞相似并给出措辞的相似度,设定措辞相似度阈值;若生成的句子与所述输入句子的措辞相似度小于阈值,则生成的句子不能作为所述输入句子的误述,并输出错误结果;其中,所述措辞相似度为两个句子字符频率字典的共同字符数除以两个句子长度的最大值,所述句子字符频率字典是由句子中出现的字为键、字出现的次数为对应值所组成的字典,两个句子字符频率字典的共同字符数为两个字典都包含的键所对应值的最小值的加和;
(3.4)对生成的句子进行依存分析得到分析树来表示句子的结构,用分析树间的考虑边差异的树编辑距离度量句子结构的差异,进行质量评分,根据筛选原则筛选出质量好的误述。
进一步地,所述步骤(3.4)中,所述筛选原则为:措辞与所述输入句子越相似,而结构与所述输入句子越不相似,则该误述的质量越好。
根据本申请实施例的第二方面,提供一种语义不同措辞相似的句子生成装置,包括:
获取模块,用于获取输入句子;
关键词替换模块,用于选择输入句子中的关键词进行替换生成误述,关键词替换包括反义词替换、代词替换、人名替换、机构名替换、地名替换、职位名替换和数词替换;
模型生成模块,用于利用生成模型生成误述;首先利用BART模型训练生成模型,训练时,随机掩盖所述输入句子中的词,并在所述输入句子前后添加掩码标记得到输入句子,将输入句子输入模型,训练模型生成原输入句子;然后对输入句子进行分词,随机选择若干词丢弃;将剩下的词打乱顺序之后用掩码拼接起来,并在拼接成的字符串前后添加掩码标记得到输入字符串,将输入字符串转为整数列表输入模型,最后采用集束搜索算法生成多条误述;
筛选模块,用于基于预设的筛选条件对新句子进行筛选,包括对误述进行通顺判断、语义不同判断、措辞相似判断和质量评分。
进一步地,所述关键词替换模块包括:
反义词替换子模块,用于对所述输入句子进行词性标注,并识别出所述输入句子中的形容词和方位词,再调用反义词查询接口查询出所述输入句子中形容词和方位词的反义词进行替换;
代词替换子模块,用于对所述输入句子进行词性标注,并识别出所述输入句子中的代词,再从代词库中选取其他的代词进行替换;
人名替换子模块,用于对所述输入句子进行命名实体识别,找出句子中的人名;若人名是以姓氏开始的,则从姓氏库中随机选取一个其他的姓氏进行替换;
机构名替换子模块,用于对所述输入句子进行命名实体识别,找出句子中的机构名词,再从机构名库中选取与该机构名不同但编辑距离最小的机构名进行替换;
地名替换子模块,用于对所述输入句子进行命名实体识别,找出句子中的地名词,再从地名库中选取与该地名不同但编辑距离最小的地名进行替换;
职位名替换子模块,用于对所述输入句子进行分词,判断该词是否在职位名库中;若在职位名词库中,则选取与该职位名不同但编辑距离最小的职位名进行替换;
数词替换子模块,用于通过正则表达式查找出所述输入句子的数字,从2、3、4三个数中随机选取一个数乘以原数字得到的结果进行替换。
进一步地,所述筛选模块包括:
通顺判断模块,用于判断生成的句子是否通顺;
语义不同判断模块,用于判断一对句子的语义是否相同;
措辞相似度判断模块,用于判断生成的误述与原句是否措辞相似,并给出措辞的相似度;
质量评分模块,用于评估生成误述的质量。
根据本申请实施例的第三方面,提供一种电子设备,包括存储器和处理器,所述存储器与所述处理器耦接;其中,所述存储器用于存储程序数据,所述处理器用于执行所述程序数据以实现上述的语义不同措辞相似的句子生成方法。
根据本申请实施例的第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现上述的语义不同措辞相似的句子生成方法。
本发明的有益效果为:本发明提出了一种新的自然语言处理任务,即语义不同措辞相似的句子生成,丰富了自然语言处理研究的任务,有利于问答系统的测试、高质量负例数据的生成、增强模型对语言的理解等。本发明提出的计算句子间措辞相似度、计算句子间结构差异和生成误述质量评分的方法,有利于筛选优质的生成结果。
附图说明
图1为本发明一种语义不同措辞相似的句子生成方法的流程图;
图2为本发明一种语义不同措辞相似的句子生成方法中通顺判断模型的结构图;
图3为本发明一种语义不同措辞相似的句子生成方法中语义判断模型的结构图;
图4为本发明一种语义不同措辞相似的句子生成方法中模型生成误述的结构图;
图5为本发明一种语义不同措辞相似的句子生成方法中句子依存分析树的结构图;
图6为本发明一种语义不同措辞相似的句子生成装置的示意图;
图7为本发明一种电子设备的示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
参考复述生成任务,定义一种新的自然语言处理任务:语义不同措辞相似的句子生成。为了表达方便,将与原句语义不同措辞相似的句子称为误述,生成误述的任务称为误述生成。可以认为误述生成是复述生成的镜像任务。复述生成要求生成句子的语义必须与原句相同,而误述生成要求生成句子的语义必须与原句不同。复述生成鼓励生成结果用词丰富,而误述生成希望生成结果措辞与原句尽可能相似。
在考虑如何生成误述之前,先考虑如何评价误述。误述是与原句语义不同措辞相似的句子。因此误述首先要是一句正常的句子,它必须是通顺连贯的,而不能是随机的几个词组成的一段无意义的序列。其次误述必须与原句语义不同,否则就不是误述而是复述了。再次,误述必须与原句在措辞上有一定的相似度。措辞上的相似将原句与误述关联起来。如果原句和误述措辞上不相似,则是两句毫不相干的句子,失去了将它们关联起来的意义。例如句子“再不疯狂我们就老了”和“你再不老我们就疯狂了”两句;它们语义不同但是措辞相差不大,可以互为误述。对于句子“再不疯狂我们就老了”和“月球没有大气层”;它们语义不同,措辞不相似,是不相干的两个句子,不能认为其中一句是另一句的误述。
判断生成句子是误述之后,再对误述的好坏做出评价。直观的想法是措辞越相似,生成的误述越好。与原句措辞一样的误述是最好的误述,即用一个句子表达出不同的意思。在语境不同时,用同一个句子表达不同的意思是可能的;然而考虑到本实施例的输入只有原句而不包括语境,同时为了生成更加丰富的误述,认为误述的结构与原句结构差异越大,误述越好。所以本实施例对误述质量的评价指标为:措辞与原句越相似,结构与原句越不相似,误述的质量越好。
如图1所示,本发明实施例提供的一种语义不同措辞相似的句子生成方法,包括以下步骤:
(1)获取输入句子;
(2)选择所述输入句子中的关键词进行替换生成误述,包括反义词替换、代词替换、人名替换、机构名替换、地名替换、职位名替换和数词替换。
反义词替换的方法是通过对原句进行词性标注识别出句子中的形容词和方位词,再调用在线词林的反义词查询接口查询出反义词进行替换。在线词林是一个在线词典,服务地址为http://www.cilin.org/fyc/。以“再不疯狂我们就老了”为例,对于形容词“疯狂”,查到反义词“理智”;用“理智”替换“疯狂”得到误述“再不理智我们就老了”。
代词替换的方法是通过对原句进行词性标注识别出句子中的代词,再从代词库中选取其他的代词进行替换。代词库是收集的中文代词组成的词库。以“再不疯狂我们就老了”为例,对于代词“我们”,从代词库中选取“你们”,“它”进行替换,得到误述“再不疯狂你们就老了”和“再不疯狂它就老了”。
人名替换的方法是通过对原句进行命名实体识别,找出句子中的人名,如果人名是以姓氏开始的,则从姓氏库中随机选取一个其他的姓氏进行替换。姓氏库是由百家姓组成的词库。以“张三的身高是多少”为例,对于人名“张三”,从姓氏库中随机选取得到姓“王”,用“王”替换“张”得到误述“王三的身高是多少”。
机构名替换的方法是通过对原句进行命名实体识别,找出句子中的机构名词,再从机构名库中选取与该机构名不同但编辑距离最小的机构名进行替换。机构名库是收集的中文机构名组成的词库。以“介绍一下A实验室”为例,对于机构名“A实验室”,调用python的fuzzywuzzy工具包从机构名库中查找编辑距离最小的机构名“B实验室”进行替换,得到误述“介绍一下B实验室”。
地名替换的方法是通过对原句进行命名实体识别,找出句子中的地名词,再从地名库中选取与该地名不同但编辑距离最小的地名进行替换。地名库是收集的中文地名组成的词库。以“C市有多少人口”为例,对于地名“C市”,调用python的fuzzywuzzy工具包从地名库中查找编辑距离最小的地名“D市”进行替换,得到误述“D市有多少人口”。
职位名替换的方法是通过对原句进行分词,判断词是否在职位名库中。如果在职位名词库中,则选取与该职位名不同但编辑距离最小的职位名进行替换。职位名库是收集的职位名组成的词库。
数词替换的方法是通过正则表达式查找出原句数字,从2、3、4三个数中随机选取一个数乘以原数字得到结果进行替换。以“100米短跑世界记录是多少”为例,进行数词替换后生成误述“400米短跑世界记录是多少”。
(3)利用生成模型生成误述:模型训练时,随机掩盖所述输入句子中的词,并在所述输入句子前后添加掩码标记得到输入句子,将输入句子输入模型,训练模型生成原输入句子。模型预测时,对输入句子进行分词,随机选择若干词丢弃;将剩下的词打乱顺序之后用掩码拼接起来,并在拼接成的字符串前后添加掩码标记得到输入字符串,将输入字符串转为整数列表输入模型,模型生成时可以采用集束搜索算法生成多条误述。
利用生成模型生成误述可以使生成的误述结构更加丰富。由于BART模型训练时可以用一个掩码替换多个字符,在生成时可以根据一个掩码生成长度可变的文本,所以本申请选取BART模型来训练误述生成模型。在构造数据集训练模型中,构造方法为对于原句子,随机掩盖句子中的若干词,并在句子前后添加掩码标记得到输入句子,将输入句子转化为整数列表并输入模型,训练模型生成原句子。以“你再不老我们就疯狂了”为例,随机掩盖句子中的若干词,并在句子前后添加掩码标记,得到句子“[mask]不老[mask]我们[mask]疯狂[mask]”,将句子“[mask]不老[mask]我们[mask]疯狂[mask]”转化为整数列表输入模型,训练模型生成“你再不老我们就疯狂了”。模型的训练如图4所示。用Teacher forcing 的方法训练模型,训练的损失函数为:
其中,loss为损失,n为目标句子长度,为t时刻的预测字符,/>为t时刻的目标字符,/>为t时刻之前已预测的字符。
训练好模型后将模型用于预测。预测时对输入句子进行分词,随机选择若干词丢弃。将剩下的词打乱顺序之后用掩码拼接起来,并在拼接成的字符串前后添加掩码标记得到输入字符串;将输入字符串转为整数列表输入模型,模型生成时可以采用集束搜索算法生成多条误述。
(4)基于预设的筛选条件对误述进行筛选;包括通顺判断,语义不同判断,措辞相似判断和质量评分。
通顺判断模块用于判断生成的句子是否通顺。基于BERT模型训练得到判断模型,模型的结构如图2所示。将一个句子拼接上起始符[CLS]和分隔符[SEP]得到输入字符串,将输入字符串转化为整数列表输入模型进行预测句子是否通顺。从文本中提取正常的句子作为正例,对句子进行打乱词顺序,随机替换、插入、删除词语以构造不通顺的句子作为负例训练模型。
语义不同判断模块用于判断一对句子的语义是否相同。与通顺判断模块的方法类似,基于BERT模型训练得到语义不同判断模型,模型的结构如图3所示。将两个句子用分隔符[SEP]拼接成字符串,将起始符[CLS]加入字符串的开始,将分隔符[SEP]加入字符串的结尾得到输入字符串,将输入字符串转化为整数列表输入模型进行预测语义是否相同。从网上爬取语义相同的问题作为正例,根据正例人工构造措辞相似但语义不同的句子作为负例训练模型。
措辞相似度判断模块判断生成的误述与原句是否措辞相似并给出措辞的相似度,设定措辞相似度阈值,其中,措辞相似度的取值范围是[0,1],如果生成的句子与原句的措辞相似度小于阈值,则生成的句子不能作为原句的误述。
为了度量句子措辞的相似度,先定义句子的字符频率字典。句子的字符频率字典是由句子中出现的字为键,字出现的次数为对应值组成的字典。例如“谢谢你”这个句子,它的字符频率字典为{“谢”: 2,“你”: 1}。求句子的字符频率字典的运算用公式表达为:
其中,dt为字符频率字典,s为句子,fdt为统计s中的字符得到字符频率字典的运算。
定义两个字符频率字典的共同字符数为两个字典都包含的键对应值的最小值的加和,用公式表达为:
其中,c为共同字符数,k为两个字典都包含的键,为句子1的字符频率字典,/>为句子2的字符频率字典,.keys()为取字典的键集合运算。例如“谢谢你”和“不用谢”这两句,对应的字符频率字典为/>{“谢”: 2,“你”: 1}和/>{“谢”: 1,“不”: 1,“用”:1}。它们的共同字符数为/>。
定义两个句子的措辞相似度为两个句子字符频率字典的共同字符数除以两个句子长度最大值,用公式表示为:
其中,a为措辞相似度,为句子1,/>为句子2,fdt为统计句子字符频率字典的运算,c为共同字符数,len为取字符串长度的运算。例如“谢谢你”和“不用谢”这两句,它们的措辞相似度为/>。设定阈值为0.5,要求生成的误述与原句的措辞相似度必须大于等于0.5,否则生成的句子不能称为原句的误述。由于“谢谢你”和“不用谢”的措辞相似度小于0.5,这两句不能相互称为误述。
质量评分模块用于评估生成误述的质量。根据措辞与原句越相似而结构与原句越不相似,作为误述的质量越好的原则,对误述的质量进行量化。定义了句子间措辞相似度的计算方法之后,还需要定义句子间结构差异的计算方法。对句子进行依存分析得到分析树来表示句子的结构,用分析树间的树编辑距离度量句子结构的差异。具体的,以“再不疯狂我们就老了”和“你再不老我们就疯狂了”为例,用DDParser工具对这两句做依存分析得到依存分析树,如图5所示。将插入、删除、替换一个节点的操作算作1个距离,图5所示的依存分析树间的树编辑距离为4。然而依存分析树的边也包含了信息,计算树的编辑距离时应该将边的差异也考虑进去。保持将插入、删除、替换一个节点的操作算作1个距离,将插入、删除、替换一条边的操作也算作1个距离,图5所示的依存分析树间的树编辑距离为5。句子结构差异的计算方法用公式表达为:
其中,d为句子结构差异,tr_edist为考虑边差异的树编辑距离运算,dparse为依存分析运算,为句子1,/>为句子2。
为了鼓励生成措辞足够相似且结构多样的误述,要求误述在措辞达到一定相似程度后结构差别越大越好。定义误述的质量评分为措辞相似度的立方与句子结构差异的乘积,公式表达为:
其中,q为质量评分,a为措辞相似度,d为结构差异。以“再不疯狂我们就老了”和“你再不老我们就疯狂了”为例,它们的措辞相似度为0.9,结构差异为5,因此本例中质量评分为。
对于“再不疯狂我们就老了”和“再不疯狂他们就老了”这两句,它们的措辞相似度是,结构差异为1,质量评分为/>。因此对于句子“再不疯狂我们就老了”,误述“你再不老我们就疯狂了”比“再不疯狂他们就老了”质量更好。
(5)将经过筛选后的误述输出为所述输入句子的语义不同措辞相似句子。
对生成的误述进行过滤并根据质量评分排序;设置生成误述的数量阈值N,其中,生成误述的数量阈值N的取值范围是(0,+∞),选取质量评分最高的N个误述作为最终结果输出;当生成的误述不足N个时,则将所有生成的误述作为最终结果输出。本实施例中生成误述的例子如下表1所示:
表1 误述生成例子
输入 | 生成误述 |
再不疯狂我们就老了 | 你再不老我们就疯狂了再不疯狂我就老了再不疯狂他们就老了再不疯狂它们就老了再不疯狂你们就老了再不疯狂她们就老了再不疯狂我们就年轻了再不理智我们就老了再不冷静我们就老了 |
C市有多少人口 | E市有多少人口D市有多少人口有多少C市人口 |
100米短跑世界记录是多少 | 200米短跑世界纪录是多少400米短跑世界记录是多少 |
与前述一种语义不同措辞相似的句子生成方法的实施例相对应,如图6所示,本发明实施例还提供了一种语义不同措辞相似的句子生成装置,包括:
获取模块,用于获取输入句子。
关键词替换模块,用于选择输入句子中的关键词进行替换生成误述,关键词替换包括反义词替换、代词替换、人名替换、机构名替换、地名替换、职位名替换和数词替换。
关键词替换模块包括:
反义词替换子模块,用于对所述输入句子进行词性标注,并识别出所述输入句子中的形容词和方位词,再调用反义词查询接口查询出所述输入句子中形容词和方位词的反义词进行替换;
代词替换子模块,用于对所述输入句子进行词性标注,并识别出所述输入句子中的代词,再从代词库中选取其他的代词进行替换;
人名替换子模块,用于对所述输入句子进行命名实体识别,找出句子中的人名;若人名是以姓氏开始的,则从姓氏库中随机选取一个其他的姓氏进行替换;
机构名替换子模块,用于对所述输入句子进行命名实体识别,找出句子中的机构名词,再从机构名库中选取与该机构名不同但编辑距离最小的机构名进行替换;
地名替换子模块,用于对所述输入句子进行命名实体识别,找出句子中的地名词,再从地名库中选取与该地名不同但编辑距离最小的地名进行替换;
职位名替换子模块,用于对所述输入句子进行分词,判断该词是否在职位名库中;若在职位名词库中,则选取与该职位名不同但编辑距离最小的职位名进行替换;
数词替换子模块,用于通过正则表达式查找出所述输入句子的数字,从2,3,4三个数中随机选取一个数乘以原数字得到的结果进行替换。
模型生成模块,用于利用生成模型生成误述;首先利用BART模型训练生成模型,训练时,随机掩盖所述输入句子中的词,并在所述输入句子前后添加掩码标记得到输入句子,将输入句子输入模型,训练模型生成原输入句子;然后对输入句子进行分词,随机选择若干词丢弃;将剩下的词打乱顺序之后用掩码拼接起来,并在拼接成的字符串前后添加掩码标记得到输入字符串,将输入字符串转为整数列表输入模型,最后采用集束搜索算法生成多条误述;
筛选模块,用于基于预设的筛选条件对新句子进行筛选,包括对误述进行通顺判断、语义不同判断、措辞相似判断和质量评分。
筛选模块包括:
通顺判断模块,用于判断生成的句子是否通顺;
语义不同判断模块,用于判断一对句子的语义是否相同;
措辞相似度判断模块,用于判断生成的误述与原句是否措辞相似,并给出措辞的相似度;
质量评分模块,用于评估生成误述的质量。
与前述一种语义不同措辞相似的句子生成方法的实施例相对应,本申请实施例还提供一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述的语义不同措辞相似的句子生成方法。如图7所示,为本申请实施例提供的语义不同措辞相似的句子生成方法所在任意具备数据处理能力的设备的一种硬件结构图,除了图7所示的处理器、内存、DMA控制器、磁盘、以及非易失内存之外,实施例中装置所在的任意具备数据处理能力的设备通常根据该任意具备数据处理能力的设备的实际功能,还可以包括其他硬件,对此不再赘述。
与前述一种语义不同措辞相似的句子生成方法的实施例相对应,本发明实施例还提供一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时,实现上述实施例中的语义不同措辞相似的句子生成方法。
所述计算机可读存储介质可以是前述任一实施例所述的任意具备数据处理能力的设备的内部存储单元,例如硬盘或内存。所述计算机可读存储介质也可以是任意具备数据处理能力的设备,例如所述设备上配备的插接式硬盘、智能存储卡(Smart Media Card,SMC)、SD卡、闪存卡(Flash Card)等。进一步的,所述计算机可读存储介质还可以既包括任意具备数据处理能力的设备的内部存储单元也包括外部存储设备。所述计算机可读存储介质用于存储所述计算机程序以及所述任意具备数据处理能力的设备所需的其他程序和数据,还可以用于暂时地存储已经输出或者将要输出的数据。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (9)
1.一种语义不同措辞相似的句子生成方法,其特征在于,所述方法包括以下步骤:
(1)获取输入句子;
(2)将与输入句子语义不同措辞相似的句子称为误述,通过以下两种方式生成误述:
(2.1)对所述输入句子中的关键词通过反义词替换、代词替换、人名替换、机构名替换、地名替换、职位名替换和数词替换生成误述;
(2.2)利用生成模型生成误述:首先利用BART模型训练生成模型,训练时,随机掩盖所述输入句子中的词,并在所述输入句子前后添加掩码标记得到输入句子,将输入句子输入模型,训练模型生成原输入句子;然后对输入句子进行分词,随机选择若干词丢弃;将剩下的词打乱顺序之后用掩码拼接起来,并在拼接成的字符串前后添加掩码标记得到输入字符串,将输入字符串转为整数列表输入模型,最后采用集束搜索算法生成多条误述;
(3)基于预设的筛选条件对步骤(2.1)或步骤(2.2)生成的误述进行筛选;
(4)将经过筛选后的误述输出。
2.根据权利要求1所述的语义不同措辞相似的句子生成方法,其特征在于,所述步骤(2.1)包括以下子步骤:
(2.1.1)反义词替换:对所述输入句子进行词性标注,并识别出所述输入句子中的形容词和方位词,再调用反义词查询接口查询出所述输入句子中形容词和方位词的反义词进行替换;
(2.1.2)代词替换:对所述输入句子进行词性标注,并识别出所述输入句子中的代词,再从代词库中选取其他的代词进行替换;
(2.1.3)人名替换:对所述输入句子进行命名实体识别,找出句子中的人名;若人名是以姓氏开始的,则从姓氏库中随机选取一个其他的姓氏进行替换;
(2.1.4)机构名替换:对所述输入句子进行命名实体识别,找出句子中的机构名词,再从机构名库中选取与该机构名不同但编辑距离最小的机构名进行替换;
(2.1.5)地名替换:对所述输入句子进行命名实体识别,找出句子中的地名词,再从地名库中选取与该地名不同但编辑距离最小的地名进行替换;
(2.1.6)职位名替换:对所述输入句子进行分词,判断该词是否在职位名库中;若在职位名词库中,则选取与该职位名不同但编辑距离最小的职位名进行替换;
(2.1.7)数词替换:通过正则表达式查找出所述输入句子的数字,从2、3、4三个数中随机选取一个数乘以原数字得到的结果进行替换。
3.根据权利要求2所述的语义不同措辞相似的句子生成方法,其特征在于,所述步骤(3)包括以下子步骤:
(3.1)判断生成的新句子是否通顺;若不通顺,则输出错误结果;
(3.2)判断生成的新句子和所述输入句子的语义是否相同;若相同,则输出错误结果;
(3.3)判断生成的新句子与所述输入句子是否措辞相似并给出措辞的相似度,设定措辞相似度阈值;若生成的句子与所述输入句子的措辞相似度小于阈值,则生成的句子不能作为所述输入句子的误述,并输出错误结果;其中,所述措辞相似度为两个句子字符频率字典的共同字符数除以两个句子长度的最大值,所述句子字符频率字典是由句子中出现的字为键、字出现的次数为对应值所组成的字典,两个句子字符频率字典的共同字符数为两个字典都包含的键所对应值的最小值的加和;
(3.4)对生成的句子进行依存分析得到分析树来表示句子的结构,用分析树间的考虑边差异的树编辑距离度量句子结构的差异,进行质量评分,根据筛选原则筛选出质量好的误述。
4.根据权利要求3所述的语义不同措辞相似的句子生成方法,其特征在于,所述步骤(3.4)中,所述筛选原则为:措辞与所述输入句子越相似,而结构与所述输入句子越不相似,则该误述的质量越好。
5.一种语义不同措辞相似的句子生成装置,其特征在于,包括:
获取模块,用于获取输入句子;
关键词替换模块,用于选择输入句子中的关键词进行替换生成误述,关键词替换包括反义词替换、代词替换、人名替换、机构名替换、地名替换、职位名替换和数词替换;所述误述为与输入句子语义不同措辞相似的句子;
模型生成模块,用于利用生成模型生成误述;首先利用BART模型训练生成模型,训练时,随机掩盖所述输入句子中的词,并在所述输入句子前后添加掩码标记得到输入句子,将输入句子输入模型,训练模型生成原输入句子;然后对输入句子进行分词,随机选择若干词丢弃;将剩下的词打乱顺序之后用掩码拼接起来,并在拼接成的字符串前后添加掩码标记得到输入字符串,将输入字符串转为整数列表输入模型,最后采用集束搜索算法生成多条误述;
筛选模块,用于基于预设的筛选条件对新句子进行筛选,包括对误述进行通顺判断、语义不同判断、措辞相似判断和质量评分。
6.根据权利要求5所述的语义不同措辞相似的句子生成装置,其特征在于,所述关键词替换模块包括:
反义词替换子模块,用于对所述输入句子进行词性标注,并识别出所述输入句子中的形容词和方位词,再调用反义词查询接口查询出所述输入句子中形容词和方位词的反义词进行替换;
代词替换子模块,用于对所述输入句子进行词性标注,并识别出所述输入句子中的代词,再从代词库中选取其他的代词进行替换;
人名替换子模块,用于对所述输入句子进行命名实体识别,找出句子中的人名;若人名是以姓氏开始的,则从姓氏库中随机选取一个其他的姓氏进行替换;
机构名替换子模块,用于对所述输入句子进行命名实体识别,找出句子中的机构名词,再从机构名库中选取与该机构名不同但编辑距离最小的机构名进行替换;
地名替换子模块,用于对所述输入句子进行命名实体识别,找出句子中的地名词,再从地名库中选取与该地名不同但编辑距离最小的地名进行替换;
职位名替换子模块,用于对所述输入句子进行分词,判断该词是否在职位名库中;若在职位名词库中,则选取与该职位名不同但编辑距离最小的职位名进行替换;
数词替换子模块,用于通过正则表达式查找出所述输入句子的数字,从2、3、4三个数中随机选取一个数乘以原数字得到的结果进行替换。
7.根据权利要求5所述的语义不同措辞相似的句子生成装置,其特征在于,所述筛选模块包括:
通顺判断模块,用于判断生成的句子是否通顺;
语义不同判断模块,用于判断一对句子的语义是否相同;
措辞相似度判断模块,用于判断生成的误述与原句是否措辞相似,并给出措辞的相似度;
质量评分模块,用于评估生成误述的质量。
8.一种电子设备,包括存储器和处理器,其特征在于,所述存储器与所述处理器耦接;其中,所述存储器用于存储程序数据,所述处理器用于执行所述程序数据以实现如权利要求1-4任一项所述的语义不同措辞相似的句子生成方法。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-4任一项所述的语义不同措辞相似的句子生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310501928.7A CN116227466B (zh) | 2023-05-06 | 2023-05-06 | 一种语义不同措辞相似的句子生成方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310501928.7A CN116227466B (zh) | 2023-05-06 | 2023-05-06 | 一种语义不同措辞相似的句子生成方法、装置及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116227466A CN116227466A (zh) | 2023-06-06 |
CN116227466B true CN116227466B (zh) | 2023-08-18 |
Family
ID=86569847
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310501928.7A Active CN116227466B (zh) | 2023-05-06 | 2023-05-06 | 一种语义不同措辞相似的句子生成方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116227466B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116821319B (zh) * | 2023-08-30 | 2023-10-27 | 环球数科集团有限公司 | 一种基于aigc的快筛式处理系统 |
CN117079081B (zh) * | 2023-10-16 | 2024-01-26 | 山东海博科技信息系统股份有限公司 | 一种多模态视频文本处理模型训练方法及系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105930452A (zh) * | 2016-04-21 | 2016-09-07 | 北京紫平方信息技术股份有限公司 | 一种识别自然语言的智能应答方法 |
CN110309289A (zh) * | 2019-08-23 | 2019-10-08 | 深圳市优必选科技股份有限公司 | 一种句子生成方法、句子生成装置及智能设备 |
CN110674260A (zh) * | 2019-09-27 | 2020-01-10 | 北京百度网讯科技有限公司 | 语义相似模型的训练方法、装置、电子设备和存储介质 |
CN114722834A (zh) * | 2022-04-25 | 2022-07-08 | 中国平安人寿保险股份有限公司 | 基于对比学习的语义识别模型训练方法、设备和介质 |
CN114818687A (zh) * | 2022-05-12 | 2022-07-29 | 扬州大学 | 一种基于句子复述模型的英文词语替换方法 |
CN115309879A (zh) * | 2022-08-05 | 2022-11-08 | 中国石油大学(华东) | 一种基于bart的多任务语义解析模型 |
CN115935957A (zh) * | 2022-12-29 | 2023-04-07 | 广东南方网络信息科技有限公司 | 一种基于句法分析的句子语法纠错方法及系统 |
-
2023
- 2023-05-06 CN CN202310501928.7A patent/CN116227466B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105930452A (zh) * | 2016-04-21 | 2016-09-07 | 北京紫平方信息技术股份有限公司 | 一种识别自然语言的智能应答方法 |
CN110309289A (zh) * | 2019-08-23 | 2019-10-08 | 深圳市优必选科技股份有限公司 | 一种句子生成方法、句子生成装置及智能设备 |
CN110674260A (zh) * | 2019-09-27 | 2020-01-10 | 北京百度网讯科技有限公司 | 语义相似模型的训练方法、装置、电子设备和存储介质 |
CN114722834A (zh) * | 2022-04-25 | 2022-07-08 | 中国平安人寿保险股份有限公司 | 基于对比学习的语义识别模型训练方法、设备和介质 |
CN114818687A (zh) * | 2022-05-12 | 2022-07-29 | 扬州大学 | 一种基于句子复述模型的英文词语替换方法 |
CN115309879A (zh) * | 2022-08-05 | 2022-11-08 | 中国石油大学(华东) | 一种基于bart的多任务语义解析模型 |
CN115935957A (zh) * | 2022-12-29 | 2023-04-07 | 广东南方网络信息科技有限公司 | 一种基于句法分析的句子语法纠错方法及系统 |
Non-Patent Citations (1)
Title |
---|
史童月 等.基于 Transformer 的自然语言处理预训练语言模型概述.《信息与电脑》.2022,第34卷(第10期),第52-56页. * |
Also Published As
Publication number | Publication date |
---|---|
CN116227466A (zh) | 2023-06-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110489538B (zh) | 基于人工智能的语句应答方法、装置及电子设备 | |
CN110442760B (zh) | 一种问答检索系统的同义词挖掘方法及装置 | |
CN116227466B (zh) | 一种语义不同措辞相似的句子生成方法、装置及设备 | |
Sunilkumar et al. | A survey on semantic similarity | |
CN108681574B (zh) | 一种基于文本摘要的非事实类问答答案选择方法及系统 | |
Contreras et al. | Automated essay scoring with ontology based on text mining and nltk tools | |
CN106997382A (zh) | 基于大数据的创新创意标签自动标注方法及系统 | |
CN111310463B (zh) | 试题难度预估方法、装置、电子设备和存储介质 | |
CN111190997A (zh) | 一种使用神经网络和机器学习排序算法的问答系统实现方法 | |
JP6729095B2 (ja) | 情報処理装置及びプログラム | |
JP5846959B2 (ja) | 基本語彙抽出装置、及びプログラム | |
KR100481580B1 (ko) | 문서에서 이벤트 문장을 추출하는 장치 및 그 방법 | |
CN113590810A (zh) | 摘要生成模型训练方法、摘要生成方法、装置及电子设备 | |
CN112434211A (zh) | 一种数据处理方法、装置、存储介质及设备 | |
CN112069312A (zh) | 一种基于实体识别的文本分类方法及电子装置 | |
Mezghanni et al. | CrimAr: A criminal Arabic ontology for a benchmark based evaluation | |
CN115757743A (zh) | 文档的检索词匹配方法及电子设备 | |
CN105786971A (zh) | 一种面向国际汉语教学的语法点识别方法 | |
CN111881695A (zh) | 一种审计知识的检索方法及装置 | |
JP3787310B2 (ja) | キーワード決定方法、装置、プログラム、および記録媒体 | |
CN112650838A (zh) | 一种基于历史案件大数据的智能问答方法及系统 | |
JP4592556B2 (ja) | 文書検索装置、文書検索方法および文書検索プログラム | |
CN118551024B (zh) | 问题回答方法、装置、存储介质及网关系统 | |
CN111414459A (zh) | 人物关系获取方法、装置、电子设备及存储介质 | |
CN110008307B (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 |