【AI达人创造营第二期】基于LSTM的现代诗生成器


本项目利用LSTM模型实现现代诗自动生成,解决个人创作难题。数据集含约2000首爬取的现代情诗,另混合部分古诗补充数据量。采用LSTM模型,其通过逻辑门优化长文本语义理解。项目含训练与使用文件,models文件夹存两种风格模型。加载模型时,输入前缀和开头即可生成诗句,虽部分内容语义模糊,但能生成连贯文本,实现核心功能。

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜

【ai达人创造营第二期】基于lstm的现代诗生成器 -

基于LSTM自动生成现代诗

数据集使用

本项目一共使用了两个数据集。

  1. 现代情诗的数据集,是我通过网络爬虫爬取的现代诗,大致有2000首。
  2. 古诗集数据,考虑到数据集1的仅有0.5M,数据量较少,所以混合了部分古诗数据进行训练。

LSTM模型简介

LSTM是一种非常流行的循环神经网络,相比较于simpleRNN对于较长的句子理解能力较差(因为RNN不加选择地更新ceil state,导致对于前文地信息地丢失),而LSTM通过增加四个逻辑门,有选择地更新ceil state,这使得LSTM对于长文本语义理解上下推断有着更加好地效果。 具体地原理有很多大佬讲过,大家可以看看这份写的相当透彻的Understanding LSTM network。

简小派 简小派

简小派是一款AI原生求职工具,通过简历优化、岗位匹配、项目生成、模拟面试与智能投递,全链路提升求职成功率,帮助普通人更快拿到更好的 offer。

简小派 123 查看详情 简小派

效果演示

我寄愁心与明月 一棵落落山染来 我沿着一匹回银花的曲子高走短过的那样 我已是那么都在秋天 没有停动地流动一根线儿 一个人在他的身口里 你的手里还在我的身送面指成远 我不成日亮 你不会把彼此装上
我寄愁心与明月。都将别,一回一回,莫问无情何。
无事无人知,无生无与非

模型训练和模型评估

详细的训练流程在参见model_LSTM.ipynb,其中很全面地写了注释和核心思想。

文件组织

  • main.ipynb可以直接拿过来玩,自动加载训练好的模型
  • model_LSTM.ipynb是训练文件,写了详细的注释,调用它则可以训练自己的模型。
  • 【静态图测试】文件夹被废弃了。。。原本打算导出静态图模型但遇到了一点点问题,挖个坑回头解决
  • 【models】文件夹存放了不同数量样本训练好的两个模型,可以直接调用
  • 【vocab】文件夹存放用于制作词汇表的数据

加载模型进行测试

In [1]
# 导入相关依赖from paddle.io import Datasetimport paddle.fluid as fluidimport numpy as npimport paddleimport paddle.nnfrom paddlenlp.embeddings import TokenEmbeddingfrom paddlenlp.data import JiebaTokenizer,Vocabimport visualdl
In [3]
# 定义超参数class Config(object):
    # version = 'models/version1-modern/version1.pdparams' # 现代诗风格
    version = 'models/version2-ancient/version2.pdparams' # 古体诗风格
    maxl = 120
    filepath = "vocab/poems_without_title.txt"
    filepath2 = "vocab/poems_zh.txt"
    embedding_dim = 300
    hidden_dim = 512
    num_layers = 3

    max_gen_len = 150
    prefix = "爱你一生一世" # 前置风格,可以调整生成文本的风格
    beginning = "陪伴是最长情的告白" # 需要给出诗篇的开头,模型进行续写config = Config()
In [4]
# 加载词汇表vocabdic = {'[PAD]':0,'<start>':1,'<end>':2,'[UNK]':3}
cnt=4with open (config.filepath) as fp:    for line in fp:        for char in line:            if char not in dic:
                dic[char] = cnt
                cnt+=1with open (config.filepath2) as fp:    for line in fp:        for char in line:            if char not in dic:
                dic[char] = cnt
                cnt+=1vocab = Vocab.from_dict(dic,unk_token='[UNK]')
In [5]
# 加载模型class Poetry(paddle.nn.Layer):
    def __init__(self,vocab_size,embedding_dim,hidden_dim):
        super().__init__()
        self.embeddings = paddle.nn.Embedding(vocab_size,embedding_dim)
        self.lstm = paddle.nn.LSTM(
            input_size=embedding_dim,
            hidden_size=hidden_dim,
            num_layers=config.num_layers,
        )
        self.linear = paddle.nn.Linear(in_features=hidden_dim,out_features=vocab_size)    def forward(self,input,hidden=None):
        batch_size, seq_len = paddle.shape(input)
        embeds = self.embeddings(input)        if hidden is None:
            output,hidden = self.lstm(embeds)        else:
            output,hidden = self.lstm(embeds,hidden)
        output = paddle.reshape(output,[seq_len*batch_size,Config.hidden_dim])
        output = self.linear(output)        return output,hidden

poetry = Poetry(len(vocab),config.embedding_dim,config.hidden_dim)
poetry.set_state_dict(paddle.load(config.version))
In [6]
results = [i for i in config.beginning]
start_words_len = len(results)input = (paddle.to_tensor(vocab("<start>"))).reshape([1,1])
hidden = Noneif config.prefix:
    words = [i for i in config.prefix]    for word in words:
        _, hidden = poetry(input, hidden)        input = (paddle.to_tensor(vocab(word))).reshape([1,1])for i in range(config.max_gen_len):
    output, hidden = poetry(input, hidden)    if i < start_words_len:
        word = results[i]        input = (paddle.to_tensor(vocab(word))).reshape([1,1])    else:
        _,top_index = paddle.fluid.layers.topk(output[0],k=1)
        top_index = top_index.item()
        word = vocab.to_tokens(top_index)
        results.append(word)        input = paddle.to_tensor([top_index])        input = paddle.reshape(input,[1,1])    if word == '<end>':        del results[-1]        breakresults = ''.join(results)print(results)

以上就是【AI达人创造营第二期】基于LSTM的现代诗生成器的详细内容,更多请关注其它相关文章!


# poe  # 南头软件网站优化  # 大佬  # 来袭  # 营收  # 自动生成  # 写了  # 中文网  # 词汇表  # 第二期  # 达人  # 加载  # fig  # ai  # 株洲营销型网站推广系统  # 网站建设方法和过程  # 德化网站建设报价  # 河池外贸网站推广  # 网站优化的费用报价  # 女装牛仔裤关键词排名  # 溧阳seo优化  # 台州网站推广关键词优化  # 福田最好的网站优化计划 


相关栏目: 【 Google疑问12 】 【 Facebook疑问10 】 【 优化推广96088 】 【 技术知识133117 】 【 IDC资讯59369 】 【 网络运营7196 】 【 IT资讯61894


相关推荐: 大疆 DJI Mini 4 Pro 无人机曝光:流线设计,有望迎来功能性提升  阿里达摩院发布免费开放100项AI专利许可的动机是什么?  华为4G5G通信物联网收费标准公布,多年研发成果,十年花费近万亿  一公司推出喷火机器狗,可喷出 9 米长火焰  微软推出人工智能模型 CoDi,可互动和生成多模态内容  云南首例达芬奇机器人微创心脏手术成功开展  人工智能加速走进百姓生活:从2025全球人工智能技术大会看行业新趋势  AI绘画,还需要懂数学?  掌阅科技入选北京市通用人工智能产业创新伙伴计划第二批成员名单  MIT开发“PhotoGuard”技术保护图像免遭恶意AI编辑  Yann LeCun团队新研究成果:对自监督学习逆向工程,原来聚类是这样实现的  猿辅导发布最新SaaS业务进展公告:Motiff UI设计工具推出三项新的AI功能  这款在《自然通讯》发表的机器人,为变形金刚来到现实创造可能性  美妆行业在AI时代蓬勃发展  比尔盖茨:AI确实存在风险,但可控  「社交达人」GPT-4!解读表情、揣测心理全都会  洞穴探险神器?可自主导航的单旋翼自旋无人机,效率更高!  人手一部「*」!视频版Midjourney免费可用,一句话秒生酷炫大片惊呆网友  抢占新赛道 加快机器人产业集聚发展  280万条多模态指令-响应对,八种语言通用,首个涵盖视频内容的指令数据集MIMIC-IT来了  智能机器人正在彻底改变客户服务  AI+游戏首度大范围公布实际应用成果,AI全面来临还有多远?  靠游戏更靠AI 英伟达成唯一首季度两位数增长的公司  直击上影节 | 光线传媒董事长王长田谈新技术:未来VR放映效果可能媲美影院  苹果AI战略与微软谷歌大相径庭,到底是领先还是落后?  硅谷人工智能研究院创始人皮埃罗·斯加鲁菲:Transformer模型演讲  时隔 4 年:谷歌更新安卓机器人 LOGO,形象更立体  微软Xbox称VR和AR还需要时间 先玩大的  美图吴欣鸿:希望更多人用上AI时代的影像生产力工具  昌吉市利用无人机实现全天候河道动态巡检  码刻 | 48小时Hackathon,源码见证新生代AI创新的发生  12页线性代数笔记登GitHub热榜,还获得了Gilbert Strang大神亲笔题词  Databricks推出人工智能模型共享机制,可令开发者与公司“双赢”  苹果2万5的AR遭遇砍单95%:不及预期  无人机巡检方案是什么,该如何选择适合的巡检方案  “上海市民营企业人工智能赋能创新中心”揭牌成立  商业智能决策技术助力降本增效,世界人工智能大会举办商业AI高峰论坛  脑机接口产业联盟发布十大脑机接口关键技术  讯飞听见会写“会议摘要”功能全面升级,AI更懂你的关注点  海南科技职业大学第25届中国机器人及人工智能大赛海南赛区荣获一等奖等114项  Valve Index VR 头显销量下滑,上市四年的长青树渐失光彩  阿里云AI绘画创作大模型通义万相发布 已开启定向邀测  自己动手使用AI技术实现数字内容生产  微软向美国政府提供GPT的大模型,安全性如何保证?  物联网“僵尸网络DDos攻击”增长惊人,威胁全球电信网络  人工智能即将进入Windows:企业准备好安全策略设置了吗?  杀入生成式AI的亚马逊云科技,能否再次生成未来?  讯飞星火大模型实现升级 助力通用人工智能人才培养  用AI升级会议体验!思必驰多款会议产品亮相全球智博会!  华为AI大模型将融入HarmonyOS 4 

 2025-07-17

了解您产品搜索量及市场趋势,制定营销计划

同行竞争及网站分析保障您的广告效果

点击免费数据支持

提交您的需求,1小时内享受我们的专业解答。

运城市盐湖区信雨科技有限公司


运城市盐湖区信雨科技有限公司

运城市盐湖区信雨科技有限公司是一家深耕海外推广领域十年的专业服务商,作为谷歌推广与Facebook广告全球合作伙伴,聚焦外贸企业出海痛点,以数字化营销为核心,提供一站式海外营销解决方案。公司凭借十年行业沉淀与平台官方资源加持,打破传统外贸获客壁垒,助力企业高效开拓全球市场,成为中小企业出海的可靠合作伙伴。

 8156699

 13765294890

 8156699@qq.com

Notice

We and selected third parties use cookies or similar technologies for technical purposes and, with your consent, for other purposes as specified in the cookie policy.
You can consent to the use of such technologies by closing this notice, by interacting with any link or button outside of this notice or by continuing to browse otherwise.