本文首發(fā)自 easyAI - 人工智能知識(shí)庫(kù)
原文地址:《一文看懂自然語(yǔ)言生成 - NLG(6個(gè)實(shí)現(xiàn)步驟+3個(gè)典型應(yīng)用)》

自然語(yǔ)言生成 - NLG 是 NLP 的重要組成部分,他的主要目的是降低人類和機(jī)器之間的溝通鴻溝,將非語(yǔ)言格式的數(shù)據(jù)轉(zhuǎn)換成人類可以理解的語(yǔ)言格式。
本文除了介紹 NLG 的基本概念,還會(huì)介紹 NLG 的3個(gè) Level、6個(gè)步驟和3個(gè)典型的應(yīng)用。
什么是 NLG?
NLG 是 NLP 的一部分

NLP = NLU + NLG
自然語(yǔ)言生成 - NLG 是 NLP 的重要組成部分。NLU 負(fù)責(zé)理解內(nèi)容,NLG 負(fù)責(zé)生成內(nèi)容。
以智能音箱為例,當(dāng)用戶說(shuō)“幾點(diǎn)了?”,首先需要利用 NLU 技術(shù)判斷用戶意圖,理解用戶想要什么,然后利用 NLG 技術(shù)說(shuō)出“現(xiàn)在是6點(diǎn)50分”。
自然語(yǔ)言生成 - NLG 是什么?

NLG 是為了跨越人類和機(jī)器之間的溝通鴻溝,將非語(yǔ)言格式的數(shù)據(jù)轉(zhuǎn)換成人類可以理解的語(yǔ)言格式,如文章、報(bào)告等。
自然語(yǔ)言生成 - NLG 有2種方式:
- text - to - text:文本到語(yǔ)言的生成
- data - to - text :數(shù)據(jù)到語(yǔ)言的生成

NLG 的3個(gè) Level

簡(jiǎn)單的數(shù)據(jù)合并:自然語(yǔ)言處理的簡(jiǎn)化形式,這將允許將數(shù)據(jù)轉(zhuǎn)換為文本(通過(guò)類似Excel的函數(shù))。為了關(guān)聯(lián),以郵件合并(MS Word mailmerge)為例,其中間隙填充了一些數(shù)據(jù),這些數(shù)據(jù)是從另一個(gè)源(例如MS Excel中的表格)中檢索的。

模板化的 NLG :這種形式的NLG使用模板驅(qū)動(dòng)模式來(lái)顯示輸出。以足球比賽得分板為例。數(shù)據(jù)動(dòng)態(tài)地保持更改,并由預(yù)定義的業(yè)務(wù)規(guī)則集(如if / else循環(huán)語(yǔ)句)生成。

高級(jí) NLG :這種形式的自然語(yǔ)言生成就像人類一樣。它理解意圖,添加智能,考慮上下文,并將結(jié)果呈現(xiàn)在用戶可以輕松閱讀和理解的富有洞察力的敘述中。
NLG 的6個(gè)步驟

第一步:內(nèi)容確定 - Content Determination
作為第一步,NLG 系統(tǒng)需要決定哪些信息應(yīng)該包含在正在構(gòu)建的文本中,哪些不應(yīng)該包含。通常數(shù)據(jù)中包含的信息比最終傳達(dá)的信息要多。
第二步:文本結(jié)構(gòu) - Text Structuring
確定需要傳達(dá)哪些信息后,NLG 系統(tǒng)需要合理的組織文本的順序。例如在報(bào)道一場(chǎng)籃球比賽時(shí),會(huì)優(yōu)先表達(dá)「什么時(shí)間」「什么地點(diǎn)」「哪2支球隊(duì)」,然后再表達(dá)「比賽的概況」,最后表達(dá)「比賽的結(jié)局」。
第三步:句子聚合 - Sentence Aggregation
不是每一條信息都需要一個(gè)獨(dú)立的句子來(lái)表達(dá),將多個(gè)信息合并到一個(gè)句子里表達(dá)可能會(huì)更加流暢,也更易于閱讀。
第四步:語(yǔ)法化 - Lexicalisation
當(dāng)每一句的內(nèi)容確定下來(lái)后,就可以將這些信息組織成自然語(yǔ)言了。這個(gè)步驟會(huì)在各種信息之間加一些連接詞,看起來(lái)更像是一個(gè)完整的句子。
第五步:參考表達(dá)式生成 - Referring Expression Generation|REG
這個(gè)步驟跟語(yǔ)法化很相似,都是選擇一些單詞和短語(yǔ)來(lái)構(gòu)成一個(gè)完整的句子。不過(guò)他跟語(yǔ)法化的本質(zhì)區(qū)別在于“REG需要識(shí)別出內(nèi)容的領(lǐng)域,然后使用該領(lǐng)域(而不是其他領(lǐng)域)的詞匯”。
第六步:語(yǔ)言實(shí)現(xiàn) - Linguistic Realisation
最后,當(dāng)所有相關(guān)的單詞和短語(yǔ)都已經(jīng)確定時(shí),需要將它們組合起來(lái)形成一個(gè)結(jié)構(gòu)良好的完整句子。
NLG 的3種典型應(yīng)用
NLG 的不管如何應(yīng)用,大部分都是下面的3種目的:
- 能夠大規(guī)模的產(chǎn)生個(gè)性化內(nèi)容
- 幫助人類洞察數(shù)據(jù),讓數(shù)據(jù)更容易理解
- 加速內(nèi)容生產(chǎn)
下面給大家列一些比較典型的應(yīng)用:

自動(dòng)寫新聞
某些領(lǐng)域的新聞是有比較明顯的規(guī)則的,比如體育新聞。目前很多新聞已經(jīng)借助 NLG 來(lái)完成了。
《騰訊機(jī)器人日均寫稿過(guò)千篇 你讀的新聞可能是AI寫的》
聊天機(jī)器人
大家了解聊天機(jī)器人都是從 Siri 開(kāi)始的,最近幾年又出現(xiàn)了智能音箱的熱潮。
除了大家日常生活中很熟悉的領(lǐng)域,客服工作也正在被機(jī)器人替代,甚至一些電話客服也是機(jī)器人。

BI 的解讀和報(bào)告生成
幾乎各行各業(yè)都有自己的數(shù)據(jù)統(tǒng)計(jì)和分析工具。這些工具可以產(chǎn)生各式各樣的圖表,但是輸出結(jié)論和觀點(diǎn)還是需要依賴人。NLG 的一個(gè)很重要的應(yīng)用就是解讀這些數(shù)據(jù),自動(dòng)的輸出結(jié)論和觀點(diǎn)。(如下圖所示)

總結(jié)
自然語(yǔ)言生成 - NLG 是 NLP 的重要組成部分,他的主要目的是降低人類和機(jī)器之間的溝通鴻溝,將非語(yǔ)言格式的數(shù)據(jù)轉(zhuǎn)換成人類可以理解的語(yǔ)言格式。
NLG 的3個(gè)level:
- 簡(jiǎn)單的數(shù)據(jù)合并
- 模塊化的 NLG
- 高級(jí) NLG
NLG 的6個(gè)步驟:
- 內(nèi)容確定 - Content Determination
- 文本結(jié)構(gòu) - Text Structuring
- 句子聚合 - Sentence Aggregation
- 語(yǔ)法化 - Lexicalisation
- 參考表達(dá)式生成 - Referring Expression Generation|REG
- 語(yǔ)言實(shí)現(xiàn) - Linguistic Realisation
NLG 應(yīng)用的3個(gè)目的:
- 能夠大規(guī)模的產(chǎn)生個(gè)性化內(nèi)容
- 幫助人類洞察數(shù)據(jù),讓數(shù)據(jù)更容易理解
- 加速內(nèi)容生產(chǎn)
NLG 的3個(gè)典型應(yīng)用:
- 自動(dòng)寫新聞
- 聊天機(jī)器人
- BI 的解讀和報(bào)告生成