Курсова робота Леньо Соломії з дисципліни Основи програмування.
politicians-talk - це система призначена для аналізу діяльність політиків Верховної Ради України, порівняння того, як змінюються їхні погляти та переконання із часом, та веб-сайт для зручнішої та кращої навігації результатами аналізу.
Вхідними даними системи є посилання на стенограми пленарних засідань ВРУ, які можна знайти у репозиторії, у файлах docs/stenograms_lists/skl[no]/stenograms_skl[no].list.
На виході системи - база даних data.db, яка містить інформацію із полів об'єктів Convocation, Politician та Idea.
Інтерфейсом для кращої взаємодії та навігації отриманими даними є веб-сайт link.
Процес аналізу політичних поглядів реалізований у класах Session, Analyser, Convocation, Politician та Idea.
Функціонал класу Session слугує своєрідним скелетом. У ньому реалізовані методи, для:
- парсингу стенограм,
- форматування даних,
- поділ на окремі репліки,
- створення об'єкту Analyser для проведення аналізу репліки,
- створення об'єктів Politician та оновлення їх полів.
Функціонал класу Analyser призначений для аналізу тексту за методом tf-idf (використовується реалізація tf-idf імплементована у бібліотеці scikit-learn).
Функціонал класів Convocation, Politician та Idea призначений для безпосередньої роботи із об'єктами даних класів. Зокрема, це:
- методи str,
- методи для створення лінії часу та рейтингу політичних ідей,
- методи для генерації календаря відвідуваності,
- тощо.
Підготовка середовища:
git clone https://github.com/solka13Lenio/politicians-talk.git
pip install virtualenv
virtualenv pt-env
source pt-env/bin/activate
pip install -r requirements.txt
cd docs/scripts
mkdir skl1 skl2 skl3 skl4 skkl5 skl6 skl7 skl8
cd ../..
Запуск головного модуля для аналізу та створення бази даних:
[disclaimer] Робота програми із даними усіх 8 скликань триває близько 4 годин.
python main.py
Запуск веб-сайту:
//code here
Програму можна запускати як і на усіх даних, як це прописано в модулі main.py, так і на частині даних. Посилання для парсингу стенограм є поділені за скликаннями та зберігаються у відповідних файлах у директорії docs/stenograms_lists/skl[no].