This project was conducted by a team of researchers working at the Center on Terrorism, Extremism, and Counter Terrorism at the Middlebury Institute of International Studies at Monterey.
These resources were developed in order to perform research into the Wagner Group in Russia. They serve as a means of replicating the data found in the corresponding paper.
All important Python scripts are included in src/
.
...
├─ src/
│ ├─ db.py <- storing and pulling from the database
│ ├─ establishing_timeline.py <- plotting Graph 1
│ ├─ groups.py <- storing information in groups table
│ ├─ main.py <- main controller
│ ├─ posts.py <- controller for navigating VK API related to posts and comments
│ ├─ sentiment_analyzer.py <- controller for sentiment analysis model
│ ├─ text_frequency.py <- plotting Graph 2
...
As part of our exploratory analysis of VK communities related to Wagner, we recorded some screenshots, as well as a link to the context.
- 1.png: Comment about moderating the group because there are too many Nazies among members
- 2.png: Mother who is proud of her deceased son who fought for Wagner
- 3.png: Сима-ленд - Sima-Land Russian online retail shop, allegedly related to Wagner. Post is about Wagner-support flash mob in the company’s headquarters
- 4.png: Every country has its own values meme
- 5.png: Вы лучшие - you’re the best
- 6.png: Красавцы - literally handsome, meaning “well done,” a poem to Wagner
- 7.png: Cat in the barracks - positive image creation
- 8.png: Another Cat
- 9.png: Wagner celebrates the end of the operation “Barkhane” in Mali
- 10.png: Wagner statistics: 2000+ photos with saved children, 500 rescued animals, prisoner amnesty
- 11.png: ЗП - paycheck - Complaint about not being paid
In order to replicate the results in the paper, you will need to install all necessary dependencies. These dependencies have been helpfully summarized in requirements.txt
. (The following instructions assume you've initialized a PostgreSQL database to store all of the content. Official instructions on using PostgreSQL can be found here.)
- Clone the repository by opening a Terminal window and entering:
$ git clone https://github.com/moonstripe/ctec_wg_research_resources_1.git
- Change directory into the cloned repository and initialize your virtual environment with the following command:
$ cd ctec_wg_research_resources_1
$ python3 -m venv venv
- Activate your new virtual environment by entering:
$ source venv/bin/activate
- Install the dependencies from the requirements file:
$ pip install -r requirements.txt
- Create and populate a .env file with your VK access token, and database information.
$ touch .env
$ echo "VK_APP_TOKEN={your access token}" > .env
$ echo "DB_HOST={your database host}" >> .env
$ echo "DB_NAME={your database name}" >> .env
$ echo "DB_USER={your database username}" >> .env
$ echo "DB_PASS={your database password}" >> .env
-
To pull all post from a group, edit the
main.py
script under theif __name__ == "__main__":
guard, replacing the value with the name of the VK group you're interested in. The script will pull a lot of data, and then apply an intensive sentiment analysis model to it. Make sure your computer can handle such operations. -
Pull information from the database using SQL commands or psql.