探索传统与现代的融合:基于Transformer模型的中华对联智能创作

1.项目背景:

对联,又称对偶、门对、春贴、春联、对子、楹联等,是写在纸、布上或刻在竹子、木头、柱子上的对偶语句。对联对仗工整,平仄协调,是一字一音的汉语独特的艺术形式。对联是中国传统文化瑰宝。当代,对联也经历了创新和变革。 人们以网络为媒介,发挥创意和智慧,创作出既有韵味又充满深意的对联。 例如,上联“小偷偷偷偷东西”引发了网友们的创意,他们纷纷提供了下联,如“大网网网网鱼虾”,勾画出渔民的日常生活画面。 这种创新使对联文化更加丰富多彩,也为每个春节增添了一份独特的乐趣。

2.项目简介:

项目基于Transformer模型训练了一个自动对下联的模型,即你出上联,模型预测并给出下联,如下:

上联:  <start>门迎春夏秋冬福<end>
真实的下联: <start>户纳东西南北福<end>
预测的下联: <start> 家 聚 五 湖 四 海 喜<end>


上联:  <start>风弦未拨心先乱<end>
真实的下联: <start>夜幕已沉梦更闲<end>
预测的下联: <start> 月 影 犹 怜 梦 已 空 <end>

3.环境信息:

  1. paddle系列:组装数据集、搭建模型框架
  2. numpy: NumPy (Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库
  3. functools:主要使用partial,用于数据集的构建工作
  4. random: 随机函数库
  5. matplotlib.pyplot:画图使用
  6. tqdm: 绘制进度条
  7. Python:3.7.4

import paddle

import paddlenlp

import tqdm

import numpy as np

import string

import random

import matplotlib.pyplot as plt from functools

import partial

4.数据集 :

使用的数据集地址:【NLP】对联数据集_数据集-飞桨AI Studio星河社区 (baidu.com)icon-default.png?t=O83Ahttps://aistudio.baidu.com/datasetdetail/110057/1

5.加载数据集:

data_in_path="/home/aistudio/data/data110057/fixed_couplets_in.txt"   # 上联路径

data_out_path="/home/aistudio/data/data110057/fixed_couplets_out.txt" # 下联路径

  •  data_in_path和data_out_path这两个变量分别存储了上联和下联文件的路径。这些文件包含了对联的文本数据。

def openfile(src):

    with open(src,'r',encoding="utf-8") as source:

        lines=source.readlines()

    return lines

data_in=openfile(data_in_path)

data_out=openfile(data_out_path)

all_data_lines=len(data_in) 

  • openfile(src):用于从指定的文件路径src读取数据。它使用with open(src, 'r', encoding="utf-8")打开文件,其中"r"表示以只读模式打开,encoding="utf-8" 确保文件以UTF-8编码读取。
  • lines = source.readlines():这行代码读取文件的所有行,并将它们存储在列表line中。每行代表一个对联的上联或下联。
  • data_in 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值