NLP任務(wù)一次跑通:nlp-tutorial 從分類到翻譯的完整拆解)
6個(gè)NLP任務(wù)一次跑通nlp-tutorial 從分類到翻譯的完整拆解【免費(fèi)下載鏈接】nlp-tutorialA list of NLP(Natural Language Processing) tutorials項(xiàng)目地址: https://gitcode.com/gh_mirrors/nlp/nlp-tutorial看過一堆3分鐘學(xué) Transformer的視頻真動(dòng)手才發(fā)現(xiàn)最缺的是一整套能跑起來的數(shù)據(jù)和代碼語料從哪來、預(yù)處理腳本怎么寫、訓(xùn)練參數(shù)到底在調(diào)什么。這種每段都要自己從零搭的狀態(tài)學(xué) NLP 的人基本都卡過。nlp-tutorial 就是針對(duì)這個(gè)問題它用 PyTorch 把 6 個(gè)經(jīng)典 NLP 任務(wù)做成了帶注釋的教程——新聞分類、IMDb 影評(píng)情感分析、問答匹配、英法機(jī)器翻譯數(shù)據(jù)、預(yù)處理、模型、訓(xùn)練腳本全齊你要做的只有讀代碼和跑命令。項(xiàng)目地圖按任務(wù)類型找模塊如果還沒克隆到本地先拉一份倉庫下來后面所有路徑都基于它git clone https://gitcode.com/gh_mirrors/nlp/nlp-tutorial6 個(gè)模塊按任務(wù)類型 模型 數(shù)據(jù)源分三類目錄名就是導(dǎo)航先掃一眼再?zèng)Q定從哪入手| 任務(wù)類型 | 模塊路徑 | 一句話定位 | | - | - | - | | 文本分類 |news-category-classifcation/| HuffPost 新聞 41 類分類CBoW/LSTM | | 文本分類 |text-classification-transformer/| IMDb 影評(píng)情感二分類Transformer | | 文本分類 |question-answer-matching/| Stack Exchange 相似問題匹配CBoW/LSTM | | 文本分類 |movie-rating-classification/| 韓語影評(píng)情感分析Keras TextCNN | | 機(jī)器翻譯 |neural-machine-translation/| 英→法 seq2seqGRU/LSTM 注意力 | | 機(jī)器翻譯 |translation-transformer/| 法→英翻譯完整 Transformer |上表第一行對(duì)應(yīng)的數(shù)據(jù)集長這樣每行是類別 標(biāo)題 摘要模型就是靠它學(xué)分類最小實(shí)驗(yàn)在 NMT 模塊看到真實(shí)的翻譯結(jié)果為什么先跑 NMT因?yàn)樗巧贁?shù)把數(shù)據(jù)data/eng-fra.txt十幾萬句英法對(duì)和訓(xùn)練好的模型權(quán)重一起放進(jìn)倉庫的模塊不用額外下載最短路徑跑通。先裝依賴整個(gè)倉庫的核心就是 PyTorch文本歸一化靠 NLTKpip install torch nltk sentencepiece然后直接加載倉庫自帶的訓(xùn)練權(quán)重跑評(píng)估。這一步做的事是把 encoder 和 decoder 的權(quán)重讀進(jìn)來喂測試句進(jìn)去逐句打印翻譯結(jié)果讓你直觀看到訓(xùn)練好的 seq2seq 模型輸出什么cd neural-machine-translation/nmt python evaluate.py --encoder trained_model_parameters/encoder-n_layers2-hidden600-tf1-epochs10.pth --decoder trained_model_parameters/decoder-n_layers2-hidden600-tf1-epochs10.pth看到結(jié)果后可以自己訓(xùn)一小段練手。--n_iters控制訓(xùn)練輪數(shù)官方完整訓(xùn)練是 910000 輪第一次試跑可以降到幾萬輪重點(diǎn)看 loss 走勢而不是精度python train.py --n_iters 100000 --embedding_size 300 --hidden_size 600下圖是 README 里 91 萬輪官方訓(xùn)練的損失曲線前幾百輪 loss 陡降、之后緩慢收斂。拿它當(dāng)參照就能判斷自己跑出來的曲線正不正常剩下 5 個(gè)模塊一行速查news-category-classifcation/最完整的分類流水線從build_corpus.py到trainer.py把造語料→清洗→建詞表→訓(xùn)練走一遍適合當(dāng)?shù)诙€(gè)實(shí)驗(yàn)text-classification-transformer/只用 Transformer 編碼器做 IMDb 情感分類配合vocab.py看 SentencePiece 子詞切分怎么建question-answer-matching/給整個(gè)問題建向量再檢索相似問題CBoW 和 LSTM 各做一遍movie-rating-classification/倉庫里唯一用 Keras 的模塊TextCNN 處理韓語影評(píng)translation-transformer/法→英的完整 Transformer含位置編碼、多頭注意力的逐行注釋跑通最小實(shí)驗(yàn)后折騰這 3 件事 回到neural-machine-translation/nmt/train.py把--teacher_forcing_ratio改成 0.75、--n_layers改成 3 各跑一次對(duì)比 loss 曲線——README 里有一整張官方實(shí)驗(yàn)對(duì)照表改完直接對(duì)答案 打開translation-transformer/assets/attention_visualize.ipynb這個(gè) notebook 會(huì)把注意力權(quán)重畫成熱圖幫你理解翻譯時(shí)模型到底在看輸入句子的哪個(gè)詞 把news-category-classifcation/的流水線完整跑一遍同一條語料分別訓(xùn) CBoW 和 LSTM看 README 里的準(zhǔn)確率差距在你機(jī)器上是否復(fù)現(xiàn)【免費(fèi)下載鏈接】nlp-tutorialA list of NLP(Natural Language Processing) tutorials項(xiàng)目地址: https://gitcode.com/gh_mirrors/nlp/nlp-tutorial創(chuàng)作聲明:本文部分內(nèi)容由AI輔助生成(AIGC),僅供參考