Hi all, I am trying to build a chatbot via opennlp. I am using The OpenNLP Document Categorizer as intent classifier. I am training like this, (similar to Google DialogFlow https://cloud.google.com/dialogflow/es/docs/best-practices#intent-naming) goal.create could you please create a goal goal.create help me generate a goal goal.create I would like to add a goal ……. award.create I’d like to give an award to Tim award.create Can you create an award … leaverequest.create … leaverequest.create …
However, an NLP expert from my company told me, there is a training best practice for better accuracy “Merge on intents, split on entities.”(https://blog.rasa.com/10-best-practices-for-designing-nlu-training-data/). Thus, it is better to train like this: create could you please create a goal create help me generate a goal create Can you create an award create create a leave request ….. Then I need to add a layer with if-else like this: If intent==’create’ and entity==’goal’: do create_goal If intent==’create’ and entity==’leaverequest’: do create_leaverequest …. I think this is not straight forward, hard to train and requires complex if-else. Is this best practice “Merge on intents, split on entities” applicable to all NLP engine? Is there any exception, e.g: Opennlp? I am looking forward to you replies. Thanks, Joyce