人工智能與自然語言處理概述:AI三大階段、NLP關(guān)鍵應(yīng)用領(lǐng)域
近日,Xenonstack 上推出了一篇名為《Overview of Artificial Intelligence and Role of Natural Language Processing in Big Data》文章,作者為 Jagreet Kaur,其全面概述了人工智能及其各個細(xì)分領(lǐng)域的狀況,并著重介紹了大數(shù)據(jù)和自然語言處理的發(fā)展,對自然語言處理在大數(shù)據(jù)中扮演的角色作了探討。機器之心對文章進行了編譯,原文鏈接附于文末。
一、人工智能概述
AI 指代「人工智能」,是讓機器能夠像人類一樣完成智能任務(wù)的技術(shù)。AI 使用智能完成自動化任務(wù)。
「人工智能」包含兩個關(guān)鍵點:
- 自動化
- 智能
1. 人工智能的目標(biāo)
- 推理
- 自動學(xué)習(xí)&調(diào)度
- 機器學(xué)習(xí)
- 自然語言處理
- 計算機視覺
- 機器人
- 通用智能
2. 人工智能三大階段
- 階段 1——機器學(xué)習(xí):智能系統(tǒng)使用一系列算法從經(jīng)驗中進行學(xué)習(xí)。
- 階段 2——機器智能:機器使用的一系列從經(jīng)驗中進行學(xué)習(xí)的高級算法,例如深度神經(jīng)網(wǎng)絡(luò)。
人工智能目前處于此階段。
- 階段 3——機器意識:不需要外部數(shù)據(jù)就能從經(jīng)驗中自學(xué)習(xí)。
3. 人工智能的類型
- ANI(狹義人工智能):它包含基礎(chǔ)的、角色型任務(wù),比如由 Siri、Alexa 這樣的聊天機器人、個人助手完成的任務(wù)。
- AGI(通用人工智能):通用人工智能包含人類水平的任務(wù),它涉及到機器的持續(xù)學(xué)習(xí)。
- ASI(強人工智能):強人工智能指代比人類更聰明的機器。
4. 什么使得系統(tǒng)智能化?
- 自然語言處理
- 知識表示
- 自動推理
- 機器學(xué)習(xí)
二、NLP、人工智能、機器學(xué)習(xí)、深度學(xué)習(xí)和神經(jīng)網(wǎng)絡(luò)之間的區(qū)別
- 人工智能:建立能智能化處理事物的系統(tǒng)。
- 自然語言處理:建立能夠理解語言的系統(tǒng),人工智能的一個分支。
- 機器學(xué)習(xí):建立能從經(jīng)驗中進行學(xué)習(xí)的系統(tǒng),也是人工智能的一個分支。
- 神經(jīng)網(wǎng)絡(luò):生物學(xué)啟發(fā)出的人工神經(jīng)元網(wǎng)絡(luò)。
- 深度學(xué)習(xí):在大型數(shù)據(jù)集上,建立使用深度神經(jīng)網(wǎng)絡(luò)的系統(tǒng),機器學(xué)習(xí)的一個分支。
1. 什么是自然語言處理?
自然語言處理(NLP)是指機器理解并解釋人類寫作、說話方式的能力。
NLP 的目標(biāo)是讓計算機/機器在理解語言上像人類一樣智能。最終目標(biāo)是彌補人類交流(自然語言)和計算機理解(機器語言)之間的差距。
下面是三個不同等級的語言學(xué)分析:
- 句法學(xué):給定文本的哪部分是語法正確的。
- 語義學(xué):給定文本的含義是什么?
- 語用學(xué):文本的目的是什么?
NLP 處理語言的不同方面,例如:
- 音韻學(xué):指代語言中發(fā)音的系統(tǒng)化組織。
- 詞態(tài)學(xué):研究單詞構(gòu)成以及相互之間的關(guān)系。
NLP 中理解語義分析的方法:
- 分布式:它利用機器學(xué)習(xí)和深度學(xué)習(xí)的大規(guī)模統(tǒng)計策略。
- 框架式:句法不同,但語義相同的句子在數(shù)據(jù)結(jié)構(gòu)(幀)中被表示為程式化情景。
- 理論式:這種方法基于的思路是,句子指代的真正的詞結(jié)合句子的部分內(nèi)容可表達全部含義。
- 交互式(學(xué)習(xí)):它涉及到語用方法,在交互式學(xué)習(xí)環(huán)境中用戶教計算機一步一步學(xué)習(xí)語言。
2. 我們?yōu)槭裁葱枰?NLP
有了 NLP,有可能完成自動語音、自動文本編寫這樣的任務(wù)。
由于大型數(shù)據(jù)(文本)的存在,我們?yōu)槭裁床皇褂糜嬎銠C的能力,不知疲倦地運行算法來完成這樣的任務(wù),花費的時間也更少。
這些任務(wù)包括 NLP 的其他應(yīng)用,比如自動摘要(生成給定文本的總結(jié))和機器翻譯。
3. NLP 流程
如果要用語音產(chǎn)生文本,需要完成文本轉(zhuǎn)語音任務(wù)
NLP 的機制涉及兩個流程:
- 自然語言理解
- 自然語言生成
4. 自然語言理解(NLU)
NLU 是要理解給定文本的含義。文本內(nèi)每個單詞的特性與結(jié)構(gòu)需要被理解。在理解結(jié)構(gòu)上,NLU 要理解自然語言中的以下幾個歧義性:
- 詞法歧義性:單詞有多重含義
- 句法歧義性:語句有多重解析樹
- 語義歧義性:句子有多重含義
- 回指歧義性(Anaphoric Ambiguity):之前提到的短語或單詞在后面句子中有不同的含義。
接下來,通過使用詞匯和語法規(guī)則,理解每個單詞的含義。
然而,有些詞有類似的含義(同義詞),有些詞有多重含義(多義詞)。
5. 自然語言生成(NLG)
NLG 是從結(jié)構(gòu)化數(shù)據(jù)中以可讀地方式自動生成文本的過程。自然語言生成的問題是難以處理。
自然語言生成可被分為三個階段:
- 文本規(guī)劃:完成結(jié)構(gòu)化數(shù)據(jù)中基礎(chǔ)內(nèi)容的規(guī)劃。
- 語句規(guī)劃:從結(jié)構(gòu)化數(shù)據(jù)中組合語句,來表達信息流。
- 實現(xiàn):產(chǎn)生語法通順的語句來表達文本。
三、NLP 與文本挖掘(或文本分析)之間的不同
自然語言處理是理解給定文本的含義與結(jié)構(gòu)的流程。
文本挖掘或文本分析是通過模式識別提起文本數(shù)據(jù)中隱藏的信息的流程。
自然語言處理被用來理解給定文本數(shù)據(jù)的含義(語義),而文本挖掘被用來理解給定文本數(shù)據(jù)的結(jié)構(gòu)(句法)。
例如,在「I found my wallet near the bank」一句中,NLP 的任務(wù)是理解句尾「bank」一詞指代的是銀行還是河邊。
四、大數(shù)據(jù)中的 NLP
如今所有數(shù)據(jù)中的 80% 都可被用到,大數(shù)據(jù)來自于大公司、企業(yè)所存儲的信息。例如,職員信息、公司采購、銷售記錄、經(jīng)濟業(yè)務(wù)以及公司、社交媒體的歷史記錄等。
盡管人類使用的語言對計算機而言是模糊的、非結(jié)構(gòu)化的,但有了 NLP 的幫助,我們可以解析這些大型的非結(jié)構(gòu)化數(shù)據(jù)中的模式,從而更好地理解里面包含的信息。
NLP 可使用大數(shù)據(jù)解決商業(yè)中的難題,比如零售、醫(yī)療、金融領(lǐng)域中的業(yè)務(wù)。
五、什么是聊天機器人?
1. 聊天機器人或自動智能代理
- 指代你能通過聊天 app、聊天窗口或語音喚醒 app 進行交流的計算機程序。
- 也有被用來解決客戶問題的智能數(shù)字化助手,成本低、高效且持續(xù)工作。
2. 聊天機器人的重要性
- 聊天機器人對理解數(shù)字化客服和頻繁咨詢的常規(guī)問答領(lǐng)域中的變化至關(guān)重要。
- 聊天機器人在一些領(lǐng)域中的特定場景中非常有幫助,特別是會被頻繁問到高度可預(yù)測的的問題時。
3. 聊天機器人的工作機制
- 基于知識:包含信息庫,根據(jù)客戶的問題回應(yīng)信息。
- 數(shù)據(jù)存儲:包含與用戶交流的歷史信息。
- NLP 層:它將用戶的問題(任何形式)轉(zhuǎn)譯為信息,從而作為合適的回應(yīng)。
- 應(yīng)用層:指用來與用戶交互的應(yīng)用接口。
聊天機器人每次與用戶交流時都能進行學(xué)習(xí),使用機器學(xué)習(xí)回應(yīng)信息庫中的信息。
六、NLP 中為什么需要深度學(xué)習(xí)
它使用基于規(guī)則的方法將單詞表示為「one-hot」編碼向量。
傳統(tǒng)的方法注重句法表征,而非語義表征。
詞袋:分類模型不能夠分別特定語境。
1. 深度學(xué)習(xí)的三項能力
- 可表達性:這一能力描述了機器如何能近似通用函數(shù)。
- 可訓(xùn)練性:深度學(xué)習(xí)系統(tǒng)學(xué)習(xí)問題的速度與能力。
- 可泛化性:在未訓(xùn)練過的數(shù)據(jù)上,機器做預(yù)測的能力。
在深度學(xué)習(xí)中,當(dāng)然也要考慮其他的能力,比如可解釋性、模塊性、可遷移性、延遲、對抗穩(wěn)定性、安全等。但以上是主要的幾項能力。
2. NLP 中深度學(xué)習(xí)的常見任務(wù)
3. 傳統(tǒng) NLP 和深度學(xué)習(xí) NLP 的區(qū)別
七、日志分析與日志挖掘中的 NLP
1. 什么是日志?
不同網(wǎng)絡(luò)設(shè)備或硬件的時序信息集合表示日志。日志可直接存儲在硬盤文檔中,也可作為信息流傳送到日志收集器。
日志提供維持、追蹤硬件表現(xiàn)、參數(shù)調(diào)整、緊急事件、系統(tǒng)修復(fù)、應(yīng)用和架構(gòu)優(yōu)化的過程。
2. 什么是日志分析?
日志分析是從日志中提取信息的過程,分析信息中的句法和語義,解析應(yīng)用環(huán)境,從而比較分析不同源的日志文檔,進行異常檢測、發(fā)現(xiàn)關(guān)聯(lián)性。
3. 什么是日志挖掘?
日志挖掘或日志知識發(fā)現(xiàn)是提取日志中模式和關(guān)聯(lián)性的過程,從而挖掘知識,預(yù)測日志中的異常檢測。
4. 日志分析和日志挖掘中使用到的技術(shù)
下面介紹了完成日志分析的不同技術(shù):
- 模式識別:將日志信息與模式薄中的信息進行對比,從而過濾信息的技術(shù)。
- 標(biāo)準(zhǔn)化:日志信息的標(biāo)準(zhǔn)化是將不同的信息轉(zhuǎn)換為同樣的格式。當(dāng)來自不同源的日志信息有不同的術(shù)語,但含義相同時,需要進行標(biāo)準(zhǔn)化。
- 分類 & 標(biāo)簽:不同日志信息的分類 & 標(biāo)簽涉及到對信息的排序,并用不同的關(guān)鍵詞進行標(biāo)注。
- Artificial Ignorance:使用機器學(xué)習(xí)算法拋棄無用日志信息的技術(shù)。它也可被用來檢測系統(tǒng)異常。
5. 日志分析 & 日志挖掘中的 NLP
自然語言處理技術(shù)被普遍用于日志分析和日志挖掘。
詞語切分、詞干提取(stemming)、詞形還原(lemmatization)、解析等不同技術(shù)被用來將日志信息轉(zhuǎn)換成結(jié)構(gòu)化的形式。
一旦日志以很好的形式組織起來,日志分析和日志挖掘就能提取信息中有用的信息和知識。
八、深度自然語言處理
自然語言處理是一個復(fù)雜的領(lǐng)域,處于人工智能、計算語言學(xué)和計算機科學(xué)的交叉領(lǐng)域。
1. 從 NLP 開始
用戶需要輸入一個包含已寫文本的文件;接著應(yīng)該執(zhí)行以下 NLP 步驟:
- 語句分割 - 在給定文本中辨識語句邊界,即一個語句的結(jié)束和另一個語句的開始。語句通常以標(biāo)點符號「.」結(jié)束。
- 標(biāo)記化 - 辨識不同的詞、數(shù)字及其他標(biāo)點符號。
- 詞干提取 - 將一個詞還原為詞干。
- 詞性標(biāo)注 - 標(biāo)出語句中每一個詞的詞性,比如名詞或副詞。
- 語法分析 - 將給定文本的部分按類劃分。
- 命名實體識別 - 找出給定文本中的人物、地點、時間等。
- 指代消解 - 根據(jù)一個語句的前句和后句界定該句中給定詞之間的關(guān)系。
九、NLP 的其他關(guān)鍵應(yīng)用領(lǐng)域
除了在大數(shù)據(jù)、日志挖掘及分析中的應(yīng)用,NLP 還有一些其他主要應(yīng)用領(lǐng)域。
盡管 NLP 不如大數(shù)據(jù)、機器學(xué)習(xí)聽起來那么火,但我們每天都在使用它:
- 自動摘要 - 在給定輸入文本的情況下,擯棄次要信息完成文本摘要。
- 情感分析 - 在給定文本中預(yù)測其主題,比如,文本中是否包含判斷、觀點或評論等。
- 文本分類 - 按照其領(lǐng)域分類不同的期刊、新聞報道。多文檔分類也是可能的。文本分類的一個流行示例是垃圾電子郵件檢測?;趯懽黠L(fēng)格,可檢測作者姓名。
- 信息提取 - 建議電子郵件程序自動添加事件到日歷。
原文:https://www.xenonstack.com/blog/overview-of-artificial-intelligence-and-role-of-natural-language-processing-in-big-data
【本文是51CTO專欄機構(gòu)機器之心的原創(chuàng)譯文,微信公眾號“機器之心( id: almosthuman2014)”】