iT邦幫忙

2023 iThome 鐵人賽

DAY 4
0
AI & Data

圍繞 AI & Data 的主題系列 第 4

[Day 4] 自然語言處理 (Natural Language Processing)

  • 分享至 

  • xImage
  •  

Hello 大家好!歡迎回來!昨天剛剛分享完深度學習技術 (Deep Learning Techniques),那今天我打算跟大家分享自然語言處理 (Natural Language Processing)。事不宜遲,現在開始!

簡介

自然語言處理 (NLP)是人工智慧的一個分支,是一個跨學科領域,結合了語言學、計算機科學和人工智慧,關注電腦與人類語言之間的交互作用,使得計算機能夠理解、解讀和生成人類語言。它涉及開發算法和模型,使計算機能夠理解和處理自然語言,實現機器翻譯、情感分析、問答系統、文本摘要等任務。

為什麼 NLP 很重要?

自然語言處理對於高效且完整地分析文字和語音資料至關重要。它可透過日常對話中典型的方言、俚語和語法不規則性的差異來運作。以下是一些自動化任務的例子:

  • 處理、分析和封存大型文件
  • 分析客戶意見回饋或呼叫中心記錄
  • 執行聊天機器人以實現自動化客戶服務
  • 回答誰、什麼、何時、在哪裡問題
  • 分類和擷取文字
    爲了更高效地與客戶溝通,我們還可以將 NLP 整合至面向客戶的應用程式中,例如聊天機器人可分析和排序客戶查詢,自動回應常見問題,並將複雜的查詢重新引導至客戶支援。這種自動化有助於降低成本,節省客服人員花費在冗餘查詢上的時間,並改善客戶滿意度。
    https://ithelp.ithome.com.tw/upload/images/20230917/20163226bTylJgnu21.png [1]

主要範疇

  • 文字朗讀 (Text to Speech)
  • 語音合成 (Speech Synthesis)
  • 語音識別 (Speech Recognition)
  • 中文自動分詞 (Chinese word Segmentation)
  • 文件分類 (Document Classification)
  • 文字分類 (Text Categorization)
  • 問答系統 (Question answering)
  • 聊天機器人 (ChatBot)
  • etc...

關鍵技術

  1. 分詞 (Tokenization):分詞是將文本分解為個別單元(或稱為token)的過程。這些單元可以是詞、句子,甚至更小的單位如字符。分詞是大多數NLP任務的基礎。
    https://ithelp.ithome.com.tw/upload/images/20230917/20163226DISbxpWWTL.png [2]
  2. 詞性標註 (Part-of-Speech Tagging):詞性標註是將給定文本中的每個詞分配一個詞性(如名詞、動詞、形容詞等)的過程。這些信息對於理解句子的句法結構非常重要。
    https://ithelp.ithome.com.tw/upload/images/20230917/20163226BVive7CmCA.png [3]
  3. 命名實體識別 (Named Entity Recognition):NER是識別和分類文本中命名實體(如人名、組織名、地點等)的任務。它在信息提取和文本理解中起著關鍵作用。
    https://ithelp.ithome.com.tw/upload/images/20230917/20163226aD6EucsMYY.png [4]
  4. 情感分析 (Sentiment Analysis):情感分析旨在判斷文本中表達的情感或情緒。它通常用於分析社交媒體情感、客戶評論以及對產品或服務的公眾意見。
    https://ithelp.ithome.com.tw/upload/images/20230917/20163226MnkofrPvWJ.jpg [5]
  5. 機器翻譯 (Machine Translation):機器翻譯專注於自動將一種語言的文本翻譯成另一種語言。統計機器翻譯和神經機器翻譯等技術在近年來顯著提高了翻譯質量。
    https://ithelp.ithome.com.tw/upload/images/20230917/20163226kyEHG5w2Qa.png [6]
    (粗體字為將來會介紹的主題)

應用

  • 虛擬助理
    為Siri、Alexa和Google助手等虛擬助理提供了理解和回應用戶查詢的能力。
  • 文本摘要
    可以自動生成長文本的簡潔摘要,使從大量文件中提取關鍵信息更加容易。
  • 聊天機器人
    利用NLP理解和回應用戶的詢問,提供自動化的客戶支持和協助。
  • 信息提取
    實現從非結構化文本中提取結構化信息的能力,例如從新聞文章或科學論文中提取實體、關係和事實。
  • 文本分類
    用於垃圾郵件檢測、情感分類、主題分類等任務。

限制

雖然 NLP 看起來很好,但還是有一些限制 == 這需要關於外在世界的廣泛知識以及運用操作這些知識的能力,自然語言認知,同時也被視為一個人工智能完備 (AI-complete) 的問題。同時,在自然語言處理中,「理解」的定義也變成一個主要的問題。

「理解」?

是的,「理解」是一個蠻重要的問題,例如:
「我把飯遞給弟弟,因爲煮好了」和「我把飯遞給弟弟,因爲餓了」,兩者都是一個同樣的結構,但我們在中文裏常常省略這些代詞,如果輸入給 NLP,它可能會分不清楚哪一個對應哪個:到底是飯煮好了還是弟弟煮好了?//到底是弟弟餓了還是飯餓了?如果不理解兩者的屬性,就會區分不出來。

混淆?

對,有些字可能有多重意義。不少的中文相關笑話即是利用類似結構的中文造句而成,此類笑話通常帶有「中文博大精深」之類的詞彙。

某外國人苦學漢語10年,到東方參加漢語考試。試題為「請解釋下列句子」: 阿呆給長官送紅包時,兩個人的對話頗有意思。 長官:「你這是什麼意思?」 阿呆:「沒什麼意思,意思意思。」 長官:「你這就不夠意思了。」 阿呆:「小意思,小意思。」 長官:「你這人真有意思。」 阿呆:「其實也沒有別的意思。」 長官:「那我就不好意思了。」 阿呆:「是我不好意思。」
那個外國人淚流滿面,交白卷回國了。

又或者拿英文作爲例子:
bat 這個單字在以下句子中表示不同的事物

  • A bat is a nocturnal creature. (蝙蝠是夜行性生物。)
  • Baseball players use a bat to hit the ball. (棒球運動員使用球拍擊球。)

當然,透過字義去除混淆,NLP 軟體可訓練其語言模型或引用字典定義,來識別單字的預期含義,所以這也不算是什麽太大的問題。

參考資料

我是 Mr. cobble,明天見!


上一篇
[Day 3] 深度學習技術 (Deep Learning Techniques)
下一篇
[Day 5] 資料視覺化 (Data Visualization)(上)
系列文
圍繞 AI & Data 的主題30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言