AI-For-Beginners/translations/zh-TW/lessons/5-NLP
localizeflow[bot] 3b96652d87 chore(i18n): sync translations with latest source changes (chunk 1/1, 17 changes) 2026-07-08 19:30:56 +00:00
..
13-TextRep chore(i18n): sync translations with latest source changes (chunk 8/8, 60 changes) 2026-01-30 01:25:06 +00:00
14-Embeddings chore(i18n): sync translations with latest source changes (chunk 8/8, 60 changes) 2026-01-30 01:25:06 +00:00
15-LanguageModeling chore(i18n): sync translations with latest source changes (chunk 8/8, 60 changes) 2026-01-30 01:25:06 +00:00
16-RNN chore(i18n): sync translations with latest source changes (chunk 8/8, 60 changes) 2026-01-30 01:25:06 +00:00
17-GenerativeNetworks chore(i18n): sync translations with latest source changes (chunk 8/8, 60 changes) 2026-01-30 01:25:06 +00:00
18-Transformers chore(i18n): sync translations with latest source changes (chunk 8/8, 60 changes) 2026-01-30 01:25:06 +00:00
19-NER chore(i18n): sync translations with latest source changes (chunk 8/8, 60 changes) 2026-01-30 01:25:06 +00:00
20-LangModels chore(i18n): sync translations with latest source changes (chunk 8/8, 60 changes) 2026-01-30 01:25:06 +00:00
README.md chore(i18n): sync translations with latest source changes (chunk 1/1, 17 changes) 2026-07-08 19:30:56 +00:00

README.md

自然語言處理

NLP 任務摘要手繪圖

在本節中,我們將專注於使用神經網路處理與自然語言處理NLP相關的任務。我們希望電腦能夠解決許多 NLP 問題:

  • 文本分類 是一種典型的文本序列分類問題。例子包括將電子郵件訊息分類為垃圾郵件與非垃圾郵件,或將文章分類為體育、商業、政治等。此外,在開發聊天機器人時,我們經常需要理解使用者的意圖——這種情況下我們處理的是意圖分類。通常在意圖分類中,我們需要處理許多類別。 情感分析 是一種典型的回歸問題,我們需要為句子的正向/負向意義分配一個數字(情感值)。更進階的情感分析是基於方面的情感分析ABSA我們會將情感分配給句子的不同部分方面例如在這家餐廳,我喜歡料理,但氣氛很糟糕*。 命名實體識別NER是指從文本中提取特定實體的問題。例如我們可能需要了解在短語我明天需要飛往巴黎中,單詞明天指的是日期,巴黎*是地點。
  • 關鍵詞提取 與 NER 類似,但我們需要自動提取對句子意義重要的詞,而不針對特定實體類型進行預訓練。
  • 文本聚類 在我們想將相似的句子分組時非常有用,例如技術支持對話中的相似請求。
  • 問答系統 指模型能夠回答具體問題的能力。模型輸入一段文本和一個問題,並需要提供文本中包含問題答案的位置(或有時生成答案文字)。 文本生成 是模型生成新文本的能力。這可以視為根據某些文本提示*預測下一個字母/單詞的分類任務。進階文本生成模型如 GPT-3能夠使用稱為提示編程提示工程的技術解決其他 NLP 任務,例如分類。
  • 文本摘要 是一種技術,讓電腦「閱讀」長文本並用幾句話進行摘要。
  • 機器翻譯 可以看作是對一種語言的文本理解和另一種語言的文本生成的組合。

最初,大多數 NLP 任務是使用傳統方法如語法結構來解決的。例如,在機器翻譯中,解析器被用於將初始句子轉換為語法樹,然後提取更高層次的語義結構以表示句子意義,基於這個意義和目標語言的語法生成結果。如今,許多 NLP 任務更有效地使用神經網路來解決。

許多經典 NLP 方法實現於 Python 庫 Natural Language Processing Toolkit (NLTK) 中。線上有一本很棒的 NLTK 書籍 講解如何使用 NLTK 解決不同的 NLP 任務。

在本課程中,我們將主要專注於使用神經網路進行 NLP並在需要時使用 NLTK。

我們已經學過使用神經網路處理表格式資料和影像。這些資料型態與文本的主要差異在於文本是變長的序列,而影像的輸入大小事先已知。雖然卷積網路能夠從輸入資料中提取模式,但文本中的模式更複雜。例如,否定詞可能會在主詞與動詞之間與任意多詞分隔(如 我不喜歡橘子,對比 我不喜歡那些又大又彩色又美味的橘子),而這仍應該被視作一個模式。因此,處理語言需要引入新的神經網路類型,如循環網路變壓器

安裝函式庫

如果您使用本機 Python 安裝來執行本課程,可能需要使用以下指令安裝所有 NLP 所需的函式庫:

PyTorch 版

pip install -r requirements-pytorch.txt

TensorFlow 版

pip install -r requirements-tf.txt

您也可以在 Microsoft Learn 上試用 TensorFlow 的 NLP

GPU 警告

本節中,有些範例會訓練相當大的模型。

  • 使用具 GPU 功能的電腦:建議在具 GPU 功能的電腦上執行筆記本,以減少使用大型模型時的等待時間。
  • GPU 記憶體限制:在 GPU 上運行可能會遇到 GPU 記憶體不足的情況,尤其是在訓練大型模型時。
  • GPU 記憶體消耗:訓練過程中 GPU 記憶體的使用量取決於多種因素,包括小批量大小。
  • 最小化小批量大小:遇到 GPU 記憶體問題時,可以考慮降低程式中的小批量大小。
  • TensorFlow GPU 記憶體釋放:舊版本的 TensorFlow 可能無法在一個 Python 核心訓練多個模型時正確釋放 GPU 記憶體。為了有效管理 GPU 記憶體使用,您可以設定 TensorFlow 僅在需要時分配 GPU 記憶體。
  • 程式碼引入:要設定 TensorFlow 僅在需要時增加 GPU 記憶體分配,請在筆記本中加入以下程式碼:
physical_devices = tf.config.list_physical_devices('GPU') 
if len(physical_devices)>0:
    tf.config.experimental.set_memory_growth(physical_devices[0], True) 

如果您有興趣從經典機器學習視角學習 NLP請參訪這套課程

本節內容

在本節中,我們將學習:


免責聲明 此文件已使用 AI 翻譯服務 Co-op Translator 進行翻譯。雖然我們努力追求準確性,但請注意自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應視為權威來源。對於關鍵資訊,建議採用專業人工翻譯。我們不對因使用此翻譯所產生的任何誤解或誤譯承擔責任。