Doğal dil işleme ve veri madenciliği  kullanarak tvitler üzerinden film derecelendirilmesi
Movie rating on tweets using natural language processing and data mining
Yazar: ABDOULAZIZ ABDOUKARIM
Danışman: DOÇ. DR. BARIŞ KOÇER
Selçuk Üniversitesi / Fen Bilimleri Enstitüsü / Bilgisayar Mühendisliği Ana Bilim Dalı
Derece: Yüksek Lisans, 2019
Konu: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol = Computer Engineering and Computer Science and Control

Özet:
Duygu Analizi (DA), metin madenciliği alanında devam eden bir araştırma dalıdır. DA, metnin görüş, duygu ve öznelliklerinin hesaplanması olarak da ifade edilebilir. Bu çalışmada DA, DA yaklaşımları, film değerlendirmesi ve film başarısı tahmini konularını ele alınmıştır. Bu amaçla çok sayıda teknik kullanılmıştır. Bu çalışmada makine öğrenim yöntemlerine ve twitter film incelemesinde uygulanan denetimli öğrenim yöntemlerine odaklanılmıştır. Bu çalışma ile, makine öğrenimi (MÖ) tekniklerini temel alan hesaplama yöntemlerinin geliştirilmesi önerilmiştir. Model oluşturmak ve oluşturulan bu model ile kişilerin görüşlerini sınıflandırmak için kullanılan alogritmalara girdi olarak Bag of Words'dan (BoW) gelen özellikleri kullanan bazı teknikler uygulanmıştır. BoW kelimelerden oluşan bir model, modellemede kullanım için, örneğin makine öğrenme algoritmaları gibi metinden özellikler çıkarmanın bir yoludur. Ön işleme süreci, özellik çıkarma ve önceden etiketlenmiş gözlemler ile sistemin eğitiminden oluşur. Oluşturulan modeller, yeni gözlemlerin duygularını tahmin etmek için kullanılmıştır. Vectorization kullanarak özellikleri çıkarılmıştır. Önişleme için, Regex ve Pandas gibi python kütüphaneleri kullanılmış ve tweet'leri bağlantılardan, özel karakterlerden, çift tweet'lerden vb. Temizlemeye yardımcı olmuştur. Amaç, ifade edilen bir görüşün olumlu mu yoksa olumsuz mu olduğunu bulmaktadır. Scikit-learn araçları bu amaç için kullanılmıştır. Önce modeller oluşturulup eğitilmiştir. Son olarak test veri setinin sınıfları tahmin edilmiştir. Test veri setinin duygusunu sınıflandırmak için, eğitim veri seti örneklerinin % 75'i eğitim seti olarak, % 25'i validasyon seti olarak kullanılmıştır. İlgili özellikler seçildikten sonra karar ağacı, gradyan artırma, lojistik regresyon ve rastgele orman sınıflandırma algoritmaları ile tek tek eğitilip sırasıyla % 70.88, % 81.86, % 85.66 ve % 85.36 doğruluk oranları elde edilmiştir. Bu yöntemlerin performansları, karışıklık matrisi kullanılarak karşılaştırılmıştır. Sonuçlar, Matplotlib ve Seaborn kütüphaneleri kullanılarak çizilmiştir. Duygu analizinden elde edilen bulgular, daha sonra film değerlendirmesi için kullanılmıştır. IMDB (veya İnternet Film Veri Tabanı, dünyadaki tüm ülkelerin ve dönemlerin film değerlendirmesi ve televizyon filmleri, film yıldızları ve TV dizileri hakkında çevrimiçi bilgi veritabanıdır) ve Rotten Tomatoes (ya da Çürük domates, film eleştirmenleri, film değerlendirmesi, oyuncular, yönetmenler, fragmanlar ve sinema haberleri için yerel bir web sitesidir) ile karşılaştırıldığında oldukça iyi sonuçlar elde edilmiştir.

Abstract:
Sensitivity Analysis (SA) is an ongoing field of research in the field of text research. SA is the computational functioning of the text's view, emotion and subjectivity. In this study, we talk about SA, SA approaches, movie rating and movie success prediction. For this purpose, a large number of technics have been used to do SA. In our case we focus on machine learning methods and using the supervised learning methods applied on movie review on twitter. Through this project, we proposed the development of computational methods that are based on Machine Learning (ML) technics. We implement some technics that uses features got from bag of word (BoW) as input for our alogrithms in order to build model and then to classify the opinion of individuals. A bag-of-words model is a method of features extraction from text and those features will be used in modeling, such as with machine learning algorithms It consists of preprocessing, extracting features and training pre-labelled observations. The models built, were used to predict the sentiment of new observations unseen by them. We extracted features using vectorization. For preprocessing, libraries of python such us Regex and Pandas were used and helped to clean tweets from links, special characters, duplicate tweets etc... To perform the SA, the model built was used to automate the classification of sentiment from typically unstructured text. The goal is to find out whether an expressed opinion is positive, or negative. Scikit-learn tools were used for that purpose. We first import the models, then train them and finally predict the class of the test set. To classify the sentiment of the test set, 75 % of the samples were used as training set and 25% of the samples as validation set. After selecting the relevant features, the decision tree, gradient boosting, logistic regression and random forest classifiers have been applied, trained and we have obtained accuracy respectively 70.88%, 81.86%, 85.66% and 85.36%. We have been able to compare their performance using confusion matrix. The result were plotted using some Matplotlib and Seaborn libraries. The results got from the SA were then used for movie rating. And the results obtained when compared them with IMDB (it is an online database of information on film rating and television films, film stars and TV series of all countries and periods of the world. and Rotten Tomatoes (it is a local website for film critics, film rating, actors, directors, trailers and cinema news) were pretty good.