Захват чисел в Лахс и Крорес с помощью Google Assistant - Dialogflow - PullRequest
0 голосов
/ 03 июля 2019

Я создаю чат-бота с использованием dialogflow и webhook (nodejs). Я хочу запустить этого чат-бота в Google Assistant. Проблема, с которой я сталкиваюсь, заключается в том, что если человек говорит «1.5 Lakhs » или «22 lacs», помощник Google не преобразует его в 150 000 или 2 200 000 соответственно.

Я создал намерение с именем «получить клиентский доход» в диалоговом потоке с некоторыми фразами обучения

Training Phrases

Поток диалога автоматически получает параметры как sys.number и denom

enter image description here

которая является сущностью, которую я создал

enter image description here

Затем я направил его через webhook для обработки сущности denom следующим образом

app.intent('get-customer-income',(conv,{number,denom}) =>{
  const income = number;
  console.log(number,denom);
  var actualincome,denomination;
  if(denom ==='lakhs'){
    actualincome = income * 100000;
  } else if(denom === 'crore'){
    actualincome = income * 10000000;
  } else {
    actualincome = income;
  }
    conv.ask(`Your ${actualincome}`);
});

Когда я тестирую, он работает нормально на симуляторе чата Dialogflow на правой панели

enter image description here

пока он не работает, когда я тестирую его на симуляторе Google Assistant

enter image description here

Ответы [ 2 ]

0 голосов
/ 07 июля 2019

Получил решение.Вместо того, чтобы получать параметры внутри app.intent, я получил параметры с помощью conv.parameters ['имя_параметра']

Ниже показано, как выглядит мой webhook.

app.intent('get-customer-income',(conv) =>{
  const number = conv.parameters['number'];
  const denom = conv.parameters['denom'];
  const income = number;
  console.log(number,denom);
  var actualincome,denomination;
  if(denom ==='lakhs'){
    actualincome = income * 100000;
  } else if(denom === 'crore'){
    actualincome = income * 10000000;
  } else {
    actualincome = income;
  }
  conv.ask(`Your actual income is ${actualincome} ${denom}`);
});

Я знаю, чтоВ этой функции я использовал слишком много констант, которые можно заменить.Хотя это тоже работает как шарм!

0 голосов
/ 03 июля 2019

Я предполагаю, что оно соответствует обучающей фразе без параметра denom.

Поскольку параметр denom является необязательным, вам, вероятно, не понадобится эта обучающая фраза. Попробуйте удалить его, переобучиться и посмотреть, как оно соответствует.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...