一文讀懂Smartbi的自然語言處理(NLP)技術

2021-01-07 騰訊網

01什麼是自然語言處理

自然語言處理(Natural Language Processing,簡稱NLP)就是用計算機來處理、理解以及運用人類語言(如中文、英文等),它屬於人工智慧的一個分支,是計算機科學與語言學的交叉學科。由於自然語言是人類區別於其他動物的根本標誌,沒有語言,人類的思維也就無從談起,所以NLP體現了人工智慧的最高任務與境界。也就是說,只有當計算機具備了處理自然語言的能力時,機器才算實現了真正的智能。

從技術角度看,NLP包括序列標註、分類任務、句子關係判斷和生成式任務等。從應用角度看,NLP具有廣泛的應用場景,例如:機器翻譯、信息檢索、信息抽取與過濾、文本分類與聚類、輿情分析和觀點挖掘等等。它涉及與語言處理相關的數據挖掘、機器學習、知識獲取、知識工程、人工智慧研究和與語言計算相關的語言學研究等。

NLP的興起與機器翻譯這一具體任務有著密切聯繫。「人工智慧」被作為一個研究問題正式提出來的時候,創始人把計算機西洋棋和機器翻譯作為兩個標誌性的任務,認為只要西洋棋系統能夠打敗人類世界冠軍,機器翻譯系統達到人類翻譯水平,就可以宣告人工智慧的勝利。四十年後的1997年,IBM公司的深藍超級計算機已經能夠打敗西洋棋世界冠軍卡斯帕羅夫。而機器翻譯到現在仍無法與人類翻譯水平相比,由此可見NLP有多麼的複雜和困難!

02自然語言處理的發展趨勢

目前,人們主要通過兩種思路來進行自然語言處理,一種是基於規則的理性主義,另外一種是基於統計的經驗主義。理性主義方法認為,人類語言主要是由語言規則來產生和描述的,因此只要能夠用適當的形式將人類語言規則表示出來,就能夠理解人類語言,並實現語言之間的翻譯等各種NLP任務。而經驗主義方法則認為,從語言數據中獲取語言統計知識,有效建立語言的統計模型。因此只要能夠有足夠多的用於統計的語言數據,就能夠理解人類語言。然而,當面對現實世界充滿模糊與不確定性時,這兩種方法都面臨著各自無法解決的問題。例如,人類語言雖然有一定的規則,但是在真實使用中往往伴隨大量的噪音和不規範性。理性主義方法的一大弱點就是魯棒性差,只要與規則稍有偏離便無法處理。而對於經驗主義方法而言,又不能無限地獲取語言數據進行統計學習,因此也不能夠完美地理解人類語言。二十世紀八十年代以來的趨勢就是,基於語言規則的理性主義方法不斷受到質疑,大規模語言數據處理成為目前和未來一段時期內NLP的主要研究目標。統計學習方法越來越受到重視,自然語言處理中越來越多地使用機器自動學習的方法來獲取語言知識。

隨著2013年word2vec技術的發表,以神經網絡為基礎的深度學習技術開始在NLP中廣泛使用,深度學習的分布式語義表示和多層網絡架構具有強大的擬合和學習能力,顯著提升了NLP各種任務的性能,成為現階段NLP的主要技術方案。

深度學習是純數據驅動技術方案,需要從大規模標註數據中學習特定任務相關的複雜模式。一方面,有些學者開始探索麵向大規模無標註文本數據的深度學習模型,如ELMo,GPT、BERT等,可以看做從大規模數據中學習知識的極致探索;另一方面,現有深度學習技術尚未考慮人類積累的豐富知識(包括語言知識、世界知識、常識知識、認知知識、行業知識等),如果將深度學習看做經驗主義方法,將符號知識看做理性主義方法,那麼如何充分發揮基於規則的理性主義方法和基於統計的經驗主義方法的優勢,兩者互相補充,更好、更快地進行自然語言處理,仍然是我們需要探索的重要課題。

03自然語言處理在BI的應用

2018年,Gartner 在其發布的魔力象限報告中,明確指出增強型分析功能是 BI 產品發展的最重要、也是最顯著的發展趨勢之一,其原因並不難理解:「當前企業使用的數據的規模和複雜度已經逐漸超過人類可以處理的程度,靜態報表、儀錶板等傳統工具已經不能滿足需求,而通過機器學習、人工智慧等技術增強分析,可以更好地處理這些數據。而如果利用自然語言處理、人工智慧等技術的增強分析就可以自動、快速地對數據進行分析,輔助分析人員得到需要的數據洞察。」

作為兩次入選 「Gartner增強分析2020代表廠商」和「Gartner中國人工智慧創業公司代表廠商(2020)」的Smartbi正是看到了這些趨勢,在2018年便開始自主研發增強分析工具Smartbi NLP,期望通過引入自然語言處理、知識圖譜、推薦算法和機器問答等人工智慧技術,使得Smartbi NLP可以理解用戶的數據分析需求,並幫助其快速完成分析任務獲得數據洞見。

Smartbi NLP的交互式對話實際上是一種特定的語義分析任務。在學術界,類似的任務最早可以追溯到1970年代提出的自然語言編程(Natural-language programming),是指將自然語言(研究比較多的是英語)翻譯為特定的程式語言。在1980年代,人們又針對關係性資料庫提出了自然語言資料庫查詢(Natural Language Database Query),也稱為Text2SQL、NL2SQL等。它將用戶的自然語句轉為可以執行的SQL語句,從而免除業務用戶學習SQL語言的煩惱,成功將NLP應用於BI領域。

Smartbi NLP利用了NL2SQL技術,將自然語言通過神經網絡轉化為計算機可以識別的資料庫查詢語言。用戶通過語音或者鍵盤輸入後,「AI智能小麥」會將輸入的自然語言轉為語言元模型的形式,通過小麥內置的知識抽取算法,經過深度學習模型將元模型轉化為機器可以理解的資料庫語言。最後通過Smartbi預置的查詢引擎和圖形引擎,快速準確的找到用戶想要的查詢結果,自動生成圖形輸出,也可以在Smartbi中對查詢結果進行組合和進一步分析。

圖:NL2SQL模型原理示意圖

Smartbi NLP是時下前沿的數據分析工具,簡化為搜尋引擎,僅僅只有一個輸入框,頁面直接輸入描述業務問題,工具自動把數據查詢出來,免去學習操作的過程,特別適合在展廳大屏、領導辦公室大屏等場合使用,一經推出便廣受客戶歡迎。

相關焦點

  • 國內自然語言處理(NLP)研究組
    /natural-language-computing/www.microsoft.com百度自然語言處理百度自然語言處理 - 理解語言,擁有智能,改變世界nlp.baidu.com阿里巴巴達摩院語言技術實驗室
  • NLP入門+實戰必讀:一文教會你最常見的10種自然語言處理技術
    大數據文摘作品編譯:糖竹子、吳雙、錢天培自然語言處理(NLP)是一種藝術與科學的結合,旨在從文本數據中提取信息。從自動翻譯、文本分類到情緒分析,自然語言處理成為所有數據科學家的必備技能之一。在這篇文章中,你將學習到最常見的10個NLP任務,以及相關資源和代碼。為什麼要寫這篇文章?
  • NLP入門+實戰必讀:一文教會你最常見的10種自然語言處理技術(附代碼)
    大數據文摘作品編譯:糖竹子、吳雙、錢天培自然語言處理(NLP)是一種藝術與科學的結合,旨在從文本數據中提取信息。在它的幫助下,我們從文本中提煉出適用於計算機算法的信息。從自動翻譯、文本分類到情緒分析,自然語言處理成為所有數據科學家的必備技能之一。
  • 帶新手走進自然語言處理,7本NLP專業書
    「自然語言處理是計算機科學領域與人工智慧領域中的一個重要方向。它研究能實現人與計算機之間用自然語言進行有效通信的各種理論和方法。        自然語言處理是一門融語言學、計算機科學、數學於一體的科學。因此,這一領域的研究將涉及自然語言,即人們日常使用的語言,所以它與語言學的研究有著密切的聯繫,但又有重要的區別。
  • 【獨家】自然語言處理(NLP)入門指南
    在線課程•  Dan Jurafsky 和 Chris Manning:自然語言處理[非常棒的視頻介紹系列]https://www.youtube.com/watch?v=nfoudtpBV68&list=PL6397E4B26D00A269 •  斯坦福CS224d:自然語言處理的深度學習[更高級的機器學習算法、深度學習和NLP的神經網絡架構]http://cs224d.stanford.edu/syllabus.html •  Coursera:自然語言處理簡介[由密西根大學提供的NLP
  • Awesome-Chinese-NLP:中文自然語言處理相關資料
    HanLP (Java)SnowNLP (Python) Python library for processing Chinese textYaYaNLP (Python) 純python編寫的中文自然語言處理包,取名於「牙牙學語」小明NLP (Python) 輕量級中文自然語言處理工具DeepNLP (Python) Deep
  • 自然語言處理NLP快速入門
    【導讀】自然語言處理已經成為人工智慧領域一個重要的分支,它研究能實現人與計算機之間用自然語言進行有效通信的各種理論和方法。
  • NLP自然語言處理組
    黃書劍 副教授、博士生導師、江蘇省優青主頁:http://nlp.nju.edu.cn/huangsj/        分析理解人類語言是人工智慧的重要問題之一。南京大學自然語言處理課題組從事NLP領域研究工作近40年,國內最早從事該領域研究的科研團體之⼀,先後承擔過該領域的國家科技攻關項目、863項目、國家自然科學基金和江蘇省自然科學基金以及對外合作項目的研製,積累了大量的該領域研究工作所涉及到的理論、技術和經驗。
  • 斯坦福NLP團隊發布最新自然語言處理Python庫
    【導讀】斯坦福NLP團隊,於1月29日發布了新版的自然語言處理Python庫:StandfordNLP,不同於以前java系的CoreNLP,
  • 獨家 | 一文讀懂自然語言處理NLP(附學習資料)
    以人工神經網絡為代表的深度學習技術已經在計算機視覺、語音識別等領域取得了巨大 成功,在自然語言處理領域,利用神經網絡對自然語言文本信息進行特徵學習和文本分類, 也成為文本分類的前沿技術。前向神經網絡:多層感知機(Multilayer Perceptron, MLP)是一種典型的前向神經網 絡。它能夠自動學習多層神經網絡,將輸入特徵向量映射到對應的類別標籤上。
  • 【NLP】自然語言處理基礎微課程|語言學午餐
    小編痛下決心,同黑龍江大學自然語言處理實驗室(微信公眾號ID:hlju_nlp,在今天的另一則推送中專文介紹)的小夥伴們合作,計劃在本學期完成一門介紹自然語言處理的「微課程」。該課程將於下周三(9月17日)正式上線。下文是課程大綱,歡迎大家按時「上課」!
  • 一文帶你讀懂自然語言處理 - 事件提取
    數百萬數據源以新聞稿、博客、消息、手稿和無數其他形式發布,因而自動組織和處理就必不可少。隨著神經網絡算法的改進、計算機算力的顯著提升以及大量湧現的理解框架,自然語言處理的能力正被前所未有的探索。其中一個常見應用稱為事件提取,即處理收集蘊藏在文本中的一個階段內發生的事件,自動識別發生了什麼和什麼時候發生。
  • 中文NLP福利!大規模中文自然語言處理語料
    新智元推薦來源:AINLP作者:徐亮【新智元導讀】本文介紹一個中文自然語言處理語料庫項目: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 版本正式發布,算是一個裡程碑:
  • 2019自然語言處理前沿論壇 五大議題全面解析NLP技術前沿
    5月26日,由百度與中國計算機學會中文信息技術專委會、中國中文信息學會青工委聯合舉辦的「2019自然語言處理前沿論壇」正式召開。本屆論壇主題為「機器之『讀、寫、說、譯』—— 探尋NLP未來之路」。論壇圍繞語義計算、自動問答、語言生成、人機對話及機器翻譯五大議題,與學術界、工業界一線青年專家學者共同探討NLP領域的最新技術進展、產業應用及發展趨勢。
  • 走進人工智慧NLP自然語言處理的世界,NLU與NLG又是什麼
    但是網絡中大部分的數據都是非結構化的,例如:文章、圖片、音頻、視頻…為了能夠分析和利用這些文本信息,我們就需要利用 NLP 技術,讓機器理解這些文本信息,並加以利用,然後能夠給人類帶來更多的方便快捷那麼,什麼是NLP自然處理人類有人類的溝通語言,比如漢語,英語,或者手語等等,這些都是人與人溝通的語言,動物有動物之間的溝通語言,當然,植物也有植物之間的溝通信息的語言
  • 一文學會最常見的10種NLP處理技術(附資源&代碼)
    自然語言處理(NLP)是一種藝術與科學的結合,旨在從文本數據中提取信息。在它的幫助下,我們從文本中提煉出適用於計算機算法的信息。從自動翻譯、文本分類到情緒分析,自然語言處理成為所有數據科學家的必備技能之一。在這篇文章中,你將學習到最常見的10個NLP任務,以及相關資源和代碼。
  • 自然語言處理(NLP)的一般處理流程!
    什麼是NLP自然語言處理 (Natural Language Processing) 是人工智慧(AI)的一個子領域。自然語言處理是研究在人與人交互中以及在人與計算機交互中的語言問題的一門學科。為了建設和完善語言模型,自然語言處理建立計算框架,提出相應的方法來不斷的完善設計各種實用系統,並探討這些實用系統的評測方法。2.
  • NLP Chinese Corpus項目:大規模中文自然語言處理語料
    作者徐亮(實在智能算法專家) 創建了一個中文自然語言處理語料庫項目:nlp_chinese_corpus ,初步貢獻了幾個已經預處理好的中文語料,包括維基、新聞和百科語料。希望大家一起為該項目貢獻語料,感興趣的同學可以直接關注該項目github地址,和作者直接聯繫,點擊文末"閱讀原文"直達github連結,可下載相關語料:大規模中文自然語言處理語料 Large Scale Chinese Corpus for NLPhttps://github.com/brightmart/nlp_chinese_corpus為中文自然語言處理領域發展貢獻語料
  • 從語言學到深度學習NLP,一文概述自然語言處理
    本文從兩篇論文出發先簡要介紹了自然語言處理的基本分類和基本概念,再向讀者展示了深度學習中的 NLP。這兩篇論文都是很好的綜述性入門論文,希望詳細了解自然語言處理的讀者可以進一步閱讀這兩篇論文。本文第一部分介紹了自然語言處理的基本概念,作者將 NLP 分為自然語言理解和自然語言生成,並解釋了 NLP 過程的各個層級和應用,這一篇論文很適合讀者系統的了解 NLP 的基本概念。