Python - NLTK Flashcards
O que significa NLTK?
Natural Language Toolkit
O que é o NLTK?
É uma biblioteca Python para processamento de Linguagem Natural.
O NLTK é bom para trabalhar com que tipo de dados?
Strings.
Como utilizar o NLTK?
É necessário instalar a biblioteca através do seguinte comando:
pip install nltk
Após isso, é necessário fazer o download de todos (“all”) pacotes:
import nltk
nltk.download(info_or_id=’all’)
O que é Tokenização?
Separar as palavras de um texto.
Semelhante à função split().
Como fazer uma Tokenização simples/básica de um texto com NLTK?
import nltk
nltk.word_tokenize(text) -> list
Como fazer uma Tokenização de um texto por Regular Expression?
from nltk.tokenize import RegexpTokenizer
tokenizer = RegexpTokenizer(pattern) tokens = tokenizer.tokenize(text) -> list
Qual o componente do NLTK que permite verificar a Frequência/Contagem de palavras tokenizadas?
É a classe: FreqDist(token) -> class
Qual o comando que permite ver as palavras tokenizadas e a quantidade de vezes que se repetem no texto?
import nltk
tokens = nltk.word_tokenize(text) frequency = nltk.FreqDist(tokens)
frequency.most_common()
Qual o comando que permite ver as N primeiras palavras tokenizadas e a quantidade de vezes que se repetem no texto?
Exemplo: as 15 primeiras palavras
import nltk
tokens = nltk.word_tokenize(text) frequency = nltk.FreqDist(tokens)
frequency.most_common(15)
O que são Stopwords?
São palavras palavras consideradas irrelevantes para a busca.
Como obter a lista de Stopwords da língua portguesa?
import nltk
nltk.corpus.stopwords.words(‘portuguese’) -> list
O que são N-gramas?
É tokenizar um determinado número de palavras como um grupo, invés de palavras isoladas.
Por exemplo: Nomes Completos
Leandro Mana
New York
New England Patriots
Quantos tipos de agrupamento de palavras podemos tokenizar?
Podemos agrupar em:
▪ bi-gramas - grupos de 2 palavras
▪ tri-gramas - grupos de 3 palavras
▪ n-gramas - grupos de N (4 ou mais) palavras
O que é Stemming?
É a redução da palavra até o seu radical.
Por exemplo:
▪ amig → amigo, amiga
▪ gat → gato, gata
▪ prop → propõem, propondo
O que é Lematização?
É a redução da palavra à sua forma canônica.
Não funciona bem para Português. Para isso, a lib spaCy possui um Lematizador.
Por exemplo:
▪ propor → propõem, propondo
▪ estudar → estudando, estudei, estudioso
Como fazer o Stemming de uma palavra?
import nltk
stemmer = nltk.RSLPSetmmer()
stemmer.stem(word)
O que é Etiquetar para a PLN?
É dar a classe gramatical das palavras de um token.
Como Etiquetar as palavras?
- Tokenizar as palavras.
- Treinar o Etiquetador com o mac_morpho.
- Etiquetar os tokens.
from nltk import word_tokenize
from nltk.corpus import mac_morpho
from nltk.tag import UnigramTagger
with open(file, 'r') as f: text = f.read() tokens = word_tokenize(text)
training_sentences = mac_morpho.tagged_sents()
tagger = UnigramTagger(training_sentences) tagger = tagger.tag(tokens)
print(tagger)
Como definir uma Tag padrão para os tokens?
from nltk import word_tokenize
from nltk.corpus import mac_morpho
from nltk.tag import UnigramTagger, DefaultTagger
with open(file, ‘r’) as f:
text = f.read() tokens = word_tokenize(text)
training_sentences = mac_morpho.sent()
default_tagger = DefaultTagger('N') tagger = UnigramTagger(training_sentences, backoff=default_tagger) tagger = tagger.tag(tokens)
print(tagger)
O que é Chunk?
Análise Sintática Superficial.
O que é o spaCy?
É uma biblioteca Python para processamento de Linguagem Natural de grandes textos em produção.
Quais são as principais características do spaCy?
▪ É utilizado para processamento de grandes textos em produção.
▪ Suporta mais de 61 linguagens.
▪ Possui o parse sintático mais rápido do mundo.
Como utilizar o spaCy?
É necessário instalar o pacote principal:
pip install -U spacy
Em seguida é necessário instalar os pacotes adicionais:
pip install -U spacy-lookups-data
Para instalar o pacote em português:
python -m spacy download pt_core_news_sm
python -m spacy download pt_core_news_md
python -m spacy download pt_core_news_lg
O que é um Doc?
É um objeto que retorna um conjunto de objetos Tokens.
Cada objeto Token representa uma palavra e possui diversos atributos relacionados à analises gramaticais e de sintaxe.
Como fazer a Tokenização no spaCy?
import spacy
nlp = spacy.load('pt_core_news_lg') doc = nlp(text) tokens = [token for token in doc]