當前位置:
首頁 > 最新 > Alt公司:擴展命名實體識別API及其在語言教育中的應用

Alt公司:擴展命名實體識別API及其在語言教育中的應用

你和「懂AI」之間,只差了一篇論文

很多讀者給芯君後台留言,說看多了相對簡單的AI科普和AI方法論,想看點有深度、有厚度、有眼界……以及重口味的專業論文。

為此,在多位AI領域的專家學者的幫助下,我們解讀翻譯了一組頂會論文。每一篇論文翻譯校對完成,芯君和編輯部的老師們都會一起笑到崩潰,當然有的論文我們看得抱頭痛哭。

同學們現在看不看得懂沒關係,但芯君敢保證,你終有一天會因此愛上一個AI的新世界。

這是讀芯術解讀的第15篇論文

ACL 2017 System Demonstrations

擴展命名實體識別API及其在語言教育中的應用

Extended Named Entity Recognition API and Its Applications in Language Education

Alt公司

Alt Inc

【摘要】我們提出了一個擴展命名實體識別API來識別各種類型的實體,並將實體分類為200個不同的類別。每個實體都被劃分為實體類別中的一個層次,其中層次結構中根附近的類別比葉子附近的類別更具有概括性。這些類別信息可用於各種應用程序,如語言教育應用程序、在線新聞服務和推薦引擎。本文展示了該API在一個針對日語學習者的日文在線新聞服務中的應用。

1 引言


命名實體識別(NER)是信息檢索、信息提取和問答系統(Bellot et al., 2002; Nadeau and Sekine, 2007)中最基本的任務。因此,一個高質量的命名實體識別API(應用程序編程介面)對於更高層次的任務,如實體檢索、推薦和自動對話生成非常重要。為提高命名實體的識別能力,Sekin等人(Sekine et al., 2002; Sekine and Nobata, 2004)提出了一種擴展的命名實體(ENE)的層次結構,改善了命名實體的定義。ENE的層次結構是一個三層結構,頂層包含十個以上的粗粒度類別,葉級包含200個細粒度類別。

層次結構的頂層包括傳統的命名實體類別,如人、地點或組織。中間層和葉級將頂級分類細化到更細粒度的類別。圖1顯示了頂級類別「組織」的部分層次結構。在擴展的命名實體識別(ENER)問題,給定一個輸入的句子,如「Donald Trump was officially nominated by the Republican Party」,系統必須識別並對句子中的擴展命名實體進行分類,如「Donald Trump」為「人」的類別,「Republican Party」為「政黨」類別。

圖1 擴展命名實體(ENE)的層次結構

本文提出一個日文擴展命名實體識別API的體系結構設計與實現。我們稱這個API為「AL+ENER API」。在大量訓練數據樣本下,所提出的架構表現出良好效能,並在實際應用中具備較快的響應速度。為說明AL+ENER API的有效性,我們描述了此API在日語在線新聞服務中術語自動提取的應用。從用戶的反饋表明,ENER API在辭彙產生任務中表現出較高的準確率。

本文的如下部分安排如下。第2節描述了ENER API的技術的設計與實現。第3節給出了實驗結果以評估API的性能。第4節描述了ENER API在為日語學習者設計的在線新聞服務中的應用,從服務中獲取用戶反饋以提高ENER系統性能的方法,以及從用戶反饋得到的統計數據。第5部分回顧了相關係統並與該系統進行對比。最後,第6節總結全文。


2 擴展命名實體識別API

AL+ ENER API 是一款擴展命名實體識別的應用程序編程介面,它以一個句子作為輸入,輸出為一個包含句中擴展命名實體的JSON列表,如圖2所示。

圖2 AL+ENE識別API

不同於傳統的命名實體識別API,這個API可以標註能源200大類(類別列表見: http://nlp.cs.nyu.edu/ene/),包括一些未定義的實體(因此,他們被稱為「擴展」的命名實體,具體描述見(Sekine and No- bata, 2004))。在圖2中,「president」不是一個傳統的命名實體,但它被標記為擴展命名實體層次結構中的一個類別POSITION VOCATION。每一個實體,我們輸出詞本身(例如,「president」),其擴展命名實體標籤(「POSITION VOCATIO」),在輸入句子中的索引(JSON中的「開始」位置)和它的長度。開發人員使用ENER API可以利用開始位置和長度信息去計算實體在輸入句子中的確切位置。ENE標籤可以後續的多種任務中使用,如關係提取(RE)、問答(QA)或自動對話生成。AL+ENER API可以在線免費獲取(http://enerdev.alt.ai:8030/#!/Chatbot/)。目前,該API僅支持日語,但我們同時也開發了一款英文擴展命名實體識別的API。圖3顯示了一個輸入句子和輸出擴展命名實體標籤的例子。

圖3 輸入句子和輸出擴展命名實體標籤的例子


現有的命名實體識別(NER)系統常使用條件隨機場(CRFs)(McCallum and Li, 2003; Finkel et al., 2005),隱馬爾可夫模型(HMM)(Zhou and Su, 2002)或支持向量機模型(SVM)(Yamada et al., 2002; Takeuchi and Col- lier, 2002; Sasano and Kurohashi, 2008)對輸入句子的分詞打標籤。然而,這些方法只適用於少數類別(例如10類)。在擴展命名實體識別(ENER)問題上,類的數量是200,與傳統命名實體識別(NER)相比這是非常大的。因此,傳統方法可能無法獲得良好的性能,甚至是不可行的。事實上,我們已經嘗試使用CRF 進行200個類別的標註,但訓練過程花費了很長的時間,而且沒有完成。

在本系統中,我們使用一個組合的方法來識別擴展命名實體(ENEs)。我們首先實現四種基礎演算法,即CRF-SVM 層次ENER,基於RNN的ENER,基於維基百科的ENER和基於規則的ENER。然後我們通過選擇方法對演算法進行組合,如圖4所示。

圖4 ENER演算法的概述

在基於規則的方法中,我們擴展的規則為基礎的方法在(Sekine and Nobata, 2004)通過向他們工作中沒有被提及的新類別中添加新規則的方法),同時我們也使用了一個包含了160萬個維基百科實體關係的字典。在這160萬個實體中,只有7萬個實體被人工標註為ENE標籤,其餘的則由一個現有的維基百科ENE標註演算法標註(Suzuki et al.,2016),同時給每對(實體、ENE類別)一個得分。對於自動標註的實體,我們只選擇得分高的實體以確保演算法產生標註的準確性。如果規則不能提取出實體,我們會提取所有的名詞片語並在字典中查找它們是否是擴展命名實體。

我們使用一個包含ENE標記句子的訓練數據集訓練CRF模型,對輸入句子打上頂層ENE類別標籤(在訓練數據集中,我們從ENE層次類別中其父節點或祖父節點的類別來獲取這些ENEs的正確標籤)。如圖1所示,在頂層,CRF-SVM只需識別11個ENE類別(其他像日期、時間和數字等類別可以通過規則來識別),在這裡使用CRF模型將與現存NER系統達到基本相當的性能。在使用頂層ENE類別標註完句子之後,我們可以將ENER問題轉換為一個簡單的分類問題(不再是一個序列標註問題),因此我們可以用SVM分類器將頂層ENEs分類到更細的葉級類別。因此,我們採用一個CRF模型對輸入句子標註頂層類別標籤,並採用多個SVM模型(每個模型對應於一個頂層類別)將該ENEs分類至葉級ENE類別。CRF和SVM模型所使用的特徵包括詞袋、詞性、字中數字的個數、當前詞的Brown分類、維基百科ENE詞典中當前詞作為一個子串出現的次數、字的其他正確寫法特徵(這個詞是在日本漢字的寫法,平假名、片假名或羅馬字字)、是否大寫,以及最後2~3個字元。由於每個頂層類別中的葉級類別的數量也不太大(例如少於15),SVM模型將在這一步獲得不錯性能。

我們同時也訓練一個LSTM(長-短時記憶網路)去識別ENEs,改模型為一種RNN(遞歸神經網路)。我們採用LSTM模型的原因是由於其對於序列標註問題的適用性。LSTM的輸入時當前詞的詞向量表示和POS標籤。POS標籤是使用JUMAN(http://nlp.ist.i.kyoto-u.ac.jp/EN/?JUMAN)自動生成的,JUMAN是一個日語詞法分析器。詞向量是通過一個採用日語維基百科文本訓練的word2vec模型獲得的。我們希望LSTM模型可以記憶訓練數據模式,並在很多情況下應用於CRF-SVM方法。

對於上下文無關的ENEs,我們使用基於維基百科的方法。上下文無關的ENEs可以是任何文字,如一部電影的名字或一首歌的名字(如,「what is your name」是一個著名的日本電影)。如果這些名字非常有名,他們往往會成為一些維基百科文章的標題。因此,使用基於維基百科的方法識別此類實體可以取得較好效果。

我們提出一種演算法選擇模型,通過使用開發數據集(不同於測試數據集)評價四種基礎演算法(基於規則的、CRF-SVm、RNN和基於維基百科的)的演算法。在最後階段,在從以上四種方法獲取到所有實體的標籤之後,我們選擇在開發數據集中具備較高F值得分的演算法標籤。注意,我們使用的最佳選擇方案是基於實體層次的,不是句子層次。這是因為每個演算法在一些特定類上表現出良好性能,所以如果我們對每個實體選擇最好的演算法,整個句子就能獲得更高性能。


3 評價

我們請了七個標註員建立一個標記了ENE的數據集。具體地說,對每個ENE類,標註員標註了100個日語句子,每個句子中至少在響應類別中包含一個實體。然後標註員講這些句子人工標註上ENE標籤。篩選出錯誤的句子(標記格式無效的句子)後,我們得到了19363個格式規範的句子。我們將數據集分為三個子集:訓練集(句子總數的70%)、開發集(15%)和測試集(15%)。表1顯示了一些統計數據。

表1 數據集統計數據


我們使用測試集去評價ENER API的準確率、召回率和F值。表2顯示了ENER API在特定類別的準確率、召回率和F值,以及全部200類的平均評價結果(在最後一行)。我們在具有少數已知實體(如Cabinet)的類別,或者幾乎可以捕獲幾乎所有實體(如h as Intensity, Volume, URL, and Email)的類別中取得了很高的性能。對於上下文無關的文本名字類別(例如,手寫簽名)或很短的名字(例如,AK-47,一種武器),系統不能很好地預測出ENE,因為這些名字可能會出現在多種多樣的文本中。在這種情況下我們會優先考慮基於wikification的方法來提高性能。最後我們獲取的F1得分為71.95%,對於此200個類別來說是一個合理的結果。

表2 ENER API在測試集上的準確率、召回率和F值


由於ENER經常用於隨後的NLP任務,ENER API的響應速度必須足夠快以實現高速的後續任務。因此,我們在測試集上(含2869個句子)執行ENER API,並評估ENER API的響應時間。一個句子(查詢)的平均響應時間是195毫秒(0.195秒)。這個響應速度對各種任務來說都是足夠快的,如為智能聊天機器人或者搜索引擎會話生成答案。圖5顯示了響應時間和輸入語句的長度之間的關係(由分詞數量計算,每個分詞是由詞法分析器生成的一個單詞)。當輸入句子長度增加時,響應時間幾乎呈線性增加(除非句子太長,因為我們有少量這樣的句子,所以方差很大)。日語典型句子長度是10~20個分詞,所以在大多數情況下RNER的速度都很快。

圖5 輸入句子長度與API響應時間的關係


4 ENER API的應用

在本節中,我們提出了一個AL+ENER API在現實世界中的應用:在線新聞服務中的辭彙錶鏈接。

Mazii新聞服務的針對日語學習者的在線新聞服務。對於新聞文章中的每個句子,Mazii自動分析,對識別為ENE的每一個詞創建一個鏈接或詞典入口。這將幫助日語學習者在不理解單詞/實體的意思時快速地查閱到單詞/實體來參考。為識別一篇新聞消息中的所有ENEs,Mazii向AL+ENER API輸入文章所有句子(日語句子邊界檢測很簡單因為日本語言句子邊界標誌著一個特殊的符號)。因為AL+ENER API也返回ENEs的位置(和長度),Mazii可以很容易地創建一個鏈接突出強調句中的ENEs。當用戶點擊一個鏈接,Mazii將打開一個彈出窗口提供有關實體的細節信息:實體的ENE類別(和父類別),該實體的定義(如果有)。圖6顯示了一個Mazii ENE鏈接結果的截圖。

圖6 Mazzi基於AL+ENER API的實體鏈接,下劃線的實體被鏈接。當用戶點擊一個鏈接(如圖所示,日本的一個城市被點擊),彈出窗口打開,並展示了對應實體的ENE層次類別。


圖7 使用紙牌遊戲從Mazzi收集ENE用戶反饋

在圖6中,當用戶單擊實體時,我們在彈出窗口中顯示實體的ENE層次結構。我們同時還提供兩個單選按鈕讓用戶給我們反饋:正確的和不正確的。如果用戶選擇了不正確的,那麼我們也會問用戶實體的正確類別。

使用圖6中的方法,當用戶單擊實體時,我們只能收集反饋信息。然而,點擊次數通常比瀏覽的數量小得多。為了增加用戶反饋,我們為語言學習者發明了一種紙牌遊戲,如圖7所示。當用戶瀏覽一篇文章,我們提供一個對文章中ENE正確類別提問的框架(我們還提供包含ENE的句子為CRF-SVM和RNN模型獲取文本)。如果用戶對這個框架作出反應(通過按下正確/不正確的按鈕),我們存儲反饋並移動到資料庫中的下一個ENE。這將用戶融入到一個語言學習遊戲中,同時也幫助他/她學習到許多新單詞和語法結構。


在這一部分中,我們展示了一些統計數據,是從Mazii新聞服務收集的用戶反饋日誌。我們收集3個月內(從2016年12月到2017年2月)的用戶反饋日誌(包括查看、點擊和更正日誌)。然後,我們計算瀏覽次數、點擊與反饋次數(正確/不正確的按鈕被按下的次數)和每個ENE類別確認正確的次數。我們計算正確的比率(%正確)通過將正確次數除以反饋數量(正確/反饋)。

表3 基於Mazii反饋日誌的瀏覽次數、點擊數、反饋數和正確百分比

表3顯示了實驗結果。在96個類別,多於100次瀏覽和至少一個用戶反饋的情況下,正確率(%正確)是88.96%。該表還顯示了某些類別的詳細數量,按瀏覽數排序。平均點擊率(CTR=點擊率/瀏覽率)是8.7%,與平均廣告點擊率(約0.4%)相比這是非常高的(Zhang et al., 2014)。這表明,用戶對鏈接消息感興趣。更多的,正確次數的百分比表明,ENER API是足夠好,可以向用戶提供有用的信息。


5 相關工作

本文使用的ENE層次結構在論文(Sekine et al., 2002)中提出。(Sekine and Nobata, 2004)提出了一個基於規則的日語ENER,具有72%的準確率和80%召回率。如果文本中的ENEs包含在詞典中,或規則能夠捕獲ENEs的出現模式,基於規則的ENER表現出良好性能。然而,ENEs 經常隨時間演變,新ENEs頻繁添加,它們的含義可能會改變。因此,基於規則的系統在經過幾年之後可能不會表現太好。在本文提出的系統中,我們重新利用了規則和字典(Sekine and Nobata, 2004)但是我們也添加機器學習模型捕捉ENEs進化。該模型可以在任何我們有新訓練數據的時候進行重新訓練。(Iwakura et al.,2011)提出了一個基於詞塊分解/連接的ENER方法。他們評估了具有191ENE類別的系統,並取得了81%的F值。然而,在他們的評價中,他們並沒有直接對輸入句子進行評估,而是只對正確的詞塊。此外,他們沒有處理文章中所說的詞邊界。因此,無法將我們的結果與其進行對比。


6 結論

我們提出了一個擴展命名實體識別API(ENEs)。API以句子作為輸入,輸出一個包含一系列的ENE和類別的JSON。該API能夠深層次地識別出命名實體,並在實際應用中得到了很好的應用。我們描述了ENER API在日語在線新聞服務上的應用。實驗結果表明,該API具有良好的性能,速度快,適合實際應用。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 讀芯術 的精彩文章:

有了這技術,遊戲公司再也不讓我管住氪金的手
為啥人工智慧的聲音多是「妹紙」?

TAG:讀芯術 |