CS224n學習筆記1——深度自然語言處理
一、什麼是自然語言處理呢?
自然語言處理是電腦科學家提出的名字,本質上與計算機語言學是同義的,它跨越了計算機學、語言學以及人工智慧學科。
自然語言處理是人工智慧的一個分支,在計算機研究領域中,也有其他的分支,例如計算機視覺、機器人技術、知識表達和推理等。
目標:讓計算機能夠理解人類語言來完成有意義的任務,例買東西或者是更高階的目標等。
下圖是人對語言層次的傳統描述:
從輸入開始,而輸入部分通常是語音輸入,接著大腦就會進行語音和音義分析。也有部分是文字輸入,而文字輸入基本上和語言學沒多大關係,OCR對文字進行文字識別操作。
自然語言處理應用的領域:
1.拼寫檢查或者是手機上的自動填寫功能屬於初級的語義理解任務
2.線上搜尋時,聯想到的同義詞,例如搜尋某家公司名字就會出現一大堆的推薦,也是屬於語言處理方面。
3.讓計算機能夠閱讀文字,提取資訊,從而充分理解文字,或者也可以處理更高難度的任務,例如判定文件的閱讀難度或者是目標受眾群體等。
4.機器翻譯
5.構建口語對話系統
二、什麼是深度學習?
深度學習是機器學習的一個分支,總的來說,就是讓計算機自動學習,而不是人工教授,手工程式碼告訴它想要做什麼,類似於傳統的程式設計。
深度學習不同於以往年代的機器學習,例如80年代、90年代或者是00年代的機器學習。
核心區別:
本質區別:由人類來審視一個特定的問題,找出解決該類問題的關鍵要素,然後涉及出與該問題相關的重要特徵要素。通常使用python程式碼來識別這些特徵。
例如下圖,顯示了一些實體識別系統的特徵:、
機器學習和深度學習的區別?
上圖中可以發現,機器學習在實際應用中,大約90%的工作是人類研究如何描述資料,總結出重要特徵,只有約10%的工作是大腦執行這一個數值優化演算法。
深度學習是表徵學習的一個分支, 表徵學習的理念就是隻向電腦提供來自外界的原始訊號,無論是視覺還是語言訊號,然後電腦自動得出好的中間表徵,來很好地去完成任務。從某種意義上來說,就是自己定義特徵,和以往人類定義特徵類似的方式。
深度學習的真正含義是:得到了多層的習得表徵,可以打敗其他的學習方法。
深度學習主要的兩個突破:自然語言處理和計算機視覺。
三、Deep NLP=Deep Learning + NLP
一方面深度學習應用到各種不同層次的語言學上,例如詞彙學、句法學、語義學。應用於各種不同型別的工具和演算法的自然語言處理,例如為單詞標註詞性、識別人物姓名和結構名字、找出句子的句法結構。此外還被應用在其他的語言應用程式,結合各部分功能,例如機器翻譯、情感分析的聊天助手等。
深度學習模式運用同樣一套工具和技術,非常統一的方法來處理各個領域的問題。
參考資源:斯坦福大學 自然語言處理課程