Создание новых признаков из текста

Анализ тональности текста на Python

Violeta Misheva

Data Scientist

Цель урока

 

Цель: обогатить существующий набор данных признаками, связанными с текстовым столбцом (анализ тональности)

Анализ тональности текста на Python

Данные об отзывах на товары

reviews.head()

первые 5 строк отзывов о товарах Amazon

Анализ тональности текста на Python

Признаки из столбца с отзывами

 

  • Какова длина каждого отзыва?
  • Сколько предложений он содержит?
  • Какие части речи в нём встречаются?
  • Сколько знаков препинания?
Анализ тональности текста на Python

Токенизация строки

from nltk import word_tokenize
anna_k = 'Happy families are all alike, every unhappy family is unhappy in its own way.'
word_tokenize(anna_k)

['Happy','families','are', 'all','alike',',',
 'every','unhappy', 'family', 'is','unhappy','in',
 'its','own','way','.']
Анализ тональности текста на Python

Токены из столбца

# General form of list comprehension
[expression for item in iterable]
word_tokens = [word_tokenize(review) for review in reviews.review]
type(word_tokens)
list
type(word_tokens[0])
list
Анализ тональности текста на Python

Токены из столбца

len_tokens = []

# Iterate over the word_tokens list
for i in range(len(word_tokens)):
     len_tokens.append(len(word_tokens[i]))

# Create a new feature for the length of each review
reviews['n_tokens'] = len_tokens
Анализ тональности текста на Python

Работа со знаками препинания

  • Мы не рассматривали это, но при необходимости знаки препинания можно исключить
  • Признак, измеряющий количество знаков препинания
    • Обилие знаков препинания может сигнализировать о сильной эмоциональной окраске отзыва
Анализ тональности текста на Python

Отзывы с признаком длины

reviews.head()

первые 5 строк отзывов о товарах Amazon, включая добавленный столбец с длиной отзыва

Анализ тональности текста на Python

Давайте потренируемся!

Анализ тональности текста на Python

Preparing Video For Download...