唐 鋒,梁 循,趙曉磊,張 旋,程恒超
中文長文本武俠小說是一類具有鮮明中華文化元素的小說,多以俠客和義士為主人公并描寫他們身懷絕技、俠肝義膽等行為。本文的長文本武俠小說的外號(hào)指在武俠小說中除了人物真實(shí)姓名外人們對(duì)其的稱呼。
外號(hào),也叫綽號(hào)、諢號(hào),指姓名以外,根據(jù)此人的外貌、體型或特征等,給其起的另一稱呼,以表達(dá)親昵、玩笑之意或憎惡、諷刺之感,在修辭手法中叫做借代。賈崇柏認(rèn)為“人的本名多是抽象符號(hào),人物外號(hào)卻往往是本人特征的具體化和形象化,外號(hào)代本名就是以具體代抽象。它容易喚起人們的聯(lián)想,比本名給人留下的印象要深得多?!盵1]
根據(jù)武俠小說中人物外號(hào)所包含的文字含義,并對(duì)組成人物外號(hào)的文字通過統(tǒng)計(jì)分析和整理,武俠小說中的人物外號(hào)可以分為五大類: 武功招式類、門派類、外貌特征類、地理位置類和武器類。武功招式類的外號(hào),例如,“大手印”“陰陽手”等;門派類的外號(hào),例如,“峨眉掌門”“丐幫幫主”“逍遙門主”等;外貌特征類的外號(hào),例如,“黃衫客”“黑眉墨手”等;地理位置類的外號(hào),例如,“京師第一高手”“江北三魔”等;武器類外號(hào),例如,“無極劍”“八方刀”“精魔刀”等。
下面按照引言中對(duì)武俠外號(hào)的分類,對(duì)五類外號(hào)進(jìn)行詳細(xì)描述。
(一) 武功招式類外號(hào)
由于武俠小說自身的特性,描寫的各種義士俠客往往都身懷絕技,使作品中的人物形象更加豐滿,給讀者留下深刻的印象。因此,根據(jù)武功招式給人物起外號(hào)稱為武俠小說中最常見的一種類型。如金庸小說《射雕英雄傳》中裘千仞的外號(hào)“鐵掌水上飄”,靈智上人的外號(hào)“大手印”;又如司馬翎小說《霸海屠龍》中鐘撫仙的外號(hào)“太乙神指”,李聽音的外號(hào)“陰陽手”等等。
(二) 門派類外號(hào)
在武俠小說中,各路能人異士、俠客英雄大多都會(huì)分屬于各個(gè)武林門派,使得門派成為武俠小說中不可或缺的一個(gè)元素。例如,在金庸小說中就能夠眾多武俠門派,例如,武當(dāng)派、峨眉派、少林派、崆峒派、華山派、五毒教、丐幫、明教、天山派、全真教、逍遙派等等。眾多的武林門派也展漏出眾多的武林高手,為了體現(xiàn)出人物所屬門派以及在門派中的武功高招或地位,小說中的人物外號(hào)有一部分體現(xiàn)了這種門派類別。如臥龍生小說《飛燕驚龍》中的齊元同的外號(hào)之一是“天龍幫紅旗壇主”,參元通的外號(hào)之一是“崆峒派掌門”;又比如金庸小說《笑傲江湖》中恒山三位掌門師太江湖外號(hào)“恒山三師太”,《天龍八部》中丁春秋的外號(hào)“星宿老怪”,《倚天屠龍記》中武當(dāng)七俠、魔教四王等都在外號(hào)中體現(xiàn)了他們的門派。
(三) 外貌特征類外號(hào)
通過描述人外貌特征來描寫人物也是一種常見手法。在武俠小說中的外號(hào)中也經(jīng)??梢砸姷綖榱苏宫F(xiàn)人物的外貌體征在外號(hào)名中凸顯人物的外型的情況。如金庸小說《碧血?jiǎng)Α分袉舞F生的外號(hào)“獨(dú)眼神龍”、何紅藥的外號(hào)“黑衣老乞婆”,從外號(hào)就可以知道單鐵生是一個(gè)只有一只眼的人物而何紅藥則身著黑色外衣;又比如金庸另外一部小說《神雕俠侶》中段智興的一個(gè)外號(hào)是白眉僧,從外號(hào)就可以知道段智興是一位有著白眉的僧人。
(四) 地理位置類外號(hào)
武俠小說中的人物外號(hào)還有一類是在外號(hào)中體現(xiàn)人物所處的區(qū)域位置。此類外號(hào)使讀者能夠?qū)π≌f中的人物記憶深刻,在讀者腦海中將人物外號(hào)與對(duì)應(yīng)的區(qū)域?qū)?yīng)起來。如司馬翎小說《帝疆爭雄記》里面湛百亥的外號(hào)“魯南刀怪”,欒洛的外號(hào)“東??袢恕?;又比如金庸小說《書劍恩仇錄》中袁士霄的外號(hào)“天池怪俠”,常赫志和常伯志的外號(hào)“西川雙俠”等等都可以從外號(hào)窺見他們是哪個(gè)地方的人物。
(五) 武器類外號(hào)
武俠小說中還有一種元素格外吸引人的眼球,就是各式各樣的武器,不同人物使用的武器風(fēng)格迥異。古人所說的“十八般武藝”是指十八種武器,一般是指弓、弩、槍、棍、刀、劍、矛、盾、斧、鉞、戟、殳、鞭、锏、錘、叉、鈀、戈。但是中國武術(shù)中出現(xiàn)的兵器遠(yuǎn)不止十八種,這就使得各種奇門兵器和形形色色的暗器成為武俠小說中一個(gè)亮點(diǎn),也使得武器成為武林高手的特征之一。如司馬翎小說《霸海屠龍》中袁琦的外號(hào)“毒劍”,邵坤的外號(hào)“六甲刀”,凌志揚(yáng)的外號(hào)“錢塘一劍”;又比如蕭瑟的小說《霸王神槍》中林英豪的外號(hào)“破風(fēng)神劍”,楊子威的外號(hào)“崩雷神劍”或是金庸小說《飛狐外傳》中的商劍鳴外號(hào)八卦刀等等。武器與武俠始終有著不可分割的聯(lián)系,這種聯(lián)系在外號(hào)中得以體現(xiàn)。
將外號(hào)進(jìn)行分類能更好地構(gòu)建后文中武俠外號(hào)高頻詞典,使武俠外號(hào)高頻詞能夠被更清晰地分類。
廣義地說,綽號(hào)識(shí)別是一類特殊的同義詞識(shí)別。Han等在2017年的KDD會(huì)議上提出了對(duì)同義詞自動(dòng)提取提出了DPE框架[2]。目前在中文信息處理領(lǐng)域,對(duì)外號(hào)識(shí)別尚未有深入研究,本文希望在這個(gè)細(xì)化領(lǐng)域有所貢獻(xiàn)。從大的方面來看,外號(hào)識(shí)別與中文命名實(shí)體識(shí)別有相似之處,但也有不同。命名實(shí)體識(shí)別(NER)是指識(shí)別文中具有特定意義的實(shí)體,主要包括人名、地名、機(jī)構(gòu)名等。目前,中文命名實(shí)體識(shí)別也主要集中在人名、地名、機(jī)構(gòu)名、時(shí)間、日期、貨幣和百分比這幾大類[3]。對(duì)于識(shí)別外號(hào)的這個(gè)領(lǐng)域尚未有相關(guān)研究,也沒有將外號(hào)的識(shí)別與真實(shí)姓名對(duì)應(yīng)起來。
本文提出未登錄詞擴(kuò)展識(shí)別篩選方法來對(duì)觀察窗口內(nèi)的文本進(jìn)行擴(kuò)展查找外號(hào)。同時(shí),統(tǒng)計(jì)武俠小說外號(hào)中出現(xiàn)頻率高和頻率較低的字詞作為武俠小說的高頻詞詞典和低頻指示字典,以對(duì)候選文本進(jìn)行篩選;再以固定句式法則通過外號(hào)指示詞對(duì)文本進(jìn)行二次查找外號(hào),補(bǔ)充之前查找的字符串集。若對(duì)同一個(gè)人名,通過固定句式法則查找的外號(hào)與對(duì)觀察窗口內(nèi)的文本進(jìn)行擴(kuò)展查找的外號(hào)有重復(fù),使通過固定句式法則查找的外號(hào)優(yōu)先級(jí)更高。最后將兩種方法得到的外號(hào)取并集,最后得到識(shí)別出的外號(hào)集合。
目前,對(duì)于外號(hào)這種類型的命名實(shí)體識(shí)別(Named Entity Recognition, NER)在中文信息處理領(lǐng)域還沒有深入的研究。從宏觀上看,外號(hào)識(shí)別是信息抽取和中文命名實(shí)體識(shí)別的一個(gè)分支。信息抽取的任務(wù)是從大量數(shù)據(jù)中準(zhǔn)確、快速地獲取目標(biāo)信息,提高信息的利用率。在信息抽取領(lǐng)域內(nèi),命名實(shí)體識(shí)別、指代消解、關(guān)系抽取和事件抽取為其四個(gè)主要方面。[4]中文命名實(shí)體識(shí)別仍然存在許多難題。與英文命名實(shí)體識(shí)別相比,中文命名實(shí)體識(shí)別的難點(diǎn)主要包括: 漢語中的“字”的邊界是確定的,但“詞”的邊界是模糊的;漢語中存在大量的嵌套、簡稱、縮略語等復(fù)雜結(jié)構(gòu)[5]。目前,國內(nèi)外眾多學(xué)者在自動(dòng)分詞和命名實(shí)體識(shí)別研究領(lǐng)域做了大量工作,但從實(shí)際分詞和識(shí)別效果上看,結(jié)果往往不是很好。因?yàn)閷?duì)于不同領(lǐng)域的語料庫,通用的處理方法不能在特定情境下進(jìn)行準(zhǔn)確的識(shí)別,所以對(duì)于細(xì)分領(lǐng)域的命名實(shí)體需要有更細(xì)化的方法來進(jìn)行識(shí)別。
國內(nèi)在中文命名實(shí)體識(shí)別方面,黃德根提出了基于統(tǒng)計(jì)的方法來識(shí)別人名[6], 宋柔提出了基于語料庫和規(guī)則庫的中文人名識(shí)別方法[7]。
近年來,在命名實(shí)體識(shí)別領(lǐng)域,很多研究者將NER任務(wù)規(guī)約成一種序列標(biāo)注任務(wù)[8]。對(duì)于每一個(gè)輸入到模型中的字,首先對(duì)其進(jìn)行標(biāo)注判定,根據(jù)判定的類別來對(duì)命名實(shí)體的邊界和類型進(jìn)行判斷。序列標(biāo)注任務(wù)中常用的是序列標(biāo)注,此策略中S表示自字本身就是一個(gè)實(shí)體,B表示該字是命名實(shí)體的起始位置,E表示命名實(shí)體的結(jié)尾,O表示該字不屬于命名實(shí)體的一部分[9]。在進(jìn)行序列標(biāo)注任務(wù)時(shí),有一些機(jī)器學(xué)習(xí)的方法可以被應(yīng)用其中。最常見的可以分為有監(jiān)督的機(jī)器學(xué)習(xí)方法、半監(jiān)督的機(jī)器學(xué)習(xí)方法和無監(jiān)督的學(xué)習(xí)方法[10]。有監(jiān)督的學(xué)習(xí)方法有支持向量機(jī)(Support Vector Machine, SVM)[11]、最大熵模型(Maximum Entropy, ME)[12]、隱馬爾可夫模型(Hidden Markov Model, HMM)[13]、條件隨機(jī)場(Conditional Random Field, CRF)[14]、決策樹(Decision Tree, DT)[15]等。
除了基于統(tǒng)計(jì)機(jī)器學(xué)習(xí)的方法外,還有基于規(guī)則的方法和當(dāng)前火熱的深度學(xué)習(xí)下的命名實(shí)體識(shí)別[16]。
基于規(guī)則的命名實(shí)體識(shí)別方法是早期在MUC會(huì)議之后提出的NER研究的熱門方向。其中,Collins等[17]提出的先定義Decision List規(guī)則集再根據(jù)語料進(jìn)行迭代并產(chǎn)生新的規(guī)則的方式使得其在人名、地名、機(jī)構(gòu)名等三種典型的命名實(shí)體識(shí)別類別上的識(shí)別準(zhǔn)確率達(dá)到了91%。同時(shí),也有學(xué)者提出將規(guī)則與統(tǒng)計(jì)模型相結(jié)合,在識(shí)別地名的時(shí)候不加人地名詞典也可以取得很好的效果[18]。但是,基于規(guī)則的命名實(shí)體識(shí)別方法的弊端,在于識(shí)別準(zhǔn)確率的提升意味著需要更多的規(guī)則,這樣導(dǎo)致普適性不是很好。
深度學(xué)習(xí)屬于近期火熱的研究方向,其源于神經(jīng)網(wǎng)絡(luò)模型的技術(shù)也成為了機(jī)器學(xué)習(xí)領(lǐng)域新的研究熱點(diǎn)。在NER領(lǐng)域,使用詞向量的表示方法使得在大規(guī)模文本中異構(gòu)的文本被統(tǒng)一用特征表示成為可能[19]。除了使用詞向量作為特征,很多學(xué)者也尋求借鑒長短期記憶網(wǎng)絡(luò)(LSTM)、深層神經(jīng)網(wǎng)絡(luò)(DNN)[20]、混合神經(jīng)網(wǎng)絡(luò)(HNN)[21]等方法來對(duì)現(xiàn)有的詞向量作為特征的方法和模型進(jìn)行改進(jìn)。例如,Lample等[22]提出的LSTM和基于轉(zhuǎn)換的兩種神經(jīng)網(wǎng)絡(luò)模型,在四種語言上均獲得目前較好的NER效果。
識(shí)別外號(hào)并將外號(hào)與真實(shí)人名對(duì)應(yīng)起來可以算做一類命名實(shí)體識(shí)別和中文信息分析相結(jié)合的任務(wù),但與之前識(shí)別人名、地名、機(jī)構(gòu)名時(shí)間、日期、貨幣和百分比等實(shí)體相比還是有不同的地方: 第一,外號(hào)不獨(dú)立,必須與真實(shí)人名聯(lián)系起來;第二,外號(hào)識(shí)別過程中會(huì)出現(xiàn)不唯一性,同一個(gè)真實(shí)人名可能存在一個(gè)或多個(gè)外號(hào),這也增加了外號(hào)識(shí)別的難度;第三,以上幾類中文命名實(shí)體的識(shí)別已經(jīng)有很多相關(guān)數(shù)據(jù)集及標(biāo)注集,但本文研究的外號(hào)識(shí)別國內(nèi)尚未有深入研究。
我們借鑒了未登錄詞的擴(kuò)展識(shí)別方法,在外號(hào)識(shí)別上延伸了相關(guān)識(shí)別規(guī)則,并對(duì)可能的外號(hào)子串進(jìn)行篩選;同時(shí),本文還將引入“固定句式法”來對(duì)武俠小說中的外號(hào)進(jìn)行識(shí)別。
本文主要工作如下: ①提出基于未登錄詞擴(kuò)展識(shí)別篩選方法,對(duì)外號(hào)進(jìn)行識(shí)別; ②提出武俠小說外號(hào)指示詞,并引入“固定句式法則”對(duì)外號(hào)進(jìn)行識(shí)別; ③建立武俠外號(hào)高頻詞典和低頻指示字典,對(duì)競爭外號(hào)子串進(jìn)行篩選確定候選外號(hào)子串。
本文的組織結(jié)構(gòu)如下: 引言介紹外號(hào)識(shí)別的研究背景以及武俠小說中外號(hào)的分類;第一節(jié)介紹中文命名實(shí)體識(shí)別的相關(guān)工作以及外號(hào)識(shí)別的難點(diǎn);第二節(jié)主要介紹外號(hào)識(shí)別的相關(guān)定義以及方法概述;第三節(jié)在收集到的數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn)并與標(biāo)注集進(jìn)行對(duì)比分析;最后為本文的結(jié)論與展望。
定義1基準(zhǔn)名(Base Name, BN),指在小說中出現(xiàn)的主要人物的姓名,也就是姓氏與名字相結(jié)合不能省略其中一部分。
這里將文中出現(xiàn)人物的姓名作為BN。例如,在《射雕英雄傳》中“郭靖”也被稱為“郭大俠”,但此處以“郭靖”作為BN;又比如《笑傲江湖》中,“任盈盈”也被稱為“盈盈”。雖“盈盈”出現(xiàn)頻數(shù)遠(yuǎn)大于“任盈盈”,但在外號(hào)識(shí)別時(shí),“盈盈”會(huì)作為外號(hào),所以此處會(huì)取“任盈盈”為BN。對(duì)于第i(i≥1,i∈N)個(gè)外號(hào)的基準(zhǔn)名定義為BNi。
定義2候選的外號(hào)字符串詞總集合定義為C。對(duì)于每個(gè)不同的BNi(i=1,2,3,…),其候選的外號(hào)字符串集合定義為Ci(i=1,2,3,…);對(duì)于每個(gè)集合Ci(i=1,2,3,…),其中的元素定義為Cij(i,j=1,2,3,…),Cij表示第i個(gè)基準(zhǔn)名的第j個(gè)候選外號(hào)。
定義3競爭外號(hào)子串(Competent Nickname Substring, CNS)。在對(duì)BNi的候選外號(hào)子串進(jìn)行迭代篩選的時(shí)候,若某次迭代出現(xiàn)了兩個(gè)或多個(gè)Cij的數(shù)量相同的外號(hào)子串,這些子串則稱為競爭外號(hào)子串。
確定BN的候選外號(hào)子串需要根據(jù)Cij中包含武俠高頻詞數(shù)目的多少。需要注意的是,如果CNS所包含的武俠高頻詞也相同,則共同作為候選外號(hào)子串進(jìn)行迭代,直到某個(gè)子串所含武俠高頻詞數(shù)目大于另外的競爭外號(hào)子串。當(dāng)?shù)魏螅羧匀挥泻蜻x外號(hào)子串所含武俠高頻詞數(shù)目相同,則將候選子串作為BNi的外號(hào)。
定義4武俠外號(hào)高頻詞(Knight-errant Nickname High-frequency Word, KNHW)。武俠高頻詞是指武俠小說外號(hào)中出現(xiàn)頻率大于10%的字或詞,同時(shí)還包括一些雖然頻率未10%的字詞但也包含在天氣及氣候、顏色和金屬等分類中的字或詞。
在整理并分析武俠小說出現(xiàn)的外號(hào)時(shí),發(fā)現(xiàn)由于外號(hào)本身是反映人的特征,故在創(chuàng)作一個(gè)武俠人物的外號(hào)時(shí),往往會(huì)包括一些常用的字詞。通過對(duì)武俠小說外號(hào)的統(tǒng)計(jì)和整理,我們可以將這些出現(xiàn)頻率較高的字詞定義為武俠高頻詞。
定義5武俠外號(hào)高頻詞典(Knight-errant Nickname High-frequency Dictionary, KNHD)。武俠高頻詞詞典是根據(jù)定義4中的武俠外號(hào)高頻詞組成的詞典。
KNHD包括天氣及氣候武俠高頻詞詞典、數(shù)字武俠高頻詞詞典、顏色和金屬武俠高頻詞詞典、玄幻類武俠高頻詞詞典、身體部位武俠高頻詞詞典、方位武俠高頻詞詞典、動(dòng)物武俠高頻詞詞典、形容人的武俠高頻詞詞典等詞典組成武俠高頻詞詞典。
比如天氣及氣候武俠高頻詞詞典,包含如: 風(fēng)、雨、雪、雷、電、霜、凍、寒等武俠高頻詞,在小說中包括此種類型的外號(hào)如: 瀟湘夜雨、西門飄雪、奔雷手等;又如動(dòng)物武俠高頻詞詞典,包含如: 龍、虎、狼、馬、狗、狐、獅等武俠高頻詞,在小說中與此相關(guān)的外號(hào)如: 伏虎金剛、雪山飛狐、鬼門龍王等。
定義6候選外號(hào)子串(Optional Nickname Substring, ONS)。候選外號(hào)子串指的是在尋找BN的外號(hào)時(shí)最有可能是BN的外號(hào)的子串。并對(duì)ONS進(jìn)行迭代,以找出BN的外號(hào)。
定義7觀察窗口(Observation Window,OW)。觀察窗口是指在選取標(biāo)識(shí)詞語后,選擇當(dāng)前位置的前后n(n>0)個(gè)位置上的字、詞、字母、數(shù)字、標(biāo)點(diǎn)和其標(biāo)識(shí)表示的集合。即以當(dāng)前位置的前后n個(gè)位置范圍內(nèi)的子串及其標(biāo)記作為觀察窗口: (…w-n/tag-n,…,w-1/tag-1,w0/tag0,w1/tag1,…,wn/tagn,…,其中wi(i=-n, -n+1,…,-1,0,1,…,n)表示第i個(gè)位置上的字符,tagi(i=-n,-n+1,…,-1,0,1,…,n)表示第i個(gè)位置上字符的標(biāo)記)。本文中OW在選取ONS時(shí)和對(duì)CNS進(jìn)行擴(kuò)展時(shí)會(huì)被使用,在NI定位到文中具體句子時(shí)也會(huì)使用。
定義8外號(hào)指示詞(Nickname Indicator,NI)。外號(hào)指示詞是指在武俠小說中出現(xiàn)外號(hào)時(shí)常常出現(xiàn)的詞。本文選取了“外號(hào)”“綽號(hào)”“人稱”“號(hào)稱”“稱作”等詞匯作為NI。
在后文中有對(duì)15篇武俠小說的NI及OW的出現(xiàn)頻數(shù)進(jìn)行統(tǒng)計(jì),結(jié)果表明外號(hào)指示詞頻數(shù)與外號(hào)頻數(shù)有很強(qiáng)的相關(guān)性。
定義9低頻指示字典(Low-frequency Pointer Dictionary, LPD)。低頻指示字是指在通過未登錄詞擴(kuò)展識(shí)別篩選方法識(shí)別外號(hào)狀態(tài)下提取ONS時(shí),有些字符諸如助詞類的出現(xiàn)頻率較低,基本未在外號(hào)中出現(xiàn)過的字的集合。
例如,的、是、做、么、了、呀、呵、啊、嗎、嘛……這些字在現(xiàn)有武俠小說中的外號(hào)中出現(xiàn)頻率很低或從未出現(xiàn),若遇到這些字在提取ONS時(shí)一般忽略。
定義10固定句式法則(Fixed Sentence Principle, FSP)。固定句式法則是指在統(tǒng)計(jì)并定位了NI之后,在OW中對(duì)外號(hào)進(jìn)行查找時(shí),要根據(jù)一些固定句式或特征來進(jìn)行外號(hào)識(shí)別。
由于單純的分詞不能準(zhǔn)確找到外號(hào),容易將外號(hào)拆分開,故將外號(hào)出現(xiàn)的句子進(jìn)行整理歸納。然后提煉出一些句式,在這些句式中外號(hào)出現(xiàn)的幾率很大,那么稱這些句式為固定句式。根據(jù)這些句式去尋找外號(hào)的方法稱為固定句式法則。而在遇到這些句式時(shí),對(duì)字符串進(jìn)行摘取作為ONS。如《碧血?jiǎng)Α分?,搜尋“外號(hào)”這個(gè)NI,在OW中會(huì)出現(xiàn),例如,
(1) 木桑道人外號(hào)“千變?nèi)f劫”。
(2) 他年輕之時(shí),因輕功卓絕,身法變幻無窮,江湖上送他個(gè)外號(hào),叫做“千變?nèi)f化草上飛”。
(3) 袁承志道: “劉大哥,你外號(hào)五丁手,五丁開山想必拳力掌力甚是了得。
(4) 焦公禮道: “這位恩公姓夏,外號(hào)叫做金蛇郎君?!?/p>
(5) 誰叫他外號(hào)蓋孟嘗呢?哈哈!
(6) 他師父是華山派穆老祖師的徒弟,外號(hào)叫“銅筆鐵算盤”。
(7) 原來這外號(hào)不大雅致,叫作“飛天魔女”。
可以發(fā)現(xiàn),文中在出現(xiàn)“外號(hào)”這個(gè)NI的時(shí)候,真實(shí)的外號(hào)也經(jīng)常會(huì)隨之出現(xiàn)。那么,從這些句式里面就可以提煉出FSP:
(1) NI+“”/‘’,引號(hào)內(nèi)部為ONS
(2) NI+…+“叫(作/做)”+ ONS
(3) “你/他/我/”+“外號(hào)”+ ONS
諸如這種類型的句式將其納入FSP,用于識(shí)別外號(hào)。
本文對(duì)外號(hào)的查找方法是通過未登錄詞擴(kuò)展識(shí)別篩選方法并引入KNHD和LPD來對(duì)ONS進(jìn)行篩選;第二步是通過FSP對(duì)外號(hào)再次查找并與之前的ONS取并集確定識(shí)別的外號(hào)。
如表1所示,以《笑傲江湖》中莫大先生的外號(hào)“瀟湘夜雨”為例來說明未登錄詞擴(kuò)展識(shí)別篩選方法。每次迭代統(tǒng)計(jì)BME出現(xiàn)的次數(shù),若前后兩次迭代BME次數(shù)不同停止迭代,或者遇到雙引號(hào)、單引號(hào)時(shí)停止迭代。
表1 外號(hào)實(shí)體識(shí)別擴(kuò)展搜索示例
如表1所示,第一次迭代時(shí),“夜雨”的總次數(shù)為7次,并未出現(xiàn)低頻指示字;第二次迭代時(shí)“湘夜雨”的總次數(shù)為7次,第三次迭代時(shí)“瀟湘夜雨”的總次數(shù)為7次,第四次遇到雙引號(hào)即停止迭代。于是認(rèn)為此時(shí)的BMME,即“瀟湘夜雨”為莫大先生的外號(hào)。
根據(jù)表1的示例可以得出未登錄詞擴(kuò)展識(shí)別篩選(OOV extension Recognition and Screening, ORS)方法。
在對(duì)ORS方法進(jìn)行說明之前,本文作了以下約定:
算法1(ORS):
(1) 按照已知的基準(zhǔn)名(BN)詞典進(jìn)行搜索,篩選出BN前面只包含中文字符、以及BN前一個(gè)字符為“’”“””的字符串集合C,其中Ci(i=1,2,3,…)表示第i個(gè)基準(zhǔn)名符合條件的字符串。
(2) 按照以下方式進(jìn)行標(biāo)注: 詞首(B)、詞中(M)、詞尾(E)并結(jié)合KNHD和LPD初篩合格的字符串,初始時(shí)B、M、E均在BN的前一個(gè)字符。
算法2是FSP搜索的算法描述,F(xiàn)SP根據(jù)NI和固定句式對(duì)ONS進(jìn)行搜索。在通過NI確定好OW之后,通過固定句式來對(duì)ONS進(jìn)行提取,這就是基于固定句式法則的外號(hào)搜索策略(Fixed Sentence Principle Search, FSP )。通過算法2可以將算法1中有些未發(fā)現(xiàn)的ONS提取出來并在優(yōu)先級(jí)上取更高。
算法2 FSP搜索輸入:小說數(shù)據(jù)集,{NI}輸出:{ONSBi}forNIi∈NI: 當(dāng)NIi出現(xiàn): 將OWi加入到OWforow∈OW: 根據(jù)FSP搜索ONS 將ONSBi加入到{ONSBi}
如表2所示,將武俠高頻詞分類進(jìn)行整理,分為動(dòng)物、身體部位、天氣、古時(shí)特殊稱謂、武器、方位、數(shù)字、玄幻、顏色、植物和自然景觀等幾類。表2是武俠高頻詞表的節(jié)選,按照類別列出。當(dāng)在選取ONS的時(shí)候,根據(jù)KNHD對(duì)CNS進(jìn)行篩選。
表2 KNHD按類別分類和統(tǒng)計(jì)(節(jié)選)
表3是低頻指示字典LPD的節(jié)選,若在篩選CNS的時(shí)候發(fā)現(xiàn)有其中的指示字,應(yīng)該將其過濾掉。
表3 低頻指示字典LPD(節(jié)選)
表4是節(jié)選了部分FSP,如果在通過定位NI所在的OW內(nèi)發(fā)現(xiàn)了FSP,則按照FSP的規(guī)則對(duì)ONS進(jìn)行提取。
表4 FSP(節(jié)選)
(1) 數(shù)據(jù)集
為了評(píng)估本文提出的方法以及高頻詞詞典在武俠小說外號(hào)識(shí)別上的可行性和有效性,實(shí)驗(yàn)選取豆瓣讀書排名前一百的部分武俠小說作為數(shù)據(jù)集進(jìn)行實(shí)驗(yàn)。在選取文本時(shí)盡量兼顧文本篇幅和文本傳播影響力,由于中文長文本武俠小說大于100萬字的比較少,所以有一部分小說選取了幾十萬字的中長文本;同時(shí),文本兼顧了傳播影響力,這對(duì)后面的人名及外號(hào)標(biāo)識(shí)提供了可能。由于目前沒有有效的標(biāo)注數(shù)據(jù)集,在收集到的33部小說中,根據(jù)網(wǎng)上搜尋到的人名和外號(hào)給這些小說做標(biāo)注,得到人名和外號(hào)的標(biāo)注集。
(2) 評(píng)價(jià)指標(biāo)
在本實(shí)驗(yàn)中,我們將33部小說的人名數(shù)據(jù)集作為測試集,得出的外號(hào)與已有的外號(hào)集作比對(duì),并計(jì)算準(zhǔn)確率、召回率和F-測度值三個(gè)指標(biāo)。
(3) 實(shí)驗(yàn)結(jié)果
圖1 ORS方法對(duì)33部小說外號(hào)識(shí)別準(zhǔn)確率與召回率
從圖1可以看出利用ORS方法對(duì)33部小說外號(hào)識(shí)別的準(zhǔn)確率與召回率66.7%以上的占到了29部,其中識(shí)別準(zhǔn)確率最低的是《雪山飛狐》,為50%?;氐皆闹邪l(fā)現(xiàn)《雪山飛狐》中人物未準(zhǔn)確識(shí)別的有曹云奇(騰龍劍)、周云陽(回龍劍)、田青文(錦毛貂)、陶百歲(鎮(zhèn)關(guān)東)、鄭三娘(雙刀)等人物。他們的BN在文中出現(xiàn)的頻數(shù)分別為229、41、103、81、48;但他們的外號(hào)出現(xiàn)的頻數(shù)分別為1、1、1、5、9。其中,BN出現(xiàn)的頻數(shù)遠(yuǎn)大于外號(hào)出現(xiàn)的頻數(shù),這使得通過ORS方法識(shí)別外號(hào)的難度增大;另一個(gè)原因就是本部小說中外號(hào)以非常規(guī)符號(hào)“「」”代替了很多單/雙引號(hào)被標(biāo)識(shí),使得外號(hào)沒有被準(zhǔn)確識(shí)別,在FSP中需要加入非常規(guī)符號(hào)“「」”。
表5統(tǒng)計(jì)了33部武俠小說利用ORS方法以及ORS方法與FSP結(jié)合的方法識(shí)別人物外號(hào)的準(zhǔn)確率、召回率和F-測度值。其中第2-4列是ORS方法識(shí)別人物外號(hào)的準(zhǔn)確率、召回率和F-測度值;第5—7列是ORS方法與FSP結(jié)合的方法識(shí)別人物外號(hào)的準(zhǔn)確率、召回率和F-測度值。利用ORS方法對(duì)33部武俠小說外號(hào)識(shí)別的準(zhǔn)確率均值是82.18%,召回率均值是89.60%,F(xiàn)-測度值均值是87.90%。
表5 ORS方法以及ORS方法與FSP結(jié)合的方法對(duì)33部武俠小說外號(hào)識(shí)別準(zhǔn)確率、召回率和可信度
續(xù)表
表6可以看出《射雕英雄傳》識(shí)別結(jié)果中“黎生”的外號(hào)識(shí)別有誤。通過ORS算法識(shí)別的“黎生”外號(hào)是“刀光中”,但黎生的真實(shí)外號(hào)是“江東蛇王”。出現(xiàn)識(shí)別錯(cuò)誤的原因是“江東蛇王”在文中只出現(xiàn)了一次,頻數(shù)太低導(dǎo)致外號(hào)無法準(zhǔn)確識(shí)別。但在引入了外號(hào)指示詞來識(shí)別之后,與之前結(jié)果取并集可以識(shí)別出“江東蛇王”,之后通過約定3去除“刀光中”這個(gè)噪音字符串。
表6 《射雕英雄傳》中識(shí)別的外號(hào)與真實(shí)外號(hào)
續(xù)表
圖2是選取的15部小說指示詞、OW內(nèi)外號(hào)、基準(zhǔn)名和外號(hào)名頻數(shù)統(tǒng)計(jì)。其中,基準(zhǔn)名和外號(hào)名頻數(shù)統(tǒng)計(jì)對(duì)應(yīng)圖二中的折線圖,對(duì)應(yīng)的坐標(biāo)軸是右邊縱坐標(biāo)軸和下邊橫坐標(biāo)軸;指示詞和OW內(nèi)外號(hào)頻數(shù)統(tǒng)計(jì)對(duì)應(yīng)圖2中的直方圖,對(duì)應(yīng)的坐標(biāo)軸是左邊縱坐標(biāo)軸和上邊橫坐標(biāo)軸。如圖2中折線圖所示,選取的15部武俠小說中人名和外號(hào)名的頻數(shù)分布基本符合我們的常規(guī)認(rèn)知,即小說中主要人物出現(xiàn)次數(shù)會(huì)遠(yuǎn)大于次要人物;從圖中也可以看出15部小說中人物原名與外號(hào)名出現(xiàn)頻數(shù)相差較大,所以在利用ORS算法來對(duì)外號(hào)進(jìn)行識(shí)別的時(shí)候會(huì)有很多“噪音”字符串。這也印證了引入KNHD和LPD的必要性,有利于對(duì)“噪音”字符串的去除以及對(duì)真實(shí)外號(hào)的提取。同時(shí),如表7所示,在實(shí)驗(yàn)中,若小說中人物外號(hào)出現(xiàn)次數(shù)比原名出現(xiàn)頻數(shù)多,則這些外號(hào)都可以被正確識(shí)別。這可以通過對(duì)ORS算法的分析解釋,因人名所在的觀察窗口的字符串除了外號(hào)還有很多“噪音”字符串。但是,外號(hào)頻數(shù)若大于人名頻數(shù),人名所在的觀察窗口的字符串為外號(hào)的概率會(huì)增大,則通過ORS方法往往能找出人名對(duì)應(yīng)的外號(hào)。
如圖2中直方圖所示,以選取的15部武俠小說為例,對(duì)文中出現(xiàn)的“外號(hào)”、“綽號(hào)”、“人稱”、“稱作”、“號(hào)稱”5個(gè)NI做了統(tǒng)計(jì)并統(tǒng)計(jì)在出現(xiàn)這5個(gè)NI的OW中出現(xiàn)外號(hào)的頻數(shù),這里OW選取的是整句話,以句號(hào)為起止符號(hào)??梢园l(fā)現(xiàn)在出現(xiàn)NI時(shí),OW中外號(hào)出現(xiàn)的頻數(shù)也很大,這印證了通過FSP方法來進(jìn)行外號(hào)查找的合理性和有效性。從圖3中也可以發(fā)現(xiàn)NI在不同小說中出現(xiàn)的類別有差異,其中“稱作”出現(xiàn)頻數(shù)較低,其余的NI在不同的小說中頻數(shù)各異。
圖2 15部小說中指示詞、OW內(nèi)外號(hào)、基準(zhǔn)名和外號(hào)名頻數(shù)統(tǒng)計(jì)
表7 小說中人物外號(hào)頻數(shù)不小于基準(zhǔn)名頻數(shù)的統(tǒng)計(jì)(節(jié)選)
續(xù)表
續(xù)表
圖3是加入了FSP之后對(duì)33部小說外號(hào)識(shí)別的準(zhǔn)確率與召回率??梢园l(fā)現(xiàn)相對(duì)于單純的ORS方法,加入FSP之后,外號(hào)識(shí)別的準(zhǔn)確率與召回率都有提升。其中,未識(shí)別出來的外號(hào)經(jīng)過分析是由于外號(hào)出現(xiàn)頻數(shù)過少(一般少于5次),所以很難有效提取出外號(hào)。例如,《臥虎藏龍》中的“高朗秋”的外號(hào)“西席先生”在全文只出現(xiàn)一次并且所在的OW內(nèi)未出現(xiàn)NI;《七殺碑》中的“楊展”的外號(hào)“華陽伯”全文出現(xiàn)一次,“劉道貞”的外號(hào)“賽伯溫”出現(xiàn)兩次。頻數(shù)過少導(dǎo)致很難通過上述方法找出外號(hào)。從圖3可以發(fā)現(xiàn)在加入了FSP之后有12部小說的標(biāo)注集中人名的外號(hào)全部識(shí)別,識(shí)別率達(dá)到80%的也占了23部,相對(duì)于單純的ORS方法有所提升;最低識(shí)別率也提升至60%。
圖3 ORS方法與FSP結(jié)合對(duì)33部小說外號(hào)識(shí)別的準(zhǔn)確率與召回率
表5第5—7列是加入了FSP之后對(duì)33部武俠小說人物外號(hào)識(shí)別的準(zhǔn)確率、召回率和F-測度值。利用ORS方法與FSP相結(jié)合對(duì)33部武俠小說外號(hào)識(shí)別的準(zhǔn)確率均值是87.23%,召回率均值是93.77%。相對(duì)于Han等[2]提出的DPE框架熱啟動(dòng)模式下在wiki數(shù)據(jù)集上對(duì)同義詞的平均識(shí)別率62.25%有所提升。原因在于特定領(lǐng)域的同義詞識(shí)別相對(duì)于不設(shè)限領(lǐng)域的同義詞識(shí)別會(huì)采用更特定的方式,使識(shí)別準(zhǔn)確率提升。
本文研究如何從武俠小說中找到人物的外號(hào),并與人物的本名對(duì)應(yīng)起來。這個(gè)研究任務(wù)屬于一種前人未研究過的命名實(shí)體識(shí)別類型,識(shí)別的方法主要是引入武俠高頻詞和武俠高頻詞詞典,利用基于未登錄詞擴(kuò)展識(shí)別篩選方法對(duì)CNS的篩選從而確定ONS,然后對(duì)ONS進(jìn)行擴(kuò)展。同時(shí),提出武俠小說外號(hào)指示詞NI的概念對(duì)外號(hào)進(jìn)行二次識(shí)別并與之前的識(shí)別結(jié)果相結(jié)合。對(duì)33部武俠小說的實(shí)驗(yàn)結(jié)果驗(yàn)證了方法的可行性和有效性。
武俠小說中的外號(hào)識(shí)別與當(dāng)前互聯(lián)網(wǎng)上一些關(guān)鍵詞的變體也存在如下相似之處。
(1) 難以構(gòu)建完整的語料庫。由于武俠小說和互聯(lián)網(wǎng)上詞匯的不斷增多,難以將所有的語料收集起來,詞匯的變形數(shù)量是無窮的。
(2) 都有一個(gè)主體,變體可以是一個(gè)也可以是多個(gè)。對(duì)于武俠小說,人物基準(zhǔn)名就是主體,外號(hào)就是主體的變體;而互聯(lián)網(wǎng)上一些關(guān)鍵詞也有主體與變體,比如一些敏感詞識(shí)別。例如,“fuck”是主體,則“f***”、“fuk”、“motherfucker”都是其變體。
武俠文本中的外號(hào)識(shí)別方法可以為關(guān)鍵詞的變體識(shí)別提供一些思路,通過未登錄詞擴(kuò)展方法和對(duì)變體中高頻詞的搭建也能夠幫助識(shí)別互聯(lián)網(wǎng)上關(guān)鍵詞的變體,同時(shí)對(duì)同義詞識(shí)別和輿情管理等研究方向也具有借鑒意義。
本文是Han等提出的同義詞自動(dòng)提取[2]的一種具體實(shí)現(xiàn)。本文方法的實(shí)際意義在于對(duì)外號(hào)識(shí)別這個(gè)中文命名實(shí)體識(shí)別的新領(lǐng)域進(jìn)行了探索,并通過對(duì)中長文本武俠小說的外號(hào)梳理構(gòu)建了武俠高頻詞典KNHD和低頻指示字典LPD來對(duì)ONS進(jìn)行篩選。同時(shí),提出外號(hào)指示詞NI的概念并引入FSP來對(duì)外號(hào)進(jìn)行識(shí)別。提出的方法對(duì)以后中文命名實(shí)體識(shí)別中特定領(lǐng)域的未登錄詞識(shí)別以及同義詞自動(dòng)提取亦有借鑒意義。