1. 程式人生 > >深度學習與自然語言處理(7)_斯坦福cs224d 語言模型,RNN,LSTM與GRU

深度學習與自然語言處理(7)_斯坦福cs224d 語言模型,RNN,LSTM與GRU

說明:本文為斯坦福大學CS224d課程的中文版內容筆記,已得到斯坦福大學課程@Richard Socher教授的授權翻譯與發表

1.語言模型

語言模型用於對特定序列的一系列詞彙的出現概率進行計算。一個長度為m的詞彙序列{w1,,wm}的聯合概率被表示為P(w1,,wm)。由於在得到具體的詞彙之前我們會先知道詞彙的數量,詞彙wi的屬性變化會根據其在輸入文件中的位置而定,而聯合概率P(w1,,wm)的計算通常只考慮包含n個字首詞的詞視窗而非考慮全部的字首詞:

P(w1,,wm)=i=1i=mP(wi|w1,,wi1)i=1i=mP(wi|wi(n1),,wi1)(1)

公式1在語音識別和機器翻譯系統中對判定一組詞序列是否為相應輸入序列的正確生成結果有著極為重要的作用。在一個給定的機器翻譯系統中,針對各個短語或句子的翻譯任務,軟體通常被要求生成一組替代詞序列(例如:“我已經”;“我曾有”;“我有”;“被我已經”;“被我佔有”)以及它們的得分以判定它們是否能組成最優的翻譯序列。

在機器翻譯任務中,模型通過計量和比較各個替換輸出詞序列之間的得分優劣,從它們中為輸入短語尋找最佳的答案詞序列。為了完成這項工作,模型需要經常在詞排序和詞選擇兩個任務模型之間切換。而上面提到的目標將通過為所有的候選詞序列設定概率計算函式而達成,這個函式將比較這些候選詞序列各自的得分。獲得最高得分的候選詞序列就是機器翻譯任務的輸出。例如:相比例句“小的這隻貓真是”

,機器會給例句“這隻貓真小”更高的評分,相比“放學後步行去房子”“放學後步行回家”會得到更高的得分。為了計算這些概率,將比較統計n元語言模型和詞頻模型的效果。比如,如果選擇2元語言模型,語義2元組的詞頻通過統計當前詞和其前面一個詞,這就需要與1元語法模型的詞頻計算方法區分開來。公式2和3分別展示了2元語義模型和3元語義模型在處理這種關係時的做法。

p(w2|w1)=count(w1,w2)count(w1)(2)
p(w3|w1,w2)=count(w1,w2,w3)count(w1,w2)(3)

公式3中表現出來的關係集中於基於上下文中固定視窗內容(例如:n個字首詞範圍)對後續詞的預測。在某些情況下,僅僅抽取n

個字首詞作為視窗範圍可能不足以很好地捕捉上下文資訊。例如,當一篇文章在後段著重描寫西班牙與法國的歷史,而在前文中,當你讀到“這兩個國家走向了戰爭”這句話時,僅有此句的前文顯然不能夠讓我們識別出這兩個國家的命名實體。Bengio等人提出了第一個大規模的深度學習自然語言處理框架,此框架能夠通過學習得到詞彙的分佈化表徵捕捉上面提到的這種上下文關係;圖1展示了這種神經網路的框架。在這個模型中,輸入詞向量在隱層和輸出層均得到使用。公式4展示了引入標準tanh()函式的softmax()分類函式中的各個引數,這個函式起到線性分類器的作用,W(3)x+b(3),這一組短式代表全體字首詞的輸入詞向量。

y^=softmax(W(2)tanh(W(1)x+b(1))+W(3)x+b(3))(4)
然而,在所有傳統的語言模型中,由於包含n長視窗的語言記憶資訊規模會隨著系統的執行呈指數式的增長,所以面對較大型的詞視窗,如果不將記憶資訊單獨抽離處理,上面的任務幾乎是不可能完成的。


圖1

2.遞迴神經網路(RNN)

不同於傳統的機器翻譯模型僅僅考慮有限的字首詞彙資訊作為語義模型的條件項,遞迴神經網路(RNN)有能力將語料集中的全部前序詞彙納入模型的考慮範圍。
圖2展示了RNN模型的架構,其中各個垂直矩形框代表每輪迭代的隱層,t.每個這樣的隱層都擁有若干神經元,每個神經元都對輸入向量執行線性矩陣操作而通過非線性操作輸出結果(例如,tanh()函式)。在每一輪迭代中,前一步迭代的輸出隨著文件中下一條詞彙的詞向量而變化,xt,是隱層的輸入且隱層將產生預測輸出值y^和提供給下一層隱層的輸出特徵向量ht(見公式5和公式6)。單獨每個神經元的輸入和輸出情況如圖3所示。



圖2
ht=σ(W(hh)ht1+W(hx)x[t])(5)

相關推薦

深度學習自然語言處理(7)_斯坦福cs224d 語言模型RNNLSTMGRU

說明:本文為斯坦福大學CS224d課程的中文版內容筆記,已得到斯坦福大學課程@Richard Socher教授的授權翻譯與發表 1.語言模型 語言模型用於對特定序列的一系列詞彙的出現概率進行計算。一個長度為m的詞彙序列{w1,…,wm}的聯合概率被表示為

深度學習自然語言處理(8)_斯坦福cs224d RNNMV-RNNRNTN

這篇課堂筆記將介紹不同型別的RNN(遞迴神經網路),並介紹它在NLP領域的應用和優勢。 1、遞迴神經網路 在這篇課筆記中,我們會一起學習一種新的模型,這種模型絕對是以前介紹的那種遞迴神經網路的加強版!遞迴神經網路(RNNs)十分適用於有層次的、本身就有遞

深度學習自然語言處理(3)_斯坦福cs224d Lecture 3

原文作者:Rohit Mundra, Richard Socher 原文翻譯:@熊傑([email protected]) && @王昱森([email protected]) && @範築軍老師( [

深度學習解決自然語言處理中的7大問題文字分類、語言建模、機器翻譯

摘要: 本文講的是用深度學習解決自然語言處理中的7大問題,文字分類、語言建模、機器翻譯等,自然語言處理領域正在從統計學方法轉向神經網路方法。在自然語言中,仍然存在許多具有挑戰性的問題。但是,深度學習方法在某些特定的語言問題上取得了state-of-the-art的結果。 本文講的是用深度學習解決自

斯坦福大學-自然語言處理深度學習(CS224n)筆記 第十課 神經機器翻譯(neural machine translation)attention模型

本課概要 1、機器翻譯(MT) 2、帶attention的序列模型 3、序列模型解碼器(decoder) 一、機器翻譯(MT) 機器翻譯是一個十分經典的語言理解的測試,涉及語言分析(language analysis)與語言生成(language generat

車萬翔《基於深度學習自然語言處理》中英文PDF+塗銘《Python自然語言處理實戰核心技術算法》PDF及代碼

提取 實用 進行 分析 表達式 詞法 快速入門 重點 tps 自然語言處理是人工智能領域的一個重要的研究方向,是計算機科學與語言學的交叉學科。隨著互聯網的快速發展,網絡文本尤其是用戶生成的文本呈爆炸性增長,為自然語言處理帶來了巨大的應用需求。但是由於自然語言具有歧義性、動態

如何用深度學習自然語言處理?這裡有份最佳實踐清單

對於如何使用深度學習進行自然語言處理,本文作者 Sebastian Ruder 給出了一份詳細的最佳實踐清單,不僅包括與大多數 NLP 任務相關的最佳實踐,還有最常見任務的最佳實踐,尤其是分類、序列標註、自然語言生成和神經機器翻譯。作者對最佳實踐的選擇很嚴格,只有被證明在至少兩個獨立的群體中有益的實踐才

斯坦福cs224d深度學習自然語言處理上的應用)Lecture 2 note2

說明:本文為斯坦福大學CS224d課程的中文版內容筆記,已得到斯坦福大學課程@Richard Socher教授的授權翻譯與發表 課堂筆記:第2部分 ——————————————————————————————————– 關鍵詞:內部任務評價(Intrinsic Evaluation)和 外部任務

深度學習自然語言處理的應用和脈絡1-基礎

本文是聽煉數成金的黃老師機器讀心術之深度學習大戰自然語言處理的課程總結的筆記和讀後感。 NLP技術發展階段 以語言學為主要基礎的時代(過去):建立基本語言覎則使用數理邏輯迚行推理,建立模型產生戒理解語言以統計斱法為主流的時代(現在):當資料量積累到海量,本身就能析取

深度學習自然語言處理中的應用(一)

資料整理篇 經典教材 Speech and Language Processing (第1,2版內容略陳舊,第三版很入時, 但有些重要章節沒放在網上) https://web.stanford.edu

深度學習自然語言處理中的attention和memory機制

Attention機制是最近深度學習的一個趨勢。在一次採訪中,OpenAI的研究總監Ilya Sutskever說attention機制是最令人興奮的進步之一,而且已經廣為使用。聽起來激動人心吧。但attention機制究竟是什麼呢?神經網路裡的attentio

深度學習自然語言處理中的應用綜述

由於人工神經網路可以對非線性過程進行建模,因此已經成為解決諸如分類,聚類,迴歸,模式識別,維度簡化,結構化預測,機器翻譯,異常檢測,決策視覺化,計算機視覺和其他許多問題的利器。這種廣泛的能力使得人工神經網路可以應用於許多領域。在本文中,我們討論了人工神經網路在自然語言處

深度學習自然語言處理中的應用: 集智俱樂部活動筆記

自然語言處理(Natural Language Processing, NLP)是人工智慧中的一個重要分支,從人工智慧這個領域剛發展起來的時候就一直是一個重要的研究方向,到現在也發展出了很多的細分領域和非常多的方法,大致上來說,我們可以認為是在 2013 年的時候,伴隨著 word2vec 這個 word

《基於深度學習自然語言處理》中文PDF+英文PDF+學習分析

機器學習 生成 統計學 alt 依存句法分析 詞向量 tle 工程應用 互聯 我們做自然語言處理的,主要是進行文本分析,作為人工智能的領域之一,也一定會應用深度神經網絡進行處理。 近年來快速發展的深度學習技術為解決自然語言處理問題的解決提供了一種可能的思路,已成為有效推動

【讀書筆記】《Python自然語言處理》第1章 語言處理Python

1.1 語言計算:文字和詞彙 入門 nltk下載地址 使用pip安裝 >>>import nltk 檢驗是否成功。 >>>nltk.download() 選擇語料下載 使用python直譯器載入book模組中的條目 >&g

《用Python進行自然語言處理》第 1 章 語言處理 Python

1. 將簡單的程式與大量的文字結合起來,我們能實現什麼?2. 我們如何能自動提取概括文字風格和內容的關鍵詞和短語?3. Python 程式語言為上述工作提供了哪些工具和技術?4. 自然語言處理中的有哪些有趣的挑戰?1.1 語言計算:文字和單詞python入門NLTK 入門fr

Amazon Comprehend 自然語言處理 (NLP) _自然語言理解

Amazon Comprehend 是一項自然語言處理 (NLP) 服務,可通過機器學習發現文字中的見解和關係。該服務可以識別文字語言,提取關鍵短語、地點、人物、品牌或事件資訊,理解文字語義的肯定或否定含義,使用分詞斷句和詞性分析文字,還可以自動按照主題整理一組文字檔案。使用這些 API,您

如何用深度學習玩轉影象處理

本文轉自知乎專欄:https://zhuanlan.zhihu.com/p/32177354 一方面為做資料整理用,方便後期回顧,另一方面轉需 -------------------------------------------------- 第一個重境

自然語言處理(NLP) 三:詞袋模型 + 文字分類

1.詞袋模型 (BOW,bag of words) 用詞頻矩陣作為每個樣本的特徵 Are you curious about tokenization ? Let’s see how it works! we need to analyze a coupl

臺灣大學深度學習課程 學習筆記 Lecture 5-1: Gated RNNLSTMGRU介紹)

Review RNN 假設現在有3個sequence表示為 x1、x2、x3,設定的初始化向量 h0 ;將 x1 與h0放入function f 中,得到 y1 與 h1,h1是和h0 維度一樣的;把 x2 與 h1 放入與之前一樣的 f 中