4710

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

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

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

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

Украинкский

2012-11-25

261 KB

12 чел.

Мета роботи:

  •  Вивчення основ програмування на мові 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.


 

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

78546. Учимся жить дружно 45.5 KB
  Цель классного часа - формирование добрых отношений между детьми в классе, развитие стремления быть терпимым в обществе людей, воспитания уважения к одноклассникам.
78547. Знай, люби, бережи природу рідного краю 4.85 MB
  Змістові питання Розкрити цінності природи для людини Показати різноманітність кімнатних рослин Скласти правила догляду за кімнатними рослинами Визначити рослини в народній творчості Визначити групи птахів за способом живлення та місцем проживання...
78548. Жива природа 184.5 KB
  Когнітивні рівні Конкретизовані навчальні цілі Перелік завдань –запитань які забезпечують досягнення конкретних цілей Навчальне методичне забезпечення Знання формулює визначення поняття природа; знає що таке жива і нежива природа; називає основні 5 царств живої природи...
78549. Гриби та дроб’янки 2.61 MB
  Формування предметних компетентностей: формувати в учнів поняття: гриби дроб’янки бактерії з’ясувати чому це окремі царства живої природи; знайомити дітей із найпоширенішими видами їстівних та отруйних грибів; прослідкувати вплив корисних та хвороботворних бактерій на довкілля...
78550. Формы земной поверхности Украины 116 KB
  Сегодня нас ждут наверно не зря: Холмы и равнины овраги и горы Чтобы больше о них узнать Надо карту уметь читать Быть внимательным уметь наблюдать. Горы обладают удивительным свойством настраивать человека на особый торжественный лад.
78551. Посвята в першокласники 137.5 KB
  Я всміхаюсь сонечку: Здрастуй золоте Я всміхаюсь квіточці: Хай вона росте Я всміхаюсь дощику: Лийся мов з відра Усміхаюсь людям Зичу їм добра Вчитель: Дітки Першого вересня ви переступили поріг школи. Ви прийшли до школи щоб навчитись читати й писати рахувати а також бути хорошими людьми.
78552. МОЇ ПРИХОВАНІ ПОТЕНЦІАЛИ — МОЯ ІНДИВІДУАЛЬНІСТЬ 204.5 KB
  Якщо ви хочете бути задоволені вашою роботою вам також необхідно зрозуміти що ви за особистість. Можна задатися питанням чи так вже необхідно визначати особові параметри. З свого досвіду ми знаємо що на короткий проміжок часу ми можемо поступати так як нам не властиво.
78553. Як досягти поваги в колективі? 65.5 KB
  Мета: навчити правильно поводити себе в колективі; виховувати самоповагу і повагу до інших; сприяти зміцненню класного колективу; розвивати словниковий запас учнів; вчити висловлювати свою думку і прислухатися до думки інших.
78554. Види позакласної роботи з математики 93.5 KB
  Потрібно тільки вміло підбирати математичні завдання щоб вони викликали інтерес у молодших учнів або викликати інтерес до математики – це головна мета до якої ми прямуємо в зв’язку з задачею підвищеного рівня процесу навчання математики.