Эмоциональная окраска финансовых новостей
Автор: MiaZyw • Январь 3, 2023 • Отчет по практике • 2,418 Слов (10 Страниц) • 165 Просмотры
Индивидуальное задание
- Изучить поставленную задачу и выбрать набор данных, на котором будет производиться исследование и обучение модели.
- Исследовать и обработать набор данных
- Построить модель для оценки тональности мнений
- Тестирование и оценка качества построенной модели
- Подведение итогов
Описание задачи и технологии программирования
Во время прохождения производственной практики была поставлена задача построить модель машинного обучения для определения эмоциональной окраски финансовых новостей, т.е. определения является ли новость позитивной, негативной или нейтральной, а также изучить основные процессы обработки естественного языка.
Средой разработки был выбран Jupiter Notebook. Это самый популярный инструмент, применяемый в сфере машинного обучения и анализа данных, позволяющий работать с отдельными фрагментами кода. Все результаты пользователь Jupiter Notebook может контролировать и сразу видеть после выполнения каждой ячейки, что помогает продуктивней работать над задачей и исправлять мелкие ошибки по ходу выполнения программы.
[pic 1]
рис. 1. Среда Jupiter Notebook
Москва
2022
Разработка и тестирование программы
Описание используемых библиотек.
Анализ тональности, по сути, представляет собой исследование неструктурированных текстовых данных. Он включает в себя сочетание таких дисциплин, как статистика, обработка естественного языка (NLP) и машинное обучение (Machine Learning). Применяется для извлечения субъективной информации из текста.
Точный или детальный анализ текста состоит из анализа предложений по частям. В этом случае предполагается анализ отдельных фраз, и каждая часть анализируется в связи с другими. Такой анализ помогает понять, почему автор дал такую оценку объекту или теме.
Текущая задача предполагает получение только тональности текста по трём категориям: негативный, позитивный и нейтральный. Это первый шаг, который необходимо сделать, чтобы в дальнейшем можно было на основе полученной тональности извлечь более подробные данные по объекту.
В данной задаче будут использоваться следующие библиотеки:
- Numpy — предназначен для поддержки многомерных массивов и высокоуровневых математических операций над ними.
- Pandas — в дополнении с Numpy предоставляет специальные структуры данных и операции для манипулирования числовыми таблицами. Предназначен не только для сбора и очистки данных, но для задач анализа, моделирования и представления данных.
- Seaborn — библиотека визуализации данных Python, основанная на matplotlib . Он предоставляет высокоуровневый интерфейс для рисования привлекательных и информативных статистических графиков.
- Wordcloud - помогает узнать частоту появления слова в текстовом контенте с помощью визуализации.
- Nltk(Natural Language Toolkit) – библиотека для символьной и статистической обработки естественного языка. Содержит графическое представление, наборы готовых данных и многочисленные инструменты для анализа текста и его представления.
- Sklearn – широко используемый пакет для анализа данных и машинного
обучения. Содержит функции и алгоритмы для машинного обучения: классификации, прогнозирования, разбивки данных на группы, а также различные метрики для оценки качества обученной модели.
Алгоритм выполнения.
Основные этапы построения модели для оценки тональности мнений:
[pic 2]
1. Изучение данных
Набор данных взят с Kaggle под названием – Sentiment Analysis for Financial
News(ссылка в списке литературы). Содержит оценки заголовков финансовых новостей с точки зрения розничного инвестора.
[pic 3]
Рис.2 – набор данных
Набор данных содержит 4846 строк информации.
Применив функцию describe к данным, получим статистические оценки для анализа полноты информации.
[pic 4]
рис. 3. Применение describe()
...