科普丨什麼是NLP(自然語言處理)

自然語言處理(NLP)是一種專業分析人類語言的人工智慧。(下文皆簡稱為“NLP”),它的工作原理是這樣的:

接收自然語言,這種語言是透過人類的自然使用演變而來的,我們每天都用它來交流

轉譯自然語言,通常是透過基於機率的演算法

分析自然語言並輸出結果

簡而言之,這就是一個建立演算法的過程。

你使用過蘋果公司的人工智慧語音助手Siri嗎?有沒有好奇過Siri是如何理解你說的(大部分的)話的?Siri的工作過程就是自然語言處理在實踐中應用的一個鮮活案例。

NLP正在成為我們生活中不可或缺的一部分,其與機器學習、深度學習一起達成的高度遠遠優於幾年前取得的成就。

在本文中我們將深入瞭解NLP是如何應用、如何工作的。

NLP可以做些什麼?

NLP應用廣泛,其中包括:

Ⅰ. 機器翻譯

你上一次去國外旅行並且使用手機翻譯外語是什麼時候?可能你用的是谷歌翻譯?這種操作是NLP機器翻譯的一個日常應用。

機器翻譯是透過使用NLP把一種語言翻譯成另一種語言。從歷史上看,簡單的基於規則的方法已經這樣做了,但是時至今日,NLP技術是對已經存在多年基於規則的方法的一大改進。

為了使NLP在機器翻譯方面做得更好,它使用了深度學習技術。這種形式的機器翻譯因為利用了神經網路,所以有時被稱為神經機器翻譯(NMT)。因此,基於統計、試錯等方法翻譯語言的NMT能夠聯絡語境翻譯語言,處理語言的其他微妙之處。

除了像谷歌翻譯這種應用程式,NMT也被使用在非常多商業軟體上,例如:

翻譯純文字、網頁或檔案,如Excel、Powerpoint或者Word。Systran就是這樣一家翻譯服務公司。

實時翻譯社交軟體回覆,SDL Government可以提供相應服務(一家專業做公共部門翻譯服務的公司)。

在醫療環境下翻譯,例如當一名英語語系醫生正在給西班牙語病患治療時,Canopy Speak可以提供幫助。

翻譯財務檔案,如年報、投資評論和資訊檔案,專門從事財務翻譯的公司Lingua Custodia可提供此類服務。

Ⅱ. 語音識別

早前,我們提到Siri是NLP的一個著名應用。Siri使用NLP一個非常明顯的特徵就是語音識別。當然,Alexa和谷歌語音助手同樣也是NLP語音識別的著名應用。

語音識別不是一項新的科學技術,距今已有50多年的歷史了。直到最近,多虧有了NLP,它的準確性和易用性才有了質的提升。

語音識別的核心是識別口語單詞、解釋它們並將其轉換為文字的能力。然後可以採取一系列行動,如回答問題、執行指示或編寫電子郵件。在NLP中使用強大的深度學習的方法使今天的語音識別應用程式比以往任何時候都表現得更出色。

Ⅲ. 聊天機器人

聊天機器人是一種模仿人類對話聊天的程式。第一個聊天機器人Eliza Doolittle出現在20世紀60年代,經過幾十年的發展,NLP已經成為建立聊天機器人的基礎,儘管這樣的系統仍不算完美,但它們可以輕鬆地處理標準任務。聊天機器人當前可在多種渠道上執行,包括Internet,應用程式和訊息傳遞平臺。很多公司用聊天機器人來進行客戶服務、售前諮詢和售後諮詢。

科普丨什麼是NLP(自然語言處理)

你上次登陸某公司網站使用線上幫助系統時,和你交流的就是他們的客服機器人。

雖然簡單的聊天機器人使用基於規則的方法,但如今功能更強的聊天機器人使用NLP來理解客戶在說什麼以及如何響應。

聊天機器人的著名應用包括:

建立在WhatsApp平臺上的世界衛生組織(WHO)聊天機器人,分享關於COVID-19病毒傳播的資訊並回答問題。

《國家地理》(National Geographic)的天才聊天機器人(Genius chatbot),聊天風格像愛因斯坦(Albert Einstein),與使用者互動,推廣同名的《國家地理》節目。

Kian,韓國汽車製造商起亞在FaceBook Messenger上的聊天機器人,回答有關起亞汽車的諮詢並幫助銷售查詢。

Whole Foods的聊天機器人,幫助提供配方資訊、烹飪靈感和產品推薦。

Ⅳ. 情感分析

情感分析是種有趣的NLP和資料探勘任務,對文字資料中包含的情緒進行解析和分類,衡量人們的觀點傾向。例如被用來分析觀眾對電影的評論或由該電影引起的情緒狀態,又例如將線上客戶對產品或服務的反饋按照正面或負面的體驗進行分類。

情感分析最簡單的形式是,根據傳達情感的特定詞語,如“愛”、“恨”、“高興”、“傷心”或“生氣”,對文字進行分類。這種情緒分析方法已經存在了很長時間,但由於其簡單性,實際應用非常有限。

今天的情感分析使用基於統計和深度學習方法的NLP對文字進行分類。其結果就是能夠處理複雜的、自然發音的文字。

如今,世界各地的企業都對情感分析非常感興趣。因為其可以在客戶偏好、滿意度和意見反饋等方面提供有助於市場活動和產品設計的資料。

Ⅴ. 電子郵件分類

電子郵件過載是現代職場常見的難題。NLP可以協助分析和分類收到的電子郵件,以便它們可以自動轉發到正確的收件方。

曾經,人們使用簡單的關鍵詞匹配技術對電子郵件進行分類。這種做法成敗參半。NLP可以更好的進行分類,因為它可以理解整個句子、段落和文字的文字中的上下文。

鑑於當今企業必須處理的電子郵件數量龐大,基於NLP的電子郵件分類可以極大地提高工作效率。使用NLP進行分類有助於確保郵件不會被遺忘在負擔過重的收件箱中,還可以適當地歸檔以備進一步處理。

NLP是如何工作的?

現在我們已經瞭解了NLP是如何應用的,接下來,我們來看一看它是如何工作的。

本質上,NLP是透過將一組文字資訊轉換成指定的輸出資料來工作的。

如果應用程式是機器翻譯,那麼輸入的文字資訊將是源語言(比如英語)的文件,輸出將是目標語言(比如法語)的翻譯文件;如果應用程式是情感分析,則輸出的是將輸入文字分類轉換為情感類別;諸如此類。

NLP工作流

現代NLP是一門融合了語言學、計算機科學和機器學習的混合學科。NLP使用的過程或工作流有以下三個主要步驟:

1. 文字預處理

2. 文字表示

3. 分析和建模

每一步都可能使用一系列技術,這些技術隨著研究的深入而不斷髮展。

第一步:文字預處理

首先準備輸入文字,以便更容易地分析。這部分的NLP在借鑑了一系列傳統語言方法的基礎上,已經很好的建立起來了。

在這個步驟中使用的一些關鍵方法是:

標記法——

將文字分解成有用的單位(標記),例如,使用空格分隔單詞,或者使用句號分隔句子。標記法也能識別經常連在一起的單詞,比如“New York”或“machine learning”。例如,將“Customer service couldn ‘t be better。”這句話進行標記,會產生以下標籤:“Customer service”、“could”、“not”、“be”和“better”。

標準化——

使用詞幹提取和詞形還原等技術將單詞轉換為基本形式。這樣做是為了幫助減少干擾和簡化分析。詞幹分析透過刪除字尾來識別單詞的詞幹。例如,“研究”一詞的詞幹是“studi”。類似地,詞元化除去後綴,必要時也除去字首,從而產生通常在自然語言中使用的單詞。例如,“studies”一詞真正的詞形還原就是“study”。在大多數應用程式中,由於產生的單詞在自然語言中有更多的意義,所以詞形還原比詞幹提取更為可取。

詞性標註(POS)——

利用詞法,或研究詞與詞之間的關係。單詞(或標記)是根據它們在句子中的功能來標記的。這是透過使用文字語料庫中的既定規則來識別單詞在言語中的目的,即動詞、名詞、形容詞等。

科普丨什麼是NLP(自然語言處理)

句法分析——

利用句法或分析單詞和句子如何組合在一起,有助於理解句子的結構,並根據語法規則將句子分解成短語來實現。一個短語可以包含一個名詞和一個冠詞,比如“我的兔子”,或者一個動詞,比如“喜歡吃胡蘿蔔”。

語義分析——

是指句子中使用的詞語的預期意義。單詞可以有不止一種意思。例如,“pass”可以意味著(i)把某件物品交給別人,(ii)決定不參加某件事,或(iii)考試合格。透過觀察目標詞前後出現的單詞,可以更好地理解目標詞的意思。

第二步:文字表示

為了使用機器學習和深度學習方法分析文字,需要將文字轉換為數字。這就是文字表示的目的。在此步驟中使用的一些關鍵方法包括:

①. 詞袋模型

詞袋模型(BoW)是描述文件中單詞出現的文字的一種表示形式,它透過計算輸入文件中每個單詞與已知詞彙的詞彙表相比出現的次數來表示文字。

結果是一組向量,其中包含描述每個單詞出現次數的數字。這些向量被稱為“詞袋”,因為它們不包含任何關於輸入文件結構的資訊。

為了說明BoW是如何工作的,請看示例“

the cat sat on the mat

”。其中包含“the”、“cat”、“sat”、“on”和“mat”等詞。這些詞的出現頻率可以用形式為[2,1,1,1,1]的向量來表示。這裡,單詞“the”出現兩次,其他單詞出現一次。

與一個巨大的詞彙表相比,向量將擴充套件為包含許多零。這是因為詞彙表中沒有包含在例句中的所有單詞的頻率都是零。結果向量可能包含大量的零,因此稱為“稀疏向量”。

BoW簡單易懂。然而,當詞彙量很大時,生成的稀疏向量可能非常大。這會導致在計算上產生數量可觀的包含無效資訊的向量(例如,大部分都是零)。

此外,BoW檢視的是單個單詞,因此不會捕捉到任何組合詞的相關資訊。這會導致接下來分析文字時造成上下文丟失。

②.

N元模型

使用BoW減少上下文丟失的一種方法是建立組合單詞而不是單個單詞的詞彙表。這些分組的單詞被稱為“n-grams”,其中“n”是分組大小。由此產生的方法稱為“N元模型”(BNG)。

該模型基於這樣一種假設,第N個詞的出現只與前面N-1個詞相關,而與其它任何詞都不相關,整句的機率就是各個詞出現機率的乘積。這些機率可以透過直接從語料中統計N個詞同時出現的次數得到。常用的是二元的2-grams和三元的3-grams。

BNG的優點是每個n-gram比單個單詞能捕捉更多的上下文。

在前面的例句中,“sat on”和“the mat”是2-grams的例子,“on the mat”是3-grams的例子。

③。

TF-IDF

計算單詞在文件中出現的次數會出現一個問題,一些單詞開始在計算中佔據主導地位。

像“the”、“a”或“it”之類的詞。這些詞經常出現,但並不包含太多資訊。

處理此種問題的一種方法是將文件中頻繁出現的單詞與唯一出現的單詞區別對待。經常出現的詞往往是像“The”這樣的低值詞。這些詞的計數將被懲罰,以降低其支配地位。

這種方法被稱為“詞頻-逆向檔案頻率”或TF-IDF。詞頻是指單詞在給定文件中的出現頻率,而逆文件頻率則是指單詞在所有文件中的出現頻率。

TF-IDF方法的作用是淡化頻繁出現的單詞,並突出顯示具有有用資訊的更獨特的單詞,例如“cat”或“mat”。這樣做可以帶來更好的結果。

④。

詞嵌入

科普丨什麼是NLP(自然語言處理)

現有的機器學習方法往往無法直接處理文字資料,因此需要找到合適的方法,將文字資料轉換為數值型資料,由此引出了Word Embedding的概念。

一種更復雜的文字表示方法涉及到詞嵌入。它將每個單詞對映到單獨的向量,其中向量趨向於“密集”而不是“稀疏”(即更小,零更少)。在對映過程中,會考慮每個單詞及其周圍的單詞。由此產生的密集向量可以幫助更好地分析比較單詞和上下文。

詞嵌入方法利用強大的機器學習和深度學習來完成對映。這是一個不斷髮展並且已經有了一些出色成果的的領域。目前使用的關鍵演算法包括

Word2Vec

GloVe

FastText

步驟3:分析和建模

NLP過程的最後一步是對透過步驟1和步驟2生成的向量,利用機器學習和深度學習方法執行計算,以產生期望的結果。許多來自非NLP領域的相同的機器學習技術,例如影象識別或欺詐檢測,可用於該分析。

考慮情感分析。可以使用有監督或無監督的機器學習來完成。有監督的機器學習需要預先標記的資料,而無監督的機器學習則使用預先準備好的詞庫對情感進行分類。

利用機器學習,用機率方法對輸入文字向量進行分類。這可以透過一個訓練模型(有監督的機器學習)或者透過與合適詞庫(無監督的機器學習)的比較來實現。

最後呈現的結果是基於機器學習過程中產生的機率的情緒分類。

結語

NLP發展迅速,對社會的影響越來越大。從語言翻譯到語音識別,從聊天機器人到識別情感,NLP正在提供有價值的見解,使我們的生活更高效。

現代自然語言處理運用語言學、計算機科學和機器學習。近幾年來,NLP取得的成果遠遠超過過去我們所見。

NLP的基本工作流程包括文字預處理、文字表示和文字分析。現在有各種各樣的技術在使用,更多的技術正在不斷的研究中發展。

NLP將徹底改變工業和消費者體驗的許多領域,並且已經成為我們日常生活中熟悉的一部分。

有了NLP,我們就有了一種利用我們天生就習慣的媒介參與數字未來的有力方式,那就是我們用語言溝通交流的能力。

(來源:Medium 編譯:ODRobots 作者:Giri Rabindranath)