Lausekkeiden merkitseminen
Lauseen merkitseminen laajemmassa merkityksessä viittaa verbin, substantiivin jne. Tunnisteiden lisäämiseen lauseen kontekstissa. POS-tunnisteiden tunnistaminen on monimutkainen prosessi. Siten POS: n yleinen merkitseminen ei ole manuaalisesti mahdollista, koska joillakin sanoilla voi olla erilainen (epäselvä) merkitys lauseen rakenteen mukaan. Tekstin muuntaminen luettelomuodossa on tärkeä vaihe ennen koodaamista, koska jokainen luettelossa oleva sana on silmukoitu ja laskettu tietylle tagille. Katso alla oleva koodi ymmärtääksesi sen paremmin
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)))
LÄHTÖ
[('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'), ('.', '.')]
Koodin selitys
- Koodi tuoda nltk (Luonnollisen kielen työkalupakki, joka sisältää alimoduuleja, kuten lauseen tokenize ja word tokenize.)
- Teksti, jonka tunnisteet on tulostettava.
- Lauseen tokenisaatio
- Sillä silmukka toteutetaan, jossa sanat merkitään lauseesta ja jokaisen sanan tunniste tulostetaan tulosteena.
Corpusissa on kahdenlaisia POS-tunnisteita:
- Sääntöpohjainen
- Stokastiset POS-tunnisteet
1. Sääntöpohjainen POS-tunniste: Sanoille , joilla on epäselvä merkitys, sovelletaan sääntöpohjaista lähestymistapaa asiayhteyteen perustuen. Se tehdään tarkistamalla tai analysoimalla edellisen tai seuraavan sanan merkitys. Tiedot analysoidaan sanan ympäristöstä tai sen sisällä. Siksi sanat merkitään tietyn kielen kielioppisäännöillä, kuten isoilla kirjaimilla ja välimerkkeillä. esim. Brillin tunniste.
2.Stokastinen POS-tunniste: Tässä menetelmässä käytetään erilaisia lähestymistapoja, kuten taajuus tai todennäköisyys. Jos sana on enimmäkseen merkitty tietyllä tagilla harjoitusjoukossa, testilauseessa sille annetaan kyseinen tagi. Sana tag on riippuvainen paitsi omasta tunnisteestaan myös edellisestä tunnisteesta. Tämä menetelmä ei ole aina tarkka. Toinen tapa on laskea tietyn tunnisteen esiintymisen todennäköisyys lauseessa. Siten lopullinen tunniste lasketaan tarkistamalla sanan suurin todennäköisyys tietyllä tagilla.
Piilotettu Markov-malli:
Merkintäongelmat voidaan mallintaa myös HMM: n avulla. Se käsittelee syöttötunnuksia havaittavana sekvenssinä, kun taas tunnisteita pidetään piilotettuina ja tavoitteena on piilotetun tilan järjestyksen määrittäminen. Esimerkiksi x = x 1 , x 2 ,…, x n, jossa x on merkkijono, kun taas y = y 1 , y 2 , y 3 , y 4 ... y n on piilotettu sekvenssi.
Kuinka HMM-malli toimii?
HMM käyttää liitosjakaumaa, joka on P (x, y), jossa x on syötesekvenssi / tunnussekvenssi ja y on tunnistesekvenssi.
Tagin sekvenssi x: lle on argmax y1… .yn p (x1, x2,… .xn, y1, y2, y3,…). Olemme luokitelleet tagit tekstistä, mutta näiden tunnisteiden tilastot ovat elintärkeitä. Joten seuraava osa laskee nämä tunnisteet tilastolliseen tutkimukseen.