大家好,我是小金!
今天给大家分享一个有趣的玩意「AI-writer」,用AI来写小说,根据输入文字进行续写可以生成言情玄幻网文等等,想体验的话有基于这个项目开发的网页版,想要深入学习的话还有Python版本需要自行安装。
网页体验版:blinkdl.github.io/AI-Writer/
开源链接: github.com/BlinkDL/AI-…
效果展示
输入:他手里紧紧握着金箍棒
虽然没有我预想的会出现孙悟空,有些地方也读起来不通顺,可能也是因为模型的训练数据全部来自网文,缺乏生活常识所导致,但也还可以接受。
输入:她是所有人的暗恋对象,不仅成绩优异更是公认的校花,走到那里都是万众瞩目,我生的普普通通从没想过有一天会与她有交集,但命运就是这般奇妙。
本来我想着会发生点什么美妙爱情故事,但是它揪着普通不放,还开始伤感自己的身世,有点伤感文学的意思。我想想网文里一般都是霸道总裁爱上身世悲惨的女孩的戏码,可能才导致这样的结果吧。
总的来说这个AI还是有点笨笨的的,但拿来玩玩还是不错的。
简化原理
电脑的原理,是题海战术+笨鸟先飞。它把字变成很多数,然后,找这些数的数学(统计学)规律。
电脑的学习目标:输入一堆字,预测下一个字。训练的小说有几万本,每次随机挑一段 512 个字输进去,让电脑猜下一个字,看是否能猜对。
小模型有8849个字,每个字对应两组数,每组有 768 个数。例如:"我" = [0.123 -1.534 ...](输入组),[-0.827 2.343 ...](输出组)。这些数字可能代表一些含义,如"名词、非名词"等维度。
当开头输入512个字,这些字的输入组数字个数之和为512*768=393216,模型会将这393216个数进行一番运算,得到768个数,再与每个字的输出组匹配,计算相近程度。
其中有很多细节问题,大家感兴趣可以去源项目寻找答案。