diff options
Diffstat (limited to 'spellfix.fnl')
| -rw-r--r-- | spellfix.fnl | 503 |
1 files changed, 238 insertions, 265 deletions
diff --git a/spellfix.fnl b/spellfix.fnl index 24d381c..00642ac 100644 --- a/spellfix.fnl +++ b/spellfix.fnl @@ -3,179 +3,169 @@ (local str (require :lib.string)) (local {: must} (require :lib.utils)) -(local vocabulary ["абрикосовый" "агар" "агарвуд" "агат" "агатис" "алая" "али" - "алишань" "алтарь" "альба" "амазонка" "аметист" "амино" - "антивирус" "антиквариат" "антикварный" "антилопа" "ань" - "аньси" "аньхуа" "аравана" "арахис" "арахисом" "арован" - "арована" "аромат" "ароматный" "ароматов" "ароматы" "архат" - "архатов" "архаты" "ассортименте" "асфальт" "атомы" - "атрибуты" "аура" "бабочка" "бабочки" "багрянник" "базальт" - "базовая" "бай" "бакелит" "баклажан" "баклажане" "бамбук" - "бамбука" "бамбуке" "бамбуковая" "бамбуковые" "бамбуковый" - "бан" "банвэй" "бандун" "банка" "бань" "бао" "баоянь" - "барабанчик" "баран" "бацзе" "бегемот" "бежевая" "бежевый" +(local vocabulary ["агар" "агарвуд" "агат" "агатис" "али" "алишань" "алтарь" + "альба" "амазонка" "аметист" "амино" "антивирус" + "антиквариат" "антикварный" "антилопа" "ань" "аньси" + "аньхуа" "аравана" "арахис" "арахисом" "арован" "арована" + "аромат" "ароматный" "архат" "асфальт" "атомы" "атрибуты" + "аура" "бабочка" "бабочки" "багрянник" "базальт" "базовая" + "бай" "бакелит" "баклажан" "бамбук" "бамбуковая" + "бамбуковые" "бамбуковый" "бан" "банвэй" "бандун" "банка" + "бань" "бао" "баоянь" "барабанчик" "баран" "бацзе" "бегемот" "беззаботный" "бекас" "белая" "белые" "белый" "беседа" - "беседка" "бесконечное" "бессмертие" "бессмертия" - "бессмертных" "билочунь" "бин" "биндао" "бирюза" - "благовоний" "благовония" "благоденствие" "благопожелание" - "благостей" "ближе" "блик" "блин" "блина" "блэк" "блюдо" - "бмм" "богатство" "богомол" "бодрящий" "бодхи" - "бодхидхарма" "боковая" "большая" "большеротая" "больших" + "беседка" "бессмертие" "билочунь" "бин" "биндао" "бирюза" + "благовония" "благоденствие" "благопожелание" "ближе" "блик" + "блин" "блэк" "блюдо" "богатство" "богомол" "бодрящий" + "бодхи" "бодхидхарма" "боковая" "большая" "большеротая" "большое" "большой" "борец" "бохун" "бочонка" "бочонок" - "браслет" "бронза" "бронзовая" "будда" "будде" "будды" - "будет" "буйвол" "булан" "бульдог" "бумаги" "буонарроти" - "бусин" "бусина" "бусинмм" "бусины" "бутон" "бутылка" - "бутылки" "бхмм" "бык" "быки" "быть" "бьянка" "бэй" - "бюрюза" "бяо" "ваджра" "ваза" "вазочка" "вальдшнеп" "ван" - "вань" "варки" "васнецов" "ведрко" "великая" "великий" - "венге" "версия" "весеннее" "весенние" "весна" "весны" - "весы" "ветвях" "ветка" "ветке" "веточка" "вечным" "вижу" - "виктор" "винил" "винсент" "вишнвое" "вместе" "внеземной" - "вода" "водопад" "воды" "водяная" "водяной" "волнам" - "воробей" "воробьиные" "восемь" "восьми" "врата" + "браслет" "бронза" "бронзовая" "будда" "будды" "буйвол" + "булан" "бульдог" "буонарроти" "бусин" "бусина" "бусины" + "бутон" "бутылка" "бутылки" "бык" "быки" "быть" "бьянка" + "бэй" "бюрюза" "бяо" "ваджра" "ваза" "вазочка" "вальдшнеп" + "ван" "вань" "варки" "васнецов" "ведерко" "ведро" "великая" + "великий" "венге" "версия" "весеннее" "весенние" "весна" + "весны" "весы" "ветвях" "ветка" "ветке" "веточка" "вечным" + "вижу" "виктор" "винил" "винсент" "вишнвое" "вместе" + "внеземной" "вода" "водопад" "воды" "водяная" "водяной" + "волнам" "воробей" "воробьиные" "восемь" "восьми" "врата" "встроенным" "выдвижным" "выдержанный" "выращивание" - "высокая" "высокий" "высокой" "высокотемпературный" - "высший" "вьюнки" "вэй" "вэн" "вэнь" "габа" "габаулун" - "габашен" "гайван" "гайвань" "гайваньсиборидаси" "галька" - "гамма" "ган" "гань" "гао" "гаомиду" "гаошань" "гармония" - "гаруда" "гвоздика" "ггр" "гейша" "геккон" "гималайский" - "гинкго" "главных" "гладкий" "глаз" "глазурь" "глазурью" + "высокая" "высокий" "высокотемпературный" "высший" "вьюнки" + "вэй" "вэн" "вэнь" "габа" "габаулун" "габашен" "гайвань" + "галька" "гамма" "ган" "гань" "гао" "гаомиду" "гаошань" + "гармония" "гаруда" "гвоздика" "гейша" "геккон" + "гималайский" "гинкго" "главных" "гладкий" "глаз" "глазурь" "глина" "глины" "глициния" "гог" "год" "годов" "гои" - "голова" "головы" "голубая" "голубой" "голубь" "гор" "гора" - "горах" "горизонтом" "горная" "горном" "горный" "горшок" - "горшочек" "горы" "гоу" "грамм" "гранат" "гранатами" - "граненый" "графит" "грецкий" "гриб" "грибной" "грибом" - "грибы" "грин" "грифовая" "груша" "грушевый" "гуа" "гуан" - "гуанси" "гуань" "гуаньинь" "гуй" "гун" "гунтин" "гунфу" - "гуси" "густав" "гусь" "гушу" "гэланхэ" "дабайхао" - "дабайча" "дали" "дан" "дань" "дао" "даос" "даоское" - "дарума" "дарумы" "дарующий" "дары" "дасюэшань" "дахунпао" - "два" "двоих" "двойное" "дворянский" "денежная" "день" - "дерева" "деревня" "дерево" "деревьев" "деревянная" - "деревянном" "деревянный" "деревянным" "дескрипторов" - "дети" "джу" "джэй" "дикая" "дикие" "дикий" "диких" - "дикого" "дикой" "дин" "динь" "диск" "длинный" "для" "дном" - "добродушный" "долголетие" "долголетия" "дораэмон" "доска" - "достаток" "доу" "драгоценная" "дракон" "дракона" + "голова" "голубая" "голубой" "голубь" "гор" "гора" "горах" + "горизонтом" "горная" "горном" "горный" "горшок" "горшочек" + "горы" "гоу" "грамм" "гранат" "граненый" "графит" "грецкий" + "гриб" "грибной" "грибом" "грибы" "грин" "грифовая" "груша" + "грушевый" "гуа" "гуан" "гуанси" "гуань" "гуаньинь" "гуй" + "гун" "гунтин" "гунфу" "гуси" "густав" "гусь" "гушу" + "гэланхэ" "дабайхао" "дабайча" "дали" "дан" "дань" "дао" + "даос" "даоское" "дарума" "дарумы" "дарующий" "дары" + "дасюэшань" "дахунпао" "два" "двоих" "двойное" "дворянский" + "денежная" "день" "дерева" "деревня" "дерево" "деревьев" + "деревянная" "деревянном" "деревянный" "деревянным" + "дескрипторов" "дети" "джу" "джэй" "дикая" "дикие" "дикий" + "диких" "дикого" "дикой" "дин" "динь" "диск" "длинный" "для" + "дном" "добродушный" "долголетие" "долголетия" "дораэмон" + "доска" "достаток" "доу" "драгоценная" "дракон" "дракона" "драконом" "драконхранитель" "драконы" "древа" "древесина" "древний" "дровяной" "дуань" "дуаньни" "дун" "дух" "дымка" "дьен" "дэхуа" "дянь" "дяньхун" "дяочань" "европейский" "естественность" "жаба" "жабадракон" "жабе" "жан" "жаровня" "жасминовый" "жезл" "жезлом" "железо" "желтая" "желтые" - "желтый" "жемчуг" "жемчужина" "жемчужиной" "жемчужины" - "жен" "жень" "жернов" "жертвенный" "жесть" "жестяная" - "жидкое" "жизнь" "жлтая" "жлтой" "жлтый" "жоу" "жуйтюань" - "жунтянь" "журавлей" "журавли" "журавль" "жэнь" "забором" - "заваривай" "заваривания" "заварочная" "заварочный" - "завертка" "загадка" "зайчик" "заря" "затерянные" - "затеряться" "заяц" "звезда" "зверк" "зеленая" "зеленый" - "зелная" "зелное" "зелной" "зелные" "зелный" "земли" - "земляники" "земной" "зернами" "зимний" "зимняя" - "зимородок" "зип" "знакомства" "знакомство" "значок" - "золота" "золотая" "золоте" "золотистая" "золотистый" - "золото" "золотое" "золотой" "золотом" "золотые" "золотым" - "зрнах" "игла" "иглы" "игра" "играют" "игрунка" "иероглиф" - "иероглифы" "извергающая" "изгиб" "изобилия" "изображением" - "изогнутый" "изумрудная" "изумрудные" "изящество" "или" - "император" "императора" "индэ" "инженерное" "инкрустацией" - "инструмент" "инструментов" "инструменты" "инь" "исинская" - "исинский" "исинской" "искусство" "истинная" "истинно" - "история" "йеллоу" "йон" "йоу" "каждый" "каи" "каллиграфии" - "каллиграфия" "камень" "камне" "камня" "камфара" - "камфорный" "камфоры" "као" "капля" "капюшоне" "карамель" - "карамельный" "карпы" "картина" "картины" "кашпо" - "каштановая" "каштаны" "квадрат" "квадратная" "квадратное" - "квадратный" "кварц" "кедр" "керамика" "керамики" "кибер" - "киноварная" "киноварный" "киноварь" "киноварьбхмм" - "кипячения" "кирпич" "кирпичик" "кисет" "кистей" "кисть" - "китайский" "китайским" "классика" "классическая" "клетка" - "климт" "клипса" "книгами" "кнопкой" "коала" "кобальт" - "кобальтовая" "кобальтовые" "кобальтовый" "ковка" "кожа" - "колба" "колбы" "коленце" "коллекционная" "колодец" - "колокол" "колосья" "колотый" "кольцами" "кольцо" "кольцом" - "комбо" "комковой" "комплект" "конверт" "консоль" "контур" - "конусов" "коралл" "корень" "корзина" "корзинка" "корица" - "коричневая" "коричневое" "коричневый" "кормилица" - "коробка" "коробке" "коробочка" "коробочке" "корпусе" - "кости" "кость" "костяной" "кот" "котелок" "котик" "котики" - "котнок" "краб" "крабы" "край" "красавица" "красная" - "краснобелый" "красного" "красное" "красной" "красносиний" - "красные" "красный" "красных" "кратер" "крафткартон" - "креветка" "креветки" "кристалл" "кровавый" "кровать" - "кролик" "кролики" "крольчонок" "круг" "круглая" "круглое" - "круглый" "круглым" "кружка" "крупная" "крыло" "крыса" - "крыски" "крышки" "крышкой" "крышку" "крышу" "куан" "кубок" - "кувшин" "кузнечик" "куй" "культура" "кун" "кунь" "купаж" + "желтый" "жемчуг" "жемчужина" "жемчужиной" "жемчужины" "жен" + "жень" "жернов" "жертвенный" "жесть" "жестяная" "жидкое" + "жизнь" "жлтая" "жлтой" "жлтый" "жоу" "жуйтюань" "жунтянь" + "журавлей" "журавли" "журавль" "жэнь" "забором" "заваривай" + "заваривания" "заварочная" "заварочный" "завертка" "загадка" + "зайчик" "заря" "затерянные" "затеряться" "заяц" "звезда" + "зверк" "зеленая" "зеленый" "зелная" "зелное" "зелной" + "зелные" "зелный" "земли" "земляники" "земной" "зернами" + "зимний" "зимняя" "зимородок" "зип" "знакомства" + "знакомство" "значок" "золота" "золотая" "золоте" + "золотистая" "золотистый" "золото" "золотое" "золотой" + "золотом" "золотые" "золотым" "зрнах" "игла" "иглы" "игра" + "играют" "игрунка" "иероглиф" "иероглифы" "извергающая" + "изгиб" "изобилия" "изображением" "изогнутый" "изумрудная" + "изумрудные" "изящество" "или" "император" "императора" + "индэ" "инженерное" "инкрустацией" "инструмент" + "инструментов" "инструменты" "инь" "исинская" "исинский" + "исинской" "искусство" "истинная" "истинно" "история" + "йеллоу" "йон" "йоу" "каждый" "каи" "каллиграфии" + "каллиграфия" "камень" "камне" "камня" "камфара" "камфорный" + "камфоры" "као" "капля" "капюшоне" "карамель" "карамельный" + "карпы" "картина" "картины" "кашпо" "каштановая" "каштаны" + "квадрат" "квадратная" "квадратное" "квадратный" "кварц" + "кедр" "керамика" "керамики" "кибер" "киноварная" + "киноварный" "киноварь" "киноварьбхмм" "кипячения" "кирпич" + "кирпичик" "кисет" "кистей" "кисть" "китайский" "китайским" + "классика" "классическая" "клетка" "климт" "клипса" + "книгами" "кнопкой" "коала" "кобальт" "кобальтовая" + "кобальтовые" "кобальтовый" "ковка" "кожа" "колба" "колбы" + "коленце" "коллекционная" "колодец" "колокол" "колосья" + "колотый" "кольцами" "кольцо" "кольцом" "комбо" "комковой" + "комплект" "конверт" "консоль" "контур" "конусов" "коралл" + "корень" "корзина" "корзинка" "корица" "коричневая" + "коричневое" "коричневый" "кормилица" "коробка" "коробке" + "коробочка" "коробочке" "корпусе" "кости" "кость" "костяной" + "кот" "котелок" "котик" "котики" "котнок" "краб" "крабы" + "край" "красавица" "красная" "краснобелый" "красного" + "красное" "красной" "красносиний" "красные" "красный" + "красных" "кратер" "крафткартон" "креветка" "креветки" + "кристалл" "кровавый" "кровать" "кролик" "кролики" + "крольчонок" "круг" "круглая" "круглое" "круглый" "круглым" + "кружка" "крупная" "крыло" "крыса" "крыски" "крышки" + "крышкой" "крышку" "крышу" "куан" "кубок" "кувшин" + "кузнечик" "куй" "культура" "кун" "кунь" "купаж" "курильница" "куропатка" "куропатки" "кучжушань" "кха" "лабранг" "лавр" "лазуревая" "лазурит" "лазурь" "лак" "лаконичная" "лаконичное" "лаконичный" "лампада" "лан" - "лань" "ланьбмм" "ланьянь" "лао" "лаодуань" "лаошу" - "латунь" "лев" "лед" "ледяная" "лежанка" "лепестки" - "лепешка" "лес" "леса" "лесная" "лесной" "летающая" - "летний" "летучая" "летучей" "летучие" "ликов" "лилия" - "лимин" "лин" "линчжи" "линь" "линьцан" "линьцана" "лист" - "листве" "листе" "листопад" "листья" "листьях" "личи" - "лодка" "лопаточка" "лоск" "лотос" "лотоса" "лотосе" - "лотосовом" "лотосовый" "лотосом" "лотосы" "лошадей" - "лошадь" "лун" "луна" "лунная" "лунный" "луны" "львов" - "львы" "льду" "любимого" "люйтан" "люкс" "люфа" "лягушка" - "лягушки" "лян" "лянь" "магнолии" "магнолия" "магритт" - "май" "майтрейя" "малая" "маленькая" "малые" "малый" - "мальки" "мальчик" "мандарине" "мандаринки" "маньлан" - "маньно" "мао" "маофэн" "марка" "мастер" "маття" "матура" - "матча" "медитации" "медитирующий" "медная" "медный" - "медовые" "медь" "между" "мей" "менхай" "менхайский" - "меняющая" "металл" "металлик" "металлической" "мешочек" - "микеланджело" "микрофибра" "мин" "миндаль" "мини" + "лань" "ланьбмм" "ланьянь" "лао" "лаодуань" "лаошу" "латунь" + "лев" "лед" "ледяная" "лежанка" "лепестки" "лепешка" "лес" + "леса" "лесная" "лесной" "летающая" "летний" "летучая" + "летучей" "летучие" "ликов" "лилия" "лимин" "лин" "линчжи" + "линь" "линьцан" "линьцана" "лист" "листве" "листе" + "листопад" "листья" "листьях" "личи" "лодка" "лопаточка" + "лоск" "лотос" "лотоса" "лотосе" "лотосовом" "лотосовый" + "лотосом" "лотосы" "лошадей" "лошадь" "лун" "луна" "лунная" + "лунный" "луны" "львов" "львы" "льду" "любимого" "люйтан" + "люкс" "люфа" "лягушка" "лягушки" "лян" "лянь" "магнолии" + "магнолия" "магритт" "май" "майтрейя" "малая" "маленькая" + "малые" "малый" "мальки" "мальчик" "мандарине" "мандаринки" + "маньлан" "маньно" "мао" "маофэн" "марка" "мастер" "маття" + "матура" "матча" "медитации" "медитирующий" "медная" + "медный" "медовые" "медь" "между" "мей" "менхай" + "менхайский" "меняющая" "металл" "металлик" "металлической" + "мешочек" "микеланджело" "микрофибра" "мин" "миндаль" "мини" "мининабор" "миниточа" "минитун" "минцзян" "мир" "мира" "мистер" "ммб" "мокрый" "моллюск" "молочная" "монах" "монетами" "монете" "монетка" "монеты" "мопс" "море" "моша" "мощный" "мощь" "мудрец" "мудрый" "мун" "муравей" "мушмула" - "мыши" "мышки" "мышонок" "мышь" "мышью" "мэй" "мэйхуа" - "мэн" "мэнку" "мэнсун" "мэнхай" "мэнхайская" "мэнхая" - "мятный" "набор" "награда" "нака" "наклейки" "нан" "нань" - "наньно" "наньтоу" "наполированный" "наработанный" - "нарухина" "нарцисс" "нарциссы" "наследие" "настроение" - "натюрморт" "наук" "начало" "небесной" "небесный" "небо" - "неведомый" "нежная" "нежный" "нектар" "нержавеющая" - "нефрит" "нефритовая" "нефритовое" "нижним" "низкий" - "нитка" "нить" "новая" "новый" "нож" "ножках" "ножке" "нос" - "ночи" "ночь" "нун" "нюгай" "оазис" "обеденный" "обезьян" - "обезьянка" "обезьянки" "обезьяны" "обжиг" "облака" - "облаками" "облаках" "облако" "ободком" "обратных" - "обсидиан" "овал" "овальная" "овальный" "огненная" - "огнеупорная" "огнеупорного" "огнеупорное" "одуванчик" - "озера" "окаменелая" "океана" "окихиро" "округлый" - "олдскул" "олень" "олово" "оплетка" "оплеткой" "оплткой" - "оранжевой" "оранжевый" "органик" "органическая" "орех" - "орехи" "ореховый" "орнамент" "орнаментом" "орхидеи" - "орхидея" "осень" "осетр" "османтус" "основных" "особая" - "отбивное" "отдых" "охраняющий" "очиститель" "пабло" - "павлин" "пакет" "пакетов" "палисандр" "палисандра" - "палочка" "палочки" "панда" "панцирь" "пань" "пао" "пара" - "парный" "пару" "парча" "патра" "пачка" "пейзаж" - "пейзажная" "пеликан" "первый" "перепелиное" - "перепрыгивают" "перламутром" "персик" "персика" "персике" - "персики" "персиковый" "персиком" "персон" "персоны" - "петух" "печать" "пиал" "пиала" "пиалу" "пиалы" "пикассо" - "пин" "пиньгэ" "пион" "пиона" "пионы" "пирамида" "письмо" - "пламя" "плант" "плантационный" "плантация" "пластиковое" - "пластиковым" "пластина" "пластинки" "плато" "плетеное" - "плетное" "плетной" "плитка" "плоды" "пломбир" "плоская" - "побеги" "погружение" "под" "подарочная" "подарочной" - "подачей" "подводный" "поддоном" "поднос" "подносом" - "подсвечник" "подставка" "подставкаподогреватель" - "подставке" "подставки" "подставкой" "подушкой" "познания" - "покой" "поколений" "покров" "полной" "полный" "полотенце" - "полотно" "полочка" "полуавтоматическая" "полудикий" - "полудиких" "полусладкий" "помпа" "пороснок" "постижение" - "посуды" "поталь" "походная" "походный" "почка" "праздник" - "предел" "предмет" "предметов" "премиум" "пресс" "природе" - "пробуждение" "прозрачная" "прозрачный" "прохладе" - "процветание" "прочность" "пруд" "пруду" "пряжка" - "прямоугольная" "прямоугольный" "прятки" "птица" "птицы" - "птички" "пурпур" "пурпурный" "путь" "пушинка" "пуэр" - "пуэра" "пуэрмобиль" "пуэров" "пчела" "пышная" "пяо" + "мыши" "мышки" "мышонок" "мышь" "мышью" "мэй" "мэйхуа" "мэн" + "мэнку" "мэнсун" "мэнхай" "мэнхайская" "мэнхая" "мятный" + "набор" "награда" "нака" "наклейки" "нан" "нань" "наньно" + "наньтоу" "наполированный" "наработанный" "нарухина" + "нарцисс" "нарциссы" "наследие" "настроение" "натюрморт" + "наук" "начало" "небесной" "небесный" "небо" "неведомый" + "нежная" "нежный" "нектар" "нержавеющая" "нефрит" + "нефритовая" "нефритовое" "нижним" "низкий" "нитка" "нить" + "новая" "новый" "нож" "ножках" "ножке" "нос" "ночи" "ночь" + "нун" "нюгай" "оазис" "обеденный" "обезьян" "обезьянка" + "обезьянки" "обезьяны" "обжиг" "облака" "облаками" "облаках" + "облако" "ободком" "обратных" "обсидиан" "овал" "овальная" + "овальный" "огненная" "огнеупорная" "огнеупорного" + "огнеупорное" "одуванчик" "озера" "окаменелая" "океана" + "окихиро" "округлый" "олдскул" "олень" "олово" "оплетка" + "оранжевый" "органик" "органическая" "орех" "орехи" + "ореховый" "орнамент" "орнаментом" "орхидеи" "орхидея" + "осень" "осетр" "османтус" "основных" "особая" "отдых" + "охраняющий" "очиститель" "пабло" "павлин" "пакет" "пакетов" + "палисандр" "палисандра" "палочка" "палочки" "панда" + "панцирь" "пань" "пао" "пара" "парный" "пару" "парча" + "патра" "пачка" "пейзаж" "пейзажная" "пеликан" "первый" + "перепелиное" "перепрыгивают" "перламутром" "персик" + "персика" "персике" "персики" "персиковый" "персиком" + "персон" "персоны" "петух" "печать" "пиал" "пиала" "пиалу" + "пиалы" "пикассо" "пин" "пиньгэ" "пион" "пиона" "пионы" + "пирамида" "письмо" "пламя" "плант" "плантационный" + "плантация" "пластиковое" "пластиковым" "пластина" + "пластинки" "плато" "плетеное" "плетное" "плетной" "плитка" + "плоды" "пломбир" "плоская" "побеги" "погружение" "под" + "подарочная" "подарочной" "подачей" "подводный" "поддоном" + "поднос" "подносом" "подсвечник" "подставка" + "подставкаподогреватель" "подставке" "подставки" + "подставкой" "подушкой" "познания" "покой" "поколений" + "покров" "полной" "полный" "полотенце" "полотно" "полочка" + "полуавтоматическая" "полудикий" "полудиких" "полусладкий" + "помпа" "пороснок" "постижение" "посуды" "поталь" "походная" + "походный" "почка" "праздник" "предел" "предмет" "предметов" + "премиум" "пресс" "природе" "пробуждение" "прозрачная" + "прозрачный" "прохладе" "процветание" "прочность" "пруд" + "пруду" "пряжка" "прямоугольная" "прямоугольный" "прятки" + "птица" "птицы" "птички" "пурпур" "пурпурный" "путь" + "пушинка" "пуэр" "пуэрмобиль" "пчела" "пышная" "пяо" "пятнистый" "пять" "работа" "работы" "радости" "разделки" "размер" "размышлений" "райские" "раковина" "ранневесенний" "распускающиеся" "распустившиеся" "расслабляющий" @@ -189,70 +179,68 @@ "рыбка" "рыбки" "рыбой" "рыбы" "рыжая" "рыжий" "саванна" "сад" "сакральной" "сакура" "саламандра" "салатовая" "салфетница" "сандал" "сандала" "саоган" "сахарок" "сбор" - "сверчок" "свет" "светлая" "светлое" "светлорыжая" - "светлые" "светлый" "свинка" "свиньи" "свинья" "свитком" - "связь" "священного" "северный" "секции" "селадон" "семена" - "семь" "семян" "серая" "сердечки" "сердолик" "сердца" - "сердце" "серебре" "серебро" "серебряная" "серебряные" - "серия" "серое" "серый" "сиборидаси" "сигара" "сизоворонка" - "сила" "силу" "символы" "син" "синебежевый" "синее" "синей" - "синие" "синий" "синь" "синяя" "сипин" "сиреневый" "сито" - "ситом" "сифон" "сияние" "склада" "скоропись" "скрученный" + "сверчок" "свет" "светлая" "светлое" "светлорыжая" "светлые" + "светлый" "свинка" "свиньи" "свинья" "свитком" "связь" + "священного" "северный" "секции" "селадон" "семена" "семь" + "семян" "серая" "сердечки" "сердолик" "сердца" "сердце" + "серебре" "серебро" "серебряная" "серебряные" "серия" + "серое" "серый" "сиборидаси" "сигара" "сизоворонка" "сила" + "силу" "символы" "син" "синебежевый" "синее" "синей" "синие" + "синий" "синь" "синяя" "сипин" "сиреневый" "сито" "ситом" + "сифон" "сияние" "склада" "скоропись" "скрученный" "скульптура" "сладкий" "сладость" "слив" "слива" "сливник" "сливы" "слитке" "слитком" "слово" "сложная" "слон" "слоновой" "слоном" "слоны" "смола" "сна" "снежная" "снежный" "собака" "советский" "совок" "совочек" "согревающий" "солнца" "солнце" "сорт" "сосна" "сосны" "сосуд" "спирали" "спираль" "спиртовка" "спокойствие" - "спящий" "средняя" "стакан" "стакантермос" "сталь" - "станция" "старая" "старого" "старое" "старый" "старых" - "статуэтка" "стекла" "стекло" "стеклянная" "стекляный" - "стикер" "стикерпак" "стикеры" "стиле" "стилов" "стиль" - "сто" "стол" "столик" "столика" "стопы" "странствующий" - "стрекоза" "строк" "стул" "стула" "ступа" "суаньджи" "суй" - "сумка" "сумо" "сун" "сундук" "сунская" "сунском" "сунь" - "суровая" "сутра" "сутры" "сухого" "сухое" "сферы" - "счастливая" "счастливое" "счастливый" "счастье" "счастья" - "сытый" "сюань" "сюнь" "сюэ" "сягуань" "сян" "сянь" - "сяньхуа" "сяо" "тай" "тайванский" "тайвань" "тайваньская" - "тайваньского" "тайхэ" "такинава" "тан" "танская" "танские" - "танцуют" "тань" "тао" "тарелка" "тарзан" "творцы" "твоя" - "тегуаньинь" "телец" "темная" "темное" "темнокоричневая" - "тентяо" "термоз" "термос" "термоса" "термоскувшин" "тигр" - "тигра" "тигровый" "тин" "типот" "тираж" "тисбмм" "титан" - "титестера" "тишине" "ткань" "тмная" "тмное" "тмные" - "тмный" "тобой" "тонкое" "тоу" "точа" "трав" "травы" - "трапеция" "треножник" "трепет" "треугольная" "трехлапая" - "три" "трио" "трионикс" "троих" "трон" "трона" "трубками" - "трубкой" "трхлапая" "тулоу" "тун" "тунь" "тушечница" - "тушью" "тхи" "тыква" "тьен" "тюльпан" "тяван" "тян" "тянь" - "тяоша" "угря" "удачи" "узор" "улун" "улунов" "улуны" - "улыбка" "уляншань" "упаковка" "уруши" "уся" "утешения" - "утнок" "уточки" "утро" "утун" "ухват" "уцай" "учатся" - "ушастый" "фан" "фаньгу" "фарфор" "фарфора" "фарфоровая" - "феникс" "феникса" "фениксовый" "фермерский" "фигурка" - "фильтрпакеты" "финиковый" "фиолетового" "фиолетовый" - "фирма" "флакон" "форма" "формикарий" "фосян" "фруктовый" - "фугу" "фудин" "фун" "футболка" "фуцзянь" "фуцзяньском" - "фэй" "фэйчжоу" "фэн" "фэнхуан" "фэнцин" "фэншуй" "хай" - "хайвань" "халат" "ханой" "хань" "ханьской" "хао" "хгр" - "хищная" "хлопок" "хлопушками" "хлоритом" "хмм" "хомяк" - "хороший" "хотеи" "хотей" "хотэй" "хоу" "хохин" "хранения" - "хранящий" "хризантема" "хризантемы" "хрусталь" "хсм" "хуа" - "хуан" "хуацзинань" "хун" "хунни" "хуолун" "хупитан" - "хурма" "хурмы" "хуэй" "ххсм" "хэй" "хэйтан" "хэйхуали" - "хэйча" "хэн" "хэтян" "хэхуань" "цан" "цаплей" "цапля" - "царь" "цвет" "цвета" "цветами" "цветов" "цветок" - "цветочки" "цветочная" "цветочный" "цветущие" "цветущий" - "цветы" "целеустремленность" "цельная" "церемонии" "цза" - "цзао" "цзе" "цзи" "цзин" "цзингу" "цзиндэчжень" - "цзиндэчжэнь" "цзиндэчжэньгоры" "цзинмай" "цзиношань" - "цзинь" "цзиньгу" "цзиньдечжень" "цзиньдэчжень" - "цзиньдэчжэнь" "цзу" "цзун" "цзы" "цзыни" "цзытан" "цзю" - "цзюй" "цзюнь" "цзюэнь" "цзя" "цзянь" "цзяньшуй" - "цзяньшуйская" "цзяо" "цикада" "цикадки" "цикады" "цикл" - "цилиндр" "цилинь" "цимень" "цин" "цинния" "цинхуа" - "циньчжоу" "цуй" "цун" "цюй" "цюэ" "цяньлян" "цяо" "чабани" + "спящий" "средняя" "стакан" "стакантермос" "сталь" "станция" + "старая" "старого" "старое" "старый" "старых" "статуэтка" + "стекла" "стекло" "стеклянная" "стекляный" "стикер" + "стикерпак" "стикеры" "стиле" "стилов" "стиль" "сто" "стол" + "столик" "столика" "стопы" "странствующий" "стрекоза" + "строк" "стул" "стула" "ступа" "суаньджи" "суй" "сумка" + "сумо" "сун" "сундук" "сунская" "сунском" "сунь" "суровая" + "сутра" "сутры" "сухого" "сухое" "сферы" "счастливая" + "счастливое" "счастливый" "счастье" "счастья" "сытый" + "сюань" "сюнь" "сюэ" "сягуань" "сян" "сянь" "сяньхуа" "сяо" + "тай" "тайванский" "тайвань" "тайваньская" "тайваньского" + "тайхэ" "такинава" "тан" "танская" "танские" "танцуют" + "тань" "тао" "тарелка" "тарзан" "творцы" "твоя" "тегуаньинь" + "телец" "темная" "темное" "темнокоричневая" "тентяо" + "термоз" "термос" "термоса" "термоскувшин" "тигр" "тигра" + "тигровый" "тин" "типот" "тираж" "тисбмм" "титан" + "титестера" "тишине" "ткань" "тмная" "тмное" "тмные" "тмный" + "тобой" "тонкое" "тоу" "точа" "трав" "травы" "трапеция" + "треножник" "трепет" "треугольная" "трехлапая" "три" "трио" + "трионикс" "троих" "трон" "трона" "трубками" "трубкой" + "трхлапая" "тулоу" "тун" "тунь" "тушечница" "тушью" "тхи" + "тыква" "тьен" "тюльпан" "тяван" "тян" "тянь" "тяоша" "угря" + "удачи" "узор" "улун" "улыбка" "уляншань" "упаковка" "уруши" + "уся" "утешения" "утнок" "уточки" "утро" "утун" "ухват" + "уцай" "учатся" "ушастый" "фан" "фаньгу" "фарфор" "фарфора" + "фарфоровая" "феникс" "фермерский" "фигурка" "фильтрпакеты" + "финиковый" "фиолетового" "фиолетовый" "фирма" "флакон" + "форма" "формикарий" "фосян" "фруктовый" "фугу" "фудин" + "фун" "футболка" "фуцзянь" "фуцзяньском" "фэй" "фэйчжоу" + "фэн" "фэнхуан" "фэнцин" "фэншуй" "хай" "хайвань" "халат" + "ханой" "хань" "ханьской" "хао" "хгр" "хищная" "хлопок" + "хлопушками" "хлоритом" "хмм" "хомяк" "хороший" "хотеи" + "хотей" "хотэй" "хоу" "хохин" "хранения" "хранящий" + "хризантема" "хризантемы" "хрусталь" "хсм" "хуа" "хуан" + "хуацзинань" "хун" "хунни" "хуолун" "хупитан" "хурма" + "хурмы" "хуэй" "ххсм" "хэй" "хэйтан" "хэйхуали" "хэйча" + "хэн" "хэтян" "хэхуань" "цан" "цаплей" "цапля" "царь" "цвет" + "цвета" "цветами" "цветов" "цветок" "цветочки" "цветочная" + "цветочный" "цветущие" "цветущий" "цветы" + "целеустремленность" "цельная" "церемонии" "цза" "цзао" + "цзе" "цзи" "цзин" "цзингу" "цзиндэчжень" "цзиндэчжэнь" + "цзиндэчжэньгоры" "цзинмай" "цзиношань" "цзинь" "цзиньгу" + "цзиньдечжень" "цзиньдэчжень" "цзиньдэчжэнь" "цзу" "цзун" + "цзы" "цзыни" "цзытан" "цзю" "цзюй" "цзюнь" "цзюэнь" "цзя" + "цзянь" "цзяньшуй" "цзяньшуйская" "цзяо" "цикада" "цикадки" + "цикады" "цикл" "цилиндр" "цилинь" "цимень" "цин" "цинния" + "цинхуа" "циньчжоу" "цуй" "цун" "цюй" "цюэ" "цяньлян" "цяо" "чабань" "чаегуань" "чаем" "чаепития" "чай" "чайнатаун" "чайная" "чайник" "чайника" "чайники" "чайником" "чайниксифон" "чайница" "чайничек" "чайного" "чайное" @@ -263,42 +251,42 @@ "черный" "черпак" "четки" "четыре" "чехлом" "чжай" "чжан" "чжанлан" "чжань" "чжаоцзюнь" "чжен" "чжень" "чжи" "чжима" "чжу" "чжуань" "чжун" "чжуни" "чжэн" "чжэнь" "чизкейк" - "чилл" "чин" "чиновника" "чиновников" "чицзыму" "чоу" - "чрная" "чрное" "чрный" "чтки" "чток" "чугун" "чудо" "чун" - "чунь" "чуньхуа" "чха" "чхан" "чхин" "чхэн" "чхэнсян" "чэн" - "чэнь" "чэньсян" "чэньсяо" "шай" "шайхун" "шан" "шань" - "шар" "шаром" "шары" "шен" "шестигранный" "шестиугольник" - "шило" "шипяо" "шисянь" "шиюань" "шкатулка" "шкаф" - "шкафчик" "школа" "шнурок" "шоколад" "шоу" "шрек" "шуй" - "шуйпин" "шуйсянь" "шумахер" "шупу" "шурикен" "шутливый" - "шуэй" "шэн" "шэнтай" "шэнши" "щипцы" "экстра" - "электрический" "электронные" "элементов" "юйчэн" "юлэ" - "юндэ" "юнь" "юньнани" "юньнань" "юпитер" "юэнань" "яблоко" - "ядерный" "язычки" "яйцо" "якотза" "яма" "янгуйфэй" - "янтарная" "янтарь" "янтаряв" "янь" "японская" "японский" - "ясный" "яшма"]) + "чилл" "чин" "чицзыму" "чоу" "чрная" "чрное" "чрный" "чтки" + "чток" "чугун" "чудо" "чун" "чунь" "чуньхуа" "чха" "чхан" + "чхин" "чхэн" "чхэнсян" "чэн" "чэнь" "чэньсян" "чэньсяо" + "шай" "шайхун" "шан" "шань" "шар" "шен" "шестиугольник" + "шило" "шипяо" "шисянь" "шиюань" "шкатулка" "шкаф" "шкафчик" + "школа" "шнурок" "шоколад" "шоу" "шрек" "шуй" "шуйпин" + "шуйсянь" "шумахер" "шупу" "шурикен" "шутливый" "шуэй" "шу" + "шэн" "шэнтай" "шэнши" "щипцы" "экстра" "электрический" + "электронные" "элементов" "юйчэн" "юлэ" "юндэ" "юнь" + "юньнань" "юпитер" "юэнань" "яблоко" "язычки" "яйцо" + "якотза" "яма" "янгуйфэй" "янтарь" "янь" + "японский" "яшма"]) (fn levenshtein [str1 str2] - (let [len1 (must (luna.utf.len str1)) - len2 (must (luna.utf.len str2)) - matrix {}] - (var cost 0) - (if (= len1 0) (lua "return len2") - (= len2 0) (lua "return len1") - (= str1 str2) (lua "return 0")) - (for [i 0 len1] (tset matrix i {}) (tset (. matrix i) 0 i)) - (for [j 0 len2] (tset (. matrix 0) j j)) - (for [i 1 len1] - (for [j 1 len2] - (if (= (must (luna.utf.sub str1 i 1)) (must (luna.utf.sub str2 j 1))) - (set cost 0) (set cost 1)) - (tset (. matrix i) j - (math.min (+ (. matrix (- i 1) j) 1) (+ (. matrix i (- j 1)) 1) - (+ (. matrix (- i 1) (- j 1)) cost))))) - (. matrix len1 len2))) - -(fn diff-letters [str1 str2] - (# (array.diff (str.letters str1) (str.letters str2)))) + (local len1 (must (luna.utf8.len str1))) + (local len2 (must (luna.utf8.len str2))) + (local matrix []) + (var cost 0) + (if + (= len1 0) len2 + (= len2 0) len1 + (= str1 str2) 0 + (< 2 (math.abs (- len2 len1))) (math.max len2 len1) + ;; else + (do + (for [i 0 len1] (tset matrix i {}) (tset (. matrix i) 0 i)) + (for [j 0 len2] (tset (. matrix 0) j j)) + (for [i 1 len1] + (for [j 1 len2] + (if (= (must (luna.utf8.sub str1 i 1)) + (must (luna.utf8.sub str2 j 1))) + (set cost 0) (set cost 1)) + (tset (. matrix i) j + (math.min (+ (. matrix (- i 1) j) 1) (+ (. matrix i (- j 1)) 1) + (+ (. matrix (- i 1) (- j 1)) cost))))) + (. matrix len1 len2)))) (fn guess [string] (local result @@ -312,22 +300,7 @@ (local sorted-index (array.sort index #(< $1.distance $2.distance))) (local most-similar (. sorted-index 1)) - (if (< most-similar.distance 3) - (do - ;; compare letters in candidates to choose the best option - (local same-distance-words - (filter - #(= $2.distance most-similar.distance) - sorted-index)) - (local sorted-candidates - (array.sort - (map - (fn [_ v] {:word v.word - :diff-letters (diff-letters token v.word)}) - same-distance-words) - #(< $1.diff-letters $2.diff-letters))) - (. sorted-candidates 1 :word)) - token)) + most-similar.word) (str.split string)) " ")) (if (~= result string) |
