影片教學 > NLI管理系統

IDS模組說明

olami     2017-09-22 09:00



大家好,今天這節課要介紹的內容是 IDS 模組。

我會從以下這四個部分來分別講解:

  1. IDS 模組的概念
  2. IDS 與 NLI 的整合關係
  3. IDS 的數據結構類型
  4. IDS 模組案例


一、IDS 模組的概念

IDS 是OLAMI智慧對話系統的簡稱,當終端使用者輸入的語料,沒有被開發者在 NLI 系統設定的 grammar 匹配的時候,開發者就可以使用 IDS 來進行自動解析,由系統來提供符合條件的對話或數據訊息(比如說天氣數據),這麼做可以省下開發者的大量的時間還有精力。

現在,OLAMI開放平台裡提供了很多不同領域的模組,開發者可以依照自身的需求來使用需要自動解析的領域模組。


二、IDS 與 NLI 的整合關係

IDS 模組和 NLI 管理系統之間又是什麼關係呢?

NLI 管理系統和 IDS 模組都屬於OLAMI智慧雲端服務。

不過, NLI 管理系統裡的模組是我們自訂的,而 IDS 模組是由系統內建的。

當我們在 NLI 管理系統裡自訂了模組,輸入語料的時候,就會在 NLI 管理系統裡進行匹配,然後輸出我們自訂的語意或者結果。

如果我們沒有在 NLI 管理系統裡定義模組,而啟用了 IDS 模組,比如說像天氣模組,那麼當我們輸入語料的時候,它就會進入 IDS 模組進行匹配,由系統來輸出回覆。


那麼實際上要怎麼啟用 IDS 模組呢?

登入OLAMI開放平台以後,在「我的應用」這個介面,點擊「配置模組」的按鈕後會彈出一個視窗。

「對話系統模組」就是所謂的 IDS 模組,你可以根據自己的需要來配置。


三、IDS 的數據類型

IDS 模組的數據結構類型主要有四種:

  1. 基本數據結構:可以直接獲取答案
  2. 反提問:可以用來獲取在前一句對話中所缺少的必要訊息
  3. 確認:用來詢問我們是否確認進行下一步對話
  4. 選擇:輸出若干項讓用戶進行選擇

接下來我們分別來看一下。


首先是基本數據結構。它的數據結構可以看下面這個圖。

我們輸入語料:「2乘以4等於幾」,然後它給出了答案是等於8。

在這裡,我們可以清晰地看到整個數據結構被分成了三個部分:

  • desc_obj 
  • data_object 
  • type 

在這裡,desc_obj 是答案設置相關描述,類型是 Object;

data_obj 的類型是 Array,它表示的是 IDS 數據詳情,不同模組會有不同的格式,甚至沒有這個欄位;

最後,type 代表的是模組名稱。


還要解釋的一點是, IDS 的智慧回覆或數據也是用 JSON 格式封裝的,並整合在 NLI 返回結果的數據結構裡,「desc_obj」 和 「type」 是屬於 NLI 返回數據的共用欄位,也就是說不管是 NLI 模組還是 IDS 模組的數據結構裡,都會有這兩個欄位。

只有當數據結構中有 「data_object」 這一個欄位訊息時,desc_obj 與 type 訊息就會變成是 IDS 數據的輔助訊息。

實際使用的時候要稍加注意。


然後,我們還可以看到在 desc_obj 下面,還分有其他的內容,分別是 result 和 status 。

result:它可以表示智慧回覆文字或出錯訊息
status:狀態碼。0=成功,其他表示出錯

那麼,也就是說,當 status = 0,result 這個欄位就會表示智慧答覆文字,當 status 表示其他值的時候,result 就會標出系統異常的相應說明字串。


這是 IDS 模組的基本數據結構。

第二種是反提問( question ),也就是當我們輸入的語料裡缺少了一些主要訊息,而不能進行下一步操作的時候,我們可以利用反提問來獲取前一句對話裡缺失的訊息。


比如說,像這個例子,我們輸入的語料是:「查天氣」,但並沒有說明是要查哪個地方的天氣,這時候,我們的數據結構類型就是這樣的。


在這裡要提醒大家注意一點,在基本數據結構裡,最後這裡的「type」指的是模組的名稱,但是在這裡它指的是反提問。

而模組的名稱則由 Desc_obj 欄位裡的「type」表示。

實際使用的時候要稍加注意。


在這裡,type 就是 question 。

Desc_obj 這一部分就是智慧回覆的訊息。


第三種是確認,也就是用來詢問用戶是否確認進行下一步對話。

看下面的例子,我們輸入的語料是:「靜夜思的作者」,得到的回覆是:「靜夜思是李白寫的,需要我為你讀嗎?」在這裡,它就是為下一步「讀靜夜思」來進行確認要不要讀。

它的結構類型和反提問是一樣的,在這裡就不再重複解釋。


第四種是選擇(selection),它會輸出一些選項讓用戶進行選擇。

看例子,我們輸入語料,「李白的詩」,它給我們的回覆是:「有下面這些詩文,請從中選出一個,我來讀」,然後下面分別列出它找到的詩文。


我們可以清楚地看到在這個例子裡,它多了一個欄位:data_object 。

它表示 IDS 的數據詳情,在這個例子裡也就是我們所需要的詩文內容。

不同的領域模組可能有不同的數據結構與內容,如果某一個模組裡沒有提供數據詳情的話,那麼它的數據結構裡就不會出現這個欄位。


四、IDS 模組案例

那麼在介紹了 IDS 模組的數據結構之後,我們一起來看一下它在實際案例裡的應用。

現在,OLAMI開放平台裡, IDS 能夠支持的模組有天氣、百科、日曆、詩詞、笑話、聊天、計算、食譜、單位換算、24點計算,基本上涵蓋了日常生活涉及到的範圍,使用非常方便。

接下來,挑選其中有代表性的幾個例子來一起看一下。


第一個是日曆模組:

我們輸入的語料是:「現在的時間」,得到的回覆是:「現在是下午1點31分」。

這個例子的結構非常簡單,是 IDS 模組的基本數據結構,在這裡,type 就表示模組的名稱是「date」,然後,result 就是我們的答案, status 就是狀態碼,在這裡它是0,就表示我們這個回覆是正確的。


第二個是食譜模組:

它支持多輪對話。它也同樣有著兩種不同的情況。

第一種是多筆數據。

我們輸入語料:「蛋糕怎麼做」。

可以得到回覆是精選了一些蛋糕的做法,有輕乳酪蛋糕、田園吐司和小山蛋糕捲等。

它給出了多個選項來讓我們進行選擇,以確定下一步的操作。

Data_obj 這一部分就列舉了各種食譜的名稱。


第二種是單一選擇。

也可以說它是基於上一步我們進行了選擇之後的操作。

我們輸入語料:「蛋糕怎麼做」,然後在給出的選項裡,選擇了「小山蛋糕捲」,然後系統給我們的回覆就是實際上小山蛋糕捲的做法。


當然,如果我們一開始就確定要查詢的食譜名稱,也可以直接輸入,比如:「小山蛋糕捲怎麼做」,那麼它就會直接給我們回覆這個蛋糕的做法,不需要進行選擇。


以上這些就是這節課的全部內容,感謝大家觀看,我們下節課再見。



Copyright © 2017 威盛电子股份有限公司. All rights reserved   |   意见反馈