为你写诗

Python实现的“为你写诗”,可用于体验学习!

体验流程

1、将诗句保存到同一个目录下的“poem.txt”文件,注意编码是UTF-8

2、运行以下程序:先是读入诗句,生成“poem.vex”,然后你就可以输入关键词得到相关诗句了!

注意事项

1、诗句越多,越能作诗;诗句太少,无法作诗!

2、修改“poem.txt”后,建议删除“poem.vec”后再重新运行程序。


from gensim.models import Word2Vec  # 词向量
from random import choice
from os.path import exists
import warnings
warnings.filterwarnings('ignore')  # 不打印警告class CONF:path = 'poem.txt'window = 16  # 滑窗大小min_count = 60  # 过滤低频字size = 125  # 词向量维度topn = 14  # 生成诗词的开放度model_path = 'poem.vec'class Model:def __init__(self, window, topn, model):self.window = windowself.topn = topnself.model = model  # 词向量模型self.chr_dict = model.wv.index2word  # 字典"""模型初始化"""@classmethoddef initialize(cls, config):if exists(config.model_path):# 模型读取model = Word2Vec.load(config.model_path)else:# 语料读取with open(config.path, encoding='utf-8') as f:ls_of_ls_of_c = [list(line.strip()) for line in f]# 模型训练和保存model = Word2Vec(ls_of_ls_of_c, size=config.size,window=config.window, min_count=config.min_count)model.save(config.model_path)return cls(config.window, config.topn, model)"""古诗词生成"""def poem_generator(self, title, form):filter = lambda lst: [t[0] for t in lst if t[0] not in [',', '。']]# 标题补全if len(title) < 4:if not title:title += choice(self.chr_dict)for _ in range(4 - len(title)):similar_chr = self.model.similar_by_word(title[-1], self.topn // 2)similar_chr = filter(similar_chr)char = choice([c for c in similar_chr if c not in title])title += char# 文本生成poem = list(title)for i in range(form[0]):for _ in range(form[1]):predict_chr = self.model.predict_output_word(poem[-self.window:], max(self.topn, len(poem) + 1))predict_chr = filter(predict_chr)char = choice([c for c in predict_chr if c not in poem[len(title):]])poem.append(char)poem.append(',' if i % 2 == 0 else '。')length = form[0] * (form[1] + 1)return '《%s》' % ''.join(poem[:-length]) + '\n' + ''.join(poem[-length:])def main(config=CONF):form = {'五言绝句': (4, 5), '七言绝句': (4, 7), '对联': (2, 9)}m = Model.initialize(config)while True:title = input('输入标题:').strip()if title == '':breaktry:poem = m.poem_generator(title, form['五言绝句'])print('\033[031m五言绝句:%s\033[0m' % poem)  # redpoem = m.poem_generator(title, form['七言绝句'])print('\033[033m七言绝句:%s\033[0m' % poem)  # yellowpoem = m.poem_generator(title, form['对联'])print('\033[036m对联:%s\033[0m' % poem)  # purpleprint()except:print("对不起,我作不出这类诗词!")passif __name__ == '__main__':main()


相关开源项目:https://gitee.com/arye/dl/tree/master/NLP/gensim%E6%96%87%E6%9C%AC%E7%94%9F%E6%88%90
在线测试平台:https://python.jupyter.vip/
体验程序下载:https://download.csdn.net/download/crxis/12424344

人工智能体验之为你写诗应用相关推荐

  1. 【干货贴】当人工智能与艺术碰撞 | AI写诗

    生成式人工智能产品(AIGC) ​前几天,扎克伯格称:Meta 将组建顶级 AI 团队,专注生成式人工智能产品,在短期内,公司将专注于构建创造性和表现力的工具. 说到富有创造力和表现力的艺术行为,首先 ...

  2. 人工智能写作的春天来了 除了写作, 人工智能还能写诗、画画

    "早春江上雨初晴,杨柳丝丝夹岸莺.画舫烟波双桨急,小桥风浪一帆轻." 谁能想到,这是人工智能以"早春"为关键词创作的一首诗.作者"九歌",由 ...

  3. 清华团队让 AI 写诗“更上一层楼”,诗歌图灵测试迷惑近半数玩家

    作者 | 黄珊 来源 | 数据实战派 比特币 外挖无穷洞,机神犹未休. 卡中窥币影,池里验沙流. 屡载吸金主,孤深渍盗求. 方知区块链,本是古来游. 这首诗歌来自一支清华团队开发的古诗 AI.它的创作 ...

  4. “天猫精灵”如何为你写诗?人机共创的秘密在这儿

    阿里妹导读:在AlphaGo人机大战之后,AI在模仿学习人的能力上得到了关注.同时,一种焦虑也在人们心中蔓延,我们的工作何时会被AI替代? 阿里巴巴人工智能实验室用好玩的"天猫精灵写诗&qu ...

  5. 开源云开发流量主小程序-AI写诗-CitizenFour

    项目名称:AI写诗 项目背景:每个人心目中都住着一个文艺青年,诗歌是人们的一种自然表达,它没有门槛,人人都是徐志摩 应用场景:可以写押韵自由诗.藏头诗.给定若干字作为主题的诗.生活中任何一件事都可以用 ...

  6. ai智能写诗你了解吗?

    在当今科技快速发展的时代,越来越多的人开始注重人工智能在日常生活中的应用.其中之一就是智能写诗软件,这种技术不仅可以为我们提供便捷的创作体验,还可以让我们轻松地享受到优美的诗歌韵律.那么,智能写诗软件 ...

  7. 【只推荐一位】文能写诗聊妹,武可搬砖coding~

    今天给大家推荐一个双一流高校在读研究生--小詹,「一个文能写诗撩妹,武可搬砖coding」的程序猿- 可上九天揽月,可下五洋捉鳖!说点题外话,不知道各位看到这句话第一反应是什么? 估计不少人认为是可以 ...

  8. 百度API实现自动写诗

    作者介绍 张琪,男,西安工程大学电子信息学院,2022级研究生 研究方向:机器视觉与人工智能 电子邮件:3126743452@qq.com 王泽宇,男,西安工程大学电子信息学院,2022级研究生,张宏 ...

  9. 谷歌AI要为你写诗!让诗意文字浮现在你自拍头像上

    作者|宇伊     出品 | 新芒X 同步首发至 新芒 xinmang.ai 让机器人写诗? 好像不怎么稀奇了.比如微软小冰就有了这个本领,上传一张图片,会假装通过意向抽取,灵感激发,文学风格模型构思 ...

最新文章

  1. dfmea文件_PFMEA执行之步骤七:结果文件化 vs 高层管理者的承诺
  2. caliop 数据可视化_星载激光雷达CALIOP数据处理算法概述
  3. ASP.NET Core Filter如何支持依赖注入
  4. 理解 OpenStack 高可用(HA) (6): MySQL HA
  5. QtJava笔记-Qt与Java进行SSL双向认证(Qt客户端,Java服务端)
  6. 2018 年度人工智能热门事件大盘点:「悲喜交加」
  7. python中reload作用_import reload __import__在python中的区别
  8. ubuntu 截图工具的使用
  9. STM32F103代码远程升级(六)基于小米IoT开发者平台远程升级代码的实现
  10. Python最新官方教程中文版,火了!!
  11. 主板插线接口大全图解
  12. thinkphp 页面上循环checkbox选择的值和radio混用,if判断
  13. (专升本)信息安全(应用安全策略、网络安全策略)
  14. 计算机开机反复启动,电脑开机一直无限重启怎么解决
  15. TiDB在摩拜单车在线数据业务的应用和实践
  16. android查询火车票接口,火车票查询信息接口
  17. Spark MLlib — Word2Vec
  18. 中科院博士论文致谢登上热搜:计算机终成一生事业与希望!网友:他把自己活成了光
  19. 酱狗的杂七杂八(叁)
  20. 公司突然断网故障排查

热门文章

  1. 若依APP 一个非常火的java框架做个APP,若依Flutter安卓IOS桌面前端,若依安卓APP、若依苹果IOS APP、若依Linux APP、若依 MAC APP、若依 Windows APP
  2. firefox 离线模式
  3. MySQL命令行登入
  4. detectMinEigenFeatures
  5. 科学家发明“人工云朵” 可千变万化当广告
  6. 不是408,但很像408!双一流东北林业大学计算机考研改考!
  7. [py] 输入三角形三边边长并计算面积
  8. java中的service层教程_Service 层实现
  9. android对话框点击空白区域取消,Dialog点击空白处消失问题
  10. ❤️搞Python,你敢说你不会logging模块?❤️