dictionary update

This commit is contained in:
Vladislav Khorev 2014-12-05 04:18:08 +00:00
parent 856334c75b
commit 54456546c7
7 changed files with 211 additions and 139 deletions

View File

@ -1,4 +1,4 @@
Номер;Слово;Род / число;Есть единственное число;Есть множественное число;Есть стандартное множественное число;Есть стандартное множественное число, полученное путем удаления последней гласной из базы;Есть стандартное окончание множественного числа;"Есть альтернативное окончание множественного числа ""а/я""";Специальные мн. числа;Может быть одушевленным;Может быть неодушевленным;Специальная форма падежа;1
Номер;Слово;Род / число;Есть единственное число;Есть множественное число;Есть стандартное или альтернативное множественное число, без удаления гласных;Есть стандартное или альтернативное множественное число, полученное путем удаления последней гласной из базы;Есть стандартное окончание множественного числа;"Есть альтернативное окончание множественного числа ""а/я""";Специальные мн. числа;Может быть одушевленным;Может быть неодушевленным;Специальная форма падежа;1
307;любовь;ж;1;0;0;0;0;0;;0;1;;1
338;помощь;ж;1;0;0;0;0;0;;0;1;;1
589;борьба;ж;1;0;0;0;0;0;;0;1;;1
@ -40,6 +40,71 @@
1791;давление;с;1;0;0;0;0;0;;0;1;;1
1971;жильё;с;1;0;0;0;0;0;;0;1;;1
1987;пиво;с;1;0;0;0;0;0;;0;1;;1
301;мать;ж;1;1;0;0;0;0;матери;1;0;;1
834;дочь;ж;1;1;0;0;0;0;дочери;1;0;;1
71;день;м;1;1;0;1;1;0;;0;1;;1
106;друг;м;1;1;0;0;0;0;друзья;1;0;;1
110;глаз;м;1;1;1;0;0;1;;0;1;;1
118;дом;м;1;1;1;0;0;1;;0;1;;1
137;ребенок;м;1;1;0;0;0;0;ребята;1;0;;1
142;конец;м;1;1;0;1;1;0;;0;1;;1
156;город;м;1;1;1;0;0;1;;0;1;;1
192;отец;м;1;1;0;1;1;0;;1;0;;1
221;голос;м;1;1;1;0;0;1;;0;1;;1
280;уровень;м;1;1;0;1;1;0;;0;1;;1
295;вечер;м;1;1;1;0;0;1;;0;1;;1
314;век;м;1;1;1;0;0;1;;0;1;;1
328;порядок;м;1;1;0;1;1;0;;0;1;;1
365;рынок;м;1;1;0;1;1;0;;0;1;;1
495;палец;м;1;1;0;1;0;0;;0;1;;1
512;лес;м;1;1;1;0;0;1;;0;1;;1
542;брат;м;1;1;0;0;0;0;братья;1;0;;1
548;номер;м;1;1;1;0;1;1;;0;1;;1
553;гражданин;м;1;1;0;0;0;0;граждане;1;0;;1
576;край;м;1;1;1;0;0;1;;0;1;;1
625;рисунок;м;1;1;0;1;1;0;;0;1;;1
664;хозяин;м;1;1;0;0;0;0;хозяева;1;0;;1
692;берег;м;1;1;1;0;0;1;;0;1;;1
697;цвет;м;1;1;1;0;0;1;;0;1;;1
752;господин;м;1;1;0;0;0;0;господа;1;0;;1
769;сон;м;1;1;0;1;1;0;;0;1;;1
816;участок;м;1;1;0;1;1;0;;0;1;;1
847;ветер;м;1;1;0;1;1;1;;0;1;;1
849;парень;м;1;1;0;1;1;0;;1;0;;1
855;огонь;м;1;1;0;1;1;0;;0;1;;1
901;рот;м;1;1;0;1;1;0;;0;1;;1
910;камень;м;1;1;0;1;1;0;;0;1;;1
953;снег;м;1;1;1;0;0;1;;0;1;;1
962;немец;м;1;1;0;1;1;0;;1;0;;1
1060;учитель;м;1;1;1;0;0;1;;1;0;;1
1150;десяток;м;1;1;0;1;1;0;;0;1;;1
1254;список;м;1;1;0;1;1;0;;0;1;;1
1278;остров;м;1;1;1;0;0;1;;0;1;;1
1324;цветок;м;1;1;0;1;1;0;;0;1;;1
1406;стул;м;1;1;0;0;1;0;стулья;0;1;;1
1505;образец;м;1;1;0;1;1;0;;0;1;;1
1574;американец;м;1;1;0;1;1;0;;1;0;;1
1575;лоб;м;1;1;0;1;1;0;;0;1;;1
1590;бок;м;1;1;1;0;0;1;;0;1;;1
1599;кусок;м;1;1;0;1;1;0;;0;1;;1
1606;звонок;м;1;1;0;1;1;0;;0;1;;1
1624;подарок;м;1;1;0;1;1;0;;0;1;;1
1639;смех;м;1;1;1;0;0;1;;0;1;;1
1874;лев;м;1;1;0;1;1;0;;1;0;;1
1892;корень;м;1;1;0;1;1;0;;0;1;;1
1907;владелец;м;1;1;0;1;1;0;;1;0;;1
1928;лед;м;1;1;0;1;1;0;;0;1;;1
1940;недостаток;м;1;1;0;1;1;0;;0;1;;1
1972;мешок;м;1;1;0;1;1;0;;0;1;;1
1984;дворец;м;1;1;0;1;1;0;;0;1;;1
52;время;с;1;1;0;0;0;0;времена;0;1;;1
239;имя;с;1;1;0;0;0;0;имена;0;1;;1
452;плечо;с;1;1;0;0;1;0;плечи;0;1;;1
600;небо;с;1;1;0;0;0;0;небеса;0;1;;1
860;ухо;с;1;1;0;0;0;0;уши;0;1;;1
1447;чудо;с;1;1;0;0;0;0;чудеса;0;1;;1
1528;вино;с;1;1;0;0;0;0;вины;0;1;;1
1782;крыло;с;1;1;0;0;0;0;крылья;0;1;;1
66;жизнь;ж;1;1;1;0;1;0;;0;1;;1
74;рука;ж;1;1;1;0;1;0;;0;1;;1
87;работа;ж;1;1;1;0;1;0;;0;1;;1
@ -73,7 +138,6 @@
292;улица;ж;1;1;1;0;1;0;;0;1;;1
299;мысль;ж;1;1;1;0;1;0;;0;1;;1
300;дорога;ж;1;1;1;0;1;0;;0;1;;1
301;мать;ж;1;1;0;0;0;0;матери;1;0;;1
309;мама;ж;1;1;1;0;1;0;;1;0;;1
315;школа;ж;1;1;1;0;1;0;;0;1;;1
318;цель;ж;1;1;1;0;1;0;;0;1;;1
@ -144,7 +208,6 @@
808;площадь;ж;1;1;1;0;1;0;;0;1;;1
823;линия;ж;1;1;1;0;1;0;;0;1;;1
830;губа;ж;1;1;1;0;1;0;;0;1;;1
834;дочь;ж;1;1;0;0;0;0;дочери;1;0;;1
836;среда;ж;1;1;1;0;1;0;;0;1;;1
862;грудь;ж;1;1;1;0;1;0;;0;1;;1
869;услуга;ж;1;1;1;0;1;0;;0;1;;1
@ -313,36 +376,23 @@
1985;забота;ж;1;1;1;0;1;0;;0;1;;1
28;год;м;1;1;1;0;1;1;;0;1;;1
39;человек;м;1;1;1;0;1;0;люди;1;0;;1
71;день;м;1;1;0;1;1;0;;0;1;;1
106;друг;м;1;1;0;0;0;0;друзья;1;0;;1
110;глаз;м;1;1;0;0;0;1;;0;1;;1
114;вопрос;м;1;1;1;0;1;0;;0;1;;1
118;дом;м;1;1;0;0;0;1;;0;1;;1
128;мир;м;1;1;1;0;1;0;;0;1;;1
137;ребенок;м;1;1;0;0;0;0;ребята;1;0;;1
142;конец;м;1;1;0;1;1;0;;0;1;;1
145;вид;м;1;1;1;0;1;0;;0;1;;1
156;город;м;1;1;0;0;0;1;;0;1;;1
192;отец;м;1;1;0;1;1;0;;1;0;;1
200;час;м;1;1;1;0;1;0;;0;1;;1
212;образ;м;1;1;1;0;1;0;;0;1;;1
217;закон;м;1;1;1;0;1;0;;0;1;;1
220;бог;м;1;1;1;0;1;0;;1;0;;1
221;голос;м;1;1;0;0;0;1;;0;1;;1
235;результат;м;1;1;1;0;1;0;;0;1;;1
237;стол;м;1;1;1;0;1;0;;0;1;;1
252;народ;м;1;1;1;0;1;0;;0;1;;1
260;процесс;м;1;1;1;0;1;0;;0;1;;1
261;суд;м;1;1;1;0;1;0;;0;1;;1
274;путь;м;1;1;1;0;1;0;;0;1;;1
280;уровень;м;1;1;0;1;1;0;;0;1;;1
295;вечер;м;1;1;0;0;0;1;;0;1;;1
303;месяц;м;1;1;1;0;1;0;;0;1;;1
306;язык;м;1;1;1;0;1;0;;0;1;;1
308;взгляд;м;1;1;1;0;1;0;;0;1;;1
314;век;м;1;1;0;0;0;1;;0;1;;1
326;президент;м;1;1;1;0;1;0;;1;0;;1
328;порядок;м;1;1;0;1;1;0;;0;1;;1
329;момент;м;1;1;1;0;1;0;;0;1;;1
330;театр;м;1;1;1;0;1;0;;0;1;;1
343;рубль;м;1;1;1;0;1;0;;0;1;;1
@ -350,7 +400,6 @@
354;орган;м;1;1;1;0;1;0;;0;1;;1
357;труд;м;1;1;1;0;1;0;;0;1;;1
360;сын;м;1;1;1;0;1;0;;1;0;;1
365;рынок;м;1;1;0;1;1;0;;0;1;;1
374;разговор;м;1;1;1;0;1;0;;0;1;;1
394;центр;м;1;1;1;0;1;0;;0;1;;1
396;ответ;м;1;1;1;0;1;0;;0;1;;1
@ -370,26 +419,20 @@
479;проект;м;1;1;1;0;1;0;;0;1;;1
484;директор;м;1;1;1;0;1;1;;1;0;;1
494;срок;м;1;1;1;0;1;0;;0;1;;1
495;палец;м;1;1;0;1;0;0;;0;1;;1
496;опыт;м;1;1;1;0;1;0;;0;1;;1
512;лес;м;1;1;0;0;0;1;;0;1;;1
517;состав;м;1;1;1;0;1;0;;0;1;;1
522;член;м;1;1;1;0;1;0;;1;1;;1
528;объект;м;1;1;1;0;1;0;;0;1;;1
529;зал;м;1;1;1;0;1;0;;0;1;;1
536;период;м;1;1;1;0;1;0;;0;1;;1
538;шаг;м;1;1;1;0;1;0;;0;1;;1
542;брат;м;1;1;0;0;0;0;братья;1;0;;1
548;номер;м;1;1;0;0;1;1;;0;1;;1
550;пример;м;1;1;1;0;1;0;;0;1;;1
553;гражданин;м;1;1;0;0;0;0;граждане;1;0;;1
557;начальник;м;1;1;1;0;1;0;;1;0;;1
559;рост;м;1;1;1;0;1;0;;0;1;;1
563;принцип;м;1;1;1;0;1;0;;0;1;;1
569;метод;м;1;1;1;0;1;0;;0;1;;1
570;тип;м;1;1;1;0;1;0;;0;1;;1
571;фильм;м;1;1;1;0;1;0;;0;1;;1
576;край;м;1;1;0;0;0;0;края;0;1;;1
579;гость;м;1;1;1;0;1;0;;1;0;;1
588;характер;м;1;1;1;0;1;0;;0;1;;1
593;размер;м;1;1;1;0;1;0;;0;1;;1
@ -400,24 +443,20 @@
609;герой;м;1;1;1;0;1;0;;1;0;;1
612;доллар;м;1;1;1;0;1;0;;0;1;;1
616;пол;м;1;1;1;0;1;0;;0;1;;1
625;рисунок;м;1;1;0;1;1;0;;0;1;;1
629;банк;м;1;1;1;0;1;0;;0;1;;1
650;союз;м;1;1;1;0;1;0;;0;1;;1
653;врач;м;1;1;1;0;1;0;;1;0;;1
655;договор;м;1;1;1;0;1;1;;0;1;;1
661;факт;м;1;1;1;0;1;0;;0;1;;1
664;хозяин;м;1;1;0;0;0;0;хозяева;1;0;;1
676;телефон;м;1;1;1;0;1;0;;0;1;;1
681;двор;м;1;1;1;0;1;0;;0;1;;1
685;писатель;м;1;1;1;0;1;0;;1;0;;1
686;самолёт;м;1;1;1;0;1;0;;0;1;;1
687;объём;м;1;1;1;0;1;0;;0;1;;1
689;род;м;1;1;1;0;1;1;;0;1;;1
692;берег;м;1;1;0;0;0;1;;0;1;;1
693;спектакль;м;1;1;1;0;1;0;;0;1;;1
695;способ;м;1;1;1;0;1;0;;0;1;;1
696;завод;м;1;1;1;0;1;0;;0;1;;1
697;цвет;м;1;1;0;0;0;1;;0;1;;1
699;журнал;м;1;1;1;0;1;0;;0;1;;1
700;руководитель;м;1;1;1;0;1;0;;1;0;;1
701;специалист;м;1;1;1;0;1;0;;1;0;;1
@ -430,12 +469,10 @@
736;стих;м;1;1;1;0;1;0;;0;1;;1
737;автомобиль;м;1;1;1;0;1;0;;0;1;;1
747;поэт;м;1;1;1;0;1;0;;1;0;;1
752;господин;м;1;1;0;0;0;0;господа;1;0;;1
756;предмет;м;1;1;1;0;1;0;;0;1;;1
759;вариант;м;1;1;1;0;1;0;;0;1;;1
760;министр;м;1;1;1;0;1;0;;1;0;;1
765;дух;м;1;1;1;0;1;0;;0;1;;1
769;сон;м;1;1;0;1;1;0;;0;1;;1
772;ум;м;1;1;1;0;1;0;;0;1;;1
773;повод;м;1;1;1;0;1;0;;0;1;;1
774;старик;м;1;1;1;0;1;0;;1;0;;1
@ -449,7 +486,6 @@
801;текст;м;1;1;1;0;1;0;;0;1;;1
812;возраст;м;1;1;1;0;1;0;;0;1;;1
815;участник;м;1;1;1;0;1;0;;1;0;;1
816;участок;м;1;1;0;1;1;0;;0;1;;1
818;пункт;м;1;1;1;0;1;0;;0;1;;1
826;папа;м;1;1;1;0;1;0;;1;0;;1
829;доктор;м;1;1;1;0;1;1;;1;0;;1
@ -457,10 +493,7 @@
839;солдат;м;1;1;1;0;1;0;;1;0;;1
840;художник;м;1;1;1;0;1;0;;1;0;;1
842;волос;м;1;1;1;0;1;0;;0;1;;1
847;ветер;м;1;1;0;1;1;1;;0;1;;1
849;парень;м;1;1;0;1;1;0;;1;0;;1
853;генерал;м;1;1;1;0;1;0;;1;0;;1
855;огонь;м;1;1;0;1;1;0;;0;1;;1
863;нос;м;1;1;1;0;1;0;;0;1;;1
868;страх;м;1;1;1;0;1;0;;0;1;;1
877;продукт;м;1;1;1;0;1;0;;0;1;;1
@ -469,17 +502,13 @@
884;сад;м;1;1;1;0;1;0;;0;1;;1
888;сотрудник;м;1;1;1;0;1;0;;1;0;;1
893;курс;м;1;1;1;0;1;0;;0;1;;1
901;рот;м;1;1;0;1;1;0;;0;1;;1
910;камень;м;1;1;0;1;1;0;;0;1;;1
913;рассказ;м;1;1;1;0;1;0;;0;1;;1
914;контроль;м;1;1;1;0;1;0;;0;1;;1
934;фонд;м;1;1;1;0;1;0;;0;1;;1
939;лист;м;1;1;1;0;1;0;;0;1;;1
950;бюджет;м;1;1;1;0;1;0;;0;1;;1
953;снег;м;1;1;0;0;0;1;;0;1;;1
956;мужик;м;1;1;1;0;1;0;;1;0;;1
959;элемент;м;1;1;1;0;1;0;;0;1;;1
962;немец;м;1;1;0;1;1;0;;1;0;;1
965;источник;м;1;1;1;0;1;0;;0;1;;1
977;выбор;м;1;1;1;0;1;0;;0;1;;1
981;итог;м;1;1;1;0;1;0;;0;1;;1
@ -497,7 +526,6 @@
1049;праздник;м;1;1;1;0;1;0;;0;1;;1
1052;читатель;м;1;1;1;0;1;0;;1;0;;1
1055;актер;м;1;1;1;0;1;0;;1;0;;1
1060;учитель;м;1;1;0;0;0;1;;1;0;;1
1061;акт;м;1;1;1;0;1;0;;0;1;;1
1070;показатель;м;1;1;1;0;1;0;;0;1;;1
1072;корабль;м;1;1;1;0;1;0;;0;1;;1
@ -522,7 +550,6 @@
1136;чай;м;1;1;1;0;1;0;;0;1;;1
1137;режим;м;1;1;1;0;1;0;;0;1;;1
1139;вирус;м;1;1;1;0;1;0;;0;1;;1
1150;десяток;м;1;1;0;1;1;0;;0;1;;1
1153;студент;м;1;1;1;0;1;0;;1;0;;1
1157;поиск;м;1;1;1;0;1;0;;0;1;;1
1160;налог;м;1;1;1;0;1;0;;0;1;;1
@ -539,11 +566,9 @@
1239;артист;м;1;1;1;0;1;0;;1;0;;1
1246;сосед;м;1;1;1;0;1;0;;1;0;;1
1251;субъект;м;1;1;1;0;1;0;;0;1;;1
1254;список;м;1;1;0;1;1;0;;0;1;;1
1256;журналист;м;1;1;1;0;1;0;;1;0;;1
1257;май;м;1;1;1;0;1;0;;0;1;;1
1269;долг;м;1;1;1;0;1;0;;0;1;;1
1278;остров;м;1;1;0;0;0;1;;0;1;;1
1280;противник;м;1;1;1;0;1;0;;1;0;;1
1288;житель;м;1;1;1;0;1;0;;1;0;;1
1300;храм;м;1;1;1;0;1;0;;0;1;;1
@ -553,7 +578,6 @@
1313;университет;м;1;1;1;0;1;0;;0;1;;1
1318;адрес;м;1;1;1;0;1;1;;0;1;;1
1319;декабрь;м;1;1;1;0;1;0;;0;1;;1
1324;цветок;м;1;1;0;1;1;0;;0;1;;1
1327;лидер;м;1;1;1;0;1;0;;0;1;;1
1328;октябрь;м;1;1;1;0;1;0;;0;1;;1
1332;сентябрь;м;1;1;1;0;1;0;;0;1;;1
@ -570,7 +594,6 @@
1396;март;м;1;1;1;0;1;0;;0;1;;1
1398;клиент;м;1;1;1;0;1;0;;1;0;;1
1403;фронт;м;1;1;1;0;1;0;;0;1;;1
1406;стул;м;1;1;0;0;1;0;стулья;0;1;;1
1420;музей;м;1;1;1;0;1;0;;0;1;;1
1423;след;м;1;1;1;0;1;0;;0;1;;1
1425;полковник;м;1;1;1;0;1;0;;1;0;;1
@ -586,7 +609,6 @@
1474;еврей;м;1;1;1;0;1;0;;1;0;;1
1477;июнь;м;1;1;1;0;1;0;;0;1;;1
1490;дождь;м;1;1;1;0;1;0;;0;1;;1
1505;образец;м;1;1;0;1;1;0;;0;1;;1
1518;костюм;м;1;1;1;0;1;0;;0;1;;1
1534;коллега;м;1;1;1;0;1;0;;1;0;;1
1535;организм;м;1;1;1;0;1;0;;0;1;;1
@ -598,24 +620,17 @@
1565;спор;м;1;1;1;0;1;0;;0;1;;1
1569;вкус;м;1;1;1;0;1;0;;0;1;;1
1571;признак;м;1;1;1;0;1;0;;0;1;;1
1574;американец;м;1;1;0;1;1;0;;1;0;;1
1575;лоб;м;1;1;0;1;1;0;;0;1;;1
1584;ключ;м;1;1;1;0;1;0;;0;1;;1
1589;слой;м;1;1;1;0;1;0;;0;1;;1
1590;бок;м;1;1;0;0;0;1;;0;1;;1
1595;июль;м;1;1;1;0;1;0;;0;1;;1
1597;перевод;м;1;1;1;0;1;0;;0;1;;1
1598;секретарь;м;1;1;1;0;1;0;;1;0;;1
1599;кусок;м;1;1;0;1;1;0;;0;1;;1
1601;слух;м;1;1;1;0;1;0;;0;1;;1
1606;звонок;м;1;1;0;1;1;0;;0;1;;1
1613;чиновник;м;1;1;1;0;1;0;;1;0;;1
1622;билет;м;1;1;1;0;1;0;;0;1;;1
1624;подарок;м;1;1;0;1;1;0;;0;1;;1
1626;ящик;м;1;1;1;0;1;0;;0;1;;1
1627;конкурс;м;1;1;1;0;1;0;;0;1;;1
1637;царь;м;1;1;1;0;1;0;;1;0;;1
1639;смех;м;1;1;0;0;0;1;;0;1;;1
1650;блок;м;1;1;1;0;1;0;;0;1;;1
1656;портрет;м;1;1;1;0;1;0;;0;1;;1
1664;стакан;м;1;1;1;0;1;0;;0;1;;1
@ -659,42 +674,33 @@
1854;эксперт;м;1;1;1;0;1;0;;1;0;;1
1861;автобус;м;1;1;1;0;1;0;;0;1;;1
1866;кадр;м;1;1;1;0;1;0;;1;1;;1
1874;лев;м;1;1;0;1;1;0;;1;0;;1
1876;порог;м;1;1;1;0;1;0;;0;1;;1
1881;ремонт;м;1;1;1;0;1;0;;0;1;;1
1891;памятник;м;1;1;1;0;1;0;;0;1;;1
1892;корень;м;1;1;0;1;1;0;;0;1;;1
1905;штаб;м;1;1;1;0;1;0;;0;1;;1
1907;владелец;м;1;1;0;1;1;0;;1;0;;1
1908;компьютер;м;1;1;1;0;1;0;;0;1;;1
1911;инженер;м;1;1;1;0;1;0;;1;0;;1
1926;выпуск;м;1;1;1;0;1;0;;0;1;;1
1927;кулак;м;1;1;1;0;1;0;;0;1;;1
1928;лед;м;1;1;0;1;1;0;;0;1;;1
1938;корпус;м;1;1;1;0;1;1;;0;1;;1
1940;недостаток;м;1;1;0;1;1;0;;0;1;;1
1942;сапог;м;1;1;1;0;1;0;;0;1;;1
1945;талант;м;1;1;1;0;1;0;;0;1;;1
1967;сбор;м;1;1;1;0;1;0;;0;1;;1
1968;штат;м;1;1;1;0;1;0;;0;1;;1
1970;следователь;м;1;1;1;0;1;0;;1;0;;1
1972;мешок;м;1;1;0;1;1;0;;0;1;;1
1976;куст;м;1;1;1;0;1;0;;0;1;;1
1977;отказ;м;1;1;1;0;1;0;;0;1;;1
1979;замок;м;1;1;1;0;1;0;;0;1;;1
1982;редактор;м;1;1;1;0;1;0;;1;0;;1
1984;дворец;м;1;1;0;1;1;0;;0;1;;1
1990;диван;м;1;1;1;0;1;0;;0;1;;1
1994;столик;м;1;1;1;0;1;0;;0;1;;1
1997;эксперимент;м;1;1;1;0;1;0;;0;1;;1
52;время;с;1;1;0;0;1;0;времена;0;1;;1
65;дело;с;1;1;1;0;1;0;;0;1;;1
94;слово;с;1;1;1;0;1;0;;0;1;;1
98;место;с;1;1;1;0;1;0;;0;1;;1
104;лицо;с;1;1;1;0;1;0;;0;1;;1
162;отношение;с;1;1;1;0;1;0;;0;1;;1
203;право;с;1;1;1;0;1;0;;0;1;;1
239;имя;с;1;1;0;0;1;0;имена;0;1;;1
246;число;с;1;1;1;0;1;0;;0;1;;1
259;развитие;с;1;1;1;0;1;0;;0;1;;1
265;условие;с;1;1;1;0;1;0;;0;1;;1
@ -718,14 +724,12 @@
432;сердце;с;1;1;1;0;1;0;;0;1;;1
433;движение;с;1;1;1;0;1;0;;0;1;;1
437;чувство;с;1;1;1;0;1;0;;0;1;;1
452;плечо;с;1;1;0;0;1;0;плечи;0;1;;1
527;событие;с;1;1;1;0;1;0;;0;1;;1
533;значение;с;1;1;1;0;1;0;;0;1;;1
543;искусство;с;1;1;1;0;1;0;;0;1;;1
552;исследование;с;1;1;1;0;1;0;;0;1;;1
590;использование;с;1;1;1;0;1;0;;0;1;;1
595;образование;с;1;1;1;0;1;0;;0;1;;1
600;небо;с;1;1;0;0;1;0;небеса;0;1;;1
605;участие;с;1;1;1;0;1;0;;0;1;;1
619;поле;с;1;1;1;0;1;0;;0;1;;1
621;изменение;с;1;1;1;0;1;0;;0;1;;1
@ -747,7 +751,6 @@
851;зрение;с;1;1;1;0;1;0;;0;1;;1
858;понятие;с;1;1;1;0;1;0;;0;1;;1
859;строительство;с;1;1;1;0;1;0;;0;1;;1
860;ухо;с;1;1;0;0;1;0;уши;0;1;;1
873;содержание;с;1;1;1;0;1;0;;0;1;;1
895;предложение;с;1;1;1;0;1;0;;0;1;;1
907;отсутствие;с;1;1;1;0;1;0;;0;1;;1
@ -789,10 +792,8 @@
1416;повышение;с;1;1;1;0;1;0;;0;1;;1
1427;сомнение;с;1;1;1;0;1;0;;0;1;;1
1428;понимание;с;1;1;1;0;1;0;;0;1;;1
1447;чудо;с;1;1;0;0;1;0;чудеса;0;1;;1
1457;настроение;с;1;1;1;0;1;0;;0;1;;1
1465;преступление;с;1;1;1;0;1;0;;0;1;;1
1528;вино;с;1;1;0;0;1;0;вины;0;1;;1
1529;воспоминание;с;1;1;1;0;1;0;;0;1;;1
1538;учреждение;с;1;1;1;0;1;0;;0;1;;1
1540;открытие;с;1;1;1;0;1;0;;0;1;;1
@ -820,7 +821,6 @@
1771;разрешение;с;1;1;1;0;1;0;;0;1;;1
1772;воздействие;с;1;1;1;0;1;0;;0;1;;1
1778;следствие;с;1;1;1;0;1;0;;0;1;;1
1782;крыло;с;1;1;0;0;1;0;крылья;0;1;;1
1794;присутствие;с;1;1;1;0;1;0;;0;1;;1
1802;достоинство;с;1;1;1;0;1;0;;0;1;;1
1816;испытание;с;1;1;1;0;1;0;;0;1;;1

1 Номер Слово Род / число Есть единственное число Есть множественное число Есть стандартное множественное число Есть стандартное или альтернативное множественное число, без удаления гласных Есть стандартное множественное число, полученное путем удаления последней гласной из базы Есть стандартное или альтернативное множественное число, полученное путем удаления последней гласной из базы Есть стандартное окончание множественного числа Есть альтернативное окончание множественного числа "а/я" Специальные мн. числа Может быть одушевленным Может быть неодушевленным Специальная форма падежа 1
2 307 любовь ж 1 0 0 0 0 0 0 1 1
3 338 помощь ж 1 0 0 0 0 0 0 1 1
4 589 борьба ж 1 0 0 0 0 0 0 1 1
40 1791 давление с 1 0 0 0 0 0 0 1 1
41 1971 жильё с 1 0 0 0 0 0 0 1 1
42 1987 пиво с 1 0 0 0 0 0 0 1 1
43 301 мать ж 1 1 0 0 0 0 матери 1 0 1
44 834 дочь ж 1 1 0 0 0 0 дочери 1 0 1
45 71 день м 1 1 0 1 1 0 0 1 1
46 106 друг м 1 1 0 0 0 0 друзья 1 0 1
47 110 глаз м 1 1 1 0 0 1 0 1 1
48 118 дом м 1 1 1 0 0 1 0 1 1
49 137 ребенок м 1 1 0 0 0 0 ребята 1 0 1
50 142 конец м 1 1 0 1 1 0 0 1 1
51 156 город м 1 1 1 0 0 1 0 1 1
52 192 отец м 1 1 0 1 1 0 1 0 1
53 221 голос м 1 1 1 0 0 1 0 1 1
54 280 уровень м 1 1 0 1 1 0 0 1 1
55 295 вечер м 1 1 1 0 0 1 0 1 1
56 314 век м 1 1 1 0 0 1 0 1 1
57 328 порядок м 1 1 0 1 1 0 0 1 1
58 365 рынок м 1 1 0 1 1 0 0 1 1
59 495 палец м 1 1 0 1 0 0 0 1 1
60 512 лес м 1 1 1 0 0 1 0 1 1
61 542 брат м 1 1 0 0 0 0 братья 1 0 1
62 548 номер м 1 1 1 0 1 1 0 1 1
63 553 гражданин м 1 1 0 0 0 0 граждане 1 0 1
64 576 край м 1 1 1 0 0 1 0 1 1
65 625 рисунок м 1 1 0 1 1 0 0 1 1
66 664 хозяин м 1 1 0 0 0 0 хозяева 1 0 1
67 692 берег м 1 1 1 0 0 1 0 1 1
68 697 цвет м 1 1 1 0 0 1 0 1 1
69 752 господин м 1 1 0 0 0 0 господа 1 0 1
70 769 сон м 1 1 0 1 1 0 0 1 1
71 816 участок м 1 1 0 1 1 0 0 1 1
72 847 ветер м 1 1 0 1 1 1 0 1 1
73 849 парень м 1 1 0 1 1 0 1 0 1
74 855 огонь м 1 1 0 1 1 0 0 1 1
75 901 рот м 1 1 0 1 1 0 0 1 1
76 910 камень м 1 1 0 1 1 0 0 1 1
77 953 снег м 1 1 1 0 0 1 0 1 1
78 962 немец м 1 1 0 1 1 0 1 0 1
79 1060 учитель м 1 1 1 0 0 1 1 0 1
80 1150 десяток м 1 1 0 1 1 0 0 1 1
81 1254 список м 1 1 0 1 1 0 0 1 1
82 1278 остров м 1 1 1 0 0 1 0 1 1
83 1324 цветок м 1 1 0 1 1 0 0 1 1
84 1406 стул м 1 1 0 0 1 0 стулья 0 1 1
85 1505 образец м 1 1 0 1 1 0 0 1 1
86 1574 американец м 1 1 0 1 1 0 1 0 1
87 1575 лоб м 1 1 0 1 1 0 0 1 1
88 1590 бок м 1 1 1 0 0 1 0 1 1
89 1599 кусок м 1 1 0 1 1 0 0 1 1
90 1606 звонок м 1 1 0 1 1 0 0 1 1
91 1624 подарок м 1 1 0 1 1 0 0 1 1
92 1639 смех м 1 1 1 0 0 1 0 1 1
93 1874 лев м 1 1 0 1 1 0 1 0 1
94 1892 корень м 1 1 0 1 1 0 0 1 1
95 1907 владелец м 1 1 0 1 1 0 1 0 1
96 1928 лед м 1 1 0 1 1 0 0 1 1
97 1940 недостаток м 1 1 0 1 1 0 0 1 1
98 1972 мешок м 1 1 0 1 1 0 0 1 1
99 1984 дворец м 1 1 0 1 1 0 0 1 1
100 52 время с 1 1 0 0 0 0 времена 0 1 1
101 239 имя с 1 1 0 0 0 0 имена 0 1 1
102 452 плечо с 1 1 0 0 1 0 плечи 0 1 1
103 600 небо с 1 1 0 0 0 0 небеса 0 1 1
104 860 ухо с 1 1 0 0 0 0 уши 0 1 1
105 1447 чудо с 1 1 0 0 0 0 чудеса 0 1 1
106 1528 вино с 1 1 0 0 0 0 вины 0 1 1
107 1782 крыло с 1 1 0 0 0 0 крылья 0 1 1
108 66 жизнь ж 1 1 1 0 1 0 0 1 1
109 74 рука ж 1 1 1 0 1 0 0 1 1
110 87 работа ж 1 1 1 0 1 0 0 1 1
138 292 улица ж 1 1 1 0 1 0 0 1 1
139 299 мысль ж 1 1 1 0 1 0 0 1 1
140 300 дорога ж 1 1 1 0 1 0 0 1 1
301 мать ж 1 1 0 0 0 0 матери 1 0 1
141 309 мама ж 1 1 1 0 1 0 1 0 1
142 315 школа ж 1 1 1 0 1 0 0 1 1
143 318 цель ж 1 1 1 0 1 0 0 1 1
208 808 площадь ж 1 1 1 0 1 0 0 1 1
209 823 линия ж 1 1 1 0 1 0 0 1 1
210 830 губа ж 1 1 1 0 1 0 0 1 1
834 дочь ж 1 1 0 0 0 0 дочери 1 0 1
211 836 среда ж 1 1 1 0 1 0 0 1 1
212 862 грудь ж 1 1 1 0 1 0 0 1 1
213 869 услуга ж 1 1 1 0 1 0 0 1 1
376 1985 забота ж 1 1 1 0 1 0 0 1 1
377 28 год м 1 1 1 0 1 1 0 1 1
378 39 человек м 1 1 1 0 1 0 люди 1 0 1
71 день м 1 1 0 1 1 0 0 1 1
106 друг м 1 1 0 0 0 0 друзья 1 0 1
110 глаз м 1 1 0 0 0 1 0 1 1
379 114 вопрос м 1 1 1 0 1 0 0 1 1
118 дом м 1 1 0 0 0 1 0 1 1
380 128 мир м 1 1 1 0 1 0 0 1 1
137 ребенок м 1 1 0 0 0 0 ребята 1 0 1
142 конец м 1 1 0 1 1 0 0 1 1
381 145 вид м 1 1 1 0 1 0 0 1 1
156 город м 1 1 0 0 0 1 0 1 1
192 отец м 1 1 0 1 1 0 1 0 1
382 200 час м 1 1 1 0 1 0 0 1 1
383 212 образ м 1 1 1 0 1 0 0 1 1
384 217 закон м 1 1 1 0 1 0 0 1 1
385 220 бог м 1 1 1 0 1 0 1 0 1
221 голос м 1 1 0 0 0 1 0 1 1
386 235 результат м 1 1 1 0 1 0 0 1 1
387 237 стол м 1 1 1 0 1 0 0 1 1
388 252 народ м 1 1 1 0 1 0 0 1 1
389 260 процесс м 1 1 1 0 1 0 0 1 1
390 261 суд м 1 1 1 0 1 0 0 1 1
391 274 путь м 1 1 1 0 1 0 0 1 1
280 уровень м 1 1 0 1 1 0 0 1 1
295 вечер м 1 1 0 0 0 1 0 1 1
392 303 месяц м 1 1 1 0 1 0 0 1 1
393 306 язык м 1 1 1 0 1 0 0 1 1
394 308 взгляд м 1 1 1 0 1 0 0 1 1
314 век м 1 1 0 0 0 1 0 1 1
395 326 президент м 1 1 1 0 1 0 1 0 1
328 порядок м 1 1 0 1 1 0 0 1 1
396 329 момент м 1 1 1 0 1 0 0 1 1
397 330 театр м 1 1 1 0 1 0 0 1 1
398 343 рубль м 1 1 1 0 1 0 0 1 1
400 354 орган м 1 1 1 0 1 0 0 1 1
401 357 труд м 1 1 1 0 1 0 0 1 1
402 360 сын м 1 1 1 0 1 0 1 0 1
365 рынок м 1 1 0 1 1 0 0 1 1
403 374 разговор м 1 1 1 0 1 0 0 1 1
404 394 центр м 1 1 1 0 1 0 0 1 1
405 396 ответ м 1 1 1 0 1 0 0 1 1
419 479 проект м 1 1 1 0 1 0 0 1 1
420 484 директор м 1 1 1 0 1 1 1 0 1
421 494 срок м 1 1 1 0 1 0 0 1 1
495 палец м 1 1 0 1 0 0 0 1 1
422 496 опыт м 1 1 1 0 1 0 0 1 1
512 лес м 1 1 0 0 0 1 0 1 1
423 517 состав м 1 1 1 0 1 0 0 1 1
424 522 член м 1 1 1 0 1 0 1 1 1
425 528 объект м 1 1 1 0 1 0 0 1 1
426 529 зал м 1 1 1 0 1 0 0 1 1
427 536 период м 1 1 1 0 1 0 0 1 1
428 538 шаг м 1 1 1 0 1 0 0 1 1
542 брат м 1 1 0 0 0 0 братья 1 0 1
548 номер м 1 1 0 0 1 1 0 1 1
429 550 пример м 1 1 1 0 1 0 0 1 1
553 гражданин м 1 1 0 0 0 0 граждане 1 0 1
430 557 начальник м 1 1 1 0 1 0 1 0 1
431 559 рост м 1 1 1 0 1 0 0 1 1
432 563 принцип м 1 1 1 0 1 0 0 1 1
433 569 метод м 1 1 1 0 1 0 0 1 1
434 570 тип м 1 1 1 0 1 0 0 1 1
435 571 фильм м 1 1 1 0 1 0 0 1 1
576 край м 1 1 0 0 0 0 края 0 1 1
436 579 гость м 1 1 1 0 1 0 1 0 1
437 588 характер м 1 1 1 0 1 0 0 1 1
438 593 размер м 1 1 1 0 1 0 0 1 1
443 609 герой м 1 1 1 0 1 0 1 0 1
444 612 доллар м 1 1 1 0 1 0 0 1 1
445 616 пол м 1 1 1 0 1 0 0 1 1
625 рисунок м 1 1 0 1 1 0 0 1 1
446 629 банк м 1 1 1 0 1 0 0 1 1
447 650 союз м 1 1 1 0 1 0 0 1 1
448 653 врач м 1 1 1 0 1 0 1 0 1
449 655 договор м 1 1 1 0 1 1 0 1 1
450 661 факт м 1 1 1 0 1 0 0 1 1
664 хозяин м 1 1 0 0 0 0 хозяева 1 0 1
451 676 телефон м 1 1 1 0 1 0 0 1 1
452 681 двор м 1 1 1 0 1 0 0 1 1
453 685 писатель м 1 1 1 0 1 0 1 0 1
454 686 самолёт м 1 1 1 0 1 0 0 1 1
455 687 объём м 1 1 1 0 1 0 0 1 1
456 689 род м 1 1 1 0 1 1 0 1 1
692 берег м 1 1 0 0 0 1 0 1 1
457 693 спектакль м 1 1 1 0 1 0 0 1 1
458 695 способ м 1 1 1 0 1 0 0 1 1
459 696 завод м 1 1 1 0 1 0 0 1 1
697 цвет м 1 1 0 0 0 1 0 1 1
460 699 журнал м 1 1 1 0 1 0 0 1 1
461 700 руководитель м 1 1 1 0 1 0 1 0 1
462 701 специалист м 1 1 1 0 1 0 1 0 1
469 736 стих м 1 1 1 0 1 0 0 1 1
470 737 автомобиль м 1 1 1 0 1 0 0 1 1
471 747 поэт м 1 1 1 0 1 0 1 0 1
752 господин м 1 1 0 0 0 0 господа 1 0 1
472 756 предмет м 1 1 1 0 1 0 0 1 1
473 759 вариант м 1 1 1 0 1 0 0 1 1
474 760 министр м 1 1 1 0 1 0 1 0 1
475 765 дух м 1 1 1 0 1 0 0 1 1
769 сон м 1 1 0 1 1 0 0 1 1
476 772 ум м 1 1 1 0 1 0 0 1 1
477 773 повод м 1 1 1 0 1 0 0 1 1
478 774 старик м 1 1 1 0 1 0 1 0 1
486 801 текст м 1 1 1 0 1 0 0 1 1
487 812 возраст м 1 1 1 0 1 0 0 1 1
488 815 участник м 1 1 1 0 1 0 1 0 1
816 участок м 1 1 0 1 1 0 0 1 1
489 818 пункт м 1 1 1 0 1 0 0 1 1
490 826 папа м 1 1 1 0 1 0 1 0 1
491 829 доктор м 1 1 1 0 1 1 1 0 1
493 839 солдат м 1 1 1 0 1 0 1 0 1
494 840 художник м 1 1 1 0 1 0 1 0 1
495 842 волос м 1 1 1 0 1 0 0 1 1
847 ветер м 1 1 0 1 1 1 0 1 1
849 парень м 1 1 0 1 1 0 1 0 1
496 853 генерал м 1 1 1 0 1 0 1 0 1
855 огонь м 1 1 0 1 1 0 0 1 1
497 863 нос м 1 1 1 0 1 0 0 1 1
498 868 страх м 1 1 1 0 1 0 0 1 1
499 877 продукт м 1 1 1 0 1 0 0 1 1
502 884 сад м 1 1 1 0 1 0 0 1 1
503 888 сотрудник м 1 1 1 0 1 0 1 0 1
504 893 курс м 1 1 1 0 1 0 0 1 1
901 рот м 1 1 0 1 1 0 0 1 1
910 камень м 1 1 0 1 1 0 0 1 1
505 913 рассказ м 1 1 1 0 1 0 0 1 1
506 914 контроль м 1 1 1 0 1 0 0 1 1
507 934 фонд м 1 1 1 0 1 0 0 1 1
508 939 лист м 1 1 1 0 1 0 0 1 1
509 950 бюджет м 1 1 1 0 1 0 0 1 1
953 снег м 1 1 0 0 0 1 0 1 1
510 956 мужик м 1 1 1 0 1 0 1 0 1
511 959 элемент м 1 1 1 0 1 0 0 1 1
962 немец м 1 1 0 1 1 0 1 0 1
512 965 источник м 1 1 1 0 1 0 0 1 1
513 977 выбор м 1 1 1 0 1 0 0 1 1
514 981 итог м 1 1 1 0 1 0 0 1 1
526 1049 праздник м 1 1 1 0 1 0 0 1 1
527 1052 читатель м 1 1 1 0 1 0 1 0 1
528 1055 актер м 1 1 1 0 1 0 1 0 1
1060 учитель м 1 1 0 0 0 1 1 0 1
529 1061 акт м 1 1 1 0 1 0 0 1 1
530 1070 показатель м 1 1 1 0 1 0 0 1 1
531 1072 корабль м 1 1 1 0 1 0 0 1 1
550 1136 чай м 1 1 1 0 1 0 0 1 1
551 1137 режим м 1 1 1 0 1 0 0 1 1
552 1139 вирус м 1 1 1 0 1 0 0 1 1
1150 десяток м 1 1 0 1 1 0 0 1 1
553 1153 студент м 1 1 1 0 1 0 1 0 1
554 1157 поиск м 1 1 1 0 1 0 0 1 1
555 1160 налог м 1 1 1 0 1 0 0 1 1
566 1239 артист м 1 1 1 0 1 0 1 0 1
567 1246 сосед м 1 1 1 0 1 0 1 0 1
568 1251 субъект м 1 1 1 0 1 0 0 1 1
1254 список м 1 1 0 1 1 0 0 1 1
569 1256 журналист м 1 1 1 0 1 0 1 0 1
570 1257 май м 1 1 1 0 1 0 0 1 1
571 1269 долг м 1 1 1 0 1 0 0 1 1
1278 остров м 1 1 0 0 0 1 0 1 1
572 1280 противник м 1 1 1 0 1 0 1 0 1
573 1288 житель м 1 1 1 0 1 0 1 0 1
574 1300 храм м 1 1 1 0 1 0 0 1 1
578 1313 университет м 1 1 1 0 1 0 0 1 1
579 1318 адрес м 1 1 1 0 1 1 0 1 1
580 1319 декабрь м 1 1 1 0 1 0 0 1 1
1324 цветок м 1 1 0 1 1 0 0 1 1
581 1327 лидер м 1 1 1 0 1 0 0 1 1
582 1328 октябрь м 1 1 1 0 1 0 0 1 1
583 1332 сентябрь м 1 1 1 0 1 0 0 1 1
594 1396 март м 1 1 1 0 1 0 0 1 1
595 1398 клиент м 1 1 1 0 1 0 1 0 1
596 1403 фронт м 1 1 1 0 1 0 0 1 1
1406 стул м 1 1 0 0 1 0 стулья 0 1 1
597 1420 музей м 1 1 1 0 1 0 0 1 1
598 1423 след м 1 1 1 0 1 0 0 1 1
599 1425 полковник м 1 1 1 0 1 0 1 0 1
609 1474 еврей м 1 1 1 0 1 0 1 0 1
610 1477 июнь м 1 1 1 0 1 0 0 1 1
611 1490 дождь м 1 1 1 0 1 0 0 1 1
1505 образец м 1 1 0 1 1 0 0 1 1
612 1518 костюм м 1 1 1 0 1 0 0 1 1
613 1534 коллега м 1 1 1 0 1 0 1 0 1
614 1535 организм м 1 1 1 0 1 0 0 1 1
620 1565 спор м 1 1 1 0 1 0 0 1 1
621 1569 вкус м 1 1 1 0 1 0 0 1 1
622 1571 признак м 1 1 1 0 1 0 0 1 1
1574 американец м 1 1 0 1 1 0 1 0 1
1575 лоб м 1 1 0 1 1 0 0 1 1
623 1584 ключ м 1 1 1 0 1 0 0 1 1
624 1589 слой м 1 1 1 0 1 0 0 1 1
1590 бок м 1 1 0 0 0 1 0 1 1
625 1595 июль м 1 1 1 0 1 0 0 1 1
626 1597 перевод м 1 1 1 0 1 0 0 1 1
627 1598 секретарь м 1 1 1 0 1 0 1 0 1
1599 кусок м 1 1 0 1 1 0 0 1 1
628 1601 слух м 1 1 1 0 1 0 0 1 1
1606 звонок м 1 1 0 1 1 0 0 1 1
629 1613 чиновник м 1 1 1 0 1 0 1 0 1
630 1622 билет м 1 1 1 0 1 0 0 1 1
1624 подарок м 1 1 0 1 1 0 0 1 1
631 1626 ящик м 1 1 1 0 1 0 0 1 1
632 1627 конкурс м 1 1 1 0 1 0 0 1 1
633 1637 царь м 1 1 1 0 1 0 1 0 1
1639 смех м 1 1 0 0 0 1 0 1 1
634 1650 блок м 1 1 1 0 1 0 0 1 1
635 1656 портрет м 1 1 1 0 1 0 0 1 1
636 1664 стакан м 1 1 1 0 1 0 0 1 1
674 1854 эксперт м 1 1 1 0 1 0 1 0 1
675 1861 автобус м 1 1 1 0 1 0 0 1 1
676 1866 кадр м 1 1 1 0 1 0 1 1 1
1874 лев м 1 1 0 1 1 0 1 0 1
677 1876 порог м 1 1 1 0 1 0 0 1 1
678 1881 ремонт м 1 1 1 0 1 0 0 1 1
679 1891 памятник м 1 1 1 0 1 0 0 1 1
1892 корень м 1 1 0 1 1 0 0 1 1
680 1905 штаб м 1 1 1 0 1 0 0 1 1
1907 владелец м 1 1 0 1 1 0 1 0 1
681 1908 компьютер м 1 1 1 0 1 0 0 1 1
682 1911 инженер м 1 1 1 0 1 0 1 0 1
683 1926 выпуск м 1 1 1 0 1 0 0 1 1
684 1927 кулак м 1 1 1 0 1 0 0 1 1
1928 лед м 1 1 0 1 1 0 0 1 1
685 1938 корпус м 1 1 1 0 1 1 0 1 1
1940 недостаток м 1 1 0 1 1 0 0 1 1
686 1942 сапог м 1 1 1 0 1 0 0 1 1
687 1945 талант м 1 1 1 0 1 0 0 1 1
688 1967 сбор м 1 1 1 0 1 0 0 1 1
689 1968 штат м 1 1 1 0 1 0 0 1 1
690 1970 следователь м 1 1 1 0 1 0 1 0 1
1972 мешок м 1 1 0 1 1 0 0 1 1
691 1976 куст м 1 1 1 0 1 0 0 1 1
692 1977 отказ м 1 1 1 0 1 0 0 1 1
693 1979 замок м 1 1 1 0 1 0 0 1 1
694 1982 редактор м 1 1 1 0 1 0 1 0 1
1984 дворец м 1 1 0 1 1 0 0 1 1
695 1990 диван м 1 1 1 0 1 0 0 1 1
696 1994 столик м 1 1 1 0 1 0 0 1 1
697 1997 эксперимент м 1 1 1 0 1 0 0 1 1
52 время с 1 1 0 0 1 0 времена 0 1 1
698 65 дело с 1 1 1 0 1 0 0 1 1
699 94 слово с 1 1 1 0 1 0 0 1 1
700 98 место с 1 1 1 0 1 0 0 1 1
701 104 лицо с 1 1 1 0 1 0 0 1 1
702 162 отношение с 1 1 1 0 1 0 0 1 1
703 203 право с 1 1 1 0 1 0 0 1 1
239 имя с 1 1 0 0 1 0 имена 0 1 1
704 246 число с 1 1 1 0 1 0 0 1 1
705 259 развитие с 1 1 1 0 1 0 0 1 1
706 265 условие с 1 1 1 0 1 0 0 1 1
724 432 сердце с 1 1 1 0 1 0 0 1 1
725 433 движение с 1 1 1 0 1 0 0 1 1
726 437 чувство с 1 1 1 0 1 0 0 1 1
452 плечо с 1 1 0 0 1 0 плечи 0 1 1
727 527 событие с 1 1 1 0 1 0 0 1 1
728 533 значение с 1 1 1 0 1 0 0 1 1
729 543 искусство с 1 1 1 0 1 0 0 1 1
730 552 исследование с 1 1 1 0 1 0 0 1 1
731 590 использование с 1 1 1 0 1 0 0 1 1
732 595 образование с 1 1 1 0 1 0 0 1 1
600 небо с 1 1 0 0 1 0 небеса 0 1 1
733 605 участие с 1 1 1 0 1 0 0 1 1
734 619 поле с 1 1 1 0 1 0 0 1 1
735 621 изменение с 1 1 1 0 1 0 0 1 1
751 851 зрение с 1 1 1 0 1 0 0 1 1
752 858 понятие с 1 1 1 0 1 0 0 1 1
753 859 строительство с 1 1 1 0 1 0 0 1 1
860 ухо с 1 1 0 0 1 0 уши 0 1 1
754 873 содержание с 1 1 1 0 1 0 0 1 1
755 895 предложение с 1 1 1 0 1 0 0 1 1
756 907 отсутствие с 1 1 1 0 1 0 0 1 1
792 1416 повышение с 1 1 1 0 1 0 0 1 1
793 1427 сомнение с 1 1 1 0 1 0 0 1 1
794 1428 понимание с 1 1 1 0 1 0 0 1 1
1447 чудо с 1 1 0 0 1 0 чудеса 0 1 1
795 1457 настроение с 1 1 1 0 1 0 0 1 1
796 1465 преступление с 1 1 1 0 1 0 0 1 1
1528 вино с 1 1 0 0 1 0 вины 0 1 1
797 1529 воспоминание с 1 1 1 0 1 0 0 1 1
798 1538 учреждение с 1 1 1 0 1 0 0 1 1
799 1540 открытие с 1 1 1 0 1 0 0 1 1
821 1771 разрешение с 1 1 1 0 1 0 0 1 1
822 1772 воздействие с 1 1 1 0 1 0 0 1 1
823 1778 следствие с 1 1 1 0 1 0 0 1 1
1782 крыло с 1 1 0 0 1 0 крылья 0 1 1
824 1794 присутствие с 1 1 1 0 1 0 0 1 1
825 1802 достоинство с 1 1 1 0 1 0 0 1 1
826 1816 испытание с 1 1 1 0 1 0 0 1 1

Binary file not shown.

View File

@ -77,10 +77,10 @@ SECOND_MALE_IFORM_INANIMATE;NC_SINGULAR;NGC_P1_NOMINATIVE;;бук
;;NGC_P4_ACCUSATIVE;;обвиняю бук
;;NGC_P5_INSTRUMENTAL;ом;говорю с буком
;;NGC_P6_PREPOSITIONAL;е;говорю о буке
;NC_PLURAL;NGC_P1_NOMINATIVE;и;буки
;NC_PLURAL;NGC_P1_NOMINATIVE;и, я;буки
;;NGC_P2_GENITIVE;ов;подарок для буков
;;NGC_P3_DATIVE;ам;подарок букам
;;NGC_P4_ACCUSATIVE;и;обвиняю буки
;;NGC_P4_ACCUSATIVE;и, я;обвиняю буки
;;NGC_P5_INSTRUMENTAL;ами;говорю с буками
;;NGC_P6_PREPOSITIONAL;ах;говорю о буках
SECOND_MALE_IFORM_ANIMATE;NC_SINGULAR;NGC_P1_NOMINATIVE;;рыбак
@ -89,7 +89,7 @@ SECOND_MALE_IFORM_ANIMATE;NC_SINGULAR;NGC_P1_NOMINATIVE;;рыбак
;;NGC_P4_ACCUSATIVE;а;обвиняю рыбака
;;NGC_P5_INSTRUMENTAL;ом;говорю с рыбаком
;;NGC_P6_PREPOSITIONAL;е;говорю о рыбаке
;NC_PLURAL;NGC_P1_NOMINATIVE;и;рыбаки
;NC_PLURAL;NGC_P1_NOMINATIVE;и, я;рыбаки
;;NGC_P2_GENITIVE;ов;подарок для рыбаков
;;NGC_P3_DATIVE;ам;подарок рыбакам
;;NGC_P4_ACCUSATIVE;ов;обвиняю рыбаков
@ -101,10 +101,10 @@ SECOND_MALE_UFORM_INANIMATE;NC_SINGULAR;NGC_P1_NOMINATIVE;;зад
;;NGC_P4_ACCUSATIVE;;обвиняю зад
;;NGC_P5_INSTRUMENTAL;ом;говорю с задом
;;NGC_P6_PREPOSITIONAL;е;говорю о заде
;NC_PLURAL;NGC_P1_NOMINATIVE;ы;зады
;NC_PLURAL;NGC_P1_NOMINATIVE;ы, а;зады
;;NGC_P2_GENITIVE;ов;подарок для задов
;;NGC_P3_DATIVE;ам;подарок задам
;;NGC_P4_ACCUSATIVE;ы;обвиняю зады
;;NGC_P4_ACCUSATIVE;ы, а;обвиняю зады
;;NGC_P5_INSTRUMENTAL;ами;говорю с задами
;;NGC_P6_PREPOSITIONAL;ах;говорю о задах
SECOND_MALE_UFORM_ANIMATE;NC_SINGULAR;NGC_P1_NOMINATIVE;;кит
@ -113,7 +113,7 @@ SECOND_MALE_UFORM_ANIMATE;NC_SINGULAR;NGC_P1_NOMINATIVE;;кит
;;NGC_P4_ACCUSATIVE;а;обвиняю кита
;;NGC_P5_INSTRUMENTAL;ом;говорю с китом
;;NGC_P6_PREPOSITIONAL;е;говорю о ките
;NC_PLURAL;NGC_P1_NOMINATIVE;ы;киты
;NC_PLURAL;NGC_P1_NOMINATIVE;ы, а;киты
;;NGC_P2_GENITIVE;ов;подарок для китов
;;NGC_P3_DATIVE;ам;подарок китам
;;NGC_P4_ACCUSATIVE;ов;обвиняю китов
@ -125,10 +125,10 @@ SECOND_MALE_SSFORM_INANIMATE;NC_SINGULAR;NGC_P1_NOMINATIVE;ь;тополь
;;NGC_P4_ACCUSATIVE;ь;обвиняю тополь
;;NGC_P5_INSTRUMENTAL;ем;говорю с тополем
;;NGC_P6_PREPOSITIONAL;е;говорю о тополе
;NC_PLURAL;NGC_P1_NOMINATIVE;и;тополи
;NC_PLURAL;NGC_P1_NOMINATIVE;и, я;тополи
;;NGC_P2_GENITIVE;ей;подарок для тополей
;;NGC_P3_DATIVE;ям;подарок тополям
;;NGC_P4_ACCUSATIVE;и;обвиняю тополи
;;NGC_P4_ACCUSATIVE;и, я;обвиняю тополи
;;NGC_P5_INSTRUMENTAL;ями;говорю с тополями
;;NGC_P6_PREPOSITIONAL;ях;говорю о тополях
SECOND_MALE_SSFORM_ANIMATE;NC_SINGULAR;NGC_P1_NOMINATIVE;ь;парень
@ -137,7 +137,7 @@ SECOND_MALE_SSFORM_ANIMATE;NC_SINGULAR;NGC_P1_NOMINATIVE;ь;парень
;;NGC_P4_ACCUSATIVE;я;обвиняю парня
;;NGC_P5_INSTRUMENTAL;ем;говорю с парнем
;;NGC_P6_PREPOSITIONAL;е;говорю о парне
;NC_PLURAL;NGC_P1_NOMINATIVE;и;парни
;NC_PLURAL;NGC_P1_NOMINATIVE;и, я;парни
;;NGC_P2_GENITIVE;ей;подарок для парней
;;NGC_P3_DATIVE;ям;подарок парням
;;NGC_P4_ACCUSATIVE;ей;обвиняю парней
@ -149,10 +149,10 @@ SECOND_I_SHORT_INANIMATE;NC_SINGULAR;NGC_P1_NOMINATIVE;й;каравай
;;NGC_P4_ACCUSATIVE;й;обвиняю каравай
;;NGC_P5_INSTRUMENTAL;ем;говорю с караваем
;;NGC_P6_PREPOSITIONAL;е;говорю о каравае
;NC_PLURAL;NGC_P1_NOMINATIVE;и;караваи
;NC_PLURAL;NGC_P1_NOMINATIVE;и, я;караваи
;;NGC_P2_GENITIVE;ев;подарок для караваев
;;NGC_P3_DATIVE;ям;подарок караваям
;;NGC_P4_ACCUSATIVE;и;обвиняю караваи
;;NGC_P4_ACCUSATIVE;и, я;обвиняю караваи
;;NGC_P5_INSTRUMENTAL;ями;говорю с караваями
;;NGC_P6_PREPOSITIONAL;ях;говорю о караваях
SECOND_I_SHORT_ANIMATE;NC_SINGULAR;NGC_P1_NOMINATIVE;й;герой
@ -161,7 +161,7 @@ SECOND_I_SHORT_ANIMATE;NC_SINGULAR;NGC_P1_NOMINATIVE;й;герой
;;NGC_P4_ACCUSATIVE;я;обвиняю героя
;;NGC_P5_INSTRUMENTAL;ем;говорю с героем
;;NGC_P6_PREPOSITIONAL;е;говорю о каравае
;NC_PLURAL;NGC_P1_NOMINATIVE;и;герои
;NC_PLURAL;NGC_P1_NOMINATIVE;и, я;герои
;;NGC_P2_GENITIVE;ев;подарок для героев
;;NGC_P3_DATIVE;ям;подарок героям
;;NGC_P4_ACCUSATIVE;ев;обвиняю героев

1 Склонение Род Падеж Окончание Пример
77 NGC_P4_ACCUSATIVE обвиняю бук
78 NGC_P5_INSTRUMENTAL ом говорю с буком
79 NGC_P6_PREPOSITIONAL е говорю о буке
80 NC_PLURAL NGC_P1_NOMINATIVE и и, я буки
81 NGC_P2_GENITIVE ов подарок для буков
82 NGC_P3_DATIVE ам подарок букам
83 NGC_P4_ACCUSATIVE и и, я обвиняю буки
84 NGC_P5_INSTRUMENTAL ами говорю с буками
85 NGC_P6_PREPOSITIONAL ах говорю о буках
86 SECOND_MALE_IFORM_ANIMATE NC_SINGULAR NGC_P1_NOMINATIVE рыбак
89 NGC_P4_ACCUSATIVE а обвиняю рыбака
90 NGC_P5_INSTRUMENTAL ом говорю с рыбаком
91 NGC_P6_PREPOSITIONAL е говорю о рыбаке
92 NC_PLURAL NGC_P1_NOMINATIVE и и, я рыбаки
93 NGC_P2_GENITIVE ов подарок для рыбаков
94 NGC_P3_DATIVE ам подарок рыбакам
95 NGC_P4_ACCUSATIVE ов обвиняю рыбаков
101 NGC_P4_ACCUSATIVE обвиняю зад
102 NGC_P5_INSTRUMENTAL ом говорю с задом
103 NGC_P6_PREPOSITIONAL е говорю о заде
104 NC_PLURAL NGC_P1_NOMINATIVE ы ы, а зады
105 NGC_P2_GENITIVE ов подарок для задов
106 NGC_P3_DATIVE ам подарок задам
107 NGC_P4_ACCUSATIVE ы ы, а обвиняю зады
108 NGC_P5_INSTRUMENTAL ами говорю с задами
109 NGC_P6_PREPOSITIONAL ах говорю о задах
110 SECOND_MALE_UFORM_ANIMATE NC_SINGULAR NGC_P1_NOMINATIVE кит
113 NGC_P4_ACCUSATIVE а обвиняю кита
114 NGC_P5_INSTRUMENTAL ом говорю с китом
115 NGC_P6_PREPOSITIONAL е говорю о ките
116 NC_PLURAL NGC_P1_NOMINATIVE ы ы, а киты
117 NGC_P2_GENITIVE ов подарок для китов
118 NGC_P3_DATIVE ам подарок китам
119 NGC_P4_ACCUSATIVE ов обвиняю китов
125 NGC_P4_ACCUSATIVE ь обвиняю тополь
126 NGC_P5_INSTRUMENTAL ем говорю с тополем
127 NGC_P6_PREPOSITIONAL е говорю о тополе
128 NC_PLURAL NGC_P1_NOMINATIVE и и, я тополи
129 NGC_P2_GENITIVE ей подарок для тополей
130 NGC_P3_DATIVE ям подарок тополям
131 NGC_P4_ACCUSATIVE и и, я обвиняю тополи
132 NGC_P5_INSTRUMENTAL ями говорю с тополями
133 NGC_P6_PREPOSITIONAL ях говорю о тополях
134 SECOND_MALE_SSFORM_ANIMATE NC_SINGULAR NGC_P1_NOMINATIVE ь парень
137 NGC_P4_ACCUSATIVE я обвиняю парня
138 NGC_P5_INSTRUMENTAL ем говорю с парнем
139 NGC_P6_PREPOSITIONAL е говорю о парне
140 NC_PLURAL NGC_P1_NOMINATIVE и и, я парни
141 NGC_P2_GENITIVE ей подарок для парней
142 NGC_P3_DATIVE ям подарок парням
143 NGC_P4_ACCUSATIVE ей обвиняю парней
149 NGC_P4_ACCUSATIVE й обвиняю каравай
150 NGC_P5_INSTRUMENTAL ем говорю с караваем
151 NGC_P6_PREPOSITIONAL е говорю о каравае
152 NC_PLURAL NGC_P1_NOMINATIVE и и, я караваи
153 NGC_P2_GENITIVE ев подарок для караваев
154 NGC_P3_DATIVE ям подарок караваям
155 NGC_P4_ACCUSATIVE и и, я обвиняю караваи
156 NGC_P5_INSTRUMENTAL ями говорю с караваями
157 NGC_P6_PREPOSITIONAL ях говорю о караваях
158 SECOND_I_SHORT_ANIMATE NC_SINGULAR NGC_P1_NOMINATIVE й герой
161 NGC_P4_ACCUSATIVE я обвиняю героя
162 NGC_P5_INSTRUMENTAL ем говорю с героем
163 NGC_P6_PREPOSITIONAL е говорю о каравае
164 NC_PLURAL NGC_P1_NOMINATIVE и и, я герои
165 NGC_P2_GENITIVE ев подарок для героев
166 NGC_P3_DATIVE ям подарок героям
167 NGC_P4_ACCUSATIVE ев обвиняю героев

Binary file not shown.

View File

@ -144,7 +144,7 @@ namespace http {
result.put(L"error", L"String is too short");
}
std::vector<NounStruct> nounStructArr = RecognizeNoun(request);
std::set<NounStruct> nounStructArr = RecognizeNoun(request);
std::cout <<"nounstructarr" << nounStructArr.size() << std::endl;
@ -171,20 +171,6 @@ namespace http {
nounTree.put(L"specialMultipleForm", nounStruct.nounRecord.specialMultipleForm);
nounTree.put(L"nominativeSingularForm", nounStruct.nounRecord.nominativeForm);
/*
if (nounStruct.nounRecord.haveMultipleForm)
{
if (nounStruct.nounRecord.specialMultipleForm != L"")
{
nounTree.put(L"nominativeSingularForm", nounStruct.nounRecord.nominativeForm);
}
else
{
nounTree.put(L"nominativeSingularForm", CalculateNounDeclention(nounStruct.nounRecord));
}
}*/
nounArr.push_back(std::make_pair(L"", nounTree));
id++;

View File

@ -329,6 +329,7 @@ std::wstring convertToStandardPluralForm(std::wstring s)
return pluralForm;
}
std::wstring convertFromStandardToAlternativePluralForm(std::wstring s)
{
if (s[s.size() - 1] == L'и')
@ -363,6 +364,7 @@ std::set<std::wstring> getPluralForm(NounRecord noun)
result.insert(pluralForm);
}
if (noun.haveAlternativeMultipleFormEnding)
{
result.insert(convertFromStandardToAlternativePluralForm(pluralForm));
@ -390,6 +392,7 @@ std::set<std::wstring> getPluralForm(NounRecord noun)
result.insert(pluralForm);
}
if (noun.haveAlternativeMultipleFormEnding)
{
result.insert(convertFromStandardToAlternativePluralForm(pluralForm));
@ -524,7 +527,6 @@ std::set<NounEndingDivision> getPossibleNounEndingDivisionSet(std::wstring noun)
(charIsConsolant(nounBase[nounBase.size() - 1]) || nounBase[nounBase.size() - 1] == L'ь' || nounBase[nounBase.size() - 1] == L'ъ'))
{
result.insert({ nounBase, ending, NounEndingDivision::DC_COMMON });
//result.insert({ nounBase, ending, NounEndingDivision::DC_SPECIAL_PLURAL_FORM });
}
//Check missed vowel (simple case)
@ -544,10 +546,11 @@ std::set<NounEndingDivision> getPossibleNounEndingDivisionSet(std::wstring noun)
}
/*
if (ending == L"а" || ending == L"я")
{
result.insert({ nounBase, ending, NounEndingDivision::DC_SPECIAL_PLURAL_A });
}
}*/
}
}
@ -565,7 +568,7 @@ std::vector<NounTuple> GetPossibleNounTupleArr(std::wstring nounEnding)
{
for (int i = 0; i < NGC_SIZE * NC_SIZE; i++)
{
if (noun.grammaticalCaseTable[i].ending == nounEnding)
if (noun.grammaticalCaseTable[i].ending.count(nounEnding) != 0)
{
result.push_back(NounTuple{ noun.nounDeclencion, noun.grammaticalCaseTable[i].count, noun.grammaticalCaseTable[i].grammaticalCase });
}
@ -573,6 +576,33 @@ std::vector<NounTuple> GetPossibleNounTupleArr(std::wstring nounEnding)
}
/*
//Xperimental -- additionally check for plural form with a-ending
if (nounEnding == L"а" || nounEnding == L"я")
{
result.push_back(NounTuple{ SECOND_MALE_IFORM_INANIMATE, NC_PLURAL, NGC_P1_NOMINATIVE });
result.push_back(NounTuple{ SECOND_MALE_IFORM_INANIMATE, NC_PLURAL, NGC_P4_ACCUSATIVE });
result.push_back(NounTuple{ SECOND_MALE_UFORM_INANIMATE, NC_PLURAL, NGC_P1_NOMINATIVE });
result.push_back(NounTuple{ SECOND_MALE_UFORM_INANIMATE, NC_PLURAL, NGC_P4_ACCUSATIVE });
result.push_back(NounTuple{ SECOND_MALE_SSFORM_INANIMATE, NC_PLURAL, NGC_P1_NOMINATIVE });
result.push_back(NounTuple{ SECOND_MALE_SSFORM_INANIMATE, NC_PLURAL, NGC_P4_ACCUSATIVE });
result.push_back(NounTuple{ SECOND_I_SHORT_INANIMATE, NC_PLURAL, NGC_P1_NOMINATIVE });
result.push_back(NounTuple{ SECOND_I_SHORT_INANIMATE, NC_PLURAL, NGC_P1_NOMINATIVE });
result.push_back(NounTuple{ SECOND_MALE_IFORM_ANIMATE, NC_PLURAL, NGC_P1_NOMINATIVE });
result.push_back(NounTuple{ SECOND_MALE_UFORM_ANIMATE, NC_PLURAL, NGC_P1_NOMINATIVE });
result.push_back(NounTuple{ SECOND_MALE_SSFORM_ANIMATE, NC_PLURAL, NGC_P1_NOMINATIVE });
result.push_back(NounTuple{ SECOND_I_SHORT_ANIMATE, NC_PLURAL, NGC_P1_NOMINATIVE });
}*/
return result;
}
@ -593,18 +623,46 @@ std::vector<NounTuple> FilterNounTupleArrByNounDeclentionSet(std::vector<NounTup
std::wstring GetNounNoninative(std::wstring nounBase, NounDeclencion nounDeclencion, NounCount nounCount)
std::set<std::wstring> GetNounNoninative(std::wstring nounBase, NounDeclencion nounDeclencion, NounCount nounCount)
{
std::set<std::wstring> result;
NounDeclencionCaseTableRecord nounDeclencionCaseTableRecord = nounDeclencionCaseTable[static_cast<int>(nounDeclencion)];
for (auto& grammaticalTableRecord : nounDeclencionCaseTableRecord.grammaticalCaseTable)
{
if (grammaticalTableRecord.grammaticalCase == NGC_P1_NOMINATIVE && grammaticalTableRecord.count == nounCount)
{
return nounBase + grammaticalTableRecord.ending;
for (auto& e : grammaticalTableRecord.ending)
{
result.insert(nounBase + e);
}
}
}
return result;
}
std::wstring GetNounNoninativeSpecialPluralA(std::wstring nounBase, NounDeclencion nounDeclencion)
{
if (charIsIFormConsolant(nounBase[nounBase.size() - 1]))
{
return nounBase + L"я";
}
if (charIsUFormConsolant(nounBase[nounBase.size() - 1]))
{
return nounBase + L"а";
}
if (charIsVowel(nounBase[nounBase.size() - 1]))
{
return nounBase + L"я";
}
std::cout << "Error in GetNounNoninative" << std::endl;
return L"";
@ -1025,7 +1083,6 @@ bool LostVowelETest(NounTuple nounTuple, NounRecord nounRecord)
std::map<NounEndingDivision::DivisionCase, std::function<std::wstring(std::wstring)>> DivisionCaseNounModificatorMap;
std::map<NounEndingDivision::DivisionCase, std::function<std::wstring(std::wstring)>> DivisionCaseEndingModificatorMap;
std::map < NounEndingDivision::DivisionCase, std::function < bool(NounTuple) >> DivisionCaseNounTupleFilterMap;
std::map < NounEndingDivision::DivisionCase, std::function < bool(NounTuple, NounRecord) >> DivisionCaseNounTupleRecordFilterMap;
@ -1052,18 +1109,11 @@ void FillDivisionCaseMaps()
}
};
DivisionCaseNounModificatorMap[NounEndingDivision::DC_SPECIAL_PLURAL_A] = DivisionCaseNounModificatorMap[NounEndingDivision::DC_COMMON];
DivisionCaseEndingModificatorMap[NounEndingDivision::DC_COMMON] = [](std::wstring s){ return s; };
DivisionCaseEndingModificatorMap[NounEndingDivision::DC_LOST_VOWEL_O] = DivisionCaseEndingModificatorMap[NounEndingDivision::DC_COMMON];
DivisionCaseEndingModificatorMap[NounEndingDivision::DC_LOST_VOWEL_E] = DivisionCaseEndingModificatorMap[NounEndingDivision::DC_COMMON];
DivisionCaseEndingModificatorMap[NounEndingDivision::DC_SPECIAL_PLURAL_A] = [](std::wstring s)
{
if (s == L"а") return L"ы";
if (s == L"я") return L"и";
std::cout << "Error in DivisionCaseEndingModificatorMap[NounEndingDivision::DC_SPECIAL_PLURAL_A]" << std::endl;
return L"";
};
DivisionCaseNounTupleFilterMap[NounEndingDivision::DC_COMMON] = [](NounTuple t) { return true; };
@ -1078,12 +1128,6 @@ void FillDivisionCaseMaps()
DivisionCaseNounTupleFilterMap[NounEndingDivision::DC_LOST_VOWEL_E] = DivisionCaseNounTupleFilterMap[NounEndingDivision::DC_LOST_VOWEL_O];
DivisionCaseNounTupleFilterMap[NounEndingDivision::DC_SPECIAL_PLURAL_A] = [](NounTuple t)
{
return (std::get<1>(t) == NC_PLURAL) &&
( (std::get<2>(t) == NGC_P1_NOMINATIVE) ||
((std::get<2>(t) == NGC_P4_ACCUSATIVE && !IsDeclencionAnimated(std::get<0>(t)))));
};
DivisionCaseNounTupleRecordFilterMap[NounEndingDivision::DC_COMMON] = [](NounTuple t, NounRecord r)
@ -1101,20 +1145,16 @@ void FillDivisionCaseMaps()
return LostVowelETest(t, r) && StandardTest(t, r);
};
DivisionCaseNounTupleRecordFilterMap[NounEndingDivision::DC_SPECIAL_PLURAL_A] = [](NounTuple t, NounRecord r)
{
return r.haveAlternativeMultipleFormEnding && StandardTest(t, r);
};
}
std::vector<NounStruct> RecognizeNoun(std::wstring noun)
std::set<NounStruct> RecognizeNoun(std::wstring noun)
{
std::vector<NounStruct> result;
std::set<NounStruct> result;
auto nounEndingDivisionArr = getPossibleNounEndingDivisionSet(noun);
@ -1139,32 +1179,42 @@ std::vector<NounStruct> RecognizeNoun(std::wstring noun)
if (std::get<1>(nounTuple) == NC_SINGULAR)
{
std::wstring nounNominaviteSingular = GetNounNoninative(modifiedNounBase, std::get<0>(nounTuple), NC_SINGULAR);
std::set<std::wstring> nounNominaviteSingularSet = GetNounNoninative(modifiedNounBase, std::get<0>(nounTuple), NC_SINGULAR);
if (NounIsInDictionary(nounNominaviteSingular))
for (auto& nn : nounNominaviteSingularSet)
{
NounRecord nounRecord = GetNounRecordFromDictionary(nounNominaviteSingular);
if (DivisionCaseNounTupleRecordFilterMap[dc](nounTuple, nounRecord))
if (NounIsInDictionary(nn))
{
result.push_back({ std::get<2>(nounTuple), std::get<1>(nounTuple), IsDeclencionAnimated(std::get<0>(nounTuple)), nounRecord });
}
}
NounRecord nounRecord = GetNounRecordFromDictionary(nn);
if (DivisionCaseNounTupleRecordFilterMap[dc](nounTuple, nounRecord))
{
result.insert({ std::get<2>(nounTuple), std::get<1>(nounTuple), IsDeclencionAnimated(std::get<0>(nounTuple)), nounRecord });
}
}
}
}
else
{
std::wstring nounNominavitePlural = GetNounNoninative(nounBase, std::get<0>(nounTuple), NC_PLURAL);
std::set<std::wstring> nounNominavitePluralSet = GetNounNoninative(nounBase, std::get<0>(nounTuple), NC_PLURAL);
if (NounPluralFormIsInDictionary(nounNominavitePlural))
//Check all plural forms
for (auto& nn : nounNominavitePluralSet)
{
NounRecord nounRecord = GetNounRecordFromDictionary_ByPluralForm(nounNominavitePlural);
if (DivisionCaseNounTupleRecordFilterMap[dc](nounTuple, nounRecord))
if (NounPluralFormIsInDictionary(nn))
{
result.push_back({ std::get<2>(nounTuple), std::get<1>(nounTuple), IsDeclencionAnimated(std::get<0>(nounTuple)), nounRecord });
NounRecord nounRecord = GetNounRecordFromDictionary_ByPluralForm(nn);
if (DivisionCaseNounTupleRecordFilterMap[dc](nounTuple, nounRecord))
{
result.insert({ std::get<2>(nounTuple), std::get<1>(nounTuple), IsDeclencionAnimated(std::get<0>(nounTuple)), nounRecord });
}
}
}
}
@ -1260,10 +1310,15 @@ void LoadNounDeclencionCaseTable()
currentNounCount = string_to_wstring(lineArr[1]);
}
std::wstring endings = string_to_wstring(lineArr[3]);
std::set<std::wstring> endingsSet;
boost::split_regex(endingsSet, endings, boost::regex(", "));
currentGrammaticalCaseTable.push_back({
WStringToNounCount(currentNounCount),
WStringToNounGrammaticalCase(string_to_wstring(lineArr[2])),
string_to_wstring(lineArr[3])
endingsSet
});
}

View File

@ -39,6 +39,11 @@ struct NounRecord
NounRecord();
NounRecord(std::wstring line);
bool operator<(const NounRecord& n) const
{
return nominativeForm < n.nominativeForm;
}
};
enum NounDeclencion
@ -87,7 +92,7 @@ struct GrammaticalTableRecord
NounGrammaticalCase grammaticalCase;
std::wstring ending;
std::set<std::wstring> ending;
};
struct NounDeclencionCaseTableRecord
@ -129,8 +134,7 @@ struct NounEndingDivision
{
DC_COMMON = 0,
DC_LOST_VOWEL_O,
DC_LOST_VOWEL_E,
DC_SPECIAL_PLURAL_A
DC_LOST_VOWEL_E
} divisionCase;
bool operator<(const NounEndingDivision& other) const
@ -178,6 +182,32 @@ struct NounStruct
NounCount nounCount;
bool animated;
NounRecord nounRecord;
bool operator<(const NounStruct& other) const
{
if (nounGrammaticalCase != other.nounGrammaticalCase)
{
return nounGrammaticalCase < other.nounGrammaticalCase;
}
else
{
if (nounCount != other.nounCount)
{
return nounCount < other.nounCount;
}
else
{
if (animated != other.animated)
{
return animated < other.animated;
}
else
{
return nounRecord < other.nounRecord;
}
}
}
}
};
@ -185,7 +215,8 @@ std::set<NounEndingDivision> getPossibleNounEndingDivisionSet(std::wstring noun)
std::vector<NounTuple> GetPossibleNounTupleArr(std::wstring nounEnding);
std::wstring GetNounNoninative(std::wstring nounBase, NounDeclencion nounDeclencion, NounCount nounCount);
std::set<std::wstring> GetNounNoninative(std::wstring nounBase, NounDeclencion nounDeclencion, NounCount nounCount);
std::wstring GetNounNoninativeSpecialPluralA(std::wstring nounBase, NounDeclencion nounDeclencion);
wchar_t GetLastChar(const NounRecord& nounRecord);
wchar_t GetPrevLastChar(const NounRecord& nounRecord);
@ -202,7 +233,7 @@ bool IsDeclencionAnimated(NounDeclencion nounDeclention);
void FillDivisionCaseMaps();
std::vector<NounStruct> RecognizeNoun(std::wstring noun);
std::set<NounStruct> RecognizeNoun(std::wstring noun);
NounDeclencion CalculateNounDeclention(NounRecord nounRecord);