CN111898339B - 基于约束解码的古诗生成方法、装置、设备及介质 - Google Patents
基于约束解码的古诗生成方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN111898339B CN111898339B CN202010738647.XA CN202010738647A CN111898339B CN 111898339 B CN111898339 B CN 111898339B CN 202010738647 A CN202010738647 A CN 202010738647A CN 111898339 B CN111898339 B CN 111898339B
- Authority
- CN
- China
- Prior art keywords
- poem
- verse
- decoding
- model
- vector
- 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/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/126—Character encoding
-
- 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/216—Parsing using statistical methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/237—Lexical tools
- G06F40/242—Dictionaries
-
- 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
-
- 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)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Machine Translation (AREA)
Abstract
本发明涉及人工智能领域,提供一种基于约束解码的古诗生成方法、装置、设备及介质,所述方法包括:获取古诗句生成指令中的诗句类型和原始文本;对原始文本进行分词及去敏感词处理,得到分词语,并且通过TF‑IDF算法,获取各分词语的TF‑IDF值;将所有分词语及其对应的TF‑IDF值输入关键词识别模型,通过关键词识别模型进行识别扩展处理,得到关键词;通过TextRank算法对所有关键词进行排序,确定出最终关键词;将诗句类型和所有最终关键词输入基于Beam search和seq2seq的古诗生成模型,通过编码及带约束解码处理,生成与诗句类型对应的古诗句结果。本发明实现了自动生成符合原始文本的诗意和诗句类型的古诗文,提高了生成诗句的准确率和可靠性,提升了生成古诗的质量。
Description
技术领域
本发明涉及人工智能的自然语言处理领域,尤其涉及一种基于约束解码的古诗生成方法、装置、设备及介质。
背景技术
在现有的古诗生成方案中,一般通过将一文本内容输入基于深度学习的作诗模型后,通过作诗模型生成诗句,该方案的不足之处在于:生成诗句的过程中容易出现重复字、不符合格律以及不符合押韵要求等问题,导致生成的诗句往往缺乏诗意,并存在不连贯等各种问题,从而造成生成的诗句不符合用户的诗意,生成准确率低,进而影响了用户的满意度,并且导致用户的体验度差等现象。
发明内容
本发明提供一种基于约束解码的古诗生成方法、装置、计算机设备及存储介质,实现了通过基于Beam search和seq2seq的古诗生成模型进行编码及带约束解码处理,能够自动准确地生成符合原始文本的诗意且符合诗句类型的古诗文,提高了生成诗句的准确率和可靠性,提高了用户的满意度。
一种基于约束解码的古诗生成方法,包括:
接收到古诗句生成指令,获取所述古诗句生成指令中的诗句类型和原始文本;
对所述原始文本进行分词及去敏感词处理,得到至少一个的分词语,并且通过TF-IDF算法,获取各所述分词语的TF-IDF值;
将所有所述分词语及其对应的TF-IDF值输入关键词识别模型,通过关键词识别模型对所述分词语进行识别扩展处理,得到关键词;
通过TextRank算法对所有所述关键词进行排序,将排序后序列在前预设位数的所述关键词确定为最终关键词;所述预设位数与所述诗句类型的诗句数量一致;
将所述诗句类型和所有所述最终关键词输入基于Beam search和seq2seq的古诗生成模型,通过所述古诗生成模型对所有所述最终关键词进行编码及带约束解码处理,生成与所述诗句类型对应的古诗句结果;其中,所述古诗句结果包括与排序后的所述最终关键词一一对应的诗句。
一种基于约束解码的古诗生成装置,包括:
接收模块,用于接收到古诗句生成指令,获取所述古诗句生成指令中的诗句类型和原始文本;
预处理模块,用于对所述原始文本进行分词及去敏感词处理,得到至少一个的分词语,并且通过TF-IDF算法,获取各所述分词语的TF-IDF值;
识别模块,用于将所有所述分词语及其对应的TF-IDF值输入关键词识别模型,通过关键词识别模型对所述分词语进行识别扩展处理,得到关键词;
确定模块,用于通过TextRank算法对所有所述关键词进行排序,将排序后序列在前预设位数的所述关键词确定为最终关键词;所述预设位数与所述诗句类型的诗句数量一致;
生成模块,用于将所述诗句类型和所有所述最终关键词输入基于Beam search和seq2seq的古诗生成模型,通过所述古诗生成模型对所有所述最终关键词进行编码及带约束解码处理,生成与所述诗句类型对应的古诗句结果;其中,所述古诗句结果包括与排序后的所述最终关键词一一对应的诗句。
一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述基于约束解码的古诗生成方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述基于约束解码的古诗生成方法的步骤。
本发明提供的基于约束解码的古诗生成方法、装置、计算机设备及存储介质,通过接收到古诗句生成指令,获取所述古诗句生成指令中的诗句类型和原始文本;对所述原始文本进行分词及去敏感词处理,得到至少一个的分词语,并且通过TF-IDF算法,获取各所述分词语的TF-IDF值;将所有所述分词语及其对应的TF-IDF值输入关键词识别模型,通过关键词识别模型对所述分词语进行识别扩展处理,得到关键词;通过TextRank算法对所有所述关键词进行排序,将排序后序列在前预设位数的所述关键词确定为最终关键词;所述预设位数与所述诗句类型的诗句数量一致;将所述诗句类型和所有所述最终关键词输入基于Beam search和seq2seq的古诗生成模型,通过所述古诗生成模型对所有所述最终关键词进行编码及带约束解码处理,生成与所述诗句类型对应的古诗句结果;其中,所述古诗句结果包括与排序后的所述最终关键词一一对应的诗句,如此,实现了通过TF-IDF算法和TextRank算法,并通过基于Beam search和seq2seq的古诗生成模型进行编码及带约束解码处理,能够自动准确地生成符合原始文本的诗意且符合诗句类型的古诗文,提高了生成诗句的准确率和可靠性,提升了生成古诗的质量,提高了用户的满意度,提升了用户的体验度。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例中基于约束解码的古诗生成方法的应用环境示意图;
图2是本发明一实施例中基于约束解码的古诗生成方法的流程图;
图3是本发明一实施例中基于约束解码的古诗生成方法的步骤S30的流程图;
图4是本发明一实施例中基于约束解码的古诗生成方法的步骤S50的流程图;
图5是本发明一实施例中基于约束解码的古诗生成方法的步骤S505的流程图;
图6是本发明一实施例中基于约束解码的古诗生成方法的步骤S506的流程图;
图7是本发明一实施例中基于约束解码的古诗生成方法的步骤S5063的流程图;
图8是本发明另一实施例中基于约束解码的古诗生成方法的步骤S30的流程图;
图9是本发明一实施例中基于约束解码的古诗生成装置的原理框图;
图10是本发明一实施例中计算机设备的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供的基于约束解码的古诗生成方法,可应用在如图1的应用环境中,其中,客户端(计算机设备)通过网络与服务器进行通信。其中,客户端(计算机设备)包括但不限于为各种个人计算机、笔记本电脑、智能手机、平板电脑、摄像头和便携式可穿戴设备。服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一实施例中,如图2所示,提供一种基于约束解码的古诗生成方法,其技术方案主要包括以下步骤S10-S50:
S10,接收到古诗句生成指令,获取所述古诗句生成指令中的诗句类型和原始文本。
可理解地,用户在应用程序界面确定了所述诗句类型和输入完所述原始文本之后,触发所述古诗句生成指令,所述古诗句生成指令中包含有所述诗句类型和所述原始文本,所述诗句类型为需要将所述原始文本生成与所述原始文本对应的诗句的类型,所述诗句类型包括五言绝句、六言绝句、七言绝句、五言律诗、七言律诗等,所述原始文本为一段或者一句需要转换成古诗的文本,用户通过触发所述古诗句生成指令,能够获得将所述原始文本表达的意境转换成相同或者相似意境的古诗。
S20,对所述原始文本进行分词及去敏感词处理,得到至少一个的分词语,并且通过TF-IDF算法,获取各所述分词语的TF-IDF值。
可理解地,所述分词处理为将所述原始文本拆分成多个最小单位的字或词语,将所述原始文本输入统计语音模型,所述统计语音模型为对句子或者段落进行单词划分的神经网络模型,所述统计语音模型中运用的算法为统计学习算法,如隐含马尔可夫(HMM)、条件随机场(CRF)等,所述去敏感词处理为将经过所述分词处理后的所述原始文本得到的词语中屏蔽或者删除涉及到色情、暴力以及种族歧视等敏感词语,所述分词语为将所述原始文本经过所述分词处理和所述去敏感词处理之后的最小单元的字或者词语。
其中,所述TF-IDF(term frequency–inverse document frequency,词频-逆向文件频率)算法是一种用于信息检索与文本挖掘的统计加权算法,所述TF-IDF算法中包含TF(Term Frequency,词频)值和IDF(Inverse Document Frequency,逆向文件频率)值,所述TF值表示词语或者字在文本中出现的频率,所述IDF值是一个词语或者字普遍重要性的度量值,所述TF-IDF值为所述TF值和所述IDF值的乘积,通过所述TF-IDF算法计算各所述分词语对应的所述TF-IDF值,从而得到各所述分词语的TF-IDF值。
S30,将所有所述分词语及其对应的TF-IDF值输入关键词识别模型,通过关键词识别模型对所述分词语进行识别扩展处理,得到关键词。
可理解地,所述关键词识别模型为识别出所有所述分词语中最能表达意境或者诗意的词语或者字,或者对识别出的最能表达意境或者诗意的词语或者字进行扩展的神经网络模型,所述关键词识别模型可以为基于Word2Vec模型的神经网络模型,所述识别扩展处理包括识别处理和识别且扩展处理,所述识别处理为从所有所述分词语对应的TF-IDF值中提取出较高的或者序列在前四的所述TF-IDF值对应的所述分词语,所述识别且扩展处理为从所有所述分词语对应的TF-IDF值中提取出序列在前四的所述TF-IDF值对应的所述分词语,并且对最大的所述TF-IDF值对应的所述分词语输入所述Word2Vec模型中进行扩展出多个扩展词语,所述扩展词语为根据输入的所述分词语匹配出与该分词语的意境相同或者相似的词语,所述关键词为多个从所述原始文本中提取出的最能表达意境或者诗意的词语或者字,也即所述关键词为提取后的所述分词语和所述扩展词语。
在一实施例中,如图3所示,所述步骤S30中,即所述通过关键词识别模型对所述分词语进行识别扩展处理,得到关键词,包括:
S301,通过所述关键词识别模型对所有所述TF-IDF值进行由大至小排序,同时获取所有所述分词语的个数,并判断所有所述分词语的个数是否小于预设位数。
可理解地,通过所述关键词识别模型将所有所述分词语对应的所述TF-IDF值进行排序,排序的顺序为由大到小,即序列第一的为所述TF-IDF值最大,同时统计所有所述分词语的个数,并判断所有所述分词语的个数是否小于所述预设位数。
在一实施例中,如图8所示,所述步骤S301之后,即所述判断所有所述分词语的个数是否小于预设位数之后,包括:
S305,若所有所述分词语的个数大于等于预设位数,将排序后的所有所述TF-IDF值中序列在前预设位数的所述TF-IDF值对应的所述分词语确定为所述关键词。
可理解地,如果所有所述分词语的个数大于或者等于所述预设位数,将排序后的所有所述TF-IDF值中排在序列在前面的与所述预设位数相等的所述TF-IDF值对应的所述分词语标记为所述关键词。
如此,通过确定排序后在序列前预设位数的所述TF-IDF值对应的分词语为关键词,能够提取出预设位数的最能体现诗意的关键词,提高古诗生成的准确率和可靠性。
S302,若所有所述分词语的个数小于预设位数,将所有所述TF-IDF值中最高的TF-IDF值对应的所述分词语输入所述关键词识别模型中的Word2Vec模型。
可理解地,如果所有所述分词语的个数小于所述预设位数,就将最高的TF-IDF值对应的所述分词语输入所述关键词识别模型中的Word2Vec模型,所述Word2Vec模型为训练完成的运用Word2Vec算法的浅层神经网络模型,所述Word2Vec模型用于产生与输入的所述分词语相似或者相关的词向量或者词语的模型。
S303,通过所述Word2Vec模型对输入的所述分词语进行扩展,得到预设个数与该分词语对应的扩展词语;其中,所述预设个数与所述分词语的个数之和大于所述预设位数。
可理解地,所述扩展处理过程为通过所述Word2Vec模型对所述分词语进行词向量转换,转换得到与所述分词语对应的词向量,通过对所述词向量进行权重矩阵转换处理得到向量矩阵,并激活该向量矩阵得到与该词向量相同维度的词向量的概率分布,将概率分布中大于预设的概率分布阈值对应的词向量输出的处理过程,并通过所述Word2Vec模型将输出的词向量进行转换得到与输出的所述词向量对应的词语或字,以及将输出的词语或字按照其对应的概率值由大到小的顺序进行排序,将概率值靠前的预设个数对应的输出的词语或字确定为所述扩展词语,其中,所述预设个数与所述分词语的个数之和大于所述预设位数。
S304,将排序后的所有所述分词语和所有所述扩展词语确定为所述关键词。
可理解地,将所有排序后的所述分词语和所有所述扩展词语标记为所述关键词。
本发明实现了通过所述关键词识别模型对所有所述TF-IDF值进行由大至小排序;并判断所有所述分词语的个数是否小于预设位数;若所有所述分词语的个数小于预设位数,将最高的所述TF-IDF值对应的所述分词语输入Word2Vec模型;通过所述Word2Vec模型进行扩展,得到预设个数与该分词语对应的扩展词语;将所有排序后的所述分词语和所有所述扩展词语确定为所述关键词,如此,对所有分词语排序将最能体现诗意的分词语排列在最前面,在分词语的个数小于预设位数时,自动通过Word2Vec模型对最高的TF-IDF值对应的分词语进行扩展,扩展得到预设个数的扩展词语,将排序后的所有分词语和所有扩展词语确定为关键词,实现了自动对不足数量的分词语进行扩展,扩展出最能体现诗意的关键词,更能表现诗意,提高古诗生成的准确率,提升了生成古诗的质量,提高用户的满意度。
S40,通过TextRank算法对所有所述关键词进行排序,将排序后序列在前预设位数的所述关键词确定为最终关键词;所述预设位数与所述诗句类型的诗句数量一致。
可理解地,所述TextRank算法是一种用于文本的基于图的排序算法,通过把所述原始文本分割成若干组成单元(单词、句子)并建立图模型,利用投票机制对所述原始文本中的所述关键词进行排序,仅利用所述原始文本本身的信息即可实现关键词的排序,所述最终关键词为从排序后的所述关键词中获取序列在前的所述预设位数的所述关键词,所述预设位数与所述诗句类型的诗句数量一致,所述诗句类型还包括诗句数量,所述诗句数量为4(表示绝句中的4句)、8(表示律诗中的8句)等等。
S50,将所述诗句类型和所有所述最终关键词输入基于Beam search和seq2seq的古诗生成模型,通过所述古诗生成模型对所有所述最终关键词进行编码及带约束解码处理,生成与所述诗句类型对应的古诗句结果;其中,所述古诗句结果包括与排序后的所述最终关键词一一对应的诗句。
可理解地,所述古诗生成模型为基于Beam search和seq2seq构建的神经网络模型,所述古诗生成模型的网络结构中包含有Beam search算法和seq2seq算法,所述古诗生成模型能够将输入的所有所述最终关键词进行编码及带约束解码处理,生成与所述最终关键词对应的且符合所述诗句类型的所述古诗句结果,所述古诗生成模型包括诗句生成模型和诗句连贯识别模型,所述诗句生成模型为训练完成的基于Beam search和seq2seq的深度卷积神经网络模型,所述诗句连贯识别模型为训练完成的通过混淆度识别判断连贯性并进行筛选的深度神经网络模型,所述seq2seq算法构建的seq2seq模型包含有编码器(Encoder)、解码器(Decoder)以及连接两者的中间状态向量,所述seq2seq模型通过编码器(Encoder)对输入的内容进行学习,将其编码成一个固定大小的状态向量,继而将状态向量传给解码器(Decoder),解码器(Decoder)再通过对状态向量的学习来进行输出,所述Beamsearch(集束搜索)算法是一种启发式图搜索算法,属于一种最佳优先算法,该算法将所有可能的值依据启发式规则进行排序,该规则用来衡量得到的值与目标值到底有多接近,为了减少搜索所占用的空间和时间,在seq2seq模型中的解码器中的每一步去除概率低于预设概率阈值的节点,保留概率高于预设概率阈值的节点,所述编码处理为通过seq2seq模型中的编码器对输入的所述最终关键词进行编码的过程,所述带约束解码处理为通过seq2seq模型中的解码器融入所述Beam search算法以及增加诗句的声调约束、押韵要求、连贯性要求以及格律要求的规则进行解码的过程,所述带约束解码包括第一约束解码和第二约束解码,第一约束解码包括所述声调约束和所述格律要求,所述第二约束解码为在所述第一约束解码的基础上增加了所述押韵要求,即对韵脚进行韵脚加权处理的过程,所述声调约束为声调(平仄)在古诗中的规律要求,所述押韵要求为对每句古诗的韵脚要求,所述连贯性要求为生成的过程中各诗句之间的混淆度值小于预设的混淆阈值的要求,所述格律要求为古诗的格律规则等,通过所述古诗生成模型对所有所述最终关键词机械能编码及带约束解码处理,生成所述古诗句结果,所述古诗句结果为最能表达所述原始文本意境或者诗意的且符合所述诗句类型的古诗,如此,实现了自动生成最能符合原始文本的诗意且符合诗句类型的古诗文,能够让用户输入想要表达的文本转换得到表现其表达意境的且满意的古诗,提高了生成诗句的准确率和可靠性,提升了生成古诗的质量,提高了用户的满意度,提升了用户的体验度。
在一实施例中,所述步骤S50之前,即所述将所述诗句类型和所有所述最终关键词输入基于Beam search和seq2seq的古诗生成模型之前,包括:
获取关键词样本集合;所述关键词样本集合包含多个关键词样本;所述关键词样本包括样本类型和多个词样本,一个所述关键词样本关联一个古诗标签,所述古诗标签包括与所述词样本一一对应的诗句标签;其中,所述关键词样本为历史收集的古诗或现代诗中的每诗句中的关键词语的集合;所述样本类型为所述关键词样本中的古诗或现代诗的诗词类型;所述词样本为每句诗的关键词语;所述古诗标签为与其关联的所述关键词样本中的古诗或现代诗中的所有诗句;所述诗句标签为与其对应的所述词样本的诗句;
将所述关键词样本输入含有初始参数的深度卷积神经网络模型;所述深度卷积神经网络模型为基于Beam search和seq2seq构建的神经网络模型;
通过所述深度卷积神经网络模型对输入的所述关键词样本进行编码及带约束解码处理,生成与所述关键词样本对应的古诗句样本结果;
根据所述关键词样本对应的所述古诗句样本结果和所述古诗标签,确定损失值;
在所述损失值未达到预设的收敛条件时,迭代更新所述深度卷积神经网络模型的初始参数,直至所述损失值达到所述收敛条件时,将收敛之后的所述深度卷积神经网络模型记录为古诗生成模型。
如此,在所述损失值未达到预设的收敛条件时,不断更新迭代所述深度卷积神经网络模型的初始参数,可以不断向准确的古诗句样本结果靠拢,让古诗句样本结果的准确率越来越高。
本发明实现了通过接收到古诗句生成指令,获取所述古诗句生成指令中的诗句类型和原始文本;对所述原始文本进行分词及去敏感词处理,得到至少一个的分词语,并且通过TF-IDF算法,获取各所述分词语的TF-IDF值;将所有所述分词语及其对应的TF-IDF值输入关键词识别模型,通过关键词识别模型对所述分词语进行识别扩展处理,得到关键词;通过TextRank算法对所有所述关键词进行排序,将排序后序列在前预设位数的所述关键词确定为最终关键词;所述预设位数与所述诗句类型的诗句数量一致;将所述诗句类型和所有所述最终关键词输入基于Beam search和seq2seq的古诗生成模型,通过所述古诗生成模型对所有所述最终关键词进行编码及带约束解码处理,生成与所述诗句类型对应的古诗句结果;其中,所述古诗句结果包括与排序后的所述最终关键词一一对应的诗句,如此,实现了通过TF-IDF算法和TextRank算法,并通过基于Beam search和seq2seq的古诗生成模型进行编码及带约束解码处理,能够自动准确地生成符合原始文本的诗意且符合诗句类型的古诗文,提高了生成诗句的准确率和可靠性,提升了生成古诗的质量,提高了用户的满意度,提升了用户的体验度。
在一实施例中,如图4所示,所述步骤S50中,即所述通过所述古诗生成模型对所有所述最终关键词进行编码及带约束解码处理,生成古诗句结果,包括:
S501,将所有所述最终关键词按顺序输入关键队列中。
可理解地,将所有所述最终关键词按照所述最终关键词对应的顺序(经过排序之后的顺序)输入所述关键队列中,即如果所述最终关键词的顺序为第一位,就将该最终关键词输入所述关键队列的第一位,如果所述最终关键词的顺序为第二位,就将该最终关键词输入所述关键队列的第二位,等等,所述关键队列为存储所述最终关键词以及与所述最终关键词相关信息的队列。
S502,获取与所述诗句类型匹配且包含多个元素的诗句模板队列;其中,所述诗句模板队列中每个元素包括诗句字数和诗句结尾符;所述关键队列中的所述最终关键词与所述诗句模板队列中的元素一一对应。
可理解地,根据所述诗句类型,查询出与所述诗句类型匹配的所述诗句模板队列,不同的诗句类型对应不同的诗句模板队列,所述诗句模板队列包含多个元素,每个元素包括诗句字数和诗句结尾符,所述诗句字数为生成的一句诗句中包含的汉字的字数,例如:诗句字数为4、5、7等,所述诗句结尾符为生成的一句诗句中结尾的符号,所述诗句结尾符包括普通结尾符合韵脚结尾符,所述韵脚结尾符为古诗文中韵脚后标上的符号,比如句号,分号等等,所述普通结尾符为古诗文中除了所述韵脚结尾符以外的常用符号,比如逗号。
其中,所述关键队列中的所述最终关键词与所述诗句模板队列中的元素一一对应,例如:关键队列为{“落叶”;“寒潭”;“杜菊”;“中秋”},诗句模板队列为{(5,“,”);(5,“。”);(5,“,”);(5,“。”)},则关键队列中序列第一的“落叶”与诗句模板队列中序列第一的(5,“,”)对应,关键队列中序列第二的“寒潭”与诗句模板队列中序列第二的(5,“。”)对应,关键队列中序列第三的“杜菊”与诗句模板队列中序列第三的(5,“,”)对应,关键队列中序列第一的“中秋”与诗句模板队列中序列第一的(5,“。”)对应。
S503,将所述关键队列中的所述最终关键词与所述诗句模板队列中的元素一一对应合并,得到包含多个诗句行信息的诗句信息队列;一个所述诗句行信息包括一个所述最终关键词以及与所述最终关键词对应的元素。
可理解地,将所述最终关键词和与其对应的所述元素进行一一对应合并,得到所述诗句信息队列,所述诗句信息队列中包含与所述预设位数相等个数的所述诗句行信息,一个所述诗句行信息包括一个所述最终关键词以及与所述最终关键词对应的元素,所述元素为如:上述例子中,一一对应合并后的诗句信息队列为{(“落叶”,5,“,”);(“寒潭”,5,“。”);(“杜菊”,5,“,”);(“中秋”,5,“。”)},所述诗句行信息为(“落叶”,5,“,”)、(“寒潭”,5,“。”)、(“杜菊”,5,“,”)和(“中秋”,5,“。”)。
S504,将所述诗句信息队列中的各所述诗句行信息输入所述古诗生成模型中的诗句生成模型。
可理解地,将所述诗句信息队列中的各诗句行信息输入至所述诗句生成模型中,所述诗句生成模型为训练完成的基于Beam search和seq2seq的深度卷积神经网络模型,所述诗句生成模型能够生成与输入的所述诗句信息队列中的各诗句行信息对应的多个诗句,输入所述诗句生成模型之后,判断所述诗句信息队列中的各所述诗句行信息中的所述诗句结尾符是否为韵脚结尾符。
S505,在所述诗句行信息中的所述诗句结尾符为普通结尾符时,通过所述诗句生成模型对所述诗句行信息进行编码和第一约束解码处理,生成与该诗句行信息的所述最终关键词以及诗句字数对应的至少一个第一诗句的第一诗句结果;所述带约束解码包括第一约束解码和第二约束解码。
可理解地,在所述诗句行信息中的所述诗句结尾符为普通结尾符时,通过所述诗句生成模型对所述诗句行信息进行编码和第一约束解码处理,所述第一约束解码为对编码后的词向量进行解码预测,生成含有多个所述第一诗句的所述第一诗句结果,所述第一约束解码包括所述声调约束和所述格律要求,所述第一诗句包括第一诗句文本和与该第一诗句文本对应的第一诗句概率。
其中,所述带约束解码包括第一约束解码和第二约束解码。
在一实施例中,如图5所示,所述步骤S505中,即所述在所述诗句行信息中的所述诗句结尾符为普通结尾时,通过所述诗句生成模型对所述诗句行信息进行编码和第一约束解码处理,生成与该诗句行信息的所述最终关键词以及诗句字数对应的至少一个第一诗句结果,包括:
S5051,通过所述诗句生成模型中的基于seq2seq的编码模型对所述诗句行信息进行编码,得到第一序列向量。
可理解地,所述编码处理为通过seq2seq模型中的编码器对输入的所述最终关键词进行编码的过程,所述第一序列向量为在所述诗句行信息中的所述诗句结尾符为普通结尾时将输入的所述诗句行信息进行所述编码处理得到的与该诗句行信息对应的词向量。
S5052,将所述第一序列向量输入所述诗句生成模型中的基于Beam search和seq2seq的第一融合解码模型。
可理解地,所述第一融合解码模型为基于Beam search和seq2seq构建的神经网络模型,所述第一融合解码模型包含有Beam search算法和seq2seq算法。
S5053,通过所述第一融合解码模型对所述第一序列向量进行第一约束解码,得到至少一个所述第一诗句结果。
可理解地,所述第一约束解码为对编码后的词向量进行解码预测,生成含有多个所述第一诗句的所述第一诗句结果,所述第一约束解码包括所述声调约束和所述格律要求。
本发明实现了通过基于seq2seq的编码模型对所述诗句行信息进行编码,得到第一序列向量;再通过基于Beam search和seq2seq的第一融合解码模型对所述序列向量进行第一约束解码,得到至少一个第一诗句结果,如此,运用Beam search算法和seq2seq算法进行第一约束解码自动生成第一诗句结果,提高生成诗句的准确率和可靠性,提升了生成古诗的质量。
S506,在所述诗句行信息中的所述诗句结尾符为韵脚结尾符时,通过所述诗句生成模型对所述诗句行信息进行编码和第二约束解码处理,生成与所述该诗句行信息的所述最终关键词以及诗句字数对应的至少一个第二诗句的第二诗句结果。
可理解地,在所述诗句行信息中的所述诗句结尾符为韵脚结尾符时,通过所述诗句生成模型对所述诗句行信息进行编码和第二约束解码处理,生成含有多个所述第二诗句的第二诗句结果,所述第二约束解码为对编码后的词向量进行解码预测以及韵脚加权处理,所述第二约束解码在所述第一约束解码的基础上增加了所述押韵要求,即对最后一位韵脚进行韵脚加权处理的过程,所述第二诗句包括第二诗句文本和与该第二诗句文本对应的第二诗句概率。
在一实施例中,如图6所示,所述步骤S506中,即所述在所述诗句行信息中的所述诗句结尾符为韵脚结尾时,通过所述诗句生成模型对所述诗句行信息进行编码和第二约束解码,生成与所述该诗句行信息的所述最终关键词以及诗句字数对应的至少一个第二诗句结果,包括:
S5061,通过所述诗句生成模型中的基于seq2seq的编码模型对所述诗句行信息进行编码,得到第二序列向量。
可理解地,所述编码处理为通过seq2seq模型中的编码器对输入的所述最终关键词进行编码的过程,所述第二序列向量为在所述诗句行信息中的所述诗句结尾符为韵脚结尾时,将输入的所述诗句行信息进行所述编码处理得到的与该诗句行信息对应的词向量。
S5062,将所述第二序列向量输入所述诗句生成模型中的基于Beam search和seq2seq的第二融合解码模型。
可理解地,所述第二融合解码模型为基于Beam search和seq2seq构建的神经网络模型,所述第二融合解码模型包含有Beam search算法和seq2seq算法。
S5063,通过所述第二融合解码模型对所述第二序列向量进行第二约束解码,得到至少一个所述第二诗句结果。
可理解地,所述第二约束解码为对编码后的词向量进行解码预测以及韵脚加权处理,所述第二约束解码在所述第一约束解码的基础上增加了所述押韵要求,即对最后一位韵脚进行韵脚加权处理的过程。
本发明实现了通过基于seq2seq的编码模型对所述诗句行信息进行编码,得到第二序列向量;再通过基于Beam search和seq2seq的第二融合解码模型对所述序列向量进行第二约束解码,得到至少一个第二诗句结果,如此,运用Beam search算法和seq2seq算法进行第一约束解码自动生成第二诗句结果,提高生成诗句的准确率和可靠性,提升了生成古诗的质量。
在一实施例中,如图7所示,所述步骤S5063中,即所述通过所述第二融合解码模型对所述第二序列向量进行第二约束解码,得到至少一个所述第二诗句结果,包括:
S50631,通过所述第二融合解码模型对所述第二序列向量进行解码,得到第一诗字结果,并将所述第一诗字结果插入诗句队列中,同时将与所述诗句行信息对应的诗句生成位数加一;所述诗句生成位数的初始值为零;所述第一诗字结果包括预设向量个数的第一诗字向量。
可理解地,所述解码为通过seq2seq算法对所述第二序列向量进行预测,在与所述第二序列向量的相同维度中预测出一些与所述第二序列向量相似的第一诗字向量,所述第一诗字向量包括第一诗字文本和与所述第一诗字文本对应的第一诗字概率,所述第一诗字文本为一个字,所述第一诗字概率为预测出与其对应的所述第一诗字文本的概率值,所述第一诗字结果包含有预设向量个所述第一诗字向量,所述预设向量根据需求设定,比如预设向量个数可以设定为3,表明获取解码出的所有所述第一诗字向量中的所述第一诗字概率的值在排序靠前的3个第一诗字概率对应的第一诗字向量,将所述第一诗字结果插入所述诗句队列中。
其中,与所述诗句行信息对应的诗句生成位数的初始值为零,在经过所述第二融合解码模型生成所述第一诗字结果之后,将所述诗句生成位数加一,表明已经生成了第一诗字结果。
S50632,自预设的声调字典中查询与所述第一诗字向量对应的第一声调向量。
可理解地,所述声调字典为包含有所有古诗字对应的声调向量,从所述声调字典中查询出与所述第一诗字向量中的所述第一诗字文本对应的所述第一声调向量,所述第一声调向量为平、仄对应的向量。
S50633,通过Beam search算法,根据所述第二序列向量、所述第一诗字向量和所述第一声调向量进行第一约束解码,输出第二诗字结果,并将所述第二诗字结果插入所述诗句队列中,同时将所述诗句生成位数累加一;所述第二诗句结果包括所述预设向量个数的第二诗字向量;且一个所述第二诗字向量与一个所述第一诗字向量衔接。
可理解地,所述Beam search(集束搜索)算法是一种启发式图搜索算法,为了减少搜索所占用的空间和时间,在seq2seq模型中的解码器中的每一步去除概率低于预设概率阈值的节点,保留概率高于预设概率阈值的节点,根据所述第二序列向量、所述第一诗字向量和所述第一声调向量进行所述第一约束解码,并预测出所述第二诗字向量,根据所述预设向量个数,从预测出的所有所述第二诗字向量中运用Beam search算法保留所述预设向量个数的所述第二诗字向量,将保留后的所述第二诗字向量确定为所述第二诗字结果,且将一个所述第二诗字向量与一个所述第一诗字向量衔接,所述第二诗字向量包括第二诗字文本和第二诗字概率,将所述第二诗字结果插入所述诗句队列中。
其中,将所述诗句生成位数加一,表明已经生成了所述第二诗字结果。
S50634,检测所述诗句生成位数与所述诗句字数之差是否为一。
可理解地,判断所述诗句字数减去所述诗句生成位数是否为一。
在一实施例中,所述步骤S50534之后,即所述检测所述诗句生成位数与所述诗句字数之差是否为一之后,还包括:
若所述诗句生成位数与所述诗句字数之差大于一,自所述声调字典中查询与所述第二诗字向量对应的第二声调向量;通过Beam search算法,根据所述第一诗字向量、所述第二诗字向量和所述第二声调向量进行第一约束解码,输出第四诗字结果,将所述四诗字结果插入所述诗句队列中,同时将所述诗句生成位数累加一;所述第四诗句结果包括第四诗字向量;检测所述诗句生成位数与所述诗句字数之差是否为一;在所述诗句生成位数与所述诗句字数之差大于一时,返回执行上述步骤。
S50635,若所述诗句生成位数与所述诗句字数之差为一,自所述声调字典中查询与所述第二诗字向量对应的第二声调向量。
可理解地,如果所述诗句生成位数与所述诗句字数之差为一,就从所述声调字典中查询出与所述第二诗字向量对应的所述第二声调向量。
S50636,通过Beam search算法,根据所述第一诗字向量、所述第二诗字向量和所述第二声调向量进行第二约束解码,输出第三诗字结果,并将所述第三诗字结果插入所述诗句队列中;所述第三诗句结果包括所述预设向量个数的第三诗字向量;且一个所述第三诗字向量与一个所述第二诗字向量衔接。
可理解地,根据所述第一诗字向量、所述第二诗字向量和所述第二声调向量进行所述第二约束解码,并预测出所述第三诗字向量,根据所述预设向量个数,从预测出的所有所述第三诗字向量中运用Beam search算法保留所述预设向量个数的所述第三诗字向量,将保留后的所述第三诗字向量确定为所述第三诗字结果,且将一个所述第三诗字向量与一个所述第二诗字向量衔接,所述第三诗字向量包括第三诗字文本和第三诗字概率,将所述第二诗字结果插入所述诗句队列中。
S50637,在所述诗句队列后插入所述诗句结尾符,将插入后的所述诗句队列进行拆分组合得到至少一个第二诗句的第二诗句结果。
可理解地,在所述诗句队列后插入所述诗句结尾符,该诗句结尾符为所述韵脚结尾符,将插入后的所述诗句队列进行拆分组合,所述拆分组合为将所述诗句队列中的第一诗字结果拆分出所述预设向量个数的第一诗字向量,在拆分后的所述第一诗字向量后拼接与其链接所述第二诗字结果中的所述第二诗字向量,再拼接与该第二诗字向量链接的所述第三诗字结果中的所述第三诗字向量,如此组合出一个所述第二诗句的过程,所述第二诗句对应的概率值为对应的第一诗字向量中的第一诗字概率、第二诗字向量中的第二诗字概率和第三诗字向量中的第三诗字概率乘积的结果,如此,经过所述拆分组合后,得到所述第二诗句结果。
本发明实现了通过所述第二融合解码模型对所述第二序列向量进行解码,得到第一诗字结果,并将所述第一诗字结果插入诗句队列中,同时将与所述诗句行信息对应的诗句生成位数加一;所述诗句生成位数的初始值为零;所述第一诗字结果包括预设向量个数的第一诗字向量;自预设的声调字典中查询与所述第一诗字向量对应的第一声调向量;通过Beam search算法,根据所述第二序列向量、所述第一诗字向量和所述第一声调向量进行第一约束解码,输出第二诗字结果,并将所述第二诗字结果插入所述诗句队列中,同时将所述诗句生成位数累加一;所述第二诗句结果包括所述预设向量个数的第二诗字向量;且一个所述第二诗字向量与一个所述第一诗字向量衔接;检测所述诗句生成位数与所述诗句字数之差是否为一;若所述诗句生成位数与所述诗句字数之差为一,自所述声调字典中查询与所述第二诗字向量对应的第二声调向量;通过Beam search算法,根据所述第一诗字向量、所述第二诗字向量和所述第二声调向量进行第二约束解码,输出第三诗字结果,并将所述第三诗字结果插入所述诗句队列中;所述第三诗句结果包括所述预设向量个数的第三诗字向量;且一个所述第三诗字向量与一个所述第二诗字向量衔接;在所述诗句队列后插入所述诗句结尾符,将插入后的所述诗句队列进行拆分组合得到至少一个第二诗句的第二诗句结果,如此,通过所述第二融合解码模型对第二序列向量进行解码得到第一诗字结果,再通过自声调字典中得到第一声调向量,以及所述Beam search算法进行第一约束解码,得到第二诗字结果,如果所述诗句生成位数与所述诗句字数之差为一,自声调字典中得到第二声调向量,以及所述Beam search算法进行第二约束解码,得到第三诗字结果,在所述诗句队列后插入所述诗句结尾符,将插入后的所述诗句队列进行拆分组合得到第二诗句结果,因此,引入声调向量进行带约束解码(即第一约束解码和第二约束解码),能够更加准确地预测出符合诗意的诗句,提高了生成诗句的准确性和可靠性,提升了生成古诗的质量。
S507,将所有所述第一诗句结果中的第一诗句和所有所述第二诗句结果中的第二诗句按照所述诗句信息队列的顺序进行组合,得到包含至少一个组合诗句的组合结果。
可理解地,将各所述最终关键词对应的所述第一诗句或者所述第二诗句按照该最终关键词在所述诗句信息队列中对应的顺序进行组合,得到多个所述组合诗句的组合结果,所述组合诗句的诗句总个数与所述预设位数相等,所述诗句总个数为所述组合诗句中所有所述第一诗句的个数和所有所述第二诗句的个数之和。
S508,将各所述组合诗句输入所述古诗生成模型中的诗句连贯识别模型,通过所述诗句连贯识别模型对所述组合诗句进行混淆度识别,获取古诗句结果;所述古诗句结果为与最小的混淆度值对应的所述组合诗句。
可理解地,所述诗句连贯识别模型为训练完成的通过混淆度识别判断连贯性并进行筛选的深度神经网络模型,所述诗句连贯识别模型的网络结构可以根据需求设定,比如所述诗句连贯识别模型的网络结构可以为N-gram模型的网络结构等等,将各所述组合诗句输入至所述诗句连贯识别模型,对所述组合诗句进行混淆度(PPL)识别,所述混淆度识别为计算所述组合诗句对应的混淆度值来判断识别出诗句之间的合理性和连贯性,将最小的所述混淆度值对应的所述组合诗句确定为所述古诗句结果。
本发明通过将所有所述最终关键词按排序之后的顺序输入关键队列中;获取与所述诗句类型匹配且包含多个元素的诗句模板队列;其中,所述诗句模板队列中每个元素包括诗句字数和诗句结尾符;所述关键队列中的所述最终关键词与所述诗句模板队列中的元素一一对应;将所述关键队列中的所述最终关键词与所述诗句模板队列中的元素一一对应合并,得到包含多个诗句行信息的诗句信息队列;一个所述诗句行信息包括一个所述最终关键词以及与所述最终关键词对应的元素;将所述诗句信息队列中的各诗句行信息输入所述古诗生成模型中的诗句生成模型;在所述诗句行信息中的所述诗句结尾符为普通结尾符时,通过所述诗句生成模型对所述诗句行信息进行编码和第一约束解码处理,生成与该诗句行信息的所述最终关键词以及诗句字数对应的至少一个第一诗句的第一诗句结果;在所述诗句行信息中的所述诗句结尾符为韵脚结尾符时,通过所述诗句生成模型对所述诗句行信息进行编码和第二约束解码处理,生成与所述该诗句行信息的所述最终关键词以及诗句字数对应的至少一个第二诗句的第二诗句结果;将所有所述第一诗句结果中的第一诗句和所有所述第二诗句结果中的第二诗句按照所述诗句信息队列的顺序进行组合,得到包含至少一个组合诗句的组合结果;将各所述组合诗句输入所述古诗生成模型中的诗句连贯识别模型,通过所述诗句连贯识别模型对所述组合诗句进行混淆度识别,获取古诗句结果;所述古诗句结果为与最小的混淆度值对应的所述组合诗句,如此,实现了通过将关键队列和与所述诗句类型匹配的诗句模板队列一一对应合并出含多个诗句行信息的诗句信息队列,通过诗句生成模型生成第一诗句和第二诗句,按照所述诗句信息队列的顺序进行组合得到至少一个组合诗句的组合结果,通过诗句连贯识别模型进行混淆度识别得到最终的古诗句结果,提高了生成古诗的准确率和可靠性,提升了生成古诗的质量,提升了用户的满意度。
在一实施例中,提供一种基于约束解码的古诗生成装置,该基于约束解码的古诗生成装置与上述实施例中基于约束解码的古诗生成方法一一对应。如图9所示,该基于约束解码的古诗生成装置包括接收模块11、预处理模块12、识别模块13、确定模块14和生成模块15。各功能模块详细说明如下:
接收模块11,用于接收到古诗句生成指令,获取所述古诗句生成指令中的诗句类型和原始文本;
预处理模块12,用于对所述原始文本进行分词及去敏感词处理,得到至少一个的分词语,并且通过TF-IDF算法,获取各所述分词语的TF-IDF值;
识别模块13,用于将所有所述分词语及其对应的TF-IDF值输入关键词识别模型,通过关键词识别模型对所述分词语进行识别扩展处理,得到关键词;
确定模块14,用于通过TextRank算法对所有所述关键词进行排序,将排序后序列在前预设位数的所述关键词确定为最终关键词;所述预设位数与所述诗句类型的诗句数量一致;
生成模块15,用于将所述诗句类型和所有所述最终关键词输入基于Beam search和seq2seq的古诗生成模型,通过所述古诗生成模型对所有所述最终关键词进行编码及带约束解码处理,生成与所述诗句类型对应的古诗句结果;其中,所述古诗句结果包括与排序后的所述最终关键词一一对应的诗句。
在一实施例中,所述识别模块13包括:
排序子模块,用于通过所述关键词识别模型对所有所述TF-IDF值进行由大至小排序,同时获取所有所述分词语的个数,并判断所有所述分词语的个数是否小于预设位数;
第一输入子模块,用于若所有所述分词语的个数小于预设位数,将所有所述TF-IDF值中最高的TF-IDF值对应的所述分词语输入所述关键词识别模型中的Word2Vec模型;
扩展子模块,用于通过所述Word2Vec模型对输入的所述分词语进行扩展,得到预设个数与该分词语对应的扩展词语;其中,所述预设个数与所述分词语的个数之和大于所述预设位数;
确定子模块,用于将排序后的所有所述分词语和所有所述扩展词语确定为所述关键词。
在一实施例中,所述生成模块15包括:
队列子模块,用于将所有所述最终关键词按顺序输入关键队列中;
获取子模块,用于获取与所述诗句类型匹配且包含多个元素的诗句模板队列;其中,所述诗句模板队列中每个元素包括诗句字数和诗句结尾符;所述关键队列中的所述最终关键词与所述诗句模板队列中的元素一一对应;
合并子模块,用于将所述关键队列中的所述最终关键词与所述诗句模板队列中的元素一一对应合并,得到包含多个诗句行信息的诗句信息队列;一个所述诗句行信息包括一个所述最终关键词以及与所述最终关键词对应的元素;
第二输入子模块,用于将所述诗句信息队列中的各所述诗句行信息输入所述古诗生成模型中的诗句生成模型;
第一生成子模块,用于在所述诗句行信息中的所述诗句结尾符为普通结尾符时,通过所述诗句生成模型对所述诗句行信息进行编码和第一约束解码处理,生成与该诗句行信息的所述最终关键词以及诗句字数对应的至少一个第一诗句的第一诗句结果;所述带约束解码包括第一约束解码和第二约束解码;
第二生成子模块,用于在所述诗句行信息中的所述诗句结尾符为韵脚结尾符时,通过所述诗句生成模型对所述诗句行信息进行编码和第二约束解码处理,生成与所述该诗句行信息的所述最终关键词以及诗句字数对应的至少一个第二诗句的第二诗句结果;
组合子模块,用于将所有所述第一诗句结果中的第一诗句和所有所述第二诗句结果中的第二诗句按照所述诗句信息队列的顺序进行组合,得到包含至少一个组合诗句的组合结果;
识别子模块,用于将各所述组合诗句输入所述古诗生成模型中的诗句连贯识别模型,通过所述诗句连贯识别模型对所述组合诗句进行混淆度识别,获取古诗句结果;所述古诗句结果为与最小的混淆度值对应的所述组合诗句。
在一实施例中,所述第一生成子模块包括:
第一编码单元,用于通过所述诗句生成模型中的基于seq2seq的编码模型对所述诗句行信息进行编码,得到第一序列向量;
第一输入单元,用于将所述第一序列向量输入所述诗句生成模型中的基于Beamsearch和seq2seq的第一融合解码模型;
第一解码单元,用于通过所述第一融合解码模型对所述第一序列向量进行第一约束解码,得到至少一个所述第一诗句结果。
在一实施例中,所述第二生成子模块包括:
第二编码单元,用于通过所述诗句生成模型中的基于seq2seq的编码模型对所述诗句行信息进行编码,得到第二序列向量;
第二输入单元,用于将所述第二序列向量输入所述诗句生成模型中的基于Beamsearch和seq2seq的第二融合解码模型;
第二解码单元,用于通过所述第二融合解码模型对所述第二序列向量进行第二约束解码,得到至少一个所述第二诗句结果。
在一实施例中,所述第二解码单元包括:
第一解码子单元,用于通过所述第二融合解码模型对所述第二序列向量进行解码,得到第一诗字结果,并将所述第一诗字结果插入诗句队列中,同时将与所述诗句行信息对应的诗句生成位数加一;所述诗句生成位数的初始值为零;所述第一诗字结果包括预设向量个数的第一诗字向量;
第一查询子单元,用于自预设的声调字典中查询与所述第一诗字向量对应的第一声调向量;
第二解码子单元,用于通过Beam search算法,根据所述第二序列向量、所述第一诗字向量和所述第一声调向量进行第一约束解码,输出第二诗字结果,并将所述第二诗字结果插入所述诗句队列中,同时将所述诗句生成位数累加一;所述第二诗句结果包括所述预设向量个数的第二诗字向量;且一个所述第二诗字向量与一个所述第一诗字向量衔接;
检测子单元,用于检测所述诗句生成位数与所述诗句字数之差是否为一;
第二查询子单元,用于若所述诗句生成位数与所述诗句字数之差为一,自所述声调字典中查询与所述第二诗字向量对应的第二声调向量;
第三解码子单元,用于通过Beam search算法,根据所述第一诗字向量、所述第二诗字向量和所述第二声调向量进行第二约束解码,输出第三诗字结果,并将所述第三诗字结果插入所述诗句队列中;所述第三诗句结果包括所述预设向量个数的第三诗字向量;且一个所述第三诗字向量与一个所述第二诗字向量衔接;
拆分组合子单元,用于在所述诗句队列后插入所述诗句结尾符,将插入后的所述诗句队列进行拆分组合得到至少一个第二诗句的第二诗句结果。
在一实施例中,所述排序子模块包括:
排序单元,用于若所有所述分词语的个数大于等于预设位数,将排序后的所有所述TF-IDF值中序列在前预设位数的所述TF-IDF值对应的所述分词语确定为所述关键词。
关于基于约束解码的古诗生成装置的具体限定可以参见上文中对于基于约束解码的古诗生成方法的限定,在此不再赘述。上述基于约束解码的古诗生成装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图10所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于约束解码的古诗生成方法。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例中基于约束解码的古诗生成方法。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述实施例中基于约束解码的古诗生成方法。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本发明所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(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)等。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (7)
1.一种基于约束解码的古诗生成方法,其特征在于,包括:
接收到古诗句生成指令,获取所述古诗句生成指令中的诗句类型和原始文本;
对所述原始文本进行分词及去敏感词处理,得到至少一个的分词语,并且通过TF-IDF算法,获取各所述分词语的TF-IDF值;
将所有所述分词语及其对应的TF-IDF值输入关键词识别模型,通过关键词识别模型对所述分词语进行识别扩展处理,得到关键词;
通过TextRank算法对所有所述关键词进行排序,将排序后序列在前预设位数的所述关键词确定为最终关键词;所述预设位数与所述诗句类型的诗句数量一致;
将所述诗句类型和所有所述最终关键词输入基于Beam search和seq2seq的古诗生成模型,通过所述古诗生成模型对所有所述最终关键词进行编码及带约束解码处理,生成与所述诗句类型对应的古诗句结果;其中,所述古诗句结果包括与排序后的所述最终关键词一一对应的诗句;
所述通过所述古诗生成模型对所有所述最终关键词进行编码及带约束解码处理,生成古诗句结果,包括:
将所有所述最终关键词按顺序输入关键队列中;
获取与所述诗句类型匹配且包含多个元素的诗句模板队列;其中,所述诗句模板队列中每个元素包括诗句字数和诗句结尾符;所述关键队列中的所述最终关键词与所述诗句模板队列中的元素一一对应;
将所述关键队列中的所述最终关键词与所述诗句模板队列中的元素一一对应合并,得到包含多个诗句行信息的诗句信息队列;一个所述诗句行信息包括一个所述最终关键词以及与所述最终关键词对应的元素;
将所述诗句信息队列中的各所述诗句行信息输入所述古诗生成模型中的诗句生成模型;
在所述诗句行信息中的所述诗句结尾符为普通结尾符时,通过所述诗句生成模型对所述诗句行信息进行编码和第一约束解码处理,生成与该诗句行信息的所述最终关键词以及诗句字数对应的至少一个第一诗句的第一诗句结果;所述带约束解码包括第一约束解码和第二约束解码;
在所述诗句行信息中的所述诗句结尾符为韵脚结尾符时,通过所述诗句生成模型对所述诗句行信息进行编码和第二约束解码处理,生成与所述该诗句行信息的所述最终关键词以及诗句字数对应的至少一个第二诗句的第二诗句结果;
将所有所述第一诗句结果中的第一诗句和所有所述第二诗句结果中的第二诗句按照所述诗句信息队列的顺序进行组合,得到包含至少一个组合诗句的组合结果;
将各所述组合诗句输入所述古诗生成模型中的诗句连贯识别模型,通过所述诗句连贯识别模型对所述组合诗句进行混淆度识别,获取古诗句结果;所述古诗句结果为与最小的混淆度值对应的所述组合诗句;
所述在所述诗句行信息中的所述诗句结尾符为韵脚结尾时,通过所述诗句生成模型对所述诗句行信息进行编码和第二约束解码,生成与所述该诗句行信息的所述最终关键词以及诗句字数对应的至少一个第二诗句结果,包括:
通过所述诗句生成模型中的基于seq2seq的编码模型对所述诗句行信息进行编码,得到第二序列向量;
将所述第二序列向量输入所述诗句生成模型中的基于Beam search和seq2seq的第二融合解码模型;
通过所述第二融合解码模型对所述第二序列向量进行第二约束解码,得到至少一个所述第二诗句结果;
所述通过所述第二融合解码模型对所述第二序列向量进行第二约束解码,得到至少一个所述第二诗句结果,包括:
通过所述第二融合解码模型对所述第二序列向量进行解码,得到第一诗字结果,并将所述第一诗字结果插入诗句队列中,同时将与所述诗句行信息对应的诗句生成位数加一;所述诗句生成位数的初始值为零;所述第一诗字结果包括预设向量个数的第一诗字向量;
自预设的声调字典中查询与所述第一诗字向量对应的第一声调向量;
通过Beam search 算法,根据所述第二序列向量、所述第一诗字向量和所述第一声调向量进行第一约束解码,输出第二诗字结果,并将所述第二诗字结果插入所述诗句队列中,同时将所述诗句生成位数累加一;所述第二诗句结果包括所述预设向量个数的第二诗字向量;且一个所述第二诗字向量与一个所述第一诗字向量衔接;
检测所述诗句生成位数与所述诗句字数之差是否为一;
若所述诗句生成位数与所述诗句字数之差为一,自所述声调字典中查询与所述第二诗字向量对应的第二声调向量;
通过Beam search 算法,根据所述第一诗字向量、所述第二诗字向量和所述第二声调向量进行第二约束解码,输出第三诗字结果,并将所述第三诗字结果插入所述诗句队列中;第三诗句结果包括所述预设向量个数的第三诗字向量;且一个所述第三诗字向量与一个所述第二诗字向量衔接;
在所述诗句队列后插入所述诗句结尾符,将插入后的所述诗句队列进行拆分组合得到至少一个第二诗句的第二诗句结果。
2.如权利要求1所述的基于约束解码的古诗生成方法,其特征在于,所述通过关键词识别模型对所述分词语进行识别扩展处理,得到关键词,包括:
通过所述关键词识别模型对所有所述TF-IDF值进行由大至小排序,同时获取所有所述分词语的个数,并判断所有所述分词语的个数是否小于预设位数;
若所有所述分词语的个数小于预设位数,将所有所述TF-IDF值中最高的TF-IDF值对应的所述分词语输入所述关键词识别模型中的Word2Vec模型;
通过所述Word2Vec模型对输入的所述分词语进行扩展,得到预设个数与该分词语对应的扩展词语;其中,所述预设个数与所述分词语的个数之和大于所述预设位数;
将排序后的所有所述分词语和所有所述扩展词语确定为所述关键词。
3.如权利要求1所述的基于约束解码的古诗生成方法,其特征在于,所述在所述诗句行信息中的所述诗句结尾符为普通结尾时,通过所述诗句生成模型对所述诗句行信息进行编码和第一约束解码处理,生成与该诗句行信息的所述最终关键词以及诗句字数对应的至少一个第一诗句结果,包括:
通过所述诗句生成模型中的基于seq2seq的编码模型对所述诗句行信息进行编码,得到第一序列向量;
将所述第一序列向量输入所述诗句生成模型中的基于Beam search和seq2seq的第一融合解码模型;
通过所述第一融合解码模型对所述第一序列向量进行第一约束解码,得到至少一个所述第一诗句结果。
4.如权利要求2所述的基于约束解码的古诗生成方法,其特征在于,所述判断所有所述分词语的个数是否小于预设位数之后,包括:
若所有所述分词语的个数大于等于预设位数,将排序后的所有所述TF-IDF值中序列在前预设位数的所述TF-IDF值对应的所述分词语确定为所述关键词。
5.一种基于约束解码的古诗生成装置,其特征在于,包括:
接收模块,用于接收到古诗句生成指令,获取所述古诗句生成指令中的诗句类型和原始文本;
预处理模块,用于对所述原始文本进行分词及去敏感词处理,得到至少一个的分词语,并且通过TF-IDF算法,获取各所述分词语的TF-IDF值;
识别模块,用于将所有所述分词语及其对应的TF-IDF值输入关键词识别模型,通过关键词识别模型对所述分词语进行识别扩展处理,得到关键词;
确定模块,用于通过TextRank算法对所有所述关键词进行排序,将排序后序列在前预设位数的所述关键词确定为最终关键词;所述预设位数与所述诗句类型的诗句数量一致;
生成模块,用于将所述诗句类型和所有所述最终关键词输入基于Beam search和seq2seq的古诗生成模型,通过所述古诗生成模型对所有所述最终关键词进行编码及带约束解码处理,生成与所述诗句类型对应的古诗句结果;其中,所述古诗句结果包括与排序后的所述最终关键词一一对应的诗句;
所述生成模块包括:
队列子模块,用于将所有所述最终关键词按顺序输入关键队列中;
获取子模块,用于获取与所述诗句类型匹配且包含多个元素的诗句模板队列;其中,所述诗句模板队列中每个元素包括诗句字数和诗句结尾符;所述关键队列中的所述最终关键词与所述诗句模板队列中的元素一一对应;
合并子模块,用于将所述关键队列中的所述最终关键词与所述诗句模板队列中的元素一一对应合并,得到包含多个诗句行信息的诗句信息队列;一个所述诗句行信息包括一个所述最终关键词以及与所述最终关键词对应的元素;
第二输入子模块,用于将所述诗句信息队列中的各所述诗句行信息输入所述古诗生成模型中的诗句生成模型;
第一生成子模块,用于在所述诗句行信息中的所述诗句结尾符为普通结尾符时,通过所述诗句生成模型对所述诗句行信息进行编码和第一约束解码处理,生成与该诗句行信息的所述最终关键词以及诗句字数对应的至少一个第一诗句的第一诗句结果;所述带约束解码包括第一约束解码和第二约束解码;
第二生成子模块,用于在所述诗句行信息中的所述诗句结尾符为韵脚结尾符时,通过所述诗句生成模型对所述诗句行信息进行编码和第二约束解码处理,生成与所述该诗句行信息的所述最终关键词以及诗句字数对应的至少一个第二诗句的第二诗句结果;
组合子模块,用于将所有所述第一诗句结果中的第一诗句和所有所述第二诗句结果中的第二诗句按照所述诗句信息队列的顺序进行组合,得到包含至少一个组合诗句的组合结果;
识别子模块,用于将各所述组合诗句输入所述古诗生成模型中的诗句连贯识别模型,通过所述诗句连贯识别模型对所述组合诗句进行混淆度识别,获取古诗句结果;所述古诗句结果为与最小的混淆度值对应的所述组合诗句;
所述第二生成子模块包括:
第二编码单元,用于通过所述诗句生成模型中的基于seq2seq的编码模型对所述诗句行信息进行编码,得到第二序列向量;
第二输入单元,用于将所述第二序列向量输入所述诗句生成模型中的基于Beamsearch和seq2seq的第二融合解码模型;
第二解码单元,用于通过所述第二融合解码模型对所述第二序列向量进行第二约束解码,得到至少一个所述第二诗句结果;
所述第二解码单元包括:
第一解码子单元,用于通过所述第二融合解码模型对所述第二序列向量进行解码,得到第一诗字结果,并将所述第一诗字结果插入诗句队列中,同时将与所述诗句行信息对应的诗句生成位数加一;所述诗句生成位数的初始值为零;所述第一诗字结果包括预设向量个数的第一诗字向量;
第一查询子单元,用于自预设的声调字典中查询与所述第一诗字向量对应的第一声调向量;
第二解码子单元,用于通过Beam search 算法,根据所述第二序列向量、所述第一诗字向量和所述第一声调向量进行第一约束解码,输出第二诗字结果,并将所述第二诗字结果插入所述诗句队列中,同时将所述诗句生成位数累加一;所述第二诗句结果包括所述预设向量个数的第二诗字向量;且一个所述第二诗字向量与一个所述第一诗字向量衔接;
检测子单元,用于检测所述诗句生成位数与所述诗句字数之差是否为一;
第二查询子单元,用于若所述诗句生成位数与所述诗句字数之差为一,自所述声调字典中查询与所述第二诗字向量对应的第二声调向量;
第三解码子单元,用于通过Beam search 算法,根据所述第一诗字向量、所述第二诗字向量和所述第二声调向量进行第二约束解码,输出第三诗字结果,并将所述第三诗字结果插入所述诗句队列中;第三诗句结果包括所述预设向量个数的第三诗字向量;且一个所述第三诗字向量与一个所述第二诗字向量衔接;
拆分组合子单元,用于在所述诗句队列后插入所述诗句结尾符,将插入后的所述诗句队列进行拆分组合得到至少一个第二诗句的第二诗句结果。
6.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至4任一项所述基于约束解码的古诗生成方法。
7.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至4任一项所述基于约束解码的古诗生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010738647.XA CN111898339B (zh) | 2020-07-28 | 2020-07-28 | 基于约束解码的古诗生成方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010738647.XA CN111898339B (zh) | 2020-07-28 | 2020-07-28 | 基于约束解码的古诗生成方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111898339A CN111898339A (zh) | 2020-11-06 |
CN111898339B true CN111898339B (zh) | 2023-07-21 |
Family
ID=73182249
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010738647.XA Active CN111898339B (zh) | 2020-07-28 | 2020-07-28 | 基于约束解码的古诗生成方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111898339B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112434137B (zh) * | 2020-12-11 | 2023-04-11 | 乐山师范学院 | 一种基于人工智能的诗词检索方法及系统 |
CN112784599B (zh) * | 2020-12-23 | 2024-05-10 | 北京百度网讯科技有限公司 | 诗句的生成方法、装置、电子设备和存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109002433A (zh) * | 2018-05-30 | 2018-12-14 | 出门问问信息科技有限公司 | 一种文本生成方法及装置 |
CN110705284A (zh) * | 2019-09-19 | 2020-01-17 | 苏州思必驰信息科技有限公司 | 基于神经网络生成模型的诗词生成质量的优化方法及系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107783960B (zh) * | 2017-10-23 | 2021-07-23 | 百度在线网络技术(北京)有限公司 | 用于抽取信息的方法、装置和设备 |
CN110737758B (zh) * | 2018-07-03 | 2022-07-05 | 百度在线网络技术(北京)有限公司 | 用于生成模型的方法和装置 |
-
2020
- 2020-07-28 CN CN202010738647.XA patent/CN111898339B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109002433A (zh) * | 2018-05-30 | 2018-12-14 | 出门问问信息科技有限公司 | 一种文本生成方法及装置 |
CN110705284A (zh) * | 2019-09-19 | 2020-01-17 | 苏州思必驰信息科技有限公司 | 基于神经网络生成模型的诗词生成质量的优化方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111898339A (zh) | 2020-11-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111581229B (zh) | Sql语句的生成方法、装置、计算机设备及存储介质 | |
CN109376222B (zh) | 问答匹配度计算方法、问答自动匹配方法及装置 | |
CN111291195A (zh) | 一种数据处理方法、装置、终端及可读存储介质 | |
CN112395385B (zh) | 基于人工智能的文本生成方法、装置、计算机设备及介质 | |
CN111985228B (zh) | 文本关键词提取方法、装置、计算机设备和存储介质 | |
EP4131076A1 (en) | Serialized data processing method and device, and text processing method and device | |
JP2016513269A (ja) | 音響言語モデルトレーニングのための方法およびデバイス | |
CN112883732A (zh) | 基于关联记忆网络的中文细粒度命名实体识别方法及装置 | |
CN112860919B (zh) | 基于生成模型的数据标注方法、装置、设备及存储介质 | |
CN112580346B (zh) | 事件抽取方法、装置、计算机设备和存储介质 | |
CN112766319B (zh) | 对话意图识别模型训练方法、装置、计算机设备及介质 | |
CN112800757B (zh) | 关键词生成方法、装置、设备及介质 | |
CN112188312B (zh) | 用于确定新闻的视频素材的方法和装置 | |
CN111859916B (zh) | 古诗关键词提取、诗句生成方法、装置、设备及介质 | |
CN113177412A (zh) | 基于bert的命名实体识别方法、系统、电子设备及存储介质 | |
CN111898339B (zh) | 基于约束解码的古诗生成方法、装置、设备及介质 | |
CN114036930A (zh) | 文本纠错方法、装置、设备及计算机可读介质 | |
CN114026556A (zh) | 义素预测方法、计算机设备和存储介质背景 | |
CN112329476A (zh) | 一种文本纠错方法及装置、设备、存储介质 | |
CN111368130A (zh) | 客服录音的质检方法、装置、设备及存储介质 | |
CN115438650B (zh) | 融合多源特征的合同文本纠错方法、系统、设备及介质 | |
CN111291565A (zh) | 一种用于命名实体识别的方法与装置 | |
CN115526171A (zh) | 一种意图识别方法、装置、设备及计算机可读存储介质 | |
Nuţu et al. | Deep learning for automatic diacritics restoration in Romanian | |
KR102517971B1 (ko) | 자동회귀 언어 모형을 이용한 문맥의존 철자오류 교정 장치 및 방법 |
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 |