06 вересня 2013

Частотний словник української мови


Частотний словник української художньої прози.

Методика створення словника

Для обчислення частоти вживання слів української мови було використано тексти понад 1500 творів українських письменників.
Повний список творів я надам пізніше.

Всі слова творів приводилися до словникової (нормальної) форми за допомогою словника на базі інтегрованої лексикографічної системи "Словники України 3.0" (онлайн версія словника доступна на сайті http://lcorp.ulif.org.ua/dictua/).

Розрізняються наступні частини мови:

код частина мови
змінювані
1 іменник
2 прикметник
3 займенник
4 дієслово недоконаного виду
5 дієслово доконаного виду
6 дієслово недоконаного і доконаного виду
7 дієприкметник
8 кількісний числівник
9 порядковий числівник
10 особовий іменник (прізвище)
незмінювані
20 прислівник
21 вигук
22 сполучник
23 частка
24 прийменник
25 присудкове слово
26 вставне слово
27 абревіатура

Слова чи словоформи яких не було в словнику ігнорувалися (можливо на наступному етапі добавлю можливість поповнення словника).

Конфлікти

Для багатьох словоформ не можливо автоматизовано однозначно визначити словникову (нормальну) форму. Така ситуація розглядається як конфлікт.

Приклади конфліктів:

і --> можливі словникові форми
* {і, сполучник}
* {і, частка}

його --> можливі словникові форми
* {він, займенник}
* {воно, займенник}
* {йога, іменник}


Частина конфліктів розв'язується наступним чином:
1) якщо всі можливі словникові форми одного типу (одна частина мови), то вибирається перша словникова форма. (Омоніми не розрізняються)

сон
* {сон (сновидіння), іменник} --> розв'язок конфлікту
* {сон (рослина), іменник}

2) якщо всі можливі словникові форми дієслова, то вибирається дієслово з мінімальним кодом частини мови.
виходить
* {виходити, дієслово недоконаного виду (код = 4)} --> розв'язок конфлікту
* {виходити, дієслово доконаного виду (код = 5)}

3) якщо всі можливі словникові форми є незмінюваними частинами мови, то вибирається словникова форма з мінімальним кодом частини мови.

і
* {і, сполучник (код = 22)} --> розв'язок конфлікту
* {і, частка (код = 23)}


4) якщо всі серед можливих словникових форм є незмінювані частини мови і вони співпадають з словоформою, то вибирається незмінювана словникова форма з мінімальним кодом частини мови.

доки
* {док, іменник (код = 1)}
* {дока, іменник (код = 1)}
* {доки, прислівник (код = 20)} --> розв'язок конфлікту
* {доки, сполучник (код = 22)}

Решта конфліктів не розв'язується (зберігається в окремому файлі для можливості подальшого аналізу).

Результати

Записи частотного словника мають наступний вигляд:
{<словникова форма>, <частина мови>}<TAB><абсолютна частота><TAB><відносна частота>

{і, спол.} 1082616 1
{не, частка} 907385 1
{на, прийм.} 782428 1
{що, займ.} 658945 2
{я, займ.} 647169 2

Формула обчислення відносної частоти:
<відносна частота> = ceil( log2( maxFrequency / frequency) + 0.5 )
maxFrequency - найбільша абсолютна частота (в даному випадку 1082616 для {і, спол.})
frequency - абсолютна частота слова для якого обчислюється відносна частота
ceil(x) - найменше ціле число більше або рівне дійсного аргумента x

Наприклад:
* відносна частота слова {на, прийм.} = ceil( log2( 1082616 / 782428) + 0.5 ) = ceil(0,9685) = 1
* відносна частота слова {що, займ.} = ceil( log2( 1082616 / 658945) + 0.5 ) = ceil(1.21629) = 2

Zip-архіви частотного словника української мови в вище описаному форматі. У всіх файлах слова відсортовані за частотою по спаданню.
* ukr-frequency-dict.20000.092013.txt.zip (найвживаніші 20000 слів, utf-8, linux, 139 kB)
* ukr-frequency-dict.20000.win.092013.txt.zip (найвживаніші 20000 слів, utf-8, win, 140 kB)
* ukr-frequency-dict.092013.txt.zip (98931 слів, utf-8, linux, 665 kB)
* ukr-frequency-dict.win.092013.txt.zip (98931 слів, utf-8, win, 669 kB)


Загальна кількість слів (словоформ) у всіх текстах: 42647470
Кількість різних словоформ у всіх текстах: 1105822
Кількість різних словникових (нормальних) форм: 98931 ( загалом приведено до нормальної форми 37037869 словоформ, або 86,847% від загальної кількості слів)
словникові форми без конфліктів: 88560
словникові форми з розв'язаними конфліктами: 10371

Кількість різних словоформ з конфліктами: 20426 ( загалом 9824598, 23,037%)

Кількість різних словоформ не присутніх в словнику: 573638 ( загалом 2185888 слів в тексті, або 5,125% від загальної кількості слів)


Коментарі, запитання, пропозиції тощо присилайте на мій мейл: volodymyr.vlad на gmail.com

Ліцензія Creative Commons
Стаття "Частотний словник української мови", створена Володимиром Владом й ліцензована за ліцензією Creative Commons Із зазначенням авторства - Розповсюдження на тих самих умовах 3.0 Неадаптована.
Права, що виходять за рамки цієї ліцензії доступні за адресою http://u-mova.blogspot.de/.

1 коментар:

Unknown сказав...

Влад, доброго дня.

Мені надано повноваження написати Вам від імені групи дослідників слов'янських мов (проект INCOMBLAV) університету Саарланд, Німеччина. Нам необхідна інформація щодо частотних досліджень, проведених Вами. Будь ласка, відпишіть мені, я чекатиму. Варвара varya.obolonchykova@gmail.com