Uygulama, Teknofest 2023 Doğal Dil İşleme yarışması kapsamında geliştirilen, Türkçe metinler üzerinde derinlemesine analizler gerçekleştirmenize olanak tanıyan, kullanıcı dostu ve güçlü bir sosyal medya analitikleri platformudur. 👨💻📊🔍
Uygulama, popüler sosyal medya platformu Twitter üzerinden belirli bir hashtag ile ilişkilendirilmiş tweet'leri toplama, analiz etme ve anlık gösterim yeteneklerine sahiptir. Bu sayede, kullanıcılar sosyal medya trendlerini, kullanıcı davranışlarını ve içerik türlerini daha iyi anlayabilir ve etkili stratejiler geliştirebilirler.
Uygulama #hastagh hakkındaki sosyal medya tartışmalarını anında görüntüleyen ve bu tartışmaların çeşitli kategorilerde hakaret içerip içermediğini belirleyen ve eğer içeriyorsa, metnin hangi kelimelerinin o hakaret kategorisinde değerlendirildiğini gösteren bir uygulamadır. 💬👀💭
Uygulama, BERT tabanlı dönüşüm modelleri kullanarak Türkçe metinlerin analizini yapmaktadır. Sunduğumuz ürün kapsamında İstenmeyen İçerik Analizi bölümü gerçekleştirilmiştir. Ek olarak, Rakip Analizi, Kullanıcı Duruş Analizi ve Takip Analizi gibi çeşitli analitik modüller yer almaktadır. Hedefimiz, gelecekte bu modülleri ticari olarak daha kullanışlı bir yapı haline getirmektir.
Uygulamanın Ekran Resmi |
---|
Modül | Açıklama | Durum |
---|---|---|
İstenmeyen İçerik Analizi | Bu modül, kötü anlam taşıyan veya saldırgan içerikleri tespit ederek, sosyal medya yöneticilerine iletişim stratejilerini optimize etme imkanı sağlar. Kullanılan model, beş farklı kategoriye ayrıştırarak Türkçe metinleri sınıflandırmak için eğitilmiştir. Bu kategoriler INSULT (HAKARET), OTHER (DİĞER), PROFANITY (KÜFÜR), RACIST (IRKÇI) ve SEXIST (CİNSİYETÇİ) olarak tanımlanmıştır. Modelin performansı, precision, recall ve F1-score gibi metrikler kullanılarak değerlendirilmiştir. | Gerçekleştirildi ✅ |
Rakip Analizi | Kullanıcılar için rakip markaların ve kişilerin sosyal medya performansını ve etkileşimlerini analiz eder. Bu sayede, sektördeki alınacak aksiyonları ön görmeye yardımcı olur. Rakip analizi, gelişmiş metrikler ve sosyal medya analitiği ile şikayet vardan cron joblar ile alınan veriler üzerinde gerçekleştirilecektir. | Henüz Planlanıyor ⏳ |
Kullanıcı Duruş Analizi | Kullanıcıların sosyal medyadaki etkileşimlerini ve duyarlılıklarını değerlendirir. Bu analizlerle, daha hedef odaklı iletişim stratejileri geliştirmelerine katkıda bulunur. Duruş analizi için duygu analizi ve metin sınıflandırma algoritmaları kullanılır. | Henüz Planlanıyor ⏳ |
Takip Analizi | Kullanıcıların takip ettikleri kişiler ve etiketlerin analizini gerçekleştirir. Hedeflenen bir graph model, firmaların sosyal medya üzerinde kendilerini muhattap alan postların ilişkili olduğu postlar arasında bir alaka kurmayı hedeflemektedir. | Henüz Planlanıyor ⏳ |
İçerik Analizi Uygulamasının Yaşam Döngüsü |
---|
- 1.) Twitter Hashtag Following Stream Job: İş akışı başlangıçta buradan stream(akan) verinin RDS PostgreSQL Veritabanına kaydedilmesiyle başlamaktadır.
- 2.) Social Content Anaylsis: Twitter Hashtag Following Stream Job Üzerinden gelen veri Model Service Üzerinden
multilabel-prediction
Endpoint'ine/POST
isteği göndermektedir. Dönen cevap uygulamanın arayüzünde analiz sonucu olarak yansıtılmaktadır. - 3.) Model Service: Model servisi social content analysis app'ten gelen isteği preprocessing micro servisinin
/preprocess
Endpoint'ine/POST
isteği göndermektedir. Aşağıda belirtilen parametrik yapı özelinde veri ön işleme işlemleri gerçekleştirilmektedir:
# Bu parametrelerin açılımına, Preprocessing Micro Service README.md Dosyası üzerinden ulaşabilirsiniz:
tr_chars: bool = True,
acc_marks: bool = True,
punct: bool = True,
lower: bool = True,
offensive: bool = True,
norm_numbers: bool = True,
remove_numbers: bool = False,
remove_spaces: bool = True,
remove_stopwords: bool = True,
min_len: int = None,
- 4.) Preprocessing Micro Service: Model servis üzerinden gelen parametrik istek doğrultusunda veri ön işleme adımlarını Turkish-Mintlemon-NLP Kütüphanesi kullanılarak verileri çeşitli veri ön işleme adımlarına tâbi tutmaktadır. Ardından temiz veriler response(cevap) olarak model servise döndürülmektedir.
Ana teknolojiler:
- PostgreSQL - AWS RDS PostgreSQL Veritabanı
- Python - Python sürümü: 3.10
- SQLAlchemy - SQLAlchemy sürümü: 2.0
- Bootstrap - Bootstrap sürümü: 5.0
Lütfen Python sürümünüzü 3.10
olarak ayarlayın:
python --version
- Virtualenv kurulumu:
pip install virtualenv
- Virtualenv oluşturma:
virtualenv venv
- Virtualenv'i aktif hale getirme:
source venv/bin/activate
- Kütüphanelerin kurulumu:
pip install -r requirements.txt
.env
dosyanızı oluşturun.
cd <project-directory>
touch .env dosyasına ortam değişkenleri ekleyin.
- Add environment variables into
.env
file
* HASHTAG=#hashtag
* DATABASE=postgresql
* HOST=localhost
* USERNAME=postgres
* PASSWORD=postgres
* PORT=5432
python app.py