SikuGPT2-Poem Model

Model description

The model is used to generate Chinese ancient poems. You can download the model via HuggingFace from the link SikuGPT2-poem.

Since the parameter skip_special_tokens is used in the pipelines.py, special tokens such as [SEP], [UNK] will be deleted, the output results of Hosted inference API (right) may not be properly displayed.

How to use

You can use the model directly with a pipeline for text generation:

When the parameter skip_special_tokens is True:

>>> from transformers import BertTokenizer, GPT2LMHeadModel,TextGenerationPipeline
>>> tokenizer = BertTokenizer.from_pretrained("JeffreyLau/SikuGPT2-poem")
>>> model = GPT2LMHeadModel.from_pretrained("JeffreyLau/SikuGPT2-poem")
>>> text_generator = TextGenerationPipeline(model, tokenizer)   
>>> text_generator("[CLS]明 月 幾 時 有 ,", max_length=50, do_sample=True)
    [{'generated_text': '[CLS] 明 月 幾 時 有 , 斜 陽 正 照 人 。 落 花 雖 一 夜 , 何 處 好 春 春 不 管 。 西 風 摇 落 不 禁 愁 , 一 夜 寒 聲 入 客 喉 。 十 月 寒 威 侵 客 鬢 , 四 更 清 怨 入 心 肝 。 春 風 吹 作 萬 紅 銷 , 玉 頰 金 腮 醉 欲 眠 。 柳 色 相 和 風 雨 惡 , 不 堪 芳 節 又 斜 暉 。 何 日 君 王 許 入 朝 , 五 雲 驄 馬 走 黃 埃 。 白 麻 賜 出 朝 回 日 , 一 片 春 光 滿 上 都 。 萬 里 飛 雲 上 翠 微 , 日 華 摇 曳 照 樓 臺 。 自 從 此 際 無 人 賞 , 還 傍 城 邊 一 穗 歸 。 三 徑 深 幽 古 未 逢 , 野 人 行 已 自 多 求 。 高 亭 對 水 空 無 策 , 冷 雨 疎 櫺 獨 自 垂 。 好 句 滿 山 皆 已 有 , 清 詩 三 兩 未 全 無 。 一 徑 危 亭 接 武 湖 , 長 沙 自 有 世 情 知 。 無 人 到 處 題 名 處 , 不 爲 春 風 一 點 開 。 一 春 佳 處 到 清 明 , 日 日 詩 如 錦 繡 囊 。 却 是 梅 花 有 餘 韵 , 便 隨 風 雨 寄 林 坰 。 秋 宵 獨 坐 最 多 情 , 客 裏 無 人 獨 坐 明 。 月 暗 竹 窗 深 又 白 , 霜 濃 樹 葉 下 還 清 。 誰 同 坐 待 東 園 桂 , 獨 對 寒 窗 獨 自 明 。 平 生 最 羨 太 常 孫 , 十 二 行 人 日 暮 歸 。 夜 半 天 壇 雲 雨 合 , 玉 鸞 啼 罷 九 成 宮 。 萬 古 蒼 梧 葉 , 南 天 白 象 尊 。 千 年 無 鶴 舞 , 一 夜 有 龍 吟 。'}]

When the parameter skip_special_tokens is False:

>>> from transformers import BertTokenizer, GPT2LMHeadModel,TextGenerationPipeline
>>> tokenizer = BertTokenizer.from_pretrained("JeffreyLau/SikuGPT2-poem")
>>> model = GPT2LMHeadModel.from_pretrained("JeffreyLau/SikuGPT2-poem")
>>> text_generator = TextGenerationPipeline(model, tokenizer)   
>>> text_generator("[CLS] 明 月 幾 時 有 ,", max_length=100, do_sample=True)
    [{'generated_text': '[CLS] 明 月 幾 時 有 , 斜 陽 正 照 人 。 落 花 雖 一 夜 , 何 處 好 春 春 不 管 。 西 風 摇 落 不 禁 愁 , 一 夜 寒 聲 入 客 喉 。 十 月 寒 威 侵 客 鬢 , 四 更 清 怨 入 心 肝 。 春 風 吹 作 萬 紅 銷 , 玉 頰 金 腮 醉 欲 眠 。 柳 色 相 和 風 雨 惡 , 不 堪 芳 節 又 斜 暉 。 何 日 君 王 許 入 朝 , 五 雲 驄 馬 走 黃 埃 。 白 麻 賜 出 朝 回 日 , 一 片 春 光 滿 上 都 。 萬 里 飛 雲 上 翠 微 , 日 華 摇 曳 照 樓 臺 。 自 從 此 際 無 人 賞 , 還 傍 城 邊 一 穗 歸 。 三 徑 深 幽 古 未 逢 , 野 人 行 已 自 多 求 。 高 亭 對 水 空 無 策 , 冷 雨 疎 櫺 獨 自 垂 。 好 句 滿 山 皆 已 有 , 清 詩 三 兩 未 全 無 。 一 徑 危 亭 接 武 湖 , 長 沙 自 有 世 情 知 。 無 人 到 處 題 名 處 , 不 爲 春 風 一 點 開 。 一 春 佳 處 到 清 明 , 日 日 詩 如 錦 繡 囊 。 却 是 梅 花 有 餘 韵 , 便 隨 風 雨 寄 林 坰 。 秋 宵 獨 坐 最 多 情 , 客 裏 無 人 獨 坐 明 。 月 暗 竹 窗 深 又 白 , 霜 濃 樹 葉 下 還 清 。 誰 同 坐 待 東 園 桂 , 獨 對 寒 窗 獨 自 明 。 平 生 最 羨 太 常 孫 , 十 二 行 人 日 暮 歸 。 夜 半 天 壇 雲 雨 合 , 玉 鸞 啼 罷 九 成 宮 。 萬 古 蒼 梧 葉 , 南 天 白 象 尊 。 千 年 無 鶴 舞 , 一 夜 有 龍 吟 。'}]

Training data

“Siku Quanshu” full-text corpus was used as Training Data which is same as the project of SikuBERT to train SikuGPT2.

Chinese-poetry was used as Training Data to train SikuGPT2-poem based on SikuGPT2.

Training procedure

The model is Pre-trained by run_clm.py. We pre-train the model with a sequence length of 512. We use extended vocabulary to handle out-of-vocabulary words.

Citation

The paper has been published. You can cite this url.

SikuBERT

https://github.com/hsc748NLP/SikuBERT-for-digital-humanities-and-classical-Chinese-information-processing

Downloads last month
7

Space using JeffreyLau/SikuGPT2-poem 1