王儀琳 蔣玉茹 湛宇航 王玫勻
(北京信息科技大學(xué)計算機學(xué)院 北京市 100101)
隨著人工智能與大數(shù)據(jù)的發(fā)展,大量的有效信息隱藏于互聯(lián)網(wǎng)海量數(shù)據(jù)中,很多工作都需要從文本中挖掘其中蘊含的實體關(guān)系。人機對話系統(tǒng)領(lǐng)域內(nèi)涉及的語義角色標(biāo)注是近年來人工智能研究的熱點[1],而多方對話的研究剛剛起步。多方對話文本作為一種特殊的文檔形式,發(fā)言人之間的交互錯綜復(fù)雜,存在大量的跨句關(guān)系,而且還存在大量的省略與指代信息。
為了進(jìn)行多方對話文本自動理解工作,首要的是構(gòu)建一定規(guī)模的語料庫資源。在語料庫角色構(gòu)建平臺的研究中,周彬彬[2]所構(gòu)建的標(biāo)注系統(tǒng)較完備,但僅針對軍事性語料,相比之下,夏琦[3]所開發(fā)的角色標(biāo)注系統(tǒng)考慮到了對話文本語料,但結(jié)果并不理想,因此,面向多方對話文本中的角色關(guān)系挖掘工作,開發(fā)具有普適性的適應(yīng)多種語言的多方對話角色構(gòu)建工具勢在必行。
本項目分析角色關(guān)系標(biāo)注的需求,設(shè)計并開發(fā)了一個便于用戶通過閱讀語料文本直接進(jìn)行角色關(guān)系標(biāo)注的工具。既滿足了基本的標(biāo)注需求,又一定程度上實現(xiàn)了相關(guān)數(shù)據(jù)的實時可視化。同時具有比較好的實用性和可操作性,也考慮到了王俊福[4]提出的標(biāo)注中多用戶同時協(xié)作時的并發(fā)問題,且適用于不同語言類型的對話文本語料。
一個好的標(biāo)注工具可以提高標(biāo)注者的工作效率,設(shè)計良好的標(biāo)注系統(tǒng)界面和簡單的標(biāo)注操作可以降低標(biāo)注者們進(jìn)行標(biāo)注工作的難度,并且降低標(biāo)注工作的枯燥程度。本文也考慮到了上述情感因素,在開發(fā)工具的時候進(jìn)行了相應(yīng)美觀設(shè)計。
本文將角色關(guān)系標(biāo)注分為角色指代標(biāo)注和關(guān)系標(biāo)注兩個子功能。圖1為本工具的模塊結(jié)構(gòu)圖。
圖1:多方對話角色關(guān)系語料庫構(gòu)建工具模塊結(jié)構(gòu)圖
用戶在對話文本中選取提及詞(人物的稱呼),并與該提及詞所對應(yīng)的角色進(jìn)行關(guān)聯(lián),完成角色指代標(biāo)注。
(1)用戶選擇單元和場景,系統(tǒng)界面顯示相應(yīng)的對話文本。
(2)用戶選中對話文本中的提及詞,然后選擇左側(cè)相對應(yīng)的角色實體,完成一次角色標(biāo)注。若左側(cè)無所標(biāo)注提及詞對應(yīng)的角色實體,應(yīng)選擇其他,再根據(jù)彈窗鍵入定義的實體中文名稱即可。
(3)標(biāo)注完一個場景,提交結(jié)果,標(biāo)注結(jié)果存入后端數(shù)據(jù)庫。
(4)同一場景在未點擊提交前標(biāo)注內(nèi)容可以修改更新,但點擊提交結(jié)果后不可再進(jìn)行修改。
用戶通過閱讀對話文本,從文本中找到所有出場人物之間的關(guān)系,通過添加欄加入進(jìn)圖數(shù)據(jù)庫,完成角色關(guān)系的標(biāo)注。
(1)可以添加實體名稱和實體類型。
(2)通過選擇兩個角色實體及二者之間的關(guān)系類型進(jìn)行角色關(guān)系的添加或刪除操作。
(3)系統(tǒng)為新添加的角色關(guān)系增加時間戳,以記錄同一對角色不同時期關(guān)系的變化。
(4)可以通過輸入一個角色實體的名稱查詢以該角色實體為中心的角色關(guān)系圖。
本工具使用B/S(Browser/Server)架構(gòu),前端部分主要實現(xiàn)語料顯示、在線標(biāo)注和關(guān)系圖可視化等功能。后端部分主要存儲用戶所標(biāo)注的角色和關(guān)系數(shù)據(jù),以實現(xiàn)數(shù)據(jù)的持久化。具體而言,本工具前端使用Bootstrap開源框架,后端使用Flask框架和Django框架,角色指代標(biāo)注的結(jié)果以JSON文件形式存儲,角色關(guān)系標(biāo)注的結(jié)果存入Neo4j數(shù)據(jù)庫。
如圖2所示,為本工具設(shè)計并實現(xiàn)的角色指代標(biāo)注頁面。
圖2:角色標(biāo)注頁面
(1)標(biāo)注文本選取。利用頁面右上方工具條選擇標(biāo)注內(nèi)容。
(2)標(biāo)注文本展示。頁面右下方為標(biāo)注內(nèi)容展示區(qū)。主要展示說話人和說話內(nèi)容。說話內(nèi)容經(jīng)過分詞后展示。
(3)角色列表展示。頁面左側(cè)列出語料中出現(xiàn)的主要角色名稱,其他人物名稱用戶標(biāo)注的時候需單獨標(biāo)出。
如圖3所示,為本工具設(shè)計并實現(xiàn)的角色關(guān)系標(biāo)注頁面。其中標(biāo)注文本選取和標(biāo)注文本展示與3.1節(jié)角色標(biāo)注頁面相同。此外,還有:
圖3:角色關(guān)系標(biāo)注頁面
(1)知識圖譜展示部分。利用頁面左上方,將已標(biāo)注的角色關(guān)系進(jìn)行可視化展示。
(2)角色關(guān)系添加和刪除。利用頁面左側(cè)中部,根據(jù)文本內(nèi)容,選擇角色實體1和角色實體2,再選擇他們的關(guān)系,然后再點擊“添加關(guān)系”按鈕,將一個角色關(guān)系三元組插入知識圖譜數(shù)據(jù)庫;或者點擊“刪除關(guān)系”按鈕,將角色關(guān)系三元組從知識圖譜數(shù)據(jù)庫中刪除。
(3)角色實體添加和刪除。標(biāo)注過程中遇到之前未曾出現(xiàn)過的角色實體,可以輸入實體名稱和實體類型,然后進(jìn)行添加。也可以刪除。
(4)實體圖查詢。輸入角色實體名稱,點擊“查詢實體圖”,可以在頁面左上方顯示與該實體相關(guān)的知識圖譜。
本文利用設(shè)計并開發(fā)了一個面向多方對話角色關(guān)系挖掘工作的語料庫構(gòu)建工具,該工具已經(jīng)應(yīng)用于課題組的語料標(biāo)注工作,標(biāo)注了《我愛我家》劇本120集內(nèi)容中的出現(xiàn)的角色指代和關(guān)系信息。該工作為后續(xù)在多方對話文本中進(jìn)行角色關(guān)系自動挖掘研究打下了基礎(chǔ)。