斯坦福大学深度学习与自然语言处理第一讲:引言
斯坦福大學在三月份開設了一門“深度學習與自然語言處理”的課程:CS224d: Deep Learning for Natural Language Processing,授課老師是青年才俊?Richard Socher,他本人是德國人,大學期間涉足自然語言處理,在德國讀研時又專攻計算機視覺,之后在斯坦福大學攻讀博士學位,拜師NLP領域的巨牛?Chris Manning?和?Deep Learning?領域的巨牛Andrew Ng,其博士論文是《Recursive Deep Learning for Natural Language Processing and Computer Vision》,也算是多年求學生涯的完美一擊。畢業后以聯合創始人及CTO的身份創辦了MetaMind,作為AI領域的新星創業公司,MetaMind創辦之初就拿了800萬美元的風投,值得關注。
回到這們課程CS224d,其實可以翻譯為“面向自然語言處理的深度學習(Deep Learning for Natural Language Processing)”,這門課程是面向斯坦福學生的校內課程,不過課程的相關材料都放到了網上,包括課程視頻,課件,相關知識,預備知識,作業等等,相當齊備。課程大綱相當有章法和深度,從基礎講起,再講到深度學習在NLP領域的具體應用,包括命名實體識別,機器翻譯,句法分析器,情感分析等。Richard Socher此前在ACL 2012和NAACL 2013 做過一個Tutorial,Deep Learning for NLP (without Magic),感興趣的同學可以先參考一下:?Deep Learning for NLP (without Magic) – ACL 2012 Tutorial – 相關視頻及課件?。另外,由于這門課程的視頻放在Youtube上,@愛可可-愛生活?老師維護了一個網盤鏈接:http://pan.baidu.com/s/1pJyrXaF?,同步更新相關資料,可以關注。
第一講:引言-自然語言處理與深度學習簡介(Intro to NLP and Deep Learning)
推薦閱讀材料:
以下是第一講的相關筆記,主要參考自課程的slides,視頻和其他相關資料。
什么是自然語言處理(NLP)
- 自然語言處理是一門交叉學科,包括計算機科學,人工智能和語言學
- 目標:讓計算機去處理或“理解”自然語言, 完成一些有用的任務例如問答系統,機器翻譯
- 完全理解或者表示語言的意義(甚至去定義它)都是一個虛幻的目標
- 完美的理解語言是一個“AI-complete”的問題
自然語言處理的層次
自然語言處理的應用
- 應用范圍從簡單到復雜
- 拼寫檢查, 關鍵詞提取&搜索,同義詞查找&替換
- 從網頁中提取有用的信息例如產品價格,日期,地址,人名或公司名等
- 分類,例如對教科書的文本進行分級,對長文本進行正負情緒判斷
- 機器翻譯
- 口語對話系統
- 復雜的問答系統
工業屆里的NLP應用
- 搜索引擎
- 在線廣告
- 自動的或輔助的翻譯技術
- 市場營銷或者金融交易領域的情感分析
- 語音識別
NLP為什么這么難
- 語言在表達上就很復雜,使用的時候要綜合考慮使用情境
- Jane hit June and then she [fell/ran].
- 歧義問題:“I made her duck”
什么是深度學習(DL)
- 深度學習是機器學習的一個分支
- 大多數機器學習方法很有效主要依靠人工精心設計的特征,例如下表是一個命名實體識別任務中設計的特征模板(Finkel, 2010)
- 最終這些機器學習問題會變成優化問題:優化這些特征權重以達到最好的預測效果
機器學習 vs 深度學習
什么是深度學習(DL)續
- 表示學習 or 表達學習(Representation Learning)嘗試自動的學習合適的特征及其表征
- 深度學習(Deep Learning) 算法嘗試學習(多層次)的表征以及輸出
- 從一個“原生”的輸入x(例如“單詞”)
深度學習的歷史
- 這門課主要關注至今為止在解決NLP問題上有效果的深度學習技術
- 關于深度學習模型的相關歷史,推薦參考《Deep Learning in Neural Networks: An Overview》
探索深度學習的原因
- 人工設計的特征常常定義過多,不完整并且需要花費大量的時間去設計和驗證
- 自動學習的特征容易自適應,并且可以很快的學習
- 深度學習提供了一個彈性的,通用的學習框架用來表征自然的,視覺的和語言的信息。
- 深度學習可以用來學習非監督的(來自于生文本)和有監督的(帶有特別標記的文本,例如正向和負向標記)
- 在2006年深度學習技術開始在一些任務中表現出眾,為什么現在才熱起來?
- 深度學習技術受益于越來越多的數據
- 更快的機器與更多核CPU/GPU對深度學習的普及起了很大的促進作用
- 新的模型,算法和idea層出不窮
- 通過深度學習技術提升效果首先發生在語音識別和機器視覺領域,然后開始過渡到NLP領域
面向語音識別的深度學習
- “深度學習”在大數據集上的第一個突破性進展發生在語音識別領域
- Paper:Context-Dependent Pre-trained Deep Neural Networks for Large Vocabulary Speech Recognition?Dahl et al. (2010)
面向計算機視覺的深度學習
- 很多深度學習研究小組把大量的精力放在計算機視覺上(直到現在也是)
- 突破性的Paper:?ImageNet Classification with Deep Convolutional Neural Networks?by Krizhevsky et al. 2012
Deep Learning + NLP = Deep NLP
- 綜合使用一些深度學習的方法來解決NLP的相關問題
- 近幾年在NLP的一些應用領域效果有了較大的提升
- 層次:語音,詞形,句法,語義
- 應用:機器翻譯,情感分析,問答系統
音位學層次的表示
- 傳統的方法:音素
- 深度學習:通過聲音特征并將這些特征表示為向量直接來預測音素(或詞語)
形態學層次的表示
- 傳統的方法:語素,例如前綴,詞干,后綴等
- 深度學習:
- 每個語素都用向量表示
- 神經網絡用于向量的兩兩合并
- Thang et al. 2013
句法層次的表示
- 傳統的方法:將一個短語或句子劃分到多個句法標記,例如NP,VP等
- 深度學習
- 每個單詞或者短語都是一個向量
- 神經網絡用于向量的兩兩合并
- Socher et al. 2011
語義層次的表示
- 傳統的方法: Lambda算子 or?Lambda演算(Lambda calculus)
- 非常精細的函數設計
- 需要指定其他函數的輸入
- 沒有相似性的概念或者模糊語言
- 深度學習
- 每個單詞或者短語或者邏輯表達式都是一個向量
- 神經網絡用于向量的兩兩合并
- Bowman et al. 2014
NLP應用:情感分析
- 傳統的方法:精選的情感詞典+詞袋模型(忽略詞序)+人工設計的特征(很難覆蓋所有的信息)
- 深度學習:和上述詞素,句法和語義相似的深度學習模型–>RNN
- Demo:?http://nlp.stanford.edu/sentiment/
NLP應用:問答系統
- 傳統的方法:用了非常多的特征工程去獲取相關的知識,例如正則表達式,Berant et al. (2014)
- 深度學習:和上述詞素,句法,語義,情感分析相似的深度學習模型
- 知識可以儲備在向量中
NLP應用:機器翻譯
- 過去嘗試過很多層次的機器翻譯方法
- 傳統的機器翻譯系統是一個非常大的復雜系統
- 可以思考一下在深度學習中中間語(interlingua)對于翻譯系統是如何起作用的?
- 深度學習:
- 源句子首先映射為向量,然后在輸出的時候進行句子生成
- Sequence to Sequence Learning with Neural Networks by Sutskever?et al. 2014
- 方法很新但是可以替換傳統非常復雜的機器翻譯架構
- 源句子首先映射為向量,然后在輸出的時候進行句子生成
可以發現所有NLP層次的表示都涉及到向量(Vectors),?下一講將講到如何來學習詞向量以及這些向量表示了什么?
注:原創文章,轉載請注明出處“我愛自然語言處理”:http://www.52nlp.cn
本文鏈接地址:斯坦福大學深度學習與自然語言處理第一講:引言
總結
以上是生活随笔為你收集整理的斯坦福大学深度学习与自然语言处理第一讲:引言的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 自学计算机科学CS总结-by 要有光LT
- 下一篇: 斯坦福大学深度学习与自然语言处理第三讲: