Доступ Уотсон намерен в Unity - PullRequest
       10

Доступ Уотсон намерен в Unity

0 голосов
/ 14 сентября 2018

У меня есть Watson 2.7.0, система преобразования речи в текст, помощник, служба преобразования текста в речь.

Мое рабочее пространство содержит общие намерения предоставлять общие голосовые ответы; а также намерения «действия», которые выполняют действия в Unity.

Я скопировал код из примера Watson Cardboard vr в свой собственный скрипт, но обнаружил, что не смог получить доступ к намерениям. Это продолжает давать мне ошибку ниже. Мой сценарий работал нормально без части «действий». Чего мне не хватает?

Type `IBM.Watson.DeveloperCloud.Services.Assistant.v1.MessageResponse' does not contain a definition for `intents' and no extension method `intents' of type `IBM.Watson.DeveloperCloud.Services.Assistant.v1.MessageResponse' could be found. Are you missing an assembly reference?

1 Ответ

0 голосов
/ 07 ноября 2018

MessageResponse и Intents являются объектами, поскольку они могут иметь дополнительные пользовательские свойства. Вы можете проанализировать намерение из ответа в обратном вызове

private void OnMessage(object response, Dictionary<string, object> customData)
{
    Log.Debug("ExampleAssistantV1.OnMessage()", "Response: {0}", customData["json"].ToString());

    //  Get intent
    object tempIntentsObj = null;
    (response as Dictionary<string, object>).TryGetValue("intents", out tempIntentsObj);

    //  First intent
    object tempIntentObj = (tempIntentsObj as List<object>)[0];
    object tempIntent = null;
    (tempIntentObj as Dictionary<string, object>).TryGetValue("intent", out tempIntent);
    string intent = tempIntent.ToString();

    Log.Debug("ExampleAssistantV1.OnMessage()", "intent: {0}", intent);
}
...