何謂自然語言處理?
自然語言處理是一種機器學習,可讓人們使用人類語言與人工智慧(AI)溝通。
default
{}
default
{}
primary
default
{}
secondary
自然語言處理概觀
NLP 概觀和定義
自然語言處理(NLP)是人工智慧的引人入勝分支,可讓人們和機器以日常語言彼此溝通。您對 Siri 說出指令或在 Google 進行翻譯都是 NLP 的實際範例,因為兩者都顯示軟體理解人類語言並對此做出回應。
NLP 與 AI 的關係?
多數人不是程式設計師或軟體進階使用者,這是自然語言處理如此實用的原因之一。軟體難以在短時間內上手,NLP 可讓您使用甚至複雜的軟體,而無需成為專家。事實上,NLP 可讓您向 AI 簡單地描述所要的內容,如同與向朋友解釋一般。
「AI」一詞涵蓋多種技術,但 NLP 分支著重於人類語言的挑戰。為了真正發揮效用,NLP 解決方案必須不只辨認您所說的字。NLP 系統必須了解文字背後的情境和意圖。為了實現此目標,NLP 開發人員使用其他 AI 技術,例如機器學習和深度學習。
為什麼自然語言處理很重要?
自然語言處理可讓您使用原本難以使用的技術。此外,也使電腦能夠以過去尚未有 NLP 時無法達成的方式,理解文字與語音。NLP 的效益如下:
NLP 幫助員工提高生產力
在工作中,自然語言處理可讓您針對重複或耗時的工作作使用自動化,進而提升效率。例如,客戶服務部門可能會使用 NLP 支援的聊天機器人來處理例行客戶查詢。或者,會計部門可能會使用已啟用 NLP 的系統,從發票和收據中提取關鍵資訊,並用其填入資料庫或試算表。
額外的效益是,自動化資料輸入和處理可減少人為錯誤的機會,並加速工作流程。當系統能夠充分了解人類語言以承擔基本工作時,透過讓使用者專注於更高價值的工作以提高生產力。
NLP 協助改善客戶體驗
當您試圖透過電話聯絡企業,但卡在令人困惑的語音選單時,您正在經歷訓練不良的互動式語音回應系統。但訓練良好的 NLP 聊天機器人可提供客戶更直覺式的體驗。例如,具有已啟用 NLP 系統的電子商務網站,可分析客戶已在網站上瀏覽的產品。透過了解客戶感興趣的產品,系統便可推建客戶可能想要的產品。
NLP 支援的客戶服務聊天機器人透過快速回答問題或解決問題,改善體驗。這些聊天機器人可以設計來提供完整的客戶互動歷史記錄,並識別客戶過去所遇到的問題。
NLP 建立新洞察
若您曾傳送電子郵件給企業提出問題、提供建議或登記申訴,可能會覺得似乎沒有人閱讀。事實上可能如此,因為很少企業有時間閱讀收到的每件客戶意見回饋。但已啟用 NLP 的 AI 確實有時間,可以篩選出龐大的資料集,例如網站上的客戶對話。然後可以為企業提供這些討論的可靠摘要,以便企業修正問題。
自然語言處理如何運作?
以下說明 NLP 如何實現人類和機器的對話。下列步驟適用於文字形式的語言。口語語言的 NLP 有些不同,但遵循相同的一般原則。
讓我們使用範例句子來展示流程的運作方式:
「我喜歡展示自然語言處理的運作方式。」
演算法從文字預先處理開始。
文字預先處理
文字預處理是指簡化人們建立的文字,讓 NLP 演算法更容易處理人類語言。
- 分詞化
分詞化是將句子中的文字和標點符號細分為詞元的過程。分詞化非常重要,因為執行索引和搜尋等工作時,NLP 演算法處理詞元的效率更高。範例句子中有八個字:「I like demonstrating how natural language processing works.(我喜歡展示自然語言處理的運作方式。)」其中也有句號,因此您計算文字可獲得八個詞元,而計算句號可獲得一個詞元,總共有九個詞元。
- 小寫化
小寫化是將所有詞元轉換為小寫詞元的過程以簡化資料集。在範例句子中,其中一個詞元為「I」。為避免歧義並提升效率,小寫化步驟會將大寫詞元轉換為「i」。小寫化的規則在流程的其他部分會更加複雜。
- 移除停用詞
另一種簡化文字進行自然語言處理的方式,就是移除沒有實質含義的字詞,也就是所謂的停用詞。在範例句子中,「i」和「how」這兩個字通常會被指定為停用詞。當演算法移除這兩個字時,您還剩下七個詞元,分別是「like」、「demonstrating」、「natural」、「language」、「processing」、「works」和「.」。
- 詞幹提取和詞性還原
即使剩下七個詞元,仍有更多簡化空間。詞幹提取是一種方法,即將文字刪減成其基本或詞根形式。詞元「demonstrating」是基於詞幹「demonstr」建構的單字,就像「natural」是基於「natur」建構的一樣,所以模型將原始詞元取代為詞幹「demonstr」和「natur」。
一個單字在不同情境中可以有不同的含義,而詞性還原是決定特定情境中正確含義的過程。範例句子包括「like」,可以指「enjoy」或「similar to」。在此情況下,詞性還原最終會確定情境,「like」是指「enjoy」。
文字表示法
下一步是文字表示法,也就是將文字轉換成電腦可以處理的數值格式。除了數字以外,可將文字轉換為向量或嵌入,這是更複雜的格式,能夠提供情境等資訊。
- 詞袋(BoW)
電腦非常適合計算,BoW 測量就是計算一個單字在文件中的出現次數。例如,若單字 team、game 和 score 經常出現在文件中,則情境更可能是運動。範例句子每個單字只出現一次。BoW 表示法會顯示每個單字只出現一次,如下所示:
{“i”: 1, “like”: 1, “demonstrating”: 1, “how”: 1, “natural”: 1, “language”: 1, “processing”: 1, “works”: 1}
- TF-IDF(詞頻-逆文件頻率)
TF-IDF 使用公式,根據單字在由多個文件構成的整體資料集中出現頻率,來決定單字的重要性。單字出現越頻繁,其 TF-IDF 權重越低,而且在一個文件中的重要性也越小。「the」和「a」這樣的字出現相當頻繁,所以不太重要。您將使用類似這樣的形式表範例本句子的權重,顯示常見單字的權重較低,不常見單字的權重較高:
{“i”: 0.1, “like”: 0.1, “demonstrating”: 0.3, “how”: 0.1, “natural”: 0.2, “language”: 0.2, “processing”: 0.5, “works”: 0.1}
文字分析
文字分析是 NLP 演算法從文字擷取含義的階段。此流程讓演算法針對使用者的查詢產生適當回應。
- 命名實體識別(NER)
完成一些量化分析後,NLP 演算法接下來會尋找可辨識為命名事物的單字。apple 一詞是指一種水果,而 Apple 則指特定的公司,而 NLP 演算法需要方法以辨識差異。範例句子「I like demonstrating how natural language processing works」,其中包括「natural language processing」一詞,人們可能會將其辨識 AI 技術的名稱。可如下表示:
NER 輸出:[(“natural language processing”, “Technology”)]
- 情感分析
有些資料集,例如割草機零件的目錄,可能沒有顯著的情感語調。但電影評論可能會有強烈的情感語調。若資料集有語調,則情感分析為自然語言處理擷取語調的步驟。針對範例句子,情感分析可能如下:
情感輸出:正面
語法剖析
每個句子都有文法結構。語法剖析是分析該結構以尋找名詞、動詞、主詞等的流程。這很重要,因為不同的語言會使用不同的語法,因此語法剖析對機器翻譯至關重要。針對範例句子,語法剖析可能會產生以下結果:
語法樹狀結構:(ROOT (S (NP (PRP I)) (VP (VBP like) (S (VP (VBG demonstrating) (SBAR (WHADVP (WRB how)) (S (NP (NNP Natural) (NNP Language) (NNP Processing)) (VP (VBZ works)))))))))
根據特定演算法,通常會有其他步驟。結果是在對話中,機器似乎理解您的語言和意圖,並以自然語言回應您。
自然語言處理工作的範例為何?
使用語音指令控制無人機
即使最強大的技術,如果不知道怎麼使用,其價值也變得有限。自然語言處理使技術更容易取得。這會減少專業技術知識的需求,即可取得進階軟體或硬體效益。使用者可透過自然對話與已啟用 NLP 的系統互動,而非依賴複雜的指令、編碼或實體控制。
例如,小型無人機的遠端控制應用程式可以讓您簡單告知無人機即可在空中進行翻轉,而不需要學習您需要使用的複雜控制。能夠使用簡單的語音指令,可以讓更多人使用技術。
獲得更深入的品牌管理洞察
人們每天都會表達自己的想法和喜好,企業也能取得這些大量資料。企業已使用產品銷售等資料,了解客戶行為的某些層面。電腦也可透過自然語言處理解決方案,將社交媒體對話和線上客戶評論轉換為可據以行動的資訊。
NLP 的洞察與傳統銷售分析屬於不同的資訊類型。企業使用銷售數據獲取預測或資源管理等營運洞察,但以 NLP 為基礎的分析對於品牌管理或強化客戶體驗可發揮更大作用。
防止資訊超載
若您有工作使用的電子郵件地址,則資訊超載似乎無可避免。員工平均每天收到超過 120 封電子郵件,因此毫不意外,大約有 60% 的員工忽略內部公司電子郵件。但若電子郵件應用程式有 NLP 功能,則可避免資訊超載。其可篩選、分類和排列電子郵件的優先順序,使最重要的電子郵件獲得所需關注。
同樣地,內建於協作軟體中的 NLP 系統可以抄錄和總結會議。甚至可以辨識和擷取會議期間做出的關鍵要點,並報告指派的動作項目。這種已啟用 NLP 的自動化可協助個人節省時間並提升整體組織效率。
自然語言處理應用案例
NLP 正在改變產業NLP 應用可提升員工效率、改善客戶體驗,並支援策略性決策,涵蓋各種產業。下列是一些不同產業 NLP 亮眼的應用案例。
瑕疵分析:透過分析技術人員的註記、客訴和保固申索,識別常見瑕疵
供應商溝通:透過分析供應商電子郵件和文件,實現即時物料採購
詐騙偵測:透過交易模式監控和分析,識別表示詐欺的異常
貿易加速:根據即時資料分析,自動化交易執行
臨床紀錄文件:抄錄和管理臨床註記
病患資料分析:透過病患記錄中的模式識別來協助診斷
契約分析和法規遵循檢查:針對法規和其他法規遵循自動化文件審查
法定開示自動化:從大量文件中快速篩選病患資訊
索賠處理自動化:從提交的索賠表單和醫療報表擷取和驗證資訊
風險評估:透過自動擷取醫療記錄和生活方式問卷的資料,改善風險評估準確性
維護記錄分析:分析維護人員的註記,預測並防止設備故障
地質資料判讀:從地質報告、鑽探記錄和研究論文等來源擷取並總結資料
房產刊登優化:根據房產特色產生引人入勝的說明
潛在商機資格:分析電子郵件和線上查詢,根據購買意願排列優先順序
存貨優化:透過銷售資料分析預測需求
個人化產品推薦:透過購買歷史記錄分析,打造更個人化的購物體驗
自然語言處理方法
自然語言處理的大多數方法屬於兩個廣泛類別之一。採用以規則為基礎的方法,或以機器學習為基礎的方法。
以規則為基礎的 NLP
此方法嘗試找出一套語言學規則,讓電腦能夠遵循以可靠地理解並產生人類語言。因此,主要以計算語言學的語言學層面為導向。若您所使用資料集的語言受控制且可預測(例如法律文件或技術手冊),則以規則為基礎的方法可能非常有效。
以機器學習為基礎的 NLP
以機器學習為基礎的 NLP 方法使用各種統計方法和演算方法。目的並非事先建立規則,而是讓電腦學習如何根據大量資料集進行溝通。這個概念是,一旦電腦處理足夠的人類語言範例,電腦就會找出構成良好人類語言的模式。若您擁有足夠的資料集,以機器學習為基礎的 NLP 方法可非常彈性且非常有效。
自然語言處理的簡史
作為 AI 分支的自然語言處理在 1940 年代開始發展。在 1980 年代和 1990 年代,運算解決方案變得越來越強大,機器學習開始成熟。到了近年,深度學習、神經網路及各種形式生成式 AI 的興起,完全改變了自然語言處理。
NLP 演化的事件
- 1940 年 | NLP 初步發展,包括 Weaver 備忘錄,提出機器翻譯的構想。
- 1950 年 |「普遍文法」提出;圖靈測試問世;深度學習興起
- 1960 年 | ELIZA 等聊天機器人出現,NLP 依據的語言學理論不斷發展
- 1970 年 | 格語法理論和語意網路出現;以規則為基礎的系統成熟且聊天機器人大量湧現
- 1980 年 | 早期機器學習演算法發展;語音辨識技術演進;計算語言學擴展,以及 RNN 理論出現
- 1990 年 | 統計模型和 LSTM 出現,機器翻譯受到關注
- 2000 年 | 機器學習快速演進,神經語言模型發展;大量語音和文字資料變得可取得
- 2010 年 | 可用資料大幅增加,且計算使深度學習快速演進
- 2020 年 | 大型語言模型、預先訓練的語言模型和變換器(Transformer)逐漸展露頭角
自然語言處理的技術概觀
自然語言處理是一個統稱,涵蓋一系列技術和技巧,使機器能夠理解和產生人類語言。每個實現 NLP 的技術都屬於這兩種能力之一。
NLP 子類別
自然語言處理涵蓋一系列技術和技巧。但 NLP 的主要目的是使機器能夠理解和產生人類語言。這兩個能力是自然語言處理的主要部分。
- 自然語言理解(NLU):自然語言理解著重於理解和解讀人類語言。若要做到這一點,NLU 系統必須能夠剖析語法、分析語義,並了解情境如何影響人類語言的含義。其中形式可能包含了解口語問題或根據語音指令執行工作。
- 自然語言產生(NLG):自然語言產生著重於產生類似人類的文字或語音。若要做到這一點,NLG 系統必須能夠把非結構化資料轉變成自然流暢的語言。這可能表示總結資訊,甚至進行對話。
機器學習在 NLP 中的角色
電腦如果能自行學習新技能,能做到什麼?這就是機器學習的核心所在。機器學習是指電腦在沒有特定指令下如何自行學習執行工作。
針對 NLP,機器學習採用的形式是建立能夠實現自然語言理解和自然語言產生的模型。其使用的技術包括監督式學習(指在有標籤的資料上訓練模型)和非監督式學習(指在沒有標籤的資料上訓練模型)。
深度學習在 NLP 中的角色
深度學習是機器學習的特定形式。其使用具有多層的神經網路,這就是名稱中有「deep(深度)」的原因。「learnig(學習)」是指使用演算法,在資料集中識別複雜模式並建模。深度學習在 NLP 中非常重要,因為可讓 NLP 在特定工作表現更好。這些工作包含翻譯不同語言、分析資料集中的情感,以及產生文字。
神經網路如何強化 NLP
神經網路是基於使用人腦作為處理資料模型的概念。神經網路能讓 NLP 系統在理解和產生人類語言方面都具有高度準確性。神經網路可以具有各種架構,並且是實現應用(例如虛擬助理、聊天機器人或自動文字分析)的關鍵。
計算語言學和 NLP
計算語言學是結合電腦科學和語言學的研究領域,專注於自然語言處理。其為使電腦理解人類語言而奠定理論基礎。
- 語法
研究句子結構,以及使句子符合文法或不符合文法的規則。
英文語法:「The cat sits on the mat.」
不正確的英文語法:「Cat the on mat sits.」
- 語意
研究語言的意義,包括單字和片語如何代表事物、動作和概念。
句子:「The cat is on the mat.」
語意解讀:意思是,有一隻貓坐在墊子上。
- 語用學
研究情境影響語言解讀的方式。
句子:「Can you pass the salt?」
語用解讀:雖然是關於能力的問題,但情境顯示應該理解為禮貌請求人遞鹽。
計算語言學非常重要,因為連結語言學理論與實際的 NLP 應用。
常見問題
4 個主要子領域如下:
1. 自然語言理解(NLU)專注於讓電腦理解語言背後的含義和意圖
2. 自然語言產生(NLG)可將結構化資料轉換為人類可讀的文字
3. 語音辨識將口語語言轉換為副本
4. 語音合成將副本(或書面文字)轉換為口語語言