CN106776517B - 自动作诗方法和装置及系统 - Google Patents

自动作诗方法和装置及系统 Download PDF

Info

Publication number
CN106776517B
CN106776517B CN201611184297.7A CN201611184297A CN106776517B CN 106776517 B CN106776517 B CN 106776517B CN 201611184297 A CN201611184297 A CN 201611184297A CN 106776517 B CN106776517 B CN 106776517B
Authority
CN
China
Prior art keywords
word
poetry
sentence
character
current
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
CN201611184297.7A
Other languages
English (en)
Other versions
CN106776517A (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.)
iFlytek Co Ltd
Original Assignee
iFlytek 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 iFlytek Co Ltd filed Critical iFlytek Co Ltd
Priority to CN201611184297.7A priority Critical patent/CN106776517B/zh
Publication of CN106776517A publication Critical patent/CN106776517A/zh
Application granted granted Critical
Publication of CN106776517B publication Critical patent/CN106776517B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • G06F40/186Templates

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是本申请另一个实施例提出的自动作诗方法的流程示意图;
图3是本申请实施例中构建自动作诗模型的方法的流程示意图;
图4是本申请实施例中诗首句生成模型的单元结构示意图;
图5是本申请实施例中诗非首句生成模型的结构示意图;
图6是本申请另一个实施例提出的自动作诗方法的流程示意图;
图7是本申请实施例中根据候选字的生成概率和平仄韵律确定当前字的方法的流程示意图;
图8是本申请实施例中根据候选字的生成概率和押韵韵律确定当前字的方法的流程示意图;
图9是本申请一个实施例提出的自动作诗装置的结构示意图;
图10是本申请另一个实施例提出的自动作诗装置的结构示意图;
图11是本申请另一个实施例提出的自动作诗系统的结构示意图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的模块或具有相同或类似功能的模块。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能理解为对本申请的限制。相反,本申请的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。
图1是本申请一个实施例提出的自动作诗方法的流程示意图。
如图1所示,本实施例的方法包括:
S11:接收作诗主题词及作诗藏头字。
作诗主题词是指作诗的主题,如“春天”、“风景”等。
本申请的自动作诗主要是指自动作藏头诗,作诗藏头字是指诗句的第一个字,也就是首字。
作诗主题词及作诗藏头字可以由用户指定。
作诗藏头字可以仅包括首句藏头字;或者,作诗藏头字可以包括首句藏头字和非首句藏头字,即包括每句诗的藏头字。
S12:根据所述作诗主题词及作诗藏头字,以及预先构建的自动作诗模型生成诗。
具体构建自动作诗模型的方法可以参见后续描述。
自动作诗模型可以包括:诗首句生成模型和诗非首句生成模型。诗首句生成模型用于生成诗的首句,诗非首句生成模型用于生成诗的非首句。
比如,先将作诗主题词及首句藏头字作为诗首句生成模型的输入,分别对诗首句中每个非首字进行预测,依次将诗首句中每个非首字作为当前字,依次得到当前字的多个候选字的生成概率,选择生成概率最大的候选字作为当前字,预测结束后,得到诗首句中所有字,从而得到诗首句;然后,再将生成的诗首句及每句的藏头字依次作为诗非首句生成模型的输入,依次得到非首句诗句中每个非首字的多个候选字的生成概率,每次选择生成概率最大的候选字作为相应诗句中的字,预测结束后,依次得到非首句诗句中所有字,从而得到所有非首句诗句;最后将生成的诗首句和非首句组合后,得到整首诗。
在具体实施时,以客户端与服务端结合实现为例,客户端如安装在电脑、手机、平板电脑、车载设备等终端上的应用程序(APP),客户端与服务端可以通过网络连接通信。
如图2所示,结合客户端与服务端,自动作诗方法的流程可以包括:
S21:客户端接收用户输入的作诗主题词及作诗藏头字。
例如,客户端向用户显示交互界面,用户通过交互界面以文字、语音等形式向客户端输入作诗主题词及作诗藏头字。
S22:客户端将用户输入的作诗主题词及作诗藏头字发送给服务端。
客户端可以通过与服务端之间的网络连接将用户输入的作诗主题词及作诗藏头字发送给服务端。客户端与服务端之间的网络连接架构可以参见各种相关技术,在此不再详述。
S23:服务端接收客户端发送的作诗主题词及作诗藏头字。
S24:服务端根据所述作诗主题词及作诗藏头字,以及预先构建的自动作诗模型生成诗。
S25:服务端将得到的诗发送给客户端。
S26:客户端将接收的诗反馈给用户。
服务端发送给客户端的诗可以为文本形式,客户端向用户反馈时可以以文本或语音形式,在语音形式时,可以采用语音合成技术将文本转换为语音。
上述各步骤的具体内容可以参见各实施例中的相关描述,在此不再详述。
可以理解的是,上述的客户端和服务端可以分别位于不同的物理设备中,如客户端位于用户侧的终端设备中,服务端位于服务器中,终端设备与服务器通过网络连接;或者,客户端和服务端可以位于相同的物理设备中,例如,在终端设备中集成客户端和服务端的功能,从而可以在终端设备本地完成自动作诗。
本实施例中,根据作诗主题词及藏头字生成诗句时,考虑了诗句中每个字之间的语义信息,从而使生成的诗句语义更连贯,提高用户体验。
如上所示,在自动作诗时会采用到自动作诗模型,因此,该方法还可以包括构建自动作诗模型的步骤,下面对自动作诗模型的构建进行说明。
图3是本申请实施例中构建自动作诗模型的方法的流程示意图。
所述自动作诗模型包括:诗首句生成模型和诗非首句生成模型,所述诗首句生成模型根据每首诗的主题词及首句中的字构建得到,所述诗非首句生成模型根据每首诗的非首句的历史诗句中的字和非首句中的字构建得到,具体构建方法如下所述。
S31:获取诗的文本数据及其标注信息,并根据所述标注信息确定所述诗的主题词。
获取诗的文本数据时,具体可以采用收集的方式得到,或者,也可以直接从日志等数据库中直接获取。为了提高模型的准确度,最好获取尽量多诗的文本数据。
以收集方式为例,具体收集所需格式的诗的文本数据。所述格式根据应用需求预先确定,如需要生成的诗为五言绝句,则需要收集大量五言绝句诗的文本数据。
所述格式如五言绝句、五言律诗和七言绝句、七言律诗;如五言绝句《登鹳雀楼》:“白日依山尽,黄河入海流。欲穷千里目,更上一层楼。”
对应获取的每首诗,可以根据其中的首句标注相应诗的主题词。
具体标注时,可以根据每首诗首句的语义,自动标注相应主题词;也可由领域专家直接人工标注,具体不作限定;如利用自动标注的方法,根据《登鹳雀楼》的首句“白日依山尽”的语义,标注相应主题词为“风景”。在对每首诗进行自动或人工标注后,则可以直接从标注信息中获取主题词。
S32:对所述诗的主题词及所述诗中的字进行向量化,得到主题词向量和字向量。
具体向量化时,可以直接使用word2vec技术分别对每首诗的主题词及诗句中每个字进行向量化,具体过程可以参见各种相关技术,在此不再详述,当然也可以采用其它方法进行向量化。
如每首诗的主题词使用100维向量表示,诗中每个字使用200维向量表示,如主题词“风景”的主题词向量可以表示为t=[0.071369,0.296877,…,0.254090];诗句中“白”字的字向量可以表示为:w=[-0.149929,0.193714,…,-0.020208]。
S33:根据所述主题词向量及所述诗的首句中的字的字向量,构建诗首句生成模型。
所述诗首句生成模型使用字错位预测法构建得到,所述字错位预测法即根据诗句中的上个字预测诗句中的下个字。所述诗首句生成模型构建时需要的训练数据包括主题词向量和诗首句中每个字的字向量。
具体地,可以先确定诗首句生成模型的结构,具体可以选为神经网络结构,所述神经网络结构如循环神经网络(Recurrent neural Network,RNN)结构或长短时记忆神经网络(Long Short-Term Memory,LSTM)结构等;再依据诗首句生成模型的结构和训练数据,使用字错位预测法构建得到诗首句生成模型。例如,依次选取首句中的每个非首字作为当前字,将主题词向量与当前字的前一个字的字向量组合后作为模型输入(根据模型结构的不同,模型输入还可以有其他输入);经由模型结构中的各层参数的运算得到当前字的预测字(如模型输出包括当前字的多个候选字的生成概率,将生成概率最大的候选字作为当前字的预测字);再计算当前字的预测字的字向量和当前字的字向量之间的差值,根据差值对模型参数进行更新,确定出模型参数,从而得到诗首句生成模型。模型训练方法可以依据模型结构的不同而适应调整,具体内容可以参见各种相关技术。
诗首句生成模型可以采用神经网络结构,如RNN结构,如图4所示,给出了诗首句生成模型中一个RNN单元的示意图。
在获取到大量诗后,可以依次将每首诗作为当前诗,并得到当前诗的主题词向量和诗中所有字的字向量。在构建诗首句生成模型时,可以从上述向量中获取主题词向量和首句中的每个字的字向量,将获取的每个非首字分别作为当前字,通过训练,得到诗首句生成模型。
其中,t表示当前诗的主题词向量,wi-1为当前字的前一个字的字向量,hi-1为当前字的前一个字的诗首句生成模型隐层的输出,wi为当前字的预测字的字向量,hi为当前字的诗首句生成模型隐层的输出。
例如,使用“白”预测“日”时,则当前字为“日”,当前字的前一个字为“白”,具体的,先将“白”的字向量与主题词“风景”的词向量进行组合后,“白”字得到带有主题信息的字向量;然后将“白”字带有主题信息的字向量以及“白”预测时诗首句生成模型隐层的输出作为“日”预测时诗首句生成模型的输入,模型输出为“日”的预测字的字向量及“日”预测时诗生成模型隐层的输出。然后,根据“日”的预测字的字向量和向量化后得到的“日”的字向量可以计算得到差值,依据大量的诗的首句中非首字所对应的差值,进行模型参数更新,可以构建得到诗首句生成模型。
需要说明的是,如果非首句藏头字并未给出,则可以采用字预测的方式确定非首句藏头字,从而在模型训练时还可以考虑尾字的下一个字的预测。比如,每句诗中,尾字没有下一个字时,则尾字下一个字的字向量使用0向量表示,如使用诗句“白日依山尽”进行模型构建时,依次预测首句中每个字时,分别将“白日依山尽”作为输入,将“日依山尽0”作为模型输出,采用字错位预测方法更新模型参数,即依次使用“白”预测“日”,使用“日”预测“依”,使用“依”预测“山”,使用“山”预测“尽”,使用“尽”预测0向量;每次使用预测得到的字向量与诗句中真实字的字向量之间的差值对模型参数进行更新。相应的,此种方式建立的诗首句生成模型后,则可以根据首句的尾字和诗首句生成模型预测尾字的下一个字,将该下一个字作为第二句诗句的藏头字,类似的,可以根据第二句的尾字和诗非首句生成模型预测尾字的下一个字,将该下一个字作为第三句诗句的藏头字等。
S34:根据所述诗的非首句的历史诗句中的字的字向量和所述非首句中的字的字向量,构建诗非首句生成模型。
所述诗非首句生成模型在构建时使用的方法包括句错位预测法,所述句错位预测即根据诗中前面诗句预测后面的诗句,具体地,利用前面的诗句得到待预测诗句的主题信息,再根据待预测诗句的主题信息和首字使用字错位预测法依次预测待预测诗句中其他字,根据预测字的字向量与真实字的字向量之间的差值对模型参数进行更新,更新结束后得到诗句非首句生成模型。
具体地,可以依次将每个非首句作为当前诗句,诗非首句生成模型可以分为两个部分,第一部分是确定当前诗句的主题信息,第二部分是根据确定出的主题信息和当前诗句的首字,依次预测当前诗句的每个非首字。其中,第二部分的原理与诗首句生成模型的原理相同,比如,将确定出的主题信息作为图4的t,其余参数参见图4的说明,具体不再详述。下面将主要针对第一部分进行说明。
在确定当前诗句的主题信息时,可以先确定当前诗句的历史诗句的句向量,以及获取当前诗句的历史诗句的主题信息,再根据当前诗句的历史诗句的句向量和主题信息,确定当前诗句的主题信息。
第一方面,在确定诗句的句向量时,可以根据诗句中字的字向量和句向量预测模型得到,比如,将字向量作为句向量预测模型的模型输入,模型输出为相应的句向量。句向量预测模型的结构可以为神经网络结构,具体如卷积神经网络(Convolutional NeuralNetwork,CNN)结构。
第二方面,在根据当前诗句的历史诗句的句向量和主题信息,确定当前诗句的主题信息时,可以根据历史诗句的句向量和主题信息,以及主题预测模型得到,比如,将历史诗句的句向量和主题信息作为主题预测模型的模型输入,模型输出为当前诗句的主题信息。主题预测模型的结构可以为神经网络结构,具体如RNN或LSTM结构。
经过第一部分的上述的第一方面和第二方面的处理后,将第二方面输出的当前诗句的主题信息作为图4所示的t,经过第二部分的处理后依次预测当前诗句的每个非首字。
如图5所示,给出了诗非首句生成模型的一种结构拓扑图,如图5所示,句向量预测模型采用了CNN结构,主题预测模型采用了RNN结构。可以理解的是,图5中未示出字预测部分,字预测部分可以参见图4的说明。
其中,Hj表示当前诗句的主题信息;wi为当前诗句的前一个诗句中的第i个字的字向量,Sj-1为当前诗句的前一个诗句的句向量;Hj-1为当前诗句的前一个诗句的主题信息,Hj-1可以根据当前诗句的前一个诗句的再前一个诗句的上述相关信息得到,因此,每个非首句的主题信息可以依据非首句之前的历史诗句的上述相关信息得到。
由于每句诗句内的字可以采用上述图4的字预测流程预测得到,则下面主要对每句诗句的主题信息的预测进行说明。
比如,先根据“白日依山尽”的句向量和主题信息预测“黄河入海流”的主题信息;再根据“黄河入海流”的句向量和主题信息预测“欲穷千里目”的主题信息。其中,每个诗句的句向量可以根据相应诗句中字的字向量得到,每个诗句的主题信息即为该诗句之前的历史信息,首句的主题信息,即首句之前的历史信息可以选为固定值,如为全0向量;或者,也可以将首句的主题信息选为诗的主题词向量化后得到的主题词向量。
需要说明的是,诗非首句生成模型可以分为:句向量预测模型(如CNN)、主题预测模型(如RNN或LSTM)和字预测模型(如RNN或LSTM),在训练时,可以将这三部分作为整体进行整体训练,得到各个模型参数,或者,在训练时也可以分别对上述三个模型进行训练,分别得到各个模型参数。具体训练过程可以参照相应模型的各种相关技术执行,在此不再详述。
如上所示,自动作诗模型包括:诗首句生成模型和诗非首句生成模型,假设,诗首句生成模型采用RNN结构;诗非首句生成模型采用CNN+RNN+RNN结构,其中,CNN用于得到诗句的句向量,第一个RNN用于得到诗句的主题信息,第二个RNN用于预测诗句中的字。结合上述各部分,根据用户输入的主题词和藏头字自动作诗的流程可以如图6所示。
如图6所示,自动作诗方法包括:
S61:对接收的主题词和藏头字进行向量化。
比如,由用户将主题词和藏头字输入到客户端,再由客户端发送给服务端。
向量化后得到主题词向量和藏头字的字向量,其中,主题词向量用t表示,藏头字的字向量分别用
Figure BDA0001185965390000111
表示,m表示待生成的诗共有m句。
上述的藏头字至少包括首句藏头字,具体的,藏头字可以仅包括首句藏头字,或者,藏头字可以包括每句诗句的藏头字,即包括首句藏头字和非首句藏头字。
S62:将所述主题词向量作为首句的主题信息,并根据首句藏头字的字向量和主题信息以及诗首句生成模型,依次预测得到首句中的每个非首字。
其中,采用字依次预测的方式,依次得到首句中的每个非首字。假设当前预测的非首字称为当前字,则根据当前字的前一个字和主题词向量预测当前字。具体如图6的诗首句生成模型部分所示,其中,当前字的字向量用
Figure BDA0001185965390000121
表示;当前字的前一个字的字向量用
Figure BDA0001185965390000122
表示;t表示主题词向量;
Figure BDA0001185965390000123
表示当前字的前一个字的隐层输出;
Figure BDA0001185965390000124
表示当前字的隐层输出;i的取值范围为i=2,…,n,n表示每句诗句的总字数。
S63:获取非首句藏头字,并根据非首句的历史诗句中字的字向量、非首句藏头字的字向量以及诗非首句生成模型,依次预测得到非首句中的每个非首字。
如果所述作诗藏头字还包括非首句藏头字,则直接从所述作诗藏头字中获取非首句藏头字;或者,
如果所述作诗藏头字不包括非首句藏头字,则根据非首句的前一个诗句的尾字和主题信息预测得到所述尾字的下一个字,将所述下一个字确定为所述非首句藏头字。
在得到非首句的历史诗句和非首句的藏头字后,可以采用句和字依次预测的方式,依次得到每个非首句中的每个非首字。假设当前预测的非首句称为当前诗句,当前诗句的当前预测的非首字称为当前字,则先根据当前诗句的前一个诗句中字的字向量得到当前诗句的前一个诗句的句向量;再根据当前诗句的前一个诗句的句向量和主题信息,确定当前诗句的主题信息,而当前诗句的前一个诗句的主题信息可以依据再之前诗句的句向量和主题信息确定;再根据当前诗句的主题信息和当前诗句的藏头字的字向量,依次预测得到当前诗句的每个非首字。具体如图6的诗非首句生成模型部分所示。图6以用户输入的藏头字包括每句诗句的藏头字为例。其中,
Figure BDA0001185965390000131
表示当前诗句的前一个诗句中第l(l=1,2…,n)个字的字向量;Sj-1表示当前诗句的前一个诗句的句向量;Hj-1表示当前诗句的前一个诗句的主题信息;Hj表示当前诗句的主题信息;
Figure BDA0001185965390000132
表示当前诗句的当前字的前一个字的字向量;
Figure BDA0001185965390000133
表示当前诗句的当前字的前一个字的隐层输出;
Figure BDA0001185965390000134
表示当前诗句的当前字的字向量;
Figure BDA0001185965390000135
表示当前诗句的当前字的隐层输出;i的取值范围为i=2,…,n,n表示每句诗句的总字数;j的取值范围为j=2,…,m,m表示诗句的总句数。
可以理解的是,本实施例中未做特殊说明部分可以参见其他实施例的相关内容,在此不再详述。
如上,通过诗首句生成模型可以得到诗首句,通过诗非首句生成模型可以得到诗非首句,进而可以将诗首句和诗非首句进行拼接,得到完整的诗,实现自动作诗。
上述流程中,不论是首句或非首句中,都会涉及字预测的内容。如将每个非首字分别作为当前预测的当前字,采用RNN结构得到当前字。具体确定当前字时,模型的输出层可以包括多个节点,每个节点对应当前字的一个候选字,每个节点输出相应的一个候选字的生成概率,从而根据每个候选字的生成概率确定当前字。具体的,可以直接根据生成概率确定,比如,将生成概率最大的候选字作为当前字。或者,也可以根据生成概率和候选字的韵律信息确定当前字,比如,将满足韵律要求的候选字中生成概率最大的候选字作为当前字。下面对韵律信息的相关内容进行详细说明。
所述韵律包括平仄和押韵,参考候选字的韵律信息后,可以使整首诗更符合诗句的韵律,让用户感觉更自然。在参考韵律信息时,可以只参考平仄韵律,也可以只参考押韵韵律,也可以二者都参考。下面分别对基于平仄韵律和押韵韵律确定当前字的方法进行说明。
图7是本申请实施例中根据候选字的生成概率和平仄韵律确定当前字的方法的流程示意图。
所述平仄一般指诗句中每个字的声调,即一、二声为平调、三四声为仄调,如“山”、“河”分别是一声、二声,均为平调,“海”、“日”分别是三声、四声,均为仄调。
如图7所示,本实施例的方法包括:
S71:根据待生成诗的格式确定平仄韵律表。
所述格式一般指绝句或律诗,对于近体诗,具体包括五言绝句、七言绝句、五言律诗及七言律诗等格式;格式可以根据应用需求预先确定,也可以由用户指定,还可以根据用户给出的主题词确定等,具体确定方法不作限定;每种格式的诗句,其平仄韵律是确定的,如以五言绝句为例,诗句中每个字的平仄韵律组成的平仄韵律表如表1所示:
表1
第1字 第2字 第3字 第4字 第5字
第1句 C A B -A -B
第2句 C -A Z A P
第3句 C -A P A Z
第4句 C A Z -A P
表1中,诗句中每个字的平仄韵律使用字母表示,其中,P、Z分别表示平、仄,A、B和C均表示平仄不限,-A、-B分别表示与第一句第2字或第3字的平仄相反,即与A、B相反。
如五言绝句《登鹳雀楼》中每个字的平仄韵律如下:
Figure BDA0001185965390000151
S72:根据所述平仄韵律表,构建平仄矩阵和平仄函数。
所述平仄矩阵根据平仄韵律表直接得到,表示诗句中每个位置上字的参考平仄,记为M(i,j),表示第i句第j字的参考平仄;所述平仄函数为分段函数,具体取值根据平仄矩阵得到,表示诗句中每个位置上字的实际平仄取值,记为S(i,j),具体表示第i句第j字实际平仄取值。具体构建方法如下所述:
(1)构建平仄矩阵
以五言绝句平仄韵律表为例,将所述平仄韵律表量化后,得到相应五言绝句平仄矩阵,具体量化时,首先构建一个4×5矩阵M(i,j),使用0表示该位置平仄不限,用户1或-1表示该位置为平或仄,使用2或-2表示该位置与第1句第2字平仄相同或相反,用-3表示该位置与第1句第3字平仄相反,如表2为平仄韵律表量化后的平仄矩阵:
表2
第1字 第2字 第3字 第4字 第5字
第1句 0 0 0 -2 -3
第2句 0 -2 -1 2 1
第3句 0 -2 1 2 -1
第4句 0 2 -1 -2 1
(2)构建平仄函数
根据上述平仄矩阵,可以得到诗句中每个位置上,平仄函数的相应取值,如当M(i,j)=0时,S(i,j)可取值1或-1;当M(i,j)=1或-1时,S(i,j)取值为M(i,j);当M(i,j)=2或-2时,S(i,j)取值与S(1,2)相同或相反;当M(i,j)=-3时,S(i,j)取值与S(1,3)相反。
从而,得到相应平仄函数如式(1)所示:
Figure BDA0001185965390000161
S73:根据所述平仄矩阵和平仄函数,确定当前字需要满足的平仄取值,以及,在平仄取值为所述当前字需要满足的平仄取值的候选字中,选择生成概率最大的候选字作为预测得到的当前字。
由于每句诗句的首字是确定的,因此上述的当前字不包括首字,上述的当前字是指从首句首字的下一个字(第二字)开始的依次预测的首句和非首句中的每个非首字。
具体的,可以根据平仄函数和平仄矩阵和当前字的位置信息,确定当前字需要满足的平仄取值,再在当前字的多个候选字中选择满足平仄取值且生成概率最大的候选字作为生成的当前字。
例如,五言绝句《登鹳雀楼》中,基于首句首字“白”预测“白”的下一个字(第二个字)时,假设第二个字的候选字按照生成概率从大到小依次排序为“日(Z)河(P)穷(P)上(Z)”;
再根据平仄函数,即公式(1)和第二个字的位置信息计算第二个字的平仄取值,具体计算方法如下:
S(1,2)=随机选择(1,-1) (2)
由公式(2)可知该位置字的平仄取值为随机选择1或-1,即平仄不限,因此可以直接使用生成概率最大的“日”作为该位置字,即得到首句第二个字为“日”。其平仄取值为-1,即Z调,则S(1,2)=-1;
然后再用类似方法确定首句中第三个字,如该位置字为“依”;
再确定首句第四个字,假设第四个字的候选字按照生成概率从大到小排序为“海(Z)山(P)层(P)里(Z)”;
再根据平仄函数和平仄矩阵及该位置的位置信息计算该位置字的平仄取值,具体计算方法如下:
Figure BDA0001185965390000171
即该位置字的平仄取值为1,即P调,则从候选字中找到生成概率最大,且平仄取值为1的候选字,即“山”,作为该位置字。
依次对诗句中其它字进行类似上述的处理,可以得到参考了平仄韵律的诗句。
图8是本申请实施例中根据候选字的生成概率和押韵韵律确定当前字的方法的流程示意图。
所述押韵指韵脚相同或相近,所述韵脚指押韵的字,这些字的韵母相同或相近;一般近体诗中,绝句或律诗的第偶数句尾字都需要押韵,如《登鹳雀楼》第2、4句,“黄河入海流”与“更上一层楼”,尾字“流”和“楼”押韵。
如图8所示,本实施例的方法包括:
S81:构建韵脚编码与汉字之间的映射表。
具体的,可以基于《平水韵》中的押韵规则建立映射表。《平水韵》将汉字归类成平韵和仄韵,其中平韵包括上平韵和下平韵,仄韵包括上声韵、去声韵和入声韵,每个子类又分为多个韵脚,每个韵脚对应多个汉字,如上平韵和下平韵各分15个韵脚,上声韵分29个韵脚,去声韵分30个韵脚,入声韵分17个韵脚,共106个韵脚。所述韵脚编码与汉字之间的映射表分为两种,即韵脚编码到汉字的映射表,称为字典;和汉字到韵脚编码的映射表,称为码表。具体构建方法如下所述:
首先对106个韵脚进行编码,具体地,可以将106个韵脚分别进行编码,如使用1,2,…,106表示量化编码,如上平韵第一韵编码为1,第二韵编码为2等,直到入声韵第十七韵编码为106;
再将每个韵脚编码映射到每个韵脚对应的汉字集,得到韵脚编码到汉字的映射表,即字典,记为D;
具体映射时,直接根据每个韵脚编码对应的韵脚及每个韵脚对应的汉字集映射即可,如韵脚编码16映射到下平韵第一韵对应的汉字集{先,前,…,犍},韵脚编码61映射到去声韵第二韵对应的汉字集{宋,用,…,共};
最后将每个汉字直接映射到其所属韵脚的编码,得到汉字到韵脚编码的映射表,即码表,记为M;
具体映射时,直接根据汉字所属的韵脚及相应韵脚的编码进行映射,如汉字“先”和“犍”均映射到韵脚编码16,汉字“宋”和“共”均映射到韵脚编码61。
S82:根据韵脚编码与汉字之间的映射表,确定当前字需要属于的汉字集,以及,在属于所述当前字需要属于的汉字集的候选字中,选择生成概率最大的候选字作为预测得到的当前字。
具体的,由于押韵通常是针对偶数诗句的尾字,因此,上述的当前字是指偶数诗句的尾字。进一步地,当前字是指除第一个偶数诗句之外的其他偶数诗句的尾字,比如,第二句的尾字可以采用上述的直接根据生成概率或结合生成概率和平仄韵律得到,第二句的尾字不进行押韵调整,而第四句的尾字可以依据第二句的尾字进行押韵调整。以五言绝句为例,具体调整方法如下所述:
首先,根据汉字到韵脚编码映射表,确定当前字对应的押韵字的韵脚编码。比如,在确定第四句的尾字时,则当前字是指第四句的尾字,当前字对应的押韵字是指第二句的尾字,假设第二句的尾字为“流”,则根据汉字到韵脚编码映射表确定“流”字对应的韵脚编码,假设表示为M[‘流’]=26;
其次,根据韵脚编码到汉字映射表,确定所确定出的韵脚编码所对应的汉字集。比如,所确定出的韵脚编码为26,则找到26对应的汉字集,假设表示为D[26]={尤,邮,…,流,…,楼,…,缪};
再次,在当前字的多个候选字中,找到属于所确定出的汉字集的候选字,并选择其中生成概率最大的候选字作为当前字。比如,如在预测《登鹳雀楼》第四句尾字时,得到的候选字按照生成概率从大到小的顺序为“次高楼”,如果“次、高、楼”中只有“楼”在D[26]中,则将“楼”确定为第四句的尾字。
需要说明的是,上述分别描述了平仄韵律和押韵韵律,在实际实施时,可以结合这两种韵律,比如,在当前字的多个候选字中,选择满足平仄韵律要求和押韵韵律要求的候选字,并在选择的候选字中选取生成概率最大的候选字作为预测得到的当前字。
需要说明的是,上述以五言绝句为例进行了说明,当然上述方法也可以应用到其他格式,比如七言绝句,在其他格式下也可以依据上述流程参照执行。
图9是本申请一个实施例提出的自动作诗装置的结构示意图。
如图9所示,本实施例的装置90包括:接收模块91和作诗模块92。
接收模块91,用于接收作诗主题词及作诗藏头字,所述作诗藏头字包括首句藏头字;
作诗模块92,用于根据所述作诗主题词及作诗藏头字,以及预先构建的自动作诗模型生成诗。
一些实施例中,参见图10,该装置90还包括:用于构建自动作诗模型的构建模块93,所述构建模块93具体用于:
获取诗的文本数据及其标注信息,并根据所述标注信息确定所述诗的主题词;
对所述诗的主题词及所述诗中的字进行向量化,得到主题词向量和字向量;
根据所述主题词向量及所述诗的首句中的字的字向量,构建诗首句生成模型;
根据所述诗的非首句的历史诗句中的字的字向量和所述非首句中的字的字向量,构建诗非首句生成模型。
一些实施例中,参见图10,该装置90还包括:
向量化模块94,用于对所述作诗主题词和作诗藏头字进行向量化,得到主题词向量和藏头字的字向量。
一些实施例中,所述自动作诗模型包括:诗首句生成模型和诗非首句生成模型,所述作诗模块92具体用于:
将所述主题词向量作为首句的主题信息,并根据首句藏头字的字向量和主题信息以及诗首句生成模型,依次预测得到首句中的每个非首字;
获取非首句藏头字,并根据非首句的历史诗句中字的字向量、非首句藏头字的字向量以及诗非首句生成模型,依次预测得到非首句中的每个非首字。
一些实施例中,所述作诗模块92用于获取非首句藏头字,包括:
如果所述作诗藏头字还包括非首句藏头字,则直接从所述作诗藏头字中获取非首句藏头字;或者,
如果所述作诗藏头字不包括非首句藏头字,则根据非首句的前一个诗句的尾字和主题信息预测得到所述尾字的下一个字,将所述下一个字确定为所述非首句藏头字。
一些实施例中,所述作诗模块92用于预测得到每个非首字包括:
依次将每个非首字作为当前字,基于当前字的前一个字和当前字所在诗句的主题信息得到当前字的每个候选字的生成概率;
根据每个候选字的生成概率,预测得到当前字。
一些实施例中,所述作诗模块92用于根据每个候选字的生成概率,预测得到当前字,包括:
直接将生成概率最大的候选字作为预测得到的当前字。
一些实施例中,所述作诗模块92用于根据每个候选字的生成概率,预测得到当前字,包括:
确定当前字需要满足的韵律要求;
获取每个候选字的韵律信息和生成概率,以及,在韵律信息满足所述韵律要求的候选字中选择生成概率最大的候选字,作为预测得到的当前字。
一些实施例中,所述韵律包括:平仄韵律,和/或,押韵韵律;
其中,当所述韵律包括平仄韵律时,所述当前字需要满足的韵律要求包括当前字需要满足的平仄取值,以便在平仄取值为所述当前字需要满足的平仄取值的候选字中,选择生成概率最大的候选字作为预测得到的当前字;
当所述韵律包括押韵韵律时,所述当前字需要满足的韵律要求包括当前字需要属于的汉字集,以便在属于所述当前字需要属于的汉字集的候选字中,选择生成概率最大的候选字作为预测得到的当前字。
一些实施例中,所述作诗模块92用于确定当前字需要满足的韵律要求,包括:
如果所述韵律包括平仄韵律,则根据预先构建的平仄函数和平仄矩阵,以及当前字的位置信息,确定当前字需要满足的平仄取值,其中,所述平仄函数和平仄矩阵根据平仄韵律表构建,所述平仄韵律表根据待生成诗的格式构建;
和/或,
如果所述韵律包括押韵韵律,则根据预先构建的韵脚编码与汉字之间的映射表,确定当前字需要属于的汉字集。
可以理解的是,本实施例的装置与上述方法实施例对应,具体内容可以参见方法实施例的相关描述,在此不再详细说明。
本实施例中,根据作诗主题词及藏头字生成诗句时,考虑了诗句中每个字之间的语义信息,从而使生成的诗句语义更连贯,提高用户体验。
图11是本申请一个实施例提出的自动作诗系统的结构示意图。
如图11所示,本实施例的系统包括:客户端111和服务端112。
客户端111,用于接收用户输入的作诗主题词及作诗藏头字,所述作诗藏头字包括首句藏头字;
服务端112,用于接收所述客户端发送的所述作诗主题词及作诗藏头字;以及,根据所述作诗主题词及作诗藏头字,以及预先构建的自动作诗模型生成诗。
一些实施例中,所述服务端112还用于:将得到的诗发送给所述客户端;
所述客户端111还用于:将所述诗反馈给所述用户。
图11中以客户端与服务端通过无线网络连接为例,可以理解的是,客户端与服务端也可以通过有线网络连接,或者,如果客户端与服务端集成在同一设备中,客户端与服务端可以通过设备内部的总线连接。
可以理解的是,服务端的功能与上述的装置一致,因此,服务端的具体组成可以参见图9或图10所示的装置,在此不再详述。
本实施例中,根据作诗主题词及藏头字生成诗句时,考虑了诗句中每个字之间的语义信息,从而使生成的诗句语义更连贯,提高用户体验。
可以理解的是,上述各实施例中相同或相似部分可以相互参考,在一些实施例中未详细说明的内容可以参见其他实施例中相同或相似的内容。
需要说明的是,在本申请的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本申请的描述中,除非另有说明,“多个”的含义是指至少两个。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。

Claims (20)

1.一种自动作诗方法,其特征在于,包括:
接收作诗主题词及作诗藏头字,所述作诗藏头字包括首句藏头字;
根据所述作诗主题词及作诗藏头字,以及预先构建的自动作诗模型生成诗,所述自动作诗模型包括诗首句生成模型和诗非首句生成模型;
其中,所述诗首句生成模型根据输入的诗主题词向量和首句藏头字的字向量,依次输出预测得到的首句中的每个非首字;所述诗非首句生成模型根据输入的诗的非首句的历史诗句中字的字向量和非首句藏头字的字向量,依次输出预测得到的非首句中的每个非首字;其中,预测得到每个非首字包括:依次将每个非首字作为当前字,基于当前字的前一个字和当前字所在诗句的主题信息得到当前字的每个候选字的生成概率,根据每个候选字的生成概率,预测得到当前字。
2.根据权利要求1所述的方法,其特征在于,还包括:构建自动作诗模型,所述构建自动作诗模型包括:
获取诗的文本数据及其标注信息,并根据所述标注信息确定所述诗的主题词;
对所述诗的主题词及所述诗中的字进行向量化,得到主题词向量和字向量;
根据所述主题词向量及所述诗的首句中的字的字向量,构建诗首句生成模型;
根据所述诗的非首句的历史诗句中的字的字向量和所述非首句中的字的字向量,构建诗非首句生成模型。
3.根据权利要求1所述的方法,其特征在于,还包括:
对所述作诗主题词和作诗藏头字进行向量化,得到主题词向量和藏头字的字向量。
4.根据权利要求3所述的方法,其特征在于,所述根据所述作诗主题词及作诗藏头字,以及预先构建的自动作诗模型生成诗,包括:
将所述主题词向量作为首句的主题信息,并根据首句藏头字的字向量和主题信息以及诗首句生成模型,依次预测得到首句中的每个非首字;
获取非首句藏头字,并根据非首句的历史诗句中字的字向量、非首句藏头字的字向量以及诗非首句生成模型,依次预测得到非首句中的每个非首字。
5.根据权利要求4所述的方法,其特征在于,所述获取非首句藏头字,包括:
如果所述作诗藏头字还包括非首句藏头字,则直接从所述作诗藏头字中获取非首句藏头字;或者,
如果所述作诗藏头字不包括非首句藏头字,则根据非首句的前一个诗句的尾字和主题信息预测得到所述尾字的下一个字,将所述下一个字确定为所述非首句藏头字。
6.根据权利要求1所述的方法,其特征在于,所述根据每个候选字的生成概率,预测得到当前字,包括:
直接将生成概率最大的候选字作为预测得到的当前字。
7.根据权利要求1所述的方法,其特征在于,所述根据每个候选字的生成概率,预测得到当前字,包括:
确定当前字需要满足的韵律要求;
获取每个候选字的韵律信息和生成概率,以及,在韵律信息满足所述韵律要求的候选字中选择生成概率最大的候选字,作为预测得到的当前字。
8.根据权利要求7所述的方法,其特征在于,
所述韵律包括:平仄韵律,和/或,押韵韵律;
其中,当所述韵律包括平仄韵律时,所述当前字需要满足的韵律要求包括当前字需要满足的平仄取值,以便在平仄取值为所述当前字需要满足的平仄取值的候选字中,选择生成概率最大的候选字作为预测得到的当前字;
当所述韵律包括押韵韵律时,所述当前字需要满足的韵律要求包括当前字需要属于的汉字集,以便在属于所述当前字需要属于的汉字集的候选字中,选择生成概率最大的候选字作为预测得到的当前字。
9.根据权利要求7所述的方法,其特征在于,所述确定当前字需要满足的韵律要求,包括:
如果所述韵律包括平仄韵律,则根据预先构建的平仄函数和平仄矩阵,以及当前字的位置信息,确定当前字需要满足的平仄取值,其中,所述平仄函数和平仄矩阵根据平仄韵律表构建,所述平仄韵律表根据待生成诗的格式构建;
和/或,
如果所述韵律包括押韵韵律,则根据预先构建的韵脚编码与汉字之间的映射表,确定当前字需要属于的汉字集。
10.一种自动作诗装置,其特征在于,包括:
接收模块,用于接收作诗主题词及作诗藏头字,所述作诗藏头字包括首句藏头字;
作诗模块,用于根据所述作诗主题词及作诗藏头字,以及预先构建的自动作诗模型生成诗,所述自动作诗模型包括诗首句生成模型和诗非首句生成模型;其中,所述诗首句生成模型根据输入的诗主题词向量和首句藏头字的字向量,依次输出预测得到的首句中的每个非首字;所述诗非首句生成模型根据输入的诗的非首句的历史诗句中字的字向量和非首句藏头字的字向量,依次输出预测得到的非首句中的每个非首字;
所述作诗模块用于预测得到每个非首字包括:
依次将每个非首字作为当前字,基于当前字的前一个字和当前字所在诗句的主题信息得到当前字的每个候选字的生成概率;
根据每个候选字的生成概率,预测得到当前字。
11.根据权利要求10所述的装置,其特征在于,还包括:用于构建自动作诗模型的构建模块,所述构建模块具体用于:
获取诗的文本数据及其标注信息,并根据所述标注信息确定所述诗的主题词;
对所述诗的主题词及所述诗中的字进行向量化,得到主题词向量和字向量;
根据所述主题词向量及所述诗的首句中的字的字向量,构建诗首句生成模型;
根据所述诗的非首句的历史诗句中的字的字向量和所述非首句中的字的字向量,构建诗非首句生成模型。
12.根据权利要求10所述的装置,其特征在于,还包括:
向量化模块,用于对所述作诗主题词和作诗藏头字进行向量化,得到主题词向量和藏头字的字向量。
13.根据权利要求12所述的装置,其特征在于,所述作诗模块具体用于:
将所述主题词向量作为首句的主题信息,并根据首句藏头字的字向量和主题信息以及诗首句生成模型,依次预测得到首句中的每个非首字;
获取非首句藏头字,并根据非首句的历史诗句中字的字向量、非首句藏头字的字向量以及诗非首句生成模型,依次预测得到非首句中的每个非首字。
14.根据权利要求13所述的装置,其特征在于,所述作诗模块用于获取非首句藏头字,包括:
如果所述作诗藏头字还包括非首句藏头字,则直接从所述作诗藏头字中获取非首句藏头字;或者,
如果所述作诗藏头字不包括非首句藏头字,则根据非首句的前一个诗句的尾字和主题信息预测得到所述尾字的下一个字,将所述下一个字确定为所述非首句藏头字。
15.根据权利要求10所述的装置,其特征在于,所述作诗模块用于根据每个候选字的生成概率,预测得到当前字,包括:
直接将生成概率最大的候选字作为预测得到的当前字。
16.根据权利要求15所述的装置,其特征在于,所述作诗模块用于根据每个候选字的生成概率,预测得到当前字,包括:
确定当前字需要满足的韵律要求;
获取每个候选字的韵律信息和生成概率,以及,在韵律信息满足所述韵律要求的候选字中选择生成概率最大的候选字,作为预测得到的当前字。
17.根据权利要求16所述的装置,其特征在于,
所述韵律包括:平仄韵律,和/或,押韵韵律;
其中,当所述韵律包括平仄韵律时,所述当前字需要满足的韵律要求包括当前字需要满足的平仄取值,以便在平仄取值为所述当前字需要满足的平仄取值的候选字中,选择生成概率最大的候选字作为预测得到的当前字;
当所述韵律包括押韵韵律时,所述当前字需要满足的韵律要求包括当前字需要属于的汉字集,以便在属于所述当前字需要属于的汉字集的候选字中,选择生成概率最大的候选字作为预测得到的当前字。
18.根据权利要求16所述的装置,其特征在于,所述作诗模块用于确定当前字需要满足的韵律要求,包括:
如果所述韵律包括平仄韵律,则根据预先构建的平仄函数和平仄矩阵,以及当前字的位置信息,确定当前字需要满足的平仄取值,其中,所述平仄函数和平仄矩阵根据平仄韵律表构建,所述平仄韵律表根据待生成诗的格式构建;
和/或,
如果所述韵律包括押韵韵律,则根据预先构建的韵脚编码与汉字之间的映射表,确定当前字需要属于的汉字集。
19.一种自动作诗系统,其特征在于,包括:
客户端,用于接收用户输入的作诗主题词及作诗藏头字,所述作诗藏头字包括首句藏头字;
服务端,用于接收所述客户端发送的所述作诗主题词及作诗藏头字;以及,根据所述作诗主题词及作诗藏头字,以及预先构建的自动作诗模型生成诗,所述自动作诗模型包括诗首句生成模型和诗非首句生成模型;其中,所述诗首句生成模型根据输入的诗主题词向量和首句藏头字的字向量,依次输出预测得到的首句中的每个非首字;所述诗非首句生成模型根据输入的诗的非首句的历史诗句中字的字向量和非首句藏头字的字向量,依次输出预测得到的非首句中的每个非首字;其中,预测得到每个非首字包括:依次将每个非首字作为当前字,基于当前字的前一个字和当前字所在诗句的主题信息得到当前字的每个候选字的生成概率,根据每个候选字的生成概率,预测得到当前字。
20.根据权利要求19所述的系统,其特征在于,
所述服务端还用于:将得到的诗发送给所述客户端;
所述客户端还用于:将所述诗反馈给所述用户。
CN201611184297.7A 2016-12-20 2016-12-20 自动作诗方法和装置及系统 Active CN106776517B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611184297.7A CN106776517B (zh) 2016-12-20 2016-12-20 自动作诗方法和装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611184297.7A CN106776517B (zh) 2016-12-20 2016-12-20 自动作诗方法和装置及系统

Publications (2)

Publication Number Publication Date
CN106776517A CN106776517A (zh) 2017-05-31
CN106776517B true CN106776517B (zh) 2020-07-14

Family

ID=58894030

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611184297.7A Active CN106776517B (zh) 2016-12-20 2016-12-20 自动作诗方法和装置及系统

Country Status (1)

Country Link
CN (1) CN106776517B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109002433B (zh) * 2018-05-30 2022-04-01 出门问问信息科技有限公司 一种文本生成方法及装置
CN111444725B (zh) * 2018-06-22 2022-07-29 腾讯科技(深圳)有限公司 语句的生成方法、装置、存储介质和电子装置
CN108986797B (zh) * 2018-08-06 2021-07-06 中国科学技术大学 一种语音主题识别方法及系统
CN109582952B (zh) * 2018-10-31 2022-09-02 腾讯科技(深圳)有限公司 诗歌生成方法、装置、计算机设备和介质
CN109977382B (zh) * 2019-03-05 2022-12-16 安徽省泰岳祥升软件有限公司 诗句生成模型的训练方法、自动写诗方法及装置
CN111950255B (zh) * 2019-05-17 2023-05-30 腾讯数码(天津)有限公司 诗词生成方法、装置、设备及存储介质
CN110134968B (zh) * 2019-05-22 2023-11-24 网易(杭州)网络有限公司 基于深度学习的诗歌生成方法、装置、设备及存储介质
CN110287489B (zh) * 2019-06-24 2023-07-28 北京大米科技有限公司 文本生成方法、装置、存储介质和电子设备
CN110688857B (zh) * 2019-10-08 2023-04-21 北京金山数字娱乐科技有限公司 一种文章生成的方法和装置
CN111221958B (zh) * 2020-01-08 2024-03-15 北京小米松果电子有限公司 一种训练藏字诗生成模型的方法、藏字诗生成方法及装置
CN111444679B (zh) * 2020-03-27 2024-05-24 北京小米松果电子有限公司 诗词生成方法及装置、电子设备、存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104391980A (zh) * 2014-12-08 2015-03-04 百度在线网络技术(北京)有限公司 生成歌曲的方法和装置
CN105955964A (zh) * 2016-06-13 2016-09-21 北京百度网讯科技有限公司 一种自动生成诗歌的方法和装置
CN106095752A (zh) * 2016-06-07 2016-11-09 北京百度网讯科技有限公司 一种用于自动生成诗歌的方法和装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104391980A (zh) * 2014-12-08 2015-03-04 百度在线网络技术(北京)有限公司 生成歌曲的方法和装置
CN106095752A (zh) * 2016-06-07 2016-11-09 北京百度网讯科技有限公司 一种用于自动生成诗歌的方法和装置
CN105955964A (zh) * 2016-06-13 2016-09-21 北京百度网讯科技有限公司 一种自动生成诗歌的方法和装置

Also Published As

Publication number Publication date
CN106776517A (zh) 2017-05-31

Similar Documents

Publication Publication Date Title
CN106776517B (zh) 自动作诗方法和装置及系统
CN109859736B (zh) 语音合成方法及系统
JP7066349B2 (ja) 翻訳方法、翻訳装置及びコンピュータプログラム
KR102139387B1 (ko) 큰 말뭉치에 기초하여 음성 합성을 하기 위한 방법 및 장치
CN110782870A (zh) 语音合成方法、装置、电子设备及存储介质
CN109657051A (zh) 文本摘要生成方法、装置、计算机设备及存储介质
CN111783455B (zh) 文本生成模型的训练方法及装置、文本生成方法及装置
CN111259665B (zh) 一种基于神经网络的交互式歌词生成方法及系统
CN114118065B (zh) 一种电力领域中文文本纠错方法、装置、存储介质及计算设备
CN108170686A (zh) 文本翻译方法及装置
CN111402894B (zh) 语音识别方法及电子设备
CN113127624A (zh) 问答模型的训练方法及装置
CN111339771B (zh) 一种基于多任务多层级模型的文本韵律预测方法
CN112214585A (zh) 回复消息生成方法、系统、计算机设备及存储介质
CN109933773A (zh) 一种多重语义语句解析系统及方法
CN111950275A (zh) 基于循环神经网络的情绪识别方法、装置及存储介质
CN108363685B (zh) 基于递归变分自编码模型的自媒体数据文本表示方法
CN110942774A (zh) 一种人机交互系统、其对话方法、介质和设备
CN117634459A (zh) 目标内容生成及模型训练方法、装置、系统、设备及介质
CN111368531B (zh) 翻译文本处理方法、装置、计算机设备和存储介质
CN113326367A (zh) 基于端到端文本生成的任务型对话方法和系统
CN117708692A (zh) 基于双通道图卷积神经网络的实体情感分析方法及系统
CN117235261A (zh) 一种多模态方面级情感分析方法、装置、设备及存储介质
CN110717316A (zh) 字幕对话流的主题分割方法及装置
CN115759052A (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