CN113591472A - 歌词生成方法、歌词生成模型训练方法、装置及电子设备 - Google Patents
歌词生成方法、歌词生成模型训练方法、装置及电子设备 Download PDFInfo
- Publication number
- CN113591472A CN113591472A CN202110081700.8A CN202110081700A CN113591472A CN 113591472 A CN113591472 A CN 113591472A CN 202110081700 A CN202110081700 A CN 202110081700A CN 113591472 A CN113591472 A CN 113591472A
- Authority
- CN
- China
- Prior art keywords
- sentence
- lyrics
- lyric
- rhyme
- model
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 83
- 238000012549 training Methods 0.000 title claims abstract description 78
- 239000011159 matrix material Substances 0.000 claims description 66
- 239000013598 vector Substances 0.000 claims description 54
- 238000004458 analytical method Methods 0.000 claims description 42
- 230000006870 function Effects 0.000 claims description 14
- 238000012545 processing Methods 0.000 claims description 13
- 230000008569 process Effects 0.000 claims description 8
- 230000014759 maintenance of location Effects 0.000 claims description 7
- 238000003825 pressing Methods 0.000 claims description 4
- 230000011218 segmentation Effects 0.000 claims description 4
- 102100033814 Alanine aminotransferase 2 Human genes 0.000 description 66
- 101710096000 Alanine aminotransferase 2 Proteins 0.000 description 58
- 238000013473 artificial intelligence Methods 0.000 description 19
- 238000010586 diagram Methods 0.000 description 16
- 238000004590 computer program Methods 0.000 description 13
- 101000779415 Homo sapiens Alanine aminotransferase 2 Proteins 0.000 description 8
- 238000004891 communication Methods 0.000 description 8
- 230000003287 optical effect Effects 0.000 description 5
- 238000010801 machine learning Methods 0.000 description 4
- 241000282414 Homo sapiens Species 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 230000000295 complement effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 244000025254 Cannabis sativa Species 0.000 description 1
- 235000012766 Cannabis sativa ssp. sativa var. sativa Nutrition 0.000 description 1
- 235000012765 Cannabis sativa ssp. sativa var. spontanea Nutrition 0.000 description 1
- PEDCQBHIVMGVHV-UHFFFAOYSA-N Glycerine Chemical compound OCC(O)CO PEDCQBHIVMGVHV-UHFFFAOYSA-N 0.000 description 1
- 206010037660 Pyrexia Diseases 0.000 description 1
- 241000124033 Salix Species 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 239000011324 bead Substances 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 235000009120 camo Nutrition 0.000 description 1
- 235000005607 chanvre indien Nutrition 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 239000011487 hemp Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 230000001172 regenerating effect Effects 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 230000002040 relaxant effect Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 239000004576 sand Substances 0.000 description 1
- 238000013526 transfer learning Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- General Engineering & Computer Science (AREA)
- Biomedical Technology (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Machine Translation (AREA)
Abstract
本申请提供了一种歌词生成方法、歌词生成模型训练方法、装置及电子设备,能够智能且高效地创作押韵自然的歌词。该歌词生成方法包括:获取待生成歌曲的单句歌词和押韵模式;根据单句歌词与单句歌词的下一句歌词是否押韵,生成下一句歌词的最后一个字;根据单句歌词和下一句歌词的最后一个字,利用歌词生成模型生成符合押韵模式的下一句歌词。
Description
技术领域
本申请实施例涉及文字处理技术领域,并且更具体地,涉及一种歌词生成方法、歌词生成模型训练方法、装置及电子设备。
背景技术
音乐的出现丰富了人们的生活,不同的音乐能够带给人不同的体验,舒缓的音乐有助于睡眠,快节奏的音乐能够让人兴奋等等。歌词是音乐的重要组成部分,现阶段,绝大多数的音乐歌词是认为创作的,歌词的创作需要创作者有一定的文学功底以及人生阅历,这在很大程度上制约了歌词的创作。如何智能且高效地创作押韵歌词,是一项亟待解决的技术问题。
发明内容
本申请提供了一种歌词生成方法、歌词生成模型训练方法、装置、电子设备、芯片和计算机可读存储介质,能够智能且高效地创作押韵自然的歌词。
本申请的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本申请的实践而习得。
根据本申请的一方面,提供了一种歌词生成方法,包括:
获取待生成歌曲的单句歌词和押韵模式;
根据单句歌词与单句歌词的下一句歌词是否押韵,生成下一句歌词的最后一个字;
根据单句歌词和下一句歌词的最后一个字,利用歌词生成模型生成符合押韵模式的下一句歌词。
根据本申请的一方面,提供了一种歌词生成模型训练方法,包括:
获取训练样本集,训练样本集包括单句歌词和该单句歌词的下一句歌词的最后一个字,训练样本集中的各个训练样本包括文本序列,其中,文本序列的句首添加有句首符号;
以m个字符为步长对文本序列进行片段切分,不足m个字符的片段以句尾符号补足,其中,每个片段对应m-1个分类任务,m为正整数;
将训练样本集中出现的所有字符不重复的罗列,生成词表;
将每个片段所包括m个字符中的每个字符按照词表中的位置表达,得到矩阵M,矩阵M的大小为N*d,N和d为正整数;
对于每个分类任务,从矩阵M中提取行号为n1,…,nj的j个d维向量,得到一个大小为j*d的矩阵,然后经歌词生成模型处理得到大小为d的向量uj,其中,矩阵M中与向量uj夹角最小的向量对应的行号hj为模型预测的符号位置;
根据矩阵M和向量uj,调整歌词生成模型的参数。
根据本申请的一方面,提供了一种歌词生成装置,包括:
获取模块,用于获取待生成歌曲的单句歌词和押韵模式;
生成模块,用于根据单句歌词与单句歌词的下一句歌词是否押韵,生成下一句歌词的最后一个字;
生成模块,用于根据单句歌词和下一句歌词的最后一个字,利用歌词生成模型生成符合押韵模式的下一句歌词。
根据本申请的一方面,提供了一种歌词生成模型训练装置,包括:
获取模块,用于获取训练样本集,训练样本集包括单句歌词和该单句歌词的下一句歌词的最后一个字,训练样本集中的各个训练样本包括文本序列,其中,文本序列的句首添加有句首符号;
切分模块,用于以m个字符为步长对文本序列进行片段切分,不足m个字符的片段以句尾符号补足,其中,每个片段对应m-1个分类任务,m为正整数;
生成模块,用于将训练样本集中出现的所有字符不重复的罗列,生成词表;
处理模块,用于将每个片段所包括m个字符中的每个字符按照词表中的位置表达,得到矩阵M,其中,矩阵M的大小为N*d,N和d为正整数;
处理模块,还用于对于每个分类任务,从矩阵M中提取行号为n1,…,nj的j个d维向量,得到一个大小为j*d的矩阵,然后经歌词生成模型处理得到大小为d的向量uj,其中,矩阵M中与向量uj夹角最小的向量对应的行号hj为模型预测的符号位置;
调整模块,用于根据矩阵M和向量uj,调整歌词生成模型的参数。
根据本申请的一方面,提供了一种电子设备,包括:处理器和存储器,该存储器用于存储计算机程序,该处理器用于调用并运行该存储器中存储的计算机程序,执行上述歌词生成方法的步骤,或者,执行上述歌词生成模型训练方法的步骤。
根据本申请的一方面,提供了一种芯片,包括:处理器,用于从存储器中调用并运行计算机程序,使得该处理器执行上述歌词生成方法的步骤,或者,执行上述歌词生成模型训练方法的步骤。
根据本申请的一方面,提供了一种计算机可读存储介质,用于存储计算机程序,该计算机程序使得计算机执行上述歌词生成方法的步骤,或者,执行上述歌词生成模型训练方法的步骤。
基于上述技术方案,采用逆向生成的方式,首先生成下一句歌词的最后一个字,然后,根据单句歌词和下一句歌词的最后一个字,生成符合押韵模式的下一句歌词,从而能够智能且高效地创作押韵自然的歌词。
本申请实施例的其他特性和优点将通过下面的详细描述变得显然,或者部分通过本申请的实践而习得。
应理解,以上的一般描述和后文的细节描述仅是示例性的,并不对本申请构成限定。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示意性示出了根据本申请的一个实施例中提供的歌词生成方法的应用场景图;
图2示意性示出了的借助字符循环神经网络进行歌词生成的示意图;
图3示意性示出了的借助GPT2进行歌词生成的示意图;
图4示意性示出了根据本申请的一实施例的歌词生成方法的流程图;
图5示意性示出了根据本申请的一实施例的逆向歌词生成的流程图;
图6示意性示出了根据本申请的一实施例生成的歌词的示意图;
图7示意性示出了根据本申请的一实施例的正向歌词生成的流程图;
图8示意性示出了根据本申请的一实施例的歌曲生成的流程图;
图9示意性示出了根据本申请的一实施例的歌词生成模块训练方法的流程图;
图10示意性示出了根据本申请的一实施例的歌词生成装置的框图;
图11示意性示出了根据本申请的一实施例的歌词生成模块训练装置的框图;
图12示出了适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些示例实施方式使得本申请的描述将更加全面的完整,并将示例实施方式的构思全面地传达给本领域的技术人员。附图为本申请的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多示例实施方式中。在下面的描述中,提供许多具体细节从而给出对本申请的示例实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本申请的技术方案而省略特定细节中的一个或更多,或者可以采用其他的方法、组元、步骤等。在其它情况下,不详细示出或描述公知结构、方法、实现或者操作以避免喧宾夺主而使得本申请的各方面变得模糊。
附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络、处理器装置或者微控制装置中现实这些功能实体。
随着人工智能技术研究和进步,人工智能技术在多个领域展开研究和应用,例如常见的智能家居、智能穿戴设备、虚拟助理、智能音箱、智能营销、无人驾驶、自动驾驶、无人机、机器人、智能医疗、智能客服等,相信随着技术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值。本申请可以基于人工智能技术进行多说话人场景识别以及多说话人场景识别网络训练。
人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能,也即使机器具有学习能力。
其中,机器学习(Machine Learning,ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门科学。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络(如卷积神经网络)、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。
人工智能结合云服务,也可以实现人工智能云服务,一般也被称作是AI即服务(AIas a Service,AIaaS)。这是目前主流的一种人工智能平台的服务方式,具体来说AIaaS平台会把几类常见的AI服务进行拆分,并在云端提供独立或者打包的服务。这种服务模式类似于开了一个AI主题商城:所有的开发者都可以通过应用程序接口(ApplicationProgramming Interface,API)接口的方式来接入使用平台提供的一种或者是多种人工智能服务,部分资深的开发者还可以使用平台提供的AI框架和AI基础设施来部署和运维自已专属的云人工智能服务。
图1为一个实施例中提供的歌词生成方法的应用场景图,如图1所示,在该应用场景中,包括终端110和服务器120。
在一些实现方式中,可以通过服务器120对逆向GPT-2模型和正向GPT-2模型进行训练。服务器120获取到训练好的逆向GPT-2模型和正向GPT-2模型后,可以将其部署在歌词生成应用(如音乐播放应用)中,终端110可以安装该歌词生成应用,当终端110获取得到待生成歌曲的单句歌词和押韵模式之后,用户可以通过相应的操作发出歌词生成指令,终端110可以接收歌词生成指令,以及基于歌词生成指令,生成符合押韵模式的歌词。
上述歌词生成应用可以是语音助手类应用程序,该语音助手类应用程序还可以具有数据记录、音视频播放、翻译、数据查询等功能。
在另一些实现方式中,可以通过终端110对逆向GPT-2模型和正向GPT-2模型进行训练。当终端110获取得到待生成歌曲的单句歌词和押韵模式之后,用户可以通过相应的操作发出歌词生成指令,终端110可以接收歌词生成指令,以及基于歌词生成指令,生成符合押韵模式的歌词。
可以理解,上述应用场景仅是一个示例,并不能构成对本申请实施例提供的歌词生成方法的限制。例如,逆向GPT-2模型和正向GPT-2模型可以存储在服务器120中,服务器120可以接收终端110发送的待生成歌曲的单句歌词和押韵模式,以及生成符合押韵模式的歌词后返回到终端110中。
服务器120可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端110可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、以及智能手表等,但并不局限于此。终端110和服务器120可以通过有线或者无线通信方式进行直接或间接地连接,本申请对此并不限定。
为便于更好的理解本申请实施例,对现有的歌词生成方案进行说明。
1.直接押韵法:借助字符循环神经网络(Char-RNN)进行歌词生成。每一步生成根据已有的歌词生成下一字最有可能的n个候选。当下一个字是一句话的最后一个字时,挑选候选时对照押韵表只挑选押韵的候选;否则,挑选置信度最高的n个候选。最后从候选中挑选最合适的生成,如图2所示。
2.间接押韵法:借助生成预训练变形网络(GPT2)进行歌词生成。每次根据已有的歌词估计下一个字的概率,选择概率最大的一个字。生成完一句歌词的最后一个字时,根据韵脚表判断是否押韵,如果是,生成完成;如果不是,则记录这句歌词的第一个字,重新生成这句歌词,生成第一字时,选择与之前不同的字。
上述直接押韵法的缺点在于生成韵脚时整个句子除了韵脚都生成完毕,相当于写词写到最后一个字的时候才考虑押韵的问题,这个时候押韵容易生成押韵生硬的句子。
上述间接押韵法由于生成韵脚时没有考虑押韵规则,这样生成的歌词不会生硬。但是这样生成需要多次尝试才能生成符合韵脚的歌词,速度会比直接生成慢10倍左右。
基于上述直接押韵法和间接押韵法中存在的问题,本申请提出了一种歌词生成方案,能够智能且高效地创作押韵自然的歌词。
下面对本申请实施例的具体实施过程进行详细的描述。
图4示出了根据本申请的一个实施例的歌词生成方法200的示意性流程图,该歌词生成方法200可以由具有计算处理能力的设备来执行,例如,上述终端110或服务器120。参照图2所示,该歌词生成方法200至少可以包括S210至S230,详细介绍如下:
在S210中,获取待生成歌曲的单句歌词和押韵模式。
具体地,待生成歌曲的单句歌词可以是用户输入的一句歌词,也可以是基于用户输入的半句歌词生成的一句歌词,还可以是基于句首字生成的一句歌词(用户未输入歌词或用户输入的歌词缺省)。在一些实施例中,待生成歌曲的单句歌词也可以是歌词生成系统或者应用随机生成的一句歌词,或者,歌词生成系统或者应用默认设置的一句歌词;或者,待生成歌曲的单句歌词也可以是歌词生成系统或者应用基于用户提示或者指示生成的一句歌词,本申请实施例对此并不限定。
在一些实施例中,单句歌词可以是待生成歌曲的首句歌词,也可以是待生成歌曲的中间部分的歌词,本申请实施例对此并不限定。
具体地,待生成歌曲的押韵模式可以是由用户输入的,也可以是歌词生成系统或者应用随机生成的,或者,歌词生成系统或者应用默认设置的,本申请实施例对此并不限定。待生成歌曲的押韵模式可以指定待生成歌曲中需要押韵的歌词句子对,如AABB指第一句歌词和第二句歌词押韵,第三句歌词和第四句歌词押韵;AAAA指前4句歌词都押韵。待生成歌曲的押韵模式可以同时指定了待生成歌曲中需要生成的歌词句子数。
歌词押韵可以是指一句歌词最后一个字的韵脚和上一句歌词最后一个字的韵脚相同。
在一些实施例中,歌词的不同句子以分隔符<SEP>间隔,从而可以用间隔符<SEP>判断正向生成或逆向生成时一个句子生成的终止。
在S220中,根据单句歌词与单句歌词的下一句歌词是否押韵,生成下一句歌词的最后一个字。
具体地,可以基于待生成歌曲的押韵模式确定单句歌词与该单句歌词的下一句歌词是否押韵。
在一些实施例中,确定单句歌词和单句歌词的下一句歌词在押韵模式中分别对应的押韵信息;以及根据单句歌词对应的押韵信息与单句歌词的下一句歌词对应的押韵信息是否相同,判断单句歌词与单句歌词的下一句歌词是否押韵。
例如,在单句歌词对应的押韵信息与单句歌词的下一句歌词对应的押韵信息相同的情况下,判断单句歌词与单句歌词的下一句歌词押韵。
在单句歌词与该单句歌词的下一句歌词押韵的情况下,下一句歌词的最后一个字需要与单句歌词的最后一个字押韵。在单句歌词与该单句歌词的下一句歌词不押韵的情况下,下一句歌词的最后一个字需要与单句歌词的最后一个字不押韵。
在一些实施例中,可以基于单句歌词和预先训练的逆向分析模型生成该单句歌词的下一句歌词的最后一个字。
在一些实施例中,逆向分析模块可以是逆向GPT-2模型,以下以逆向分析模块为逆向GPT-2模型为例进行描述。
具体地,逆向GPT-2模型可以基于单句歌词,首先逆向生成该单句歌词的下一句歌词的最后一个字(即韵脚),这样可以避免上述直接押韵法中所生成的歌词生硬,押韵不自然的问题,同时,也可以避免上述间接押韵法中为了押韵而不断尝试的问题。
在单句歌词与该单句歌词的下一句歌词押韵的情况下,将该单句歌词输入预先训练的逆向GPT-2模型,估计该单句歌词的下一句歌词的最后一个字的概率,并结合押韵表,在满足押韵的前提下选择概率最大的一个字作为该单句歌词的下一句歌词的最后一个字。
在单句歌词与该单句歌词的下一句歌词不押韵的情况下,将该单句歌词输入预先训练的逆向GPT-2模型,估计该单句歌词的下一句歌词的最后一个字的概率,并结合押韵表,在不满足押韵的前提下选择概率最大的一个字作为该单句歌词的下一句歌词的最后一个字。
在一些实施例中,押韵表一共可以分为13类韵脚,可以在生成歌词前计算并存储,需要时查找对应字的韵脚。押韵表例如可以如下表1所示。当然押韵表也可以具有其他的表现形式,例如,每个韵脚可以具有更多的实例,或者,每个韵脚可以具有其他的实例,本申请实施例对此并不限定。
表1
韵脚 | 实例 |
a,ia,ua | 巴、麻、花、沙 |
o,e,uo | 波、多、朵、烁 |
ie,ue,üe | 街、谐、月、夜 |
u | 出、珠、福、图 |
i,ü,er | 溪、雨、曲、句 |
ai,uai | 白、海、爱、来 |
ei,ui,uei | 飞、灰、梅、泪 |
ao,iao | 高、烧、苗、笑 |
ou,iu,iou | 沟、球、舟、柳 |
an,ian,uan,üan | 帆、天、旋、唤 |
en,in,un,ün | 春、纷、新、云 |
ang,iang,uang | 芳、霜、香、长 |
eng,ing,ueng,ong | 风、星 |
在S230中,根据单句歌词和下一句歌词的最后一个字,利用歌词生成模型生成符合押韵模式的下一句歌词。
在一些实施例中,歌词生成模型可以是预先训练的逆向分析模型(如逆向GPT-2模型),或者,预先训练的正向分析模型(如正向GPT-2模型)。
在一些实施例中,将单句歌词和该单句歌词的下一句歌词的最后一个字输入预先训练的逆向GPT-2模型,得到下一句歌词的最后一个字的上一个字;以及重复执行将单句歌词和下一句歌词中已经生成的字输入预先训练的逆向GPT-2模型的步骤,直至预先训练的逆向GPT-2模型输出分隔符,以生成符合押韵模式的下一句歌词。
例如,假设单句歌词记为A,单句歌词的下一句歌词记为B,下一句歌词的最后一个字记为bj。具体的,将(A,bj)输入逆向GPT-2模型,逆向GPT-2模型输出bj-1;将(A,bj,bj-1)输入逆向GPT-2模型,逆向GPT-2模型输出bj-2;将(A,bj,bj-1,bj-2)输入逆向GPT-2模型,逆向GPT-2模型输出bj-3;…,将(A,bj,bj-1,bj-2,bj-3,…,bj-i)输入逆向GPT-2模型,逆向GPT-2模型输出bj-i-1,且bj-i-1为分隔符,则歌词B=[bj-i-1,bj-i,…,bj-1,bj]。
在一些实施例中,基于单句歌词生成该单句歌词的下一句歌词例如可以通过如图5所示的流程实现。具体地,图5所示的流程包括如下步骤:
S11,获取歌词y(i-1),歌词y(i-1)对应押韵模式中的A(i-1),歌词y(i-1)的下一句歌词为歌词y(i),歌词y(i)对应押韵模式中的A(i);
S12,判断A(i)是否等于A(i-1);
S13,在A(i)等于A(i-1)情况下,也即,歌词y(i-1)与歌词y(i)押韵的情况下,将歌词y(i-1)输入预先训练的逆向GPT-2模型,并结合押韵表,生成歌词y(i)的最后一个字x(-1),即歌词y(i)的韵脚x(-1);
S14,在A(i)不等于A(i-1)情况下,也即,歌词y(i-1)与歌词y(i)不押韵的情况下,将歌词y(i-1)输入预先训练的逆向GPT-2模型,生成歌词y(i)的最后一个字x(-1);
S15,借助预先训练的逆向GPT-2模型,生成歌词y(i)中的字x(-j-1),x(-j-1)=GPT-2(y(i-1),x(-j),…,x(-1)),即将歌词y(i-1)、字x(-1)至x(-j)输入预先训练的逆向GPT-2模型,生成歌词y(i)中的字x(-j-1);
S16,判断歌词y(i)中的字x(-j-1)是否为分隔符;
S17,在歌词y(i)中的字x(-j-1)为分隔符的情况下,输出歌词y(i),y(i)=[x(-j-1),…,x(-1)];
S18,在歌词y(i)中的字x(-j-1)不是分隔符的情况下,将j增加1,即j=j+1,然而继续执行上述S15。
在上述图5所示的流程中,歌词y(i-1)可以是本申请实施例中的单句歌词,歌词y(i)可以是本申请实施例中的单句歌词的下一句歌词。
在一些实施例中,可以根据待生成歌曲中前一句歌词,续写满足押韵模式的歌词,以生成待生成歌曲。也即,可以根据已有的歌词部分,补全(或创作)满足指定押韵模式的歌词。本申请实施例中生成的歌词可以是以自然语言的形式呈现,例如,本申请实施例中生成的歌词可以如图6所示。
本申请实施例可以通过多种形式应用于歌词创作中,可以应用于一些教学软件或平台,也可以应用于一些音乐播放软件或平台,还可以应用于一些视频播放软件或平台,此外,还可以应用于服务器或云端服务器产品中。
在一些实施例中,可以基于用户输入的待生成歌曲的半句歌词,生成待生成歌曲的单句歌词。也即,在待生成歌曲的单句歌词不完整的情况下,可以不断生成下一个字,直到生成句尾标点,以补全待生成歌曲的单句歌词。
在一些实施例中,半句歌词可以是一句歌词的前半句歌词,此种情况下,可以基于预先训练的正向分析模型补全歌词。
在一些实施例中,正向分析模块可以是正向GPT-2模型,以下以正向分析模块为正向GPT-2模型为例进行描述。
具体的,将待生成歌曲的半句歌词输入预先训练的正向GPT-2模型,生成该半句歌词中最后一个字的下一个字;以及重复执行将所述半句歌词和所述半句歌词之后已经生成的字输入预先训练的正向GPT-2模型的步骤,直至预先训练的正向GPT-2模型输出分隔符,以生成待生成歌曲的单句歌词。
例如,假设待生成歌曲的单句歌词记为A,单句歌词A的半句歌词记为Ak,半句歌词Ak的最后一个字记为ai。具体的,将(Ak)输入正向GPT-2模型,正向GPT-2模型输出ai+1;将(Ak,ai+1)输入正向GPT-2模型,正向GPT-2模型输出ai+2;…,将(Ak,ai+1,ai+2,…,ai+j)输入正向GPT-2模型,正向GPT-2模型输出ai+j+1,且ai+j+1为分隔符,则歌词A=[Ak,ai+1,…,ai+j,ai+j+1]。
在一些实施例中,半句歌词也可以是一句歌词的任意部分的部分歌词,此种情况下,可以基于预先训练的正向分析模型补全半句歌词之后的歌词,以及基于预先训练的逆向分析模型补全半句歌词之前的歌词。
在一些实施例中,可以基于句首字生成待生成歌曲的单句歌词。也即,在待生成歌曲的单句歌词不完整的情况下,可以不断生成下一个字,直到生成句尾标点,以补全待生成歌曲的单句歌词。
具体的,将句首字输入预先训练的正向GPT-2模型,生成句首字的下一个字;重复执行将句首字和句首字之后已经生成的字输入预先训练的正向GPT-2模型的步骤,直至预先训练的正向GPT-2模型输出分隔符,以生成待生成歌曲的单句歌词。
例如,假设歌词A的句首字记为a1。具体的,将(a1)输入正向GPT-2模型,正向GPT-2模型输出a2;将(a1,a2)输入正向GPT-2模型,正向GPT-2模型输出a3;…,将(a1,a2,a3,…,ai)输入正向GPT-2模型,正向GPT-2模型输出ai+1,且ai+1为分隔符,则歌词A=[a1,a2,…,ai,ai+1]。
在一些实施例中,在待生成歌曲的单句歌词不完整的情况下,可以通过如图7所示的流程补全该单句歌词。也即,可以根据歌词的最后一个字是不是句尾标点符号(分隔符),判断歌词句子是否完整。若不完整,则不断生成下一个字,直到生成句尾标点符号(分隔符)。具体地,图7所示的流程包括如下步骤:
S21,获取歌词y,y=[x(1),x(2),…,x(n)];
S22,i=len(y),即i等于歌词y的长度;
S23,判断x(i)是否为分隔符;
S24,在x(i)为分隔符的情况下,输出歌词y=[x(1),x(2),…,x(n),…,x(i)];
S25,在x(i)不是分隔符的情况下,借助预先训练的正向GPT-2模型生成下一个字x(i+1),x(i+1)=GPT2(y);y=[y,x(i+1)]。然后继续执行S22。
在一些实施例中,可以通过如图8所示的流程完整歌曲。也即,若单句歌词不完整,补全单句歌词;可以根据韵脚和押韵模式按句不断生成歌词;歌词句子数符合押韵模式的要求,返回生成的歌曲。具体地,图8所示的流程包括如下步骤:
S31,获取歌词y(1)=[x(1),x(2),…,x(n)],押韵模式A(1),A(2),…,A(m),x(1)对应A(1),x(2)对应A(2),以此类推;
S32,判断歌词y(1)是否完整;
S33,在歌词y(1)完整的情况下,i=2;
S34,在歌词y(1)不完整的情况下,借助预先训练的正向GPT-2模型补全歌词y(1);
S35,结合y(i-1),A(i),A(i-1),借助预先训练的逆向GPT-2模型生成歌词y(i);
S36,判断i是否等于m;
S37,在i等于m的情况下,输出歌词y(1),…,y(m);
S38,在i不等于m的情况下,令i=i+1,并返回执行S35。
因此,在本申请实施例中,采用逆向生成的方式,首先生成下一句歌词的最后一个字,然后,根据单句歌词和下一句歌词的最后一个字,以及结合预先训练的逆向GPT-2模型,生成符合押韵模式的下一句歌词,从而能够智能且高效地创作押韵自然的歌词。此外,在单句歌词不完整的情况下,可以结合预先训练的正向GPT-2模型,补全单句歌词。
图9示出了根据本申请的一个实施例的歌词生成模型训练方法300的示意性流程图,该歌词生成模型训练方法300可以由具有计算处理能力的设备来执行,例如,上述终端110或服务器120。参照图2所示,该歌词生成模型训练方法300至少可以包括S310至S360,详细介绍如下:
在S310中,获取训练样本集,训练样本集中的各个训练样本包括文本序列,其中,文本序列的句首添加有句首符号。
具体地,训练样本的数量可以根据需求设置。例如,若模型训练时需要训练30次,每次利用1万个训练样本进行训练,则训练样本集中可以包括1万个训练样本,每次模型训练时利用这1万个训练样本进行训练。
其中,文本序列{a_i}(1<=i<=n,其中a_i为一个单字,标点或特殊符号),文本序列的句首添加有句首符号<BOS>。
在一些实施例中,训练样本集包括单句歌词和该单句歌词的下一句歌词的最后一个字。
在S320中,以m个字符为步长对文本序列进行片段切分,不足m个字符的片段以句尾符号补足,其中,每个片段对应m-1个分类任务,m为正整数。
在一些实施例中,可以根据文本序列的长度确定m的取值。
例如,m=512。
也即,文本序列的每个片段长度为512个符号,不足512个符号时会在片段句尾补充<PAD>符号。
具体地,对每个长度512的文本片段{b_i}(1<=i<=m=512),歌词生成模型的一步训练包含m-1个分类任务。
例如,歌词生成模型为GPT2模型,GPT2[θ](b1,b2,…bj)→bj+1(1≤j≤m-1)。
在S330中,将训练样本集中出现的所有字符不重复的罗列,生成词表。
具体地,将训练数据中出现的所有符号不重复的罗列出来,可以得到一张词表,包含训练中可能遇到的所有符号。
在S340中,将每个片段所包括m个字符中的每个字符按照词表中的位置表达,得到矩阵M,矩阵M的大小为N*d,N和d为正整数。
具体地,每个符号可以用它在词表中的位置表示,设bj在词表中的位置为nj,那么上述分类任务可以转化为GPT2[θ](n1,n2,…nj)→nj+1(1≤j≤m-1)。
对于一个大小为N的词表,模型参数theta中会包含一个大小为N*d的矩阵M,对应N个词的向量表达。
在S350中,对于每个分类任务,从矩阵M中提取行号为n1,…,nj的j个d维向量,得到一个大小为j*d的矩阵,然后经歌词生成模型处理得到大小为d的向量uj,其中,矩阵M中与向量uj夹角最小的向量对应的行号hj为模型预测的符号位置。
具体地,对于每个分类任务,GPT2[θ]首先在矩阵M中取出行号为n1,…,nj的j个d维向量,得到一个大小为j*d的矩阵,然后通过卷积,池化,注意力机制等操作,最终得到一个大小为d的向量uj,用于表达句子b1,…,bj的下一词;矩阵M的N个行向量中,与uj夹角最小的向量对应的行号hj作为模型预测的符号的位置,即hj=GPT2[θ](n1,n2,…nj)=argmkaxcos(Mk,uj)。
在S360中,根据矩阵M和向量uj,调整歌词生成模型的参数。
在一些实施例中,可以根据矩阵M和向量uj确定目标函数L;以及
通过以下公式1对目标函数L进行最小化处理,以调整歌词生成模型的参数。
在一些实施例中,若文本序列为逆向文本序列,上述歌词生成模型为逆向分析模型(例如,逆向GPT2模型)。
例如,对于歌词:
一想到你我就
Wu~~~~
空恨别梦久
逆向文本序列可以是:<BOS><就><我><你><到><想><一><SEP><~><~><~><~><u><w><久><梦><别><恨><空><SEP><TAG>…
一步训练包括学习映射(<BOS>)→<就>,(<BOS>,<就>)→<我>,…,(<BOS><就><我><你><到><想><一><SEP><~><~><~><~><u><w><久><梦><别><恨><空><SEP>,…
其中<SEP>表示换行符,<BOS>为添加的句首符。
在一些实施例中,若文本序列为正向文本序列,歌词生成模型为正向分析模型(例如,正向GPT2模型)。
正向文本序列可以是:<BOS><一><想><到><你><我><就><SEP><w><u><~><~><~><~><空><恨><别><梦><久><SEP><TAG>…
一步训练包括学习映射(<BOS>)→<一>,(<BOS>,<一>)→<想>,…,(<BOS><一><想><到><你><我><就><SEP><w><u><~><~><~><~><空><恨><别><梦><久>)→<SEP>,…
其中<SEP>表示换行符,<BOS>为添加的句首符。
上文结合图4至图9,详细描述了本申请的方法实施例,下文结合图10至图11,详细描述本申请的装置实施例,应理解,装置实施例与方法实施例相互对应,类似的描述可以参照方法实施例。
图10示意性示出了根据本申请的一实施例的歌词生成装置的框图。该歌词生成装置可以采用软件单元或硬件单元,或者是二者的结合成为计算机设备的一部分。如图10所示,本申请实施例提供的歌词生成装置400具体可以包括:
获取模块410,用于获取待生成歌曲的单句歌词和押韵模式;
生成模块420,用于根据单句歌词与单句歌词的下一句歌词是否押韵,生成下一句歌词的最后一个字;
生成模块420,用于根据单句歌词和下一句歌词的最后一个字,利用歌词生成模型生成符合押韵模式的下一句歌词。
在一个实施例中,生成模块420具体用于:
将单句歌词和下一句歌词的最后一个字输入预先训练的逆向分析模型,得到下一句歌词的最后一个字的上一个字;
重复执行将单句歌词和下一句歌词中已经生成的字输入预先训练的逆向分析模型的步骤,直至预先训练的逆向分析模型输出分隔符,以生成符合押韵模式的下一句歌词。
在一个实施例中,生成模块420具体用于:
在单句歌词与下一句歌词押韵的情况下,将单句歌词输入预先训练的逆向分析模型,并结合押韵表,生成下一句歌词的最后一个字,且下一句歌词的最后一个字与单句歌词的最后一个字押韵;
在单句歌词与下一句歌词不押韵的情况下,将单句歌词输入预先训练的逆向分析模型,并结合押韵表,生成下一句歌词的最后一个字,且下一句歌词的最后一个字与单句歌词的最后一个字不押韵。
在一个实施例中,歌词生成装置400还包括:
确定模块,用于确定单句歌词和下一句歌词在押韵模式中分别对应的押韵信息;
判断模块,用于根据单句歌词对应的押韵信息与下一句歌词对应的押韵信息是否相同,判断单句歌词与下一句歌词是否押韵。
在一个实施例中,获取模块410,用于获取用户输入的待生成歌曲的半句歌词;
生成模块420,用于将半句歌词输入预先训练的正向分析模型,生成半句歌词中最后一个字的下一个字;
生成模块420,用于重复执行将半句歌词和半句歌词之后已经生成的字输入预先训练的正向分析模型的步骤,直至预先训练的正向分析模型输出分隔符,以生成单句歌词。
在一个实施例中,生成模块410,用于将句首字输入预先训练的正向分析模型,生成句首字的下一个字;
生成模块420,用于重复执行将句首字和句首字之后已经生成的字输入预先训练的正向分析模型的步骤,直至预先训练的正向分析模型输出分隔符,以生成单句歌词。
在一个实施例中,生成模块420,用于根据待生成歌曲中前一句歌词,续写满足押韵模式的歌词,以生成待生成歌曲;
其中,待生成歌曲中歌词的句子数量根据押韵模式确定。
在一个实施例中,该歌词生成模型的训练过程包括:
获取训练样本集,该训练样本集中的各个训练样本包括文本序列,其中,该文本序列的句首添加有句首符号;
以m个字符为步长对该文本序列进行片段切分,不足m个字符的片段以句尾符号补足,其中,每个片段对应m-1个分类任务,m为正整数;
将该训练样本集中出现的所有字符不重复的罗列,生成词表;
将每个片段所包括m个字符中的每个字符按照该词表中的位置表达,得到矩阵M,该矩阵M的大小为N*d,N和d为正整数;
对于每个分类任务,从该矩阵M中提取行号为n1,…,nj的j个d维向量,得到一个大小为j*d的矩阵,然后经歌词生成模型处理得到大小为d的向量uj,其中,该矩阵M中与该向量uj夹角最小的向量对应的行号hj为模型预测的符号位置;
根据该矩阵M和该向量uj,调整歌词生成模型的参数。
在一个实施例中,
若该文本序列为逆向文本序列,该歌词生成模型为逆向分析模型;
若该文本序列为正向文本序列,该歌词生成模型为正向分析模型。
在一个实施例中,该根据该矩阵M和该向量uj,调整歌词生成模型的参数,包括:
根据该矩阵M和该向量uj确定目标函数L;
通过以下公式对该目标函数L进行最小化处理,以调整该歌词生成模型的参数:
在一个实施例中,根据该文本序列的长度确定该m的取值。
本申请实施例提供的歌词生成装置中的各个模块的具体实现可以参照上述歌词生成方法中的内容,在此不再赘述。
图11示意性示出了根据本申请的一实施例的歌词生成模型训练装置的框图。该歌词生成模型训练装置可以采用软件单元或硬件单元,或者是二者的结合成为计算机设备的一部分。如图11所示,本申请实施例提供的歌词生成模型训练装置500具体可以包括:
获取模块510,用于获取训练样本集,训练样本集中的各个训练样本包括文本序列,其中,文本序列的句首添加有句首符号;
切分模块520,用于以m个字符为步长对文本序列进行片段切分,不足m个字符的片段以句尾符号补足,其中,每个片段对应m-1个分类任务,m为正整数;
生成模块530,用于将训练样本集中出现的所有字符不重复的罗列,生成词表;
处理模块540,用于将每个片段所包括m个字符中的每个字符按照词表中的位置表达,得到矩阵M,其中,矩阵M的大小为N*d,N和d为正整数;
处理模块540,还用于对于每个分类任务,从矩阵M中提取行号为n1,…,nj的j个d维向量,得到一个大小为j*d的矩阵,然后经歌词生成模型处理得到大小为d的向量uj,其中,矩阵M中与向量uj夹角最小的向量对应的行号hj为模型预测的符号位置;
调整模块550,用于根据矩阵M和向量uj,调整歌词生成模型的参数。
在一个实施例中,训练样本集包括单句歌词和该单句歌词的下一句歌词的最后一个字。
在一个实施例中,若文本序列为逆向文本序列,歌词生成模型为逆向分析模型;
若文本序列为正向文本序列,歌词生成模型为正向分析模型。
在一个实施例中,调整模块550具体用于:
根据矩阵M和向量uj确定目标函数L;
通过以下公式对目标函数L进行最小化处理,以调整歌词生成模型的参数:
在一个实施例中,处理模块540还用于根据文本序列的长度确定m的取值。
本申请实施例提供的歌词生成模型训练装置中的各个模块的具体实现可以参照上述歌词生成模型训练方法中的内容,在此不再赘述。
上述歌词生成装置和歌词生成模型训练装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各个模块可以以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行上述各个模块对于的操作。
图12示出了实现本申请实施例的电子设备的计算机系统的结构示意图。需要说明的是,图12示出的电子设备的计算机系统600仅是一个示例,不应该对本申请实施例的功能和使用范围带来任何限制。
如图12所示,计算机系统600包括中央处理单元(Central Processing Unit,CPU)601,其可以根据存储在只读存储器(Read-Only Memory,ROM)602中的程序或者从存储部分608加载到随机访问存储器(Random Access Memory,RAM)603中的程序而执行各种适当的动作和处理。在RAM 603中,还存储有系统操作所需的各种程序和数据。CPU 601、ROM 602以及RAM 603通过总线606彼此相连。输入/输出(Input/Output,I/O)接口605也连接至总线606。
以下部件连接至I/O接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(Cathode Ray Tube,CRT)、液晶显示器(Liquid Crystal Display,LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如局域网(Local AreaNetwork,LAN)卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读取的计算机程序根据需要被安装入存储部分608。
特别地,根据本申请实施例,上文流程图描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行上述流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被中央处理器(CPU)601执行时,执行本申请的装置中限定的各种功能。
在一个实施例中,还提供了一种电子设备,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,处理器配置为经由执行可执行指令来执行上述各方法实施例中的步骤。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
需要说明的是,本申请所述的计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或者器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或者多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、闪存、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁盘存储器件、或者上述任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或者存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或者上述的任何合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读存储介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何恰当的介质传输,包括但不限于:无线、电线、光缆、射频等等,或者上述的任意合适的组合。
本实施例仅用于说明本申请,本实施例的软硬件平台架构、开发环境、开发语言、消息获取源头等的选取都是可以变化的,在本申请技术方案的基础上,凡根据本申请原理对某个部分进行的改进和等同变换,均不应排除在本申请的保护范围之外。
需要说明的是,在本申请实施例和所附权利要求书中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请实施例。
所属领域的技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请实施例的范围。
如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请提供的几个实施例中,应该理解到,所揭露的电子设备、装置和方法,可以通过其它的方式实现。
例如,以上所描述的装置实施例中单元或模块或组件的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个单元或模块或组件可以结合或者可以集成到另一个系统,或一些单元或模块或组件可以忽略,或不执行。
又例如,上述作为分离/显示部件说明的单元/模块/组件可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元/模块/组件来实现本申请实施例的目的。
最后,需要说明的是,上文中显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
以上内容,仅为本申请实施例的具体实施方式,但本申请实施例的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请实施例揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请实施例的保护范围之内。因此,本申请实施例的保护范围应以权利要求的保护范围为准。
Claims (15)
1.一种歌词生成方法,其特征在于,包括:
获取待生成歌曲的单句歌词和押韵模式;
根据所述单句歌词与所述单句歌词的下一句歌词是否押韵,生成所述下一句歌词的最后一个字;
根据所述单句歌词和所述下一句歌词的最后一个字,利用歌词生成模型生成符合所述押韵模式的所述下一句歌词。
2.根据权利要求1所述的方法,其特征在于,所述歌词生成模型为预先训练的逆向分析模型;
所述根据所述单句歌词和所述下一句歌词的最后一个字,利用歌词生成模型生成符合所述押韵模式的所述下一句歌词,包括:
将所述单句歌词和所述下一句歌词的最后一个字输入预先训练的逆向分析模型,得到所述下一句歌词的最后一个字的上一个字;
重复执行将所述单句歌词和所述下一句歌词中已经生成的字输入预先训练的逆向分析模型的步骤,直至预先训练的逆向分析模型输出分隔符,以生成符合所述押韵模式的所述下一句歌词。
3.根据权利要求1所述的方法,其特征在于,所述根据所述单句歌词与所述单句歌词的下一句歌词是否押韵,生成所述下一句歌词的最后一个字,包括:
在所述单句歌词与所述下一句歌词押韵的情况下,将所述单句歌词输入预先训练的逆向分析模型,并结合押韵表,生成所述下一句歌词的最后一个字,且所述下一句歌词的最后一个字与所述单句歌词的最后一个字押韵;
在所述单句歌词与所述下一句歌词不押韵的情况下,将所述单句歌词输入预先训练的逆向分析模型,并结合押韵表,生成所述下一句歌词的最后一个字,且所述下一句歌词的最后一个字与所述单句歌词的最后一个字不押韵。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
确定所述单句歌词和所述下一句歌词在所述押韵模式中分别对应的押韵信息;
根据所述单句歌词对应的押韵信息与所述下一句歌词对应的押韵信息是否相同,判断所述单句歌词与所述下一句歌词是否押韵。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述方法还包括:
获取用户输入的所述待生成歌曲的半句歌词;
将所述半句歌词输入预先训练的正向分析模型,生成所述半句歌词中最后一个字的下一个字;
重复执行将所述半句歌词和所述半句歌词之后已经生成的字输入预先训练的正向分析模型的步骤,直至预先训练的正向分析模型输出分隔符,以生成所述单句歌词。
6.根据权利要求1至4中任一项所述的方法,其特征在于,所述方法还包括:
将句首字输入预先训练的正向分析模型,生成所述句首字的下一个字;
重复执行将所述句首字和所述句首字之后已经生成的字输入预先训练的正向分析模型的步骤,直至预先训练的正向分析模型输出分隔符,以生成所述单句歌词。
7.根据权利要求1至4中任一项所述的方法,其特征在于,所述方法还包括:
根据所述待生成歌曲中前一句歌词,续写满足所述押韵模式的歌词,以生成所述待生成歌曲;
其中,所述待生成歌曲中歌词的句子数量根据所述押韵模式确定。
8.根据权利要求1所述的方法,其特征在于,所述歌词生成模型的训练过程包括:
获取训练样本集,所述训练样本集中的各个训练样本包括文本序列,其中,所述文本序列的句首添加有句首符号;
以m个字符为步长对所述文本序列进行片段切分,不足m个字符的片段以句尾符号补足,其中,每个片段对应m-1个分类任务,m为正整数;
将所述训练样本集中出现的所有字符不重复的罗列,生成词表;
将每个片段所包括m个字符中的每个字符按照所述词表中的位置表达,得到矩阵M,所述矩阵M的大小为N*d,N和d为正整数;
对于每个分类任务,从所述矩阵M中提取行号为n1,…,nj的j个d维向量,得到一个大小为j*d的矩阵,然后经歌词生成模型处理得到大小为d的向量uj,其中,所述矩阵M中与所述向量uj夹角最小的向量对应的行号hj为模型预测的符号位置;
根据所述矩阵M和所述向量uj,调整歌词生成模型的参数。
9.根据权利要求8所述的方法,其特征在于,
若所述文本序列为逆向文本序列,所述歌词生成模型为逆向分析模型;
若所述文本序列为正向文本序列,所述歌词生成模型为正向分析模型。
11.根据权利要求8或9所述的方法,其特征在于,所述方法还包括:
根据所述文本序列的长度确定所述m的取值。
12.一种歌词生成模型训练方法,其特征在于,包括:
获取训练样本集,所述训练样本集包括单句歌词和所述单句歌词的下一句歌词的最后一个字,所述训练样本集中的各个训练样本包括文本序列,其中,所述文本序列的句首添加有句首符号;
以m个字符为步长对所述文本序列进行片段切分,不足m个字符的片段以句尾符号补足,其中,每个片段对应m-1个分类任务,m为正整数;
将所述训练样本集中出现的所有字符不重复的罗列,生成词表;
将每个片段所包括m个字符中的每个字符按照所述词表中的位置表达,得到矩阵M,所述矩阵M的大小为N*d,N和d为正整数;
对于每个分类任务,从所述矩阵M中提取行号为n1,…,nj的j个d维向量,得到一个大小为j*d的矩阵,然后经歌词生成模型处理得到大小为d的向量uj,其中,所述矩阵M中与所述向量uj夹角最小的向量对应的行号hj为模型预测的符号位置;
根据所述矩阵M和所述向量uj,调整歌词生成模型的参数。
13.一种歌词生成装置,其特征在于,包括:
获取模块,用于获取待生成歌曲的单句歌词和押韵模式;
生成模块,用于根据所述单句歌词与所述单句歌词的下一句歌词是否押韵,生成所述下一句歌词的最后一个字;
所述生成模块,用于根据所述单句歌词和所述下一句歌词的最后一个字,生成符合所述押韵模式的所述下一句歌词。
14.一种歌词生成模型训练装置,其特征在于,包括:
获取模块,用于获取训练样本集,所述训练样本集包括单句歌词和所述单句歌词的下一句歌词的最后一个字,所述训练样本集中的各个训练样本包括文本序列,其中,所述文本序列的句首添加有句首符号;
切分模块,用于以m个字符为步长对所述文本序列进行片段切分,不足m个字符的片段以句尾符号补足,其中,每个片段对应m-1个分类任务,m为正整数;
生成模块,用于将所述训练样本集中出现的所有字符不重复的罗列,生成词表;
处理模块,用于将每个片段所包括m个字符中的每个字符按照所述词表中的位置表达,得到矩阵M,其中,所述矩阵M的大小为N*d,N和d为正整数;
所述处理模块,还用于对于每个分类任务,从所述矩阵M中提取行号为n1,…,nj的j个d维向量,得到一个大小为j*d的矩阵,然后经歌词生成模型处理得到大小为d的向量uj,其中,所述矩阵M中与所述向量uj夹角最小的向量对应的行号hj为模型预测的符号位置;
调整模块,用于根据所述矩阵M和所述向量uj,调整歌词生成模型的参数。
15.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1至11中任一项所述的方法,或者,执行权利要求12所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110081700.8A CN113591472B (zh) | 2021-01-21 | 2021-01-21 | 歌词生成方法、歌词生成模型训练方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110081700.8A CN113591472B (zh) | 2021-01-21 | 2021-01-21 | 歌词生成方法、歌词生成模型训练方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113591472A true CN113591472A (zh) | 2021-11-02 |
CN113591472B CN113591472B (zh) | 2023-10-20 |
Family
ID=78238106
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110081700.8A Active CN113591472B (zh) | 2021-01-21 | 2021-01-21 | 歌词生成方法、歌词生成模型训练方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113591472B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114186545A (zh) * | 2021-11-10 | 2022-03-15 | 北京达佳互联信息技术有限公司 | 歌词生成方法、装置、电子设备及存储介质 |
CN114492416A (zh) * | 2022-01-28 | 2022-05-13 | 腾讯科技(深圳)有限公司 | 一种歌词生成方法、装置、设备、存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003099048A (ja) * | 2001-09-25 | 2003-04-04 | Yamaha Corp | 作詞作曲装置及び作詞作曲プログラム |
AU2018101514A4 (en) * | 2018-10-11 | 2018-11-15 | Chi, Henan Mr | An automatic text-generating program for Chinese Hip-hop lyrics |
CN109740145A (zh) * | 2018-11-30 | 2019-05-10 | 平安科技(深圳)有限公司 | 歌词智能生成方法、装置、存储介质和计算机设备 |
US20200051536A1 (en) * | 2017-09-30 | 2020-02-13 | Tencent Technology (Shenzhen) Company Limited | Method and apparatus for generating music |
CN110852086A (zh) * | 2019-09-18 | 2020-02-28 | 平安科技(深圳)有限公司 | 基于人工智能的古诗词生成方法、装置、设备及存储介质 |
CN111259665A (zh) * | 2020-01-14 | 2020-06-09 | 成都嗨翻屋科技有限公司 | 一种基于神经网络的交互式歌词生成方法及系统 |
CN112163414A (zh) * | 2020-08-27 | 2021-01-01 | 同济大学 | 一种基于Word2Vec、LSTM和注意力机制的中文歌词生成方法 |
-
2021
- 2021-01-21 CN CN202110081700.8A patent/CN113591472B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003099048A (ja) * | 2001-09-25 | 2003-04-04 | Yamaha Corp | 作詞作曲装置及び作詞作曲プログラム |
US20200051536A1 (en) * | 2017-09-30 | 2020-02-13 | Tencent Technology (Shenzhen) Company Limited | Method and apparatus for generating music |
AU2018101514A4 (en) * | 2018-10-11 | 2018-11-15 | Chi, Henan Mr | An automatic text-generating program for Chinese Hip-hop lyrics |
CN109740145A (zh) * | 2018-11-30 | 2019-05-10 | 平安科技(深圳)有限公司 | 歌词智能生成方法、装置、存储介质和计算机设备 |
CN110852086A (zh) * | 2019-09-18 | 2020-02-28 | 平安科技(深圳)有限公司 | 基于人工智能的古诗词生成方法、装置、设备及存储介质 |
CN111259665A (zh) * | 2020-01-14 | 2020-06-09 | 成都嗨翻屋科技有限公司 | 一种基于神经网络的交互式歌词生成方法及系统 |
CN112163414A (zh) * | 2020-08-27 | 2021-01-01 | 同济大学 | 一种基于Word2Vec、LSTM和注意力机制的中文歌词生成方法 |
Non-Patent Citations (2)
Title |
---|
AI机器人小芝智能作: "《AI人工智能写原创歌词,自动写歌词软件,歌词在线生成器的操作视频",AI机器人小芝智能作词》", 《HTTPS://WWW.BILIBILI.COM/VIDEO/BV18T4Y1R7CV/?SPM_ID_FROM=333.337.SEARCH-CARD.ALL.CLICK&VD_SOURCE=50210155BCE2DE41570EC219B55616F1》, pages 1 * |
陈冰儿;劳南新;: "基于LSTM的许嵩风格歌词生成", 网络安全技术与应用, no. 08 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114186545A (zh) * | 2021-11-10 | 2022-03-15 | 北京达佳互联信息技术有限公司 | 歌词生成方法、装置、电子设备及存储介质 |
CN114492416A (zh) * | 2022-01-28 | 2022-05-13 | 腾讯科技(深圳)有限公司 | 一种歌词生成方法、装置、设备、存储介质 |
CN114492416B (zh) * | 2022-01-28 | 2024-05-17 | 腾讯科技(深圳)有限公司 | 一种歌词生成方法、装置、设备、存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113591472B (zh) | 2023-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107680580B (zh) | 文本转换模型训练方法和装置、文本转换方法和装置 | |
CN111444340B (zh) | 文本分类方法、装置、设备及存储介质 | |
CN107705784B (zh) | 文本正则化模型训练方法和装置、文本正则化方法和装置 | |
CN110288980A (zh) | 语音识别方法、模型的训练方法、装置、设备及存储介质 | |
US20170286397A1 (en) | Predictive Embeddings | |
CN112528637B (zh) | 文本处理模型训练方法、装置、计算机设备和存储介质 | |
CN112309365B (zh) | 语音合成模型的训练方法、装置、存储介质以及电子设备 | |
CN114970522B (zh) | 语言模型的预训练方法、装置、设备、存储介质 | |
CN111489735B (zh) | 语音识别模型训练方法及装置 | |
CN111727442A (zh) | 使用质量分数来训练序列生成神经网络 | |
CN107808007A (zh) | 信息处理方法和装置 | |
CN111767394A (zh) | 一种基于人工智能专家系统的摘要提取方法及装置 | |
CN113591472A (zh) | 歌词生成方法、歌词生成模型训练方法、装置及电子设备 | |
JP2022145623A (ja) | ヒント情報を提示する方法及び装置並びにコンピュータプログラム | |
CN111767694A (zh) | 文本生成方法、装置和计算机可读存储介质 | |
CN114154518A (zh) | 数据增强模型训练方法、装置、电子设备及存储介质 | |
US11036996B2 (en) | Method and apparatus for determining (raw) video materials for news | |
CN112259078A (zh) | 一种音频识别模型的训练和非正常音频识别的方法和装置 | |
CN111241820A (zh) | 不良用语识别方法、装置、电子装置及存储介质 | |
CN112349294B (zh) | 语音处理方法及装置、计算机可读介质、电子设备 | |
CN114626529B (zh) | 一种自然语言推理微调方法、系统、装置及存储介质 | |
CN116957006A (zh) | 预测模型的训练方法、装置、设备、介质及程序产品 | |
CN115203378A (zh) | 基于预训练语言模型的检索增强方法、系统及存储介质 | |
CN114613351A (zh) | 韵律预测方法、装置、可读介质及电子设备 | |
CN112861546A (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 |