diff --git a/rudict/frequent_nouns_2000.csv b/rudict/frequent_nouns_2000.csv index 970e226..56dbf6b 100644 --- a/rudict/frequent_nouns_2000.csv +++ b/rudict/frequent_nouns_2000.csv @@ -1,836 +1,837 @@ -28;год;м;1;1;1;0;;0;1;;1 -39;человек;м;1;1;1;0;люди;1;0;;1 -52;время;с;1;1;0;0;времена;0;1;;1 -65;дело;с;1;1;1;0;;0;1;;1 -66;жизнь;ж;1;1;1;0;;0;1;;1 -71;день;м;1;1;0;1;;0;1;;1 -74;рука;ж;1;1;1;0;;0;1;;1 -87;работа;ж;1;1;1;0;;0;1;;1 -94;слово;с;1;1;1;0;;0;1;;1 -98;место;с;1;1;1;0;;0;1;;1 -104;лицо;с;1;1;1;0;;0;1;;1 -106;друг;м;1;1;0;0;друзья;1;0;;1 -110;глаз;м;1;1;0;0;глаза;0;1;;1 -114;вопрос;м;1;1;1;0;;0;1;;1 -118;дом;м;1;1;0;0;дома;0;1;;1 -121;сторона;ж;1;1;1;0;;0;1;;1 -125;страна;ж;1;1;1;0;;0;1;;1 -128;мир;м;1;1;1;0;;0;1;;1 -132;голова;ж;1;1;1;0;;0;1;;1 -137;ребенок;м;1;1;0;0;ребята;1;0;;1 -140;сила;ж;1;1;1;0;;0;1;;1 -142;конец;м;1;1;0;1;;0;1;;1 -145;вид;м;1;1;1;0;;0;1;;1 -146;система;ж;1;1;1;0;;0;1;;1 -154;часть;ж;1;1;1;0;;0;1;;1 -156;город;м;1;1;0;0;города;0;1;;1 -162;отношение;с;1;1;1;0;;0;1;;1 -171;женщина;ж;1;1;1;0;;1;0;;1 -178;деньги;ж;0;1;1;0;;0;1;;1 -184;земля;ж;1;1;1;0;;0;1;;1 -187;машина;ж;1;1;1;0;;0;1;;1 -192;отец;м;1;1;0;1;;1;0;;1 -197;проблема;ж;1;1;1;0;;0;1;;1 -200;час;м;1;1;1;0;;0;1;;1 -203;право;с;1;1;1;0;;0;1;;1 -205;нога;ж;1;1;1;0;;0;1;;1 -210;дверь;ж;1;1;1;0;;0;1;;1 -212;образ;м;1;1;1;0;;0;1;;1 -214;история;ж;1;1;1;0;;0;1;;1 -216;власть;ж;1;1;1;0;;0;1;;1 -217;закон;м;1;1;1;0;;0;1;;1 -219;война;ж;1;1;1;0;;0;1;;1 -220;бог;м;1;1;1;0;;1;0;;1 -221;голос;м;1;1;0;0;голоса;0;1;;1 -230;книга;ж;1;1;1;0;;0;1;;1 -235;результат;м;1;1;1;0;;0;1;;1 -236;ночь;ж;1;1;1;0;;0;1;;1 -237;стол;м;1;1;1;0;;0;1;;1 -239;имя;с;1;1;0;0;имена;0;1;;1 -240;область;ж;1;1;1;0;;0;1;;1 -244;статья;ж;1;1;1;0;;0;1;;1 -246;число;с;1;1;1;0;;0;1;;1 -247;компания;ж;1;1;1;0;;0;1;;1 -252;народ;м;1;1;1;0;;0;1;;1 -255;жена;ж;1;1;1;0;;1;0;;1 -258;группа;ж;1;1;1;0;;0;1;;1 -259;развитие;с;1;1;1;0;;0;1;;1 -260;процесс;м;1;1;1;0;;0;1;;1 -261;суд;м;1;1;1;0;;0;1;;1 -265;условие;с;1;1;1;0;;0;1;;1 -268;средство;с;1;1;1;0;;0;1;;1 -270;начало;с;1;1;1;0;;0;1;;1 -272;свет;м;1;0;0;0;;0;1;;1 -274;путь;м;1;1;1;0;;0;1;;1 -275;душа;ж;1;1;1;0;;0;1;;1 -280;уровень;м;1;1;0;1;;0;1;;1 -282;форма;ж;1;1;1;0;;0;1;;1 -283;связь;ж;1;1;1;0;;0;1;;1 -285;минута;ж;1;1;1;0;;0;1;;1 -292;улица;ж;1;1;1;0;;0;1;;1 -295;вечер;м;1;1;0;0;вечера;0;1;;1 -298;качество;с;1;1;1;0;;0;1;;1 -299;мысль;ж;1;1;1;0;;0;1;;1 -300;дорога;ж;1;1;1;0;;0;1;;1 -301;мать;ж;1;1;0;0;матери;1;0;;1 -302;действие;с;1;1;1;0;;0;1;;1 -303;месяц;м;1;1;1;0;;0;1;;1 -305;государство;с;1;1;1;0;;0;1;;1 -306;язык;м;1;1;1;0;;0;1;;1 -307;любовь;ж;1;0;0;0;;0;1;;1 -308;взгляд;м;1;1;1;0;;0;1;;1 -309;мама;ж;1;1;1;0;;1;0;;1 -314;век;м;1;1;0;0;века;0;1;;1 -315;школа;ж;1;1;1;0;;0;1;;1 -318;цель;ж;1;1;1;0;;0;1;;1 -320;общество;с;1;1;1;0;;0;1;;1 -322;деятельность;ж;1;1;1;0;;0;1;;1 -323;организация;ж;1;1;1;0;;0;1;;1 -326;президент;м;1;1;1;0;;1;0;;1 -327;комната;ж;1;1;1;0;;0;1;;1 -328;порядок;м;1;1;0;1;;0;1;;1 -329;момент;м;1;1;1;0;;0;1;;1 -330;театр;м;1;1;1;0;;0;1;;1 -333;письмо;с;1;1;1;0;;0;1;;1 -336;утро;с;1;1;1;0;;0;1;;1 -338;помощь;ж;1;0;0;0;;0;1;;1 -339;ситуация;ж;1;1;1;0;;0;1;;1 -340;роль;ж;1;1;1;0;;0;1;;1 -343;рубль;м;1;1;1;0;;0;1;;1 -346;смысл;м;1;1;1;0;;0;1;;1 -350;квартира;ж;1;1;1;0;;0;1;;1 -354;орган;м;1;1;1;0;;0;1;;1 -355;внимание;с;1;1;1;0;;0;1;;1 -356;тело;с;1;1;1;0;;0;1;;1 -357;труд;м;1;1;1;0;;0;1;;1 -360;сын;м;1;1;1;0;;1;0;;1 -361;мера;ж;1;1;1;0;;0;1;;1 -363;смерть;ж;1;1;1;0;;0;1;;1 -365;рынок;м;1;1;0;1;;0;1;;1 -366;программа;ж;1;1;1;0;;0;1;;1 -367;задача;ж;1;1;1;0;;0;1;;1 -368;предприятие;с;1;1;1;0;;0;1;;1 -370;окно;с;1;1;1;0;;0;1;;1 -374;разговор;м;1;1;1;0;;0;1;;1 -376;правительство;с;1;1;1;0;;0;1;;1 -378;семья;ж;1;1;1;0;;0;1;;1 -380;производство;с;1;1;1;0;;0;1;;1 -388;информация;ж;1;1;1;0;;0;1;;1 -390;положение;с;1;1;1;0;;0;1;;1 -394;центр;м;1;1;1;0;;0;1;;1 -396;ответ;м;1;1;1;0;;0;1;;1 -397;муж;м;1;1;1;0;;1;0;;1 -398;автор;м;1;1;1;0;;1;0;;1 -400;стена;ж;1;1;1;0;;0;1;;1 -403;интерес;м;1;1;1;0;;0;1;;1 -405;федерация;ж;1;1;1;0;;0;1;;1 -406;правило;с;1;1;1;0;;0;1;;1 -410;управление;с;1;1;1;0;;0;1;;1 -416;мужчина;м;1;1;1;0;;1;0;;1 -418;правда;ж;1;1;1;0;;0;1;;1 -420;партия;ж;1;1;1;0;;0;1;;1 -430;совет;м;1;1;1;0;;0;1;;1 -431;счёт;м;1;1;1;0;счета;0;1;;1 -432;сердце;с;1;1;1;0;;0;1;;1 -433;движение;с;1;1;1;0;;0;1;;1 -434;вещь;ж;1;1;1;0;;0;1;;1 -435;материал;м;1;1;1;0;;0;1;;1 -436;неделя;ж;1;1;1;0;;0;1;;1 -437;чувство;с;1;1;1;0;;0;1;;1 -443;глава;ж;1;1;1;0;;0;1;;1 -446;наука;ж;1;1;1;0;;0;1;;1 -448;ряд;м;1;1;1;0;;0;1;;1 -449;газета;ж;1;1;1;0;;0;1;;1 -450;причина;ж;1;1;1;0;;0;1;;1 -452;плечо;с;1;1;0;0;плечи;0;1;;1 -454;цена;ж;1;1;1;0;;0;1;;1 -455;план;м;1;1;1;0;;0;1;;1 -457;речь;ж;1;1;1;0;;0;1;;1 -460;точка;ж;1;1;1;0;;0;1;;1 -461;основа;ж;1;1;1;0;;0;1;;1 -462;товарищ;м;1;1;1;0;;1;0;;1 -463;культура;ж;1;1;1;0;;0;1;;1 -474;документ;м;1;1;1;0;;0;1;;1 -475;институт;м;1;1;1;0;;0;1;;1 -476;ход;м;1;1;1;0;;0;1;;1 -479;проект;м;1;1;1;0;;0;1;;1 -481;встреча;ж;1;1;1;0;;0;1;;1 -484;директор;м;1;1;1;0;директора;1;0;;1 -494;срок;м;1;1;1;0;;0;1;;1 -495;палец;м;1;1;0;0;пальцы;0;1;;1 -496;опыт;м;1;1;1;0;;0;1;;1 -500;служба;ж;1;1;1;0;;0;1;;1 -507;судьба;ж;1;1;1;0;;0;1;;1 -509;девушка;ж;1;1;1;0;;1;0;;1 -511;очередь;ж;1;1;1;0;;0;1;;1 -512;лес;м;1;1;0;0;леса;0;1;;1 -517;состав;м;1;1;1;0;;0;1;;1 -522;член;м;1;1;1;0;;1;1;;1 -527;событие;с;1;1;1;0;;0;1;;1 -528;объект;м;1;1;1;0;;0;1;;1 -529;зал;м;1;1;1;0;;0;1;;1 -533;значение;с;1;1;1;0;;0;1;;1 -536;период;м;1;1;1;0;;0;1;;1 -538;шаг;м;1;1;1;0;;0;1;;1 -542;брат;м;1;1;0;0;братья;1;0;;1 -543;искусство;с;1;1;1;0;;0;1;;1 -546;структура;ж;1;1;1;0;;0;1;;1 -548;номер;м;1;1;0;0;номера;0;1;;1 -550;пример;м;1;1;1;0;;0;1;;1 -552;исследование;с;1;1;1;0;;0;1;;1 -553;гражданин;м;1;1;0;0;граждане;1;0;;1 -556;игра;ж;1;1;1;0;;0;1;;1 -557;начальник;м;1;1;1;0;;1;0;;1 -559;рост;м;1;1;1;0;;0;1;;1 -562;тема;ж;1;1;1;0;;0;1;;1 -563;принцип;м;1;1;1;0;;0;1;;1 -569;метод;м;1;1;1;0;;0;1;;1 -570;тип;м;1;1;1;0;;0;1;;1 -571;фильм;м;1;1;1;0;;0;1;;1 -576;край;м;1;1;0;0;края;0;1;;1 -579;гость;м;1;1;1;0;;1;0;;1 -583;воздух;м;1;0;0;0;;0;1;;1 -588;характер;м;1;1;1;0;;0;1;;1 -589;борьба;ж;1;0;0;0;;0;1;;1 -590;использование;с;1;1;1;0;;0;1;;1 -593;размер;м;1;1;1;0;;0;1;;1 -595;образование;с;1;1;1;0;;0;1;;1 -597;мальчик;м;1;1;1;0;;1;0;;1 -598;кровь;ж;1;0;0;0;;0;1;;1 -599;район;м;1;1;1;0;;0;1;;1 -600;небо;с;1;1;0;0;небеса;0;1;;1 -602;армия;ж;1;1;1;0;;0;1;;1 -603;класс;м;1;1;1;0;;0;1;;1 -604;представитель;м;1;1;1;0;;1;0;;1 -605;участие;с;1;1;1;0;;0;1;;1 -606;девочка;ж;1;1;1;0;;1;0;;1 -607;политика;ж;1;1;1;0;;0;1;;1 -609;герой;м;1;1;1;0;;1;0;;1 -610;картина;ж;1;1;1;0;;0;1;;1 -612;доллар;м;1;1;1;0;;0;1;;1 -613;спина;ж;1;1;1;0;;0;1;;1 -614;территория;ж;1;1;1;0;;0;1;;1 -616;пол;м;1;1;1;0;;0;1;;1 -619;поле;с;1;1;1;0;;0;1;;1 -621;изменение;с;1;1;1;0;;0;1;;1 -624;направление;с;1;1;1;0;;0;1;;1 -625;рисунок;м;1;1;0;1;;0;1;;1 -626;течение;с;1;1;1;0;;0;1;;1 -628;церковь;ж;1;1;1;0;;0;1;;1 -629;банк;м;1;1;1;0;;0;1;;1 -633;сцена;ж;1;1;1;0;;0;1;;1 -634;население;с;1;0;0;0;;0;1;;1 -635;большинство;с;1;0;0;0;;0;1;;1 -639;музыка;ж;1;1;1;0;;0;1;;1 -641;правда;ж;1;1;1;0;;0;1;;1 -644;свобода;ж;1;1;1;0;;0;1;;1 -645;память;ж;1;0;0;0;;0;1;;1 -648;команда;ж;1;1;1;0;;0;1;;1 -650;союз;м;1;1;1;0;;0;1;;1 -653;врач;м;1;1;1;0;;1;0;;1 -655;договор;м;1;1;1;0;;0;1;;1 -659;дерево;с;1;1;1;0;;0;1;;1 -661;факт;м;1;1;1;0;;0;1;;1 -664;хозяин;м;1;1;0;0;хозяева;1;0;;1 -668;природа;ж;1;1;1;0;;0;1;;1 -676;телефон;м;1;1;1;0;;0;1;;1 -677;позиция;ж;1;1;1;0;;0;1;;1 -681;двор;м;1;1;1;0;;0;1;;1 -685;писатель;м;1;1;1;0;;1;0;;1 -686;самолёт;м;1;1;1;0;;0;1;;1 -687;объём;м;1;1;1;0;;0;1;;1 -689;род;м;1;1;1;0;;0;1;;1 -690;солнце;с;1;1;1;0;;0;1;;1 -691;вера;ж;1;1;1;0;;0;1;;1 -692;берег;м;1;1;0;0;берега;0;1;;1 -693;спектакль;м;1;1;1;0;;0;1;;1 -694;фирма;ж;1;1;1;0;;0;1;;1 -695;способ;м;1;1;1;0;;0;1;;1 -696;завод;м;1;1;1;0;;0;1;;1 -697;цвет;м;1;1;0;0;цвета;0;1;;1 -699;журнал;м;1;1;1;0;;0;1;;1 -700;руководитель;м;1;1;1;0;;1;0;;1 -701;специалист;м;1;1;1;0;;1;0;;1 -706;оценка;ж;1;1;1;0;;0;1;;1 -713;регион;м;1;1;1;0;;0;1;;1 -715;песня;ж;1;1;1;0;;0;1;;1 -716;процент;м;1;1;1;0;;0;1;;1 -717;родитель;м;1;1;1;0;;1;0;;1 -720;море;с;1;1;1;0;;0;1;;1 -722;требование;с;1;1;1;0;;0;1;;1 -726;основание;с;1;1;1;0;;0;1;;1 -727;половина;ж;1;1;1;0;;0;1;;1 -733;роман;м;1;1;1;0;;0;1;;1 -734;круг;м;1;1;1;0;;0;1;;1 -735;анализ;м;1;1;1;0;;0;1;;1 -736;стих;м;1;1;1;0;;0;1;;1 -737;автомобиль;м;1;1;1;0;;0;1;;1 -739;экономика;ж;1;1;1;0;;0;1;;1 -740;литература;ж;1;0;0;0;;0;1;;1 -741;бумага;ж;1;1;1;0;;0;1;;1 -747;поэт;м;1;1;1;0;;1;0;;1 -749;степень;ж;1;1;1;0;;0;1;;1 -752;господин;м;1;1;0;0;господа;1;0;;1 -753;надежда;ж;1;1;1;0;;0;1;;1 -756;предмет;м;1;1;1;0;;0;1;;1 -759;вариант;м;1;1;1;0;;0;1;;1 -760;министр;м;1;1;1;0;;1;0;;1 -763;граница;ж;1;1;1;0;;0;1;;1 -765;дух;м;1;1;1;0;;0;1;;1 -766;модель;ж;1;1;1;0;;0;1;;1 -767;операция;ж;1;1;1;0;;0;1;;1 -768;пара;ж;1;1;1;0;;0;1;;1 -769;сон;м;1;1;0;1;;0;1;;1 -771;название;с;1;1;1;0;;0;1;;1 -772;ум;м;1;1;1;0;;0;1;;1 -773;повод;м;1;1;1;0;;0;1;;1 -774;старик;м;1;1;1;0;;1;0;;1 -777;миллион;м;1;1;1;0;;0;1;;1 -780;успех;м;1;1;1;0;;0;1;;1 -784;счастье;с;1;0;0;0;;0;1;;1 -787;ребята;м;0;1;1;0;;0;1;;1 -789;кабинет;м;1;1;1;0;;0;1;;1 -794;магазин;м;1;1;1;0;;0;1;;1 -795;пространство;с;1;1;1;0;;0;1;;1 -796;выход;м;1;1;1;0;;0;1;;1 -798;удар;м;1;1;1;0;;0;1;;1 -799;база;ж;1;1;1;0;;0;1;;1 -800;знание;с;1;1;1;0;;0;1;;1 -801;текст;м;1;1;1;0;;0;1;;1 -804;защита;ж;1;1;1;0;;0;1;;1 -806;руководство;с;1;1;1;0;;0;1;;1 -808;площадь;ж;1;1;1;0;;0;1;;1 -809;сознание;с;1;1;1;0;;0;1;;1 -812;возраст;м;1;1;1;0;;0;1;;1 -815;участник;м;1;1;1;0;;1;0;;1 -816;участок;м;1;1;0;1;;0;1;;1 -818;пункт;м;1;1;1;0;;0;1;;1 -823;линия;ж;1;1;1;0;;0;1;;1 -825;желание;с;1;1;1;0;;0;1;;1 -826;папа;м;1;1;1;0;;1;0;;1 -829;доктор;м;1;1;1;0;доктора;1;0;;1 -830;губа;ж;1;1;1;0;;0;1;;1 -834;дочь;ж;1;1;0;0;дочери;0;1;;1 -836;среда;ж;1;1;1;0;;0;1;;1 -837;председатель;м;1;1;1;0;;1;0;;1 -839;солдат;м;1;1;1;0;;1;0;;1 -840;художник;м;1;1;1;0;;1;0;;1 -842;волос;м;1;1;1;0;;0;1;;1 -843;оружие;с;1;1;1;0;;0;1;;1 -845;соответствие;с;1;1;1;0;;0;1;;1 -847;ветер;м;1;1;0;1;ветра;0;1;;1 -849;парень;м;1;1;0;1;;1;0;;1 -851;зрение;с;1;1;1;0;;0;1;;1 -853;генерал;м;1;1;1;0;;1;0;;1 -855;огонь;м;1;1;0;1;;0;1;;1 -858;понятие;с;1;1;1;0;;0;1;;1 -859;строительство;с;1;1;1;0;;0;1;;1 -860;ухо;с;1;1;0;0;уши;0;1;;1 -862;грудь;ж;1;1;1;0;;0;1;;1 -863;нос;м;1;1;1;0;;0;1;;1 -868;страх;м;1;1;1;0;;0;1;;1 -869;услуга;ж;1;1;1;0;;0;1;;1 -873;содержание;с;1;1;1;0;;0;1;;1 -874;радость;ж;1;1;1;0;;0;1;;1 -875;безопасность;ж;1;1;1;0;;0;1;;1 -877;продукт;м;1;1;1;0;;0;1;;1 -879;комплекс;м;1;1;1;0;;0;1;;1 -880;бизнес;м;1;1;1;0;;0;1;;1 -884;сад;м;1;1;1;0;;0;1;;1 -888;сотрудник;м;1;1;1;0;;1;0;;1 -889;лето;с;1;0;0;0;;0;1;;1 -893;курс;м;1;1;1;0;;0;1;;1 -895;предложение;с;1;1;1;0;;0;1;;1 -901;рот;м;1;1;0;1;;0;1;;1 -903;технология;ж;1;1;1;0;;0;1;;1 -906;реформа;ж;1;1;1;0;;0;1;;1 -907;отсутствие;с;1;1;1;0;;0;1;;1 -909;собака;ж;1;1;1;0;;1;0;;1 -910;камень;м;1;1;0;1;;0;1;;1 -911;будущее;с;1;0;0;0;;0;1;;1 -913;рассказ;м;1;1;1;0;;0;1;;1 -914;контроль;м;1;1;1;0;;0;1;;1 -916;река;ж;1;1;1;0;;0;1;;1 -918;продукция;ж;1;1;1;0;;0;1;;1 -919;сумма;ж;1;1;1;0;;0;1;;1 -920;техника;ж;1;1;1;0;;0;1;;1 -927;здание;с;1;1;1;0;;0;1;;1 -928;сфера;ж;1;1;1;0;;0;1;;1 -932;необходимость;ж;1;1;1;0;;0;1;;1 -934;фонд;м;1;1;1;0;;0;1;;1 -939;лист;м;1;1;1;0;;0;1;;1 -942;республика;ж;1;1;1;0;;0;1;;1 -943;хозяйство;с;1;1;1;0;;0;1;;1 -948;воля;ж;1;1;1;0;;0;1;;1 -950;бюджет;м;1;1;1;0;;0;1;;1 -953;снег;м;1;1;0;0;снега;0;1;;1 -954;деревня;ж;1;1;1;0;;0;1;;1 -956;мужик;м;1;1;1;0;;1;0;;1 -959;элемент;м;1;1;1;0;;0;1;;1 -960;обстоятельство;с;1;1;1;0;;0;1;;1 -962;немец;м;1;1;0;1;;1;0;;1 -964;победа;ж;1;1;1;0;;0;1;;1 -965;источник;м;1;1;1;0;;0;1;;1 -975;звезда;ж;1;1;1;0;;0;1;;1 -977;выбор;м;1;1;1;0;;0;1;;1 -979;масса;ж;1;1;1;0;;0;1;;1 -981;итог;м;1;1;1;0;;0;1;;1 -982;сестра;ж;1;1;1;0;;1;0;специальный падеж;1 -986;практика;ж;1;1;1;0;;0;1;;1 -991;карман;м;1;1;1;0;;0;1;;1 -996;слава;ж;1;1;1;0;;0;1;;1 -997;кухня;ж;1;1;1;0;;0;1;;1 -998;определение;с;1;1;1;0;;0;1;;1 -1002;войско;с;1;1;1;0;;0;1;;1 -1003;комиссия;ж;1;1;1;0;;0;1;;1 -1005;капитан;м;1;1;1;0;;1;0;;1 -1006;работник;м;1;1;1;0;;1;0;;1 -1009;обеспечение;с;1;1;1;0;;0;1;;1 -1010;офицер;м;1;1;1;0;;1;0;;1 -1013;фамилия;ж;1;1;1;0;;0;1;;1 -1014;предел;м;1;1;1;0;;0;1;;1 -1024;бутылка;ж;1;1;1;0;;0;1;;1 -1025;бой;м;1;1;1;0;;0;1;;1 -1029;теория;ж;1;1;1;0;;0;1;;1 -1030;зона;ж;1;1;1;0;;0;1;;1 -1031;отдел;м;1;1;1;0;;0;1;;1 -1032;зуб;м;1;1;1;0;;0;1;;1 -1033;разработка;ж;1;1;1;0;;0;1;;1 -1039;личность;ж;1;1;1;0;;1;1;;1 -1040;гора;м;1;1;1;0;;0;1;;1 -1042;товар;м;1;1;1;0;;0;1;;1 -1046;метр;м;1;1;1;0;;0;1;;1 -1049;праздник;м;1;1;1;0;;0;1;;1 -1050;влияние;с;1;1;1;0;;0;1;;1 -1052;читатель;м;1;1;1;0;;1;0;;1 -1054;удовольствие;с;1;1;1;0;;0;1;;1 -1055;актер;м;1;1;1;0;;1;0;;1 -1056;слеза;ж;1;1;1;0;;0;1;;1 -1059;ответственность;ж;1;1;1;0;;0;1;;1 -1060;учитель;м;1;1;0;0;учителя;1;0;;1 -1061;акт;м;1;1;1;0;;0;1;;1 -1065;боль;ж;1;1;1;0;;0;1;;1 -1066;множество;с;1;1;1;0;;0;1;;1 -1068;особенность;ж;1;1;1;0;;0;1;;1 -1070;показатель;м;1;1;1;0;;0;1;;1 -1072;корабль;м;1;1;1;0;;0;1;;1 -1074;звук;м;1;1;1;0;;0;1;;1 -1077;впечатление;с;1;1;1;0;;0;1;;1 -1079;частность;ж;1;1;1;0;;0;1;;1 -1080;детство;с;1;0;0;0;;0;1;;1 -1081;вывод;м;1;1;1;0;;0;1;;1 -1082;профессор;м;1;1;1;0;профессора;1;0;;1 -1084;доля;ж;1;1;1;0;;0;1;;1 -1085;норма;ж;1;1;1;0;;0;1;;1 -1087;прошлое;с;1;0;0;0;;0;1;;1 -1089;командир;м;1;1;1;0;;1;0;;1 -1090;коридор;м;1;1;1;0;;0;1;;1 -1092;рамка;ж;1;1;1;0;;0;1;;1 -1096;враг;м;1;1;1;0;;0;1;;1 -1098;этап;м;1;1;1;0;;0;1;;1 -1099;черт;м;1;1;1;0;;0;1;;1 -1100;дед;м;1;1;1;0;;1;0;;1 -1102;собрание;с;1;1;1;0;;0;1;;1 -1103;прием;м;1;1;1;0;;0;1;;1 -1105;болезнь;м;1;1;1;0;;0;1;;1 -1106;клетка;ж;1;1;1;0;;0;1;;1 -1107;кожа;ж;1;1;1;0;;0;1;;1 -1108;заявление;с;1;1;1;0;;0;1;;1 -1110;попытка;ж;1;1;1;0;;0;1;;1 -1111;сравнение;с;1;1;1;0;;0;1;;1 -1113;расчет;м;1;1;1;0;;0;1;;1 -1115;депутат;м;1;1;1;0;;1;0;;1 -1123;комитет;м;1;1;1;0;;0;1;;1 -1124;знак;м;1;1;1;0;;0;1;;1 -1128;дядя;м;1;1;1;0;;1;0;;1 -1129;учет;м;1;1;1;0;;0;1;;1 -1130;хлеб;м;1;1;1;0;хлеба;0;1;;1 -1136;чай;м;1;1;1;0;;0;1;;1 -1137;режим;м;1;1;1;0;;0;1;;1 -1139;вирус;м;1;1;1;0;;0;1;;1 -1142;выражение;с;1;1;1;0;;0;1;;1 -1146;здоровье;с;1;0;0;0;;0;1;;1 -1147;зима;ж;1;1;1;0;;0;1;;1 -1150;десяток;м;1;1;0;1;;0;1;;1 -1151;глубина;ж;1;1;1;0;;0;1;;1 -1152;сеть;ж;1;1;1;0;;0;1;;1 -1153;студент;м;1;1;1;0;;1;0;;1 -1155;секунда;ж;1;1;1;0;;0;1;;1 -1156;скорость;ж;1;1;1;0;;0;1;;1 -1157;поиск;м;1;1;1;0;;0;1;;1 -1159;суть;ж;1;1;1;0;;0;1;;1 -1160;налог;м;1;1;1;0;;0;1;;1 -1161;ошибка;ж;1;1;1;0;;0;1;;1 -1167;доход;м;1;1;1;0;;0;1;;1 -1169;режиссер;м;1;1;1;0;;1;0;;1 -1170;поверхность;ж;1;1;1;0;;0;1;;1 -1173;карта;ж;1;1;1;0;;0;1;;1 -1174;клуб;м;1;1;1;0;;0;1;;1 -1176;станция;ж;1;1;1;0;;0;1;;1 -1177;революция;ж;1;1;1;0;;0;1;;1 -1178;колено;с;1;1;1;0;;0;1;;1 -1179;министерство;с;1;1;1;0;;0;1;;1 -1180;стекло;с;1;1;1;0;;0;1;;1 -1181;этаж;м;1;1;1;0;;0;1;;1 -1183;высота;ж;1;1;1;0;;0;1;;1 -1185;бабушка;ж;1;1;1;0;;1;0;специальный падеж;1 -1188;трубка;ж;1;1;1;0;;0;1;;1 -1195;газ;м;1;1;1;0;;0;1;;1 -1197;мастер;м;1;1;1;0;мастера;1;0;;1 -1200;поведение;с;1;0;0;0;;0;1;;1 -1205;столица;ж;1;1;1;0;;0;1;;1 -1206;механизм;м;1;1;1;0;;0;1;;1 -1207;передача;ж;1;1;1;0;;0;1;;1 -1211;подход;м;1;1;1;0;;0;1;;1 -1214;энергия;ж;1;1;1;0;;0;1;;1 -1219;кино;с;1;0;0;0;;0;1;;1 -1221;заместитель;м;1;1;1;0;;1;0;;1 -1226;ресурс;м;1;1;1;0;;0;1;;1 -1228;акция;ж;1;1;1;0;;0;1;;1 -1230;рождение;с;1;1;1;0;;0;1;;1 -1233;администрация;ж;1;1;1;0;;0;1;;1 -1237;стоимость;ж;1;1;1;0;;0;1;;1 -1239;артист;м;1;1;1;0;;1;0;;1 -1246;сосед;м;1;1;1;0;;1;0;;1 -1247;фраза;ж;1;1;1;0;;0;1;;1 -1249;фигура;ж;1;1;1;0;;1;1;;1 -1251;субъект;м;1;1;1;0;;0;1;;1 -1253;реакция;ж;1;1;1;0;;0;1;;1 -1254;список;м;1;1;0;1;;0;1;;1 -1255;фотография;ж;1;1;1;0;;0;1;;1 -1256;журналист;м;1;1;1;0;;1;0;;1 -1257;май;м;1;1;1;0;;0;1;;1 -1260;нарушение;с;1;1;1;0;;0;1;;1 -1261;заседание;с;1;1;1;0;;0;1;;1 -1262;толпа;ж;1;1;1;0;;0;1;;1 -1263;больница;ж;1;1;1;0;;0;1;;1 -1264;существо;с;1;1;1;0;;0;1;;1 -1268;свойство;с;1;1;1;0;;0;1;;1 -1269;долг;м;1;1;1;0;;0;1;;1 -1270;поколение;с;1;1;1;0;;0;1;;1 -1273;схема;ж;1;1;1;0;;0;1;;1 -1274;усилие;с;1;1;1;0;;0;1;;1 -1275;отличие;с;1;1;1;0;;0;1;;1 -1278;остров;м;1;1;0;0;острова;0;1;;1 -1280;противник;м;1;1;1;0;;1;0;;1 -1281;волна;ж;1;1;1;0;;0;1;;1 -1285;реализация;ж;1;1;1;0;;0;1;;1 -1286;страница;ж;1;1;1;0;;0;1;;1 -1287;формирование;с;1;1;1;0;;0;1;;1 -1288;житель;м;1;1;1;0;;1;0;;1 -1291;красота;ж;1;1;1;0;;0;1;;1 -1294;птица;ж;1;1;1;0;;1;1;;1 -1297;растение;с;1;1;1;0;;0;1;;1 -1298;тень;ж;1;1;1;0;;0;1;;1 -1299;явление;с;1;1;1;0;;0;1;;1 -1300;храм;м;1;1;1;0;;0;1;;1 -1301;запах;м;1;1;1;0;;0;1;;1 -1303;водка;ж;1;0;0;0;;0;1;;1 -1307;ужас;м;1;1;1;0;;0;1;;1 -1308;одежда;ж;1;1;1;0;;0;1;;1 -1310;кресло;с;1;1;1;0;;0;1;;1 -1312;поезд;м;1;1;1;0;поезда;0;1;;1 -1313;университет;м;1;1;1;0;;0;1;;1 -1317;традиция;ж;1;1;1;0;;0;1;;1 -1318;адрес;м;1;1;1;0;адреса;0;1;;1 -1319;декабрь;м;1;1;1;0;;0;1;;1 -1320;ладонь;ж;1;1;1;0;;0;1;;1 -1322;сведение;с;1;1;1;0;;0;1;;1 -1324;цветок;м;1;1;0;1;;0;1;;1 -1327;лидер;м;1;1;1;0;;0;1;;1 -1328;октябрь;м;1;1;1;0;;0;1;;1 -1329;занятие;с;1;1;1;0;;0;1;;1 -1332;сентябрь;м;1;1;1;0;;0;1;;1 -1333;помещение;с;1;1;1;0;;0;1;;1 -1338;зритель;м;1;1;1;0;;1;0;;1 -1341;редакция;ж;1;1;1;0;;0;1;;1 -1344;стиль;м;1;1;1;0;;0;1;;1 -1345;весна;ж;1;0;0;0;;0;1;;1 -1347;фактор;м;1;1;1;0;;0;1;;1 -1348;август;м;1;1;1;0;;0;1;;1 -1349;известие;с;1;1;1;0;;0;1;;1 -1350;зависимость;ж;1;1;1;0;;0;1;;1 -1351;охрана;ж;1;0;0;0;;0;1;;1 -1354;оборудование;с;1;0;0;0;;0;1;;1 -1356;концерт;м;1;1;1;0;;0;1;;1 -1357;отделение;с;1;1;1;0;;0;1;;1 -1358;расход;м;1;1;1;0;;0;1;;1 -1360;выставка;ж;1;1;1;0;;0;1;;1 -1361;милиция;ж;1;1;1;0;;0;1;;1 -1366;переход;м;1;1;1;0;;0;1;;1 -1368;эпоха;м;1;1;1;0;;0;1;;1 -1369;запад;м;1;0;0;0;;0;1;;1 -1371;произведение;с;1;1;1;0;;0;1;;1 -1372;родина;ж;1;1;1;0;;0;1;;1 -1373;собственность;ж;1;1;1;0;;0;1;;1 -1374;тайна;ж;1;1;1;0;;0;1;;1 -1378;трава;ж;1;1;1;0;;0;1;;1 -1380;лагерь;м;1;1;1;0;лагеря;0;1;;1 -1382;имущество;с;1;0;0;0;;0;1;;1 -1384;кровать;ж;1;1;1;0;;0;1;;1 -1390;аппарат;м;1;1;1;0;;0;1;;1 -1393;середина;ж;1;1;1;0;;0;1;;1 -1396;март;м;1;1;1;0;;0;1;;1 -1398;клиент;м;1;1;1;0;;1;0;;1 -1400;дама;ж;1;1;1;0;;1;0;;1 -1403;фронт;м;1;1;1;0;;0;1;;1 -1405;отрасль;ж;1;1;1;0;;0;1;;1 -1406;стул;м;1;1;0;0;стулья;0;1;;1 -1407;беседа;ж;1;1;1;0;;0;1;;1 -1414;законодательство;с;1;0;0;0;;0;1;;1 -1415;продажа;ж;1;1;1;0;;0;1;;1 -1416;повышение;с;1;1;1;0;;0;1;;1 -1420;музей;м;1;1;1;0;;0;1;;1 -1423;след;м;1;1;1;0;;0;1;;1 -1425;полковник;м;1;1;1;0;;1;0;;1 -1427;сомнение;с;1;1;1;0;;0;1;;1 -1428;понимание;с;1;1;1;0;;0;1;;1 -1433;апрель;м;1;1;1;0;;0;1;;1 -1434;князь;м;1;1;1;0;князья;1;0;;1 -1436;рыба;ж;1;1;1;0;;1;1;;1 -1442;дума;ж;1;1;1;0;;0;1;;1 -1445;кодекс;м;1;1;1;0;;0;1;;1 -1446;сутки;м;0;1;1;0;;0;1;;1 -1447;чудо;с;1;1;0;0;чудеса;0;1;;1 -1449;шея;ж;1;1;1;0;;0;1;;1 -1451;судья;м;1;1;1;0;;1;0;;1 -1456;крыша;м;1;1;1;0;;0;1;;1 -1457;настроение;с;1;1;1;0;;0;1;;1 -1460;нечто;с;1;0;0;0;;0;1;;1 -1461;поток;м;1;1;1;0;;0;1;;1 -1464;должность;ж;1;1;1;0;;0;1;;1 -1465;преступление;с;1;1;1;0;;0;1;;1 -1467;мозг;м;1;1;1;0;;0;1;;1 -1470;честь;ж;1;0;0;0;;0;1;;1 -1471;пост;м;1;1;1;0;;0;1;;1 -1474;еврей;м;1;1;1;0;;1;0;;1 -1477;июнь;м;1;1;1;0;;0;1;;1 -1479;сотня;ж;1;1;1;0;;0;1;;1 -1490;дождь;м;1;1;1;0;;0;1;;1 -1492;лестница;ж;1;1;1;0;;0;1;;1 -1497;дача;ж;1;1;1;0;;0;1;;1 -1500;установка;ж;1;1;1;0;;0;1;;1 -1505;образец;м;1;1;0;1;;0;1;;1 -1506;труба;ж;1;1;1;0;;0;1;;1 -1512;осень;ж;1;1;1;0;;0;1;;1 -1518;костюм;м;1;1;1;0;;0;1;;1 -1522;баба;ж;1;1;1;0;;1;0;;1 -1523;ценность;ж;1;1;1;0;;0;1;;1 -1524;обязанность;ж;1;1;1;0;;0;1;;1 -1525;пьеса;ж;1;1;1;0;;0;1;;1 -1527;таблица;ж;1;1;1;0;;0;1;;1 -1528;вино;с;1;1;0;0;вины;0;1;;1 -1529;воспоминание;с;1;1;1;0;;0;1;;1 -1530;лошадь;ж;1;1;1;0;;1;1;;1 -1534;коллега;м;1;1;1;0;;1;0;;1 -1535;организм;м;1;1;1;0;;0;1;;1 -1537;ученик;м;1;1;1;0;;1;0;;1 -1538;учреждение;с;1;1;1;0;;0;1;;1 -1540;открытие;с;1;1;1;0;;0;1;;1 -1542;том;м;1;1;1;0;тома;0;1;;1 -1543;черта;ж;1;1;1;0;;0;1;;1 -1546;характеристика;ж;1;1;1;0;;0;1;;1 -1549;выполнение;с;1;1;1;0;;0;1;;1 -1550;оборона;ж;1;1;1;0;;0;1;;1 -1551;выступление;с;1;1;1;0;;0;1;;1 -1552;температура;ж;1;1;1;0;;0;1;;1 -1554;перспектива;ж;1;1;1;0;;0;1;;1 -1556;подруга;ж;1;1;1;0;;1;0;;1 -1557;приказ;м;1;1;1;0;;0;1;;1 -1559;жертва;ж;1;1;1;0;;1;1;;1 -1562;ресторан;м;1;1;1;0;;0;1;;1 -1563;километр;м;1;1;1;0;;0;1;;1 -1565;спор;м;1;1;1;0;;0;1;;1 -1569;вкус;м;1;1;1;0;;0;1;;1 -1571;признак;м;1;1;1;0;;0;1;;1 -1572;промышленность;ж;1;1;1;0;;0;1;;1 -1574;американец;м;1;1;0;1;;1;0;;1 -1575;лоб;м;1;1;0;1;;0;1;;1 -1576;заключение;с;1;1;1;0;;0;1;;1 -1578;восток;м;1;0;0;0;;0;1;;1 -1580;исключение;с;1;1;1;0;;0;1;;1 -1584;ключ;м;1;1;1;0;;0;1;;1 -1585;постановление;с;1;1;1;0;;0;1;;1 -1589;слой;м;1;1;1;0;;0;1;;1 -1590;бок;м;1;1;0;0;бока;0;1;;1 -1595;июль;м;1;1;1;0;;0;1;;1 -1597;перевод;м;1;1;1;0;;0;1;;1 -1598;секретарь;м;1;1;1;0;;1;0;;1 -1599;кусок;м;1;1;0;1;;0;1;;1 -1601;слух;м;1;1;1;0;;0;1;;1 -1605;польза;ж;1;1;1;0;;0;1;;1 -1606;звонок;м;1;1;0;1;;0;1;;1 -1608;обстановка;ж;1;1;1;0;;0;1;;1 -1613;чиновник;м;1;1;1;0;;1;0;;1 -1615;соглашение;с;1;1;1;0;;0;1;;1 -1616;деталь;ж;1;1;1;0;;0;1;;1 -1619;тишина;ж;1;0;0;0;;0;1;;1 -1620;зарплата;ж;1;1;1;0;;0;1;;1 -1622;билет;м;1;1;1;0;;0;1;;1 -1624;подарок;м;1;1;0;1;;0;1;;1 -1625;тюрьма;ж;1;1;1;0;;0;1;;1 -1626;ящик;м;1;1;1;0;;0;1;;1 -1627;конкурс;м;1;1;1;0;;0;1;;1 -1629;книжка;ж;1;1;1;0;;0;1;;1 -1631;изучение;с;1;1;1;0;;0;1;;1 -1636;просьба;ж;1;1;1;0;;0;1;;1 -1637;царь;м;1;1;1;0;;1;0;;1 -1638;публика;ж;1;0;0;0;;0;1;;1 -1639;смех;м;1;1;0;0;смеха;0;1;;1 -1641;сообщение;с;1;1;1;0;;0;1;;1 -1642;угроза;ж;1;1;1;0;;0;1;;1 -1643;беда;ж;1;1;1;0;;0;1;;1 -1650;блок;м;1;1;1;0;;0;1;;1 -1651;достижение;с;1;1;1;0;;0;1;;1 -1652;назначение;с;1;1;1;0;;0;1;;1 -1653;реклама;ж;1;1;1;0;;0;1;;1 -1656;портрет;м;1;1;1;0;;0;1;;1 -1662;масло;с;1;1;1;0;;0;1;;1 -1664;стакан;м;1;1;1;0;;0;1;;1 -1668;урок;м;1;1;1;0;;0;1;;1 -1672;крик;м;1;1;1;0;;0;1;;1 -1676;творчество;с;1;0;0;0;;0;1;;1 -1677;телевизор;м;1;1;1;0;;0;1;;1 -1679;инструмент;м;1;1;1;0;;0;1;;1 -1681;концепция;ж;1;1;1;0;;0;1;;1 -1683;лейтенант;м;1;1;1;0;;1;0;;1 -1684;экран;м;1;1;1;0;;0;1;;1 -1685;дно;с;1;0;0;0;;0;1;;1 -1686;реальность;ж;1;1;1;0;;0;1;;1 -1689;канал;м;1;1;1;0;;0;1;;1 -1691;мясо;с;1;0;0;0;;0;1;;1 -1693;щека;ж;1;1;1;0;;0;1;;1 -1697;конфликт;м;1;1;1;0;;0;1;;1 -1701;запись;ж;1;1;1;0;;0;1;;1 -1703;вагон;м;1;1;1;0;;0;1;;1 -1706;площадка;ж;1;1;1;0;;0;1;;1 -1707;последствие;с;1;1;1;0;;0;1;;1 -1711;зеркало;с;1;1;1;0;;0;1;;1 -1712;тон;м;1;1;1;0;тона;0;1;;1 -1715;академия;ж;1;1;1;0;;0;1;;1 -1721;палата;ж;1;1;1;0;;0;1;;1 -1722;потребность;ж;1;1;1;0;;0;1;;1 -1725;ноябрь;м;1;1;1;0;;0;1;;1 -1726;увеличение;с;1;1;1;0;;0;1;;1 -1728;дурак;м;1;1;1;0;;1;0;;1 -1730;поездка;ж;1;1;1;0;;0;1;;1 -1731;обед;м;1;1;1;0;;0;1;;1 -1733;потеря;ж;1;1;1;0;;0;1;;1 -1736;февраль;м;1;1;1;0;;0;1;;1 -1738;мероприятие;с;1;1;1;0;;0;1;;1 -1739;парк;м;1;1;1;0;;0;1;;1 -1740;принятие;с;1;1;1;0;;0;1;;1 -1741;устройство;с;1;1;1;0;;0;1;;1 -1742;вещество;с;1;1;1;0;;0;1;;1 -1747;категория;ж;1;1;1;0;;0;1;;1 -1749;сезон;м;1;1;1;0;;0;1;;1 -1754;гостиница;ж;1;1;1;0;;0;1;;1 -1755;издание;с;1;1;1;0;;0;1;;1 -1761;объединение;с;1;1;1;0;;0;1;;1 -1763;темнота;ж;1;0;0;0;;0;1;;1 -1764;человечество;с;1;0;0;0;;0;1;;1 -1768;колесо;с;1;1;1;0;;0;1;;1 -1771;разрешение;с;1;1;1;0;;0;1;;1 -1772;воздействие;с;1;1;1;0;;0;1;;1 -1773;коллектив;м;1;1;1;0;;0;1;;1 -1774;камера;ж;1;1;1;0;;0;1;;1 -1776;запас;м;1;1;1;0;;0;1;;1 -1778;следствие;с;1;1;1;0;;0;1;;1 -1779;длина;ж;1;1;1;0;;0;1;;1 -1782;крыло;с;1;1;0;0;крылья;0;1;;1 -1783;округ;м;1;1;1;0;округа;0;1;;1 -1785;фон;м;1;1;1;0;;0;1;;1 -1786;кандидат;м;1;1;1;0;;1;0;;1 -1787;родственник;м;1;1;1;0;;1;0;;1 -1791;давление;с;1;0;0;0;;0;1;;1 -1794;присутствие;с;1;1;1;0;;0;1;;1 -1797;доска;ж;1;1;1;0;;0;1;;1 -1799;партнер;м;1;1;1;0;;1;0;;1 -1800;двигатель;м;1;1;1;0;;0;1;;1 -1801;шум;м;1;1;1;0;;0;1;;1 -1802;достоинство;с;1;1;1;0;;0;1;;1 -1805;грех;м;1;1;1;0;;0;1;;1 -1807;нож;м;1;1;1;0;;0;1;;1 -1808;полет;м;1;1;1;0;;0;1;;1 -1811;страсть;ж;1;1;1;0;;0;1;;1 -1816;испытание;с;1;1;1;0;;0;1;;1 -1819;оплата;ж;1;1;1;0;;0;1;;1 -1820;разница;ж;1;1;1;0;;0;1;;1 -1822;водитель;м;1;1;1;0;;1;0;;1 -1825;пакет;м;1;1;1;0;;0;1;;1 -1828;формула;ж;1;1;1;0;;0;1;;1 -1830;живот;м;1;1;1;0;;0;1;;1 -1831;капитал;м;1;1;1;0;;0;1;;1 -1837;мост;м;1;1;1;0;;0;1;;1 -1840;новость;ж;1;1;1;0;;0;1;;1 -1841;эффект;м;1;1;1;0;;0;1;;1 -1842;вход;м;1;1;1;0;;0;1;;1 -1844;губернатор;м;1;1;1;0;;1;0;;1 -1849;доклад;м;1;1;1;0;;0;1;;1 -1852;смена;ж;1;1;1;0;;0;1;;1 -1853;убийство;с;1;1;1;0;;0;1;;1 -1854;эксперт;м;1;1;1;0;;1;0;;1 -1861;автобус;м;1;1;1;0;;0;1;;1 -1862;платье;с;1;1;1;0;;0;1;;1 -1866;кадр;м;1;1;1;0;;1;1;;1 -1868;тетя;ж;1;1;1;0;;1;0;;1 -1871;общение;с;1;1;1;0;;0;1;;1 -1873;психология;ж;1;1;1;0;;0;1;;1 -1874;лев;м;1;1;0;0;львы;1;0;;1 -1876;порог;м;1;1;1;0;;0;1;;1 -1877;проверка;ж;1;1;1;0;;0;1;;1 -1879;процедура;ж;1;1;1;0;;0;1;;1 -1881;ремонт;м;1;1;1;0;;0;1;;1 -1884;обращение;с;1;1;1;0;;0;1;;1 -1885;обучение;с;1;1;1;0;;0;1;;1 -1887;ожидание;с;1;1;1;0;;0;1;;1 -1891;памятник;м;1;1;1;0;;0;1;;1 -1892;корень;м;1;1;0;1;;0;1;;1 -1893;наблюдение;с;1;1;1;0;;0;1;;1 -1895;буква;ж;1;1;1;0;;0;1;;1 -1897;доказательство;с;1;1;1;0;;0;1;;1 -1900;признание;с;1;1;1;0;;0;1;;1 -1903;постель;ж;1;1;1;0;;0;1;;1 -1905;штаб;м;1;1;1;0;;0;1;;1 -1907;владелец;м;1;1;0;0;владельцы;1;0;;1 -1908;компьютер;м;1;1;1;0;;0;1;;1 -1911;инженер;м;1;1;1;0;;1;0;;1 -1917;старуха;ж;1;1;1;0;;1;0;;1 -1918;лодка;ж;1;1;1;0;;0;1;;1 -1919;ракета;ж;1;1;1;0;;0;1;;1 -1921;серия;ж;1;1;1;0;;0;1;;1 -1923;шутка;ж;1;1;1;0;;0;1;;1 -1924;вершина;ж;1;1;1;0;;0;1;;1 -1926;выпуск;м;1;1;1;0;;0;1;;1 -1927;кулак;м;1;1;1;0;;0;1;;1 -1928;лед;м;1;1;0;0;льды;0;1;;1 -1930;торговля;ж;1;0;0;0;;0;1;;1 -1934;нефть;ж;1;1;1;0;;0;1;;1 -1936;молодежь;ж;1;0;0;0;;0;1;;1 -1937;цифра;ж;1;1;1;0;;0;1;;1 -1938;корпус;м;1;1;1;0;;0;1;;1 -1940;недостаток;м;1;1;0;1;;0;1;;1 -1942;сапог;м;1;1;1;0;;0;1;;1 -1944;сущность;ж;1;1;1;0;;0;1;;1 -1945;талант;м;1;1;1;0;;0;1;;1 -1948;эффективность;ж;1;1;1;0;;0;1;;1 -1951;кофе;м;1;0;0;0;;0;1;;1 -1953;полоса;ж;1;1;1;0;;0;1;;1 -1963;рассмотрение;с;1;1;1;0;;0;1;;1 -1967;сбор;м;1;1;1;0;;0;1;;1 -1968;штат;м;1;1;1;0;;0;1;;1 -1970;следователь;м;1;1;1;0;;1;0;;1 -1971;жильё;с;1;0;0;0;;0;1;;1 -1972;мешок;м;1;1;0;1;;0;1;;1 -1974;описание;с;1;1;1;0;;0;1;;1 -1976;куст;м;1;1;1;0;;0;1;;1 -1977;отказ;м;1;1;1;0;;0;1;;1 -1979;замок;м;1;1;1;0;;0;1;;1 -1980;пропасть;ж;1;1;1;0;;0;1;;1 -1982;редактор;м;1;1;1;0;;1;0;;1 -1984;дворец;м;1;1;0;1;;0;1;;1 -1985;забота;ж;1;1;1;0;;0;1;;1 -1987;пиво;с;1;0;0;0;;0;1;;1 -1990;диван;м;1;1;1;0;;0;1;;1 -1994;столик;м;1;1;1;0;;0;1;;1 -1997;эксперимент;м;1;1;1;0;;0;1;;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 +598;кровь;ж;1;0;0;0;0;0;;0;1;;1 +645;память;ж;1;0;0;0;0;0;;0;1;;1 +740;литература;ж;1;0;0;0;0;0;;0;1;;1 +1303;водка;ж;1;0;0;0;0;0;;0;1;;1 +1345;весна;ж;1;0;0;0;0;0;;0;1;;1 +1351;охрана;ж;1;0;0;0;0;0;;0;1;;1 +1470;честь;ж;1;0;0;0;0;0;;0;1;;1 +1619;тишина;ж;1;0;0;0;0;0;;0;1;;1 +1638;публика;ж;1;0;0;0;0;0;;0;1;;1 +1763;темнота;ж;1;0;0;0;0;0;;0;1;;1 +1930;торговля;ж;1;0;0;0;0;0;;0;1;;1 +1936;молодежь;ж;1;0;0;0;0;0;;0;1;;1 +272;свет;м;1;0;0;0;0;0;;0;1;;1 +583;воздух;м;1;0;0;0;0;0;;0;1;;1 +1369;запад;м;1;0;0;0;0;0;;0;1;;1 +1578;восток;м;1;0;0;0;0;0;;0;1;;1 +1951;кофе;м;1;0;0;0;0;0;;0;1;;1 +634;население;с;1;0;0;0;0;0;;0;1;;1 +635;большинство;с;1;0;0;0;0;0;;0;1;;1 +784;счастье;с;1;0;0;0;0;0;;0;1;;1 +889;лето;с;1;0;0;0;0;0;;0;1;;1 +911;будущее;с;1;0;0;0;0;0;;0;1;;1 +1080;детство;с;1;0;0;0;0;0;;0;1;;1 +1087;прошлое;с;1;0;0;0;0;0;;0;1;;1 +1146;здоровье;с;1;0;0;0;0;0;;0;1;;1 +1200;поведение;с;1;0;0;0;0;0;;0;1;;1 +1219;кино;с;1;0;0;0;0;0;;0;1;;1 +1354;оборудование;с;1;0;0;0;0;0;;0;1;;1 +1382;имущество;с;1;0;0;0;0;0;;0;1;;1 +1414;законодательство;с;1;0;0;0;0;0;;0;1;;1 +1460;нечто;с;1;0;0;0;0;0;;0;1;;1 +1676;творчество;с;1;0;0;0;0;0;;0;1;;1 +1685;дно;с;1;0;0;0;0;0;;0;1;;1 +1691;мясо;с;1;0;0;0;0;0;;0;1;;1 +1764;человечество;с;1;0;0;0;0;0;;0;1;;1 +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 +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 +121;сторона;ж;1;1;1;0;1;0;;0;1;;1 +125;страна;ж;1;1;1;0;1;0;;0;1;;1 +132;голова;ж;1;1;1;0;1;0;;0;1;;1 +140;сила;ж;1;1;1;0;1;0;;0;1;;1 +146;система;ж;1;1;1;0;1;0;;0;1;;1 +154;часть;ж;1;1;1;0;1;0;;0;1;;1 +171;женщина;ж;1;1;1;0;1;0;;1;0;;1 +178;деньги;ж;0;1;1;0;1;0;;0;1;;1 +184;земля;ж;1;1;1;0;1;0;;0;1;;1 +187;машина;ж;1;1;1;0;1;0;;0;1;;1 +197;проблема;ж;1;1;1;0;1;0;;0;1;;1 +205;нога;ж;1;1;1;0;1;0;;0;1;;1 +210;дверь;ж;1;1;1;0;1;0;;0;1;;1 +214;история;ж;1;1;1;0;1;0;;0;1;;1 +216;власть;ж;1;1;1;0;1;0;;0;1;;1 +219;война;ж;1;1;1;0;1;0;;0;1;;1 +230;книга;ж;1;1;1;0;1;0;;0;1;;1 +236;ночь;ж;1;1;1;0;1;0;;0;1;;1 +240;область;ж;1;1;1;0;1;0;;0;1;;1 +244;статья;ж;1;1;1;0;1;0;;0;1;;1 +247;компания;ж;1;1;1;0;1;0;;0;1;;1 +255;жена;ж;1;1;1;0;1;0;;1;0;;1 +258;группа;ж;1;1;1;0;1;0;;0;1;;1 +275;душа;ж;1;1;1;0;1;0;;0;1;;1 +282;форма;ж;1;1;1;0;1;0;;0;1;;1 +283;связь;ж;1;1;1;0;1;0;;0;1;;1 +285;минута;ж;1;1;1;0;1;0;;0;1;;1 +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;1;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 +322;деятельность;ж;1;1;1;0;1;0;;0;1;;1 +323;организация;ж;1;1;1;0;1;0;;0;1;;1 +327;комната;ж;1;1;1;0;1;0;;0;1;;1 +339;ситуация;ж;1;1;1;0;1;0;;0;1;;1 +340;роль;ж;1;1;1;0;1;0;;0;1;;1 +350;квартира;ж;1;1;1;0;1;0;;0;1;;1 +361;мера;ж;1;1;1;0;1;0;;0;1;;1 +363;смерть;ж;1;1;1;0;1;0;;0;1;;1 +366;программа;ж;1;1;1;0;1;0;;0;1;;1 +367;задача;ж;1;1;1;0;1;0;;0;1;;1 +378;семья;ж;1;1;1;0;1;0;;0;1;;1 +388;информация;ж;1;1;1;0;1;0;;0;1;;1 +400;стена;ж;1;1;1;0;1;0;;0;1;;1 +405;федерация;ж;1;1;1;0;1;0;;0;1;;1 +418;правда;ж;1;1;1;0;1;0;;0;1;;1 +420;партия;ж;1;1;1;0;1;0;;0;1;;1 +434;вещь;ж;1;1;1;0;1;0;;0;1;;1 +436;неделя;ж;1;1;1;0;1;0;;0;1;;1 +443;глава;ж;1;1;1;0;1;0;;0;1;;1 +446;наука;ж;1;1;1;0;1;0;;0;1;;1 +449;газета;ж;1;1;1;0;1;0;;0;1;;1 +450;причина;ж;1;1;1;0;1;0;;0;1;;1 +454;цена;ж;1;1;1;0;1;0;;0;1;;1 +457;речь;ж;1;1;1;0;1;0;;0;1;;1 +460;точка;ж;1;1;1;0;1;0;;0;1;;1 +461;основа;ж;1;1;1;0;1;0;;0;1;;1 +463;культура;ж;1;1;1;0;1;0;;0;1;;1 +481;встреча;ж;1;1;1;0;1;0;;0;1;;1 +500;служба;ж;1;1;1;0;1;0;;0;1;;1 +507;судьба;ж;1;1;1;0;1;0;;0;1;;1 +509;девушка;ж;1;1;1;0;1;0;;1;0;;1 +511;очередь;ж;1;1;1;0;1;0;;0;1;;1 +546;структура;ж;1;1;1;0;1;0;;0;1;;1 +556;игра;ж;1;1;1;0;1;0;;0;1;;1 +562;тема;ж;1;1;1;0;1;0;;0;1;;1 +602;армия;ж;1;1;1;0;1;0;;0;1;;1 +606;девочка;ж;1;1;1;0;1;0;;1;0;;1 +607;политика;ж;1;1;1;0;1;0;;0;1;;1 +610;картина;ж;1;1;1;0;1;0;;0;1;;1 +613;спина;ж;1;1;1;0;1;0;;0;1;;1 +614;территория;ж;1;1;1;0;1;0;;0;1;;1 +628;церковь;ж;1;1;1;0;1;0;;0;1;;1 +633;сцена;ж;1;1;1;0;1;0;;0;1;;1 +639;музыка;ж;1;1;1;0;1;0;;0;1;;1 +641;правда;ж;1;1;1;0;1;0;;0;1;;1 +644;свобода;ж;1;1;1;0;1;0;;0;1;;1 +648;команда;ж;1;1;1;0;1;0;;0;1;;1 +668;природа;ж;1;1;1;0;1;0;;0;1;;1 +677;позиция;ж;1;1;1;0;1;0;;0;1;;1 +691;вера;ж;1;1;1;0;1;0;;0;1;;1 +694;фирма;ж;1;1;1;0;1;0;;0;1;;1 +706;оценка;ж;1;1;1;0;1;0;;0;1;;1 +715;песня;ж;1;1;1;0;1;0;;0;1;;1 +727;половина;ж;1;1;1;0;1;0;;0;1;;1 +739;экономика;ж;1;1;1;0;1;0;;0;1;;1 +741;бумага;ж;1;1;1;0;1;0;;0;1;;1 +749;степень;ж;1;1;1;0;1;0;;0;1;;1 +753;надежда;ж;1;1;1;0;1;0;;0;1;;1 +763;граница;ж;1;1;1;0;1;0;;0;1;;1 +766;модель;ж;1;1;1;0;1;0;;0;1;;1 +767;операция;ж;1;1;1;0;1;0;;0;1;;1 +768;пара;ж;1;1;1;0;1;0;;0;1;;1 +799;база;ж;1;1;1;0;1;0;;0;1;;1 +804;защита;ж;1;1;1;0;1;0;;0;1;;1 +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;1;0;дочери;0;1;;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 +874;радость;ж;1;1;1;0;1;0;;0;1;;1 +875;безопасность;ж;1;1;1;0;1;0;;0;1;;1 +903;технология;ж;1;1;1;0;1;0;;0;1;;1 +906;реформа;ж;1;1;1;0;1;0;;0;1;;1 +909;собака;ж;1;1;1;0;1;0;;1;0;;1 +916;река;ж;1;1;1;0;1;0;;0;1;;1 +918;продукция;ж;1;1;1;0;1;0;;0;1;;1 +919;сумма;ж;1;1;1;0;1;0;;0;1;;1 +920;техника;ж;1;1;1;0;1;0;;0;1;;1 +928;сфера;ж;1;1;1;0;1;0;;0;1;;1 +932;необходимость;ж;1;1;1;0;1;0;;0;1;;1 +942;республика;ж;1;1;1;0;1;0;;0;1;;1 +948;воля;ж;1;1;1;0;1;0;;0;1;;1 +954;деревня;ж;1;1;1;0;1;0;;0;1;;1 +964;победа;ж;1;1;1;0;1;0;;0;1;;1 +975;звезда;ж;1;1;1;0;1;0;;0;1;;1 +979;масса;ж;1;1;1;0;1;0;;0;1;;1 +982;сестра;ж;1;1;1;0;1;0;;1;0;специальный падеж;1 +986;практика;ж;1;1;1;0;1;0;;0;1;;1 +996;слава;ж;1;1;1;0;1;0;;0;1;;1 +997;кухня;ж;1;1;1;0;1;0;;0;1;;1 +1003;комиссия;ж;1;1;1;0;1;0;;0;1;;1 +1013;фамилия;ж;1;1;1;0;1;0;;0;1;;1 +1024;бутылка;ж;1;1;1;0;1;0;;0;1;;1 +1029;теория;ж;1;1;1;0;1;0;;0;1;;1 +1030;зона;ж;1;1;1;0;1;0;;0;1;;1 +1033;разработка;ж;1;1;1;0;1;0;;0;1;;1 +1039;личность;ж;1;1;1;0;1;0;;1;1;;1 +1056;слеза;ж;1;1;1;0;1;0;;0;1;;1 +1059;ответственность;ж;1;1;1;0;1;0;;0;1;;1 +1065;боль;ж;1;1;1;0;1;0;;0;1;;1 +1068;особенность;ж;1;1;1;0;1;0;;0;1;;1 +1079;частность;ж;1;1;1;0;1;0;;0;1;;1 +1084;доля;ж;1;1;1;0;1;0;;0;1;;1 +1085;норма;ж;1;1;1;0;1;0;;0;1;;1 +1092;рамка;ж;1;1;1;0;1;0;;0;1;;1 +1106;клетка;ж;1;1;1;0;1;0;;0;1;;1 +1107;кожа;ж;1;1;1;0;1;0;;0;1;;1 +1110;попытка;ж;1;1;1;0;1;0;;0;1;;1 +1147;зима;ж;1;1;1;0;1;0;;0;1;;1 +1151;глубина;ж;1;1;1;0;1;0;;0;1;;1 +1152;сеть;ж;1;1;1;0;1;0;;0;1;;1 +1155;секунда;ж;1;1;1;0;1;0;;0;1;;1 +1156;скорость;ж;1;1;1;0;1;0;;0;1;;1 +1159;суть;ж;1;1;1;0;1;0;;0;1;;1 +1161;ошибка;ж;1;1;1;0;1;0;;0;1;;1 +1170;поверхность;ж;1;1;1;0;1;0;;0;1;;1 +1173;карта;ж;1;1;1;0;1;0;;0;1;;1 +1176;станция;ж;1;1;1;0;1;0;;0;1;;1 +1177;революция;ж;1;1;1;0;1;0;;0;1;;1 +1183;высота;ж;1;1;1;0;1;0;;0;1;;1 +1185;бабушка;ж;1;1;1;0;1;0;;1;0;специальный падеж;1 +1188;трубка;ж;1;1;1;0;1;0;;0;1;;1 +1205;столица;ж;1;1;1;0;1;0;;0;1;;1 +1207;передача;ж;1;1;1;0;1;0;;0;1;;1 +1214;энергия;ж;1;1;1;0;1;0;;0;1;;1 +1228;акция;ж;1;1;1;0;1;0;;0;1;;1 +1233;администрация;ж;1;1;1;0;1;0;;0;1;;1 +1237;стоимость;ж;1;1;1;0;1;0;;0;1;;1 +1247;фраза;ж;1;1;1;0;1;0;;0;1;;1 +1249;фигура;ж;1;1;1;0;1;0;;1;1;;1 +1253;реакция;ж;1;1;1;0;1;0;;0;1;;1 +1255;фотография;ж;1;1;1;0;1;0;;0;1;;1 +1262;толпа;ж;1;1;1;0;1;0;;0;1;;1 +1263;больница;ж;1;1;1;0;1;0;;0;1;;1 +1273;схема;ж;1;1;1;0;1;0;;0;1;;1 +1281;волна;ж;1;1;1;0;1;0;;0;1;;1 +1285;реализация;ж;1;1;1;0;1;0;;0;1;;1 +1286;страница;ж;1;1;1;0;1;0;;0;1;;1 +1291;красота;ж;1;1;1;0;1;0;;0;1;;1 +1294;птица;ж;1;1;1;0;1;0;;1;1;;1 +1298;тень;ж;1;1;1;0;1;0;;0;1;;1 +1308;одежда;ж;1;1;1;0;1;0;;0;1;;1 +1317;традиция;ж;1;1;1;0;1;0;;0;1;;1 +1320;ладонь;ж;1;1;1;0;1;0;;0;1;;1 +1341;редакция;ж;1;1;1;0;1;0;;0;1;;1 +1350;зависимость;ж;1;1;1;0;1;0;;0;1;;1 +1360;выставка;ж;1;1;1;0;1;0;;0;1;;1 +1361;милиция;ж;1;1;1;0;1;0;;0;1;;1 +1372;родина;ж;1;1;1;0;1;0;;0;1;;1 +1373;собственность;ж;1;1;1;0;1;0;;0;1;;1 +1374;тайна;ж;1;1;1;0;1;0;;0;1;;1 +1378;трава;ж;1;1;1;0;1;0;;0;1;;1 +1384;кровать;ж;1;1;1;0;1;0;;0;1;;1 +1393;середина;ж;1;1;1;0;1;0;;0;1;;1 +1400;дама;ж;1;1;1;0;1;0;;1;0;;1 +1405;отрасль;ж;1;1;1;0;1;0;;0;1;;1 +1407;беседа;ж;1;1;1;0;1;0;;0;1;;1 +1415;продажа;ж;1;1;1;0;1;0;;0;1;;1 +1436;рыба;ж;1;1;1;0;1;0;;1;1;;1 +1442;дума;ж;1;1;1;0;1;0;;0;1;;1 +1449;шея;ж;1;1;1;0;1;0;;0;1;;1 +1464;должность;ж;1;1;1;0;1;0;;0;1;;1 +1479;сотня;ж;1;1;1;0;1;0;;0;1;;1 +1492;лестница;ж;1;1;1;0;1;0;;0;1;;1 +1497;дача;ж;1;1;1;0;1;0;;0;1;;1 +1500;установка;ж;1;1;1;0;1;0;;0;1;;1 +1506;труба;ж;1;1;1;0;1;0;;0;1;;1 +1512;осень;ж;1;1;1;0;1;0;;0;1;;1 +1522;баба;ж;1;1;1;0;1;0;;1;0;;1 +1523;ценность;ж;1;1;1;0;1;0;;0;1;;1 +1524;обязанность;ж;1;1;1;0;1;0;;0;1;;1 +1525;пьеса;ж;1;1;1;0;1;0;;0;1;;1 +1527;таблица;ж;1;1;1;0;1;0;;0;1;;1 +1530;лошадь;ж;1;1;1;0;1;0;;1;1;;1 +1543;черта;ж;1;1;1;0;1;0;;0;1;;1 +1546;характеристика;ж;1;1;1;0;1;0;;0;1;;1 +1550;оборона;ж;1;1;1;0;1;0;;0;1;;1 +1552;температура;ж;1;1;1;0;1;0;;0;1;;1 +1554;перспектива;ж;1;1;1;0;1;0;;0;1;;1 +1556;подруга;ж;1;1;1;0;1;0;;1;0;;1 +1559;жертва;ж;1;1;1;0;1;0;;1;1;;1 +1572;промышленность;ж;1;1;1;0;1;0;;0;1;;1 +1605;польза;ж;1;1;1;0;1;0;;0;1;;1 +1608;обстановка;ж;1;1;1;0;1;0;;0;1;;1 +1616;деталь;ж;1;1;1;0;1;0;;0;1;;1 +1620;зарплата;ж;1;1;1;0;1;0;;0;1;;1 +1625;тюрьма;ж;1;1;1;0;1;0;;0;1;;1 +1629;книжка;ж;1;1;1;0;1;0;;0;1;;1 +1636;просьба;ж;1;1;1;0;1;0;;0;1;;1 +1642;угроза;ж;1;1;1;0;1;0;;0;1;;1 +1643;беда;ж;1;1;1;0;1;0;;0;1;;1 +1653;реклама;ж;1;1;1;0;1;0;;0;1;;1 +1681;концепция;ж;1;1;1;0;1;0;;0;1;;1 +1686;реальность;ж;1;1;1;0;1;0;;0;1;;1 +1693;щека;ж;1;1;1;0;1;0;;0;1;;1 +1701;запись;ж;1;1;1;0;1;0;;0;1;;1 +1706;площадка;ж;1;1;1;0;1;0;;0;1;;1 +1715;академия;ж;1;1;1;0;1;0;;0;1;;1 +1721;палата;ж;1;1;1;0;1;0;;0;1;;1 +1722;потребность;ж;1;1;1;0;1;0;;0;1;;1 +1730;поездка;ж;1;1;1;0;1;0;;0;1;;1 +1733;потеря;ж;1;1;1;0;1;0;;0;1;;1 +1747;категория;ж;1;1;1;0;1;0;;0;1;;1 +1754;гостиница;ж;1;1;1;0;1;0;;0;1;;1 +1774;камера;ж;1;1;1;0;1;0;;0;1;;1 +1779;длина;ж;1;1;1;0;1;0;;0;1;;1 +1797;доска;ж;1;1;1;0;1;0;;0;1;;1 +1811;страсть;ж;1;1;1;0;1;0;;0;1;;1 +1819;оплата;ж;1;1;1;0;1;0;;0;1;;1 +1820;разница;ж;1;1;1;0;1;0;;0;1;;1 +1828;формула;ж;1;1;1;0;1;0;;0;1;;1 +1840;новость;ж;1;1;1;0;1;0;;0;1;;1 +1852;смена;ж;1;1;1;0;1;0;;0;1;;1 +1868;тетя;ж;1;1;1;0;1;0;;1;0;;1 +1873;психология;ж;1;1;1;0;1;0;;0;1;;1 +1877;проверка;ж;1;1;1;0;1;0;;0;1;;1 +1879;процедура;ж;1;1;1;0;1;0;;0;1;;1 +1895;буква;ж;1;1;1;0;1;0;;0;1;;1 +1903;постель;ж;1;1;1;0;1;0;;0;1;;1 +1917;старуха;ж;1;1;1;0;1;0;;1;0;;1 +1918;лодка;ж;1;1;1;0;1;0;;0;1;;1 +1919;ракета;ж;1;1;1;0;1;0;;0;1;;1 +1921;серия;ж;1;1;1;0;1;0;;0;1;;1 +1923;шутка;ж;1;1;1;0;1;0;;0;1;;1 +1924;вершина;ж;1;1;1;0;1;0;;0;1;;1 +1934;нефть;ж;1;1;1;0;1;0;;0;1;;1 +1937;цифра;ж;1;1;1;0;1;0;;0;1;;1 +1944;сущность;ж;1;1;1;0;1;0;;0;1;;1 +1948;эффективность;ж;1;1;1;0;1;0;;0;1;;1 +1953;полоса;ж;1;1;1;0;1;0;;0;1;;1 +1980;пропасть;ж;1;1;1;0;1;0;;0;1;;1 +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 +346;смысл;м;1;1;1;0;1;0;;0;1;;1 +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 +397;муж;м;1;1;1;0;1;0;;1;0;;1 +398;автор;м;1;1;1;0;1;0;;1;0;;1 +403;интерес;м;1;1;1;0;1;0;;0;1;;1 +416;мужчина;м;1;1;1;0;1;0;;1;0;;1 +430;совет;м;1;1;1;0;1;0;;0;1;;1 +431;счёт;м;1;1;1;0;1;1;;0;1;;1 +435;материал;м;1;1;1;0;1;0;;0;1;;1 +448;ряд;м;1;1;1;0;1;0;;0;1;;1 +455;план;м;1;1;1;0;1;0;;0;1;;1 +462;товарищ;м;1;1;1;0;1;0;;1;0;;1 +474;документ;м;1;1;1;0;1;0;;0;1;;1 +475;институт;м;1;1;1;0;1;0;;0;1;;1 +476;ход;м;1;1;1;0;1;0;;0;1;;1 +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;0;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 +597;мальчик;м;1;1;1;0;1;0;;1;0;;1 +599;район;м;1;1;1;0;1;0;;0;1;;1 +603;класс;м;1;1;1;0;1;0;;0;1;;1 +604;представитель;м;1;1;1;0;1;0;;1;0;;1 +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 +713;регион;м;1;1;1;0;1;0;;0;1;;1 +716;процент;м;1;1;1;0;1;0;;0;1;;1 +717;родитель;м;1;1;1;0;1;0;;1;0;;1 +733;роман;м;1;1;1;0;1;0;;0;1;;1 +734;круг;м;1;1;1;0;1;0;;0;1;;1 +735;анализ;м;1;1;1;0;1;0;;0;1;;1 +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 +777;миллион;м;1;1;1;0;1;0;;0;1;;1 +780;успех;м;1;1;1;0;1;0;;0;1;;1 +787;ребята;м;0;1;1;0;1;0;;0;1;;1 +789;кабинет;м;1;1;1;0;1;0;;0;1;;1 +794;магазин;м;1;1;1;0;1;0;;0;1;;1 +796;выход;м;1;1;1;0;1;0;;0;1;;1 +798;удар;м;1;1;1;0;1;0;;0;1;;1 +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 +837;председатель;м;1;1;1;0;1;0;;1;0;;1 +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;0;0;ветра;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 +879;комплекс;м;1;1;1;0;1;0;;0;1;;1 +880;бизнес;м;1;1;1;0;1;0;;0;1;;1 +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 +991;карман;м;1;1;1;0;1;0;;0;1;;1 +1005;капитан;м;1;1;1;0;1;0;;1;0;;1 +1006;работник;м;1;1;1;0;1;0;;1;0;;1 +1010;офицер;м;1;1;1;0;1;0;;1;0;;1 +1014;предел;м;1;1;1;0;1;0;;0;1;;1 +1025;бой;м;1;1;1;0;1;0;;0;1;;1 +1031;отдел;м;1;1;1;0;1;0;;0;1;;1 +1032;зуб;м;1;1;1;0;1;0;;0;1;;1 +1040;гора;ж;1;1;1;0;1;0;;0;1;;1 +1042;товар;м;1;1;1;0;1;0;;0;1;;1 +1046;метр;м;1;1;1;0;1;0;;0;1;;1 +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 +1074;звук;м;1;1;1;0;1;0;;0;1;;1 +1081;вывод;м;1;1;1;0;1;0;;0;1;;1 +1082;профессор;м;1;1;1;0;1;0;;1;0;;1 +1089;командир;м;1;1;1;0;1;0;;1;0;;1 +1090;коридор;м;1;1;1;0;1;0;;0;1;;1 +1096;враг;м;1;1;1;0;1;0;;0;1;;1 +1098;этап;м;1;1;1;0;1;0;;0;1;;1 +1099;черт;м;1;1;1;0;1;0;;0;1;;1 +1100;дед;м;1;1;1;0;1;0;;1;0;;1 +1103;прием;м;1;1;1;0;1;0;;0;1;;1 +1105;болезнь;м;1;1;1;0;1;0;;0;1;;1 +1113;расчет;м;1;1;1;0;1;0;;0;1;;1 +1115;депутат;м;1;1;1;0;1;0;;1;0;;1 +1123;комитет;м;1;1;1;0;1;0;;0;1;;1 +1124;знак;м;1;1;1;0;1;0;;0;1;;1 +1128;дядя;м;1;1;1;0;1;0;;1;0;;1 +1129;учет;м;1;1;1;0;1;0;;0;1;;1 +1130;хлеб;м;1;1;1;0;1;1;;0;1;;1 +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 +1167;доход;м;1;1;1;0;1;0;;0;1;;1 +1169;режиссер;м;1;1;1;0;1;0;;1;0;;1 +1174;клуб;м;1;1;1;0;1;0;;0;1;;1 +1181;этаж;м;1;1;1;0;1;0;;0;1;;1 +1195;газ;м;1;1;1;0;1;0;;0;1;;1 +1197;мастер;м;1;1;1;0;1;1;;1;0;;1 +1206;механизм;м;1;1;1;0;1;0;;0;1;;1 +1211;подход;м;1;1;1;0;1;0;;0;1;;1 +1221;заместитель;м;1;1;1;0;1;0;;1;0;;1 +1226;ресурс;м;1;1;1;0;1;0;;0;1;;1 +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 +1301;запах;м;1;1;1;0;1;0;;0;1;;1 +1307;ужас;м;1;1;1;0;1;0;;0;1;;1 +1312;поезд;м;1;1;1;0;0;1;;0;1;;1 +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 +1338;зритель;м;1;1;1;0;1;0;;1;0;;1 +1344;стиль;м;1;1;1;0;1;0;;0;1;;1 +1347;фактор;м;1;1;1;0;1;0;;0;1;;1 +1348;август;м;1;1;1;0;1;0;;0;1;;1 +1356;концерт;м;1;1;1;0;1;0;;0;1;;1 +1358;расход;м;1;1;1;0;1;0;;0;1;;1 +1366;переход;м;1;1;1;0;1;0;;0;1;;1 +1368;эпоха;ж;1;1;1;0;1;0;;0;1;;1 +1380;лагерь;м;1;1;1;0;1;1;;0;1;;1 +1390;аппарат;м;1;1;1;0;1;0;;0;1;;1 +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;0;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 +1433;апрель;м;1;1;1;0;1;0;;0;1;;1 +1434;князь;м;1;1;1;0;1;0;князья;1;0;;1 +1445;кодекс;м;1;1;1;0;1;0;;0;1;;1 +1446;сутки;м;0;1;1;0;1;0;;0;1;;1 +1451;судья;м;1;1;1;0;1;0;;1;0;;1 +1456;крыша;м;1;1;1;0;1;0;;0;1;;1 +1461;поток;м;1;1;1;0;1;0;;0;1;;1 +1467;мозг;м;1;1;1;0;1;0;;0;1;;1 +1471;пост;м;1;1;1;0;1;0;;0;1;;1 +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 +1537;ученик;м;1;1;1;0;1;0;;1;0;;1 +1542;том;м;1;1;1;0;1;1;;0;1;;1 +1557;приказ;м;1;1;1;0;1;0;;0;1;;1 +1562;ресторан;м;1;1;1;0;1;0;;0;1;;1 +1563;километр;м;1;1;1;0;1;0;;0;1;;1 +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 +1668;урок;м;1;1;1;0;1;0;;0;1;;1 +1672;крик;м;1;1;1;0;1;0;;0;1;;1 +1677;телевизор;м;1;1;1;0;1;0;;0;1;;1 +1679;инструмент;м;1;1;1;0;1;0;;0;1;;1 +1683;лейтенант;м;1;1;1;0;1;0;;1;0;;1 +1684;экран;м;1;1;1;0;1;0;;0;1;;1 +1689;канал;м;1;1;1;0;1;0;;0;1;;1 +1697;конфликт;м;1;1;1;0;1;0;;0;1;;1 +1703;вагон;м;1;1;1;0;1;0;;0;1;;1 +1712;тон;м;1;1;1;0;1;1;;0;1;;1 +1725;ноябрь;м;1;1;1;0;1;0;;0;1;;1 +1728;дурак;м;1;1;1;0;1;0;;1;0;;1 +1731;обед;м;1;1;1;0;1;0;;0;1;;1 +1736;февраль;м;1;1;1;0;1;0;;0;1;;1 +1739;парк;м;1;1;1;0;1;0;;0;1;;1 +1749;сезон;м;1;1;1;0;1;0;;0;1;;1 +1773;коллектив;м;1;1;1;0;1;0;;0;1;;1 +1776;запас;м;1;1;1;0;1;0;;0;1;;1 +1783;округ;м;1;1;1;0;1;1;;0;1;;1 +1785;фон;м;1;1;1;0;1;0;;0;1;;1 +1786;кандидат;м;1;1;1;0;1;0;;1;0;;1 +1787;родственник;м;1;1;1;0;1;0;;1;0;;1 +1799;партнер;м;1;1;1;0;1;0;;1;0;;1 +1800;двигатель;м;1;1;1;0;1;0;;0;1;;1 +1801;шум;м;1;1;1;0;1;0;;0;1;;1 +1805;грех;м;1;1;1;0;1;0;;0;1;;1 +1807;нож;м;1;1;1;0;1;0;;0;1;;1 +1808;полет;м;1;1;1;0;1;0;;0;1;;1 +1822;водитель;м;1;1;1;0;1;0;;1;0;;1 +1825;пакет;м;1;1;1;0;1;0;;0;1;;1 +1830;живот;м;1;1;1;0;1;0;;0;1;;1 +1831;капитал;м;1;1;1;0;1;0;;0;1;;1 +1837;мост;м;1;1;1;0;1;0;;0;1;;1 +1841;эффект;м;1;1;1;0;1;0;;0;1;;1 +1842;вход;м;1;1;1;0;1;0;;0;1;;1 +1844;губернатор;м;1;1;1;0;1;0;;1;0;;1 +1849;доклад;м;1;1;1;0;1;0;;0;1;;1 +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 +268;средство;с;1;1;1;0;1;0;;0;1;;1 +270;начало;с;1;1;1;0;1;0;;0;1;;1 +298;качество;с;1;1;1;0;1;0;;0;1;;1 +302;действие;с;1;1;1;0;1;0;;0;1;;1 +305;государство;с;1;1;1;0;1;0;;0;1;;1 +320;общество;с;1;1;1;0;1;0;;0;1;;1 +333;письмо;с;1;1;1;0;1;0;;0;1;;1 +336;утро;с;1;1;1;0;1;0;;0;1;;1 +355;внимание;с;1;1;1;0;1;0;;0;1;;1 +356;тело;с;1;1;1;0;1;0;;0;1;;1 +368;предприятие;с;1;1;1;0;1;0;;0;1;;1 +370;окно;с;1;1;1;0;1;0;;0;1;;1 +376;правительство;с;1;1;1;0;1;0;;0;1;;1 +380;производство;с;1;1;1;0;1;0;;0;1;;1 +390;положение;с;1;1;1;0;1;0;;0;1;;1 +406;правило;с;1;1;1;0;1;0;;0;1;;1 +410;управление;с;1;1;1;0;1;0;;0;1;;1 +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 +624;направление;с;1;1;1;0;1;0;;0;1;;1 +626;течение;с;1;1;1;0;1;0;;0;1;;1 +659;дерево;с;1;1;1;0;1;0;;0;1;;1 +690;солнце;с;1;1;1;0;1;0;;0;1;;1 +720;море;с;1;1;1;0;1;0;;0;1;;1 +722;требование;с;1;1;1;0;1;0;;0;1;;1 +726;основание;с;1;1;1;0;1;0;;0;1;;1 +771;название;с;1;1;1;0;1;0;;0;1;;1 +795;пространство;с;1;1;1;0;1;0;;0;1;;1 +800;знание;с;1;1;1;0;1;0;;0;1;;1 +806;руководство;с;1;1;1;0;1;0;;0;1;;1 +809;сознание;с;1;1;1;0;1;0;;0;1;;1 +825;желание;с;1;1;1;0;1;0;;0;1;;1 +843;оружие;с;1;1;1;0;1;0;;0;1;;1 +845;соответствие;с;1;1;1;0;1;0;;0;1;;1 +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 +927;здание;с;1;1;1;0;1;0;;0;1;;1 +943;хозяйство;с;1;1;1;0;1;0;;0;1;;1 +960;обстоятельство;с;1;1;1;0;1;0;;0;1;;1 +998;определение;с;1;1;1;0;1;0;;0;1;;1 +1002;войско;с;1;1;1;0;1;0;;0;1;;1 +1009;обеспечение;с;1;1;1;0;1;0;;0;1;;1 +1050;влияние;с;1;1;1;0;1;0;;0;1;;1 +1054;удовольствие;с;1;1;1;0;1;0;;0;1;;1 +1066;множество;с;1;1;1;0;1;0;;0;1;;1 +1077;впечатление;с;1;1;1;0;1;0;;0;1;;1 +1102;собрание;с;1;1;1;0;1;0;;0;1;;1 +1108;заявление;с;1;1;1;0;1;0;;0;1;;1 +1111;сравнение;с;1;1;1;0;1;0;;0;1;;1 +1142;выражение;с;1;1;1;0;1;0;;0;1;;1 +1178;колено;с;1;1;1;0;1;0;;0;1;;1 +1179;министерство;с;1;1;1;0;1;0;;0;1;;1 +1180;стекло;с;1;1;1;0;1;0;;0;1;;1 +1230;рождение;с;1;1;1;0;1;0;;0;1;;1 +1260;нарушение;с;1;1;1;0;1;0;;0;1;;1 +1261;заседание;с;1;1;1;0;1;0;;0;1;;1 +1264;существо;с;1;1;1;0;1;0;;0;1;;1 +1268;свойство;с;1;1;1;0;1;0;;0;1;;1 +1270;поколение;с;1;1;1;0;1;0;;0;1;;1 +1274;усилие;с;1;1;1;0;1;0;;0;1;;1 +1275;отличие;с;1;1;1;0;1;0;;0;1;;1 +1287;формирование;с;1;1;1;0;1;0;;0;1;;1 +1297;растение;с;1;1;1;0;1;0;;0;1;;1 +1299;явление;с;1;1;1;0;1;0;;0;1;;1 +1310;кресло;с;1;1;1;0;1;0;;0;1;;1 +1322;сведение;с;1;1;1;0;1;0;;0;1;;1 +1329;занятие;с;1;1;1;0;1;0;;0;1;;1 +1333;помещение;с;1;1;1;0;1;0;;0;1;;1 +1349;известие;с;1;1;1;0;1;0;;0;1;;1 +1357;отделение;с;1;1;1;0;1;0;;0;1;;1 +1371;произведение;с;1;1;1;0;1;0;;0;1;;1 +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 +1549;выполнение;с;1;1;1;0;1;0;;0;1;;1 +1551;выступление;с;1;1;1;0;1;0;;0;1;;1 +1576;заключение;с;1;1;1;0;1;0;;0;1;;1 +1580;исключение;с;1;1;1;0;1;0;;0;1;;1 +1585;постановление;с;1;1;1;0;1;0;;0;1;;1 +1615;соглашение;с;1;1;1;0;1;0;;0;1;;1 +1631;изучение;с;1;1;1;0;1;0;;0;1;;1 +1641;сообщение;с;1;1;1;0;1;0;;0;1;;1 +1651;достижение;с;1;1;1;0;1;0;;0;1;;1 +1652;назначение;с;1;1;1;0;1;0;;0;1;;1 +1662;масло;с;1;1;1;0;1;0;;0;1;;1 +1707;последствие;с;1;1;1;0;1;0;;0;1;;1 +1711;зеркало;с;1;1;1;0;1;0;;0;1;;1 +1726;увеличение;с;1;1;1;0;1;0;;0;1;;1 +1738;мероприятие;с;1;1;1;0;1;0;;0;1;;1 +1740;принятие;с;1;1;1;0;1;0;;0;1;;1 +1741;устройство;с;1;1;1;0;1;0;;0;1;;1 +1742;вещество;с;1;1;1;0;1;0;;0;1;;1 +1755;издание;с;1;1;1;0;1;0;;0;1;;1 +1761;объединение;с;1;1;1;0;1;0;;0;1;;1 +1768;колесо;с;1;1;1;0;1;0;;0;1;;1 +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 +1853;убийство;с;1;1;1;0;1;0;;0;1;;1 +1862;платье;с;1;1;1;0;1;0;;0;1;;1 +1871;общение;с;1;1;1;0;1;0;;0;1;;1 +1884;обращение;с;1;1;1;0;1;0;;0;1;;1 +1885;обучение;с;1;1;1;0;1;0;;0;1;;1 +1887;ожидание;с;1;1;1;0;1;0;;0;1;;1 +1893;наблюдение;с;1;1;1;0;1;0;;0;1;;1 +1897;доказательство;с;1;1;1;0;1;0;;0;1;;1 +1900;признание;с;1;1;1;0;1;0;;0;1;;1 +1963;рассмотрение;с;1;1;1;0;1;0;;0;1;;1 +1974;описание;с;1;1;1;0;1;0;;0;1;;1 diff --git a/rudict/frequent_nouns_2000.xlsx b/rudict/frequent_nouns_2000.xlsx index 86459d5..a78ef5d 100644 Binary files a/rudict/frequent_nouns_2000.xlsx and b/rudict/frequent_nouns_2000.xlsx differ diff --git a/rudict/grammar_case.csv b/rudict/grammar_case.csv index 4475705..b4b984f 100644 --- a/rudict/grammar_case.csv +++ b/rudict/grammar_case.csv @@ -1,168 +1,193 @@ -FIRST_A_IFORM_SINGULAR;NGC_P1_NOMINATIVE;а;рука -;NGC_P2_GENITIVE;и;подарок для руки -;NGC_P3_DATIVE;е;подарок руке -;NGC_P4_ACCUSATIVE;у;обвиняю руку -;NGC_P5_INSTRUMENTAL;ой;говорю с рукой -;NGC_P6_PREPOSITIONAL;е;говорю о руке -FIRST_A_IFORM_INANIMATE_PLURAL;NGC_P1_NOMINATIVE;и;руки -;NGC_P2_GENITIVE;;подарок для рук -;NGC_P3_DATIVE;е;подарок рукам -;NGC_P4_ACCUSATIVE;и;обвиняю руки -;NGC_P5_INSTRUMENTAL;ами;говорю с руками -;NGC_P6_PREPOSITIONAL;ах;говорю о руках -FIRST_A_IFORM_ANIMATE_PLURAL;NGC_P1_NOMINATIVE;и;бабушки -;NGC_P2_GENITIVE;;подарок для бабушек -;NGC_P3_DATIVE;е;подарок бабушкам -;NGC_P4_ACCUSATIVE;;обвиняю бабушек -;NGC_P5_INSTRUMENTAL;ами;говорю с бабушками -;NGC_P6_PREPOSITIONAL;ах;говорю о бабушках -FIRST_A_UFORM_SINGULAR;NGC_P1_NOMINATIVE;а;лапа -;NGC_P2_GENITIVE;ы;подарок для лапы -;NGC_P3_DATIVE;е;подарок лапе -;NGC_P4_ACCUSATIVE;у;обвиняю лапу -;NGC_P5_INSTRUMENTAL;ой;говорю с лапой -;NGC_P6_PREPOSITIONAL;е;говорю о лапе -FIRST_A_UFORM_INANIMATE_PLURAL;NGC_P1_NOMINATIVE;ы;лапы -;NGC_P2_GENITIVE;;подарок для лап -;NGC_P3_DATIVE;ам;подарок лапам -;NGC_P4_ACCUSATIVE;ы;обвиняю лапы -;NGC_P5_INSTRUMENTAL;ами;говорю с лапами -;NGC_P6_PREPOSITIONAL;ах;говорю о лапах -FIRST_A_UFORM_ANIMATE_PLURAL;NGC_P1_NOMINATIVE;ы;папы -;NGC_P2_GENITIVE;;подарок для пап -;NGC_P3_DATIVE;ам;подарок папам -;NGC_P4_ACCUSATIVE;;обвиняю пап -;NGC_P5_INSTRUMENTAL;ами;говорю с папами -;NGC_P6_PREPOSITIONAL;ах;говорю о папах -FIRST_YA_FORM_SINGULAR;NGC_P1_NOMINATIVE;я;пуля -;NGC_P2_GENITIVE;и;подарок для пули -;NGC_P3_DATIVE;е;подарок пуле -;NGC_P4_ACCUSATIVE;ю;обвиняю пулю -;NGC_P5_INSTRUMENTAL;ей;говорю с пулей -;NGC_P6_PREPOSITIONAL;е;говорю о пуле -FIRST_YA_FORM_INANIMATE_PLURAL;NGC_P1_NOMINATIVE;и;пули -;NGC_P2_GENITIVE;ь;подарок для пуль -;NGC_P3_DATIVE;ям;подарок пулям -;NGC_P4_ACCUSATIVE;и;обвиняю пули -;NGC_P5_INSTRUMENTAL;ями;говорю с пулями -;NGC_P6_PREPOSITIONAL;ях;говорю о пулях -FIRST_YA_FORM_ANIMATE_PLURAL;NGC_P1_NOMINATIVE;и;тети -;NGC_P2_GENITIVE;ь;подарок для теть -;NGC_P3_DATIVE;ям;подарок тетям -;NGC_P4_ACCUSATIVE;ь;обвиняю теть -;NGC_P5_INSTRUMENTAL;ями;говорю с тетями -;NGC_P6_PREPOSITIONAL;ях;говорю о тетях -SECOND_MALE_IFORM_INANIMATE_SINGULAR;NGC_P1_NOMINATIVE;;бук -;NGC_P2_GENITIVE;а;подарок для бука -;NGC_P3_DATIVE;у;подарок буку -;NGC_P4_ACCUSATIVE;;обвиняю бук -;NGC_P5_INSTRUMENTAL;ом;говорю с буком -;NGC_P6_PREPOSITIONAL;е;говорю о буке -SECOND_MALE_IFORM_INANIMATE_PLURAL;NGC_P1_NOMINATIVE;и;буки -;NGC_P2_GENITIVE;ов;подарок для буков -;NGC_P3_DATIVE;у;подарок букам -;NGC_P4_ACCUSATIVE;и;обвиняю буки -;NGC_P5_INSTRUMENTAL;ами;говорю с буками -;NGC_P6_PREPOSITIONAL;ах;говорю о буках -SECOND_MALE_IFORM_ANIMATE_SINGULAR;NGC_P1_NOMINATIVE;;рыбак -;NGC_P2_GENITIVE;а;подарок для рыбака -;NGC_P3_DATIVE;у;подарок рыбаку -;NGC_P4_ACCUSATIVE;а;обвиняю рыбака -;NGC_P5_INSTRUMENTAL;ом;говорю с рыбаком -;NGC_P6_PREPOSITIONAL;е;говорю о рыбаке -SECOND_MALE_IFORM_ANIMATE_PLURAL;NGC_P1_NOMINATIVE;и;рыбаки -;NGC_P2_GENITIVE;ов;подарок для рыбаков -;NGC_P3_DATIVE;ам;подарок рыбакам -;NGC_P4_ACCUSATIVE;ов;обвиняю рыбаков -;NGC_P5_INSTRUMENTAL;ами;говорю с рыбаками -;NGC_P6_PREPOSITIONAL;ах;говорю о рыбаках -SECOND_MALE_UFORM_INANIMATE_SINGULAR;NGC_P1_NOMINATIVE;;зад -;NGC_P2_GENITIVE;а;подарок для зада -;NGC_P3_DATIVE;у;подарок заду -;NGC_P4_ACCUSATIVE;;обвиняю зад -;NGC_P5_INSTRUMENTAL;ом;говорю с задом -;NGC_P6_PREPOSITIONAL;е;говорю о заде -SECOND_MALE_UFORM_INANIMATE_PLURAL;NGC_P1_NOMINATIVE;ы;зады -;NGC_P2_GENITIVE;ов;подарок для задов -;NGC_P3_DATIVE;ам;подарок задам -;NGC_P4_ACCUSATIVE;ы;обвиняю зады -;NGC_P5_INSTRUMENTAL;ами;говорю с задами -;NGC_P6_PREPOSITIONAL;ах;говорю о задах -SECOND_MALE_UFORM_ANIMATE_SINGULAR;NGC_P1_NOMINATIVE;;кит -;NGC_P2_GENITIVE;а;подарок для кита -;NGC_P3_DATIVE;у;подарок киту -;NGC_P4_ACCUSATIVE;а;обвиняю кита -;NGC_P5_INSTRUMENTAL;ом;говорю с китом -;NGC_P6_PREPOSITIONAL;е;говорю о ките -SECOND_MALE_UFORM_ANIMATE_PLURAL;NGC_P1_NOMINATIVE;ы;киты -;NGC_P2_GENITIVE;ов;подарок для китов -;NGC_P3_DATIVE;ам;подарок китам -;NGC_P4_ACCUSATIVE;ов;обвиняю китов -;NGC_P5_INSTRUMENTAL;ами;говорю с китами -;NGC_P6_PREPOSITIONAL;ах;говорю о китах -SECOND_MALE_SSFORM_INANIMATE_SINGULAR;NGC_P1_NOMINATIVE;ь;тополь -;NGC_P2_GENITIVE;я;подарок для тополя -;NGC_P3_DATIVE;ю;подарок тополю -;NGC_P4_ACCUSATIVE;ь;обвиняю тополь -;NGC_P5_INSTRUMENTAL;ем;говорю с тополем -;NGC_P6_PREPOSITIONAL;е;говорю о тополе -SECOND_MALE_SSFORM_INANIMATE_PLURAL;NGC_P1_NOMINATIVE;и;тополи -;NGC_P2_GENITIVE;ей;подарок для тополей -;NGC_P3_DATIVE;ям;подарок тополям -;NGC_P4_ACCUSATIVE;и;обвиняю тополи -;NGC_P5_INSTRUMENTAL;ями;говорю с тополями -;NGC_P6_PREPOSITIONAL;ях;говорю о тополях -SECOND_MALE_SSFORM_ANIMATE_SINGULAR;NGC_P1_NOMINATIVE;ь;парень -;NGC_P2_GENITIVE;я;подарок для парня -;NGC_P3_DATIVE;ю;подарок парню -;NGC_P4_ACCUSATIVE;я;обвиняю парня -;NGC_P5_INSTRUMENTAL;ем;говорю с парнем -;NGC_P6_PREPOSITIONAL;е;говорю о парне -SECOND_MALE_SSFORM_ANIMATE_PLURAL;NGC_P1_NOMINATIVE;и;парни -;NGC_P2_GENITIVE;ей;подарок для парней -;NGC_P3_DATIVE;ям;подарок парням -;NGC_P4_ACCUSATIVE;ей;обвиняю парней -;NGC_P5_INSTRUMENTAL;ями;говорю с парнями -;NGC_P6_PREPOSITIONAL;ях;говорю о парнях -SECOND_NEUTRAL_E_FORM_SINGULAR;NGC_P1_NOMINATIVE;е;поле -;NGC_P2_GENITIVE;я;подарок для поля -;NGC_P3_DATIVE;ю;подарок полю -;NGC_P4_ACCUSATIVE;е;обвиняю поле -;NGC_P5_INSTRUMENTAL;ем;говорю с полем -;NGC_P6_PREPOSITIONAL;е;говорю о поле -SECOND_NEUTRAL_E_FORM_PLURAL;NGC_P1_NOMINATIVE;я;поля -;NGC_P2_GENITIVE;ей;подарок для полей -;NGC_P3_DATIVE;ям;подарок полям -;NGC_P4_ACCUSATIVE;я;обвиняю поля -;NGC_P5_INSTRUMENTAL;ями;говорю с полями -;NGC_P6_PREPOSITIONAL;ях;говорю о полях -SECOND_NEUTRAL_O_FORM_SINGULAR;NGC_P1_NOMINATIVE;о;тело -;NGC_P2_GENITIVE;а;подарок для тела -;NGC_P3_DATIVE;у;подарок телу -;NGC_P4_ACCUSATIVE;о;обвиняю тело -;NGC_P5_INSTRUMENTAL;ом;говорю с телом -;NGC_P6_PREPOSITIONAL;е;говорю о теле -SECOND_NEUTRAL_O_FORM_PLURAL;NGC_P1_NOMINATIVE;а;тела -;NGC_P2_GENITIVE;;подарок для тел -;NGC_P3_DATIVE;ам;подарок телам -;NGC_P4_ACCUSATIVE;а;обвиняю тела -;NGC_P5_INSTRUMENTAL;ами;говорю с телами -;NGC_P6_PREPOSITIONAL;ах;говорю о телах -THIRD_FORM_SINGULAR;NGC_P1_NOMINATIVE;ь;площадь -;NGC_P2_GENITIVE;и;подарок для площади -;NGC_P3_DATIVE;и;подарок площади -;NGC_P4_ACCUSATIVE;ь;обвиняю площадь -;NGC_P5_INSTRUMENTAL;ью;говорю с площадью -;NGC_P6_PREPOSITIONAL;и;говорю о площади -THIRD_FORM_INANIMATE_PLURAL;NGC_P1_NOMINATIVE;и;площади -;NGC_P2_GENITIVE;ей;подарок для площадей -;NGC_P3_DATIVE;ям;подарок площадям -;NGC_P4_ACCUSATIVE;и;обвиняю площади -;NGC_P5_INSTRUMENTAL;ями;говорю с площадями -;NGC_P6_PREPOSITIONAL;ях;говорю о площадях -THIRD_FORM_ANIMATE_PLURAL;NGC_P1_NOMINATIVE;и;лошади -;NGC_P2_GENITIVE;ей;подарок для лошадей -;NGC_P3_DATIVE;ям;подарок лошадям -;NGC_P4_ACCUSATIVE;ей;обвиняю лошадей -;NGC_P5_INSTRUMENTAL;ями;говорю с лошадями -;NGC_P6_PREPOSITIONAL;ях;говорю о лошадях +Склонение;Род;Падеж;Окончание;Пример +FIRST_A_IFORM_INANIMATE;NC_SINGULAR;NGC_P1_NOMINATIVE;а;рука +;;NGC_P2_GENITIVE;и;подарок для руки +;;NGC_P3_DATIVE;е;подарок руке +;;NGC_P4_ACCUSATIVE;у;обвиняю руку +;;NGC_P5_INSTRUMENTAL;ой;говорю с рукой +;;NGC_P6_PREPOSITIONAL;е;говорю о руке +;NC_PLURAL;NGC_P1_NOMINATIVE;и;руки +;;NGC_P2_GENITIVE;;подарок для рук +;;NGC_P3_DATIVE;е;подарок рукам +;;NGC_P4_ACCUSATIVE;и;обвиняю руки +;;NGC_P5_INSTRUMENTAL;ами;говорю с руками +;;NGC_P6_PREPOSITIONAL;ах;говорю о руках +FIRST_A_IFORM_ANIMATE;NC_SINGULAR;NGC_P1_NOMINATIVE;а;бабушка +;;NGC_P2_GENITIVE;и;подарок для бабушки +;;NGC_P3_DATIVE;е;подарок бабушке +;;NGC_P4_ACCUSATIVE;у;обвиняю бабушку +;;NGC_P5_INSTRUMENTAL;ой;говорю с бабушкой +;;NGC_P6_PREPOSITIONAL;е;говорю о бабушке +;NC_PLURAL;NGC_P1_NOMINATIVE;и;бабушки +;;NGC_P2_GENITIVE;;подарок для бабушек +;;NGC_P3_DATIVE;е;подарок бабушкам +;;NGC_P4_ACCUSATIVE;;обвиняю бабушек +;;NGC_P5_INSTRUMENTAL;ами;говорю с бабушками +;;NGC_P6_PREPOSITIONAL;ах;говорю о бабушках +FIRST_A_UFORM_INANIMATE;NC_SINGULAR;NGC_P1_NOMINATIVE;а;лапа +;;NGC_P2_GENITIVE;ы;подарок для лапы +;;NGC_P3_DATIVE;е;подарок лапе +;;NGC_P4_ACCUSATIVE;у;обвиняю лапу +;;NGC_P5_INSTRUMENTAL;ой;говорю с лапой +;;NGC_P6_PREPOSITIONAL;е;говорю о лапе +;NC_PLURAL;NGC_P1_NOMINATIVE;ы;лапы +;;NGC_P2_GENITIVE;;подарок для лап +;;NGC_P3_DATIVE;ам;подарок лапам +;;NGC_P4_ACCUSATIVE;ы;обвиняю лапы +;;NGC_P5_INSTRUMENTAL;ами;говорю с лапами +;;NGC_P6_PREPOSITIONAL;ах;говорю о лапах +FIRST_A_UFORM_ANIMATE;NC_SINGULAR;NGC_P1_NOMINATIVE;а;папа +;;NGC_P2_GENITIVE;ы;подарок для папы +;;NGC_P3_DATIVE;е;подарок папе +;;NGC_P4_ACCUSATIVE;у;обвиняю папу +;;NGC_P5_INSTRUMENTAL;ой;говорю с папой +;;NGC_P6_PREPOSITIONAL;е;говорю о папе +;NC_PLURAL;NGC_P1_NOMINATIVE;ы;папы +;;NGC_P2_GENITIVE;;подарок для пап +;;NGC_P3_DATIVE;ам;подарок папам +;;NGC_P4_ACCUSATIVE;;обвиняю пап +;;NGC_P5_INSTRUMENTAL;ами;говорю с папами +;;NGC_P6_PREPOSITIONAL;ах;говорю о папах +FIRST_YA_FORM_INANIMATE;NC_SINGULAR;NGC_P1_NOMINATIVE;я;пуля +;;NGC_P2_GENITIVE;и;подарок для пули +;;NGC_P3_DATIVE;е;подарок пуле +;;NGC_P4_ACCUSATIVE;ю;обвиняю пулю +;;NGC_P5_INSTRUMENTAL;ей;говорю с пулей +;;NGC_P6_PREPOSITIONAL;е;говорю о пуле +;NC_PLURAL;NGC_P1_NOMINATIVE;и;пули +;;NGC_P2_GENITIVE;ь;подарок для пуль +;;NGC_P3_DATIVE;ям;подарок пулям +;;NGC_P4_ACCUSATIVE;и;обвиняю пули +;;NGC_P5_INSTRUMENTAL;ями;говорю с пулями +;;NGC_P6_PREPOSITIONAL;ях;говорю о пулях +FIRST_YA_FORM_ANIMATE;NC_SINGULAR;NGC_P1_NOMINATIVE;я;тетя +;;NGC_P2_GENITIVE;и;подарок для тети +;;NGC_P3_DATIVE;е;подарок тете +;;NGC_P4_ACCUSATIVE;ю;обвиняю тетю +;;NGC_P5_INSTRUMENTAL;ей;говорю с тетей +;;NGC_P6_PREPOSITIONAL;е;говорю о тете +;NC_PLURAL;NGC_P1_NOMINATIVE;и;тети +;;NGC_P2_GENITIVE;ь;подарок для теть +;;NGC_P3_DATIVE;ям;подарок тетям +;;NGC_P4_ACCUSATIVE;ь;обвиняю теть +;;NGC_P5_INSTRUMENTAL;ями;говорю с тетями +;;NGC_P6_PREPOSITIONAL;ях;говорю о тетях +SECOND_MALE_IFORM_INANIMATE;NC_SINGULAR;NGC_P1_NOMINATIVE;;бук +;;NGC_P2_GENITIVE;а;подарок для бука +;;NGC_P3_DATIVE;у;подарок буку +;;NGC_P4_ACCUSATIVE;;обвиняю бук +;;NGC_P5_INSTRUMENTAL;ом;говорю с буком +;;NGC_P6_PREPOSITIONAL;е;говорю о буке +;NC_PLURAL;NGC_P1_NOMINATIVE;и;буки +;;NGC_P2_GENITIVE;ов;подарок для буков +;;NGC_P3_DATIVE;ам;подарок букам +;;NGC_P4_ACCUSATIVE;и;обвиняю буки +;;NGC_P5_INSTRUMENTAL;ами;говорю с буками +;;NGC_P6_PREPOSITIONAL;ах;говорю о буках +SECOND_MALE_IFORM_ANIMATE;NC_SINGULAR;NGC_P1_NOMINATIVE;;рыбак +;;NGC_P2_GENITIVE;а;подарок для рыбака +;;NGC_P3_DATIVE;у;подарок рыбаку +;;NGC_P4_ACCUSATIVE;а;обвиняю рыбака +;;NGC_P5_INSTRUMENTAL;ом;говорю с рыбаком +;;NGC_P6_PREPOSITIONAL;е;говорю о рыбаке +;NC_PLURAL;NGC_P1_NOMINATIVE;и;рыбаки +;;NGC_P2_GENITIVE;ов;подарок для рыбаков +;;NGC_P3_DATIVE;ам;подарок рыбакам +;;NGC_P4_ACCUSATIVE;ов;обвиняю рыбаков +;;NGC_P5_INSTRUMENTAL;ами;говорю с рыбаками +;;NGC_P6_PREPOSITIONAL;ах;говорю о рыбаках +SECOND_MALE_UFORM_INANIMATE;NC_SINGULAR;NGC_P1_NOMINATIVE;;зад +;;NGC_P2_GENITIVE;а;подарок для зада +;;NGC_P3_DATIVE;у;подарок заду +;;NGC_P4_ACCUSATIVE;;обвиняю зад +;;NGC_P5_INSTRUMENTAL;ом;говорю с задом +;;NGC_P6_PREPOSITIONAL;е;говорю о заде +;NC_PLURAL;NGC_P1_NOMINATIVE;ы;зады +;;NGC_P2_GENITIVE;ов;подарок для задов +;;NGC_P3_DATIVE;ам;подарок задам +;;NGC_P4_ACCUSATIVE;ы;обвиняю зады +;;NGC_P5_INSTRUMENTAL;ами;говорю с задами +;;NGC_P6_PREPOSITIONAL;ах;говорю о задах +SECOND_MALE_UFORM_ANIMATE;NC_SINGULAR;NGC_P1_NOMINATIVE;;кит +;;NGC_P2_GENITIVE;а;подарок для кита +;;NGC_P3_DATIVE;у;подарок киту +;;NGC_P4_ACCUSATIVE;а;обвиняю кита +;;NGC_P5_INSTRUMENTAL;ом;говорю с китом +;;NGC_P6_PREPOSITIONAL;е;говорю о ките +;NC_PLURAL;NGC_P1_NOMINATIVE;ы;киты +;;NGC_P2_GENITIVE;ов;подарок для китов +;;NGC_P3_DATIVE;ам;подарок китам +;;NGC_P4_ACCUSATIVE;ов;обвиняю китов +;;NGC_P5_INSTRUMENTAL;ами;говорю с китами +;;NGC_P6_PREPOSITIONAL;ах;говорю о китах +SECOND_MALE_SSFORM_INANIMATE;NC_SINGULAR;NGC_P1_NOMINATIVE;ь;тополь +;;NGC_P2_GENITIVE;я;подарок для тополя +;;NGC_P3_DATIVE;ю;подарок тополю +;;NGC_P4_ACCUSATIVE;ь;обвиняю тополь +;;NGC_P5_INSTRUMENTAL;ем;говорю с тополем +;;NGC_P6_PREPOSITIONAL;е;говорю о тополе +;NC_PLURAL;NGC_P1_NOMINATIVE;и;тополи +;;NGC_P2_GENITIVE;ей;подарок для тополей +;;NGC_P3_DATIVE;ям;подарок тополям +;;NGC_P4_ACCUSATIVE;и;обвиняю тополи +;;NGC_P5_INSTRUMENTAL;ями;говорю с тополями +;;NGC_P6_PREPOSITIONAL;ях;говорю о тополях +SECOND_MALE_SSFORM_ANIMATE;NC_SINGULAR;NGC_P1_NOMINATIVE;ь;парень +;;NGC_P2_GENITIVE;я;подарок для парня +;;NGC_P3_DATIVE;ю;подарок парню +;;NGC_P4_ACCUSATIVE;я;обвиняю парня +;;NGC_P5_INSTRUMENTAL;ем;говорю с парнем +;;NGC_P6_PREPOSITIONAL;е;говорю о парне +;NC_PLURAL;NGC_P1_NOMINATIVE;и;парни +;;NGC_P2_GENITIVE;ей;подарок для парней +;;NGC_P3_DATIVE;ям;подарок парням +;;NGC_P4_ACCUSATIVE;ей;обвиняю парней +;;NGC_P5_INSTRUMENTAL;ями;говорю с парнями +;;NGC_P6_PREPOSITIONAL;ях;говорю о парнях +SECOND_NEUTRAL_E_FORM;NC_SINGULAR;NGC_P1_NOMINATIVE;е;поле +;;NGC_P2_GENITIVE;я;подарок для поля +;;NGC_P3_DATIVE;ю;подарок полю +;;NGC_P4_ACCUSATIVE;е;обвиняю поле +;;NGC_P5_INSTRUMENTAL;ем;говорю с полем +;;NGC_P6_PREPOSITIONAL;е;говорю о поле +;NC_PLURAL;NGC_P1_NOMINATIVE;я;поля +;;NGC_P2_GENITIVE;ей;подарок для полей +;;NGC_P3_DATIVE;ям;подарок полям +;;NGC_P4_ACCUSATIVE;я;обвиняю поля +;;NGC_P5_INSTRUMENTAL;ями;говорю с полями +;;NGC_P6_PREPOSITIONAL;ях;говорю о полях +SECOND_NEUTRAL_O_FORM;NC_SINGULAR;NGC_P1_NOMINATIVE;о;тело +;;NGC_P2_GENITIVE;а;подарок для тела +;;NGC_P3_DATIVE;у;подарок телу +;;NGC_P4_ACCUSATIVE;о;обвиняю тело +;;NGC_P5_INSTRUMENTAL;ом;говорю с телом +;;NGC_P6_PREPOSITIONAL;е;говорю о теле +;NC_PLURAL;NGC_P1_NOMINATIVE;а;тела +;;NGC_P2_GENITIVE;;подарок для тел +;;NGC_P3_DATIVE;ам;подарок телам +;;NGC_P4_ACCUSATIVE;а;обвиняю тела +;;NGC_P5_INSTRUMENTAL;ами;говорю с телами +;;NGC_P6_PREPOSITIONAL;ах;говорю о телах +THIRD_FORM_INANIMATE;NC_SINGULAR;NGC_P1_NOMINATIVE;ь;площадь +;;NGC_P2_GENITIVE;и;подарок для площади +;;NGC_P3_DATIVE;и;подарок площади +;;NGC_P4_ACCUSATIVE;ь;обвиняю площадь +;;NGC_P5_INSTRUMENTAL;ью;говорю с площадью +;;NGC_P6_PREPOSITIONAL;и;говорю о площади +;NC_PLURAL;NGC_P1_NOMINATIVE;и;площади +;;NGC_P2_GENITIVE;ей;подарок для площадей +;;NGC_P3_DATIVE;ям;подарок площадям +;;NGC_P4_ACCUSATIVE;и;обвиняю площади +;;NGC_P5_INSTRUMENTAL;ями;говорю с площадями +;;NGC_P6_PREPOSITIONAL;ях;говорю о площадях +THIRD_FORM_ANIMATE;NC_SINGULAR;NGC_P1_NOMINATIVE;ь;лошадь +;;NGC_P2_GENITIVE;и;подарок для лошади +;;NGC_P3_DATIVE;и;подарок лошади +;;NGC_P4_ACCUSATIVE;ь;обвиняю лошадь +;;NGC_P5_INSTRUMENTAL;ью;говорю с лошадью +;;NGC_P6_PREPOSITIONAL;и;говорю о лошади +;NC_PLURAL;NGC_P1_NOMINATIVE;и;лошади +;;NGC_P2_GENITIVE;ей;подарок для лошадей +;;NGC_P3_DATIVE;ям;подарок лошадям +;;NGC_P4_ACCUSATIVE;ей;обвиняю лошадей +;;NGC_P5_INSTRUMENTAL;ями;говорю с лошадями +;;NGC_P6_PREPOSITIONAL;ях;говорю о лошадях diff --git a/rudict/grammar_case.xlsx b/rudict/grammar_case.xlsx index e593bd0..2caad6c 100644 Binary files a/rudict/grammar_case.xlsx and b/rudict/grammar_case.xlsx differ diff --git a/rudict/rudict/http/request_handler.cpp b/rudict/rudict/http/request_handler.cpp index adda1e4..930f49f 100644 --- a/rudict/rudict/http/request_handler.cpp +++ b/rudict/rudict/http/request_handler.cpp @@ -159,7 +159,8 @@ namespace http { nounTree.put(L"id", id); nounTree.put(L"grammaticalCase", NounGrammaticalCaseToWString(nounStruct.nounGrammaticalCase)); - + nounTree.put(L"animated", nounStruct.animated); + nounTree.put(L"count", NounCountToWString(nounStruct.nounCount)); nounTree.put(L"canBeAnimate", nounStruct.nounRecord.canBeAnimate); nounTree.put(L"canBeInanimate", nounStruct.nounRecord.canBeInanimate); nounTree.put(L"gender", nounStruct.nounRecord.gender); diff --git a/rudict/rudict/main.cpp b/rudict/rudict/main.cpp index 6e0b67b..1d9cd7b 100644 --- a/rudict/rudict/main.cpp +++ b/rudict/rudict/main.cpp @@ -12,7 +12,8 @@ int main() LoadNounDeclencionCaseTable(); LoadFrequentWordSet(); - RecognizeNoun(L"стульями"); + //RecognizeNoun(L"стульями"); + //Косяк: "вечер" try { diff --git a/rudict/rudict/noun.cpp b/rudict/rudict/noun.cpp index 9b77811..33e1590 100644 --- a/rudict/rudict/noun.cpp +++ b/rudict/rudict/noun.cpp @@ -18,6 +18,8 @@ NounRecord::NounRecord() , haveMultipleForm(false) , haveStandardMultipleForm(false) , haveStandardMultipleFormWithMissingLastVowel(false) + , haveStandardMultipleFormEnding(false) + , haveAlternativeMultipleFormEnding(false) , canBeAnimate(false) , canBeInanimate(false) { @@ -52,12 +54,15 @@ NounRecord::NounRecord(std::wstring line) haveStandardMultipleForm = lineArr[5] == L"1" ? true : false; haveStandardMultipleFormWithMissingLastVowel = lineArr[6] == L"1" ? true : false; - - - specialMultipleForm = lineArr[7]; - canBeAnimate = lineArr[8] == L"1" ? true : false; - canBeInanimate = lineArr[9] == L"1" ? true : false; + haveStandardMultipleFormEnding = lineArr[7] == L"1" ? true : false; + + haveAlternativeMultipleFormEnding = lineArr[8] == L"1" ? true : false; + + specialMultipleForm = lineArr[9]; + + canBeAnimate = lineArr[10] == L"1" ? true : false; + canBeInanimate = lineArr[11] == L"1" ? true : false; } @@ -66,124 +71,107 @@ NounRecord::NounRecord(std::wstring line) NounDeclencion WStringToNounDeclencion(std::wstring str) { - if (str == L"FIRST_A_IFORM_SINGULAR") + if (str == L"FIRST_A_IFORM_INANIMATE") { - return FIRST_A_IFORM_SINGULAR; + return FIRST_A_IFORM_INANIMATE; } - if (str == L"FIRST_A_IFORM_INANIMATE_PLURAL") + if (str == L"FIRST_A_IFORM_ANIMATE") { - return FIRST_A_IFORM_INANIMATE_PLURAL; + return FIRST_A_IFORM_INANIMATE; } - if (str == L"FIRST_A_IFORM_ANIMATE_PLURAL") + if (str == L"FIRST_A_UFORM_INANIMATE") { - return FIRST_A_IFORM_ANIMATE_PLURAL; + return FIRST_A_UFORM_INANIMATE; } - if (str == L"FIRST_A_UFORM_SINGULAR") + if (str == L"FIRST_A_UFORM_ANIMATE") { - return FIRST_A_UFORM_SINGULAR; + return FIRST_A_UFORM_ANIMATE; } - if (str == L"FIRST_A_UFORM_INANIMATE_PLURAL") + if (str == L"FIRST_YA_FORM_INANIMATE") { - return FIRST_A_UFORM_INANIMATE_PLURAL; + return FIRST_YA_FORM_INANIMATE; } - if (str == L"FIRST_A_UFORM_ANIMATE_PLURAL") + if (str == L"FIRST_YA_FORM_ANIMATE") { - return FIRST_A_UFORM_ANIMATE_PLURAL; + return FIRST_YA_FORM_ANIMATE; } - if (str == L"FIRST_YA_FORM_SINGULAR") + + if (str == L"SECOND_MALE_IFORM_INANIMATE") { - return FIRST_YA_FORM_SINGULAR; + return SECOND_MALE_IFORM_INANIMATE; } - if (str == L"FIRST_YA_FORM_INANIMATE_PLURAL") + if (str == L"SECOND_MALE_IFORM_ANIMATE") { - return FIRST_YA_FORM_INANIMATE_PLURAL; + return SECOND_MALE_IFORM_ANIMATE; } - if (str == L"FIRST_YA_FORM_ANIMATE_PLURAL") + if (str == L"SECOND_MALE_UFORM_INANIMATE") { - return FIRST_YA_FORM_ANIMATE_PLURAL; + return SECOND_MALE_UFORM_INANIMATE; } - if (str == L"SECOND_MALE_IFORM_INANIMATE_SINGULAR") + if (str == L"SECOND_MALE_UFORM_ANIMATE") { - return SECOND_MALE_IFORM_INANIMATE_SINGULAR; + return SECOND_MALE_UFORM_ANIMATE; } - if (str == L"SECOND_MALE_IFORM_INANIMATE_PLURAL") + if (str == L"SECOND_MALE_SSFORM_INANIMATE") { - return SECOND_MALE_IFORM_INANIMATE_PLURAL; + return SECOND_MALE_SSFORM_INANIMATE; } - if (str == L"SECOND_MALE_IFORM_ANIMATE_SINGULAR") + if (str == L"SECOND_MALE_SSFORM_ANIMATE") { - return SECOND_MALE_IFORM_ANIMATE_SINGULAR; + return SECOND_MALE_SSFORM_ANIMATE; } - if (str == L"SECOND_MALE_IFORM_ANIMATE_PLURAL") + if (str == L"SECOND_NEUTRAL_E_FORM") { - return SECOND_MALE_IFORM_ANIMATE_PLURAL; + return SECOND_NEUTRAL_E_FORM; } - if (str == L"SECOND_MALE_UFORM_INANIMATE_SINGULAR") + if (str == L"SECOND_NEUTRAL_O_FORM") { - return SECOND_MALE_UFORM_INANIMATE_SINGULAR; + return SECOND_NEUTRAL_O_FORM; } - if (str == L"SECOND_MALE_UFORM_INANIMATE_PLURAL") + if (str == L"THIRD_FORM_INANIMATE") { - return SECOND_MALE_UFORM_INANIMATE_PLURAL; + return THIRD_FORM_INANIMATE; } - if (str == L"SECOND_MALE_UFORM_ANIMATE_SINGULAR") + if (str == L"THIRD_FORM_ANIMATE") { - return SECOND_MALE_UFORM_ANIMATE_SINGULAR; - } - if (str == L"SECOND_MALE_UFORM_ANIMATE_PLURAL") - { - return SECOND_MALE_UFORM_ANIMATE_PLURAL; - } - if (str == L"SECOND_MALE_SSFORM_INANIMATE_SINGULAR") - { - return SECOND_MALE_SSFORM_INANIMATE_SINGULAR; - } - if (str == L"SECOND_MALE_SSFORM_INANIMATE_PLURAL") - { - return SECOND_MALE_SSFORM_INANIMATE_PLURAL; - } - if (str == L"SECOND_MALE_SSFORM_ANIMATE_SINGULAR") - { - return SECOND_MALE_SSFORM_ANIMATE_SINGULAR; - } - if (str == L"SECOND_MALE_SSFORM_ANIMATE_PLURAL") - { - return SECOND_MALE_SSFORM_ANIMATE_PLURAL; - } - if (str == L"SECOND_NEUTRAL_E_FORM_SINGULAR") - { - return SECOND_NEUTRAL_E_FORM_SINGULAR; - } - if (str == L"SECOND_NEUTRAL_E_FORM_PLURAL") - { - return SECOND_NEUTRAL_E_FORM_PLURAL; - } - if (str == L"SECOND_NEUTRAL_O_FORM_SINGULAR") - { - return SECOND_NEUTRAL_O_FORM_SINGULAR; - } - if (str == L"SECOND_NEUTRAL_O_FORM_PLURAL") - { - return SECOND_NEUTRAL_O_FORM_PLURAL; - } - if (str == L"THIRD_FORM_SINGULAR") - { - return THIRD_FORM_SINGULAR; - } - if (str == L"THIRD_FORM_INANIMATE_PLURAL") - { - return THIRD_FORM_INANIMATE_PLURAL; - } - if (str == L"THIRD_FORM_ANIMATE_PLURAL") - { - return THIRD_FORM_ANIMATE_PLURAL; + return THIRD_FORM_ANIMATE; } std::cout << "Error in WStringToNounDeclencion!" << std::endl; - return FIRST_A_IFORM_SINGULAR; + return FIRST_A_IFORM_INANIMATE; } +NounCount WStringToNounCount(std::wstring str) +{ + if (str == L"NC_SINGULAR") + { + return NC_SINGULAR; + } + if (str == L"NC_PLURAL") + { + return NC_PLURAL; + } + + std::cout << "Error in WStringToNounCount!" << std::endl; + return NC_SINGULAR; +} + +std::wstring NounCountToWString(NounCount nounCount) +{ + if (nounCount == NC_SINGULAR) + { + return L"NC_SINGULAR"; + } + if (nounCount == NC_PLURAL) + { + return L"NC_PLURAL"; + } + + std::cout << "Error in NounCountToWString!" << std::endl; + return L""; +} + std::wstring NounGrammaticalCaseToWString(NounGrammaticalCase nounGrammaticalCase) { @@ -351,9 +339,9 @@ bool charIsVowel(wchar_t c) } -std::set> getPossibleNounEndingDivisionSet(std::wstring noun) +std::set getPossibleNounEndingDivisionSet(std::wstring noun) { - std::set> result; + std::set result; auto allNounEndingArr = GetAllNounEndingArr(); @@ -365,8 +353,20 @@ std::set> getPossibleNounEndingDivisionSet if (charIsConsolant(nounBase[nounBase.size() - 1]) || nounBase[nounBase.size() - 1] == L'ь' || nounBase[nounBase.size() - 1] == L'ъ') { - result.insert({ nounBase, ending}); + result.insert({ nounBase, ending, NounEndingDivision::DC_COMMON }); } + + //Check missed vowel (simple case) + if (charIsConsolant(nounBase[nounBase.size() - 1]) && charIsConsolant(nounBase[nounBase.size() - 2])) + { + result.insert({ nounBase, ending, NounEndingDivision::DC_LOST_VOWEL_O }); + } + + if (charIsConsolant(nounBase[nounBase.size() - 1]) && nounBase[nounBase.size() - 2] == L'ь') + { + result.insert({ nounBase, ending, NounEndingDivision::DC_LOST_VOWEL_E }); + } + } } @@ -381,11 +381,11 @@ std::vector GetPossibleNounTupleArr(std::wstring nounEnding) for (auto& noun : nounDeclencionCaseTable) { - for (int i = 0; i < 6; i++) + for (int i = 0; i < NGC_SIZE * NC_SIZE; i++) { - if (noun.grammaticalCaseMap[i].second == nounEnding) + if (noun.grammaticalCaseTable[i].ending == nounEnding) { - result.push_back(NounTuple{ noun.nounDeclencion, noun.grammaticalCaseMap[i].first }); + result.push_back(NounTuple{ noun.nounDeclencion, noun.grammaticalCaseTable[i].count, noun.grammaticalCaseTable[i].grammaticalCase }); } } @@ -394,119 +394,6 @@ std::vector GetPossibleNounTupleArr(std::wstring nounEnding) return result; } -bool NounDeclencionIsPlural(NounDeclencion nounDeclencion) -{ - switch (nounDeclencion) - { - case FIRST_A_IFORM_SINGULAR: - case FIRST_A_UFORM_SINGULAR: - case FIRST_YA_FORM_SINGULAR: - case SECOND_MALE_IFORM_INANIMATE_SINGULAR: - case SECOND_MALE_IFORM_ANIMATE_SINGULAR: - case SECOND_MALE_UFORM_INANIMATE_SINGULAR: - case SECOND_MALE_UFORM_ANIMATE_SINGULAR: - case SECOND_MALE_SSFORM_INANIMATE_SINGULAR: - case SECOND_MALE_SSFORM_ANIMATE_SINGULAR: - case SECOND_NEUTRAL_E_FORM_SINGULAR: - case SECOND_NEUTRAL_O_FORM_SINGULAR: - case THIRD_FORM_SINGULAR: - return false; - break; - default: - return true; - break; - } -} - -NounDeclencion ConvertToSingularIfNeeded(NounDeclencion nounDeclencion) -{ - switch (nounDeclencion) - { - case FIRST_A_IFORM_SINGULAR: - case FIRST_A_IFORM_INANIMATE_PLURAL: - case FIRST_A_IFORM_ANIMATE_PLURAL: - - return FIRST_A_IFORM_SINGULAR; - - break; - case FIRST_A_UFORM_SINGULAR: - case FIRST_A_UFORM_INANIMATE_PLURAL: - case FIRST_A_UFORM_ANIMATE_PLURAL: - - return FIRST_A_UFORM_SINGULAR; - - break; - case FIRST_YA_FORM_SINGULAR: - case FIRST_YA_FORM_INANIMATE_PLURAL: - case FIRST_YA_FORM_ANIMATE_PLURAL: - - return FIRST_YA_FORM_SINGULAR; - - break; - case SECOND_MALE_IFORM_INANIMATE_SINGULAR: - case SECOND_MALE_IFORM_INANIMATE_PLURAL: - - return SECOND_MALE_IFORM_INANIMATE_SINGULAR; - - break; - case SECOND_MALE_IFORM_ANIMATE_SINGULAR: - case SECOND_MALE_IFORM_ANIMATE_PLURAL: - - return SECOND_MALE_IFORM_ANIMATE_SINGULAR; - - break; - case SECOND_MALE_UFORM_INANIMATE_SINGULAR: - case SECOND_MALE_UFORM_INANIMATE_PLURAL: - - return SECOND_MALE_UFORM_INANIMATE_SINGULAR; - - break; - case SECOND_MALE_UFORM_ANIMATE_SINGULAR: - case SECOND_MALE_UFORM_ANIMATE_PLURAL: - - return SECOND_MALE_UFORM_ANIMATE_SINGULAR; - - break; - case SECOND_MALE_SSFORM_INANIMATE_SINGULAR: - case SECOND_MALE_SSFORM_INANIMATE_PLURAL: - - return SECOND_MALE_SSFORM_INANIMATE_SINGULAR; - - break; - case SECOND_MALE_SSFORM_ANIMATE_SINGULAR: - case SECOND_MALE_SSFORM_ANIMATE_PLURAL: - - return SECOND_MALE_SSFORM_ANIMATE_SINGULAR; - - break; - case SECOND_NEUTRAL_E_FORM_SINGULAR: - case SECOND_NEUTRAL_E_FORM_PLURAL: - - return SECOND_NEUTRAL_E_FORM_SINGULAR; - - break; - case SECOND_NEUTRAL_O_FORM_SINGULAR: - case SECOND_NEUTRAL_O_FORM_PLURAL: - - return SECOND_NEUTRAL_O_FORM_SINGULAR; - - break; - case THIRD_FORM_SINGULAR: - case THIRD_FORM_INANIMATE_PLURAL: - case THIRD_FORM_ANIMATE_PLURAL: - - return THIRD_FORM_SINGULAR; - - break; - default: - - std::cout << "Error in ConvertToSingularIfNeeded" << std::endl; - - return FIRST_A_IFORM_SINGULAR; - break; - } -} - std::vector FilterNounTupleArrByNounDeclentionSet(std::vector nounTupleArr, std::set filter) { std::vector result; @@ -523,26 +410,26 @@ std::vector FilterNounTupleArrByNounDeclentionSet(std::vector(nounDeclencion)]; - //Get nominative form of this declention - std::wstring nounEndling = nounDeclencionCaseTable[static_cast(nounDeclencionSingular)].grammaticalCaseMap[static_cast(NGC_P1_NOMINATIVE)].second; + for (auto& grammaticalTableRecord : nounDeclencionCaseTableRecord.grammaticalCaseTable) + { + if (grammaticalTableRecord.grammaticalCase == NGC_P1_NOMINATIVE && grammaticalTableRecord.count == nounCount) + { + return nounBase + grammaticalTableRecord.ending; + } + } - return nounBase + nounEndling; -} + std::cout << "Error in GetNounNoninative" << std::endl; - -std::wstring GetNounNoninative(std::wstring nounBase, NounDeclencion nounDeclencion) -{ - std::wstring nounEndling = nounDeclencionCaseTable[static_cast(nounDeclencion)].grammaticalCaseMap[static_cast(NGC_P1_NOMINATIVE)].second; - - return nounBase + nounEndling; + return L""; } std::wstring i_form_consolants = L"гкжшчщ"; -std::wstring u_form_consolants = L"бпдтвфзснмлр"; +std::wstring u_form_consolants = L"бпдтвфзснмлрц"; wchar_t GetLastChar(const NounRecord& nounRecord) { @@ -565,51 +452,51 @@ bool charIsUFormConsolant(wchar_t c) } -bool FirstAIFormSingularCondition(const NounRecord& nounRecord) +bool FirstAIFormSingularCondition(const NounRecord& nounRecord) //Same for both animate and inanimate { return nounRecord.haveSingleForm && (GetLastChar(nounRecord) == L'а' && charIsIFormConsolant(GetPrevLastChar(nounRecord))); } bool FirstAIFormInanimatePluralCondition(const NounRecord& nounRecord) { - return nounRecord.haveStandardMultipleForm && nounRecord.canBeInanimate && (GetLastChar(nounRecord) == L'а' && charIsIFormConsolant(GetPrevLastChar(nounRecord))); + return nounRecord.haveMultipleForm && nounRecord.canBeInanimate && (GetLastChar(nounRecord) == L'а' && charIsIFormConsolant(GetPrevLastChar(nounRecord))); } bool FirstAIFormAnimatePluralCondition(const NounRecord& nounRecord) { - return nounRecord.haveStandardMultipleForm && nounRecord.canBeAnimate && (GetLastChar(nounRecord) == L'а' && charIsIFormConsolant(GetPrevLastChar(nounRecord))); + return nounRecord.haveMultipleForm && nounRecord.canBeAnimate && (GetLastChar(nounRecord) == L'а' && charIsIFormConsolant(GetPrevLastChar(nounRecord))); } -bool FirstAUFormSingularCondition(const NounRecord& nounRecord) +bool FirstAUFormSingularCondition(const NounRecord& nounRecord) //Same for both animate and inanimate { return nounRecord.haveSingleForm && (GetLastChar(nounRecord) == L'а' && charIsUFormConsolant(GetPrevLastChar(nounRecord))); } bool FirstAUFormInanimatePluralCondition(const NounRecord& nounRecord) { - return nounRecord.haveStandardMultipleForm && nounRecord.canBeInanimate && (GetLastChar(nounRecord) == L'а' && charIsUFormConsolant(GetPrevLastChar(nounRecord))); + return nounRecord.haveMultipleForm && nounRecord.canBeInanimate && (GetLastChar(nounRecord) == L'а' && charIsUFormConsolant(GetPrevLastChar(nounRecord))); } bool FirstAUFormAnimatePluralCondition(const NounRecord& nounRecord) { - return nounRecord.haveStandardMultipleForm && nounRecord.canBeAnimate && (GetLastChar(nounRecord) == L'а' && charIsUFormConsolant(GetPrevLastChar(nounRecord))); + return nounRecord.haveMultipleForm && nounRecord.canBeAnimate && (GetLastChar(nounRecord) == L'а' && charIsUFormConsolant(GetPrevLastChar(nounRecord))); } -bool FirstYaFormSingularCondition(const NounRecord& nounRecord) +bool FirstYaFormSingularCondition(const NounRecord& nounRecord) //Same for both animate and inanimate { return nounRecord.haveSingleForm && (GetLastChar(nounRecord) == L'я'); } bool FirstYaFormInanimatePluralCondition(const NounRecord& nounRecord) { - return nounRecord.haveStandardMultipleForm && nounRecord.canBeInanimate && (GetLastChar(nounRecord) == L'я'); + return nounRecord.haveMultipleForm && nounRecord.canBeInanimate && (GetLastChar(nounRecord) == L'я'); } bool FirstYaFormAnimatePluralCondition(const NounRecord& nounRecord) { - return nounRecord.haveStandardMultipleForm && nounRecord.canBeAnimate && (GetLastChar(nounRecord) == L'я'); + return nounRecord.haveMultipleForm && nounRecord.canBeAnimate && (GetLastChar(nounRecord) == L'я'); } @@ -622,7 +509,7 @@ bool SecondMaleIFormInanimateSingularCondition(const NounRecord& nounRecord) bool SecondMaleIFormInanimatePluralCondition(const NounRecord& nounRecord) { - return nounRecord.haveStandardMultipleForm && nounRecord.gender == NG_MALE && nounRecord.canBeInanimate && charIsIFormConsolant(GetLastChar(nounRecord)); + return nounRecord.haveMultipleForm && nounRecord.gender == NG_MALE && nounRecord.canBeInanimate && charIsIFormConsolant(GetLastChar(nounRecord)); } @@ -633,7 +520,7 @@ bool SecondMaleIFormAnimateSingularCondition(const NounRecord& nounRecord) bool SecondMaleIFormAnimatePluralCondition(const NounRecord& nounRecord) { - return nounRecord.haveStandardMultipleForm && nounRecord.gender == NG_MALE && nounRecord.canBeAnimate && charIsIFormConsolant(GetLastChar(nounRecord)); + return nounRecord.haveMultipleForm && nounRecord.gender == NG_MALE && nounRecord.canBeAnimate && charIsIFormConsolant(GetLastChar(nounRecord)); } @@ -644,7 +531,7 @@ bool SecondMaleUFormInanimateSingularCondition(const NounRecord& nounRecord) bool SecondMaleUFormInanimatePluralCondition(const NounRecord& nounRecord) { - return nounRecord.haveStandardMultipleForm && nounRecord.gender == NG_MALE && nounRecord.canBeInanimate && charIsUFormConsolant(GetLastChar(nounRecord)); + return nounRecord.haveMultipleForm && nounRecord.gender == NG_MALE && nounRecord.canBeInanimate && charIsUFormConsolant(GetLastChar(nounRecord)); } @@ -655,7 +542,7 @@ bool SecondMaleUFormAnimateSingularCondition(const NounRecord& nounRecord) bool SecondMaleUFormAnimatePluralCondition(const NounRecord& nounRecord) { - return nounRecord.haveStandardMultipleForm && nounRecord.gender == NG_MALE && nounRecord.canBeAnimate && charIsUFormConsolant(GetLastChar(nounRecord)); + return nounRecord.haveMultipleForm && nounRecord.gender == NG_MALE && nounRecord.canBeAnimate && charIsUFormConsolant(GetLastChar(nounRecord)); } @@ -666,7 +553,7 @@ bool SecondMaleSSFormInanimateSingularCondition(const NounRecord& nounRecord) bool SecondMaleSSFormInanimatePluralCondition(const NounRecord& nounRecord) { - return nounRecord.haveStandardMultipleForm && nounRecord.gender == NG_MALE && nounRecord.canBeInanimate && GetLastChar(nounRecord) == L'ь'; + return nounRecord.haveMultipleForm && nounRecord.gender == NG_MALE && nounRecord.canBeInanimate && GetLastChar(nounRecord) == L'ь'; } @@ -677,7 +564,7 @@ bool SecondMaleSSFormAnimateSingularCondition(const NounRecord& nounRecord) bool SecondMaleSSFormAnimatePluralCondition(const NounRecord& nounRecord) { - return nounRecord.haveStandardMultipleForm && nounRecord.gender == NG_MALE && nounRecord.canBeAnimate && GetLastChar(nounRecord) == L'ь'; + return nounRecord.haveMultipleForm && nounRecord.gender == NG_MALE && nounRecord.canBeAnimate && GetLastChar(nounRecord) == L'ь'; } bool SecondNeutralEFormSingularCondition(const NounRecord& nounRecord) @@ -687,7 +574,7 @@ bool SecondNeutralEFormSingularCondition(const NounRecord& nounRecord) bool SecondNeutralEFormPluralCondition(const NounRecord& nounRecord) { - return nounRecord.haveStandardMultipleForm && nounRecord.gender == NG_NEUTRAL && GetLastChar(nounRecord) == L'е'; + return nounRecord.haveMultipleForm && nounRecord.gender == NG_NEUTRAL && GetLastChar(nounRecord) == L'е'; } bool SecondNeutralOFormSingularCondition(const NounRecord& nounRecord) @@ -697,67 +584,71 @@ bool SecondNeutralOFormSingularCondition(const NounRecord& nounRecord) bool SecondNeutralOFormPluralCondition(const NounRecord& nounRecord) { - return nounRecord.haveStandardMultipleForm && nounRecord.gender == NG_NEUTRAL && GetLastChar(nounRecord) == L'о'; + return nounRecord.haveMultipleForm && nounRecord.gender == NG_NEUTRAL && GetLastChar(nounRecord) == L'о'; } -bool ThirdFormSingularCondition(const NounRecord& nounRecord) +bool ThirdFormSingularCondition(const NounRecord& nounRecord) //Same for both animate and inanimate { return nounRecord.haveSingleForm && nounRecord.gender == NG_FEMALE && GetLastChar(nounRecord) == L'ь'; } bool ThirdFormInanimatePluralCondition(const NounRecord& nounRecord) { - return nounRecord.haveStandardMultipleForm && nounRecord.gender == NG_FEMALE && nounRecord.canBeInanimate && GetLastChar(nounRecord) == L'ь'; + return nounRecord.haveMultipleForm && nounRecord.gender == NG_FEMALE && nounRecord.canBeInanimate && GetLastChar(nounRecord) == L'ь'; } bool ThirdFormAnimatePluralCondition(const NounRecord& nounRecord) { - return nounRecord.haveStandardMultipleForm && nounRecord.gender == NG_FEMALE && nounRecord.canBeAnimate && GetLastChar(nounRecord) == L'ь'; + return nounRecord.haveMultipleForm && nounRecord.gender == NG_FEMALE && nounRecord.canBeAnimate && GetLastChar(nounRecord) == L'ь'; } -std::map> DeclentionConditionMap; +std::map, std::function < bool(const NounRecord&) >> DeclentionConditionMap; void SetupDeclentionMap() { - DeclentionConditionMap[FIRST_A_IFORM_SINGULAR] = std::bind(FirstAIFormSingularCondition, std::placeholders::_1); - DeclentionConditionMap[FIRST_A_IFORM_INANIMATE_PLURAL] = std::bind(FirstAIFormInanimatePluralCondition, std::placeholders::_1); - DeclentionConditionMap[FIRST_A_IFORM_ANIMATE_PLURAL] = std::bind(FirstAIFormAnimatePluralCondition, std::placeholders::_1); + DeclentionConditionMap[{FIRST_A_IFORM_INANIMATE, NC_SINGULAR}] = std::bind(FirstAIFormSingularCondition, std::placeholders::_1); + DeclentionConditionMap[{FIRST_A_IFORM_ANIMATE, NC_SINGULAR}] = std::bind(FirstAIFormSingularCondition, std::placeholders::_1); + DeclentionConditionMap[{FIRST_A_IFORM_INANIMATE, NC_PLURAL}] = std::bind(FirstAIFormInanimatePluralCondition, std::placeholders::_1); + DeclentionConditionMap[{FIRST_A_IFORM_ANIMATE, NC_PLURAL}] = std::bind(FirstAIFormAnimatePluralCondition, std::placeholders::_1); - DeclentionConditionMap[FIRST_A_UFORM_SINGULAR] = std::bind(FirstAUFormSingularCondition, std::placeholders::_1); - DeclentionConditionMap[FIRST_A_UFORM_INANIMATE_PLURAL] = std::bind(FirstAUFormInanimatePluralCondition, std::placeholders::_1); - DeclentionConditionMap[FIRST_A_UFORM_ANIMATE_PLURAL] = std::bind(FirstAUFormAnimatePluralCondition, std::placeholders::_1); + DeclentionConditionMap[{FIRST_A_UFORM_INANIMATE, NC_SINGULAR}] = std::bind(FirstAUFormSingularCondition, std::placeholders::_1); + DeclentionConditionMap[{FIRST_A_UFORM_ANIMATE, NC_SINGULAR}] = std::bind(FirstAUFormSingularCondition, std::placeholders::_1); + DeclentionConditionMap[{FIRST_A_UFORM_INANIMATE, NC_PLURAL}] = std::bind(FirstAUFormInanimatePluralCondition, std::placeholders::_1); + DeclentionConditionMap[{FIRST_A_UFORM_ANIMATE, NC_PLURAL}] = std::bind(FirstAUFormAnimatePluralCondition, std::placeholders::_1); - DeclentionConditionMap[FIRST_YA_FORM_SINGULAR] = std::bind(FirstYaFormSingularCondition, std::placeholders::_1); - DeclentionConditionMap[FIRST_YA_FORM_INANIMATE_PLURAL] = std::bind(FirstYaFormInanimatePluralCondition, std::placeholders::_1); - DeclentionConditionMap[FIRST_YA_FORM_ANIMATE_PLURAL] = std::bind(FirstYaFormAnimatePluralCondition, std::placeholders::_1); + DeclentionConditionMap[{FIRST_YA_FORM_INANIMATE, NC_SINGULAR}] = std::bind(FirstYaFormSingularCondition, std::placeholders::_1); + DeclentionConditionMap[{FIRST_YA_FORM_ANIMATE, NC_SINGULAR}] = std::bind(FirstYaFormSingularCondition, std::placeholders::_1); + DeclentionConditionMap[{FIRST_YA_FORM_INANIMATE, NC_PLURAL}] = std::bind(FirstYaFormInanimatePluralCondition, std::placeholders::_1); + DeclentionConditionMap[{FIRST_YA_FORM_ANIMATE, NC_PLURAL}] = std::bind(FirstYaFormAnimatePluralCondition, std::placeholders::_1); //Second form - DeclentionConditionMap[SECOND_MALE_IFORM_INANIMATE_SINGULAR] = std::bind(SecondMaleIFormInanimateSingularCondition, std::placeholders::_1); - DeclentionConditionMap[SECOND_MALE_IFORM_INANIMATE_PLURAL] = std::bind(SecondMaleIFormInanimatePluralCondition, std::placeholders::_1); - DeclentionConditionMap[SECOND_MALE_IFORM_ANIMATE_SINGULAR] = std::bind(SecondMaleIFormAnimateSingularCondition, std::placeholders::_1); - DeclentionConditionMap[SECOND_MALE_IFORM_ANIMATE_PLURAL] = std::bind(SecondMaleIFormAnimatePluralCondition, std::placeholders::_1); + DeclentionConditionMap[{SECOND_MALE_IFORM_INANIMATE, NC_SINGULAR}] = std::bind(SecondMaleIFormInanimateSingularCondition, std::placeholders::_1); + DeclentionConditionMap[{SECOND_MALE_IFORM_INANIMATE, NC_PLURAL}] = std::bind(SecondMaleIFormInanimatePluralCondition, std::placeholders::_1); + DeclentionConditionMap[{SECOND_MALE_IFORM_ANIMATE, NC_SINGULAR}] = std::bind(SecondMaleIFormAnimateSingularCondition, std::placeholders::_1); + DeclentionConditionMap[{SECOND_MALE_IFORM_ANIMATE, NC_PLURAL}] = std::bind(SecondMaleIFormAnimatePluralCondition, std::placeholders::_1); - DeclentionConditionMap[SECOND_MALE_UFORM_INANIMATE_SINGULAR] = std::bind(SecondMaleUFormInanimateSingularCondition, std::placeholders::_1); - DeclentionConditionMap[SECOND_MALE_UFORM_INANIMATE_PLURAL] = std::bind(SecondMaleUFormInanimatePluralCondition, std::placeholders::_1); - DeclentionConditionMap[SECOND_MALE_UFORM_ANIMATE_SINGULAR] = std::bind(SecondMaleUFormAnimateSingularCondition, std::placeholders::_1); - DeclentionConditionMap[SECOND_MALE_UFORM_ANIMATE_PLURAL] = std::bind(SecondMaleUFormAnimatePluralCondition, std::placeholders::_1); + DeclentionConditionMap[{SECOND_MALE_UFORM_INANIMATE, NC_SINGULAR}] = std::bind(SecondMaleUFormInanimateSingularCondition, std::placeholders::_1); + DeclentionConditionMap[{SECOND_MALE_UFORM_INANIMATE, NC_PLURAL}] = std::bind(SecondMaleUFormInanimatePluralCondition, std::placeholders::_1); + DeclentionConditionMap[{SECOND_MALE_UFORM_ANIMATE, NC_SINGULAR}] = std::bind(SecondMaleUFormAnimateSingularCondition, std::placeholders::_1); + DeclentionConditionMap[{SECOND_MALE_UFORM_ANIMATE, NC_PLURAL}] = std::bind(SecondMaleUFormAnimatePluralCondition, std::placeholders::_1); - DeclentionConditionMap[SECOND_MALE_SSFORM_INANIMATE_SINGULAR] = std::bind(SecondMaleSSFormInanimateSingularCondition, std::placeholders::_1); - DeclentionConditionMap[SECOND_MALE_SSFORM_INANIMATE_PLURAL] = std::bind(SecondMaleSSFormInanimatePluralCondition, std::placeholders::_1); - DeclentionConditionMap[SECOND_MALE_SSFORM_ANIMATE_SINGULAR] = std::bind(SecondMaleSSFormAnimateSingularCondition, std::placeholders::_1); - DeclentionConditionMap[SECOND_MALE_SSFORM_ANIMATE_PLURAL] = std::bind(SecondMaleSSFormAnimatePluralCondition, std::placeholders::_1); + DeclentionConditionMap[{SECOND_MALE_SSFORM_INANIMATE, NC_SINGULAR}] = std::bind(SecondMaleSSFormInanimateSingularCondition, std::placeholders::_1); + DeclentionConditionMap[{SECOND_MALE_SSFORM_INANIMATE, NC_PLURAL}] = std::bind(SecondMaleSSFormInanimatePluralCondition, std::placeholders::_1); + DeclentionConditionMap[{SECOND_MALE_SSFORM_ANIMATE, NC_SINGULAR}] = std::bind(SecondMaleSSFormAnimateSingularCondition, std::placeholders::_1); + DeclentionConditionMap[{SECOND_MALE_SSFORM_ANIMATE, NC_PLURAL}] = std::bind(SecondMaleSSFormAnimatePluralCondition, std::placeholders::_1); - DeclentionConditionMap[SECOND_NEUTRAL_E_FORM_SINGULAR] = std::bind(SecondNeutralEFormSingularCondition, std::placeholders::_1); - DeclentionConditionMap[SECOND_NEUTRAL_E_FORM_PLURAL] = std::bind(SecondNeutralEFormPluralCondition, std::placeholders::_1); - DeclentionConditionMap[SECOND_NEUTRAL_O_FORM_SINGULAR] = std::bind(SecondNeutralOFormSingularCondition, std::placeholders::_1); - DeclentionConditionMap[SECOND_NEUTRAL_O_FORM_PLURAL] = std::bind(SecondNeutralOFormPluralCondition, std::placeholders::_1); + DeclentionConditionMap[{SECOND_NEUTRAL_E_FORM, NC_SINGULAR}] = std::bind(SecondNeutralEFormSingularCondition, std::placeholders::_1); + DeclentionConditionMap[{SECOND_NEUTRAL_E_FORM, NC_PLURAL}] = std::bind(SecondNeutralEFormPluralCondition, std::placeholders::_1); + DeclentionConditionMap[{SECOND_NEUTRAL_O_FORM, NC_SINGULAR}] = std::bind(SecondNeutralOFormSingularCondition, std::placeholders::_1); + DeclentionConditionMap[{SECOND_NEUTRAL_O_FORM, NC_PLURAL}] = std::bind(SecondNeutralOFormPluralCondition, std::placeholders::_1); - DeclentionConditionMap[THIRD_FORM_SINGULAR] = std::bind(ThirdFormSingularCondition, std::placeholders::_1); - DeclentionConditionMap[THIRD_FORM_INANIMATE_PLURAL] = std::bind(ThirdFormInanimatePluralCondition, std::placeholders::_1); - DeclentionConditionMap[THIRD_FORM_ANIMATE_PLURAL] = std::bind(ThirdFormAnimatePluralCondition, std::placeholders::_1); + DeclentionConditionMap[{THIRD_FORM_INANIMATE, NC_SINGULAR}] = std::bind(ThirdFormSingularCondition, std::placeholders::_1); + DeclentionConditionMap[{THIRD_FORM_ANIMATE, NC_SINGULAR}] = std::bind(ThirdFormSingularCondition, std::placeholders::_1); + DeclentionConditionMap[{THIRD_FORM_INANIMATE, NC_PLURAL}] = std::bind(ThirdFormInanimatePluralCondition, std::placeholders::_1); + DeclentionConditionMap[{THIRD_FORM_ANIMATE, NC_PLURAL}] = std::bind(ThirdFormAnimatePluralCondition, std::placeholders::_1); } @@ -767,8 +658,16 @@ bool NounFitsDeclention(NounRecord nounRecord, NounTuple nounTuple) { NounDeclencion nounDeclencion = std::get<0>(nounTuple); + NounCount nounCount = std::get<1>(nounTuple); - return DeclentionConditionMap[nounDeclencion](nounRecord); + bool standardDeclention = DeclentionConditionMap[{nounDeclencion, nounCount}](nounRecord); + + if (standardDeclention) + { + return true; + } + + return false; } bool NounScructIsAlreadyInArray(const NounStruct& nounStruct, const std::vector& arr) @@ -784,6 +683,59 @@ bool NounScructIsAlreadyInArray(const NounStruct& nounStruct, const std::vector< return false; } +bool IsDeclencionSecondType(NounDeclencion nounDeclention) +{ + switch (nounDeclention) + { + case SECOND_MALE_IFORM_INANIMATE: + case SECOND_MALE_IFORM_ANIMATE: + case SECOND_MALE_UFORM_INANIMATE: + case SECOND_MALE_UFORM_ANIMATE: + case SECOND_MALE_SSFORM_INANIMATE: + case SECOND_MALE_SSFORM_ANIMATE: + return true; + break; + default: + return false; + break; + } +} + +bool IsDeclencionAnimated(NounDeclencion nounDeclention) +{ + switch (nounDeclention) + { + case FIRST_A_IFORM_ANIMATE: + case FIRST_A_UFORM_ANIMATE: + case FIRST_YA_FORM_ANIMATE: + case SECOND_MALE_IFORM_ANIMATE: + case SECOND_MALE_UFORM_ANIMATE: + case SECOND_MALE_SSFORM_ANIMATE: + case THIRD_FORM_ANIMATE: + return true; + break; + default: + return false; + break; + } +} + +bool StandardTest(NounTuple nounTuple, NounRecord nounRecord) +{ + return NounFitsDeclention(nounRecord, nounTuple); +} + +bool LostVowelOTest(NounTuple nounTuple, NounRecord nounRecord) +{ + return nounRecord.haveStandardMultipleFormWithMissingLastVowel; +} + +bool LostVowelETest(NounTuple nounTuple, NounRecord nounRecord) +{ + return nounRecord.haveStandardMultipleFormWithMissingLastVowel; +} + + std::vector RecognizeNoun(std::wstring noun) { @@ -794,27 +746,91 @@ std::vector RecognizeNoun(std::wstring noun) for (auto nounEndingDivision : nounEndingDivisionArr) { - std::wstring nounBase = nounEndingDivision.first; - std::wstring nounEnding = nounEndingDivision.second; + std::wstring nounBase = nounEndingDivision.base; + std::wstring nounEnding = nounEndingDivision.ending; + NounEndingDivision::DivisionCase dc = nounEndingDivision.divisionCase; + + + if (dc == NounEndingDivision::DC_LOST_VOWEL_O) + { + nounBase.insert(nounBase.begin() + nounBase.size() - 1, L'о'); + } + + if (dc == NounEndingDivision::DC_LOST_VOWEL_E) + { + nounBase[nounBase.size() - 2] = L'е'; + } std::vector possibleTupleArr = GetPossibleNounTupleArr(nounEnding); - //std::vector sureTupleArr; - //Standard check - for (auto nounTuple : possibleTupleArr) + for (NounTuple nounTuple : possibleTupleArr) { - std::wstring nounNominaviteSingular = GetNounNoninativeSingular(nounBase, std::get<0>(nounTuple)); + bool animated = IsDeclencionAnimated(std::get<0>(nounTuple)); + + bool additionalTest = true; + + if (dc == NounEndingDivision::DC_LOST_VOWEL_O) + { + additionalTest = (std::get<1>(nounTuple) == NC_PLURAL) || + ((std::get<0>(nounTuple) != NGC_P1_NOMINATIVE) && + (!(std::get<0>(nounTuple) == NGC_P4_ACCUSATIVE && !animated))); + } + if (dc == NounEndingDivision::DC_LOST_VOWEL_E) + { + additionalTest = (std::get<1>(nounTuple) == NC_PLURAL) || + ((std::get<0>(nounTuple) != NGC_P1_NOMINATIVE) && + (!(std::get<0>(nounTuple) == NGC_P4_ACCUSATIVE && !animated))); + } + + if (!additionalTest) + { + continue; + } + + std::wstring nounNominaviteSingular = GetNounNoninative(nounBase, std::get<0>(nounTuple), NC_SINGULAR); if (NounIsInDictionary(nounNominaviteSingular)) { NounRecord nounRecord = GetNounRecordFromDictionary(nounNominaviteSingular); - if (NounFitsDeclention(nounRecord, nounTuple)) + bool secondAdditionalTest = true; + + if (dc == NounEndingDivision::DC_LOST_VOWEL_O) { - //sureTupleArr.push_back(nounTuple); - result.push_back({ std::get<1>(nounTuple), nounRecord }); + secondAdditionalTest = LostVowelOTest(nounTuple, nounRecord) && StandardTest(nounTuple, nounRecord); + } + else if (dc == NounEndingDivision::DC_LOST_VOWEL_E) + { + secondAdditionalTest = LostVowelETest(nounTuple, nounRecord) && StandardTest(nounTuple, nounRecord); + } + else + { + secondAdditionalTest = (nounRecord.haveStandardMultipleForm || std::get<1>(nounTuple) == NC_SINGULAR) && StandardTest(nounTuple, nounRecord); + } + + + if (secondAdditionalTest) + { + + result.push_back({ std::get<2>(nounTuple), std::get<1>(nounTuple), animated, nounRecord }); + + //Check for additional form + if (IsDeclencionSecondType(std::get<0>(nounTuple))) + { + if (std::get<1>(nounTuple) == NC_SINGULAR && nounRecord.haveAlternativeMultipleFormEnding) + { + //Add additional form! + result.push_back({ NGC_P1_NOMINATIVE, NC_PLURAL, animated, nounRecord }); + + if (nounRecord.canBeInanimate) + { + result.push_back({ NGC_P4_ACCUSATIVE, NC_PLURAL, animated, nounRecord }); + } + } + } + } } } @@ -822,31 +838,45 @@ std::vector RecognizeNoun(std::wstring noun) //Special plural form check for (auto nounTuple : possibleTupleArr) { - if (NounDeclencionIsPlural(std::get<0>(nounTuple))) + if (std::get<1>(nounTuple) == NC_PLURAL) { - std::wstring nounNominavitePlural = GetNounNoninative(nounBase, std::get<0>(nounTuple)); + std::wstring nounNominavitePlural = GetNounNoninative(nounBase, std::get<0>(nounTuple), NC_PLURAL); if (NounSpecialPluralFormIsInDictionary(nounNominavitePlural)) { NounRecord nounRecord = GetNounRecordFromDictionary_BySpecialPluralForm(nounNominavitePlural); - NounStruct ns{ std::get<1>(nounTuple), nounRecord }; - if (!NounScructIsAlreadyInArray(ns, result)) + if (nounRecord.canBeAnimate) { - result.push_back(ns); + NounStruct ns{ std::get<2>(nounTuple), std::get<1>(nounTuple), true, nounRecord }; + + if (!NounScructIsAlreadyInArray(ns, result)) + { + result.push_back(ns); + } + } + + if (nounRecord.canBeInanimate) + { + NounStruct ns{ std::get<2>(nounTuple), std::get<1>(nounTuple), false, nounRecord }; + + if (!NounScructIsAlreadyInArray(ns, result)) + { + result.push_back(ns); + } } } } } - - + + } - + return result; } @@ -859,7 +889,7 @@ NounDeclencion CalculateNounDeclention(NounRecord nounRecord) { if (i.second(nounRecord)) { - return i.first; + return i.first.first; } } @@ -889,9 +919,11 @@ void LoadNounDeclencionCaseTable() std::cout << "File found!" << std::endl; - std::vector> currentGrammaticalCaseMap; + std::vector currentGrammaticalCaseTable; std::wstring currentNounDeclencion; + std::wstring currentNounCount; + getline(f, line); //Skip one line while (getline(f, line)) { @@ -907,22 +939,31 @@ void LoadNounDeclencionCaseTable() } else { - nounDeclencionCaseTable.push_back(NounDeclencionCaseTableRecord{ WStringToNounDeclencion(currentNounDeclencion), currentGrammaticalCaseMap }); + nounDeclencionCaseTable.push_back(NounDeclencionCaseTableRecord{ WStringToNounDeclencion(currentNounDeclencion), currentGrammaticalCaseTable }); currentNounDeclencion = string_to_wstring(lineArr[0]); - currentGrammaticalCaseMap.clear(); + currentGrammaticalCaseTable.clear(); } } - currentGrammaticalCaseMap.push_back({ WStringToNounGrammaticalCase(string_to_wstring(lineArr[1])), string_to_wstring(lineArr[2]) }); + if (lineArr[1] != "") + { + currentNounCount = string_to_wstring(lineArr[1]); + } + + currentGrammaticalCaseTable.push_back({ + WStringToNounCount(currentNounCount), + WStringToNounGrammaticalCase(string_to_wstring(lineArr[2])), + string_to_wstring(lineArr[3]) + }); } //Add last one if (currentNounDeclencion != L"") { - nounDeclencionCaseTable.push_back(NounDeclencionCaseTableRecord{ WStringToNounDeclencion(currentNounDeclencion), currentGrammaticalCaseMap }); + nounDeclencionCaseTable.push_back(NounDeclencionCaseTableRecord{ WStringToNounDeclencion(currentNounDeclencion), currentGrammaticalCaseTable }); } f.close(); @@ -938,7 +979,7 @@ void LoadNounDeclencionCaseTable() void LoadFrequentWordSet() { - + #ifdef _WIN32 std::ifstream f("C:/Workplace/ChineseJournal/rudict/frequent_nouns_2000.csv"); @@ -951,6 +992,9 @@ void LoadFrequentWordSet() if (f.is_open()) { + + getline(f, line); //Skip one line + std::cout << "File found!" << std::endl; while (getline(f, line)) { diff --git a/rudict/rudict/noun.h b/rudict/rudict/noun.h index 972307f..399e82c 100644 --- a/rudict/rudict/noun.h +++ b/rudict/rudict/noun.h @@ -27,6 +27,9 @@ struct NounRecord bool haveStandardMultipleForm; bool haveStandardMultipleFormWithMissingLastVowel; + bool haveStandardMultipleFormEnding; + bool haveAlternativeMultipleFormEnding; + std::wstring specialMultipleForm; bool canBeAnimate; @@ -38,34 +41,22 @@ struct NounRecord enum NounDeclencion { - FIRST_A_IFORM_SINGULAR = 0, - FIRST_A_IFORM_INANIMATE_PLURAL, - FIRST_A_IFORM_ANIMATE_PLURAL, - FIRST_A_UFORM_SINGULAR, - FIRST_A_UFORM_INANIMATE_PLURAL, - FIRST_A_UFORM_ANIMATE_PLURAL, - FIRST_YA_FORM_SINGULAR, - FIRST_YA_FORM_INANIMATE_PLURAL, - FIRST_YA_FORM_ANIMATE_PLURAL, - SECOND_MALE_IFORM_INANIMATE_SINGULAR, - SECOND_MALE_IFORM_INANIMATE_PLURAL, - SECOND_MALE_IFORM_ANIMATE_SINGULAR, - SECOND_MALE_IFORM_ANIMATE_PLURAL, - SECOND_MALE_UFORM_INANIMATE_SINGULAR, - SECOND_MALE_UFORM_INANIMATE_PLURAL, - SECOND_MALE_UFORM_ANIMATE_SINGULAR, - SECOND_MALE_UFORM_ANIMATE_PLURAL, - SECOND_MALE_SSFORM_INANIMATE_SINGULAR, - SECOND_MALE_SSFORM_INANIMATE_PLURAL, - SECOND_MALE_SSFORM_ANIMATE_SINGULAR, - SECOND_MALE_SSFORM_ANIMATE_PLURAL, - SECOND_NEUTRAL_E_FORM_SINGULAR, - SECOND_NEUTRAL_E_FORM_PLURAL, - SECOND_NEUTRAL_O_FORM_SINGULAR, - SECOND_NEUTRAL_O_FORM_PLURAL, - THIRD_FORM_SINGULAR, - THIRD_FORM_INANIMATE_PLURAL, - THIRD_FORM_ANIMATE_PLURAL + FIRST_A_IFORM_INANIMATE = 0, + FIRST_A_IFORM_ANIMATE, + FIRST_A_UFORM_INANIMATE, + FIRST_A_UFORM_ANIMATE, + FIRST_YA_FORM_INANIMATE, + FIRST_YA_FORM_ANIMATE, + SECOND_MALE_IFORM_INANIMATE, + SECOND_MALE_IFORM_ANIMATE, + SECOND_MALE_UFORM_INANIMATE, + SECOND_MALE_UFORM_ANIMATE, + SECOND_MALE_SSFORM_INANIMATE, + SECOND_MALE_SSFORM_ANIMATE, + SECOND_NEUTRAL_E_FORM, + SECOND_NEUTRAL_O_FORM, + THIRD_FORM_INANIMATE, + THIRD_FORM_ANIMATE, }; enum NounGrammaticalCase @@ -75,31 +66,88 @@ enum NounGrammaticalCase NGC_P3_DATIVE, NGC_P4_ACCUSATIVE, NGC_P5_INSTRUMENTAL, - NGC_P6_PREPOSITIONAL + NGC_P6_PREPOSITIONAL, + NGC_SIZE +}; + +enum NounCount +{ + NC_SINGULAR = 0, + NC_PLURAL, + NC_SIZE +}; + +struct GrammaticalTableRecord +{ + NounCount count; + + NounGrammaticalCase grammaticalCase; + + std::wstring ending; }; struct NounDeclencionCaseTableRecord { NounDeclencion nounDeclencion; - std::vector> grammaticalCaseMap; - + std::vector grammaticalCaseTable; }; + + extern std::vector NounRecordArr; extern std::vector nounDeclencionCaseTable; NounDeclencion WStringToNounDeclencion(std::wstring str); +std::wstring NounCountToWString(NounCount nounCount); +NounCount WStringToNounCount(std::wstring str); std::wstring NounGrammaticalCaseToWString(NounGrammaticalCase nounGrammaticalCase); NounGrammaticalCase WStringToNounGrammaticalCase(std::wstring str); + //std::wstring NounNumberToWString(NounNumber nounNumber); -typedef std::tuple NounTuple; +typedef std::tuple< + NounDeclencion, + NounCount, + NounGrammaticalCase +> NounTuple; typedef std::set StringSet; +struct NounEndingDivision +{ + std::wstring base; + std::wstring ending; + + enum DivisionCase + { + DC_COMMON = 0, + DC_LOST_VOWEL_O, + DC_LOST_VOWEL_E, + } divisionCase; + + bool operator<(const NounEndingDivision& other) const + { + if (base != other.base) + { + return base < other.base; + } + else + { + if (ending != other.ending) + { + return ending < other.ending; + } + else + { + return divisionCase < other.divisionCase; + } + } + } +}; + std::vector GetAllNounEndingArr(); bool NounIsInDictionary(std::wstring nounNominative); @@ -117,28 +165,26 @@ bool charIsVowel(wchar_t c); struct NounStruct { NounGrammaticalCase nounGrammaticalCase; + NounCount nounCount; + bool animated; NounRecord nounRecord; }; -std::set> getPossibleNounEndingDivisionSet(std::wstring noun); +std::set getPossibleNounEndingDivisionSet(std::wstring noun); std::vector GetPossibleNounTupleArr(std::wstring nounEnding); -bool NounDeclencionIsPlural(NounDeclencion nounDeclencion); - -NounDeclencion ConvertToSingularIfNeeded(NounDeclencion nounDeclencion); - -std::wstring GetNounNoninativeSingular(std::wstring nounBase, NounDeclencion nounDeclencion); - -std::wstring GetNounNoninativePlural(std::wstring nounBase, NounDeclencion nounDeclencion); - -std::wstring GetNounNoninative(std::wstring nounBase, NounDeclencion nounDeclencion); +std::wstring GetNounNoninative(std::wstring nounBase, NounDeclencion nounDeclencion, NounCount nounCount); void SetupDeclentionMap(); bool NounFitsDeclention(NounRecord nounRecord, NounTuple nounTuple); +bool IsDeclencionSecondType(NounDeclencion nounDeclention); +bool IsDeclencionAnimated(NounDeclencion nounDeclention); + + std::vector RecognizeNoun(std::wstring noun); NounDeclencion CalculateNounDeclention(NounRecord nounRecord);