前言算法
天然語言處理(Natural Language Processing)是計算科學領域與人工智能領域中的一個重要方向。它研究能實現人與計算機之間用天然語言進行有效通訊的各類理論和方法。天然語言處理是一門融語言學、計算機科學、數學於一體的科學。所以,這一領域的研究將涉及天然語言,即人們平常使用的語言,因此它與語言學的研究有着密切的聯繫,但又有重要的區別。天然語言處理並非通常地研究天然語言,而在於研製能有效地實現天然語言通訊的計算機系統,特別是其中的軟件系統。於是它是計算機科學的一部分(可恥的粘貼)。
既然NLP是人工智能的一部分,那麼咱們就來簡單說說人工智能。安全
人工智能
人工智能的目標
- 推理
- 自主學習 & 調度
- 機器學習
- 天然語言處理(NLP)
- 計算機視覺處理
- 機器人
- 通用智能
人工智能三大階段
- 機器學習:只能系統使用一系列算法從經驗中進行學習
- 機器智能:機器使用的一系列從經驗中進行學習的高級算法,例如深度神經網絡(深度學習),人工智能目前也處於現階段
- 機器意識:不須要外部數據就能從經驗中自我學習。
人工智能、機器學習、深度學習的關係
- 機器學習:一種實現人工智能的方法
- 深度學習:一種實現機器學習的技術
人工智能的類型
- 狹義人工智能(ANI):它包含基礎的、角色行任務。例如小愛、Siri、Alexa這樣的聊天機器人,我的助手完成的任務。
- 通用人工智能(AGI):通用人工智能包含人類水平的任務,它涉及到機器的持續學習。
- 強人工智(ASI):強人工智能代指比人類更聰明的機器。
怎樣讓機器智能化
- 天然語言處理
- 知識表示
- 自動推理
- 機器學習
NLP
NLP的目標
NLP的目標是讓計算機在理解語言方面像人類同樣智能,最終的目標是彌補人類交流(天然語言)和計算機理解(機器語言)之間的差距。markdown
爲何須要NLP
有了NLP,就可能完成自動語音、自動文本的編寫等任務。讓咱們從大量的數據中解放出來,讓計算機去執行。
這些任務包括自動生成給定文本的摘要、機器翻譯及其餘的任務。網絡
NLP語言學分析
如今,有一個給定的文本。NLP能夠從下面三個不一樣等級來分析該給定文本:數據結構
- 語法學:該文本語法的正確性
- 語義學:該文本的含義是什麼
- 語用學:該文本的目的的什麼
除此以外,若是文本中含有音、視頻,那麼NLP又要從如下兩方面來着手分析:框架
- 音韻學:該語言中發音的系統化組織
- 詞態學:研究單詞構成以及彼此之間的關係
NLP中理解語義的方法:機器學習
- 分佈式:利用機器學習和深度學習的大規模統計策略
- 框架式:句法不一樣,但語義相同的句子在數據結構被表示爲程式化的情景
- 理論式:思路是句子指代的正真的詞結合句子的部份內容可表達所有含義
- 交互式(學習):它涉及大語用方法,在交互式學習環境中用戶教計算機一步一步的學習語言
NLP的流程
NLP的機制涉及兩個流程:分佈式
- 天然語言理解
- 天然語言生成
天然語言理解(NLU)
天然語言理解(Nature Language Understanding)是要理解給定文本的含義。好比文本內的每一個單詞的特性與結構須要被理解。在理解結構的基礎上,NLU要理解天然語言中如下幾個歧義:函數
- 詞法歧義性:單詞有多重含義
- 句法歧義性:語句有多重解析樹
- 語義歧義性:句子有多重含義
- 回指歧義性:前文中的詞語或句子在後面句子中有不一樣的含義
天然語言生成(NLG)
NLG是從結構化數據中以可讀的方式自動生成文本的過程。
天然語言生成可分爲三個階段:post
- 文本規劃:完成結構化數據中基礎內容的規劃
- 語句規劃:從結構化數據中組合語句來表達信息流
- 實現:生產語法通順的語句來表達文本
NLP的應用領域
聊天機器人
聊天機器人或者智能代理指的是,你能經過APP、聊天窗口、語音等方式進行交流的計算機程序。
它的重要性在愈來愈多的地方獲得體現:
- 它對理解數字化客服和頻繁諮詢的常規問答領域中的變化相當重要
- 它在一些特定場景下很是的有用及高效,特別是會被頻繁問到的高度可預測的問題時
聊天機器人的工做機制:
- 基於知識:包含信息庫,根據客戶的問題迴應相對的問題
- 數據存儲:包含與用戶交流的歷史信息
- NLP層:該層將用戶的問題轉譯爲信息,從而做出合適的迴應
- 應用層:用來與用戶交互的應用接口
NLP中深度學習的重要性
- 它使用基於規則的方法將單詞表示爲
one-hot
編碼向量 - 傳統的方法注重句法表徵,而非語義表徵
- 詞袋,分類模型不可以分別特定語境
深度學習的三項能力:
- 可表達性:該能力描述了機器如何能近似通用函數
- 可訓練性:深度學習系統學習問題的速度與能力
- 可泛化性:在未訓練過的數據上,機器作預測的能力
除此以外,深度學習還有其餘的能力,好比可解釋性、模塊性、可遷移性、延遲、對抗穩定性、安全方面等。
日誌中的NLP
在日誌分析和日誌挖掘兩方面,NLP在發揮着不可替代的做用。經過詞語切分、詞幹提取、詞形還原、解析等不一樣技術被用來將日誌轉換成結構化的形式。
在日誌分析中,NLP經過下列技術完成分析功能:
- 模式識別:將日誌信息與模式薄中的信息進行對比,從而過濾信息的技術
- 標準化:日誌信息的標準化將不一樣的信息轉換爲一樣的格式。當不一樣來源的日誌信息中有不一樣的疏於,但其含義相同時,須要進行標準化
- 分類& 標籤:不一樣日誌信息的分類 & 標籤涉及到對信息的排序,並用不一樣的關鍵詞進行標註
- Artificial Ignorance:使用機器學習算法拋棄無用日誌信息的技術。它也可被用來檢測系統異常
當日志以很好的形式組織起來以後,咱們就能從日誌中提取有用的信息。
NLP的其餘領域
除了在大數據、日誌挖掘和分析中,NLP還浪跡在其餘的應用領域中:
- 自動摘要:在給定文本的狀況下,摒棄次要信息完成文本摘要
- 情感分析:在給定文本中預測期主題,好比文本中是否包含批判、觀點、評論等
- 文本分類:按照其領域分類不一樣的、新聞報道、期刊等。好比流行的文本分類是垃圾郵件、基於寫做風格可檢測做者的姓名
- 信息提取:建議電子郵件程序自動添加事件到日曆
see also: 人工智能、機器學習和深度學習的區別? | 天然語言處理(NLP)基礎理解 that's all