- 深度學習進階:自然語言處理
- (日)齋藤康毅
- 1089字
- 2021-02-07 09:25:58
2.1 什么是自然語言處理
我們平常使用的語言,如日語或英語,稱為自然語言(natural language)。所謂自然語言處理(Natural Language Processing,NLP),顧名思義,就是處理自然語言的科學。簡單地說,它是一種能夠讓計算機理解人類語言的技術。換言之,自然語言處理的目標就是讓計算機理解人說的話,進而完成對我們有幫助的事情。
另外,說到計算機可以理解的語言,我們可能會想到編程語言或者標記語言等。這些語言的語法定義可以唯一性地解釋代碼含義,計算機也能根據確定的規則分析代碼。
眾所周知,編程語言是一種機械的、缺乏活力的語言。換句話說,它是一種“硬語言”。而英語或日語等自然語言是“軟語言”。這里的“軟”是指意思和形式會靈活變化,比如含義相同的文章可以有不同的表述,或者文章存在歧義,等等。另外,自然語言的“軟”還體現在,新的詞語或新的含義會隨著時代的發展不斷出現。
自然語言是活著的語言,具有“柔軟性”。因此,要讓“頭腦僵硬”的計算機去理解自然語言,使用常規方法是無法辦到的。但是,如果我們能辦到,就能讓計算機去完成一些對人們有用的事情。事實上,我們可以看到很多這樣的應用。搜索引擎和機器翻譯就是兩個比較好理解的例子,除此之外,還有問答系統、假名漢字轉化(IME)、自動文本摘要和情感分析等,在我們身邊已經使用了很多自然語言處理技術。
問答系統是自然語言處理技術的一個應用。作為代表,國際商業機器公司(IBM)的Watson系統非常有名。2011年,美國的一檔答題闖關節目《危險邊緣》 (Jeopardy!)讓Watson名聲大噪。在這個節目中,Watson的答題比任何人都準確,戰勝了往屆的冠軍(不過,給Watson的問題是用文本給出的)。這一“事件”引起了世人的廣泛關注,大概也是從這個時候開始,人們對人工智能的期待和不安都開始增加。此外,IBM將Watson稱為決策支援系統。最近,有媒體報道,Watson利用過往的大量醫療數據,針對疑難癥提供了正確的治療建議,挽救了患者生命。
單詞含義
我們的語言是由文字構成的,而語言的含義是由單詞構成的。換句話說,單詞是含義的最小單位。因此,為了讓計算機理解自然語言,讓它理解單詞含義可以說是最重要的事情了。
本章的主題是讓計算機理解單詞含義。確切地說,我們將探討一些巧妙地蘊含了單詞含義的表示方法。具體來說,本章和下一章將討論以下3種方法。
·基于同義詞詞典的方法 本章
·基于計數的方法 本章
·基于推理的方法(word2vec) 下一章
首先,我們將簡單介紹一下使用人工整理好的同義詞詞典的方法。然后,對利用統計信息表示單詞的方法(這里稱為“基于計數的方法”)進行說明。這些都是本章學習的內容。在下一章,我們將討論利用神經網絡的基于推理的方法(具體來說,就是word2vec方法)。本章的結構參考了斯坦福大學課程“CS224d: Deep Learning for Natural Language Processing”[10]。