One of the challenging tasks in Dialogflow is training your comprehensive list of entities that contains all the synonyms for each reference value. It is kind of tedious to input every possible synonym manually. This package can help generating entities in Dialogflow much easier by combining a list of reference values and their own synonyms plus an optional list of replacers which replace a word or even a phrase within each synonyms.
# Install via NPM
$ npm install --save trentity
// No default import
const {
generateEntitySync,
generateEntity,
revertEntitySync,
revertEntity,
} = require('trentity');
/**
* OR
* const { generateEntitySync, generateEntity } = require('trentity/generate-entity');
* const { revertEntitySync, revertEntity } = require('trentity/revert-entity');
*
*/
/** To generate entity list with replacers */
void async function main() {
const d = await generateEntity([
[
'Accessories for car',
[
'accessories for car',
'car accessory',
]
]
], {
accessories: [
'accessory',
'access',
'accesory',
'acessory',
],
car: [
'cars',
'vehicle',
'vehicles',
],
});
assert(d, "Accessories for car","accessories for car","accessory for car","access for car","accesory for car","acessory for car","car accessory","accessories for cars","accessories for vehicle","accessories for vehicles","cars accessory","vehicle accessory","vehicles accessory"); // OK
}();
/** To revert generated entity list */
void async function main() {
const d = await revertEntity('"Accessories for car","accessories for car","accessory for car","access for car","accesory for car","acessory for car","car accessory","accessories for cars","accessories for vehicle","accessories for vehicles","cars accessory","vehicle accessory","vehicles accessory"');
assert(d, [
[
"Accessories for car",
[
"accessories for car",
"accessory for car",
"access for car",
"accesory for car",
"acessory for car",
"car accessory",
"accessories for cars",
"accessories for vehicle",
"accessories for vehicles",
"cars accessory",
"vehicle accessory",
"vehicles accessory"
]
]
]); // OK
}();
// No default import
import {
generateEntitySync,
generateEntity,
revertEntitySync,
revertEntity,
} from 'trentity';
/**
* OR
* import { generateEntitySync, generateEntity } from 'trentity/generate-entity';
* import { revertEntitySync, revertEntity } from 'trentity/revert-entity';
*
*/
/** To generate entity list with replacers */
void async function main() => {
const d = await generateEntity([
[
'Accessories for car',
[
'accessories for car',
'car accessory',
]
]
], {
accessories: [
'accessory',
'access',
'accesory',
'acessory',
],
car: [
'cars',
'vehicle',
'vehicles',
],
});
assert(d, "Accessories for car","accessories for car","accessory for car","access for car","accesory for car","acessory for car","car accessory","accessories for cars","accessories for vehicle","accessories for vehicles","cars accessory","vehicle accessory","vehicles accessory"); // OK
}();
/** To revert generated entity list */
void async function main() => {
const d = await revertEntity('"Accessories for car","accessories for car","accessory for car","access for car","accesory for car","acessory for car","car accessory","accessories for cars","accessories for vehicle","accessories for vehicles","cars accessory","vehicle accessory","vehicles accessory"');
assert(d, [
[
"Accessories for car",
[
"accessories for car",
"accessory for car",
"access for car",
"accesory for car",
"acessory for car",
"car accessory",
"accessories for cars",
"accessories for vehicle",
"accessories for vehicles",
"cars accessory",
"vehicle accessory",
"vehicles accessory"
]
]
]); // OK
}();
- list <Array<[string, string[]]>> A list of reference values and synonyms.
- replacer <Object> Optional list of replacers to replace words or phrases in each synonyms.
- returns: <Promise<string>> Promise which resolves with a combination of
list
andreplacer
.
This methods works the same as generateEntity(list[, replacer])
except that this is the synchronous version.
- entityList <string> A string consists of reference values and synonyms.
- returns: <Promise<<Array<[string, string[]]>>> Promise which resolves with a list of reference values and synonyms.
This methods works the same as revertEntity(entityList)
except that this is the synchronous version.
MIT License © Rong Sen Ng