Extração básica de features

Feature Engineering para NLP em Python

Rounak Banik

Data Scientist

Número de caracteres

"I don't know." # 13 characters
# Calcular o número de caracteres 
text = "I don't know."
num_char = len(text)

# Imprimir o número de caracteres
print(num_char)
13
# Criar a feature 'num_chars'
df['num_chars'] = df['review'].apply(len)
Feature Engineering para NLP em Python

Número de palavras

# Dividir a string em palavras
text = "Mary had a little lamb."
words = text.split()

# Imprimir a lista de palavras
print(words)
['Mary', 'had', 'a', 'little', 'lamb.']
# Imprimir o número de palavras
print(len(words))
5
Feature Engineering para NLP em Python

Número de palavras

# Função que retorna o número de palavras em uma string
def word_count(string):
    # Dividir a string em palavras
    words = string.split()

    # Retornar o tamanho da lista de palavras
    return len(words)
# Criar a feature num_words no df
df['num_words'] = df['review'].apply(word_count)

Feature Engineering para NLP em Python

Comprimento médio das palavras

#Função que retorna o comprimento médio das palavras
def avg_word_length(x):

# Dividir a string em palavras words = x.split()
# Calcular o comprimento de cada palavra e armazenar em uma lista word_lengths = [len(word) for word in words]
# Calcular o comprimento médio das palavras avg_word_length = sum(word_lengths)/len(words)
# Retornar o comprimento médio das palavras return(avg_word_length)
Feature Engineering para NLP em Python

Comprimento médio das palavras

# Criar a feature avg_word_length
df['avg_word_length'] = df['review'].apply(doc_density)
Feature Engineering para NLP em Python

Features especiais

 

Tweet da DataCamp

Feature Engineering para NLP em Python

Hashtags e menções

# Função que retorna o número de hashtags
def hashtag_count(string):

# Dividir a string em palavras words = string.split()
# Criar uma lista de hashtags hashtags = [word for word in words if word.startswith('#')]
# Retornar o número de hashtags return len(hashtags)
hashtag_count("@janedoe This is my first tweet! #FirstTweet #Happy")
2
Feature Engineering para NLP em Python

Outras features

  • Número de sentenças
  • Número de parágrafos
  • Palavras que começam com maiúscula
  • Palavras em CAIXA ALTA
  • Quantidades numéricas
Feature Engineering para NLP em Python

Vamos praticar!

Feature Engineering para NLP em Python

Preparing Video For Download...