compromise
Version:
natural language processing in the browser
110 lines (108 loc) • 1.38 kB
JavaScript
;
//suffix signals for verb tense, generated from test data
const compact = {
'Gerund': [
'ing'
],
'Actor': [
'erer'
],
'Infinitive': [
'ate',
'ize',
'tion',
'rify',
'then',
'ress',
'ify',
'age',
'nce',
'ect',
'ise',
'ine',
'ish',
'ace',
'ash',
'ure',
'tch',
'end',
'ack',
'and',
'ute',
'ade',
'ock',
'ite',
'ase',
'ose',
'use',
'ive',
'int',
'nge',
'lay',
'est',
'ain',
'ant',
'ent',
'eed',
'er',
'le',
'own',
'unk',
'ung',
'en'
],
'PastTense': [
'ed',
'lt',
'nt',
'pt',
'ew',
'ld'
],
'PresentTense': [
'rks',
'cks',
'nks',
'ngs',
'mps',
'tes',
'zes',
'ers',
'les',
'acks',
'ends',
'ands',
'ocks',
'lays',
'eads',
'lls',
'els',
'ils',
'ows',
'nds',
'ays',
'ams',
'ars',
'ops',
'ffs',
'als',
'urs',
'lds',
'ews',
'ips',
'es',
'ts',
'ns',
's'
]
};
const suffix_rules = {};
const keys = Object.keys(compact);
const l = keys.length;
for (let i = 0; i < l; i++) {
let l2 = compact[keys[i]].length;
for (let o = 0; o < l2; o++) {
suffix_rules[compact[keys[i]][o]] = keys[i];
}
}
module.exports = suffix_rules;