專欄| 中文NLP難於英文?從語言學角度看中文NLP、NLU難在哪裡

2021-01-11 機器之心Pro

作者:竹間智能自然語言與深度學習小組

長期以來,中文自然語言處理(NLP)的研究遭遇瓶頸,其中一個重要原因就是中文的語言學基本無法遷移到已有的成熟的深度學習模型中,這也是中文 NLP 難於英文的重要原因之一。而竹間智能在自然語言處理的研究中,結合深度學習、語言學和心理學等,通過 NLU 來彌補傳統中文 NLP 在語言理解上的不足,取得了不錯的成果。在此和大家分享一些竹間智能在中文自然語言交互研究中的經驗和思考。

本文結合語言學和 NLP 的幾個基本任務,從理論上對中文 NLP 的特點進行說明,同時展望 NLU 在中文自然語言交互上的一些方向。

1.中文分詞

詞是最小的能夠獨立運用的語言單位。「詞」這個概念,是從西方引入的,在 1898 年《馬氏文通》出版之前,傳統的語言學研究對象是「字」,而不是「詞」。漢語和英語最直觀、最明顯的不同,就是英語的詞是天然的,由空格分開,而漢語的字緊密排列,從形式上看,其實沒有「詞」這個單位。

現代漢語的典型特徵之一是雙音節詞佔優勢。古漢語常常是一字即一詞,而現代漢語都把它們雙音節化了,比如「目-->眼睛」「悅-->高興、喜歡」。如果單單把「睛」、「興」等字拿出來,它們承載的意義與原詞是有差異的。加之考慮到實際應用的需求,以詞為索引可以減小搜索空間、加快搜索速度、提高準確率,所以做分詞是有必要的。

由於漢語的特殊性,在分詞任務中,會碰到兩種歧義現象:交叉歧義 (Cross Ambiguity) 和組合歧義 (Combination Ambiguity)。

(1) 老闆有意見他。

(2) 老闆對他有意見。

和 (2) 的正確切分是:

(1) 老闆/有意/見/他/。

(2) 老闆/對/他/有/意見/。

這種屬於交叉歧義。abc 三個成分,ab 可以分成一個詞,bc 也可以分成一個詞。

(3) 其他語言學起來很難。

(4) 語言學是以人類語言為研究對象的學科。

和 (4) 的正確切分是:

(3) 其他/語言/學/起來/很/難/。

(4) 語言學/是/以/人類/語言/為/研究/對象/的/學科/。

這種就是組合歧義。ab 兩個成分,組合在一起的時候是一個詞,分開以後可以各自成詞。

解決分詞歧義的技術方法主要有三大類,分別是基於規則的方法,基於統計的方法(例如 CRF、HMM、Deep Learning 等),以及規則和統計結合。網上,也能查到一些相關的分詞器實現。

在技術需求方面,有的需要細粒度的分詞,有的需要粗粒度的,這都是實際應用會面對的矛盾。這也是由於漢語本身語素、詞和短語的界限不明造成的。

臣妾做不到啊。

(5) 中的「做不到」,屬於動補結構 (動詞+補語),從語言學的角度看,是個短語。實際應用時,可以分成「做/不/到」,也可以「做不到」合在一起,看成一個詞。

中文分詞也是英文和中文 NLP 的一個基本不同,英文不需要分詞,而中文需要進行分詞,以便能夠更好地進行後續 NLP 任務。當然,目前也有一些中文 NLP 技術,可以避開中文分詞任務。

2. 詞性標註 (Part-of-speech Tagging, POS)

漢語詞性的獨特之處在於,漢語作為孤立語/分析語,沒有明顯的形態變化,與英語等屈折語不同。比如:

(6) 我感覺他喜歡我。(動詞)

(7) 我的感覺很準。(名詞)

如果用英語說這兩句話,應該是:

(8)I feel he loves me. (動詞)

(9)My feeling is reliable.(名詞)

同樣一個「感覺」,其實是同形異義詞。我們必須準確識別兩種詞性。

上面說的這種情況名詞和動詞的區別是比較明顯的。但漢語的複雜之處還不止這個。比如:

(10) 他喜歡你。(動詞)

(11) 我很珍惜她的喜歡。(動詞用作名詞)

「喜歡」從絕大多數情況來看,都被人們看成一個動詞,但例 (11) 就把動詞當作名詞用了,而且沒有詞形變化。這種情況在漢語裡大量存在,這也就是沈家煊先生提出的漢語「名動包含」的觀點。

漢語的這一特點會造成句子裡的核心謂語動詞難以識別的問題。還是拿例 (11) 來說,句子裡有兩個動詞「珍惜」和「喜歡」,但核心謂語動詞是「珍惜」。「喜歡」最好不要被判斷為動詞,否則會影響後續的句法、語義分析。

中科院計算所漢語詞性標記集提供了 vn、an 等詞性標籤,v 代表動詞,a 代表形容詞,後面加上 n,其實有一種「動名詞」「形名詞」的意思,也是對英語的一種借鑑。vn 等標籤可以幫我們解決掉一些非謂動詞幹擾的問題,但不能解決全部。

在實際應用中,我們以「依句辨品,離句無品」的原則去做詞性標註,關注詞在句子裡的位置和作用,雖然這未必是黎錦熙先生說這句話時的本意。

3. 句法分析

目前在做的句法分析包括句法樹 (Parse Tree) 和依存句法分析 (Dependency Parsing, DP),談到這兩點不得不放出下面這兩張圖:

圖 (1)

圖 (2)

不同的詞類在句子中行使的功能是不一樣的。圖 (1) 基本可以代表英語詞類的功能,這張圖比較符合我們的一般認識,即名詞作主語賓語,動詞作謂語,形容詞作定語,副詞作狀語。

但是漢語的情況,如圖 (2),要複雜得多。名詞也可以作謂語,動詞也可以作主賓語。比如:

我永遠十八歲。

例 (12) 就是一個典型的名詞性短語作謂語的例子,這個句子不需要動詞也成立。「我」是代詞,「永遠」是副詞,「十八歲」是數量短語。

句法樹分析結果如下:

圖 (3)

圖 (3) 借用 CTB(美國賓州大學的漢語樹庫)的標註體系,NP 代表名詞性短語,VP 代表動詞性短語,雖然這句話中沒有動詞,但仍需要 VP 作為謂語的框架。

依存句法分析結果如下:

圖 (4)

圖 (4) 借用 LTP(哈工大社會計算與信息檢索研究中心研發的「語言技術平臺」)的標註體系,SBV 代表主語,root 是「歲」,即使沒有動詞,也能正確分析句子結構。

漢語還有一些特殊句型,比如主謂謂語句、存現句、連謂句、兼語句等,在句法分析層面上都有自己獨特的結構,也是需要特殊處理的。

4. 其他方面

漢語還有一個特點是重意合而不重形式,句子結構比較鬆散,多分句;英語則多從句,多引導詞,句子結構比較容易判斷。如果要判斷句子裡的因果關係、讓步關係、目的關係、假設關係等,目前來說還比較難。況且我們說話的時候,常常會省略「因為」「即使」「如果」等明顯的關聯詞,這也樣也就使得特徵變得不明顯。比如:

(13) 人勤地不懶。

(14) 如果人勤地就不懶。

例 (13) 和 (14) 表達了一樣的意思,但它們的表現形式是不一樣的。

漢語結構鬆散還表現為:

(15) 一斤蘋果多少錢?

(16) 蘋果一斤多少錢?

(17) 多少錢一斤蘋果?

例 (15)(16)(17) 都說得通,而且還很常用。

在語義分析層面,如語義角色標註 (Semantic Role Labeling, SRL) 和語義依存分析 (Semantic Dependency Parsing, SDP),漢語這個特點著實加大了實現的難度。

5. 從 NLP 到 NLU,從處理到理解

再來談談 NLU,傳統的 NLP 基本上都是在做「處理」的工作,是把人類的語言掰開揉碎,而 NLU 則解決更深層的「理解」問題,即如何消化 NLP 已經處理好的東西,真正讓機器明白人類語言的語義(semantic)。NLU 的出現也對中文 NLP 起到了重要的補足作用。

NLP 和傳統語言學已經可以幫助人工智慧解決一部分初級問題,但卻還遠遠不能 cover 千變萬化的語言形式,比如機器可以理解「我心情不好」,卻難以理解「我的心淅淅瀝瀝下著小雨」這樣的轉喻;機器可以理解「我要吃飯」,卻難以體會同樣是吃飯,「上飯店」和「下館子」,這一「上」一「下」間表達的心理上的微妙差異。

人機自然語言交互涉及到語法、語義、語用三個層面,越往後越難。為了推動人機自然語言交互的發展,需要在 NLP 的基礎上,引入 NLU、認知語言學、心理語言學、社會語言學等學科的綜合參與。甚至如竹間智能正在探索的,為了理解「寒暄」、「安撫」甚至是「諷刺」、「幽默」這樣的言語修辭行為,需要在深度學習方法中結合對心理學的研究,在語義理解的基礎上增加意圖識別和情感判斷,以彌補傳統中文 NLP 在語言理解上的不足,讓機器真正讀懂人類語言的複雜語義,以及背後的意圖和情感。在此基礎上給予對話者擬人的反饋,從而達到更好的人機自然語言交互效果。

同樣,人工智慧也必將改變語言學研究的發展方向。傳統的重理論分析而輕實例,坐著想句子的研究方法將逐漸退出舞臺;真實語料、口語和書面語並重,側重對語言形態進行統計分析的研究將大量湧現。另外,傳統語言學將進一步向計算語言學靠攏,未來將會有新的、更容易被計算機接受的語法提出。

竹間智能往期專欄文章

專欄 | 自然語言處理在2017年有哪些值得期待的發展?

相關焦點

  • 國內自然語言處理(NLP)研究組
    中國大陸地區:微軟亞研自然語言計算組 Natural Language Computing (NLC) Grouphttps://www.microsoft.com/en-us/research/group/natural-language-computing/www.microsoft.com百度自然語言處理百度自然語言處理 - 理解語言,擁有智能,改變世界nlp.baidu.com
  • 中文NLP福利!大規模中文自然語言處理語料
    新智元推薦來源:AINLP作者:徐亮【新智元導讀】本文介紹一個中文自然語言處理語料庫項目:nlp_chinese_corpus ,初步貢獻了幾個已經預處理好的中文語料,包括維基、新聞和百科語料,可直接下載使用。
  • 斯坦福發布重磅NLP工具包StanfordNLP,支持中文等53種語言
    新智元報導 來源:stanfordnlp.github.io編輯:肖琴【新智元導讀】斯坦福團隊最新發布一個NLP任務的軟體包StanfordNLP,通過Python接口為53種語言提供標記、依存句法分析等NLP任務的重要工具
  • NLP 與 NLU:從語言理解到語言處理
    NLU: from Understanding a Language to Its Processing作者 | Sciforce翻譯 | 蘿蔔菜在種樹     編輯 | 王立魚原文連結:https://medium.com/sciforce/nlp-vs-nlu-from-understanding-a-language-to-its-processing
  • 資源| 史丹福大學NLP組開放神經機器翻譯代碼庫(附論文)
    Manning(史丹福大學計算機科學和語言學教授)Minh-Thang Luong(斯坦福博士,Google Brain 研究科學家)Abigail See(史丹福大學計算機科學在讀博士)Hieu Pham代碼庫對於混合 NMT(hybrid NMT),請使用這個代碼庫並且引用:代碼庫:https://github.com/lmthang/nmt.hybrid
  • NLP 新手必看!這是一份覆蓋全面的基於 PyTorch 和 keras 的 NLP...
    項目的 GitHub 地址為:https://github.com/lyeoni/nlp-tutorial。這是一個教你逐步實現和適應簡單的實詞 NLP 任務的教程:項目裡面有 4 個資源:神經機器翻譯、問答匹配、新聞分類和電影分級。這些資源都提供了源碼,對初學者來說,極為友好。初學者可以學會建立自己的模型。
  • 深度學習在NLP中的運用?從分詞、詞性到機器翻譯、對話系統
    (框架流程見圖 1,具體見 https://arxiv.org/abs/1706.00286)圖 1:利用 RNN 解決 Word2Vec 中 out of vocabulary 問題實例中文不同於英文自然分詞,中文分詞是文本處理的一個基礎步驟,也是自然語言處理的基礎模塊。
  • 【超全資源】自然語言處理(NLP)入門學習資源清單(部分資料下載)
    Martin)[經典的NLP教科書,涵蓋了所有NLP的基礎知識,第3版即將出版]https://web.stanford.edu/~jurafsky/slp3/ • 統計自然語言處理的基礎(Chris Manning和HinrichSchütze)[更高級的統計NLP方法]https://nlp.stanford.edu/fsnlp/
  • 重磅發布 | 牛津大學Deep NLP深度自然語言處理課程17年最新(漢化視頻)
    所以大家可以看到中文字幕了!開不開心!激不激動!馬上試看課程第一講視頻▼ 點擊閱讀原文,即可免廣告直接觀看第一講完整視頻(帶有中文字幕)!學習這門課程需要具備概率論,線性代數,微積分的基礎知識,具有機器學習基礎和良好的編程基礎,不需要具備語言學知識。
  • 中文和英文的文化差異
    一講到中文,在我們眼裡那是母親的象徵,無論走到哪裡,一聽到中國話就覺得格外的親切,但是在外國人眼裡,我們的中文卻讓他們望而止步。問什麼呢?中文實在是太難了!我們中國人現在也不乏學習英語的人才,甚至學習英語的人要遠遠多於研究漢語的人呢?所以我們不難猜出我們中國的語言多麼的精深。但是同樣都是語言怎麼還分難易呢?接下來小編帶大家看看中文和英文到底有怎樣的不同。
  • nlp領域發生了新的技術突破,用attention機制研究nlp領域
    近期,nlp領域發生了一系列的技術突破。包括:attention機制,cnn,adaptive attention network(an),兩層cnn相比較,an表現優於一層的cn。今天我們將從這兩種attention機制開始研究nlp領域突破性技術!
  • 中文究竟有多難學?美國教授:看我們的漢語試卷,中國人會做嗎?
    不可否認,一直到今天,漢語仍然是這個世界上最難學的語言之一。每年無數老外為此抓破了頭,但卻依舊只得皮毛,不得精髓。其實,現代漢語和古代漢語完全是兩碼事。我國漢語的發展一共分為四個階段,第一個階段叫上古漢語,乃是漢語之祖,誕生於夏商周時期,最終到晉朝完成轉型。中古漢語則是從南北朝開始,一直到宋朝結束。
  • 基於Bert和通用句子編碼的Spark-NLP文本分類
    文本分類問題中使用了幾個基準數據集,可以在nlpprogress.com上跟蹤最新的基準。以下是關於這些數據集的基本統計數據。簡單的文本分類應用程式通常遵循以下步驟:文本預處理和清理特徵工程(手動從文本創建特徵)特徵向量化(TfIDF、頻數、編碼)或嵌入(word2vec、doc2vec、Bert、Elmo、句子嵌入等)用ML和DL算法訓練模型。
  • 何偉回憶學中文:身份語言學——涪陵中文與後革命阿拉伯文
    2019年秋季起任教於四川大學匹茲堡學院,任助理教授,開設英文寫作與人文社科類課程。本文節選自由周質平教授主編的《洋人漢話:中文改變的十七段西方人生》。在書中作者們講述了通過中文與中國相遇的故事,在不同向度親歷中國數十年來的劇烈變化,為時代和歷史留下了不可替代的獨家記錄。
  • 人工智慧培訓系列:R語言NLP的中文單詞特徵處理 1
    不過對於中文名義特徵的處理相對比較少。對於中文處理,可以看成有兩方面內容,一個是中文分詞,另外一個就是把一個文檔中的中文詞語做為一個個的特徵轉換為稀舒矩陣處理。文檔轉換為多個特徵對應的稀舒矩陣處理請參考R語言NLP的中文單詞特徵處理 2第一個中文分詞:中文分詞與英文單詞用空格不太一樣。
  • PTMs|2020最新NLP預訓練模型綜述
    但是相反,nlp領域的優勢在於,存在大量的無監督數據集,如果能夠充分利用這類數據進行訓練,那麼勢必能夠提升模型的能力以及在下遊任務中的表現。nlp中的預訓練模型就是這樣一類能夠在大規模語料上進行無監督訓練,學習得到通用的語言表徵,有助於解決下遊任務的nlp模型。「那麼什麼是好的語言表徵呢」?
  • 中文為何比英文美麗?美在哪裡?雅在哪裡?動聽在哪裡?
    如果對中文和英文都深入研究,你會發現中文遠比英文更美!如果說中文是精心錘鍊的高級文字,那英文就顯得粗糙簡陋:幾千年的錘鍊讓中文詞彙典雅、凝練、雋永、回味悠長、意境深遠,而英文詞彙則簡單、直白,內外通透,缺乏意境;如果說中文是美妝盛宴,那英文就是素麵朝天;中文是身穿華麗晚禮服、風情萬種的貴婦,那英文就是T恤、牛仔褲的鄰家女孩。
  • 專欄| NLP概述和文本自動分類算法詳解
    原標題:專欄 | NLP概述和文本自動分類算法詳解 機器之心專欄 作者:達觀數據 為了實現這些頂層應用,達觀數據掌握從詞語短串分析個層面的分析技術,開發了包括中文分詞、專名識別、語義分析和詞串分析等模塊。
  • 香港中文大學語言學碩士錄取一枚不被待見?且看就業-美英港新
    不少小夥伴認為學語言學沒啥用,尤其是申請香港中文大學語言學碩士,難道香港中文大學語言學碩士這麼不被待見?其實不是的!本文將為大家介紹該專業的就業前景以及香港中文大學語言學碩士錄取一枚真實案例!公務員社會研究員圖書館員文案編輯編輯助理除了以上內容,以下就是香港中文大學語言學碩士錄取一枚真實案例