CN114742049B - 不完整语句的重写及模型的训练方法、装置和相关设备 - Google Patents
不完整语句的重写及模型的训练方法、装置和相关设备 Download PDFInfo
- Publication number
- CN114742049B CN114742049B CN202210375929.7A CN202210375929A CN114742049B CN 114742049 B CN114742049 B CN 114742049B CN 202210375929 A CN202210375929 A CN 202210375929A CN 114742049 B CN114742049 B CN 114742049B
- Authority
- CN
- China
- Prior art keywords
- word
- matrix
- model
- editing
- segmentation
- 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
- 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/30—Semantic analysis
-
- 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
-
- 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)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Machine Translation (AREA)
Abstract
本申请涉及人工智能技术,提出一种不完整语句的重写及模型的训练方法、装置和相关设备,该方法包括:将多轮对话文本分词后输入至已训练的语句重写模型,利用已训练的语句重写模型将各个分词转换为向量表示;基于已训练的语句重写模型的自注意力机制,根据向量表示捕捉各个分词之间的相关性,得到多个目标自注意力矩阵;对目标自注意力矩阵进行调整得到对应的目标分词关系矩阵;基于已训练的语句重写模型的语义分割机制,根据所有目标分词关系矩阵得到目标词编辑矩阵;基于目标词编辑矩阵,对不完整语句执行对应编辑类型的编辑操作得到重写语句。本申请利用自注意力矩阵简化且解决了不完整话语重写中的省略补全和指代消解问题。
Description
技术领域
本申请涉及人工智能技术领域,尤其涉及一种不完整语句的重写及模型的训练方法、装置和相关设备。
背景技术
近年来,因为不完整语句的重写在对话机器人领域巨大的潜在商业价值,吸引了学术界和工业界越来越多的关注。不完整话语重写的目标在于解决多轮对话中的指代消解和省略补全问题,让句子在脱离上下文语境时也可以完整的表达含义。现有技术中的方法通常将不完整语句重写任务转换为机器翻译任务或文本生成任务,并采用具有复制机制的生成模型,且需要一些额外的辅助技巧如加入词性标记、复制机制、两段式编辑等。整体的建模过程比较复杂,同时模型的开销较大,不利于工业级的应用落地。
发明内容
为了解决现有技术中不完整语句重写过程中建模复杂计算开销大的技术问题。本申请提供了一种不完整语句的重写及模型的训练方法、装置和相关设备,其主要目的在于简化不完整语句的重写。
为实现上述目的,本申请提供了一种不完整语句的重写方法,该方法包括:
将多轮对话文本分词后输入至已训练的语句重写模型,利用已训练的语句重写模型将各个分词转换为对应的向量表示;
基于已训练的语句重写模型的自注意力机制,根据向量表示捕捉各个分词之间的相关性,得到自注意力层对应的多个目标自注意力矩阵;
对目标自注意力矩阵进行调整,得到对应的目标分词关系矩阵,其中,目标分词关系矩阵表征多轮对话文本中不完整语句所包含的每个第一分词与多轮对话文本中每个第二分词的相关性,第二分词为多轮对话文本所包含的所有分词中除第一分词之外的分词;
基于已训练的语句重写模型的语义分割机制,根据所有目标分词关系矩阵得到目标词编辑矩阵,其中,目标词编辑矩阵用于表征每个第一分词与每个第二分词对应的编辑类型;
基于目标词编辑矩阵,对不完整语句执行对应编辑类型的编辑操作,得到重写语句。
为实现上述目的,本申请提供了一种语句重写模型的训练方法,该方法包括:
获取训练集,训练集包括多个训练样本,每个训练样本包括对话文本样本,对话文本样本包括对应的不完整语句样本,训练样本的样本标签为不完整语句样本中的第三分词与对应的对话文本样本的第四分词之间的编辑类型关系,第四分词为对话文本样本中除第三分词之外的分词;
利用训练集对预训练的语句重写模型所包含的Bert模型和语义分割模型进行训练,根据输出结果及对应的样本标签计算损失函数和梯度,根据梯度更新Bert模型和语义分割模型的模型参数,直到达到收敛条件,其中,语义分割模型连接于Bert模型之后。
此外,为实现上述目的,本申请还提供了一种不完整语句的重写装置,该装置包括:
向量表示模块,用于将多轮对话文本分词后输入至已训练的语句重写模型,利用已训练的语句重写模型将各个分词转换为对应的向量表示;
第一计算模块,用于基于已训练的语句重写模型的自注意力机制,根据向量表示捕捉各个分词之间的相关性,得到自注意力层对应的多个目标自注意力矩阵;
调整模块,用于对目标自注意力矩阵进行调整,得到对应的目标分词关系矩阵,其中,目标分词关系矩阵表征多轮对话文本中不完整语句所包含的每个第一分词与多轮对话文本中每个第二分词的相关性,第二分词为多轮对话文本所包含的所有分词中除第一分词之外的分词;
语义分割模块,用于基于已训练的语句重写模型的语义分割机制,根据所有目标分词关系矩阵得到目标词编辑矩阵,其中,目标词编辑矩阵用于表征每个第一分词与每个第二分词对应的编辑类型;
语句重写模块,用于基于目标词编辑矩阵,对不完整语句执行对应编辑类型的编辑操作,得到重写语句。
为实现上述目的,本申请还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机可读指令,处理器执行计算机可读指令时执行如前面任一项的不完整语句的重写方法的步骤,和/或,执行如前面任一项的语句重写模型的训练方法的步骤。
为实现上述目的,本申请还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机可读指令,计算机可读指令被处理器执行时,使得处理器执行如前面任一项的不完整语句的重写方法的步骤,和/或,执行如前面任一项的语句重写模型的训练方法的步骤。
本申请提出的不完整语句的重写及模型的训练方法、装置和相关设备,通过自注意力机制获取词与词之间的相关性得到自注意力矩阵,对自注意力矩阵进行调整得到作为语义分割输入的特征图矩阵,通过语义分割机制建立不完整语句中每个第一分词与其他第二分词之间的编辑类型的映射关系进而得到目标词编辑矩阵。再通过目标词编辑矩阵中的编辑类型来对不完整语句执行编辑操作进而得到重写后的重写语句。
本申请将不完整语句重写任务转换为语义分割任务,引入了基于词的编辑操作,并将问题重新定型为词编辑矩阵的预测。这种方法能够捕获本地和全局信息,在多个公共数据集上实现了最优性能。且,本实施例巧妙地使用Bert模型中自注意力机制生成的自注意力矩阵来获取特征图矩阵作为语义分割的输入,简化了现有技术中对特征图矩阵的复杂计算,整个过程自然而简单。同时巧妙的利用了计算机视觉中的语义分割卷积网络作为分类器,可以并行的把上下文话语和不完整话语之间token2token(词与词)之间的相关性做一个到编辑类型的映射,巧妙地利用了Transformer中自注意力矩阵作为特征解决了不完整话语重写中的省略补全和指代消解问题,且极大地提高了模型的推理速度并使得在工业界进行落地成为可能。
附图说明
图1为本申请一实施例中不完整语句的重写方法的流程示意图;
图2为本申请一实施例中语句重写模型的结构框图;
图3为本申请一实施例中不完整语句的重写装置的结构框图;
图4为本申请一实施例中计算机设备的内部结构框图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的不完整语句的重写方法,可应用在服务器或终端设备等计算机设备上,例如,个人电脑、笔记本电脑等。
图1为本申请一实施例中不完整语句的重写方法的流程示意图。参考图1,该不完整语句的重写包括以下步骤S100-S500。
S100:将多轮对话文本分词后输入至已训练的语句重写模型,利用已训练的语句重写模型将各个分词转换为对应的向量表示。
具体地,在多轮对话中,因为用户在句子间倾向于使用不完整的表达,通常会忽略对话上下文中出现的实体或概念,即共指消解。
不完整话语重写(Incomplete Utterance Rewriting,IUR,也称为上下文重写)。IUR的目的是将不完整的话语改写成在语义上等效但无需上下文即可的话语。
多轮对话文本包括了至少一段具有先后顺序的语句,每段语句包括了至少一个分词。将多轮对话文本中所有语句按照顺序拼接后进行分词。在中文情况下一个分词为一个汉字或一个符号(例如标点符号),在英文情况下一个分词为一个单词或一个符号(例如标点符号)。
多轮对话文本被分词后所有分词都会保留,相同分词由于位置不同,不会被整合为一个分词。所有分词组成输入序列被输入至已训练的语句重写模型。
embedding将大型稀疏向量转换为保留语义关系的低维空间。Embedding字面理解是“嵌入”,实质是一种映射,从语义空间到向量空间的映射,同时尽可能在向量空间保持原样本在语义空间的关系。
本实施例已训练的语句重写模型会对每个分词进行词嵌入得到每个分词的词向量(word embedding),一个分词对应一个token,word embedding即token embedding。为了让每个单词的位置信息也得到体现,还需要对每一个分词的位置也进行编码,即对每个分词进行位置信息编码,得到每个分词的位置向量(position embedding)。为了让输入携带句子的分段信息,对于每个分词是属于哪个句子,我们也有对应编码得到每个分词对应的分段向量(segment embedding)。将同一个分词的词向量(word embedding)、位置向量(position embedding)和segment embedding进行融合或叠加得到该分词的向量表示,向量表示携带了语义单元的语义信息。所有分词对应的向量表示逐行排列组织成了一个输入矩阵或输入序列。
对于token embeddings使用WordPiece嵌入;而positional embeddings用来表示句子中单词的位置信息;segement embeddings则是对于句子整体的,不同的句子有不同的项。
S200:基于已训练的语句重写模型的自注意力机制,根据向量表示捕捉各个分词之间的相关性,得到自注意力层对应的多个目标自注意力矩阵。
具体地,已训练的语句重写模型包含了Bert模型,Bert(Bidirectional EncoderRepresentations from Transformer)模型是一种双向的预训练语言模型,是基于Transformer的双向编码器表征,Bert模型主要采用的是Transformer的编码模块(Encoder模块),Bert模型包括多层transformer模块层,而每层transformer模块层包括transformer encoder(transformer编码模块)。
由于Transformers是NLP中一种重要的self-attention构架。因此,Bert模型包括自注意力层(self-attention layer)或多头注意力层(multi-head attention layer)。上一个transformer模块层的输出是下一个transformer模块层的输入。
Bert的输入是token embeddings、position embeddings和segmentationembeddings的叠加。
注意力本质就是一个元素对另一个元素的相关性,类似于权重属性,如果我们考虑一个句子中的某个词对所有词(包括它自身)的语义相关性,我们会得到不同的权重值。某个分词对于自身的相关性应该是最强的,因为每个分词就代表了它本身的含义。Bert模型能够通过学习,捕捉到不同的词语之间的注意力即相关性,分词与分词之间的相关性具体是指某个位置编码的分词对所有分词的关照程度或表示程度。
例如,“今天天气怎么样,挺好的”,计算分词“今”与所有分词“今”、“天”、“天”、“气”、“怎”、“么”、“样”、“挺”、“好”、“的”中每个分词的相关性。计算每个分词与所有分词的相关性,得到每个分词对应的相关性向量,所有分词的相关性向量逐行排列组成了多头自注意力层中对应自注意力头的目标自注意力矩阵。其中,多头自注意力层中每个自注意力头都对应一个目标自注意力矩阵。
由于Bert模型包括多层transformer模块层,每层transformer模块层都包含有self-attention layer,每层都可以生成自注意力矩阵,因此,可以将所有层产生的自注意力矩阵作为目标自注意力矩阵,也可以取最后一层transformer模块层的自注意力矩阵作为目标自注意力矩阵,还可以根据实际配置情况选取一层或多层的自注意力矩阵作为目标自注意力矩阵,具体可以根据实际情况设置。
S300:对目标自注意力矩阵进行调整,得到对应的目标分词关系矩阵,其中,目标分词关系矩阵表征多轮对话文本中不完整语句所包含的每个第一分词与多轮对话文本中每个第二分词的相关性,第二分词为多轮对话文本所包含的所有分词中除第一分词之外的分词。
具体地,目标自注意力矩阵包含了任意一个分词对所有分词的相关性,实质我们需要得到不完整语句所包含的第一分词与其他第二分词之间的相关性,因此,需要将每个目标自注意力矩阵中其他冗余的相关性数据剔除,并将保留下的相关性数据进行重排,得到格式统一的目标分词关系矩阵。其中,每个目标自注意力矩阵对应一个目标分词关系矩阵,目标分词关系矩阵表征了每个第一分词与所有第二分词的相关性,目标分词关系矩阵相当于语义分割输入的特征图矩阵。
例如,多轮对话文本包括“今天天气怎么样”、“挺好的”,则“挺好的”为这段多轮对话文本的不完整语句,“挺”、“好”、“的”这三个分词为第一分词,“今”、“天”、“天”、“气”、“怎”、“么”、“样”为第二分词。
S400:基于已训练的语句重写模型的语义分割机制,根据所有目标分词关系矩阵得到目标词编辑矩阵,其中,目标词编辑矩阵用于表征每个第一分词与每个第二分词对应的编辑类型。
具体地,大多数情况下,共指和省略都可以不通过引入原句子以外的词解决。也就是说,重写句子的词几乎来自上下文或本句。重写的句子想象为对原句的一系列编辑操作(即替换和插入)后的结果。因此,本实施例通过语义分割来获取词编辑矩阵来表征不完整语句中每个第一分词与每个第二分词之间的编辑类型。
已训练的语句重写模型还包含了语义分割模型,语义分割模型可以实现对输入图像中每个像素的分类进行预测。本申请将语义分割模型应用于不完整话语重写,用于将所有目标分词关系矩阵类比为多通道图片作为语义分割模型的多通道输入,利用语义分割模型的语义分割机制对目标分词关系矩阵中每个单元格对应的编辑类型进行预测,得到每个单元格对应的最终确定的编辑类型,所有单元格的最终确定的编辑类型组成了目标词编辑矩阵,目标词编辑矩阵是token级编辑矩阵,区别于像素级的编辑矩阵。
例如,多轮对话文本包括“今天天气怎么样”、“挺好的”,则这段多轮对话文本对应的目标词编辑矩阵包括了“挺”、“好”、“的”这三个第一分词中每个第一分词与“今”、“天”、“天”、“气”、“怎”、“么”、“样”中所有第二分词对应的最终确定的编辑类型。其中,“挺”这个第一分词与“今”、“天”、“天”、“气”这四个第二分词之间的最终确定的编辑类型为插入,其余第一分词与第二分词之间的最终确定的编辑类型均为空。
S500:基于目标词编辑矩阵,对不完整语句执行对应编辑类型的编辑操作,得到重写语句。
具体地,根据目标词编辑矩阵确定不完整话语中每个第一分词与所有第二分词所对应的编辑类型,若编辑类型为插入,则在不完整话语中的第一分词前插入与插入这个编辑类型对应的第二分词,若编辑操作类型为替换,则在不完整话语中使用与替换这个编辑类型对应的第二分词替换对应的第一分词,若编辑操作类型为空,则不执行编辑操作。
例如,上述举例中,在不完整话语“挺好的”中,根据编辑操作将“今”、“天”、“天”、“气”这四个第二分词插入到“挺”这个第一分词之前,得到重新语句“今天天气挺好的”。相当于解决了省略补全的问题。
再例如:一轮对话:北京今天天气怎么样?阴天。为什么总是这样?其中,不完整语句为“为什么总是这样”和“阴天”。对“阴天”这个句子进行重写得到重写语句“北京今天天气阴天”,对“为什么总是这样”进行重写得到重写语句“北京天气为什么总是这样”。
与直接重写句子的传统方法相比,本实施例引入了编辑操作以降低生成的难度;这些编辑是同时预测的,因此比传统的逐字解码模型具有更快的推理速度;可以轻松地从语义分割领域借鉴经典的模型结构,迁移到不完整语句的重写任务(IUR)中。通过不完整话语重写(IUR)可以使下游对话建模更加精准。
本实施例通过自注意力机制获取词与词之间的相关性得到自注意力矩阵,对自注意力矩阵进行调整得到作为语义分割输入的特征图矩阵,通过语义分割机制建立不完整语句中每个第一分词与其他第二分词之间的编辑类型的映射关系进而得到目标词编辑矩阵。再通过目标词编辑矩阵中的编辑类型来对不完整语句执行编辑操作进而得到重写后的重写语句。
本实施例将不完整语句重写任务转换为语义分割任务,引入了基于词的编辑操作,并将问题重新定型为词编辑矩阵的预测。这种方法能够捕获本地和全局信息,在多个公共数据集上实现了最优性能。且,本实施例巧妙地使用Bert模型中自注意力机制生成的自注意力矩阵来获取特征图矩阵作为语义分割的输入,简化了现有技术中对特征图矩阵的复杂计算,整个过程自然而简单。同时巧妙的利用了计算机视觉中的语义分割卷积网络作为分类器,可以并行的把上下文话语和不完整话语之间token2token(词与词)之间的相关性做一个到编辑类型的映射,巧妙地利用了Transformer中自注意力矩阵作为特征,结合计算机视觉中的语义分割卷积网络进一步抽取信息,利用分类的方式解决了不完整话语重写中的省略补全和指代消解问题,极大地简化了模型,提高了模型的推理速度,提升了模型的速度和精度,并使得在工业界进行落地成为可能。
在一个实施例中,步骤S400具体包括:
将所有目标分词关系矩阵作为多通道输入输入至已训练的语句重写模型所包含的语义分割模型;
利用语义分割模型对所有目标分词关系矩阵进行下采样和上采样,以对每个分类通道所对应的通道矩阵中每个单元格的编辑类型进行预测得到分类概率,将分类概率最高的编辑类型作为对应单元格最终确定的编辑类型,将所有单元格最终确定的编辑类型输出为目标词编辑矩阵,其中编辑类型包括插入、替换和空。
具体地,已训练的语句重写模型还包括语义分割模型,这些编辑操作是在上下文话语和原句子之间进行的,类似于图像中的语义分割任务。把词与词之间的相关性视作图像,语义分割模型将预测编辑每个单词对的类型作为掩码,其中,单词对包括一个第一分词和一个第二分词。基于上述思想,本实施例将不完整语句的重写任务视为一个为语义分割任务。
本实施例中所有目标分词关系矩阵作为多通道输入,类似于图像作为RGB三通道输入,使用语义分割模型的U-Net(U型网络)实现了对多通道输入的下采样和上采样。U-Net将低级特征集成到高级特征,并作为分类器将分词关系矩阵映射到相应的编辑类型。U-Net的下采样块可以扩大目标分词关系矩阵中每一个单元格的感受野,并融合从编码器学习到的全局信息。上采样块有助于将融合信息分发到每个单元格。同时控制U-Net的输出与输入矩阵的宽度和高度相同(即,目标词编辑矩阵与目标分词关系矩阵尺寸相同),且输出矩阵的通道数量与编辑操作数量(替换、插入和无)对齐。最后得到的U-Net输出的每个通道矩阵的每个单元格就是相应编辑类型的分数。同一个单元格取得分最高的编辑类型作为该单元格最后的编辑类型,所有单元格最终的最终确定的编辑类型组成词级编辑矩阵。
其中,编辑类型中替换(Substitute):表示将不完整语句中的第一分词替换为多轮对话文本中除不完整语句以外的上下文语句中相应的第二分词;插入(Insert):将相应的第二分词插入不完整语句中对应的第一分词之前;空(None)表示不进行任何编辑操作。
这个目标词编辑矩阵的每个单元格代表上下文话语和不完整话语之间的token2token编辑类型。
多轮对话文本包括不完整语句及对应的上下文文本。
不完整语句的上下文文本:C=(C1,C2,C3,C4,C5,C6,C7,C8,C9,C10...CM),其中,C为M长度的单词序列,C1-CM为上下文文本所包含的第二分词。
不完整语句:X=(x1,x2,x3,x4,x5,x6,x7,x8...xN),其中,x1-xN为不完整语句所包含的第一分词,长度为N。
目标词编辑矩阵的示意图具体参考表1所示:
表1
参考表1,为了区别每个单元格所对应的编辑类型,使用数值1和2及空值来分别表示替换、插入和空。实际上词编辑矩阵中单元格区分不同编辑类型的方式不以本实施例为限。第一分词x1、x4-x6、x8-xN对应C1-CM中每个第二分词的编辑类型均为空(数值为其他);第一分词x2和x3对应C1-CM中第二分词C2-C4的编辑类型均为替换(数值为1),对应其他第二分词的编辑类型为空;第一分词x7对应C1-CM中第二分词C6、C7、C9和C10的编辑类型均为插入(数值为2),对应其他第二分词的编辑类型为空。
最后我们可以使用简单的编辑算法基于编辑类型进行相应操作来生成最终的X的完整话语X*:X*=(x1,C2,C3,C4,x4,x5,x6,C6,C7,C9,C10,x7,x8,...xN)。
另外,为了能够实现在X的最后一个第一分词后面插入第二分词,在词编辑矩阵中附加了一个特殊的单词[E],以使插入操作也可以在X之后进行。
本实施例具体实现了在多回合对话中,通过使用语义分段获取词编辑矩阵,并根据词编辑矩阵、给定的上下文话语和不完整话语,实现了使用上下文信息重写不完整语句得到重写语句的目的。
在一个实施例中,步骤S300具体包括:
从目标自注意力矩阵中提取出表征第一分词与第二分词相关性的子矩阵,对所有子矩阵进行调整,得到对应的目标分词关系矩阵。
具体地,自注意力矩阵包含了每个分词与所有分词之间的相关性数据,但是实质上我们只需要第一分词与第二分词之间的相关性数据,为了减少计算开销且避免其他无关数据的干扰,需要从自注意力矩阵中提取不完整语句与其上下文语句相关联的相关性数据。
子矩阵包括了每个第一分词对所有第二分词的相关性的子矩阵和每个第二分词对所有第一分词的相关性的子矩阵。
对子矩阵进行调整具体可以是进行融合或拼接等操作。一个目标自注意力矩阵生成一个目标分词关系矩阵。
在一个实施例中,从自注意力矩阵中提取出表征第一分词与第二分词相关性的子矩阵,对所有子矩阵进行调整,得到对应的目标分词关系矩阵,包括:
从目标自注意力矩阵中提取出第一子矩阵和第二子矩阵,其中,第一子矩阵表征每个第一分词对每个第二分词的相关性,第二子矩阵表征每个第二分词对每个第一分词的相关性;
将第一子矩阵与第二子矩阵进行融合,得到对应的目标分词关系矩阵。
具体地,如下表2所示为目标自注意力矩阵的示意图,在目标自注意力矩阵中每一行为一个第一分词或第二分词与各个分词(第一分词和第二分词)对应的相关性。例如,在目标自注意力矩阵中第一行的每个单元格为第二分词C1与某个分词对应的相关性。
表2
参考图2,第一子矩阵为目标自注意力矩阵中行为C1-CM、列为x1-xN所对应的单元格组成的子矩阵;第二子矩阵为目标自注意力矩阵中行为x1-xN、列为C1-CM所对应的单元格组成的子矩阵。
将第二子矩阵通过重排(rearrange)转换为与第一子矩阵行和列相同的第三子矩阵,将第三子矩阵与第一子矩阵融合得到该自注意力矩阵对应的目标分词关系矩阵。
图2为本申请一实施例中语句重写模型的结构框图;参考图2,bert模型中包括了多层transformer模块层,每层transformer模块层都包含有self-attention layer(自注意力层)和前馈神经网络层(feed forward layer),每层都可以生成自注意力矩阵。图2以多头自注意力层生成的自注意力矩阵作为目标自注意力矩阵。多头自注意力层的每个自注意力头对应一个自注意力矩阵。因此,总共会有多个目标自注意力矩阵。将每个目标自注意力矩阵中位于右上角的第一子矩阵和位于左下角的第二子矩阵提取出来,对第二子矩阵通过重排(rearrange)为第三子矩阵,将第三子矩阵与第一子矩阵融合得到该目标自注意力矩阵对应的目标分词关系矩阵。所有目标分词关系矩阵堆叠为多通道输入输入至语义分割网络中的U-Net网络,由U-Net网络对每个单元格的编辑类型进行分类,将每个单元格最终确定的编辑类型输出为一个词编辑矩阵。其中,编辑类型包括替换(substitute)、插入(insert)和空(None)。
在一个实施例中,在步骤S100之前,该方法还包括:
获取训练集,训练集包括多个训练样本,每个训练样本包括对话文本样本,对话文本样本包括对应的不完整语句样本,训练样本的样本标签为不完整语句样本中的第三分词与对应的对话文本样本的第四分词之间的编辑类型关系,第四分词为对话文本样本中除第三分词之外的分词;
利用训练集对预训练的语句重写模型所包含的Bert模型和语义分割模型进行训练,根据输出结果及对应的样本标签计算损失函数和梯度,根据梯度更新Bert模型和语义分割模型的模型参数,直到达到收敛条件,其中,语义分割模型连接于Bert模型之后。
具体地,训练模型的目的是为了让语句重写模型能够准确输出词编辑矩阵。Bert模型用于将当前训练轮次的训练样本对应的分词转换为对应的向量表示,并根据自身的自注意力机制(自注意力层)和向量表示捕捉每个第三分词和第四分词与所有第三分词和第四分词的相关性,得到自注意力层对应的多个中间自注意力矩阵;对中间自注意力矩阵进行调整,得到对应的中间分词关系矩阵,并将中间分词关系矩阵输入给语义分割模型,其中,中间分词关系矩阵表征对话文本中不完整语句所包含的每个第三分词与对话文本中每个第四分词的相关性。
语义分割模型基于自身的语义分割机制,根据所有中间分词关系矩阵得到中间词编辑矩阵,其中,中间词编辑矩阵用于表征每个第三分词与每个第四分词对应的编辑类型。
预训练的语句重写模型根据中间词编辑矩阵及对应的样本标签计算损失函数和梯度,根据梯度更新Bert模型和语义分割模型的模型参数,直到达到达到收敛条件。收敛条件包括损失函数小于预设值,或训练次数达到训练阈值,但不限于此。
另外,还可以预先训练Bert模型,Bert模型训练好后固定Bert模型的模型参数,再训练语义分割模型,在训练语义分割模型的时候只改变语义分割模型的模型参数即可。
在一个实施例中,步骤S200具体包括:
将任意一个分词的当前输入向量与Bert模型中当前自注意力层的权重矩阵相乘得到对应分词的Query向量和Key向量,其中,当前输入向量为对应分词的向量表示或当前自注意力层的上一层对应的输出向量;
分别计算任意一个分词的Query向量与所有分词的Key向量的点积,得到对应分词对所有分词的得分;
对同一个分词的所有得分进行归一化处理得到当前自注意力层对应分词的得分矩阵;
根据所有分词的得分矩阵得到当前自注意力层对应的第一自注意力矩阵;
根据预测规则从所有第一自注意力矩阵中选取多个第一自注意力矩阵作为目标自注意力矩阵。
具体地,Self-Attention层中的输入和输出是存在依赖关系的。Transformer中的每个Encoder(编码层)接收一个一定维度的向量的列表作为输入,然后将这些向量传递到‘self-attention’层,self-attention层产生一个等维的向量列表,然后进入前馈神经网络,前馈神经网络的输出也为一个等维度的列表,前馈神经网络将输出向上传递到下一个encoder(编码层)。本实施例的bert模型包括多层transformer模块层,每层transformer模块层都包含有self-attention layer(自注意力层)和前馈神经网络层(feed forwardlayer),上一层transformer模块层的输出是下一层transformer模块层的输入,每层都可以生成自注意力矩阵,且每层的自注意力矩阵的计算依赖于上一层的输出向量。另外,每层的自注意力矩阵是本层的中间计算结果,并不是本层的最终输出结果。Bert模型中Transformer模块层的自注意力层的头数可以根据实际情况配置。
在自注意力层,对于每个分词,通过分词的向量表示乘以3个训练矩阵WQ、WK和WV得到该分词对应的一个Query向量,一个Key向量和一个Value向量。
例如,某个分词的向量表示为Y1,则其对应的Query向量为Y1与WQ的乘积,对应的Key向量为Y1与WK的乘积,对应的Value向量为Y1与WV的乘积。
分别计算任意一个分词的Query向量与所有分词(包括自身)的Key向量的点积,得到该分词与每个分词对应的得分(score)。
例如,某个分词的Query向量为q1、Key向量为k1,其他分词的Key向量分别为k2、k3、k4、k5等。则该分词与所有分词的得分分别为q1·k1、q1·k2、q1·k3、q1·k4、q1·k5等。计算得分就是根据一个分词对输入句子的每个分词进行评分,分数决定了对输入文本中每个分词的关照程度。
将同一个分词对应的得分分别除以(并不是唯一值,可以根据实际情况确定取值),再将得到的结果通过softmax函数标准化和归一化处理,得到对应分词的得分矩阵,该得分矩阵包含了同一个分词每个得分对应的归一化值(即一个得分对应一个归一化值),且同一个分词对应的所有归一化值之和为1。一个得分矩阵即为对应目标自注意力矩阵的一行,所有分词的得分矩阵构成对应的目标自注意力矩阵。softmax后的归一化值决定了当前分词在每个句子中每个分词位置的表示程度。很明显,当前分词对应句子中该分词自身所在位置经softmax后的归一化值最高。
将某个分词的所有softmax后的归一化值分别与该分词的Value向量相乘,累加加权值的向量,得到该分词在当前自注意力层的输出。每个分词进入Self-Attention层后都会有一个对应的输出。Self-Attention层的输出作为对应前馈神经网络层的输入,前馈神经网络层根据输入得到的输出作为下一层中Self-Attention层的输入向量。
预设规则具体可以是选取Bert模型中最后一层的多头自注意力层的每个自注意力头的第一自注意力矩阵作为目标自注意力矩阵。多头自注意力层的每个自注意力头对应一个第一自注意力矩阵。预设规则具体还可以是按照规则选取不连续的多层对应的第一自注意力矩阵作为目标自注意力矩阵,当然,具体可以根据实际情况设置,本申请不做限制。
多头自注意力(Multi-head attention)中,Query向量、Key向量、Value向量首先进过一个线性变换,然后输入到放缩点积attention,所谓的多头,每一次算一个头。而且每次Query向量、Key向量、Value向量进行线性变换的参数W(WQ、WK和WV)是不一样的。
本实施例巧妙的利用基于transformer模型的自注意力机制构建的Bert模型来获取自注意力层本身生成的自注意力矩阵,在Bert模型学习到的上下文感知信息之上,每一层的自注意力权重都可以进一步学习分词到分词之间的位置、句法和语义的相关性。并且同一层的不同注意力头还可以从不同的视角进行学习。由于自注意力权重矩阵包括每个分词的自依赖性,整个过程自然而简单,不需要像现有技术一样经过繁复的计算来获取特征图矩阵,减少了大量的计算开销,使得模型落地成为可能。
本申请提出的一种新型的基于Transformer内置的自注意力权重矩阵的特征构造方式,Transformer内置的自注意力权重矩阵能够天然的捕获上下文话语和不完整话语之间的语义依赖关系,通过微调模型,使其更加关注不完整话语重写中的指代消解和省略补全关系,避免了模型建模过程复杂的转换,更加充分了利用了Transformer的原生能力;基于文本编辑思想的建模方式更加贴近认知,同时提升了不完整话语重写模型输出的精度;同时这个方法简化了模型结构,大幅度提升了模型的推理速度,使工业落地成为可能。
在一个实施例中,本申请还提供了一种语句重写模型的训练方法,该方法包括:
获取训练集,训练集包括多个训练样本,每个训练样本包括对话文本样本,对话文本样本包括对应的不完整语句样本,训练样本的样本标签为不完整语句样本中的第三分词与对应的对话文本样本的第四分词之间的编辑类型关系,第四分词为对话文本样本中除第三分词之外的分词;
利用训练集对预训练的语句重写模型所包含的Bert模型和语义分割模型进行训练,根据输出结果及对应的样本标签计算损失函数和梯度,根据梯度更新Bert模型和语义分割模型的模型参数,直到达到收敛条件,其中,语义分割模型连接于Bert模型之后。
本申请提出了一种新型的不完整话语特征建模方式,巧妙地利用了Transformer中自注意力矩阵作为特征去解决不完整话语重写中的省略补全和指代消解问题。
具体地,使用一个预训练语言模型Bert模型作为编码器对多轮对话文本进行建模。将多轮对话中的上下文话语和不完整话语进行拼接,先传递给相应的分词器进行分词,再由Bert模型进一步处理以获得话语之间的上下文信息。在Bert学习到的上下文感知信息之上,本申请提出应用Bert的自注意力权重矩阵作为分类器的特征输入来学习编辑操作。每一层的自注意力层都可以进一步学习token到token(分词对分词)的位置、句法和语义的关系。并且同一层的不同注意力头还可以从不同的视角进行学习。
由于自注意力权重矩阵包括每个token(分词)的自依赖性,因此模型需要在自注意力矩阵中挑选中上下文话语和不完整话语相关联的部分,并对相关部分的子矩阵进行调整和融合得到分词关系矩阵。接着将所有分词关系矩阵视为多通道图像,使用语义分割网络中的U-Net将低级特征集成到高级特征,并作为分类器将token2token关系映射到相应的编辑类型。U-Net的下采样块可以扩大token2 token中每一个单元格的感受野,并融合从编码器学习到的全局信息。上采样块有助于将融合信息分发到每个单元格。控制U-Net的输出与输入矩阵的宽度和高度相同,且输出矩阵的通道数量与编辑操作数量(替换、插入和无)对齐。最后得到的U-Net输出的每个通道矩阵的每个单元格就是相应编辑类型的分数。取得分最高的编辑类型作为该单元格最后的编辑类型,所有单元格的编辑类型组成了词编辑矩阵。
词编辑矩阵的每个单元格代表上下文话语和不完整话语之间的token2token编辑类型,最后使用简单的编辑算法基于编辑类型进行相应操作来生成最终的完整话语。
相比传统的方法,本申请不需要复杂的特征变换处理,只需要将微调后Transformer本身中所含有的自注意力矩阵直接拿出作为特征图矩阵,而不是Transformer输出的表征作为特征图矩阵,无需引入额外复杂的变化且充分利用了Transformer的能力,整个过程自然而简单。基于文本编辑的思想把不完成话语重写任务建模成了一个文本分类任务而不是文本生成任务,以自注意力权重矩阵中上下文话语和不完整话语的token2token关系作为编辑单位,极大的提高了模型的推理速度,巧妙的利用了计算机视觉中的语义分割卷积网络作为分类器,可以并行的把上下文话语和不完整话语之间token2token关系做一个到编辑操作类型的映射,极大地提高了模型的推理速度并使得在工业界进行落地成为可能。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
图3为本申请一实施例中不完整语句的重写装置的结构框图。参考图3,该不完整语句的重写装置包括:
向量表示模块100,用于将多轮对话文本分词后输入至已训练的语句重写模型,利用已训练的语句重写模型将各个分词转换为对应的向量表示;
第一计算模块200,用于基于已训练的语句重写模型的自注意力机制,根据向量表示捕捉各个分词之间的相关性,得到自注意力层对应的多个目标自注意力矩阵;
调整模块300,用于对目标自注意力矩阵进行调整,得到对应的目标分词关系矩阵,其中,目标分词关系矩阵表征多轮对话文本中不完整语句所包含的每个第一分词与多轮对话文本中每个第二分词的相关性,第二分词为多轮对话文本所包含的所有分词中除第一分词之外的分词;
语义分割模块400,用于基于已训练的语句重写模型的语义分割机制,根据所有目标分词关系矩阵得到目标词编辑矩阵,其中,目标词编辑矩阵用于表征每个第一分词与每个第二分词对应的编辑类型;
语句重写模块500,用于基于目标词编辑矩阵,对不完整语句执行对应编辑类型的编辑操作,得到重写语句。
在一个实施例中,语义分割模块400具体包括:
输入模块,用于将所有目标分词关系矩阵作为多通道输入输入至已训练的语句重写模型所包含的语义分割模型;
编辑类型分类模块,用于利用语义分割模型对所有目标分词关系矩阵进行下采样和上采样,以对每个分类通道所对应的通道矩阵中每个单元格的编辑类型进行预测得到分类概率,将分类概率最高的编辑类型作为对应单元格最终确定的编辑类型,将所有单元格最终确定的编辑类型输出为目标词编辑矩阵,其中编辑类型包括插入、替换和空。
在一个实施例中,调整模块300,具体用于从目标自注意力矩阵中提取出表征第一分词与第二分词相关性的子矩阵,对所有子矩阵进行调整,得到对应的目标分词关系矩阵。
在一个实施例中,调整模块300具体包括:
提取模块,用于从目标自注意力矩阵中提取出第一子矩阵和第二子矩阵,其中,第一子矩阵表征每个第一分词对每个第二分词的相关性,第二子矩阵表征每个第二分词对每个第一分词的相关性;
融合模块,用于将第一子矩阵与第二子矩阵进行融合,得到对应的目标分词关系矩阵。
在一个实施例中,该装置还包括:
训练集获取模块,用于获取训练集,训练集包括多个训练样本,每个训练样本包括对话文本样本,对话文本样本包括对应的不完整语句样本,训练样本的样本标签为不完整语句样本中的第三分词与对应的对话文本样本的第四分词之间的编辑类型关系,第四分词为对话文本样本中除第三分词之外的分词;
训练模块,用于利用训练集对预训练的语句重写模型所包含的Bert模型和语义分割模型进行训练,根据输出结果及对应的样本标签计算损失函数和梯度,根据梯度更新Bert模型和语义分割模型的模型参数,直到达到收敛条件,其中,语义分割模型连接于Bert模型之后。
在一个实施例中,第一计算模块200具体包括:
第一计算单元,用于将任意一个分词的当前输入向量与Bert模型中当前自注意力层的权重矩阵相乘得到对应分词的Query向量和Key向量,其中,当前输入向量为对应分词的向量表示或当前自注意力层的上一层对应的输出向量;
第二计算单元,用于分别计算任意一个分词的Query向量与所有分词的Key向量的点积,得到对应分词对所有分词的得分;
归一化处理单元,用于对同一个分词的所有得分进行归一化处理得到当前自注意力层对应分词的得分矩阵;
矩阵融合单元,用于根据所有分词的得分矩阵得到当前自注意力层对应的第一自注意力矩阵;
筛选单元,用于根据预设规则从所有第一自注意力矩阵中选取多个第一自注意力矩阵作为目标自注意力矩阵。
本申请还提供了一种语句重写模型的训练装置,该语句重写模型的训练装置包括:
训练集获取模块,用于获取训练集,训练集包括多个训练样本,每个训练样本包括对话文本样本,对话文本样本包括对应的不完整语句样本,训练样本的样本标签为不完整语句样本中的第三分词与对应的对话文本样本的第四分词之间的编辑类型关系,第四分词为对话文本样本中除第三分词之外的分词;
训练模块,用于利用训练集对预训练的语句重写模型所包含的Bert模型和语义分割模型进行训练,根据输出结果及对应的样本标签计算损失函数和梯度,根据梯度更新Bert模型和语义分割模型的模型参数,直到达到收敛条件,其中,语义分割模型连接于Bert模型之后。
本申请实施例可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
其中上述模块/单元中的“第一”和“第二”的意义仅在于将不同的模块/单元加以区分,并不用于限定哪个模块/单元的优先级更高或者其它的限定意义。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或模块的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或模块,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或模块,本申请中所出现的模块的划分,仅仅是一种逻辑上的划分,实际应用中实现时可以有另外的划分方式。
关于不完整语句的重写装置的具体限定可以参见上文中对于不完整语句的重写方法的限定,在此不再赘述。上述不完整语句的重写装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
图4为本申请一实施例中计算机设备的内部结构框图。如图4所示,该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、输入装置和显示屏。其中,该计算机设备的处理器用于提供计算和控制能力。存储器包括存储介质和内存储器。存储介质可以是非易失性存储介质,也可以是易失性存储介质。存储介质存储有操作系统,还可存储有计算机可读指令,该计算机可读指令被处理器执行时,可使得处理器实现不完整语句的重写方法和语句重写模型的训练方法。该内存储器为存储介质中的操作系统和计算机可读指令的运行提供环境。该内存储器中也可储存有计算机可读指令,该计算机可读指令被处理器执行时,可使得处理器执行不完整语句的重写方法和语句重写模型的训练方法。该计算机设备的网络接口用于与外部服务器通过网络连接通信。计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机可读指令(例如计算机程序),处理器执行计算机可读指令时实现上述实施例中不完整语句的重写方法和语句重写模型的训练方法的步骤,例如图1所示的步骤S100至步骤S500及该方法的其它扩展和相关步骤的延伸。或者,处理器执行计算机可读指令时实现上述实施例中不完整语句的重写装置的各模块/单元的功能,例如图3所示模块100至模块500的功能。为避免重复,这里不再赘述。
处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable GateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,处理器是计算机装置的控制中心,利用各种接口和线路连接整个计算机装置的各个部分。
存储器可用于存储计算机可读指令和/或模块,处理器通过运行或执行存储在存储器内的计算机可读指令和/或模块,以及调用存储在存储器内的数据,实现计算机装置的各种功能。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、视频数据等)等。
存储器可以集成在处理器中,也可以与处理器分开设置。
本领域技术人员可以理解,图4中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机可读指令,计算机可读指令被处理器执行时实现上述实施例中不完整语句的重写方法的步骤,例如图1所示的步骤S100至步骤S500及该方法的其它扩展和相关步骤的延伸。或者,计算机可读指令被处理器执行时实现上述实施例中不完整语句的重写装置的各模块/单元的功能,例如图3所示模块100至模块500的功能。为避免重复,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机可读指令来指示相关的硬件来完成,所述的计算机可读指令可存储于一计算机可读取存储介质中,该计算机可读指令在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双倍速率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (9)
1.一种不完整语句的重写方法,其特征在于,所述方法包括:
将多轮对话文本分词后输入至已训练的语句重写模型,利用所述已训练的语句重写模型将各个分词转换为对应的向量表示;
基于所述已训练的语句重写模型的自注意力机制,根据所述向量表示捕捉各个所述分词之间的相关性,得到自注意力层对应的多个目标自注意力矩阵;
对所述目标自注意力矩阵进行调整,得到对应的目标分词关系矩阵,其中,所述目标分词关系矩阵表征所述多轮对话文本中不完整语句所包含的每个第一分词与所述多轮对话文本中每个第二分词的相关性,所述第二分词为所述多轮对话文本所包含的所有分词中除第一分词之外的分词;
基于所述已训练的语句重写模型的语义分割机制,根据所有目标分词关系矩阵得到目标词编辑矩阵,其中,所述目标词编辑矩阵用于表征每个所述第一分词与每个所述第二分词对应的编辑类型;
基于所述目标词编辑矩阵,使用预设的编辑算法基于编辑类型进行相应编辑操作,得到重写语句;
其中,所述基于所述已训练的语句重写模型的语义分割机制,根据所有目标分词关系矩阵得到目标词编辑矩阵,包括:
将所有目标分词关系矩阵作为多通道输入输入至所述已训练的语句重写模型所包含的语义分割模型,所述语义分割模型预测编辑每个单词对的类型作为掩码,其中,单词对包括一个所述第一分词和一个所述第二分词;
利用所述语义分割模型对所有目标分词关系矩阵进行下采样和上采样,以对每个分类通道所对应的通道矩阵中每个单元格的编辑类型进行预测得到分类概率,将分类概率最高的编辑类型作为对应单元格最终确定的编辑类型,将所有单元格最终确定的编辑类型输出为所述目标词编辑矩阵,其中所述编辑类型包括插入、替换和空,所述目标词编辑矩阵与所述目标分词关系矩阵尺寸相同,所述语义分割模型的输出矩阵的通道数量与编辑操作数量对齐;
其中,所述目标词编辑矩阵包含第一单词,所述第一单词位于所述不完整语句的末尾,所述第一单词用于标识在所述不完整语句的末尾进行插入操作。
2.根据权利要求1所述的方法,其特征在于,所述对所述目标自注意力矩阵进行调整,得到对应的目标分词关系矩阵,包括:
从所述目标自注意力矩阵中提取出表征所述第一分词与所述第二分词相关性的子矩阵,对所有子矩阵进行调整,得到对应的目标分词关系矩阵。
3.根据权利要求2所述的方法,其特征在于,所述从所述目标自注意力矩阵中提取出表征所述第一分词与所述第二分词相关性的子矩阵,对所有子矩阵进行调整,得到对应的目标分词关系矩阵,包括:
从所述目标自注意力矩阵中提取出第一子矩阵和第二子矩阵,其中,所述第一子矩阵表征每个所述第一分词对每个所述第二分词的相关性,所述第二子矩阵表征每个所述第二分词对每个所述第一分词的相关性;
将所述第一子矩阵与所述第二子矩阵进行融合,得到对应的目标分词关系矩阵。
4.根据权利要求1所述的方法,其特征在于,在所述将多轮对话文本分词后输入至已训练的语句重写模型之前,所述方法还包括:
获取训练集,所述训练集包括多个训练样本,每个所述训练样本包括对话文本样本,所述对话文本样本包括对应的不完整语句样本,所述训练样本的样本标签为所述不完整语句样本中的第三分词与对应的对话文本样本的第四分词之间的编辑类型关系,所述第四分词为所述对话文本样本中除第三分词之外的分词;
利用所述训练集对预训练的语句重写模型所包含的Bert模型和语义分割模型进行训练,根据输出结果及对应的样本标签计算损失函数和梯度,根据所述梯度更新Bert模型和语义分割模型的模型参数,直到达到收敛条件,其中,所述语义分割模型连接于所述Bert模型之后。
5.根据权利要求1所述的方法,其特征在于,所述基于所述已训练的语句重写模型的自注意力机制,根据所述向量表示捕捉各个所述分词之间的相关性,得到自注意力层对应的多个目标自注意力矩阵,包括:
将任意一个分词的当前输入向量与Bert模型中当前自注意力层的权重矩阵相乘得到对应分词的Query向量和Key向量,其中,所述当前输入向量为对应分词的向量表示或当前自注意力层的上一层对应的输出向量;
分别计算任意一个分词的Query向量与所有分词的Key向量的点积,得到对应分词对所有分词的得分;
对同一个分词的所有得分进行归一化处理得到当前自注意力层对应分词的得分矩阵;
根据所有分词的得分矩阵得到所述当前自注意力层对应的第一自注意力矩阵;
根据预设规则从所有第一自注意力矩阵中选取多个第一自注意力矩阵作为目标自注意力矩阵。
6.一种语句重写模型的训练方法,其特征在于,所述方法包括:
获取训练集,所述训练集包括多个训练样本,每个训练样本包括对话文本样本,所述对话文本样本包括对应的不完整语句样本,所述训练样本的样本标签为所述不完整语句样本中的第三分词与对应的对话文本样本的第四分词之间的编辑类型关系,所述第四分词为所述对话文本样本中除第三分词之外的分词;
利用所述训练集对预训练的语句重写模型所包含的Bert模型和语义分割模型进行训练,根据输出结果及对应的样本标签计算损失函数和梯度,根据所述梯度更新Bert模型和语义分割模型的模型参数,直到达到收敛条件,其中,所述语义分割模型连接于所述Bert模型之后。
7.一种不完整语句的重写装置,其特征在于,所述装置包括:
向量表示模块,用于将多轮对话文本分词后输入至已训练的语句重写模型,利用所述已训练的语句重写模型将各个分词转换为对应的向量表示;
第一计算模块,用于基于所述已训练的语句重写模型的自注意力机制,根据所述向量表示捕捉各个所述分词之间的相关性,得到自注意力层对应的多个目标自注意力矩阵;
调整模块,用于对所述目标自注意力矩阵进行调整,得到对应的目标分词关系矩阵,其中,所述目标分词关系矩阵表征所述多轮对话文本中不完整语句所包含的每个第一分词与所述多轮对话文本中每个第二分词的相关性,所述第二分词为所述多轮对话文本所包含的所有分词中除第一分词之外的分词;
语义分割模块,用于基于所述已训练的语句重写模型的语义分割机制,根据所有目标分词关系矩阵得到目标词编辑矩阵,其中,所目标词编辑矩阵用于表征每个所述第一分词与每个所述第二分词对应的编辑类型;其中,所述基于所述已训练的语句重写模型的语义分割机制,根据所有目标分词关系矩阵得到目标词编辑矩阵,包括:将所有目标分词关系矩阵作为多通道输入输入至所述已训练的语句重写模型所包含的语义分割模型,所述语义分割模型预测编辑每个单词对的类型作为掩码,其中,单词对包括一个所述第一分词和一个所述第二分词;利用所述语义分割模型对所有目标分词关系矩阵进行下采样和上采样,以对每个分类通道所对应的通道矩阵中每个单元格的编辑类型进行预测得到分类概率,将分类概率最高的编辑类型作为对应单元格最终确定的编辑类型,将所有单元格最终确定的编辑类型输出为所述目标词编辑矩阵,其中所述编辑类型包括插入、替换和空,所述目标词编辑矩阵与所述目标分词关系矩阵尺寸相同,所述语义分割模型的输出矩阵的通道数量与编辑操作数量对齐;其中,所述目标词编辑矩阵包含第一单词,所述第一单词位于所述不完整语句的末尾,所述第一单词用于标识在所述不完整语句的末尾进行插入操作;
语句重写模块,用于基于所述目标词编辑矩阵,对所述不完整语句执行对应编辑类型的编辑操作,得到重写语句。
8.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机可读指令,其特征在于,所述处理器执行所述计算机可读指令时执行如权利要求1-5任一项所述的不完整语句的重写方法的步骤,和/或,执行如权利要求6所述的语句重写模型的训练方法的步骤。
9.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机可读指令,其特征在于,所述计算机可读指令被处理器执行时,使得所述处理器执行如权利要求1-5任一项所述的不完整语句的重写方法的步骤,和/或,执行如权利要求6所述的语句重写模型的训练方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210375929.7A CN114742049B (zh) | 2022-04-11 | 2022-04-11 | 不完整语句的重写及模型的训练方法、装置和相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210375929.7A CN114742049B (zh) | 2022-04-11 | 2022-04-11 | 不完整语句的重写及模型的训练方法、装置和相关设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114742049A CN114742049A (zh) | 2022-07-12 |
CN114742049B true CN114742049B (zh) | 2023-05-05 |
Family
ID=82281394
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210375929.7A Active CN114742049B (zh) | 2022-04-11 | 2022-04-11 | 不完整语句的重写及模型的训练方法、装置和相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114742049B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016177627A (ja) * | 2015-03-20 | 2016-10-06 | 日本電気株式会社 | 書換装置、処理方法とそのプログラム、および、情報処理装置 |
CN111967224A (zh) * | 2020-08-18 | 2020-11-20 | 深圳市欢太科技有限公司 | 对话文本的处理方法、装置、电子设备及存储介质 |
CN112163431A (zh) * | 2020-10-19 | 2021-01-01 | 北京邮电大学 | 一种基于泛条件随机场的中文缺失代词补全方法 |
CN113609824A (zh) * | 2021-08-10 | 2021-11-05 | 上海交通大学 | 基于文本编辑和语法纠错的多轮对话改写方法及系统 |
-
2022
- 2022-04-11 CN CN202210375929.7A patent/CN114742049B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016177627A (ja) * | 2015-03-20 | 2016-10-06 | 日本電気株式会社 | 書換装置、処理方法とそのプログラム、および、情報処理装置 |
CN111967224A (zh) * | 2020-08-18 | 2020-11-20 | 深圳市欢太科技有限公司 | 对话文本的处理方法、装置、电子设备及存储介质 |
CN112163431A (zh) * | 2020-10-19 | 2021-01-01 | 北京邮电大学 | 一种基于泛条件随机场的中文缺失代词补全方法 |
CN113609824A (zh) * | 2021-08-10 | 2021-11-05 | 上海交通大学 | 基于文本编辑和语法纠错的多轮对话改写方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN114742049A (zh) | 2022-07-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112487182B (zh) | 文本处理模型的训练方法、文本处理方法及装置 | |
CN108733792B (zh) | 一种实体关系抽取方法 | |
WO2020228376A1 (zh) | 文本处理方法、模型训练方法和装置 | |
JP6845486B2 (ja) | 神経網基盤機械翻訳およびマスコーパス(Math Corpus)を利用した数学問題概念類型予測サービス提供方法 | |
JP2023509031A (ja) | マルチモーダル機械学習に基づく翻訳方法、装置、機器及びコンピュータプログラム | |
CN111008293A (zh) | 基于结构化语义表示的视觉问答方法 | |
CN113297975A (zh) | 表格结构识别的方法、装置、存储介质及电子设备 | |
WO2023160472A1 (zh) | 一种模型训练方法及相关设备 | |
CN110647612A (zh) | 一种基于双视觉注意力网络的视觉对话生成方法 | |
CN112990296B (zh) | 基于正交相似度蒸馏的图文匹配模型压缩与加速方法及系统 | |
CN109214006B (zh) | 图像增强的层次化语义表示的自然语言推理方法 | |
CN111966812B (zh) | 一种基于动态词向量的自动问答方法和存储介质 | |
CN113656570A (zh) | 基于深度学习模型的视觉问答方法及装置、介质、设备 | |
CN111984766A (zh) | 缺失语义补全方法及装置 | |
US11475225B2 (en) | Method, system, electronic device and storage medium for clarification question generation | |
Pramanik et al. | Text normalization using memory augmented neural networks | |
CN115797495B (zh) | 一种句子-字符语义空间融合感知的文本生成图像的方法 | |
CN111597341B (zh) | 一种文档级关系抽取方法、装置、设备及存储介质 | |
CN115221846A (zh) | 一种数据处理方法及相关设备 | |
CN115861995B (zh) | 一种视觉问答方法、装置及电子设备和存储介质 | |
CN116432019A (zh) | 一种数据处理方法及相关设备 | |
CN111145914B (zh) | 一种确定肺癌临床病种库文本实体的方法及装置 | |
CN116912642A (zh) | 基于双模多粒度交互的多模态情感分析方法、设备及介质 | |
CN113761883A (zh) | 一种文本信息识别方法、装置、电子设备及存储介质 | |
CN115240713B (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 |