二 唐代诗人社交信息抽取及表示
(一)诗人社交关系抽取
本文以《全唐诗》收录的900卷共计48900首唐诗为主要研究文本。在前期的诗作调研中发现,反映诗人互动交往的诗歌主要有两种形式:其一,诗题中出现交往对象的姓名、字号或别称,涉及友情赠答、寻访聚会、悼亡思念、奉酬应制、拜谒求进等多类主题;其二,诗歌由两名或多名诗人在宴集时共同创作,称为“联句诗”[1],诗文中相应诗句末尾会注上作者姓名,如这首由李崿、颜真卿、皎然创作的《五言重送横飞联句》:
春田草未齐,春水满长溪。(李崿)
出饯风初暖,攀光日渐西。(颜真卿)
归期江上远,别思月中迷。(皎然)
基于以上交游诗的形式特征,我们通过以下步骤进行诗人社交关系的提取。
步骤1.诗作预筛选。排除《全唐诗》中作者不详、与主题不相关的诗作共计4873首[2]。
步骤2.构建唐代诗人信息库。从中文维基百科、百度百科中抓取诗人页面,2143名作者中共有1616位抓取到至少一种百科页面;利用网页解析工具和正则表达式从页面中提取字、号、别称、官名、生卒年等信息,经去重和人工审核确认后加入信息库,共计挖掘字、号、别称信息983条,生卒年信息881条。以下为诗人李白的信息示例:
字:太白;号:青莲居士、谪仙人;别称:李太白、李十二、李翰林、李供奉、李拾遗;生年:701年;卒年:762年。
步骤3.诗人信息直接匹配。利用诗人姓名和步骤2挖掘到的字、号、别称信息,对诗题和诗文进行精确匹配,获取到可信度较高的2691首候选交游诗作。
步骤4.诗人信息间接匹配。考虑到诗题中的交往对象名称有诸多变体和组合形式,如《在兖州饯宋五之问》(宋之问)、《和姚令公从幸温汤喜雪》(姚崇)等,且名气较小的诗人存在百科信息缺漏或不足的情况,我们对交游诗进行了进一步挖掘:(1)双字名匹配,如果诗人名为双字,如“宋之问”,则提取“之问”加入匹配列表;(2)利用“姓.*官职名”[3]、“姓.*名”等正则表达式进行模糊匹配。该步骤共获取候选交游诗5925首。
步骤5.对步骤3、4获取的候选诗作进行筛选、校对和补充。(1)通过生卒年信息进行初步筛选:凡作者和交往对象在世时间无交集则作排除;如作者或交往对象卒年早于618年或生年晚于907年则作排除;(2)人工审核候选诗作,注重筛查诗人重名、重字号信息;(3)参考各种诗人别集的今人注本、唐诗人名考证研究(陶敏、2006)、诗人交游信息库(罗凤珠等,2014)等现有研究成果,对交游对象进行确认和补充。该步骤最终获取反映唐代诗人交往的诗作4658首,涉及诗人961位、社交关系1972对。此外,在匹配中发现,大量交游诗的对象不属于《全唐诗》作者,换言之,无法体现诗人之间的交往情况,因此,本研究只对《全唐诗》作者之间的诗歌交往情况进行分析,特此说明。
(二)诗人社交网络构建
得到交游诗作数据后,我们试图对以下几个问题展开探讨:从诗人角度来说,如何衡量其社交活跃程度,唐代核心社交人物有哪些?从诗人群体角度来说,基于社交关系是否可以进一步探测出社交圈?从唐诗本身来说,交游活动是否会对诗人的创作思想及内容产生影响?为了回答上述问题,需要对社交关系数据做进一步分析处理,并结合社交网络图进行讨论。
我们首先对每对社交人物间的交往频次进行了统计,发现约67%的社交关系对只有一次诗歌往来,而往来频次最高的皮日休和陆龟蒙之间则存有337首交游诗作。为了衡量诗人的社交活跃程度,我们从三个维度对其社交状况进行考察:第一,交往总人数;第二,交往总频次;第三,PageRank权值。其中,PageRank权值借用了搜索引擎网页排序的原理,当一个人物在社交中被越多人物链接时,其权重越高(Brin & Page,1998)。我们采用Gephi提供的PageRank统计工具[4]进行权值计算,概率(p)设为0.85,误差(Epsilon)设为0.001,并将两位诗人之间的交往频次设为链接权重。三个维度下排名最高的15位诗人如下:
·交往人数:白居易(63)、张说(63)、韩愈(47)、刘禹锡(45)、姚合(44)、贾岛(44)、贯休(39)、元稹(36)、皎然(35)、刘长卿(35)、杜甫(32)、韦应物(32)、张籍(31)、武元衡(31)、钱起(31)
·交往频次:白居易(783)、刘禹锡(452)、元稹(408)、皮日休(384)、陆龟蒙(381)、韩愈(162)、皎然(153)、姚合(139)、裴度(136)、张籍(134)、张说(133)、杜甫(130)、贾岛(127)、王维(127)、令狐楚(100)
·PageRank:白居易(0.0361)、张说(0.0215)、刘禹锡(0.0204)、元稹(0.0183)、皎然(0.0126)、韩愈(0.0114)、杜甫(0.0114)、王维(0.0105)、姚合(0.0099)、贾岛(0.0096)、皮日休(0.0086)、陆龟蒙(0.0085)、贯休(0.0083)、张籍(0.0083)、李白(0.0077)
从以上数据可以看出,在社交相对活跃的人物中,白居易、刘禹锡、元稹、张说、皎然、韩愈、杜甫、贾岛、姚合等人,无论是在交往的广度还是交流的频繁程度上都堪称全唐最为活跃的诗人,而前文提到的陆龟蒙、皮日休虽然唱和诗作甚多,但交往对象较这些社交核心人物而言则相对单一。
基于上述权值,我们采用XML格式文件表示唐代诗人的社交网络,如下例所示,每个诗人为唯一节点(node),具有ID、姓名、交往人数、交往频次、PageRank权值五项属性,诗人之间的交往关系用边(edge)表示,边权重为二人交游诗歌数量:
<node id="152.0" label="陆龟蒙" friends="16" freq="381" pagerank="0.0085"/>
<node id="396.0" label="皮日休" friends="16" freq="384" pagerank="0.0086"/>
<edge id="376" node1="396.0" node2="152.0" weight="337.0"/>
考虑PageRank权值接近交往人数和频次两项指标的综合反映,我们取该维度下排名前100位的诗人,提取其社交关系,利用Gephi可视化工具绘制其社交网络,如图1所示。其中,节点大小和颜色深浅按照PageRank权值进行设置,关系边宽按诗人之间交往频次进行设置。该图较好地显示了唐代诗人的社交状况:从整体上看,初唐、盛唐、中唐、晚唐四个时期的社交关系基本沿顺时针方向展开,中晚唐的社交密度高于初盛唐;从节点角度来看,张说、杜甫、皎然、刘长卿、白居易、刘禹锡、元稹、贾岛、姚合等人是非常明显的社交核心人物。此外,陆龟蒙和皮日休的密切交往也通过边宽得以体现。
图1 一百位唐代诗人社交网络图谱
接下来,本文将结合各个时期的社交网络图对当时的诗人社交及创作情况进行分析,并对唐代社交活动中的诗歌发展脉络进行梳理和总结。