CN112052651B - 诗词生成方法、装置、电子设备及存储介质 - Google Patents

诗词生成方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN112052651B
CN112052651B CN202010821155.7A CN202010821155A CN112052651B CN 112052651 B CN112052651 B CN 112052651B CN 202010821155 A CN202010821155 A CN 202010821155A CN 112052651 B CN112052651 B CN 112052651B
Authority
CN
China
Prior art keywords
character
setting
poem
word
characters
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
Application number
CN202010821155.7A
Other languages
English (en)
Other versions
CN112052651A (zh
Inventor
叶诚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong Oppo Mobile Telecommunications Corp Ltd
Shenzhen Huantai Technology Co Ltd
Original Assignee
Guangdong Oppo Mobile Telecommunications Corp Ltd
Shenzhen Huantai Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Guangdong Oppo Mobile Telecommunications Corp Ltd, Shenzhen Huantai Technology Co Ltd filed Critical Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority to CN202010821155.7A priority Critical patent/CN112052651B/zh
Publication of CN112052651A publication Critical patent/CN112052651A/zh
Application granted granted Critical
Publication of CN112052651B publication Critical patent/CN112052651B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/237Lexical tools

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Machine Translation (AREA)

Abstract

本申请公开了一种诗词生成方法、装置、电子设备及存储介质。其中,方法包括:基于待生成诗句的第一字符长度和首字符,通过设定模型生成对应的诗句;其中,所述设定模型用于输出至少一个候选字符中的每个候选字符邻接在输入字符之后的概率;在通过所述设定模型生成对应的诗句时,所述方法包括:在第一字符的字符数量小于所述第一字符长度的情况下,通过所述设定模型生成位于第二字符之后的字符;所述第一字符表征所述待生成诗句中已经生成的字符;所述第二字符表征最后一个生成的第一字符;在第一字符的字符数量等于所述第一字符长度的情况下,基于已经生成的第一字符输出对应的诗句。

Description

诗词生成方法、装置、电子设备及存储介质
技术领域
本申请涉及自然语言技术领域,尤其涉及一种诗词生成方法、装置、电子设备及存储介质。
背景技术
相关技术在使用诗词生成模型生成的诗词时,需要耗费较长的时间,并且,生成的诗词的语义不连贯,导致诗词的质量不佳。
发明内容
有鉴于此,本申请实施例提供一种诗词生成方法、装置、电子设备及存储介质,以至少解决相关技术出现的诗词生成的时间过长且诗词的质量不佳的问题。
本申请实施例的技术方案是这样实现的:
本申请实施例提供了一种诗词生成方法,所述方法包括:
基于待生成诗句的第一字符长度和首字符,通过设定模型生成对应的诗句;其中,所述设定模型用于输出至少一个候选字符中的每个候选字符邻接在输入字符之后的概率;
在通过所述设定模型生成对应的诗句时,所述方法包括:
在第一字符的字符数量小于所述第一字符长度的情况下,通过所述设定模型生成位于第二字符之后的字符;所述第一字符表征所述待生成诗句中已经生成的字符;所述第二字符表征最后一个生成的第一字符;
在第一字符的字符数量等于所述第一字符长度的情况下,基于已经生成的第一字符输出对应的诗句。
上述方案中,所述通过所述设定模型生成位于第二字符之后的字符,包括:
将第二字符输入所述设定模型,得到第二字符的至少一个候选字符;
在第一字符的字符数量小于第二字符长度的情况下,对第二字符的至少一个候选字符执行第一操作;
在第一字符的字符数量大于或等于所述第二字符长度的情况下,对第二字符的至少一个候选字符执行第二操作;其中,
所述第二字符长度小于所述第一字符长度。
上述方案中,所述对第二字符的至少一个候选字符执行第一操作,包括:
基于每个候选字符对应的概率,在第二字符的至少一个候选字符中确定第三字符;其中,
所述第三字符为所述待生成诗句中邻接在第二字符之后的字符。
上述方案中,所述对第二字符的至少一个候选字符执行第二操作,包括:
确定第二字符对应的至少一组候选字符串;其中,基于第三字符长度和第二字符的至少一个候选字符中的每个候选字符,通过所述设定模型生成所述至少一组候选字符串中的一组候选字符串;所述第三字符长度为所述第一字符长度与所述第二字符长度的差值;
基于每组候选字符串对应的概率和,在所述至少一组候选字符串中确定第一候选字符串;所述概率和基于候选字符串中的每个字符对应的由所述设定模型输出的概率计算得到;其中,
所述第一候选字符串为所述待生成诗句中邻接在第二字符之后的字符串。
上述方案中,所述首字符为语气词,在通过所述设定模型生成对应的诗句时,所述方法还包括:
根据第一设定字典,确定第一频率;所述第一设定字典用于记录设定诗词库中每个诗句的首字在所有诗句中的出现频率;所述第一频率表征所述首字符在所述第一设定字典中对应的出现频率;
在所述第一频率大于第一设定值时,通过所述设定模型生成邻接在所述首字符之后的字符;
在所述第一频率小于或等于所述第一设定值时,通过设定算法生成邻接在所述首字符之后的字符。
上述方案中,所述通过设定算法生成邻接在所述首字符之后的字符,包括:
在所述第一频率大于第二设定值,且第二设定字典中存在第一词语的情况下,基于所述第一词语确定邻接在所述首字符之后的字符;所述第二设定字典用于记录设定诗词库中每个诗句的分词;所述第一词语为以所述首字符为前缀的词语;
在所述第一频率大于所述第二设定值,所述第二设定字典中不存在所述第一词语且第三设定字典中存在第二词语的情况下,基于所述第二词语确定邻接在所述首字符之后的字符;所述第三设定字典用于记录设定诗词库的每个诗句中相邻两个字符组成的词语;所述第二词语为包含所述首字符的词语;其中,
所述第一设定值大于所述第二设定值。
上述方案中,所述方法还包括:
在通过所述设定模型生成的对应的诗句的尾字符不符合第一设定条件的情况下,判断第二设定字典或第三设定字典中是否存在至少一个第三词语;所述第一设定条件表征所述尾字符押韵;所述第二设定字典用于记录设定诗词库中每个诗句的分词;所述第三设定字典用于记录设定诗词库的每个诗句中相邻两个字符组成的词语;所述第三词语为以邻接在所述尾字符之前的字符为前缀的词语;
在所述第二设定字典或所述第三设定字典中存在至少一个第三词语的情况下,使用第四字符替换所述尾字符;所述第四字符从所述至少一个第三词语的所有尾字符中确定出;
在所述第二设定字典和所述第三设定字典中均不存在所述第三词语的情况下,基于邻接在所述尾字符之前的字符,通过递归搜索的方式确定第五字符,并使用所述第五字符替换所述尾字符。
本申请实施例还提供了一种诗词生成装置,其特征在于,包括:
生成单元,用于基于待生成诗句的第一字符长度和首字符,通过设定模型生成对应的诗句;其中,所述设定模型用于输出至少一个候选字符中的每个候选字符邻接在输入字符之后的概率;
所述生成单元在通过所述设定模型生成对应的诗句时,包括:
生成单元,用于在第一字符的字符数量小于所述第一字符长度的情况下,通过所述设定模型生成位于第二字符之后的字符;所述第一字符表征所述待生成诗句中已经生成的字符;所述第二字符表征最后一个生成的第一字符;
输出单元,用于在第一字符的字符数量等于所述第一字符长度的情况下,基于已经生成的第一字符输出对应的诗句。
本申请实施例还提供了一种电子设备,包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器,
其中,所述处理器用于运行所述计算机程序时,执行上述任一方法的步骤。
本申请实施例还提供了一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一方法的步骤。
在本申请实施例中,基于待生成诗句的第一字符长度和首字符,通过设定模型生成对应的诗句,其中,设定模型用于输出至少一个候选字符中的每个候选字符邻接在输入字符之后的概率,在通过设定模型生成对应的诗句时,包括在第一字符的字符数量小于第一字符长度的情况下,通过设定模型生成位于第二字符之后的字符,第一字符表征待生成诗句中已经生成的字符,第二字符表征最后一个生成的第一字符,在第一字符的字符数量等于第一字符长度的情况下,基于已经生成的第一字符输出对应的诗句,从而能够根据输入的首字符,通过设定模型输出的概率,生成含有首字符的诗词,减少诗词生成的时间,并且,通过以诗句为单位的训练方式将模型训练与生成诗句的过程统一起来,提高最终生成的诗词的质量。
附图说明
图1为本申请一实施例提供的模型的示意图;
图2为本申请一实施例提供的模型框架中的GRU网络结构的示意图;
图3为本申请一实施例提供的诗词生成方法的实现流程示意图;
图4为本申请又一实施例提供的诗词生成方法的实现流程示意图;
图5为本申请又一实施例提供的诗词生成方法的实现流程示意图;
图6为本申请又一实施例提供的诗词生成方法的实现流程示意图;
图7为本申请又一实施例提供的诗词生成方法的实现流程示意图;
图8为本申请又一实施例提供的诗词生成方法的实现流程示意图;
图9为本申请一实施例提供的诗词生成装置的结构示意图;
图10为本申请一实施例提供的电子设备的硬件组成结构示意图。
具体实施方式
下面结合附图及具体实施例对本申请作进一步详细的说明。
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
需要说明的是,本申请实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。
另外,在本申请实施例中,“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
在对本申请实施例的技术方案进行详细说明之前,首先对本申请实施例中的设定模型进行简单说明
图1为一种设定模型的示意图,本申请实施例是基于图1所示的设定模型上完成的。设定模型的框架是由门控循环单元(GRU,Gate Recurrent Unit)和MLP组成,设定模型的网络结构可以分为四层,分别包括Embedding层、GRU网络、全连接层、Softmax层。对于Embedding层而言,Embedding层主要包括Token Embeddings层和Position Embeddings层。Token Embeddings层主要作用是将输入序列xi映射成低维的字嵌入向量Exi(i=1,2,3,...),而Position Embedding主要是对输入序列xi进行位置编码,得到位置编码向量Ei(i=0,1,2,...),位置i下标从0开始编码,使设定模型学习到输入序列的相对位置信息。图2示出了设定模型框架中的GRU网络结构的示意图,GRU是循环神经网络的一种,用于解决长期记忆和反向传播中的梯度等问题,图1中的h0表示第0时刻GRU网络的隐藏状态,而[E1,h0]表示第一时刻GRU网络的输入。全连接层的输出为表示设定模型的预测值,Softmax层能够通过全连接层的输出,确定/>在词汇表上的概率分布。
在本申请实施例中,生成诗词方法包括:
基于待生成诗句的第一字符长度和首字符,通过设定模型生成对应的诗句;其中,所述设定模型用于输出至少一个候选字符中的每个候选字符邻接在输入字符之后的概率;
如图3所示,在通过所述设定模型生成对应的诗句时,所述方法包括:
S301:在第一字符的字符数量小于所述第一字符长度的情况下,通过所述设定模型生成位于第二字符之后的字符;所述第一字符表征所述待生成诗句中已经生成的字符;所述第二字符表征最后一个生成的第一字符。
这里,基于待生成诗句的第一字符长度和首字符,通过设定模型生成对应的诗句,首字符是指待生成诗句中每一句诗句的第一个字符,例如,待生成诗句的首字符分别为“花”、“好”、“月”、“圆”,则待生成诗句中的分别包括以“花”为开头的第一句诗句,以“好”为开头的第二句诗句,以“月”为开头的第三句诗句,以及以“圆”为开头的第四句诗句,在实际应用中,首字符可以由用户输入生成。第一字符长度表示一句完整的诗句中包含的字符数量,例如诗句“床前明月光”的第一字符长度为5。将待生成诗句的第一字符长度和首字符输入到设定模型中,设定模型能够输出至少一个候选字符中的每个候选字符邻接在输入字符之后的概率,从而通过设定模型输出的概率,在至少一个候选字符中选择一个字符邻接在输入字符之后,生成对应的诗句。在实际应用中,是基于句粒度的方式来训练模型,即将诗词中的每一句诗句当作一个训练样本,从而对模型进行分句训练,给定诗句语料s=[s1,s2,s3,…,sn],从给定诗句预料中生成训练样本为(xi,yi),xi=[si1,si2,…,siT-1],yi=[si2,si3,…,siT],i=1,2,…,n,其中n表示的是总的诗句样本数,T表示的诗句的长度。在实际应用中,设定模型在推理阶段生成对应的诗句的时候,是按照句粒度的方式进行诗句生成的,因此通过句粒度的方式来训练模型,能够使设定模型的训练阶段与推理阶段统一,从而提高模型生成的诗词的质量。在通过设定模型生成对应的诗句的时候,第一字符是指待生成诗句中已经生成的字符,例如,在生成藏头诗的每一个诗句的过程中,只有诗句的首字符是确定的,在这种情况下,第一字符为诗句的首字符,对应的第一字符的字符数量为1,在第一字符的总数量小于字符长度的情况下,说明并未确定一个诗句中的所有字符,基于第一字符,通过设定模型生成位于第二字符之后的字符,第二字符是指最后一个生成的第一字符,从而基于已确定的字符,通过设定模型,确定诗句中的下一个字符,最终生成一个完整的诗句。
S302:在第一字符的字符数量等于所述第一字符长度的情况下,基于已经生成的第一字符输出对应的诗句。
在第一字符的总数量等于字符长度的情况下,表示已经确定了一句诗句中的各个字符,第一字符中含有的字符就是生成的一个诗句,基于已经生成的将第一字符输出对应的诗句,最终输出的诗句是以输入的首字符作为诗头的诗句,并且,输出诗句的长度满足第一字符长度,示例地,经过设定模型的处理之后,第一字符中的字符为“床前明月光”,在第一字符的字符数量等于第一字符长度的时候,说明已经完成了诗句的生成过程,第一字符就是对应的诗句,将第一字符输出可以得到生成的诗句。
在上述实施例中,基于待生成诗句的第一字符长度和首字符,通过设定模型生成对应的诗句,其中,设定模型用于输出至少一个候选字符中的每个候选字符邻接在输入字符之后的概率,在通过设定模型生成对应的诗句时,包括在第一字符的字符数量小于第一字符长度的情况下,通过设定模型生成位于第二字符之后的字符,第一字符表征待生成诗句中已经生成的字符,第二字符表征最后一个生成的第一字符,在第一字符的字符数量等于第一字符长度的情况下,基于已经生成的第一字符输出对应的诗句,从而能够根据输入的首字符,通过设定模型输出的概率,生成含有首字符的诗词,减少诗词生成的时间,并且,通过以诗句为单位的训练方式将模型训练与生成诗句的过程统一起来,提高最终生成的诗词的质量。
在一实施例中,如图4所示,所述通过所述设定模型生成位于第二字符之后的字符,包括:
S401:将第二字符输入所述设定模型,得到第二字符的至少一个候选字符。
这里,将第二字符输入设定模型,通过设定模型,能够得到第二字符的至少一个候选字符,第二字符是一个诗句中已经确定的字符中的最后一个字符,例如,根据首字符通过设定模型开始生成一句诗句的时候,第一字符为首字符,对应的第二字符也为首字符,将首字符输入到设定模型,得到第二字符的至少一个候选字符,候选字符是指邻接在第二字符之后的字符,从而能够基于诗句中的前一个字符确定后一个字符。
S402:在第一字符的字符数量小于第二字符长度的情况下,对第二字符的至少一个候选字符执行第一操作。
这里,在第一字符的字符数量小于第二字符长度的情况下,对第二字符的至少一个候选字符执行第一操作,其中,第二字符长度可以设置为小于第一字符长度,第二字符长度是用以限定对候选字符的执行操作,通过第一操作确定待生成诗句的第二字符长度中的字符,例如,第一字符长度为5的情况下,第二字符长度可以设置为3,第一字符的字符数量小于第二字符长度的情况下,通过第一操作,从第二字符的至少一个候选字符中确定邻接在第二字符之后的字符,也就是通过第一操作确定待生成诗句中的第二个字符与第三个字符。
在一实施例中,所述对第二字符的至少一个候选字符执行第一操作,包括:
基于每个候选字符对应的概率,在第二字符的至少一个候选字符中确定第三字符;其中,
所述第三字符为所述待生成诗句中邻接在第二字符之后的字符。
这里,基于每个候选字符对应的概率,在第二字符的至少一个候选字符中确定第三字符,其中,第三字符为待生成诗句中邻接在第二字符之后的字符。在实际应用中,当向设定模型输入第二字符,设定模型能够基于输入的第二字符,输出至少一个候选字符以及对应的概率,通过将这些概率值进行比较和排序,将排名位于设定名次之前的候选字符组成一个候选集,在候选集中随机选择一个候选字符,例如,将候选字符中的概率值最高的5个候选字符组成一个候选集,在概率值最高的5个候选字符中随机选择一个候选字符,将选中的候选字符确定为第三字符,从而可以确定待生成诗句中已确定的字符的下一个字符。
在上述实施例中,基于每个候选字符对应的概率,在第二字符的至少一个候选字符中确定第三字符,其中,第三字符为待生成诗句中邻接在第二字符之后的字符,根据候选字符的概率值确定诗句中的字符,从而能够保证生成的诗词具有多样性,同时也可以使得生成的诗词具有流畅性。
S403:在第一字符的字符数量大于或等于所述第二字符长度的情况下,对第二字符的至少一个候选字符执行第二操作;其中,
所述第二字符长度小于所述第一字符长度。
这里,在第一字符的字符数量大于或等于第二字符长度的情况下,对最后一个第二字符的至少一个候选字符执行第二操作,例如,第一字符长度为5,第二字符长度为3,那么在第一字符的字符数量为3的时候,第一字符的字符数量等于第二字符长度,在第一字符的字符数量为4的时候,第一字符的字符数量大于第二字符长度,通过对至少一个候选字符执行第二操作以可以确定待生成诗句中的第四个字符和第五个字符。在实际应用中,第一操作与第二操作是不相同的,从而能够通过两种不同的方法确定同一个诗句中的字符。
在上述实施例中,将第二字符输入设定模型,得到第二字符的至少一个候选字符,在第一字符的字符数量小于第二字符长度的情况下,对第二字符的至少一个候选字符执行第一操作,在第一字符的字符数量大于或等于第二字符长度的情况下,对第二字符的至少一个候选字符执行第二操作,其中,第二字符长度小于第一字符长度,从而能够通过不同的方法,确定位于同一个诗句中不同位置上的字符,从而可以生成押韵的诗词,使得生成的诗词具有多样性,从而提高生成的诗词的质量。
在一实施例中,如图5所示,所述对第二字符的至少一个候选字符执行第二操作,包括:
S501:确定第二字符对应的至少一组候选字符串;其中,基于第三字符长度和第二字符的至少一个候选字符中的每个候选字符,通过所述设定模型生成所述至少一组候选字符串中的一组候选字符串;所述第三字符长度为所述第一字符长度与所述第二字符长度的差值。
这里,确定第二字符对应的至少一组候选字符串,其中,基于第三字符长度和第二字符的至少一个候选字符中的每个候选字符,通过设定模型生成至少一组候选字符串中的一组候选字符串,第三字符长度为第一字符长度与第二字符长度的差值,候选字符串表示组成第三字符长度的所有字符组合。在实际应用上,是通过集束搜索的方法来确定最第二字符对应的至少一组候选字符串。集束搜索是使用宽度优先搜索来构建搜索树,在搜索树的每一层中,都会生成一系列的解,在这些解中选择最优的多个解作为候解,候选解的数量由集束宽度确定,集束宽度用于限定搜索树的宽度,当集束宽度越大,被裁剪掉的解越小,由于存在裁剪,目标解存在着被裁剪掉的可能,因此,通过集束搜索最终生成的解为一个局部最优解。示例地,将集束宽度设定为3,第一字符长度为5,第二字符长度为3,可以得到第三字符长度为2,第一字符包含了诗句中的第一个字符、第二个字符以及第三个字符,将第一字符中的每个字符作为搜索树中的父节点,将诗句中的第三个字符输入到设定模型中,得到诗句中的第四个字符的至少一个候选字符以及对应的概率,在诗句中的第四个字符的至少一个候选字符中选择概率值较高的候选字符添加到搜索树的第一层子节点中,例如,可以对概率值进行排序,选择概率值排名前3对应的候选字符,从而在搜索树的父节点下存在着3个第一层子节点。基于第一层子节点中对应的字符,通过设定模型,得到诗句中的第五个字符的至少一个候选字符以及对应的概率,在诗句中的第五个字符的至少一个候选字符中选择概率值较高的候选字符,并将选中的候选字符添加到搜索树的第一层子节点下,使得第一层子节点中的每个子节点下存在着3个第二层子节点。在搜索树上,具有连接关系的节点组成一条路径,位于同一路径上的每个候选字符组成第二字符对应的一组候选字符串,例如,将位于同一条路径上的第四个字符的候选字符与第五个字符的候选字符组成一个候选字符串。
S502:基于每组候选字符串对应的概率和,在所述至少一组候选字符串中确定第一候选字符串;所述概率和基于候选字符串中的每个字符对应的由所述设定模型输出的概率计算得到;其中,
所述第一候选字符串为所述待生成诗句中邻接在第二字符之后的字符串。
这里,基于每组候选字符串对应的概率和,在至少一组候选字符串中确定第一候选字符串,在实际应用中,在所有候选字符串中,第一候选字符串的概率和最大,第一候选字符串为待生成诗句中邻接在第二字符之后的字符串,例如,第一字符长度为5,第二字符为待生成诗句中的第三个字符,第一候选字符串为待生成诗句中的第四个字符与第五个字符组成的字符串。概率和是基于候选字符串中的每个字符对应的由设定模型输出的概率计算得到的,在实际应用中,搜索树上的每个节点都包含了字符的ID与对应的概率值,搜索树上的每个节点包含的概率值是通过设定模型得到的,一组候选字符串对应于搜索树上的一条路径,因此可以通过搜索树确定一组候选字符串中每个字符的概率,将一组候选字符串中每个字符的概率值相乘之后能够得到每组候选字符对应的概率和,将概率和最大的一组候选字符串确定为第一候选字符串,从而能够确定诗句中已确定的字符之后的字符。
在上述实施例中,确定第二字符对应的至少一组候选字符串,其中,基于第三字符长度和第二字符对应的至少一个候选字符中的每个候选字符,通过设定模型生成至少一组候选字符串中的一组候选字符串,第三字符长度为第一字符长度与第二字符长度的差值,基于每组候选字符串对应的概率和,在至少一组候选字符串中确定第一候选字符串,概率和基于候选字符串中的每个字符对应的由设定模型输出的概率计算得到,其中,第一候选字符串为待生成诗句中邻接在第二字符传之后的字符串,通过集束搜索的策略确定诗句中第二部分字符,从而能够提高生成诗词的流畅性,使得诗词的诗意连贯,并且能够生成押韵的诗词,从而提高生成的诗词的质量。
在一实施例中,如图6所示,所述首字符为语气词,在通过所述设定模型生成对应的诗句时,所述方法还包括:
S601:根据第一设定字典,确定第一频率;所述第一设定字典用于记录设定诗词库中每个诗句的首字在所有诗句中的出现频率;所述第一频率表征所述首字符在所述第一设定字典中对应的出现频率。
这里,通过统计设定诗词库中每个诗句的首字在所有诗句中的出现概率,将每个首字以及对应的出现概率存储在第一设定字典中,其中,设定诗词库可以为四库全书诗词库,根据第一设定字典,确定第一频率,第一频率是指首字符为语气词的时候,在第一设定字典中对应的出现频率,也就是首字符在四库全书诗库中作为诗句的诗头的出现频率,通过第一频率的大小,能够判断首字符常被用于作为一首诗词的诗头。在实际应用中,语气词是指呀、啊、呢、吗、么等语气助词,当首字符为语气词的时候,生成的诗词的质量较差,经常出现语义不通顺的问题,因此需要根据首字符为语气词的时候对应的第一频率,对首字符进行相应的处理。
S602:在所述第一频率大于第一设定值时,通过所述设定模型生成邻接在所述首字符之后的字符。
这里,在第一频率大于第一设定值时,表征在设定诗词库中首字符常用于作为诗词的诗头,由于设定模型是通过设定诗词库确定邻接在首字符之后的字符,当首字符常被用于作为诗句的诗头时,通过设定模型生成邻接在首字符之后的字符可以保证生成的诗句的质量。
S603:在所述第一频率小于或等于所述第一设定值时,通过设定算法生成邻接在所述首字符之后的字符。
这里,在第一频率小于或等于第一设定值时,表征在设定诗词库中首字符不常用于诗词的诗头,甚至可能在设定诗词库中不存在当前的首字符作为诗头的诗句,在这种情况下,直接通过设定模型确定首字符之后的字符很大几率会导致生成的诗句的语义不通顺的问题,因此需要通过设定算法生成邻接位于首字符之后的字符,再基于邻接在首字符之后的字符,通过设定模型,确定待生成诗句中的其他字符。
在上述实施例中,根据第一设定字典,确定第一频率,第一设定字典用于记录设定诗词库中每个诗句的首字在所有诗句中的出现频率,第一频率表征首字符在第一设定字典中对应的出现频率,在第一频率大于第一设定值时,通过设定模型生成邻接在首字符之后的字符,在第一频率小于或等于第一设定值时,通过设定算法生成邻接在首字符之后的字符,可以在首字符为语气词的情况下,通过首字符作为诗头的频率,选择对应的诗句生成方法,从而能够提高语气词作为首字符的诗句的质量,并保证生成的诗句的语义通顺。
在一实施例中,如图7所示,所述通过设定算法生成邻接在所述首字符之后的字符,包括:
S701:在所述第一频率大于第二设定值,且第二设定字典中存在第一词语的情况下,基于所述第一词语确定邻接在所述首字符之后的字符;所述第二设定字典用于记录设定诗词库中每个诗句的分词;所述第一词语为以所述首字符为前缀的词语。
这里,第二设定值是用于判断首字符是否存在于第一设定字典,当第一频率大于第二设定值的时候,说明在设定诗词库中存在少量以当前首字符作为诗头的诗句,需要在第二设定字典确定邻接在首字符之后的字符,其中,第二设定字典是存储设定诗词库中每个诗句的分词,例如对于诗句“床前明月光”进行分词,得到“床前”与“明月光”,将诗句分词后得到的词语去重后,存储到第二设定字典中,在第二设定字典中确定第一词语,第一词语为以首字符为前缀的二字词语,基于第一词语确定邻接在首字符之后的字符,在实际应用中,第一词语是由两个字符组成,第一个为首字符,将另一个字符确定为邻接在首字符之后的字符,例如,首字符为“明”,通过第二设定字典,可以得到第一词语“明月”,将“月”确定为邻接在首字符之后的字符,当存在多个第一词语的时候,可以随机选择一个第一词语,根据选定的第一词语确定邻接在首字符之后的字符。在实际应用中,将邻接在首字符之后的字符输入到设定模型中以确定诗句的其他字符。
S702:在所述第一频率大于所述第二设定值,所述第二设定字典中不存在所述第一词语且第三设定字典中存在第二词语的情况下,基于所述第二词语确定邻接在所述首字符之后的字符;所述第三设定字典用于记录设定诗词库的每个诗句中相邻两个字符组成的词语;所述第二词语为包含所述首字符的词语;
其中,
所述第一设定值大于所述第二设定值。
这里,在第一频率大于第二设定时,且在第二设定字典中不存在第一词语且第三设定字典中存在第二词语的情况下,第三设定字典是用于记录设定诗词库中的每个诗句中相邻两个字符组成的词语,属于2-gram词典,例如,对于诗句“柳暗花明又一村”,将诗句中相邻两个字符“柳暗”,“暗花”,“花明”,“明又”,“又一”,“一村”存储到第三设定字典中。在第二设定字典中不存在第一词语说明无法通过第二设定字典确定第三字符,例如,在第二设定字典中以首字符为前缀的词语并不是二字词语,或者在第二设定字典中只存在首字符的单字。在第三设定字典中将包含首字符的词语确定为第二词语,通过第二词语确定邻接在首字符之后的字符,例如,第二词语为“明日”,则将第二词语中的第二个字符“日”确定为邻接在首字符之后的字符,当存在多个第二词语的时候,可以从多个第二词语中随机选择一个第二词语,根据选定的第二词语确定邻接在首字符之后的字符。在实际应用中,还可能存在着首字符的第一频率小于第二设定值的情况,或者在首字符的第一频率大于第二设定值的时候,第二设定字典中不存在第一词语且第三设定字典中也不存在第二词语的情况,这时,可以通过在第一设定字典中选择出现频率高的字符作为邻接在首字符之后的字符。在实际应用中,可以确定第一设定字典中出现频率最高的5个字符,在这5个字符中随机选择一个字符作为邻接在首字符之后的字符。
在上述实施例中,在第一频率大于第二设定值,且在第二设定字典中存在第一词语的情况下,基于第一词语确定邻接在首字符之后的字符,第二设定字典用于记录设定诗词库中每个诗句的分词,第一词语为以首字符为前缀的词语,在第一频率大于第二设定值时,第二设定字典中不存在第一词语且第三设定字典中存在第二词语的情况下,基于第二词语确定邻接在首字符之后的字符,第三设定字典用于记录设定诗词库的每个诗句中相邻两个字符组成的词语,第二词语为包含首字符的词语,其中,第一设定值大于第二设定值,从而能够对特殊的首字符进行相应的处理,为特殊的首字符确定邻接在首字符之后的字符,能够提高最终生成的以难字作为首字符的诗句的质量,提高诗句的可读性。
在一实施例中,如图8所示,所述方法还包括:
S801:在通过所述设定模型生成的对应的诗句的尾字符不符合第一设定条件的情况下,判断第二设定字典或第三设定字典中是否存在至少一个第三词语;所述第一设定条件表征所述尾字符押韵;所述第二设定字典用于记录设定诗词库中每个诗句的分词;所述第三设定字典用于记录设定诗词库的每个诗句中相邻两个字符组成的词语;所述第三词语为以邻接在所述尾字符之前的字符为前缀的词语。
这里,为了保证生成的诗句的质量,还需要确定生成的诗句的尾字符的押韵情况,在通过设定模型生成的对应的诗句的尾字符不符合第一设定条件的情况下,第一设定条件表征尾字符押韵,说明尾字符不押韵,那么需要对诗句的尾字符进行处理,判断第二设定字典或第三设定字典中是否存在至少一个第三词语,其中,第三词语为以邻接在尾字符之前的字符为前缀组成的词语,以诗句“床前明月光”为例,第三词语是指以“月”为前缀组成的词语。在实际应用中,可以判断诗句的尾字符之间对应的韵母是否相同,如果诗句的尾字符之间对应的韵母是相同,说明诗句满足第一设定条件,如果诗句的尾字符之间对应的韵母不相同,说明诗句不满足第一设定条件。在实际应用中,通常要求诗词的偶数诗句需要满足押韵要求,因此可以判断生成的诗词中的偶数诗句是否满足押韵要求,示例地,假设生成的诗句一共包括4个诗句,可以判断诗词中的第2个诗句与第4个诗句是否满足押韵要求。在实际应用中,第二设定字典用于记录设定诗词库中每个诗句的分词,对设定诗词库中每个诗句进行分词处理,将得到的分词结果进行去重后存储到第二设定字典中。第三设定词典是用于记录设定诗词库中的每个诗句中相邻两个字符组成的词语,其中每个词语的长度为2,属于2-gram词典。
S802:在所述第二设定字典或所述第三设定字典中存在至少一个第三词语的情况下,使用第四字符替换所述尾字符;所述第四字符从所述至少一个第三词语的所有尾字符中确定出。
这里,在第二设定字典与第三设定字典存在的至少一个第三词语的情况下,使用第四字符替换尾字符,第四字符从至少一个第三词语的尾字符中确定出。在实际应用中,可以将判断从第二设定字典或第三设定字典中确定的所有第三词语的尾字符组成一个尾字符候选集,判断尾字符候选集是否满足第一设定条件,如果尾字符候选集满足第一设定条件的时候,从尾字符候选集中随机选择一个满足第一设定条件的字符作为第四字符,将确定出的第四字符替换为诗句中原有的尾字符,从而能够在更换尾字符之后使得诗句押韵。
S803:在所述第二设定字典和所述第三设定字典中均不存在所述第三词语的情况下,基于邻接在所述尾字符之前的字符,通过递归搜索的方式确定第五字符,并使用所述第五字符替换所述尾字符。
这里,在第二设定字典和第三设定字典均不存在第三词语的情况下,说明不能直接从设定诗词库中的诗句根据第三词语确定第四字符,需要通过邻接在尾字符之前的字符,通过递归搜索的方式确定第五字符,并使用第五字符替换尾字符。在实际应用中,邻接在尾字符之前的字符是指诗句中的倒数第二个字,以诗句“床前明月光”为例,邻接在尾字符之前的字符是指“月”。在实际应用中,根据邻接在尾字符之前的字符,确定字符对应的尾字概率向量,基于尾字概率向量,通过递归搜索的方式,确定第五字符。在实际应用中,可以将不符合第一设定条件的诗句对应的尾字向量保存在一个集合中,从集合中以递归搜索的方式,在概率满足预设排位的情况下,选择高概率押韵的第五字符,例如,从Top 5的概率中选择随机选择第五字符,将确定出的第五字符替换诗句中原有的尾字符。
在上述实施例中,在通过设定模型生成的对应的诗句的尾字符不符合第一设定条件的情况下,判断第二设定字典或第三设定字典中是否存在至少一个第三词语,第一设定条件表征所述尾字符押韵,第二设定字典用于记录设定诗词库中每个诗句的分词,第三设定字典用于记录设定诗词库的每个诗句中相邻两个字符组成的词语,第三词语为以邻接在尾字符之前的字符为前缀的词语,在第二设定字典或第三设定字典中存在至少一个第三词语的情况下,使用第四字符替换尾字符,第四字符从至少一个第三词语的所有尾字符中确定出,在第二设定字典和第三设定字典中均不存在第三词语的情况下,基于邻接在尾字符之前的字符,通过递归搜索的方式确定第五字符,并使用第五字符替换尾字符,从而能够通过设定字典和递归搜索的方式,将诗句中尾字符替换成押韵的尾字符,保证了诗句的语义流畅的同时,还能使诗句满足押韵要求,提高了生成的诗词的质量。
为实现本申请实施例的方法,本申请实施例还提供了一种诗词生成装置,如图9所示,该装置包括:
生成单元901,用于基于待生成诗句的第一字符长度和首字符,通过设定模型生成对应的诗句;其中,所述设定模型用于输出至少一个候选字符中的每个候选字符邻接在输入字符之后的概率;
所述生成单元901在通过所述设定模型生成对应的诗句时,包括:
生成单元901,用于在第一字符的字符数量小于所述第一字符长度的情况下,通过所述设定模型生成位于第二字符之后的字符;所述第一字符表征所述待生成诗句中已经生成的字符;所述第二字符表征最后一个生成的第一字符;
输出单元902,用于在第一字符的字符数量等于所述第一字符长度的情况下,基于已经生成的第一字符输出对应的诗句。
在一实施例中,所述生成单元901通过所述设定模型生成位于第二字符之后的字符,包括:
将第二字符输入所述设定模型,得到第二字符的至少一个候选字符;
在第一字符的字符数量小于第二字符长度的情况下,对第二字符的至少一个候选字符执行第一操作;
在第一字符的字符数量大于或等于所述第二字符长度的情况下,对第二字符的至少一个候选字符执行第二操作;其中,
所述第二字符长度小于所述第一字符长度。
在一实施例中,所述生成单元901对第二字符的至少一个候选字符执行第一操作,包括:
基于每个候选字符对应的概率,在第二字符的至少一个候选字符中确定第三字符;其中,
所述第三字符为所述待生成诗句中邻接在第二字符之后的字符。
在一实施例中,所述生成单元901对第二字符的至少一个候选字符执行第二操作,包括:
确定第二字符对应的至少一组候选字符串;其中,基于第三字符长度和第二字符的至少一个候选字符中的每个候选字符,通过所述设定模型生成所述至少一组候选字符串中的一组候选字符串;所述第三字符长度为所述第一字符长度与所述第二字符长度的差值;
基于每组候选字符串对应的概率和,在所述至少一组候选字符串中确定第一候选字符串;所述概率和基于候选字符串中的每个字符对应的由所述设定模型输出的概率计算得到;其中,
所述第一候选字符串为所述待生成诗句中邻接在第二字符之后的字符串。
在一实施例中,所述首字符为语气词,所述生成单元901在通过所述设定模型生成对应的诗句时,还包括:
根据第一设定字典,确定第一频率;所述第一设定字典用于记录设定诗词库中每个诗句的首字在所有诗句中的出现频率;所述第一频率表征所述首字符在所述第一设定字典中对应的出现频率;
在所述第一频率大于第一设定值时,通过所述设定模型生成邻接在所述首字符之后的字符;
在所述第一频率小于或等于所述第一设定值时,通过设定算法生成邻接在所述首字符之后的字符。
在一实施例中,所述生成单元901通过设定算法生成邻接在所述首字符之后的字符,包括:
在所述第一频率大于第二设定值,且第二设定字典中存在第一词语的情况下,基于所述第一词语确定邻接在所述首字符之后的字符;所述第二设定字典用于记录设定诗词库中每个诗句的分词;所述第一词语为以所述首字符为前缀的词语;
在所述第一频率大于所述第二设定值,所述第二设定字典中不存在所述第一词语且第三设定字典中存在第二词语的情况下,基于所述第二词语确定邻接在所述首字符之后的字符;所述第三设定字典用于记录设定诗词库的每个诗句中相邻两个字符组成的词语;所述第二词语为包含所述首字符的词语;其中,
所述第一设定值大于所述第二设定值。
在一实施例中,所述装置还包括:
第一确定单元,用于在通过所述设定模型生成的对应的诗句的尾字符不符合第一设定条件的情况下,判断第二设定字典或第三设定字典中是否存在至少一个第三词语;所述第一设定条件表征所述尾字符押韵;所述第二设定字典用于记录设定诗词库中每个诗句的分词;所述第三设定字典用于记录设定诗词库的每个诗句中相邻两个字符组成的词语;所述第三词语为以邻接在所述尾字符之前的字符为前缀的词语;
第二确定单元,用于在所述第二设定字典或所述第三设定字典中存在至少一个第三词语的情况下,使用第四字符替换所述尾字符;所述第四字符从所述至少一个第三词语的所有尾字符中确定出;
第三确定单元,用于在所述第二设定字典和所述第三设定字典中均不存在所述第三词语的情况下,基于邻接在所述尾字符之前的字符,通过递归搜索的方式确定第五字符,并使用所述第五字符替换所述尾字符。
实际应用时,生成单元901、输出单元902可由诗词生成装置中的处理器来实现。当然,处理器需要运行存储器中存储的程序来实现上述各程序模块的功能。
需要说明的是,上述图9实施例提供的诗词生成装置在进行诗词生成时,仅以上述各程序模块的划分进行举例说明,实际应用中,可以根据需要而将上述处理分配由不同的程序模块完成,即将装置的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的诗词生成装置与诗词生成方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
基于上述程序模块的硬件实现,且为了实现本申请实施例的方法,本申请实施例还提供了一种电子设备,图10为本申请实施例电子设备的硬件组成结构示意图,如图10所示,电子设备包括:
通信接口1,能够与其它设备比如网络设备等进行信息交互;
处理器2,与通信接口1连接,以实现与其它设备进行信息交互,用于运行计算机程序时,执行上述一个或多个技术方案提供的诗词生成方法。而所述计算机程序存储在存储器3上。
当然,实际应用时,电子设备中的各个组件通过总线系统4耦合在一起。可理解,总线系统4用于实现这些组件之间的连接通信。总线系统4除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图10中将各种总线都标为总线系统4。
本申请实施例中的存储器3用于存储各种类型的数据以支持电子设备的操作。这些数据的示例包括:用于在电子设备上操作的任何计算机程序。
可以理解,存储器3可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM,Read Only Memory)、可编程只读存储器(PROM,Programmable Read-Only Memory)、可擦除可编程只读存储器(EPROM,Erasable Programmable Read-Only Memory)、电可擦除可编程只读存储器(EEPROM,Electrically Erasable Programmable Read-Only Memory)、磁性随机存取存储器(FRAM,ferromagnetic random access memory)、快闪存储器(Flash Memory)、磁表面存储器、光盘、或只读光盘(CD-ROM,Compact Disc Read-Only Memory);磁表面存储器可以是磁盘存储器或磁带存储器。易失性存储器可以是随机存取存储器(RAM,Random AccessMemory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(SRAM,Static Random Access Memory)、同步静态随机存取存储器(SSRAM,Synchronous Static Random Access Memory)、动态随机存取存储器(DRAM,Dynamic Random Access Memory)、同步动态随机存取存储器(SDRAM,SynchronousDynamic Random Access Memory)、双倍数据速率同步动态随机存取存储器(DDRSDRAM,Double Data Rate Synchronous Dynamic Random Access Memory)、增强型同步动态随机存取存储器(ESDRAM,Enhanced Synchronous Dynamic Random Access Memory)、同步连接动态随机存取存储器(SLDRAM,SyncLink Dynamic Random Access Memory)、直接内存总线随机存取存储器(DRRAM,Direct Rambus Random Access Memory)。本申请实施例描述的存储器3旨在包括但不限于这些和任意其它适合类型的存储器。
上述本申请实施例揭示的方法可以应用于处理器2中,或者由处理器2实现。处理器2可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器2中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器2可以是通用处理器、DSP,或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器2可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器3,处理器2读取存储器3中的程序,结合其硬件完成前述方法的步骤。
处理器2执行所述程序时实现本申请实施例的各个方法中的相应流程,为了简洁,在此不再赘述。
在示例性实施例中,本申请实施例还提供了一种存储介质,即计算机存储介质,具体为计算机可读存储介质,例如包括存储计算机程序的存储器3,上述计算机程序可由处理器2执行,以完成前述方法所述步骤。计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、Flash Memory、磁表面存储器、光盘、或CD-ROM等存储器。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置、终端和方法,可以通过其它的方式实现。以上所描述的设备实施例仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本申请各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台电子设备(可以是个人计算机、服务器、或者网络设备等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (7)

1.一种诗词生成方法,其特征在于,包括:
基于待生成诗句的第一字符长度和首字符,通过设定模型生成对应的诗句;其中,所述设定模型用于输出至少一个候选字符中的每个候选字符邻接在输入字符之后的概率;
在通过所述设定模型生成对应的诗句时,所述方法包括:
在第一字符的字符数量小于所述第一字符长度的情况下,将第二字符输入所述设定模型,得到所述第二字符的至少一个候选字符;其中,所述第一字符表征所述待生成诗句中已经生成的字符;所述第二字符表征最后一个生成的第一字符;
在所述第一字符的字符数量小于第二字符长度的情况下,基于每个候选字符对应的概率,在所述第二字符的至少一个候选字符中确定第三字符;其中,所述第二字符长度小于所述第一字符长度;所述第三字符为所述待生成诗句中邻接在所述第二字符之后的字符;
在所述第一字符的字符数量大于或等于所述第二字符长度的情况下,确定所述第二字符对应的至少一组候选字符串;其中,基于第三字符长度和第二字符的至少一个候选字符中的每个候选字符,通过所述设定模型生成所述至少一组候选字符串中的一组候选字符串;所述第三字符长度为所述第一字符长度与所述第二字符长度的差值;
基于每组候选字符串对应的概率和,在所述至少一组候选字符串中确定第一候选字符串;所述概率和基于所述候选字符串中的每个字符对应的由所述设定模型输出的概率计算得到;其中,所述第一候选字符串为所述待生成诗句中邻接在所述第二字符之后的字符串;
在第一字符的字符数量等于所述第一字符长度的情况下,基于已经生成的第一字符输出对应的诗句。
2.根据权利要求1所述的诗词生成方法,其特征在于,所述首字符为语气词,在通过所述设定模型生成对应的诗句时,所述方法还包括:
根据第一设定字典,确定第一频率;所述第一设定字典用于记录设定诗词库中每个诗句的首字在所有诗句中的出现频率;所述第一频率表征所述首字符在所述第一设定字典中对应的出现频率;
在所述第一频率大于第一设定值时,通过所述设定模型生成邻接在所述首字符之后的字符;
在所述第一频率小于或等于所述第一设定值时,通过设定算法生成邻接在所述首字符之后的字符。
3.根据权利要求2所述的诗词生成方法,其特征在于,所述通过设定算法生成邻接在所述首字符之后的字符,包括:
在所述第一频率大于第二设定值,且第二设定字典中存在第一词语的情况下,基于所述第一词语确定邻接在所述首字符之后的字符;所述第二设定字典用于记录设定诗词库中每个诗句的分词;所述第一词语为以所述首字符为前缀的词语;
在所述第一频率大于所述第二设定值,所述第二设定字典中不存在所述第一词语且第三设定字典中存在第二词语的情况下,基于所述第二词语确定邻接在所述首字符之后的字符;所述第三设定字典用于记录设定诗词库的每个诗句中相邻两个字符组成的词语;所述第二词语为包含所述首字符的词语;其中,
所述第一设定值大于所述第二设定值。
4.根据权利要求1所述的诗词生成方法,其特征在于,所述方法还包括:
在通过所述设定模型生成的对应的诗句的尾字符不符合第一设定条件的情况下,判断第二设定字典或第三设定字典中是否存在至少一个第三词语;所述第一设定条件表征所述尾字符押韵;所述第二设定字典用于记录设定诗词库中每个诗句的分词;所述第三设定字典用于记录设定诗词库的每个诗句中相邻两个字符组成的词语;所述第三词语为以邻接在所述尾字符之前的字符为前缀的词语;
在所述第二设定字典或所述第三设定字典中存在至少一个第三词语的情况下,使用第四字符替换所述尾字符;所述第四字符从所述至少一个第三词语的所有尾字符中确定出;
在所述第二设定字典和所述第三设定字典中均不存在所述第三词语的情况下,基于邻接在所述尾字符之前的字符,通过递归搜索的方式确定第五字符,并使用所述第五字符替换所述尾字符。
5.一种诗词生成装置,其特征在于,所述诗词生成装置用于执行权利要求1至4任一项所述的方法。
6.一种电子设备,其特征在于,包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器,
其中,所述处理器用于运行所述计算机程序时,执行权利要求1至4任一项所述方法的步骤。
7.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至4任一项所述方法的步骤。
CN202010821155.7A 2020-08-14 2020-08-14 诗词生成方法、装置、电子设备及存储介质 Active CN112052651B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010821155.7A CN112052651B (zh) 2020-08-14 2020-08-14 诗词生成方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010821155.7A CN112052651B (zh) 2020-08-14 2020-08-14 诗词生成方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN112052651A CN112052651A (zh) 2020-12-08
CN112052651B true CN112052651B (zh) 2024-01-23

Family

ID=73600368

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010821155.7A Active CN112052651B (zh) 2020-08-14 2020-08-14 诗词生成方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN112052651B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113051877B (zh) * 2021-03-11 2023-06-16 杨虡 一种文本内容生成方法、装置、电子设备及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08263487A (ja) * 1995-03-24 1996-10-11 Sharp Corp 文字認識装置
JP2001306067A (ja) * 2000-04-25 2001-11-02 Yamaha Corp 歌詞作成装置及び歌詞作成方法並びに歌詞作成プログラムを記録した記録媒体
JP2004004153A (ja) * 2002-03-26 2004-01-08 Tokyo Denki Univ 文字及び文字列生成表示装置
CN106569995A (zh) * 2016-09-26 2017-04-19 天津大学 基于语料库和格律规则的汉语古诗词自动生成方法
CN110705284A (zh) * 2019-09-19 2020-01-17 苏州思必驰信息科技有限公司 基于神经网络生成模型的诗词生成质量的优化方法及系统
CN110852093A (zh) * 2018-07-26 2020-02-28 腾讯科技(深圳)有限公司 文本信息生成方法、装置、计算机设备及存储介质
CN111046648A (zh) * 2019-10-29 2020-04-21 平安科技(深圳)有限公司 韵律控制的诗词生成方法、装置、设备及存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8484229B2 (en) * 2011-05-11 2013-07-09 King Abdulaziz City For Science And Technology Method and system for identifying traditional arabic poems

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08263487A (ja) * 1995-03-24 1996-10-11 Sharp Corp 文字認識装置
JP2001306067A (ja) * 2000-04-25 2001-11-02 Yamaha Corp 歌詞作成装置及び歌詞作成方法並びに歌詞作成プログラムを記録した記録媒体
JP2004004153A (ja) * 2002-03-26 2004-01-08 Tokyo Denki Univ 文字及び文字列生成表示装置
CN106569995A (zh) * 2016-09-26 2017-04-19 天津大学 基于语料库和格律规则的汉语古诗词自动生成方法
CN110852093A (zh) * 2018-07-26 2020-02-28 腾讯科技(深圳)有限公司 文本信息生成方法、装置、计算机设备及存储介质
CN110705284A (zh) * 2019-09-19 2020-01-17 苏州思必驰信息科技有限公司 基于神经网络生成模型的诗词生成质量的优化方法及系统
CN111046648A (zh) * 2019-10-29 2020-04-21 平安科技(深圳)有限公司 韵律控制的诗词生成方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN112052651A (zh) 2020-12-08

Similar Documents

Publication Publication Date Title
US11816438B2 (en) Context saliency-based deictic parser for natural language processing
CN108960277B (zh) 使用语言模型对序列到序列模型进行冷聚变
JP5071373B2 (ja) 言語処理装置、言語処理方法および言語処理用プログラム
Pedler Computer correction of real-word spelling errors in dyslexic text
CN111159412B (zh) 分类方法、装置、电子设备及可读存储介质
JP7457125B2 (ja) 翻訳方法、装置、電子機器及びコンピュータプログラム
CN112905735A (zh) 用于自然语言处理的方法和设备
CN110750993A (zh) 分词方法及分词器、命名实体识别方法及系统
CN115048944B (zh) 一种基于主题增强的开放域对话回复方法及系统
KR102227939B1 (ko) 단어의 문맥 정보와 형태론적 정보를 고려한 단어 임베딩 방법 및 장치
US20080109210A1 (en) Removing Bias From Features Containing Overlapping Embedded Grammars in a Natural Language Understanding System
US20200042547A1 (en) Unsupervised text simplification using autoencoders with a constrained decoder
CN111414735B (zh) 文本数据的生成方法和装置
CN111143551A (zh) 文本预处理方法、分类方法、装置及设备
CN113033182B (zh) 文本创作的辅助方法、装置及服务器
CN109508448A (zh) 基于长篇文章生成短资讯方法、介质、装置和计算设备
CN106202056A (zh) 中文分词场景库更新方法和系统
CN112052651B (zh) 诗词生成方法、装置、电子设备及存储介质
US5369576A (en) Method of inflecting words and a data processing unit for performing such method
Tran et al. Hierarchical transformer encoders for Vietnamese spelling correction
CN116702770A (zh) 长文本的生成方法、装置、终端及存储介质
CN115688703B (zh) 一种特定领域文本纠错方法、存储介质和装置
US20230035641A1 (en) Multi-hop evidence pursuit
Kim et al. Document summarization model based on general context in RNN
CN114626529A (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