This project aims to analyze user behaviors and preferences in a dating app using Natural Language Processing (NLP), Machine Learning, and Behavioral Analytics. The ultimate goal is to provide data-driven insights that enhance user experience and match-making accuracy.
- Understand user behaviors through NLP and sentiment analysis.
- Perform clustering to identify user personas.
- Build a chatbot that provides insights on user profiles based on their attributes.
- Source: Datasets consist of user-generated responses and profile information from a dating platform and an independent survey.
- Size: ~60,000 user profiles.
- Features:
- Demographics: Gender, age, height, education, income, smoking/drinking habits, etc.
- Behavioral Insights: Ghosting experience, dating preferences, punctuality, etc.
- NLP Features: User-written essays about self-summary, favorite activities, values, etc.
- Combined all text-based fields into a unified "user_profile" column.
- Cleaned and lemmatized text for NLP tasks.
- Handled missing values and categorical encodings.
- Used BERT transformer model to generate embeddings.
- Applied KMeans clustering to group users based on their text similarity.
- Extracted behavioral tendencies (respect, ethics, communication, growth) from text using keyword-based and deep learning methods.
- The chatbot analyzes a user's profile and provides insights & predictions.
- Implemented using OpenAI GPT API for personalized recommendations.
-
Python (Pandas, NumPy, Matplotlib, Seaborn)
-
NLP Models: BERT, Sentence-Transformers
-
Machine Learning: Scikit-Learn (KMeans)
-
Chatbot: OpenAI GPT API
- Implement real-time behavioral analysis in a dating app.
- Improve chatbot explanations by integrating external behavioral psychology research.
- Optimize NLP embeddings to reduce processing time.
- Apply Deep Learning-based sentiment analysis to refine emotional tendencies further.
- Understand how to apply behavioral tendencies to the model.
For more details, contact Selinsight or open an issue in the repository!