什么是自然語言處理(NLP)?
譯文【51CTO.com快譯】自然語言處理(NLP)的定義
自然語言處理(NLP)是人工智能的一個分支,它使計算機能夠像人類一樣理解、處理和生成語言。搜索引擎、機器翻譯以及語音助理均由該技術提供支持。
雖然這一術語最初指的是人工智能系統的閱讀能力,但現在已經成為所有計算語言學的一種通俗說法。其子類別包括自然語言生成(NLG)——計算機自行創建通信的能力和自然語言理解(NLU)(理解俚語、發音錯誤、拼寫錯誤和語言其他變體的能力)。
自然語言處理(NLP)的工作原理
自然語言處理(NLP)通過機器學習進行工作。機器學習系統像其他任何形式的數據一樣存儲單詞及其組合方式。短語、句子、有時甚至整本書的內容都被輸入機器學習引擎,并在其中使用語法規則或人們的現實語言習慣,或兩者兼而有之進行處理。然后,計算機使用這些數據來查找模式并推斷出接下來的結果。以翻譯軟件為例:在法語中,“我要去公園”是“Je vais au parc”,因此機器學習預測“我要去商店”也將以“Je vais au”開頭。
自然語言處理(NLP)的應用
機器翻譯是一種功能強大的自然語言處理(NLP)應用程序,但是搜索是最常用的一種用法。每次人們在谷歌或Bing搜索引擎中查找內容時,都人為將數據輸入到系統中。當單擊搜索結果時,搜索引擎會將其解釋為確認其找到的結果是正確的,并在以后使用這一信息更好地進行搜索。
聊天機器人的工作方式與其相同:它們與Slack、Microsoft Messenger和其他聊天程序集成在一起,可以讀取人們使用的語言,然后在鍵入觸發短語時將其打開。當Siri和Alexa等語音助理聽到諸如“嘿,Alexa”之類的短語時,它們就會有回應,而這就是為什么批評人士指責這些人工智能程序一直在進行監聽的原因:如果不這樣做,它們永遠不知道人們什么時候需要它們。除非人們自己打開應用程序,否則自然語言處理(NLP)程序必須在后臺運行,并等待這一短語的出現。
自然語言處理(NLP)的示例
數據有多種形式,但是最大的未使用數據池由文本組成。專利、產品規格、學術出版物、市場研究、新聞以及社交媒體的文章,所有這些都以文本作為主要組成部分,并且文本的數量正在不斷增長。將技術應用到語音,數據池將會變得更大。以下是組織如何使用自然語言處理(NLP)技術的三個示例:
(1)全球管理咨詢服務商埃森哲公司使用自然語言處理(NLP)技術分析合同:“埃森哲法律智能合同探索(ALICE)”工具已經幫助該公司的2,800名專業人士處理上百萬份合同,通過執行文本搜索,來搜索合同條款。ALICE工具使用“嵌入單詞”逐段瀏覽合同文件,尋找關鍵字來確定每段是否與特定合同條款類型相關。
(2)美國電信商Verizon公司采用自然語言處理(NLP)技術處理客戶請求:Verizon公司業務服務保證團隊使用自然語言處理(NLP)技術和深度學習來自動處理客戶請求注釋。該團隊每月收到10萬個以上的入站請求。其人工智能支持服務可以讀取維修票證,并自動響應最常見的請求,例如報告當前票證狀態或維修進度更新。而更為復雜的問題將交給工程師解決。
(3)美國公共電力和天然氣公司((PSE&G)通過虛擬助理幫助客戶:新澤西州州公用事業公司使用虛擬助理技術和其他數字服務,以使其客戶能夠通過語音命令來管理其電費或天然氣賬戶,這是使用亞馬遜公司提供的Alexa 技能工具包構建的。
自然語言處理(NLP)的軟件
無論組織是要構建聊天機器人、語音助理、預測文本應用程序,還是以自然語言處理(NLP)為核心的其他應用程序,都將需要工具來幫助做到這一點。以下是一些受到開發人員歡迎的軟件工,其中包括:
- 自然語言工具包(NLTK)。自然語言工具包(NLTK)是一個開放源代碼框架,用于構建Python程序以使用人類語言數據。它是在賓夕法尼亞大學計算機和信息科學系開發的,提供了與50多種語料庫和詞匯資源庫、一個文本處理庫、一個用于自然語言處理庫的包裝器以及論壇的接口。自然語言工具包(NLTK)是在Apache2.0許可證下提供的。
- SpaCy。SpaCy是一個用于高級自然語言處理的開放源代碼庫,是專門為生產目的而非研究目的而設計的。SpaCy的設計充分考慮了高級數據科學,并允許進行深度數據挖掘。SpaCy是由麻省理工學院開發并許可的。
- Gensim。Gensim是一個開源Python庫。獨立于平臺的庫支持可擴展的統計語義,對純文本文檔進行語義結構分析以及檢索語義相似文檔的功能。它旨在在無需人工監督的情況下處理大量文本。
- Amazon Comprehend。這個Amazon服務不需要機器學習的經驗。它旨在幫助組織從電子郵件、客戶評論、社交媒體、其他文本中找到見解。它使用情感分析、詞性提取和標記化來分析單詞背后的意圖。
- IBM Watson音頻分析器。這個基于云計算的解決方案旨在用于社交監聽、聊天機器人集成和客戶服務監控。它可以分析客戶帖子中的情緒和語氣,并監控客戶服務電話和聊天對話。
- 谷歌云翻譯。這個API使用自然語言處理(NLP)來檢查源文本以確定語言,然后使用神經機器翻譯將文本動態翻譯為另一種語言。該API允許用戶將功能集成到他們自己的程序中。
自然語言處理(NLP)的課程
有許多資源可用于學習創建和維護自然語言處理(NLP)應用程序,其中許多是免費的。其中包括:
- DataCamp中的Python自然語言處理簡介。這門免費課程提供15個視頻和51個練習文件,涵蓋了使用Python進行自然語言處理(NLP)的基礎知識,其中包括如何識別和分隔單詞,如何在文本中提取主題以及如何構建自己的虛假新聞分類器。
- Udemy的自然語言處理(NLP)簡介。這一入門課程提供使用Python和Natural Language Toolkit處理和分析文本的經驗。它包括三個小時的點播視頻、三篇文章以及16個可下載資源。該課程費用為19.99美元,并提供結業證書。
- 使用Udemy的Python進行自然語言處理(NLP)。這一課程面向具有任何語言基礎編程經驗,對面向對象編程概念的理解,具有基礎到中級數學知識以及矩陣運算知識的個人。它完全基于項目,并且涉及構建文本分類器以實時預測推文的情緒,以及構建文章摘要器,該文章摘要器可以獲取文章并提取摘要。該課程包括10.5小時的點播視頻和8篇文章。該課程費用為19.99美元,并提供結業證書。
- edX的自然語言處理(NLP)。這門由微軟公司通過edX提供的為期六周的課程,概述了自然語言處理和經典機器學習方法的使用。它涵蓋了統計機器翻譯和深度語義相似性模型(DSSM)及其應用。它還涵蓋了在自然語言處理(NLP)和視覺語言多模式智能中應用的深度強化學習技術。這是一門高級課程,完成該課程的人員只需支付99美元就可以獲得認證證書。
- Coursera提供的自然語言處理。該課程是Coursera公司的高級機器學習專業化的一部分,涵蓋自然語言處理任務,其中包括情感分析、摘要、對話狀態跟蹤等。Coursera公司表示,這是一門高級課程,估計需要五個星期的學習時間,每周需要學習四到五個小時才能完成。
- Coursera在TensorFlow中進行自然語言處理。該課程是Coursera公司的實踐專業化TensorFlow的一部分,它涵蓋了使用TensorFlow構建自然語言處理系統,該系統可以處理文本和輸入語句到神經網絡中。Coursera公司表示,這是一門中級課程,估計需要四個星期的學習時間,每周需要四到五個小時才能完成。
原文標題:What is NLP? Natural language processing explained,作者:Terena Bell,Thor Olavsrud
【51CTO譯稿,合作站點轉載請注明原文譯者和出處為51CTO.com】