NLTK „Tokenize“: žodžių ir sakinių „tokenizer“ su pavyzdžiu

Kas yra tokenizacija?

Tokenizavimas yra procesas, kurio metu didelis teksto kiekis yra padalijamas į mažesnes dalis, vadinamus žetonais. Šie žetonai yra labai naudingi ieškant modelių ir yra laikomi pagrindiniu žingsniu išvedant ir lematizuojant. Tokenizavimas taip pat padeda pakeisti neskelbtinus duomenų elementus neskelbtinais duomenų elementais.

Natūralios kalbos apdorojimas naudojamas kuriant programas, tokias kaip teksto klasifikavimas, intelektualusis pokalbių internetinis pokalbis, sentimentali analizė, kalbos vertimas ir kt. Norint pasiekti aukščiau nurodytą tikslą, būtina suprasti teksto modelį.

Kol kas nesijaudinkite dėl kamienų ir lemmatizacijos, bet traktuokite juos kaip teksto duomenų valymo žingsnius naudodami NLP (Natūralios kalbos apdorojimas). Vėliau pamokoje aptarsime stemming ir lemmatization. Tokios užduotys kaip teksto klasifikavimas ar šlamšto filtravimas naudoja NLP kartu su gilaus mokymosi bibliotekomis, tokiomis kaip „Keras“ ir „Tensorflow“.

Natūralios kalbos įrankių rinkinyje yra labai svarbus NLTK modulis, kuris žymi sakinius, kuriuos papildomai sudaro submoduliai

  1. žodis tokenize
  2. sakinys tokenize

Žodžių žymėjimas

Mes naudojame metodą word_tokenize (), kad padalintume sakinį į žodžius. Žodžių žymėjimo išvestį galima konvertuoti į „Data Frame“, kad tekstas būtų geriau suprantamas mašininio mokymosi programose. Jis taip pat gali būti įvestis atliekant tolesnius teksto valymo veiksmus, pvz., Skyrybos ženklų pašalinimą, skaitinių simbolių pašalinimą ar šalinimą. Mašinų mokymosi modeliams reikalingi skaitiniai duomenys, kad juos būtų galima išmokyti ir numatyti. Žodžių žymėjimas tampa itin svarbia skaitinių duomenų konvertavimo teksto (eilutės) dalimi. Prašome perskaityti apie žodžių krepšį arba „CountVectorizer“. Norėdami geriau suprasti teoriją, žr. Žemiau pateiktą žodį „tokenize NLTK“.

from nltk.tokenize import word_tokenizetext = "God is Great! I won a lottery."print(word_tokenize(text))Output: ['God', 'is', 'Great', '!', 'I', 'won', 'a', 'lottery', '.']

Kodo paaiškinimas

  1. modulis „word_tokenize“ importuojamas iš NLTK bibliotekos.
  2. Kintamasis „tekstas“ inicijuojamas dviem sakiniais.
  3. Teksto kintamasis perduodamas modulyje word_tokenize ir atspausdina rezultatą. Šis modulis sulaužo kiekvieną žodį skyryba, kurią galite pamatyti išvestyje.

Sakinių tokenizavimas

Pirmiau nurodytas submodulis yra send_tokenize. Akivaizdus klausimas jūsų galvoje būtų, kodėl reikalingas sakinių žymėjimas, kai turime galimybę naudoti žodį . Įsivaizduokite, kad jums reikia suskaičiuoti vidutinius žodžius viename sakinyje, kaip jūs apskaičiuosite? Norint atlikti tokią užduotį, santykiui apskaičiuoti reikia ir NLTK sakinio žymeklio, ir NLTK žodžio žymeklio. Toks rezultatas yra svarbi mašinų mokymo ypatybė, nes atsakymas būtų skaitinis.

Patikrinkite žemiau pateiktą NLTK žetonų kūrėjo pavyzdį, kad sužinotumėte, kuo sakinių žymėjimas skiriasi nuo žodžių žymėjimo.

from nltk.tokenize import sent_tokenizetext = "God is Great! I won a lottery."print(sent_tokenize(text))Output: ['God is Great!', 'I won a lottery ']

Mes turime 12 žodžių ir du sakinius tam pačiam įvestiui.

Programos paaiškinimas:

  1. Tokioje eilutėje, kaip ankstesnė programa, importavote modulį sent_tokenize.
  2. Mes priėmėme tą patį sakinį. Kitas sakinių žymeklis NLTK modulyje išanalizavo tuos sakinius ir rodė išvestį. Akivaizdu, kad ši funkcija sulaužo kiekvieną sakinį.

Virš žodžių žymeklio „Python“ pavyzdžiai yra geri nustatymų akmenys, kad suprastumėte žodžio ir sakinio žymėjimo mechaniką.

Santrauka

  • Tokenizavimas NLP yra procesas, kurio metu didelis teksto kiekis yra padalijamas į mažesnes dalis, vadinamus žetonais.
  • Natūralios kalbos apdorojimas naudojamas kuriant programas, tokias kaip teksto klasifikavimas, intelektualusis pokalbių kompiuteris, sentimentali analizė, kalbos vertimas ir kt.
  • Natūralios kalbos įrankių rinkinyje yra labai svarbus NLTK modulio sakinys, kuris taip pat apima submodulius
  • Mes naudojame metodą word_tokenize (), kad padalintume sakinį į žodžius. Žodinio žymiklio išvestį NLTK galima konvertuoti į „Data Frame“, kad geriau suprastumėte tekstą mašininio mokymosi programose.
  • Pirmiau nurodytas submodulis yra send_tokenize. „Python NLTK“ sakinių žymėjimas yra svarbi mašinų mokymo funkcija.

Įdomios straipsniai...