Методика створення словника
Для обчислення частоти вживання слів української мови було використано тексти понад 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
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 Із зазначенням авторства - Розповсюдження на тих самих умовах 3.0 Неадаптована.
Права, що виходять за рамки цієї ліцензії доступні за адресою http://u-mova.blogspot.de/.
Комментарии (15)