課程概要
1、什麼是自然語言處理
2、什麼是深度學習(DL)
3、課程簡介
4、爲什麼自然語言處理很難?
5、Deep NLP=Deep learning(深度學習)+NLP
一、什麼是自然語言處理
- 自然語言處理是計算機科學,人工智能與語言學的交叉領域。
- 目的:使得計算機能夠處理/理解自然語言,以完成任務,比如購物,問答(siri,cortana等)
- 充分理解並表徵語言的含義是一個非常困難的任務
- 自然語言處理層次
- 自然語言處理(NLP)的一些應用
– 拼寫檢查,關鍵詞搜索,尋找同義詞
– 從網站進行信息抽取,比如產品價格、日期、地點、人或者公司名字
– 分類:比如情感分類等
– 機器翻譯(Machine translation)
– 人機對話 - 在工業上,目前已經實現的自然語言處理(NLP)
– 搜索
– 在線廣告匹配
– 自動/輔助翻譯
– 市場或者金融的情感分析
– 語音識別
– 聊天機器人(Chatbots/Dialog agents):自動客戶輔助,控制設備,產品排序等等 - 人類的語言有什麼特點?
- 人類語言是能夠傳遞說話者/寫作者想要表達的含義的系統:它不僅僅是一個環境信號,也是一種慎重準確的交流;有趣的是這樣一種編碼,即使是很小的孩子也能馬上學習。
- 人類語言是分離的/象徵性的/分類象徵系統
- 我們用語言表示概念,比如rocket表示火箭,violin表示小提琴,並基於這些概念建立起我們的交流
- 語言的分類象徵性在交流中可以被編碼爲不同形式的信號(聲音,手勢,文字等),雖然形式不同,但是象徵是一致的。
- 大腦在進行編碼的時候是連續的模式,然後通過連續的聲音或者信號進行象徵的表現。這種詞彙巨大的象徵編碼會導致機器學習的一個問題:稀疏性(sparsity)
二、什麼是深度學習(DL)
- 深度學習是機器學習的一個子領域。
- 在深度學習出現之前,大部分的機器學習方法奏效的原因是人類設計的表徵和輸入的特徵,而機器學習主要的任務就是爲了獲得更好的預測而進行權重優化。
- 而深度學習則相反,它將會從原始輸入中嘗試學習多層的表徵與輸出。
- 研究深度學習的原因
- 人工特徵往往會有過度設定,不完整,需要花很長的時間設計和驗證,而深度學習的特徵很容易學習到。
- 深度學習提供了一個靈活的,幾乎是普遍性的,可以學習的框架來對世界、語言、圖像進行表徵。
- 深度學習可以進行無監督學習也可以進行有監督學習
- 從2010開始深度學習技術的表現開始遠遠超過於其他機器學習的技術,最早是在語音識別上將效果大大提升,接下來在計算機視覺領域有了大大的提升(ImageNet)。(大數據,算力提升以及新的模型算法以及想法)
三、課程簡介
- 前置需求
- 熟練使用python
- 多元微積分、線性代數
- 基礎概率和統計
- 機器學習基礎(損失函數,求導,梯度下降優化)
- 教學內容
- 理解並且能夠使用有效的深度學習模型(會涉及到所有的基礎模型,但是會對重要的有所側重)
- 理解人類語言以及理解和生產他們的困難
- 理解並且能夠建立系統來解決NLP的主要問題(單詞相似,語法分析,機器學習,實體識別,問答系統,句子理解)
四、爲什麼自然語言處理很難?
- 表徵、學習和使用語言知識、生活知識、情景知識以及圖像知識是很困難的。
- 人類的語言是很模糊的(不像程序語言)
- 人類語言的解釋依賴於現實世界、常識以及上下文知識
五、 Deep NLP=Deep learning(深度學習)+NLP
- 用表徵學習和深度學習的方法去解決NLP的問題
- 一些在NLP領域的重大提升
- 層次:語音,單詞,句法,語義
- 工具:詞性、實體、句法分析
- 應用:機器翻譯,情感分析,自動問答
- 將單詞含義表徵爲高維向量,將這些高維向量降維以後轉化爲2維進行可視化,可以看到相似的單詞距離會比較近。
從計算餘弦相似度,兩個向量之間相似度越高,代表的單詞越相似。
- NLP層次的表徵:語素,傳統認爲單詞是由語素組成的,在深度學習中每個語素就是一個向量,神經網絡會將兩個向量合併成爲一個向量
- NLP工具:句法分析,神經網絡可以確定句子的結構,以輔助解釋。
- NLP表徵:語義
- NLP應用:情感分析,傳統的方法是使用詞袋錶徵(忽視單詞順序)或者是人工設定否定特徵(並不能捕捉到全部);基本的深度學習模型RNN就可以解決這個問題。
- 對話機器人/回答生成:一個簡單的應用實例就是Google Inbox app。這是神經語言模型(Neural Language Model)的一個應用,是RNN(循環神經網絡)的一個實例。
- 機器翻譯:使用神經機器翻譯(Neural Machine Translation)將源語言投射成向量然後輸出生成的句子。
- 結論:所有層次進行向量表徵,在下一節課將會介紹怎樣進行單詞表徵。