Git Product home page Git Product logo

emotional-rollercoaster's Introduction

Emotional Rollercoaster

Требования

Тестировалось на Python 3.9.7, вероятно будет работать на 3.7 и выше. Установка необходимых библиотек:

pip3 install -r requirements.txt

Выгрузка сообщений

Сначала необходимо выгрузить из ВК архив своих сообщений. Обратите внимание, что у вас должен стоять русский (не дореволюционный!) язык в ВК, иначе парсер не сможет обработать данные. Примерно через 3 часа этот архив можно будет скачать. Нужно его разархивировать.

Парсинг

Нужно запустить parse.py с указанием на путь к папке messages из архива и путь, по которому будут сохранены сообщения в формате json.

Например:

python3 parse.py Archive/messages messages.json

У parse.py есть дополнительные опции, список можно посмотреть с помощью python3 parse.py --help

Анализ

Нужно запустить score.py с указанием на путь к спарсенным сообщениям и путь для сохранения результатов сентимент анализа. Первый запуск займет дольше остальных, потому что сначала скачается языковая модель (примерно 80 мегабайт).

python3 score.py messages.json scores.csv

У скрипта есть в основном аналогичные parse.py опции. Но score.py по умолчанию анализирует только ваши сообщения, чтобы проанализировать все (не рекомендуется, в данный момент визуализация не поддерживает фильтрацию по пользователю) используйте -s all. По умолчанию используется модель для определения позитивности, для определения токсичности (чем больше значение тем токсичнее сообщение) используйте -m toxic.

Визуализация

python3 plot.py scores.csv

Можно вписать несколько csv файлов через пробел, все они отобразятся на одном графике.

У скрипта есть опция -w, регулирующая ширину (по времени) скользящего среднего. По умолчанию -w 30D (30 дней). Также сработают опции вида -w 10H или -w 10S.

Стоит поэкспериментировать с этой настройкой: при слишком большом значении теряется точность графика, при слишком маленьком теряется гладкость.

В периоды, в которые попадает небольшое количество сообщений, могут наблюдаться большие выбросы значений.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.