Web sitemizde size en iyi deneyimi sunmak için çerezleri kullanıyoruz. Hangi çerezleri kullandığımız hakkında daha fazla şey öğrenmek için Gizlilik
Onayla
Türker UZUNTürker UZUN
  • VERİ ANALİZİ
    • Veri Analiz Aşamaları
    • Pandas
    • CRM Analitiği
    • Makine Öğrenmesi
    • Ölçümleme Problemleri
    • Özellik Mühendisliği
    • Tavsiye Sistemleri
    • BI Araçları
  • LLM – AI
  • METODOLOJİ
  • PROGRAMLAMA
  • BLOG
  • DİZİ & FİLM
  • İLETİŞİM
Reading: Sentiment(Duygu) Analizi – Twitter Verisi ile NLP Uygulama Örneği
Paylaş
Aa
Türker UZUNTürker UZUN
Aa
  • VERİ ANALİZİ
  • LLM – AI
  • METODOLOJİ
  • PROGRAMLAMA
  • BLOG
  • DİZİ & FİLM
  • İLETİŞİM
Ara...
  • VERİ ANALİZİ
    • Veri Analiz Aşamaları
    • Pandas
    • CRM Analitiği
    • Makine Öğrenmesi
    • Ölçümleme Problemleri
    • Özellik Mühendisliği
    • Tavsiye Sistemleri
    • BI Araçları
  • LLM – AI
  • METODOLOJİ
  • PROGRAMLAMA
  • BLOG
  • DİZİ & FİLM
  • İLETİŞİM
Follow US
Türker UZUN > Blog > Veri Analizi > Python Veri Analizi > Sentiment(Duygu) Analizi – Twitter Verisi ile NLP Uygulama Örneği
Python Veri Analizi

Sentiment(Duygu) Analizi – Twitter Verisi ile NLP Uygulama Örneği

5 Min Read
Paylaş
5 Min Read
wordcloud oluşturma, python veri analizi, python twitter analysis, sentiment analiz, nlp, lda modelling
wordcloud oluşturma, python veri analizi, python twitter analysis, sentiment analiz, nlp, lda modelling

Geçtiğimiz haftalarda Koç Üniversitesi, GESIS, ISI Foundation ve Social Comquant iş birliğinde yapılan “Text Mining ve NLP” temalı 2022 yaz okuluna katılma fırsatım oldu. Program, Türkiye’de sayısal ve nicel araştırma yöntemlerinin geliştirilmesi için Avrupa Komisyonu tarafından finanse edilen bir program özetle. Almanya’dan GESIS – Leibniz Sosyal Bilimler Enstitüsü, ISI – Bilimsel Değişim Enstitüsü ve Koç Üniversitesi ile ortaklaşa yürütülüyor.

Bu süreçte bizlere ders veren hocalarımız Malak Abdullah, N. Gizem Bacaksızlar Turbic, Ali Hürriyetoğlu, Arnim Bleier, Ayşe Lokmanoğlu, PhD Yelena Mejova, André Panisson ve Gözde Gül Şahin‘e teşekkür ederim. Yeni şeyler duymak, bu atmosferi deneyimlemek güzel oldu, yararlı bilgiler edindim. Hocalarımızdan daha öğrenecek çok şeyler var, iş hayatımdan fırsat buldukça eğitimlerini ve içeriklerini takip etmeye çalışacağım. Sadece proje kodlama ve analiz becerisi yetmiyor, veri bilimcisi olacaksanız literatüre hakim olmak ve bu işi kitabına göre ele almak da oldukça önemli.

Yaz okulu sürecinde gruplar oluşturularak projeler verildi. Benim bulunduğum gruba da 2020 Nisan ayına ait bir diyet verisi denk geldi bu veri üzerinde bazı özet araştırmalar yaptım. Fikirleriyle yardımcı olan arkadaşlarıma da teşekkürler.

Kendi araştırma kodlarım biraz daha detaylı ve bana özel, ancak deneyimlemek isteyen öğrenmek isteyenler için bu şekilde temel bazı uygulamaları ele aldım. Bu veriler ışığında kendi özet tablolarınızı, grafiklerinizi oluşturabilirsiniz. Burada amaç sadece bazı modüllerin nasıl kullanıldığını göstermek. Veriyi ele alış şekli de oldukça önemli. Ben twitter verisinden spam/flood olabilecek duplicate içerikleri yakalayıp sildim, çünkü ana temam gerçek düşüncelerdi manipule edilmesini istemedim. Eğer bunları çıkarmasaydım amp supplement, jellyfish benzeri bir çok aynı içerikle basılmış reklam metnini de analize katmış olurdum vs… (Belki ayrıca reklam içerikleri diye kategorize edilerek gösterilebilir..)
300k dan 174k ya indirdim, ama başkaları bu içerikleri de dahil etmişti, yani sizin bakış açınız ve ulaşmak istediğiniz şeye göre değişir.

Contents
Python KütüphaneleriLoad PackagesDATA KONTROLÜ VE ÖZET GÖRÜNÜMSTEM WORDS + LEMMATIZE + NGRAMS OLUŞTURMAWORDCLOUD OLUŞTURMASENTIMENT ANALİZ – DUYGU ANALİZİ – METİNDEN DUYGUSAL ANALİZ ÇIKARMALDA MODEL İLE AKILLI KONU ETİKETLERİ OLUŞTURMAHASHTAG DUYGUSAL ANALİZİ – SENTIMENTTWEET İÇİNDEKİ EMOJİLERİN DUYGUSAL ANALİZLERİ

Python Kütüphaneleri

Use the package manager pip to install foobar.

pip install nltk
pip install wordcloud
pip install sklearn
pip install pandas
pip install chardet
pip install textblob
pip install gensim
pip install scipy
pip install PIL
pip install pattern
...

Load Packages

import pandas as pd
import numpy as np
import chardet
import re
import openpyxl
import string
import nltk
from nltk.corpus import stopwords
from nltk.stem import PorterStemmer,WordNetLemmatizer
from pattern.text.en import spelling
from pattern.text.en import suggest
from nltk.sentiment.vader import SentimentIntensityAnalyzer 
from textblob import TextBlob
import gensim
import pyLDAvis.gensim_models
import statistics as st
from scipy.stats import stats,mode
from wordcloud import WordCloud, STOPWORDS, ImageColorGenerator
from PIL import Image
import matplotlib.pyplot as plt

DATA KONTROLÜ VE ÖZET GÖRÜNÜM

STEM WORDS + LEMMATIZE + NGRAMS OLUŞTURMA

NLTK kütüphanesi kullanarak stopwords ve regex ile temizlediğimiz verimizi kelime köklerine(stem) ve gövde başlarına(lemma) göre parçalıyoruz. Daha sonra ngram ilişkisi ile n sayıda bağlantılı ifadelerini listeliyoruz. Ben burada 2 ngram kullandım ihtiyaca göre azaltıp artırabilirsiniz.

WORDCLOUD OLUŞTURMA

Tokenize ettiğimiz ifadeleri yoğunluklarına göre bir wordcloud da birleştiriyoruz. Ben burada biraz incelediğim veriden dolayı twitter kuşuna yerleştirmeyi tercih ettim. Wordcloud nasıl oluşturulur, örnek kodlar için github hesabımı takip edebilirsiniz.

SENTIMENT ANALİZ – DUYGU ANALİZİ – METİNDEN DUYGUSAL ANALİZ ÇIKARMA

Firmaların, yöneticilerin belki de son zamanlarda dilinden düşmeyen ifade “Sentiment Analizi”. Burada tweet dataframe de yer alan clean_text yani temizlediğimiz metinleri duygu analizine alıyoruz. Testlerimde Textblob ve NLTK Vader kütüphanesini kullandım. Daha farklı analiz kütüphaneleri var. Temel anlamda kullanımını öğrenmek için github.com/turkeruzun adresini ziyaret edebilirsiniz.

LDA MODEL İLE AKILLI KONU ETİKETLERİ OLUŞTURMA

Latent Dirichlet Allocation (LDA), doğal dil işlemede kullanılan her dokümanın bir konu koleksiyonu kabul edildiği ve belgedeki her kelimenin konulardan birine karşılık geldiği en basit kabul edilen bir konu modelleme örneğidir. Sıkça kullanıldığını gözlemlediğim için bu modellemeyi tercih ettim. Bu dinamik gösterge için ise pyLDAvis kütüphanesini kullandım.

pyLDAvis , kullanıcıların konuları bir metin verisi bütününe uygun bir konu modelinde yorumlamalarına yardımcı olmak için tasarlanmıştır. Paket, etkileşimli bir web tabanlı görselleştirmeyi bilgilendirmek için yerleşik bir LDA konu modelinden bilgi alır.

HASHTAG DUYGUSAL ANALİZİ – SENTIMENT

TWEET İÇİNDEKİ EMOJİLERİN DUYGUSAL ANALİZLERİ

Emojilerin sentiment analizleri o kadar da kolay değil, hazır kütüphaneler var ancak çokca emoji arkaplandaki tabloda kayıtlı olmadığı için sürekli hata alırsınız. Temel emojilerde işlemler için kütüphaneler uygun. Ben kendime göre kütüphaneyi genişlettim ve kullanıyorum. Ancak, bu örnekte bazı emojileri tabloda olan yakın emojilerle replace ederek çözüm üretmiştim.

Generic badge
Generic badge
Made with Python

Detayları github hesabımdan inceleyebilirsiniz.

ETİKETLER: doğal dil işleme, lda model, nlp, Python, sentiment analiz, Veri Analizi
Editor Ağustos 6, 2022
Paylaş
Whatsapp Whatsapp LinkedIn Email Copy Link
What do you think?
Love1
Sad0
Happy0
Sleepy0
Angry0
Dead0
Wink0

Son Yazılar

  • LangChain Tool Tanıtımı (Kategorik)
  • Flowise Tool Node Tanıtımı
  • Flowise – Hazır Chatflow Akışları
  • Flowise – Hangi Node Ne Zaman Kullanılır?
  • Flowise Eğitimi – Node’ları Tanıyalım

Takip Et

Sponsor Linkler

İlginizi Çekebilir

Langchain
LLM - AI AJANLARWorkflow & Agent Tasarım Araçları

LangChain Tool Tanıtımı (Kategorik)

LLM - AI AJANLARWorkflow & Agent Tasarım Araçları

Flowise Tool Node Tanıtımı

LLM - AI AJANLARWorkflow & Agent Tasarım Araçları

Flowise – Hazır Chatflow Akışları

LLM - AI AJANLARWorkflow & Agent Tasarım Araçları

Flowise – Hangi Node Ne Zaman Kullanılır?

Türker UZUNTürker UZUN
Takip Et

Veri Analizi, ETL Süreçleri, Makine Öğrenimi, Doğal Dil İşleme Projeleri, Python Dersleri, Python Blog, Teknoloji Yazarı, AI Agents

Removed from reading list

Undo