2022 年每個機器學習工程師都應該動手的 15 大 NLP 工具
已發表: 2021-01-01NLP 是 2022 年 AI/數據科學領域最受追捧的領域之一。它具有廣泛的應用,並發現其用例被許多行業採用。 今天實踐 NLP 的頂級行業是金融/金融科技、銀行、法律、醫療保健、保險、零售、廣告和媒體、出版媒體,這個名單可以繼續。
因此,如果有人想在 AI 領域建立職業生涯,那麼 NLP 絕對應該是他們的首選。 最近,與它相關的研究有了飛躍式的發展。 但如果有人會迷失在大海中,那麼讓我列出 2022 年要使用的頂級 NLP 工具。
我還將它們列為有用的、必要的和不可或缺的,其中有用的排名最低,不可或缺的排名最高。
目錄
A. 通用
2. NLTK :好的 NLTK 在 2022 年仍然適用於各種文本預處理任務,如標記化、詞幹提取、標記、解析、語義推理等。但即使 NLTK 易於使用,但今天它的用例有限應用。 許多現代算法不需要大量的文本預處理。
- Github :github.com/nltk/nltk
- 結論:有幫助
- 原因:2022年的相關性
2. Spacy :Spacy 是完美的一體化 NLP 庫,具有非常直觀且易於使用的 API。 與 NLTK 一樣,它也支持各種預處理任務。 但 Spacy 最好的部分是它支持許多常見的 NLP 任務,如 NER、POS 標記、標記化、統計建模、語法驅動的句子分割等,開箱即用,支持 59 多種語言。 即將推出的 spacy 3.0 將改變遊戲規則,並支持轉換器架構。
- Github :github.com/explosion/spaCy
- 結論:不可或缺
- 原因:簡單,支持開箱即用的各種常見任務和速度。
3. 純文本:Python 為字符串操作提供了正則表達式,但使用它的模式是一項痛苦的工作。 使用 Clean-text 可以輕鬆完成這項工作。 它非常簡單易用,但同時也很強大。 它甚至可以清除非字母數字的 ASCII 字符。

- Github :github.com/jfilter/clean-text
- 結論:有幫助
- 原因:用例有限,但很容易使用。
閱讀:頂級深度學習工具
B. 基於深度學習的工具:
4. 擁抱人臉變形金剛:基於變形金剛的模型是當前 NLP 世界的轟動。 Hugging Face 轉換器庫提供了與 TF 2.0 和 Pytorch 一起使用的所有 SOTA 模型(如 BERT、GPT2、RoBERTa 等)。 他們的預訓練模型可以開箱即用地用於各種下游任務,如 NER、序列分類、抽取式問答、語言建模、文本生成、摘要、翻譯。 它還支持對自定義數據集進行微調。 查看他們出色的文檔和模型附錄以開始使用。
- Github :github.com/huggingface/transformers
- 結論:不可或缺
- 原因:當前 NLP 世界的轟動,為各種各樣的下游任務提供了大量的預訓練模型
5. Spark NLP :最近,在 NLP 領域,尤其是在醫療保健領域,引起最大轟動的是 Spark NLP。 由於它使用 Apache Spark 作為後端,因此保證了出色的性能和速度。 與 Hugging Face 轉換器、TensorFlow、Spacy 相比,他們提供的基準測試聲稱其訓練性能最好。
突出的一件事是訪問它提供的嵌入詞的數量,如 BERT、ELMO、通用句子編碼器、GloVe、Word2Vec 等。 由於其通用性,它還允許為任何用例訓練模型。 許多公司,包括 FAANG,都在使用它。
- Github :github.com/JohnSnowLabs/spark-nlp
- 結論:不可或缺
- 理由:優秀的生產級性能,通用性。
6. Fast AI : 它建立在 Pytorch 之上,可用於設計任何框架,包括基於 NLP 的框架。 它的 API 非常直觀,目標是最少的代碼並強調實用性而不是理論。 它還可以輕鬆地與 Hugging face 轉換器集成。 該庫的作者是 Jeremy Howard,他總是強調使用最佳實踐。
- Github :github.com/fastai/fastai
- 判決:必不可少
- 理由:有用的API,強調實用性。
7. 簡單的變形金剛:它基於擁抱臉變形金剛,並為其提供了一種簡單的高級 API。 但不要認為這是它的限制。 對於不尋求定制設計架構但希望基於標準步驟開發模型的任何人,沒有其他庫比它更好。
它支持所有最常用的 NLP 用例,如文本分類、令牌分類、問答、語言建模、語言生成、多模態分類、會話 AI、文本表示生成。 它也有優秀的文檔。

- Github :github.com/ThilinaRajapakse/simpletransformers
- 判決:必不可少
- 原因:像 Hugging Face 轉換器的簡單高級 API
另請閱讀:如何用 Python 製作聊天機器人?
C. 利基用例:
8. Rasa : 迄今為止最完整的對話式人工智能工具,用於構建智能聊天機器人、文本和語音助手。 訓練起來非常靈活。
- GitHub :
- 結論:有幫助
- 原因:用例有限,但同時也是同類產品中最好的。
9. TextAttack :經驗豐富的 ML 從業者總是更重視測試而不是訓練。 該框架適用於 NLP 中的對抗性攻擊、對抗性訓練和數據增強。 它有助於檢查 NLP 系統的穩健性。 開始使用它可能會有點令人困惑,但請按照他們的文檔開始並了解使用它的動機。
- Github :github.com/QData/TextAttack
- 判決:必不可少
- 原因:獨特而強大的工具。
10. Sentence Transformer :生成嵌入或將文本轉換為向量是設計任何 NLP 框架的關鍵構建塊。 一種老派的方法是使用 TF-IDF,但它缺乏上下文。 使用變壓器可以解決這個問題。 有很多工具可以生成基於變換器的嵌入(甚至可以調整和使用擁抱面部變換器),但沒有一個工具能像句子變換器那樣完全簡單。
- Github :github.com/UKPLab/sentence-transformers
- 結論:有幫助
- 原因:用例有限,但可以完成工作。
11. BertTopic :如果有人想設計強大的主題建模系統,那麼看看 BERTTopic。 它使用 BERT 嵌入和 c-TF-IDF(作者修改後的 TF-IDF 版本)來創建密集的集群,從而允許易於解釋的主題,同時在主題描述中保留重要的詞。

- Github :github.com/MaartenGr/BERTopic
- 結論:有幫助
- 原因:用例有限,但同時也是同類產品中最好的
12. Bert Extractive Summarizer :這是另一個很棒的工具,基於擁抱臉轉換器,可用於文本摘要。 它根據上下文匯總輸入文本,因此您無需擔心丟失有價值的信息。
- Github :github.com/dmmiller612/bert-extractive-summarizer
- 結論:有幫助
- 原因:用例有限,但同時也是同類產品中最好的
D. 其他(非編碼)工具:
13. Doccano : 它是一個簡單但功能強大的數據標記工具,可用於標記情感分析、命名實體識別、文本摘要等。那裡有很多工具,但 Doccano 是最容易設置和最快的出發。
- Github :github.com/doccano/doccano
- 判決:必不可少
- 原因:快速上手,支持多種格式。
14. Github Actions :目前,Github 最好的功能不是免費(甚至是私有)代碼託管,而是它的 Github action。 它是目前最好的 CI/CD 工具之一。 如果不知何故你不使用它,那麼你錯過了很多。 CI/CD 工具使開發快速且可靠。
- 結論:不可或缺
- 原因:具有強大社區支持的免費 CI/CD 工具。
15. DVC(數據版本控制):數據是任何數據科學項目的核心,因此管理它是關鍵。 DVC 從 Git 中汲取靈感。 它毫不費力地與 Git 集成。 它使我們能夠來回更改版本化數據或數據時間旅行。 它還適用於 aws s3、azure blob 存儲、gcp 雲存儲等雲存儲。
- Github :github.com/iterative/dvc
- 結論:不可或缺
- 原因:與 git、雲存儲一起使用,可用於管理大量數據
如果您想掌握機器學習並學習如何訓練代理玩井字遊戲、訓練聊天機器人等,請查看 upGrad 的機器學習和人工智能 PG 文憑課程。
哪種自然語言處理算法最準確?
樸素貝葉斯算法提供最準確的結果。 它在貝葉斯定理的概念上起作用。 此外,與其他算法相比,它需要更少的訓練時間。 它主要用於分類問題的情況。 當給定多個類或需要文本分類時,首選使用樸素貝葉斯算法。
NLP 難還是容易?
自然語言處理非常有用,但也有點複雜。 世界很大,自然語言的數量也很大。 每種自然語言都有不同的語法和腳本。 此外,當上下文發生變化時,單詞的含義也會發生變化。 因此,進行 NLP 是一項艱鉅的任務,但如果這是你真正感興趣的,隨著時間的推移和實踐,這個過程對你來說似乎會更容易。
NLP中詞幹提取的過程中做了什麼?
存在如此多的自然語言,執行 NLP 會變得相當困難。 因此,要獲得第一個詞或詞根,需要進行詞幹提取。 借助通用且有效的規則,所有標記都被削減並找到詞乾或詞根。 執行此過程是為了使任務更簡單。