之前由于论文等相关原因,需要一个诗词文字对仗库,苦于手头没有,网上也没有找到较好的定义好的格式。因此,琢磨着自己想办法做一个出来。而做词库的数据源很重要,选来选去,最后决定使用全唐诗作为数据库。至于原因,首先是因为其数据量比较大,诗词覆盖面比较广;其次,由于《全唐诗》中大都是唐宋时期的诗词名篇,结构相对严谨,平仄相对,对仗清晰。更重要的是。。苦于国学水平所限,我不知道还有啥别的数据库可用。
收录《全唐诗》的网站很多,但这些网站在数据完整性和数据结构简单性上来说都有一定缺陷。本数据库中的数据是从郑州大学图书馆网站上爬取下来的,因为其全唐诗库收录了唐代诗人二千五百二十九人的诗作四万二千八百六三首,共计九百卷。数据完整且容易抽取。由于爬取该数据库的爬虫程序是几年前写的,而后数度更换编程环境,现在已经找不到这段代码了,因此不再贴出code,数据库下载地址见附录1。
除此之外,我还找到了汉字读音的一个数据库(汉字字库),数据中包含聲母、開合口、韻母、聲調、切語、字、中古拼音等信息,绝对是对仗分析计算的好帮手啊,绝对可以作为评定、推断标准之一。不过,请注意《全唐诗》收录的创作的年代都是唐宋之前的,当时诗人们的创作作品时,使用的音韵可能是。。。。,请慎重选择。此数据库好像是从北大的一个语言论坛中得来的,是爱好者编辑的,数据的准确性基本可以得到保障。
另外,如果要从《全唐诗》诗词数据库中获得对仗信息,你可能想到需要做中文分词,但是建议你不要。因为我也有过这想法,但是稍微分析观察之后发现,其实完全没有必要,因为中国的古诗词极为精炼,字字珠玑,少有词组的形式出现,多是单字表意。如果你坚持试一试的话,可以尝试使用:。
最后,如果要做自动对联相关研究工作,可以参考微软亚洲研究院的一篇论文,他们使用SVM学习机做了一个不错的自动对联系统,可惜音韵等信息没有考虑在内。
附件说明:
1.数据集:https://github.com/todototry/AncientChinesePoemsDB
参考:
1. 全唐诗数据来源: http://www3.zzu.edu.cn/qtss/zzjpoem1.dll/query
2. SVM:
3. 汉字库:
4. 北大中文论坛: http://www.pkucn.com/thread-248321-1-1.html