Tired of outsourcing? Get hired at a top product startup from Silicon Valley 🚀
×Закрыть

Граматичний словник для українського Natural Language Processing

Ця інформація буде цікава в першу чергу комп’ютерним лінгвістам, які мають на меті аналізувати тексти українською мовою. Отже: Великий електронний словник української мови (ВЕСУМ)

Що це: відкритий електронний словник, що містить слова української мови з парадигмами відмінювання.

Що з ним робити: вільно користуватися, звантажувати, поширювати, доповнювати.

Для чого: для створення програмних засобів, що підтримують українську мову чи аналізують тексти українською мовою.

Для кого: для мовознавців, комп’ютерних лінгвістів та програмістів, які працюють з українською мовою.

Що там є: ~197 тис. слів, які генерують ~3,4 млн словоформ. Кожна словоформа має лему та набір тегів.

Де використовується: наразі словник використовується у проектах перевірки орфографії (hunspell, зокрема у браузері Firefox та офісному ПЗ Libreoffice.org) та перевірки граматики в програмі LanguageTool. Планується використання в pymorphy2, Elastic Search, Solar.

Подробиці тут: github.com/...aster/doc/announcement.md

LinkedIn
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Вийшов реліз (v.2.0) граматичного словника української мови+!!!
github.com/...ationSystems/mphdict/wiki
Основне в v.2.0:
— база даних українського граматичного словника містить 261499 реєстрові одиниці, 2796 словозмінні класи;
— база даних російського граматичного словника містить 169733 реєстрові одиниці, 1985 словозмінні класи;
— забезпечено візуалізацію словозмінних класів словників та базові вибірки за категоріями;
— реалізовано візуалізацію реєстру;
— реалізовано візуалізацію повного переліку усіх граматичних форм для обраної з реєстру лексичної одиниці;
— реалізовано пошук слова в реєстрі;
— реалізовано формування базових вибірок реєстру за номером словозмінного класу, за частиномовною належністю, за наявністю у реєстрових слів певної послідовності символів;
— формування реєстру та пошуку в ньому.

Де можна знайти такий словник для інших мов, наприклад з топ-10?

Можна тут: www.wiktionary.org.

Вийшов реліз (v.2.0) граматичного словника української мови+!!!
github.com/...ationSystems/mphdict/wiki
Основне в v.2.0:
— база даних українського граматичного словника містить 261499 реєстрові одиниці, 2796 словозмінні класи;
— база даних російського граматичного словника містить 169733 реєстрові одиниці, 1985 словозмінні класи;
— забезпечено візуалізацію словозмінних класів словників та базові вибірки за категоріями;
— реалізовано візуалізацію реєстру;
— реалізовано візуалізацію повного переліку усіх граматичних форм для обраної з реєстру лексичної одиниці;
— реалізовано пошук слова в реєстрі;
— реалізовано формування базових вибірок реєстру за номером словозмінного класу, за частиномовною належністю, за наявністю у реєстрових слів певної послідовності символів;
— формування реєстру та пошуку в ньому.

Відмінно, але ця робота буде цікава не лише в Україні. А лінгвісти в світі, як правило не поліглоти :) Тому є резон перекласти всі пояснення на англійську.

Дякуємо за оцінку!
Прануємо додати англомовний інтерфейс системи та опис.
Трохи не вистачає часу, зараз як Ви могли бачити, навіть україномовний опис дуже куций ;)

Нічерта собі! проект — мрія. обов’язково розберусь.

Шукав щось на зразок цього, коли читав Tamming Text (Manning), але так і не знайшов

А можете будь ласка поділитись тональним словником на 900 слів?
Писала вам на імейл :)

Поділилась :)

Дуже круто, я, можна сказати, мріяв про такий словник, але зовсім не сподівався що хтось його зробить.

Я рада, що ми потрібну штуку робимо :)

Це ви у grammarly працюєте над якимись проектами, які пов’язані з українською мовою чи це суто фановий проект?

Grammarly до цього проекту не має стосунку. Цей проект суто волонтерський та позаробочий :)

Дмитро Чаплінський гарно про реліз написав :) Я так не втнула.
www.facebook.com/...0399607573&type=3&theater

Це хороша ініціатива.

Ви не в курсі чи існує якийсь проект по створенні словника для аналізу тональності тексту для української мови?

Я не знаходив, цікавлюся цим давно.

Навіть для російської не можу знайти

Цікаво що мається на увазі під тональністю. Наголоси слова, підйоми та спади тональності слів в реченні?

Я якось писала дисертацію і пробувала зробити автоматичний сентимент-аналіз відгуків про заклади харчування для української мови. З хорошого: я маю маленький тональний словник для цієї тематики (~900 тональних слів). Слів мало, але можна використати як сід. Якщо треба, скину :)

А нет ли где в доступе синтаксически размеченного корпуса украинского языка наподобие ruscorpora?

Наша комадна якраз і працює над таким корпусом. Словник ми розробляли в тому числі для нього) Просто вирішили словник виділити окремим проектом, бо він може бути корисним не лише для корпусу.
Корпус ще не скоро буде готовий, але робота йде. Плануємо, що корпус теж буде у вільному доступі.

Дякую за зацікавлення :)

В корпусе русского языка для первого прохода использовали лингвистический процессор ЭТАП-3, что позволило осуществлять разметку в полуавтоматическом режиме. А что используете вы для украинского языка? Существуют ли какие-то стандарты языковой модели, которых лингвисты придерживаются при разметке? Где они опубликованы? Честно говоря, документация, расположенная по приведенной ссылке пока выглядит очень скромно.

Для української мови стандарту анотування немає. Існує кілька тегсетів в різних академічних установах (можу детально про них розповісти і показати, якщо цікаво), але ті установи хіба самим тегсетом і діляться. У світовій практиці зараз є тенденція маппити все на Universal Part-of-Speech Tags. Ми розробили дуже простий, очевидний і гнучкий тегсет, який можна маппити на будь-який інший тегсет, включно з Universal POS Tags.

Саме анотування плануємо виконувати в інструменті, що отримав назву Вулик :) Його розробляє Дмитро Чаплінський ( dou.ua/users/dmitry-chaplinsky ). Частину омонімії плануємо зняти правилами, що є в проекті LanguageTool. Над ним ми теж працюємо. Працювати над анотуванням корпусу, як і над словником, будуть лише лінгвісти. Наразі анотування ще не почали — ведемо підготовчу роботу. Зокрема, ось словник зарелізили.

Якщо в документації чогось конкретного бракує, кажи — ми додамо. Це лиш перший реліз, хоча аж рік роботи пішов)

Існує кілька тегсетів в різних академічних установах
Напевно кожна з цих установ вважає свій тегсет очевидним і гнучким. Розрізняють як мінімум два підходи до синтаксичного розбору — constituency parsing vs. dependency parsing. Мені здається, що у багатьох українських реченнях існує досить складна сукупність залежностей, маппити яку на універсальну світову виглядає дещо проблематичним. Але я не є професійним мовником / лінгвістом.
Працювати будуть лише лінгвісти
Good for them. Та якість такого підходу при відсутності якогось способу автоматичної верифікації викликає сумніви. С часом буде видніше, чого воно варте. У будь-якому разі виглядає як цікава і корисна спроба.

Так ти про види дерев мене питаєш! Он воно що! Це ж не стандарти анотування)) Дерева складників і дерева залежностей — це два основні види синтаксичного аналізу речення. І ті, і ті дерева можна анотувати мільйонов різних способів за мільйоном різних схем. Для аналізу аналітичних мов краще підходять дерева залежностей. Для них стандартом анотування є universaldependencies.github.io/docs/format.html Як дойдемо до синтаксису, то ми б теж його використали.

Але я тобі не про те. Щоб дійти до синтаксичного аналізу, треба спершу морфологічний аналіз зробити. І проанотувати корпус морфологічно. Ти спитав про стандарти — я тобі про тегсет і розказую.

Перепрошую. Мала на увазі «для аналізу синтетичних мов».

мільйонов різних способів за мільйоном різних схем
Мне кажется, это преувеличение. Основной научный принцип — повторяемость эксперимента. Если каждая группа лингвистов изобретает собственный набор понятий, то не слишком ясно, как они могут объективно оценить эффективность своих алгоритмов и вообще обмениваться результатами. Вообще-то я понял, что ты имела в виду морфологический анализ. Просто не верилось, что лингвисты намереваются обращаться к каждому предложению дважды — первый раз для снятия морфологической омонимии, второй для установления синтаксических отношений. Собственно, основанием для снятия омонимии как раз и служит информация о синтаксисе, то есть придется думать дважды об одном и том же. В итоге получится что-то наподобие этого: Структура предложения, но при максимальных затратах квалифицированного труда. Одно дело расширять объем корпуса, хотя бы и медленно, и совсем другое ползать по нему многократно.

Так, все правильно. На кожне речення будемо дивитись двічі. Наразі є час, натхнення та інструменти проанотувати морфологію. Як вистачить сили зробити такий корпус, вже можна буде ставити багато різних експериментів і розвивати інструменти для української мови. На синтаксис піде набагато більше часу.
Про схеми анотування. Порівняй анотування залежностей в ruscorpora, Prague Dependency Treebank і Universal Dependency Treebank. І знайди всюди по десять відмінностей. А незалежних банків дерев та незалежних парсерів розробляють ще більше. Часто вони мають свою специфіку, бо розробляються під конкретні цілі. На колишній роботі я, наприклад, писала парсер і анотування було під конкретні проекти.
Як якість міряти? Маппінг) Він анотування теорія синтаксису не змінюється.

Про схеми анотування. Порівняй анотування залежностей в ruscorpora, Prague Dependency Treebank і Universal Dependency Treebank. І знайди всюди по десять відмінностей.
Мови ж різні, що не виправдовує того самого «в різних академічних установах».
Від анотування теорія синтаксису не змінюється.
Мабуть що так, та ширший або вужчий набір залежностей змінює структуру на виході.

Хороша ініціатива.

До сьогодні в моїх планах було створення англійсько-українського словника так званих проблемних слів, фраз типу: by default, source code...

Коли буде час треба буде глянути, може ваш проект вже закриває ці питання.

Думаю, що не закриває. Цей словник не перекладний, але його можна використати для лемування під час машинного перекладу, якщо треба :)

Круто, якраз те що треба по роботі.

Подписаться на комментарии