NLTK Tokenize: Sanat ja lauseet Tokenizer esimerkillä

Sisällysluettelo:

Anonim

Mikä on tokenisaatio?

Tokenisaatio on prosessi, jossa suuri määrä tekstiä jaetaan pienempiin osiin, joita kutsutaan tunnuksiksi. Nämä tunnukset ovat erittäin hyödyllisiä mallien löytämisessä, ja niitä pidetään perusvaiheena karkottamiselle ja lemmatisaatiolle. Tokenisaatio auttaa myös korvaamaan arkaluontoiset tietoelementit ei-arkaluontoisilla tietoelementeillä.

Luonnollista kielenkäsittelyä käytetään rakennettaessa sovelluksia, kuten tekstiluokittelu, älykäs chatbot, sentimentaalinen analyysi, kielenkäännös jne. On tärkeää ymmärtää tekstin malli edellä mainitun tarkoituksen saavuttamiseksi.

Toistaiseksi älä huolehdi juonittelusta ja lemmatisaatiosta, vaan käsittele niitä vaiheina tekstidatan puhdistamiseen NLP: n (Natural Language Processing) avulla. Keskustelemme stemmingistä ja lemmalisoinnista myöhemmin opetusohjelmassa. Tehtäviä, kuten teksti luokittelun tai roskapostisuodatus käyttää NLP yhdessä syvällisen oppimisen kirjastojen kuten Keras ja Tensorflow.

Natural Language Toolkit on erittäin tärkeä moduuli NLTK tokenize lauseita jossa lisäksi osa-moduulit

  1. sana tokenize
  2. lause lause

Sanojen merkitseminen

Käytämme sanaa_tokenize () menetelmää lauseen jakamiseksi sanoiksi. Sanamerkinnän tulos voidaan muuntaa datakehykseksi tekstin ymmärtämisen parantamiseksi koneoppimissovelluksissa. Se voidaan tarjota myös syötteenä tekstin lisäpuhdistusvaiheisiin, kuten välimerkkien poistamiseen, numeeristen merkkien poistamiseen tai katkaisemiseen. Koneoppimismallit tarvitsevat numeerista tietoa koulutettavaksi ja ennustamiseksi. Sanojen merkinnöistä tulee tärkeä osa tekstin (merkkijono) numeerista datan muuntamista. Lue sanapussi tai CountVectorizer. Katso alla oleva sana tokenize NLTK -esimerkki ymmärtämään teoriaa paremmin.

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', '.']

Koodin selitys

  1. word_tokenize-moduuli tuodaan NLTK-kirjastosta.
  2. Muuttuja "teksti" alustetaan kahdella lauseella.
  3. Tekstimuuttuja välitetään word_tokenize-moduulissa ja tulos tulostetaan. Tämä moduuli katkaisee jokaisen sanan välimerkillä, jonka näet lähdössä.

Lausekkeiden merkitseminen

Edellä mainittua varten käytettävissä oleva alamoduuli on sent_tokenize. Mielestänne olisi selvä kysymys, miksi lauseen tokenointia tarvitaan, kun meillä on mahdollisuus sanan tokenointiin . Kuvittele, että sinun on laskettava keskimääräiset sanat lauseita kohti, kuinka lasket? Tällaisen tehtävän suorittamiseksi tarvitset sekä NLTK-lauseetunnistimen että NLTK-sanatunnistimen suhdeen laskemiseksi. Tällainen tuotos on tärkeä ominaisuus konekoulutuksessa, koska vastaus olisi numeerinen.

Tarkista alla oleva NLTK-tokenizer-esimerkki saadaksesi selville, kuinka lauseiden merkintä eroaa sanojen tokenisaatiosta.

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 ']

Meillä on 12 sanaa ja kaksi lausetta samalle syötteelle.

Ohjelman selitys:

  1. Tuonut sent_tokenize-moduulin edellisen ohjelman kaltaisella rivillä.
  2. Olemme ottaneet saman lauseen. Seuraava lauseen tokenizer NLTK-moduulissa jäsentää kyseiset lauseet ja näyttää tuotoksen. On selvää, että tämä toiminto rikkoo jokaisen lauseen.

Sanatunnistimen yläpuolella Python-esimerkit ovat hyviä asetuskiviä sanan ja lauseen tokenisaation mekaniikan ymmärtämiseksi.

Yhteenveto

  • Tokenisaatio NLP: ssä on prosessi, jossa suuri määrä tekstiä jaetaan pienempiin osiin, joita kutsutaan tunnuksiksi.
  • Luonnollista kielenkäsittelyä käytetään rakennettaessa sovelluksia, kuten tekstiluokittelu, älykäs chatbot, sentimentaalinen analyysi, kielenkäännös jne.
  • Luonnollisen kielen työkalupakissa on erittäin tärkeä moduuli NLTK, joka tokenize lause, joka sisältää lisäksi alimoduuleja
  • Käytämme sanaa_tokenize () menetelmää lauseen jakamiseksi sanoiksi. NLTK: n sanatunnistimen tulos voidaan muuntaa datakehykseksi tekstin ymmärtämisen parantamiseksi koneoppimissovelluksissa.
  • Edellä mainittua varten käytettävissä oleva alamoduuli on sent_tokenize. Python NLTK: n lauseen tokenizer on tärkeä ominaisuus konekoulutuksessa.