以下是節(jié)選內(nèi)容
按照技術(shù)實(shí)現(xiàn),我們可將任務(wù)驅(qū)動(dòng)的對(duì)話系統(tǒng)劃分為如下兩類:
模塊化的對(duì)話系統(tǒng)
分模塊串行處理對(duì)話任務(wù),每一個(gè)模塊負(fù)責(zé)特定的任務(wù),并將結(jié)果傳遞給下一個(gè)模塊,通常由NLU(Natural Language Understanding,自然語(yǔ)言理解)、DST(Dialogue State Tracking,對(duì)話狀態(tài)追蹤)、DPL(Dialogue Policy Learning,對(duì)話策略學(xué)習(xí))、NLG(Natural Language Generation,自然語(yǔ)言生成)4個(gè)部分構(gòu)成。在具體的實(shí)現(xiàn)上,可以針對(duì)任一模塊采用基于規(guī)則的人工設(shè)計(jì)方式,或者基于數(shù)據(jù)驅(qū)動(dòng)的模型方式。
端到端的對(duì)話系統(tǒng)
考慮采用由輸入直接到輸出的端到端對(duì)話系統(tǒng),忽略中間過(guò)程,采用數(shù)據(jù)驅(qū)動(dòng)的模型實(shí)現(xiàn)。
目前,主流的任務(wù)對(duì)話系統(tǒng)實(shí)現(xiàn)為模塊化方式,由于現(xiàn)有訓(xùn)練數(shù)據(jù)規(guī)模的限制,端到端的方式仍處于探索階段。本文主要介紹模塊化的面向任務(wù)的對(duì)話系統(tǒng),圖1介紹了其主要模塊。
(1)NLU:將用戶輸入的自然語(yǔ)言語(yǔ)句映射為機(jī)器可讀的結(jié)構(gòu)化語(yǔ)義表述,這種結(jié)構(gòu)化語(yǔ)義一般由兩部分構(gòu)成,分別是用戶意圖(user intention)和槽值(slot-value)。

圖1面向任務(wù)的對(duì)話系統(tǒng)的主要模塊
(2)DST:這一模塊的目標(biāo)是追蹤用戶需求并判斷當(dāng)前的對(duì)話狀態(tài)。該模塊以多輪對(duì)話歷史、當(dāng)前的用戶動(dòng)作為輸入,通過(guò)總結(jié)和推理理解在上下文的環(huán)境下用戶當(dāng)前輸入自然語(yǔ)言的具體含義。對(duì)于對(duì)話系統(tǒng)來(lái)說(shuō),這一模塊有著重大意義,很多時(shí)候需要綜合考慮用戶的多輪輸入才能讓對(duì)話系統(tǒng)理解用戶的真正需求。
(3)DPL:也被稱為對(duì)話策略優(yōu)化(optimization),根據(jù)當(dāng)前的對(duì)話狀態(tài),對(duì)話策略決定下一步執(zhí)行什么系統(tǒng)動(dòng)作。系統(tǒng)行動(dòng)與用戶意圖類似,也由意圖和槽位構(gòu)成。
(4)NLG:負(fù)責(zé)把對(duì)話策略模塊選擇的系統(tǒng)動(dòng)作轉(zhuǎn)化為自然語(yǔ)言,最終反饋給用戶。
在與用戶直接關(guān)聯(lián)的兩個(gè)模塊中,ASR指的是自動(dòng)語(yǔ)音識(shí)別,TTS指的是語(yǔ)音合成。如第2章介紹的,ASR和TTS并不是系統(tǒng)必備的模塊,也不是本書介紹的重點(diǎn),因此在面向任務(wù)的對(duì)話系統(tǒng)中不對(duì)這兩部分技術(shù)做詳細(xì)介紹。
1.NLU模塊
本文主要結(jié)合NLU在面向任務(wù)的對(duì)話系統(tǒng)中的具體應(yīng)用進(jìn)行介紹。
對(duì)面向任務(wù)的對(duì)話系統(tǒng)來(lái)說(shuō),NLU模塊的主要任務(wù)是將用戶輸入的自然語(yǔ)言映射為用戶的意圖和相應(yīng)的槽位值。因此,在面向任務(wù)的對(duì)話系統(tǒng)中,NLU模塊的輸入是用戶對(duì)話語(yǔ)句
,輸出是解析
后得到的用戶動(dòng)作
。該模塊涉及的主要技術(shù)是意圖識(shí)別和槽位填充,這兩種技術(shù)分別對(duì)應(yīng)用戶動(dòng)作的兩項(xiàng)結(jié)構(gòu)化參數(shù),即意圖和槽位。
下面主要討論如何針對(duì)面向任務(wù)的對(duì)話系統(tǒng)設(shè)計(jì)NLU模塊,包括針對(duì)特定任務(wù)定義意圖和相應(yīng)的槽位,以及后續(xù)從用戶的輸入中獲取任務(wù)目標(biāo)的意圖識(shí)別方法和對(duì)應(yīng)的槽位填充方法。
(1)意圖和槽位的定義
意圖和槽位共同構(gòu)成了“用戶動(dòng)作”,機(jī)器是無(wú)法直接理解自然語(yǔ)言的,因此用戶動(dòng)作的作用便是將自然語(yǔ)言映射為機(jī)器能夠理解的結(jié)構(gòu)化語(yǔ)義表示。
意圖識(shí)別,也被稱為SUC(Spoken Utterance Classification),顧名思義,是將用戶輸入的自然語(yǔ)言會(huì)話進(jìn)行劃分,類別(classification)對(duì)應(yīng)的就是用戶意圖。例如“今天天氣如何”,其意圖為“詢問(wèn)天氣”。自然地,可以將意圖識(shí)別看作一個(gè)典型的分類問(wèn)題。意圖的分類和定義可參考ISO-24617-2標(biāo)準(zhǔn),其中共有56種詳細(xì)的定義。面向任務(wù)的對(duì)話系統(tǒng)中的意圖識(shí)別通??梢砸暈槲谋痉诸惾蝿?wù)。同時(shí),意圖的定義與對(duì)話系統(tǒng)自身的定位和所具有的知識(shí)庫(kù)有很大關(guān)系,即意圖的定義具有非常強(qiáng)的領(lǐng)域相關(guān)性。
槽位,即意圖所帶的參數(shù)。一個(gè)意圖可能對(duì)應(yīng)若干個(gè)槽位,例如詢問(wèn)公交車路線時(shí),需要給出出發(fā)地、目的地、時(shí)間等必要參數(shù)。以上參數(shù)即“詢問(wèn)公交車路線”這一意圖對(duì)應(yīng)的槽位。語(yǔ)義槽位填充任務(wù)的主要目標(biāo)是在已知特定領(lǐng)域或特定意圖的語(yǔ)義框架(semantic frame)的前提下,從輸入語(yǔ)句中抽取該語(yǔ)義框架中預(yù)先定義好的語(yǔ)義槽的值。語(yǔ)義槽位填充任務(wù)可以轉(zhuǎn)化為序列標(biāo)注任務(wù),即運(yùn)用經(jīng)典的IOB標(biāo)記法,標(biāo)記某一個(gè)詞是某一語(yǔ)義槽的開(kāi)始(begin)、延續(xù)(inside),或是非語(yǔ)義槽(outside)。
要使一個(gè)面向任務(wù)的對(duì)話系統(tǒng)能正常工作,首先要設(shè)計(jì)意圖和槽位。意圖和槽位能夠讓系統(tǒng)知道該執(zhí)行哪項(xiàng)特定任務(wù),并且給出執(zhí)行該任務(wù)時(shí)需要的參數(shù)類型。為了方便與問(wèn)答系統(tǒng)做異同對(duì)比,我們依然以一個(gè)具體的“詢問(wèn)天氣”的需求為例,介紹面向任務(wù)的對(duì)話系統(tǒng)中對(duì)意圖和槽位的設(shè)計(jì)。
用戶輸入示例:“今天上海天氣怎么樣”
用戶意圖定義:詢問(wèn)天氣,Ask_Weather
槽位定義
槽位一:時(shí)間,Date
槽位二:地點(diǎn),Location
“詢問(wèn)天氣”的需求對(duì)應(yīng)的意圖和槽位如圖2所示。

圖2意圖與槽位定義(1)
在上述示例中,針對(duì)“詢問(wèn)天氣”任務(wù)定義了兩個(gè)必要的槽位,它們分別是“時(shí)間”和“地點(diǎn)”。
對(duì)于一個(gè)單一的任務(wù),上述定義便可解決任務(wù)需求。但在真實(shí)的業(yè)務(wù)環(huán)境下,一個(gè)面向任務(wù)的對(duì)話系統(tǒng)往往需要能夠同時(shí)處理若干個(gè)任務(wù),例如氣象臺(tái)除了能夠回答“詢問(wèn)天氣”的問(wèn)題,也應(yīng)該能夠回答“詢問(wèn)溫度”的問(wèn)題。
對(duì)于同一系統(tǒng)處理多種任務(wù)的復(fù)雜情況,一種優(yōu)化的策略是定義更上層的領(lǐng)域,如將“詢問(wèn)天氣”意圖和“詢問(wèn)溫度”意圖均歸屬于“天氣”領(lǐng)域。在這種情況下,可以簡(jiǎn)單地將領(lǐng)域理解為意圖的集合。定義領(lǐng)域并先進(jìn)行領(lǐng)域識(shí)別的優(yōu)點(diǎn)是可以約束領(lǐng)域知識(shí)范圍,減少后續(xù)意圖識(shí)別和槽位填充的搜索空間。此外,對(duì)于每一個(gè)領(lǐng)域進(jìn)行更深入的理解,利用好任務(wù)及領(lǐng)域相關(guān)的特定知識(shí)和特征,往往能夠顯著地提升NLU模塊的效果。據(jù)此,對(duì)圖2的示例進(jìn)行改進(jìn),加入“天氣”領(lǐng)域。
用戶輸入示例
1.“今天上海天氣怎么樣”
2.“上?,F(xiàn)在氣溫多少度”
領(lǐng)域定義:天氣,Weather
用戶意圖定義
1. 詢問(wèn)天氣,Ask_Weather
2. 詢問(wèn)溫度,Ask_Temperature
槽位定義
槽位一:時(shí)間,Date
槽位二:地點(diǎn),Location
改進(jìn)后的“詢問(wèn)天氣”的需求對(duì)應(yīng)的意圖和槽位如圖3所示。

圖3意圖與槽位定義(2)
(2)意圖識(shí)別和槽位填充
做好意圖和槽位的定義后,需要從用戶輸入中提取用戶意圖和相應(yīng)槽對(duì)應(yīng)的槽值。意圖識(shí)別的目標(biāo)是從用戶輸入的語(yǔ)句中提取用戶意圖,單一任務(wù)可以簡(jiǎn)單地建模為一個(gè)二分類問(wèn)題,如“詢問(wèn)天氣”意圖,在意圖識(shí)別時(shí)可以被建模為“是詢問(wèn)天氣”或者“不是詢問(wèn)天氣”二分類問(wèn)題。當(dāng)涉及需要對(duì)話系統(tǒng)處理多種任務(wù)時(shí),系統(tǒng)需要能夠判別各個(gè)意圖,在這種情況下,二分類問(wèn)題就轉(zhuǎn)化成了多分類問(wèn)題。
槽位填充的任務(wù)是從自然語(yǔ)言中提取信息并填充到事先定義好的槽位中,例如在圖2中已經(jīng)定義好了意圖和相應(yīng)的槽位,對(duì)于用戶輸入“今天上海天氣怎么樣”系統(tǒng)應(yīng)當(dāng)能夠提取出“今天”和“上?!辈⒎謩e將其填充到“時(shí)間”和“地點(diǎn)”槽位。基于特征提取的傳統(tǒng)機(jī)器學(xué)習(xí)模型已經(jīng)在槽位填充任務(wù)上得到了廣泛應(yīng)用。近年來(lái),隨著深度學(xué)習(xí)技術(shù)在自然語(yǔ)言處理領(lǐng)域的發(fā)展,基于深度學(xué)習(xí)的方法也逐漸被應(yīng)用于槽位填充任務(wù)。相比于傳統(tǒng)的機(jī)器學(xué)習(xí)方法,深度學(xué)習(xí)模型能夠自動(dòng)學(xué)習(xí)輸入數(shù)據(jù)的隱含特征。例如,將可以利用更多上下文特征的最大熵馬爾可夫模型引入槽位填充的過(guò)程中[8],類似地,也有研究將條件隨機(jī)場(chǎng)模型引入槽位填充。
基于RNN的深度學(xué)習(xí)模型在意圖識(shí)別和槽位填充領(lǐng)域也得到了大量的應(yīng)用,Attention-Based Recurrent Neural Network Models for Joint Intent Detection and Slot Filling中介紹了使用Attention-Based RNN模型進(jìn)行意圖識(shí)別和槽位填充的方法,作者提出將“alignment information”加入Encoder-Decoder模型,以及將“alignment information”和“attention”加入RNN這兩種解決槽位填充和意圖識(shí)別問(wèn)題的模型。需要特別介紹的是,與基于RNN的意圖識(shí)別和槽位填充相比,基于LSTM模型的槽位填充可以有效解決RNN模型中存在的梯度消失問(wèn)題。
另外,在實(shí)際工程中往往需要先對(duì)句子中的各個(gè)組成部分進(jìn)行標(biāo)注,所以通常也會(huì)應(yīng)用到序列標(biāo)注方法。
進(jìn)行意圖識(shí)別和槽位填充的傳統(tǒng)方法是使用串行執(zhí)行的方式,即先進(jìn)行意圖識(shí)別,再根據(jù)意圖識(shí)別的結(jié)果進(jìn)行槽位填充任務(wù)。這種方式的主要缺陷是:
可能產(chǎn)生錯(cuò)誤傳遞,導(dǎo)致錯(cuò)誤放大。
限定領(lǐng)域也就意味著不同領(lǐng)域需要不同的方法和模型進(jìn)行處理,各個(gè)領(lǐng)域之間的模型沒(méi)有共享,但在很多情況下,例如訂火車票和飛機(jī)票時(shí),時(shí)間、地點(diǎn)等槽位都是一致的。
因?yàn)榇袌?zhí)行的方式存在上述問(wèn)題,所以研究人員改為使用Multi-Domain Joint Semantic Frame Parsing Using Bi-Directional RNN-LSTM, INTERSPEECH中設(shè)計(jì)的聯(lián)合學(xué)習(xí)(joint learning)方式進(jìn)行意圖識(shí)別和槽位填充。
另外,還有一種情況需要特別注意。在一次天氣詢問(wèn)任務(wù)完成后,用戶又問(wèn)“那明天呢”時(shí),實(shí)際上可以認(rèn)為第二個(gè)問(wèn)句是開(kāi)始了另一次“詢問(wèn)天氣”任務(wù),只是其中的“時(shí)間”槽位是指定的,而“地點(diǎn)”槽位則需要重復(fù)利用(繼承)上一次任務(wù)中的值。
對(duì)意圖識(shí)別模塊和槽位填充模塊的主要評(píng)價(jià)指標(biāo)包括:
意圖識(shí)別的準(zhǔn)確率,即分類的準(zhǔn)確率。
槽位填充的F1-score。
2.DST模塊
DST模塊以當(dāng)前的用戶動(dòng)作
、n-1前輪的對(duì)話狀態(tài)和相應(yīng)的系統(tǒng)動(dòng)作作為輸入,輸出是DST模塊判定得到的當(dāng)前對(duì)話狀態(tài)
。
對(duì)話狀態(tài)的表示(DST-State Representation)通常由以下3部分構(gòu)成。
(1)目前為止的槽位填充情況。
(2)本輪對(duì)話過(guò)程中的用戶動(dòng)作。
(3)對(duì)話歷史。
其中,槽位的填充情況通常是最重要的狀態(tài)表示指標(biāo)。
我們知道,由于語(yǔ)音識(shí)別不準(zhǔn)確或是自然語(yǔ)言本身存在歧義性等原因,NLU模塊的識(shí)別結(jié)果往往與真實(shí)情況存在一定的誤差。所以,NLU模塊的輸出往往是帶概率的,即每一個(gè)可能的結(jié)果有一個(gè)相應(yīng)的置信程度。由此,DST在判斷當(dāng)前的對(duì)話狀態(tài)時(shí)就有了兩種選擇,這兩種選擇分別對(duì)應(yīng)了兩種不同的處理方式,一種是1-Best方式,另一種則是N-Best方式[11]。
1-Best方式指DST判斷當(dāng)前對(duì)話狀態(tài)時(shí)只考慮置信程度最高的情況,因此維護(hù)對(duì)話狀態(tài)的表示時(shí),只需要等同于槽位數(shù)量的空間,如圖4所示。

圖4 1-Best方式下的對(duì)話狀態(tài)與槽位的對(duì)應(yīng)
N-Best方式指DST判斷當(dāng)前對(duì)話狀態(tài)時(shí)會(huì)綜合考慮所有槽位的所有置信程度,因此每一個(gè)槽位的N-Best結(jié)果都需要考慮和維護(hù),并且最終還需要維護(hù)一個(gè)槽位組合在一起(overall)的整體置信程度,將其作為最終的對(duì)話狀態(tài)判斷依據(jù),如圖5所示。

圖5N-Best方式下的對(duì)話狀態(tài)與槽位的對(duì)應(yīng)
實(shí)現(xiàn)DST模塊的方法主要有:基于條件隨機(jī)場(chǎng)模型的序列跟蹤模型、基于RNN和LSTM的序列跟蹤模型等。
3.DPL模塊
DPL模塊的輸入是DST模塊輸出的當(dāng)前對(duì)話狀態(tài)
,通過(guò)預(yù)設(shè)的對(duì)話策略,選擇系統(tǒng)動(dòng)作
作為輸出。下面結(jié)合具體案例介紹基于規(guī)則的DPL方法,也就是通過(guò)人工設(shè)計(jì)有限狀態(tài)自動(dòng)機(jī)的方法實(shí)現(xiàn)DPL。
案例一:詢問(wèn)天氣
以有限狀態(tài)自動(dòng)機(jī)的方法進(jìn)行規(guī)則的設(shè)計(jì),有兩種不同的方案:一種以點(diǎn)表示數(shù)據(jù),以邊表示操作;另一種以點(diǎn)表示操作,以邊表示數(shù)據(jù),這兩種方案各有優(yōu)點(diǎn),在具體實(shí)現(xiàn)時(shí)可以根據(jù)實(shí)際情況進(jìn)行選擇。
方案一:以點(diǎn)表示數(shù)據(jù)(槽位狀態(tài)),以邊表示操作(系統(tǒng)動(dòng)作)(如圖6所示)
在這種情況下,有限狀態(tài)自動(dòng)機(jī)中每一個(gè)對(duì)話狀態(tài)S表示槽位的填充情況,例如槽位均為空時(shí),狀態(tài)為NULL,表示為(0,0);僅時(shí)間(Time)槽位被填充時(shí),狀態(tài)表示為(0,1)。本示例中槽位共有兩個(gè),分別為時(shí)間和地點(diǎn)(Location),因此共有4種不同的狀態(tài)。

圖6“詢問(wèn)天氣”有限狀態(tài)自動(dòng)機(jī)設(shè)計(jì)(1)
狀態(tài)遷移是由系統(tǒng)動(dòng)作引起的,例如僅時(shí)間槽位被填充時(shí),下一步的系統(tǒng)動(dòng)作為“詢問(wèn)地點(diǎn)”(AskLocation),以獲取完整的槽位填充。S0為起始狀態(tài),Z為終結(jié)狀態(tài),S1、S2、S3三個(gè)狀態(tài)的作用是對(duì)槽位填充進(jìn)行確認(rèn)。如果成功填充,則跳轉(zhuǎn)到下一個(gè)狀態(tài)繼續(xù);如果沒(méi)有成功,則再一次詢問(wèn)進(jìn)行槽位填充(Ask Again)。
這種方式的弊端非常明顯:隨著槽位數(shù)量的增加,對(duì)話狀態(tài)的數(shù)量也會(huì)急劇增加。具體來(lái)說(shuō),在上述方案中,對(duì)話狀態(tài)的總數(shù)由槽位的個(gè)數(shù)決定,如果槽位有k個(gè),那么對(duì)話狀態(tài)的數(shù)量為2k個(gè)。嘗試改進(jìn)這一弊端的研究有很多,如Young S等人提出的隱藏信息狀態(tài)模型(Hidden Information State,HIS)和Thomson B等人提出的基于貝葉斯更新的對(duì)話狀態(tài)管理模型(Bayesian Update of Dialogue State,BUDS)等。
方案二:以點(diǎn)表示操作(系統(tǒng)動(dòng)作),以邊表示數(shù)據(jù)(槽位狀態(tài))(如圖7所示)

圖7“詢問(wèn)天氣”有限狀態(tài)自動(dòng)機(jī)設(shè)計(jì)(2)
在這種情況下,有限狀態(tài)自動(dòng)機(jī)中每一個(gè)對(duì)話狀態(tài)S表示一種系統(tǒng)動(dòng)作,本例中系統(tǒng)動(dòng)作共有3種,分別是兩種問(wèn)詢動(dòng)作:“詢問(wèn)時(shí)間”(Ask Date)和“詢問(wèn)地點(diǎn)”(Ask Location),以及最后的系統(tǒng)回復(fù)“回答天氣”(Answer)動(dòng)作。有限狀態(tài)自動(dòng)機(jī)中狀態(tài)的遷移則是由槽位的狀態(tài)變化,即“用戶動(dòng)作”引起的。
對(duì)比上述兩種方案可以發(fā)現(xiàn),第二種有限狀態(tài)自動(dòng)機(jī)以系統(tǒng)動(dòng)作為核心,設(shè)計(jì)方式更簡(jiǎn)潔,并且易于工程實(shí)現(xiàn),更適合人工設(shè)計(jì)的方式。第一種有限狀態(tài)自動(dòng)機(jī)以槽位狀態(tài)為核心,枚舉所有槽位情況的做法過(guò)于復(fù)雜,更適合數(shù)據(jù)驅(qū)動(dòng)的機(jī)器學(xué)習(xí)方式。
系統(tǒng)動(dòng)作的定義通常有問(wèn)詢、確認(rèn)和回答3種。問(wèn)詢的目的是了解必要槽位缺失的信息;確認(rèn)是為了解決容錯(cuò)性問(wèn)題,填槽之前向用戶再次確認(rèn);回答則是最終回復(fù),意味著任務(wù)和有限狀態(tài)自動(dòng)機(jī)工作的結(jié)束。
細(xì)心的讀者可能已經(jīng)發(fā)現(xiàn),采取問(wèn)詢的方式獲得缺失的槽位信息,在一些情況下是不合適的,以“詢問(wèn)天氣”任務(wù)為例,向用戶問(wèn)詢槽位缺失的信息會(huì)大幅降低用戶對(duì)系統(tǒng)的滿意度。在真實(shí)的業(yè)務(wù)環(huán)境下,系統(tǒng)往往會(huì)直接采取默認(rèn)值填充槽位的方式,或者結(jié)合以往的對(duì)話歷史數(shù)據(jù),自動(dòng)填補(bǔ)個(gè)性化的結(jié)果。例如,用戶以往問(wèn)的都是上海的天氣,那么“地點(diǎn)”槽位就會(huì)被個(gè)性化地填充為“上海”。
這就引出了對(duì)面向任務(wù)的對(duì)話系統(tǒng)的質(zhì)量評(píng)估方法:對(duì)面向任務(wù)的對(duì)話系統(tǒng)而言,完成用戶指定任務(wù)所需的對(duì)話輪數(shù)越少越好。在實(shí)際應(yīng)用中,諸如“詢問(wèn)天氣”這樣的任務(wù),通常都盡可能地在一次對(duì)話中完成,而有些任務(wù)則必須要進(jìn)行多輪對(duì)話,例如訂餐、購(gòu)票等任務(wù)。
接下來(lái),我們以“訂餐需求”為例,說(shuō)明多輪對(duì)話的必要性,以及對(duì)話輪數(shù)的取舍問(wèn)題。
案例二:訂餐
在典型的訂餐領(lǐng)域的對(duì)話系統(tǒng)中,根據(jù)生活經(jīng)驗(yàn),我們知道需要為系統(tǒng)定義以下幾個(gè)槽位。
(1)slot1:用戶住址(Address)。
(2)slot2:用戶手機(jī)號(hào)碼(Phone)。
(3)slot3:訂餐餐廳名稱(Res_name)。
(4)slot4:食物名稱(Food_item)。
(5)slot5:食物類型(Food_type)。
(6)slot6:價(jià)格范圍(Price_range)。
其中前4項(xiàng)為必要槽位,對(duì)訂餐任務(wù)來(lái)說(shuō)是必須提供的參數(shù),最后兩項(xiàng)為非必要槽位,可有可無(wú),有的話可以提高訂餐任務(wù)的精準(zhǔn)度。參考案例一的處理過(guò)程,首先對(duì)此任務(wù)設(shè)計(jì)相應(yīng)的有限狀態(tài)自動(dòng)機(jī),如圖8所示。

圖8“訂餐”系統(tǒng)有限狀態(tài)自動(dòng)機(jī)設(shè)計(jì)
可以發(fā)現(xiàn),在該任務(wù)下的有限狀態(tài)自動(dòng)機(jī)設(shè)計(jì)中,我們只加入了必要槽位的問(wèn)詢操作,沒(méi)有對(duì)Food_type和Price_range進(jìn)行強(qiáng)制的系統(tǒng)問(wèn)詢。兩個(gè)非必要槽位能夠?qū)Α癆sk Food_item”,即詢問(wèn)具體的食物名稱起到輔助作用。當(dāng)用戶沒(méi)有明確需求時(shí),系統(tǒng)可以給出具體的食物推薦,這樣的設(shè)定可以有效地減少非必要的對(duì)話,減少對(duì)話輪數(shù)。
4.NLG模塊
NLG模塊的輸入是DPL模塊輸出的系統(tǒng)動(dòng)作
,輸出是系統(tǒng)對(duì)用戶輸入
的回復(fù)
。
目前,NLG模塊仍廣泛采用傳統(tǒng)的基于規(guī)則的方法,表1給出了3個(gè)示例規(guī)則的定義。根據(jù)規(guī)則可以將各個(gè)系統(tǒng)動(dòng)作映射成自然語(yǔ)言表達(dá)。

為了實(shí)現(xiàn)回復(fù)的多樣性,各種基于深度神經(jīng)網(wǎng)絡(luò)的模型方法被提出并得到發(fā)展。
以上是《自然語(yǔ)言處理實(shí)踐:聊天機(jī)器人技術(shù)原理與應(yīng)用》節(jié)選內(nèi)容。
-
數(shù)據(jù)驅(qū)動(dòng)
+關(guān)注
關(guān)注
0文章
170瀏覽量
12780 -
模塊化
+關(guān)注
關(guān)注
0文章
356瀏覽量
22674 -
自然語(yǔ)言
+關(guān)注
關(guān)注
1文章
292瀏覽量
13976
原文標(biāo)題:NLP實(shí)踐:對(duì)話系統(tǒng)技術(shù)原理和應(yīng)用
文章出處:【微信號(hào):rgznai100,微信公眾號(hào):rgznai100】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
一文說(shuō)透了如何實(shí)現(xiàn)單片機(jī)的多任務(wù)并發(fā)!
博世GTM IP模塊在車載系統(tǒng)中的具體實(shí)現(xiàn)方式與優(yōu)勢(shì)
國(guó)內(nèi)七大基于大模型的發(fā)射任務(wù)調(diào)度與過(guò)程保障分系統(tǒng)軟件介紹
嵌入式基礎(chǔ)知識(shí)-系統(tǒng)調(diào)度
FreeRTOS 空閑任務(wù)
在多任務(wù)系統(tǒng)中,如何平衡任務(wù)調(diào)度以防止因高負(fù)載導(dǎo)致的再次進(jìn)入低功耗模式的延遲?
思必馳任務(wù)型對(duì)話算法通過(guò)國(guó)家備案
米爾RK3576部署端側(cè)多模態(tài)多輪對(duì)話,6TOPS算力驅(qū)動(dòng)30億參數(shù)LLM
MES - 制造執(zhí)行系統(tǒng)
FPGA在機(jī)器學(xué)習(xí)中的具體應(yīng)用
AD7745在使用中,需要進(jìn)行偏移校準(zhǔn)和系統(tǒng)校準(zhǔn)嗎?
RFID在工地監(jiān)控中的具體應(yīng)用
完整版—單片機(jī)編程思想(推薦下載?。?/a>
在STM32微控制器中實(shí)現(xiàn)數(shù)據(jù)加密的方法
NVIDIA大語(yǔ)言模型在推薦系統(tǒng)中的應(yīng)用實(shí)踐
結(jié)合NLU在面向任務(wù)的對(duì)話系統(tǒng)中的具體應(yīng)用進(jìn)行介紹
評(píng)論