Problemen met taggen en verborgen Markov-model

Inhoudsopgave:

Anonim

Zinnen taggen

Het labelen van zin in bredere zin verwijst naar de toevoeging van labels van het werkwoord, zelfstandig naamwoord, enz. Door de context van de zin. Identificatie van POS-tags is een ingewikkeld proces. Aldus is generieke tagging van POS handmatig niet mogelijk, aangezien sommige woorden verschillende (dubbelzinnige) betekenissen kunnen hebben volgens de structuur van de zin. Het omzetten van tekst in de vorm van een lijst is een belangrijke stap vóór het taggen, aangezien elk woord in de lijst wordt doorgelust en geteld voor een bepaalde tag. Raadpleeg de onderstaande code om deze beter te begrijpen

import nltktext = "Hello Guru99, You have to build a very good site, and I love visiting your site."sentence = nltk.sent_tokenize(text)for sent in sentence:print(nltk.pos_tag(nltk.word_tokenize(sent)))

UITGANG

[('Hello', 'NNP'), ('Guru99', 'NNP'), (',', ','), ('You', 'PRP'), ('have', 'VBP'), ('build', 'VBN'), ('a', 'DT'), ('very', 'RB'), ('good', 'JJ'), ('site', 'NN'), ('and', 'CC'), ('I', 'PRP'), ('love', 'VBP'), ('visiting', 'VBG'), ('your', 'PRP$'), ('site', 'NN'), ('.', '.')]

Code Verklaring

  1. Code om nltk te importeren (toolkit in natuurlijke taal die submodules bevat zoals zin-tokenize en woord-tokenize.)
  2. Tekst waarvan de tags moeten worden afgedrukt.
  3. Zin-tokenisatie
  4. For-lus wordt geïmplementeerd waar woorden worden tokenized uit zin en tag van elk woord wordt afgedrukt als uitvoer.

In Corpus zijn er twee soorten POS-taggers:

  • Op regels gebaseerd
  • Stochastische POS-taggers

1. Regelgebaseerde POS-tagger: voor de woorden met een dubbelzinnige betekenis wordt een regelgebaseerde benadering op basis van contextuele informatie toegepast. Dit wordt gedaan door de betekenis van het voorgaande of het volgende woord te controleren of te analyseren. Informatie wordt geanalyseerd vanuit de omgeving van het woord of in zichzelf. Daarom worden woorden getagd door de grammaticale regels van een bepaalde taal, zoals hoofdletters en interpunctie. bijvoorbeeld Brill's tagger.

2.Stochastic POS Tagger: verschillende benaderingen zoals frequentie of waarschijnlijkheid worden bij deze methode toegepast. Als een woord in de trainingsset meestal wordt getagd met een bepaalde tag, krijgt het in de testzin die specifieke tag. De woord-tag is niet alleen afhankelijk van zijn eigen tag, maar ook van de vorige tag. Deze methode is niet altijd nauwkeurig. Een andere manier is om de kans te berekenen dat een specifieke tag in een zin voorkomt. De uiteindelijke tag wordt dus berekend door de hoogste waarschijnlijkheid van een woord met een bepaalde tag te controleren.

Verborgen Markov-model:

Tagging-problemen kunnen ook worden gemodelleerd met behulp van HMM. Het behandelt invoertokens als waarneembare volgorde, terwijl tags worden beschouwd als verborgen toestanden en het doel is om de verborgen toestandsvolgorde te bepalen. Bijvoorbeeld x = x 1 , x 2 ,…, x n waarbij x een reeks tokens is, terwijl y = y 1 , y 2 , y 3 , y 4 … y n de verborgen reeks is.

Hoe werkt het HMM-model?

HMM gebruikt join-distributie die P (x, y) is, waarbij x de invoersequentie / tokensequentie is en y de tagsequentie.

Tagreeks voor x zal argmax y1… .yn p (x1, x2,… .xn, y1, y2, y3,…) zijn. We hebben tags uit de tekst gecategoriseerd, maar de statistieken van dergelijke tags zijn essentieel. Dus het volgende deel is het tellen van deze tags voor statistische studie.