如何微调,能让模型支持汉语拼音呢? 或者支持 读音提示?
最终需求是,在一篇文章,需要对某个字的读音 纠正改音。
最一开始,我是尝试在text-normalize阶段用同音字替换,发现很多字音没有 独音字。 比如 一拍两散, 有时候会错误读成 3声,而不是4声。 然而san4,没有独音字。没办法做同音字替换。
所以,我又试着用训练微调让模型认识sàn这个汉语拼音音节。
于是,我基于examples/magicdata_read的例子,做了这样的数据集
train: pinyin_san4.txt (内容为: sàn) pinyin_san4.wav (sàn的语音)
dev和test内容与train一致
然后,训练200个epoch。 训练出来的模型, 可以正确读出单次出现的sàn。但是放到中文句子 (他们在昨晚的争执之后就一拍两sàn了) 中就非常不正常了。
是数据集设计的不正确吗?
我这种需求,该用什么方法来实现呢?
谢谢,诸位大佬。
well this is the drawback of bpe tokenization, more data can make it more stable
This issue is stale because it has been open for 30 days with no activity.
请问你的这个问题找到解决办法了吗?
请问你的这个问题找到解决办法了吗? 找到了。问题在于 微调时训练使用的 调度器和学习率不正确。
将conf/consyvoice.yaml配置文件中
train_conf.scheduler 调度器改成constantlr, 常量学习度 train_conf.optim_conf.lr 学习度设置成0.00001
就能学习出来拼音。但是又遇到新问题了,就是微调出来的模型丧失了变声的功能。我正试着 多弄些 不同语音样本,训练 看看能不能行。
炼丹 真不容易阿。
请问你的这个问题找到解决办法了吗? 找到了。问题在于 微调时训练使用的 调度器和学习率不正确。
将conf/consyvoice.yaml配置文件中
train_conf.scheduler 调度器改成constantlr, 常量学习度 train_conf.optim_conf.lr 学习度设置成0.00001
就能学习出来拼音。但是又遇到新问题了,就是微调出来的模型丧失了变声的功能。我正试着 多弄些 不同语音样本,训练 看看能不能行。
炼丹 真不容易阿。
只能自己做训练吗?多音字的种类那么多
请问你的这个问题找到解决办法了吗? 找到了。问题在于 微调时训练使用的 调度器和学习率不正确。
将conf/consyvoice.yaml配置文件中 train_conf.scheduler 调度器改成constantlr, 常量学习度 train_conf.optim_conf.lr 学习度设置成0.00001 就能学习出来拼音。但是又遇到新问题了,就是微调出来的模型丧失了变声的功能。我正试着 多弄些 不同语音样本,训练 看看能不能行。 炼丹 真不容易阿。
只能自己做训练吗?多音字的种类那么多
是的。我扫了一遍线上新华字典,穷举了所有音节和音调。每一个做一个句子。这就十几万条样本了。
请问你的这个问题找到解决办法了吗? 找到了。问题在于 微调时训练使用的 调度器和学习率不正确。
将conf/consyvoice.yaml配置文件中 train_conf.scheduler 调度器改成constantlr, 常量学习度 train_conf.optim_conf.lr 学习度设置成0.00001 就能学习出来拼音。但是又遇到新问题了,就是微调出来的模型丧失了变声的功能。我正试着 多弄些 不同语音样本,训练 看看能不能行。 炼丹 真不容易阿。
只能自己做训练吗?多音字的种类那么多
是的。我扫了一遍线上新华字典,穷举了所有音节和音调。每一个做一个句子。这就十几万条样本了。
我现在这多音字的都不知道怎么处理,想着看能不能用同音字替代,但是又没有拼音转汉字的开源项目
请问你的这个问题找到解决办法了吗? 找到了。问题在于 微调时训练使用的 调度器和学习率不正确。
将conf/consyvoice.yaml配置文件中 train_conf.scheduler 调度器改成constantlr, 常量学习度 train_conf.optim_conf.lr 学习度设置成0.00001 就能学习出来拼音。但是又遇到新问题了,就是微调出来的模型丧失了变声的功能。我正试着 多弄些 不同语音样本,训练 看看能不能行。 炼丹 真不容易阿。
只能自己做训练吗?多音字的种类那么多
是的。我扫了一遍线上新华字典,穷举了所有音节和音调。每一个做一个句子。这就十几万条样本了。
我现在这多音字的都不知道怎么处理,想着看能不能用同音字替代,但是又没有拼音转汉字的开源项目
我用的是pinyin4js. 正确率还可以
pinyin4js这个不是只能汉字转拼音吗?你用的是哪个地址的,能给一下地址吗?我是用的java的pinyin4j
pinyin4js
https://www.npmjs.com/package/pinyin4js
对,汉字转拼音。我在试着 训练模型能够 将拼音读出来。这样,多音字跟随拼音标注。这样一句话就能读正确了。
pinyin4js
https://www.npmjs.com/package/pinyin4js
对,汉字转拼音。我在试着 训练模型能够 将拼音读出来。这样,多音字跟随拼音标注。这样一句话就能读正确了。
大佬,训练出来了,能分享一下不
pinyin4js
https://www.npmjs.com/package/pinyin4js 对,汉字转拼音。我在试着 训练模型能够 将拼音读出来。这样,多音字跟随拼音标注。这样一句话就能读正确了。
大佬,训练出来了,能分享一下不
/_\ 这个有点难。毕竟 用的是 单位的资源训练。这么多人看着呢....
pinyin4js
https://www.npmjs.com/package/pinyin4js
对,汉字转拼音。我在试着 训练模型能够 将拼音读出来。这样,多音字跟随拼音标注。这样一句话就能读正确了。
你這不就是 BreezyVoice 的做法,它們有開源的。
理论上应该是扩词表把,然后训练模型进行拼音对发音的对齐
请问搞定了吗,不需要扩充词表吗?