Tokenização de caracteres não ASCII
Neste exercício, você vai praticar uma tokenização mais avançada, segmentando um texto com caracteres fora do ASCII. Vamos usar alemão com emoji!
Aqui, você tem acesso a uma string chamada german_text, que foi impressa para você no Shell. Repare nos emoji e nos caracteres em alemão!
Os seguintes módulos já foram importados de nltk.tokenize: regexp_tokenize e word_tokenize.
Os intervalos Unicode para emoji são:
('\U0001F300'-'\U0001F5FF'), ('\U0001F600-\U0001F64F'), ('\U0001F680-\U0001F6FF'), e ('\u2600'-\u26FF-\u2700-\u27BF').
Este exercício faz parte do curso
Introdução ao Processamento de Linguagem Natural em Python
Instruções do exercício
- Tokenize todas as palavras em
german_textusandoword_tokenize()e imprima o resultado. - Tokenize apenas as palavras iniciadas com maiúscula em
german_text.- Primeiro, escreva um padrão chamado
capital_wordspara corresponder somente a palavras com inicial maiúscula. Lembre-se de verificar oÜalemão! Para usar esse caractere no exercício, copie e cole a partir destas instruções. - Em seguida, tokenize usando
regexp_tokenize().
- Primeiro, escreva um padrão chamado
- Tokenize somente os emoji em
german_text. O padrão usando os intervalos Unicode informados no enunciado já foi escrito para você. Sua tarefa é usarregexp_tokenize()para tokenizar os emoji.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# Tokenize and print all words in german_text
all_words = ____(____)
print(all_words)
# Tokenize and print only capital words
capital_words = r"[____]\w+"
print(____(____, ____))
# Tokenize and print only emoji
emoji = "['\U0001F300-\U0001F5FF'|'\U0001F600-\U0001F64F'|'\U0001F680-\U0001F6FF'|'\u2600-\u26FF\u2700-\u27BF']"
print(____(____, ____))