Лексична насиченість
Лексична насиченість (словникова різноманітність, лексична щільність) – відношення кількості різних слів до загальної кількості слів у тексті, використовується як одна величина, що характеризує текст.
Алгоритм знаходження лексичної насиченості тексту складається з наступних кроків:
- Визначення вхідного набору слів - це може бути як змістовний текст чи його частина, так і довільна сукупність слів.
- Перетворення кожного слова у його словникову форму (для спрощення можна використовувати стемінг, однак варто зазначити, що в такому разі досить велика кількість різних слів будуть перетворені в однакові стеми через недосконалість самих методів стемінгу). При цьому відбувається поправка набору слів.
- = кількість слів після перетворення.
- Видалення усіх дублікатів.
- = кількість слів після видалення.
- Лексична насиченість:
Під час обчислення лексичної насиченості виникає питання вибору належності невідомих слів (тих, які відсутні в словнику) до того чи іншого набору. Існує чотири підходи до вирішення цього питання:
- Зарахування невідомих слів до загального набору, але не до унікальних слів.
- Зарахування невідомих слів до загального набору і набору унікальних слів.
- Видалення невідомих слів на стадії перетворення у словникові форми.
- Ручний ("ідеальний") розподіл.
Розглянемо ці методи на прикладах.
Метод | Чистий текст: Хвойний ліс — ліс, складений майже винятково з дерев хвойних порід. | Текст із помилкою: Хвойний ліс — лфс, складений майже жкхч винятхово з дерев хвойних порід. | Текст з вірними невідомими словами: Хвойний ліс — екорегіон, що складений майже винятково з дерев хвойних порід. | Текст із помилок: Хшйни лс - нс, слдн майже ванаттово с дерів хшйни пірід. |
---|---|---|---|---|
Невідомі слова у загальному наборі | N=10, K=8, L=0.8 | N=11, K=7, L=0.64 | N=11, K=8, L=0.73 | N=10, K=1, L=0.1 |
Невідомі слова в унікальному наборі | N=10, K=8, L=0.8 | N=11, K=10, L=0.91 | N=11, K=10, L=0.91 | N=10, K=9, L=0.9 |
Видалення невідомих слів | N=10, K=8, L=0.8 | N=8, K=7, L=0.875 | N=9, K=8, L=0.889 | N=1, K=1, L=1 |
Ручний розподіл | N=10, K=8, L=0.8 | N=10, K=8, L=0.8 | N=11, K=10, L=0.91 | N=1, K=1, L=1 |
Найближчий до ідеального метод | 1, 2, 3 | 3 | 2 | 3 |
Отже, доцільно використовувати метод видалення невідомих слів на стадії перетворення у словникові форми. Незважаючи на те, що текст з вірними невідомими словами - найпоширеніший випадок, у ньому обраний метод хоч і не є найкращим, але все ж має досить невелике відхилення від результату ручного розподілу.
Окремою проблемою є визначення належності для іншомовних слів. Якщо їх кількість незначна, у порівнянні з об'ємом тексту, можна віднести такі слова до невідомих.
Щоб отримати об'єктивне враження про лексичну насиченість тексту, необхідно обчислене відношення привести до значення на певній шкалі. Наприклад, перетворити у проценти. Однак в цьому випадку постане серйозна проблема нелінійного зменшення такого значення зі збільшенням кількості слів.
Якщо взяти реальний текст довжиною десять слів, то його лексична насиченість буде в межах 80%-100%. Якщо кількість слів 1000, то лексична насиченість вже падає до 50%. З точки 200 тисяч слів (у вхідному тексті) кількість різних слів фактично перестане збільшуватись.
Одним зі способів вирішити цю проблему є визначення пікових значень лексичної насиченості на реальних текстах довжиною у 100, 500, 1000, 2000, 5000 і т.д. слів (що більше значень, то краще) та взяти відповідні пікові значення в певному околі за 100%.
Вирішення такої задачі базується на виділенні окремих груп певної кількості слів.
![](http://upload.wikimedia.org/wikipedia/uk/f/fb/Jackson.png)
Тут – слово із тексту; – обчислене значення насиченості для j-ї групи слів довжиною n, . Фактично, відбувається просування блоку, що відповідає за початок та кінець тексту для обчислення насиченості, на одне слово для кожної нової точки графіка (масиву значень). Тому число точок на результуючому графіку становитиме D = N – n + 1. Алгоритм обчислення зміни насиченості:
- Отримання блоку перших n слів із перетворених у словникові форми слів тексту
- Обчислення насиченості одержаного блоку та збереження її в результуючий масив
- Якщо останнє слово блоку – це останнє слово перетвореного тексту, то завершити процедуру
- Відкинути перше слово та перейти на пункт 1.
Для зручності інтерпретації результатів аналізу тексту фахівцями варто відображати графік залежності лексичної насиченості блоку від позиції у тексті. Проаналізувавши декілька творів при різних значеннях n, було визначено, що аналіз графічного результату варто проводити, коли n=500. При значно більших чи значно менших значеннях графік згладжується, адже різниця в насиченості стає мінімальною (при великих значеннях n вона завжди низька, а при малих значеннях n – завжди висока).
- Яворський Є.О., Левус Є.В., Бук С.Н. /Алгоритм відображення зміни лексичної насиченості тексту. - НУ "ЛП". - 2013.
- Шевелев О.Г. Разработка и исследование алгоритмов сравнения стилей текстовых произведений: автореферат диссертации. – Томск. – 2006.
- Верес М.М., Лемківський Є.О., Омельченко О.А. Масово розподілений пошуковий робот //Проблеми інформаційних технологій. – 2011. – №1 (009).
- Кыштымова И.М. Психосемиотический анализ текста: диагностическое значение категории "время". - Режим доступу: http://www.lib.tsu.ru/mminfo/000085170/26/image/26-050.pdf[недоступне посилання з липня 2019].
- Горелов И. Н., Седов К. Ф. Основы психолингвистики. — Москва. – 1997.
- Засєкіна Л. В. Вступ до психолінгвістики / Л. В. Засєкіна, С. В. Засєкін. – Острог: Вид-во Нац. ун-ту «Острозька академія», 2002. – 168 с.