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.


 

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

36844. Основные определения и критерии классификации угроз 223.2 KB
  Потенциальные злоумышленники называются источниками угрозы. Нарушение безопасности это реализация угрозы. Естественные угрозы это угрозы вызванные воздействием на АС объективных физических процессов стихийных природных явлений не зависящих от человека. Искусственные делят на: непреднамеренные совершенные по незнанию и без злого умысла из любопытности или халатности преднамеренные Каналы проникновения в систему и их классификация: По способу: прямые косвенные По типу основного средства для реализации угрозы: человек...
36845. Подготовка грунтовой площадки к строительству 570.5 KB
  Свойства и технологические характеристики грунтов Любое здание или инженерное сооружение возводится на подстилающем слое грунта. От физикомеханических свойств подстилающего слоя грунта зависит величина осадочных деформаций и долговечность сооружения в целом. К скальным однородным грунтам относят массивы изверженных пород с кристаллической структурой которые характеризуются значительной плотностью и малой влагоемкостью. К скальным слоистым грунтам относят породы сложенные из песчаников доломитов и глинистых сланцев.
36846. КОМПЬЮТЕРНАЯ СИСТЕМА PROJECT EXPERT. АНАЛИЗ ФИНАНСОВЫХ РЕЗУЛЬТАТОВ ПРОЕКТА 64 KB
  Нижняя граница обусловлена тем что оборотных средств должно быть достаточно для погашения краткосрочных обязательств иначе компания окажется под угрозой банкротства. Превышение оборотных средств над краткосрочными обязательствами более чем в три раза также является нежелательным поскольку свидетельствует о нерациональной структуре активов. Показывает отношение наиболее ликвидной части оборотных средств денежных средств дебиторской задолженности краткосрочных финансовых вложений к краткосрочным обязательствам. Чистый оборотный капитал...
36847. Массивы и матрицы. Решение задач линейной алгебры 121.5 KB
  9000 Ввод элементов матрицы также осуществляется в квадратных скобках при этом элементы строки отделяются друг от друга пробелом или запятой а строки разделяются между собой точкой с запятой: nme=[x11 x12 . xmn;] Обратиться к элементу матрицы можно указав после имени матрицы в круглых скобках через запятую номер строки и номер столбца на пересечении которых элемент расположен: nmeиндекс1 индекс2 Листинг 3. Пример обращения к элементам матрицы =[1 2 3;4 5 6;7 8 9] = 1 2 3 4 5 6 7 8 9 12^22 33 ns = 3.
36848. Система автоматического регулирования температуры 488 KB
  Лабораторная работа Система автоматического регулирования температуры. Система автоматического регулирования температуры. Цель работы: Ознакомление с принципами построения системы автоматического регулирования и принципами работы такой системы. Экспериментальное получение переходных процессов системы автоматического регулирования.
36849. Логическая организация оперативной памяти 236.2 KB
  Определить объем основной памяти 2.Определить объем дополнительной памяти 3.Определить объем отображаемой памяти 4.
36850. КОНСОЛИДАЦИЯ ДАННЫХ В MS EXCEL 421 KB
  Создайте три однотипные таблицы по образцу на одном листе или на разных листах MS Excel рис. Проведите консолидацию 3х таблиц аттестации в одну с вычислением среднего балла по каждому предмету и разместите консолидированную таблицу на листе Консолидация для чего: перейдите на чистый лист в книге и установите маркер мыши в левый верхний угол будущей таблицы; на панели Данные выберите Консолидация; в окне Консолидация рис. 2 Диалоговое окно Консолидация перейдите в строку Ссылка затем выделите на листе Данные для консолидации...
36851. Использование программных средств контроля и анализа выполнения политики безопасности на примере операционной системы Windows XP 91.04 KB
  Командная строка Стандартные типы доступа к объектам в операционной системе WindowsXP SINCHRONIZE использовать объект для синхронизации; WRITE_OWNER изменить владельца объекта; WRITE_DC изменить дискреционный список контроля доступа к объекту; RED_CONTROL прочитать данные из дискреционного списка контроля доступа; DELETE удалить объект. Специальные права доступа к объектам RED_DT прочитать данные из объекта; WRITE_DT записать данные в объект; PPEND_DT добавить данные в объект; RED_TTRIBUTES прочитать атрибуты объекта;...
36852. Численные методы решения задач линейной алгебры 44.5 KB
  Численные методы решения задач линейной алгебры specM вычисляет собственные значения и собственные векторы квадратной матрицы M. specM Собственные числа матрицы ns = 1. Х собственные векторы соответствующие собственным значениям из матрицы Y. Использование функции inv Пример вычисления обратной матрицы.