суббота, 28 марта 2015 г.

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



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

Для обчислення частоти вживання слів української мови було використано тексти понад 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/.

0 коммент.:

Отправить комментарий