From c83a5f9e03a1d9e8ec48b93877fe4efaabb0a0c2 Mon Sep 17 00:00:00 2001 From: "Paulo Henrique (pragmatismo.io)" Date: Fri, 19 Jul 2019 13:35:11 -0300 Subject: [PATCH] fix(kb.gbapp): NLP scoring added again. --- packages/boot.gbot/settings.json | 2 +- .../core.gbapp/services/GBConversationalService.ts | 12 +++++++++++- packages/core.gbapp/services/GBCoreService.ts | 6 +++--- 3 files changed, 15 insertions(+), 5 deletions(-) diff --git a/packages/boot.gbot/settings.json b/packages/boot.gbot/settings.json index 493a65bf..ec3b6cf1 100644 --- a/packages/boot.gbot/settings.json +++ b/packages/boot.gbot/settings.json @@ -1,6 +1,6 @@ { "enabledAdmin": "true", "searchScore": ".15", - "nlpScore": ".15", + "nlpScore": ".40", "nlpVsSearch": ".4" } diff --git a/packages/core.gbapp/services/GBConversationalService.ts b/packages/core.gbapp/services/GBConversationalService.ts index e6c0ef75..505baadd 100644 --- a/packages/core.gbapp/services/GBConversationalService.ts +++ b/packages/core.gbapp/services/GBConversationalService.ts @@ -122,10 +122,20 @@ export class GBConversationalService implements IGBConversationalService { // tslint:enable:no-unsafe-any } + let nlpActive = false; + + Object.keys(nlp.intents).forEach((name) => { + const score = nlp.intents[name].score; + if (score > min.instance.nlpScore){ + nlpActive = true; + } + }); + // Resolves intents returned from LUIS. const topIntent = LuisRecognizer.topIntent(nlp); - if (topIntent !== undefined) { + if (topIntent !== undefined && nlpActive) { + const intent = topIntent; // tslint:disable:no-unsafe-any const firstEntity = nlp.entities && nlp.entities.length > 0 ? nlp.entities[0].entity.toUpperCase() : undefined; diff --git a/packages/core.gbapp/services/GBCoreService.ts b/packages/core.gbapp/services/GBCoreService.ts index 593da49a..6da491e9 100644 --- a/packages/core.gbapp/services/GBCoreService.ts +++ b/packages/core.gbapp/services/GBCoreService.ts @@ -248,7 +248,7 @@ STORAGE_SYNC=true fs.existsSync('node_modules/ngrok/bin/ngrok')) { const ngrok = require('ngrok'); - return await ngrok.connect({ port: port }); + return await ngrok.connectRetry({ port: port }, 10); } else { GBLog.warn('ngrok executable not found (only tested on Windows). Check installation or node_modules folder.'); @@ -257,8 +257,8 @@ STORAGE_SYNC=true } catch (error) { // There are false positive from ngrok regarding to no memory, but it's just // lack of connection. - GBLog.verbose(error); - throw new Error('Error connecting to remote ngrok server, please check network connection.'); + + throw new Error(`Error connecting to remote ngrok server, please check network connection. ${error.msg}`); } }