一文看懂自然語言生成 - NLG(6個實現步驟+3個典型應用)

dicksonjyl560101發表於2019-08-02
  2019-08-01 11:58:27
一文看懂自然語言生成 - NLG(6個實現步驟+3個典型應用)

自然語言生成 – NLG 是 NLP 的重要組成部分,他的主要目的是降低人類和機器之間的溝通鴻溝,將非語言格式的資料轉換成人類可以理解的語言格式。

本文除了介紹 NLG 的基本概念,還會介紹 NLG 的3個 Level、6個步驟和3個典型的應用。

什麼是 NLG?

NLG 是 NLP 的一部分

一文看懂自然語言生成 - NLG(6個實現步驟+3個典型應用)

NLP = NLU + NLG

自然語言生成 – NLG 是 NLP 的重要組成部分。NLU 負責理解內容,NLG 負責生成內容。

以智慧音響為例,當使用者說“幾點了?”,首先需要利用 NLU 技術判斷使用者意圖,理解使用者想要什麼,然後利用 NLG 技術說出“現在是6點50分”。

自然語言生成 – NLG 是什麼?

一文看懂自然語言生成 - NLG(6個實現步驟+3個典型應用)

NLG 是為了跨越人類和機器之間的溝通鴻溝,將非語言格式的資料轉換成人類可以理解的語言格式,如文章、報告等。

自然語言生成 – NLG 有2種方式:

  1. text – to – text:文字到語言的生成
  2. data – to – text :資料到語言的生成
一文看懂自然語言生成 - NLG(6個實現步驟+3個典型應用)

NLG 的3個 Level

一文看懂自然語言生成 - NLG(6個實現步驟+3個典型應用)

簡單的資料合併: 自然語言處理的簡化形式,這將允許將資料轉換為文字(透過類似Excel的函式)。為了關聯,以郵件合併(MS Word mailmerge)為例,其中間隙填充了一些資料,這些資料是從另一個源(例如MS Excel中的表格)中檢索的。

一文看懂自然語言生成 - NLG(6個實現步驟+3個典型應用)

模板化的 NLG  :這種形式的NLG使用模板驅動模式來顯示輸出。以足球比賽得分板為例。資料動態地保持更改,並由預定義的業務規則集(如if / else迴圈語句)生成。

一文看懂自然語言生成 - NLG(6個實現步驟+3個典型應用)

高階 NLG  :這種形式的自然語言生成就像人類一樣。它理解意圖,新增智慧,考慮上下文,並將結果呈現在使用者可以輕鬆閱讀和理解的富有洞察力的敘述中。

NLG 的6個步驟

一文看懂自然語言生成 - NLG(6個實現步驟+3個典型應用)

第一步:內容確定 – Content Determination

作為第一步,NLG 系統需要決定哪些資訊應該包含在正在構建的文字中,哪些不應該包含。通常資料中包含的資訊比最終傳達的資訊要多。

第二步:文字結構 – Text Structuring

確定需要傳達哪些資訊後,NLG 系統需要合理的組織文字的順序。例如在報導一場籃球比賽時,會優先表達「什麼時間」「什麼地點」「哪2支球隊」,然後再表達「比賽的概況」,最後表達「比賽的結局」。

第三步:句子聚合 – Sentence Aggregation

不是每一條資訊都需要一個獨立的句子來表達,將多個資訊合併到一個句子裡表達可能會更加流暢,也更易於閱讀。

第四步:語法化 – Lexicalisation

當每一句的內容確定下來後,就可以將這些資訊組織成自然語言了。這個步驟會在各種資訊之間加一些連線詞,看起來更像是一個完整的句子。

第五步:參考表示式生成 – Referring Expression Generation|REG

這個步驟跟語法化很相似,都是選擇一些單詞和短語來構成一個完整的句子。不過他跟語法化的本質區別在於“REG需要識別出內容的領域,然後使用該領域(而不是其他領域)的詞彙”。

第六步:語言實現 – Linguistic Realisation

最後,當所有相關的單詞和短語都已經確定時,需要將它們組合起來形成一個結構良好的完整句子。

NLG 的3種典型應用

NLG 的不管如何應用,大部分都是下面的3種目的:

  1. 能夠大規模的產生個性化內容
  2. 幫助人類洞察資料,讓資料更容易理解
  3. 加速內容生產

下面給大家列一些比較典型的應用:

一文看懂自然語言生成 - NLG(6個實現步驟+3個典型應用)

自動寫新聞

某些領域的新聞是有比較明顯的規則的,比如體育新聞。目前很多新聞已經藉助 NLG 來完成了。

《騰訊機器人日均寫稿過千篇 你讀的新聞可能是AI寫的》

聊天機器人

大家瞭解聊天機器人都是從 Siri 開始的,最近幾年又出現了智慧音響的熱潮。

除了大家日常生活中很熟悉的領域,客服工作也正在被機器人替代,甚至一些電話客服也是機器人。

《跟你通話的客服是個機器人!》

一文看懂自然語言生成 - NLG(6個實現步驟+3個典型應用)

BI 的解讀和報告生成

幾乎各行各業都有自己的資料統計和分析工具。這些工具可以產生各式各樣的圖表,但是輸出結論和觀點還是需要依賴人。NLG 的一個很重要的應用就是解讀這些資料,自動的輸出結論和觀點。(如下圖所示)

一文看懂自然語言生成 - NLG(6個實現步驟+3個典型應用)

總結

自然語言生成 – NLG 是 NLP 的重要組成部分,他的主要目的是降低人類和機器之間的溝通鴻溝,將非語言格式的資料轉換成人類可以理解的語言格式。

NLG 的3個level:

  1. 簡單的資料合併
  2. 模組化的 NLG
  3. 高階 NLG

NLG 的6個步驟:

  1. 內容確定 – Content Determination
  2. 文字結構 – Text Structuring
  3. 句子聚合 – Sentence Aggregation
  4. 語法化 – Lexicalisation
  5. 參考表示式生成 – Referring Expression Generation|REG
  6. 語言實現 – Linguistic Realisation

NLG 應用的3個目的:

  1. 能夠大規模的產生個性化內容
  2. 幫助人類洞察資料,讓資料更容易理解
  3. 加速內容生產

NLG 的3個典型應用

  1. 自動寫新聞
  2. 聊天機器人
  3. BI 的解讀和報告生成

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29829936/viewspace-2652564/,如需轉載,請註明出處,否則將追究法律責任。

相關文章