日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

【莫烦Python】机器要说话 NLP 自然语言处理教程 W2V Transformer BERT Seq2Seq GPT 笔记

發布時間:2023/12/20 python 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【莫烦Python】机器要说话 NLP 自然语言处理教程 W2V Transformer BERT Seq2Seq GPT 笔记 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

【莫煩Python】機器要說話 NLP 自然語言處理教程 W2V Transformer BERT Seq2Seq GPT 筆記

  • 教程與代碼地址
  • P1 NLP行業大佬采訪
  • P2 NLP簡介
  • P3 1.1 課程目標
  • P4 2.1 搜索引擎簡介
  • P5 2.2 搜索引擎算法(TF-IDF 檢索)
  • P6 2.3 Sklearn 搜索的擴展
  • P7 3.1 詞向量可以這樣理解
  • P8 3.2 訓練詞向量 W2V CBOW算法
  • P9 3.3 詞向量Skip Gram 算法
  • P10 4.1 理解句子 句向量
  • P11 4.2 Seq2Seq 語言生成模型
  • P12 4.3 CNN也能理解語言
  • P13 5.1 注意力 語言模型
  • P14 5.2 Attention 注意力算法
  • P15 5.3 請注意 注意力
  • P16 5.4 Transformer 自注意語言模型
  • P17 6.1 大規模預訓練模型
  • P18 6.2 一詞多義 ELMo
  • P19 6.3 GPT 單向語言模型
  • P20 6.4 BERT 雙向語言模型
  • P21 7.1 語言模型的應用

教程與代碼地址

筆記中,圖片和代碼基本源自up主的視頻和代碼

視頻地址: 【莫煩Python】機器要說話 NLP 自然語言處理教程 W2V Transformer BERT Seq2Seq GPT
代碼地址: https://github.com/MorvanZhou/NLP-Tutorials
講義地址:https://mofanpy.com/tutorials/machine-learning/nlp/
如果想要爬蟲視頻網站一樣的csdn目錄,可以去這里下載代碼:https://github.com/JeffreyLeal/MyUtils/tree/%E7%88%AC%E8%99%AB%E5%B7%A5%E5%85%B71

P1 NLP行業大佬采訪

動手敲代碼,復現代碼,做項目最重要

P2 NLP簡介

將文本轉化成一串數字(encode),然后讓機器去理解,再生成一串數字,再轉化成文本(decode)。

P3 1.1 課程目標

P4 2.1 搜索引擎簡介

在一篇文章可以被搜索之前,搜索引擎安排小蜘蛛spider爬取網頁重點部分,分別對待,比如重點關注標題、時間、正文。將這些信息給予不同的權重后,存儲在便于快速檢索的數據庫中。

傳統的構建索引方法:索引圖片視頻等是基于它周圍的文字信息,如標題等。

深度學習的構建索引方法:在用戶用文字搜索時,將搜索的文字內容轉換成深度學習能識別的數字內容,然后再和之前存儲的圖片、視頻數字信息進行匹配,對比兩種數字之間的關聯性,然后找到最相近的內容。這種搜索,我們有一個專業名詞叫作"多模態"搜索。

批量召回,粗排數據量都非常大,精排的數據量小,適合用深度學習
假設你開了家咨詢公司,手上有100篇材料。這時有人來找你咨詢NLP的問題,你會怎么在這100篇材料中找到合適的內容呢?

正排索引:我們一篇一篇地閱讀,找到所有包含NLP內容的材料,然后返回給提問者。
缺點:這種方法需要我們在每次搜索的時候,都對所有材料進行一次閱讀,然后在材料中找到關鍵詞,并篩選出材料,效率其實非常差。

倒排索引:我們在第一次拿到所有材料時,把它們通讀一遍,然后構建關鍵詞和文章的對應關系。當用戶在搜索特定詞的時候,比如“紅”,就會直接返回“紅”這個【關鍵詞索引】下的文章列表。
優點:能夠將這種索引,放在后續的搜索中復用,搜索也就變成了一種詞語匹配加返回索引材料的過程。

問題:但當處理的是海量數據的時候,通過倒排索引找到的文章可能依然是海量。
解決:對這些文章進行排序操作,再選取排名靠前的文章列表也能幫我們節省大量的時間。處理匹配排序,最有名的算法之一叫做TF-IDF。

TF-IDF用于粗排

TF是詞頻,計算詞在當前文章中出現的頻率,頻率越高,越能代表文章

但像“我”、“是”這種詞也很高頻,這時候就需要IDF了。

IDF是逆文本頻率指數,計算詞在這么多篇文章中出現的頻率的倒數,在多篇文章都出現,頻率就越高,頻率的倒數就越小,表示這個詞在多篇文章中沒有區分度;只在少數的文章中出現,甚至只在一篇文章中出現,頻率就越低,頻率的倒數就越大,表示這個詞在多篇文章中有很高的區分度,能代表這篇文章。
結合TF和IDF就是TF-IDF了

P5 2.2 搜索引擎算法(TF-IDF 檢索)

代碼見tf_idf.py,這個是up自己寫的

寫路徑的時候,字符串最好使用原始字符串,即

str = r‘./image/xxx.jpg’

P6 2.3 Sklearn 搜索的擴展

代碼見tf_idf_sklearn.py,可以使用sklearn現成的方法去寫

全局指的事數據庫的全局,不是互聯網的全局

Query -> 搜索詞標準化 -> 搜索算法 -> 搜索結果

P7 3.1 詞向量可以這樣理解

P8 3.2 訓練詞向量 W2V CBOW算法

代碼見CBOW.py

詞僅在詞向量空間進行相加,而沒有在前后文空間進行相加,相比之下,Skip Gram更好。

P9 3.3 詞向量Skip Gram 算法

代碼見skip-gram.py

CBOW和Skip Gram都沒有辦法處理一詞多義的問題。

P10 4.1 理解句子 句向量

簡而言之,Encoder負責理解上文,Decoder負責將思考怎么樣在理解的句子的基礎上做任務。這一套方法就是在自然語言處理中風靡一時的Seq2Seq框架。

P11 4.2 Seq2Seq 語言生成模型

代碼見seq2seq.py

decoder預測

在使用GreedyEmbeddingSampler()作為decode的方法是有局限性的,有時候會因為忽略了前期的低分數而錯過了后期的整體高分策略, 類似于前面芝麻最好,所以撿了芝麻,但后面卻錯過了撿西瓜的機會。而這種因局部信息不全而導致的策略不優,可以靠Beam search的篩選策略彌補。 如果使用 beam search, 我們不僅僅關注當前最優策略, 而且每預測一個詞時,還保持關注當時刻所有候選詞的N個最優策略,結束預測時,就有很大概率能夠找到全局比較優的路徑。 舉個例子,如果我們用beam search size = 2, 意味著每次預測都記錄最優的兩個預測,然后沿著這兩個預測繼續預測, 每次后續的預測都只挑選下一步最好的兩個預測。 這樣加大了搜索范圍,使我們有機會接觸到全局較優路徑。

P12 4.3 CNN也能理解語言

代碼見cnn-lm.py

CNN做句向量encoding的時候有一個局限性,它要求有個句子最長的限制,句子如果超過這個長度,那么就最好截斷它。 因為就像在給圖像做卷積,圖像也是要定長定寬的,不然卷積和池化會有尺度上的問題。這是一個相比RNN的硬傷。之后我們在介紹Transformer類型的語言模型時, 也會介紹到這個硬傷。

P13 5.1 注意力 語言模型

P14 5.2 Attention 注意力算法

P15 5.3 請注意 注意力

Transformer模型:多層注意力的疊加,它使用的是一個個注意力矩陣來表示在不同位置的注意力強度。通過控制強度來控制信息通道的閥門大小。

P16 5.4 Transformer 自注意語言模型

代碼見transformer.py

P17 6.1 大規模預訓練模型

P18 6.2 一詞多義 ELMo

代碼見ELMo.py

ELMo對你來說,只是另一種雙向RNN架構。ELMo里有兩個RNN(LSTM), 一個從前往后看句子,一個從后往前看句子,每一個詞的向量表達,就是下面這幾個信息的累積:

  • 從前往后的前文信息;
  • 從后往前的后文信息;
  • 當前詞語的詞向量信息。
  • P19 6.3 GPT 單向語言模型

    代碼見GPT.py

    GPT 單向語言模型

    P20 6.4 BERT 雙向語言模型

    P21 7.1 語言模型的應用

    總結

    以上是生活随笔為你收集整理的【莫烦Python】机器要说话 NLP 自然语言处理教程 W2V Transformer BERT Seq2Seq GPT 笔记的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。