ВордНет са НЛТК: Проналажење синонима за речи у Питхону

Преглед садржаја:

Anonim

Шта је Ворднет?

Ворднет је НЛТК читач корпуса, лексичка база података за енглески језик. Може се користити за проналажење значења речи, синонима или антонима. То се може дефинисати као семантички оријентисан речник енглеског језика. Увози се следећом наредбом:

from nltk.corpus import wordnet as guru

Статистика открива да постоји 155287 речи и 117659 скупова синонима који су укључени у енглески ВордНет.

Различите методе доступне са ВордНет-ом могу се наћи тако што ћете откуцати дир (гуру)

['_ЛазиЦорпусЛоадер__аргс', '_ЛазиЦорпусЛоадер__кваргс', '_ЛазиЦорпусЛоадер__лоад', '_ЛазиЦорпусЛоадер__наме', '_ЛазиЦорпусЛоадер__реадер_цлс', '__цла__ __, __'__, __'__, __', __ ', __ге__ ',' __гетаттр__ ',' __гетаттрибуте__ ',' __гт__ ',' __хасх__ ',' __инит__ ',' __ле__ ',' __лт__ ',' __модуле__ ',' __наме__ ',' __не__ ',' __нев__у,'__ , '__редуце_ек__', '__репр__', '__сетаттр__', '__сизеоф__', '__стр__', '__субцлассхоок__', '__уницоде__', '__веакреф__', '_унлоад', 'субдир', 'уницоде_репр'

Дозволите нам да разумемо неке функције доступне у ворднет-у:

Синсет : Такође се назива синонимним скупом или колекцијом синонимских речи. Проверимо пример

from nltk.corpus import wordnetsyns = wordnet.synsets("dog")print(syns)

Излаз:

[Synset('dog.n.01'), Synset('frump.n.01'), Synset('dog.n.03'), Synset('cad.n.01'), Synset('frank.n.02'), Synset('pawl.n.01'), Synset('andiron.n.01'), Synset('chase.v.01')]

Лексички односи : То су семантички односи који се узвраћају. Ако постоји веза између {к1, к2, ... кн} и {и1, и2, ... ин}, онда постоји и веза између {и1, и2, ... ин} и {к1, к2, ... кн}. На пример, синоним је супротан антониму или хипернимима, а хипоним је врста лексичког концепта.

Напишимо програм помоћу питхона како бисмо пронашли синоним и антоним речи „активан“ користећи Ворднет.

from nltk.corpus import wordnetsynonyms = []antonyms = []for syn in wordnet.synsets("active"):for l in syn.lemmas():synonyms.append(l.name())if l.antonyms():antonyms.append(l.antonyms()[0].name())print(set(synonyms))print(set(antonyms))

Излаз кода:

{'динамички', 'борбени', 'спреман за борбу', 'активни_глас,' активни_агент ',' учествујући ',' жив ',' активан '} - Синоним

{'стативе', 'пассиве', 'куиет', 'пассиве_воице', 'ектинцт', 'мирујући', 'неактиван'} - антоним

Објашњење кода

  1. Ворднет је корпус, па се увози из нтлк.цорпус
  2. Листа синонима и антонима узима се као празна која ће се користити за додавање
  3. Синоними речи активни претражују се у синтетама модула и додају се синонимима листе. Исти поступак се понавља и за други.
  4. Излаз се штампа

Закључак:

ВордНет је лексичка база података коју користи главни претраживач. Из програма ВордНет могу се израчунати информације о датој речи или фрази, као што су

  • синоним (речи које имају исто значење)
  • хиперними (генерички термин који се користи за означавање класе специфичности (тј. оброк је доручак), хипоними (пиринач је оброк)
  • холоними (протеини, угљени хидрати су део оброка)
  • мероними (оброк је део дневног уноса хране)

ВордНет такође пружа информације о координатним терминима, изведеницама, чулима и још много тога. Користи се за проналажење сличности између било које две речи. Такође садржи информације о резултатима сродне речи. Укратко или укратко, може се то третирати као речник или тезаурус. Улазећи дубље у ворднет, подељен је на четири укупне подмреже као што су

  1. Именица
  2. Глагол
  3. Придев
  4. Прилог

Може се користити у области вештачке интелигенције за анализу текста. Уз помоћ Ворднета можете створити свој корпус за проверу правописа, превод језика, откривање нежељене поште и још много тога.

На исти начин, можете користити овај корпус и обликовати га за рад неке динамичке функционалности. Ово је баш као спреман корпус за вас. Можете га користити на свој начин.