CN113051877B - 一种文本内容生成方法、装置、电子设备及存储介质 - Google Patents
一种文本内容生成方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN113051877B CN113051877B CN202110267996.2A CN202110267996A CN113051877B CN 113051877 B CN113051877 B CN 113051877B CN 202110267996 A CN202110267996 A CN 202110267996A CN 113051877 B CN113051877 B CN 113051877B
- Authority
- CN
- China
- Prior art keywords
- word
- sentence
- target
- generated
- words
- 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
- 238000000034 method Methods 0.000 title claims abstract description 51
- 238000012790 confirmation Methods 0.000 claims abstract description 11
- 238000012545 processing Methods 0.000 claims description 29
- 238000012216 screening Methods 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 4
- 230000009977 dual effect Effects 0.000 description 31
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 13
- 239000002023 wood Substances 0.000 description 9
- 238000010586 diagram Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 6
- 239000000779 smoke Substances 0.000 description 6
- 238000012795 verification Methods 0.000 description 6
- 238000010792 warming Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 239000010977 jade Substances 0.000 description 4
- 230000033764 rhythmic process Effects 0.000 description 4
- 208000007101 Muscle Cramp Diseases 0.000 description 3
- 241000218998 Salicaceae Species 0.000 description 3
- 238000010276 construction Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 241000283070 Equus zebra Species 0.000 description 2
- PEDCQBHIVMGVHV-UHFFFAOYSA-N Glycerine Chemical compound OCC(O)CO PEDCQBHIVMGVHV-UHFFFAOYSA-N 0.000 description 2
- 241001662443 Phemeranthus parviflorus Species 0.000 description 2
- 241000233805 Phoenix Species 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000008602 contraction Effects 0.000 description 2
- 238000010438 heat treatment Methods 0.000 description 2
- 238000002844 melting Methods 0.000 description 2
- 230000008018 melting Effects 0.000 description 2
- 241000251468 Actinopterygii Species 0.000 description 1
- 235000008744 Brassica perviridis Nutrition 0.000 description 1
- 241000712024 Brassica rapa var. perviridis Species 0.000 description 1
- 241000721047 Danaus plexippus Species 0.000 description 1
- 244000000626 Daucus carota Species 0.000 description 1
- 208000001490 Dengue Diseases 0.000 description 1
- 206010012310 Dengue fever Diseases 0.000 description 1
- 241000196324 Embryophyta Species 0.000 description 1
- 241000168096 Glareolidae Species 0.000 description 1
- 244000020551 Helianthus annuus Species 0.000 description 1
- 235000003222 Helianthus annuus Nutrition 0.000 description 1
- 244000061176 Nicotiana tabacum Species 0.000 description 1
- 235000002637 Nicotiana tabacum Nutrition 0.000 description 1
- 241000219000 Populus Species 0.000 description 1
- 244000018633 Prunus armeniaca Species 0.000 description 1
- 235000009827 Prunus armeniaca Nutrition 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 235000005770 birds nest Nutrition 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 208000025729 dengue disease Diseases 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 230000003760 hair shine Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 210000000952 spleen Anatomy 0.000 description 1
- 210000002784 stomach Anatomy 0.000 description 1
- 230000000475 sunscreen effect Effects 0.000 description 1
- 239000000516 sunscreening agent Substances 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 239000003643 water by type Substances 0.000 description 1
- 235000005765 wild carrot Nutrition 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/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
-
- 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)
- 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为本申请实施例提供的图2中S108的第一种子步骤的流程图。
图5为本申请实施例提供的图2中S108的第二种子步骤的流程图。
图6为本申请实施例提供的图2中S108的第三种子步骤的流程图。
图7为本申请实施例提供的文本内容生成装置的模块示意图。
图中:100-电子设备;101-处理器;102-存储器;103-通信接口;200-文本内容生成装置;210-接收模块;220-处理模块。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。
正如背景技术中所述,目前的诗词创作辅助工具一般有全文本生成与校验工具两种。
然而,对全文本生成技术来说,计算机软件本身是一个独立的创作者,其创作水平由软件模型完全决定,和任何人类作者没有实质性关系。使用者最多能对韵部、形式(五言或七言、律诗或绝句、词牌等)进行简单的选择。既没有创作的乐趣也对作者的诗词创作没有实质性的帮助。即使采取“续写”方式生成文本内容,也对作者的自由选择有很大的限制,最多只能写作“藏头诗”一类的文本(即由用户指定每句首字,剩下的由软件生成)。导致这一结果的根本原因还是在于现有诗词生成技术的核心思想是用前面已存在的字来推算后面可能选用的字的概率,是一种“顺序”生成模型,导致用户在进行诗词创造时,整体的参与度并不高。
而针对校验工具而言,诗词创作是文学水平要求极高,难度极大的文体,计算机软件只是对最基本的格式进行了判断和提示,完全没有在诗词的内容生成方面提供实质性的帮助,没有真正起到辅助创作的作用。对于弥补作者创作的短板,普遍提升诗词创作水平作用甚小。
综上,现有技术中的诗词创作辅助工具,存在用户参与度低与辅助作用小的问题。
有鉴于此,本申请提供了一种文本内容生成方法,以解决上述问题。
需要说明的是,本申请提供的文本内容生成方法可以应用于电子设备100中,图1示出本申请实施例提供的电子设备100的一种示意性结构框图,电子设备100包括存储器102、处理器101和通信接口103,该存储器102、处理器101和通信接口103相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。
存储器102可用于存储软件程序及模块,如本申请实施例提供的文本内容生成装置对应的程序指令或模块,处理器101通过执行存储在存储器102内的软件程序及模块,从而执行各种功能应用以及数据处理,进而执行本申请实施例提供的文本内容生成方法的步骤。该通信接口103可用于与其他节点设备进行信令或数据的通信。
其中,存储器102可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-OnlyMemory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除可编程只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。
处理器101可以是一种集成电路芯片,具有信号处理能力。该处理器101可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(NetworkProcessor,NP)等;还可以是数字信号处理器(Digital Signal Processing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
可以理解,图1所示的结构仅为示意,电子设备100还可以包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。图1中所示的各组件可以采用硬件、软件或其组合实现。
下面以电子设备100作为示意性执行主体,对本申请实施例提供的文本内容生成方法进行示例性说明。
作为一种实现方式,请参阅图2,该文本内容生成方法包括:
S102,接收目标文本内容设置指令,其中,目标文本内容设置指令包括文本类型、关联模型以及限定条件。
S104,依据文本类型与限定条件确定目标文本内容的句数及每句的字数。
S106,依据选定的关联模型确定每句中每个空余位置对应的待生成字的目标集合,其中,空余位置为每句中未填入参考字的位置,参考字为任意位置已填入的字。
S108,依据限定条件从目标集合中确定目标字,并将目标字填入对应的位置。
S110,当接收到确认指令时,完成当前文本句的生成,并继续下一文本句的生成,直至生成对应句数的文本内容。
作为一种实现方式,本申请提供的文本可以为诗、词以及古风等文本格式,为可叙述方便,下文以诗词文本格式进行说明。
当需用进行文本内容创作时,首先需要确定相关的条件,例如,当目标文本为诗时,可以包括多种类型的诗,例如律诗与绝句,律诗又可分为五言律诗、七言律诗等,绝句也可分为五言绝句、七言绝句等,且不同类型诗的字数与句数均不同,用户首先需要进行设置,包括设置文本类型、关联模型以及限定条件等,其中,本申请所述的关联模型,为生成文本内容选用的模型,例如当目标文本为诗时,若用户在第一句诗中仅填入部分字,则电子设备需要依据关联模型确定可能填入空闲位置的文字。
在一种可选的实现方式中,在生成文本内容时,统一选取一种关联模型;在另一种可能的实现方式中,在生成文本内容时,不同句之间也可采用不同的关联模型,例如,某一文本内容在生成时,奇数句选择选用关联模型A生成,偶数句采用关联模型B生成,在此不做限定。
限定条件可以为用户自己选择的条件,由于诗词等文本是一种比较严谨的文本,在创作文本内容时,需要满足基本的语言特征。一般而言,当目标文本为诗词文本时,文本内容的语言特征一般包括以下几个方面:
1.句数和字数:不同的诗词格式对文本总的句数以及每句的字数一般来说有固定的要求。例如五言律诗要求8句,每句5个字。词格式(又称词牌)的一种《如梦令》要求7句,且每句字数为6/6/5/6/2/2/6。
例外的是,古风对句数和字数没有严格的要求,排律对句数没有严格的要求。
2.押韵:不同的诗词格式对每句中哪个字必须使用同样的韵脚有固定的要求(称为押韵)。如五言律诗偶数句必须押韵,奇数句除第一句可押韵可不押韵外,其余的都不能押韵。古汉语不用拼音,没有直接的韵脚概念,押韵使用有韵书。韵书中对汉字按韵部进行分类,只有同一韵部的字可以互相押韵。通常诗的押韵使用《平水韵》,词的押韵使用《词林正韵》。示例如下:
月夜唐·杜甫
五言律诗
今夜鄜州月,闺中只独看(韵脚)。
遥怜小儿女,未解忆长安(韵脚)。
香雾云鬟湿,清辉玉臂寒(韵脚)。
何时倚虚幌,双照泪痕乾(韵脚)。
例外的是,古风虽然要求押韵,但对韵脚没有固定的要求。
3.平仄:根据字的音调,可以将汉字分为平、仄两大类。按照现代汉语拼音,一般一声二声的字为平声字,如:阳关;三声四声的字为仄声字,如:骏马。但古汉语中字的声调和现代有所不同,一二声统称为平声,三声为上声,四声为去声,还多出一个现代汉语没有的入声。除平声外,上、去、入三声称为仄声。而且具体某字的声调古今也有所不同,例如“独”字,在现代汉语是二声,应该为平,但古汉语是入声为仄;“看”字现代汉语为四声,应该为仄,但古汉语为平声。《平水韵》和《词林正韵》中的每个韵部都标明了平声、仄声,还单列了入声。据此可以知晓古汉语每个字的平仄。文本内容对每句每字的平仄有固定要求。例如七言绝句的平仄格式的一种为:
平平仄仄仄平平。仄仄平平仄仄平。仄仄平平平仄仄,平平仄仄仄平平。
但在这个基础上允许作有限的变通,特别是奇数字。示例如下:
赠花卿唐·杜甫
锦城丝管日纷纷,半入江风半入云。此曲秪应天上有,人间能得几回闻。
“仄”平“平”仄仄平平。仄仄平平仄仄平。仄仄“仄”平平仄仄,平平“平”仄仄平平。
其中,标双引号的字为变通的部分。
稍显复杂的情况是,七言绝句的诗句基本格式有四种“平平仄仄平平仄。仄仄平平仄仄平。仄仄平平平仄仄。平平仄仄仄平平。”(按第一个不可变通的字为仄称仄起,最后一个字为平称平收的约定,这四种格式可简称为平起仄收,仄起平收,仄起仄收,平起平收)。哪一句是哪种格式并不是固定的,但总是按上述顺序循环出现。且除第一句外总是奇数句仄收,偶数句平收。七言律诗共8句,也遵循的这个规则。另外,每首诗的第一句可以把仄收改为平收,其他每句格式不变。若某句为平收则必须押韵。五言的绝句和律诗与七言的绝句和律诗的结构方式完全一样。只需把四种基本格式的前两个字去掉即可。五七言绝句和律诗统称为“格律诗”。
词的规则相对简单,每个词牌每一句都有一个固定的平仄格式,可变通的字有明确的标记。例外的是,古风对平仄没有要求。
4.对偶:上下两句同一位置的两个词,词性相同意思相近或相反称为对偶。部分诗词格式对哪些句子需对偶有固定的要求,例如五言或七言律诗的第三句和第四句必须对偶,第五句和第六句必须对偶。示例如下:
登金陵凤凰台唐·李白
七言律诗
凤凰台上凤凰游,凤去台空江自流。
吴宫花草埋幽径,晋代衣冠成古丘。
三山半落青天外,二水中分白鹭洲。
总为浮云能蔽日,长安不见使人愁。
上述示例中,第三句与第四句对偶,第五句与第六句对偶。
5.音尺:音尺是指由几个字组成一个语言节奏单位。由一个字组成的语言节奏单位称为单音尺,两个字为双音尺……通常在一个音尺内部字与字联系紧密而音尺之间字与字联系较松散。诗词字数为偶数的句子基本是连续的双音尺结构,字数为奇数的句子则最后三字为“单音尺/双音尺”或“双音尺/单音尺”的结构,其他为连续的双音尺结构。示例如下:
“朝辞白帝彩云间”,音尺结构为“朝辞/白帝/彩云/间”;
“两个黄鹂鸣翠柳”,音尺结构为“两个/黄鹂/鸣/翠柳”;
“常记溪亭日暮”,音尺结构为“常记/溪亭/日暮”;
“恰似一江春水向东流”,音尺结构为“恰似/一江/春水/向/东流”。
因此,在设定限定条件时,实际为可以对上述可变的语言特征进行设定,例如,当用户选择律诗时,由于律诗的句数与字数已经固定,因用户无法对句数与字数进行限定,但由于律诗而言,其平仄可变、押韵可变(例如韵脚变化),而对偶与音尺一般不变,因此用户可以设置的限定条件包括平仄与押韵。
需要说明的时,用户选择的诗词类型可以决定用户可选的限定条件,例如,当文本类型为排律时,则由于对句数与字数没有要求,因此用户的限定条件中还可包含句数与字数。
还需要说明的是,为了避免用户没有对限定条件进行设定,因此作为一种实现方式,对于每种文本类型,可以设置默认的限定条件,例如对于律诗而言,可随机选取其中一种平仄作为该目标文本内容的默认限定条件,当用户需要设置限定条件时,可在默认限定条件的基础上个进行修改。
在用户输入设置指令后,电子设备可以先根据文本类型确定目标文本内容的句数及每句的字数,例如,当用户选择的文本类型为五言律诗时,则句数为8,每句的字数为5。
然后依据选定关联模型确定每句中每个空余位置对应的待生成字的目标集合,并依据限定条件从目标集合中确定目标字,并填入对应位置,当接收到确认指令后,才会完成当前诗句的生成,并继续下一诗句的生成,直至生成整个文本内容。
通过本申请提供的文本内容生成方法,一方面,采用关联模型与限定条件依次确定出目标字,因此其对用户在诗词创作时起到了较佳的辅助作用。另一方面,由于在文本内容创作时,用户需要进行确定后才会进行下一文本句,因此用户可不断修改自己创作的诗句,直至用户满意,用户的参与感更强。
并且,需要强调的是,由于本申请提供的实施例中,参考字为任意位置已填入的字,因此本申请提供的实施例中,支持用户填入部分参考字或不填入参考字的方式生成诗句,同时,在用户填入参考字时,填入参考字的位置并不限定,例如当需要生成某诗句时,用户可在诗句的第一位填入参考字,也可在诗句的最后一位填入参考字,或者在第一位与第二位同时填入参考字。
此外,由于参考字为任意位置已填入的字,因此当在确定某一位置目标字后且填入对应的位置后,该目标字可自动更新为参考字,作为生成其余位置对应的待生成字的参考,例如,当用户填入第二位的参考字,且系统依据该参考字生成第三位的目标字后,系统还会将第三位生成的目标字作为参考字,并以此为依据生成第四个目标子,以此类推。通过该实现方式,使得生成的整个诗句的关联度更高。
可以理解地,由于诗词句数、平仄、对偶等限定条件,因此为了便于处理,请参阅图3,在S102之前,该方法还包括:
S101,构建文本内容模板。
本申请对每一种给定的格式,记录其应该具有的字数、句数、押韵、平仄、对偶的特征模版;然后在创作时按照用户指定的格式在格式库中提取该格式的特征模版,并对这些模版进行处理,最后根据处理后的模版去指导作品的生成。
其中,对于字数和句数:模版形式为X,X,X,X,X,X……其中X的数量代表了句数,X的值代表了每句的字数。例如七言律诗的字句数模版为7,7,7,7,7,7,7,7表示共8句,每句7个字。词牌《如梦令》的字句数模版为6,6,5,6,2,2,6表示共7句,每句的字数分别为6/6/5/6/2/2/6。生成诗词时若指定了诗词格式且该格式有固定的字数和句数,则按照该格式记录的字数和句数来生成诗词,否则由用户控制每句的字数和句数。
平仄模版分为两种,一种为长格式,另一种称为短格式。
对于平仄格式基本固定的词的词牌,直接记录长格式。其中用“平”表示平声,用“仄”表示仄声,用“〇”表示可平可仄。示例如下:
《如梦令》:〇仄〇平平仄,〇仄〇平〇仄,〇仄仄平平,〇仄〇平平仄,平仄,平仄,〇仄仄平〇仄。
对于五言或七言的律诗和绝句,用“平起仄收”形式的简称来记录,称为短格式。先用模版记录一种典型的短格式序列。生成诗词前,将短格式序列在逻辑上首尾相接,随机选择任意一句作为第一句,如果该句为仄收,则向后选择序列中相邻的一句为下一句,然后依次选择下一相邻句直到满足句数要求。
例如,平起仄收,仄起平收,仄起仄收,平起平收,平起仄收,仄起平收,仄起仄收,平起平收。当用户第一句选择仄起仄收时,则第二句为平起平收,第三句为平起仄收,以此类推。
若该句为平收则向后选择记录中的隔一句为下一句,然后依次选择相邻的下一句直到满足句数要求。
例如,五言律诗可能生成的第二种短格式:平起平收,仄起平收,仄起仄收,平起平收,平起仄收,仄起平收,仄起仄收,平起平收。
若用户选择的平起平收作为首句,由于为平收,则系统会自动将首句的平仄更换为仄起平收,第二句为仄起仄收,第三句为平起平收,以此类推。
短格式无法直接使用,因此在创建文本内容模板时,需要可以将每种短格式对应到1种基本长格式并细化为1-2种变通长格式。将所有的变通长格式推演出来,建立一个平仄短格式和平仄变通长格式一对多的长短格式关联库。记录不同字数的平仄短格式和平仄变通长格式对应关系。每次在生成诗句时根据字数要求在指定短格式中随机选择任一对应的变通长格式即可确定待生成诗句中每个字的平仄要求。然后在韵书中选取符合平仄要求的字使用。例如:
七字短格式:平起仄收;
七字基本长格式:平平仄仄平平仄;
七字变通长格式一:〇平仄仄平平仄;
七字变通长格式二:〇平平仄仄平仄;
对于押韵模版形式可以用0,X,0,X,0,X,0,X,表示,其中X的位置表示第几句押韵,X的值表示押韵时使用的韵部。0的位置表示第几句不押韵。格律诗由于第一句可押韵可不押韵并不固定,当该句平仄短格式因随机选择或用户指定为平收时,表示该句必须押韵,应将首句的0临时改为X。生成诗句时,标记为押韵的字,在韵书中选择符合要求的字使用。韵书的选择默认诗选《平水韵》,词选《词林正韵》,当然地,在一种可选的实现方式中,用户也可指定韵脚,对此不作限定。根据韵书建立韵表,为每个韵部进行编号,并将不同的字按韵书收录在不同的韵部中。示例如下:
七言律诗押韵模版0,1,0,1,0,1,0,1。表示偶数句押韵,奇数句不押韵。押韵使用的韵部代号为1(《平水韵》中的第一个韵部为“一东”,代号1表示押韵时应选择和东字同在一个韵部的字)。若首句为在生成诗句前选定为平收,则押韵模版将临时变更为1,1,0,1,0,1,0,1。
需要说明的是,在生成作品前韵部代号1可根据用户选择变为其他任何的表示有效韵部的数字,但不得变为0。例如,上述押韵模板0,1,0,1,0,1,0,1,用户可根据需求更改为0,2,0,2,0,2,0,2,《平水韵》中第二韵部为“二冬”,因此代号2表示押韵时选择和冬字同在一个韵部的的字。
对偶的模版形式为0,0,X,-X,X,-X,0,0其中0表示该句不需要对偶,X表示该句和其后第X句对偶,-X表示该句和其前第X句对偶。X通常为1,偶有在一些词牌中为2。通过对历代诗词对偶句的统计,可以形成一张对偶字表,记录何字与何字对偶及相关性大小。生成诗词时,对于要求对偶的句子,根据已有的句子对位一一查询对偶字表中与该字对偶的字,根据对偶相关性排序进行选用。例如:
七言律诗对偶模版0,0,1,-1,1,-1,0,0表示第三句和第四句互相对偶,第五句和第六句互相对偶,其他各句不需要对偶;
词牌《鹧鸪天》对偶模版0,0,0,0,1,-1,0,0,0表示第5、6句对偶,其他各句不需要对偶。
音尺模版形式有两种,偶数字模版为1,2,1,2,1,2,1,2,奇数字模版为1,2,1,2,1,2,-3,-2,-1。其中,1表示双音尺中的第一个字,2表示双音尺中的第二个字。-1表示倒数第一个字,-2表示倒数第二个字,-3表示倒数第三个字。诗词作品单句最长的,偶数句为8字,奇数句为9字。这两个模版分别对应了8字句和9字句,字数少于8字/9字的句子只需要分奇偶数在模版中从后往前取对应字数即可。例如6字句的模版为1,2,1,2,1,2,七字句的模版是1,2,1,2,-3,-2,-1。因此音尺模版不用分不同格式单独记录,只需要根据每句的字数来确定即可。奇数字的句子用-3,-2,-1来表示字在句子中的绝对位置,而不是在音尺中的相对位置,是因为奇数字的句子最后三字的作用比较特殊。除了音尺特征有1/2或2/1的不确定性以外,还存在末字可能押韵并有结束感,倒数第三字在文意和节奏上通常有较大转折的特性。在生成诗句的时候,要根据音尺模版标识对每个字受其他字影响的方式和权重进行特殊处理。这在后续部分将结合诗句的生成算法进行详细介绍。
在构建文本内容模板的基础上,作为一种实现方式:
作为一种实现方式,关联模型包括单关联模型与多关联模型,在此基础上,当关联模型选用单关联模型时,S106包括:
S1061,当接收到参考字时,依据与空余位置相邻的参考字,及参考字或空余位置的字位生成目标集合,并确定目标集合中每个待生成字的相关性,相关性满足公式:
相关性=相邻字后频率*相邻字前频率*随机数;
相邻字后频率表示在预设的数据库中,处于同一字位的参考字与待生成字组成的条目,相对于待生成字出现的频率,相邻字前频率表示处于同一字位的待生成字与参考字组成的条目,相对于待生成字出现的频率;随机数表示随机生成的数,为一可变值;
S108包括:
依据限定条件从目标集合中进行筛选,将筛选后相关性最大的字作为目标字,并将目标字填入对应的位置。
需要说明的是,本申请所述的字位,实际为每个字的位置,例如,在一诗句中,第一字的字位为1,第二字的字位为2,以此类推。还需要说明的是,本申请所述的单关联模型,指在确定空余位置对应的待生成字时,待生成字只与前后相邻的参考字关联,而与其它位置的参考字的关联相对较低。
例如,当用户选择七言律诗,其在生成第一句时,填入了部分参考字,如“X风X雨XXX”,则在确定第一个空余位置X时,该位置对应的目标字仅与风相关联,在确定第二个空余位置X时,该位置对应的目标字与风、雨均相关;在确定第三个空余位置X时,该位置对应的目标字仅与雨相关。
在具体实现方式中,需要先建立数据库,作为一种实现方式,可以构建基于字位的字频表。例如准备大量七言绝句和七言律诗素材,统计一句内每个位置开始的两个同样相邻字出现的次数(相邻数),并分别统计这两个相邻字各自出现的次数(本字数)。用相邻数/本字数即可得到这种相邻关系相对于前一个字的出现频率(前频率)和相对于后一个字的出现频率(后频率)。示例如下:
待统计诗句:1无边落木萧萧下,2.萧萧落木坏无枝。统计的结果如表1所示:
表1
其中,表1中所述的前频率即指相邻字前频率,后频率即指相邻字后频率,计数即指前后两个字组合在所有诗句中出现的句数。例如,以“无”字与“边”字组成的条目“无边”为例,无边在两句诗中仅出了1次,因此其计数为1;“无”字在两句中出现了两次,则前频率即为1/2*100%=50%;“边”字在两句中仅出现了1次,则后频率即为1/1*100%=100%。同理地,其他字的前频率与后频率均可通过此方式得出。
可以看到,“落、木”因为在同样的位置出现了两次,所以计数为2,而“萧、萧”虽然出现了两次,但每次出现的位置不同所以分别计数为1。
需要说明的是,上述实现方式仅为举例说明,在实际应用中构建字频表时,用到的诗词会更多,在此不做限定。此外,在一种可能的实现方式中,用户还可选择构建字频表的数据集,例如选用唐诗三百首进行构建,或者选用某一诗人的所有诗词进行构建,在此不做限定。
此外,除了构建字频表,还会对所有位置的条目进行统计,例如“无边”、“无穷”等条目。因此,本申请在生成目标集合时,实质为依据参考自从预设的数据库中生成目标集合,该预设的数据库中包括多个条目。例如,在七言律诗中,当用户填入参考字“无”时,则根据数据库中预设的条目,可以确定“无”字后,待生成字对应的目标集合,例如目标集合包括“边、穷…”。
在此,需要说明的是,在一种可能的实现方式中,当待生成字的前后均设置有参考字时,则待生成字的目标集合为二者条目的交集。
可以理解地,由于字频表中包含了字位,因此在确定待生成字时,还与待生成字的位置相关联。
例如,当句子的字数为七个字,要生成某一单字时,如果该字之前有相邻参考字,则从字频表中查询字位等于待生成字字位减1,且前字等于参考字的所有后字及其后频率。如果该字之后有相邻参考字,则从字频表中查询字位等于待生成字字位,且后字等于参考字的所有前字及其前频率。
需要说明的是,当与空余位置相邻且位于空余位置之前或与空余位置相邻且位于空余位置之后的位置没有填入参考字时,则其对应的后频率或前频率为一预设值,该预设值大于0且小于1,并且,该预设值为一接近0的较小值,例如为1/10000。
可以理解地,上述构建文本内容模板也属于数据库中一部分。除此以外,为了便于确定每个字的字位,在构建数据库时,还会形成参考字集。
本申请中,允许在诗词作品中指定某位置必须为某字,即用户可输入部分字并固定,这些字称为“参考字”,而未指定的字称为“待生成字”。为了在未指定任何参考字的情况下也可以通过该技术生成诗词作品,在每个诗句的首尾插入开始和结束标识符“s”,“e”作为隐藏参考字。并采用参考字集作为数据结构记录这些参考字。例如:
当用户未输入参考字,即系统未接收到参考字时,则参考字集为:
“s”,“”,“”,“”,“”,“”,“”,“”,“e”;
当指定某些参考字时,则参考字集为:
“s”,“朝”,“”,“白”,“帝”,“”,“”,“间”,“e”;
其中,“”表示待生成字,“s”表示开始标识,“e”表示结束标识,“朝”、“白”、“帝”、“间”表示指定参考字。
通过在构建参考字集时引入开始标识与结束标识,能够更加方便地确定每个字的字位。
可以理解地,上述确定前频率与后频率,实际为根据从古至今已有的大量诗词作品,在每句诗的首尾添加开始和结束标识符,用统计语言模型或神经网络模型构建同一诗句内字与字以及字与开始和结束标识的关联关系。
此外,为了增强填入空余位置的字的随机性,在确定相关性时,还会将查询出的两个频率相乘再乘以一个随机数,以此作为表征相关性的参数。可选地,该随机数可以为一个大于0且小于1的数,例如对于空余位置a而言,其对应的随机数为0.5,对于空余位置b而言,其对应的随机数为0.3。
例如,在生成某一句诗时,待生成诗句的参考字集为:
“s”,“朝”,“”,“白”,“帝”,“”,“”,“间”,“e”;则在生成第二个字时,则第二个字与“朝”和“白”均相关联,若预设的数据库中包括条目“朝来”与“来白”,且若字位为1的“朝来”的后频率为0.5,而字位为2的“来白”的前频率为0.01,再取随机数得到0.5,则第二字为“来”的相关性=0.5*0.01*0.5=0.0025。可以理解地,若生成第五个字时,由于第五个字的相邻位置中,仅前面有相邻字“帝”,因此在生成第五字时,若第五字选用“都”,且字位为4的“帝都”的后频率为0.4,则随机数取0.3,则第五个字“都”的相关性=0.4*1/10000*0.3。
并且,当在某一句诗中已经选定了某一字,则会将该字作为参考字,继续生成空余位置的字。例如,若上述第五个字选用“都”,则在确定第六个字时,第六个字与第五个字“都”和第七个字“间”关联。
此外,作为一种可选的实现方式中,在确定相关性后,由于通过单关联模型确定的目标集合中包括多个字,因此可按照每个字的相关性由大至小进行排序,以便于后续目标字的确定。
可以理解地,上述单字生成规则只能针对七个字,而且采取的是严格对位的方式,这样当然关联性最好,然而一般诗句中只要是二音尺的两个字,位置互换并没有太大影响。如七字句的诗中,经常出现在1、2位置的相邻字,实际也可出现在3、4位置。例如:“无边落木萧萧下”,无边可以在1、2位置,“春色无边破客愁”,无边也可以放在3、4位置。允许双音尺的相邻字互相选用可以扩大候选字的范围,一方面增大诗句的丰富性,另一方面也可以减少在诗词特征约束的条件下出现无字可用的情况。
因此,在确定目标集合时,还需要根据参考字的位置与音尺的位置同步确定目标集合。作为一种实现方式,在参考字在前,待生成字在后的情况下:
如果音尺标记为1且待生成字不是第一个字,字频表可选字位为2;
如果音尺标记为1且待生成字是第一个字,字频表可选字位为0;
如果音尺标记为2,字频表可选字位可以为1或3;
如果音尺标记为-1,字频表可选字位为6;
如果音尺标记为-2,字频表可选字位可以为1或3或5;
如果音尺标记为-3,字频表字位为4;
对于参考字在后,待生成字在前的情况:
如果音尺标记为2且待生成字是倒数第四字,字频表可选字位为4;
如果音尺标记为2且待生成字不是倒数第四字,字频表可选字位为2;
如果音尺标记为1,字频表可选字位可以为1或3;
如果音尺标记为-1,字频表可选字位为7;
如果音尺标记为-2,字频表可选字位为2或4或6;
如果音尺标记为-3,字频表可选字位为5;
其中音尺标记与上述构建文本内容模板的音尺标记表征的含义相同。
在进行这样的规则匹配后,诗句生成的丰富性和字数适应性都会大大提高。
此外,由于单关联模型生成的字只和前后两个参考字有关,整句中各个字的关联性相对较弱,因此作为一种实现方式,引入“同句字”的概念进行优化。
首先在进行字频统计的时候,增加对于非相邻但在同一句中的两个字的出现频率统计。可以沿用前述基于字位的字频表,只是将字位设定为100或其他远大于单诗句中字数的数。示例如下:
待统计诗句:无边落木萧萧下。
统计结果的结果如表二所示:
前字 | 后字 | 字位 | 计数 | 前频率 | 后频率 |
无 | 落 | 100 | 1 | 100% | 100% |
无 | 木 | 100 | 1 | 100% | 100% |
无 | 萧 | 100 | 2 | 200% | 100% |
无 | 下 | 100 | 1 | 100% | 100% |
边 | 木 | 100 | 1 | 100% | 100% |
边 | 萧 | 100 | 2 | 200% | 100% |
边 | 下 | 100 | 1 | 100% | 100% |
落 | 萧 | 100 | 2 | 200% | 100% |
落 | 下 | 100 | 1 | 100% | 100% |
木 | 萧 | 100 | 1 | 100% | 50% |
木 | 下 | 100 | 1 | 100% | 100% |
萧 | 下 | 100 | 1 | 50% | 100% |
s | - | - | 1 | - | - |
无 | - | - | 1 | - | - |
边 | - | - | 1 | - | - |
落 | - | - | 1 | - | - |
木 | - | - | 1 | - | - |
萧 | - | - | 2 | - | - |
下 | - | - | 1 | - | - |
e | - | - | 1 | - | - |
表二
在生成诗句中单字的时候,增加获取相邻字外的其他参考字的相关字(根据参考字在待生成字前或后选择字频表中字位为100的后字或前字)以及字频,与前序获得的字频相乘作为最终选用的依据。
同时,对于相关性的确定也进行调整,调整为:
相关性=相邻字后频率*相邻字前频率*同句字字频*随机数;
且同句字字频=Σ参考字在前频率或参考字在后频率;其中,
参考字在前频率表示诗句中出现参考字与待生成字,且参考字与待生成字非相邻,同时参考字在待生成字之前的频率,参考字在后频率表示诗句中出现参考字与待生成字,且参考字与待生成字非相邻,同时参考字在待生成字之后的频率。
作为一种实现方式,在确定同句字字频时,若待生成字的前后非相邻位置均包括参考字,则同句字字频为参考字在前频率与参考字在后频率之和。
例如,在生成某一句诗时,其为“s”,“朝”,“”,“白”,“帝”,“”,“”,“间”,“e”
生成第二字时,若字位为100的“来帝”的前频率为0.3,字位为100的“来间”的前频率为0.4,则“来”字的同句字字频=0.3+0.4=0.7。
若字位为1的“朝来”的后频率为0.5,而字位为2的“来白”的前频率为0.01,再取随机数得到0.5,则第二字为“来”的相关性=0.5*0.01*0.7*0.5=0.00175。
通过增加同句字字频,可以使生成的字与前后关联性更强,效果根更好。
此外,当未接收到用户输入的参考字时,则表示用户希望整句话均由电子设备生成,则作为一种实现方式,可以先在任一位置确定一个随机字,然后依据相邻空余位置与该随机字的关联确定出其余位置的字。例如,可以从左至右进行确定,也可从右至左进行确定,或者从中间向两边进行确定,在此不做限定。
当关联模型选用多关联模型,S106包括:
S1062,当接收到参考字时,依据所有参考字及每个参考字与所述空余位置之间的字距生成目标集合,并确定目标集合中每个待生成字的相关性,相关性满足公式:
相关性=Σ(参考字频率)+随机数;其中,参考字频率包括参考字前频率和/或参考字后频率,参考字后频率表示在预设的数据库中,同时出现参考字与待生成字,参考字与待生成字的字距一致,且参考字在待生成字之前的频率,参考字前频率表示在预设的数据库中,同时出现参考字与待生成字,参考字与待生成字的字距一致,且参考字在待生成字之后的频率;S108包括:
依据限定条件从目标集合中进行筛选,将筛选后相关性最大的字作为目标字,并将目标字填入对应的位置。
与上述单关联模型相似,需要先建立相应的数据库。准备大量七言绝句和七言律诗素材,添加开始结束标记(“s”、“e”)。统计一句内隔相同字数的同样两个字出现的次数(等距数),并分别统计这两个字各自出现的次数(本字数)。用等距数/本字数即可得到这种等距关系相对于前一个字的出现频率(前频率)和相对于后一个字的出现频率(后频率)。示例如下:
待统计诗句:无边落木萧萧下
统计结果如表三所示:
表三
当句子的字数为七个字,要生成某一单字时,如果该位置之前有参考字,计算参考字和待生成字的字距(字距=待生成字字位-参考字字位),从字频表中查询相同字距且前字等于参考字的后字和后频率;如果该字之后有参考字,计算参考字和待生成字的字距(字距=参考字字位-待生成字字位),从字频表中查询相同字距且后字等于参考字的前字和前频率。将查询出的同一字的所有字频相加再加上一个随机数作为表征相关性的参数。然后用该参数排序,随机选取靠前的N个字中的一个作为生成字即可。
相关性计算规则如下:
相关性=Σ(参考字频率)+随机数;
即当生成字时,若仅在待生成字之前存在参考字,则计算相关性时,仅需利用参考字后频率之和与随机数进行确定;若仅在待生成字之后存在参考字,则计算相关性时,仅需利用参考字后频率之和与随机数进行确定;若仅在待生成字之前与之后同时存在参考字,则计算相关性时,需要同时利用参考字后频率与参考字后频率之和与随机数进行确定。
例如,待生成诗句的参考字集:
“s”,“朝”,“”,“白”,“帝”,“”,“”,“间”,“e”
生成第二字时,若字距为2的“s来”的后频率为0.1,字距为1的“朝来”的后频率为0.5,字距为1的“来白”的前频率为0.01,字距为2的“来帝”的前频率为0.02,字距为5的“来间”的前频率为0.08,字距为6的“来e”的前频率为0.05,取随机数得到0.1,则第二字为“来”的相关性=0.1+0.5+0.01+0.02+0.08+0.05+0.1=0.86。
虽然字频表是基于每句七字的古诗统计生成的,但任何小于七个字的诗句因为1-7的各种字距都有统计,所以都可以用该字频表和方法来生成诗句。大于七个字的诗句使用较少,确需生成时不考虑字距大于7的参考字的影响即可,也可以在生成字频表时增加对古诗词中8字、9字句的统计,在此不做限定。
此外,基于字距来生成诗词,容易出现违反音尺特征的情况,例如“可怜九月初三夜”,音尺结构为“2/2/2/1”。应该“可、怜”二字联系较紧密,“九、月”二字联系较紧密而“怜、九”二字联系不紧密。但由于是根据字距来生成“怜”后面的字,“怜悯”就很可能被选中,生成类似“可怜悯心期未肯”的句子,音尺结构变为“1/2/2/2”这样不符合诗句要求句子。
有鉴于此,必须根据音尺特征对不同位置的参考字影响待生成字的权重进行调整。此外,一个字与“s”、“e”开始结束标识的字距可以用于表征该字的字位,其字频统计则反映了该字出现在这个位置的频率。一般来说,音尺标记为1、2的字和“s”标记关系更密切,而为-1,-2,-3的字和“e”标记关系更密切。为此,我们建立如下的规则:
设权重w默认为1。
相关性=Σ(参考字频率*W)+随机数;其中,W表示依据所述待生成字组成音尺的位置确定的权重。
a.对于参考字在前,待生成字在后的情况
如果音尺标记为2或-2或-1,且参考字字距为1,则增大w,例如将W1和/或W2增大为3。
如果音尺标记为1或-3,且参考字字距为1,则减小W,例如将1和/或W2减小为0.5。
如果音尺标记为1或2,且参考字为“s”,则增大W,例如将W1和/或W2增大为2。
b.对于参考字在后,待生成字在前的情况
如果音尺标记为2,且参考字字距为1,则减小W,例如将1和/或W2减小为0.5。
如果音尺标记为1或-3或-2,且参考字字距为1,则增大W,例如将W1和/或W2增大为3。
如果音尺标记为-3或-2或-1,且参考字为“e”,则增大W,例如将W1和/或W2增大为2。
同时,针对每一参考字而言,其参考字频率对应的权重可以相同也可不同,在此不做限定。
通过上述实现方式,能够使诗句中处于同一音尺位置的词更容易选中,诗词创作辅助效果更加明显。
作为一种实现方式,请参阅图4,S108包括:
S1081,依据语法匹配关系确定出目标字。
其中,语法匹配关系包括但不限于字数、押韵、平仄、对偶以及音尺等语法匹配关系。以上述语法匹配关系作为约束条件,可以从目标集合中确定出目标字。
例如,针对字数:可以实现根据字数要求决定诗句的生成到第几个字为止。
针对押韵,在关联模型中加入对韵部的筛选,只接受押韵的字。
针对平仄:根据平仄格式要求,在基本关联模型中加入对平仄的筛选。只接受符合平仄的字。
针对对偶:根据对偶要求,在基本关联模型中加入对对偶的筛选。只接受符合对偶的字。并且将对偶相关性大小纳入综合运算。
针对音尺:根据音尺要求,以及待生成字和参考字在句中的位置,给该参考字的相关性赋予不同的权重参与综合运算。
可以理解地,在依据语法匹配关系确定出目标字时,可依据上述构建的文本内容模板对目标集合中的字数进行筛选,也可以由用户临时指定限定条件,以支持更为自由的创作方式。
同时,需要说明的是,在利用上述条件对目标集合进行筛选时,实际筛选后还会包括多个字,在此基础上,可以选用相关性最高的字作为目标字。
作为一种实现方式,请参阅图5,S108还包括:
S1082,当限定条件包括语法匹配且接收到参考字时,从预设的数据库中确定包括参考字且参考字位置一致的第一文本句;
S1083,确定与第一文本句对应的第二文本句,其中,第二文本句与第一文本句具备语法匹配关系;
S1084,依据第二文本句从目标集合中确定目标字,以在生成当前文本句时,当前文本句与第二文本句也具备相同的语法匹配关系。
为了使句子的语法和文意更加合理,更符合诗词的习惯,还可以在基本关联模型的基础上,进行“外关联”。即单句生成前,根据已有参考字集在古人诗词集中的对偶句(一般为五言或七言律诗的3-6句)中随机查找一句参考字集相同,符合待生成诗句特征约束的句子,并找出诗中和其对偶的句子,本申请所述的语法匹配关系即为对偶关系。
即当用户输入的参考字后,系统会自动从数据库中确定包括参考字且的位置一致的第一文本句,然后确定与第一文本句对偶的第二文本句,待生成诗句按照和第二文本句对偶的方式,用关联模型生成。由于第二文本句是古人创作的诗句,其语法合理性极高,而对偶本身是按照词性相同意思相近或相反的方式生成的,所生成的诗句语法合理性可以得到进一步加强。例如,待生成诗句的参考字集:
“s”,“”,“”,“日”,“”,“”,“”,“烟”,“e”
查询到的古人诗句:(沧海月明珠有泪)蓝田日暖玉生烟;
则第一文本句为:蓝田日暖玉生烟;
第二文本句为:沧海月明珠有泪。
利用与第二文本句对偶的方式生成待生成诗句。例如生成的诗句为:
“s”,“赤”,“城”,“日”,“暖”,“水”,“如”,“烟”,“e”。
可以理解地,上述“赤城”与第二文本句中“沧海”对偶,“玉生烟”与“水如烟”格式一致。
作为第三种实现方式,请参阅图6,S108还包括:
S1085,当生成第一句文本句时,从预设的多个词分类中随机选取一个第一词分类,并依据第一词分类从目标集合中确定目标字;
S1086,当生成除第一句以外的其它文本句时,依据已生文本句中的字确定第二词分类,并依据第二词分类从目标集合中确定目标字。
如果诗词的每一句都独立生成,那么句与句之间就会缺乏联系,全篇就不像是同一首诗。因此必须有一种机制使句与句之间产生联系。为此,需要建立一个词类关联模型。可在现实中找到对诗词作品中的用词进行分类的文本(如《诗学含英》),建立一个诗词的分类词库,可以理解地,诗词的分类词库也属于上述数据库中的一种。
在生成诗的第一句时,随机选择一个词分类。在利用关联模型或上述对偶方式生成单字时,加入对词类的筛选,或将属于该词类中的字赋予较高的相关性纳入相关性综合运算。从第二句诗开始,对已生成诗句中的字进行所属词类统计(同一个字有可能出现在不同词类中)。对每个字所属词类的数量取倒数(跨词类越多的字越不具有典型性在确定词类时影响力应该越小)。然后以词类为单位求和,根据求和的大小排序,选择求和最大的一个词类作为后续诗句生成的词类基础(选择词类时可适当加入随机性)。
由于用户可以指定诗中的任意字,所以生成的诗句不一定完全与选定的词类吻合,因此每句生成前都要重新测算已生成诗句的词类,这样才会尽可能保持全诗词类的统一,并尽可能符合用户的预期。
例如,词类表包括:春日、夏雨、秋风、冬雪…
其中,词类“春日”的词集包括:葵光杲杲阳和丽色沙暖暖晖柳影迟迟暖气晴光泥融晴昼明媚和暖缓驾烘花莺戏怯寒韶光江山丽花心绽破寒威暖吐花唇冲融舒徐载阳筛柳蝶飞逗暖霁景鱼鸟繁柳眼开回淑气晴舒柳眼布回暖气晴飞燕子水成嫩碧熙有登台乐暄和催鸟韵影迟红杏坞消尽寒光暖睡鸳鸯花变新红舒回化国长明丽压花梢光转绿杨堤…
当在生成第一句文本句,即诗词的第一句时,由于此时并不能明确整首诗词大致的思想,因此系统会随机选取一个词分类作为第一词分类,并依据第一词分类从目标集合中筛选目标字。例如,如选取春日,则系统会利用春日的词集筛选目标字。
由于本申请的诗词为逐句诗词,需要用户确认后才会生成下一句,因此,一旦用户确定第一句文本句,则整首诗词的基调即确定,在生成后续的诗句时,可通过已生成的文本句确定出第二词分类,并依据第二词分类确定后续的目标字,使得整首诗词的关联度更高。可以理解地,第一词分类与第二词分类可能相同,也可能不同,在此不做限定。
例如,假设第一句的参考字集为:
“s”,“绿”,“水”,“”,“”,“”,“”,“”,“e”
随机选择词类“春日”,可能生成的第一句:绿水晴光飞燕子。
由于有晴光和飞燕子,第一句经测算后选择的词类仍为“春日”。
假设第二句的参考字集为:
“s”,“”,“”,“”,“语”,“”,“烟”,“中”,“e”
依据词类“春日”可能生成的第二句:迟迟莺语柳烟中。
作为一种实现方式,S1086包括:
S1086-1,对已生成文本句中的每个字进行词分类统计,以确定每个字对应的词分类数量;
S1086-2,对每个字对应的词分类的数量取倒数;
S1086-3,对处于同一词分类的字对应的倒数进行求和;
S1086-4,以词分类为单位,将求和后数值最大的词分类作为第二词分类。
例如,以“绿水晴光飞燕子”作为诗词的第一句,则第二词分类的确定为:
首先对每个字进行词分类统计,以确定每个字对应的词分类数量,即该字出现在哪几个词分类中,例如“绿”对应的词分类数量为5个,词分类分别为“春日”、“送别”、“夏雨”、“赶考”、“山水”,“水”对应的词分类数量为3个,“晴”对应的词分类数量为2个,“光”对应的词分类数量为2个,“飞”对应的词分类数量为2个,“燕”对应的词分类数量为2个;“子”对应的词分类数量为2个。
然后对每个词分类数量取倒数,分别为1/5、1/3、1/2、1/2、1/2、1/2、1/2,然后对同一词分类的字对应的倒数求和,例如,“绿”、“晴”、“燕”均对应词分类“春日”,则词分类“春日”对应数值为1/5+1/2+1/2=1.2;同时,“绿”、“水”均对应词分类“山水”,则词分类“山水”对应数值为1/5+1/3=0.53,以此类推。
在确定每一个词分类对应的数值后,可将数值最大的词分类作为第二词分类,在本示例汇中,由于词分类“春日”的数值最高,因此第二词分类确定为“春日”。
需要说明的是,上述S1081~S1085为并列关系,其并没有先后顺序,换言之,上述三种实现方式中,可以采用其中任意一种作为限定条件,也可以选择多种实现方式结合作为限定条件,在此不做限定。
同时,当未接收到确定指令,或者接收到重新生成的指令时,表明生成的文字用户并不满意,因此会重新返回执行S104~S108的步骤,由于随机数的存在,因此会每次确定的文字并不相同,直至接收到确定指令为止。
换言之,在将目标字填入对应的位置后,该方法包括:
S109,判断是否接收到确认指令,如果是,则执行S110,如果否,则返回S104,直至满足条件退出循环。
基于上述实现方式,请参阅图7,本申请还提供了一种文本内容生成装置200,该装置包括:
接收模块210,用于接收目标文本内容设置指令,其中,目标文本内容设置指令包括文本类型、关联模型以及限定条件。
可以理解地,通过状态确定单元接收模块210可以执行S102。
处理模块220,用于依据文本类型与限定条件确定目标文本内容的句数及每句的字数。
可以理解地,通过处理模块220接收模块210可以执行S104。
处理模块220还用于依据选定的关联模型确定每句中每个空余位置对应的待生成字的目标集合,其中,空余位置为每句中未填入参考字的位置,且当待生成字填入空余位置后,待生成字更新为参考字。
可以理解地,通过处理模块220接收模块210可以执行S106。
处理模块220还用于依据限定条件从目标集合中确定目标字,并将目标字填入对应的位置。
可以理解地,通过处理模块220接收模块210可以执行S108。
处理模块220还用于当接收到确认指令时,完成当前文本句的生成,并继续下一文本句的生成,直至生成对应句数的文本内容。
可以理解地,通过处理模块220接收模块210可以执行S110。
当然地,在上述实现方式中的每一步骤均有一对应的功能模块,由于上述实施例已经详细描述,因此在此不再进行赘述。
综上所述,本申请提供了一种文本内容生成方法、装置、电子设备及存储介质,首先接收目标文本内容设置指令,其中,目标文本内容设置指令包括文本类型、关联模型以及限定条件,然后依据文本类型与限定条件确定目标文本内容的句数及每句的字数,再依据选定的关联模型确定每句中每个空余位置对应的待生成字的目标集合,其中,空余位置为每句中未填入参考字的位置,所述参考字为任意位置已填入的字,再依据限定条件从目标集合中确定目标字,并将目标字填入对应的位置,最后当接收到确认指令时,完成当前文本句的生成,并继续下一文本句的生成,直至生成对应句数的文本内容。一方面,本申请提供的诗词的采用关联模型与限定条件依次确定出目标字,因此其对用户在诗词创作时起到了较佳的辅助作用。另一方面,由于在文本内容创作时,用户需要进行确定后才会进行下一文本句,因此用户可不断修改自己创作的文本,直至用户满意,用户的参与感更强。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。
也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。
也要注意的是,框图和或流程图中的每个方框、以及框图和或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。
Claims (7)
1.一种文本内容生成方法,其特征在于,所述方法包括:
接收目标文本内容设置指令,其中,所述目标文本内容设置指令包括文本类型、关联模型以及限定条件;
依据所述文本类型与所述限定条件确定所述目标文本内容的句数及每句的字数;
依据选定的关联模型确定每句中每个空余位置对应的待生成字的目标集合,其中,所述空余位置为每句中未填入参考字的位置,所述参考字为任意位置已填入的字;
依据所述限定条件从所述目标集合中确定目标字,并将所述目标字填入对应的位置;
当接收到确认指令时,完成当前文本句的生成,并继续下一文本句的生成,直至生成对应句数的文本内容;
其中,所述关联模型包括单关联模型与多关联模型,当所述关联模型为单关联模型时,所述依据选定的关联模型确定每句中每个空余位置对应的待生成字的目标集合的步骤包括:
当接收到参考字时,依据与所述空余位置相邻的参考字生成所述目标集合,并确定所述目标集合中每个待生成字的相关性,所述相关性满足公式:
相关性=相邻字后频率*相邻字前频率*随机数;
所述相邻字后频率表示在预设的数据库中,所述参考字与所述待生成字组成的条目,相对于所述待生成字出现的频率,所述相邻字前频率表示所述待生成字与所述参考字组成的条目,相对于所述待生成字出现的频率;
所述依据所述限定条件从所述目标集合中确定目标字,并将所述目标字填入对应的位置的步骤包括:
依据所述限定条件从所述目标集合中进行筛选,将筛选后相关性最大的字作为目标字,并将所述目标字填入对应的位置;
当所述关联模型为多关联模型时,所述依据选定的关联模型确定每句中每个空余位置对应的待生成字的目标集合的步骤包括:
当接收到参考字时,依据所有参考字生成所述目标集合,并确定所述目标集合中每个待生成字的相关性,所述相关性满足公式:
相关性=Σ(参考字频率* W)+随机数;其中,所述参考字频率包括参考字前频率和/或参考字后频率,所述参考字后频率表示在预设的数据库中,同时出现所述参考字与所述待生成字,且所述参考字在所述待生成字之前的频率,所述参考字前频率表示在预设的数据库中,同时出现所述参考字与所述待生成字,且所述参考字在所述待生成字之后的频率;W表示依据所述待生成字组成音尺的位置确定的权重;
所述依据所述限定条件从所述目标集合中确定目标字,并将所述目标字填入对应的位置的步骤包括:
依据所述限定条件从所述目标集合中进行筛选,将筛选后相关性最大的字作为目标字,并将所述目标字填入对应的位置。
2.如权利要求1所述的文本内容生成方法,其特征在于,所述依据所述限定条件从所述目标集合中确定目标字的步骤包括:
当限定条件包括语法匹配且接收到参考字时,从预设的数据库中确定包括所述参考字且参考字位置一致的第一文本句;
确定与所述第一文本句对应的第二文本句,其中,所述第二文本句与所述第一文本句具备语法匹配关系;
依据所述第二文本句从所述目标集合中确定目标字,以在生成当前文本句时,所述当前文本句与所述第二文本句也具备相同的语法匹配关系。
3.如权利要求1所述的文本内容生成方法,其特征在于,所述依据所述限定条件从所述目标集合中确定目标字的步骤包括:
当生成第一句文本句时,从预设的多个词分类中随机选取一个第一词分类,并依据所述第一词分类从所述目标集合中确定目标字;
当生成除第一句以外的其它文本句时,依据已生文本句中的字确定第二词分类,并依据所述第二词分类从所述目标集合中确定目标字。
4.如权利要求3所述的文本内容生成方法,其特征在于,所述依据已生文本句中的字确定第二词分类的步骤包括:
对已生成文本句中的每个字进行所述词分类统计,以确定每个字对应的词分类数量;
对每个字对应的词分类的数量取倒数;
对处于同一词分类的字对应的倒数进行求和;
以词分类为单位,将求和后数值最大的词分类作为第二词分类。
5.一种文本内容生成装置,其特征在于,所述装置包括:
接收模块,用于接收目标文本内容设置指令,其中,所述目标文本内容设置指令包括文本类型、关联模型以及限定条件;
处理模块,用于依据所述文本类型与所述限定条件确定所述目标文本内容的句数及每句的字数;
处理模块还用于依据选定的关联模型确定每句中每个空余位置对应的待生成字的目标集合,其中,所述空余位置为每句中未填入参考字的位置,所述参考字为任意位置已填入的字;
处理模块还用于依据所述限定条件从所述目标集合中确定目标字,并将所述目标字填入对应的位置;
处理模块还用于当接收到确认指令时,完成当前文本句的生成,并继续下一文本句的生成,直至生成对应句数的文本内容;
其中,所述关联模型包括单关联模型与多关联模型,当所述关联模型为单关联模型时,所述处理模块用于:
当接收到参考字时,依据与所述空余位置相邻的参考字生成所述目标集合,并确定所述目标集合中每个待生成字的相关性,所述相关性满足公式:
相关性=相邻字后频率*相邻字前频率*随机数;
所述相邻字后频率表示在预设的数据库中,所述参考字与所述待生成字组成的条目,相对于所述待生成字出现的频率,所述相邻字前频率表示所述待生成字与所述参考字组成的条目,相对于所述待生成字出现的频率;
所述处理模块还用于:
依据所述限定条件从所述目标集合中进行筛选,将筛选后相关性最大的字作为目标字,并将所述目标字填入对应的位置;
当所述关联模型为多关联模型时,所述处理模块用于:
当接收到参考字时,依据所有参考字生成所述目标集合,并确定所述目标集合中每个待生成字的相关性,所述相关性满足公式:
相关性=Σ(参考字频率* W)+随机数;其中,所述参考字频率包括参考字前频率和/或参考字后频率,所述参考字后频率表示在预设的数据库中,同时出现所述参考字与所述待生成字,且所述参考字在所述待生成字之前的频率,所述参考字前频率表示在预设的数据库中,同时出现所述参考字与所述待生成字,且所述参考字在所述待生成字之后的频率;W表示依据所述待生成字组成音尺的位置确定的权重;
所述处理模块还用于:依据所述限定条件从所述目标集合中进行筛选,将筛选后相关性最大的字作为目标字,并将所述目标字填入对应的位置。
6.一种电子设备,其特征在于,包括:
存储器,用于存储一个或多个程序;
处理器;
当所述一个或多个程序被所述处理器执行时,实现如权利要求1-4中任一项所述的方法。
7.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1-4中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110267996.2A CN113051877B (zh) | 2021-03-11 | 2021-03-11 | 一种文本内容生成方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110267996.2A CN113051877B (zh) | 2021-03-11 | 2021-03-11 | 一种文本内容生成方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113051877A CN113051877A (zh) | 2021-06-29 |
CN113051877B true CN113051877B (zh) | 2023-06-16 |
Family
ID=76511718
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110267996.2A Active CN113051877B (zh) | 2021-03-11 | 2021-03-11 | 一种文本内容生成方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113051877B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106569995A (zh) * | 2016-09-26 | 2017-04-19 | 天津大学 | 基于语料库和格律规则的汉语古诗词自动生成方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102385596A (zh) * | 2010-09-03 | 2012-03-21 | 腾讯科技(深圳)有限公司 | 一种诗句的搜索方法及装置 |
US8484229B2 (en) * | 2011-05-11 | 2013-07-09 | King Abdulaziz City For Science And Technology | Method and system for identifying traditional arabic poems |
CN108363697B (zh) * | 2018-03-08 | 2022-02-22 | 腾讯科技(深圳)有限公司 | 文本信息生成方法、装置、存储介质及设备 |
CN109086270B (zh) * | 2018-07-24 | 2022-03-01 | 重庆大学 | 基于古诗词语料向量化的自动作诗系统及其方法 |
CN110852086B (zh) * | 2019-09-18 | 2022-02-08 | 平安科技(深圳)有限公司 | 基于人工智能的古诗词生成方法、装置、设备及存储介质 |
CN111046648A (zh) * | 2019-10-29 | 2020-04-21 | 平安科技(深圳)有限公司 | 韵律控制的诗词生成方法、装置、设备及存储介质 |
CN111444695B (zh) * | 2020-03-25 | 2022-03-01 | 腾讯科技(深圳)有限公司 | 基于人工智能的文本生成方法、装置、设备及存储介质 |
CN111797611B (zh) * | 2020-07-24 | 2023-07-25 | 中国平安人寿保险股份有限公司 | 对联生成模型、对联生成方法、装置、计算机设备及介质 |
CN112052651B (zh) * | 2020-08-14 | 2024-01-23 | 深圳市欢太科技有限公司 | 诗词生成方法、装置、电子设备及存储介质 |
-
2021
- 2021-03-11 CN CN202110267996.2A patent/CN113051877B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106569995A (zh) * | 2016-09-26 | 2017-04-19 | 天津大学 | 基于语料库和格律规则的汉语古诗词自动生成方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113051877A (zh) | 2021-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110489760B (zh) | 基于深度神经网络文本自动校对方法及装置 | |
CN106569995B (zh) | 基于语料库和格律规则的汉语古诗词自动生成方法 | |
Nakov | On the interpretation of noun compounds: Syntax, semantics, and entailment | |
Im Walde | Experiments on the automatic induction of German semantic verb classes | |
Croft | Typology and universals | |
Hoover | Frequent collocations and authorial style | |
CN107133211A (zh) | 一种基于注意力机制的作文评分方法 | |
CN106168954B (zh) | 一种基于编辑距离的负面信息模式模糊匹配方法 | |
CN107665190A (zh) | 一种文本校对错误词库的自动构造方法和装置 | |
CN101253496A (zh) | 生成汉语对联 | |
CN110443863A (zh) | 文本生成图像的方法、电子设备和存储介质 | |
Bresnan | Formal grammar, usage probabilities, and auxiliary contraction | |
CN113051877B (zh) | 一种文本内容生成方法、装置、电子设备及存储介质 | |
CN112883729B (zh) | 文本创作的词汇推荐方法、装置及服务器 | |
Sharp et al. | Cognitive approach to natural language processing | |
CN101499056A (zh) | 倒排参考句型语言分析方法 | |
Morley | Explorations in functional syntax: a new framework for lexicogrammatical analysis | |
CN107783965B (zh) | 一种基于句式结构的翻译方法及装置 | |
Birkenes | North Frisian dialects: A quantitative investigation using a parallel corpus of translations | |
CN106682023A (zh) | 生成数据集的方法和装置 | |
Wolfe et al. | Continuity and variation in Germanic and Romance | |
Lander | The History of the Reinforced Demonstrative in Nordic: Regional Variation and Reconstruction | |
CN116011430B (zh) | 韵脚去重方法、非易失性可读存储介质及电子设备 | |
CN113838445B (zh) | 歌曲创作方法及相关设备 | |
CN108563617A (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 |