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

2020-12-02 中原動力智慧機器人

自然語言處理(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來理解客戶在說什麼以及如何響應。

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

建立在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)——利用詞法,或研究詞與詞之間的關係。單詞(或標記)是根據它們在句子中的功能來標記的。這是通過使用文本語料庫中的既定規則來識別單詞在言語中的目的,即動詞、名詞、形容詞等。

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

語義分析——是指句子中使用的詞語的預期意義。單詞可以有不止一種意思。例如,「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」。這樣做可以帶來更好的結果。

④. 詞嵌入

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

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

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

步驟3:分析和建模

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

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

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

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

結語

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

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

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

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

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

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

相關焦點

  • 國內自然語言處理(NLP)研究組
    Lab)ByteDance AI Lablab.toutiao.com中科院計算所自然語言處理研究組歡迎來到中科院計算所自然語言處理組網站nlp.ict.ac.cn中科院自動化研究所語音語言技術研究組中文信息處理組nlpr-web.ia.ac.cn中國科學院軟體研究所中文信息處理實驗室中科院軟體所中文信息處理實驗室www.icip.org.cn
  • 【超全資源】自然語言處理(NLP)入門學習資源清單(部分資料下載)
    •  Dan Jurafsky 和 Chris Manning:自然語言處理[非常棒的視頻介紹系列]https://www.youtube.com/watch?v=nfoudtpBV68&list=PL6397E4B26D00A269 •  斯坦福CS224d:自然語言處理的深度學習[更高級的機器學習算法、深度學習和NLP的神經網絡架構]http://cs224d.stanford.edu/syllabus.html •  Coursera:自然語言處理簡介[由密西根大學提供的NLP
  • 中文NLP福利!大規模中文自然語言處理語料
    新智元推薦來源:AINLP作者:徐亮【新智元導讀】本文介紹一個中文自然語言處理語料庫項目:nlp_chinese_corpus ,初步貢獻了幾個已經預處理好的中文語料,包括維基、新聞和百科語料,可直接下載使用。
  • NLP 與 NLU:從語言理解到語言處理
    同理,在自然語言處理領域中,自然語言處理(NLP)的概念是否會讓位於自然語言理解(NLU)? 或者兩個概念之間的關係是否變得更微妙,更複雜,抑或只是技術的發展?在這篇文章中,我們將仔細研究NLP和NLU的概念以及它們在AI相關技術中的優勢。值得注意的是,NLP和NLU儘管有時可以互相交換使用,但它們實際上是兩個有一些重疊的不同概念。
  • NLP入門+實戰必讀:一文教會你最常見的10種自然語言處理技術
    大數據文摘作品編譯:糖竹子、吳雙、錢天培自然語言處理(NLP)是一種藝術與科學的結合,旨在從文本數據中提取信息。從自動翻譯、文本分類到情緒分析,自然語言處理成為所有數據科學家的必備技能之一。在這篇文章中,你將學習到最常見的10個NLP任務,以及相關資源和代碼。為什麼要寫這篇文章?
  • 科普自然語言處理
    例如,漢語、英語、日語為自然語言的例子,這一種用法可見於自然語言處理一詞中。自然語言是人類交流和思維的主要工具。以上是百度百科對自然語言的釋義。語言是信息的載體,如同數字、文字、圖像、視頻等一樣,它們的目的都是為了記錄和傳播信息。
  • 自然語言處理的最佳實踐
    雷鋒網 AI 開發者按,近年來,自然語言處理(NLP)在質量和可用性方面快速增長,這有助於推動人工智慧解決方案的實際落地。在過去的幾年裡,研究人員一直在將新的深度學習方法應用於 NLP。數據科學家開始從傳統的方法轉向最先進的(SOTA)深度神經網絡(DNN)算法,這種算法使用的語言模型經過了大文本語料庫的預訓練。
  • 人工智慧難點之——自然語言處理(NLP)
    (人工智慧主要包含以下幾個方面: 自動推理-計算語言學-計算機視覺-進化計算-專家系統-自然語言處理-機器人學)自然語言處理(NLP)是資訊時代最重要的技術之一。理解複雜的語言也是人工智慧的重要組成部分。NLP的應用無處不在,因為人們用語言進行大部分溝通:網絡搜索,廣告,電子郵件,客戶服務,語言翻譯,發布學報告等等。
  • 重磅發布 | 牛津大學Deep NLP深度自然語言處理課程17年最新(漢化視頻)
    大數據文摘作品,轉載要求見文末大數據文摘重磅推出牛津大學深度學習與自然語言處理課程(Deep NLP)漢化視頻!大數據文摘視頻團隊在今年又獲得重磅資源,牛津大學深度學習與自然語言處理課程(Deep NLP)!大數據文摘已聯繫課程主講人取得翻譯授權,並聯合北京郵電大學模式識別實驗室組織了視頻漢化,免費發布。 所以大家可以看到中文字幕了!開不開心!
  • 2019自然語言處理前沿論壇 五大議題全面解析NLP技術前沿
    5月26日,由百度與中國計算機學會中文信息技術專委會、中國中文信息學會青工委聯合舉辦的「2019自然語言處理前沿論壇」正式召開。本屆論壇主題為「機器之『讀、寫、說、譯』—— 探尋NLP未來之路」。論壇圍繞語義計算、自動問答、語言生成、人機對話及機器翻譯五大議題,與學術界、工業界一線青年專家學者共同探討NLP領域的最新技術進展、產業應用及發展趨勢。
  • 自然語言處理 NLP 發展簡史
    但 IBM 旗下的 Fortran 表處理語言卻未能支持符號運算的遞歸、條件表達式、動態存儲分配及隱式回收等功能。於是麥卡錫帶領由 MIT 學生組成的團隊開發了一門全新的表處理語言 LISP,賦予了程式語言更強的數學計算能力。LISP 語言後來也被稱為人工智慧的「母語」,成為早期人工智慧研究人員的程式語言。
  • 實踐入門NLP:基於深度學習的自然語言處理
    特別是最近兩年,基於深度學習的自然語言處理逐漸取得了一定進展,在人機對話、問答系統、語言翻譯等方向的應用也一直是自然語言處理中的熱門話題,而這些應用的實現,基本依賴於底層技術和模型的進步,再加上自然語言處理領域也算是一個多學科交叉的行業,自然語言處理的未來發展對於很多相關學科和方向都具有深遠的影響力。
  • 資源| MIT自然語言處理數據集和語料庫集合
    原標題:資源 | MIT自然語言處理數據集和語料庫集合 選自Github 作者:Karthik Narasimhan等 >機器之心編譯 參與:李澤南 最近,麻省理工學院(MIT)的在讀博士 Karthik Narasimhan 發起了一個為自然語言處理(NLP)準備的數據集/語料庫列表,以時間順序排列。
  • 自然語言處理全家福:縱覽當前NLP中的任務、數據、模型與論文
    選自Github作者:Sebastian Ruder機器之心編譯參與:思源、曉坤自然語言處理有非常多的子領域,且很多都沒有達到令人滿意的性能。本文的目的是追蹤自然語言處理(NLP)的研究進展,並簡要介紹最常見 NLP 任務的當前最佳研究和相關數據集。
  • 一文讀懂Smartbi的自然語言處理(NLP)技術
    01什麼是自然語言處理 自然語言處理 02自然語言處理的發展趨勢 目前,人們主要通過兩種思路來進行自然語言處理,一種是基於規則的理性主義,另外一種是基於統計的經驗主義。
  • AI自然語言處理(NLP)領域常用的16個術語
    自然語言處理(NLP)是人工智慧領域一個十分重要的研究方向。NLP研究的是實現人與計算機之間用自然語言進行有效溝通的各種理論與方法。本文整理了NLP領域常用的16個術語,希望可以幫助大家更好地理解這門學科。
  • 人工智慧與自然語言處理概述:AI三大階段、NLP關鍵應用領域
    ,對自然語言處理在大數據中扮演的角色作了探討。什麼使得系統智能化?自然語言處理知識表示自動推理機器學習NLP、人工智慧、機器學習、深度學習和神經網絡之間的區別人工智慧:建立能智能化處理事物的系統。自然語言處理:建立能夠理解語言的系統,人工智慧的一個分支。機器學習:建立能從經驗中進行學習的系統,也是人工智慧的一個分支。神經網絡:生物學啟發出的人工神經元網絡。
  • 斯坦福發布重磅NLP工具包StanfordNLP,支持中文等53種語言
    新智元報導 來源:stanfordnlp.github.io編輯:肖琴【新智元導讀】斯坦福團隊最新發布一個NLP任務的軟體包StanfordNLP,通過Python接口為53種語言提供標記、依存句法分析等NLP任務的重要工具
  • 不是你無法入門自然語言處理(NLP),而是你沒找到正確的打開方式
    到底我的數據在 NN 中發什麼了什麼呢?並且,不少的 terms like: 詞向量、word embedding、分布式表示、word2vec、glove 等等,這一鍋粥的名詞術語分別代表什麼,他們具體的關係是什麼,他們是否處於平級關係?
  • 自然語言處理(NLP)中的深度學習發展史和待解難題
    王小新 編譯自 sigmoidal量子位 出品 | 公眾號 QbitAI自然語言處理(NLP)是指機器理解並解釋人類寫作與說話方式的能力。近年來,深度學習技術在自然語言處理方面的研究和應用也取得了顯著的成果。技術博客Sigmoidal最近發布了一篇文章,作者是機器學習工程師Rafal。