From 5c886ced47ae79cd15c6cbbd3bcdee70f75016d0 Mon Sep 17 00:00:00 2001 From: wangmeng28 Date: Wed, 8 Nov 2017 19:25:02 +0800 Subject: [PATCH 1/9] Implement train data generation and preprocess for chinese poetry --- generate_chinese_poetry/data/dict.txt | 5037 ++++++++++++++++++++++ generate_chinese_poetry/data/download.sh | 11 + generate_chinese_poetry/preprocess.py | 79 + generate_chinese_poetry/train.py | 2 +- 4 files changed, 5128 insertions(+), 1 deletion(-) create mode 100644 generate_chinese_poetry/data/dict.txt create mode 100755 generate_chinese_poetry/data/download.sh create mode 100755 generate_chinese_poetry/preprocess.py diff --git a/generate_chinese_poetry/data/dict.txt b/generate_chinese_poetry/data/dict.txt new file mode 100644 index 0000000000..7eef978598 --- /dev/null +++ b/generate_chinese_poetry/data/dict.txt @@ -0,0 +1,5037 @@ + + + +, +不 +人 +無 +山 +一 +風 +日 +有 +雲 +來 +天 +中 +何 +花 +時 +上 +水 +春 +月 +生 +相 +爲 +心 +年 +自 +長 +君 +知 +如 +歸 +白 +此 +行 +秋 +見 +去 +清 +空 +得 +在 +夜 +下 +江 +高 +明 +是 +未 +金 +門 +多 +青 +三 +客 +處 +道 +寒 +聲 +子 +千 +家 +落 +事 +玉 +今 +雨 +遠 +前 +萬 +出 +朝 +路 +南 +入 +我 +城 +盡 +飛 +東 +深 +草 +流 +開 +與 +新 +樹 +思 +地 +將 +色 +別 +煙 +還 +已 +欲 +成 +應 +西 +誰 +酒 +馬 +更 +獨 +身 +光 +聞 +向 +可 +重 +同 +閑 +陽 +看 +石 +香 +雪 +望 +滿 +海 +情 +愁 +從 +老 +頭 +林 +難 +衣 +莫 +書 +塵 +古 +方 +紅 +里 +歌 +似 +龍 +名 +能 +樓 +分 +黃 +舊 +作 +遊 +復 +猶 +到 +氣 +當 +平 +過 +仙 +間 +鳥 +言 +葉 +十 +後 +亦 +非 +松 +大 +五 +離 +外 +意 +起 +王 +初 +北 +華 +邊 +幾 +然 +竹 +詩 +世 +隨 +百 +夢 +故 +安 +宮 +暮 +裏 +若 +神 +公 +陰 +吟 +少 +國 +孤 +晚 +終 +露 +野 +漢 +醉 +枝 +柳 +坐 +臺 +好 +四 +文 +碧 +須 +臨 +逢 +幽 +關 +霜 +河 +泉 +輕 +所 +回 +微 +留 +綠 +半 +波 +歲 +問 +連 +芳 +之 +池 +鄉 +影 +共 +因 +九 +小 +近 +經 +兩 +翠 +豈 +斷 +餘 +照 +庭 +期 +驚 +樂 +曲 +尋 +動 +吹 +遙 +曾 +雙 +真 +溪 +殘 +曉 +却 +正 +居 +靜 +對 +物 +星 +常 +苦 +憶 +鶴 +者 +先 +垂 +舟 +木 +沙 +笑 +紫 +悲 +依 +語 +楚 +虛 +通 +二 +至 +鳴 +夕 +和 +迴 +又 +浮 +久 +景 +鳳 +憐 +忽 +登 +合 +傳 +魚 +唯 +靈 +淚 +蒼 +恩 +早 +數 +車 +轉 +堪 +發 +聽 +官 +散 +宿 +丹 +愛 +寂 +女 +以 +且 +主 +送 +使 +死 +病 +懷 +絕 +陵 +覺 +堂 +火 +園 +川 +恨 +峰 +蕭 +帝 +寄 +舞 +太 +霞 +吾 +窮 +秦 +皆 +州 +興 +軍 +僧 +手 +節 +始 +親 +亂 +昔 +其 +沈 +帶 +會 +田 +珠 +識 +悠 +待 +休 +才 +足 +信 +容 +羅 +功 +勝 +度 +涼 +遲 +往 +洞 +晴 +雖 +窗 +畫 +疎 +暗 +聖 +首 +直 +皇 +隱 +閣 +蘭 +隔 +湖 +移 +逐 +夫 +羣 +桃 +斜 +學 +兒 +用 +尚 +含 +燕 +亭 +辭 +士 +兮 +傷 +岸 +兵 +令 +願 +步 +賢 +解 +結 +眼 +謝 +師 +便 +徒 +求 +浪 +倚 +寺 +爭 +立 +定 +本 +疑 +琴 +絲 +臥 +拂 +化 +說 +羽 +只 +即 +荒 +胡 +橫 +六 +殿 +鏡 +乘 +交 +歡 +顏 +貴 +藥 +憂 +命 +朱 +食 +錦 +郎 +桂 +易 +德 +異 +飄 +他 +吳 +念 +塞 +薄 +勞 +喜 +忘 +惜 +玄 +爾 +騎 +啼 +音 +燈 +巖 +力 +苔 +著 +於 +細 +緣 +住 +臣 +及 +口 +教 +由 +楊 +船 +冷 +飲 +榮 +洛 +遺 +感 +迎 +征 +貧 +杯 +劒 +稀 +偏 +低 +髮 +都 +面 +但 +內 +條 +取 +報 +戰 +元 +惟 +闕 +眠 +禪 +魂 +素 +八 +極 +論 +翻 +搖 +漸 +橋 +息 +湘 +衰 +引 +谷 +折 +軒 +映 +迷 +想 +蓬 +變 +蓮 +寶 +良 +侯 +顧 +章 +弦 +鬢 +卷 +必 +宜 +破 +骨 +悵 +梁 +持 +片 +鼓 +守 +雁 +頻 +目 +傍 +掩 +禮 +簾 +越 +精 +寧 +棲 +跡 +接 +任 +紛 +齊 +載 +俗 +土 +武 +鐘 +美 +暫 +諸 +戶 +雞 +傾 +懸 +罷 +帆 +虎 +枕 +凝 +許 +根 +理 +伴 +永 +釣 +觀 +冰 +急 +衆 +昏 +失 +形 +佳 +洲 +性 +暖 +嶺 +井 +徑 +京 +滄 +眉 +盤 +尊 +字 +機 +郡 +泥 +梅 +浦 +收 +村 +鄰 +室 +營 +鶯 +攜 +那 +全 +冥 +每 +李 +最 +七 +舉 +藏 +歎 +御 +鴻 +夏 +腸 +侵 +壁 +敢 +狂 +原 +指 +管 +冠 +銀 +晨 +仍 +張 +兼 +稱 +雄 +既 +幸 +漁 +種 +蟬 +茫 +法 +旗 +積 +被 +遇 +周 +府 +尺 +賞 +牀 +霧 +恐 +旌 +封 +殊 +把 +繁 +茲 +吏 +業 +消 +閉 +圖 +鴈 +危 +繞 +英 +承 +寥 +端 +竟 +房 +輪 +燭 +比 +攀 +象 +渡 +況 +計 +角 +涯 +乾 +點 +怨 +盛 +荷 +哀 +陳 +沒 +縱 +齋 +昨 +孫 +抱 +銷 +句 +調 +勢 +揚 +代 +苑 +牛 +負 +修 +翁 +粉 +賦 +列 +惆 +烏 +筆 +喧 +鸞 +各 +參 +拜 +走 +降 +霄 +斗 +桑 +乃 +嗟 +赤 +淺 +澤 +催 +再 +宵 +童 +肯 +雷 +題 +瑤 +毛 +繡 +志 +要 +禁 +津 +枯 +荆 +屋 +訪 +漏 +遂 +潮 +席 +第 +豔 +丘 +晝 +燒 +偶 +蜀 +奇 +詞 +放 +旅 +蓋 +滅 +猨 +筵 +甘 +錢 +綺 +短 +凌 +館 +淨 +干 +圓 +宴 +程 +俱 +泛 +籠 +弄 +盈 +披 +禽 +底 +達 +戎 +驅 +詠 +勤 +源 +陌 +彩 +境 +銜 +滴 +投 +叢 +濕 +遶 +漫 +瓊 +背 +利 +澗 +誠 +宅 +菊 +妾 +潭 +響 +塘 +途 +輝 +迢 +存 +巢 +壯 +穿 +舍 +襟 +實 +賓 +帳 +強 +借 +擬 +差 +慙 +養 +憑 +潛 +牽 +獻 +廣 +澄 +羨 +云 +殺 +妝 +袖 +厭 +旋 +茅 +覆 +避 +壺 +就 +而 +服 +郊 +奏 +蘿 +史 +奉 +挂 +斯 +渚 +屏 +也 +唱 +受 +擁 +階 +弟 +縣 +耕 +密 +遣 +蕩 +刀 +院 +屬 +駕 +添 +市 +腰 +贈 +戀 +策 +招 +巴 +泣 +漠 +灑 +哭 +杳 +仰 +鴛 +郭 +畔 +威 +嘉 +義 +嫌 +停 +寞 +爐 +耳 +際 +或 +詔 +彈 +聊 +呼 +宗 +丈 +幕 +桐 +除 +侍 +卿 +殷 +淒 +黑 +追 +陶 +了 +妙 +母 +廟 +闌 +壽 +佛 +曙 +棄 +省 +儒 +限 +壇 +浩 +牆 +嘗 +彼 +試 +血 +歇 +候 +掃 +疊 +疾 +杜 +婦 +翼 +夷 +歷 +淮 +瑞 +友 +嚴 +峽 +洗 +駐 +巾 +鬼 +層 +游 +濃 +鹿 +哉 +廬 +商 +濟 +篇 +羞 +採 +辛 +奈 +杖 +猿 +麗 +伏 +怪 +隴 +冬 +勸 +鱗 +倒 +裳 +秀 +埃 +嬌 +昭 +侶 +馳 +富 +推 +逸 +延 +遷 +睡 +鞭 +布 +笙 +蝶 +免 +島 +簪 +忍 +祖 +蘇 +濤 +辰 +父 +醒 +甲 +切 +趨 +果 +蟲 +適 +止 +熟 +表 +闊 +雀 +鼎 +扉 +拋 +伊 +扇 +宇 +話 +韻 +扶 +兄 +改 +肅 +薦 +體 +頂 +儀 +簷 +致 +乍 +樵 +繫 +窺 +遍 +蒙 +印 +惡 +造 +政 +謂 +壑 +煩 +退 +零 +驛 +次 +戍 +邑 +飢 +總 +佩 +展 +界 +纔 +讀 +勿 +采 +鬱 +買 +賤 +固 +姓 +戈 +澹 +檻 +騰 +險 +嶽 +汝 +進 +杏 +酌 +促 +場 +奔 +蒲 +雜 +霑 +霽 +暑 +寸 +暉 +纖 +善 +笛 +符 +占 +己 +鮮 +環 +虜 +號 +余 +岳 +亡 +脫 +咽 +返 +瑟 +集 +痕 +射 +甚 +祗 +記 +委 +芙 +陪 +堯 +焚 +裁 +宣 +梧 +索 +摧 +銅 +染 +炎 +座 +衡 +迥 +味 +鎖 +寫 +畏 +台 +履 +振 +柏 +曠 +珍 +網 +綵 +鬬 +蕪 +崖 +箇 +蹤 +劉 +籬 +曹 +凡 +支 +鷺 +屈 +柱 +位 +巫 +竿 +鉤 +阻 +泊 +羊 +灰 +酬 +墮 +聚 +簫 +茶 +謀 +貞 +違 +換 +渭 +益 +司 +請 +民 +翩 +蓉 +仁 +吐 +寵 +觴 +妻 +律 +悟 +籍 +芝 +巷 +弓 +愚 +犬 +于 +妨 +姿 +雅 +旦 +福 +蛾 +豐 +栽 +戲 +掌 +磬 +賜 +運 +靄 +鷗 +貪 +壓 +岐 +建 +踏 +左 +觸 +廢 +覓 +側 +資 +宛 +砌 +娥 +峯 +翰 +朔 +瀟 +堤 +徵 +提 +團 +假 +慮 +箭 +施 +徹 +揮 +社 +舒 +饒 +織 +雕 +宦 +敵 +激 +伯 +累 +置 +右 +慶 +縈 +劍 +役 +束 +競 +裴 +潤 +視 +坤 +渺 +衝 +滯 +唐 +託 +忠 +肉 +貌 +趣 +防 +嘶 +態 +稍 +量 +值 +升 +惠 +獵 +蹄 +陸 +墜 +嘯 +尾 +毫 +氛 +談 +藤 +崇 +魄 +潺 +農 +保 +啓 +欺 +羈 +詎 +櫂 +錫 +咸 +祿 +豪 +徧 +魯 +渾 +龜 +鴦 +智 +氏 +謁 +凍 +巡 +齒 +瞻 +鐵 +閨 +萊 +裘 +弱 +焉 +皎 +兔 +蘋 +埋 +蠻 +偷 +纓 +遮 +等 +寬 +輦 +鎮 +霏 +濛 +誇 +彌 +慵 +質 +辨 +泠 +颯 +潔 +續 +男 +祥 +屢 +嵩 +汀 +陣 +鵲 +蛇 +飯 +凋 +徐 +簟 +翔 +巧 +紗 +斾 +融 +單 +圍 +堅 +繼 +蘆 +媿 +約 +丁 +寢 +則 +術 +護 +溟 +虹 +墨 +斑 +末 +領 +康 +昌 +槐 +穴 +鞍 +助 +峨 +賴 +隅 +柴 +私 +工 +濱 +反 +排 +欄 +慘 +簡 +谿 +魏 +刺 +擊 +灘 +班 +袍 +碎 +耀 +般 +默 +仗 +棹 +備 +晉 +嬾 +減 +倦 +予 +森 +藻 +蘚 +衢 +超 +楓 +淹 +矣 +輿 +渠 +類 +欹 +溝 +熱 +加 +鋪 +麻 +蕙 +蘂 +執 +祠 +綿 +忙 +暇 +綬 +萍 +邀 +鍾 +乞 +堆 +怕 +囊 +墳 +溫 +瘦 +阿 +希 +酣 +叟 +洪 +捧 +淡 +廊 +牧 +磨 +羸 +健 +臘 +肥 +茂 +迹 +畢 +鑿 +幷 +樽 +午 +岑 +嵐 +暝 +探 +濁 +聯 +佐 +堦 +獸 +仲 +街 +鉛 +牙 +賀 +瘴 +釵 +並 +爛 +絳 +賊 +岫 +遭 +晏 +柔 +愧 +嫁 +抽 +誤 +逕 +汗 +苗 +賈 +賒 +輩 +碑 +麟 +孔 +螢 +匣 +妃 +泰 +滋 +維 +飽 +厚 +妖 +帷 +戴 +娟 +枉 +規 +供 +俯 +器 +撫 +欣 +紙 +吞 +株 +禍 +宰 +材 +笳 +耿 +萋 +衫 +諫 +拙 +夾 +擲 +虞 +餐 +姑 +嶂 +橘 +認 +謫 +騷 +宋 +戟 +遼 +雛 +韶 +慰 +稻 +褭 +趙 +孝 +梯 +濯 +瀑 +綸 +職 +沾 +璧 +偃 +刻 +契 +翅 +電 +霓 +皓 +習 +戚 +標 +蛟 +逍 +區 +庶 +昇 +謾 +黛 +匹 +戒 +敗 +權 +喬 +慕 +扁 +卑 +喚 +摘 +狼 +價 +嫩 +宸 +擾 +砂 +梳 +砧 +弔 +顛 +鬚 +涕 +菲 +鷹 +麥 +淪 +劫 +料 +灞 +署 +莎 +薰 +賣 +壘 +奪 +榆 +烟 +縷 +莊 +佇 +垣 +塔 +墀 +拾 +搜 +稽 +躍 +腹 +袂 +速 +勳 +脚 +闈 +呈 +狀 +略 +綴 +卜 +慈 +打 +湯 +驕 +敬 +漾 +絮 +剪 +悽 +疏 +順 +困 +孟 +莖 +菱 +裝 +制 +娛 +爽 +禹 +赴 +梵 +浸 +築 +讓 +頗 +喪 +媚 +栖 +珮 +練 +蒿 +覽 +梨 +植 +猛 +芽 +選 +馨 +黍 +典 +旬 +矜 +寐 +恣 +災 +穩 +襄 +紀 +卒 +授 +損 +決 +漲 +整 +疲 +赫 +頃 +忝 +盧 +舜 +衛 +朗 +穆 +透 +韓 +冤 +廻 +悄 +杉 +逼 +奴 +啄 +注 +烽 +錯 +具 +臯 +僕 +姬 +沉 +瓦 +繩 +央 +妍 +朋 +涉 +罪 +蔽 +輸 +僻 +拔 +活 +簇 +邦 +鳧 +癡 +鄭 +障 +否 +圃 +巨 +曳 +緒 +艱 +鴉 +乳 +徊 +的 +磧 +秉 +葛 +覩 +辱 +季 +臉 +講 +崔 +慚 +毒 +烈 +瓶 +祝 +阮 +丞 +嫋 +祀 +科 +翦 +葬 +蔓 +格 +聳 +蠶 +設 +媒 +沼 +窟 +頹 +鸚 +專 +案 +遐 +后 +塗 +妓 +礙 +議 +郢 +增 +校 +蹉 +倍 +函 +膏 +蟾 +跎 +鈿 +閭 +插 +渴 +瀛 +珊 +告 +斂 +朽 +架 +液 +部 +鼠 +攢 +陂 +榻 +氳 +邪 +鬟 +握 +遞 +均 +尉 +晦 +牢 +隋 +倫 +慢 +舌 +薜 +蜂 +煖 +頓 +崑 +敲 +湲 +潘 +兀 +棘 +狐 +馭 +乖 +怯 +秪 +粟 +轅 +鋒 +勒 +寰 +惹 +槎 +煎 +腥 +豁 +辟 +逾 +鯨 +吉 +怒 +棠 +滑 +藉 +逃 +飆 +浴 +申 +衾 +雉 +冉 +緩 +翮 +鑒 +旨 +混 +裙 +妄 +柯 +祇 +鵡 +付 +伐 +皮 +震 +掖 +救 +漂 +誓 +逝 +飜 +噪 +操 +畝 +旁 +暎 +特 +翳 +域 +寇 +峻 +彭 +撲 +缺 +鍊 +驪 +髪 +務 +噴 +惱 +族 +汲 +編 +藹 +敷 +橈 +裾 +驄 +孰 +尤 +恭 +品 +壞 +岡 +瓜 +眷 +翡 +躬 +充 +徘 +悔 +瀾 +膽 +藍 +像 +序 +庾 +蒸 +優 +屯 +補 +捨 +烹 +眇 +眺 +籌 +傅 +傲 +冕 +匡 +局 +嗚 +犯 +臂 +蕃 +迤 +緘 +纏 +逆 +凰 +召 +牖 +兆 +梢 +示 +禾 +稚 +翫 +脈 +髻 +檀 +瀉 +轍 +廚 +扃 +捲 +棊 +涵 +蔬 +貂 +駿 +仞 +儻 +博 +夭 +嬋 +歛 +疆 +篋 +肩 +蟻 +誦 +巒 +藜 +蹇 +迸 +頌 +亞 +峭 +循 +摩 +焰 +痛 +莓 +衲 +霸 +刃 +桮 +納 +鵬 +鼙 +崩 +廷 +沽 +裂 +謠 +釋 +匪 +旱 +煌 +篁 +薇 +蹋 +愜 +慣 +稜 +藩 +閒 +靡 +溜 +漿 +鑾 +帽 +撥 +沐 +煮 +犀 +穀 +竈 +組 +訝 +墓 +懶 +截 +斬 +朵 +箏 +茗 +鑪 +扣 +洽 +牡 +瑣 +算 +胸 +蟠 +貫 +俄 +帛 +筋 +線 +霖 +叫 +棟 +榭 +櫻 +汾 +貢 +費 +几 +勇 +沿 +突 +籟 +謬 +鈞 +凭 +基 +害 +嶼 +按 +米 +踐 +埽 +恥 +悅 +揖 +曛 +溢 +潯 +臾 +豹 +奠 +狎 +紆 +肌 +蕉 +儼 +叔 +囀 +嬰 +徽 +悴 +懼 +曆 +葭 +湛 +漱 +熏 +軟 +轡 +凶 +熊 +逶 +銘 +鏘 +闇 +隣 +寡 +慎 +油 +甕 +莽 +預 +沖 +灣 +獲 +芬 +霰 +颻 +劇 +妬 +患 +愴 +抵 +治 +猜 +獄 +硯 +秩 +羌 +薪 +鋤 +鵠 +鹽 +忌 +溼 +翹 +躡 +雍 +併 +儔 +屐 +檣 +熒 +着 +縫 +貯 +恆 +旄 +畦 +絃 +葦 +剛 +嶠 +瓏 +艇 +附 +餌 +驥 +黎 +曜 +澀 +褐 +閱 +齡 +幃 +灼 +綃 +脉 +膝 +刑 +咫 +夙 +漳 +盜 +膺 +醪 +倏 +割 +效 +穹 +配 +餞 +剎 +巍 +廓 +椒 +檝 +測 +祭 +筍 +蔡 +遽 +麋 +剡 +卓 +呌 +幢 +粲 +脂 +豫 +軸 +頑 +互 +墟 +怡 +筠 +蛩 +訣 +遰 +顯 +鯉 +倉 +榴 +現 +膩 +勁 +匠 +啾 +弘 +札 +乏 +享 +削 +勻 +攻 +沃 +濺 +瀝 +虧 +槿 +灌 +焦 +疇 +芒 +萼 +藝 +豆 +隈 +黯 +杵 +楹 +睿 +財 +醫 +俊 +僮 +拍 +昧 +樣 +淅 +稼 +迫 +陟 +顇 +哲 +憎 +偈 +崙 +柄 +檢 +淥 +瓢 +羲 +褰 +式 +悶 +派 +玲 +縹 +茸 +鈴 +馮 +麝 +麾 +匝 +囚 +壤 +尹 +幌 +斧 +板 +磯 +稅 +窈 +蔭 +鼻 +彤 +暄 +湍 +竇 +粒 +蹊 +顦 +鴣 +塢 +填 +寓 +恰 +拘 +燄 +牋 +率 +甸 +紋 +絡 +罇 +邈 +鵷 +憲 +捐 +暢 +汞 +窄 +葵 +諧 +醜 +閶 +闔 +飾 +骸 +鷓 +峴 +擎 +汎 +琅 +繚 +藕 +蠟 +驂 +魔 +鵝 +娘 +彎 +柘 +范 +萸 +跳 +躕 +逈 +霍 +韋 +髯 +鵰 +俸 +構 +熙 +竊 +竝 +諳 +鄙 +髭 +乎 +囂 +嵬 +快 +憔 +淫 +稷 +竭 +胎 +軀 +鑄 +闢 +雌 +叨 +榛 +灩 +燼 +茵 +警 +酸 +颺 +俎 +店 +憤 +拭 +暴 +浣 +羇 +荅 +誅 +輔 +閤 +馴 +髣 +髴 +鼇 +喫 +圭 +援 +棧 +祕 +舂 +製 +踟 +黏 +冀 +擣 +湧 +瀨 +矯 +茍 +荔 +巵 +拳 +昆 +榜 +淵 +滔 +爵 +猷 +稠 +肝 +蠹 +貽 +躅 +伸 +晶 +溶 +潁 +玩 +珪 +瑚 +甫 +窕 +笋 +鏁 +惑 +拱 +駟 +俠 +僊 +冒 +冢 +唳 +喻 +幻 +惻 +滌 +漆 +祚 +緬 +諒 +隙 +驟 +挑 +珂 +琵 +琶 +盆 +磷 +箔 +聰 +呂 +嗔 +撼 +擇 +栗 +跨 +隼 +儉 +儲 +嚬 +坊 +娃 +幹 +恃 +斟 +涓 +翛 +耶 +討 +蹙 +坡 +瘡 +簿 +綱 +耽 +蓼 +裹 +輟 +你 +勉 +慧 +旭 +朧 +磴 +薊 +躋 +遁 +億 +巔 +悉 +旒 +煉 +瑩 +祈 +芸 +颼 +鵑 +鵶 +丸 +僚 +吁 +塚 +婆 +庸 +拆 +搔 +杪 +淑 +璃 +綻 +考 +膚 +訴 +貝 +遵 +鱸 +檄 +舸 +菩 +蠡 +趁 +陋 +介 +壠 +姚 +嵇 +徼 +控 +湄 +產 +荻 +衙 +贏 +蹕 +騮 +包 +宙 +挹 +掉 +昂 +羹 +陀 +陷 +隄 +額 +騁 +鬧 +卻 +坂 +慨 +播 +盃 +糧 +菜 +軫 +剩 +厥 +坎 +坼 +幡 +替 +秘 +縛 +纍 +芊 +轂 +些 +冶 +判 +尼 +敞 +梭 +箱 +籙 +蟄 +讐 +豺 +邁 +鴨 +麒 +克 +吠 +壻 +敎 +樞 +檐 +漣 +肆 +虔 +襲 +謳 +仕 +嗣 +堞 +忻 +棋 +爪 +玳 +甌 +眸 +缾 +罍 +蒹 +吼 +婉 +幼 +敦 +暈 +毬 +篆 +緇 +緜 +縮 +菰 +蕤 +蠅 +遑 +項 +馥 +掛 +撩 +欠 +沸 +答 +粱 +脩 +鏤 +陛 +凜 +崢 +嶸 +弊 +慟 +曰 +楫 +歿 +茱 +螭 +訟 +辜 +鉢 +亮 +叩 +奮 +彫 +彰 +徂 +捷 +樊 +欽 +淳 +紱 +緲 +芰 +菡 +萏 +衮 +鉞 +頤 +寨 +憩 +栢 +櫳 +猩 +航 +蓑 +軋 +頸 +龕 +傑 +幄 +擺 +段 +毀 +犢 +狗 +窠 +蹔 +逡 +醴 +鷁 +乙 +垢 +婚 +屑 +沫 +膠 +阜 +隆 +隻 +驢 +奢 +嵯 +廉 +淼 +琢 +胥 +鴟 +彥 +掇 +據 +棃 +玕 +穠 +讒 +閩 +努 +番 +竄 +訓 +麤 +伍 +渥 +澆 +濫 +狖 +肺 +贊 +髓 +旃 +琉 +笠 +踰 +奕 +款 +氈 +狹 +粧 +蔥 +邯 +邸 +鄲 +閃 +鸎 +凱 +攬 +沓 +湓 +畿 +監 +盼 +箕 +纜 +舫 +衷 +謨 +駭 +騶 +儂 +卉 +庚 +愈 +拖 +濡 +瑕 +穗 +腕 +芭 +苒 +蜜 +觜 +諾 +鏗 +韜 +驗 +鮑 +鳶 +巘 +揭 +炭 +竺 +筇 +筐 +紈 +翎 +裛 +襦 +俟 +咨 +帥 +帬 +懃 +棗 +炊 +煥 +甃 +盞 +碁 +秖 +窅 +筯 +給 +膳 +醺 +鸝 +帖 +恒 +挾 +朦 +溺 +爰 +牕 +眄 +研 +績 +鄴 +鑑 +駸 +魅 +黔 +姦 +擒 +擔 +槍 +檜 +熳 +葱 +錄 +駒 +倩 +桓 +浙 +涇 +濆 +瑁 +荀 +鄒 +醆 +針 +饑 +冊 +喉 +婢 +徇 +恬 +扈 +曈 +杼 +梗 +泓 +潦 +炙 +茨 +趂 +隊 +餓 +墻 +帙 +幅 +憚 +枚 +矛 +育 +脣 +蕖 +蘊 +證 +邛 +闐 +麴 +剖 +嘆 +導 +幔 +抑 +挽 +捉 +斸 +殃 +牓 +璫 +禋 +翊 +耐 +苞 +褒 +譽 +隳 +革 +審 +屠 +曝 +汴 +癖 +虬 +蛛 +袁 +課 +醞 +阡 +顆 +鮫 +鳩 +唧 +娑 +嶇 +捫 +擅 +擢 +肘 +藂 +邇 +邙 +邨 +匈 +嗜 +奸 +嫖 +巳 +擘 +篠 +羶 +轆 +遨 +鑠 +閟 +閬 +鼉 +佞 +叶 +墅 +夔 +尖 +巉 +掣 +摶 +耻 +腦 +芻 +豸 +郵 +閻 +倡 +創 +壚 +寅 +崎 +彊 +戢 +杭 +槁 +瞥 +萱 +薤 +責 +釀 +頒 +鱠 +鶚 +嬴 +察 +廈 +旂 +洋 +淋 +禱 +緱 +臆 +艾 +觥 +詣 +轤 +述 +伶 +倘 +坑 +庫 +慷 +戛 +掾 +敘 +梓 +炷 +碣 +股 +蕨 +蛙 +蟋 +躊 +軺 +逞 +岷 +峒 +懽 +挈 +斫 +榼 +泗 +稟 +紳 +脆 +萌 +裔 +複 +蹈 +驤 +鬣 +債 +副 +吸 +咄 +員 +崆 +廳 +恍 +慇 +斤 +朮 +槃 +櫪 +汙 +瞿 +純 +耆 +菌 +董 +閏 +鶒 +鸂 +啞 +奚 +姹 +徙 +扆 +掬 +曖 +簧 +霹 +顰 +什 +刷 +卦 +噓 +屍 +床 +托 +燎 +筌 +葳 +蟀 +讌 +跪 +辯 +鈍 +庇 +拄 +氤 +泝 +漪 +統 +蜃 +誘 +趾 +躑 +逗 +靂 +頷 +黨 +劣 +協 +卯 +呵 +嚼 +嬉 +徴 +晞 +梟 +歘 +毳 +涸 +演 +版 +琪 +稔 +缸 +肢 +腐 +薛 +裟 +飡 +叱 +坦 +戮 +朴 +查 +棣 +洄 +滓 +牲 +瞰 +礫 +縠 +罥 +蒨 +袈 +誼 +謗 +逋 +驊 +鶻 +冪 +剝 +嗤 +嘲 +孺 +惶 +愔 +挺 +暌 +曷 +沛 +漉 +漚 +璞 +磊 +租 +秣 +粗 +荇 +藿 +誕 +貺 +厄 +屨 +曬 +穰 +筒 +篷 +籜 +籥 +繭 +蔕 +讎 +豎 +蹀 +醅 +醮 +銖 +頰 +厲 +奧 +妒 +峩 +抗 +揀 +槳 +爍 +究 +肱 +舃 +菖 +蚊 +輭 +迅 +酷 +閫 +陲 +霆 +鞋 +饌 +兢 +塹 +岧 +帔 +掠 +沅 +澈 +狄 +盥 +碾 +紵 +絆 +緯 +舅 +萎 +酲 +鞦 +駑 +騏 +塊 +姻 +嫦 +嶮 +悞 +愆 +歆 +盟 +矢 +禦 +緊 +聾 +芍 +苟 +蓄 +虵 +蜍 +貨 +隘 +靖 +龐 +佯 +兇 +嬪 +孩 +尸 +模 +污 +涔 +渤 +潸 +濩 +炬 +猴 +琳 +盂 +笥 +絹 +葩 +貔 +躇 +軌 +鍼 +靨 +娉 +攸 +普 +柚 +椀 +橐 +櫛 +穢 +罔 +菴 +蓂 +詳 +諷 +賭 +賽 +錐 +鏃 +伎 +弧 +怱 +惕 +拈 +搴 +斛 +歧 +泫 +爨 +畬 +芷 +葺 +蝴 +衞 +衿 +躞 +較 +鄧 +鐸 +闥 +騫 +鴿 +剃 +寮 +攝 +攪 +汚 +泬 +準 +瀲 +甿 +矚 +竽 +笏 +籃 +罅 +聒 +螺 +酊 +鋩 +鐫 +饗 +例 +啻 +嘈 +堵 +懿 +捕 +敝 +析 +槽 +漬 +燃 +爇 +縑 +罕 +耘 +蓀 +藪 +衍 +覿 +諭 +譚 +蹲 +軿 +酩 +鐺 +韆 +颭 +駝 +鴒 +哂 +墉 +幘 +惚 +搏 +朓 +泯 +滻 +澌 +煦 +疵 +盪 +糟 +繇 +罄 +蓴 +薔 +蚌 +誚 +誡 +誥 +諠 +遏 +邅 +酤 +醑 +鑣 +餉 +鹵 +偎 +効 +嗷 +娜 +概 +涎 +淩 +獰 +碌 +箋 +範 +綰 +緝 +蘢 +袴 +這 +邵 +釐 +顒 +駘 +麈 +仇 +刊 +哺 +妹 +婷 +彝 +抄 +摐 +杞 +樸 +氅 +烝 +煬 +狩 +珀 +琥 +睨 +穡 +級 +聆 +胄 +蔚 +蝕 +蠢 +襜 +襪 +訛 +邃 +唾 +宏 +屣 +嵌 +幣 +庵 +恤 +敕 +椿 +汨 +渝 +煞 +甍 +療 +皤 +睛 +瞋 +瞳 +禰 +羆 +聘 +蛺 +譙 +迂 +銳 +黠 +亥 +俛 +劈 +垓 +恢 +拒 +搆 +擡 +晤 +暾 +曩 +欵 +淇 +珥 +璣 +祉 +禎 +穉 +粥 +罹 +翥 +耗 +苕 +苧 +蔣 +諱 +輅 +轄 +郁 +鄂 +醇 +鈎 +鑷 +闋 +駛 +偕 +叛 +孕 +嵋 +嵒 +弁 +拏 +掘 +撚 +曦 +沮 +沱 +湟 +灾 +犂 +猗 +玷 +皂 +磻 +禊 +糞 +罩 +萄 +蝦 +譯 +貼 +邕 +郄 +鎬 +麽 +亨 +倪 +刈 +勾 +姪 +姮 +娶 +寤 +弋 +戾 +殫 +潑 +潼 +炳 +爻 +猱 +瑰 +甑 +甯 +翕 +翟 +臼 +茆 +蘸 +蝸 +詐 +陝 +隕 +伽 +姝 +孱 +岱 +弩 +彷 +撐 +旻 +昊 +曼 +楸 +洶 +狡 +琱 +癘 +礪 +篙 +臻 +蜺 +詰 +跼 +蹬 +迍 +酥 +隗 +飀 +鵩 +鵾 +麓 +黜 +刮 +垠 +幰 +庖 +慾 +憧 +懇 +斥 +枳 +泱 +瀧 +牘 +畧 +皚 +盲 +竦 +箜 +篌 +緋 +繳 +蕊 +謙 +距 +輙 +逅 +邂 +鑰 +隰 +驃 +鶺 +丙 +俾 +噬 +夤 +婁 +孜 +屹 +憀 +杓 +歟 +毘 +洮 +瀰 +瞑 +祛 +窣 +綆 +綾 +翱 +肇 +肚 +舷 +芹 +蘼 +虯 +蚩 +蛻 +褥 +襯 +貰 +踪 +邐 +鋋 +霾 +鞞 +鼕 +卵 +呀 +咬 +喘 +坰 +完 +弭 +怳 +憫 +拓 +搗 +旐 +汩 +淘 +璇 +瞬 +簸 +綏 +綽 +臭 +裨 +訊 +譴 +赭 +輾 +鄱 +鐙 +閽 +餅 +魑 +鯢 +鷥 +鼈 +僞 +匏 +卸 +嘹 +堠 +忡 +戊 +抃 +攄 +攘 +晡 +毿 +淙 +湫 +烘 +甄 +睇 +羯 +胷 +脊 +莢 +蘺 +蜻 +覃 +覲 +踞 +蹟 +軻 +轟 +鎗 +闡 +駢 +騖 +鷄 +鷖 +堰 +壖 +崦 +撓 +旟 +朅 +楨 +榔 +檉 +汪 +浹 +湼 +潢 +炯 +獎 +甜 +睢 +碩 +祐 +箴 +罰 +聿 +腮 +苓 +蓽 +蕚 +蟹 +詢 +詭 +謹 +逵 +遯 +隸 +驀 +髦 +鸕 +亙 +刁 +卞 +塲 +孥 +懲 +戌 +揜 +泄 +瀚 +皺 +禿 +筭 +籤 +絜 +膻 +荑 +薩 +諍 +謐 +謔 +譏 +赦 +蹭 +轝 +逮 +酉 +醍 +錚 +仄 +勃 +夸 +婺 +孀 +孽 +嶔 +廐 +廩 +撞 +攲 +斝 +晃 +柵 +棺 +毗 +淬 +瀘 +熠 +猖 +璋 +矻 +籩 +緹 +繆 +罏 +蜓 +譜 +譬 +蹴 +輈 +迦 +酺 +釧 +釭 +闉 +駡 +刳 +勅 +啜 +姥 +岩 +拯 +撤 +殼 +汶 +泳 +溉 +滂 +漭 +犧 +畋 +禳 +紺 +縉 +耒 +蜘 +評 +輒 +迨 +陬 +丑 +伺 +個 +冽 +囑 +曇 +椽 +櫓 +沌 +渦 +濠 +瀆 +熾 +燠 +燥 +燧 +牒 +痍 +皁 +盌 +磵 +窓 +筑 +臧 +舁 +躁 +遒 +遜 +醐 +鐃 +鑽 +鞅 +颸 +饋 +鰲 +兜 +匕 +咎 +喔 +嶤 +廁 +恡 +惺 +懦 +旛 +桴 +渙 +濬 +獺 +瑜 +皴 +縞 +縲 +腴 +舴 +艋 +艷 +芋 +薺 +蜉 +螻 +蹶 +辦 +酡 +騑 +鬐 +鯤 +鸛 +黿 +龔 +亹 +倖 +允 +劃 +呦 +囷 +囿 +埒 +塋 +塍 +姜 +尅 +峙 +彿 +恓 +搘 +擷 +曄 +杲 +槌 +樗 +橡 +沂 +沆 +漓 +炁 +獬 +獼 +璨 +瓌 +甥 +畜 +疫 +睥 +砥 +笈 +箸 +繒 +罾 +翾 +艘 +茯 +茹 +蘅 +蠲 +該 +詵 +豚 +貳 +賸 +跋 +軾 +霅 +騅 +鵜 +鷦 +鷲 +鼯 +仔 +侈 +勵 +厓 +叉 +嘒 +嘖 +幟 +强 +愉 +挫 +捎 +揆 +攫 +欒 +湮 +澦 +琯 +璜 +璽 +祓 +綢 +緗 +縶 +纂 +罘 +罟 +艫 +蒂 +虺 +蜩 +蝗 +裊 +跂 +轔 +鏑 +鏞 +隍 +鞘 +魁 +鴂 +鷙 +匿 +咿 +喃 +嚲 +嚶 +嶢 +忤 +抹 +搶 +旰 +晷 +曨 +柝 +橙 +灧 +熨 +痊 +痾 +瘵 +祁 +穎 +窘 +竅 +粢 +粵 +絺 +羃 +芟 +荏 +蔗 +蝣 +譁 +貸 +鎔 +鞏 +顥 +騕 +鴞 +佗 +咒 +噫 +奄 +孑 +嵓 +慳 +慼 +懾 +戇 +掀 +攏 +椶 +汜 +泮 +洩 +涘 +湊 +潏 +潰 +瀼 +燋 +睠 +秔 +筮 +粘 +纛 +羔 +胤 +腋 +膾 +襃 +諦 +豕 +躔 +酎 +鬻 +鳷 +鶗 +鷀 +鸇 +齧 +估 +冗 +匙 +喝 +嚮 +圻 +培 +壬 +姊 +嫉 +悼 +惸 +愍 +押 +拊 +挼 +措 +搦 +枿 +柿 +沴 +浥 +涪 +瀣 +焙 +熬 +燦 +牟 +狸 +猪 +硬 +碓 +祲 +篸 +簞 +纊 +腑 +舄 +菼 +萃 +葷 +蚤 +蛤 +螿 +誣 +遘 +鄠 +酹 +釘 +雰 +霈 +靴 +韝 +餒 +魍 +魴 +鵁 +鶄 +侔 +咍 +哮 +噉 +圜 +址 +婀 +弈 +弗 +徭 +惰 +拽 +捻 +摵 +撃 +敧 +棒 +椎 +氓 +爺 +牌 +獅 +玫 +瓠 +畹 +癸 +睦 +睫 +矗 +箬 +紐 +緡 +繻 +繽 +纈 +艦 +芥 +薑 +虢 +蛄 +蟪 +褊 +讚 +賺 +贖 +赬 +蹌 +釜 +鉏 +隟 +雹 +飱 +驎 +魎 +鶩 +鷃 +鷯 +鸑 +鹹 +黼 +僅 +咆 +啟 +嚥 +壕 +宓 +嶷 +廂 +怏 +悤 +慄 +敻 +斵 +柰 +梔 +榦 +毅 +涌 +滎 +畎 +穫 +籞 +緼 +繪 +罨 +腫 +臊 +茜 +菁 +蔔 +蕣 +蘗 +虐 +蠭 +衒 +覯 +諂 +踴 +酪 +鎚 +鞮 +餧 +鬯 +鵒 +鷟 +鷰 +黷 +僵 +兕 +勘 +匱 +匳 +埏 +壅 +妥 +娼 +媧 +嫂 +嶧 +帟 +弼 +徨 +怠 +悒 +懺 +扼 +桔 +楞 +楠 +洼 +澣 +澧 +濾 +球 +琤 +璠 +瘞 +皐 +眩 +矩 +矰 +禺 +窻 +糊 +糠 +羗 +耨 +臍 +舶 +荃 +菓 +葆 +蓍 +蔟 +蔻 +薙 +藁 +蘧 +蟆 +蠱 +訶 +詮 +謇 +貍 +賃 +賡 +酇 +鍤 +鞚 +頳 +駱 +齎 +募 +勺 +吝 +哢 +唇 +坳 +墊 +媸 +孃 +孌 +巇 +怖 +恕 +批 +拗 +括 +斕 +晼 +櫃 +櫟 +欃 +毯 +沁 +沄 +涴 +滉 +滕 +琰 +癭 +皙 +笄 +紜 +絛 +絢 +緌 +繰 +耦 +脛 +臙 +蚋 +蠁 +覰 +豬 +賁 +踵 +霤 +靚 +飧 +飫 +飼 +馱 +駮 +騃 +鰥 +鸊 +麄 +倂 +偉 +刪 +叵 +咤 +嗁 +嗅 +坻 +塤 +壟 +嬈 +宥 +崿 +嶙 +弛 +悍 +懊 +摛 +敏 +旺 +昴 +槊 +樟 +歐 +汍 +汭 +沚 +灃 +炫 +珉 +琨 +璿 +瘼 +盱 +瞪 +碪 +磐 +礎 +紲 +紹 +綦 +縵 +翺 +肖 +胝 +脾 +艮 +苜 +葑 +蓿 +薝 +蘄 +蘩 +蝀 +蝨 +螯 +裕 +襞 +謌 +迺 +鏌 +韁 +鬃 +鱣 +鳯 +鶿 +丱 +僂 +償 +冲 +凉 +劚 +叮 +噎 +妤 +婕 +崒 +廡 +捋 +揄 +携 +撒 +斃 +暘 +殞 +泚 +浚 +淄 +滹 +漵 +澁 +澒 +玦 +瑠 +璵 +皪 +祜 +篪 +簋 +糵 +糾 +紉 +繹 +纁 +胭 +荳 +菑 +葡 +葫 +蒺 +蛬 +蛸 +蜿 +蠆 +袒 +販 +貶 +輶 +醲 +鍛 +鎩 +鞬 +騄 +魈 +鶱 +丕 +丰 +佾 +侮 +傭 +剔 +勗 +呻 +哥 +啖 +囹 +圄 +嫣 +崗 +帚 +廛 +彗 +忉 +忒 +忿 +悰 +惘 +慍 +技 +挲 +掞 +揉 +描 +搢 +撇 +擻 +斐 +斡 +旎 +晰 +枷 +桁 +槔 +殤 +溥 +澡 +澥 +瀍 +琚 +督 +秤 +穽 +箒 +粹 +紇 +綫 +罝 +舲 +艤 +芡 +苛 +苡 +蔦 +蘖 +袋 +袷 +裀 +裯 +誨 +貅 +趫 +迭 +酆 +鉦 +鐶 +閔 +閼 +韉 +頴 +騂 +騾 +髫 +麛 +係 +倜 +傞 +儕 +儷 +兌 +刖 +刼 +哦 +啁 +嘔 +嘿 +嚀 +嚙 +媛 +嫗 +嫠 +孚 +它 +帕 +庠 +廄 +彙 +憨 +摻 +摽 +撰 +敖 +旖 +昃 +柁 +柑 +栱 +棼 +椰 +楣 +樛 +歊 +殢 +殲 +淤 +濶 +瀁 +炮 +牝 +琮 +瑯 +甎 +皛 +睽 +矧 +確 +篲 +簑 +糲 +系 +締 +繐 +罡 +罽 +群 +羿 +肸 +腓 +莠 +蓊 +薨 +虱 +螮 +觱 +諛 +諤 +賾 +赩 +踠 +轓 +邴 +醁 +醯 +鈐 +銛 +鍔 +鑊 +陁 +雒 +雩 +霎 +鞠 +頡 +飭 +餳 +驍 +髏 +髑 +鸘 +鸜 +黻 +亢 +企 +俘 +傴 +准 +剗 +剜 +吒 +堡 +屧 +崤 +嶄 +庳 +廨 +彪 +恂 +惲 +懵 +戡 +捍 +捩 +擐 +斲 +椹 +樾 +櫺 +歈 +殄 +汰 +沍 +泡 +洒 +涿 +湔 +澘 +煢 +燔 +爆 +璀 +璁 +畚 +瘁 +瘧 +睹 +硎 +硤 +碭 +磋 +秧 +篚 +糜 +絪 +綍 +緫 +縟 +縻 +罳 +翣 +翬 +腳 +膊 +臟 +舳 +茭 +薏 +蝙 +蝠 +褚 +覊 +詶 +詹 +誑 +諼 +讜 +跌 +輓 +邏 +酋 +銓 +鏚 +阪 +需 +静 +顋 +饞 +鱉 +鶉 +鶬 +鷂 +鷫 +鷴 +倀 +傘 +僭 +冏 +劬 +勍 +吻 +咳 +售 +唼 +啅 +喈 +噀 +奩 +崪 +嶒 +嶓 +恙 +愬 +愷 +扳 +揶 +搥 +搭 +撮 +撾 +敍 +旆 +枻 +棚 +楂 +槭 +歉 +氊 +汁 +溽 +滸 +澮 +燮 +牷 +犒 +狙 +瑀 +瓚 +畊 +畤 +疋 +疴 +瘳 +癢 +盻 +瞢 +瞽 +砑 +礱 +稗 +竚 +箆 +篥 +糝 +紘 +綈 +綣 +耜 +胯 +脯 +舠 +艎 +菽 +蔑 +蜒 +褕 +覷 +讖 +讙 +貊 +貲 +贍 +躭 +邢 +鄢 +鄽 +釁 +鉅 +鋏 +陔 +隤 +韈 +韤 +颶 +餙 +駁 +駞 +騧 +麏 +黽 +亘 +僾 +儘 +剉 +剌 +勛 +呪 +咀 +啣 +嘏 +嚇 +墾 +壍 +娩 +婬 +岌 +崚 +憊 +撝 +斅 +枰 +桀 +桄 +楷 +槧 +槲 +橤 +檠 +櫬 +欷 +殽 +氎 +溆 +溘 +烜 +犁 +犖 +狥 +狷 +獠 +玠 +琊 +琛 +皦 +盎 +磔 +磚 +穟 +窪 +筏 +糺 +紂 +綌 +繾 +肴 +胃 +舐 +荼 +菟 +蒐 +薌 +藴 +蛆 +蟇 +蠖 +蠨 +襖 +訖 +詫 +誌 +賚 +跑 +踉 +踣 +蹏 +軼 +轗 +遥 +郴 +醢 +鉉 +鉗 +阯 +陞 +隧 +雋 +雘 +飴 +驩 +鶡 +麵 +鼐 +串 +么 +争 +侏 +俜 +偪 +剋 +剸 +匆 +卹 +喣 +塼 +墖 +屆 +嵫 +巽 +彬 +徉 +徬 +悌 +悚 +憇 +抖 +撻 +攔 +斿 +晻 +朕 +杆 +栝 +棨 +殯 +洑 +漕 +潨 +濘 +灺 +煒 +燿 +獮 +璅 +瞞 +矍 +矮 +祟 +笻 +篔 +簦 +簹 +罌 +耄 +肓 +腎 +膋 +苫 +茝 +葅 +蓐 +蚓 +蜨 +蜴 +袵 +襆 +詬 +諡 +譊 +豳 +賂 +賮 +趍 +趺 +跗 +躚 +輞 +郛 +醖 +醨 +醬 +醽 +鍵 +閈 +闃 +闍 +靉 +驌 +髠 +鬆 +麑 +齩 diff --git a/generate_chinese_poetry/data/download.sh b/generate_chinese_poetry/data/download.sh new file mode 100755 index 0000000000..988c09c0f2 --- /dev/null +++ b/generate_chinese_poetry/data/download.sh @@ -0,0 +1,11 @@ +#!/bin/bash + +git clone https://github.com/chinese-poetry/chinese-poetry.git + +if [ ! -d raw ] +then + mkdir raw +fi + +mv chinese-poetry/json/poet.tang.* raw/ +rm -rf chinese-poetry diff --git a/generate_chinese_poetry/preprocess.py b/generate_chinese_poetry/preprocess.py new file mode 100755 index 0000000000..d24b5d1b5d --- /dev/null +++ b/generate_chinese_poetry/preprocess.py @@ -0,0 +1,79 @@ +# -*- coding: utf-8 -*- +import os +import io +import re +import json +import click +import collections + + +def build_vocabulary(dataset, cutoff=0): + dictionary = collections.defaultdict(int) + for data in dataset: + for sent in data[2]: + for char in sent: + dictionary[char] += 1 + dictionary = filter(lambda x: x[1] >= cutoff, dictionary.items()) + dictionary = sorted(dictionary, key=lambda x: (-x[1], x[0])) + vocab, _ = list(zip(*dictionary)) + return (u"", u"", u"") + vocab + + +@click.command("preprocess") +@click.option("--datadir", type=str, help="Path to raw data") +@click.option("--outfile", type=str, help="Path to save the training data") +@click.option("--dictfile", type=str, help="Path to save the dictionary file") +def preprocess(datadir, outfile, dictfile): + dataset = [] + note_pattern1 = re.compile(u"(.*?)", re.U) + note_pattern2 = re.compile(u"〖.*?〗", re.U) + note_pattern3 = re.compile(u"-.*?-。?", re.U) + note_pattern4 = re.compile(u"(.*$", re.U) + note_pattern5 = re.compile(u"。。.*)$", re.U) + note_pattern6 = re.compile(u"。。", re.U) + note_pattern7 = re.compile(u"[《》「」\[\]]", re.U) + print("Loading raw data...") + for fn in os.listdir(datadir): + with io.open(os.path.join(datadir, fn), "r", encoding="utf8") as f: + for data in json.load(f): + title = data['title'] + author = data['author'] + p = "".join(data['paragraphs']) + p = "".join(p.split()) + p = note_pattern1.sub(u"", p) + p = note_pattern2.sub(u"", p) + p = note_pattern3.sub(u"", p) + p = note_pattern4.sub(u"", p) + p = note_pattern5.sub(u"。", p) + p = note_pattern6.sub(u"。", p) + p = note_pattern7.sub(u"", p) + if (p == u"" or u"{" in p or u"}" in p or u"{" in p or + u"}" in p or u"、" in p or u":" in p or u";" in p or + u"!" in p or u"?" in p or u"●" in p or u"□" in p or + u"囗" in p or u")" in p): + continue + paragraphs = p.split(u"。") + paragraphs = filter(lambda x: len(x), paragraphs) + if len(paragraphs) > 1: + dataset.append((title, author, paragraphs)) + print("Finished...") + + print("Constructing vocabularies...") + vocab = build_vocabulary(dataset, cutoff=10) + with io.open(dictfile, "w", encoding="utf8") as f: + for v in vocab: + f.write(v + "\n") + print("Finished...") + + print("Writing processed data...") + with io.open(outfile, "w", encoding="utf8") as f: + for data in dataset: + title = data[0] + author = data[1] + paragraphs = ".".join(data[2]) + f.write("\t".join((title, author, paragraphs)) + "\n") + print("Finished...") + + +if __name__ == "__main__": + preprocess() diff --git a/generate_chinese_poetry/train.py b/generate_chinese_poetry/train.py index c6eb737b01..a9ef564679 100755 --- a/generate_chinese_poetry/train.py +++ b/generate_chinese_poetry/train.py @@ -44,7 +44,7 @@ def load_initial_model(model_path, parameters): @click.option( "--decoder_depth", default=3, - help="The number of stacked LSTM layers in encoder.") + help="The number of stacked LSTM layers in decoder.") @click.option( "--train_data_path", required=True, help="The path of trainning data.") @click.option( From d0bab0b74aad8ae785c4cf854e28123bf4e63630 Mon Sep 17 00:00:00 2001 From: wangmeng28 Date: Thu, 9 Nov 2017 11:39:07 +0800 Subject: [PATCH 2/9] Add README doc for generate_chinese_poetry --- generate_chinese_poetry/README.md | 135 ++++++++++++++++++++++++++++- generate_chinese_poetry/index.html | 135 ++++++++++++++++++++++++++++- 2 files changed, 268 insertions(+), 2 deletions(-) diff --git a/generate_chinese_poetry/README.md b/generate_chinese_poetry/README.md index f6a09ed22d..7a914a71b7 100644 --- a/generate_chinese_poetry/README.md +++ b/generate_chinese_poetry/README.md @@ -1 +1,134 @@ -[TBD] +# 中国古诗生成 + +## 简介 +基于编码器-解码器(encoder-decoder)神经网络模型,利用全唐诗进行诗句-诗句(sequence to sequence)训练,实现给定诗句后,生成下一诗句。 + +以下是本例的简要目录结构及说明: + +```text +. +├── data # 存储训练数据及字典 +│ ├── download.sh # 下载原始数据 +├── models # 存储训练好的模型 +├── README.md # 文档 +├── index.html # 文档(html格式) +├── preprocess.py # 原始数据预处理 +├── generate.py # 生成诗句脚本 +├── network_conf.py # 模型定义 +├── reader.py # 数据读取接口 +├── train.py # 训练脚本 +└── utils.py # 定义实用工具函数 +``` + +## 数据处理 +### 原始数据来源 +本例使用[中华古诗词数据库](https://github.com/chinese-poetry/chinese-poetry)中收集的全唐诗作为训练数据,共有约5.4万首唐诗。 + +### 原始数据下载 +```bash +cd data && ./download.sh && cd .. +``` +### 数据预处理 +```bash +python preprocess.py --datadir data/raw --outfile data/poems.txt --dictfile data/dict.txt +``` + +上述脚本执行完后将生成处理好的训练数据poems.txt和数据字典dict.txt。poems.txt中每行为一首唐诗的信息,分为三列,分别为题目、作者、诗内容。 +在诗内容中,诗句之间用'.'分隔。 + +训练数据示例: +```text +登鸛雀樓 王之渙 白日依山盡,黃河入海流.欲窮千里目,更上一層樓 +觀獵 李白 太守耀清威,乘閑弄晚暉.江沙橫獵騎,山火遶行圍.箭逐雲鴻落,鷹隨月兔飛.不知白日暮,歡賞夜方歸 +晦日重宴 陳嘉言 高門引冠蓋,下客抱支離.綺席珍羞滿,文場翰藻摛.蓂華彫上月,柳色藹春池.日斜歸戚里,連騎勒金羈 +``` + +## 模型训练 +训练脚本[train.py](./train.py)中的命令行参数如下: +``` +Usage: train.py [OPTIONS] + +Options: + --num_passes INTEGER Number of passes for the training task. + --batch_size INTEGER The number of training examples in one + forward/backward pass. + --use_gpu TEXT Whether to use gpu to train the model. + --trainer_count INTEGER The thread number used in training. + --save_dir_path TEXT The path to saved the trained models. + --encoder_depth INTEGER The number of stacked LSTM layers in encoder. + --decoder_depth INTEGER The number of stacked LSTM layers in decoder. + --train_data_path TEXT The path of trainning data. [required] + --word_dict_path TEXT The path of word dictionary. [required] + --init_model_path TEXT The path of a trained model used to initialized all + the model parameters. + --help Show this message and exit. +``` +### 参数说明 +- `num_passes`: 训练pass数 +- `batch_size`: batch大小 +- `use_gpu`: 是否使用GPU +- `trainer_count`: trainer数目,默认为1 +- `save_dir_path`: 模型存储路径,默认为当前目录下models目录 +- `encoder_depth`: 模型中编码器LSTM深度,默认为3 +- `decoder_depth`: 模型中解码器LSTM深度,默认为3 +- `train_data_path`: 训练数据路径 +- `word_dict_path`: 数据字典路径 +- `init_model_path`: 初始模型路径,从头训练时无需指定 + +### 训练执行 +```bash +python train.py \ + --num_passes 10 \ + --batch_size 256 \ + --use_gpu True \ + --trainer_count 1 \ + --save_dir_path models \ + --train_data_path data/poems.txt \ + --word_dict_path data/dict.txt \ + 2>&1 | tee train.log +``` +每个pass训练结束后,模型参数将保存在models目录下。训练日志保存在train.log中。 + +### 最优模型参数 +寻找cost最小的pass,使用该pass对应的模型参数用于后续预测。 +```bash +python -c 'import utils; utils.find_optiaml_pass("./train.log")' +``` + +## 生成诗句 +使用[generate.py](./generate.py)脚本对输入诗句生成下一诗句, +命令行参数如下: +``` +Usage: generate.py [OPTIONS] + +Options: + --model_path TEXT The path of the trained model for generation. + --word_dict_path TEXT The path of word dictionary. [required] + --test_data_path TEXT The path of input data for generation. [required] + --batch_size INTEGER The number of testing examples in one forward pass in + generation. + --beam_size INTEGER The beam expansion in beam search. + --save_file TEXT The file path to save the generated results. + [required] + --use_gpu TEXT Whether to use GPU in generation. + --help Show this message and exit. +``` +### 参数说明 +- `model_path`: 训练好的模型参数文件 +- `word_dict_path`: 数据字典路径 +- `test_data_path`: 输入数据路径 +- `batch_size`: batch大小,默认为1 +- `beam_size`: beam search中搜索范围大小,默认为5 +- `save_file`: 输出保存路径 +- `use_gpu`: 是否使用GPU + +### 执行生成 +例如将诗句 `白日依山盡,黃河入海流` 保存在文件 `input.txt` 中作为预测下句诗的输入,执行命令: +```bash +python generate.py \ + --model_path models/pass_00100.tar.gz \ + --word_dict_path data/dict.txt \ + --test_data_path input.txt \ + --save_file output.txt +``` +生成结果将保存在文件 `output.txt` 中。 diff --git a/generate_chinese_poetry/index.html b/generate_chinese_poetry/index.html index a5dba006b9..28c31c4e1d 100644 --- a/generate_chinese_poetry/index.html +++ b/generate_chinese_poetry/index.html @@ -40,7 +40,140 @@ From 16c4afee51d410dd3a1118b11e4a5ca3539608bc Mon Sep 17 00:00:00 2001 From: wangmeng28 Date: Fri, 10 Nov 2017 20:25:37 +0800 Subject: [PATCH 3/9] Refine parameters for training chinese poetry generation --- generate_chinese_poetry/README.md | 19 +++++++++++++++++++ generate_chinese_poetry/data/dict.txt | 6 ++++++ generate_chinese_poetry/generate.py | 8 +++++--- generate_chinese_poetry/index.html | 19 +++++++++++++++++++ generate_chinese_poetry/network_conf.py | 8 +++++--- generate_chinese_poetry/preprocess.py | 4 ++++ generate_chinese_poetry/train.py | 12 +++++++----- 7 files changed, 65 insertions(+), 11 deletions(-) diff --git a/generate_chinese_poetry/README.md b/generate_chinese_poetry/README.md index 7a914a71b7..2cacb81bb2 100644 --- a/generate_chinese_poetry/README.md +++ b/generate_chinese_poetry/README.md @@ -78,7 +78,11 @@ Options: ### 训练执行 ```bash python train.py \ +<<<<<<< HEAD + --num_passes 20 \ +======= --num_passes 10 \ +>>>>>>> 7943732ab34254df801d72b0b5e04f6f320e4127 --batch_size 256 \ --use_gpu True \ --trainer_count 1 \ @@ -126,9 +130,24 @@ Options: 例如将诗句 `白日依山盡,黃河入海流` 保存在文件 `input.txt` 中作为预测下句诗的输入,执行命令: ```bash python generate.py \ +<<<<<<< HEAD + --model_path models/pass_00014.tar.gz \ +======= --model_path models/pass_00100.tar.gz \ +>>>>>>> 7943732ab34254df801d72b0b5e04f6f320e4127 --word_dict_path data/dict.txt \ --test_data_path input.txt \ --save_file output.txt ``` +<<<<<<< HEAD +生成结果将保存在文件 `output.txt` 中。对于上述示例输入,生成的诗句如下: +```text +-21.2048 不 知 身 外 事 , 何 處 是 閑 遊 +-21.3982 不 知 身 外 事 , 何 處 是 何 由 +-21.6564 不 知 身 外 事 , 何 處 是 何 求 +-21.7312 不 知 身 外 事 , 何 事 是 何 求 +-22.1956 不 知 身 外 事 , 何 處 是 人 愁 +``` +======= 生成结果将保存在文件 `output.txt` 中。 +>>>>>>> 7943732ab34254df801d72b0b5e04f6f320e4127 diff --git a/generate_chinese_poetry/data/dict.txt b/generate_chinese_poetry/data/dict.txt index 7eef978598..d83281575a 100644 --- a/generate_chinese_poetry/data/dict.txt +++ b/generate_chinese_poetry/data/dict.txt @@ -1,6 +1,12 @@ +<<<<<<< HEAD + + + +======= +>>>>>>> 7943732ab34254df801d72b0b5e04f6f320e4127 , 不 人 diff --git a/generate_chinese_poetry/generate.py b/generate_chinese_poetry/generate.py index b2d909171f..ebecc5868d 100755 --- a/generate_chinese_poetry/generate.py +++ b/generate_chinese_poetry/generate.py @@ -28,7 +28,7 @@ def infer_a_batch(inferer, test_batch, beam_size, id_to_text, fout): for j in xrange(beam_size): end_pos = gen_sen_idx[i * beam_size + j] fout.write("%s\n" % ("%.4f\t%s" % (beam_result[0][i][j], " ".join( - id_to_text[w] for w in beam_result[1][start_pos:end_pos])))) + id_to_text[w] for w in beam_result[1][start_pos:end_pos - 1])))) start_pos = end_pos + 2 fout.write("\n") fout.flush @@ -80,9 +80,11 @@ def generate(model_path, word_dict_path, test_data_path, batch_size, beam_size, encoder_hidden_dim=512, decoder_depth=3, decoder_hidden_dim=512, - is_generating=True, + bos_id=0, + eos_id=1, + max_length=17, beam_size=beam_size, - max_length=10) + is_generating=True) inferer = paddle.inference.Inference( output_layer=beam_gen, parameters=parameters) diff --git a/generate_chinese_poetry/index.html b/generate_chinese_poetry/index.html index 28c31c4e1d..859091efe1 100644 --- a/generate_chinese_poetry/index.html +++ b/generate_chinese_poetry/index.html @@ -120,7 +120,11 @@ ### 训练执行 ```bash python train.py \ +<<<<<<< HEAD + --num_passes 20 \ +======= --num_passes 10 \ +>>>>>>> 7943732ab34254df801d72b0b5e04f6f320e4127 --batch_size 256 \ --use_gpu True \ --trainer_count 1 \ @@ -168,12 +172,27 @@ 例如将诗句 `白日依山盡,黃河入海流` 保存在文件 `input.txt` 中作为预测下句诗的输入,执行命令: ```bash python generate.py \ +<<<<<<< HEAD + --model_path models/pass_00014.tar.gz \ +======= --model_path models/pass_00100.tar.gz \ +>>>>>>> 7943732ab34254df801d72b0b5e04f6f320e4127 --word_dict_path data/dict.txt \ --test_data_path input.txt \ --save_file output.txt ``` +<<<<<<< HEAD +生成结果将保存在文件 `output.txt` 中。对于上述示例输入,生成的诗句如下: +```text +-21.2048 不 知 身 外 事 , 何 處 是 閑 遊 +-21.3982 不 知 身 外 事 , 何 處 是 何 由 +-21.6564 不 知 身 外 事 , 何 處 是 何 求 +-21.7312 不 知 身 外 事 , 何 事 是 何 求 +-22.1956 不 知 身 外 事 , 何 處 是 人 愁 +``` +======= 生成结果将保存在文件 `output.txt` 中。 +>>>>>>> 7943732ab34254df801d72b0b5e04f6f320e4127 diff --git a/generate_chinese_poetry/network_conf.py b/generate_chinese_poetry/network_conf.py index 5aec3c06b1..1aee1aa249 100755 --- a/generate_chinese_poetry/network_conf.py +++ b/generate_chinese_poetry/network_conf.py @@ -73,8 +73,10 @@ def encoder_decoder_network(word_count, encoder_hidden_dim, decoder_depth, decoder_hidden_dim, + bos_id, + eos_id, + max_length, beam_size=10, - max_length=15, is_generating=False): src_emb = paddle.layer.embedding( input=paddle.layer.data( @@ -106,8 +108,8 @@ def encoder_decoder_network(word_count, name=decoder_group_name, step=_attended_decoder_step, input=group_inputs + [gen_trg_emb], - bos_id=0, - eos_id=1, + bos_id=bos_id, + eos_id=eos_id, beam_size=beam_size, max_length=max_length) diff --git a/generate_chinese_poetry/preprocess.py b/generate_chinese_poetry/preprocess.py index d24b5d1b5d..79e78de5a2 100755 --- a/generate_chinese_poetry/preprocess.py +++ b/generate_chinese_poetry/preprocess.py @@ -16,7 +16,11 @@ def build_vocabulary(dataset, cutoff=0): dictionary = filter(lambda x: x[1] >= cutoff, dictionary.items()) dictionary = sorted(dictionary, key=lambda x: (-x[1], x[0])) vocab, _ = list(zip(*dictionary)) +<<<<<<< HEAD + return (u"", u"", u"") + vocab +======= return (u"", u"", u"") + vocab +>>>>>>> 7943732ab34254df801d72b0b5e04f6f320e4127 @click.command("preprocess") diff --git a/generate_chinese_poetry/train.py b/generate_chinese_poetry/train.py index a9ef564679..70cafbb5e0 100755 --- a/generate_chinese_poetry/train.py +++ b/generate_chinese_poetry/train.py @@ -75,10 +75,9 @@ def train(num_passes, paddle.init(use_gpu=use_gpu, trainer_count=trainer_count) # define optimization method and the trainer instance - optimizer = paddle.optimizer.AdaDelta( + optimizer = paddle.optimizer.Adam( learning_rate=1e-3, - gradient_clipping_threshold=25.0, - regularization=paddle.optimizer.L2Regularization(rate=8e-4), + regularization=paddle.optimizer.L2Regularization(rate=1e-5), model_average=paddle.optimizer.ModelAverage( average_window=0.5, max_average_window=2500)) @@ -88,7 +87,10 @@ def train(num_passes, encoder_depth=encoder_depth, encoder_hidden_dim=512, decoder_depth=decoder_depth, - decoder_hidden_dim=512) + decoder_hidden_dim=512, + bos_id=0, + eos_id=1, + max_length=17) parameters = paddle.parameters.create(cost) if init_model_path: @@ -113,7 +115,7 @@ def event_handler(event): (event.pass_id, event.batch_id)) save_model(trainer, save_path, parameters) - if not event.batch_id % 5: + if not event.batch_id % 10: logger.info("Pass %d, Batch %d, Cost %f, %s" % ( event.pass_id, event.batch_id, event.cost, event.metrics)) From 9c677e6c37f03632a00d3094ecabdd10fc21b1c8 Mon Sep 17 00:00:00 2001 From: wangmeng28 Date: Fri, 10 Nov 2017 20:35:40 +0800 Subject: [PATCH 4/9] Fix README for generating chinese poetry --- generate_chinese_poetry/README.md | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/generate_chinese_poetry/README.md b/generate_chinese_poetry/README.md index 2cacb81bb2..3cae948603 100644 --- a/generate_chinese_poetry/README.md +++ b/generate_chinese_poetry/README.md @@ -78,11 +78,7 @@ Options: ### 训练执行 ```bash python train.py \ -<<<<<<< HEAD --num_passes 20 \ -======= - --num_passes 10 \ ->>>>>>> 7943732ab34254df801d72b0b5e04f6f320e4127 --batch_size 256 \ --use_gpu True \ --trainer_count 1 \ @@ -130,16 +126,11 @@ Options: 例如将诗句 `白日依山盡,黃河入海流` 保存在文件 `input.txt` 中作为预测下句诗的输入,执行命令: ```bash python generate.py \ -<<<<<<< HEAD --model_path models/pass_00014.tar.gz \ -======= - --model_path models/pass_00100.tar.gz \ ->>>>>>> 7943732ab34254df801d72b0b5e04f6f320e4127 --word_dict_path data/dict.txt \ --test_data_path input.txt \ --save_file output.txt ``` -<<<<<<< HEAD 生成结果将保存在文件 `output.txt` 中。对于上述示例输入,生成的诗句如下: ```text -21.2048 不 知 身 外 事 , 何 處 是 閑 遊 @@ -148,6 +139,3 @@ python generate.py \ -21.7312 不 知 身 外 事 , 何 事 是 何 求 -22.1956 不 知 身 外 事 , 何 處 是 人 愁 ``` -======= -生成结果将保存在文件 `output.txt` 中。 ->>>>>>> 7943732ab34254df801d72b0b5e04f6f320e4127 From 7740e7cee5a96b13543e517b3f9a961bec848511 Mon Sep 17 00:00:00 2001 From: wangmeng28 Date: Fri, 10 Nov 2017 20:57:46 +0800 Subject: [PATCH 5/9] Fix typo in generating chinese poetry --- generate_chinese_poetry/README.md | 4 ++-- generate_chinese_poetry/data/dict.txt | 6 ------ generate_chinese_poetry/index.html | 16 ++-------------- generate_chinese_poetry/preprocess.py | 4 ---- 4 files changed, 4 insertions(+), 26 deletions(-) diff --git a/generate_chinese_poetry/README.md b/generate_chinese_poetry/README.md index 3cae948603..618907aace 100644 --- a/generate_chinese_poetry/README.md +++ b/generate_chinese_poetry/README.md @@ -34,12 +34,12 @@ python preprocess.py --datadir data/raw --outfile data/poems.txt --dictfile data ``` 上述脚本执行完后将生成处理好的训练数据poems.txt和数据字典dict.txt。poems.txt中每行为一首唐诗的信息,分为三列,分别为题目、作者、诗内容。 -在诗内容中,诗句之间用'.'分隔。 +在诗内容中,诗句之间用`.`分隔。 训练数据示例: ```text 登鸛雀樓 王之渙 白日依山盡,黃河入海流.欲窮千里目,更上一層樓 -觀獵 李白 太守耀清威,乘閑弄晚暉.江沙橫獵騎,山火遶行圍.箭逐雲鴻落,鷹隨月兔飛.不知白日暮,歡賞夜方歸 +觀獵 李白 太守耀清威,乘閑弄晚暉.江沙橫獵騎,山火遶行圍.箭逐雲鴻落,鷹隨月兔飛.不知白日暮,歡賞夜方歸 晦日重宴 陳嘉言 高門引冠蓋,下客抱支離.綺席珍羞滿,文場翰藻摛.蓂華彫上月,柳色藹春池.日斜歸戚里,連騎勒金羈 ``` diff --git a/generate_chinese_poetry/data/dict.txt b/generate_chinese_poetry/data/dict.txt index d83281575a..e51865fd15 100644 --- a/generate_chinese_poetry/data/dict.txt +++ b/generate_chinese_poetry/data/dict.txt @@ -1,12 +1,6 @@ -<<<<<<< HEAD -======= - - - ->>>>>>> 7943732ab34254df801d72b0b5e04f6f320e4127 , 不 人 diff --git a/generate_chinese_poetry/index.html b/generate_chinese_poetry/index.html index 859091efe1..5b09275150 100644 --- a/generate_chinese_poetry/index.html +++ b/generate_chinese_poetry/index.html @@ -76,12 +76,12 @@ ``` 上述脚本执行完后将生成处理好的训练数据poems.txt和数据字典dict.txt。poems.txt中每行为一首唐诗的信息,分为三列,分别为题目、作者、诗内容。 -在诗内容中,诗句之间用'.'分隔。 +在诗内容中,诗句之间用`.`分隔。 训练数据示例: ```text 登鸛雀樓 王之渙 白日依山盡,黃河入海流.欲窮千里目,更上一層樓 -觀獵 李白 太守耀清威,乘閑弄晚暉.江沙橫獵騎,山火遶行圍.箭逐雲鴻落,鷹隨月兔飛.不知白日暮,歡賞夜方歸 +觀獵 李白 太守耀清威,乘閑弄晚暉.江沙橫獵騎,山火遶行圍.箭逐雲鴻落,鷹隨月兔飛.不知白日暮,歡賞夜方歸 晦日重宴 陳嘉言 高門引冠蓋,下客抱支離.綺席珍羞滿,文場翰藻摛.蓂華彫上月,柳色藹春池.日斜歸戚里,連騎勒金羈 ``` @@ -120,11 +120,7 @@ ### 训练执行 ```bash python train.py \ -<<<<<<< HEAD --num_passes 20 \ -======= - --num_passes 10 \ ->>>>>>> 7943732ab34254df801d72b0b5e04f6f320e4127 --batch_size 256 \ --use_gpu True \ --trainer_count 1 \ @@ -172,16 +168,11 @@ 例如将诗句 `白日依山盡,黃河入海流` 保存在文件 `input.txt` 中作为预测下句诗的输入,执行命令: ```bash python generate.py \ -<<<<<<< HEAD --model_path models/pass_00014.tar.gz \ -======= - --model_path models/pass_00100.tar.gz \ ->>>>>>> 7943732ab34254df801d72b0b5e04f6f320e4127 --word_dict_path data/dict.txt \ --test_data_path input.txt \ --save_file output.txt ``` -<<<<<<< HEAD 生成结果将保存在文件 `output.txt` 中。对于上述示例输入,生成的诗句如下: ```text -21.2048 不 知 身 外 事 , 何 處 是 閑 遊 @@ -190,9 +181,6 @@ -21.7312 不 知 身 外 事 , 何 事 是 何 求 -22.1956 不 知 身 外 事 , 何 處 是 人 愁 ``` -======= -生成结果将保存在文件 `output.txt` 中。 ->>>>>>> 7943732ab34254df801d72b0b5e04f6f320e4127 diff --git a/generate_chinese_poetry/preprocess.py b/generate_chinese_poetry/preprocess.py index 79e78de5a2..98e267e938 100755 --- a/generate_chinese_poetry/preprocess.py +++ b/generate_chinese_poetry/preprocess.py @@ -16,11 +16,7 @@ def build_vocabulary(dataset, cutoff=0): dictionary = filter(lambda x: x[1] >= cutoff, dictionary.items()) dictionary = sorted(dictionary, key=lambda x: (-x[1], x[0])) vocab, _ = list(zip(*dictionary)) -<<<<<<< HEAD return (u"", u"", u"") + vocab -======= - return (u"", u"", u"") + vocab ->>>>>>> 7943732ab34254df801d72b0b5e04f6f320e4127 @click.command("preprocess") From 5ba2f9992ce2158b3934be6b54a9ad6f11337056 Mon Sep 17 00:00:00 2001 From: wangmeng28 Date: Tue, 14 Nov 2017 00:34:12 +0800 Subject: [PATCH 6/9] Change the split level of poem sentences --- generate_chinese_poetry/data/dict.txt | 5037 ------------------------- generate_chinese_poetry/generate.py | 2 +- generate_chinese_poetry/preprocess.py | 2 +- generate_chinese_poetry/train.py | 2 +- 4 files changed, 3 insertions(+), 5040 deletions(-) delete mode 100644 generate_chinese_poetry/data/dict.txt diff --git a/generate_chinese_poetry/data/dict.txt b/generate_chinese_poetry/data/dict.txt deleted file mode 100644 index e51865fd15..0000000000 --- a/generate_chinese_poetry/data/dict.txt +++ /dev/null @@ -1,5037 +0,0 @@ - - - -, -不 -人 -無 -山 -一 -風 -日 -有 -雲 -來 -天 -中 -何 -花 -時 -上 -水 -春 -月 -生 -相 -爲 -心 -年 -自 -長 -君 -知 -如 -歸 -白 -此 -行 -秋 -見 -去 -清 -空 -得 -在 -夜 -下 -江 -高 -明 -是 -未 -金 -門 -多 -青 -三 -客 -處 -道 -寒 -聲 -子 -千 -家 -落 -事 -玉 -今 -雨 -遠 -前 -萬 -出 -朝 -路 -南 -入 -我 -城 -盡 -飛 -東 -深 -草 -流 -開 -與 -新 -樹 -思 -地 -將 -色 -別 -煙 -還 -已 -欲 -成 -應 -西 -誰 -酒 -馬 -更 -獨 -身 -光 -聞 -向 -可 -重 -同 -閑 -陽 -看 -石 -香 -雪 -望 -滿 -海 -情 -愁 -從 -老 -頭 -林 -難 -衣 -莫 -書 -塵 -古 -方 -紅 -里 -歌 -似 -龍 -名 -能 -樓 -分 -黃 -舊 -作 -遊 -復 -猶 -到 -氣 -當 -平 -過 -仙 -間 -鳥 -言 -葉 -十 -後 -亦 -非 -松 -大 -五 -離 -外 -意 -起 -王 -初 -北 -華 -邊 -幾 -然 -竹 -詩 -世 -隨 -百 -夢 -故 -安 -宮 -暮 -裏 -若 -神 -公 -陰 -吟 -少 -國 -孤 -晚 -終 -露 -野 -漢 -醉 -枝 -柳 -坐 -臺 -好 -四 -文 -碧 -須 -臨 -逢 -幽 -關 -霜 -河 -泉 -輕 -所 -回 -微 -留 -綠 -半 -波 -歲 -問 -連 -芳 -之 -池 -鄉 -影 -共 -因 -九 -小 -近 -經 -兩 -翠 -豈 -斷 -餘 -照 -庭 -期 -驚 -樂 -曲 -尋 -動 -吹 -遙 -曾 -雙 -真 -溪 -殘 -曉 -却 -正 -居 -靜 -對 -物 -星 -常 -苦 -憶 -鶴 -者 -先 -垂 -舟 -木 -沙 -笑 -紫 -悲 -依 -語 -楚 -虛 -通 -二 -至 -鳴 -夕 -和 -迴 -又 -浮 -久 -景 -鳳 -憐 -忽 -登 -合 -傳 -魚 -唯 -靈 -淚 -蒼 -恩 -早 -數 -車 -轉 -堪 -發 -聽 -官 -散 -宿 -丹 -愛 -寂 -女 -以 -且 -主 -送 -使 -死 -病 -懷 -絕 -陵 -覺 -堂 -火 -園 -川 -恨 -峰 -蕭 -帝 -寄 -舞 -太 -霞 -吾 -窮 -秦 -皆 -州 -興 -軍 -僧 -手 -節 -始 -親 -亂 -昔 -其 -沈 -帶 -會 -田 -珠 -識 -悠 -待 -休 -才 -足 -信 -容 -羅 -功 -勝 -度 -涼 -遲 -往 -洞 -晴 -雖 -窗 -畫 -疎 -暗 -聖 -首 -直 -皇 -隱 -閣 -蘭 -隔 -湖 -移 -逐 -夫 -羣 -桃 -斜 -學 -兒 -用 -尚 -含 -燕 -亭 -辭 -士 -兮 -傷 -岸 -兵 -令 -願 -步 -賢 -解 -結 -眼 -謝 -師 -便 -徒 -求 -浪 -倚 -寺 -爭 -立 -定 -本 -疑 -琴 -絲 -臥 -拂 -化 -說 -羽 -只 -即 -荒 -胡 -橫 -六 -殿 -鏡 -乘 -交 -歡 -顏 -貴 -藥 -憂 -命 -朱 -食 -錦 -郎 -桂 -易 -德 -異 -飄 -他 -吳 -念 -塞 -薄 -勞 -喜 -忘 -惜 -玄 -爾 -騎 -啼 -音 -燈 -巖 -力 -苔 -著 -於 -細 -緣 -住 -臣 -及 -口 -教 -由 -楊 -船 -冷 -飲 -榮 -洛 -遺 -感 -迎 -征 -貧 -杯 -劒 -稀 -偏 -低 -髮 -都 -面 -但 -內 -條 -取 -報 -戰 -元 -惟 -闕 -眠 -禪 -魂 -素 -八 -極 -論 -翻 -搖 -漸 -橋 -息 -湘 -衰 -引 -谷 -折 -軒 -映 -迷 -想 -蓬 -變 -蓮 -寶 -良 -侯 -顧 -章 -弦 -鬢 -卷 -必 -宜 -破 -骨 -悵 -梁 -持 -片 -鼓 -守 -雁 -頻 -目 -傍 -掩 -禮 -簾 -越 -精 -寧 -棲 -跡 -接 -任 -紛 -齊 -載 -俗 -土 -武 -鐘 -美 -暫 -諸 -戶 -雞 -傾 -懸 -罷 -帆 -虎 -枕 -凝 -許 -根 -理 -伴 -永 -釣 -觀 -冰 -急 -衆 -昏 -失 -形 -佳 -洲 -性 -暖 -嶺 -井 -徑 -京 -滄 -眉 -盤 -尊 -字 -機 -郡 -泥 -梅 -浦 -收 -村 -鄰 -室 -營 -鶯 -攜 -那 -全 -冥 -每 -李 -最 -七 -舉 -藏 -歎 -御 -鴻 -夏 -腸 -侵 -壁 -敢 -狂 -原 -指 -管 -冠 -銀 -晨 -仍 -張 -兼 -稱 -雄 -既 -幸 -漁 -種 -蟬 -茫 -法 -旗 -積 -被 -遇 -周 -府 -尺 -賞 -牀 -霧 -恐 -旌 -封 -殊 -把 -繁 -茲 -吏 -業 -消 -閉 -圖 -鴈 -危 -繞 -英 -承 -寥 -端 -竟 -房 -輪 -燭 -比 -攀 -象 -渡 -況 -計 -角 -涯 -乾 -點 -怨 -盛 -荷 -哀 -陳 -沒 -縱 -齋 -昨 -孫 -抱 -銷 -句 -調 -勢 -揚 -代 -苑 -牛 -負 -修 -翁 -粉 -賦 -列 -惆 -烏 -筆 -喧 -鸞 -各 -參 -拜 -走 -降 -霄 -斗 -桑 -乃 -嗟 -赤 -淺 -澤 -催 -再 -宵 -童 -肯 -雷 -題 -瑤 -毛 -繡 -志 -要 -禁 -津 -枯 -荆 -屋 -訪 -漏 -遂 -潮 -席 -第 -豔 -丘 -晝 -燒 -偶 -蜀 -奇 -詞 -放 -旅 -蓋 -滅 -猨 -筵 -甘 -錢 -綺 -短 -凌 -館 -淨 -干 -圓 -宴 -程 -俱 -泛 -籠 -弄 -盈 -披 -禽 -底 -達 -戎 -驅 -詠 -勤 -源 -陌 -彩 -境 -銜 -滴 -投 -叢 -濕 -遶 -漫 -瓊 -背 -利 -澗 -誠 -宅 -菊 -妾 -潭 -響 -塘 -途 -輝 -迢 -存 -巢 -壯 -穿 -舍 -襟 -實 -賓 -帳 -強 -借 -擬 -差 -慙 -養 -憑 -潛 -牽 -獻 -廣 -澄 -羨 -云 -殺 -妝 -袖 -厭 -旋 -茅 -覆 -避 -壺 -就 -而 -服 -郊 -奏 -蘿 -史 -奉 -挂 -斯 -渚 -屏 -也 -唱 -受 -擁 -階 -弟 -縣 -耕 -密 -遣 -蕩 -刀 -院 -屬 -駕 -添 -市 -腰 -贈 -戀 -策 -招 -巴 -泣 -漠 -灑 -哭 -杳 -仰 -鴛 -郭 -畔 -威 -嘉 -義 -嫌 -停 -寞 -爐 -耳 -際 -或 -詔 -彈 -聊 -呼 -宗 -丈 -幕 -桐 -除 -侍 -卿 -殷 -淒 -黑 -追 -陶 -了 -妙 -母 -廟 -闌 -壽 -佛 -曙 -棄 -省 -儒 -限 -壇 -浩 -牆 -嘗 -彼 -試 -血 -歇 -候 -掃 -疊 -疾 -杜 -婦 -翼 -夷 -歷 -淮 -瑞 -友 -嚴 -峽 -洗 -駐 -巾 -鬼 -層 -游 -濃 -鹿 -哉 -廬 -商 -濟 -篇 -羞 -採 -辛 -奈 -杖 -猿 -麗 -伏 -怪 -隴 -冬 -勸 -鱗 -倒 -裳 -秀 -埃 -嬌 -昭 -侶 -馳 -富 -推 -逸 -延 -遷 -睡 -鞭 -布 -笙 -蝶 -免 -島 -簪 -忍 -祖 -蘇 -濤 -辰 -父 -醒 -甲 -切 -趨 -果 -蟲 -適 -止 -熟 -表 -闊 -雀 -鼎 -扉 -拋 -伊 -扇 -宇 -話 -韻 -扶 -兄 -改 -肅 -薦 -體 -頂 -儀 -簷 -致 -乍 -樵 -繫 -窺 -遍 -蒙 -印 -惡 -造 -政 -謂 -壑 -煩 -退 -零 -驛 -次 -戍 -邑 -飢 -總 -佩 -展 -界 -纔 -讀 -勿 -采 -鬱 -買 -賤 -固 -姓 -戈 -澹 -檻 -騰 -險 -嶽 -汝 -進 -杏 -酌 -促 -場 -奔 -蒲 -雜 -霑 -霽 -暑 -寸 -暉 -纖 -善 -笛 -符 -占 -己 -鮮 -環 -虜 -號 -余 -岳 -亡 -脫 -咽 -返 -瑟 -集 -痕 -射 -甚 -祗 -記 -委 -芙 -陪 -堯 -焚 -裁 -宣 -梧 -索 -摧 -銅 -染 -炎 -座 -衡 -迥 -味 -鎖 -寫 -畏 -台 -履 -振 -柏 -曠 -珍 -網 -綵 -鬬 -蕪 -崖 -箇 -蹤 -劉 -籬 -曹 -凡 -支 -鷺 -屈 -柱 -位 -巫 -竿 -鉤 -阻 -泊 -羊 -灰 -酬 -墮 -聚 -簫 -茶 -謀 -貞 -違 -換 -渭 -益 -司 -請 -民 -翩 -蓉 -仁 -吐 -寵 -觴 -妻 -律 -悟 -籍 -芝 -巷 -弓 -愚 -犬 -于 -妨 -姿 -雅 -旦 -福 -蛾 -豐 -栽 -戲 -掌 -磬 -賜 -運 -靄 -鷗 -貪 -壓 -岐 -建 -踏 -左 -觸 -廢 -覓 -側 -資 -宛 -砌 -娥 -峯 -翰 -朔 -瀟 -堤 -徵 -提 -團 -假 -慮 -箭 -施 -徹 -揮 -社 -舒 -饒 -織 -雕 -宦 -敵 -激 -伯 -累 -置 -右 -慶 -縈 -劍 -役 -束 -競 -裴 -潤 -視 -坤 -渺 -衝 -滯 -唐 -託 -忠 -肉 -貌 -趣 -防 -嘶 -態 -稍 -量 -值 -升 -惠 -獵 -蹄 -陸 -墜 -嘯 -尾 -毫 -氛 -談 -藤 -崇 -魄 -潺 -農 -保 -啓 -欺 -羈 -詎 -櫂 -錫 -咸 -祿 -豪 -徧 -魯 -渾 -龜 -鴦 -智 -氏 -謁 -凍 -巡 -齒 -瞻 -鐵 -閨 -萊 -裘 -弱 -焉 -皎 -兔 -蘋 -埋 -蠻 -偷 -纓 -遮 -等 -寬 -輦 -鎮 -霏 -濛 -誇 -彌 -慵 -質 -辨 -泠 -颯 -潔 -續 -男 -祥 -屢 -嵩 -汀 -陣 -鵲 -蛇 -飯 -凋 -徐 -簟 -翔 -巧 -紗 -斾 -融 -單 -圍 -堅 -繼 -蘆 -媿 -約 -丁 -寢 -則 -術 -護 -溟 -虹 -墨 -斑 -末 -領 -康 -昌 -槐 -穴 -鞍 -助 -峨 -賴 -隅 -柴 -私 -工 -濱 -反 -排 -欄 -慘 -簡 -谿 -魏 -刺 -擊 -灘 -班 -袍 -碎 -耀 -般 -默 -仗 -棹 -備 -晉 -嬾 -減 -倦 -予 -森 -藻 -蘚 -衢 -超 -楓 -淹 -矣 -輿 -渠 -類 -欹 -溝 -熱 -加 -鋪 -麻 -蕙 -蘂 -執 -祠 -綿 -忙 -暇 -綬 -萍 -邀 -鍾 -乞 -堆 -怕 -囊 -墳 -溫 -瘦 -阿 -希 -酣 -叟 -洪 -捧 -淡 -廊 -牧 -磨 -羸 -健 -臘 -肥 -茂 -迹 -畢 -鑿 -幷 -樽 -午 -岑 -嵐 -暝 -探 -濁 -聯 -佐 -堦 -獸 -仲 -街 -鉛 -牙 -賀 -瘴 -釵 -並 -爛 -絳 -賊 -岫 -遭 -晏 -柔 -愧 -嫁 -抽 -誤 -逕 -汗 -苗 -賈 -賒 -輩 -碑 -麟 -孔 -螢 -匣 -妃 -泰 -滋 -維 -飽 -厚 -妖 -帷 -戴 -娟 -枉 -規 -供 -俯 -器 -撫 -欣 -紙 -吞 -株 -禍 -宰 -材 -笳 -耿 -萋 -衫 -諫 -拙 -夾 -擲 -虞 -餐 -姑 -嶂 -橘 -認 -謫 -騷 -宋 -戟 -遼 -雛 -韶 -慰 -稻 -褭 -趙 -孝 -梯 -濯 -瀑 -綸 -職 -沾 -璧 -偃 -刻 -契 -翅 -電 -霓 -皓 -習 -戚 -標 -蛟 -逍 -區 -庶 -昇 -謾 -黛 -匹 -戒 -敗 -權 -喬 -慕 -扁 -卑 -喚 -摘 -狼 -價 -嫩 -宸 -擾 -砂 -梳 -砧 -弔 -顛 -鬚 -涕 -菲 -鷹 -麥 -淪 -劫 -料 -灞 -署 -莎 -薰 -賣 -壘 -奪 -榆 -烟 -縷 -莊 -佇 -垣 -塔 -墀 -拾 -搜 -稽 -躍 -腹 -袂 -速 -勳 -脚 -闈 -呈 -狀 -略 -綴 -卜 -慈 -打 -湯 -驕 -敬 -漾 -絮 -剪 -悽 -疏 -順 -困 -孟 -莖 -菱 -裝 -制 -娛 -爽 -禹 -赴 -梵 -浸 -築 -讓 -頗 -喪 -媚 -栖 -珮 -練 -蒿 -覽 -梨 -植 -猛 -芽 -選 -馨 -黍 -典 -旬 -矜 -寐 -恣 -災 -穩 -襄 -紀 -卒 -授 -損 -決 -漲 -整 -疲 -赫 -頃 -忝 -盧 -舜 -衛 -朗 -穆 -透 -韓 -冤 -廻 -悄 -杉 -逼 -奴 -啄 -注 -烽 -錯 -具 -臯 -僕 -姬 -沉 -瓦 -繩 -央 -妍 -朋 -涉 -罪 -蔽 -輸 -僻 -拔 -活 -簇 -邦 -鳧 -癡 -鄭 -障 -否 -圃 -巨 -曳 -緒 -艱 -鴉 -乳 -徊 -的 -磧 -秉 -葛 -覩 -辱 -季 -臉 -講 -崔 -慚 -毒 -烈 -瓶 -祝 -阮 -丞 -嫋 -祀 -科 -翦 -葬 -蔓 -格 -聳 -蠶 -設 -媒 -沼 -窟 -頹 -鸚 -專 -案 -遐 -后 -塗 -妓 -礙 -議 -郢 -增 -校 -蹉 -倍 -函 -膏 -蟾 -跎 -鈿 -閭 -插 -渴 -瀛 -珊 -告 -斂 -朽 -架 -液 -部 -鼠 -攢 -陂 -榻 -氳 -邪 -鬟 -握 -遞 -均 -尉 -晦 -牢 -隋 -倫 -慢 -舌 -薜 -蜂 -煖 -頓 -崑 -敲 -湲 -潘 -兀 -棘 -狐 -馭 -乖 -怯 -秪 -粟 -轅 -鋒 -勒 -寰 -惹 -槎 -煎 -腥 -豁 -辟 -逾 -鯨 -吉 -怒 -棠 -滑 -藉 -逃 -飆 -浴 -申 -衾 -雉 -冉 -緩 -翮 -鑒 -旨 -混 -裙 -妄 -柯 -祇 -鵡 -付 -伐 -皮 -震 -掖 -救 -漂 -誓 -逝 -飜 -噪 -操 -畝 -旁 -暎 -特 -翳 -域 -寇 -峻 -彭 -撲 -缺 -鍊 -驪 -髪 -務 -噴 -惱 -族 -汲 -編 -藹 -敷 -橈 -裾 -驄 -孰 -尤 -恭 -品 -壞 -岡 -瓜 -眷 -翡 -躬 -充 -徘 -悔 -瀾 -膽 -藍 -像 -序 -庾 -蒸 -優 -屯 -補 -捨 -烹 -眇 -眺 -籌 -傅 -傲 -冕 -匡 -局 -嗚 -犯 -臂 -蕃 -迤 -緘 -纏 -逆 -凰 -召 -牖 -兆 -梢 -示 -禾 -稚 -翫 -脈 -髻 -檀 -瀉 -轍 -廚 -扃 -捲 -棊 -涵 -蔬 -貂 -駿 -仞 -儻 -博 -夭 -嬋 -歛 -疆 -篋 -肩 -蟻 -誦 -巒 -藜 -蹇 -迸 -頌 -亞 -峭 -循 -摩 -焰 -痛 -莓 -衲 -霸 -刃 -桮 -納 -鵬 -鼙 -崩 -廷 -沽 -裂 -謠 -釋 -匪 -旱 -煌 -篁 -薇 -蹋 -愜 -慣 -稜 -藩 -閒 -靡 -溜 -漿 -鑾 -帽 -撥 -沐 -煮 -犀 -穀 -竈 -組 -訝 -墓 -懶 -截 -斬 -朵 -箏 -茗 -鑪 -扣 -洽 -牡 -瑣 -算 -胸 -蟠 -貫 -俄 -帛 -筋 -線 -霖 -叫 -棟 -榭 -櫻 -汾 -貢 -費 -几 -勇 -沿 -突 -籟 -謬 -鈞 -凭 -基 -害 -嶼 -按 -米 -踐 -埽 -恥 -悅 -揖 -曛 -溢 -潯 -臾 -豹 -奠 -狎 -紆 -肌 -蕉 -儼 -叔 -囀 -嬰 -徽 -悴 -懼 -曆 -葭 -湛 -漱 -熏 -軟 -轡 -凶 -熊 -逶 -銘 -鏘 -闇 -隣 -寡 -慎 -油 -甕 -莽 -預 -沖 -灣 -獲 -芬 -霰 -颻 -劇 -妬 -患 -愴 -抵 -治 -猜 -獄 -硯 -秩 -羌 -薪 -鋤 -鵠 -鹽 -忌 -溼 -翹 -躡 -雍 -併 -儔 -屐 -檣 -熒 -着 -縫 -貯 -恆 -旄 -畦 -絃 -葦 -剛 -嶠 -瓏 -艇 -附 -餌 -驥 -黎 -曜 -澀 -褐 -閱 -齡 -幃 -灼 -綃 -脉 -膝 -刑 -咫 -夙 -漳 -盜 -膺 -醪 -倏 -割 -效 -穹 -配 -餞 -剎 -巍 -廓 -椒 -檝 -測 -祭 -筍 -蔡 -遽 -麋 -剡 -卓 -呌 -幢 -粲 -脂 -豫 -軸 -頑 -互 -墟 -怡 -筠 -蛩 -訣 -遰 -顯 -鯉 -倉 -榴 -現 -膩 -勁 -匠 -啾 -弘 -札 -乏 -享 -削 -勻 -攻 -沃 -濺 -瀝 -虧 -槿 -灌 -焦 -疇 -芒 -萼 -藝 -豆 -隈 -黯 -杵 -楹 -睿 -財 -醫 -俊 -僮 -拍 -昧 -樣 -淅 -稼 -迫 -陟 -顇 -哲 -憎 -偈 -崙 -柄 -檢 -淥 -瓢 -羲 -褰 -式 -悶 -派 -玲 -縹 -茸 -鈴 -馮 -麝 -麾 -匝 -囚 -壤 -尹 -幌 -斧 -板 -磯 -稅 -窈 -蔭 -鼻 -彤 -暄 -湍 -竇 -粒 -蹊 -顦 -鴣 -塢 -填 -寓 -恰 -拘 -燄 -牋 -率 -甸 -紋 -絡 -罇 -邈 -鵷 -憲 -捐 -暢 -汞 -窄 -葵 -諧 -醜 -閶 -闔 -飾 -骸 -鷓 -峴 -擎 -汎 -琅 -繚 -藕 -蠟 -驂 -魔 -鵝 -娘 -彎 -柘 -范 -萸 -跳 -躕 -逈 -霍 -韋 -髯 -鵰 -俸 -構 -熙 -竊 -竝 -諳 -鄙 -髭 -乎 -囂 -嵬 -快 -憔 -淫 -稷 -竭 -胎 -軀 -鑄 -闢 -雌 -叨 -榛 -灩 -燼 -茵 -警 -酸 -颺 -俎 -店 -憤 -拭 -暴 -浣 -羇 -荅 -誅 -輔 -閤 -馴 -髣 -髴 -鼇 -喫 -圭 -援 -棧 -祕 -舂 -製 -踟 -黏 -冀 -擣 -湧 -瀨 -矯 -茍 -荔 -巵 -拳 -昆 -榜 -淵 -滔 -爵 -猷 -稠 -肝 -蠹 -貽 -躅 -伸 -晶 -溶 -潁 -玩 -珪 -瑚 -甫 -窕 -笋 -鏁 -惑 -拱 -駟 -俠 -僊 -冒 -冢 -唳 -喻 -幻 -惻 -滌 -漆 -祚 -緬 -諒 -隙 -驟 -挑 -珂 -琵 -琶 -盆 -磷 -箔 -聰 -呂 -嗔 -撼 -擇 -栗 -跨 -隼 -儉 -儲 -嚬 -坊 -娃 -幹 -恃 -斟 -涓 -翛 -耶 -討 -蹙 -坡 -瘡 -簿 -綱 -耽 -蓼 -裹 -輟 -你 -勉 -慧 -旭 -朧 -磴 -薊 -躋 -遁 -億 -巔 -悉 -旒 -煉 -瑩 -祈 -芸 -颼 -鵑 -鵶 -丸 -僚 -吁 -塚 -婆 -庸 -拆 -搔 -杪 -淑 -璃 -綻 -考 -膚 -訴 -貝 -遵 -鱸 -檄 -舸 -菩 -蠡 -趁 -陋 -介 -壠 -姚 -嵇 -徼 -控 -湄 -產 -荻 -衙 -贏 -蹕 -騮 -包 -宙 -挹 -掉 -昂 -羹 -陀 -陷 -隄 -額 -騁 -鬧 -卻 -坂 -慨 -播 -盃 -糧 -菜 -軫 -剩 -厥 -坎 -坼 -幡 -替 -秘 -縛 -纍 -芊 -轂 -些 -冶 -判 -尼 -敞 -梭 -箱 -籙 -蟄 -讐 -豺 -邁 -鴨 -麒 -克 -吠 -壻 -敎 -樞 -檐 -漣 -肆 -虔 -襲 -謳 -仕 -嗣 -堞 -忻 -棋 -爪 -玳 -甌 -眸 -缾 -罍 -蒹 -吼 -婉 -幼 -敦 -暈 -毬 -篆 -緇 -緜 -縮 -菰 -蕤 -蠅 -遑 -項 -馥 -掛 -撩 -欠 -沸 -答 -粱 -脩 -鏤 -陛 -凜 -崢 -嶸 -弊 -慟 -曰 -楫 -歿 -茱 -螭 -訟 -辜 -鉢 -亮 -叩 -奮 -彫 -彰 -徂 -捷 -樊 -欽 -淳 -紱 -緲 -芰 -菡 -萏 -衮 -鉞 -頤 -寨 -憩 -栢 -櫳 -猩 -航 -蓑 -軋 -頸 -龕 -傑 -幄 -擺 -段 -毀 -犢 -狗 -窠 -蹔 -逡 -醴 -鷁 -乙 -垢 -婚 -屑 -沫 -膠 -阜 -隆 -隻 -驢 -奢 -嵯 -廉 -淼 -琢 -胥 -鴟 -彥 -掇 -據 -棃 -玕 -穠 -讒 -閩 -努 -番 -竄 -訓 -麤 -伍 -渥 -澆 -濫 -狖 -肺 -贊 -髓 -旃 -琉 -笠 -踰 -奕 -款 -氈 -狹 -粧 -蔥 -邯 -邸 -鄲 -閃 -鸎 -凱 -攬 -沓 -湓 -畿 -監 -盼 -箕 -纜 -舫 -衷 -謨 -駭 -騶 -儂 -卉 -庚 -愈 -拖 -濡 -瑕 -穗 -腕 -芭 -苒 -蜜 -觜 -諾 -鏗 -韜 -驗 -鮑 -鳶 -巘 -揭 -炭 -竺 -筇 -筐 -紈 -翎 -裛 -襦 -俟 -咨 -帥 -帬 -懃 -棗 -炊 -煥 -甃 -盞 -碁 -秖 -窅 -筯 -給 -膳 -醺 -鸝 -帖 -恒 -挾 -朦 -溺 -爰 -牕 -眄 -研 -績 -鄴 -鑑 -駸 -魅 -黔 -姦 -擒 -擔 -槍 -檜 -熳 -葱 -錄 -駒 -倩 -桓 -浙 -涇 -濆 -瑁 -荀 -鄒 -醆 -針 -饑 -冊 -喉 -婢 -徇 -恬 -扈 -曈 -杼 -梗 -泓 -潦 -炙 -茨 -趂 -隊 -餓 -墻 -帙 -幅 -憚 -枚 -矛 -育 -脣 -蕖 -蘊 -證 -邛 -闐 -麴 -剖 -嘆 -導 -幔 -抑 -挽 -捉 -斸 -殃 -牓 -璫 -禋 -翊 -耐 -苞 -褒 -譽 -隳 -革 -審 -屠 -曝 -汴 -癖 -虬 -蛛 -袁 -課 -醞 -阡 -顆 -鮫 -鳩 -唧 -娑 -嶇 -捫 -擅 -擢 -肘 -藂 -邇 -邙 -邨 -匈 -嗜 -奸 -嫖 -巳 -擘 -篠 -羶 -轆 -遨 -鑠 -閟 -閬 -鼉 -佞 -叶 -墅 -夔 -尖 -巉 -掣 -摶 -耻 -腦 -芻 -豸 -郵 -閻 -倡 -創 -壚 -寅 -崎 -彊 -戢 -杭 -槁 -瞥 -萱 -薤 -責 -釀 -頒 -鱠 -鶚 -嬴 -察 -廈 -旂 -洋 -淋 -禱 -緱 -臆 -艾 -觥 -詣 -轤 -述 -伶 -倘 -坑 -庫 -慷 -戛 -掾 -敘 -梓 -炷 -碣 -股 -蕨 -蛙 -蟋 -躊 -軺 -逞 -岷 -峒 -懽 -挈 -斫 -榼 -泗 -稟 -紳 -脆 -萌 -裔 -複 -蹈 -驤 -鬣 -債 -副 -吸 -咄 -員 -崆 -廳 -恍 -慇 -斤 -朮 -槃 -櫪 -汙 -瞿 -純 -耆 -菌 -董 -閏 -鶒 -鸂 -啞 -奚 -姹 -徙 -扆 -掬 -曖 -簧 -霹 -顰 -什 -刷 -卦 -噓 -屍 -床 -托 -燎 -筌 -葳 -蟀 -讌 -跪 -辯 -鈍 -庇 -拄 -氤 -泝 -漪 -統 -蜃 -誘 -趾 -躑 -逗 -靂 -頷 -黨 -劣 -協 -卯 -呵 -嚼 -嬉 -徴 -晞 -梟 -歘 -毳 -涸 -演 -版 -琪 -稔 -缸 -肢 -腐 -薛 -裟 -飡 -叱 -坦 -戮 -朴 -查 -棣 -洄 -滓 -牲 -瞰 -礫 -縠 -罥 -蒨 -袈 -誼 -謗 -逋 -驊 -鶻 -冪 -剝 -嗤 -嘲 -孺 -惶 -愔 -挺 -暌 -曷 -沛 -漉 -漚 -璞 -磊 -租 -秣 -粗 -荇 -藿 -誕 -貺 -厄 -屨 -曬 -穰 -筒 -篷 -籜 -籥 -繭 -蔕 -讎 -豎 -蹀 -醅 -醮 -銖 -頰 -厲 -奧 -妒 -峩 -抗 -揀 -槳 -爍 -究 -肱 -舃 -菖 -蚊 -輭 -迅 -酷 -閫 -陲 -霆 -鞋 -饌 -兢 -塹 -岧 -帔 -掠 -沅 -澈 -狄 -盥 -碾 -紵 -絆 -緯 -舅 -萎 -酲 -鞦 -駑 -騏 -塊 -姻 -嫦 -嶮 -悞 -愆 -歆 -盟 -矢 -禦 -緊 -聾 -芍 -苟 -蓄 -虵 -蜍 -貨 -隘 -靖 -龐 -佯 -兇 -嬪 -孩 -尸 -模 -污 -涔 -渤 -潸 -濩 -炬 -猴 -琳 -盂 -笥 -絹 -葩 -貔 -躇 -軌 -鍼 -靨 -娉 -攸 -普 -柚 -椀 -橐 -櫛 -穢 -罔 -菴 -蓂 -詳 -諷 -賭 -賽 -錐 -鏃 -伎 -弧 -怱 -惕 -拈 -搴 -斛 -歧 -泫 -爨 -畬 -芷 -葺 -蝴 -衞 -衿 -躞 -較 -鄧 -鐸 -闥 -騫 -鴿 -剃 -寮 -攝 -攪 -汚 -泬 -準 -瀲 -甿 -矚 -竽 -笏 -籃 -罅 -聒 -螺 -酊 -鋩 -鐫 -饗 -例 -啻 -嘈 -堵 -懿 -捕 -敝 -析 -槽 -漬 -燃 -爇 -縑 -罕 -耘 -蓀 -藪 -衍 -覿 -諭 -譚 -蹲 -軿 -酩 -鐺 -韆 -颭 -駝 -鴒 -哂 -墉 -幘 -惚 -搏 -朓 -泯 -滻 -澌 -煦 -疵 -盪 -糟 -繇 -罄 -蓴 -薔 -蚌 -誚 -誡 -誥 -諠 -遏 -邅 -酤 -醑 -鑣 -餉 -鹵 -偎 -効 -嗷 -娜 -概 -涎 -淩 -獰 -碌 -箋 -範 -綰 -緝 -蘢 -袴 -這 -邵 -釐 -顒 -駘 -麈 -仇 -刊 -哺 -妹 -婷 -彝 -抄 -摐 -杞 -樸 -氅 -烝 -煬 -狩 -珀 -琥 -睨 -穡 -級 -聆 -胄 -蔚 -蝕 -蠢 -襜 -襪 -訛 -邃 -唾 -宏 -屣 -嵌 -幣 -庵 -恤 -敕 -椿 -汨 -渝 -煞 -甍 -療 -皤 -睛 -瞋 -瞳 -禰 -羆 -聘 -蛺 -譙 -迂 -銳 -黠 -亥 -俛 -劈 -垓 -恢 -拒 -搆 -擡 -晤 -暾 -曩 -欵 -淇 -珥 -璣 -祉 -禎 -穉 -粥 -罹 -翥 -耗 -苕 -苧 -蔣 -諱 -輅 -轄 -郁 -鄂 -醇 -鈎 -鑷 -闋 -駛 -偕 -叛 -孕 -嵋 -嵒 -弁 -拏 -掘 -撚 -曦 -沮 -沱 -湟 -灾 -犂 -猗 -玷 -皂 -磻 -禊 -糞 -罩 -萄 -蝦 -譯 -貼 -邕 -郄 -鎬 -麽 -亨 -倪 -刈 -勾 -姪 -姮 -娶 -寤 -弋 -戾 -殫 -潑 -潼 -炳 -爻 -猱 -瑰 -甑 -甯 -翕 -翟 -臼 -茆 -蘸 -蝸 -詐 -陝 -隕 -伽 -姝 -孱 -岱 -弩 -彷 -撐 -旻 -昊 -曼 -楸 -洶 -狡 -琱 -癘 -礪 -篙 -臻 -蜺 -詰 -跼 -蹬 -迍 -酥 -隗 -飀 -鵩 -鵾 -麓 -黜 -刮 -垠 -幰 -庖 -慾 -憧 -懇 -斥 -枳 -泱 -瀧 -牘 -畧 -皚 -盲 -竦 -箜 -篌 -緋 -繳 -蕊 -謙 -距 -輙 -逅 -邂 -鑰 -隰 -驃 -鶺 -丙 -俾 -噬 -夤 -婁 -孜 -屹 -憀 -杓 -歟 -毘 -洮 -瀰 -瞑 -祛 -窣 -綆 -綾 -翱 -肇 -肚 -舷 -芹 -蘼 -虯 -蚩 -蛻 -褥 -襯 -貰 -踪 -邐 -鋋 -霾 -鞞 -鼕 -卵 -呀 -咬 -喘 -坰 -完 -弭 -怳 -憫 -拓 -搗 -旐 -汩 -淘 -璇 -瞬 -簸 -綏 -綽 -臭 -裨 -訊 -譴 -赭 -輾 -鄱 -鐙 -閽 -餅 -魑 -鯢 -鷥 -鼈 -僞 -匏 -卸 -嘹 -堠 -忡 -戊 -抃 -攄 -攘 -晡 -毿 -淙 -湫 -烘 -甄 -睇 -羯 -胷 -脊 -莢 -蘺 -蜻 -覃 -覲 -踞 -蹟 -軻 -轟 -鎗 -闡 -駢 -騖 -鷄 -鷖 -堰 -壖 -崦 -撓 -旟 -朅 -楨 -榔 -檉 -汪 -浹 -湼 -潢 -炯 -獎 -甜 -睢 -碩 -祐 -箴 -罰 -聿 -腮 -苓 -蓽 -蕚 -蟹 -詢 -詭 -謹 -逵 -遯 -隸 -驀 -髦 -鸕 -亙 -刁 -卞 -塲 -孥 -懲 -戌 -揜 -泄 -瀚 -皺 -禿 -筭 -籤 -絜 -膻 -荑 -薩 -諍 -謐 -謔 -譏 -赦 -蹭 -轝 -逮 -酉 -醍 -錚 -仄 -勃 -夸 -婺 -孀 -孽 -嶔 -廐 -廩 -撞 -攲 -斝 -晃 -柵 -棺 -毗 -淬 -瀘 -熠 -猖 -璋 -矻 -籩 -緹 -繆 -罏 -蜓 -譜 -譬 -蹴 -輈 -迦 -酺 -釧 -釭 -闉 -駡 -刳 -勅 -啜 -姥 -岩 -拯 -撤 -殼 -汶 -泳 -溉 -滂 -漭 -犧 -畋 -禳 -紺 -縉 -耒 -蜘 -評 -輒 -迨 -陬 -丑 -伺 -個 -冽 -囑 -曇 -椽 -櫓 -沌 -渦 -濠 -瀆 -熾 -燠 -燥 -燧 -牒 -痍 -皁 -盌 -磵 -窓 -筑 -臧 -舁 -躁 -遒 -遜 -醐 -鐃 -鑽 -鞅 -颸 -饋 -鰲 -兜 -匕 -咎 -喔 -嶤 -廁 -恡 -惺 -懦 -旛 -桴 -渙 -濬 -獺 -瑜 -皴 -縞 -縲 -腴 -舴 -艋 -艷 -芋 -薺 -蜉 -螻 -蹶 -辦 -酡 -騑 -鬐 -鯤 -鸛 -黿 -龔 -亹 -倖 -允 -劃 -呦 -囷 -囿 -埒 -塋 -塍 -姜 -尅 -峙 -彿 -恓 -搘 -擷 -曄 -杲 -槌 -樗 -橡 -沂 -沆 -漓 -炁 -獬 -獼 -璨 -瓌 -甥 -畜 -疫 -睥 -砥 -笈 -箸 -繒 -罾 -翾 -艘 -茯 -茹 -蘅 -蠲 -該 -詵 -豚 -貳 -賸 -跋 -軾 -霅 -騅 -鵜 -鷦 -鷲 -鼯 -仔 -侈 -勵 -厓 -叉 -嘒 -嘖 -幟 -强 -愉 -挫 -捎 -揆 -攫 -欒 -湮 -澦 -琯 -璜 -璽 -祓 -綢 -緗 -縶 -纂 -罘 -罟 -艫 -蒂 -虺 -蜩 -蝗 -裊 -跂 -轔 -鏑 -鏞 -隍 -鞘 -魁 -鴂 -鷙 -匿 -咿 -喃 -嚲 -嚶 -嶢 -忤 -抹 -搶 -旰 -晷 -曨 -柝 -橙 -灧 -熨 -痊 -痾 -瘵 -祁 -穎 -窘 -竅 -粢 -粵 -絺 -羃 -芟 -荏 -蔗 -蝣 -譁 -貸 -鎔 -鞏 -顥 -騕 -鴞 -佗 -咒 -噫 -奄 -孑 -嵓 -慳 -慼 -懾 -戇 -掀 -攏 -椶 -汜 -泮 -洩 -涘 -湊 -潏 -潰 -瀼 -燋 -睠 -秔 -筮 -粘 -纛 -羔 -胤 -腋 -膾 -襃 -諦 -豕 -躔 -酎 -鬻 -鳷 -鶗 -鷀 -鸇 -齧 -估 -冗 -匙 -喝 -嚮 -圻 -培 -壬 -姊 -嫉 -悼 -惸 -愍 -押 -拊 -挼 -措 -搦 -枿 -柿 -沴 -浥 -涪 -瀣 -焙 -熬 -燦 -牟 -狸 -猪 -硬 -碓 -祲 -篸 -簞 -纊 -腑 -舄 -菼 -萃 -葷 -蚤 -蛤 -螿 -誣 -遘 -鄠 -酹 -釘 -雰 -霈 -靴 -韝 -餒 -魍 -魴 -鵁 -鶄 -侔 -咍 -哮 -噉 -圜 -址 -婀 -弈 -弗 -徭 -惰 -拽 -捻 -摵 -撃 -敧 -棒 -椎 -氓 -爺 -牌 -獅 -玫 -瓠 -畹 -癸 -睦 -睫 -矗 -箬 -紐 -緡 -繻 -繽 -纈 -艦 -芥 -薑 -虢 -蛄 -蟪 -褊 -讚 -賺 -贖 -赬 -蹌 -釜 -鉏 -隟 -雹 -飱 -驎 -魎 -鶩 -鷃 -鷯 -鸑 -鹹 -黼 -僅 -咆 -啟 -嚥 -壕 -宓 -嶷 -廂 -怏 -悤 -慄 -敻 -斵 -柰 -梔 -榦 -毅 -涌 -滎 -畎 -穫 -籞 -緼 -繪 -罨 -腫 -臊 -茜 -菁 -蔔 -蕣 -蘗 -虐 -蠭 -衒 -覯 -諂 -踴 -酪 -鎚 -鞮 -餧 -鬯 -鵒 -鷟 -鷰 -黷 -僵 -兕 -勘 -匱 -匳 -埏 -壅 -妥 -娼 -媧 -嫂 -嶧 -帟 -弼 -徨 -怠 -悒 -懺 -扼 -桔 -楞 -楠 -洼 -澣 -澧 -濾 -球 -琤 -璠 -瘞 -皐 -眩 -矩 -矰 -禺 -窻 -糊 -糠 -羗 -耨 -臍 -舶 -荃 -菓 -葆 -蓍 -蔟 -蔻 -薙 -藁 -蘧 -蟆 -蠱 -訶 -詮 -謇 -貍 -賃 -賡 -酇 -鍤 -鞚 -頳 -駱 -齎 -募 -勺 -吝 -哢 -唇 -坳 -墊 -媸 -孃 -孌 -巇 -怖 -恕 -批 -拗 -括 -斕 -晼 -櫃 -櫟 -欃 -毯 -沁 -沄 -涴 -滉 -滕 -琰 -癭 -皙 -笄 -紜 -絛 -絢 -緌 -繰 -耦 -脛 -臙 -蚋 -蠁 -覰 -豬 -賁 -踵 -霤 -靚 -飧 -飫 -飼 -馱 -駮 -騃 -鰥 -鸊 -麄 -倂 -偉 -刪 -叵 -咤 -嗁 -嗅 -坻 -塤 -壟 -嬈 -宥 -崿 -嶙 -弛 -悍 -懊 -摛 -敏 -旺 -昴 -槊 -樟 -歐 -汍 -汭 -沚 -灃 -炫 -珉 -琨 -璿 -瘼 -盱 -瞪 -碪 -磐 -礎 -紲 -紹 -綦 -縵 -翺 -肖 -胝 -脾 -艮 -苜 -葑 -蓿 -薝 -蘄 -蘩 -蝀 -蝨 -螯 -裕 -襞 -謌 -迺 -鏌 -韁 -鬃 -鱣 -鳯 -鶿 -丱 -僂 -償 -冲 -凉 -劚 -叮 -噎 -妤 -婕 -崒 -廡 -捋 -揄 -携 -撒 -斃 -暘 -殞 -泚 -浚 -淄 -滹 -漵 -澁 -澒 -玦 -瑠 -璵 -皪 -祜 -篪 -簋 -糵 -糾 -紉 -繹 -纁 -胭 -荳 -菑 -葡 -葫 -蒺 -蛬 -蛸 -蜿 -蠆 -袒 -販 -貶 -輶 -醲 -鍛 -鎩 -鞬 -騄 -魈 -鶱 -丕 -丰 -佾 -侮 -傭 -剔 -勗 -呻 -哥 -啖 -囹 -圄 -嫣 -崗 -帚 -廛 -彗 -忉 -忒 -忿 -悰 -惘 -慍 -技 -挲 -掞 -揉 -描 -搢 -撇 -擻 -斐 -斡 -旎 -晰 -枷 -桁 -槔 -殤 -溥 -澡 -澥 -瀍 -琚 -督 -秤 -穽 -箒 -粹 -紇 -綫 -罝 -舲 -艤 -芡 -苛 -苡 -蔦 -蘖 -袋 -袷 -裀 -裯 -誨 -貅 -趫 -迭 -酆 -鉦 -鐶 -閔 -閼 -韉 -頴 -騂 -騾 -髫 -麛 -係 -倜 -傞 -儕 -儷 -兌 -刖 -刼 -哦 -啁 -嘔 -嘿 -嚀 -嚙 -媛 -嫗 -嫠 -孚 -它 -帕 -庠 -廄 -彙 -憨 -摻 -摽 -撰 -敖 -旖 -昃 -柁 -柑 -栱 -棼 -椰 -楣 -樛 -歊 -殢 -殲 -淤 -濶 -瀁 -炮 -牝 -琮 -瑯 -甎 -皛 -睽 -矧 -確 -篲 -簑 -糲 -系 -締 -繐 -罡 -罽 -群 -羿 -肸 -腓 -莠 -蓊 -薨 -虱 -螮 -觱 -諛 -諤 -賾 -赩 -踠 -轓 -邴 -醁 -醯 -鈐 -銛 -鍔 -鑊 -陁 -雒 -雩 -霎 -鞠 -頡 -飭 -餳 -驍 -髏 -髑 -鸘 -鸜 -黻 -亢 -企 -俘 -傴 -准 -剗 -剜 -吒 -堡 -屧 -崤 -嶄 -庳 -廨 -彪 -恂 -惲 -懵 -戡 -捍 -捩 -擐 -斲 -椹 -樾 -櫺 -歈 -殄 -汰 -沍 -泡 -洒 -涿 -湔 -澘 -煢 -燔 -爆 -璀 -璁 -畚 -瘁 -瘧 -睹 -硎 -硤 -碭 -磋 -秧 -篚 -糜 -絪 -綍 -緫 -縟 -縻 -罳 -翣 -翬 -腳 -膊 -臟 -舳 -茭 -薏 -蝙 -蝠 -褚 -覊 -詶 -詹 -誑 -諼 -讜 -跌 -輓 -邏 -酋 -銓 -鏚 -阪 -需 -静 -顋 -饞 -鱉 -鶉 -鶬 -鷂 -鷫 -鷴 -倀 -傘 -僭 -冏 -劬 -勍 -吻 -咳 -售 -唼 -啅 -喈 -噀 -奩 -崪 -嶒 -嶓 -恙 -愬 -愷 -扳 -揶 -搥 -搭 -撮 -撾 -敍 -旆 -枻 -棚 -楂 -槭 -歉 -氊 -汁 -溽 -滸 -澮 -燮 -牷 -犒 -狙 -瑀 -瓚 -畊 -畤 -疋 -疴 -瘳 -癢 -盻 -瞢 -瞽 -砑 -礱 -稗 -竚 -箆 -篥 -糝 -紘 -綈 -綣 -耜 -胯 -脯 -舠 -艎 -菽 -蔑 -蜒 -褕 -覷 -讖 -讙 -貊 -貲 -贍 -躭 -邢 -鄢 -鄽 -釁 -鉅 -鋏 -陔 -隤 -韈 -韤 -颶 -餙 -駁 -駞 -騧 -麏 -黽 -亘 -僾 -儘 -剉 -剌 -勛 -呪 -咀 -啣 -嘏 -嚇 -墾 -壍 -娩 -婬 -岌 -崚 -憊 -撝 -斅 -枰 -桀 -桄 -楷 -槧 -槲 -橤 -檠 -櫬 -欷 -殽 -氎 -溆 -溘 -烜 -犁 -犖 -狥 -狷 -獠 -玠 -琊 -琛 -皦 -盎 -磔 -磚 -穟 -窪 -筏 -糺 -紂 -綌 -繾 -肴 -胃 -舐 -荼 -菟 -蒐 -薌 -藴 -蛆 -蟇 -蠖 -蠨 -襖 -訖 -詫 -誌 -賚 -跑 -踉 -踣 -蹏 -軼 -轗 -遥 -郴 -醢 -鉉 -鉗 -阯 -陞 -隧 -雋 -雘 -飴 -驩 -鶡 -麵 -鼐 -串 -么 -争 -侏 -俜 -偪 -剋 -剸 -匆 -卹 -喣 -塼 -墖 -屆 -嵫 -巽 -彬 -徉 -徬 -悌 -悚 -憇 -抖 -撻 -攔 -斿 -晻 -朕 -杆 -栝 -棨 -殯 -洑 -漕 -潨 -濘 -灺 -煒 -燿 -獮 -璅 -瞞 -矍 -矮 -祟 -笻 -篔 -簦 -簹 -罌 -耄 -肓 -腎 -膋 -苫 -茝 -葅 -蓐 -蚓 -蜨 -蜴 -袵 -襆 -詬 -諡 -譊 -豳 -賂 -賮 -趍 -趺 -跗 -躚 -輞 -郛 -醖 -醨 -醬 -醽 -鍵 -閈 -闃 -闍 -靉 -驌 -髠 -鬆 -麑 -齩 diff --git a/generate_chinese_poetry/generate.py b/generate_chinese_poetry/generate.py index ebecc5868d..952de15fbc 100755 --- a/generate_chinese_poetry/generate.py +++ b/generate_chinese_poetry/generate.py @@ -82,7 +82,7 @@ def generate(model_path, word_dict_path, test_data_path, batch_size, beam_size, decoder_hidden_dim=512, bos_id=0, eos_id=1, - max_length=17, + max_length=9, beam_size=beam_size, is_generating=True) diff --git a/generate_chinese_poetry/preprocess.py b/generate_chinese_poetry/preprocess.py index 98e267e938..24678e4c22 100755 --- a/generate_chinese_poetry/preprocess.py +++ b/generate_chinese_poetry/preprocess.py @@ -52,7 +52,7 @@ def preprocess(datadir, outfile, dictfile): u"!" in p or u"?" in p or u"●" in p or u"□" in p or u"囗" in p or u")" in p): continue - paragraphs = p.split(u"。") + paragraphs = re.split(u"。|,", p) paragraphs = filter(lambda x: len(x), paragraphs) if len(paragraphs) > 1: dataset.append((title, author, paragraphs)) diff --git a/generate_chinese_poetry/train.py b/generate_chinese_poetry/train.py index 70cafbb5e0..9dfc11faa3 100755 --- a/generate_chinese_poetry/train.py +++ b/generate_chinese_poetry/train.py @@ -90,7 +90,7 @@ def train(num_passes, decoder_hidden_dim=512, bos_id=0, eos_id=1, - max_length=17) + max_length=9) parameters = paddle.parameters.create(cost) if init_model_path: From f21f1ae59694ef38a56e8bb442e81357ff8c4423 Mon Sep 17 00:00:00 2001 From: wangmeng28 Date: Tue, 14 Nov 2017 14:47:01 +0800 Subject: [PATCH 7/9] Update README for generating chinese poetry --- generate_chinese_poetry/README.md | 74 +++++++++--------------------- generate_chinese_poetry/index.html | 74 +++++++++--------------------- generate_chinese_poetry/train.py | 2 +- 3 files changed, 45 insertions(+), 105 deletions(-) diff --git a/generate_chinese_poetry/README.md b/generate_chinese_poetry/README.md index 618907aace..68908d3ea2 100644 --- a/generate_chinese_poetry/README.md +++ b/generate_chinese_poetry/README.md @@ -3,13 +3,14 @@ ## 简介 基于编码器-解码器(encoder-decoder)神经网络模型,利用全唐诗进行诗句-诗句(sequence to sequence)训练,实现给定诗句后,生成下一诗句。 +模型中的编码器、解码器均使用堆叠双向LSTM (stacked bi-directional LSTM),默认均为3层,带有注意力单元(attention)。 + 以下是本例的简要目录结构及说明: ```text . ├── data # 存储训练数据及字典 │ ├── download.sh # 下载原始数据 -├── models # 存储训练好的模型 ├── README.md # 文档 ├── index.html # 文档(html格式) ├── preprocess.py # 原始数据预处理 @@ -33,37 +34,22 @@ cd data && ./download.sh && cd .. python preprocess.py --datadir data/raw --outfile data/poems.txt --dictfile data/dict.txt ``` -上述脚本执行完后将生成处理好的训练数据poems.txt和数据字典dict.txt。poems.txt中每行为一首唐诗的信息,分为三列,分别为题目、作者、诗内容。 -在诗内容中,诗句之间用`.`分隔。 +上述脚本执行完后将生成处理好的训练数据poems.txt和字典dict.txt。字典的构建以字为单位,使用出现频数至少为10的字构建字典。 + +poems.txt中每行为一首唐诗的信息,分为三列,分别为题目、作者、诗内容。在诗内容中,诗句之间用`.`分隔。 训练数据示例: ```text -登鸛雀樓 王之渙 白日依山盡,黃河入海流.欲窮千里目,更上一層樓 -觀獵 李白 太守耀清威,乘閑弄晚暉.江沙橫獵騎,山火遶行圍.箭逐雲鴻落,鷹隨月兔飛.不知白日暮,歡賞夜方歸 -晦日重宴 陳嘉言 高門引冠蓋,下客抱支離.綺席珍羞滿,文場翰藻摛.蓂華彫上月,柳色藹春池.日斜歸戚里,連騎勒金羈 +登鸛雀樓 王之渙 白日依山盡.黃河入海流.欲窮千里目.更上一層樓 +觀獵 李白 太守耀清威.乘閑弄晚暉.江沙橫獵騎.山火遶行圍.箭逐雲鴻落.鷹隨月兔飛.不知白日暮.歡賞夜方歸 +晦日重宴 陳嘉言 高門引冠蓋.下客抱支離.綺席珍羞滿.文場翰藻摛.蓂華彫上月.柳色藹春池.日斜歸戚里.連騎勒金羈 ``` +模型训练时,使用每一诗句作为模型输入,下一诗句作为预测目标。 + + ## 模型训练 -训练脚本[train.py](./train.py)中的命令行参数如下: -``` -Usage: train.py [OPTIONS] - -Options: - --num_passes INTEGER Number of passes for the training task. - --batch_size INTEGER The number of training examples in one - forward/backward pass. - --use_gpu TEXT Whether to use gpu to train the model. - --trainer_count INTEGER The thread number used in training. - --save_dir_path TEXT The path to saved the trained models. - --encoder_depth INTEGER The number of stacked LSTM layers in encoder. - --decoder_depth INTEGER The number of stacked LSTM layers in decoder. - --train_data_path TEXT The path of trainning data. [required] - --word_dict_path TEXT The path of word dictionary. [required] - --init_model_path TEXT The path of a trained model used to initialized all - the model parameters. - --help Show this message and exit. -``` -### 参数说明 +训练脚本[train.py](./train.py)中的命令行参数可以通过`python train.py --help`查看。主要参数说明如下: - `num_passes`: 训练pass数 - `batch_size`: batch大小 - `use_gpu`: 是否使用GPU @@ -78,7 +64,7 @@ Options: ### 训练执行 ```bash python train.py \ - --num_passes 20 \ + --num_passes 50 \ --batch_size 256 \ --use_gpu True \ --trainer_count 1 \ @@ -96,24 +82,8 @@ python -c 'import utils; utils.find_optiaml_pass("./train.log")' ``` ## 生成诗句 -使用[generate.py](./generate.py)脚本对输入诗句生成下一诗句, -命令行参数如下: -``` -Usage: generate.py [OPTIONS] - -Options: - --model_path TEXT The path of the trained model for generation. - --word_dict_path TEXT The path of word dictionary. [required] - --test_data_path TEXT The path of input data for generation. [required] - --batch_size INTEGER The number of testing examples in one forward pass in - generation. - --beam_size INTEGER The beam expansion in beam search. - --save_file TEXT The file path to save the generated results. - [required] - --use_gpu TEXT Whether to use GPU in generation. - --help Show this message and exit. -``` -### 参数说明 +使用[generate.py](./generate.py)脚本对输入诗句生成下一诗句,命令行参数可通过`python generate.py --help`查看。 +主要参数说明如下: - `model_path`: 训练好的模型参数文件 - `word_dict_path`: 数据字典路径 - `test_data_path`: 输入数据路径 @@ -123,19 +93,19 @@ Options: - `use_gpu`: 是否使用GPU ### 执行生成 -例如将诗句 `白日依山盡,黃河入海流` 保存在文件 `input.txt` 中作为预测下句诗的输入,执行命令: +例如将诗句 `孤帆遠影碧空盡` 保存在文件 `input.txt` 中作为预测下句诗的输入,执行命令: ```bash python generate.py \ - --model_path models/pass_00014.tar.gz \ + --model_path models/pass_00049.tar.gz \ --word_dict_path data/dict.txt \ --test_data_path input.txt \ --save_file output.txt ``` 生成结果将保存在文件 `output.txt` 中。对于上述示例输入,生成的诗句如下: ```text --21.2048 不 知 身 外 事 , 何 處 是 閑 遊 --21.3982 不 知 身 外 事 , 何 處 是 何 由 --21.6564 不 知 身 外 事 , 何 處 是 何 求 --21.7312 不 知 身 外 事 , 何 事 是 何 求 --22.1956 不 知 身 外 事 , 何 處 是 人 愁 +-9.6987 萬 壑 清 風 黃 葉 多 +-10.0737 萬 里 遠 山 紅 葉 深 +-10.4233 萬 壑 清 波 紅 一 流 +-10.4802 萬 壑 清 風 黃 葉 深 +-10.9060 萬 壑 清 風 紅 葉 多 ``` diff --git a/generate_chinese_poetry/index.html b/generate_chinese_poetry/index.html index 5b09275150..d734cb5f6a 100644 --- a/generate_chinese_poetry/index.html +++ b/generate_chinese_poetry/index.html @@ -45,13 +45,14 @@ ## 简介 基于编码器-解码器(encoder-decoder)神经网络模型,利用全唐诗进行诗句-诗句(sequence to sequence)训练,实现给定诗句后,生成下一诗句。 +模型中的编码器、解码器均使用堆叠双向LSTM (stacked bi-directional LSTM),默认均为3层,带有注意力单元(attention)。 + 以下是本例的简要目录结构及说明: ```text . ├── data # 存储训练数据及字典 │ ├── download.sh # 下载原始数据 -├── models # 存储训练好的模型 ├── README.md # 文档 ├── index.html # 文档(html格式) ├── preprocess.py # 原始数据预处理 @@ -75,37 +76,22 @@ python preprocess.py --datadir data/raw --outfile data/poems.txt --dictfile data/dict.txt ``` -上述脚本执行完后将生成处理好的训练数据poems.txt和数据字典dict.txt。poems.txt中每行为一首唐诗的信息,分为三列,分别为题目、作者、诗内容。 -在诗内容中,诗句之间用`.`分隔。 +上述脚本执行完后将生成处理好的训练数据poems.txt和字典dict.txt。字典的构建以字为单位,使用出现频数至少为10的字构建字典。 + +poems.txt中每行为一首唐诗的信息,分为三列,分别为题目、作者、诗内容。在诗内容中,诗句之间用`.`分隔。 训练数据示例: ```text -登鸛雀樓 王之渙 白日依山盡,黃河入海流.欲窮千里目,更上一層樓 -觀獵 李白 太守耀清威,乘閑弄晚暉.江沙橫獵騎,山火遶行圍.箭逐雲鴻落,鷹隨月兔飛.不知白日暮,歡賞夜方歸 -晦日重宴 陳嘉言 高門引冠蓋,下客抱支離.綺席珍羞滿,文場翰藻摛.蓂華彫上月,柳色藹春池.日斜歸戚里,連騎勒金羈 +登鸛雀樓 王之渙 白日依山盡.黃河入海流.欲窮千里目.更上一層樓 +觀獵 李白 太守耀清威.乘閑弄晚暉.江沙橫獵騎.山火遶行圍.箭逐雲鴻落.鷹隨月兔飛.不知白日暮.歡賞夜方歸 +晦日重宴 陳嘉言 高門引冠蓋.下客抱支離.綺席珍羞滿.文場翰藻摛.蓂華彫上月.柳色藹春池.日斜歸戚里.連騎勒金羈 ``` +模型训练时,使用每一诗句作为模型输入,下一诗句作为预测目标。 + + ## 模型训练 -训练脚本[train.py](./train.py)中的命令行参数如下: -``` -Usage: train.py [OPTIONS] - -Options: - --num_passes INTEGER Number of passes for the training task. - --batch_size INTEGER The number of training examples in one - forward/backward pass. - --use_gpu TEXT Whether to use gpu to train the model. - --trainer_count INTEGER The thread number used in training. - --save_dir_path TEXT The path to saved the trained models. - --encoder_depth INTEGER The number of stacked LSTM layers in encoder. - --decoder_depth INTEGER The number of stacked LSTM layers in decoder. - --train_data_path TEXT The path of trainning data. [required] - --word_dict_path TEXT The path of word dictionary. [required] - --init_model_path TEXT The path of a trained model used to initialized all - the model parameters. - --help Show this message and exit. -``` -### 参数说明 +训练脚本[train.py](./train.py)中的命令行参数可以通过`python train.py --help`查看。主要参数说明如下: - `num_passes`: 训练pass数 - `batch_size`: batch大小 - `use_gpu`: 是否使用GPU @@ -120,7 +106,7 @@ ### 训练执行 ```bash python train.py \ - --num_passes 20 \ + --num_passes 50 \ --batch_size 256 \ --use_gpu True \ --trainer_count 1 \ @@ -138,24 +124,8 @@ ``` ## 生成诗句 -使用[generate.py](./generate.py)脚本对输入诗句生成下一诗句, -命令行参数如下: -``` -Usage: generate.py [OPTIONS] - -Options: - --model_path TEXT The path of the trained model for generation. - --word_dict_path TEXT The path of word dictionary. [required] - --test_data_path TEXT The path of input data for generation. [required] - --batch_size INTEGER The number of testing examples in one forward pass in - generation. - --beam_size INTEGER The beam expansion in beam search. - --save_file TEXT The file path to save the generated results. - [required] - --use_gpu TEXT Whether to use GPU in generation. - --help Show this message and exit. -``` -### 参数说明 +使用[generate.py](./generate.py)脚本对输入诗句生成下一诗句,命令行参数可通过`python generate.py --help`查看。 +主要参数说明如下: - `model_path`: 训练好的模型参数文件 - `word_dict_path`: 数据字典路径 - `test_data_path`: 输入数据路径 @@ -165,21 +135,21 @@ - `use_gpu`: 是否使用GPU ### 执行生成 -例如将诗句 `白日依山盡,黃河入海流` 保存在文件 `input.txt` 中作为预测下句诗的输入,执行命令: +例如将诗句 `孤帆遠影碧空盡` 保存在文件 `input.txt` 中作为预测下句诗的输入,执行命令: ```bash python generate.py \ - --model_path models/pass_00014.tar.gz \ + --model_path models/pass_00049.tar.gz \ --word_dict_path data/dict.txt \ --test_data_path input.txt \ --save_file output.txt ``` 生成结果将保存在文件 `output.txt` 中。对于上述示例输入,生成的诗句如下: ```text --21.2048 不 知 身 外 事 , 何 處 是 閑 遊 --21.3982 不 知 身 外 事 , 何 處 是 何 由 --21.6564 不 知 身 外 事 , 何 處 是 何 求 --21.7312 不 知 身 外 事 , 何 事 是 何 求 --22.1956 不 知 身 外 事 , 何 處 是 人 愁 +-9.6987 萬 壑 清 風 黃 葉 多 +-10.0737 萬 里 遠 山 紅 葉 深 +-10.4233 萬 壑 清 波 紅 一 流 +-10.4802 萬 壑 清 風 黃 葉 深 +-10.9060 萬 壑 清 風 紅 葉 多 ``` diff --git a/generate_chinese_poetry/train.py b/generate_chinese_poetry/train.py index 9dfc11faa3..18c9d79b31 100755 --- a/generate_chinese_poetry/train.py +++ b/generate_chinese_poetry/train.py @@ -76,7 +76,7 @@ def train(num_passes, # define optimization method and the trainer instance optimizer = paddle.optimizer.Adam( - learning_rate=1e-3, + learning_rate=1e-4, regularization=paddle.optimizer.L2Regularization(rate=1e-5), model_average=paddle.optimizer.ModelAverage( average_window=0.5, max_average_window=2500)) From 3614e6c64687c510b1b151218811e1bd7b3710f6 Mon Sep 17 00:00:00 2001 From: wangmeng28 Date: Tue, 14 Nov 2017 14:51:25 +0800 Subject: [PATCH 8/9] Update README for generating chinese poetry --- generate_chinese_poetry/README.md | 10 +++++----- generate_chinese_poetry/index.html | 10 +++++----- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/generate_chinese_poetry/README.md b/generate_chinese_poetry/README.md index 68908d3ea2..1f6bef0da8 100644 --- a/generate_chinese_poetry/README.md +++ b/generate_chinese_poetry/README.md @@ -103,9 +103,9 @@ python generate.py \ ``` 生成结果将保存在文件 `output.txt` 中。对于上述示例输入,生成的诗句如下: ```text --9.6987 萬 壑 清 風 黃 葉 多 --10.0737 萬 里 遠 山 紅 葉 深 --10.4233 萬 壑 清 波 紅 一 流 --10.4802 萬 壑 清 風 黃 葉 深 --10.9060 萬 壑 清 風 紅 葉 多 +-9.6987 萬 壑 清 風 黃 葉 多 +-10.0737 萬 里 遠 山 紅 葉 深 +-10.4233 萬 壑 清 波 紅 一 流 +-10.4802 萬 壑 清 風 黃 葉 深 +-10.9060 萬 壑 清 風 紅 葉 多 ``` diff --git a/generate_chinese_poetry/index.html b/generate_chinese_poetry/index.html index d734cb5f6a..c1ccd322d6 100644 --- a/generate_chinese_poetry/index.html +++ b/generate_chinese_poetry/index.html @@ -145,11 +145,11 @@ ``` 生成结果将保存在文件 `output.txt` 中。对于上述示例输入,生成的诗句如下: ```text --9.6987 萬 壑 清 風 黃 葉 多 --10.0737 萬 里 遠 山 紅 葉 深 --10.4233 萬 壑 清 波 紅 一 流 --10.4802 萬 壑 清 風 黃 葉 深 --10.9060 萬 壑 清 風 紅 葉 多 +-9.6987 萬 壑 清 風 黃 葉 多 +-10.0737 萬 里 遠 山 紅 葉 深 +-10.4233 萬 壑 清 波 紅 一 流 +-10.4802 萬 壑 清 風 黃 葉 深 +-10.9060 萬 壑 清 風 紅 葉 多 ``` From 1cd0bc808fdbd1b87f9d11045a6b1bb28f4e47c6 Mon Sep 17 00:00:00 2001 From: wangmeng28 Date: Tue, 14 Nov 2017 19:17:29 +0800 Subject: [PATCH 9/9] Remove unnecessary log info --- generate_chinese_poetry/preprocess.py | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/generate_chinese_poetry/preprocess.py b/generate_chinese_poetry/preprocess.py index 24678e4c22..4018e2e3cb 100755 --- a/generate_chinese_poetry/preprocess.py +++ b/generate_chinese_poetry/preprocess.py @@ -32,7 +32,7 @@ def preprocess(datadir, outfile, dictfile): note_pattern5 = re.compile(u"。。.*)$", re.U) note_pattern6 = re.compile(u"。。", re.U) note_pattern7 = re.compile(u"[《》「」\[\]]", re.U) - print("Loading raw data...") + print("Load raw data...") for fn in os.listdir(datadir): with io.open(os.path.join(datadir, fn), "r", encoding="utf8") as f: for data in json.load(f): @@ -56,23 +56,20 @@ def preprocess(datadir, outfile, dictfile): paragraphs = filter(lambda x: len(x), paragraphs) if len(paragraphs) > 1: dataset.append((title, author, paragraphs)) - print("Finished...") - print("Constructing vocabularies...") + print("Construct vocabularies...") vocab = build_vocabulary(dataset, cutoff=10) with io.open(dictfile, "w", encoding="utf8") as f: for v in vocab: f.write(v + "\n") - print("Finished...") - print("Writing processed data...") + print("Write processed data...") with io.open(outfile, "w", encoding="utf8") as f: for data in dataset: title = data[0] author = data[1] paragraphs = ".".join(data[2]) f.write("\t".join((title, author, paragraphs)) + "\n") - print("Finished...") if __name__ == "__main__":