4710

Вивчення методів доступу та роботи з лексичним ресурсами

Лабораторная работа

Информатика, кибернетика и программирование

Мета роботи: Вивчення основ програмування на мові Python. Вивчення методів доступу та роботи з лексичним ресурсами. Семантичний словник англійської мови WordNet. Короткі теоретичні відомості При програмуванні часто необхідно частин...

Украинкский

2012-11-25

261 KB

11 чел.

Мета роботи:

  •  Вивчення основ програмування на мові Python.
  •  Вивчення методів доступу та роботи з лексичним ресурсами.
  •  Семантичний словник англійської мови WordNet.

Короткі теоретичні відомості

При програмуванні часто необхідно частину програми виконати (використати) декілька разів. Наприклад, потрібно написати програму, яка здійснює утворення множини з однини іменників і вона буде виконуватись в різних місцях програми. Швидше ніж повторювати той самий код декілька разів і більш ефективно і надійно організувати цю роботу через функцію. Функція - це програмна конструкція, яку можна викликати з одним або більше вхідними параметрами, і отримувати результат на виході. Визначаємо функцію, використовуючи ключове слово def далі потрібно дати назву функції і визначити вхідні параметри, після двокрапки записується тіло функції. Ключове слово return використовується для відображення значення, яке ми хочемо отримати на виході функції.

Лексичний ресурс або просто словник це набір слів тa/або словосполучень, які асоціюються з такою інформацією, як частина мови та опис значення. Лексичні ресурси є вторинними по відношенню до текстів і зазвичай створюються і вдосконалюються з використанням текстів. Наприклад, якщо визначити текст my_text тоді vocab = sorted(set(my_text)) побудує словник тексту  my_text,  word_freq = FreqDist(my_text)  визначить частоту кожного слова в тексті. vocab та word_freq – приклад простих лексичних ресурсів. Так само конкорданс дає інформацію про використання слів і ця інформація може бути використана при побудові словників.

WordNet, це семантично орієнтований словник англійської мови, подібний до традиційних тезаурусів але з більш багатою структурою. У WordNet слова групуються у набори синонімів – синсети, кожен із своїм визначенням і зв’язками з іншими синсетами. WordNet 3.0 розповсюджується разом з NLTK  і містить 155287 слів та 117659 синсетів. Хоча WordNet розроблявся для психолінгвістики - цей словник широко використовується в NLP та в задачах інформаційного пошуку.


                                                   
Хід роботи

1. Дослідити зв’язки голонім-меронім для іменників. Знайти іменники для демонстрації наступних зв’язків: member_meronyms(), part_meronyms(), substance_meronyms(), member_holonyms(), part_holonyms(), та substance_holonyms().

>>> from nltk.corpus import wordnet as wn

>>> wn.synset('university.n.01').member_meronyms()

[Synset('graduate_school.n.01')]

>>> wn.synset('nose.n.01').part_meronyms()

[Synset('nostril.n.01'), Synset('internasal_suture.n.01'), Synset('bridge.n.04'), Synset('nasal_cavity.n.01'), Synset('turbinate_bone.n.01'), Synset('ethmoidal_artery.n.01')]

>>> wn.synset('tree.n.01').substance_meronyms()

[Synset('heartwood.n.01'), Synset('sapwood.n.01')]

>>> wn.synset('student.n.01').member_holonyms()

[Synset('teacher-student_relation.n.01')]

>>> wn.synset('limb.n.01').part_holonyms()

[Synset('appendicular_skeleton.n.01')]

>>> wn.synset('iron.n.01').substance_holonyms()

[Synset('iron_ore.n.01'), Synset('steel.n.01')]

4. Здійснити аналіз словника вимов. Знайти скільки різних слів він містить. Який відсоток слів з цього словника можуть мати різну вимову?

5. Який відсоток синсетів іменників не мають гіпонімів? До всіх синсетів можна доступитися за допомогою wn.all_synsets('n').  

7. Модифікувати програму генерації випадкового тексту для виконання наступного: зберігати можливі наступні слова у списку та вибирати їх за допомогою random.choice() попередньо виконавши import random.

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.

>>> monk = wn.synset('monk.n.01')

>>> oracle = wn.synset('oracle.n.01')

>>> oracle.path_similarity(monk)

0.125

>>> cemetery = wn.synset('cemetery.n.01')

>>> woodland = wn.synset('woodland.n.01')

>>> cemetery.path_similarity(woodland)

0.1111111111111111

>>> food = wn.synset('food.n.01')

>>> rooster = wn.synset('rooster.n.01')

>>> food.path_similarity(rooster)

0.0625

>>> coast = wn.synset('coast.n.01')

>>> hill = wn.synset('hill.n.01')

>>> hill.path_similarity(coast)

0.20000000000000001

>>> forest = wn.synset('forest.n.01')

>>> graveyard = wn.synset('graveyard.n.01')

>>> forest.path_similarity(graveyard)

0.071428571428571425

>>> shore = wn.synset('shore.n.01')

>>> woodland = wn.synset('woodland.n.01')

>>> shore.path_similarity(woodland)

0.20000000000000001

>>> slave = wn.synset('slave.n.01')

>>> monk.path_similarity(slave)

0.20000000000000001

>>> coast.path_similarity(forest)

0.090909090909090912

>>> lad = wn.synset('lad.n.01')

>>> wizard = wn.synset('wizard.n.01')

>>> lad.path_similarity(wizard)

0.20000000000000001

>>> chord = wn.synset('chord.n.01')

>>> smile = wn.synset('smile.n.01')

>>> chord.path_similarity(smile)

0.090909090909090912

>>> glass = wn.synset('glass.n.01')

>>> magician = wn.synset('magician.n.01')

>>> glass.path_similarity(magician)

0.1111111111111111

>>> voyage = wn.synset('voyage.n.01')

>>> rooster.path_similarity(voyage)

0.041666666666666664

>>> noon = wn.synset('noon.n.01')

>>> string = wn.synset('string.n.01')

>>> noon.path_similarity(string)

0.058823529411764705

>>>

Висновок:

на даній лабораторній роботі я ознайомилася з методами доступу та роботою з лексичним ресурсами, семантичним словником англійської мови WordNet, поняттями функції та модуля, словником з позначенням мови, лексичними зв’язками та оцінкою подібності WordNet.


 

А также другие работы, которые могут Вас заинтересовать

54140. З досвіду організації самостійної роботи студентів 85.5 KB
  Самостійна робота студентів є важливим фактором підвищення ефективності пізнавального процесу під час підготовки майбутніх фахівців. Це пов`язано з тим що тільки в процесі самостійної роботи студент одержує міцні знання розвиває вміння творчого мислення та використання знань у практичній діяльності. Форми самостійної роботи студентів та проблеми її організації дуже різноманітні. Основні напрями рішення цієї проблеми:...
54141. Означення квадратного рівняння. Неповні квадратні рівняння, їх розвязування 35.5 KB
  Мета: освітня: удосконалити знання учнів про означення квадратного рівняння; удосконалити вміння розв’язувати неповні квадратні рівняння; розвиваюча: розвивати вміння вільно висловлюватися з теми відпрацьовувати вміння говорити коротко але по суті й переконливо; виховна: виховувати активність увагу...
54142. Загальна схема дослідження функції та побудова її графіка 624 KB
  Узагальнити та систематизувати знання студентів з теми Дослідження функції і побудова її графіка за допомогою похідної. Знайдемо стаціонарні точки функції. За допомогою другої похідної знаходимо напрямки опуклості і точки перегину графіка функції: критична точка другого роду.
54143. Додавання і віднімання десяткових дробів 44.5 KB
  –Перевіримо чи всі документи готові для експедиції – перевірка готовності робочих місць наявність домашнього завдання. Підготовка до експедиції. – При виконанні завдань експедиції необхідно вміння перевіряти себе. До експедиції готові то ж у путь ІІІ.
54144. Степень с отрицательным целым показателем 295.5 KB
  Но дай срок обдумать ответ. Повелитель был ответ приказание твое исполняется. Повелитель ответили ему математики твои трудятся без устали и надеются еще до рассвета закончить подсчет. Ради этого я и осмелился явиться перед тобой в столь ранний' час ответил старик.
54145. Формирование самообразовательной компетентности учащихся 9-ых классов способами математики 260.5 KB
  Вы будете знать: историю развития понятия функции разные способы преобразования графиков функций новые методы решения систем уравнений и неравенств второй степени и высших степеней; уметь: исследовать и строить графики квадратичных функций которые содержат переменную под знаком модуля решать неравенства и уравнения с параметрами проводить сравнительный анализ разных методов решения обобщать и систематизировать полученную информацию писать рефераты выбирать и работать с дополнительной литературой. Головне видво1989 елевая установка...
54146. Диференційований підхід при вивченні дисципліни «Вища математика» 55.5 KB
  Він направлений на те щоб навчити студентів розуміти загальні завдання навчання організовано працювати допомагаючи один одному формувати відчуття честі колективу і здатність відстоювати її. Принцип диференційованого індивідуального підходу до студентів обумовлений особливостями індивідуального розвитку типів вищої нервової діяльності а також прагненням найкращим чином розвивати в процесі навчання творчі сипи і здібності студентів. За малої кількості навчальних годин орієнтація на максимум засвоєння навчального матеріалу практично...
54147. ВІДПОЧИНОК ПОРУЧ З МАТЕМАТИКОЮ 77 KB
  У теплий червневий вечір мешканці вулиці Абхазька міста Дніпропетровська стали свідками незвичайного. З рюкзаками та чемоданами у гуртожиток Дніпропетровського обласного ліцею-інтернату фізико-математичного профілю стали збиратися юнаки та дівчата. Це дійсно було дивним, бо давно вже канікули.
54148. Сценарій проведення гри-конкурс «Математичне асорті» 89.5 KB
  Мета: Розвивати та поглиблювати інтерес учнів до математики, виховувати згуртованість, повагу до товаришів та їхньої думки. Сприяти формуванню та розвитку інтелектуальних здібностей.