2016-03-25 30 views
0

我正在設計Watson對話框以支持以下場景:用戶選擇意圖1,2或3.當用戶選擇意圖2時,Watson將要求用戶指定選項1或2或者其他有效的意圖。爲Watson對話框中的無效輸入構建恢復消息

以下是我當前對話框的文件:

<?xml version="1.0" encoding="UTF-8"?> 
 
<dialog xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="WatsonDialogDocument_1.0.xsd"> 
 
<flow> 
 
    <folder label="Main" id="Main"> 
 
     <output id="start"> 
 
      <prompt selectionType="RANDOM"> 
 
       <item>DIALOG START - asking for user input</item> 
 
      </prompt> 
 
      <goto ref="processUserInput_start"/> 
 
     </output> 
 
     <getUserInput id="processUserInput_start"> 
 
      <search ref="library_supported-intents"/> 
 
      <default> 
 
       <output> 
 
        <prompt selectionType="RANDOM"> 
 
         <item>I am sorry, I did not understand your intents. Please choose intent1, intent2, or intent3.</item> 
 
        </prompt> 
 
       </output> 
 
      </default> 
 
     </getUserInput> 
 
     <getUserInput id="processUserInput_intent2"> 
 
      <search ref="library_supported-intents"/> 
 
      <input> 
 
       <grammar> 
 
        <item>option1</item> 
 
       </grammar> 
 
       <output> 
 
        <prompt selectionType="RANDOM"> 
 
         <item>OK. Executing intent 2 with option 1</item> 
 
        </prompt> 
 
       </output> 
 
       <goto ref="processUserInput_start"/> 
 
      </input> 
 
      <input> 
 
       <grammar> 
 
        <item>option2</item> 
 
       </grammar> 
 
       <output> 
 
        <prompt selectionType="RANDOM"> 
 
         <item>OK. Executing intent 2 with option 2</item> 
 
        </prompt> 
 
       </output> 
 
       <goto ref="processUserInput_start"/> 
 
      </input> 
 
      
 
      <output> 
 
       <prompt selectionType="RANDOM"> 
 
        <item>Sorry, I can only understand option1 and option2 for intent2. Try again</item> 
 
       </prompt> 
 
       <goto ref="processUserInput_intent2"/> 
 
      </output> 
 
     </getUserInput> 
 
    </folder> 
 
    <folder label="Library" id="Library"> 
 
     <folder label="Main Input" id="library_supported-intents"> 
 
      <input> 
 
       <grammar> 
 
        <item>intent1</item> 
 
       </grammar> 
 
       <output> 
 
        <prompt selectionType="RANDOM"> 
 
         <item>OK. Executing intent 1</item> 
 
        </prompt> 
 
       </output> 
 
      </input> 
 
      <input> 
 
       <grammar> 
 
        <item>intent2</item> 
 
       </grammar> 
 
       <goto ref="intent2-detail"/> 
 
      </input> 
 
      <input> 
 
       <grammar> 
 
        <item>intent3</item> 
 
       </grammar> 
 
       <output> 
 
        <prompt selectionType="RANDOM"> 
 
         <item>OK. Executing intent 3</item> 
 
        </prompt> 
 
       </output> 
 
      </input> 
 
     </folder> 
 
     <folder label="Intent 2 Input" id="library_intent2"> 
 
      <output id="intent2-detail"> 
 
       <prompt selectionType="RANDOM"> 
 
        <item>OK. I need further info to execute intent 2. Choose option1 or option2</item> 
 
       </prompt> 
 
       <goto ref="processUserInput_intent2"/> 
 
      </output> 
 
     </folder> 
 
    </folder> 
 
    <folder label="Concepts" id="Concepts"></folder> 
 
</flow> 
 
</dialog>

不幸的是,我無法得到適當的無效對話消息顯示 - 例如沃森顯示無效的選項,而不是無效的意圖消息,如下:

enter image description here

我應該如何構建恢復對話流來實現上面的場景?

回答

0

儘量把跳轉輸出節點內

   <input> 
       <grammar> 
        <item>option1</item> 
       </grammar> 
       <output> 
        <prompt selectionType="RANDOM"> 
         <item>OK. Executing intent 2 with option 1</item> 
        </prompt> 
        <goto ref="processUserInput_start"/> 
       </output> 

      </input>