南非西北大學:面向資源稀缺語言的NLP Web服務
你和「懂AI」之間,只差了一篇論文
很多讀者給芯君後台留言,說看多了相對簡單的AI科普和AI方法論,想看點有深度、有厚度、有眼界……以及重口味的專業論文。
為此,在多位AI領域的專家學者的幫助下,我們解讀翻譯了一組頂會論文。每一篇論文翻譯校對完成,芯君和編輯部的老師們都會一起笑到崩潰,當然有的論文我們看得抱頭痛哭。
同學們現在看不看得懂沒關係,但芯君敢保證,你終有一天會因此愛上一個AI的新世界。
讀芯術讀者論文交流群,請加小編微信號:zhizhizhuji。等你。
這是讀芯術解讀的第135篇論文
ACL 2018 System Demonstrations
面向資源稀缺語言的NLP Web服務
NLP Web Services for Resource-Scarce Languages
南非西北大學
North-West University, South Africa
本文是南非西北大學發表於 ACL 2018 的工作,提出了一個項目,將現有文本核心技術從不同體系結構中移植到基於Java的Web服務中。這些技術是在八年期間,通過多種政府資助項目,針對10種南非國家資源稀缺語言開發的。本文通過API和一個簡單的Web前端,能夠完成各種預定義任務。
引言
隨著大型軟體體系結構的建立,國際上正在朝著使軟體作為服務使用的方向發展。Web服務是一種公開信息系統的功能,並通過標準Web技術使其可用的方法。自然語言處理(NLP)Web服務指的是一種或多種技術,這些技術關注自然(人類)語音或文本,並以編程方式公開,以允許任何人在多個平台上訪問互聯網,以獲得對該技術輸出的訪問。通過託管NLP Web服務,軟體開發人員和研究人員都可以通過簡單的Web查詢訪問此類技術的最新版本,促進了面向最終用戶的應用程序開發。
Web服務還提供了一個體系結構,允許將人類語言技術(HLT)集成到更大的軟體系統中。通過採用面向服務的體系結構,現有的資源和工具也可以用於開發複雜的基於組件的系統。歐洲和美國已經在存在了一些這樣的系統,例如Stanford CoreNLP, Aylien,Web-licht,和Tanl Pipeline等。此外,Web服務可以相對快速地更新,允許用戶隨時獲得最新版本的技術。
在本文中,我們描述了一個項目,其中61個現有的基於文本的核心技術從不同的體系結構移植到基於Java的Web服務。本文第一部分簡要介紹了開發這些技術的背景和相關語言。接下來簡要描述開發這些技術的三個以前的項目,以及這些技術本身的描述。然後,我們將在下面的部分中描述API和能夠完成各種預定義任務的簡單Web前端。最後,我們提供了一些關於當前項目和未來考慮事項的信息。
背景
南非有11種官方語言,一般分為5種語言族群。conjunctively編寫的Nguni語言包括isiZulu (ZU), isiXhosa (XH), isiNdebele (NR),and SiSwati (SS)。disjunctively編寫的語言包括Sotho語言Sesotho(ST)、Setswana(TN)、Sesotho sa Leboa(NSO)和Tshiven? a (VE)以及析取書寫的Tswa-Ronga語言Xitsonga (TS)。最後,有兩種Germanic語言,English (EN)和Afrikaans (AF)。除了英語,所有的南非語言都被認為是資源稀缺的,只有很少的數據可以用來開發NLP應用和技術。
在過去的二十年里,南非政府一直支持與HLT相關的文本和演講項目。這些項目以數據、核心技術、應用和系統的形式生成了NLP資源,這些資源對南非官方語言的未來發展極為寶貴。儘管可以從南非數字語言資源中心(SADiLaR)的語言資源管理局及時獲得這些資源,但從需要技術熟練的人員或組織來使用這些技術上來說,對這些資源的訪問仍然可以被認為是有限的。改善對這些技術的訪問的一種方法是使它們作為Web服務可用。我們之前開發了幾個南非語言對之間的機器翻譯免費可用的Web服務,並基於此經驗開發了Web服務。
本文所描述的Web服務需要將現有技術實現為可通過應用程序編程介面(API)和充分利用API用戶友好的Web應用程序訪問的Web服務。這些服務可以處理以單詞列表、運行文本、文檔或掃描圖像作為輸入。以下部分提供了在API中實現的各個技術的簡要概述。
技術
網路服務中包括的所有技術都是通過三個項目在八年期間開發的,即NCHLT文本:階段 I,II和III。這些項目由藝術和文化部(南非政府)的國家人類語言技術中心(NCHLT)發起和資助。以下描述的技術和資源僅針對10種南非語言開發,因為存在眾所周知且容易獲取的用於英語的基於文本的技術,例如可用於南非英語的Stanford CoreNLP。下面將簡要描述三個項目及其產生的技術。
NCHLT文本: 階段I
NCHLT文本項目第一階段重點是為南非NLP工業的進一步發展建立基礎資源和技術。對於每種語言,收集來自政府領域來源的文本語料庫並為每種語言開發一百萬字的語料庫。從這些語料庫中,10種語言中的每一種語言的語言專家對每種語言標註了50000個符號(以及另外5000個用於測試的符號),分為三個級別,即詞性(POS)、詞根和形態組成。除了注釋語料庫之外,還為每種語言開發了五個核心技術。這些技術包括句子分隔符、標記符、詞根符、形態分解器和POS標記符。
分句是典型NLP任務用於標記化的預處理步驟。本項目中開發的句子分隔是基於規則的,並且基於語言特性對句子進行分隔,以確保縮寫和編號正確地保留不同句子的一部分。
標記器也是特定語言的、基於規則的技術,將句子分割成標記,通常是單詞和標點符號,並且是所有其他NLP任務必要的預處理步驟。
NCHLT文本: 階段II
基於在第一個NCHLT文本項目期間創建的資源,第二階段重點關注命名實體識別、短語組塊識別和語言識別。命名實體識別器和短語組塊識別是在項目期間從每個注釋語言的額外15,000個標記中開發出來的。語言標識符(LID)是為將文本分類為11種正式語言之一而開發的,它是在第一個NCHLT文本項目期間收集的文本語料庫上訓練的,同時還收集了來自政府領域的英語語料庫。
用L2正則化的線性鏈條件隨機場(CRF)訓練命名實體識別器。短語組塊識別還使用來自注釋數據的線性鏈CRFs進行訓練,並且通過採用先前開發的POS標記作為特徵。使用CRF Java庫實現了Web服務中的命名實體識別和短語組塊識別的核心技術。
LID採用字元級n-gram語言模型(n=6),並測量測試模型與所有語言模型相對頻率之間的Euclidean距離,選擇距離最小的Euclidean距離作為概率語言。在Web服務中,LID是在線性層上執行的,並返回輸入文本中每行的可能語言。第一個版本是在Python中實現的,Web服務版本是用Java實現的。
NCHLT文本:階段III
NCHLT文本項目的第三階段是開發光學文本識別(OCR)模型,以及通過開發Web服務改進對所有技術的訪問。南非語言的OCR模型是使用Tesseract開發的,並且適應了四種南非語言所需的音調字元。為了在Web服務中實現OCR,使用了tess4j。
實施
Web服務被實現為一個簡單的三層Java應用程序,由API、核心技術管理器(剩餘的文檔管理器)和各個核心技術模塊組成。
API負責處理所有傳入請求、驗證參數和頭部、將參數數據發送到Manager以進行處理並將中繼處理結果返回給請求者。Manager負責初始化和載入技術,處理來自API的數據,並將結果發送回API。
NCHLT web服務API
API是一個RESTful Web服務,既可維護又可擴展。該服務基於Jersey框架,因為它是一個開源的、用於在Java中開發RESTful服務的產品質量框架。API使用身份驗證過程,提供對API的可用服務的受限訪問。
API支持四個函數,可以通過GET或PUT調用訪問這些函數,這取決於是否發送文本字元串或文件進行處理。這兩個函數確保調用者可以正確地訪問那些可用於特定語言的技術。
在接收到請求時,API驗證參數和會話token,以確保使用相關技術所需的所有信息都存在。如果請求通過了驗證,則將輸入和語言信息提交給Manager,Manager處理所請求的核心技術模塊的初始化。然後,Manager再次驗證參數數據,將數據發送給相關核心技術處理,並將結果返回給API。
核心技術管理器
Manager的任務是處理跨一個或多個線程或伺服器為不同語言載入的不同核心技術模塊。除了管理在任何給定時間載入的各個模塊之外,Manager還管理共享任務。最後,還必須注意,所有模塊都重用了在類的多個實例之間共享並且是線程安全的模型和屬性。因此,同時運行多個實例不會導致任何信息損壞、競爭條件或相關的多線程問題,同時限制了處理數據所需的載入時間和內存。
核心技術模塊
如前所述,Web服務的開發重點在於將南非語言的現有語言核心技術轉移到可通過RESTful API訪問的共享代碼庫。
在設計階段,由於三個原因,決定將所有核心技術移植到Java。首先,Java在大多數操作系統中得到支持,允許跨許多不同體系結構部署技術和服務。第二,Java提供了廣泛的自由可用和測試良好的庫,以促進技術和Web服務的開發和分布。考慮的第三個因素是,為Web服務開發的核心技術模塊也可以在其他面向用戶的應用程序中重用,特別是與Web服務並行開發的離線語料庫搜索和處理環境。
雖然轉移模塊的主要焦點是包含在Web服務中,但是這種轉移也允許在文本技術中心開發的不同模塊之間進行更好的集成。
在將技術傳輸到共享代碼庫時需要考慮的另一個問題是,大多數技術都具有相互依賴性,通常形成處理字元串所需的流水線。POS標記器又依賴於該語言的符號化,而符號化依賴於句子分離來完成其處理。這意味著,對於要執行的短語組塊,必須執行第一個句子分離,然後進行標記化,然後進行POS標記,並且只有這樣才能為必須進行短語塊的字元串創建特徵集。在當前的體系結構中,整個鏈是固有實現的,並且短語塊只需要調用特定語言的POS標記模塊,然後POS標記模塊又調用執行標記所必需的模塊,見下圖。
每個技術模塊所需的模塊完全由Manager處理,這意味著在大多數模塊中通常使用的核心技術,例如tokenisation,可以被需要共享模塊的各個模塊實例有效地重用。
Web應用程序
為了使NCHLT項目各個階段開發的技術更易於訪問,還創建了一個簡單的Web應用程序。此應用程序特別旨在適應不習慣於面向服務的體系結構的用戶,並且對於使用這些類型的體系結構的用戶來說可能相當具有挑戰性。因此,開發一個基本的介面以幫助用戶使用服務來完成某些任務是明智的。因此,我們開發了一個基於web的、用戶友好的圖形用戶界面,能夠通過提供上述預定義的Web服務鏈來完成各種任務。在使用POS標記服務標記用戶文檔之前,系統將自動執行tokenisation和句子分離。為了方便快捷的處理,用戶可以提供文本、選擇所需的選項、處理文本以及查看或下載結果。還提供了關於使用API以及Web應用程序的詳細文檔。用於所有注釋的標記集都在幫助頁中提供。web應用程序可以在http://hlt.nwu.ac.za/上找到。
總結
本文提供了一個新的Web服務和應用程序的概述,它為南非語言提供了對61種不同文本技術的訪問。這個實現允許任何開發人員在自己的環境中訪問和集成這些語言技術中的一種,同時確保在任何時候使用這些技術的最新版本。最後,描述了一個簡單的、用戶友好的web應用程序,該應用程序提供了對預定義的NLP技術鏈的訪問,供技術不熟練但可以在自己的研究工作中使用這些技術的最終用戶使用。目前有一個項目正在進行中,將帶注釋的文本語料庫集從50000擴展到大約100000個token。然後,可以使用這些擴展的帶注釋的數據集來為南非語言創建更好地核心技術。
論文下載鏈接:
http://aclweb.org/anthology/P18-4008
※今日芯聲:未來社會是否將重演「母系女權」?看看谷歌這份報告
※ACL 2018:南加州大學:學習多語言表示的一種多任務方法
TAG:讀芯術 |