Цель проекта - анализ тональности твитов.
Для сообщений пользователей из тестового набора, необходимо предсказать с максимально возможным результатом, является ли тональность твита положительной, отрицательной или нейтральной.
При этом, необходимо:
-
Подготовка данных Для получения эмбеддигов, обработать исходные сообщения, используя различные подходы:
just tokenization -- stemming -- lemmatization -- stemming+misspellings -- lemmatization+misspellings -- any other ideas of preprocessing || 0 or 1, if word exists -- word count -- TFIDF -
Определение сходства Среди датасетов, полученных в результате использования различных подходов к предварительной обработке данных, с помощью косинусного сходства, найти 10 наиболее похожих пар твитов
-
Машинное обучение Провести анализ тональности сообщений, используя разные алгоритмы машинного обучения и наборы данных, полученных в результате использования различных подходов к предварительной обработке. Результат оценки предсказания (accuracy) на тестовом датасете должен иметь минимальную точность 0.832
-
Bonus:
- Использовать иные методы для векторного представления слов (например, word2vec)
- Результат оценки предсказания (accuracy) на тестовом датасете должен иметь минимальную точность 0.873
Замечания: При необходимости, при подготовке данных можно использовать различные способы очистки данных, включая исключение незначащих стоп-слов.
Для копирования файлов Проекта на локальный компьютер в папку <your_dir_on_local_computer> выполните:
$ git clone git@github.com:dbadeev/tweets.git <your_dir_on_local_computer>
- tweets.pdf - текст задания
- requirements.txt - список библиотек, необходимых для работы
- Папка data
- processedNegative.csv - файл с твитами негативной тональности
- processedNeutral.csv - файл с твитами нейтральной тональности
- processedPositive.csv - файл с твитами позитивной тональности
- tweets.ipynb - ноутбук проекта
- text_cleaninig.py - утилиты "чистки" текста твитов
- text_processing.py - утилиты векторизации текста твитов
- w2v_ml.py - утилиты векторизации с помощью Word2Vec и предварительно обученных моделей представления векторов слов
- cosine_similarity.py - утилиты вычисления косинусного сходства векторов представлений слов
- machine_learning.py - утилиты нахождения оптимальных параметров различных моделей машинного обучения для подсчета accuracy с помощью GridSearch
- Папка res
- cos_sim.csv - файл с 10 наиболее схожими парами твитов среди датасетов, полученных в результате использования различных подходов к предварительной обработке данных
- df_df_prep.csv - файл с твитами, полученными в результате использования различных подходов к предварительной обработке данных
В файле tweets.ipynb приведена пошаговая реализация проекта с пояснениями и промежуточными результатами.
loram (Дмитрий Бадеев)
gdorcas (Татьяна Смирнова)