李正華
(蘇州大學計算機科學與技術學院 江蘇·蘇州 215006)
隨著深度學習的快速發(fā)展,人工智能已經(jīng)成為一個具有國家戰(zhàn)略意義的研究方向。國內很多知名高校紛紛建立人工智能學院或研究院,并且面向本科生開設了相應的人工智能基礎課程。MSRA 副院長周明老師講到,語言智能是人工智能皇冠上的明珠。自然語言處理無疑是真正實現(xiàn)強人工智能必須解決的難題。
英語文本中詞語之間由空格隔開,因此可以直接得到英語句子的詞序列。然而,中文文本則缺乏詞語分隔符,給中文信息處理帶來了很大的挑戰(zhàn)。由于詞語是信息表達的最基本單元,因此絕大部分上層任務或應用均以詞序列、而非子序列作為輸入,如句法語義分析、搜索引擎(百度)、機器翻譯、客服機器人等。學術界在過去幾十年,針對分詞任務,提出了一系列的方法,人工標注了大規(guī)模的數(shù)據(jù)。但是,迄今為止分詞問題還遠沒有解決。
如上討論,中文分詞對于自然語言處理乃至人工智能的科學研究和產業(yè)化的重要意義不言而喻。事實上,本科生很多課程都涉及中文分詞問題,如自然語言處理、中文信息處理、[1]信息檢索、數(shù)據(jù)挖掘等。
然而在課程授課中,大部分同學們很難理解分詞為什么很困難,為什么不可以通過簡單的詞典匹配做好,為什么復雜的機器學習算法和模型也會輸出很多明顯的分詞錯誤?
為此,筆者設計了一次眾包標注形式的上機課?;谖覀兊臉俗⑾到y(tǒng),要求同學們根據(jù)自己對分詞任務的理解,標注一定數(shù)量的句子。進而,我們對標注數(shù)據(jù)進行了行為分析,并通過調查問卷了解教學效果。通過這次上機課,同學們更深刻的了解了自動分詞的難處,并且一小部分同學產生了自己實現(xiàn)分詞工具的興趣。
給定一個句子,如“這學期我主講信息檢索課”,中文分詞的目的是將漢字序列切分為詞序列,如“這/學期/我/主講/信息/檢索/課”。在英文中,詞語之間以空格符作為天然分解符,但是中文中只有字、句、段可以明顯區(qū)分。由于單個字的含義比較模糊,歧義較大,因此詞通常被認為是語言表達的最基本單元,并在其基礎上開展自然語言處理相關研究(如句法分析、語義分析),以及建立高層應用系統(tǒng)如信息檢索系統(tǒng)。分詞主要需要解決兩種切分歧義。[2]第一種為交集型歧義,指三個連續(xù)的字“ABC”中,“AB”和“C”可以形成兩個詞,“A”和“BC”同樣也可以形成兩個詞。交集型歧義的例子如“和服裝”“表面的”等。另一種歧義為組合型歧義,指兩個(或多個)連續(xù)的字“AB”,可以組合起來作為一個詞,也可以分開單獨成詞。組合型歧義需要對整個句子整體把握,才能正確消解。以“把手”為例,“請把手拿開”和“這個門把手壞了”的切法不同。同樣,“中將”在“將軍任命了一名中將”和“產量三年中將持續(xù)增長”兩句中切法也不同。
過去十多年里,分詞技術得到了長足發(fā)展。最簡單并快速的方法是最大前向匹配和最大后向匹配;基于自動機實現(xiàn)的基于規(guī)則的方法;將分詞任務看作基于字的分類問題;基于字的序列標注方法;基于詞的動態(tài)規(guī)劃搜索算法。目前的分詞方法在規(guī)范的新聞領域文本上可以達到約98%的準確率。[2-3]
近年來,網(wǎng)絡用戶產生的海量網(wǎng)絡文本數(shù)據(jù),如微博、產品評論、郵件等,對中文分詞提出了新的挑戰(zhàn)。網(wǎng)絡文本和傳統(tǒng)新聞領域文本相比,主要有兩個特點:新詞多(如“快男”)、舊詞新義(如“粉絲”)。新詞發(fā)現(xiàn)一直是中文分詞的一大困難。對于訓練語料中沒有出現(xiàn)過的詞語,分詞模型一般很難正確切分。[3]
目前,面向網(wǎng)絡文本的中文分詞才剛剛起步,缺乏適當規(guī)模的標注數(shù)據(jù)用以模型訓練和評價。筆者也一直思考如何基于近年流行的眾包方式,快速有效的建立所需的標注數(shù)據(jù)。眾包的基本思想是利用大量空閑網(wǎng)絡用戶,以有償或無償(無意)的形式,快速獲取標注數(shù)據(jù)。但是眾包的應用場景一般是很簡單的標注任務,如對圖片中的物體打標簽。[4]目前還很少看到對分詞這樣的復雜任務進行眾包標注。本文對此進行了初步嘗試,并且利用一次教學上機課進行了實際操作,獲得一些有趣的發(fā)現(xiàn)和結論。
由于目前的眾包平臺無法滿足需求,筆者開發(fā)了一個基于瀏覽器的標注系統(tǒng),支持百人以上同時在線標注。我們將系統(tǒng)部署在云服務器上,網(wǎng)址為http://139.224.234.18/anno-sys。系統(tǒng)支持用戶注冊、任務分發(fā)、標注、結果提交、標注時間統(tǒng)計等基本功能。
標注系統(tǒng)給出一個句子,同時給出一個詞(下劃線標記)。用戶首先確定這個詞是否正確。如果正確,則直接提交答案。如果錯誤,那么需要對分詞結果進行修改,然后提交答案。左鍵單擊兩次確定一個詞,提交的結果中必須包含初始詞中的所有字,同時不允許一個詞中不包含任何初始詞中的字(即標注出的詞要和初始詞相關)。用戶對詞語修改的結果會展示在系統(tǒng)中,同時標注系統(tǒng)中用不同顏色來區(qū)分不同詞。
上機課開始后,筆者首先給學生說明了一些分詞標注的基本原則,演示了標注系統(tǒng)的使用方法。然后學生開始標注。標注過程大概持續(xù)兩個小時,學生一共提交了17,357 個標注結果,其中4,417 個是面向地雷任務,剩余的12,940 個為有效標注。通過分析我們發(fā)現(xiàn),這些標注對應4,787 個句子中的6,601個任務,即每個句子平均標注1.4 個任務。
從準確率方面分析,我發(fā)現(xiàn)同學們的平均準確率為84.70%。其中正確率90%以上的同學占總人數(shù)的26.7%;在80-90%的占43.3%;在70-80%之間的人數(shù)占30%。從這一點看出,同學們在標注過程中是很認真的,并且能夠達到一定的準確率。
從標注時間方面分析,我們發(fā)現(xiàn)同學們平均12.0 秒做一個任務。其中10 秒以內的同學占總人數(shù)20%;10-15 秒的同學占63.3%;15 秒以上的同學占16.7%。這個分析結果可以很好的支持后期的大規(guī)模標注工作,也為其他相關研究人員提供有用參考。
題目做完后,筆者做了一個問卷調查,目的是想看看同學們是否對中文分詞有進一步的認識,對分詞系統(tǒng)提出改進建議,以便以后繼續(xù)完善標注系統(tǒng)。問卷包含5 道選擇題和2 道問答題。從同學們的反饋中我們看到了很多有趣的信息。
86%的學生認為計算機自動分詞很困難;72%的學生認為通過此次標注,對漢語分詞任務有了更深的理解;72%的學生表示這個標注系統(tǒng)本身實現(xiàn)起來復雜;17%的學生表示對標注系統(tǒng)的實現(xiàn)感興趣;10%的學生表示有興趣實現(xiàn)一個自動分詞程序。
另外,通過問答題,同學們對標注系統(tǒng)提出了很多改進的需求,并且對計算機進行自動分詞可能遇到的困難和應對措施提出了自己的思考和見解。
綜上,筆者認為,通過這次標注活動,同學們對分詞問題的理解更加透徹,對后續(xù)課程的學習體現(xiàn)出了更強的興趣和主動性。尤其是,部分同學在標注過程中表現(xiàn)出對語言很敏感的特點,筆者將引導其加入后續(xù)有償?shù)臄?shù)據(jù)標注工作中;對于感興趣的同學,筆者也將引導其繼續(xù)深入研究分詞算法和標注系統(tǒng)實現(xiàn)。
本次眾包形式的標注活動共標注了約5000 個微博句子,提交了約17,000 個標注結果。通過這次教學活動,學生普遍對中文分詞有了更深入的理解,同時由于中文的復雜性和習慣性,大家都覺得分詞任務對計算機而言是有一定困難的。部分同學對標注系統(tǒng)和分詞任務的實現(xiàn)產生了興趣,后續(xù)將加入實驗室并繼續(xù)深入研究。根據(jù)課堂效果和反饋情況來看,筆者認為,這種教學與科研相輔助的教學模式,既能提升學生的興趣,又能讓他們真正去重視這門課的學習,而不再是為修學分而學習。以后筆者會將這種模式加以擴大和推廣,讓學生在學好理論的同時,增強實際動手能力,養(yǎng)成學以致用的習慣,為未來工作打好基礎。