UNPKG

bontaki-engine

Version:
31 lines (25 loc) 929 B
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 } } };