Как правильно использовать contextdata в node-nlp?

#nlp #chat #chatbot

#nlp #Чат #чат-бот

Вопрос:

В настоящее время я пытаюсь создать чат-бота и добавить к нему некоторые contextdata, как в этом примере: https://github.com/axa-group/nlp.js/tree/master/examples/14-ner-corpus

Я перепробовал несколько вариантов конфигураций, имен файлов, путей к файлам и т.д. Я даже посмотрел исходный код, если корпус contextdata будет прочитан, что он и делает.

Но в конце при запуске моего кода против «каково настоящее имя человека-паука?» часть {{hero }} заменяется, а {{ _data[entities.hero.option].realName }} — нет.

В настоящее время мой код выглядит так:

 import { NlpManager, ConversationContext } from 'node-nlp'
const manager = new NlpManager({
    languages: ['en'],
    forceNER: true,
    autoSave: false,
    nlu: { useNoneFeature: true }
})
const context = new ConversationContext()
manager.addCorpora('./corpus.json')
await manager.train()

const response = await manager.process(
    'en',
    'what is the real name of spiderman?',
    context
)
console.log(response)

 

Файлы корпуса, которые я использую, связаны в приведенном выше примере:

https://github.com/axa-group/nlp.js/blob/master/examples/14-ner-corpus/corpus.json

https://github.com/axa-group/nlp.js/blob/master/examples/14-ner-corpus/heros.json

Я надеюсь, что кто-нибудь может указать мне, что я здесь делаю неправильно.

Ответ №1:

Я решил это с помощью https://github.com/jesus-seijas-sp

 const { NlpManager } = require('node-nlp');

(async () => {
  const activity = {
    conversation: {
      id: 'a1'
    }
  }

  const manager = new NlpManager({
    languages: ['en'],
    forceNER: true,
    autoSave: false,
    nlu: { useNoneFeature: true }
  })
  manager.addCorpora('./corpus.json')
  await manager.train()
  const response = await manager.process({ locale: 'en', utterance: 'what is the real name of spiderman?', activity });
  console.log(response)
})();