現如今,在更多情況下,我們是以比特和字節為生,而不是依靠交換情感。我們使用一種稱之為計算機的超級智能機器在互聯網上進行交易和溝通。因此,我們覺得有必要讓機器明白我們在說話時是如何對其進行理解的,并且試圖用人工智能,一種稱之為NLP——自然語言處理技術為它們提供語言。作為一種研究結果,聊天機器人正在成為一種可靠的聊天工具,使用這種非人為依賴的智能工具與人類進行交流。
我強烈的感受到:
直到我們的機器學會了解行為和情緒,數據科學家和工程師的工作才完成了一半。與深度學習(ML學科領域)融合的NLP將對這種計算機語言的使用起到關鍵作用。
什么是NLP
這是一種人工智能方法,給定機器一些人類語言從而使得它們能夠與人類進行溝通交流。它涉及使用NLP技術對書面語言進行智能分析,以獲取對一組文本數據的見解,如:
1.情緒分析
2.信息提取和檢索
3.智能搜索等
它是人工智能和計算語言學的交匯點,能夠處理機器和人類自然語言之間的交互,即計算機需要對其進行分析、理解、改變或生成自然語言。NLP幫助計算機機器以各種形式使用自然人類語言進行交流,包括但不限于語音、印刷、寫作和簽名。
NLP機器學習和深度學習:它們是如何連接的
NLP與機器學習和深度學習密切相關,所有這些都是人工智能領域的分支,如下圖所示:它是一個致力于使機器智能化的計算機科學領域。深度學習是一種流行的機器學習技術之一,如回歸,K-means等。
機器學習的類型很多,像無監督機器學習這樣的經常用于NLP技術中,如LDA(潛在狄利克雷分布,一種主題模型算法)。
為了能夠執行任何一個NLP,我們需要深入理解人類使如何處理語言的情感和分析方面。還有各種各樣像社交媒體這樣的語言數據源,人們直接或間接地分享他們感受到的內容,而這必須通過使用NLP的機器進行智能分析。NLP機器需要建立一個人類推理系統,借助ML技術,它們可以自動執行NLP過程并對其進行擴展。
簡而言之,“深度學習與自然語言處理”是相互聯系、相互依存的,以構建一個能夠像人類一樣思考、說話和行動的智能計算機。
Meltwater Group的NLP專家John Rehling在《自然語言處理是如何幫助揭示社交媒體情緒》一文中說,
“通過分析語言的含義,NLP系統扮演著非常重要的角色,如糾正語法,將語音轉換為文本,以及在多語言之間自動翻譯。”
NLP如何工作
理解NLP的工作原理是非常重要的,因為這樣的話,我們就可以將NLP作為一個整體來理解。NLP一般有兩個主要組成部分:
1.NLU:自然語言理解
2.NLG:自然語言生成
讓我們深入理解NLU
自然語言理解:它涉及的是一種方法論,試圖了解如何對饋送給計算機的自然語言賦予一定的相關意義。
在開始時,計算機獲得自然語言的輸入(自然語言可以是任何語言,它們通過使用和重復在人類中自然進化,而不是有意識的計劃或預謀,自然語言可以采用不同的形式,例如語音或簽名)。
計算機之后將它們轉換成人工語言,如語音識別和/或語音轉換文本。在這里我們把數據轉換成一個文本形式, NLU過程來理解其中的含義。
HMM:隱馬爾可夫模型(NLU示例)
它是一種統計語音識別模型,它可以在預先構建的數學技術的幫助下,將你的語音轉換成文本,并試圖推斷出你所說的語言。
它試圖理解你所說的,通過將語音數據分解成一小段特定的時間段,大多數情況下時間是20-20 ms。這些數據集將進一步與預饋語音進行比較,從而進一步解讀你在每個語音單位中所說的內容。這里的目的是找到音素(一個最小的語音單位)。然后,機器對一系列這樣的音素進行觀察,并統計了最可能說出的單詞和句子。
不僅如此,NLU會深刻理解每個單詞,試圖理解它是一個名詞還是動詞,什么是時態(過去或未來)等。這個過程被定義為POS:詞性標注部分(Part Of Speech Tagging)。NLP具有內置的詞典和一套與語法預編碼相關的協議,這些協議被預編碼到它們的系統中,并在處理自然語言數據集時使用它,從而在NLP系統處理人類語音時,編譯所說的內容。
NLP系統也有一個詞典(詞匯表)和一套編碼到系統中的語法規則。現代NLP算法使用統計機器,學習將這些規則應用于自然語言,并推斷所說話語背后最可能的含義。在考慮諸如具有多個含義的詞語(多義詞)或具有相似含義的詞語(同義詞)時,存在一些挑戰,但軟件開發者在他們的NLU系統中建立了自己的規則,可以通過適當的訓練和學習來處理這類問題。
自然語言生成:
與第一階段(NLU做了大量的努力以理解人類的話語)相比,NLG可以很容易的進行翻譯工作,即將計算機的人工語言翻譯為有意義的文本,并可以通過文字轉語音(tex-to-speech)技術將其轉化為可聽語音。文本轉語音((tex-to-speech))技術通過韻律模型(prosody model)來分析文本,從而確定語言的斷句、長短和音調。然后,利用語音數據庫,將記錄的所有音素匯集在一起,形成一個連貫的語音串。
簡而言之,NLP采用NLU和NLG來處理人類自然語言,尤其是處理語音識別領域的人類自然語言,并試圖將傳遞字符串或可聽語言作為輸出,來理解、編譯并推斷所說的內容。
NLP在現代語境中的應用:
在這個處于數字革命的電腦時代中,大部分任務需要由人類利用鏈接物聯網的機器來完成。NLP在為媒體、出版、廣告、醫療、銀行和保險等行業領域建立強大的軟件工具方面,發揮了重要作用,從而幫助他們高效快捷地運作。
NLP的一些現代用法:
1.聊天機器人
這是一個被稱為機器人的成熟軟件,它可以處理任何場景的人物對話。api.ai、微軟語音理解智能服務(LUIS)等一些熱門的NLP和機器學習平臺,可用于研發你的商業聊天機器人。
2.垃圾郵件過濾
你們中的大多數人一定對垃圾郵件并不陌生。Google使用基于NLP的技術來保障你的收件箱清潔、無垃圾郵件。貝葉斯垃圾郵件過濾(Bayesian spam filtering)是一種備受矚目的技術,它是一種統計技術,基于此,電子郵件中詞語的審核通過率根據其在垃圾和非垃圾郵件語料庫中的典型事例來確定。
3.機器翻譯
NLP被越來越多的應用于機器翻譯程序當中,這使得一種語言被自動翻譯成另一種語言,谷歌是一個將你的文本翻譯為所需語言的先驅者。
機器翻譯技術所面臨的挑戰不在于翻譯單詞,而在于保留句子的含義,這是一個復雜的技術問題,也是NLP的核心。
4.命名實體提取(Named entity extraction)
它用于從給定的項目集合中分離出具有相似性質和屬性的項目。例如名字、姓氏、年齡、地理位置、地址、電話號碼、電子郵件地址和公司名稱等等。命名實體提取(亦稱命名實體識別)使挖掘數據變得更加容易。
5.自動匯總
自然語言處理可用于從大段文本中提取可讀摘要。例如,我們可以自動總結出一份長篇學術文章的簡短摘要。
接下來我們將深入介紹一些NLP的技術細節。
當自然界與人工相逢的時候,機器就像是一個真正具有生命力的人類一樣進入了生活中。
NLP技術術語
NLP術語
?語音體系——關于系統性地組織語音的研究。
?形態學——這是一個從基本意義單位中進行單詞構建的研究。
?語素——語言中意義的基本單位。
?語法——它是指單詞經過組合排列構成句子,它還涉及在句子和短語中確定單詞結構的作用。
?語義——它涉及的是單詞的含義,以及該如何將單詞組合成有意義的短語和句子。
?語用學——它涉及的是在不同情況下使用和理解句子以及對句子的解釋是如何受到影響的。
?話語——它指的是前面的句子如何影響對于下一句的解釋的。
?常識性知識——它涉及的是對于世界的一般性認識。
自然語言處理庫(對于開發者而言)
NLP庫:
有許多通用的第三方開源庫,開發人員可以使用它們來構建基于NLP的Projects Viz .。
?自然語言工具包(NLTK)
?Apache OpenNLP
?斯坦福大學NLP套件
?Gate NLP庫
自然語言工具包(NLTK)是最通用的自然語言處理(NLP)庫。它是用Python編寫的,背后有一個很大的社區。
NLP實施所涉及的步驟:
它涵蓋了5個主要步驟:
?詞法分析——它對給定單詞的結構進行識別和分析,其中整個文本數據塊在詞法分析中被分解成段落、句子和詞匯。
?解析(句法分析)——它涉及以一種顯示單詞之間的關系的方式對分析句子中的單詞進行語法和單詞排列分析,在這個階段,任何不符合語法正確的句子都被拒絕,例如,“building lives in sita”將不會被語法分析器所接受
?語義分析——對給定的文本進行分析以從中提取意義。它通過對任務域中的語法結構和目標進行分析來完成。語義分析器拒絕不相關的句子,如“hot banana”。
?話語整合——正如我們所知,每個句子都與前一句話相互聯系,基于倒數第二句的意義而言,任何句子都變得有意義。同樣,它也使得后一句話變得有意義。
?語用分析——在此期間,常識性知識被重新定義了,解釋了它們的真實意義到底是什么,它涉及到那些需要常識性知識的語言方面。
用圖片來解讀NLP(點擊圖片放大):
NLP應用程序:
1.光學字符識別
2.語音識別
3.機器翻譯
4.自然語言生成
5.情緒分析
6.語義搜索
7.自然語言編程
8.情感計算
9.開發聊天機器人
-
人工智能
+關注
關注
1796文章
47791瀏覽量
240570 -
深度學習
+關注
關注
73文章
5518瀏覽量
121608 -
自然語言處理
+關注
關注
1文章
620瀏覽量
13655 -
npl
+關注
關注
0文章
5瀏覽量
2387
原文標題:「自然語言處理」如何快速理解?有這篇文章就夠了!
文章出處:【微信號:AItists,微信公眾號:人工智能學家】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
python自然語言
語義理解和研究資源是自然語言處理的兩大難題
什么是人工智能、機器學習、深度學習和自然語言處理?
什么是自然語言處理_自然語言處理常用方法舉例說明
![什么是<b class='flag-5'>自然語言</b><b class='flag-5'>處理</b>_<b class='flag-5'>自然語言</b><b class='flag-5'>處理</b>常用方法舉例說明](https://file1.elecfans.com//web2/M00/A7/1F/wKgZomUMQoCAevVfAABhN-LWqY8447.png)
評論