НЛП | Синсеты для слова в WordNet
WordNet - это лексическая база данных, т.е. словарь для английского языка, специально разработанная для обработки естественного языка.
Synset - это особый вид простого интерфейса, который присутствует в NLTK для поиска слов в WordNet. Экземпляры Synset - это группы синонимичных слов, которые выражают одно и то же понятие. Некоторые слова имеют только один синсет, а некоторые - несколько.
Код # 1: понимание Synset
from nltk.corpus import wordnet syn = wordnet.synsets( 'hello' )[ 0 ] print ( "Synset name : " , syn.name()) # Defining the word print ( "
Synset meaning : " , syn.definition()) # list of phrases that use the word in context print ( "
Synset example : " , syn.examples()) |
Выход:
Имя Synset: hello.n.01 Значение синсета: выражение приветствия Пример Synset: ['каждое утро они обменивались вежливыми приветствиями']
wordnet.synsets(word)
можно использовать для получения списка Synsets. Этот список может быть пустым (если такое слово не найдено) или содержать несколько элементов.
Гиперонимы и гипонимы -
Гиперонимы: более абстрактные термины
Гипонимы: более конкретные термины.
Обе они представлены в виде Synsets, организованного по структуре, аналогичной структуре дерева наследования. Это дерево можно проследить вплоть до гиперонима корня. Гиперонимы позволяют категоризировать и группировать слова на основе их сходства друг с другом.
Код # 2: понимание гипернермов и гипонимов
from nltk.corpus import wordnet syn = wordnet.synsets( 'hello' )[ 0 ] print ( "Synset name : " , syn.name()) print ( "
Synset abstract term : " , syn.hypernyms()) print ( "
Synset specific term : " , syn.hypernyms()[ 0 ].hyponyms()) syn.root_hypernyms() print ( "
Synset root hypernerm : " , syn.root_hypernyms()) |
Выход:
Имя Synset: hello.n.01 Абстрактный термин Synset: [Synset ('welcome.n.01')] Термин, специфичный для Synset: [Synset ('call_card.n.02'), Synset ('good_afestive.n.01'), Synset ('good_morning.n.01'), Synset ('hail.n.03'), Synset ('hello.n.01'), Synset ('pax.n.01'), Synset ('прием.n.01'), Synset ('рассмотрение.n.03'), Synset ('salute.n.02'), Synset ('salute.n.03'), Synset ('welcome.n.02'), Synset ('good-wishing.n.01')] Гипернерм корня Synset: [Synset ('entity.n.01')]
Код № 3: Часть речи (POS) в Synset.
syn = wordnet.synsets( 'hello' )[ 0 ] print ( "Syn tag : " , syn.pos()) syn = wordnet.synsets( 'doing' )[ 0 ] print ( "Syn tag : " , syn.pos()) syn = wordnet.synsets( 'beautiful' )[ 0 ] print ( "Syn tag : " , syn.pos()) syn = wordnet.synsets( 'quickly' )[ 0 ] print ( "Syn tag : " , syn.pos()) |
Выход:
Тег синхронизации: n Тег синхронизации: v Тег синхронизации: a Синхронный тег: r
Внимание компьютерщик! Укрепите свои основы с помощью базового курса программирования Python и изучите основы.
Для начала подготовьтесь к собеседованию. Расширьте свои концепции структур данных с помощью курса Python DS. А чтобы начать свое путешествие по машинному обучению, присоединяйтесь к курсу Машинное обучение - базовый уровень.