丁香五月天婷婷久久婷婷色综合91|国产传媒自偷自拍|久久影院亚洲精品|国产欧美VA天堂国产美女自慰视屏|免费黄色av网站|婷婷丁香五月激情四射|日韩AV一区二区中文字幕在线观看|亚洲欧美日本性爱|日日噜噜噜夜夜噜噜噜|中文Av日韩一区二区

您正在使用IE低版瀏覽器,為了您的雷峰網(wǎng)賬號安全和更好的產(chǎn)品體驗,強(qiáng)烈建議使用更快更安全的瀏覽器
此為臨時鏈接,僅用于文章預(yù)覽,將在時失效
人工智能 正文
發(fā)私信給AI研習(xí)社-譯站
發(fā)送

0

從基礎(chǔ)到 RNN 和 LSTM,NLP 取得的進(jìn)展都有哪些?

本文作者: AI研習(xí)社-譯站 2019-08-07 11:24
導(dǎo)語:本文基于 NLP 的基礎(chǔ)知識,全方位介紹了 NLP 隨著深度學(xué)習(xí)和神經(jīng)網(wǎng)絡(luò)的應(yīng)用所取得的進(jìn)展。


機(jī)器學(xué)習(xí)領(lǐng)域一個最令人著迷的任務(wù),就是訓(xùn)練機(jī)器理解人類交流能力的進(jìn)步。在機(jī)器學(xué)習(xí)領(lǐng)域,這一分支被稱為自然語言處理(Natural Language Processing)。

本文嘗試解釋自然語言處理的基礎(chǔ)知識,以及隨著深度學(xué)習(xí)和神經(jīng)網(wǎng)絡(luò)的發(fā)展,自然語言處理所取得的快速進(jìn)展。

在我們深入研究之前,有必要了解一些基礎(chǔ)知識。

語言是什么?

一種語言,基本上是一個由人類社會共享的固定的詞匯表,用來表達(dá)和交流他們的思想。
這個詞匯表作為他們成長過程的一部分被世代相傳,并且大部分保持不變,每年會增加很少的部分作為補(bǔ)充。
諸如詞典之類的精細(xì)資源得到了維護(hù),以便一個人遇到一個新詞時,他或她可以通過參考詞典來了解其含義。一旦人們接觸到這個詞,它就會被添加到他或她自己的詞匯表中,可以用于進(jìn)一步的交流。

計算機(jī)如何理解語言?

計算機(jī)是在數(shù)學(xué)規(guī)則下工作的機(jī)器。它沒法解釋或者理解那些人類可以輕松做到的事,但卻能在幾秒內(nèi)執(zhí)行完復(fù)雜的計算。
計算機(jī)要處理任何概念,都必須以一種數(shù)學(xué)模型的形式表達(dá)這些概念。  
這種約束極大地限制了計算機(jī)可以使用的自然語言的范圍和領(lǐng)域。目前,機(jī)器在執(zhí)行分類和翻譯的任務(wù)方面非常成功。
分類基本上是將一段文本分類為一個類別,而翻譯則是將這段文本轉(zhuǎn)換成任何其他語言。

什么是自然語言處理?

自然語言處理,或簡稱為NLP,被廣泛地定義為通過軟件對自然語言(如語音和文本)的自動操作。
自然語言處理的研究已經(jīng)有50多年的歷史了,并且隨著計算機(jī)的興起而從語言學(xué)領(lǐng)域發(fā)展起來。

基本的轉(zhuǎn)換

正如前文所述,讓一臺機(jī)器理解自然語言(人類使用的語言),需要將語言轉(zhuǎn)換成某種可以建模的數(shù)學(xué)框架。下面提到的是幫助我們實現(xiàn)這一目標(biāo)的一些最常用的技術(shù)。

分詞,詞干提取,詞形還原

分詞是將文本分解成單詞的過程。分詞可以在任何字符上發(fā)生,但最常見的分詞方法是在空格上進(jìn)行分詞。
詞干提取是一種截斷詞尾以獲得基本單詞的粗糙方法,通常包括去掉派生詞綴。派生詞是指一個詞由另一個詞形成(派生)的詞。派生詞通常與原始詞屬于不同的詞類。最常見算法是Porter算法。
詞形還原對詞進(jìn)行詞匯和形態(tài)分析,通常只是為了消除詞尾變化。詞尾變化是一組字母加在單詞的末尾以改變其含義。一些詞尾變化是單詞復(fù)數(shù)加s,如bat,bats。
由于詞干提取是基于一組規(guī)則發(fā)生的,因此詞干返回的詞根可能并不總是英語單詞。另一方面,詞形還原可以適當(dāng)?shù)販p少變形詞,確保詞根屬于英語。

N-grams(N元模型)

N-gram是指將相鄰的單詞組合在一起來表示目的的過程,其中N表示要組合在一起的單詞數(shù)量。
例如,考慮一個句子,“自然語言處理對計算機(jī)科學(xué)至關(guān)重要。”
1-gram或unigram模型將句子標(biāo)記為一個單詞組合,因此輸出將是“自然、語言、處理、對、計算機(jī)、科學(xué)、至關(guān)重要”。
bigram模型將其標(biāo)記為兩個單詞的組合,輸出將是“自然語言、語言處理、處理對、對計算機(jī)、計算機(jī)科學(xué)、科學(xué)至關(guān)重要”
類似地,trigram模型將其分解為“自然語言處理、語言處理對、處理對計算機(jī)、對計算機(jī)科學(xué)、計算機(jī)科學(xué)至關(guān)重要”,而n-gram模型將一個句子標(biāo)記為n個單詞的組合。
將一門自然語言分解成n-gram是保持句子中出現(xiàn)的單詞數(shù)量的關(guān)鍵,而句子是自然語言處理中使用的傳統(tǒng)數(shù)學(xué)過程的主干。

轉(zhuǎn)換方法

在詞袋模型表示中實現(xiàn)這一點(diǎn)的最常見方法是tf-idf。

TF-IDF

TF-IDF是一種對詞匯進(jìn)行評分的方式,按照它對句子含義的影響的比例為單詞提供足夠的權(quán)重。得分是兩個獨(dú)立評分,詞頻(tf)和逆文件頻率(idf)的乘積。

從基礎(chǔ)到 RNN 和 LSTM,NLP 取得的進(jìn)展都有哪些?

詞頻(TF):詞頻表示詞語出現(xiàn)在一篇文章中的頻率。

逆文件頻率(IDF):衡量詞語提供的信息量,即它在所有文檔中是常見的還是罕見的。它由log (N/d)計算得出。N是文檔總數(shù),d是包含某個詞語的文檔數(shù)。

獨(dú)熱編碼

獨(dú)熱編碼是另一種以數(shù)字形式表示詞語的方法。詞語向量的長度等于詞匯表的長度,每一個句子用一個矩陣來表示,行數(shù)等于詞匯表的長度,列數(shù)等于句子中詞語的數(shù)量。詞匯表中的詞語出現(xiàn)在句子中時,詞語向量對應(yīng)位置的值為1,否則為0。

從基礎(chǔ)到 RNN 和 LSTM,NLP 取得的進(jìn)展都有哪些?

圖片來源 - 谷歌

詞嵌入

詞嵌入是一組語言模型和特征學(xué)習(xí)技術(shù)共有的統(tǒng)稱,詞匯表中的詞語或短語被映射到由實數(shù)構(gòu)成的向量里。這種技術(shù)主要用于神經(jīng)網(wǎng)絡(luò)中。  
從概念上講,它包含將一個詞語從一個與詞匯表長度相等的維度投射到較低的維度空間,其思想是相似的詞語將被投射得更近。

為了便于理解,我們可以將嵌入看作是將每個單詞投射到一個特征空間,如下圖所示。

從基礎(chǔ)到 RNN 和 LSTM,NLP 取得的進(jìn)展都有哪些?

每個詞被映射到一個特征空間里(性別,王室成員,年齡,食物等)

然而,事實上這些維度并不那么清楚或便于理解。但由于算法是在維度的數(shù)學(xué)關(guān)系上訓(xùn)練的,因此這不會產(chǎn)生問題。從訓(xùn)練和預(yù)測的角度來看,維度所代表的內(nèi)容對于神經(jīng)網(wǎng)絡(luò)來說是沒有意義的。
如果你有興趣對線性代數(shù)有一個直觀的理解,投影和變換是一些機(jī)器學(xué)習(xí)算法背后的核心數(shù)學(xué)原理,我將強(qiáng)烈鼓勵他們訪問3Blue1Brown的“線性代數(shù)的本質(zhì)”。(b站搬運(yùn)了相關(guān)視頻,詳情請看《線性代數(shù)的本質(zhì)》,譯者注)

表示方法

詞袋

要使算法獲取文本數(shù)據(jù)之間的關(guān)系,需要用清晰的結(jié)構(gòu)化表示。
詞袋是一種以表格表示數(shù)據(jù)的方法,其中列表示語料庫的總詞匯表,每一行表示一個觀察。單元格(行和列的交集)表示該特定觀察中的列所代表的單詞數(shù)。
它有助于機(jī)器用易于理解的矩陣范式理解句子,從而使各種線性代數(shù)運(yùn)算和其他算法能夠應(yīng)用到數(shù)據(jù)上,構(gòu)建預(yù)測模型。

下面是醫(yī)學(xué)期刊文章樣本的詞袋模型示例

從基礎(chǔ)到 RNN 和 LSTM,NLP 取得的進(jìn)展都有哪些?

這種表示非常有效,并且負(fù)責(zé)為一些最常用的機(jī)器學(xué)習(xí)任務(wù)(如垃圾郵件檢測,情感分類器等)生成模型。

但是,這種表示方法有兩個主要的缺點(diǎn):
  1. 它忽視了文本的順序/語法,從而失去了單詞的上下文。
  2. 這種表示方法生成的矩陣非常稀疏,并且更偏向于最常見的單詞。試想,算法主要依賴于單詞的數(shù)量,而在語言中,單詞的重要性實際上與出現(xiàn)頻率成反比。頻率較高的詞是更通用的詞,如the,is,an,它們不會顯著改變句子的含義。因此,重要的是適當(dāng)?shù)睾饬窟@些詞,以反映它們對句子含義的影響。

嵌入矩陣

嵌入矩陣是表示詞匯表中每個單詞嵌入的一種方法。行表示單詞嵌入空間的維數(shù),列表示詞匯表中出現(xiàn)的單詞。
為了將樣本轉(zhuǎn)換為其嵌入形式,將獨(dú)熱編碼形式中的每個單詞乘以嵌入矩陣,從而得到樣本的詞嵌入形式。

從基礎(chǔ)到 RNN 和 LSTM,NLP 取得的進(jìn)展都有哪些?

需要記住的一件事是,獨(dú)熱編碼僅指在詞匯表中單詞位置處具有值是1的n維向量,n是詞匯表的長度。這些獨(dú)熱編碼來自詞匯表,而不是觀測的結(jié)果。

循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)

循環(huán)神經(jīng)網(wǎng)絡(luò)就像它的名字一樣,是神經(jīng)網(wǎng)絡(luò)非常重要的一種變體,被大量運(yùn)用于自然語言處理。
循環(huán)神經(jīng)網(wǎng)絡(luò)的的標(biāo)準(zhǔn)輸入是一個詞而不是一個完整的樣本,這是概念上與標(biāo)準(zhǔn)神經(jīng)網(wǎng)絡(luò)的不同之處。這給神經(jīng)網(wǎng)絡(luò)提供了能夠處理不同長度句子的靈活性,而這是標(biāo)準(zhǔn)神經(jīng)網(wǎng)絡(luò)無法做到的(由于它固定的結(jié)構(gòu))。它也提供了一個額外的在不同文本位置共享特征學(xué)習(xí)的優(yōu)勢,而這也是標(biāo)準(zhǔn)神經(jīng)網(wǎng)絡(luò)無法做到的。

循環(huán)神經(jīng)網(wǎng)絡(luò)把一個句子的不同單詞在t時刻輸入并且利用t-1時刻的激活值,下面的圖詳細(xì)展示了循環(huán)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu):

從基礎(chǔ)到 RNN 和 LSTM,NLP 取得的進(jìn)展都有哪些?

上述結(jié)構(gòu)也被叫做多對多架構(gòu),也就是輸入的數(shù)量等于輸出的數(shù)量。這種結(jié)構(gòu)在序列模型中是非常有用的。

除了上面提到的架構(gòu)外,還有三種常用的RNN架構(gòu)。

1.多對一的RNN:多對一的架構(gòu)指的是使用多個輸入(Tx)來產(chǎn)生一個輸出(Ty)的RNN架構(gòu)。適用這種架構(gòu)的例子是分類任務(wù)。

從基礎(chǔ)到 RNN 和 LSTM,NLP 取得的進(jìn)展都有哪些?

上圖中,H表示激活函數(shù)的輸出。

2.一對多的RNN:一對多架構(gòu)指的是RNN基于單個輸入值生成一系列輸出值的情況。使用這種架構(gòu)的一個主要示例是音樂生成任務(wù),其中輸入是jounre或第一個音符。

從基礎(chǔ)到 RNN 和 LSTM,NLP 取得的進(jìn)展都有哪些?

3.多對多(Tx不等于Ty)架構(gòu):該架構(gòu)指的是讀取許多輸入以產(chǎn)生許多輸出的地方,其中,輸入的長度不等于輸出的長度。使用這種架構(gòu)的一個主要例子是機(jī)器翻譯任務(wù)。

從基礎(chǔ)到 RNN 和 LSTM,NLP 取得的進(jìn)展都有哪些?

Encoder(編碼器)指的是讀取要翻譯的句子的網(wǎng)絡(luò)一部分,Decoder(解碼器)是將句子翻譯成所需語言的網(wǎng)絡(luò)的一部分。

RNN的局限性

RNN是有效的,但也有一定的局限性,主要在于:
  1. 上述RNN架構(gòu)的示例僅能捕獲語言的一個方向上的依賴關(guān)系?;旧?,在自然語言處理的情況下,它假定后面的單詞對之前單詞的含義沒有影響。根據(jù)我們的語言經(jīng)驗,我們知道這肯定是不對的。
  2. RNN也不能很好地捕捉長期的依賴關(guān)系,梯度消失的問題在RNN中再次出現(xiàn)。
這兩種局限性導(dǎo)致了新型的RNN架構(gòu)的產(chǎn)生,下面將對此進(jìn)行討論。

門控循環(huán)單元(GRU)

它是對基本循環(huán)單元的一種修改,有助于捕獲長期的依賴關(guān)系,也有助于解決消失梯度問題。

從基礎(chǔ)到 RNN 和 LSTM,NLP 取得的進(jìn)展都有哪些?

GRU增加了一個額外的存儲單元,通常稱為更新門或重置門。除了通常的具有sigmoid函數(shù)和softmax輸出的神經(jīng)單元外,它還包含一個額外的單元,tanh作為激活函數(shù)。使用tanh是因為它的輸出可以是正的也可以是負(fù)的,因此可以用于向上和向下伸縮。然后,該單元的輸出與激活輸入相結(jié)合,以更新內(nèi)存單元的值。

因此,在每個步驟中,隱藏單元和存儲單元的值都會被更新。存儲單元中的值在決定傳遞給下一個單元的激活值時起作用。

詳細(xì)的解釋請參考:https://towardsdatascience.com/understanding-gru-networks-2ef37df6c9be

LSTM

在LSTM架構(gòu)中,有一個更新門和一個忘記門,而不是像在GRU中那樣只有一個更新門。

從基礎(chǔ)到 RNN 和 LSTM,NLP 取得的進(jìn)展都有哪些?

這種架構(gòu)為存儲單元提供了一個選項,可以保留t-1時刻的舊值,并將t時刻向其添加值。

關(guān)于LSTM的更詳細(xì)的解釋,請訪問:http://colah.github.io/posts/2015-08-explanation – lstms/

雙向RNN

在上述RNN架構(gòu)中,僅考慮以前時間戳出現(xiàn)的影響。在NLP中,這意味著它只考慮了當(dāng)前單詞出現(xiàn)之前的單詞的影響。但在語言結(jié)構(gòu)中,情況并非如此,因此靠雙向RNN來拯救。

從基礎(chǔ)到 RNN 和 LSTM,NLP 取得的進(jìn)展都有哪些?

雙向RNN由前向和后向循環(huán)神經(jīng)網(wǎng)絡(luò)組成,并結(jié)合兩個網(wǎng)絡(luò)在任意給定時間t的結(jié)果進(jìn)行最終預(yù)測,如圖所示。

在這篇文章中,我試圖涵蓋自然語言處理領(lǐng)域中所有流行的相關(guān)實踐和神經(jīng)網(wǎng)絡(luò)架構(gòu)。對于那些對深入了解神經(jīng)網(wǎng)絡(luò)感興趣的人,我強(qiáng)烈建議你們?nèi)?Coursera 上 Andrew Ng 的課程。

想要查看相關(guān)文獻(xiàn)和參考內(nèi)容?

點(diǎn)擊【從基礎(chǔ)到 RNN 和 LSTM,NLP 取得的進(jìn)展都有哪些?】即可訪問~

via https://towardsdatascience.com/natural-language-processing-from-basics-to-using-rnn-and-lstm-ef6779e4ae66

你可能錯過了這些企業(yè)的秋招信息,新增B站、美團(tuán)、攜程、網(wǎng)易等(持續(xù)更新中...)

自今天開始,AI研習(xí)社會定期搜集并推送各大名企校招崗位和內(nèi)推信息,同時也會邀請求職成功者和企業(yè)人力專家分享求職經(jīng)驗。另外,我們會在社區(qū)職薦版塊更新 AI 企業(yè)校招和社招信息,歡迎有志于在 AI 行業(yè)發(fā)展的應(yīng)屆畢業(yè)生們來 AI 研習(xí)社投遞簡歷噢~

點(diǎn)擊鏈接可訪問查看過去一段時間企業(yè)校招信息:https://ai.yanxishe.com/page/blogDetail/14121

雷鋒網(wǎng)雷鋒網(wǎng)雷鋒網(wǎng)


雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知

從基礎(chǔ)到 RNN 和 LSTM,NLP 取得的進(jìn)展都有哪些?

分享:
相關(guān)文章

知情人士

AI研習(xí)社(yanxishe.com)譯站頻道,傳播前沿人工智能知識,讓語言不再成為學(xué)習(xí)知識的門檻。(原雷鋒字幕組)
當(dāng)月熱門文章
最新文章
請?zhí)顚懮暾埲速Y料
姓名
電話
郵箱
微信號
作品鏈接
個人簡介
為了您的賬戶安全,請驗證郵箱
您的郵箱還未驗證,完成可獲20積分喲!
請驗證您的郵箱
立即驗證
完善賬號信息
您的賬號已經(jīng)綁定,現(xiàn)在您可以設(shè)置密碼以方便用郵箱登錄
立即設(shè)置 以后再說