node-nlp
Version:
Library for NLU (Natural Language Understanding) done in Node.js
1,335 lines (1,301 loc) • 29.8 kB
JavaScript
/*
* Copyright (c) AXA Shared Services Spain S.A.
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the
* "Software"), to deal in the Software without restriction, including
* without limitation the rights to use, copy, modify, merge, publish,
* distribute, sublicense, and/or sell copies of the Software, and to
* permit persons to whom the Software is furnished to do so, subject to
* the following conditions:
*
* The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
* LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
* OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
const BaseStemmer = require('./base-stemmer');
const Among = require('./among');
/**
* This class was automatically generated by a Snowball to JSX compiler
* It implements the stemming algorithm defined by a snowball script.
*/
class HungarianStemmer extends BaseStemmer {
constructor(tokenizer) {
super(tokenizer);
this.I_p1 = 0;
}
copy_from(other) {
this.I_p1 = other.I_p1;
super.copy_from(other);
}
r_mark_regions() {
let v_1;
let v_2;
let v_3;
// (, line 44
this.I_p1 = this.limit;
// or, line 51
let lab0 = true;
lab0: while (lab0 == true) {
lab0 = false;
v_1 = this.cursor;
let lab1 = true;
lab1: while (lab1 == true) {
lab1 = false;
// (, line 48
if (!this.in_grouping(HungarianStemmer.g_v, 97, 252)) {
break;
}
// goto, line 48
golab2: while (true) {
v_2 = this.cursor;
let lab3 = true;
while (lab3 == true) {
lab3 = false;
if (!this.out_grouping(HungarianStemmer.g_v, 97, 252)) {
break;
}
this.cursor = v_2;
break golab2;
}
this.cursor = v_2;
if (this.cursor >= this.limit) {
break lab1;
}
this.cursor++;
}
// or, line 49
let lab4 = true;
lab4: while (lab4 == true) {
lab4 = false;
v_3 = this.cursor;
let lab5 = true;
while (lab5 == true) {
lab5 = false;
// among, line 49
if (this.find_among(HungarianStemmer.a_0, 8) == 0) {
break;
}
break lab4;
}
this.cursor = v_3;
// next, line 49
if (this.cursor >= this.limit) {
break lab1;
}
this.cursor++;
}
// setmark p1, line 50
this.I_p1 = this.cursor;
break lab0;
}
this.cursor = v_1;
// (, line 53
if (!this.out_grouping(HungarianStemmer.g_v, 97, 252)) {
return false;
}
// gopast, line 53
golab6: while (true) {
let lab7 = true;
while (lab7 == true) {
lab7 = false;
if (!this.in_grouping(HungarianStemmer.g_v, 97, 252)) {
break;
}
break golab6;
}
if (this.cursor >= this.limit) {
return false;
}
this.cursor++;
}
// setmark p1, line 53
this.I_p1 = this.cursor;
}
return true;
}
r_R1() {
if (!(this.I_p1 <= this.cursor)) {
return false;
}
return true;
}
r_v_ending() {
let among_var;
// (, line 60
// [, line 61
this.ket = this.cursor;
// substring, line 61
among_var = this.find_among_b(HungarianStemmer.a_1, 2);
if (among_var == 0) {
return false;
}
// ], line 61
this.bra = this.cursor;
// call R1, line 61
if (!this.r_R1()) {
return false;
}
switch (among_var) {
case 0:
return false;
case 1:
// (, line 62
// <-, line 62
if (!this.slice_from('a')) {
return false;
}
break;
case 2:
// (, line 63
// <-, line 63
if (!this.slice_from('e')) {
return false;
}
break;
}
return true;
}
r_double() {
let v_1;
// (, line 67
// test, line 68
v_1 = this.limit - this.cursor;
// among, line 68
if (this.find_among_b(HungarianStemmer.a_2, 23) == 0) {
return false;
}
this.cursor = this.limit - v_1;
return true;
}
r_undouble() {
// (, line 72
// next, line 73
if (this.cursor <= this.limit_backward) {
return false;
}
this.cursor--;
// [, line 73
this.ket = this.cursor;
// hop, line 73
{
const c = this.cursor - 1;
if (this.limit_backward > c || c > this.limit) {
return false;
}
this.cursor = c;
}
// ], line 73
this.bra = this.cursor;
// delete, line 73
if (!this.slice_del()) {
return false;
}
return true;
}
r_instrum() {
let among_var;
// (, line 76
// [, line 77
this.ket = this.cursor;
// substring, line 77
among_var = this.find_among_b(HungarianStemmer.a_3, 2);
if (among_var == 0) {
return false;
}
// ], line 77
this.bra = this.cursor;
// call R1, line 77
if (!this.r_R1()) {
return false;
}
switch (among_var) {
case 0:
return false;
case 1:
// (, line 78
// call double, line 78
if (!this.r_double()) {
return false;
}
break;
case 2:
// (, line 79
// call double, line 79
if (!this.r_double()) {
return false;
}
break;
}
// delete, line 81
if (!this.slice_del()) {
return false;
}
// call undouble, line 82
if (!this.r_undouble()) {
return false;
}
return true;
}
r_case() {
// (, line 86
// [, line 87
this.ket = this.cursor;
// substring, line 87
if (this.find_among_b(HungarianStemmer.a_4, 44) == 0) {
return false;
}
// ], line 87
this.bra = this.cursor;
// call R1, line 87
if (!this.r_R1()) {
return false;
}
// delete, line 111
if (!this.slice_del()) {
return false;
}
// call v_ending, line 112
if (!this.r_v_ending()) {
return false;
}
return true;
}
r_case_special() {
let among_var;
// (, line 115
// [, line 116
this.ket = this.cursor;
// substring, line 116
among_var = this.find_among_b(HungarianStemmer.a_5, 3);
if (among_var == 0) {
return false;
}
// ], line 116
this.bra = this.cursor;
// call R1, line 116
if (!this.r_R1()) {
return false;
}
switch (among_var) {
case 0:
return false;
case 1:
// (, line 117
// <-, line 117
if (!this.slice_from('e')) {
return false;
}
break;
case 2:
// (, line 118
// <-, line 118
if (!this.slice_from('a')) {
return false;
}
break;
case 3:
// (, line 119
// <-, line 119
if (!this.slice_from('a')) {
return false;
}
break;
}
return true;
}
r_case_other() {
let among_var;
// (, line 123
// [, line 124
this.ket = this.cursor;
// substring, line 124
among_var = this.find_among_b(HungarianStemmer.a_6, 6);
if (among_var == 0) {
return false;
}
// ], line 124
this.bra = this.cursor;
// call R1, line 124
if (!this.r_R1()) {
return false;
}
switch (among_var) {
case 0:
return false;
case 1:
// (, line 125
// delete, line 125
if (!this.slice_del()) {
return false;
}
break;
case 2:
// (, line 126
// delete, line 126
if (!this.slice_del()) {
return false;
}
break;
case 3:
// (, line 127
// <-, line 127
if (!this.slice_from('a')) {
return false;
}
break;
case 4:
// (, line 128
// <-, line 128
if (!this.slice_from('e')) {
return false;
}
break;
}
return true;
}
r_factive() {
let among_var;
// (, line 132
// [, line 133
this.ket = this.cursor;
// substring, line 133
among_var = this.find_among_b(HungarianStemmer.a_7, 2);
if (among_var == 0) {
return false;
}
// ], line 133
this.bra = this.cursor;
// call R1, line 133
if (!this.r_R1()) {
return false;
}
switch (among_var) {
case 0:
return false;
case 1:
// (, line 134
// call double, line 134
if (!this.r_double()) {
return false;
}
break;
case 2:
// (, line 135
// call double, line 135
if (!this.r_double()) {
return false;
}
break;
}
// delete, line 137
if (!this.slice_del()) {
return false;
}
// call undouble, line 138
if (!this.r_undouble()) {
return false;
}
return true;
}
r_plural() {
let among_var;
// (, line 141
// [, line 142
this.ket = this.cursor;
// substring, line 142
among_var = this.find_among_b(HungarianStemmer.a_8, 7);
if (among_var == 0) {
return false;
}
// ], line 142
this.bra = this.cursor;
// call R1, line 142
if (!this.r_R1()) {
return false;
}
switch (among_var) {
case 0:
return false;
case 1:
// (, line 143
// <-, line 143
if (!this.slice_from('a')) {
return false;
}
break;
case 2:
// (, line 144
// <-, line 144
if (!this.slice_from('e')) {
return false;
}
break;
case 3:
// (, line 145
// delete, line 145
if (!this.slice_del()) {
return false;
}
break;
case 4:
// (, line 146
// delete, line 146
if (!this.slice_del()) {
return false;
}
break;
case 5:
// (, line 147
// delete, line 147
if (!this.slice_del()) {
return false;
}
break;
case 6:
// (, line 148
// delete, line 148
if (!this.slice_del()) {
return false;
}
break;
case 7:
// (, line 149
// delete, line 149
if (!this.slice_del()) {
return false;
}
break;
}
return true;
}
r_owned() {
let among_var;
// (, line 153
// [, line 154
this.ket = this.cursor;
// substring, line 154
among_var = this.find_among_b(HungarianStemmer.a_9, 12);
if (among_var == 0) {
return false;
}
// ], line 154
this.bra = this.cursor;
// call R1, line 154
if (!this.r_R1()) {
return false;
}
switch (among_var) {
case 0:
return false;
case 1:
// (, line 155
// delete, line 155
if (!this.slice_del()) {
return false;
}
break;
case 2:
// (, line 156
// <-, line 156
if (!this.slice_from('e')) {
return false;
}
break;
case 3:
// (, line 157
// <-, line 157
if (!this.slice_from('a')) {
return false;
}
break;
case 4:
// (, line 158
// delete, line 158
if (!this.slice_del()) {
return false;
}
break;
case 5:
// (, line 159
// <-, line 159
if (!this.slice_from('e')) {
return false;
}
break;
case 6:
// (, line 160
// <-, line 160
if (!this.slice_from('a')) {
return false;
}
break;
case 7:
// (, line 161
// delete, line 161
if (!this.slice_del()) {
return false;
}
break;
case 8:
// (, line 162
// <-, line 162
if (!this.slice_from('e')) {
return false;
}
break;
case 9:
// (, line 163
// delete, line 163
if (!this.slice_del()) {
return false;
}
break;
}
return true;
}
r_sing_owner() {
let among_var;
// (, line 167
// [, line 168
this.ket = this.cursor;
// substring, line 168
among_var = this.find_among_b(HungarianStemmer.a_10, 31);
if (among_var == 0) {
return false;
}
// ], line 168
this.bra = this.cursor;
// call R1, line 168
if (!this.r_R1()) {
return false;
}
switch (among_var) {
case 0:
return false;
case 1:
// (, line 169
// delete, line 169
if (!this.slice_del()) {
return false;
}
break;
case 2:
// (, line 170
// <-, line 170
if (!this.slice_from('a')) {
return false;
}
break;
case 3:
// (, line 171
// <-, line 171
if (!this.slice_from('e')) {
return false;
}
break;
case 4:
// (, line 172
// delete, line 172
if (!this.slice_del()) {
return false;
}
break;
case 5:
// (, line 173
// <-, line 173
if (!this.slice_from('a')) {
return false;
}
break;
case 6:
// (, line 174
// <-, line 174
if (!this.slice_from('e')) {
return false;
}
break;
case 7:
// (, line 175
// delete, line 175
if (!this.slice_del()) {
return false;
}
break;
case 8:
// (, line 176
// delete, line 176
if (!this.slice_del()) {
return false;
}
break;
case 9:
// (, line 177
// delete, line 177
if (!this.slice_del()) {
return false;
}
break;
case 10:
// (, line 178
// <-, line 178
if (!this.slice_from('a')) {
return false;
}
break;
case 11:
// (, line 179
// <-, line 179
if (!this.slice_from('e')) {
return false;
}
break;
case 12:
// (, line 180
// delete, line 180
if (!this.slice_del()) {
return false;
}
break;
case 13:
// (, line 181
// delete, line 181
if (!this.slice_del()) {
return false;
}
break;
case 14:
// (, line 182
// <-, line 182
if (!this.slice_from('a')) {
return false;
}
break;
case 15:
// (, line 183
// <-, line 183
if (!this.slice_from('e')) {
return false;
}
break;
case 16:
// (, line 184
// delete, line 184
if (!this.slice_del()) {
return false;
}
break;
case 17:
// (, line 185
// delete, line 185
if (!this.slice_del()) {
return false;
}
break;
case 18:
// (, line 186
// delete, line 186
if (!this.slice_del()) {
return false;
}
break;
case 19:
// (, line 187
// <-, line 187
if (!this.slice_from('a')) {
return false;
}
break;
case 20:
// (, line 188
// <-, line 188
if (!this.slice_from('e')) {
return false;
}
break;
}
return true;
}
r_plur_owner() {
let among_var;
// (, line 192
// [, line 193
this.ket = this.cursor;
// substring, line 193
among_var = this.find_among_b(HungarianStemmer.a_11, 42);
if (among_var == 0) {
return false;
}
// ], line 193
this.bra = this.cursor;
// call R1, line 193
if (!this.r_R1()) {
return false;
}
switch (among_var) {
case 0:
return false;
case 1:
// (, line 194
// delete, line 194
if (!this.slice_del()) {
return false;
}
break;
case 2:
// (, line 195
// <-, line 195
if (!this.slice_from('a')) {
return false;
}
break;
case 3:
// (, line 196
// <-, line 196
if (!this.slice_from('e')) {
return false;
}
break;
case 4:
// (, line 197
// delete, line 197
if (!this.slice_del()) {
return false;
}
break;
case 5:
// (, line 198
// delete, line 198
if (!this.slice_del()) {
return false;
}
break;
case 6:
// (, line 199
// delete, line 199
if (!this.slice_del()) {
return false;
}
break;
case 7:
// (, line 200
// <-, line 200
if (!this.slice_from('a')) {
return false;
}
break;
case 8:
// (, line 201
// <-, line 201
if (!this.slice_from('e')) {
return false;
}
break;
case 9:
// (, line 202
// delete, line 202
if (!this.slice_del()) {
return false;
}
break;
case 10:
// (, line 203
// delete, line 203
if (!this.slice_del()) {
return false;
}
break;
case 11:
// (, line 204
// delete, line 204
if (!this.slice_del()) {
return false;
}
break;
case 12:
// (, line 205
// <-, line 205
if (!this.slice_from('a')) {
return false;
}
break;
case 13:
// (, line 206
// <-, line 206
if (!this.slice_from('e')) {
return false;
}
break;
case 14:
// (, line 207
// delete, line 207
if (!this.slice_del()) {
return false;
}
break;
case 15:
// (, line 208
// delete, line 208
if (!this.slice_del()) {
return false;
}
break;
case 16:
// (, line 209
// delete, line 209
if (!this.slice_del()) {
return false;
}
break;
case 17:
// (, line 210
// delete, line 210
if (!this.slice_del()) {
return false;
}
break;
case 18:
// (, line 211
// <-, line 211
if (!this.slice_from('a')) {
return false;
}
break;
case 19:
// (, line 212
// <-, line 212
if (!this.slice_from('e')) {
return false;
}
break;
case 20:
// (, line 214
// delete, line 214
if (!this.slice_del()) {
return false;
}
break;
case 21:
// (, line 215
// delete, line 215
if (!this.slice_del()) {
return false;
}
break;
case 22:
// (, line 216
// <-, line 216
if (!this.slice_from('a')) {
return false;
}
break;
case 23:
// (, line 217
// <-, line 217
if (!this.slice_from('e')) {
return false;
}
break;
case 24:
// (, line 218
// delete, line 218
if (!this.slice_del()) {
return false;
}
break;
case 25:
// (, line 219
// delete, line 219
if (!this.slice_del()) {
return false;
}
break;
case 26:
// (, line 220
// delete, line 220
if (!this.slice_del()) {
return false;
}
break;
case 27:
// (, line 221
// <-, line 221
if (!this.slice_from('a')) {
return false;
}
break;
case 28:
// (, line 222
// <-, line 222
if (!this.slice_from('e')) {
return false;
}
break;
case 29:
// (, line 223
// delete, line 223
if (!this.slice_del()) {
return false;
}
break;
}
return true;
}
stem() {
let v_1;
let v_2;
let v_3;
let v_4;
let v_5;
let v_6;
let v_7;
let v_8;
let v_9;
let v_10;
// (, line 228
// do, line 229
v_1 = this.cursor;
let lab0 = true;
while (lab0 == true) {
lab0 = false;
// call mark_regions, line 229
if (!this.r_mark_regions()) {
break;
}
}
this.cursor = v_1;
// backwards, line 230
this.limit_backward = this.cursor;
this.cursor = this.limit;
// (, line 230
// do, line 231
v_2 = this.limit - this.cursor;
let lab1 = true;
while (lab1 == true) {
lab1 = false;
// call instrum, line 231
if (!this.r_instrum()) {
break;
}
}
this.cursor = this.limit - v_2;
// do, line 232
v_3 = this.limit - this.cursor;
let lab2 = true;
while (lab2 == true) {
lab2 = false;
// call case, line 232
if (!this.r_case()) {
break;
}
}
this.cursor = this.limit - v_3;
// do, line 233
v_4 = this.limit - this.cursor;
let lab3 = true;
while (lab3 == true) {
lab3 = false;
// call case_special, line 233
if (!this.r_case_special()) {
break;
}
}
this.cursor = this.limit - v_4;
// do, line 234
v_5 = this.limit - this.cursor;
let lab4 = true;
while (lab4 == true) {
lab4 = false;
// call case_other, line 234
if (!this.r_case_other()) {
break;
}
}
this.cursor = this.limit - v_5;
// do, line 235
v_6 = this.limit - this.cursor;
let lab5 = true;
while (lab5 == true) {
lab5 = false;
// call factive, line 235
if (!this.r_factive()) {
break;
}
}
this.cursor = this.limit - v_6;
// do, line 236
v_7 = this.limit - this.cursor;
let lab6 = true;
while (lab6 == true) {
lab6 = false;
// call owned, line 236
if (!this.r_owned()) {
break;
}
}
this.cursor = this.limit - v_7;
// do, line 237
v_8 = this.limit - this.cursor;
let lab7 = true;
while (lab7 == true) {
lab7 = false;
// call sing_owner, line 237
if (!this.r_sing_owner()) {
break;
}
}
this.cursor = this.limit - v_8;
// do, line 238
v_9 = this.limit - this.cursor;
let lab8 = true;
while (lab8 == true) {
lab8 = false;
// call plur_owner, line 238
if (!this.r_plur_owner()) {
break;
}
}
this.cursor = this.limit - v_9;
// do, line 239
v_10 = this.limit - this.cursor;
let lab9 = true;
while (lab9 == true) {
lab9 = false;
// call plural, line 239
if (!this.r_plural()) {
break;
}
}
this.cursor = this.limit - v_10;
this.cursor = this.limit_backward;
return true;
}
}
HungarianStemmer.methodObject = new HungarianStemmer();
HungarianStemmer.a_0 = [
new Among('cs', -1, -1),
new Among('dzs', -1, -1),
new Among('gy', -1, -1),
new Among('ly', -1, -1),
new Among('ny', -1, -1),
new Among('sz', -1, -1),
new Among('ty', -1, -1),
new Among('zs', -1, -1)
];
HungarianStemmer.a_1 = [new Among('\u00E1', -1, 1), new Among('\u00E9', -1, 2)];
HungarianStemmer.a_2 = [
new Among('bb', -1, -1),
new Among('cc', -1, -1),
new Among('dd', -1, -1),
new Among('ff', -1, -1),
new Among('gg', -1, -1),
new Among('jj', -1, -1),
new Among('kk', -1, -1),
new Among('ll', -1, -1),
new Among('mm', -1, -1),
new Among('nn', -1, -1),
new Among('pp', -1, -1),
new Among('rr', -1, -1),
new Among('ccs', -1, -1),
new Among('ss', -1, -1),
new Among('zzs', -1, -1),
new Among('tt', -1, -1),
new Among('vv', -1, -1),
new Among('ggy', -1, -1),
new Among('lly', -1, -1),
new Among('nny', -1, -1),
new Among('tty', -1, -1),
new Among('ssz', -1, -1),
new Among('zz', -1, -1)
];
HungarianStemmer.a_3 = [new Among('al', -1, 1), new Among('el', -1, 2)];
HungarianStemmer.a_4 = [
new Among('ba', -1, -1),
new Among('ra', -1, -1),
new Among('be', -1, -1),
new Among('re', -1, -1),
new Among('ig', -1, -1),
new Among('nak', -1, -1),
new Among('nek', -1, -1),
new Among('val', -1, -1),
new Among('vel', -1, -1),
new Among('ul', -1, -1),
new Among('n\u00E1l', -1, -1),
new Among('n\u00E9l', -1, -1),
new Among('b\u00F3l', -1, -1),
new Among('r\u00F3l', -1, -1),
new Among('t\u00F3l', -1, -1),
new Among('b\u00F5l', -1, -1),
new Among('r\u00F5l', -1, -1),
new Among('t\u00F5l', -1, -1),
new Among('\u00FCl', -1, -1),
new Among('n', -1, -1),
new Among('an', 19, -1),
new Among('ban', 20, -1),
new Among('en', 19, -1),
new Among('ben', 22, -1),
new Among('k\u00E9ppen', 22, -1),
new Among('on', 19, -1),
new Among('\u00F6n', 19, -1),
new Among('k\u00E9pp', -1, -1),
new Among('kor', -1, -1),
new Among('t', -1, -1),
new Among('at', 29, -1),
new Among('et', 29, -1),
new Among('k\u00E9nt', 29, -1),
new Among('ank\u00E9nt', 32, -1),
new Among('enk\u00E9nt', 32, -1),
new Among('onk\u00E9nt', 32, -1),
new Among('ot', 29, -1),
new Among('\u00E9rt', 29, -1),
new Among('\u00F6t', 29, -1),
new Among('hez', -1, -1),
new Among('hoz', -1, -1),
new Among('h\u00F6z', -1, -1),
new Among('v\u00E1', -1, -1),
new Among('v\u00E9', -1, -1)
];
HungarianStemmer.a_5 = [
new Among('\u00E1n', -1, 2),
new Among('\u00E9n', -1, 1),
new Among('\u00E1nk\u00E9nt', -1, 3)
];
HungarianStemmer.a_6 = [
new Among('stul', -1, 2),
new Among('astul', 0, 1),
new Among('\u00E1stul', 0, 3),
new Among('st\u00FCl', -1, 2),
new Among('est\u00FCl', 3, 1),
new Among('\u00E9st\u00FCl', 3, 4)
];
HungarianStemmer.a_7 = [new Among('\u00E1', -1, 1), new Among('\u00E9', -1, 2)];
HungarianStemmer.a_8 = [
new Among('k', -1, 7),
new Among('ak', 0, 4),
new Among('ek', 0, 6),
new Among('ok', 0, 5),
new Among('\u00E1k', 0, 1),
new Among('\u00E9k', 0, 2),
new Among('\u00F6k', 0, 3)
];
HungarianStemmer.a_9 = [
new Among('\u00E9i', -1, 7),
new Among('\u00E1\u00E9i', 0, 6),
new Among('\u00E9\u00E9i', 0, 5),
new Among('\u00E9', -1, 9),
new Among('k\u00E9', 3, 4),
new Among('ak\u00E9', 4, 1),
new Among('ek\u00E9', 4, 1),
new Among('ok\u00E9', 4, 1),
new Among('\u00E1k\u00E9', 4, 3),
new Among('\u00E9k\u00E9', 4, 2),
new Among('\u00F6k\u00E9', 4, 1),
new Among('\u00E9\u00E9', 3, 8)
];
HungarianStemmer.a_10 = [
new Among('a', -1, 18),
new Among('ja', 0, 17),
new Among('d', -1, 16),
new Among('ad', 2, 13),
new Among('ed', 2, 13),
new Among('od', 2, 13),
new Among('\u00E1d', 2, 14),
new Among('\u00E9d', 2, 15),
new Among('\u00F6d', 2, 13),
new Among('e', -1, 18),
new Among('je', 9, 17),
new Among('nk', -1, 4),
new Among('unk', 11, 1),
new Among('\u00E1nk', 11, 2),
new Among('\u00E9nk', 11, 3),
new Among('\u00FCnk', 11, 1),
new Among('uk', -1, 8),
new Among('juk', 16, 7),
new Among('\u00E1juk', 17, 5),
new Among('\u00FCk', -1, 8),
new Among('j\u00FCk', 19, 7),
new Among('\u00E9j\u00FCk', 20, 6),
new Among('m', -1, 12),
new Among('am', 22, 9),
new Among('em', 22, 9),
new Among('om', 22, 9),
new Among('\u00E1m', 22, 10),
new Among('\u00E9m', 22, 11),
new Among('o', -1, 18),
new Among('\u00E1', -1, 19),
new Among('\u00E9', -1, 20)
];
HungarianStemmer.a_11 = [
new Among('id', -1, 10),
new Among('aid', 0, 9),
new Among('jaid', 1, 6),
new Among('eid', 0, 9),
new Among('jeid', 3, 6),
new Among('\u00E1id', 0, 7),
new Among('\u00E9id', 0, 8),
new Among('i', -1, 15),
new Among('ai', 7, 14),
new Among('jai', 8, 11),
new Among('ei', 7, 14),
new Among('jei', 10, 11),
new Among('\u00E1i', 7, 12),
new Among('\u00E9i', 7, 13),
new Among('itek', -1, 24),
new Among('eitek', 14, 21),
new Among('jeitek', 15, 20),
new Among('\u00E9itek', 14, 23),
new Among('ik', -1, 29),
new Among('aik', 18, 26),
new Among('jaik', 19, 25),
new Among('eik', 18, 26),
new Among('jeik', 21, 25),
new Among('\u00E1ik', 18, 27),
new Among('\u00E9ik', 18, 28),
new Among('ink', -1, 20),
new Among('aink', 25, 17),
new Among('jaink', 26, 16),
new Among('eink', 25, 17),
new Among('jeink', 28, 16),
new Among('\u00E1ink', 25, 18),
new Among('\u00E9ink', 25, 19),
new Among('aitok', -1, 21),
new Among('jaitok', 32, 20),
new Among('\u00E1itok', -1, 22),
new Among('im', -1, 5),
new Among('aim', 35, 4),
new Among('jaim', 36, 1),
new Among('eim', 35, 4),
new Among('jeim', 38, 1),
new Among('\u00E1im', 35, 2),
new Among('\u00E9im', 35, 3)
];
HungarianStemmer.g_v = [
17,
65,
16,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
1,
17,
52,
14
];
module.exports = HungarianStemmer;