2017-01-02 3 views
4

В настоящее время я пытаюсь написать демо для действий в Google, используя веб-службу отдыха.Ожидаемые входы/возможные_интенты работают только с "assistant.intent.action.TEXT"?

В настоящий момент пользователь открывает действие («talk to testaction») и получает приветственное сообщение (через главное намерение). Это первоначальное намерение ожидает ответа пользователя, а также устанавливает следующее ожидаемое намерение через поле possible_intents в ответе JSON.

Согласно the documentation, я должен иметь возможность указать пользовательское намерение в возможных моментах ответа HTTP JSON.

Однако, если я использую любые намерения, кроме «assistant.intent.action.TEXT» после того, как я реагирую на первоначальном намерении/приглашение, я получаю следующее сообщение об ошибке:

Sorry, I did not understand.

и ответ на первоначальное приветственное намерение неправильно направлено на мою службу.

Это не работает:

{ 
    "response": "...", 
    "expectUserResponse": true, 
    "conversationToken": "...", 
    "audioResponse": "...", 
    "debugInfo": { 
     "agentToAssistantDebug": { 
      "agentToAssistantJson": { 
       "conversation_token": "...", 
       "expect_user_response": true, 
       "expected_inputs": [ 
        { 
         "input_prompt": { 
          [...] 
         }, 
         "possible_intents": [ 
          { 
           "intent": "testintent" 
          } 
         ] 
        } 
       ] 
      } 
     } 
    } 
} 

Это работает:

{ 
    "response": "...", 
    "expectUserResponse": true, 
    "conversationToken": "...", 
    "audioResponse": "...", 
    "debugInfo": { 
     "agentToAssistantDebug": { 
      "agentToAssistantJson": { 
       "conversation_token": "...", 
       "expect_user_response": true, 
       "expected_inputs": [ 
        { 
         "input_prompt": { 
          [...] 
         }, 
         "possible_intents": [ 
          { 
           "intent": "assistant.intent.action.TEXT" 
          } 
         ] 
        } 
       ] 
      } 
     } 
    } 
} 

мой testintent правильно определены в пакете действий и работает нормально, если я называю это непосредственно.

Можно ли использовать только общие намерения TEXT, и тогда мне нужно выполнить все распознавание текста и намерения в коде?

ответ

5

При использовании SDK Actions поддерживается только намерение TEXT. Вы должны использовать свой собственный NLU для анализа сырого текстового ввода, предоставленного пользователем.

Если у вас нет собственного NLU, мы рекомендуем использовать API.AI.

+1

Благодарим вас за ответ. Существуют ли какие-либо планы на будущее по предоставлению услуг NLU после первоначально инициированного намерения, т. Е. Соответствия намерений, отличных от TEXT, для разрешения диалога на основе намерений через SDK Actions? – Wasda

+0

Планируется предоставить NLU SDK Actions. –

+0

Хорошо, спасибо за ваш быстрый ответ. – Wasda

Смежные вопросы