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