12個(gè)NLP學(xué)習(xí)創(chuàng)意項(xiàng)目(附源碼)
自然語言處理(NLP)是機(jī)器學(xué)習(xí)的一部分。使用自然語言進(jìn)行人機(jī)交互是NLP研究的主題。NLP在行業(yè)中有著廣泛的應(yīng)用,如:蘋果Siri語音對(duì)話助手、語言翻譯工具、情感分析工具、智能客服系統(tǒng)等。
本文介紹一些有創(chuàng)意的NLP開源項(xiàng)目,包含從新手的簡單NLP項(xiàng)目到專家的挑戰(zhàn)性NLP項(xiàng)目,這些應(yīng)該有助于提高NLP的實(shí)踐能力。
一、四個(gè)為初學(xué)者項(xiàng)目
1.關(guān)鍵詞提取
該項(xiàng)目的目標(biāo)是使用TF-IDF和Python的Scikit-Learn庫從數(shù)據(jù)文本中提取有趣的關(guān)鍵字。數(shù)據(jù)集是StackOverflow。
源代碼:https://github.com/kavgan/nlp-in-practice/tree/master/tf-idf
2.使用Seq2Seq模型的聊天機(jī)器人
這個(gè)項(xiàng)目使用Seq2Seq模型來構(gòu)建一個(gè)簡單的聊天機(jī)器人。Python代碼中使用了TensorFlow庫。
源代碼:https://github.com/llSourcell/tensorflow_chatbot
3.語言標(biāo)識(shí)符
在網(wǎng)頁中識(shí)別特定文本的語言,需要過濾多種方言,俚語和語言之間的通用術(shù)語。機(jī)器學(xué)習(xí)大大簡化了這個(gè)過程。可以使用Facebook的fastText范例創(chuàng)建語言標(biāo)識(shí)符。該模型使用詞嵌入來理解語言,并擴(kuò)展了word2vec工具。
源代碼:https://github.com/axa-group/nlp.js
4.從新聞標(biāo)題中提取股票情緒
過去,金融新聞通過廣播、報(bào)紙和口口相傳,在一段時(shí)間內(nèi)緩慢傳播。在互聯(lián)網(wǎng)時(shí)代,傳播只需要幾秒鐘。來自財(cái)報(bào)電話會(huì)議的數(shù)據(jù)流甚至可以被用來自動(dòng)生成新聞文章。通過對(duì)財(cái)經(jīng)新聞標(biāo)題進(jìn)行情緒分析,可以產(chǎn)生投資相關(guān)的決策信息,能夠破譯頭條新聞背后的情緒,并通過使用這種自然語言處理技術(shù)來預(yù)測市場對(duì)股票的正面或負(fù)面影響。
源代碼:https://github.com/copev313/Extract-Stock-Sentiment-From-News-Headlines/tree/main
二、四個(gè)中級(jí)NLP項(xiàng)目
5.使用BERT進(jìn)行深度學(xué)習(xí)的情緒分析
使用PyTorch 對(duì)grin注釋數(shù)據(jù)集進(jìn)行分析,并從預(yù)訓(xùn)練的BERT Transformer中進(jìn)行大規(guī)模語言學(xué)習(xí),以構(gòu)建情感分析模型。多分類是該模型的體系結(jié)構(gòu)。在探索性數(shù)據(jù)分析(EDA)期間完成令牌化器和附加數(shù)據(jù)編碼的加載。數(shù)據(jù)加載器使批處理更容易,然后設(shè)置Optimizer和Scheduler來管理模型訓(xùn)練。
為了調(diào)節(jié)PyTorch對(duì)BERT加速器的微調(diào),創(chuàng)建一個(gè)訓(xùn)練循環(huán)以實(shí)現(xiàn)可測量模型的性能指標(biāo)??蓪?duì)預(yù)訓(xùn)練、微調(diào)模型的性能進(jìn)行了評(píng)估。該模型達(dá)到了良好的準(zhǔn)確性。
源代碼:https://github.com/dA505819/Sentiment_Analysis_with_Deep_Learning_using_BERT/tree/master
6.NLP主題建模 LDA-NMF
在這個(gè)項(xiàng)目中,主題建模是使用LDA和NMF。此外,TF-IDF文章推薦引擎的開發(fā),在于響應(yīng)關(guān)鍵字輸入,它推薦的頂部文件來自于一個(gè)基于余弦相似度的文件池。
源代碼:https://github.com/AnushaMeka/NLP-Topic-Modeling-LDA-NMF/tree/master
7.語音情感分析儀
這個(gè)項(xiàng)目的目標(biāo)是開發(fā)一個(gè)神經(jīng)網(wǎng)絡(luò)模型,用于識(shí)別我們?nèi)粘U勗捴械那榫w。男性、女性神經(jīng)網(wǎng)絡(luò)模型能夠檢測多達(dá)五種不同的情緒。這可以應(yīng)用于個(gè)性化營銷,根據(jù)情緒推薦產(chǎn)品。同樣,汽車制造商可以利用這一點(diǎn)來衡量司機(jī)的情緒,以改變速度,防止碰撞。
源代碼:https://github.com/MiteshPuthran/Speech-Emotion-Analyzer
8.使用LSTM的圖像字幕
圖片字幕的目的是對(duì)圖片的內(nèi)容和背景進(jìn)行簡潔準(zhǔn)確的解釋。圖像字幕系統(tǒng)的應(yīng)用包括自動(dòng)圖片分析、內(nèi)容檢索,可以對(duì)視覺障礙者提供幫助。
長短期記憶(LSTM)是一種遞歸神經(jīng)網(wǎng)絡(luò)(RNN)架構(gòu),適用于需要對(duì)順序輸入中的長期關(guān)系進(jìn)行建模的圖片字幕等應(yīng)用。卷積神經(jīng)網(wǎng)絡(luò)(CNN)在使用LSTM的圖像字幕系統(tǒng)中處理輸入圖像,以便提取表示圖像的固定長度特征向量。LSTM網(wǎng)絡(luò)使用這個(gè)特征向量作為輸入,逐字創(chuàng)建字幕。
源代碼:https://github.com/ZhenguoChen/Neural-Network-Image-Captioning
三、四個(gè)高級(jí)NLP項(xiàng)目
9.科技文章關(guān)鍵詞提取
從科學(xué)論文中提取關(guān)鍵短語的自然語言處理(NLP)任務(wù)包括從文本中自動(dòng)查找和提取重要單詞或術(shù)語。
有許多方法用于提取關(guān)鍵短語,包括基于規(guī)則的方法、無監(jiān)督方法和監(jiān)督方法。無監(jiān)督方法使用統(tǒng)計(jì)技術(shù)來確定文檔中最關(guān)鍵的術(shù)語,而基于規(guī)則的方法使用一組預(yù)定義的標(biāo)準(zhǔn)來選擇關(guān)鍵短語。
源代碼:https://github.com/intelligence-csd-auth-gr/keyphrase-extraction-via-summarization
10.基于元學(xué)習(xí)的文本分類
為某些NLP任務(wù)(如情感分析,文本分類等)量身定制的機(jī)器學(xué)習(xí)模型并在多個(gè)任務(wù)上訓(xùn)練,是使用元學(xué)習(xí)進(jìn)行文本分類所必需的過程。這種方法比從頭開始訓(xùn)練模型的性能更好,因?yàn)樗褂脧耐瓿深愃迫蝿?wù)中學(xué)到的知識(shí)來快速適應(yīng)新任務(wù)。通過使用來自支持集的數(shù)據(jù)調(diào)整模型的參數(shù),目標(biāo)是減少查詢集上的損失。
源代碼:https://github.com/phanxuanphucnd/meta-learning
11.關(guān)于Distilbert
介紹論文DistilBERT是BERT的蒸餾版本,比原始BERT更小,更快,更便宜,更輕。DistilBERT是BERT基礎(chǔ)訓(xùn)練的Transformer模型,它緊湊、快速、經(jīng)濟(jì)實(shí)惠且輕便。與bert-base-uncased相比,它的運(yùn)行速度快60%,使用的參數(shù)少40%,同時(shí)在GLUE語言理解基準(zhǔn)測試中保持了BERT 95%以上的性能。此模型是一個(gè)基于DistilBERT的未加cased微調(diào)檢查點(diǎn),它是使用SQuAD v1.1上的知識(shí)蒸餾(第二步)進(jìn)行細(xì)化的。
文章:https://huggingface.co/distilbert-base-uncased-distilled-squad
12.使用BERT完成掩碼字
BERT是一個(gè)Transformers模型,它是在相當(dāng)大的英語數(shù)據(jù)語料庫上進(jìn)行自我監(jiān)督預(yù)訓(xùn)練的。這意味著,在僅對(duì)原始文本進(jìn)行預(yù)訓(xùn)練而沒有任何人工標(biāo)記之后,使用自動(dòng)過程來從這些文本生成輸入和標(biāo)簽(這解釋了為什么它可能使用大量可用的數(shù)據(jù))。該模型的兩個(gè)學(xué)習(xí)目標(biāo)包括:“下一句”預(yù)測(NSP)和掩蔽語言建模(MLM)。假如你有一個(gè)標(biāo)記句子的數(shù)據(jù)集,那么就可以使用BERT模型產(chǎn)生的特征作為輸入進(jìn)行訓(xùn)練。
文章:https://huggingface.co/bert-base-uncased