用Python做深度學習的自然語言處理

自然語言處理 ( NLP ) 是人工智慧 ( AI ) 的關鍵技術之一。 本課程由 Udemy 很受好評的 Lazy Programmer Inc 提供,完整的引導和實現 word2vec、GLoVe、詞嵌入 ( word embeddings ) 和情緒 ( sentiment ) 分析與遞迴網 ( recursive nets )。

简体中文课程介绍

從這 12 小時的課程,你會學到

  • 了解並實現 word2vec
  • 了解 word2vec 中的 CBOW 方法
  • 了解 word2vec 中的 skip-gram 方法
  • 了解 word2vec 中的負採樣優化
  • 使用梯度下降和交替最小二乘法 (ALS,alternating least squares ) 來理解和實現 GLoVe
  • 使用遞迴神經網路( recurrent neural networks) 進行詞性標籤 (POS,part-of speech tagging)
  • 使用遞迴神經網路進行命名實體識別
  • 了解並實現情緒分析的遞迴神經網路
  • 理解和實現遞迴神經張量 (tensor) 網路進行情感分析

要求

  • 安裝 Numpy、Matplotlib、Sci-Kit Learn、Theano 和 TensorFlow(現在應該非常容易)
  • 了解反向傳播 ( backpropagation )和梯度下 (gradient descent),已有能力自製。
  • 在 Theano 中編寫一個遞迴神經網路
  • 在 Theano 中編寫一個前饋(以預期結果修改/控制程序)神經網路

說明

在本課程中,我們將介紹高級 NLP。

在先修課中,你已經了解了一些基礎知識,比如有多少 NLP 的常見問題其實是一般的機器學習和資料科學問題的偽裝,以及一些簡單實用的方法,如詞袋模型 ( bag-of-words ) 和 字詞—文件矩陣 ( term-document matrices)。

這些允許我們做一些非常酷的事情,例如檢測垃圾郵件、寫詩、織出文章,並將類似的詞組合在一起。

在這個課程中,我將向你展示如何做更多很棒的事情。我們在這門課將不僅學習 1 種,而將學習 4 種架構。

首先是 word2vec。

在本課程中,我將向你展示 word2vec 的運作原理,從理論到實現,你將發現它不只是一個你所知的技能的應用。

Word2vec 很有趣,因為它將文字魔術般地映射到可以找到類比的向量空間,如:

  • king – man = queen – woman
  • France – Paris = England – London
  • December – Novemeber = July – June

我們還要看 GLOVe 方法,它也會找到字向量 ( word vectors ),但是使用一種稱為矩陣因子 ( matrix factorization) 分解的技術,這是一種推薦系統的流行的演算法.

令人驚奇的是,由 GLoVe 生成的字向量 ( word vectors ) 和 word2vec 所產生的一樣好且非常容易訓練。

我們還將看一些經典的 NLP 問題,如詞性標籤 ( POS,part-of speech tagging ) 和命名實體識別,並使用遞迴神經網路來解決這些問題。你將看到使用神經網路可以解決任何問題,但你也將了解複雜性過大的危險。

最後,你將了解遞迴神經網路,最終幫助我們解決情緒分析中的否定問題。遞迴神經網路利用句子具有樹狀結構的事實,我們終於不再天真地使用詞袋模型 ( bag-of-words )。

  • 本課程所需的所有材料均可免費下載並安裝。我們將在 Numpy、Matplotlib 和 Theano 做大部分工作。我將一路陪伴你,回答你的問題,並在你資料科學的旅程提供幫助。
  • 本課程重點介紹 “如何建立和理解”,而不僅僅是 “如何使用”。任何人都可以在閱讀一些文件後的15分鐘內學會使用API 。 此非關 “記住事實”,而是要通過實驗來“親自了解”。它會教你如何在模型內部做視覺化。如果你想要的不只是一個膚淺的機器學習模型,這個課程是為你設計。

注意 :

  • 本課程的所有程式碼都可從我的github下載:
  • github: /lazyprogrammer/machine_learning_examples
  • 在此路徑 : nlp_class2
  • 確保你總是 “git pull” ,如此你有最新的版本!

提示(如何於課程中最大獲益):

  • 以 2x 速度瀏覽
  • 用手寫筆記。這將大大增進你記住資訊的能力。
  • 寫下方程式。如果你不這樣做,我保證只會覺得亂七八糟。
  • 在討論板上提出很多問題。越多越好!
  • 意識到大多數練習將需要幾天或幾週的時間才能完成。
  • 自己編寫程式碼,不要只是坐在那裡看看我寫程式。

有用的修課順序:

必備的先修硬知識:

  • 微積分 ( calculus )
  • 線性代數 ( linear algebra )
  • 機率  ( probability  : conditional 和 joint distributions)
  • Python 程式設計 :  if/else, loops, lists, dicts, sets
  • Numpy 程式設計:  矩陣 (matrix) 和 向量 (vector) 運算, 載入 CSV 檔案
  • 神經網路和反向傳播 ( backpropagation )
  • 能在 Theano 與 TensorFlow 寫前饋神經網路 
  • 能在 Theano 與 TensorFlow 寫遞迴神經網路 / LSTM / GRU 

目標受眾是?

  • 想要為各種 NLP 任務創建文字轉成向量表示的學生和專業人士
  • 對最先進的神經網路架構感興趣的學生和專業人士,如遞迴神經網路
  • 不應該參與者:任何不滿足先決條件者。

講師簡介

Lazy Programmer Inc  資料科學家和大數據工程師

我是一名資料科學家、大數據工程師和全端軟體工程師。

我擁有計算機工程碩士學位,專門從事機器學習和模式 ( pattern ) 識別。

我曾在網路廣告和數位媒體擔任過資料科學家和大數據工程師,圍繞所述的資料構建各種高流量的 web 服務。我曾經使用 Hadoop / Pig / MapReduce 建立了新的大數據管道,也曾建立了機器學習模型來預測點擊率,使用線性迴歸、Bayesian Bandits 和協作篩選建立新聞推薦系統,並使用A / B測試驗證結果。

我在大學與研究所如哥倫比亞大學、紐約大學、Humber College 和 The New School 教過 資料科學、統計學、機器學習、演算法、微積分、電腦圖學和物理學。

多家企業已經從我的 Web 程式設計專業知識中受益。我做所有的後端(伺服器)、前端(HTML / JS / CSS)和操作/佈署工作。我使用的一些技術是:Python、Ruby / Rails、PHP、Bootstrap、jQuery(Javascript)、Backbone 和  Angular。至於儲存/資料庫,我使用MySQL、Postgres、Redis、MongoDB 等。

英文字幕:有

  • 想要了解如何將英文字幕自動翻譯成中文? 請參考這篇 How-To

課程網址 | ♥找優惠折扣碼?| 課程討論專區

Sponsored by Udemy

你可能會有興趣

 歡迎使用 e-mail 訂閱 Soft & Share 

發表迴響

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料

Powered by WordPress.com.

Up ↑

%d 位部落客按了讚: