10 行代码,集算器实现写诗机器人

简介:

集算器不仅有大数据计算,还有诗和远方。最近看到不少写诗机器人的新闻,于是尝试用集算器简单地实现一个。这个实现真的很简单,简单到只有10几行代码,请看实现步骤:

1下载字典和诗词

从网上找一个用于分词的字典文件,里面记录着每个中文词汇的词性。我从GitHub上找了一个,稍微处理之后保存到集文件dict.btx。

下载宋词三百首的txt文件,去掉空格和换行,以及其它文字以外的字符,得到一个长字符串。

2训练

对上一步得到的长字符串进行分词,结果保存到集文件作为模板,实现代码如下:
1

A1读取字典文件,并且建立索引;

A2定义模板记录的数据结构,三个字段表示:词、长度、词性;

A5到A9是循环处理,对A3进行分词,这里最长只处理三个字组成的词;

A10把结果保存;

这一步得到一个模板,内容是《宋词三百首》里所有文字的分词,以及这些分词的词性。

3创作

创作的原理是找一首宋词作为目标,得到它的每个分词,根据分词的长度和词性,从上一步的模板里随机找一个词进行替换。这里选择的是《水调歌头·明月几时有》,来看代码:
2

运行结果如下,这些“作品”虽然存在语法错误,但还是有模有样的,总比我自己写的要好很多。

晚秋无奈送,伫立鹧鸪天。已成西下黄叶,春寒疏何处。我又花下离别。酒醒阳关萧萧,如许悲欢霜,初见年少影,谁曾在斜阳。

春寒何在喧,不解烟雨任。梳洗江上西风,明月怜此地。谁先水声惹起。相思洛阳晓色,几许不成魂,不应相迎竞,他未为梢头。

而今几度寄,相认问青天。催发江上蓬壶,黄昏发何处。别未御街可惜。轻吹江南那堪,先断闲来闲,相逢拘束影,任又在旧事。

昨夜无处应,不知阑珊处。映带楼上王孙,如今来有时。任更点点飘香。垂涎池塘秋千,到处望断天,酒醒衰草影,我尤把天涯。

选择一首发到朋友圈,居然得到不少点赞。

 

实现原理是同词性替换,根据这个还可以实现写唐诗的功能。如果对模板文件进一步调整,根据韵律和平仄优化词性,效果会更好。这就是属于人工智能的人工劳动了,需要专业知识和辛苦付出,不是一下可以达成的。

感兴趣的同学可以下载附件。

15368090470002ffa.rar

链接:http://c.raqsoft.com.cn/article/1536756719594
来源:乾学院
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

相关文章
|
机器学习/深度学习 算法 机器人
路径规划算法:基于蜉蝣优化的机器人路径规划算法- 附matlab代码
路径规划算法:基于蜉蝣优化的机器人路径规划算法- 附matlab代码
路径规划算法:基于蜉蝣优化的机器人路径规划算法- 附matlab代码
|
3月前
|
机器学习/深度学习 算法 机器人
【2023年第十三届APMCM亚太地区大学生数学建模竞赛】A题 水果采摘机器人的图像识别 Python代码解析
本文介绍了2023年第十三届APMCM亚太地区大学生数学建模竞赛A题的Python代码实现,详细阐述了水果采摘机器人图像识别问题的分析与解决策略,包括图像特征提取、数学模型建立、目标检测算法使用,以及苹果数量统计、位置估计、成熟度评估和质量估计等任务的编程实践。
85 0
【2023年第十三届APMCM亚太地区大学生数学建模竞赛】A题 水果采摘机器人的图像识别 Python代码解析
|
机器学习/深度学习 算法 机器人
路径规划算法:基于被囊群优化的机器人路径规划算法- 附matlab代码
路径规划算法:基于被囊群优化的机器人路径规划算法- 附matlab代码
|
机器学习/深度学习 算法 机器人
路径规划算法:基于蜻蜓分布优化的机器人路径规划算法- 附matlab代码
路径规划算法:基于蜻蜓分布优化的机器人路径规划算法- 附matlab代码
|
机器学习/深度学习 传感器 算法
路径规划算法:基于绯鲵鲣算法的机器人路径规划算法- 附matlab代码
路径规划算法:基于绯鲵鲣算法的机器人路径规划算法- 附matlab代码
|
机器学习/深度学习 传感器 算法
基于Dijkstra、A*和动态规划的移动机器人路径规划(Matlab代码实现)
基于Dijkstra、A*和动态规划的移动机器人路径规划(Matlab代码实现)
|
机器学习/深度学习 算法 机器人
路径规划算法:基于蝗虫优化的机器人路径规划算法- 附matlab代码
路径规划算法:基于蝗虫优化的机器人路径规划算法- 附matlab代码
|
机器学习/深度学习 传感器 算法
路径规划算法:基于粒子群优化的机器人路径规划算法- 附matlab代码
路径规划算法:基于粒子群优化的机器人路径规划算法- 附matlab代码
|
机器学习/深度学习 传感器 机器人
【热力学】基于有限元分析 (FEA) 分析镁机器人组件中的热传导附matlab代码
【热力学】基于有限元分析 (FEA) 分析镁机器人组件中的热传导附matlab代码
|
机器学习/深度学习 算法 机器人
【路径规划】基于海鸥优化算法实现栅格地图机器人路径规划附matlab代码
【路径规划】基于海鸥优化算法实现栅格地图机器人路径规划附matlab代码