bontaki-engine
Version:
emotions to psychoanalytic metaphor conversion
31 lines (25 loc) • 929 B
JavaScript
module.exports = function (props) {
// private
function randomItem(array) {
return array[Math.floor(Math.random() * array.length)]
}
async function identifyIntent(data) {
const manager = new props.method.NlpManager({ languages: ['en'], forceNER: true });
manager.import(props.method.data.model);
return await manager.process(data.utterance);
}
// privileged
this.findScripture = async function(data) {
// { utterance: "", model: {} }
// detect input concept
const nlp = await identifyIntent({ utterance: data.utterance });
// return random verse if intent is None
if(nlp.intent === "None") {
// rather, we return a value from scriptures.data.json
const scripture = randomItem(props.method.data.scriptures);
return { intent: scripture.intent, answer: scripture.answer }
}
// find scripture by concept intent
return { intent: nlp.intent, answer: nlp.answer }
}
};