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