为你写诗

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. php 文件大小函数,php计算目录文件大小的函数
  2. 多元价值呼唤教育性父母
  3. Python 官网宣布,正式发布 Python 3.8.0!
  4. 使用 Chrome Dev tools 分析应用的内存泄漏问题
  5. mysql firebird 性能_Firebird, MySQL 与 PostgreSQL 代码质量对比
  6. ladp3 获取属性_Ldap3库使用方法(四)
  7. JavaEE班第四天
  8. 【JS基础】异步和单线程
  9. ISTQB 软件测试资质认证
  10. mysql 访问速度_操作mysql第一次访问速度慢(远程)
  11. BugBugBugBugBugBugBugBugBugBugBugBugBugBugBug
  12. 有道云笔记数学公式大全
  13. 推荐系统(3)——个性化推荐系统架构
  14. android tabhost的使用方法,Android TabHost组件使用方法详解
  15. abi-compliance-checker 理解
  16. 华为路由器配置VRRP
  17. arima 公式_R时间序列分析(8)ARIMA(上)
  18. js 通过图片链接获取file对象
  19. I-D-E-A中maven的常用指令
  20. 深度操作系统 deepin V23 Beta 发布

热门文章

  1. BlueKeep已被大规模利用于植入挖矿软件
  2. 会计学03.会计计量属性与会计等式
  3. 上百套高端大气网站后台html源码模板-代码库
  4. TP-LINK产品复位大全(路由器初始化恢复出厂默认值)
  5. 星界边境机器人升级_2天 科技全满。 星界边境 最简单升级上手生存攻略 有贴图...
  6. java图形验证码_java图形验证码实现
  7. iOS代码动态消除iPhone X底部工具条(ToolBar)与键盘间的夹缝
  8. 弹窗悬浮一个新网页php代码,一个简单的图片悬浮窗,点击可关闭
  9. android访客模式,访客模式:我的隐私我做主_小米 红米Note(增强版/移动3G/2GB RAM)_手机Android频道-中关村在线...
  10. 乐购社区V4.0修改版云乐购社区系统源码