簡介

已完成

在本課程模組中,我們將探索以不同的神經網路架構來處理自然語言文字。 最近幾年,自然語言處理 (NLP) 飛快成長,主要是因為語言模型的效能展現在其能夠更快速準確地「理解」人類語言的能力上,同時還能透過龐大的文字語料庫來定型,無須監督。 例如,使用 GPT-3 或預先定型的文字模型 (例如 BERT) 產生句子,簡化了許多 NLP 工作,並大幅提升效能。

我們將著重於 PyTorch 中以張量表示 NLP 時的基本層面,以及傳統的 NLP 架構,例如使用詞袋 (BoW)、字組內嵌、遞歸神經網路和生成網路。

自然語言工作

傳統上,我們使用神經網路來嘗試解決幾種 NLP 工作:

  • 使用文字分類將文字片段分類成幾種預先定義的類別之一。 例如,垃圾電子郵件偵測、新聞分類、將支援要求指派為其中一種類別等等。
  • 意圖分類是文字分類的一個特殊個案,可讓我們將交談式 AI 系統中的輸入表達,對應至代表片語真正意義的其中一個意圖 (即使用者的意圖)。
  • 情感分析是迴歸工作,可讓我們瞭解特定文字片段的負面程度。 我們可以將資料集的文字標記為最負面 (-1) 到最正面 (+ 1),並定型模型來輸出文字的「正面性」數字。
  • 具名實體辨識 (NER) 的工作是從文字中擷取某些實體,例如日期、地址、人名等等。NER 通常結合意圖分類,用在對話系統中從使用者的表達中擷取參數。
  • 類似的關鍵字擷取工作可用來尋找文字內最有意義的字組做為標籤。
  • 文字摘要擷取最有意義的文字片段,為使用者提供最具意義的簡練版本。
  • 問題/答案是從一段文字中擷取答案的工作。 此模型取得文字片段和問題做為輸入,然後需要在文字內尋找答案的確切位置。 例如,文字為「John 是 22 歲的學生,喜歡使用Microsoft Learn」,問題為「John幾歲」,答案會是22。

在本課程模組範圍內,我們主要會著重於文字分類工作。 我們將使用新聞標題的文字來分類其屬於下列 4 個類別的哪一個:[全球]、[體育]、[商業] 和 [科技]。 我們也將介紹可自行產生類似人類文字序列的生成模型。

學習目標

在此課程模組中,您將會:

  • 瞭解如何在自然語言處理工作中處理文字
  • 介紹如何使用遞歸神經網路 (RNN) 和生成網路
  • 瞭解如何建立文字分類模型

必要條件

  • 基本 Python 知識
  • 關於如何使用 Jupyter Notebook 的基本知識
  • 對機器學習的基本了解