帕麗旦·木合塔爾,熱依曼·吐爾遜,,買買提阿依甫,排孜拉·奴來海買提
(1.新疆大學 信息科學與工程學院,新疆 烏魯木齊 830046;2.新疆大學 多語種信息技術重點實驗室,新疆 烏魯木齊 830046)
21 世紀信息技術猛速發(fā)展,智能手機已成為了人們的隨身攜帶物品,在有些方面已經(jīng)超過人類的操作,很多人工操作的日常事情都可以交由計算機或智能手機來處理,如:記錄信息、保存和處理數(shù)據(jù)庫信息等[1]。百度AI 開放平臺也開發(fā)過詞性標注與詞干提取工具,主要功能是自動分析文本中的句法結構和分詞。百度AI 的工具僅僅適合于中文詞法與句法分析,不適合維吾爾語的句法與詞法分析,且對兼類詞進行標注時,結果不太理想。因此,本文研究適合維吾爾語的標注平臺,并充分考慮系統(tǒng)的可行性,開發(fā)出了Android 的應用APP 軟件,將依賴于PC 機的標注平臺轉移到了智能手機上。該應用軟件提供手動詞性標注和詞干提取功能,最主要的特色是功能齊全、操作簡單、界面友好,為廣大研究員提供了必不可少的自然語言處理輔助工具。
Android 是一種操作系統(tǒng),提供對外免費開放代碼,用于移動終端中(智能手機)。Google 公司正式對外展示Android 操作系統(tǒng)以后,成立了Android 操作系統(tǒng)。未來的IT 行業(yè)中,移動應用將占有重要的地位,越來越多的領域?qū)崿F(xiàn)自己的移動應用系統(tǒng),最重要的給用戶帶來最大的方便。一個完整的基于Android 的APP 軟件需要Linux Kernel,Android Runtime,Liberaries 及 Application Frameuork的支持。
Linux Kernel:Android 運行在 Linux Kernel之上。在Android 操作系統(tǒng)實際工作中,首先需要Linux Kernel 的全面支持,有了Linux Kernel 的支持才能夠?qū)崿F(xiàn)Android操作系統(tǒng)。Linux Kernel由許多驅(qū)動程序組成,這些驅(qū)動程序設計能完成對軟硬件的驅(qū)動[2]。
Android Runtime:Android 操作系統(tǒng)的執(zhí)行需要良好的運行環(huán)境,說的運行環(huán)境就是Android Runtime。Android Runtime里面的Core Libraries就相當于Java的JDK,是執(zhí)行Android 應用程序所需要的核心庫,DVM(Dalvik Virtual Machine)是Android 系統(tǒng)運行所需的特定的虛擬機[3]。
Liberaries:Android 操作系統(tǒng)所形成的所有數(shù)據(jù)需要儲存,Liberaries 就是存儲緩沖器。
Application Framework:是指 Android 操作系統(tǒng)的整個框架,有了系統(tǒng)框架,設計中的所有程序才能夠有秩序地嵌入到里面。系統(tǒng)框架如圖1所示。
圖1 Android 系統(tǒng)架構圖Fig.1 Architecture diagram of Android system
在Android 操作系統(tǒng)的開發(fā)中,開發(fā)人員可通過訪問應用程序編程接口(Application Programming Interface,API)框架來完成核心應用程序的使用,下面將重點分析這些小系統(tǒng)。
1)用來搭建應用程序視圖部分(Views):該視圖實現(xiàn)了豐富和可擴展的功能,基本元素包括列表(List)、網(wǎng)格(Grids)、輸入框(Edittext)、按鈕(Button),復選框(CheckBox)。
2)應用程序的內(nèi)容提供器(Content Providers):當操作系統(tǒng)訪問程序設計時,它能夠訪問另一個程序。
3)資源訪問的資源管理器(Resource Manager):提供非代碼資源訪問時,主要由字符、圖片、形狀和布局文件(layout files)組成。
4)通知管理器(Notification Manager):在 Android系統(tǒng)中應用程序在狀態(tài)欄中顯示自定義的提示信息。
5)活動管理器(Activity Manager):這個操作系統(tǒng)是能夠完成導航前進、回退功能以及管理程序設計的生命周期[4]。
SDK(Software Development Kit)是開發(fā)軟件工具包[4]。SDK 是被開發(fā)軟件工程采用的軟件包、軟件框架和硬件平臺、操作系統(tǒng)與建立應用軟件開發(fā)工具的集合,軟件開發(fā)工具包就是Android SDK[4]。當前最新的SDK 軟件包括Eclipse IDE 開發(fā)環(huán)境。在Android 系統(tǒng)中SDK 是必不可少的部分,提供開放免費的服務,開發(fā)人員不需進行較高的投資成本。
該系統(tǒng)是分析詞性標注、詞干提取和針對分詞的一個工具,首先收集大規(guī)模文本材料,其次啟動APP,點擊導入文本按鈕讀取文本資料,根據(jù)任務進行標注或提取詞干,最后保存數(shù)據(jù)。系統(tǒng)結構如圖2所示。
維吾爾語不僅詞匯和形態(tài)豐富,語言特征也較明顯。維吾爾語構詞是由詞干加后綴或前綴組成的,通過直接連寫詞綴的方式構造出來。雖然一個詞干和詞綴的連寫構造出一個構詞,但維吾爾語中的多詞干和詞綴數(shù)量和形態(tài)很多,如果連寫方式不同,那么造出來的構詞的詞性也不同。因此收集大規(guī)模文本語料,通過APP手工切分詞干和詞綴。詞干庫總共建立了30 000 條詞語,提取過程如圖3所示。
首先將文本分成句子,然后句子又分成詞語,最后將詞袋分成單詞。對單詞進行手工切詞干和詞綴,切詞干過程還標注了詞的原型、弱化形式、詞干、第一個詞綴、第二個詞綴、第三個詞綴、第四個詞綴及對偶詞等,構建的詞干庫的規(guī)模和形態(tài)很豐富。詞干提取方法如圖4所示。
圖2 總流程圖Fig.2 Flow chart of system structure
圖3 詞干提取過程Fig.3 Extracting process of stem
圖4 詞干提取方法Fig.4 Stem Extracting method
系統(tǒng)詞干提取界面圖5所示,該界面是為了詞干提取而設計的,點擊“導入文本”圖標就可以導入文本;然后將這個軟件導入的文本一行一行來讀取,讀取的句子里面有幾個詞語,這個軟件自動給你計數(shù),顯示你打開的文本是那個文本里面的內(nèi)容等;最后點擊開始提取,這個按鈕給你自動分詞,將看到這個詞的分類選擇單詞、構詞或?qū)ε荚~直到讀取的文本結束為止。
圖5 APP 詞干提取界面Fig.5 Interface of APP stem extracting
使用setLan()這個方法來實現(xiàn)關于軟件的核心代碼更新,軟件的核心代碼部分如圖6所示。
圖6 核心代碼部分Fig.6 Core code section of software
目前在維吾爾語中詞性大體上劃分為實詞、虛詞、感嘆詞等。對實詞細分有動詞和靜詞兩種,其中靜詞有副詞、數(shù)詞、名詞、形容詞等。如此細分統(tǒng)計維吾爾語總共有42 個詞性,維吾爾語是形態(tài)很豐富的語言,維吾爾語名詞的不同詞綴有49 個,動詞的不同詞綴有150 多個,形容詞的不同詞綴有55 個,數(shù)詞的不同詞綴有57 個。有些詞的形態(tài)變化會導致詞性變化,會導致詞性變化的后綴簡稱為構詞后綴[5]。統(tǒng)計維吾爾語中的詞性,進行手工標注,表1為維吾爾文一級詞性統(tǒng)計表,手工詞性標注示例如圖7所示。
表1 新疆多語種信息技術重點實驗室維吾爾語詞性一級標記集Table 1 First level marker set of Uyghur POS of xinjiang multilingual information technology key laboratory
圖7 維吾爾文詞性標注示例Fig.7 POS tagging examples of Uyghur
系統(tǒng)詞性標注界面如圖8所示。
圖8 APP 詞性標注界面Fig.8 Interface of APP POS tagging
這個界面是為了詞性標注而設計的,首先,點擊“導入文本”圖標就可以導入文本,這個軟件將導入的文本一行一行來讀取,讀取的句子里面有幾個詞這個軟件自動給你計數(shù),顯示你打開的文本是哪個文本里面讀取的內(nèi)容等信息;然后,點擊開始標注這個按鈕給你自動分詞,能看到這個詞的分類選擇單詞、構詞或?qū)ε荚~直到讀取的文本結束為止。
本文研究與實現(xiàn)基于Android 的維吾爾語詞干提取、詞性標注軟件(APP)。本工具有導入文本、分句、分詞、詞干提取和詞性標注功能。將依賴于PC 機的標注平臺轉移到了智能手機上,為維吾爾語自然語言處理工作開發(fā)出了快捷和方便的標注平臺,從而完成了大規(guī)模語料的標注工作。該系統(tǒng)的實現(xiàn)為低資源少數(shù)民族智能化研究工作做出了貢獻。
該APP 有維漢兩種語言的相互切換使用功能,下一步再改進和優(yōu)化APP,新增哈薩克和柯爾克孜語等多語種文本標注功能,做出多語種自然語言處理輔助軟件。