12個NLP學習創(chuàng)意項目(附源碼)
自然語言處理(NLP)是機器學習的一部分。使用自然語言進行人機交互是NLP研究的主題。NLP在行業(yè)中有著廣泛的應(yīng)用,如:蘋果Siri語音對話助手、語言翻譯工具、情感分析工具、智能客服系統(tǒng)等。

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






























