- •ДніпропетровсьКий університет імені альфреда нобеля Кафедра прикладної лінгвістики та методики навчання іноземних мов автоматичний морфологічний аналіз
- •Дніпропетровськ-2015
- •Короткі теоретичні відомості до робіт №1-№3 Практична робота № 1. Поняття автоматичного морфологічного аналізатора
- •Практична робота №2. Морфологічно розмічені корпуси
- •2.1 Представлення промаркованих слів
- •2.2 Доступ до морфологічно розміченого корпусу
- •2.3 Спрощений набір тегів для маркування морфологічних характеристик
- •2.4 Іменники
- •2.5 Дієслова
- •2.6 Повний набір тегів
- •2.7 Дослідження морфологічно розміченого корпусу
- •3.1 Порівняння проіндексованих списків та словників
- •3.2 Тип даних словник в Python
- •3.3 Визначення (створення) словників
- •3.4 Словники по замовчуванню
- •3.5 Проведення обчислень з використанням словника
- •3.6 Комплексні ключі та значення
- •3.7 Інвертування словника
- •Порядок виконання практичних робіт №1-№3
- •Зміст звіту по практичним роботам №1-№3
- •Інтернет посилання
- •Короткі теоретичні відомості
- •4.2.The Lookup Tagger Пошуковий морфологічний аналізатор
- •Практична робота №5. Використання n-грамів в автоматичному морфологічному аналізі
- •5.1.Уніграм аналізатор
- •5.2. Розділення даних для тренування та тестування аналізаторів
- •5.3. Морфологічний аналіз на основі n-грамів
- •5.4. Поєднання (комбінування) аналізаторів
- •5.5. Морфологічний аналіз невідомих слів
- •5.6. Збереження результатів тренування аналізаторів
- •Практична робота №6. Transformation-Based Tagging
- •6.1. Категорії слів англійської мови
- •Порядок виконання робіт №5-№6.
- •Зміст звіту
- •Методичні вказівки
5.4. Поєднання (комбінування) аналізаторів
Одним з методів знаходження балансу між точністю аналізаторів та охопленням лексики є використання більш точних алгоритмів, коли можливо це зробити і повернення до алгоритмів з більшим охопленням лексики, коли це необхідно. Наприклад, можна комбінувати результати роботи біграм аналізатора, уніграм аналізатора та аналізатора по замовчуванню наступним чином:
Визначаємо теги за допомогою біграм аналізатора
Якщо біграм аналізатор не встановив тег для поточного слова – використовується унігам аналізатор.
Якщо уніграм аналізатор не встановив тег для поточного слова – використовується аналізатор по замовчуванню.
Кожен NLTK аналізатор, крім аналізатора по замовчуванню може мати вказівку на використання іншого аналізатора для побудови багатопрохідного аналізатора:
|
Виконати самостійно. Доповнити попередній приклад аналізаторомTrigramTagger
t3 = nltk.TrigramTagger(train_sents, backoff=t2). Та оцінити точність роботи такого аналізатора.
Потрібно зазначити, що backoffаналізатор вказується при ініціалізації аналізатора, що дозволяє використати при тренуванні результати тренуванняbackoffаналізатора. Тому, якщо біграм аналізатор призначив би такий самий тег, як йогоbackoffаналізатор (уніграм) в певному контексті то навчальний зразок не враховується при тренуванн.я Такий підхід дозволяє зберігати біграм модель максимально компактною. Можна вказати, що аналізатор потребує більш ніж один зразок контексту, наприклад записnltk.BigramTagger(sents, cutoff=2, backoff=t1)відкине контексти , які зустрічаються раз або два.
5.5. Морфологічний аналіз невідомих слів
Для маркування невідомих слів будуються багатопрохідні аналізатири і невідоме слово маркується за допомогою аналізатора на основі регулярних виразів або аналізатора по замовчуванню. Такий підхід не дозволяє враховувати контекст. Наприклад, якщо словоblog не зустрілося в даних для тренування, то аналізатор промаркує його тим самим тегом незважаючи на те чи це слово в контекстіthe blog чи to blog.Чи існують кращі способи аналізу невідомих слів, або слів ,які не зустрічаються у словнику?
Один з методів маркування невідомих слів з врахуванням контексту полягає в обмеженні розміру словника аналізатора в межах найуживаніших n слів, і заміні всіх інших слів спеціальним словом UNK (за допомогою способу описаного в попередній лабораторній роботі). При тренуванні уніграм аналізатор звичайно зафіксує щоUNK це іменник. Однак, n-грам аналізатори визначать що в інших контекстах це слово має інший тег. Наприклад, якщо попереднє слово - to (промарковане TO), тоUNK імовірно буде промарковано як дієслово.
5.6. Збереження результатів тренування аналізаторів
Тренування аналізатора на великому корпусі текстів може зайняти певний час. Доцільно зберігати тренований аналізатор в зручному вигляді, що дозволить при необхідності його використовувати без попереднього тренування. В наступному фрагменті програми аналізатор t2 зберігається у файліt2.pkl.
|
Цей аналізатор можна завантажити використовуючи окремий процес Python.
|
Аналізатор можна далі використати наступним чином.
|