CN116187317A - 文本生成方法、装置、设备及计算机可读介质 - Google Patents
文本生成方法、装置、设备及计算机可读介质 Download PDFInfo
- Publication number
- CN116187317A CN116187317A CN202211590603.2A CN202211590603A CN116187317A CN 116187317 A CN116187317 A CN 116187317A CN 202211590603 A CN202211590603 A CN 202211590603A CN 116187317 A CN116187317 A CN 116187317A
- Authority
- CN
- China
- Prior art keywords
- word
- word vector
- text
- initial
- sentence
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 98
- 238000012549 training Methods 0.000 claims abstract description 60
- 239000013598 vector Substances 0.000 claims description 420
- 238000012545 processing Methods 0.000 claims description 61
- 238000012512 characterization method Methods 0.000 claims description 46
- 230000011218 segmentation Effects 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 3
- 238000004364 calculation method Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 8
- 239000003550 marker Substances 0.000 description 8
- 238000004422 calculation algorithm Methods 0.000 description 7
- 230000000694 effects Effects 0.000 description 6
- 238000013473 artificial intelligence Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000004927 fusion Effects 0.000 description 4
- 238000010276 construction Methods 0.000 description 2
- 235000021178 picnic Nutrition 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000001502 supplementing effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
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/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/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)
- Audiology, Speech & Language Pathology (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Document Processing Apparatus (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Machine Translation (AREA)
Abstract
本发明提供一种文本生成方法、装置、设备及计算机可读介质,该方法根据所述关键词组,检索得到与所述关键词组匹配的文本段落;将所述关键词组和与所述关键词组匹配的文本段落输入至智能写作模型中,由所述智能写作模型生成所述关键词组的写作文本;由于关键词组的写作文本中的词由所述智能写作模型从词汇表、所述关键词组以及与所述关键词组匹配的文本段落中获取得到,且关键词组的写作文本是参考了关键词组匹配的文本段落生成的,因此即使是新领域的关键词组,智能写作模型也能在不需要新领域的文本训练的情况下,快速生成适配新领域的写作文本。
Description
技术领域
本发明涉及人工智能技术领域,尤其涉及一种文本生成方法、装置、设备及计算机可读介质。
背景技术
机器智能写作技术指的是通过多个关键词,能够自动生成与多个关键词相关的等文本的技术,该技术被广泛应用在创作营销文案、散文写作、自动写稿等场景中。现有的智能写作方式为:将多个关键词输入到写作模型中,由写作模型生成多个关键词的写作文本。其中,写作模型通过大量文本进行训练得到,多个关键词的写作文本可以理解为是写作模型根据多个关键词智能写作出的文本。
然而,当写作模型需要应用到新领域时,写作模型难以生成新领域的一些专有名词和概念,即无法生成适配于新领域的写作文本。虽然写作模型在经过新领域的文本进行训练之后,可以生成适配于新领域的写作文本,但训练过程的工作量较大、耗时较长,不能够使得写作模型快速的适配新领域,即现有的智能写作方式难以满足快速应用到多个新领域的场景的需求。
发明内容
有鉴于此,本发明实施例提供一种文本生成方法、装置、设备及计算机可读介质,以快速适配新领域的文本生成需求。
为实现上述目的,本发明实施例提供如下技术方案:
第一方面,本申请公开了一种文本生成方法,包括:
获取关键词组;其中,所述关键词组包括至少一个关键词;
根据所述关键词组,检索得到与所述关键词组匹配的文本段落;
将所述关键词组和与所述关键词组匹配的文本段落输入至智能写作模型中,由所述智能写作模型生成所述关键词组的写作文本;其中,所述关键词组的写作文本中的词由所述智能写作模型从词汇表、所述关键词组以及与所述关键词组匹配的文本段落中获取得到;所述智能写作模型通过多个句子样本、与所述句子样本匹配的文本段落以及所述句子样本的实际写作文本对初始写作模型进行训练得到。
可选地,在上述文本生成方法中,所述智能写作模型包括:目标编码器和目标解码器;所述将所述关键词组和与所述关键词组匹配的文本段落输入至智能写作模型中,由所述智能写作模型生成所述关键词组的写作文本,包括:
通过所述目标编码器,对所述关键词组、与所述关键词组匹配的文本段落、以及第一特殊字符进行语义表征处理,得到每一个所述待处理词的最终词向量和所述第一特殊字符的最终词向量;其中,所述待处理词为所述关键词组和与所述关键词组匹配的文本段落中的词;所述第一特殊字符用于代表所述关键词组以及与所述关键词组匹配的文本段落的整体语句;所述待处理词的初始词向量和所述第一特殊字符的初始词向量从词汇表中获取得到;
将每一个所述待处理词的最终词向量以及所述第一特殊字符的最终词向量输入至所述目标解码器中,由所述目标解码器得到并输出所述关键词组的写作文本。
可选地,在上述文本生成方法中,所述将每一个所述待处理词的最终词向量以及所述第一特殊字符的最终词向量输入至所述目标解码器中,由所述目标解码器得到并输出所述关键词组的写作文本,包括:
向所述目标解码器输入开始词的初始词向量、每一个所述待处理词的最终词向量以及所述第一特殊字符的最终词向量,由所述目标解码器融合得到所述开始词的最终词向量;
根据所述开始词的最终词向量,计算得到词汇表中每一个词的生成概率;并根据所述开始词的最终词向量,计算得到每一个所述待处理词的生成概率;
从词汇表中的每一个词以及每一个所述待处理词中,选取出生成概率最高的词,确定为所述目标解码器在当前生成的词;
将所述目标解码器在当前生成的词作为新的开始词,返回至所述向所述目标解码器输入开始词的初始词向量、每一个所述待处理词的最终词向量以及所述第一特殊字符的最终词向量,由所述解码器融合得到所述开始词的最终词向量的步骤,直至所述目标解码器生成的词为结束词为止;其中,所述关键词组的写作文本由所述解码器生成的词按照生成顺序拼接得到。
可选地,在上述文本生成方法中,所述根据所述关键词组,检索得到与所述关键词组匹配的文本段落,包括:
通过语义表征模型,对所述关键词组和第二特殊字符进行语义表征处理,得到第二特殊字符的最终词向量;并通过所述语义表征模型,对检索库中的每一个文本段落以及所述文本段落对应的第三特殊字符进行语义表征处理,得到每一个所述文本段落对应的第三特殊字符的最终词向量;其中,所述第二特殊字符用于代表所述关键词组的整体语句;所述文本段落对应的第三特殊字符用于代表所述文本段落的整体语句;所述语义表征模型通过多个句子样本、所述句子样本对应的正样例文本段落、以及所述句子样本对应的负样例文本段落对所述目标编码器进行对比学习训练后得到;所述句子样本对应的正样例文本段落为与所述句子样本的主题相关的文本段落;所述句子样本对应的负样例文本段落为与所述句子样本的主题不相关的文本段落;
分别计算所述第二特殊字符的最终词向量和每一个所述文本段落对应的第三特殊字符的最终词向量之间的相似度;
将计算出的相似度最高的文本段落,确定为与所述关键词组匹配的文本段落。
可选地,在上述文本生成方法中,所述目标编码器的训练过程,包括:
针对每一个句子样本,将所述句子样本中的至少一个词替换成标记字符,得到处理后的句子样本;
将所述处理后的句子样本进行分词处理,得到多个词样本和标记字符;
将每一个所述词样本的初始词向量、所述标记字符的初始词向量以及第四特殊字符的初始词向量输入至初始编码器中,由所述初始编码器通过N层编码层处理得到每一个所述词样本的第N层词向量、所述标记字符的第N层词向量以及所述第四特殊字符的第N层词向量;其中,所述第四特殊字符用于代表所述句子样本的整体语句;所述词样本的初始词向量、所述标记字符的初始词向量以及所述第四特殊字符的初始词向量从词汇表中获取得到;
将所述第四特殊字符的第N层词向量、每一个所述词样本的第K层词向量以及所述标记字符的第K层词向量输入至所述初始编码器的第N+1层编码层中,由所述第N+1层编码层得到并输出每一个所述词样本的最终词向量、所述标记字符的最终词向量以及所述第四特殊字符的最终词向量;其中,K为小于N的正整数;
根据所述标记字符的最终词向量所表征的语义与所述标记字符对应的替换前的词的语义之间的误差,对所述初始编码器的参数进行调整,直至调整后的初始编码器的所述误差满足预设的收敛条件时,将所述调整后的初始编码器确定为目标编码器。
可选地,在上述文本生成方法中,所述智能写作模型的训练过程,包括:
构建初始写作模型;其中,所述初始写作模型包括:目标编码器和初始解码器;所述目标编码器通过多个句子样本对初始编码器进行训练得到;
针对每一个句子样本,检索得到与所述句子样本匹配的文本段落;
通过所述目标编码器,对所述句子样本、与所述句子样本匹配的文本段落以及第四特殊字符进行语义表征处理,得到每一个所述词样本的最终词向量和所述第四特殊字符的最终词向量;其中,所述第四特殊字符用于代表所述句子样本的整体语句;所述词样本为所述句子样本和与所述句子样本匹配的文本段落中的词;所述词样本的初始词向量以及所述第四特殊字符的初始词向量从词汇表中获取得到;
向所述初始解码器输入开始词的初始词向量、每一个所述词样本的最终词向量以及所述第四特殊字符的最终词向量,由所述初始解码器融合得到所述开始词的最终词向量;
根据所述开始词的最终词向量,计算得到词汇表中每一个词的生成概率;并根据所述开始词的最终词向量,计算得到每一个所述词样本的生成概率;
从词汇表中的每一个词以及每一个所述词样本中,选取出生成概率最高的词,确定为所述初始解码器在当前生成的词;
根据所述初始解码器在当前生成的词和实际需生成的词之间的误差,对所述初始写作模型的参数进行调整,并从所述初始解码器在当前生成的词和实际需生成的词中选取出其中一个词作为新的开始词,返回至所述向所述初始解码器输入开始词的初始词向量、每一个所述词样本的最终词向量以及所述第四特殊字符的最终词向量,由所述初始解码器融合得到所述开始词的最终词向量的步骤,直至调整后的初始写作模型生成的所有词和实际需生成的词之间的误差满足收敛条件时,将所述调整后的初始写作模型确定为智能写作模型;其中,所述实际需生成的词从所述句子样本的实际写作文本中获取。
可选地,在上述文本生成方法中,所述语义表征模型的训练过程,包括:
针对每一个句子样本,通过目标编码器,对所述句子样本和第四特殊字符进行语义表征处理,得到所述第四特殊字符的最终词向量;通过目标编码器,对所述句子样本对应的正样例文本段落和第五特殊字符进行语义表征处理,得到所述第五特殊字符的最终词向量;并通过目标编码器,对所述句子样本对应的负样例文本段落和第六特殊字符进行语义表征处理,得到所述第六特殊字符的最终词向量;其中,所述第四特殊字符用于代表所述句子样本的整体语句;所述第五特殊字符用于代表所述句子样本对应的正样例文本段落的整体语句;所述第六特殊字符用于代表所述句子样本对应的负样例文本段落的整体语句;
根据所述第四特殊字符的最终词向量、所述第五特殊字符的最终词向量以及所述第六特殊字符的最终词向量,计算得到所述目标编码器的损失值;其中,所述目标编码器的损失值越低,则所述句子样本与所述句子样本对应的正样例文本段落之间的相似度越高、且所述句子样本与所述句子样本对应的负样例文本段落之间的相似度越低;
根据所述目标编码器的损失值,对所述目标编码器的参数进行调整,直至调整后的目标编码器的损失值满足预设的收敛条件时,将所述调整后的目标编码器确定为语义表征模型。
第二方面,本申请公开了一种文本生成装置,包括:
获取单元,用于获取关键词组;其中,所述关键词组包括至少一个关键词;
第一检索单元,用于根据所述关键词组,检索得到与所述关键词组匹配的文本段落;
第一生成单元,用于将所述关键词组和与所述关键词组匹配的文本段落输入至智能写作模型中,由所述智能写作模型生成所述关键词组的写作文本;其中,所述关键词组的写作文本中的词由所述智能写作模型从词汇表、所述关键词组以及与所述关键词组匹配的文本段落中获取得到;所述智能写作模型通过多个句子样本、与所述句子样本匹配的文本段落以及所述句子样本的实际写作文本对初始写作模型进行训练得到。
第三方面,本申请公开了一种计算机可读介质,其上存储有计算机程序,其中,所述程序被处理器执行时实现如上述第一方面中任一所述的方法。
第四方面,本申请公开了一种文本生成设备,包括:
一个或多个处理器;
存储装置,其上存储有一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上述第一方面中任一所述的方法。
基于上述本发明实施例提供的文本生成方法,通过关键词组,检索得到与关键词组匹配的文本段落。然后将关键词组和与关键词组匹配的文本段落输入至智能写作模型中,由智能写作模型生成关键词组的写作文本。由于智能写作模型生成的写作文本是通过关键词组以及与关键词组匹配的文本段落生成的,且关键词组的写作文本中的词也是从智能写作模型从词汇表、关键词组以及与关键词组匹配的文本段落中获取得到的,因此智能写作模型生成的关键词组的写作文本参考了关键词组匹配的文本段落中使用的专有名词、概念等撰写用语,即使智能写作模型未采用该关键词组所属的领域的文本进行过训练,所生成的关键词组的写作文本依然可适配该关键词组所属的领域,满足了快速适配多个新领域的需求。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例公开的一种文本生成方法的流程示意图;
图2为本申请实施例公开的一种关键词组匹配的文本段落的确认方法的流程示意图;
图3为本申请实施例公开的一种语义表征模型的训练过程的流程示意图;
图4为本申请实施例公开的另一种语义表征模型的训练流程示意图;
图5为本申请实施例公开的一种生成关键词组的写作文本的流程示意图;
图6为本申请实施例公开的一种智能写作模型的结构示意图;
图7为本申请实施例公开的一种目标编码器的训练过程的流程示意图;
图8为本申请实施例公开的一种初始编码器的结构示意图;
图9为本申请实施例公开的另一种生成关键词组的写作文本的流程示意图;
图10为本申请实施例公开的一种智能写作模型的训练过程的流程示意图;
图11为为本申请实施例公开的一种文本生成装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本申请中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
基于上述提及的现有的智能写作方式难以满足快速应用到多个新领域场景的需求的问题,本申请实施例提出了一种文本生成方法,以满足快速应用到多个新领域的场景的需求。为使本申请实施例提出的文本生成方法的各实施例描述更为清楚,首先介绍下以下各实施例中出现的名词的定义。
(1)智能写作模型,为本申请实施例中用于完成文本生成任务(也可以理解为是智能写作任务)的模型,通过对初始写作模型进行训练之后得到。本申请实施例中的智能写作模型通过关键词组和与关键词组匹配的文本段落,生成关键词组的写作文本。关键词组的写作文本可以是文章、散文、文案等。
(2)与关键词组匹配的文本段落,指的是从检索库中检索到的与关键词组之间的相似度较高的文本段落。关键词组的写作文本以及与关键词组匹配的文本段落的区别主要在于,关键词组的写作文本是本申请实施例中的智能写作模型自动生成的,而与关键词组匹配的文本段落是从检索库中获取到的文本。其中,检索库中包括有从网络上、或者人为导入等方式获取到的大量的文本,这些文本具体可以是新闻、散文、文章、文案等。
(3)目标编码器,为本申请实施例中智能写作模型的组成部分,通过对初始编码器进行训练得到。目标编码器用于对输入文本中的字词进行语义表征处理,以得到并输出多个词的词向量和能够代表输入文本的整体语义的词向量。其中,词的词向量用于以向量的形式表征词的语义。
(4)目标解码器,为本申请实施例中智能写作模型的组成部分,通过在智能写作模型的训练过程中,对初始解码器进行不断的调参训练得到。目标解码器用于根据目标编码器输出的各个词向量,生成关键词组的写作文本。
(5)语义表征模型,用于输出代表输入文本的整体语义的词向量。语义表征模型通过对前述提及的目标编码器(或者其他的可输出词向量的模型)进行训练得到。在本申请实施例中,语义表征模型在检索与关键词组匹配的文本段落的流程中使用。
(6)第一特殊字符、第二特殊字符、第三特殊字符、第五特殊字符以及第六特殊字符,都是用于代表输入模型的文本的整体语句的字符。由于本申请实施例中,不同步骤中输入到模型的文本是不同的,为了区分代表输入文本的整体语句的特殊字符,使用了第一特殊字符、第二特殊字符、第三特殊字符、第五特殊字符以及第六特殊字符区分表示,在实际使用过程中,可以统一使用相同的特殊字符来表征输入文本的整体语句,例如可以使用“CLS”字符。其中,第一特殊字符用于代表关键词组以及与关键词组匹配的文本段落的整体语句,第二特殊字符用于代表关键词组的整体语句,第三特殊字符用于代表检索库中的一个文本段落的整体语句,第四特殊字符用于代表句子样本的整体语句,第五特殊字符用于代表句子样本对应的正样例文本段落的整体语句。第六特殊字符用于代表句子样本对应的负样例文本段落的整体语句。
参阅图1,本申请实施例公开了一种文本生成方法,具体包括以下步骤:
S101、获取关键词组,其中关键词组包括至少一个关键词。
其中,关键词可以理解为是在用户需要自动生成写作文本的场景下,所提出的与需要生成的文本的主题相关的词,关键词组可以有一个或多个关键词,关键词提供的越多越详细,最终稿生成的该关键词组的写作文本也会越符合用户的需求。例如用户想要写一篇和朋友在草原上开心的野餐的作文,所提供的关键词组可以包括开心、野餐、草原、朋友这几个关键词。
获取关键词组的方式有很多,例如可以是用户在界面的输入框中输入关键词组,进而使得执行图1示出的方法的终端获取到关键词组。又例如可以是终端预先建立多个文本生成任务,在启动文本生成任务后,自动读取预先输入好的每一个关键词组。本申请实施例对于获取关键词组的方式不作限制。
其中,步骤S101中获取到的关键词组可以是文本格式,还可以是经过预处理之后的词向量形式,以便后续在执行步骤S103时,不需要再进行预处理。本申请实施例对于关键词组的表示形式不作限制。
S102、根据关键词组,检索得到与关键词组匹配的文本段落。
其中,与关键词组匹配的文本段落可以理解为是与关键词组中的关键词相关度最高的文本段落。该文本段落可以是文章、新闻、散文等等。
可选地,与关键词组匹配的文本段落可以是从检索库中获取得到。检索库中可以包括有各种文章、散文、新闻等。当出现新领域时,可以通过在检索库中不断添加新领域的文本段落,以使得通过图1示出的方法,最终生成的写作文本可与新领域的相适配。举例说明,随着科技发展,开始出现越来越多的人工智能技术,进而检索库可以不断收集人工智能技术领域的文本段落,以使得后续在需要自动生成人工智能技术的写作文本时,可以根据用户提供的关键词组,在检索库中检索得到人工智能技术领域中与关键词组匹配的文本段落。
可选地,在本申请一具体实施例中,可以通过BM25算法计算关键词组和检索库中的每一个文本段落之间的词汇重叠情况,以进行相关性打分,然后将相关性最高的确定为与关键词组匹配的文本段落。
可选地,参阅图2,在本申请另一具体实施例中,执行步骤S102的一种实施方式,包括:
S201、通过语义表征模型,对关键词组和第二特殊字符进行语义表征处理,得到第二特殊字符的最终词向量,其中第二特殊字符用于代表关键词组的整体语句,语义表征模型通过多个句子样本、句子样本对应的正样例文本段落、以及句子样本对应的负样例文本段落对目标编码器进行对比学习训练后得到,句子样本对应的正样例文本段落为与句子样本的主题相关的文本段落,句子样本对应的负样例文本段落为与句子样本的主题不相关的文本段落。
具体的,由前述的名词的定义的说明可知,语义表征模型用于输出能够代表输入文本的整体语义的词向量。因此,本申请实施例中使用第二特殊字符去表示关键词组的整体,然后将关键词组和第二特殊字符输入到语义表征模型中进行语义处理时,就能够根据关键词组的语义信息,输出能够表征关键词组整体语义的最终词向量,即为本申请实施例提出的第二特殊字符的最终词向量。
由于本申请实施例的语义表征模型是通过多个句子样本、句子样本对应的正样例文本段落、以及句子样本对应的负样例文本段落对目标编码器进行对比学习训练后得到的,因此,使用语义表征模型对关键词组进行语义表征处理后,所得到的第二特殊字符的最终词向量,会与该关键词组的主题相关的文本段落所表示成的第三特殊字符的最终词向量相似,且会与该关键词组的主题不相关的文本段落所表示成的第三特殊字符的最终词向量不相似,进而可以通过语义表征模型所表征出的整体语义的词向量,准确的找出与关键词组匹配的文本段落。
示例性的,执行步骤S201的一种实施方式,包括:对关键词组进行分词处理,得到多个待处理词(即关键词组中的关键词)。然后根据语义表征模型中的词汇表,匹配出每一个待处理词的初始词向量。然后将待处理词的初始词向量以及第二特殊字符的初始词向量输入至语义表征模型中,由语义表征模型得到并输出第二特殊字符的最终词向量,还输出各个待处理词的最终词向量。
具体的,词汇表中收集了多个词、字以及第二特殊字符的文本,并预先在词汇表中写入了各个词、字以及第二特殊字符的初始词向量。初始词向量用于表征文本的初始语义。初始词向量的语义表征并不是很准确,不能够准确反映出词的含义。在将关键词组进行分词处理,得到多个待处理词之后,可以针对每一个待处理词,将该待处理词在词汇表中进行匹配,得到该待处理词的初始词向量。同时使用第二特殊字符作为代表该关键词组的整体语句的字符,然后从词汇表中匹配出该第二特殊字符的初始词向量。在将各个待处理词和第二字符全部表征成词向量的形式之后,即可将各个待处理词和第二字符全部表征成词向量进行拼接,得到拼接序列,然后将拼接序列直接输入到语义表征模型中进行语义表征处理,最终由语义表征模型得到并输出第二特殊字符的最终词向量,还输出各个待处理词的最终词向量。生成的最终词向量相较于初始词向量来说,更能准确的表示出语义。
由前述本申请实施例提出的处理流程可以看出,本申请实施例中的语义表征模型是对词进行语义表示的模型,因此在需要对整体语句进行语义表示时,采用的方式也是将整体语句使用一个特殊字符(本实施例中为第二特殊字符)进行表示,进而可得到能够表示整体语义的词向量。相较于只对字进行语义表示的模型而言,本申请实施例的语义表征模型的输入向量序列更短,语义表征模型处理效率更高,且词的语义相较于字的语义更加丰富,进而使得语义表征模型输出的最终词向量的语义表征更加的准确,进而后续通过最终词向量检索出的与关键词组匹配的文本段落准确度也会更高。
可选地,词汇表中可以预先收集多个常用词、常用字、多个未使用的标志位(unused token)以及预设置所有用于表示整体语句的字符都采用“CLS”字符表示(即本实施例中的第二特殊字符),同时预配置了各个文本的初始词向量。当关键词组是属于某一个特定领域时,可以将词汇表中的unusedtoken替换成该特定领域中常用的专有名词,进而可以使得在执行步骤S201的过程中,更能准确的表示出该领域的关键词组的整体语义。当将词汇表中的unused token替换成该特定领域中常用的专有名词,在将本申请实施例提出的文本生成方法应用到新领域的场景下执行时,语义表征模型能够通过词汇表中的专有名词,更准确的生成专有名词的最终词向量,而不会出现难以表述出新领域中的专有名词的语义的情况,实现对新领域的场景的适配。
可选地,分词处理的方式有很多,例如可以先使用jieba、LTP等分词工具对关键词组进行分词,然后得到多个待处理词。然后遍历各个待处理词,若该待处理词在词汇表中存在,则表示成该待处理词的初始词向量形式,若不存在,则使用语义表征模型自带的分词函数再次分一次,然后将再次分词之后的待处理词(字)继续查看词汇表中是否存在,如果存在就表示成初始词向量的形式。如果词汇表中仍然不存在,则使用词汇表中一个特定字符的初始词向量表示。
可选地,参阅图3,在本申请一具体实施例中,语义表征模型的训练过程,包括:
S301、针对每一个句子样本,通过目标编码器,对句子样本和第四特殊字符进行语义表征处理,得到第四特殊字符的最终词向量,通过目标编码器,对句子样本对应的正样例文本段落和第五特殊字符进行语义表征处理,得到第五特殊字符的最终词向量,并通过目标编码器,对句子样本对应的负样例文本段落和第六特殊字符进行语义表征处理,得到第六特殊字符的最终词向量。
其中,第四特殊字符用于代表句子样本的整体语句,第五特殊字符用于代表句子样本对应的正样例文本段落的整体语句,第六特殊字符用于代表句子样本对应的负样例文本段落的整体语句。
具体的,可以预先构建好句子样本集,其中句子样本集中包括多个句子样本,句子样本指的是用于进行模型训练的句子。在执行步骤S301时,可以针对句子样本集中的每一个句子样本进行处理。
其中,通过目标编码器,对句子样本和第四特殊字符进行语义表征处理,得到第四特殊字符的最终词向量的过程,可以参考前述提及的步骤S201中的通过语义表征模型,对关键词组和第二特殊字符进行语义表征处理,得到第二特殊字符的最终词向量的过程。区别点仅在于输入文本不同,以及用于表示输入文本的整体的特殊字符的名称上不同,而步骤S201中的语义表征模型处理得到最终词向量的原理和流程、与步骤S301中的目标编码器的处理流程是相同的,语义表征模型可以理解为是经过图3训练之后的目标编码器。
类似的,通过目标编码器,对句子样本对应的正样例文本段落和第五特殊字符进行语义表征处理,得到第五特殊字符的最终词向量的过程、以及通过目标编码器、以及对句子样本对应的负样例文本段落和第六特殊字符进行语义表征处理,得到第六特殊字符的最终词向量的过程,同样可以参考步骤S201中的相关描述,此处不再赘述。
可选地,在本申请一具体实施例中,句子样本对应的正样例文本段落和句子样本对应的负样例文本段落的获取方式,包括:使用BM25算法计算句子样本和检索库中的文本段落之间的词汇重叠情况进行相关性打分,然后选取出相关性最高的N个文本段落。从N个文本段落中,挑选出与句子样本的主题一致的文本段落作为句子样本对应的正样例文本段落,挑选出与句子样本的主题不一致的文本段落作为句子样本对应的负样例文本段落。其中,N为正整数。
通过该方式选取出的句子样本对应的正样例文本段落和句子样本对应的负样例文本段落,在使用句子样本对应的正样例文本段落和句子样本对应的负样例文本段落对目标编码器进行训练之后,可以使得训练后的目标编码器具有区分开句子样本对应的正样例文本段落和句子样本对应的负样例文本段落的能力,以使得最终训练出的语义表征模型(即训练后的目标编码器)可以准确的计算出与关键词组匹配的文本段落,而不会将词汇重合度高、但实际主题并不一致的文本段落当做是与关键词组匹配的文本段落。
其中,BM25算法的公式为:
其中,tft,d和tft,q表示词汇(和词的意思相同)t分别在文本段落d和检索关键词q(在实施例中关键词指的是句子样本中的词)中的频率,idf(t)表示t的倒文档频率,b,k1,k2均为超参数。sBM25为检索主题词和文本段落d之间的词汇重叠情况进行相关性打分。表示词汇t和检索关键词q之间的词汇重叠情况进行相关性打分。/>表示词汇t和文本段落d之间的词汇重叠情况进行相关性打分。
S302、根据第四特殊字符的最终词向量、第五特殊字符的最终词向量以及第六特殊字符的最终词向量,计算得到目标编码器的损失值,其中目标编码器的损失值越低,则句子样本与句子样本对应的正样例文本段落之间的相似度越高、且句子样本与句子样本对应的负样例文本段落之间的相似度越低。
其中,第四特殊字符的最终词向量用于代表句子样本的整体语义,第五特殊字符的最终词向量用于代表句子样本对应的正样例文本段落的整体语义,第六特殊字符的最终词向量用于代表句子样本对应的负样例文本段落的整体语义。因此,第四特殊字符的最终词向量与第五特殊字符的最终词向量之间的相似度,能够反映出句子样本和句子样本对应的正样例文本段落之间的相似度,而第四特殊字符的最终词向量与第六特殊字符之间的相似度,则能够反映出句子样本和句子样本对应的负样例文本段落之间的相似度。
进而,将句子样本和句子样本对应的正样例文本段落之间的相似度、以及句子样本和句子样本对应的负样例文本段落之间的相似度代入至目标编码器的损失函数中,即可计算出目标编码器的损失值。
示例性的,目标编码器的损失函数可以为:
其中,s(q,d+)表示句子样本和句子样本对应的正样例文本段落之间的相似度(即第四特殊字符的最终词向量与第五特殊字符的最终词向量之间的相似度),表示句子样本和句子样本对应的第l个负样例文本段落之间的相似度(即第四特殊字符的最终词向量与第六特殊字符的最终词向量之间的相似度)。其中,相似度可以是通过计算最终词向量之间的内积确定。
S303、根据目标编码器的损失值,对目标编码器的参数进行调整,直至调整后的目标编码器的损失值满足预设的收敛条件时,将调整后的目标编码器确定为语义表征模型。
针对每一个句子样本,都可以计算通过前述步骤S301至步骤S302计算出目标编码器的损失值。具体的,可以每针对一个句子样本,计算出相应的损失值后,就对目标编码器的参数进行调整,还可以是累计多个句子样本计算出的损失值后,再对目标编码器的参数进行调整,以使得目标编码器经过参数调整之后,计算出的目标编码器的损失值越来越小,直至调整后的目标编码器的损失值满足预设的收敛条件时,认为此时的调整后的目标编码器能够满足步骤图2示出的检索出与关键词组匹配的文本段落的任务需求,因此直接将调整后的目标编码器确定为语义表征模型。
其中,该目标编码器的具体模型结构、模型类型等本申请实施例对此不作限制,例如可以使用BERT、GPT等预训练模型作为目标编码器。
具体的,为了使得图3示出的流程表述的更为清楚,本申请实施例进一步通过图4进行说明。如图4所示,以句子样本作为查询项Query,输入至BERT模型中,处理得到查询项的词向量VQuery,同样的又将该Query的正样例文本段落Positive输入到BERT模型中,得到Positive的词向量VPos,又将该Query的负样例文本段落Negative输入到BERT模型中,得到Negative的词向量VNeg。然后将VQuery、VPos、VNeg进行对比学习训练,通过VQuery、VPos、VNeg计算BERT的损失值Loss,进行梯度更新(即更新参数),以使得VQuery和VPos之间的距离(即相似度)最小化(Minimize),并使得VQuery和VNeg之间的距离最大化(Maximize),反映在特征图(Feature Map)上,就是VQuery和VPos在特征图上接近,而VQuery和VNeg在特征图上距离很远。
S202、通过语义表征模型,对检索库中的每一个文本段落以及文本段落对应的第三特殊字符进行语义表征处理,得到每一个文本段落对应的第三特殊字符的最终词向量,其中文本段落对应的第三特殊字符用于代表文本段落的整体语句。
其中,本申请实施例中使用第三特殊字符来表示文本段落的整体语句。通过语义表征模型,对检索库中的每一个文本段落以及文本段落对应的第三特殊字符进行语义表征处理之后,语义表征模型输出的第三特殊字符的最终词向量能够表征该文本段落的整体语义。
其中,步骤S202的执行过程和原理可以参考前述步骤S201的相关描述,区别点仅在于输入语义表征模型的文本不同,以及用于表示输入模型的文本的整体语句的特殊字符的名称不相同,此处不再赘述。
需要说明的是,步骤S201和步骤S202的执行先后顺序本申请实施例不作限制。
S203、分别计算第二特殊字符的最终词向量和每一个文本段落对应的第三特殊字符的最终词向量之间的相似度。
由于第二特殊字符的最终词向量能够用于表征关键词组的整体语义,而文本段落对应的第三特殊字符的最终词向量又能够表征文本段落的整体语义。因此通过计算第二特殊字符的最终词向量和文本段落对应的第三特殊字符的最终词向量之间的相似度,相当于计算了关键词组和文本段落之间的相似度。
关键词组和文本段落之间的相似度越高,就说明关键词组和文本段落所表示的整体语义之间是越接近的。相反,关键词组和文本段落之间的相似度越低,则说明关键词组和文本段落所表示的整体语义之间是越不一致的。
S204、将计算出的相似度最高的文本段落,确定为与关键词组匹配的文本段落。
在前述步骤S203中得到了第二特殊字符的最终词向量和每一个文本段落对应的第三特殊字符的最终词向量之间的相似度,进而可从中选取出相似度最高的文本段落,认为是整体语义和关键词组之间最为接近的文本段落,并将该相似度最高的文本段落,确定为与关键词组匹配的文本段落。
通过步骤S201至步骤S204的方式所确定出的与关键词组匹配的文本段落,相较于BM25算法所确定出的与关键词组匹配的文本段落会更为准确。BM25算法可能无法分辨出关键词组和检索库中文本段落之间的词汇重叠情况高,但实际主题却不一致的文本段落,而本申请实施例中的语义表征模型经过句子样本对应的正样例文本段落和负样例文本段落进行了对比学习,因此语义表征模型所表征出的最终词向量能够使得整体语义不相同的关键词组和文本段落之间的相似度很低,而整体语义相同的关键词组和文本段落之间的相似度很高,进而能够准确的确定出与关键词组匹配的文本段落。
S103、将关键词组和与关键词组匹配的文本段落输入至智能写作模型中,由智能写作模型生成关键词组的写作文本,其中关键词组的写作文本中的词由智能写作模型从词汇表、关键词组以及与关键词组匹配的文本段落中获取得到,智能写作模型通过多个句子样本、与句子样本匹配的文本段落以及句子样本的实际写作文本对初始写作模型进行训练得到。
具体的,关键词组和与关键词组匹配的文本段落共同输入到智能写作模型中,智能写作模型会根据关键词组中的各个关键词,并以与关键词组匹配的文本段落作为生成写作文本的参考,从词汇表、关键词组以及与关键词组匹配的文本段落中选取出需要生成的文本,最终得到关键词组的写作文本。其中,关键词组的写作文本可以是文章、文案、散文等,本申请实施例对于写作文本的具体类型不作限制。关键词组的写作文本可以理解为是智能写作模型按照关键词组给出的主题,所生成的相关文本。
由于智能写作模型是通过多个句子样本、与句子样本匹配的文本段落以及句子样本的实际写作文本对初始写作模型进行训练得到的,因此智能写作模型能够具备参考关键词组和与关键词组匹配的文本段落,生成关键词组的写作文本的能力。又由于智能写作模型生成的写作文本,参考到了关键词组和与关键词组匹配的文本段落,因此即使智能写作模型没有使用与关键词组相同领域的文本进行训练,但智能写作模型仍然能通过参考与关键词组匹配的文本段落的语句、专有名词概念的表述,生成适配这个领域场景的写作文本。相较于现有的写作模型,本申请实施例提出的智能写作模型可以快速的适用于各个新领域的场景中,不需要经过新领域的文本进行大量训练。
可选地,参阅图5,在本申请一具体实施例中,智能写作模型包括:目标编码器和目标解码器,执行步骤S103的一种实施方式,包括:
S501、通过目标编码器,对关键词组、与关键词组匹配的文本段落、以及第一特殊字符进行语义表征处理,得到每一个待处理词的最终词向量和第一特殊字符的最终词向量,其中待处理词为关键词组和与关键词组匹配的文本段落中的词,第一特殊字符用于代表关键词组以及与关键词组匹配的文本段落的整体语句,待处理词的初始词向量和第一特殊字符的初始词向量从词汇表中获取得到。
具体的,首先对关键词组和与关键词组匹配的文本段落进行分词处理,得到多个待处理词。然后通过词汇表,将多个待处理词以及第一特殊字符均表示为对应的初始词向量形式,然后将每一个待处理词的初始词向量和第一特殊字符的初始词向量输入到目标编码器中,由目标编码器得到并输出每一个待处理词的最终词向量和第一特殊字符的最终词向量。
经过目标编码器的处理之后,相较于原先输入到目标编码器的初始词向量,最终生成的最终词向量更能够准确的表述出语义。
其中,有关步骤S501的执行过程和原理,可以参考前述步骤S201,区别点主要在于输入的文本不同,用于代表文本整体的特殊字符的名称不同。虽然步骤S201中是语义表征模型的处理流程,但由前述描述可知,语义表征模型可以理解为是训练后的目标编码器,因此语义表征模型生成最终词向量的过程与目标编码器生成最终词向量的过程相同,可参见,此处不再赘述。
同样的,步骤S501中提及的词汇表可参见前述对词汇表的相关介绍,此处也不再赘述。
可选地,在本申请一具体实施例中,由于步骤S501中输入到目标编码器中的文本可以分为两部分,一部分是关键词组,另一部分是与关键词组匹配的文本段落,与关键词组匹配的文本段落可以看做是给关键词组进行补充的增强信息,为了使得最终生成的写作文本更为准确,在目标编码器进行语义表征处理的过程中,还可以增加输入一个间隔字符,以间隔开关键词组、以及与关键词组匹配的文本段落。即执行步骤S501的一种实施方式,可以是:
通过目标编码器,对关键词组、与关键词组匹配的文本段落、第一特殊字符以及间隔字符进行语义表征处理,得到每一个待处理词的最终词向量、第一特殊字符的最终词向量以及间隔字符的最终词向量。其中,间隔字符的最终词向量实际上不表示语义,主要作用在于间隔开两个不同部分的文本的初始词向量,以使得最终生成智能写作模型的过程中,能够区分开关键词组部分的最终词向量和作为补充信息的文本段落部分的最终词向量,进而生成表述更加符合关键词组的主题的写作文本。
可选地,还可以在输入目标编码器中的初始词向量上使用特定的片段id区分开关键词组部分的初始词向量、以及与关键词组匹配的文本段落部分的初始词向量。示例性的,属于关键词组部分的初始词向量可以采用第一片段ID标记,例如采用0标记,属于与关键词组匹配的文本段落部分的初始词向量可以采用第二片段ID标记,第一片段ID和第二片段ID标记不同,例如可以采用1标记。
举例说明,参阅图6,第一特殊字符为CLS、关键词组为“詹姆斯、湖人、NBA、冠军”、间隔字符为SEP、与关键词组匹配的文本段落为“湖人击败热火,夺得2020赛季NBA总冠军”。对关键词组以及与关键词组匹配的文本段落进行分词,得到多个待处理词。然后对关键词组部分的待处理词以及第一特殊字符的部分采用“0”标记,对与关键词组匹配的文本段落以及间隔字符部分则采用“1”标记,以实现区分。接着通过词汇表,匹配出各个待处理词、CLS以及SEP在词汇表中的ID(即图6中的Topic words ids)。如图6所示,“CLS”在词汇表中的Topic words ids为101,SEP的Topic words ids为102。在确定出各个待处理词和特殊字符的Topic words ids之后,选用Topic words ids对应的初始词向量进行表示,然后将各个待处理词的初始词向量、CLS的初始词向量以及SEP的初始词向量都输入到目标编码器Encoder中,得到并输出hCLS、hSEP、h1、h2、…、h18这些最终词向量。
可选地,在本申请一具体实施例中,目标编码器可以预先通过多个处理后的句子样本对初始编码器进行训练得到。其中,处理后的句子样本为将句子样本中的至少一个词替换成标记字符之后的句子样本。
示例性的,参阅图7,目标编码器的训练过程,可以包括以下步骤:
S701、针对每一个句子样本,将句子样本中的至少一个词替换成标记字符,得到处理后的句子样本。
其中,句子样本可参考前述语义表征模型的训练过程部分对句子样本的相关介绍,此处不再赘述。
为了使得目标编码器输出的最终词向量能够准确的表示出词的语义,本申请实施例通过图7示出的流程,对初始编码器执行掩码语言模型(Masked Language Model,MLM)的预训练任务。MLM任务主要是随机地对每一个输入序列中的词替换成“MASK”这一标记字符,然后预测出MASK位置原有的词。其中,标记字符的具体字符表示方式有很多,包括但不限于“MASK”。
步骤S701中,针对每一个句子样本,将句子样本中的至少一个词替换成标记字符,以起到遮掩该词的作用。在一些实施例中,为了使得预训练效果更好,可以选取句子样本中最为关键的词替换成标记字符。其中,替换成标记字符的词的数量本实施例不作限制。
S702、将处理后的句子样本进行分词处理,得到多个词样本和标记字符。
具体的,可以先使用分词工具进行分词,然后若分词之后出现了不在词汇表中的词,再使用目标编码器的分词算法再一次分词,得到多个字。经过分词处理后,可以得到多个词样本(个别情况会出现字样本)和标记字符。
S703、将每一个词样本的初始词向量、标记字符的初始词向量以及第四特殊字符的初始词向量输入至初始编码器中,由初始编码器通过N层编码层处理得到每一个词样本的第N层词向量、标记字符的第N层词向量以及第四特殊字符的第N层词向量,其中第四特殊字符用于代表句子样本的整体语句,词样本的初始词向量、标记字符的初始词向量以及第四特殊字符的初始词向量从词汇表中获取得到。
具体的,初始编码器是一个由N+1层编码层组合起来的编码器。每一个编码层的作用都是对上一个编码层输出的词向量进行处理,生成当前这一编码层的词向量。例如,第3层编码层接收第2层编码层输出的第2层词向量,处理得到第3层词向量。
词向量经过越多层编码层处理,所能够表示出的语义会越丰富、准确,语义表征效果越好。在步骤S703中,将将每一个词样本的初始词向量、标记字符的初始词向量以及第四特殊字符的初始词向量采用N层编码层进行处理,得到并输出每一个词样本的第N层词向量、标记字符的第N层词向量以及第四特殊字符的第N层词向量。其中,第四特殊字符用于表示整个句子样本的整体语句。
S704、将第四特殊字符的第N层词向量、每一个词样本的第K层词向量以及标记字符的第K层词向量输入至初始编码器的第N+1层编码层中,由第N+1层编码层得到并输出每一个词样本的最终词向量、标记字符的最终词向量以及第四特殊字符的最终词向量,其中,K为小于N的正整数。
其中,步骤S704中的最终词向量均可以理解为是最后一层(即第N+1)层的词向量。为了使得第四特殊字符所表征的句子样本整体语义能够有更好的语义表征效果,可以将第四特殊字符的第N层词向量和第K层输出的每一个词样本的第K层词向量以及标记字符的第K层词向量,共同输入到第N+1层编码层中,以实现语义的压缩,最终生成的第四特殊字符的最终词向量(即第N+1层词向量)压缩了第K层输出的词向量的语义,通过压缩语义表征效果较差的第K层词向量的语义,所生成的第四特殊字符的最终词向量的表征能力会在训练中得到提升。只有当第四特殊字符的第N层词向量所表示的整体语义足够好的情况下,才能使得,最终N+1层编码层得到并输出每一个词样本的最终词向量、标记字符的最终词向量以及第四特殊字符的最终词向量足够准确。
举例说明,如图8所示,将“今天天气非常不错”这一个句子样本中的“非常”替换成了“MASK”,得到处理后的句子样本,然后将处理后的句子样本进行分词,得到“今天”、“天气”、“不错”这三个词样本和“MASK”标记字符。接着将第四特殊字符“CLS”、“今天”、“天气”、“MASK”、“不错”经过12层编码层encode处理,得到对应的第12层词向量。然后又将CLS的第12层词向量、以及“今天”、“天气”、“MASK”的第4层词向量输入到最后一层编码层中,进而最后一层输出“CLS”、“今天”、“天气”、“MASK”的最终词向量。
S705、根据标记字符的最终词向量所表征的语义与标记字符对应的替换前的词的语义之间的误差,对初始编码器的参数进行调整,直至调整后的初始编码器的误差满足预设的收敛条件时,将调整后的初始编码器确定为目标编码器。
通过S704输出的标记字符的最终词向量中表征的语义,可以确定出初始编码器预测出的标记字符的词是什么,进而可以根据初始编码器预测出的词和与标记字符对应的替换前的词(即实际的词)进行比对,如果一致则认为不存在误差,如果不一致,就需要根据标记字符的最终词向量所表征的语义与标记字符对应的替换前的词的语义之间的误差,对初始编码器的参数进行调整,直至调整后的初始编码器的误差满足预设的收敛条件时,认为调整后的初始编码器所表征的语义符合需求,因此将调整后的初始编码器确定为目标编码器。
需要说明的是,使用前述图7训练出的目标编码器执行步骤S501时,可以是直接通过N层编码层处理得到最终词向量,即训练过程中使用到的第N+1层编码层可以去除,且在执行步骤S501时,每一层编码层的输入都是上一层编码层的输出,不需要像图7的训练流程一样将第K层的词向量输入到最后一层中。
可选地,除了采用图7的流程训练目标编码器完成MLM任务之外,为了进一步提高目标编码器的语义表征能力,还可以对初始编码器再进行语句预测任务(Next SentencePrediction,NSP)的训练,将训练后的初始编码器,确定为目标编码器。其中,NSP任务简单来说就是基于用于表示句子整体语义的字符的词向量,预测两个句子是否连在一起。
S502、将每一个待处理词的最终词向量以及第一特殊字符的最终词向量输入至目标解码器中,由目标解码器得到并输出关键词组的写作文本。
目标解码器根据待处理词的最终词向量以及第一特殊字符的最终词向量所表示的语义,从词汇表以及所有待处理词(即前述提及的关键词组和文本段落中的词)中逐个选取出需要生成的词,将依次生成的词组成关键词组的写作文本。
可选地,目标解码器在生成当前一个词的过程中,采用上一个生成的词的最终词向量、每一个待处理词的最终词向量以及第一特殊字符的最终词向量作为输入,进而生成当前的词的最终词向量。
可选地,若步骤S501中还有向目标编码器输入间隔字符的初始词向量,则执行步骤S502时,还有将间隔字符的最终词向量输入至目标解码器中。
可选地,参阅图9,在本申请一具体实施例中,执行步骤S502的一种实施方式,包括:
S901、向目标解码器输入开始词的初始词向量、每一个待处理词的最终词向量以及第一特殊字符的最终词向量,由目标解码器融合得到开始词的最终词向量。
其中,开始词代表着目标编码器开始生成写作文本。当目标解码器接收到开始词的初始词向量后,就触发进入生成写作文本的状态。开始词可以预先进行设定好,每一次使用目标编码器生成写作文本时都可以首先统一输入预先设定好的开始词的初始词向量,例如可以如图8所示,选择在目标解码器中输入“start”作为开始词。开始词的初始词向量可以从词汇表中获取。
向目标解码器输入开始词的初始词向量之后,目标解码器获取目标编码器输出的每一个待处理词的最终词向量、第一特殊字符的最终词向量,然后将每一个待处理词的最终词向量、第一特殊字符的最终词向量以及开始词的初始词向量进行自注意力机制(self-Attention)计算,得到开始词的最终词向量。其中,开始词的最终词向量中融合了开始词、每一个待处理词以及第一特殊字符的语义信息,进而在后续通过该开始词的最终词向量预测需要生成的词时,预测准确率会提升。
示例性的,融合得到开始词的最终词向量的计算过程可以是:将开始词的初始词向量分别和目标编码器输出的所有最终词向量计算相似度,然后根据计算出的相似度赋予目标编码器输出的最终词向量不同的权重。相似度高的,赋予的权重越高。然后将所有赋予权重之后的最终词向量加权求和,得到开始词的最终词向量。
S902、根据开始词的最终词向量,计算得到词汇表中每一个词的生成概率,并根据开始词的最终词向量,计算得到每一个待处理词的生成概率。
示例性的,根据开始词的最终词向量,计算得到每一个待处理词的生成概率的计算过程为:针对每一个待处理词,计算开始词的最终词向量和待处理词的最终词向量之间的注意力(Attention)权重值,该权重值用于说明待处理词的生成概率。
可选地,Attention权重值的计算公式为:
at=softmax(et)。
其中,为未归一化的第i个待处理词的Attention权重值。vT是一个固定矩阵,Wh和Ws都是权重矩阵,battn是一个偏执项,st为开始词的最终词向量,hi为第i个待处理词的初始词向量,at为归一化后的第i个待处理词的Attention权重值。softmax()为归一化函数。
词的生成概率可以理解为是目标解码器预测出的排在开始词之后的词的概率。例如,词汇表中的“今天”这一个词的生成概率为80%,则说明“今天”这个词有80%的概率排在开始词之后。待处理词的生成概率也是类似的,此处不再赘述。
S903、从词汇表中的每一个词以及每一个待处理词中,选取出生成概率最高的词,确定为目标解码器在当前生成的词。
生成概率越高,则说明是开始词之后的下一个词的概率越高。因此将生成概率最高的词,确定为目标解码器在当前生成的词,目标解码器输出当前生成的词的初始词向量。
S904、将目标解码器在当前生成的词作为新的开始词,返回至向目标解码器输入开始词的初始词向量、每一个待处理词的最终词向量以及第一特殊字符的最终词向量,由解码器融合得到开始词的最终词向量的步骤,直至目标解码器生成的词为结束词为止;其中,关键词组的写作文本由解码器生成的词按照生成顺序拼接得到。
目标解码器当前生成了一个排列在开始词之后的词,然后又将当前生成的词当做是新的开始词,重新返回至步骤S901中,即重新执行图9示出的步骤,以实现生成下一个词。以此重复下去,目标解码器当前一次生成的词会成为下一次生成过程中的输入,即根据上一次生成的词,预测出下一次生成的词,直至生成结束词为止,认为目标解码器不会再生成新的词,因此结束流程。
目标解码器结束生成新的词之后,将所有生成的词按照生成顺序进行拼接,得到了关键词组的写作文本。
举例说明,如图8所示,向目标解码器Decoder输入开始词“start”的初始词向量后,经过self-Attention计算之后,得到“start”的最终词向量,然后使用“start”的最终词向量,计算词汇表中每一个词和每一个待处理词的Attention权重值,得到词汇表中每一个词的生成概率和每一个待处理词的生成概率。最终选取出生成概率最高的词为“湖人”,进而Decoder输出湖人的初始词向量S0。将湖人的初始词向量输入到Decoder中,Decoder又预测出了排在湖人之后的是2020的初始词向量S1。以此类推,又将2020的初始词向量输入到Decoder中,得到下一个生成词为赛季,Decoder又根据赛季这一个词,预测出下一个词为击败……
由图9示出的流程可以看出,智能写作模型中的目标解码器,在预测生成的词的过程中,融合了输入到目标编码器中的各个待处理词的语义信息,提升了预测准确率。且目标解码器通过运用Attention机制,以使得输入到目标编码器的文本中的词语(即前述提及的待处理词)能够以更大的概率出现在生成结果中,从而使智能写作模型的输出结果更加准确,更加贴合关键词组的语义,增强了模型效果。
前述在图7示出的实施例中,介绍了智能写作模型中的目标编码器的训练过程,而有前述图9示出的实施例可知,智能写作模型可以由目标编码器和目标解码器组成,而目标解码器则可以是在对智能写作模型进行训练的过程中,通过不断调整初始解码器的参数,最终得到目标解码器。可选地,参阅图10,智能写作模型的训练过程包括以下步骤:
S1001、构建初始写作模型,其中初始写作模型包括:目标编码器和初始解码器,目标编码器通过多个句子样本对初始编码器进行训练得到。
有关目标编码器的训练过程可以参考前述图7示出的流程,此处不再赘述。在另一些实施例中,初始写作模型也可以包括初始编码器和初始解码器。即不预先训练得到目标编码器,而是在训练智能写作模型的过程中,同时对初始编码器和初始解码器都进行训练。其中,预先训练出目标编码器之后,再将目标编码器和初始编码器组合成初始写作模型,后续通过对初始写作模型进行训练,以得到智能写作模型时,效率会比较高。由于目标编码器已经能够准确的表示出各个词的词向量,进而使得训练初始写作模型时,只需要调整初始解码器的参数,还可以再微调一下目标编码器的参数,即可快速训练得到智能写作模型。
S1002、针对每一个句子样本,检索得到与句子样本匹配的文本段落。
其中,步骤S1002的执行过程和原理,可以参考前述图1示出的步骤S102,区别点只在于检索时使用的检索文本不一样。
S1003、通过目标编码器,对句子样本、与句子样本匹配的文本段落以及第四特殊字符进行语义表征处理,得到每一个词样本的最终词向量和第四特殊字符的最终词向量,其中第四特殊字符用于代表句子样本的整体语句,词样本为句子样本和与句子样本匹配的文本段落中的词,词样本的初始词向量以及第四特殊字符的初始词向量从词汇表中获取得到。
其中,步骤S1003的执行过程和原理,可以参考前述图5示出的步骤S501,区别点在于目标编码器的输入文本不同,用于表示输入文本的整体语句的特殊字符的名称也不相同。
S1004、向初始解码器输入开始词的初始词向量、每一个词样本的最终词向量以及第四特殊字符的最终词向量,由初始解码器融合得到开始词的最终词向量。
其中,步骤S1004的执行过程和原理,可以参考前述图9示出的步骤S901,区别点在于步骤S1004是初始解码器进行处理,而步骤S901是目标解码器进行处理,初始解码器和目标解码器对词向量的处理流程相同。
S1005、根据开始词的最终词向量,计算得到词汇表中每一个词的生成概率,并根据开始词的最终词向量,计算得到每一个词样本的生成概率。
其中,步骤S1005的执行过程和原理,可以参考前述图9示出的步骤S902,此处不再赘述。
S1006、从词汇表中的每一个词以及每一个词样本中,选取出生成概率最高的词,确定为初始解码器在当前生成的词。
其中,步骤S1006的执行过程和原理,可以参考前述图9示出的步骤S903,区别点在于步骤S1006是初始解码器生成的词,而步骤S903是目标解码器生成的词,而初始解码器和目标解码器生成词的流程相同。
S1007、根据初始解码器在当前生成的词和实际需生成的词之间的误差,对初始写作模型的参数进行调整,并从初始解码器在当前生成的词和实际需生成的词中选取出其中一个词作为新的开始词,返回至向初始解码器输入开始词的初始词向量、每一个词样本的最终词向量以及第四特殊字符的最终词向量,由初始解码器融合得到开始词的最终词向量的步骤,直至调整后的初始写作模型在当前生成的所有词和实际需生成的词之间的误差满足收敛条件时,将调整后的初始写作模型确定为智能写作模型;其中,实际需生成的词从句子样本的实际写作文本中获取。
实际需生成的词指的是当前需要初始解码器预测出的词。具体的,预先准备好了实际写作文本,实际写作文本包括多个按照顺序排列的词。实际写作文本的第一个词则为初始解码器实际需生成的第一个词,实际写作文本中的第二个词则为初始解码器实际需生成的第二个词……以此类推,可从实际写作文本中确定出初始解码器每一次生成的词的实际目标。
通过前述步骤S1006,初始解码器预测出了一个需要在当前生成的词,如果初始解码器在当前生成的词,和从实际写作文本中读取到的当前实际需生成的词不一致,则说明存在误差,进而根据初始解码器在当前生成的词和实际需生成的词之间的误差,对初始写作模型的参数进行调整,然后继续从初始解码器在当前生成的词和实际需生成的词中选取出其中一个词作为新的开始词,返回至步骤S1004。如果根据初始解码器在当前生成的词和实际需生成的词一致,则不作参数调整,直接从初始解码器在当前生成的词和实际需生成的词中选取出其中一个词作为新的开始词,返回至步骤S1004,以继续训练初始编码器生成下一个词。
直到调整后的初始写作模型所生成的所有的词和生成的词所对应的实际需生成的词之间的误差满足收敛条件时,认为调整后的初始写作模型能够准确的生成写作文本,因此将调整后的初始写作模型确定为智能写作模型。
可选地,从初始解码器在当前生成的词和实际需生成的词中选取出其中一个词作为新的开始词的一种实施方式,包括:按照预设的选取概率,从初始解码器在当前生成的词和实际需生成的词中选取出其中一个词作为新的开始词。预设的选取概率可以是选取当前生成的词的概率。例如可以将预设的选取概率设定为15%,进而在选取出新的开始词时,有15%的概率选取的是当前生成的词作为新的开始词。
由于实际使用目标解码器的过程中,都是采用当前生成的词作为新的开始词的,因此为了保障实际使用目标解码器的过程(即推理过程)和训练过程保持一致,不会出现曝光偏差的问题,本申请实施例中会按照预设的选取概率选取当前生成的词作为新的开始词,而不会只使用实际需生成的词作为新的开始词,通过该方式训练出的目标解码器容错率较高,减小了前一个生成的词的预测失误对后续生成的词的影响。且在训练过程中仍然有一定概率使用实际需生成的词作为新的开始词,保障了训练效率,可快速训练出智能写作模型。
需要说明的是,调整初始写作模型的参数,可以理解为是调整初始解码器的参数,还可以微调目标编码器的参数。将调整后的初始写作模型中的初始解码器确定为目标解码器,最终目标编码器和目标解码器组成了智能写作模型。
本发明实施例提供的文本生成方法,通过关键词组,检索得到与关键词组匹配的文本段落。然后将关键词组和与关键词组匹配的文本段落输入至智能写作模型中,由智能写作模型生成关键词组的写作文本。由于智能写作模型生成的写作文本是通过关键词组以及与关键词组匹配的文本段落生成的,且关键词组的写作文本中的词也是从智能写作模型从词汇表、关键词组以及与关键词组匹配的文本段落中获取得到的,因此智能写作模型生成的关键词组的写作文本参考了关键词组匹配的文本段落中使用的专有名词、概念等撰写用语,即使智能写作模型未采用该关键词组所属的领域的文本进行过训练,所生成的关键词组的写作文本依然可适配该关键词组所属的领域,满足了快速适配多个新领域的需求。
参阅图11,本申请实施例公开了一种文本生成装置,包括:获取单元1101、第一检索单元1102以及第一生成单元1103。
获取单元1101,用于获取关键词组。其中,关键词组包括至少一个关键词。
第一检索单元1102,用于根据关键词组,检索得到与关键词组匹配的文本段落。
第一生成单元1103,用于将关键词组和与关键词组匹配的文本段落输入至智能写作模型中,由智能写作模型生成关键词组的写作文本。其中,关键词组的写作文本中的词由智能写作模型从词汇表、关键词组以及与关键词组匹配的文本段落中获取得到。智能写作模型通过多个句子样本、与句子样本匹配的文本段落以及句子样本的实际写作文本对初始写作模型进行训练得到。
可选地,智能写作模型包括:目标编码器和目标解码器。第一生成单元1103,包括:第一语义表征子单元和第一生成子单元。
第一语义表征子单元,用于通过目标编码器,对关键词组、与关键词组匹配的文本段落、以及第一特殊字符进行语义表征处理,得到每一个待处理词的最终词向量和第一特殊字符的最终词向量。其中,待处理词为关键词组和与关键词组匹配的文本段落中的词。第一特殊字符用于代表关键词组以及与关键词组匹配的文本段落的整体语句。待处理词的初始词向量和第一特殊字符的初始词向量从词汇表中获取得到。
第一生成子单元,用于将每一个待处理词的最终词向量以及第一特殊字符的最终词向量输入至目标解码器中,由目标解码器得到并输出关键词组的写作文本。
可选地,第一生成子单元包括:融合子单元、第一计算子单元、第一确定子单元以及第一返回子单元。
融合子单元,用于向目标解码器输入开始词的初始词向量、每一个待处理词的最终词向量以及第一特殊字符的最终词向量,由目标解码器融合得到开始词的最终词向量。
第一计算子单元,用于根据开始词的最终词向量,计算得到词汇表中每一个词的生成概率。并根据开始词的最终词向量,计算得到每一个待处理词的生成概率。
第一确定子单元,用于从词汇表中的每一个词以及每一个待处理词中,选取出生成概率最高的词,确定为目标解码器在当前生成的词。
第一返回子单元,用于将目标解码器在当前生成的词作为新的开始词,返回至向目标解码器输入开始词的初始词向量、每一个待处理词的最终词向量以及第一特殊字符的最终词向量,由解码器融合得到开始词的最终词向量的步骤,直至目标解码器生成的词为结束词为止。其中,关键词组的写作文本由解码器生成的词按照生成顺序拼接得到。
可选地,第一检索单元1102包括:第二语义表征子单元、第二计算子单元以及第二确定子单元。
第二语义表征子单元,用于通过语义表征模型,对关键词组和第二特殊字符进行语义表征处理,得到第二特殊字符的最终词向量。并通过语义表征模型,对检索库中的每一个文本段落以及文本段落对应的第三特殊字符进行语义表征处理,得到每一个文本段落对应的第三特殊字符的最终词向量。其中,第二特殊字符用于代表关键词组的整体语句。文本段落对应的第三特殊字符用于代表文本段落的整体语句。语义表征模型通过多个句子样本、句子样本对应的正样例文本段落、以及句子样本对应的负样例文本段落对目标编码器进行对比学习训练后得到。句子样本对应的正样例文本段落为与句子样本的主题相关的文本段落。句子样本对应的负样例文本段落为与句子样本的主题不相关的文本段落。
第二计算子单元,用于分别计算第二特殊字符的最终词向量和每一个文本段落对应的第三特殊字符的最终词向量之间的相似度。
第二确定子单元,用于将计算出的相似度最高的文本段落,确定为与关键词组匹配的文本段落。
可选地,文本生成装置还包括:替换单元、分词单元、第一编码单元、第二编码单元以及第一调整单元。
替换单元,用于针对每一个句子样本,将句子样本中的至少一个词替换成标记字符,得到处理后的句子样本。
分词单元,用于将处理后的句子样本进行分词处理,得到多个词样本和标记字符。
第一编码单元,用于将每一个词样本的初始词向量、标记字符的初始词向量以及第四特殊字符的初始词向量输入至初始编码器中,由初始编码器通过N层编码层处理得到每一个词样本的第N层词向量、标记字符的第N层词向量以及第四特殊字符的第N层词向量。其中,第四特殊字符用于代表句子样本的整体语句。词样本的初始词向量、标记字符的初始词向量以及第四特殊字符的初始词向量从词汇表中获取得到。
第二编码单元,用于将第四特殊字符的第N层词向量、每一个词样本的第K层词向量以及标记字符的第K层词向量输入至初始编码器的第N+1层编码层中,由第N+1层编码层得到并输出每一个词样本的最终词向量、标记字符的最终词向量以及第四特殊字符的最终词向量。其中,K为小于N的正整数。
第一调整单元,用于根据标记字符的最终词向量所表征的语义与标记字符对应的替换前的词的语义之间的误差,对初始编码器的参数进行调整,直至调整后的初始编码器的误差满足预设的收敛条件时,将调整后的初始编码器确定为目标编码器。
可选地,文本生成装置还包括:构建单元、第二检索单元、第一处理单元、融合单元、第一计算单元、选取单元以及第二调整单元。
构建单元,用于构建初始写作模型。其中,初始写作模型包括:目标编码器和初始解码器。目标编码器通过多个句子样本对初始编码器进行训练得到。
第二检索单元,用于针对每一个句子样本,检索得到与句子样本匹配的文本段落。
第一处理单元,用于通过目标编码器,对句子样本、与句子样本匹配的文本段落以及第四特殊字符进行语义表征处理,得到每一个词样本的最终词向量和第四特殊字符的最终词向量。其中,第四特殊字符用于代表句子样本的整体语句。词样本为句子样本和与句子样本匹配的文本段落中的词。词样本的初始词向量以及第四特殊字符的初始词向量从词汇表中获取得到。
融合单元,用于向初始解码器输入开始词的初始词向量、每一个词样本的最终词向量以及第四特殊字符的最终词向量,由初始解码器融合得到开始词的最终词向量。
第一计算单元,用于根据开始词的最终词向量,计算得到词汇表中每一个词的生成概率。并根据开始词的最终词向量,计算得到每一个词样本的生成概率。
选取单元,用于从词汇表中的每一个词以及每一个词样本中,选取出生成概率最高的词,确定为初始解码器在当前生成的词。
第二调整单元,用于根据初始解码器在当前生成的词和实际需生成的词之间的误差,对初始写作模型的参数进行调整,并从初始解码器在当前生成的词和实际需生成的词中选取出其中一个词作为新的开始词,返回至向初始解码器输入开始词的初始词向量、每一个词样本的最终词向量以及第四特殊字符的最终词向量,由初始解码器融合得到开始词的最终词向量的步骤,直至调整后的初始写作模型生成的所有词和实际需生成的词之间的误差满足收敛条件时,将调整后的初始写作模型确定为智能写作模型。其中,实际需生成的词从句子样本的实际写作文本中获取。
可选地,文本生成装置还包括:第二处理单元、第二计算单元以及第三调整单元。
第二处理单元,用于针对每一个句子样本,通过目标编码器,对句子样本和第四特殊字符进行语义表征处理,得到第四特殊字符的最终词向量。通过目标编码器,对句子样本对应的正样例文本段落和第五特殊字符进行语义表征处理,得到第五特殊字符的最终词向量。并通过目标编码器,对句子样本对应的负样例文本段落和第六特殊字符进行语义表征处理,得到第六特殊字符的最终词向量。其中,第四特殊字符用于代表句子样本的整体语句。第五特殊字符用于代表句子样本对应的正样例文本段落的整体语句。第六特殊字符用于代表句子样本对应的负样例文本段落的整体语句。
第二计算单元,用于根据第四特殊字符的最终词向量、第五特殊字符的最终词向量以及第六特殊字符的最终词向量,计算得到目标编码器的损失值。其中,目标编码器的损失值越低,则句子样本与句子样本对应的正样例文本段落之间的相似度越高、且句子样本与句子样本对应的负样例文本段落之间的相似度越低。
第三调整单元,用于根据目标编码器的损失值,对目标编码器的参数进行调整,直至调整后的目标编码器的损失值满足预设的收敛条件时,将调整后的目标编码器确定为语义表征模型。
其中,文本生成装置的各个单元和子单元的原理和执行过程可参考前述本申请实施例提出的文本生成方法,此处不再赘述。
基于上述本申请实施例提出的文本生成装置,通过第一检索单元1102关键词组,检索得到与关键词组匹配的文本段落。然后第一生成单元1103将关键词组和与关键词组匹配的文本段落输入至智能写作模型中,由智能写作模型生成关键词组的写作文本。由于智能写作模型生成的写作文本是通过关键词组以及与关键词组匹配的文本段落生成的,且关键词组的写作文本中的词也是从智能写作模型从词汇表、关键词组以及与关键词组匹配的文本段落中获取得到的,因此智能写作模型生成的关键词组的写作文本参考了关键词组匹配的文本段落中使用的专有名词、概念等撰写用语,即使智能写作模型未采用该关键词组所属的领域的文本进行过训练,所生成的关键词组的写作文本依然可适配该关键词组所属的领域,满足了快速适配多个新领域的需求。
本申请还公开了一种计算机可读介质,其上存储有计算机程序,其中,所述程序被处理器执行时实现如上述任一所述的文本生成方法。
本申请还公开了一种文本生成设备,包括:一个或多个处理器;存储装置,其上存储有一个或多个程序;当一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上述任一所述的文本生成方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于***或***实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的***及***实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种文本生成方法,其特征在于,包括:
获取关键词组;其中,所述关键词组包括至少一个关键词;
根据所述关键词组,检索得到与所述关键词组匹配的文本段落;
将所述关键词组和与所述关键词组匹配的文本段落输入至智能写作模型中,由所述智能写作模型生成所述关键词组的写作文本;其中,所述关键词组的写作文本中的词由所述智能写作模型从词汇表、所述关键词组以及与所述关键词组匹配的文本段落中获取得到;所述智能写作模型通过多个句子样本、与所述句子样本匹配的文本段落以及所述句子样本的实际写作文本对初始写作模型进行训练得到。
2.根据权利要求1所述的方法,其特征在于,所述智能写作模型包括:目标编码器和目标解码器;所述将所述关键词组和与所述关键词组匹配的文本段落输入至智能写作模型中,由所述智能写作模型生成所述关键词组的写作文本,包括:
通过所述目标编码器,对所述关键词组、与所述关键词组匹配的文本段落、以及第一特殊字符进行语义表征处理,得到每一个所述待处理词的最终词向量和所述第一特殊字符的最终词向量;其中,所述待处理词为所述关键词组和与所述关键词组匹配的文本段落中的词;所述第一特殊字符用于代表所述关键词组以及与所述关键词组匹配的文本段落的整体语句;所述待处理词的初始词向量和所述第一特殊字符的初始词向量从词汇表中获取得到;
将每一个所述待处理词的最终词向量以及所述第一特殊字符的最终词向量输入至所述目标解码器中,由所述目标解码器得到并输出所述关键词组的写作文本。
3.根据权利要求2所述的方法,其特征在于,所述将每一个所述待处理词的最终词向量以及所述第一特殊字符的最终词向量输入至所述目标解码器中,由所述目标解码器得到并输出所述关键词组的写作文本,包括:
向所述目标解码器输入开始词的初始词向量、每一个所述待处理词的最终词向量以及所述第一特殊字符的最终词向量,由所述目标解码器融合得到所述开始词的最终词向量;
根据所述开始词的最终词向量,计算得到词汇表中每一个词的生成概率;并根据所述开始词的最终词向量,计算得到每一个所述待处理词的生成概率;
从词汇表中的每一个词以及每一个所述待处理词中,选取出生成概率最高的词,确定为所述目标解码器在当前生成的词;
将所述目标解码器在当前生成的词作为新的开始词,返回至所述向所述目标解码器输入开始词的初始词向量、每一个所述待处理词的最终词向量以及所述第一特殊字符的最终词向量,由所述解码器融合得到所述开始词的最终词向量的步骤,直至所述目标解码器生成的词为结束词为止;其中,所述关键词组的写作文本由所述解码器生成的词按照生成顺序拼接得到。
4.根据权利要求1所述的方法,其特征在于,所述根据所述关键词组,检索得到与所述关键词组匹配的文本段落,包括:
通过语义表征模型,对所述关键词组和第二特殊字符进行语义表征处理,得到第二特殊字符的最终词向量;并通过所述语义表征模型,对检索库中的每一个文本段落以及所述文本段落对应的第三特殊字符进行语义表征处理,得到每一个所述文本段落对应的第三特殊字符的最终词向量;其中,所述第二特殊字符用于代表所述关键词组的整体语句;所述文本段落对应的第三特殊字符用于代表所述文本段落的整体语句;所述语义表征模型通过多个句子样本、所述句子样本对应的正样例文本段落、以及所述句子样本对应的负样例文本段落对所述目标编码器进行对比学习训练后得到;所述句子样本对应的正样例文本段落为与所述句子样本的主题相关的文本段落;所述句子样本对应的负样例文本段落为与所述句子样本的主题不相关的文本段落;
分别计算所述第二特殊字符的最终词向量和每一个所述文本段落对应的第三特殊字符的最终词向量之间的相似度;
将计算出的相似度最高的文本段落,确定为与所述关键词组匹配的文本段落。
5.根据权利要求2至4任一所述的方法,其特征在于,所述目标编码器的训练过程,包括:
针对每一个句子样本,将所述句子样本中的至少一个词替换成标记字符,得到处理后的句子样本;
将所述处理后的句子样本进行分词处理,得到多个词样本和标记字符;
将每一个所述词样本的初始词向量、所述标记字符的初始词向量以及第四特殊字符的初始词向量输入至初始编码器中,由所述初始编码器通过N层编码层处理得到每一个所述词样本的第N层词向量、所述标记字符的第N层词向量以及所述第四特殊字符的第N层词向量;其中,所述第四特殊字符用于代表所述句子样本的整体语句;所述词样本的初始词向量、所述标记字符的初始词向量以及所述第四特殊字符的初始词向量从词汇表中获取得到;
将所述第四特殊字符的第N层词向量、每一个所述词样本的第K层词向量以及所述标记字符的第K层词向量输入至所述初始编码器的第N+1层编码层中,由所述第N+1层编码层得到并输出每一个所述词样本的最终词向量、所述标记字符的最终词向量以及所述第四特殊字符的最终词向量;其中,K为小于N的正整数;
根据所述标记字符的最终词向量所表征的语义与所述标记字符对应的替换前的词的语义之间的误差,对所述初始编码器的参数进行调整,直至调整后的初始编码器的所述误差满足预设的收敛条件时,将所述调整后的初始编码器确定为目标编码器。
6.根据权利要求1所述的方法,其特征在于,所述智能写作模型的训练过程,包括:
构建初始写作模型;其中,所述初始写作模型包括:目标编码器和初始解码器;所述目标编码器通过多个句子样本对初始编码器进行训练得到;
针对每一个句子样本,检索得到与所述句子样本匹配的文本段落;
通过所述目标编码器,对所述句子样本、与所述句子样本匹配的文本段落以及第四特殊字符进行语义表征处理,得到每一个所述词样本的最终词向量和所述第四特殊字符的最终词向量;其中,所述第四特殊字符用于代表所述句子样本的整体语句;所述词样本为所述句子样本和与所述句子样本匹配的文本段落中的词;所述词样本的初始词向量以及所述第四特殊字符的初始词向量从词汇表中获取得到;
向所述初始解码器输入开始词的初始词向量、每一个所述词样本的最终词向量以及所述第四特殊字符的最终词向量,由所述初始解码器融合得到所述开始词的最终词向量;
根据所述开始词的最终词向量,计算得到词汇表中每一个词的生成概率;并根据所述开始词的最终词向量,计算得到每一个所述词样本的生成概率;
从词汇表中的每一个词以及每一个所述词样本中,选取出生成概率最高的词,确定为所述初始解码器在当前生成的词;
根据所述初始解码器在当前生成的词和实际需生成的词之间的误差,对所述初始写作模型的参数进行调整,并从所述初始解码器在当前生成的词和实际需生成的词中选取出其中一个词作为新的开始词,返回至所述向所述初始解码器输入开始词的初始词向量、每一个所述词样本的最终词向量以及所述第四特殊字符的最终词向量,由所述初始解码器融合得到所述开始词的最终词向量的步骤,直至调整后的初始写作模型生成的所有词和实际需生成的词之间的误差满足收敛条件时,将所述调整后的初始写作模型确定为智能写作模型;其中,所述实际需生成的词从所述句子样本的实际写作文本中获取。
7.根据权利要求4所述的方法,其特征在于,所述语义表征模型的训练过程,包括:
针对每一个句子样本,通过目标编码器,对所述句子样本和第四特殊字符进行语义表征处理,得到所述第四特殊字符的最终词向量;通过目标编码器,对所述句子样本对应的正样例文本段落和第五特殊字符进行语义表征处理,得到所述第五特殊字符的最终词向量;并通过目标编码器,对所述句子样本对应的负样例文本段落和第六特殊字符进行语义表征处理,得到所述第六特殊字符的最终词向量;其中,所述第四特殊字符用于代表所述句子样本的整体语句;所述第五特殊字符用于代表所述句子样本对应的正样例文本段落的整体语句;所述第六特殊字符用于代表所述句子样本对应的负样例文本段落的整体语句;
根据所述第四特殊字符的最终词向量、所述第五特殊字符的最终词向量以及所述第六特殊字符的最终词向量,计算得到所述目标编码器的损失值;其中,所述目标编码器的损失值越低,则所述句子样本与所述句子样本对应的正样例文本段落之间的相似度越高、且所述句子样本与所述句子样本对应的负样例文本段落之间的相似度越低;
根据所述目标编码器的损失值,对所述目标编码器的参数进行调整,直至调整后的目标编码器的损失值满足预设的收敛条件时,将所述调整后的目标编码器确定为语义表征模型。
8.一种文本生成装置,其特征在于,包括:
获取单元,用于获取关键词组;其中,所述关键词组包括至少一个关键词;
第一检索单元,用于根据所述关键词组,检索得到与所述关键词组匹配的文本段落;
第一生成单元,用于将所述关键词组和与所述关键词组匹配的文本段落输入至智能写作模型中,由所述智能写作模型生成所述关键词组的写作文本;其中,所述关键词组的写作文本中的词由所述智能写作模型从词汇表、所述关键词组以及与所述关键词组匹配的文本段落中获取得到;所述智能写作模型通过多个句子样本、与所述句子样本匹配的文本段落以及所述句子样本的实际写作文本对初始写作模型进行训练得到。
9.一种计算机可读介质,其特征在于,其上存储有计算机程序,其中,所述程序被处理器执行时实现如权利要求1至7中任一所述的方法。
10.一种文本生成设备,其特征在于,包括:
一个或多个处理器;
存储装置,其上存储有一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1至7中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211590603.2A CN116187317A (zh) | 2022-12-12 | 2022-12-12 | 文本生成方法、装置、设备及计算机可读介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211590603.2A CN116187317A (zh) | 2022-12-12 | 2022-12-12 | 文本生成方法、装置、设备及计算机可读介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116187317A true CN116187317A (zh) | 2023-05-30 |
Family
ID=86437329
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211590603.2A Pending CN116187317A (zh) | 2022-12-12 | 2022-12-12 | 文本生成方法、装置、设备及计算机可读介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116187317A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118013946A (zh) * | 2024-04-09 | 2024-05-10 | 南昌理工学院 | 一种基于人工智能的写作方法、***、存储介质及计算机 |
-
2022
- 2022-12-12 CN CN202211590603.2A patent/CN116187317A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118013946A (zh) * | 2024-04-09 | 2024-05-10 | 南昌理工学院 | 一种基于人工智能的写作方法、***、存储介质及计算机 |
CN118013946B (zh) * | 2024-04-09 | 2024-06-28 | 南昌理工学院 | 一种基于人工智能的写作方法、***、存储介质及计算机 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111753060B (zh) | 信息检索方法、装置、设备及计算机可读存储介质 | |
CN114020862B (zh) | 一种面向煤矿安全规程的检索式智能问答***及方法 | |
CN111324728A (zh) | 文本事件摘要的生成方法、装置、电子设备及存储介质 | |
CN111190997B (zh) | 一种使用神经网络和机器学习排序算法的问答***实现方法 | |
CN112464656B (zh) | 关键词抽取方法、装置、电子设备和存储介质 | |
CN112817561B (zh) | 软件需求文档的事务类功能点结构化抽取方法及*** | |
CN114661872B (zh) | 一种面向初学者的api自适应推荐方法与*** | |
CN114154487A (zh) | 文本自动纠错方法、装置、电子设备及存储介质 | |
Jaech et al. | Match-tensor: a deep relevance model for search | |
Liu et al. | Open intent discovery through unsupervised semantic clustering and dependency parsing | |
CN114298055B (zh) | 基于多级语义匹配的检索方法、装置、计算机设备和存储介质 | |
CN116662565A (zh) | 基于对比学习预训练的异质信息网络关键词生成方法 | |
CN113705222B (zh) | 槽识别模型训练方法及装置和槽填充方法及装置 | |
CN116187317A (zh) | 文本生成方法、装置、设备及计算机可读介质 | |
US11822893B2 (en) | Machine learning models for detecting topic divergent digital videos | |
CN114611520A (zh) | 一种文本摘要生成方法 | |
CN114676346A (zh) | 新闻事件处理方法、装置、计算机设备和存储介质 | |
CN113516094A (zh) | 一种用于为文档匹配评议专家的***以及方法 | |
CN116860959A (zh) | 结合局部主题和层次结构信息的抽取式摘要方法及*** | |
CN116842934A (zh) | 一种基于持续学习的多文档融合深度学习标题生成方法 | |
CN114328820A (zh) | 信息搜索方法以及相关设备 | |
Drury | A Text Mining System for Evaluating the Stock Market's Response To News | |
Chen et al. | SR3: Sentence Ranking, Reasoning, and Replication for Scenario-Based Essay Question Answering | |
Yu et al. | A knowledge-graph based text summarization scheme for mobile edge computing | |
CN115329755B (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 |