ExpectedInputs / possible_intents работает только с assistant.intent.action.TEXT?

В настоящее время я пытаюсь написать демонстрацию действий в Google с помощью веб-службы отдыха.

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

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

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

Извините я не понял.

И ответ на первоначальное намерение приветствия не направляется должным образом в мою службу.

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

{
    "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 правильно определен в пакете действий и отлично работает, если я вызываю его напрямую.

Действительно ли возможно использовать только общее намерение ТЕКСТ, и тогда я должен сам выполнять все сопоставление текста и распознавание намерений в коде?


person Wasda    schedule 02.01.2017    source источник


Ответы (1)


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

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

person Leon Nicholls    schedule 03.01.2017
comment
Большое спасибо за ваш ответ. Есть ли какие-либо планы на будущее по предоставлению услуг NLU после изначально инициированного намерения, то есть сопоставления намерений, отличных от TEXT, чтобы разрешить диалог на основе намерений, через Actions SDK? - person Wasda; 04.01.2017
comment
Предоставление NLU пакета Actions SDK не планируется. - person Leon Nicholls; 05.01.2017
comment
@LeonNicholls: Не могли бы вы пожалуйста четко задокументировать это в документации? Я потратил несколько дней на внедрение системы, которая предполагала, что ActionsSDK работает, как задокументировано (т.е. что любое намерение будет проанализировано), и теперь мне нужно все это выбросить и переключиться на API.AI. - person Lawrence Kesteloot; 02.02.2017
comment
В документе говорится, что мы можем использовать собственное намерение только для первого разговора. For the first conversation turn, the intent will refer to the intent of the action that is being triggered. For subsequent conversation turns, the intent will be a built-in intent. developers.google.com/actions/reference/rest/Shared .Types / - person nonylene; 22.11.2017
comment
@LeonNicholls, а как насчет добавления пользовательского намерения, предоставленного с файлом action.json, в possibleIntent в приведенном выше ответе? - person Shivam Gupta; 20.06.2018
comment
Честно говоря, это не может быть более запутанным, когда только первый разговор поддерживает настраиваемые намерения. Но следующее преобразование, за которым следует MAIN intent, не перенаправляет его на правильное. Так грустно :-( - person Ole K; 08.07.2019