Github 上的頂級 NLP 項目,你應該親自動手 [2022]
已發表: 2021-01-01人工智能有多個分支,其中自然語言處理 (NLP) 已成為一種強大的新時代工具。 NLP 可以追溯到 1950 年代,當時 Alan Turing 發表了一篇文章——“計算機與智能”——提出了一項涉及自動解釋和生成自然人類語言的測試(現在稱為圖靈測試)。 即便如此,NLP 直到最近才獲得全球認可和普及。
目錄
什麼是自然語言處理?
自然語言處理就是為了促進人機通信。 它旨在訓練計算機理解、解釋和操縱自然人類語言。 NLP 從人工智能、計算機科學和計算語言學等多個學科中汲取靈感。
人類使用他們的母語進行交流,例如英語、日語、西班牙語等,而計算機則使用他們的母語(二進制語言)進行交流。 雖然計算機無法理解我們的自然人類語言,但機器語言對大多數人來說大多是不可理解的。
這就是 NLP 進入以彌合人類交流和計算機理解之間的差距的地方。 自然語言處理通過幫助人們閱讀文本、聽到語音、解釋音頻/文本消息、測量情緒等,授權並訓練計算機以他們的母語與人類交流。
隨著數字世界中日常交互和交易帶來的數據爆炸式增長,自然語言處理對企業來說變得越來越重要。 借助 NLP,公司可以利用大量原始業務數據、社交媒體聊天等來理解數據並做出面向數據的決策。
在本文中,我們將列出 GitHub 上的 12 個 NLP 項目,以激發您的靈感! 從事這些項目將有助於豐富您的領域知識並提高您的實際技能。

熱門 GitHub NLP 項目
1. 釋義識別
釋義檢測是一種 NLP 應用程序,它檢測兩個不同的句子是否具有相同的含義。 它廣泛用於機器翻譯、問答、信息提取/檢索、文本摘要和自然語言生成。
這是一個對初學者友好的項目,您將在其中構建一個釋義識別系統,該系統可以通過對其進行句法和語義分析來準確識別兩個文本實體(例如句子)之間的異同。
2. 文檔相似性
這是另一個對初學者友好的項目,旨在通過使用餘弦相似度方法來量化兩個文檔之間的相似度。 通過尋找兩篇論文之間的相似之處,該項目將突出討論的共同主題。
餘弦相似度將兩個文檔轉換為向量以計算這些向量之間的相似度。 它通過採用測量它們之間的餘弦角的內積空間來計算文檔相似度。
3.文本預測
在這個項目中,您將構建一個可以在您鍵入單詞時預測下一個單詞的應用程序。 用於創建此文本預測項目的工具包括自然語言處理、文本挖掘和 R 的工具套件。
該項目使用具有 Kneser Ney 平滑的最大似然估計器作為預測模型。 預測是針對存儲在用於訓練模型的數據庫中的單詞集合而設計的。 您可以在 GitHub 上找到該項目的完整資源集。
4.天才的科學
該項目是成功科學項目的一部分。 這裡的目的是使用大量數據科學和 NLP 分析工具,確定特定的詞彙因素是否可以表明文章受到的關注度,通過標準化引用指數來衡量。
在初始階段,該項目的重點是研究Web of Science中文章標題的長度和句法特徵的時間和學科差異——一個包含自 1900 年以來發表的超過 5000 萬篇文章的數據集。更大的圖景是創建一個定量模型可以準確估計一篇科學論文對社區的影響。
5. 從新聞標題中提取股票情緒
正如標題所示,您將使用 Finviz 對財經新聞頭條的情緒分析來產生對該項目的投資見解。 情緒分析技術將幫助您理解和解釋頭條新聞背後的情緒,並預測當前市場情況是否有利於特定股票。
6.智能機器人
該項目涉及構建一個智能機器人,該機器人可以解析和匹配來自特定存儲庫的結果以回答問題。 該機器人使用 WordNet 進行此操作。 它權衡與結構化文檔中的標籤(例如標題、粗體標題等)有關的問題的上下文。 由於它保留了上下文,因此您可以圍繞同一主題提出相關問題。

例如,如果您想查詢 Wikipedia 文章,您可以使用模板“告訴我關於 XYZ”,並在建立上下文後繼續提出類似的問題。 同樣,您可以通過將頁面的 URL 作為來源來查詢網頁,例如“ https://www.microsoft.com/en-us/software-download/faq ”。 這非常適用於常見問題解答和問答頁面。
7. CitesCyVerse
CitesCyVerse 項目是在The Science Citation Knowledge Extractor上設計的。 CitesCyVerse 是一個開源工具,它利用機器學習和 NLP 來幫助生物醫學研究人員通過分析引用他們的文章中的內容來了解其他人如何使用他們的工作。 通過使用 ML 和 NLP,CitesCyVerse 提取了施引文件中討論的突出主題和概念。 這使研究人員能夠更好地了解他們的工作如何影響科學界的其他人。
CitesCyVerse 包括 WordClouds,它可以從引用論文中提到的相似詞生成新的雲。 此外,它還具有主題,可讓您探索引用 CyVerse 的文章和出版物的熱門主題。
8. Data Science Capstone – 數據處理腳本
在此數據科學頂點項目中,您將使用數據處理腳本來演示數據工程,而不是創建 n-gram 模型。 這些腳本可以處理整個語料庫以生成 n-gram 及其計數。 您可以使用這些數據來開發預測文本算法。
要構建這個項目,您需要一個至少 16GB RAM 的雙核系統(因為大多數腳本都是單線程的)。 至於軟件要求,您需要 - Linux(最好在 Ubuntu 14.04 上測試)、Python(2.7 版)、NLTK(3.0 版)和 NumPy。
閱讀:自然語言處理項目的想法和主題
9. 腳本生成器
這是一個令人興奮的項目,您將在其中構建 RNN,以根據該節目所有 27 季的腳本數據集為熱門節目“辛普森一家”生成電視腳本。 RNN 將為在 Moe's Tavern 拍攝的特定場景生成一個新腳本。
腳本生成器項目是 Udacity 深度學習納米學位的一部分。 項目實現包含在:dlnd_tv_script_generation.ipynb
10. Reddit 股票預測
該項目旨在了解社交媒體帖子如何影響個股的未來價格。 在這裡,我們將使用文本分析方法研究社交媒體帖子對 Reddit 的影響,尤其是投資重點子版塊/論壇。
您可以使用 GitHub 存儲庫文件清理情緒分析並將其應用於 Reddit 帖子/評論,並使用此數據創建回歸模型。 該存儲庫還包含可用於交互式 Web 應用程序的代碼,用於可視化特定股票代碼的實時情緒並做出相關預測。
11. Me_Bot
這是一個有趣的 NLP 項目,您將在其中開發一個名為 Me_Bot 的機器人,該機器人將利用您的 WhatsApp 對話,向他們學習,並像與其他人一樣與您交談。 本質上,這個想法是創建一個像你一樣說話的機器人。
您需要從手機中導出 WhatsApp 聊天記錄,並根據這些數據訓練機器人。 為此,您必須在手機上訪問 WhatsApp,選擇任何對話,然後從應用程序的設置中導出。 然後您可以將生成的“.txt”文件轉移到 Me_Bot 文件夾中。

12. 語音情感分析器
該項目圍繞創建一個 ML 模型展開,該模型可以從我們日常生活中常見的對話中檢測情緒。 ML 模型可以檢測多達五種不同的情緒,並根據您當前的情緒提供個性化的建議。
這種基於情感的推薦引擎對許多行業具有巨大的價值,因為他們可以使用它向高度針對性的受眾和買家角色進行銷售。 例如,在線內容流媒體平台可以使用此工具通過閱讀個人當前的心情和偏好,向他們提供定制的內容建議。
另請閱讀:深度學習與 NLP
結論
這樣,我們就到了列表的末尾。 GitHub 上的這 12 個 NLP 項目非常適合磨練您的編碼和項目開發技能。 最重要的是,項目建設將幫助您掌握自然語言處理的細微差別,從而增強您的領域知識。
如果您想提高您的 NLP 技能,您需要親身體驗這些 NLP 項目。 如果您有興趣了解有關機器學習的更多信息,請查看 IIIT-B 和 upGrad 的機器學習和人工智能 PG 文憑,該文憑專為工作專業人士設計,提供 450 多個小時的嚴格培訓、30 多個案例研究和作業、IIIT- B 校友身份、5 個以上實用的實踐頂點項目和頂級公司的工作協助。
自然語言處理的主要挑戰是什麼?
自然語言處理有很多挑戰。 主要問題是缺乏計算能力。 當前的算法被創建為在需要巨大計算能力並且可能需要更多時間來完成處理的離線系統中運行。 另一個問題是可用資源。 創建一個可以處理少量數據的算法並不容易,而且更耗時。 另一個挑戰是我們需要處理的大量數據的可用性。
哪個 NLP 模型給出了最好的準確率?
NLP 模型的最佳準確性是通過將文本通過一系列日益複雜的過濾器來實現的。 第一層是去除停用詞、標點符號和數字。 之後,應使用 Porter 詞幹分析器對整個文本進行詞幹提取,然後將所有單詞替換為其詞形還原形式。 然後,最後一步是刪除 200,000 個單詞的詞彙表中不存在的任何單詞。
什麼是 NLP 中的標記化?
標記化是將句子分解為其組成部分的過程,稱為標記。 應用該過程後,我們可以輕鬆提取句子的含義或意圖。 在進行句子拆分之後進行標記化。 在 NLP 中,token 用於句子的進一步處理、分類和表示。 一些涉及標記化的 NLP 任務是語言檢測、POS 標記和解析。
