SongNet for Chinese Couplet(songnet-base-chinese-couplet) Model

SongNet中文对联仿写模型

songnet-base-chinese-couplet evaluate couplet test data:

The overall performance of SongNet on couplet test:

input_text predict
一句相思吟岁月,千杯美酒醉风情 一生只剩诗和酒,满腹无关雪与梅

在Couplet测试集上生成结果满足字数相同、词性对齐、词面对齐、形似要求,针对性的SongNet网络结构,在语义对仗工整和平仄合律上的效果明显优于T5和GPT2等模型。

SongNet的网络结构:

arch

Usage

本项目开源在文本生成项目:textgen,可支持SongNet模型,通过如下命令调用:

Install package:

pip install -U textgen
import sys

sys.path.append('..')
from textgen.language_modeling import SongNetModel


model = SongNetModel(model_type='songnet', model_name='shibing624/songnet-base-chinese-couplet')
sentences = [
    "严蕊<s1>如梦令<s2>道是梨花不是。</s>道是杏花不是。</s>白白与红红,别是东风情味。</s>曾记。</s>曾记。</s>人在武陵微醉。",
    "<s1><s2>一句相思吟岁月</s>千杯美酒醉风情",
    "<s1><s2>几树梅花数竿竹</s>一潭秋水半屏山"
    "<s1><s2>未舍东江开口咏</s>且施妙手点睛来",
    "<s1><s2>一去二三里</s>烟村四五家",
]
print("inputs:", sentences)
print("outputs:", model.generate(sentences))
sentences = [
    "<s1><s2>一句____月</s>千杯美酒__情",
    "<s1><s2>一去二三里</s>烟村__家</s>亭台__座</s>八__枝花",
]
print("inputs:", sentences)
print("outputs:", model.fill_mask(sentences))

output:

inputs: ['严蕊<s1>如梦令<s2>道是梨花不是。</s>道是杏花不是。</s>白白与红红,别是东风情味。</s>曾记。</s>曾记。</s>人在武陵微醉。', '<s1><s2>一句相思吟岁月</s>千杯美酒醉风情', '<s1><s2>几树梅花数竿竹</s>一潭秋水半屏山<s1><s2>未舍东江开口咏</s>且施妙手点睛来', '<s1><s2>一去二三里</s>烟村四五家']
outputs: ['<bos>盛世欣开新气象</s>春联喜绘大文章</s>春天铺锦笺,宏图更写好山山</s>新篇章</s>新篇章</s>神州高唱好年华</s>', '<bos>一曲琴音添雅韵</s>几回酒醉解愁思</s>', '<bos>三分天下隆中对</s>四面八方九派江山笔底留</s>', '<bos>春深花已老</s>夜静露方浓</s>']
inputs: ['<s1><s2>一句____月</s>千杯美酒__情', '<s1><s2>一去二三里</s>烟村__家</s>亭台__座</s>八__枝花']
outputs: ['<bos>一句佳诗吟盛月</s>千杯美酒祝春情</s>', '<bos>一去二三里</s>烟村百二家</s>亭台十二座</s>八里一枝花</s>']

模型文件组成:

songnet-base-chinese-couplet
    ├── pytorch_model.bin
    └── vocab.txt

训练数据集

中文对联数据集

数据格式:

head -n 1 couplet_files/couplet/train/in.txt
晚 风 摇 树 树 还 挺 

head -n 1 couplet_files/couplet/train/out.txt
晨 露 润 花 花 更 红 

如果需要训练SongNet模型,请参考https://github.com/shibing624/textgen/blob/main/examples/language_generation/training_zh_songnet_demo.py

Citation

@software{textgen,
  author = {Xu Ming},
  title = {textgen: Implementation of Text Generation models},
  year = {2022},
  url = {https://github.com/shibing624/textgen},
}
Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model is not currently available via any of the supported Inference Providers.
The model cannot be deployed to the HF Inference API: The model has no library tag.