Tokenize NLTK: tokenizzatore di parole e frasi con esempio

โšก Riepilogo intelligente

NLTK Tokenize suddivide testi di grandi dimensioni in unitร  piรน piccole chiamate token, un passaggio fondamentale nell'elaborazione del linguaggio naturale. Il toolkit fornisce word_tokenize per scomporre le frasi in parole e sent_tokenize per suddividere il testo in singole frasi.

  • โœ‚๏ธ Tokenizzazione: Suddivide testi di grandi dimensioni in unitร  piรน piccole chiamate token per l'analisi.
  • ๐Ÿง  NLP Foundation: Serve come passaggio base per la stemming, la lemmatizzazione e la conversione da testo a numerico.
  • ๐Ÿ”ค word_tokenize(): Divide una frase in singole parole, separando la punteggiatura.
  • ๐Ÿ“ sent_tokenize(): Suddivide un brano in frasi separate.
  • ๐Ÿ“Š Caso d'uso: La combinazione di entrambi consente di calcolare caratteristiche come la media di parole per frase per l'apprendimento automatico.

Tokenizzazione NLTK

Cos'รจ la tokenizzazione?

tokenizzazione รจ il processo mediante il quale una grande quantitร  di testo viene divisa in parti piรน piccole chiamate token. Questi token sono molto utili per trovare modelli e sono considerati un passaggio base per la derivazione e la lemmatizzazione. La tokenizzazione aiuta anche a sostituire elementi di dati sensibili con elementi di dati non sensibili.

L'elaborazione del linguaggio naturale viene utilizzata per creare applicazioni come la classificazione del testo, chatbot intelligente, analisi sentimentale, traduzione linguistica, ecc. Diventa vitale comprendere lo schema del testo per raggiungere lo scopo sopra indicato.

Per il momento, non preoccuparti di stemming e lemmatizzazione, ma trattali come passaggi per la pulizia dei dati testuali tramite NLP (Natural language processing). Discuteremo di stemming e lemmatizzazione piรน avanti nel tutorial. Attivitร  come Classificazione del testo o filtraggio dello spam fa uso della PNL insieme a librerie di deep learning come Keras e tensorflow.

Il toolkit del linguaggio naturale ha un modulo NLTK molto importante tokenize frasi che comprendono inoltre sottomoduli

  1. parola tokenizzare
  2. tokenizzare la frase

Tokenizzazione delle parole

Usiamo il metodo word_tokenize() per dividere una frase in parole. L'output della tokenizzazione delle parole puรฒ essere convertito in Data Frame per una migliore comprensione del testo nelle applicazioni di machine learning. Puรฒ anche essere fornito come input per ulteriori passaggi di pulizia del testo come la rimozione della punteggiatura, la rimozione dei caratteri numerici o la radice. I modelli di machine learning necessitano di dati numerici per essere addestrati e fare una previsione. La tokenizzazione delle parole diventa una parte cruciale della conversione del testo (stringa) in dati numerici. Si prega di leggere Borsa di parole o CountVectorizer. Si prega di fare riferimento all'esempio di tokenizzazione NLTK di seguito per comprendere meglio la teoria.

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

Tokenizzazione delle parole

Code Spiegazione

  1. Il modulo word_tokenize viene importato dalla libreria NLTK.
  2. Una variabile โ€œtestoโ€ viene inizializzata con due frasi.
  3. La variabile di testo viene passata nel modulo word_tokenize e viene stampato il risultato. Questo modulo spezza ogni parola con la punteggiatura che puoi vedere nell'output.

Tokenizzazione delle frasi

Il sottomodulo disponibile per quanto sopra รจ sent_tokenize. Una domanda ovvia nella tua mente sarebbe perchรฉ รจ necessaria la tokenizzazione delle frasi quando abbiamo la possibilitร  della tokenizzazione delle parole. Immagina di dover contare la media delle parole per frase, come calcolerai? Per eseguire tale attivitร , sono necessari sia il tokenizzatore di frasi NLTK sia il tokenizzatore di parole NLTK per calcolare il rapporto. Tale risultato costituisce una caratteristica importante per l'addestramento della macchina poichรฉ la risposta sarebbe numerica.

Controlla l'esempio di tokenizzatore NLTK riportato di seguito per scoprire in che modo la tokenizzazione delle frasi รจ diversa dalla tokenizzazione delle parole.

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

Abbiamo 12 parole e due frasi per lo stesso ingresso.

Tokenizzazione delle frasi

Spiegazione del programma

  1. In una riga come il programma precedente, importa il modulo sent_tokenize.
  2. Abbiamo preso la stessa frase. Un ulteriore tokenizzatore di frasi nel modulo NLTK ha analizzato le frasi e mostrato l'output. รˆ chiaro che questa funzione interrompe ogni frase.

Tokenizzatore sopra la parola Python esempi sono buone pietre da incastonatura per comprendere i meccanismi della tokenizzazione di parole e frasi.

DOMANDE FREQUENTI

La tokenizzazione delle parole suddivide il testo in singole parole e punteggiatura utilizzando la funzione word_tokenize(), mentre la tokenizzazione delle frasi suddivide il testo in frasi separate utilizzando la funzione sent_tokenize(). Entrambe vengono spesso combinate per ricavare caratteristiche come il numero di parole per frase.

La tokenizzazione รจ il primo passo che trasforma il testo grezzo in unitร  gestibili, consentendo il rilevamento di pattern, la riduzione alla radice, la lemmatizzazione e la conversione in caratteristiche numeriche necessarie ai modelli di apprendimento automatico per attivitร  come la classificazione e la traduzione.

Sรฌ. NLTK supporta diverse lingue caricando il modello Punkt appropriato, ad esempio sent_tokenize(text, language='french'). Il supporto varia a seconda della lingua e alcuni script potrebbero richiedere tokenizzatori specifici.

I modelli linguistici di grandi dimensioni convertono il testo in token, spesso suddivisi in sottoparole, prima dell'elaborazione. Il modello prevede il token successivo in base a quelli precedenti, pertanto la tokenizzazione influisce direttamente sulla lunghezza del contesto, sui costi e sulla qualitร  dell'output.

Sรฌ. I moderni tokenizzatori basati sull'IA utilizzano metodi di suddivisione in sottoparole come Byte Pair Encoding o WordPiece, che dividono le parole rare in parti piรน piccole. Questo mantiene i vocabolari compatti pur rappresentando parole sconosciute o composte.

Riassumi questo post con: