In the last years, dating apps have become more and more popular, and have caught the attention of researchers studying the interplay between new media technologies and society.
Studies have analyzed the motives driving people to use these apps, finding them ranging from casual sex to simply killing time, as well as involving romantic pursuits and other kinds of affiliation and information. Moreover, gender differences in app uses seem to be prominent, with men primarily pursuing hook-up sex, travelling and relationships, and women more prone to seek friendship and self-validation.
The aim of this project is to exploit the descriptive power of aspect-based sentiment analysis to try to automatically detect a polarity (and possibly an opinion) for these social impacting aspects. A complete description of the project is available in this report.
Three different models were conceived for this purpose:
- A rule-based/embeddings model, whose results can be visualized in syntax_lexicon.ipynb
- A TF-IDF/PMI model (pmi_tdfidf.ipynb)
- A BM25/BERT based model (bm25_bert.ipynb)
The models were evaluated on two datasets containing reviews about Tinder, Bumble and Hinge.
To run all the experiments, type the following commands:
virtualenv venv
source venv/bin/activate
pip install -U pip setuptools wheel
pip install -U spacy
python -m spacy download en_core_web_sm
pip install -r requirements.txt
You also need to download the two datasets from here and here and place them in a data/
folder. Before executing code in syntax_lexicon.ipynb, run:
python3 preprocess_spacy.py <app [tinder, bumble, hinge]>
This will create a set of spacy-preprocessed reviews for part-of-speech tagging, stored in a data/<app>_spacy
folder.