【逆天的算法】这几首宋词,你能看出来是出自计算机之手吗?

简介: 遗传算法指的是迷你达尔文生物进化论自然选择,以及遗传学机理生物进化的过程的一种计算模型。有人说遗传算法很少用,实际上,在很多地方,遗传算法都有很有趣的应用。这不,有人就把遗传算法用在宋词中。
先来看看下面的几首宋词:

宋词一:
西江月
饮酒开怀酣畅,洞箫笑语尊前。欲看尽岁岁年年,悠然轻云一片。
赏美景开新酿,人生堪笑欢颜。故人何处向天边,醉里时光渐渐。

宋词二:
清平乐
相逢缥缈,窗外又拂晓。长忆清弦弄浅笑,只恨人间花少。
风雨重阳又过,登高多少黄昏。黄菊不待清尊,相思飘落无痕。

宋词三:
佳人 点绛唇
人静风清,兰心蕙性盼如许.夜寒疏雨,临水闻娇语.
佳人多情,千里独回首.别离后,泪痕衣袖,惜梦回依旧.


第一感觉是不是在想这是哪位大家的手笔,如果告诉你这是由遗传算法自动生成的,你会不会对之前的上过的语文课有些许感慨。你觉得计算机的作诗能力如何呢?


什么是遗传算法?


遗传算法指的是迷你达尔文生物进化论自然选择,以及遗传学机理生物进化的过程的一种计算模型。

有人说遗传算法很少用,实际上,在很多地方,遗传算法都有很有趣的应用。这不,有人就把遗传算法用在宋词中。分享者称是用在NLG(自然语言生成)技术中的。

自动生成宋词的遗传算法


生成宋词的算法是来自厦门大学和浙江大学的三位学者,主要针对宋词这种特殊的汉语诗歌体裁,设计了其自动生成算法及其实现方法。

根据宋词特点设计了基于平仄的编码方式,将“平、仄”与“0、1”编码相对应的编码方案.比如词牌《清平乐》平仄分布如下:

⊙平⊙仄,⊙仄平平仄.⊙仄⊙平平仄仄,⊙仄⊙平⊙仄.
⊙平⊙仄平平,⊙平⊙仄平平.⊙仄⊙平⊙仄,⊙平⊙仄平平.
其中⊙表示可平可仄.根据我们的编码方案可得如下编码串:
*0*1,*1001.*1*0011,*1*0*1.
*0 *100,*0*100.*1*0*1,*0*100.

通过对大量宋词语句构成的分析,发现组成句子的有效模式的数目是有限的,并且呈现出了层次化的结构,因此比较适合采用DFA(deterministic finite automata)来表示。随机组合的词语,在产生大量的备选个体后,逐个进行DFA 分析测试,通过留下,没通过则剔除。

宋词的语义计算问题,包括词义相关度计算、词义相似度计算,以及风格情感一致性计算3 个方面。计算词义相关的目的是建立词语间的关联,发掘词语共现和搭配的可能,从而保证生成诗词行文和主题上的连贯。


下面是该算法的论文,感兴趣的可以读一读。

82a2d3ac21de117203d8b611005e13d64c5deacd a6259865e8914838ba3d4cb2770866d0154ee523 ba3198e788a3aba6b4f31df353e9ca164690d435 4b69ff913d8b9e7d37623d569b979d617ec4c606 6aa740875cfb7e9f92ea7c17b43e89ceaff6263e 8ccebc13c98e45bf0ca6ea9fa6474fb6860d1649 c0639493bf62625ee84ea112992b81e1f2b63947 f6d21e1046d0a6467db3b82f139de99d144e6fef 1f9994cb8177f5fb84ad4e5505ef1825fdfcd872

Via W3Cschool
目录
相关文章
|
2月前
|
算法
计算机算法设计与分析(1-6章 复习笔记)
计算机算法设计与分析(1-6章 复习笔记)
C4.
|
3月前
|
存储 算法 C语言
关于c语言用计算机语言表示算法
关于c语言用计算机语言表示算法
C4.
34 1
|
3月前
|
算法 搜索推荐 C语言
用计算机语言表示算法
用计算机语言表示算法
32 1
|
3月前
|
算法 搜索推荐 C语言
用流程图表示计算机算法
用流程图表示计算机算法
37 1
|
18天前
|
机器学习/深度学习 人工智能 算法
【眼疾病识别】图像识别+深度学习技术+人工智能+卷积神经网络算法+计算机课设+Python+TensorFlow
眼疾识别系统,使用Python作为主要编程语言进行开发,基于深度学习等技术使用TensorFlow搭建ResNet50卷积神经网络算法,通过对眼疾图片4种数据集进行训练('白内障', '糖尿病性视网膜病变', '青光眼', '正常'),最终得到一个识别精确度较高的模型。然后使用Django框架开发Web网页端可视化操作界面,实现用户上传一张眼疾图片识别其名称。
52 9
【眼疾病识别】图像识别+深度学习技术+人工智能+卷积神经网络算法+计算机课设+Python+TensorFlow
|
1月前
|
机器学习/深度学习 人工智能 算法
【坚果识别】果实识别+图像识别系统+Python+计算机课设+人工智能课设+卷积算法
坚果识别系统,使用Python语言进行开发,通过TensorFlow搭建卷积神经网络算法模型,对10种坚果果实('杏仁', '巴西坚果', '腰果', '椰子', '榛子', '夏威夷果', '山核桃', '松子', '开心果', '核桃')等图片数据集进行训练,得到一个识别精度较高的模型文件,让后使用Django搭建Web网页端界面操作平台,实现用户上传一张坚果图片 识别其名称。
22 0
|
3月前
|
算法 C语言 索引
计算机简单算法
计算机简单算法
17 1
|
3月前
|
算法 C语言
计算机简单算法举例
计算机简单算法举例
13 1
|
3月前
|
自然语言处理 算法 搜索推荐
用自然语言表示计算机算法
用自然语言表示计算机算法
32 1
|
2月前
|
搜索推荐 算法 前端开发
计算机Java项目|基于协同过滤算法的体育商品推荐系统
计算机Java项目|基于协同过滤算法的体育商品推荐系统

热门文章

最新文章