自然語言處理NLP概述
- 版權聲明:本文爲博主chszs的原創文章,未經博主允許不得轉載。
自然語言處理(Natural language processing,NLP)是計算機和人類語言之間的關係紐帶。更具體地說,自然語言處理是計算機對自然語言的理解、分析、操縱和/或生成。計算機程序能否將一段英文文本轉換成程序員友好的數據結構來描述自然語言文本的含義?不幸的是,這種數據結構的形式是否存在並沒有形成共識。在解決這些基本的人工智能問題之前,計算機科學家必須解決提取描述文本信息有限方面的簡單表示的簡化目標。
概述自然語言處理
自然語言處理(NLP)可以被定義爲人類語言的自動(或半自動)處理。“NLP”這個術語有時被用於比這更窄的範圍,通常不包括信息檢索,有時甚至不包括機器翻譯。NLP有時還與“計算語言學”相對立,NLP被認爲更適用。如今,往往首選使用替代術語,如“語言技術(Language Technology)”或“語言工程(Language Engineering)”。語言(Language)經常與演講(Speech)(比如演講技術和語言技術)相對照。但是我將簡單地提到NLP並廣義地使用這個術語。NLP本質上是多學科的:它與語言學密切相關(儘管NLP公然借鑑語言理論的程度差異很大)。
什麼是自然語言處理?
NLP是計算機以一種聰明而有用的方式分析,理解和從人類語言中獲取意義的一種方式。通過利用NLP,開發者可以組織和構建知識來執行自動摘要,翻譯,命名實體識別,關係提取,情感分析,語音識別和話題分割等任務。NLP用於分析文本,使機器瞭解人的說話方式。這種人機交互使現實世界的應用,如自動文摘,情感分析,主題提取,命名實體識別,零部件,詞性標註,關係提取,詞幹,等等。NLP通常用於文本挖掘,機器翻譯和自動問答。
圖1:NLP技術
NLP的重要性
早期的NLP方法涉及更基於規則的方法,在這種方法中,簡單的機器學習算法被告知要在文本中查找哪些單詞和短語,並在這些短語出現時給出特定的響應。但深度學習是一個更靈活,直觀的方法,在這個方法中,算法學會從許多例子中識別說話者的意圖,就像孩子如何學習人類語言一樣。
在考慮以下兩個陳述時,可以看到自然語言處理的優勢:“雲計算保險應該成爲每個服務級別協議的一部分”和“良好的SLA確保夜間睡眠更加容易 - 即使在雲端”。如果您使用國家語言處理的搜索,程序將認識到雲計算是一個實體,雲是雲計算的縮寫形式,並且SLA是服務級別協議的行業首字母縮略詞。
自然語言處理的術語
這些分區與語言學的一些標準分支鬆散地相對應:
- 形態學(Morphology):詞的結構。例如,不尋常的可以被認爲是由一個前綴un-,一個詞幹和一個詞綴-ly組成。構成是構成加上屈折詞綴:拼寫規則意味着我們結束而不是組成。
- 語法(Syntax):單詞用於形成短語的方式。例如,它是英語語法的一部分,諸如意志之類的確定者會在名詞前面出現,而且確定者對於某些單數名詞是強制性的。
- 語義(Semantics):構成語義是基於語法的意義的建構(通常表示爲邏輯)。這與詞彙語義(即單詞的含義)形成對照。
自然語言處理的應用
以下是目前使用NLP的幾種常用方法:
Microsoft Word中的拼寫檢查功能是最基本和最知名的應用程序。
文本分析也稱爲情感分析,是NLP的一個關鍵用途。企業可以使用它來了解他們的客戶感受到的情緒,並使用這些數據來改善他們的服務。
通過使用電子郵件過濾器分析流經其服務器的電子郵件,電子郵件提供商可以使用樸素貝葉斯垃圾郵件過濾來計算電子郵件基於其內容的可能性。呼叫中心代表經常聽到來自客戶的相同的具體投訴,問題和問題。挖掘這些數據的情緒可以產生令人難以置信的可操作的情報,可以應用於產品佈局,消息傳遞,設計或其他一系列的用途。
Google,Bing和其他搜索系統使用NLP從文本中提取條件來填充其索引並解析搜索查詢。
Google Translate將機器翻譯技術應用於翻譯單詞,而且還用於理解句子的含義以改善翻譯。
金融市場使用NLP,通過明文公告和提取相關信息的格式進行算法交易決策。例如,公司之間合併的消息可能會對交易決策產生重大影響,並且合併細節(例如,參與者,價格,誰獲得誰)的速度可以被納入到交易算法中,在數百萬美元。
自然語言處理的例子
使用Summarizer自動總結一個文本塊,嚴格的主題句子,並忽略其餘的。
生成關鍵字話題標籤文檔使用LDA(隱含狄利克雷分佈),它從一個確定最相關的詞文件。該算法是自動標記和自動標記URL微服務的核心
基於Stanford NLP的情感分析可以用來辨別一個陳述的感覺,觀點或信念,從非常消極,中立到非常積極。
參考
[1] Ann Copestake, “Natural Language Processing”, 2004, 8 Lectures, available online at: https://www.cl.cam.ac.uk/teaching/2002/NatLangProc/revised.pdf
[2] Ronan Collobert and Jason Weston, “Natural Language Processing (Almost) from Scratch”, Journal of Machine Learning Research 12 (2011) pp. 2493-2537
[3] “Top 5 Semantic Technology Trends to look for in 2017”, available online at: https://ontotext.com/top-5-semantic-technology-trends-2017/