簡體   English   中英

沃森對話實體數組

[英]watson conversation entities array

我創建了一個帶有一些水果的實體(蘋果,香蕉,橙子,鱷梨)

當我的用戶說出任何需要檢查@Fruits是否工作正常的意圖時,但是如果我的用戶說2個或更多個水果,則需要將所有結果保存在一個數組中。 我該如何使用插槽? 因為在我的測試中他只保存了最后一個(如果我打印$ myFruits)

ks

當用戶鍵入兩個或多個值並且該值在一個實體內部時,這些值將保存在array ,您可以訪問該實體。 例如...

您可以在我的示例中看到,如果我鍵入兩個味道,則會在控制台中將兩個值顯示在一個數組中...

對話:

在此處輸入圖片說明

安慰:

在此處輸入圖片說明

因此,如果您想要來自實體@fruits所有值。 您可以使用此方法在一個上下文變量(例如$fruits )中進行保存:

 <? entities['fruits'][0].value + entities['fruits'][1].value ?> //if types two fruits

要將其顯示在對話框中,可以使用以下方法:

{
  "output": {
    "text": "This is the array: <? $fruits.join(', ') ?>"
  }
}

回報將是:

This is the array: calabresa, marguerita,

如果要使用代碼訪問實體中的所有值,則需要訪問調用消息的返回值(用於訪問實體,意圖,上下文變量等),並使用以下代碼:

var arrayEntitie = response.entities 

    for (var i=0; i < arrayEntitie.length; i++) {
        if (arrayEntitie[i].name === 'calabreza') { //make your condition
            //do something
        }
    }

簡單的方法是使用@ EntityName.values。 它將以數組形式在上下文中存儲給定實體的所有值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM