王浩+景陽+王鮮惠+張超+潘蔚+陳奇
摘要:通過漢語自然語言與機(jī)器人進(jìn)行人機(jī)交互無疑是一種高效便捷的導(dǎo)航辦法。主要針對漢語路徑自然語言的處理方法進(jìn)行研究。首先搭建了10個非結(jié)構(gòu)化的3D環(huán)境,針對所構(gòu)建環(huán)境下機(jī)器人的導(dǎo)航任務(wù)完成了自然語言導(dǎo)航語料的收集,該語料庫的來源以在校大學(xué)生為主體,輔以各年齡段不同職業(yè)的社會人士;然后采用NLPIR漢語分詞系統(tǒng)對有效語料進(jìn)行分詞以及詞性標(biāo)注處理,最后為了提取用于導(dǎo)航的語義信息,定義了9種基本組塊,并采用條件隨機(jī)場(CRF)實現(xiàn)了語料的組塊自動標(biāo)注,實驗結(jié)果表明該方法的組塊標(biāo)注準(zhǔn)確率較高,為進(jìn)一步提取導(dǎo)航語義打下了基礎(chǔ)。
關(guān)鍵詞:自然語言處理;機(jī)器人導(dǎo)航;組塊分析;條件隨機(jī)場
中圖分類號:TP242 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2016)10-0181-03
Abstract:Man-robot interaction by Chinese natural language is an efficient and convenient method for robot navigation. In this paper, we mainly study the natural language processing method for Chinese route language. Firstly 10 unstructured 3D environments for robot navigation tasks were built, and then the natural language navigation corpus was collected based on these robot navigation tasks. The most of corpus collectors are college students, in addition to some people with different age and career. Secondly the NLPIR Chinese word segmentation system was used for segmentation and tagging. Finally in order to extract the semantic information for robot navigation, nine basic blocks were defined, and the conditional random field (CRF) model was employed to achieve the data block automatic annotation. The experimental results show that the accuracy of this chunking method is higher, which laid the foundation for further extraction of semantic navigation.
Key words:natural language processing; robot navigation; chunking; conditional random field
1 概述
當(dāng)移動機(jī)器人面對陌生環(huán)境的時候,可采用自然語言向其講述行進(jìn)路線,機(jī)器人通過理解自然語言,并在其指導(dǎo)下自動運行到目的地,這無疑是一種高效的導(dǎo)航方法。按照人類自然語言的指令進(jìn)行自主導(dǎo)航的技術(shù)成為近年來機(jī)器人研究的核心之一,該技術(shù)不僅在工業(yè),農(nóng)業(yè)和軍事中得到廣泛應(yīng)用,更在勘探,救援和機(jī)器人看護(hù)得到很好的應(yīng)用,因含很高的實用價值,該技術(shù)受到世界的普遍關(guān)注。
本文主要針對漢語自然語言組塊分析的處理方法進(jìn)行研究,期望能夠提高語義組塊分析的準(zhǔn)確率并對后續(xù)語義提取的準(zhǔn)確率的提高有所幫助。
2 研究現(xiàn)狀
在國外,基于自然語言處理的機(jī)器人問路導(dǎo)航方法已有初步研究。Marjorie Skubic[1]等人進(jìn)行了室內(nèi)路徑自然語言處理的研究,他們首先收集了大量的路徑自然語言語料,對語料進(jìn)行詞性標(biāo)注和深度組塊分析處理,最終在組塊分析的基礎(chǔ)上提取了特定的句法結(jié)構(gòu)。通過參考-方向-目標(biāo)(reference-direction-target,RDT)模型建立RDT鏈提取語義信息實現(xiàn)導(dǎo)航任務(wù)。
不同語言在空間詞匯的語義關(guān)系劃分上存在巨大差異,中文和英文自然語言處理方法也不同。國內(nèi)漢語路徑自然語言的研究相對較少,張秀龍等人[2] 提出一種基于組塊分析的路徑自然語言處理的方法。他們在特定的環(huán)境下收集了少量語料之后,對語料進(jìn)行分詞、名詞實體識別和組塊分析等一系列處理,再使用槽體填充的方法實現(xiàn)語義的提取,最后生成導(dǎo)航意向圖。但是這種方法使用的語料數(shù)量較少,且用于搜集語料的基礎(chǔ)環(huán)境中已經(jīng)固定了路徑,所以較難客觀的評價該研究中所用語料的全面性與普遍性。
本文研究的主要內(nèi)容為:1)路徑自然語言語料庫的獲取;2)對語料的分詞、組塊處理。第三章主要闡述路徑自然語言語料庫的搭建方法及成果,介紹了語料的收集情況及對語料的初步分析處理;第四章主要闡述了對語料的分詞、組塊處理工作。針對上一章的分析自定義一些組塊單元,然后對這些組塊標(biāo)注的準(zhǔn)確性進(jìn)行了實驗檢驗。
3 路徑自然語言語料庫的建立
本文主要以基于統(tǒng)計的自然語言處理方法對語料進(jìn)行處理。統(tǒng)計方法的最大特點就是可以擺脫規(guī)則的束縛,不需要專門的知識,通過大規(guī)模的學(xué)習(xí)即可獲得較好的結(jié)果.但是目前沒有專門的漢語路徑自然語言語料庫.張秀龍等的研究所搭建的語料庫僅有214句,收集到的語料太少,影響了語料庫的一般性。為了解決這個問題,本文搭建了一個大規(guī)模的漢語導(dǎo)航語料庫。
3.1路徑自然語言語料收集環(huán)境的建立
為了提供良好的語料收集平臺,本文采用了“Webots for Nao”軟件來搭建機(jī)器人導(dǎo)航的模擬環(huán)境。共搭建了10個非結(jié)構(gòu)化的3D環(huán)境(包括7個室內(nèi)環(huán)境,3個室外環(huán)境)用于語料收集。由于實物模型有限,又考慮到不同的家庭生活習(xí)慣不同,室內(nèi)布局不同,所以將一些常用的家具做位置上的改變以改變室內(nèi)的整體布局,并針對不同的環(huán)境對機(jī)器人下達(dá)不同的導(dǎo)航任務(wù)以確保我們將要獲得的語料的全面性與普遍性。例如:
室內(nèi)環(huán)境選取了實際生活中常見的家具等物品模型進(jìn)行搭建,將機(jī)器人置于不同的初始位置,在每個環(huán)境下完成不同的任務(wù),力求覆蓋各種類型的家居任務(wù)來更全面的搜集自然語言;室外環(huán)境選取了灌木叢,油桶,垃圾桶,集裝箱,石頭等障礙物來模擬實際生活中機(jī)器人行走可能出現(xiàn)的障礙。
本文沒有對機(jī)器人的行進(jìn)路徑作規(guī)定,其行進(jìn)路徑是自由可變的,可依據(jù)使用者的語言習(xí)慣及空間習(xí)慣而定,從而增加了我們語料的全面性與普遍性。
3.2路徑自然語言語料的收集
本文以在校本科生為主體,輔以其他各年齡段的不同職業(yè)的社會人士共尋找了100位志愿者通過觀看10個環(huán)境的視頻和俯視圖選擇一條可以完成導(dǎo)航任務(wù)的路徑并給出路徑描述。一共收集到1000條語料。
以下為語料庫中比較典型的語料:
1) 機(jī)器人向右走到門,進(jìn)門后沿墻向右走到墻角附近的燈旁。
2) 機(jī)器人先向東走,發(fā)現(xiàn)臥室的門后向北走進(jìn)入臥室,繼續(xù)向北直走到床,找到床上的書。
3) 機(jī)器人直走到門,進(jìn)門左轉(zhuǎn)走到冰箱前。
4) 機(jī)器人向后轉(zhuǎn),沿著墻向左走,進(jìn)門,沿著墻向右走,找到臺燈。
5) 機(jī)器人直走至墻,繞過沿途障礙物,左轉(zhuǎn)直行至門,右轉(zhuǎn)穿過門繼續(xù)前行至桌邊。
4 語義組塊處理方法
4.1路徑自然語言語料的分詞及詞性標(biāo)注處理
所謂分詞,就是把一個句子按照其中詞的含義進(jìn)行切分[3]。本文使用目前國內(nèi)分詞準(zhǔn)確率最高的NLPIR漢語分詞系統(tǒng)對收集到的語料進(jìn)行分詞和詞性標(biāo)注處理,其分詞精度達(dá)98.13%,詞性標(biāo)注精度達(dá)94.63%。
例句:機(jī)器人向左走到墻,然后直走到墻角,沿墻向右走到門,進(jìn)門直走到凳子旁。
分詞和詞性標(biāo)注結(jié)果:機(jī)器人/n 向/p 左/f 走/v 到/v 墻/n ,/wd 然后/c 直/d 走/v 到/v 墻角/n ,/wd 沿/p 墻/n 向/p 右/f 走/v 到/v 門/n ,/wd 進(jìn)/vf 門/n 直/d 走/v 到/v 凳子/n 旁/f 。/wj
但是由于自然語言的隨機(jī)性與隨意性,造成利用該系統(tǒng)進(jìn)行分詞時部分標(biāo)注出現(xiàn)錯誤,采用人工方法對所有分詞及詞性標(biāo)注結(jié)果進(jìn)行了檢查,并將錯誤部分進(jìn)行修改以保證后續(xù)工作的準(zhǔn)確性。
例句:機(jī)器人右轉(zhuǎn)直走到門。
NLPIR分詞及標(biāo)注結(jié)果:機(jī)器人 /n 右轉(zhuǎn)直 /n_new 走 /v 到 /v 門 /n。
其中“右轉(zhuǎn)直 /n_new”明顯分詞和詞性標(biāo)注出現(xiàn)了錯誤,修改為:“右 /f 轉(zhuǎn) /v 直 /d”。
4.2路徑自然語言語義組塊分析
組塊分析是一種淺層句法分析,是詞法分析和語義分析中間的橋梁。組塊分析不要求得到完整的句法樹,且可以減少句法分析準(zhǔn)確率不高對語義角色標(biāo)注結(jié)果的影響。
組塊識別是一個序列標(biāo)注的問題,本文選擇了一種序列的表示法:IOB2。共有三種符號:B,I,O。這三種符號表示的意義是:
B 當(dāng)前詞是一個組塊的開始。
I 當(dāng)前詞在一個組塊內(nèi)部。
O 當(dāng)前詞不在任意一個組塊中。
張秀龍等人的研究中采用了語義組塊的處理方法進(jìn)行研究,他們在定義組塊時,更多的是從詞和詞性出發(fā)定義了13個組塊,且張秀龍等人的研究中涉及名詞短語的組塊誤判率較高,而且有部分組塊的識別率為0。為了避免這種情況,本文更多的是從語料本身的意思和其可以實現(xiàn)的功能出發(fā)來分析定義組塊,從句子語義出發(fā)更有利于提取導(dǎo)航語義。經(jīng)過分析收集到的語料,發(fā)現(xiàn)可以將一條復(fù)雜的語句根據(jù)其語義轉(zhuǎn)化為眾多簡單的小語義塊。通過對所有語料的分析,發(fā)現(xiàn)所有語義基本分為轉(zhuǎn)換方向,轉(zhuǎn)換空間,尋找目標(biāo),向目標(biāo)行進(jìn)四大部分,根據(jù)該特點并基于要保證既要覆蓋所有語義又不能出現(xiàn)重復(fù)的現(xiàn)象的原則,本文定義了9個組塊:
1)DT 方向轉(zhuǎn)換,例如“機(jī)器人向左轉(zhuǎn)”。
2)SC 空間轉(zhuǎn)換,例如“進(jìn)門直走”、“穿過門”。
3)MT 無參考向目標(biāo)行進(jìn),例如“走到墻”。
4)FR 根據(jù)參考向目標(biāo)前進(jìn),例如“直走到與右側(cè)門平行”。
5)ST 直接尋找目標(biāo),例如“找到桌子”。
6)RT 根據(jù)參考尋找目標(biāo),例如“取茶幾上的蘋果”。
7)PR 介詞參考,例如“沿著墻”。
8)PT 標(biāo)點符號,例如“,”、“。”。
9)O 不屬于任何組塊,例如“繼續(xù)”、“然后”。
基于上述組塊進(jìn)行了人工標(biāo)注,下面是典型的標(biāo)注結(jié)果:
4.3基于條件隨機(jī)場的語義組塊訓(xùn)練與測試
條件隨機(jī)場(conditional random fields,簡稱CRF或CRFS)由Lafferty等人于2001年提出,是近幾年自然語言處理領(lǐng)域常用的算法之一,具有表達(dá)長距離依賴性和交疊性特征的能力,能夠較好地解決標(biāo)注(分類)偏置等問題的優(yōu)點?;诖?,為了實現(xiàn)語義組塊的自動標(biāo)注,本文選取了CRF算法。
本文將一部分語料作為輸入序列對CRF模型進(jìn)行訓(xùn)練,CRF模型的訓(xùn)練采用 LBFSG方法, CRF++開源工具包實現(xiàn)了LBFSG參數(shù)估計辦法。CRF將根據(jù)訓(xùn)練得到的概率值對測試語料進(jìn)行自動標(biāo)注,經(jīng)過與人工標(biāo)注的對比得到自動標(biāo)注的準(zhǔn)確率。
將標(biāo)注好的語料庫按照4:1的比例進(jìn)行分配。80%的語料作為訓(xùn)練語料使用,余下的20%的語料作為測試語料使用。首先進(jìn)行CRF的訓(xùn)練得到相應(yīng)的訓(xùn)練模型,表2是使用CRF進(jìn)行組塊分析的輸入語料;再用得到的訓(xùn)練模型對測試語料進(jìn)行測試操作,并得到最后的結(jié)果如表3所示。
為了分析自動組塊標(biāo)注方法的性能,定義了以下性能指標(biāo):
下表即為使用crf進(jìn)行組塊分析的實驗結(jié)果。
由表4和表5可見,組塊分析的準(zhǔn)確率,召回率,F(xiàn)1值都較張秀龍等人的研究結(jié)果有顯著提高,雖然與張秀龍等人的組塊劃分方法不同,但能夠說明本文劃分的組塊類型是合理的,基于CRF的自動組塊標(biāo)注方法是可行的。較高的組塊標(biāo)注準(zhǔn)確率為下一步的語義角色標(biāo)注打下了基礎(chǔ)。
5 結(jié)論
本文主要研究了處理漢語路徑自然語言的組塊分析方法,為抽取導(dǎo)航語義進(jìn)而完成導(dǎo)航工作奠定了基礎(chǔ)。為了最終實現(xiàn)基于路徑自然語言的機(jī)器人導(dǎo)航系統(tǒng),本文首先為了獲取大規(guī)模語料庫利用“Webots for NAO”搭建了10個非結(jié)構(gòu)化的3D模擬環(huán)境,針對每個環(huán)境提出了不同的導(dǎo)航任務(wù),并基于此收集到了1000條非受限路徑自然語言語料,搭建了導(dǎo)航語料庫;在經(jīng)過對語料進(jìn)行分詞與詞性標(biāo)注處理后,基于對語料的語義分析,定義了9種基本組塊;經(jīng)過人工標(biāo)注和CRF訓(xùn)練之后,測試結(jié)果顯示組塊標(biāo)注準(zhǔn)確性有了較大的提高。實驗結(jié)果表明本文定義的組塊類型以及采用的組塊標(biāo)注方法具有較高的可行性,為接下來的導(dǎo)航語義提取奠定了良好的基礎(chǔ)。
參考文獻(xiàn):
[1] Zhiyu Huo,Tatiana Alexenko,Marjorie Skubic. Using Spatial Language to Drive a Robot for an Indoor Environment Fetch Task[C]// 2014 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS2014) September 14-18,Chicago,IL,USA,2014.
[2] 張秀龍. 一種面向室內(nèi)智能機(jī)器人導(dǎo)航的路徑自然語言處理方法[J]. 自動化學(xué)報,2014(2):1-51.
[3] 吳靚.基于自然語言理解的3D場景構(gòu)造研究[D]. 汕頭:汕頭大學(xué),2011.
[4] 蔣文明.面向中文文本的空間方位關(guān)系抽取方法研究[D].南京:南京師范大學(xué),2010.
[5] 劉瑜,高勇,林報嘉,等.基于受限漢語的GIS路徑重建研究[J].遙感學(xué)報,2004,8(4):323-330
[6] 張雪英,閭國年.自然語言空間關(guān)系及其在GIS中的應(yīng)用研究[J]. 地球信息科學(xué),2007(6):77-81.
[7] 張雪英,閭國年.自然語言空間關(guān)系及其在GIS中的應(yīng)用研究[J]. 地球信息科學(xué),2007(6):77-81.
[8] Kollar T,Tellex S,Roy. A Discriminative Model for understanding Natural Language Route Directions[C]//Proc.AAAI Fall Symposium on Dialog with Robots.Arlington.VA,USA:2010:147-152.
[9] Uchimoto K, Ma Q, Murata M, et al. Named Entity Extraction Based on A Maximum Entropy Model and Transformation Rules[C]//Proceedings of the 38th Annual Meeting of the Association for Computational Linguistics, HongKong, China.2000.