NLTK Tokenize: Tokenizer de palavras e frases com exemplo

Índice:

Anonim

O que é tokenização?

A tokenização é o processo pelo qual uma grande quantidade de texto é dividida em partes menores chamadas tokens. Esses tokens são muito úteis para encontrar padrões e são considerados uma etapa básica para derivação e lematização. A tokenização também ajuda a substituir elementos de dados confidenciais por elementos de dados não confidenciais.

O processamento de linguagem natural é usado para criar aplicativos como classificação de texto, chatbot inteligente, análise sentimental, tradução de linguagem, etc. Torna-se vital entender o padrão no texto para atingir o propósito acima declarado.

Por enquanto, não se preocupe com lematização e lematização, mas trate-as como etapas para limpeza de dados textuais usando PNL (processamento de linguagem natural). Discutiremos a lematização e a lematização posteriormente no tutorial. Tarefas como classificação de texto ou filtragem de spam usam PNL junto com bibliotecas de aprendizado profundo, como Keras e Tensorflow.

O kit de ferramentas de Linguagem Natural tem um módulo muito importante para tokenizar frases de NLTK que compreende ainda submódulos

  1. palavra tokenizar
  2. sentença tokenizar

Tokenização de palavras

Usamos o método word_tokenize () para dividir uma frase em palavras. A saída da tokenização de palavras pode ser convertida em Data Frame para melhor compreensão do texto em aplicativos de aprendizado de máquina. Ele também pode ser fornecido como entrada para outras etapas de limpeza de texto, como remoção de pontuação, remoção de caracteres numéricos ou lematização. Os modelos de aprendizado de máquina precisam de dados numéricos para serem treinados e fazer uma previsão. A tokenização de palavras se torna uma parte crucial do texto (string) para a conversão de dados numéricos. Leia sobre Saco de Palavras ou CountVectorizer. Por favor, consulte a seguinte palavra tokenizar o exemplo de NLTK para entender melhor a teoria.

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

Explicação do código

  1. O módulo word_tokenize é importado da biblioteca NLTK.
  2. Uma variável "texto" é inicializada com duas sentenças.
  3. A variável de texto é passada no módulo word_tokenize e imprime o resultado. Este módulo quebra cada palavra com pontuação que você pode ver na saída.

Tokenização de Sentenças

O submódulo disponível para o acima é sent_tokenize. Uma pergunta óbvia em sua mente seria por que a tokenização de frase é necessária quando temos a opção de tokenização de palavra . Imagine que você precise contar a média de palavras por frase, como vai calcular? Para realizar essa tarefa, você precisa do tokenizer de frase NLTK e do tokenizer de palavra NLTK para calcular a proporção. Essa saída serve como um recurso importante para o treinamento da máquina, pois a resposta seria numérica.

Verifique o exemplo de tokenizer NLTK abaixo para saber como a tokenização de frases é diferente da tokenização de palavras.

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

Temos 12 palavras e duas frases para a mesma entrada.

Explicação do programa:

  1. Em uma linha como o programa anterior, importou o módulo sent_tokenize.
  2. Nós tomamos a mesma frase. Outro tokenizer de frase no módulo NLTK analisou essas frases e mostrou a saída. É claro que esta função quebra cada frase.

Os exemplos de tokenizer de palavras acima em Python são boas pedras de configuração para entender a mecânica da tokenização de palavras e frases.

Resumo

  • A tokenização na PNL é o processo pelo qual uma grande quantidade de texto é dividida em partes menores chamadas tokens.
  • O processamento de linguagem natural é usado para criar aplicativos como classificação de texto, chatbot inteligente, análise sentimental, tradução de linguagem, etc.
  • O kit de ferramentas de Linguagem Natural tem um módulo muito importante para tokenizar frase NLTK que compreende ainda submódulos
  • Usamos o método word_tokenize () para dividir uma frase em palavras. A saída do tokenizer de palavras em NLTK pode ser convertida em Data Frame para melhor compreensão do texto em aplicativos de aprendizado de máquina.
  • O submódulo disponível para o acima é sent_tokenize. O tokenizador de frases em Python NLTK é um recurso importante para treinamento de máquina.