Skip to content

bastienbot/nlp-intent-toolkit

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

nlp-intent-toolkit - Webserver version

Recognizing intents with slots using OpenNLP.

This is an example of using OpenNLP to train a system to accept natural language input, particularly via a speech-to-text source, and return a recognized action with arguments. The system uses document categorization to determine the action for inputs and entity recognition to determine the arguments. The training system requires a directory containing separate files for each possible action, in this case the actions in a fictitious weather application:

- example/weather/train
  - current-weather.txt - get the current weather
  - hourly-forecast.txt - get the hourly forcast
  - five-day-forecast.txt - get a five day forecast

Each training file contains one example per line with any possible arguments surrounded by mark up to indicate the name of the parameter:

file: five-day-forecast.txt
...
how dos the weather look for this Thursday in <START:city> Boston <END>
is it going to snow this week in <START:city> Chicago <END>
show me the forecast for <START:city> Denver <END>
...

Start the node server

The webserver is node based and listen to the port 3000

$ mkdir node-server
$ npm install
$ node index.js

Request exemple

Query

$ curl --data "enquiry=how does this weekend look in boston" -X POST https://localhost:3000

Response

{status: true, data: {action:five-day-forecast },args:{city:Boston }}

About

Intent recognition with OpenNLP

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 76.4%
  • JavaScript 23.6%