隨著最近這幾年人工智能的快速發展,自然語言處理技術的應用已經比較普及。但是自然語言處理的學習路徑依然沒有一個系統的認識。
下面,人郵君分別從自然語言處理介紹、入門基礎及研究方向、工作原理、技術現狀、實際應用等角度出發,概要地介紹自然語言處理及相關的機器學習技術。
自然語言處理介紹——什么是自然語言處理?
自然語言處理是一門與語言學、計算機科學、數學、心理學、信息論、聲學相聯系的交叉性學科,是計算機通過可計算的方法對自然語言(所謂“自然”乃是寓意自然進化形成,是為了區分一些人造語言,類似C 、Java 等人為設計的語言)的各級語言單位進行轉換、傳輸、存儲、分析等加工處理的科學。
此領域探討如何處理及運用自然語言,自然語言處理包括多方面和步驟,基本有認知、理解、生成等部分。
- 自然語言認知和理解是讓電腦把輸入的語言變成有意思的符號和關系,然后根據目的再處理。
- 自然語言生成系統則是把計算機數據轉化為自然語言,從而可以代替人類做一些文書類的工作,例如咨詢、售后、海量數據處理以及公文閱讀與處理等。
自然語言處理入門基礎
數學基礎:
線性代數:向量、 矩陣、距離計算(余弦距離、歐式距離、曼哈頓距離、明可夫斯基距離、切比雪夫距離、杰卡德距離、漢明距離、標準歐式距離、皮爾遜相關系數)
概率論:隨機試驗、條件概率、全概率、貝葉斯定理、信息論
統計學:
圖形可視化(餅圖、條形圖、熱力圖、折線圖、箱線圖、散點圖、雷達圖、儀表盤)
數據度量標準(平均數、中位數、眾數、期望、方差、標準差)
概率分布(幾何分布、二項分布、正態分布、泊松分布)
統計假設檢驗
語言學基礎:語音、詞匯、語法
Python基礎
機器學習基礎
深度學習基礎:CNN、RNN、LSTM
自然語言處理的理論基礎
自然語言處理研究方向
自然語言處理熱門的研究方向包括:語言學方向、數據處理方向、語言工程方向、人工智能和認知科學這四大方向。
在此基礎上又細分為:口語輸入、書面語輸入、語言分析理解、語言資源、語言生成、口語輸入技術、話語分析與對話、文獻自動處理、多語問題的計算機處理、信息傳輸和信息存儲、自然語言處理中的數學方法、 多模態的計算機處理、自然語言處理系統的評測這十三個方面。
自然語言處理工作原理
自然語言處理通過機器學習(ML)進行。機器學習系統像其他任何形式的數據一樣存儲單詞及其組合方式。將短語、句子,有時甚至整本書的內容都輸入機器學習引擎,并根據語法規則和人們的現實語言習慣(或兩者兼而有之)進行處理。然后,計算機使用這些數據來查找模式并推斷出下一步的工作。
具象的流程我們可以理解為:形式化描述(將要研究的問題在語言上建立出一個形式化模型,用數學形式展現出來)??數學模型算法化(把建立的數學模型表示為算法)??程序化(計算機根據算法進行了實現,建立語言系統)??應用化(對系統改進滿足實用需求))
自然語言實際應用
自然語言處理無數不在,它是如此普遍。
各種類型的NLP應用(圖源:《自然語言處理實戰》)
如果在索引網頁或文檔庫時考慮了自然語言文本的含義,那么搜索引擎可以提供更有意義的結果。自動補全(autocomplete)功能使用 NLP 技術來完成所想語句的輸入,這在搜索引擎和手機鍵盤中十分常見。許多文字處理器、瀏覽器插件和文本編輯器都有拼寫校正、語法檢查、索引生成等功能,特別是近年來,還出現了寫作風格指導的功能。一些對話引擎(聊天機器人)使用自然語言搜索來為對話消息查找相應的回復。
在《自然語言處理實戰》中談到,在聊天機器人和虛擬助手中,生成(撰寫)文本的 NLP 流水線不僅可以用來撰寫簡短的回復,還可以編寫長得多的文本段落。
美聯社使用 NLP“機器人記者”撰寫完整的金融新聞和體育賽事等報道。也許是因為人類氣象學家使用了帶有 NLP 功能的文字處理器來起草天氣預報的腳本,機器人編寫的天氣預報聽起來和家鄉天氣預報員的播報并沒有什么兩樣。
早期電子郵件系統中的 NLP 垃圾郵件過濾器助力電子郵件,使其在 20 世紀 90 年代超越了電話和傳真這兩個傳統通信渠道。在垃圾郵件過濾器和垃圾郵件制造者之間的這場“貓鼠游戲”中,前者保持了優勢地位,但是在像社交網絡這類場景下并非如此。據估計,有關 2016 年美國總統大選的推文中有 20% 由聊天機器人自動撰寫而成。這些機器人放大了它們的所有者或開發者的觀點,而這些“傀儡”的操縱者往往是政府或大公司,他們具備影響主流觀點的資源和動機。
NLP系統不僅可以產生簡短的社交網絡帖子,還可以用來在亞馬遜和其他網站撰寫很長的電影和產品評論。許多評論都是 NLP 流水線自動產生的,盡管它從未踏入過電影院或購買過它們正在評論的產品。
Slack、IRC 甚至客服網站上都有聊天機器人——在這些場景中聊天機器人必須處理帶有歧義的指令或問題。配備語音識別和生成系統的聊天機器人甚至可以進行長篇的對話,這些對話可以不限定目標或者針對特定目標而進行,一個特定目標的例子就是在本地餐館訂餐。NLP 系統可以幫一些公司進行電話回復,這些公司希望系統比層層進入的電話樹更好用,并且不希望給幫助客戶的客服人員付費。
NLP系統可以作為企業的電子郵件“接待員”或管理人員的行政助理,這些助理通過電子Rolodex(一種名片簿的品牌)或者CRM(客戶關系管理系統)安排會議,記錄概要細節,并代表他們的老板通過電子郵件與他人互動。公司將他們的品牌和形象交由 NLP 系統管理,允許機器人執行營銷和消息發布活動。更有甚者,一些缺乏經驗、膽大包天的 NLP 教科書作者競然讓機器人在他們的書中撰寫若干語句。關于這一點我們稍后再詳細討論。
節選自《自然語言處理實戰》,人民郵電出版社出版
自然語言處理的發展現狀
根據 Stafford 教授 Dan Jurafsky 的介紹:
有些問題得到了基本解決,如:詞性標注、命名實體識別、垃圾郵件識別。
有些問題取得長足進展,如:情感分析、共指消解、詞義消歧、句法分析、機器翻譯、信息抽取。
有些問題依然充滿挑戰,如:自動問答、復述、文摘提取、會話機器人等。
自然語言處理學習——書籍推薦
《自然語言處理實戰》
[美]霍布森·萊恩,科爾·霍華德,漢納斯·馬克斯·哈普克 著 小米AI實驗室NLP團隊 譯
本書是介紹自然語言處理(NLP)和深度學習的實戰書。NLP已成為深度學習的核心應用領域,而深度學習是 NLP 研究和應用中的必要工具。本書分為 3 部分:第一部分介紹 NLP 基礎,包括分詞、TF-IDF向量化以及從詞頻向量到語義向量的轉換;第二部分講述深度學習,包含神經網絡、詞向量、卷積神經網絡(CNN)、循環神經網絡(RNN)、長短期記憶(LSTM)網絡、序列到序列建模和注意力機制等基本的深度學習模型和方法;第三部分介紹實戰方面的內容,包括信息提取、問答系統、人機對話等真實世界系統的模型構建、性能挑戰以及應對方法。
本書面向中高級 Python 開發人員,兼具基礎理論與編程實戰,是現代NLP領域從業者的實用參考書。
《Python自然語言處理》
《Python自然語言處理》是自然語言處理領域的一本實用入門指南,旨在幫助讀者學習如何編寫程序來分析書面語言。
《Python自然語言處理》基于Python編程語言以及一個名為NLTK的自然語言工具包的開源庫,但并不要求讀者有Python編程的經驗。全書共11章,按照難易程度順序編排。第1章到第3章介紹了語言處理的基礎,講述如何使用小的Python程序分析感興趣的文本信息。第4章討論結構化程序設計,以鞏固前面幾章中介紹的編程要點。第5章到第7章介紹語言處理的基本原理,包括標注、分類和信息提取等。第8章到第10章介紹了句子解析、句法結構識別和句意表達方法。第11章介紹了如何有效管理語言數據。后記部分簡要討論了NLP領域的過去和未來。
本書實踐性很強,包括上百個實際可用的例子和分級練習?!禤ython自然語言處理》可供讀者用于自學,也可以作為自然語言處理或計算語言學課程的教科書,還可以作為人工智能、文本挖掘、語料庫語言學等課程的補充讀物。
《精通Python自然語言處理》
[印度] Deepti Chopra, Nisheeth Joshi, Iti Mathur 著
本書是學習自然語言處理的一本綜合學習指南,介紹了如何用Python實現各種NLP任務,以幫助讀者創建基于真實生活應用的項目。全書共10章,分別涉及字符串操作、統計語言建模、形態學、詞性標注、語法解析、語義分析、情感分析、信息檢索、語篇分析和NLP系統評估等主題。 本書適合熟悉Python語言并對自然語言處理開發有一定了解和興趣的讀者閱讀參考。
版權聲明:本文內容由互聯網用戶自發貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如發現本站有涉嫌抄襲侵權/違法違規的內容, 請發送郵件至 舉報,一經查實,本站將立刻刪除。