0.1.0 • Published 7 years ago
keyworder v0.1.0
Keyworder - Intent prediction form PrgChatbot
Predict user intents with cool machine learning tool, Facebook FastText.
Preparing the model
- Install Facebook FastText
- Follow instructions
Using with Prg-Chatbot
Usage
const { Router } = require('prg-chatbot');
const keyworder = require('keyworder');
const path = require('path');
keyworder.setResolver({
model: path.join(process.cwd(), 'models', 'model.bin')
});
const app = new Router();
app.use(keyworder('hello'), (req, res, postBack, next) => {
res.text('Hello too!');
});
API
Functions
Typedefs
keyworder(tag, threshold, namespace) ⇒ function
Create resolver middleware for PrgChatbot
Kind: global function
Param | Type | Description |
---|---|---|
tag | string | tag for matching |
threshold | number | override success threshold |
namespace | string | resolver namespace |
Example
const keyworder = require('keyworder');
router.use(keyworder('hello-intent'), (req, res) => {
res.text('Welcome too!');
});
setResolver(configuration, namespace)
Kind: global function
Param | Type | Description |
---|---|---|
configuration | Configuration | the resolver configuration |
namespace | string | set resolver for diferent namespace |
Example
const keyworder = require('keyworder');
const path = require('path');
keyworder.setResolver({
model: path.join(__dirname, 'model.bin')
});
resolve(text, threshold, namespace) ⇒ Promise.<{tag:string, score:number}>
Resolve single text
Kind: global function
Param | Type | Description |
---|---|---|
text | string | query text |
threshold | number | override the threshold |
namespace | string | use other than default resolver |
Configuration : Object
Kind: global typedef
Properties
Name | Type | Description |
---|---|---|
model | string | path to trained fast text model |
threshold | number | prediction threshold (0.95 recommended) |
cacheSize | number | keep this amount of results cached |
filter | function | text preprocessor |
logger | function | resolver logger function |