*本文約3000字,閱讀大約需要5分鐘。
自然語言處理(Nature Language Processing,NLP)被譽為「人工智慧技術皇冠上的明珠」,一方面表明了它的重要性,另一方面也顯現出了它的技術難度。但NLP並不像語音識別、圖像識別等人工智慧技術一樣為人熟知,接下來的5分鐘,我們來快速了解NLP技術,感受它的魅力。
NLP是與自然語言的計算機處理有關的技術統稱,為了更好地理解,我們把「自然語言處理」拆分成為兩部分:
1、自然語言——人和人之間書面或口語交流的形式
2、處理——計算機對數據進行理解和分析
換言之,自然語言處理就是讓計算機理解人類語言,並進行相應的分析。
我們所熟知的蘋果Siri、微軟小冰,就是自然語言處理的典型的應用,他們不僅能夠理解我們所說的話,還能夠針對性地做出反饋。
先說結論:為了更加輕鬆、美好的生活。
舉一個簡單的例子,當我們需要讓計算機處理某個問題或者實現某個功能,需要輸入計算機能夠理解的指令,也就是代碼。
全世界知名度最高的代碼莫過於「Hello World」,我們想讓計算機「列印Hello World」,就需要用計算機理解的語言對它下達指令:
#include <stdio.h>
int main()
{
printf("Hello, World! \n");
return 0;
}
而自然語言處理就是把人類的語言和文本轉換成為機器能夠理解的數據,再將機器對數據解析出來的結果轉換成為人類的語言和文本,彌補機器和人類之間的差距,幫助人們更高效地解決問題。
首先舉一個例子來理解利用NLP帶來的【高效】。
搜索是我們平時獲取信息的重要途徑,但往往現有的搜尋引擎很難第一時間滿足我們的信息需求。
例如,想要查詢「微信MAU有多少」,我們得到的往往是下圖這樣需要耗費大量時間去逐個二次查找的連結,甚至一番查找過後,仍然得不到需要的準確信息。
而利用NLP技術的智能搜索通過理解人類語言和文本,在信息獲取需求和海量數據信息之間,能夠架起一座直達的橋梁。
虎博搜索就是這樣一款基於語義理解的下一代搜尋引擎,區別於已經延續了20年的基於關鍵詞匹配的上一代搜尋引擎,虎博搜索可以理解自然語言的搜索意圖,並且返回直觀的結構化搜索結果,實現問答式的搜索體驗。
搜索同樣的問題,得到的就是通過語義搜索提取到的騰訊財報中的準確數據——12.061億(微信及Wechat的合併月活躍帳戶數)。
虎博搜索PC版搜索示意
在一鍵獲取有效結果的背後,是NLP技術的綜合應用,機器需要理解查詢的意圖,知道微信這個實體從屬於哪家公司,明白MAU所指代的具體含義,再將騰訊財報中非結構化的數據轉化成為結構化的數據呈現出來。
一鍵獲取核心財經數據及行業分析,體驗不一樣的問答式搜索,可登陸虎博搜索PC版(search.tigerobo.com)。
這種高效具體是如何實現的呢?首先我們要明確,既然自然語言處理要解決的是人類和機器的溝通障礙,那它就需要達成兩個目標:
1、讓計算機聽得懂「人話」——即NLU自然語言理解,讓計算機具備人類的語言理解能力
2、讓計算機能夠「講人話」——即NLG自然語言生成,讓計算機能夠生成人類理解的語言和文本,比如文章、報告、圖表等等
然而,不可否認的是,儘管Google I/O大會上的Google Assistant宣稱已經通過了圖靈測試,但是離機器真正理解人類語言仍有很長的距離。
但在NLPer們的埋頭苦幹之下,機器已經能夠逐步理解人類的語言和文本,並幫助人們處理實際問題。
把人類的文本拆解來看,可以理解為詞、句、關係的組合,要讓機器理解人類語言和文本,首先要讓機器對文本進行拆解分析,以下是現階段常用的重要算法:
1、詞法分析
首先是對詞和詞組的分析,包括分詞處理、詞性標註、命名實體識別等。
分詞處理,將多種語言的文字序列切分成有意義的詞或詞組。
詞性標註,對分詞後的每個獨立單詞進行詞性判斷並標註。
命名實體識別,從輸入信息中自動識別出命名實體,如姓名、時間、地點以及機構等。
2、句法依存分析
詞法分析過後,通過詞彙之間的依存關係來拆解整個句子結構,依存關係表達了句子各成分之間的語義依賴關係,比如主謂、動賓、定中等結構關係。
3、關係/知識抽取
句法分析過後,就可以抽取信息中的特定實體之間的關係。例如從屬關係、親屬關係、同義關係等。
上圖就是利用算法讓機器對文本進行理解的例子,經過拆解分析,機器就能夠理解「NLP這個實體是從屬於人工智慧這個學科的研究方向」。
當機器抽取出了人類語言中的關係或知識,進而就可以對語言和文本做更進一步的處理,例如:
1、文本相似度分析
通過對輸入的兩個文本進行理解和對比,輸出文本之間的相似程度。下圖是對《證券日報》和《上海證券報》有關騰訊今年二季度業務報導的對比,雖然兩篇報導主題相同,但是具體報導內容各有側重,機器能夠識別出來二者內容並不相似。
文本相似度技術在網絡內容自動排重、文章關聯分析、相似度檢索等方面有著良好的應用效果。
2、語義聚類
自動對大量未分類的信息進行聚類,把內容相近的信息歸為一類,並自動為該類生成主題詞。
上圖是對一段時間內有關銀行業相關報導的聚類效果,首先將同類型信息歸納在一起,同時生成該類信息的熱詞:理財、銀行、消金等等。語義聚類對於發現新熱點、發現新事件等需求有著巨大的輔助作用。可以為專題製作、熱點追蹤等眾多業務場景提供方便。
3、文本摘要
根據輸入信息,對其進行理解,精簡提煉出核心信息,形成摘要。文本摘要可以方便用戶快速預覽信息。
下圖就是對前文提到的《上海證券報》報導進行的摘要示意,可以看到摘要準確提取到了報導中所重點闡述的淨利潤的財務指標及微信月活用戶數的業務指標。
現階段NLP技術對文本的處理還有很多,此處只做一小部分舉例。
當NLP技術對文本的處理應用綜合在一起,就能幫助解決人們在工作和生活場景中的實際問題,現階段最典型的應用包括智能搜索、智能問答、智能輿情等。
1、智能搜索
誕生了20年的傳統搜尋引擎,主要基於關鍵詞匹配來提供搜索結果,返回的是一條一條連結,很多時候我們需要一條一條的點開、閱讀,才能找到我們所需要的信息。
而使用了NLP技術的下一代搜尋引擎,體驗更偏向於問答,首先理解用戶搜索的真實意圖,再對它所理解過的海量信息進行匹配,最終反饋一個精準的結果。這樣就能大幅度提高檢索數據、信息的效率。
還是以下一代搜尋引擎虎博搜索來舉例。電商直播可以說是今年最熱的風口之一,如果想要了解電商直播的市場規模,查詢相關的研究數據,通過虎博搜索即可快速得到。
圖片來源:虎博搜索PC版
虎博搜索的底層核心智能搜索技術,還可以應用於企業和機構的具體業務場景中,例如關聯關係分析、多重維度對比、風險評估判斷、海量文檔資訊管理、競品研究分析、行業研究分析等。
當然,NLP技術的落地應用還在不斷的拓展和演變,NLP技術也尚處在早期的研發探索階段,但它是推動人工智慧從弱人工智慧走向強人工智慧的關鍵突破口,想像一下,當機器真正理解人類的語言和文本,能夠思考和推理,並且幫助人們解決人力所無法解決的問題的時候,或許人類就能夠在機器的幫助下,更好地解決問題、探索未知。