МІНІСТЕРСТВО ОСВІТИ І НАУКИ, МОЛОДІ ТА СПОРТУ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА»
Кафедра «Системи автоматизованого проектування»
Звіт до лабораторної роботи №4
«Вивчення бібліотеки прикладних програм NLTK, для опрацювання текстів природною мовою. Доступ та робота з лексичними ресурсами»
з курсу «Комп’ютерна лінгвістика»
американського варіанту англійської , який розроблений для використання в синтезаторах мови.
WordNet, це семантично орієнтований словник англійської мови, подібний до традиційних тезаурусів але з більш багатою структурою. У WordNet слова групуються у набори синонімів – синсети, кожен із своїм визначенням і зв’язками з іншими синсетами. WordNet 3.0 розповсюджується разом з NLTK і містить 155287 слів та 117659 синсетів. Хоча WordNet розроблявся для психолінгвістики - цей словник широко використовується в NLP та в задачах інформаційного пошуку. Розробки для інших мов проводяться на основі документації, яка наведена у http://www.globalwordnet.org/.
Синсети відповідають абстрактним поняттям, які можуть мати або не мати відповідних слів. Ці поняття зв’язуються разом в ієрархії. Деякі поняття Entity, State, Event – є загальними і їх називають унікальними початковими поняттями. Інші є більше специфічними. Частина ієрархії понять наведена на рис.4. Лінії між вузлами вказують на зв’язки (гіперонім\гіпонім), пунктирна лінія вказує, що artefact не є безпосереднім гіперонімом motorcar.
Синсети зв’язані між собою складною мережею лексичних зв’язків. Для певного синсету можна переглянути зв’язки у WordNet і знайти синсети, які з ним зв’язані за змістом. Інформація про семантичні взаємозв’язки між словами цінна при класифікації текстів.
Кожен синсет має один або більше шляхів за яким він зводиться до ключового поняття entity.n.01. Два синсети можуть мати спільне ключове поняття і ми нижче за ієрархією це ключове поняття тим ближчі між собою ці два синсети.
Тексти програм
Варіант №3
1. Дослідити зв’язки голонім-меронім для іменників. Знайти іменники для демонстрації наступних зв’язків: member_meronyms(), part_meronyms(), substance_meronyms(), member_holonyms(), part_holonyms(), та substance_holonyms().
4. Здійснити аналіз словника вимов. Знайти скільки різних слів він містить. Який відсоток слів з цього словника можуть мати різну вимову?
5. Який відсоток синсетів іменників не мають гіпонімів? До всіх синсетів можна доступитися за допомогою wn.all_synsets('n').
9. Модифікувати програму генерації випадкового тексту для виконання наступного: тренування програми на текстах двох різних жанрів та генерації тексту об’єднаного жанру.
12. Полісемія - це явище коли одне слово має декілька значень ( іменник dog має 7 значень, кількість яких визначити можна як len(wn.synsets('dog', 'n'))). Знайдіть середнє значення полісемії для дієслів.
16. Використовуючи один з методів визначення подібності слів побудуйте відсортований по спаданню список значень подібності для наступних пар слів: monk-oracle, cemetery-woodland, food-rooster, coast-hill, forest-graveyard, shore-woodland, monk-slave, coast-forest, lad-wizard, chord-smile, glass-magician, rooster-voyage, noon-string.
Висновок
На цій лабораторній роботі я вивчив різні поняття функції та модуля, основні лексичні ресурси NLTK та способи роботи з ними, а також навчився працювати з словником WordNet, знаходити значення, лексичні зв’язки та оцінювати подібність.