Как использовать WordNet в Python

WordNet — это английский словарь, который является частью Natural Language Tool Kit (NLTK) для Python. Это обширная библиотека, созданная для упрощения обработки естественного языка (NLP). Некоторые основные функции будут рассмотрены в этой статье. Чтобы начать использовать WordNet, вы должны сначала импортировать его:

  из nltk.corpus import wordnet  

Synsets and Lemmas

В WordNet похожие слова сгруппированы в набор, известный как Synset (сокращение от Synonym-set ). У каждого Synset есть имя, часть речи и номер. Слова в Synset известны как Леммы .

Получение Synsets

Функция wordnet.synsets ( 'word') возвращает массив , содержащий все наборы Synset, относящиеся к слову, переданному ему в качестве аргумента.

Пример:

print(wordnet.sysnets('room')) 

Вывод:
[Synset (‘room.n.01’), Synset (‘room.n.02’), Synset (‘room.n.03’), Synset (‘room.n.04’), Synset (‘board.v.02’)]

  • Метод вернул пять наборов Synset; четыре имеют имя ‘room’ и являются существительными , а имя последнего — ‘board’ и является глаголом . Вывод также предполагает, что слово « room » имеет в общей сложности пять значений или контекстов.

Получение определения Synset

Используя definition () , можно дополнительно изучить отдельный Synset для определения общего для всех Леммы в нем. Этот метод возвращает строку , которая является общим определением. Это можно сделать двумя способами:

  1. Мы можем использовать массив, возвращаемый synsets ('word') , и получить доступ к одному из его элементов. :
  syn_arr = wordnet.synsets ('room') syn_arr [0] .definition ()  

Вывод:
область внутри здания, ограниченная стенами, полом и потолком

  1. Или передайте имя Synset, его часть речи и его номер в synset () , а затем используйте definition () :
wordnet.synset('room.n.02').definition()

Вывод:
пространство для движения

Получение всех лемм Synset

Аналогично, lemma_names () можно использовать двумя способами для возврата массива всех имен лемм:

   print (syn_arr [1] .lemma_names ()) # orprint (wordnet.synset ('board.v.02'). lemma_names ())  

Вывод:
[u’room ‘, u’way’, u ‘elbow_room’]
[u’board ‘, u’room’]

Использование synets (), synset (), definition () и lemma_names ()

Гипонимы

А Гипоним является специализацией Synset. Его можно рассматривать как дочерний (или производный) класс при наследовании. Функция hyponyms () возвращает массив, содержащий все наборы Synset, которые являются гипонимами данного набора Synset:

  print (wordnet.synset ('  calendar.n.01 '). hyponyms ())  

Вывод:
[Synset (‘ lunar_calendar.n.01 ‘), Synset (‘ lunisolar_calendar.n.01 ‘), Synset (‘ solar_calendar.n.01 ‘)]

Hypernyms

A Hypernym — это обобщение Synset (т. е. противоположность Hyponym). hypernyms () :

  print (wordnet.synset ('solar_calendar.n.01  ') .hypernyms ())  

Вывод:
[Synset (‘ calendar.n.01 ‘)]

  • Посетите официальный сайт NLTK для получения более подробной информации.
Оцените статью
nanomode.ru
Добавить комментарий