NLTK Tokenize: Sanat ja lauseet Tokenizer esimerkillä
Mikä on tokenisaatio?
tokenization on prosessi, jolla suuri määrä tekstiä jaetaan pienempiin osiin, joita kutsutaan tunnuksiksi. Nämä tunnukset ovat erittäin hyödyllisiä kuvioiden löytämisessä, ja niitä pidetään perusvaiheina stemmingissä ja lemmatisaatiossa. Tokenisointi auttaa myös korvaamaan arkaluontoiset tietoelementit ei-arkaluonteisilla tietoelementeillä.
Luonnollisen kielen käsittelyä käytetään rakennussovelluksissa, kuten tekstin luokittelussa, älykäs chatbot, tunteellinen analyysi, kielen käännös jne. On elintärkeää ymmärtää tekstin kaava edellä mainitun tarkoituksen saavuttamiseksi.
Älä toistaiseksi ole huolissasi stemmingistä ja lemmatisoinnista, vaan käsittele niitä tekstitietojen puhdistamisen vaiheina NLP:n (Natural Language Processing) avulla. Keskustelemme stemmingistä ja lemmatisaatiosta myöhemmin opetusohjelmassa. Tehtäviä mm Tekstin luokittelu tai roskapostin suodatus käyttää NLP:tä sekä syväoppimiskirjastoja, kuten Keras ja Tensorflow.
Luonnollisen kielen työkalupakkissa on erittäin tärkeä NLTK-moduuli merkitä lauseita, jotka lisäksi sisältävät alamoduuleja
- sana tokenisoida
- lauseen merkki
Sanojen tokenointi
Käytämme menetelmää word_tokenize() jakaa lause sanoiksi. Sanan tokenisoinnin tulos voidaan muuntaa Data Frameksi tekstin ymmärtämiseksi paremmin koneoppimissovelluksissa. Se voidaan myös tarjota syötteenä tekstin lisäpuhdistusvaiheisiin, kuten välimerkkien poistoon, numeeristen merkkien poistoon tai varsinaiseen muotoon. Koneoppimismallit tarvitsevat numeerista dataa kouluttaakseen ja tehdäkseen ennusteen. Sanan tokenisoinnista tulee tärkeä osa tekstin (merkkijono) muuntamista numeerisiksi tiedoiksi. Ole hyvä ja lue aiheesta Pussi sanoja tai CountVectorizer. Katso alla oleva sana tokenize NLTK-esimerkki ymmärtääksesi teorian paremmin.
from nltk.tokenize import word_tokenize text = "God is Great! I won a lottery." print(word_tokenize(text)) Output: ['God', 'is', 'Great', '!', 'I', 'won', 'a', 'lottery', '.']
Koodin selitys
- word_tokenize-moduuli tuodaan NLTK-kirjastosta.
- Muuttuja "teksti" alustetaan kahdella lauseella.
- Tekstimuuttuja välitetään word_tokenize-moduulissa ja tulostetaan tulos. Tämä moduuli katkaisee jokaisen sanan välimerkeillä, jotka näet tulosteessa.
Lauseiden tokenointi
Yllä olevaa varten käytettävissä oleva alimoduuli on sent_tokenize. Mielessäsi ilmeinen kysymys olisi miksi lauseen tokenointia tarvitaan, kun meillä on mahdollisuus sanan tokenointiin. Kuvittele, että sinun on laskettava keskimääräiset sanat lausetta kohti, miten lasket? Tällaisen tehtävän suorittamiseksi tarvitset sekä NLTK-lauseen tokenisaattorin että NLTK-sanamerkinnän suhteen laskemiseen. Tällainen tulos on tärkeä ominaisuus konekoulutuksessa, koska vastaus olisi numeerinen.
Katso alla olevasta NLTK-tunnisteesimerkistä oppiaksesi, kuinka lauseiden merkintä eroaa sanojen tunnuksesta.
from nltk.tokenize import sent_tokenize text = "God is Great! I won a lottery." print(sent_tokenize(text)) Output: ['God is Great!', 'I won a lottery ']
Meillä on 12 sanat ja kaksi virkettä samalle tulolle.
Ohjelman selitys
- Edellisen ohjelman kaltaisessa rivissä tuotiin sent_tokenize-moduuli.
- Olemme ottaneet saman lauseen. NLTK-moduulin lisälause tokenizer jäsensi kyseiset lauseet ja näyttää tulosteen. On selvää, että tämä funktio katkaisee jokaisen lauseen.
Yllä sana tokenizer Python esimerkkejä ovat hyviä asetuskiviä ymmärtääksesi sanan ja lauseen tokenoinnin mekaniikkaa.
Yhteenveto
- Tokenointi sisään NLP on prosessi, jolla suuri määrä tekstiä jaetaan pienempiin osiin, joita kutsutaan tunnuksiksi.
- Luonnollisen kielen käsittelyä käytetään rakentamaan sovelluksia, kuten tekstin luokittelu, älykäs chatbot, tunneanalyysi, kielen kääntäminen jne.
- Luonnollisen kielen työkalupakkissa on erittäin tärkeä moduuli NLTK tokenize lause, joka sisältää lisäksi alamoduuleita
- Käytämme menetelmää word_tokenize() lauseen jakamiseen sanoiksi. NLTK:n sanatunnistimen tulos voidaan muuntaa Data Frameksi tekstin ymmärtämiseksi paremmin koneoppimissovelluksissa.
- Yllä olevaa varten käytettävissä oleva alimoduuli on sent_tokenize. Lausemerkki sisään Python NLTK on tärkeä ominaisuus konekoulutuksessa.