Content uploaded by Vasyl Starko
Author content
All content in this area was uploaded by Vasyl Starko on Nov 03, 2020
Content may be subject to copyright.
Галактика Слова. Галині Макарівні Гнатюк / Ін-т укр. мови НАН України. —
К. : Вид. дім Дмитра Бураго, 2020. — С. 135–141.
Номери сторінок надрукованого видання вставлено в тексті у квадратових дужках.
В. Ф. Старко (Луцьк),
Андрій Рисін (Кері, США)
ВЕЛИКИЙ ЕЛЕКТРОННИЙ СЛОВНИК УКРАЇНСЬКОЇ МОВИ (ВЕСУМ)
ЯК ЗАСІБ NLP ДЛЯ УКРАЇНСЬКОЇ МОВИ
У назві цієї статті належало б вжити абревіатуру АОПМ (автоматичне
опрацювання природної мови) чи АОТ (автоматичне опрацювання тексту),
однак скорочені українські позначення цього напрямку лінгвістики поки що не
набули такого поширення й однозначної впізнаваності, як англ. NLP (Natural
Language Processing). Українська комп’ютерна лінгвістика, маючи
кількадесятилітню історію, створила вагомий практичний доробок – це,
зокрема, комп’ютерні фонди [Карпіловська 2006], [Карпіловська 2008], корпуси
(КТУМ), (БрУК), [Старко 2014], портали (mova.info), словникові сайти (r2u,
e2u), комплекси засобів [Дарчук 2008], (brown-uk, lang-uk) тощо. Однак досі
гостроактуальною залишається потреба у вільнопоширюваних електронних
словниках, призначених насамперед для машинного використання –
забезпечення повнотекстового пошуку в пошукових системах, побудови
комп’ютерних моделей мови, розпізнавання й генерування текстів української
мовою та інших завдань. Цю статтю присвячено саме такому словнику.
Визначальними рисами Великого електронного словника української
мови (ВЕСУМ) є практична спрямованість і налаштованість на потреби
споріднених проєктів [Старко 2017]. Протягом багатьох років у проєкті ispell-uk
первісна версія цього словника слугувала для перевіряння орфографії
українських текстів у відкритій операційній системі «Лінукс». Однак кілька
років тому зусиллями програміста й комп’ютерного лінгвіста А. Рисіна його
було розвинуто у словник словозміни для програми перевіряння написання,
граматики й стилю «Правописник LanguageTool» (Правописник). Разом із
розроблюваними програмовими засобами ВЕСУМ виконує ключову функцію
морфологічного аналізу для проєкту створення Браунського українського
корпусу (БрУК), й гурт БрУК активно долучився до розширення й
вдосконалення ВЕСУМ-а. Безумовно найважливішим досягненням проєкту є
те, що 2017 року на основі ВЕСУМ-а було створено новий український
аналізатор і переіндексовано базу пошуку української Вікіпедії – відтоді двигун
повнотекстового пошуку Lucene знаходить запитане слово в усіх словоформах
(DOU Проектор).
Кожен словник стоїть на плечах своїх попередників. Не винятком є й
ВЕСУМ. У питаннях словозміни укладачі спиралися насамперед на
академічний «Граматичний словник української літературної мови.
Словозміна» колективу авторів під керівництвом В. І. Критської та за
редакцією Н. Ф. Клименко (ГСУЛМ). Реєстр ВЕСУМ-а було звірено з
найбільшими українськими словниками (ВТССУМ,
[135]
СУ), а новітню лексику укладачі черпали зі спеціалізованих видань
Інституту української мови НАНУ [Клименко 2008, АРСУН), власного
дослідницького корпусу та інших текстів і джерел. У граматичних питаннях
дороговказом слугувала академічна «Теоретична морфологія української мови»
І. Вихованця і К. Городенської [Вихованець 2004].
ВЕСУМ почали створювати й далі розвивали в умовах, коли такої
комплексної й систематизованої інформації про словозміну української мови,
як у словнику (ГСУЛМ), у відкритому доступі не було; опубліковані
орфографічні словники містили помилки та суперечили один одному;
теоретичні настанови щодо словозміни не завжди відповідали практичним
потребам АОПМ; наповнення словників відставало від розвитку української
мови (це перманентна риса всіх словників живих мов [Лендау 2012], однак у
нашому випадку вона виявляється в особливо загостреній формі). У цих
обставинах низку складних завдань лінгвістам-розробникам довелося
розв’язувати самотужки.
ВЕСУМ – це словник словозміни української мови, основними
компонентами якого є реєстр лем, коди класів словозміни й правила генерації
словоформ на основі цих кодів, а також із застосуванням елементів програмової
логіки. З правилами словозміни для всіх класів слів можна ознайомитися,
переглянувши вміст теки affix в репозиторії проєкту (brown-uk), а тут ми
розглянемо один приклад генерування словоформ із леми. До списку лем слово
близнюк внесено з таким кодом:
близнюк /n20.a.p.ke.< ,
де комбінації символів, розділених крапками, відсилають до певних
правил словозмінювання: n20 – іменники другої відміни чол. р. (без
чергування/випадання), ключ а (власне, n20.a) – закінчення -а в
род. відм. однини, ключ p – форми множини, ключ ke – закінчення -е в
клич. відмінку. У відповідному файлі з правилами словозміни n2.aff в
репозиторії ключу n20 приписано парадигми закінчень відповідно до фіналі
іменника. Парадигми розподілено на кілька категорій залежно від фіналі
іменника. Слово близнюк потрапляє в таку категорію:
[^аеєиійоуьюя]:
0 у # заводу @ noun:m:v_dav/v_mis/v_kly ,
де регулярний вираз у першому рядку задає слова, які закінчуються не на
а, е, є, и, і, й, о, у, ь, ю та я. В наступному рядку 0 означає, що слово не
втинається, а літера у задає закінчення, яке слід додати. Отже, такі іменники у
дав., місц. та кличн. відмінках отримують закінчення -у (між символами # та @
наведено приклад заводу). На основі цього правила формуються закінчення
трьох відмінків розглядуваного слова. Як бачимо, на цьому етапі в кличному
відмінку лему близнюк об’єднано в одну групу з іншими іменниками, що
дістають -у в кличному відмінку. Правильну форму близнюче буде згенеровано
пізніше, а поки що спрацьовують такі правила:
[^аеєиійоуьюяжчшщ]: -([єіо]в|[сц]ьк):
0 ові # заводові @ noun:m:v_dav/v_mis ,
[136]
тобто слово не втинається, а додається закінчення -ові в дав. і
місц. відмінках (близнюкові). Регулярний вираз -([єіо]в|[сц]ьк) окреслює
винятки з цього правила (слова на -євськ, -івськ, -оцьк тощо не дістають
закінчення -ові);
[^аеєиійоуьюяжчшщ]:
0 ом # заводом @ noun:m:v_oru ,
де додано закінчення орудного відмінка (близнюком);
subgroup n20.a
[^аєиійоуьюя]:
0 а # ягуара @ noun:m:v_rod ,
де спрацьовує ключ a й додається закінчення -а в род. відм. (близнюка);
subgroup n20.ke
…
к че к # козак козаче (К.) @ noun:m:v_kly ,
де за допомогою ключа ke генерується закінчення -е в клич. відмінку. В
послідовності к че к перші дві позиції описують заміну (к замінюється на че), а
остання позиція – умову спрацювання правила (задається літерою або
регулярним виразом). Отже, на цьому етапі остаточно сформовано правильну
форму кличного відмінка близнюче.
Завважмо, що закінчення знахідного відмінка однини не прописано в
таких правилах – вони копіюються автоматично з називного чи родового
відмінка залежно від граматичної ознаки істота/неістота. Закінчення множини
для розглядуваної леми описують такі правила:
subgroup n20.p
[^аєиіїйоуьюяжчшщ]:
0 и # завод заводи @ noun:p:v_naz
[^аєиіїйоуьюя]:
0 ів # завод заводів @ noun:p:v_rod
0 ам # завод заводам @ noun:p:v_dav
0 ами # завод заводами @ noun:p:v_oru
0 ах # завод заводах @ noun:p:v_mis
Закінчення знах. та клич. відмінків множини автоматично копіюються з
називного відмінка.
ВЕСУМ виконує завдання морфологічного аналізу й синтезу. Перше
полягає в лематизації (зведенні окремої словоформи до леми) й присвоєнні цій
словоформі відповідних граматичних тегів, а друге передбачає генерування всіх
словоформ із певної леми з відповідними граматичними ознаками-тегами.
Наприклад, словоформа близнюками лематизується до близнюк і дістає перелік
граматичних тегів noun:anim:p:v_oru, тобто іменник, істота, множина, орудний
відмінок. Під час синтезу з леми близнюк генеруються словоформи з такими
ланцюжками тегів:
близнюк noun:anim:m:v_naz
близнюка noun:anim:m:v_rod
близнюкові noun:anim:m:v_dav
близнюку noun:anim:m:v_dav
[137]
близнюка noun:anim:m:v_zna
близнюком noun:anim:m:v_oru тощо.
Морфологічний аналіз і синтез у ВЕСУМ-і має не лише статичний, а й
динамічний аспект. Річ у тім, що існує значний прошарок утворюваних за
повторюваними моделями слів, що їх годі охопити в паперовому чи
електронному словнику. Сюди належать складні прикметники (100-тий,
українсько-польський), прислівники на по- (по-американськи, по-
американському), складні іменники (пілот-винищувач, кімната-музей), слова з
початковими частинами на кшталт бізнес-, онлайн- тощо. Програмові засоби
ВЕСУМ-а дають змогу в 95% випадків коректно проаналізувати такі слова
шляхом розбиття їх на складники й присвоїти їм (після звернення до словника)
відповідні граматичні ознаки-теги. У проєкті цей підхід дістав назву
«динамічне тегування» – на відміну від простого знаходження відповідного
слова в словнику.
Дані словника ВЕСУМ доступні для використання з репозиторію (brown-
uk) згідно з умовами міжнародної ліцензії CC BY-NC-SA (ліцензія Creative
Commons із зазначенням авторства – некомерційна – розповсюдження на тих
самих умовах), а програмові засоби вільно поширюються на умовах ліцензії
GPL (Загальна громадська ліцензія GNU) версії 3. Дотримуючись умов цих
ліцензій, будь-хто може використовувати ці файли для своїх завдань у галузі
АОПМ.
Низка характеристик ВЕСУМ-а продиктована практичною
спрямованістю й відрізняє його від інших словників словозміни (ГСУЛМ, СУ):
1) машиночитний формат – ВЕСУМ працює як додаток в офісних пакетах
«ЛібреОфіс» та «Ворд», мережевому пакеті «Ґуґл докс», браузерах «Фаєрфокс»
та «Хром»; його «вмонтовано» в пошуковий двигун Apache Lucene;
2) відкритий проєкт – можна скористатися наявним доробком і/або
долучитися до розвитку проєкту;
3) динамічний характер – словник постійно поповнюється новими
лексемами;
4) великий реєстр – у версії 4.8.1-dev (лютий 2019 року) понад 401
тис. лем, з яких генерується понад 6 млн словоформ (з них понад 3,4 млн
унікальних, тобто неповторюваних);
5) широке охоплення власних назв (загалом майже 53 тис.) – усі назви
населених пунктів України згідно з Класифікатором об’єктів адміністративно-
територіального устрою України (КОАТУУ); назви, введені в результаті
декомунізації; велика база прізвищ (27,5 тис.), імен (3,4 тис.) та по батькові (1
тис.); чимало чужоземних власних назв;
6) подання покручів (майже 8 тис.), абревіатур, написаних не за чинним
правописом слів і словоформ (матеріял, индик), сленгізмів (потусуватися),
рідковживаних лексем, наприклад, нестягнених форм прикметників (гарная),
розмовних форм інфінітиву (поїхать) тощо – все це потрібно для опрацювання
різних типів текстів;
7) розбиття лексики на 13 словозмінних класів, які частково збігаються з
традиційними частинами мови: іменники (noun), дієслова (verb), прикметники
(adj), прислівники (adv), числівники (numr), сполучники (conj), прийменники
(prep),
[138]
частки (part), вигуки (intj), звуконаслідувальні слова (onomat), дієприслівники
(advp), транслітеровані чужомовні слова (foreign, наприклад, Дженерал,
Юнайтед, Інтернешнл), незмінювані (noninfl, наприклад, брутто, вівенді);
8) словник не містить наголосів, однак за потреби (приміром, для
опрацювання усного мовлення) наголоси можна додати;
9) компактну систему кодів відмінювання та тегів для слів, що дає змогу
легко додавати нові слова, групувати наявні тощо;
10) відмінювання складних назв, наприклад, Білгород-Дністровський, де
кожна частина має свою парадигму відмінювання;
11) варіанти заміни для покручів, наприклад, грамплатівка замість
грампластинка;
12) інформація про керування відмінками: запис у словнику вдячний
/adj.adv # rv_dav вказує на те, що вдячний може керувати наступною
іменниковою групою в дав. відмінку;
13) подання омонімів, тобто лем з однаковою графічною формою, що
відрізняються граматичною ознакою та/або мають відмінність у парадигмі
відмінювання (наприклад, любка noun:anim:f:v_naz:xp1 та любка
noun:inanim:f:v_naz:xp2 відрізняються ознакою істота/неістота).
ВЕСУМ – це фундамент, на якому можна будувати засоби лінгвістичного
аналізу текстів українською мовою. Ним уже користуються для різних потреб:
перевіряння орфографії, граматики й стилю (Правописник), побудови векторів
слів (див. про це (lang-uk), реалізації повнотекстового пошуку (українська
Вікіпедія та інші платформи), створення корпусу (БрУК). Серед інших
можливих застосувань – укладання різних типів словників, мовознавчі
дослідження, розробки в галузі комп’ютерної лінгвістики (зокрема побудова
моделей мови, отримання статистичної інформації), довідкові функції тощо.
Отже, ВЕСУМ заповнює ключову нішу в системі інструментарію
українського АОПМ, уможливлюючи розвиток різноманітних проєктів
автоматичного опрацювання української мови. Далі перед розробниками стоїть
завдання реалізувати розомонімізацію – зняття лексико-граматичної омонімії
(омонімії словоформ) під час аналізу текстів, а також розвинути довідкову
функцію ВЕСУМ-а. На сайті r2u вже створено користувацький інтерфейс
словника, який виводить на екран усю парадигму шуканого слова в зручному
для пересічного користувача форматі.
ДЖЕРЕЛА ФАКТИЧНОГО МАТЕРІАЛУ
АРСУН – Активні ресурси сучасної української
номінації : Ідеографічний словник нової лексики / Є. А. Карпіловська,
Л. П. Кислюк, Н. Ф. Клименко та ін.; відп. ред. Є.А. Карпіловська. – К. : ТОВ
«КММ», 2013. – 416 с.
БрУК – Браунський український корпус [Електронний ресурс], режим
доступу: https://github.com/brown-uk/corpus
ВЕСУМ – Великий електронний словник української мови (ВЕСУМ)
[Електронний ресурс], режим доступу: https://github.com/brown-uk/dict_uk
[139]
ВТССУМ – Великий тлумачний словник сучасної української мови (з
дод. і допов.) / Уклад. і гол. ред. В.Т. Бусел. – К.; Ірпінь : ВТФ «Перун», 2005. –
1728 с.
ГСУЛМ – Критська В. І. Граматичний словник української літературної
мови. Словозміна: Близько 140 000 слів / В. І. Критська, Т. І. Недозим,
Л. В. Орлова, Т. К. Пуздирєва, Ю. В. Романюк; Відп. ред. Н. Ф. Клименко. –
К. : Вид. Дім Дмитра Бураго, 2011. – 760 с.
КТУМ – Корпус текстів української мови [Електронний ресурс], режим
доступу: http://www.mova.info/corpus.aspx
Правописник – Правописник Language tool [Електронний ресурс], режим
доступу: https://languagetool.org/uk/
СУ – «Словники України» on-line / Український мовно-інформаційний
фонд НАНУ [Електронний ресурс], режим доступу: http://lcorp.ulif.org.ua/dictua/
brown-uk – Проекти гурту БрУК [Електронний ресурс], режим доступу:
https://github.com/brown-uk
DOU Проектор – DOU Проектор: словник ВЕСУМ та інші пов’язані
засоби NLP для української мови [Електронний ресурс], режим доступу:
https://dou.ua/lenta/articles/dou-projector-dict-uk/
e2u – Англійсько-українські словники [Електронний ресурс], режим
доступу: https://e2u.org.ua/
lang-uk – Проекти групи lang-uk [Електронний ресурс], режим доступу:
http://lang.org.ua/uk/
mova.info – Лінгвістичний портал mova.info [Електронний ресурс], режим
доступу: http://www.mova.info/
r2u – Російсько-українські словники [Електронний ресурс], режим доступу:
https://r2u.org.ua/
ЛІТЕРАТУРА
Вихованець І. Теоретична морфологія української мови : Академ.
граматика укр. мови / І. Вихованець, К. Городенська; За ред. І. Вихованця. –
К. : Пульсари, 2004. – 400 с.
Дарчук Н. П. Комп’ютерна лінгвістика (автоматичне опрацювання
тексту): підручник / Н. П. Дарчук. – К. : Вид-поліграф. центр «Київський
університет», 2008. – 351 с.
Карпіловська Є. А. Вступ до прикладної лінгвістики: комп’ютерна
лінгвістика: Підручник / Є. А. Карпіловська. – Донецьк : ТОВ «Юго-Восток,
Лтд», 2006. – 188 с.
Карпіловська Є. Проблеми комп’ютерного моделювання мовної динаміки
/ Є. Карпіловська // Лінгвістичні студії: Зб. наук. праць. Випуск 17. – Донецьк:
ДонНУ, 2008. –– С. 293–297.
Клименко Н. Ф. Динамічні процеси в сучасному українському лексиконі /
Н. Ф. Клименко, Є. А. Карпіловська, Л. П. Кислюк. – К. : Вид. дім Дмитра
Бураго, 2008. – 336 с.
[140]
Лендау С. Словники: мистецтво та ремесло лексикографії / С. Лендау;
[пер. з англ. О. Кочерга]. – К. : К. І. С., 2012. – 480 с.
Старко В. Комп’ютерні лінгвістичні проекти гурту r2u: стан та
застосування // Українська мова. – 2017. – № 3. – С. 86–100.
Старко В. Формування Браунського корпусу української мови / В. Старко
// Мовні і концептуальні картини світу. – 2014. – Вип. 48. – С. 415–421.
Vasyl Starko (Lutsk, Ukraine), Andriy Rysin (Cary, USA)
LARGE ELECTRONIC DICTIONARY OF UKRAINIAN (VESUM) AS AN
NLP TOOL FOR THE UKRAINIAN LANGUAGE
The article discusses the Large Electronic Dictionary of Ukrainian (VESUM,
(https://github.com/brown-uk/dict_uk) as a key NLP tool for Ukrainian, highlighting
the history of its creation, its present state and future prospects. The defining features
of the dictionary and ways in which it differs from other similar resources are
analyzed. A specific example of generating a full declension paradigm for a given
lemma is provided. The practical applications of VESUM, particularly full-text
search in the Ukrainian-language edition of Wikipedia, are described. Paths for the
development and improvement of the dictionary are outlined.
Keywords: PoS dictionary, Ukrainian, NLP, VESUM, Wikipedia.
[141]