【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


相关推荐: 厂商陆续公布AI进展 完美世界游戏展示复合应用AI in GamePlay  中兴通讯无人机高空基站助力北京门头沟受灾乡镇保障应急通信  生成式AI引路产业加速来袭,微美全息探索“AIGC+虚拟人”融合应用  吉林首例!机器人辅助下搭桥手术成功实施  微软bing聊天推出AI购物工具 可进行比价并查看历史最低价  周星驰支持的人工智能与 Web3 初创公司 Moonbox 完成 100 万美元融资  鸿蒙智能座舱的AI大模型革新,引领智能座舱领域的变革吗?  首个算网生态体!中国移动元宇宙产业联盟正式成立  人工智能助力林草行业高质量发展  2025世界人工智能大会(上海)开幕式纪要  AI 模型 Stable Diffusion 升级:正常生成五指、图像更逼真  人工智能在重症监护室的未来  美图公司吴欣鸿:AI技术重构影像产业  昆仑万维与全球领先的元宇宙公司Meta达成商务合作,共同认可昆仑万维在XR领域的技术实力  RoboNeo安装教程  讯飞听见会写“会议摘要”功能全面升级,AI更懂你的关注点  华为AI大模型将融入HarmonyOS 4  学而思推出AI第一课:基于自研大模型的AIGC课程  世界上第一个完全由人工智能驱动的图像编辑器!  昇思开源社区理事会成立,基于昇思AI框架的全模态大模型“紫东.太初2.0”发布  自动驾驶汽车避障、路径规划和控制技术详解  微软推出人工智能模型 CoDi,可互动和生成多模态内容  中国联通发布图文AI大模型,可实现以文生图、视频剪辑  数字彩排、虚拟建厂!这家顶级洗衣机工厂敲开“工业元宇宙”之门  Nature封面:量子计算机离实际应用还有两年  IBM 与 NASA 携手开源地理空间 AI 模型,促进气候科学研究进步  借力AI!PCB全球巨头,有爆发潜质吗?  有 ARM 和 X86 两个版本,香橙派游戏掌机细节曝光  改变城市交通:智慧城市中的智能交通  360发布AI数字人广场,可同孙悟空、爱因斯坦等古今中外角色对话  靠游戏更靠AI 英伟达成唯一首季度两位数增长的公司  尼康尼克尔 Z 180-600mm f/5.6-6.3 VR 镜头发布,12499 元  实现人工智能和物联网的协同运作  消息称苹果 iPhone 15 系列健康应用将深度融合 AI 技术  插画师对AI绘画软件的态度是怎样的?  埃森哲俞毅:AI时代我们需要新的“摩尔定律”  洞穴探险神器?可自主导航的单旋翼自旋无人机,效率更高!  马斯克回应人工智能拯救世界:人类已处于“半机器人”状态  速途网络成立“人工智能专家委员会”5位中美博士加盟  Meta发布语音AI模型 Voicebox 助虚拟助手与NPC对话  美军AI无人机“误杀”操作员,人工智能要在军事领域毁灭人类?  1.6亿美元收购Singularity AI,昆仑万维布局通用人工智能  人工智能创作的“婴儿版超级英雄”,你觉得哪个最可爱  IBM将模拟计算用于人工智能,重塑AI计算  国内首款大尺寸仿鸵双足机器人“大圣”亮相,穿戴红色战袍  AI无法对传统文化符号进行解构和创新  微软Xbox称VR和AR还需要时间 先玩大的  Transformer六周年:当年连NeurIPS Oral都没拿到,8位作者已创办数家AI独角兽  AI连线 | 专访风平智能CEO林洪祥:让AI数字人拥有漂亮的外表和有趣的灵魂,安全问题是重要考量  谷歌推出 SAIF 框架,倡导安全环境下探索和发展人工智能 

 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.