一种基于神经网络的交互式歌词生成方法及系统与流程

专利2022-06-29  87


本发明属于歌词创作方法技术领域,具体地说,涉及一种基于神经网络的交互式歌词生成方法及系统。



背景技术:

音乐在人们的生活中发挥着不可替代的作用,不同的音乐能够带给人不同的体验,舒缓的音乐有助于睡眠,快节奏的音乐能够让人兴奋等等。音乐的组成包括乐曲和歌词。在进行音乐创作过程中往往采用的是根据乐曲填词或者根据歌词谱曲。随着网络的发展,经典乐曲重新填词重新演绎赋予乐曲新的含义在网络上也蓬勃发展。但是无论是创作全新的乐曲歌词还是旧曲作词,旧词谱曲都需要创作人员具有一定的音乐基础,以达到创作的音乐能带给人较好的体验。

申请号为201811453116.5的发明专利公开了一种歌词智能生成方法、装置、存储介质和计算机设备,方法包括:获取预置的单句歌词;获取待生成歌词集合的关键词列表;将所述单句歌词和所述关键词列表输入预先训练的歌词生成模型,生成下一句歌词;将所述生成的下一句歌词作为所述预置的单句歌词,重复执行所述将所述单句歌词和所述关键词列表输入预先训练的歌词生成模型,生成下一句歌词的步骤,以生成歌词集合。该方法无需预先准备歌词语料库便可智能生成全新、非现有的歌词,实现歌词创作。

该方法在生成时需要预置单句歌词,及关键词列表,用以控制歌词的生成过程,增加了用户的使用难度,同时在歌词创作中仅生成一个歌词,不能生成歌词替换选项供用户选择,缺乏交互性,创作出来的歌词单一。



技术实现要素:

针对现有技术中上述的不足,本发明提供一种基于神经网络的交互式歌词生成方法及系统,使用该方法用户仅需提供首句歌词,歌词可以不是完整的一个句子,系统会自动进行首句歌词补全,然后再根据补全后的首句歌词进行整段或者整首歌词生成,歌词生成过程中会生成多个候选语句供用户选择,提高歌词生成过程中的交互性,创作的的歌词更具有创作者的特色。系统操作简单,生成的歌词供用户选择,交互性强,可以实现歌词整体的主题一致性,能达到表达用户需要的情感的目的。是用户作词的有力助手。

为了达到上述目的,本发明采用的解决方案是:一种基于神经网络的交互式歌词生成方法,包括如下步骤:

s1:歌词生成模型预训练,采用预处理好的歌词训练数据输入基本训练模型进行训练,得到歌词生成模型,基本训练模型可以是transformer或transformer-xl或rnn;

s2:获取用户设定的歌词标签和提供的首句歌词,首句歌词可以是根据用户提供的标签从歌词库中随机选出,并由用户最终选定的歌词,也可以是用户自己输入的歌词,降低用户使用的难度;

s3:歌词数据编码,参考字符映射表将歌词的每个字符替换为一个数字来表示,得到一个列表,列表中的元素是一个个数字;

s4:首句歌词补全,将用户提供的歌词的数据编码输入歌词生成模型进行歌词句子自动补全;

s41:将用户提供的歌词的数据编码输入歌词生成模型,输出歌词下一个字符的概率分布向量;

s42:提取概率从大到小顺序的前几个字符作为候选字符;

s43:将候选字符补充到歌词末尾,以补充后的歌词的数据编码输入歌词生成模型;

s44:重复步骤s42-s43,逐字预测其他字符,直到预测得到的字符为标点符号;

s45:返回一系列完整的句子供用户选择;

s5:将补全后的歌词句子输入歌词生成模型生成歌词下一句的候选语句;

s51:将补全后的歌词的数据编码输入歌词生成模型,输出歌词下一个字符的概率分布向量;

s52:提取概率从大到小顺序的前几个字符作为候选字符;

s53:将候选字符作为多个候选句的首字,分别将首字加入前文,并将加入候选词后的歌词的数据编码输入歌词生成模型;

s54:重复步骤s52-s53,逐字预测其他字符,直到预测得到的字符为标点符号;

s55:返回一系列候选的句子供用户选择;

s6:选择一个候选语句作为第二句歌词并入首句歌词,作为下一句歌词的预测输入;

s7:将合并后的歌词句子输入歌词生成模型生成歌词下一句的候选语句;

s8:重复步骤s6和s7,直到完成一段或者整首歌词。用户选定候选语句后,句子会并入前文,与前文一起生成后一句歌词,结合全部前文,歌词的连贯性和情境描述性更强。

所述的生成方法还包括歌词修改步骤:具体包括歌词替换、押韵词替换和段落仿写;

所述的歌词替换包括:用户选择已生成歌词中的任意想要替换的字词,作为欲替换词;应用字符映射表将已生成歌词转换为歌词预测模型的输入数据,将欲替换词采用能区分的标识字符标识;将输入数据输入歌词预测模型进行预测,获取第一个标识字符对应的替换字的概率分布向量;根据第一个标识字符对应位置的概率分布向量提取出概率从大到小排列的前n1个字符的数字编码;再将得到的数字编码替换预测模型输入数据中第一个标识字符;再将新的输入数据输入歌词预测模型进行预测,获取第二个标识字符对应的替换字的概率分布向量,选择其中的n2个,得到n2个第二个标识字符的数字编码,依次类推,获取其余标识字符的候选字符,直至预测模型输入数据中不存在标识字符,得到多个欲替换词的候选词,供用户选择;

所述的押韵词替换包括:应用字符映射表将已生成的多个歌词句子转换为歌词预测模型的输入数据,将指定的韵脚采用能区分的标识字符标识;将输入数据输入歌词预测模型进行预测,获取第一个标识字符对应的替换字的概率分布向量;根据第一个标识字符对应位置的概率分布向量提取出概率从大到小排列的前n1个字符的数字编码;再将得到的数字编码替换预测模型输入数据中第一个标识字符;再将新的输入数据输入歌词预测模型进行预测,获取第二个标识字符对应的替换字的概率分布向量,选择其中的n2个,得到n2个第二个标识字符的数字编码,依次类推,获取其余标识字符的候选字符,直至预测模型输入数据中不存在标识字符;采用押韵规则过滤出满足押韵要求的词,作为押韵替换词输出,供用户选择;

所述的段落仿写包括整段仿写模式和基于词替换的段落仿写模式;所述的整段仿写模式包括:应用字符映射表将当前歌词全文转换为歌词预测模型的输入数据,将欲替换的段落采用能区分的标识字符标识;将输入数据输入歌词预测模型进行预测,获取第一个标识字符对应的替换字的概率分布向量;根据第一个标识字符对应位置的概率分布向量提取出概率从大到小排列的前n1个字符的数字编码;再将得到的数字编码替换预测模型输入数据中第一个标识字符;再将新的输入数据输入歌词预测模型进行预测,获取第二个标识字符对应的替换字的概率分布向量,选择其中的n2个,得到n2个第二个标识字符的数字编码,依次类推,获取其余标识字符的候选字符,直至预测模型输入数据中不存在标识字符,得到多个候选段落,供用户选择;

所述的基于词替换的段落仿写模式包括:对欲替换段落进行分词,应用字符映射表将当前歌词全文转换为歌词预测模型的输入数据,欲替换段落分词后的第一个欲替换词采用能区分的标识字符标识;将输入数据输入歌词预测模型进行预测,获取第一个标识字符对应的替换字的概率分布向量;根据第一个标识字符对应位置的概率分布向量提取出概率从大到小排列的前n1个字符的数字编码;再将得到的数字编码替换预测模型输入数据中第一个标识字符;再将新的输入数据输入歌词预测模型进行预测,获取第二个标识字符对应的替换字的概率分布向量,选择其中的n2个,得到n2个第二个标识字符的数字编码,依次类推,获取其余标识字符的候选字符,直至预测模型输入数据中不存在标识字符;得到第一个欲替换词的多个候选词,从中选择n个替换词,依次使用替换词替换段落中的第一个欲替换词,将替换第一个欲替换词后的歌词转换为预测模型的输入数据,欲替换段落分词后的第二个欲替换词采用能区分的标识字符标识,重复第一个欲替换词产生候选词的过程,得到不同的第一个替换词各自对应的第二个欲替换词的多个候选词;对不同的第一个替换词,各选择一个第二个欲替换词的候选词,得到n个第一个替换词与第二个替换词的组合;第三个欲替换词的获取方式与第二个欲替换词方式相同,依次类推,直至段落中不存在欲替换词,生成n个改写段落。在任何一个歌词句子生成后都可以进行歌词替换修改,便于对歌词进行反复推敲修改,以满足用户的需求,同时可以进行押韵修改,产生的歌词更朗朗上口,具有可读性;进行段落仿写可以根据已经生成的段落进行仿写,仿写出来的两段在格式上相仿,避免直接生成的歌词的两个本该相似的段落差异较大,降低歌词的整体协调性。

所述的用户选择已生成歌词中的任意想要替换的字词具体包括:利用分词手段对已生成歌词进行分词,用户根据分词结果选择已生成歌词中的任意想要替换的字词。

可选的,本发明的方法还包括段落规划步骤:规划设置生成的歌词应该具备的段落和段落的结构属性,用户可以直接选择预设的结构,也可以在预设的结构的基础上进行修改设置。段落结构一般包括主歌、副歌、高潮等,用户可以自行设置,也可以在歌词生成过程中修改设置。通过段落规划为歌词划定一个结构框架,使得生成的歌词结构性更强,提高歌词的质量。

应用所述的基于神经网络的交互式歌词生成方法的系统,包括歌词数据处理模块、歌词生成模块、歌词生成模型训练模块、歌词录入模块和生成歌词推荐模块;

所述的歌词录入模块用于获取用户提供的首句歌词;

所述的歌词生成模型训练模块采用预处理好的歌词训练数据输入基本训练模型进行训练,得到歌词生成模型;

所述的歌词数据处理模块用于实现歌词数据编码;

所述的歌词生成模块用于将用户提供的首句歌词补全,并根据补全后的歌词生成歌词下一句的候选语句,直至完成一段或者整首歌词;

所述的生成歌词推荐模块用于展示歌词生成模块生成的候选语句。

系统还包括歌词修改模块,所述的歌词修改模块用于根据用户选择的修改方式进行已生成歌词的修改。

本发明的有益效果是:

(1)使用该方法用户仅需提供首句歌词,歌词可以不是完整的一个句子,系统会自动进行首句歌词补全,然后再根据补全后的首句歌词进行整段或者整首歌词生成,歌词生成过程中会生成多个候选语句供用户选择,提高歌词生成过程中的交互性,创作的的歌词更具有创作者的特色。

(2)系统操作简单,生成的歌词供用户选择,交互性强,可以实现歌词整体的主题一致性,能达到表达用户需要的情感的目的。是用户作词的有力助手。

附图说明

图1为本发明交互式歌词生成方法流程图;

图2为本发明交互式歌词生成系统框图;

图3为本发明实施例一方法流程图。

具体实施方式

以下结合附图对本发明作进一步描述:

如图1所示,一种基于神经网络的交互式歌词生成方法,包括如下步骤:

s1:歌词生成模型预训练,采用预处理好的歌词训练数据输入基本训练模型进行训练,得到歌词生成模型,基本训练模型可以是transformer或transformer-xl或rnn;

s2:获取用户设定的歌词标签和提供的首句歌词,首句歌词可以是根据用户提供的标签从歌词库中随机选出,并由用户最终选定的歌词,也可以是用户自己输入的歌词,降低用户使用的难度,用户提供的标签包括流派和场景、情绪等标签;

s3:歌词数据编码,参考字符映射表将歌词的每个字符替换为一个数字来表示,得到一个列表,列表中的元素是一个个数字;

s4:首句歌词补全,将用户提供的歌词的数据编码输入歌词生成模型进行歌词句子自动补全;

s41:将用户提供的歌词的数据编码输入歌词生成模型,输出歌词下一个字符的概率分布向量;

s42:提取概率从大到小顺序的前几个字符作为候选字符;

s43:将候选字符补充到歌词末尾,以补充后的歌词的数据编码输入歌词生成模型;

s44:重复步骤s42-s43,逐字预测其他字符,直到预测得到的字符为标点符号;

s45:返回一系列完整的句子供用户选择;

s5:将补全后的歌词句子输入歌词生成模型生成歌词下一句的候选语句;

s51:将补全后的歌词的数据编码输入歌词生成模型,输出歌词下一个字符的概率分布向量;

s52:提取概率从大到小顺序的前几个字符作为候选字符;

s53:将候选字符作为多个候选句的首字,分别将首字加入前文,并将加入候选词后的歌词的数据编码输入歌词生成模型;

s54:重复步骤s52-s53,逐字预测其他字符,直到预测得到的字符为标点符号;

s55:返回一系列候选的句子供用户选择;

s6:选择一个候选语句作为第二句歌词并入首句歌词,作为下一句歌词的预测输入;

s7:将合并后的歌词句子输入歌词生成模型生成歌词下一句的候选语句;

s8:重复步骤s6和s7,直到完成一段或者整首歌词。用户选定候选语句后,句子会并入前文,与前文一起生成后一句歌词,结合全部前文,歌词的连贯性和情境描述性更强。

所述的生成方法还包括歌词修改步骤:具体包括歌词替换、押韵词替换和段落仿写;

所述的歌词替换包括:用户选择已生成歌词中的任意想要替换的字词,作为欲替换词;应用字符映射表将已生成歌词转换为歌词预测模型的输入数据,将欲替换词采用能区分的标识字符标识;将输入数据输入歌词预测模型进行预测,获取第一个标识字符对应的替换字的概率分布向量;根据第一个标识字符对应位置的概率分布向量提取出概率从大到小排列的前n1个字符的数字编码;再将得到的数字编码替换预测模型输入数据中第一个标识字符;再将新的输入数据输入歌词预测模型进行预测,获取第二个标识字符对应的替换字的概率分布向量,选择其中的n2个,得到n2个第二个标识字符的数字编码,依次类推,获取其余标识字符的候选字符,直至预测模型输入数据中不存在标识字符,得到多个欲替换词的候选词,供用户选择;

所述的押韵词替换包括:应用字符映射表将已生成的多个歌词句子转换为歌词预测模型的输入数据,将指定的韵脚采用能区分的标识字符标识;将输入数据输入歌词预测模型进行预测,获取第一个标识字符对应的替换字的概率分布向量;根据第一个标识字符对应位置的概率分布向量提取出概率从大到小排列的前n1个字符的数字编码;再将得到的数字编码替换预测模型输入数据中第一个标识字符;再将新的输入数据输入歌词预测模型进行预测,获取第二个标识字符对应的替换字的概率分布向量,选择其中的n2个,得到n2个第二个标识字符的数字编码,依次类推,获取其余标识字符的候选字符,直至预测模型输入数据中不存在标识字符;采用押韵规则过滤出满足押韵要求的词,作为押韵替换词输出,供用户选择;

所述的段落仿写包括整段仿写模式和基于词替换的段落仿写模式;所述的整段仿写模式包括:应用字符映射表将当前歌词全文转换为歌词预测模型的输入数据,将欲替换的段落采用能区分的标识字符标识;将输入数据输入歌词预测模型进行预测,获取第一个标识字符对应的替换字的概率分布向量;根据第一个标识字符对应位置的概率分布向量提取出概率从大到小排列的前n1个字符的数字编码;再将得到的数字编码替换预测模型输入数据中第一个标识字符;再将新的输入数据输入歌词预测模型进行预测,获取第二个标识字符对应的替换字的概率分布向量,选择其中的n2个,得到n2个第二个标识字符的数字编码,依次类推,获取其余标识字符的候选字符,直至预测模型输入数据中不存在标识字符,得到多个候选段落,供用户选择;

所述的基于词替换的段落仿写模式包括:对欲替换段落进行分词,应用字符映射表将当前歌词全文转换为歌词预测模型的输入数据,欲替换段落分词后的第一个欲替换词采用能区分的标识字符标识;将输入数据输入歌词预测模型进行预测,获取第一个标识字符对应的替换字的概率分布向量;根据第一个标识字符对应位置的概率分布向量提取出概率从大到小排列的前n1个字符的数字编码;再将得到的数字编码替换预测模型输入数据中第一个标识字符;再将新的输入数据输入歌词预测模型进行预测,获取第二个标识字符对应的替换字的概率分布向量,选择其中的n2个,得到n2个第二个标识字符的数字编码,依次类推,获取其余标识字符的候选字符,直至预测模型输入数据中不存在标识字符;得到第一个欲替换词的多个候选词,从中选择n个替换词,依次使用替换词替换段落中的第一个欲替换词,将替换第一个欲替换词后的歌词转换为预测模型的输入数据,欲替换段落分词后的第二个欲替换词采用能区分的标识字符标识,重复第一个欲替换词产生候选词的过程,得到不同的第一个替换词各自对应的第二个欲替换词的多个候选词;对不同的第一个替换词,各选择一个第二个欲替换词的候选词,得到n个第一个替换词与第二个替换词的组合;第三个欲替换词的获取方式与第二个欲替换词方式相同,依次类推,直至段落中不存在欲替换词,生成n个改写段落。在任何一个歌词句子生成后都可以进行歌词替换修改,便于对歌词进行反复推敲修改,以满足用户的需求,同时可以进行押韵修改,产生的歌词更朗朗上口,具有可读性;进行段落仿写可以根据已经生成的段落进行仿写,仿写出来的两段在格式上相仿,避免直接生成的歌词的两个本该相似的段落差异较大,降低歌词的整体协调性。

所述的用户选择已生成歌词中的任意想要替换的字词具体包括:利用分词手段对已生成歌词进行分词,用户根据分词结果选择已生成歌词中的任意想要替换的字词。

可选的,本发明的方法还包括段落规划步骤:规划设置生成的歌词应该具备的段落和段落的结构属性,用户可以直接选择预设的结构,也可以在预设的结构的基础上进行修改设置。段落结构一般包括主歌、副歌、高潮等,用户可以自行设置,也可以在歌词生成过程中修改设置,例如新增段落,更改段落结构属性等。通过段落规划为歌词划定一个结构框架,使得生成的歌词结构性更强,提高歌词的质量。

如图2所示,应用所述的基于神经网络的交互式歌词生成方法的系统,包括歌词数据处理模块、歌词生成模块、歌词生成模型训练模块、歌词录入模块和生成歌词推荐模块;

所述的歌词录入模块用于获取用户提供的首句歌词;

所述的歌词生成模型训练模块采用预处理好的歌词训练数据输入基本训练模型进行训练,得到歌词生成模型;

所述的歌词数据处理模块用于实现歌词数据编码;

所述的歌词生成模块用于将用户提供的首句歌词补全,并根据补全后的歌词生成歌词下一句的候选语句,直至完成一段或者整首歌词;

所述的生成歌词推荐模块用于展示歌词生成模块生成的候选语句。

系统还包括歌词修改模块,所述的歌词修改模块用于根据用户选择的修改方式进行已生成歌词的修改。

在本发明的一个实施例中,如图3所示,歌词生成模型采用的是transformer-xl模型,该模型结合了transformer和rnn的优点,transformer结构实现了高效并行的训练速度及很大程度上缓解了序列预测任务中梯度消失的问题,rnn则是实现了跨片段的上下文联系。网络层数可根据对应数据集的大小来确定,对应20mb大小的文本数据网络层数可设置为16层。

歌词生成模型训练时,首先要对歌词训练数据进行预处理,具体包括:

a.分好类的歌词文本数据去除敏感词、重复句、重复字构成的句子及非中文字符和非歌词内容语句,保留必要的标点符号;b.将过滤后的歌词文本转换为每行一首的格式,歌词中的句子用标点符号断开,包括但不限于中文的逗号,句号;c.将过滤后的文本数据分为训练集和验证集;d.统计训练文本和验证文本的字符,构建一个字符映射表(字符映射到整数编号);e.将训练数文本和验证文本编码为数字格式,并根据batchsize的大小将其转换为tfrecord格式分别保存下来(训练集和验证集各对应一个tfrecord格式的文件);训练数据包含了输入数据和正确输出数据,输入数据为编码后的一段文本序列,正确输出标签为该序列紧跟着的下一个字符的数字编码。不同的音乐流派对应不同的歌词生成模型。

训练过程采用如下参数配置进行训练:训练集和验证集的分割(数据较少时建议9:1,数据较多时训练集的比例可适当减少);损失函数采用多分类交叉熵(categorical_crossentropy);初次训练用adam作为优化器;早停策略满足:使用adam验证集loss稳定在某个值附近,一段时间不再下降则得到最佳模型;batchsize根据显存大小设定,一般为2的n次方,训练时设备显存不超出的情况下即可。通过输入选练集预测该字符序列后的下一个字,与正确输出标记对比得到loss(带入多分类交叉熵得出),反向传播得到网络中每个参数的梯度,根据前面给出的优化器来操作参数更新。不断迭代此步骤,直至达到收敛条件,得到歌词生成模型。

歌词训练模型的输出结果为一个和字符映射表相同长度的概率分布向量,代表了字符映射表中的每个字符是当前上文对应的下一个字符的概率。根据该概率进行筛选,取概率按从大到小顺序的前三个字符作为候选字符,若概率第二大的字符的概率与第一大字符概率的比值小于一个阈值(建议为2/3,也可以根据生成效果来调整该值)则选第一个词,反之判断概率第三和第二大的对应字符的比值是否小于一个阈值,若小于则在前两个字符中随机选择一个作为输出,若大于则在三个候选字符中随机选一个作为输出。

然后获取用户设定的歌词标签和提供的首句歌词,首句歌词可以是根据用户提供的标签从歌词库中随机选出,并由用户最终选定的歌词,也可以是用户自己输入的歌词,降低用户使用的难度。然后对歌词数据编码,参考字符映射表将歌词的每个字符替换为一个数字来表示,得到一个列表,列表中的元素是一个个数字。不同的歌词标签对应的后续会使用不同的训练好的歌词生成模型,例如古风模型、流行模型、民谣模型、摇滚模型等等。

编码后的首句歌词首先进行歌词补全:将用户提供的歌词的数据编码输入歌词生成模型,输出歌词下一个字符的概率分布向量;提取概率从大到小顺序的前几个字符作为候选字符;将候选字符补充到歌词末尾,以补充后的歌词的数据编码输入歌词生成模型;重复上述过程,逐字预测其他字符,直到预测得到的字符为标点符号;返回一系列完整的句子供用户选择。对于完整的句子,在首句歌词补全时,由于直接得到标点符号,因此不需要进行句子补全。

可选的,为了得到质量较高的自动补全推荐项,也可以每次只取概率最大的字符,只得到一个句子作为推荐项。

补全后的歌词句子用于进行歌词生成,首先将补全后的歌词的数据编码输入歌词生成模型,输出歌词下一个字符的概率分布向量;然后提取概率从大到小顺序的前几个字符作为候选字符;将候选字符作为多个候选句的首字,分别将首字加入前文,并将加入候选词后的歌词的数据编码输入歌词生成模型;重复上述过程,逐字预测其他字符,直到预测得到的字符为标点符号;最终返回一系列候选的句子供用户选择。歌词生成过程其实是形成一个树形的结果,第一层节点是第一个位置的候选字符(多个),第二层对应于上面每个节点又会做分叉,第三层基于第二层做分叉。特别的,为了降低复杂性,提升生成效果的可靠性,也可以仅对第一个字有分叉,后面的层只取概率最大的第一个字,即n个第一个字的分叉最终得到n个推荐句子。

用户从生成的推荐句子中选择一句,并将该句子并入之前已有的语句,下一句歌词的预测输入;将合并后的歌词句子输入歌词生成模型生成歌词下一句的候选语句;重复推荐句子生成过程,直到完成一段或者整首歌词。

在歌词生成过程中不论生成了几句歌词,可以随时对已生成歌词进行修改,例如更换歌词,设置歌词押韵,更改后的歌词会继续作为后续歌词生成的前文。

在进行歌词修改时,采用掩码字符标识需要修改的歌词。歌词修改采用bert中文词预测模型。

在本发明的一个实施例中,用户选择了第一个候选歌词句子后,选择了对歌词中的词进行替换,用户选定了歌词句子中的几个词进行替换,应用字符映射表将已生成歌词转换为歌词预测模型的输入数据,将欲替换词采用能区分的标识字符标识;将输入数据输入歌词预测模型进行预测,获取第一个标识字符对应的替换字的概率分布向量;根据第一个标识字符对应位置的概率分布向量提取出概率从大到小排列的前n1个字符的数字编码;再将得到的数字编码替换预测模型输入数据中第一个标识字符;再将新的输入数据输入歌词预测模型进行预测,获取第二个标识字符对应的替换字的概率分布向量,选择其中的n2个,得到n2个第二个标识字符的数字编码,依次类推,获取其余标识字符的候选字符,直至预测模型输入数据中不存在标识字符,得到多个欲替换词的候选词,供用户选择。采用歌词修改方式给用户推荐多个替换词,便于用户对歌词进行修改,选择自己更中意的歌词。

在本发明的另一个实施例中,在生成了多个歌词句子后,用户选择对歌词添加押韵方式,用户首先选择押韵的方式,押韵方式可以是单押、双押甚至是多押,押韵替换词一般限定为句末对应的几个字。应用字符映射表将已生成的多个歌词句子转换为歌词预测模型的输入数据,将指定的韵脚采用能区分的标识字符标识;将输入数据输入歌词预测模型进行预测,获取第一个标识字符对应的替换字的概率分布向量;根据第一个标识字符对应位置的概率分布向量提取出概率从大到小排列的前n1个字符的数字编码;再将得到的数字编码替换预测模型输入数据中第一个标识字符;再将新的输入数据输入歌词预测模型进行预测,获取第二个标识字符对应的替换字的概率分布向量,选择其中的n2个,得到n2个第二个标识字符的数字编码,依次类推,获取其余标识字符的候选字符,直至预测模型输入数据中不存在标识字符;采用押韵规则过滤出满足押韵要求的词,作为押韵替换词输出,供用户选择。对于押韵替换模式,需要满足歌词句子≥2的条件才可以指定韵脚,进行押韵词替换。用户选择合适的推荐项后,替换当前歌词。

在本发明的另一个实施例中,在生成一个完整的段落后,用户直接选择段落仿写功能来生成结构相同的另一个段落。应用字符映射表将当前歌词全文转换为歌词预测模型的输入数据,将欲替换的段落采用能区分的标识字符标识;将输入数据输入歌词预测模型进行预测,获取第一个标识字符对应的替换字的概率分布向量;根据第一个标识字符对应位置的概率分布向量提取出概率从大到小排列的前n1个字符的数字编码;再将得到的数字编码替换预测模型输入数据中第一个标识字符;再将新的输入数据输入歌词预测模型进行预测,获取第二个标识字符对应的替换字的概率分布向量,选择其中的n2个,得到n2个第二个标识字符的数字编码,依次类推,获取其余标识字符的候选字符,直至预测模型输入数据中不存在标识字符,得到多个候选段落,供用户选择。用户选择合适的段落来作为结构相同的另一个段落。

经过押韵替换后的歌词、通过段落仿写功能生成的段落都可以再进行词语的替换。

采用本发明的歌词生成方法生成的歌词语句通顺,整个过程中生成的歌词由用户进行选择,利于实现歌词整体的主题一致性,能达到表达用户需要的情感的目的。可以成为用户作词的有力助手。

以上所述实施例仅表达了本发明的具体实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。


技术特征:

1.一种基于神经网络的交互式歌词生成方法,其特征在于:包括如下步骤:

s1:歌词生成模型预训练,采用预处理好的歌词训练数据输入基本训练模型进行训练,得到歌词生成模型;

s2:获取用户设定的歌词标签和提供的首句歌词;

s3:歌词数据编码;

s4:首句歌词补全,将用户提供的歌词的数据编码输入歌词生成模型进行歌词句子自动补全;

s5:将补全后的歌词句子输入歌词生成模型生成歌词下一句的候选语句;

s6:选择一个候选语句作为第二句歌词并入首句歌词,作为下一句歌词的预测输入;

s7:将合并后的歌词句子输入歌词生成模型生成歌词下一句的候选语句;

s8:重复步骤s6和s7,直到完成一段或者整首歌词。

2.根据权利要求1所述的基于神经网络的交互式歌词生成方法,其特征在于:所述的基本训练模型为transformer或transformer-xl或rnn。

3.根据权利要求1所述的基于神经网络的交互式歌词生成方法,其特征在于:所述的首句歌词为根据用户提供的标签从歌词库中随机选出,并由用户最终选定的歌词或用户自己输入的歌词。

4.根据权利要求1所述的基于神经网络的交互式歌词生成方法,其特征在于:所述的歌词数据编码具体包括参考字符映射表将歌词的每个字符替换为一个数字来表示,得到一个列表,列表中的元素是一个个数字。

5.根据权利要求1所述的基于神经网络的交互式歌词生成方法,其特征在于:所述的首句歌词补全具体包括:

s41:将用户提供的歌词的数据编码输入歌词生成模型,输出歌词下一个字符的概率分布向量;

s42:提取概率从大到小顺序的前几个字符作为候选字符;

s43:将候选字符补充到歌词末尾,以补充后的歌词的数据编码输入歌词生成模型;

s44:重复步骤s42-s43,逐字预测其他字符,直到预测得到的字符为标点符号;

s45:返回一系列完整的句子供用户选择。

6.根据权利要求1所述的基于神经网络的交互式歌词生成方法,其特征在于:所述的步骤s5具体包括:

s51:将补全后的歌词的数据编码输入歌词生成模型,输出歌词下一个字符的概率分布向量;

s52:提取概率从大到小顺序的前几个字符作为候选字符;

s53:将候选字符作为多个候选句的首字,分别将首字加入前文,并将加入候选词后的歌词的数据编码输入歌词生成模型;

s54:重复步骤s52-s53,逐字预测其他字符,直到预测得到的字符为标点符号;

s55:返回一系列候选的句子供用户选择。

7.根据权利要求1所述的基于神经网络的交互式歌词生成方法,其特征在于:所述的生成方法还包括歌词修改步骤:具体包括歌词替换、押韵词替换和段落仿写;

所述的歌词替换包括:用户选择已生成歌词中的任意想要替换的字词,作为欲替换词;应用字符映射表将已生成歌词转换为歌词预测模型的输入数据,将欲替换词采用能区分的标识字符标识;将输入数据输入歌词预测模型进行预测,获取第一个标识字符对应的替换字的概率分布向量;根据第一个标识字符对应位置的概率分布向量提取出概率从大到小排列的前n1个字符的数字编码;再将得到的数字编码替换预测模型输入数据中第一个标识字符;再将新的输入数据输入歌词预测模型进行预测,获取第二个标识字符对应的替换字的概率分布向量,选择其中的n2个,得到n2个第二个标识字符的数字编码,依次类推,获取其余标识字符的候选字符,直至预测模型输入数据中不存在标识字符,得到多个欲替换词的候选词,供用户选择;

所述的押韵词替换包括:应用字符映射表将已生成的多个歌词句子转换为歌词预测模型的输入数据,将指定的韵脚采用能区分的标识字符标识;将输入数据输入歌词预测模型进行预测,获取第一个标识字符对应的替换字的概率分布向量;根据第一个标识字符对应位置的概率分布向量提取出概率从大到小排列的前n1个字符的数字编码;再将得到的数字编码替换预测模型输入数据中第一个标识字符;再将新的输入数据输入歌词预测模型进行预测,获取第二个标识字符对应的替换字的概率分布向量,选择其中的n2个,得到n2个第二个标识字符的数字编码,依次类推,获取其余标识字符的候选字符,直至预测模型输入数据中不存在标识字符;采用押韵规则过滤出满足押韵要求的词,作为押韵替换词输出,供用户选择;

所述的段落仿写包括整段仿写模式和基于词替换的段落仿写模式;所述的整段仿写模式包括:应用字符映射表将当前歌词全文转换为歌词预测模型的输入数据,将欲替换的段落采用能区分的标识字符标识;将输入数据输入歌词预测模型进行预测,获取第一个标识字符对应的替换字的概率分布向量;根据第一个标识字符对应位置的概率分布向量提取出概率从大到小排列的前n1个字符的数字编码;再将得到的数字编码替换预测模型输入数据中第一个标识字符;再将新的输入数据输入歌词预测模型进行预测,获取第二个标识字符对应的替换字的概率分布向量,选择其中的n2个,得到n2个第二个标识字符的数字编码,依次类推,获取其余标识字符的候选字符,直至预测模型输入数据中不存在标识字符,得到多个候选段落,供用户选择;

所述的基于词替换的段落仿写模式包括:对欲替换段落进行分词,应用字符映射表将当前歌词全文转换为歌词预测模型的输入数据,欲替换段落分词后的第一个欲替换词采用能区分的标识字符标识;将输入数据输入歌词预测模型进行预测,获取第一个标识字符对应的替换字的概率分布向量;根据第一个标识字符对应位置的概率分布向量提取出概率从大到小排列的前n1个字符的数字编码;再将得到的数字编码替换预测模型输入数据中第一个标识字符;再将新的输入数据输入歌词预测模型进行预测,获取第二个标识字符对应的替换字的概率分布向量,选择其中的n2个,得到n2个第二个标识字符的数字编码,依次类推,获取其余标识字符的候选字符,直至预测模型输入数据中不存在标识字符;得到第一个欲替换词的多个候选词,从中选择n个替换词,依次使用替换词替换段落中的第一个欲替换词,将替换第一个欲替换词后的歌词转换为预测模型的输入数据,欲替换段落分词后的第二个欲替换词采用能区分的标识字符标识,重复第一个欲替换词产生候选词的过程,得到不同的第一个替换词各自对应的第二个欲替换词的多个候选词;对不同的第一个替换词,各选择一个第二个欲替换词的候选词,得到n个第一个替换词与第二个替换词的组合;第三个欲替换词的获取方式与第二个欲替换词方式相同,依次类推,直至段落中不存在欲替换词,生成n个改写段落。

8.根据权利要求7所述的基于神经网络的交互式歌词生成方法,其特征在于:所述的用户选择已生成歌词中的任意想要替换的字词具体包括:利用分词手段对已生成歌词进行分词,用户根据分词结果选择已生成歌词中的任意想要替换的字词。

9.应用权利要求1-8中任意一项所述的基于神经网络的交互式歌词生成方法的系统,其特征在于:包括歌词数据处理模块、歌词生成模块、歌词生成模型训练模块、歌词录入模块和生成歌词推荐模块;

所述的歌词录入模块用于获取用户提供的首句歌词;

所述的歌词生成模型训练模块采用预处理好的歌词训练数据输入基本训练模型进行训练,得到歌词生成模型;

所述的歌词数据处理模块用于实现歌词数据编码;

所述的歌词生成模块用于将用户提供的首句歌词补全,并根据补全后的歌词生成歌词下一句的候选语句,直至完成一段或者整首歌词;

所述的生成歌词推荐模块用于展示歌词生成模块生成的候选语句。

10.根据权利要求9所述的基于神经网络的交互式歌词生成系统,其特征在于:系统还包括歌词修改模块,所述的歌词修改模块用于根据用户选择的修改方式进行已生成歌词的修改。

技术总结
本发明公开了基于神经网络的交互式歌词生成方法及系统,系统基于该方法,方法包括歌词生成模型预训练,采用预处理好的歌词训练数据输入基本训练模型进行训练,得到歌词生成模型;获取用户设定的歌词标签和提供的首句歌词;歌词数据编码;首句歌词补全,将用户提供的歌词的数据编码输入歌词生成模型进行歌词句子自动补全;将补全后的歌词句子输入歌词生成模型生成歌词下一句的候选语句;选择一个候选语句作为第二句歌词并入首句歌词,作为下一句歌词的预测输入;将合并后的歌词句子输入歌词生成模型生成歌词下一句的候选语句;重复上述步骤,直到完成一段或者整首歌词。歌词生成过程中会生成多个候选语句供用户选择,提高歌词生成过程中的交互性。

技术研发人员:尹学渊;祁松茂;江天宇
受保护的技术使用者:成都嗨翻屋科技有限公司
技术研发日:2020.01.14
技术公布日:2020.06.09

转载请注明原文地址: https://bbs.8miu.com/read-19552.html

最新回复(0)