计算人文新进展:中国古典诗词预训练模型BERT-CCPoem开源
2020-06-12

近日,清华大学人工智能研究院自然语言处理与社会人文计算研究中心在GitHub上开源了中国古典诗词预训练模型BERT-CCPoem(BERT-based Pre-trained Model for Chinese Classical Poetry)。

BERT-CCPoem是完全基于一个囊括了几乎所有中国古典诗词的语料库CCPC-Full v1.0训练而成的,该语料库共计926,024首诗词及8,933,162个诗词句子。BERT-CCPoem的模型参数系针对中国古典诗词库规模“度身定做”,采用了512维隐层向量、8层、每层8个注意头的适度配置。BERT-CCPoem以汉字为基本语言单元,将频度低于3的字处理成UNK,所形成的字典含11, 809个字型。

BERT-CCPoem能提供任何一首古典诗词的任何一个句子的向量表示,可广泛应用于古典诗词智能检索与推荐、风格分析及情感计算等诸多“下游”任务。一个典型的应用场景是,可根据用户指定任一句子的向量表示,计算出与该句具有“语义”关联性的句子子集。例如,输入诗句“一行白鹭上青天”,BERT-CCPoem通过计算向量间夹角余弦所给出的10个最相关的诗句如下(排位越靠前越相关):

1)白鹭一行登碧霄

2)一片青天白鹭前

3)飞却青天白鹭鸶

4)一双白鹭上云飞

5)白鹭一行飞绿野

6)一行白鸟掠清波

7)时向青空飞白鹭

8)一行飞鸟来青天

9)一行白鹭下汀洲

10)一行飞鹭下汀洲

这个结果与基于字符串匹配算法(最长公共子序列)给出的10个最相关的诗句是有较明显差异的,呈现出不同的特点:

1)数行白鹭横青湖

2)一片青天白鹭前

3)一行飞鸟来青天

4)一行白鹭下汀洲

5)一行白鹭云间绕

6)一行白鹭渺秋烟

7)一行白鹭引舟行

8)一行白鹭过前山

9)一行白雁遥天暮

10)一行白雁天边字

BERT-CCPoem由研究生郭志芃、本科生胡锦毅在导师孙茂松教授指导下完成。其在GitHub上的开源地址https://github.com/THUNLP-AIPoet/BERT-CCPoem,欢迎研究者下载使用。