asksuite-core
Version:
177 lines (158 loc) • 7.94 kB
JavaScript
// const Util = require('./util');
const ExpressionBuilder = require('./keyword_interpreter/expression-builder');
const Intent = require('./keyword_interpreter/intent-model');
const intent = new Intent('cotacao');
intent.addExpression(
ExpressionBuilder.newInstance()
.contains()
.keyWordDialogFlow('preco'),
);
intent.addExpression(
ExpressionBuilder.newInstance()
.contains()
.date(),
);
intent.addExpression(
ExpressionBuilder.newInstance()
.notContains()
.keyWordDialogFlow('subst_dayuse'),
);
const intent2 = new Intent('cotacao_pessoas');
intent2.addExpression(
ExpressionBuilder.newInstance()
.contains()
.keyWordDialogFlow('preco'),
);
intent2.addExpression(
ExpressionBuilder.newInstance()
.contains()
.keyWordDialogFlow('substantivo_pessoas'),
);
intent2.addExpression(
ExpressionBuilder.newInstance()
.contains()
.number(),
);
intent2.addExpression(
ExpressionBuilder.newInstance()
.notContains()
.keyWordDialogFlow('subst_dayuse'),
);
const intent3 = new Intent('cotacao_grupo');
intent3.addExpression(
ExpressionBuilder.newInstance()
.contains()
.keyWordDialogFlow('preco'),
);
intent3.addExpression(
ExpressionBuilder.newInstance()
.contains()
.keyWordDialogFlow('subst_grupo'),
);
intent3.addExpression(
ExpressionBuilder.newInstance()
.contains()
.keyWordDialogFlow('substantivo_pessoas'),
);
intent3.addExpression(
ExpressionBuilder.newInstance()
.contains()
.number(),
);
intent3.addExpression(
ExpressionBuilder.newInstance()
.notContains()
.keyWordDialogFlow('subst_dayuse'),
);
const intent4 = new Intent('dayuse');
intent4.addExpression(
ExpressionBuilder.newInstance()
.contains()
.keyWordDialogFlow('preco'),
);
intent4.addExpression(
ExpressionBuilder.newInstance()
.contains()
.keyWordDialogFlow('subst_dayuse'),
);
const intent5 = new Intent('cadeirante');
intent5.addExpression(
ExpressionBuilder.newInstance()
.contains()
.keyWordDialogFlow('subs_cadeirante'),
);
const intent6 = new Intent('curriculium');
intent6.addExpression(
ExpressionBuilder.newInstance()
.contains()
.keyWordDialogFlow('subst_curriculo'),
);
// intent4.addExpression(ExpressionBuilder.newInstance().contains().keyWordDialogFlow("subst_dayuse"));
//
// async function execute() {
//
// let cont = 0;
// let obj = {
// "text": "Quanto esta Pacote. Para 5 dias...casal? Como vai??? quero ir viajar?",
// "intents": [{
// "id": 3,
// "intent": "cotacao_num_pessoas",
// "expressions": [{
// "entity": "preco",
// "operation": "contains",
// "entityType": "dialogFlow"
// }, {
// "entity": "substantivo_pessoas",
// "operation": "contains",
// "entityType": "dialogFlow"
// }, {
// "entity": "subst_dayuse",
// "operation": "not_contains",
// "entityType": "dialogFlow"
// }, {
// "entity": "Subst_pacotes_promocoes",
// "operation": "not_contains",
// "entityType": "dialogFlow"
// }, {"entity": "subst_grupo", "operation": "not_contains", "entityType": "dialogFlow"}],
// "examples": [{
// "text": "Olá Gostaria de saber os valores para julho, para um casal com dois filhos.",
// "match": true
// }, {"text": "Quanto esta o pacote...Para 5 dias...casal", "match": null}]
// }]
// }
// let globalCache = await KeywordMatcher.refreshCache();
// let globalCache = await KeywordMatcher.refreshCache();
// let base = await KeywordMatcher.getIntent(obj.text, obj.intents, globalCache)
// // let newString = obj.text.replace(/[&#,+()$~%.'":*?<>{}]/g, ' ');
// // var newStr = newString.replace(/\s+/g, ' ');
//
// console.log(base)
// let obj =
//
// {"text":"Além disso, você terá acesso a jogos e shows com Paralamas do Sucesso, Barão Vermelho, Raimundos, Malta, Dick Vigarista, Super Joe, Dazaranha, cover de Red Hot Chili Peppers e muito mais! Minha reserva é pela Bancorbras","intents":[{"id":28,"intent":"cotacao","expressions":[{"entity":"preco","operation":"contains","entityType":"dialogFlow"},{"entity":"subst_dayuse","operation":"not_contains","entityType":"dialogFlow"},{"entity":"prep_pergunta","operation":"contains","entityType":"dialogFlow"},{"entity":"subst_grupo","operation":"not_contains","entityType":"dialogFlow"},{"entity":"subst_periodo_data","operation":"not_contains","entityType":"dialogFlow"},{"entity":"subs_mensalista","operation":"not_contains","entityType":"dialogFlow"},{"entity":"adjetivo_incluso","operation":"not_contains","entityType":"dialogFlow"},{"entity":"verbo_incluir","operation":"not_contains","entityType":"dialogFlow"},{"entity":"Subst_feriados","operation":"not_contains","entityType":"dialogFlow"},{"entity":"substantivo_pessoas","operation":"not_contains","entityType":"dialogFlow"},{"entity":"subs_pacotes","operation":"not_contains","entityType":"dialogFlow"},{"entity":"subst_passeios","operation":"not_contains","entityType":"dialogFlow"},{"entity":"subst_parcela_vezes","operation":"not_contains","entityType":"dialogFlow"},{"entity":"quarto","operation":"not_contains","entityType":"dialogFlow"},{"entity":"nao","operation":"not_contains","entityType":"dialogFlow"},{"entity":"subst_email","operation":"not_contains","entityType":"dialogFlow"},{"entity":"verb_debitar","operation":"not_contains","entityType":"dialogFlow"}],"examples":[{"text":"Olá bom dia gostaria de estar fazendo um orçamento","match":true},{"text":"vcs poderia me passar uma cotação?","match":true},{"text":"Gostaria de saber valores e disponibilidade de diária","match":true},{"text":"Tentei reservar no site porém não estava disponível","match":false},{"text":"gostaria de saber se nesta tarifa estão incluidos impostos e eventuais tarifas adicionais","match":false},{"text":"Foi debitado no cartão de crédito uma das duas reservas.","match":false},{"text":"Estou precisando do email da Juliana das reservas","match":false},{"text":"Além disso, você terá acesso a jogos e shows com Paralamas do Sucesso, Barão Vermelho, Raimundos, Malta, Dick Vigarista, Super Joe, Dazaranha, cover de Red Hot Chili Peppers e muito mais! Minha reserva é pela Bancorbras","match":null}]}]}
//
// let globalCache = await KeywordMatcher.refreshCache();
// console.log(globalCache["subst_berco"])
// let base = await KeywordMatcher.getIntent(obj.text, obj.intents, globalCache)
// let newString = obj.text.replace(/[&#,+()$~%.'":*?<>{}]/g, ' ');
// var newStr = newString.replace(/\s+/g, ' ');
// const text = 'Boa Noite ';
// const msg = Util.replaceIfIsPhrase(text.toLowerCase());
//
// console.log(msg);
//
//
// }
//
// execute();
// var teste = {
// "data": [{
// "amenites": ["Ar condicionado", "Banheiro", "Cama Box - Solteiro", "Frigobar", "Telefone", "TV Lcd 32"],
// "images": ["https://sbreserva.silbeck.com.br/imagens/apartamento_categoria/0b1e9ee03b72253ab5a67c5b3c104adb.jpg", "https://sbreserva.silbeck.com.br/imagens/apartamento_categoria/cfc68ab920fb7df8bfbfff1db271ede8.jpg", "https://sbreserva.silbeck.com.br/imagens/apartamento_categoria/fcb7246fffb6860f294810ce3e668caa.jpg", "https://sbreserva.silbeck.com.br/imagens/apartamento_categoria/8ba23be2c1e2e0bab79cd5bac476add1.jpg", "https://sbreserva.silbeck.com.br/imagens/apartamento_categoria/f8c59da7fc554c3e4e9e8e12658aa24e.jpg"],
// "name": "Standard Superior Duplo",
// "price": "R$584,00",
// "description": "Quarto Moderno e Convidativo para garantir o melhor de sua hospedagem, piso cerâmico, 2 cama box solteiro, TV 32”, frigobar, ar condicionado, telefone e banheiro.",
// "mainPhoto": "https://sbreserva.silbeck.com.br/imagens/apartamento_categoria/0b1e9ee03b72253ab5a67c5b3c104adb.jpg",
// "total": "R$ 1.168,00"
// }]
// }