NLP:自然語言處理技術(shù)的簡介、發(fā)展歷史、案例應(yīng)用之詳細(xì)攻略 相關(guān)文章 自然語言處理技術(shù)的簡介? ? ? ?自然語言處理(Natural Language Processing,NLP)是計算機科學(xué),人工智能,語言學(xué)關(guān)注計算機和人類(自然)語言之間的相互作用的領(lǐng)域。自然語言處理是計算機科學(xué)領(lǐng)域與人工智能領(lǐng)域中的一個重要方向。它研究能實現(xiàn)人與計算機之間用自然語言進行有效通信的各種理論和方法。自然語言處理是一門融語言學(xué)、計算機科學(xué)、數(shù)學(xué)于一體的科學(xué)。因此,這一領(lǐng)域的研究將涉及自然語言,即人們?nèi)粘J褂玫恼Z言,所以它與語言學(xué)的研究有著密切的聯(lián)系,但又有重要的區(qū)別。自然語言處理并不是一般地研究自然語言,而在于研制能有效地實現(xiàn)自然語言通信的計算機系統(tǒng),特別是其中的軟件系統(tǒng)。因而它是計算機科學(xué)的一部分。 1、自然語言+處理? ? ? ?自然語言是指漢語、英語、法語等人們?nèi)粘J褂玫恼Z言,是人類社會發(fā)展演變而來的語言,而不是人造的語言,它是人類學(xué)習(xí)生活的重要工具。概括說來,自然語言是指人類社會約定俗成的,區(qū)別于如程序設(shè)計的語言的人工語言。在整個人類歷史上以語言文字形式記載和流傳的知識占到知識總量的80%以上。就計算機應(yīng)用而言,據(jù)統(tǒng)計,用于數(shù)學(xué)計算的僅占10%,用于過程控制的不到5%,其余85%左右都是用于語言文字的信息處理。 2、NLP技術(shù)的意義? ? ? ?用自然語言與計算機進行通信,這是人們長期以來所追求的。因為它既有明顯的實際意義,同時也有重要的理論意義:人們可以用自己最習(xí)慣的語言來使用計算機,而無需再花大量的時間和精力去學(xué)習(xí)不很自然和習(xí)慣的各種計算機語言;人們也可通過它進一步了解人類的語言能力和智能的機制。 3、NLP的兩個方向——自然語言理解和自然語言生成? ? ? ?實現(xiàn)人機間自然語言通信意味著要使計算機既能理解自然語言文本的意義,也能以自然語言文本來表達給定的意圖、思想等。前者稱為自然語言理解,后者稱為自然語言生成。因此,自然語言處理大體包括了自然語言理解和自然語言生成兩個部分。歷史上對自然語言理解研究得較多,而對自然語言生成研究得較少。但這種狀況已有所改變。 4、自然語言理解的五個層次? ? ? ?自然語言的理解和分析是一個層次化的過程,許多語言學(xué)家把這一過程分為五個層次,可以更好地體現(xiàn)語言本身的構(gòu)成,五個層次分別是語音分析、詞法分析、句法分析、語義分析和語用分析。
5、圖靈試驗判斷計算機是否理解了某種自然語言? ? ? ?在人工智能領(lǐng)域或者是語音信息處理領(lǐng)域中,學(xué)者們普遍認(rèn)為采用圖靈試驗可以判斷計算機是否理解了某種自然語言,具體的判別標(biāo)準(zhǔn)有以下幾條:
自然語言處理技術(shù)的發(fā)展歷史? ? ? ?自然語言處理是包括了計算機科學(xué)、語言學(xué)心理認(rèn)知學(xué)等一系列學(xué)科的一門交叉學(xué)科,這些學(xué)科性質(zhì)不同但又彼此相互交叉。最早的自然語言理解方面的研究工作是機器翻譯。1949年,美國人威弗首先提出了機器翻譯設(shè)計方案。20世紀(jì)60年代,國外對機器翻譯曾有大規(guī)模的研究工作,耗費了巨額費用,但人們當(dāng)時顯然是低估了自然語言的復(fù)雜性,語言處理的理論和技術(shù)均不成熱,所以進展不大。 1、20世紀(jì)50年代到70年代——采用基于規(guī)則的方法? ? ? ?1950年圖靈提出了著名的“圖靈測試”,這一般被認(rèn)為是自然語言處理思想的開端,20世紀(jì)50年代到70年代自然語言處理主要采用基于規(guī)則的方法,研究人員們認(rèn)為自然語言處理的過程和人類學(xué)習(xí)認(rèn)知一門語言的過程是類似的,所以大量的研究員基于這個觀點來進行研究,這時的自然語言處理停留在理性主義思潮階段,以基于規(guī)則的方法為代表。但是基于規(guī)則的方法具有不可避免的缺點,首先規(guī)則不可能覆蓋所有語句,其次這種方法對開發(fā)者的要求極高,開發(fā)者不僅要精通計算機還要精通語言學(xué),因此,這一階段雖然解決了一些簡單的問題,但是無法從根本上將自然語言理解實用化。 2、20世紀(jì)70年代到21世紀(jì)初——采用基于統(tǒng)計的方法? ? ? ?70年代以后隨著互聯(lián)網(wǎng)的高速發(fā)展,豐富的語料庫成為現(xiàn)實以及硬件不斷更新完善,自然語言處理思潮由經(jīng)驗主義向理性主義過渡,基于統(tǒng)計的方法逐漸代替了基于規(guī)則的方法。賈里尼克和他領(lǐng)導(dǎo)的IBM華生實驗室是推動這一轉(zhuǎn)變的關(guān)鍵,他們采用基于統(tǒng)計的方法,將當(dāng)時的語音識別率從70%提升到90%。在這一階段,自然語言處理基于數(shù)學(xué)模型和統(tǒng)計的方法取得了實質(zhì)性的突破,從實驗室走向?qū)嶋H應(yīng)用。 3、2008年到2019年——深度學(xué)習(xí)的RNN、LSTM、GRU? ? ? ?從2008年到現(xiàn)在,在圖像識別和語音識別領(lǐng)域的成果激勵下,人們也逐漸開始引入深度學(xué)習(xí)來做自然語言處理研究,由最初的詞向量到2013年的word2vec,將深度學(xué)習(xí)與自然語言處理的結(jié)合推向了高潮,并在機器翻譯、問答系統(tǒng)、閱讀理解等領(lǐng)域取得了一定成功。深度學(xué)習(xí)是一個多層的神經(jīng)網(wǎng)絡(luò),從輸入層開始經(jīng)過逐層非線性的變化得到輸出。從輸入到輸出做端到端的訓(xùn)練。把輸入到輸出對的數(shù)據(jù)準(zhǔn)備好,設(shè)計并訓(xùn)練一個神經(jīng)網(wǎng)絡(luò),即可執(zhí)行預(yù)想的任務(wù)。RNN已經(jīng)是自然語言處理最常用的方法之一,GRU、LSTM等模型相繼引發(fā)了一輪又一輪的熱潮。 4、自然語言處理最新進展? ? ? ?近年來,預(yù)訓(xùn)練語言模型在自然語言處理領(lǐng)域有了重要進展。預(yù)訓(xùn)練模型指的是首先在大規(guī)模無監(jiān)督的語料上進行長時間的無監(jiān)督或者是自監(jiān)督的預(yù)先訓(xùn)練(pre-training),獲得通用的語言建模和表示能力。之后在應(yīng)用到實際任務(wù)上時對模型不需要做大的改動,只需要在原有語言表示模型上增加針對特定任務(wù)獲得輸出結(jié)果的輸出層,并使用任務(wù)語料對模型進行少許訓(xùn)練即可,這一步驟被稱作微調(diào)(fine tuning)。 ? ? ? ?BERT(Bidirectional Encoder Representation from Transformer)是 Google AI于NAACL2019 提出的一個預(yù)訓(xùn)練語言模型。BERT 的創(chuàng)新點是提出了有效的無監(jiān)督預(yù)訓(xùn)練任務(wù),從而使得模型能夠從無標(biāo)注語料中獲得通用的語言建模能力。BERT之后涌現(xiàn)了許多對其進行擴展的模型(如上圖所示),包括:跨語言預(yù)訓(xùn)練的XLM和UDify,跨模態(tài)預(yù)訓(xùn)練的模型,融合知識圖譜的ERNIE,將seq2seq等語言生成任務(wù)整合入BERT類模型的MASS, UniLM等。其中幾個重要的進展包括:
自然語言處理技術(shù)的案例應(yīng)用1、算法實踐中常用的庫
2、應(yīng)用案例集合NLP之情感分析:基于python編程(jieba庫)實現(xiàn)中文文本情感分析(得到的是情感評分) |
|