2023年5月18日 星期四

AI 入門:23.自然語言處理 - 循環神經網路(RNN)(人工智慧 28 堂基礎課程)

自然語言處理 (Natural Language Processing, NLP) 是人工智慧(AI)的一個分支,主要探討如何讓電腦與人類進行自然的語言互動。NLP 的終極目標是讓電腦能夠閱讀、解釋、並理解人類的語言,儘管如此,NLP 應用的開發卻是一個極具挑戰性的工程。這是因為傳統上電腦需要人類使用精確、明確 (Unambiguous) 且高度結構化的程式設計語言來跟它“對話”。然而,人類的語言往往沒有這麼高度明確與結構化的特徵,語言結構可能會受到多種複雜變數的影響,例如俚語、地區方言和社會環境等,這讓 NLP 應用的開發更加困難。

.
NLP 本身並不屬於機器學習(ML)方法,而是一種廣泛應用於為機器學習準備所需文字資料的技術。通常,NLP 使用一種稱為循環神經網路 (Recurrent Neural Network, RNN) 的模型進行訓練(上圖中間的簡單圖例)。RNN 是一種神經網路,它與 CNN 最主要區別在於,RNN 將某些層 (Layers) 的輸出作為同一層的輸入,並以循環的方式訓練整個神經網路。由於 RNN 能夠從過去發現的內容中進行學習,因此常被用於文本識別 (Text recognition)。例如,RNN 可以學習“狗”和“熱狗”這兩個詞代表不同的意義。此外,RNN 也常被用在語音辨識 (Speech recognition),因為這種技術可以理解整個句子的含義(在理解句子候,必須著重在理解整個句子而不能只是去理解每個單詞)。

句型 (Syntactic) 和語義 (Semantic) 分析是用於執行 NLP 工作的主要技術,句型指的是單詞在句子中排列的方式,讓整個句子產生語法上的意義。因此,句型分析主要用來評估自然語言是否符合語法規則。以下是一些常見用於 NLP 句型分析的技術:
  • 語法分析 (Parsing)

  • 對一個句子進行語法規則分析 (Grammatical analysis) 的過程。
  • 分詞 (Word segmentation)

  • 將一個句子或一大段連續的文本分割為不同單詞的過程。
  • 斷句 (Sentence breaking)

  • 將一大段連續的文本分割為不同句子的過程。
  • 語素分割 (Morphological segmentation)

  • 將單詞劃分為最小且具有意義的獨立單元的過程。這種獨立單元稱為語素 (Morpheme)。語素是一個語言中最小且有意義的單位,例如「蝴蝶」和「蝶」都是語素,而「蝴」不是語素。
  • 詞形還原 (Lemmatization)

  • 以字典為基礎,將一個單詞的各種形態變化(或詞形變化)減少到一個單一的形式(基本形態)的技術,以便於分析。例如,在英文中,一個動詞會因為主詞與時態不同而有變化,動詞「to walk」可能出現「walk」、「walked」、「walks」或「walking」等不同形態。但我們查字典時,會從這個動詞的基本形態「walk」開始。
  • 詞幹提取 (Stemming)

  • 詞幹提取與詞形還原的目的相同,都是將單詞回復到基本形態(詞根)的作法。詞幹提取使用一套規則來拆解單詞,去除其語氣詞(詞綴),並將單詞轉換為其根形式,例如在英文中常見的複數名詞、動詞進行式和過去分詞。
  • 詞性標註 (Part-of-speech tagging)

  • 將一個句子中的單詞進行語言定義的詞類 (Part of speech, POS) 標註的過程,例如名詞、動詞、形容詞、副詞、介係詞等。透過詞性標註,可以幫助自然語言處理系統更準確地理解句子的意義和結構。

語義 (Semantic) 是指文本(一個句子或一篇文章)所欲傳達的意義。與句型分析相比,語義分析更加困難,因為它需要使用電腦演算法來理解單詞的內涵和意義,並對句子的結構進行深入的理解。以下是一些常用於 NLP 語義分析的技術:
  • 語義辨識或稱為詞義消歧 (Word sense disambiguation)

  • 由於一個單詞在不同的上下文中(使用場景)會產生不同的意義,語義辨識也就是用來解決這個問題的技術。在語義辨識中,電腦會依據文章的上下文、詞彙組合等因素,進行詞義的選擇和判斷,最終賦予該單詞具體的意義。
  • 專名辨識或命名實體消歧 (Named entity recognition, NER)

  • 用於在本文中識別具有特定意義的實體單詞的技術,例如人名、地名、特定機構名稱或專有名詞等。其主要目的是自動辨識出文本中的命名實體 (Named entity),以便更好地理解和分析文本的內容。
  • 自然語言生成 (Natural language generation)

  • 是一種使用資料庫、語言模型或其他方法來推導語義的意圖,並將其轉換為人類可以理解的語言的技術。NLG 在自然語言處理領域扮演著重要的角色,它已經被大量應用在機器翻譯、文本摘要、對話系統等多個領域。

除了研究機構與學術單位持續對 NLP 進行的研究工作之外,它已經被廣泛應用在實務場景中,解決各種問題。以下是 NLP 常見的應用場景:
  • 文本分類 (Text classification)

  • 文本分類的主要目的是對文檔(通常是一篇較長的文章)的主題 (Topic) 或主旨 (Theme) 進行準確分類。例如,情感分析 (Sentiment Analysis) 是實務上常見的文本分類應用之一。透過情感分析,我們可以分析一段文章中所含的情感基調,並給予“正面 (Positive)”或“負面 (Negative)”的分類。舉例來說,零售電商業者通常會利用情感分析技術,將顧客對產品或服務的評論歸類為正面或負面,藉以優化顧客體驗。
  • 語言建模 (Language modeling)

  • 語言建模是一個解決自然語言問題的子任務 (Subtask),其主要功能在於分析一個句子的前後文,然後產生一個可以在此基礎意涵上延伸的新句子。語言模型在自然語言處理的許多領域中都有實際的應用案例,例如語音辨識、機器翻譯、詞性標註、句法分析,以及資訊檢索 (Information Retrieval) 等。
  • 語音辨識 (Speech recognition)

  • 語音辨識的主要目的是將包含自然語言的聲音信號轉換為說話者期望表達的文字,例如將電話錄音內容轉換為文字、為電影或電視節目產生字幕、或是將駕駛口述的內容轉換為對行車電腦發出的指令。
  • 語言翻譯 (Language translation)

  • 將某種語言的原始文本轉換為另一種語言的過程。
  • 文件摘要 (Document summarization)

  • 將一個文字檔(文本內容)進行簡潔描述的過程,通常包括自動產生標題或簡短內容摘要。
  • 問題回覆 (Question answering)

  • 一種自然語言處理技術,其目的在透過語言模型理解使用者提出的問題,然後使用自然語言工程 (Natural Language Engineering) 技術產生一個合適的簡短回答並回覆給使用者。





人工智慧 28 堂基礎入門課程,完整目錄連結:
1.課程目的 15.分類(Classification)
2.資料就是新一代的能源 16.低度擬合與過度擬合
3.結構化資料 17.分群(Clustering)
4.非結構化資料 18.整合學習方法
5.半結構化資料 19.模型參數與超參數
6.為資料加上維度的概念 20.深度學習框架
7.人工智慧、機器學習、深度學習的定義 21.深度學習的主力 – 神經網路
8.構成 AI, ML 與 DL 的基本元素 22.影像辨識 - 卷積神經網路(CNN)
9.機器(深度)學習工作流程 23.自然語言處理 - 循環神經網路(RNN)
10.模型具體是什麼? 24.生成式對抗網路(GAN)
11.資料準備-維度縮減 25.移轉學習
12.資料準備-資料分割 26.衡量預測結果的品質
13.機器學習方法概述 27.實作 ML 與 DL 的挑戰
14.迴歸(Regression) 28.IBM AI 階梯方法論







版權聲明
人工智慧 28 堂基礎入門課程系列文章係依據 IBM 原廠英文教材進行適度翻譯與內容調整而成,每一門課程使用的主圖片其版權歸屬於 IBM 公司。文章內容未經授權,請勿進行任何形式的複製、修改或發佈本文內容,如需轉載或引用,請在使用時注明出處並取得授權。本文中提及的特定公司、產品、品牌名稱等僅為描述目的,其版權歸屬於相應的公司或擁有者。

沒有留言:

張貼留言