自然語言處理(NLP)的一般處理流程!

2021-02-13 機器學習算法與自然語言處理

來自 | 知乎

地址 | https://zhuanlan.zhihu.com/p/79041829

作者 | mantch

編輯 | 機器學習算法與自然語言處理公眾號

本文僅作學術分享,若侵權,請聯繫後臺刪文處理

1. 什麼是NLP

自然語言處理 (Natural Language Processing) 是人工智慧(AI)的一個子領域。自然語言處理是研究在人與人交互中以及在人與計算機交互中的語言問題的一門學科。為了建設和完善語言模型,自然語言處理建立計算框架,提出相應的方法來不斷的完善設計各種實用系統,並探討這些實用系統的評測方法。

2. NLP主要研究方向

信息抽取:從給定文本中抽取重要的信息,比如時間、地點、人物、事件、原因、結果、數字、日期、貨幣、專有名詞等等。通俗說來,就是要了解誰在什麼時候、什麼原因、對誰、做了什麼事、有什麼結果。

文本生成:機器像人一樣使用自然語言進行表達和寫作。依據輸入的不同,文本生成技術主要包括數據到文本生成和文本到文本生成。數據到文本生成是指將包含鍵值對的數據轉化為自然語言文本;文本到文本生成對輸入文本進行轉化和處理從而產生新的文本。

問答系統:對一個自然語言表達的問題,由問答系統給出一個精準的答案。需要對自然語言查詢語句進行某種程度的語義分析,包括實體連結、關係識別,形成邏輯表達式,然後到知識庫中查找可能的候選答案並通過一個排序機制找出最佳的答案。

對話系統:系統通過一系列的對話,跟用戶進行聊天、回答、完成某一項任務。涉及到用戶意圖理解、通用聊天引擎、問答引擎、對話管理等技術。此外,為了體現上下文相關,要具備多輪對話能力。

文本挖掘:包括文本聚類、分類、情感分析以及對挖掘的信息和知識的可視化、交互式的表達界面。目前主流的技術都是基於統計機器學習的。

語音識別和生成:語音識別是將輸入計算機的語音符號識別轉換成書面語表示。語音生成又稱文語轉換、語音合成,它是指將書面文本自動轉換成對應的語音表徵。

信息過濾:通過計算機系統自動識別和過濾符合特定條件的文檔信息。通常指網絡有害信息的自動識別和過濾,主要用於信息安全和防護,網絡內容管理等。

輿情分析:是指收集和處理海量信息,自動化地對網絡輿情進行分析,以實現及時應對網絡輿情的目的。

信息檢索:對大規模的文檔進行索引。可簡單對文檔中的詞彙,賦之以不同的權重來建立索引,也可建立更加深層的索引。在查詢的時候,對輸入的查詢表達式比如一個檢索詞或者一個句子進行分析,然後在索引裡面查找匹配的候選文檔,再根據一個排序機制把候選文檔排序,最後輸出排序得分最高的文檔。

機器翻譯:把輸入的源語言文本通過自動翻譯獲得另外一種語言的文本。機器翻譯從最早的基於規則的方法到二十年前的基於統計的方法,再到今天的基於神經網絡(編碼-解碼)的方法,逐漸形成了一套比較嚴謹的方法體系。

3. NLP的發展

1950年前:圖靈測試 1950年前阿蘭·圖靈圖靈測試:人和機器進行交流,如果人無法判斷自己交流的對象是人還是機器,就說明這個機器具有智能。

1950-1970:主流:基於規則形式語言理論

喬姆斯基,根據數學中的公理化方法研究自然語言,採用代數和集合論把形式語言定義為符號的序列。他試圖使用有限的規則描述無限的語言現象,發現人類普遍的語言機制,建立所謂的普遍語法。

1970-至今:主流:基於統計 谷歌、微軟、IBM,20世紀70年代,弗裡德裡克·賈裡尼克及其領導的IBM華生實驗室將語音識別率從70%提升到90%。1988年,IBM的彼得·布朗提出了基於統計的機器翻譯方法。2005年,Google機器翻譯打敗基於規則的Sys Tran。

2010年以後:逆襲:機器學習

AlphaGo先後戰勝李世石、柯潔等,掀起人工智慧熱潮。深度學習、人工神經網絡成為熱詞。領域:語音識別、圖像識別、機器翻譯、自動駕駛、智能家居。

4. NLP任務的一般步驟

下面圖片看不清楚的,可以百度腦圖查看,點擊連結

5. 我的NLP啟蒙讀本

數學之美第二版.pdf - 藍奏雲www.lanzous.com

6. NLP、CV,選哪個?

NLP:自然語言處理,數據是文本。

CV:計算機視覺,數據是圖像。

兩者屬於不同的領域,在遇到這個問題的時候,我也是猶豫了很久,想了很多,於是乎得出一個結論:都是利用深度學習去解決現實世界存在的問題,離開了CV,NLP存活不了;離開了NLP,CV存活不了。兩者就像兄弟姐妹一樣,整個「家庭」不能分割但個體又存在差異!

NLP/CV屬於兩個不同的研究領域,都是很好的領域,可以根據自己的愛好作出適合自己的選擇,人工智慧是一個多學科交叉的領域,需要的不僅僅是單方面的能力,而是多方面的能力。對於每個人來說都有自己的側重點,畢竟人的精力是有限的。只要在自己擅長的領域裡持續深耕,我相信都會有所成就!

這裡提供一些參考資料給大家閱讀閱讀,做出適合自己的選擇:

一文看盡2018全年AI技術大突破:NLP跨過分水嶺、CV研究效果驚人www.toutiao.com

數學之美第二版.pdf - 藍奏雲www.lanzous.com

BERT時代與後時代的NLPmp.weixin.qq.com機器學習通俗易懂系列文章github.com

推薦閱讀:

【長文詳解】從Transformer到BERT模型

賽爾譯文 | 從頭開始了解Transformer

百聞不如一碼!手把手教你用Python搭一個Transformer

相關焦點

  • 國內自然語言處理(NLP)研究組
    /natural-language-computing/www.microsoft.com百度自然語言處理百度自然語言處理 - 理解語言,擁有智能,改變世界nlp.baidu.com阿里巴巴達摩院語言技術實驗室
  • 斯坦福NLP團隊發布最新自然語言處理Python庫
    【導讀】斯坦福NLP團隊,於1月29日發布了新版的自然語言處理Python庫:StandfordNLP,不同於以前java系的CoreNLP,
  • 【獨家】自然語言處理(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快速入門
    【導讀】自然語言處理已經成為人工智慧領域一個重要的分支,它研究能實現人與計算機之間用自然語言進行有效通信的各種理論和方法。
  • 帶新手走進自然語言處理,7本NLP專業書
    「自然語言處理是計算機科學領域與人工智慧領域中的一個重要方向。它研究能實現人與計算機之間用自然語言進行有效通信的各種理論和方法。        自然語言處理是一門融語言學、計算機科學、數學於一體的科學。因此,這一領域的研究將涉及自然語言,即人們日常使用的語言,所以它與語言學的研究有著密切的聯繫,但又有重要的區別。
  • NLP自然語言處理組
    黃書劍 副教授、博士生導師、江蘇省優青主頁:http://nlp.nju.edu.cn/huangsj/        分析理解人類語言是人工智慧的重要問題之一。南京大學自然語言處理課題組從事NLP領域研究工作近40年,國內最早從事該領域研究的科研團體之⼀,先後承擔過該領域的國家科技攻關項目、863項目、國家自然科學基金和江蘇省自然科學基金以及對外合作項目的研製,積累了大量的該領域研究工作所涉及到的理論、技術和經驗。
  • Awesome-Chinese-NLP:中文自然語言處理相關資料
    推薦Github上一個很棒的中文自然語言處理相關資料的Awesome資源:Awesome-Chinese-NLP ,Github連結地址,點擊文末
  • 中文NLP福利!大規模中文自然語言處理語料
    新智元推薦來源:AINLP作者:徐亮【新智元導讀】本文介紹一個中文自然語言處理語料庫項目:nlp_chinese_corpus ,初步貢獻了幾個已經預處理好的中文語料,包括維基、新聞和百科語料,可直接下載使用。
  • 【NLP】自然語言處理基礎微課程|語言學午餐
    小編痛下決心,同黑龍江大學自然語言處理實驗室(微信公眾號ID:hlju_nlp,在今天的另一則推送中專文介紹)的小夥伴們合作,計劃在本學期完成一門介紹自然語言處理的「微課程」。該課程將於下周三(9月17日)正式上線。下文是課程大綱,歡迎大家按時「上課」!
  • NLP Chinese Corpus項目:大規模中文自然語言處理語料
    作者徐亮(實在智能算法專家) 創建了一個中文自然語言處理語料庫項目:nlp_chinese_corpus ,初步貢獻了幾個已經預處理好的中文語料,包括維基、新聞和百科語料。希望大家一起為該項目貢獻語料,感興趣的同學可以直接關注該項目github地址,和作者直接聯繫,點擊文末"閱讀原文"直達github連結,可下載相關語料:大規模中文自然語言處理語料 Large Scale Chinese Corpus for NLPhttps://github.com/brightmart/nlp_chinese_corpus為中文自然語言處理領域發展貢獻語料
  • 史丹福大學NLP組Python深度學習自然語言處理工具Stanza試用
    幾年前我曾基於斯坦福Java工具包和NLTK寫過一個簡單的中文分詞接口:Python自然語言處理實踐: 在NLTK中使用斯坦福中文分詞器,不過用起來也不是很方便。深度學習自然語言處理時代,史丹福大學自然語言處理組開發了一個純Python版本的深度學習NLP工具包:Stanza - A Python NLP Library for Many Human Languages,前段時間,Stanza v1.0.0 版本正式發布,算是一個裡程碑:
  • NLP也分李逵和李鬼?關於自然語言處理你不知道的事
    作為人工智慧和語言學領域的分支學科,自然語言處理簡單來說,就是把自然語言(如英語或漢語普通話)轉換成計算機能夠用於理解這個世界的數據(數字)。同時,這種對世界的理解有時被用於生成能夠體現這種理解的自然語言文本(即自然語言生成)。自然語言處理的英語是Natural Language Processing,縮寫作 NLP。 但你知道嗎?
  • 中文自然語言處理相關資料集合指南
    【導讀】crownpku維護了一個關於中文自然語言處理相關資料索引網站,包含中文NLP工具、中文語料、中文NLP學術組織、中文NLP商業服務等。
  • NLP(自然語言處理)掃盲
    自然語言處理(簡稱NLP),是研究計算機處理人類語言的一門技術,是人工智慧(AI)的一個子領域,包括:1.句法語義分析:對於給定的句子,進行分詞、詞性標記、命名實體識別和連結、句法分析、語義角色識別和多義詞消歧。
  • 自然語言處理 NLP 的百年發展史
    這一系列顛覆性的研究成果在學術界引發轟動,激發了人工智慧(AI)的思潮,同時也催生了自然語言處理(NLP)和計算機技術的發展。人們最早對 NLP 的探索始於對機器翻譯的研究。1947年,美國科學家韋弗(W. Weaver)博士和英國工程師布斯(A. D.
  • NLP入門+實戰必讀:一文教會你最常見的10種自然語言處理技術
    大數據文摘作品編譯:糖竹子、吳雙、錢天培自然語言處理(NLP)是一種藝術與科學的結合,旨在從文本數據中提取信息。從自動翻譯、文本分類到情緒分析,自然語言處理成為所有數據科學家的必備技能之一。在這篇文章中,你將學習到最常見的10個NLP任務,以及相關資源和代碼。為什麼要寫這篇文章?
  • 快速掌握 Spacy 在 Python 中進行自然語言處理
    (點擊上方公眾號,可快速關注)轉自:數據派THU  英文:Paco Nathan  翻譯:笪潔瓊本文與配套的Domino項目,簡要介紹了如何使用
  • 【Github】nlp-roadmap:自然語言處理路相關路線圖(思維導圖)和關鍵詞(知識點)
    看到Reddit和Github上一個有意思的項目:graykode/nlp-roadmapROADMAP(Mind Map) and
  • 走進人工智慧NLP自然語言處理的世界,NLU與NLG又是什麼
    這就是計算機使用自己的語言和我們交流的一種方式。這種在人與計算機之間溝通的橋梁就稱之為NLP 自然處理技術(NLP: nature language processor)基於深度學習的⽅方法: CNN、RNN、LSTM 等,特別是現在的BERT 和 GPT-3 等技術的發展大大推動了NLP的發展,他們用到是,Transformer自然語言生成 – NLG自然語言生成,則是計算機處理完待定的指令後,需要把計算機的語言轉換成人類可以讀懂的語言呈現出來步驟:1.
  • NLP入門+實戰必讀:一文教會你最常見的10種自然語言處理技術(附代碼)
    大數據文摘作品編譯:糖竹子、吳雙、錢天培自然語言處理(NLP)是一種藝術與科學的結合,旨在從文本數據中提取信息。在它的幫助下,我們從文本中提煉出適用於計算機算法的信息。從自動翻譯、文本分類到情緒分析,自然語言處理成為所有數據科學家的必備技能之一。