999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于舞臺說明挖掘的亞線性角色網絡抽取方法

2018-07-19 13:02:38李建敦羅宜元
計算機工程與設計 2018年7期
關鍵詞:舞臺方法

李建敦,羅宜元,呂 品

(上海電機學院 電子信息學院,上海 201306)

0 引 言

對于劇本中的角色網絡(character network)挖掘問題來講,角色發現較直觀,因此判定角色之間關聯與否及關聯強弱是關鍵[1]。鑒于語料庫的規模及其在行文風格、所屬流派等方面的不確定性,致使裸眼分析、手工構建、定性分析或純粹的語義類方案[2],如基于自然語言處理(na-tural language processing,NLP)[3]等算法,在可靠性、可擴展性與效率等方面表現不佳。相比之下,統計分析類方法在計算精度的保證下,算法效率更高。目前,主流的統計類方法基本上圍繞兩個指標來刻畫角色關系,即引用距離與對白距離。

角色引用距離類方法假設,如果多個角色同時出現在一個時空內,如連續劇、劇本的連續幾幕、單獨場次、小說的章節或段落、預定義的文本窗口(寬度為閾值θ)等[4-7],那么他們兩兩之間就應該有直接關系,權重為他們協同出現次數或引用距離的反比例函數[8,9]。此類方法對角色協同出現的時空采用閾值估計方法,精度無法保障;同時,協同在場的角色語義上并非一定有關系,因此該基本假設適用面有限;最后,連接也未能反映角色間的偏序關系。

圍繞劇本的主體元素,即對白來刻畫角色間關系,較引用距離類方法更優。基本思路是將前后相繼對白的主體(即隸屬角色)進行有序關聯(who-talk-to-whom),其權重可以是對白規模(如行數、字數等)、對白中某角色被提及次數等[10,12]。該類方法實現了連接的有向性,而且圍繞劇本主體(平均占比>80%)的對白進行分析,較好提升了模型的可靠性與精度[13]。然而,相鄰對白并非一定有關系,且其偏序關系在非語義分析下較難確定,因此該類方法依然存在過度關聯的問題。再者,以提及某角色頻次為連接權重與實際往往并不相符,因為除了問候、命令等特殊場合外,社交場合中我們幾乎不會直呼對方姓名。

通過上述分析發現,無論是圍繞引用距離還是對白距離開展的角色網絡建模,都存在噪聲過多(引入過多冗余連接)、精度不高的問題。為此,圍繞劇本中廣泛存在但并不占主體地位的舞臺說明元素,以65部西方經典戲劇為語料庫,本文提出了一種亞線性角色網絡抽取方法。總體上,該方法綜合了上述兩個指標的優勢,并在精度與效率上有較大提升。具體來說,該方法通過解析舞臺說明文字來確定兩兩角色是否協同在場;另外,同時在場僅僅構成了直接關系的必要條件,連接的最終生成還需來自對白上下文的舞臺說明來佐證。與全文掃描相比,該方法視對白段落為整體,僅僅針對劇本中的輔助文本,即舞臺說明,進行線性掃描,遍歷規模遠低于劇本長度N,因此是亞線性算法。

1 數據集

本文的語料庫由65部歐洲多幕劇構成,出自3位不同時代的劇作家,即威廉·莎士比亞(William Shakespeare),亨利克·易卜生(Henrik Ibsen)與喬治·蕭伯納(George Bernard Shaw)。所有劇本數據均為HTML格式,來源于麻省理工大學在線經典文獻項目(Internet Classic Archive)[14]與Gutenberg項目[15],劇本目錄詳見表1。下節將面向此數據集,進行角色網絡的深度高效挖掘。

2 聚焦舞臺說明的角色網絡提取方法

總體來講,本文主要面向劇本文本,特別是其中的舞臺說明部分進行統計分析。詳細地,該方法由預處理、識別角色與關聯角色3個步驟組成,重點是有向含權連接的建模。相關源代碼,參見作者在Github上發布的classicPlayParsing項目[16]。

2.1 預處理

鑒于語料庫中不同劇本在元素到樣式的映射上存在異構性,從提高方法可擴展性的思路出發,非常有必要對其進行標準化處理。本文關注3種元素,即角色(protagonists)、對白(dialogues)與舞臺說明(stage directions),而如何識別并標記它們是預處理階段的主要工作。通過將異構的HTML文件轉化為標準的XML文件格式,劇本元素就可以通過樣式來辨識(參見表2)。

表1 語料庫詳情

表2 語料庫詳情

Algorithm I: 預處理與標記

Input:HF,LL,I,R,S

Output:XF

Begin:

(1) ScanHFto initializell,i,rands;

(2) Compare withLL,I,R,Sto identifyHF’s style;

(3) For line inHF:

(4) If this is a character line and ‘but’ in line:

(5) Truncate words from ‘but’ to the end line;

(6) Write line intoXF;

End

2.2 角色識別

算法Ⅱ以標準文件XF為輸入,并通過搜索舞臺說明中的有向指示詞匯,完成含時舞臺的增量枚舉,從而將不定代詞解析為具體角色名。具體地,如果當前為開場行(算法Ⅱ第2至4行),那么基于鍵值對新建一個含時舞臺對象,并將其置入順序舞臺列表DS中,表示在當前行(時刻)舞臺為空;其中,臨時變量pre_stage(第(5)行)是角色子集,目的是為下一個含時舞臺對象提供基礎人物(第(7)、(18)行)。當有角色登上舞臺(第(8)至(10)行)或退下舞臺(第(11)、(12)行)時,相應地更新變量cur_stage。特別地,當所有在場人物同時下場時,清空cur_stage,并將含時舞臺對象置入舞臺列表DS中(第(13)至(15)行)。在不同于pre_stage的情況下,第(16)至(18)行將追加至DS末,并更新pre_stage,為下一輪迭代做準備。至此,我們已經得到了舞臺在不同時刻的人物快照,角色行中的不定代詞也得以還原為實際人物(第(19)、(20)行)。最后,生成更新后的劇本RXF并返回含時舞臺列表DS。

Algorithm Ⅱ: 含時舞臺迭代

Input:XF

Output:RXF,DS

Begin:

(1) Forln,line inXF:

(2) If ‘Scene’ in line:

(3) Append toDS;

(4) pre_stage =Null;

(5) temp = []

(6) If this is a stage direction line:

(7)cur_stage=pre_stage;

(8) If ‘Enter’ in line:

(9) Append followed characters to temp;

(10) Append temp tocur_stage;

(11) If ‘Exit’ in line:

(12) Truncate characters fromcur_stage;

(13) Elif ‘Exeunt’ in line:

(14) Append to DS;

(15)pre_stage=Null;

(16) Ifpre_stage!=cur_stage:

(17) Append to DS;

(18)pre_stage=cur_stage;

(19) If this is a character line:

(20) Substitute indefinite pronouns with names;

(21) write revision toRXF;

(22) returnDS;

End

算法Ⅲ通過掃描改進標準版RXF中的角色行,生成了角色全集U。具體地,視行中角色數量來定,如果僅含有一個角色名,那么考慮直接添加至全集U(第(8)、(9)行),否則需要在拆分后再逐個考慮加入(第(3)至(7)行)。最后,U被返回以作后續之用。

Algorithm III: 角色識別

Input:RXF

Output:CS

Begin:

(1) For line inRXF:

(2) If this is a character line:

(3) If it has multiple characters:

(4) Split it into temp;

(5) For t in temp:

(6) If t not inCS:

(7) Append character names toCS;

(8) Elif line not inCS:

(9) Append line toCS;

(10) returnCS;

End

2.3 角色關聯

為角色全集U中的節點添加有向含權連接,是生成角色網絡的最后一步,也是算法核心。為了有效克服對白距離類方法精度不足的問題,此處著力挖掘對白間的指向關系,即誰對誰講的偏序關系。思路源于劇本中元素間的極端不平衡關系,即對白段落占比高、具有內在指向性與語言異構性,而舞臺說明元素圍繞對白展開,占比低卻具有鮮明的指向性。鑒于語料庫中劇本間的異構特征,此處盡量不涉及對白文本的語義理解,僅圍繞對白的輔助部分,如舞臺說明、標點符號等搜集角色間交流的偏序線索。

(1)X∈DSs且Y∈DSs;

(2)至少滿足以下一種情況:

當然,其中的方向性介詞“to”可替換為“toward(s)”,“address”,“tell” or “order”等同義詞。同時,我們也認識到,在不利用語義解析對白的情況下,僅依靠舞臺說明的指示來建立節點間聯系并不完備,故而此處引入問號做補充。考慮到反問句的可能性,我們將問號的優先級降至最低。此外,X→Y的權重wXY也可以面向上述3種情況分別計算,其最大值為對白總行數t-s。

Case 3:因為在此情境下沒有具體地“XtoY”或“toY”指示,因此權重直接取最大值t-s。

連接X→Y的最終權重是針對X各對白分量上結果的積聚,并以劇本總行數為基進行歸一化(normalization)處理。至此,給定劇本的角色網絡已經完成建模,具體見算法Ⅳ。

算法Ⅳ以RXF為輸入,通過一次掃描實現含權連接集合(ES)的輸出。具體地,第(3)至(6)行定位Case 1情況下的對話雙方,并標記當前情境為Case 1。第(7)行至(12)行處理角色行,如果情境上下文為Case 3,那么直接將上段對白長度作為變量speaker至本角色間的權重,并更新spea-ker。第(13)至第(16)行處理對白首行,分別為Case 3與Case 1更新變量start3_line與start_line。第(17)行至第(24)行試圖枚舉Case 2,如果命中,那么結束上一個情境并將結果寫入ES(第(19)、(20)行),并更新相關變量為Case 2做準備(第(21)-(24)行)。當掃描至對白段末行(第(25)行),完成Case 1或Case 2情境并寫入ES(第(26)-(28)行);最后辨別結束標點是否為問號,如果是,則設定當前的情境為Case 3,并由下一次迭代在算法Ⅳ第(9)行處理完成。為了邏輯連貫性,算法Ⅳ并未考慮多角色同行情況,可用集合替換單個角色從而實現全覆蓋。

Algorithm Ⅳ: 連接發現及其權重計算

Input:RXF

Output:ES

Begin:

(1)speaker=",listener=",case=0,line_count=0;

(2) Forln,line inRXF:

(3) If this is stage direction line and ‘to’ spotted:

(4)speaker= character preceded to ‘to’;

(5)listener= character succeeded to ‘to’;

(6)case= 1;

(7) Elif this is a character line:

(8) Ifcase==3:

(9) Write ‘speaker,line,end_line-start3_line’;

(10)case=0;

(11)q_line=end_line= 0;

(12)speaker= line;

(13) Elif this is the starting of a speech section:

(14)start3_line=ln;// starting line for case-3

(15) ifcase==1:

(16)start_line=ln;

(17) If this is one line of a speech section:

(18) If an embedded direction with‘To’spotted:

(19) Ifcase==1 orcase==2:

(20) Write ‘speaker,listener,ln-start_line’;

(21)case=2;

(22)listener= character succeeded to ′To′;

(23)start_line=ln;

(24)q_line=ln;

(25) If this is the end line of a speech section:

(26) Ifcase==1 orcase==2:

(27) Write ‘speaker,listener,ln-start_line’;

(28)case=0;

(29) Elif line end with ‘?’:

(30)case=3;

(31)end_line=ln;

(32) returnES;

End

2.4 算法復雜性分析

本節所述通過分析舞臺說明中的提示信息來建立角色網絡的方法,是輕量級的。雖然該方法的建立至少需要掃描劇本3次,即預處理、角色識別與角色關聯,但是考慮到其關注核心并非劇本的主體——角色對白段落,而僅監聽劇本的輔助元素,即舞臺說明、角色行與對白尾行,而這些輔助元素之和在劇本中的平均占比不足20%。因此本文所述方法是輕量級算法,屬于亞線性算法范疇,復雜度為o(N),其中N為劇本規模(如行數)。

3 實驗與討論

面向65部西方經典戲劇的劇本,基于Python(V2.7)對進行了實現,其中的3個角色網絡(來自不同作家)如圖1所示。網絡節點代表劇中人物,連接表示直接對話關系,連接粗度表示關系親密度。比如從劇本Hamlet的角色網絡中不難發現,王子Hamlet對Horatio講話最多,因此關系最密切(圖1)。

在角色網絡生成基礎上,利用Gephi[17]對網絡進行了系統全面的分析,得出一系列統計量,比如平均路徑長度、聚類系數與度分布(詳見表3)。就節點的無權度分布而言,絕大多數角色網絡符合Zipf法則(呈L型),圖2 展示了其中的3個。在語料庫上的多次實驗結果顯示,網絡的平均度分布服從無標度的冪律函數P(x)=k-r, 其中r≈2.87。

聚焦經典悲劇Hamlet,在其所對應的無差別連接網絡中,有對白的角色共26名,由65條連接成為社交網絡。在平均度為2.5的情況下,其中19個節點的度不超過5.0,因此它是典型的“小世界”網絡。同時,與真實的社交網絡相似,該網絡圍繞個別“熱點”,如Hamlet、Horatio與國王,形成了廣泛分布的社團結構,參見圖1與表4。

圖1 角色網絡示例:Hamlet(a)、A Doll’s House(b)、Heartbreak House(c)

莎士比亞悲劇喜劇歷史劇易卜生蕭伯納節點數28.122.8235.813.2523.88連接數64.1607134.2575.38平均度2.232.711.973.023.5網絡直徑5.25.596.82.924.88網絡密度0.110.140.060.420.24模塊度0.310.350.460.070.23連通組件數2.01.352.03.924.94平均聚類系數0.250.280.240.560.47平均路徑長度2.372.522.91.592.13

圖2 無差別度分布示例:Hamlet(a)、A Doll’sHouse(b)、Heartbreak House(c)

屬性值節點數26連接數65平均度2.5網絡直徑4.0網絡密度0.14模塊度0.32連通組件數1.0平均聚類系數0.66平均路徑長度2.44

結合角色網絡的建模結果與分析發現,利用本文所提出的基于舞臺說明的抽取方法,能夠在有效降低噪聲的基礎上精準地挖出劇本中的虛擬網絡。多次實驗下平均耗時<1.0 s,因此方法是高效的。

4 結束語

隨著計算語言學與數字人文研究的持續發展,展望未來我們期待網絡科學在其中繼續發揮更大的作用。比如給定一個語料庫,文學評論家僅需幾次鼠標單擊,就可實現定量比較與實時分析,本文便是推動當前研究向此方向發展的重要一步。

面向由65部經典多幕劇構成的語料庫,圍繞劇本舞臺說明分析,抽象出含時舞臺的動態概念,并基于此給出了角色網絡建模的亞線性方法。與角色引用距離或對白距離類算法相比,降低了噪聲,提高了建模精度與收斂效率。同時,本文所述方法面向標準交換格式,并不局限于特定的戲劇作品,在對預處理做必要修改后,可以應用于任何給定的英文劇本中,因而通用性較好。

猜你喜歡
舞臺方法
軍迷大舞臺
軍迷大舞臺
春天大舞臺
學習方法
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
賺錢方法
捕魚
吧啦吧啦小舞臺
好孩子畫報(2014年6期)2014-07-25 03:20:04
舞臺主持心得
聲屏世界(2014年1期)2014-02-28 15:17:26
主站蜘蛛池模板: 在线精品欧美日韩| 一级一级特黄女人精品毛片| 日本免费一级视频| 99在线视频免费| 成人福利在线观看| 在线视频亚洲欧美| 成人在线亚洲| 91偷拍一区| 啊嗯不日本网站| 人人艹人人爽| 午夜人性色福利无码视频在线观看| 亚洲人成电影在线播放| 国产a v无码专区亚洲av| 国产凹凸一区在线观看视频| 国产成人亚洲精品蜜芽影院| 午夜日b视频| 国产噜噜噜视频在线观看| 中文字幕免费在线视频| 欧美亚洲欧美区| 国产在线无码一区二区三区| 国产香蕉国产精品偷在线观看| 91在线丝袜| 一本一本大道香蕉久在线播放| 国产美女一级毛片| 国产91精选在线观看| 日日碰狠狠添天天爽| 欧洲亚洲欧美国产日本高清| 91国内在线观看| 理论片一区| 日本91视频| 青草娱乐极品免费视频| 制服丝袜 91视频| 又猛又黄又爽无遮挡的视频网站| 青青草国产在线视频| 久操线在视频在线观看| 极品国产一区二区三区| 国产一区二区丝袜高跟鞋| 亚洲有无码中文网| 丰满人妻久久中文字幕| 国产日韩欧美视频| 午夜电影在线观看国产1区| 亚洲福利片无码最新在线播放| 天堂成人在线视频| 伊人精品视频免费在线| 无码一区18禁| 毛片免费在线| 91日本在线观看亚洲精品| 国产欧美日韩资源在线观看| 亚洲欧美日韩成人在线| 婷婷六月激情综合一区| 四虎国产成人免费观看| 精品国产免费观看一区| 亚洲国产综合精品中文第一| 国产视频入口| 国产精品亚洲五月天高清| 天天摸夜夜操| 中文字幕日韩久久综合影院| 国产精品久线在线观看| 凹凸精品免费精品视频| 99精品在线视频观看| 亚洲人成人伊人成综合网无码| 91娇喘视频| 2021国产在线视频| 精品福利视频导航| 老色鬼久久亚洲AV综合| 999国内精品视频免费| 亚洲男人的天堂网| 亚洲国产天堂久久综合226114| 亚洲精品国偷自产在线91正片| 看av免费毛片手机播放| 日韩av电影一区二区三区四区 | 麻豆精品国产自产在线| 97在线免费| 亚洲午夜久久久精品电影院| 亚洲三级电影在线播放| 国产成人免费观看在线视频| 欧美人人干| 久久夜色精品| 精品小视频在线观看| …亚洲 欧洲 另类 春色| 无码免费的亚洲视频| 精品中文字幕一区在线|