Türkçe hedef tabanlı duygu analizi için alt görevlerin incelenmesi–hedef terim, hedef kategori ve duygu sınıfı belirleme
Inspecting sub tasks of aspect based sentiment analysis in Turkish language–opinion target expression, aspect category and sentiment polarity detection
Yazar: FATİH SAMET ÇETİN
Danışman: YRD. DOÇ. DR. GÜLŞEN ERYİĞİT
İstanbul Teknik Üniversitesi / Fen Bilimleri Enstitüsü / Bilgisayar Mühendisliği Ana Bilim Dalı / Bilgisayar Mühendisliği Bilim Dalı
Derece: Yüksek Lisans, 2017
Konu: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol = Computer Engineering and Computer Science and Control

Özet:
Sosyal medya ve Web 2.0'ın ortaya çıkması ile birlikte üretilen bilgi, geçmiş zamana oranla çok daha büyük bir boyuta gelmiştir. Üretilmekte olan verinin çok büyük oranını doğal dilde yazılmış olan yazılı içerikler oluşturmaktadır. Bu boyuttaki verinin analiz edilerek anlamlı bilgilerin çıkarılması her geçen gün yeni çalışmaların yolunu açmaktadır. Duygu analizi de bu çalışmalar arasında yer almaktadır. Duygu analizi, doğal dilde yazılmış olan içeriklerin sahip oldukları duygunun veya görüşün bulunması olarak tanımlanmaktadır. Literatürdeki çalışmalarda doküman ve cümle seviyesinde de incelenen duygu analizinin en detaylı hali hedef tabanlı duygu analizidir.
Çalışmamızda konu edindiğimiz hedef tabanlı duygu analizinin çeşitli tanımlamaları mevcuttur. Bu tanımlamalar arasında en net olanı Semeval (Semantic Evaluation) çalıştayı kapsamında düzenlenen Hedef Tabanlı Duygu Analizi (ABSA) yarışmasında ifade edilmiştir. Oldukça yapısal olan ve çokça kabul gören bu tanımlama sebebiyle çalışmamızda ABSA yarışmasına ait alt görevler takip edilmiştir. Bu görevlerin amacı, cümlelerdeki görüşlerin ayrı yapılar halinde çıkarılmasını sağlamaktır. ABSA yarışmasında bu yapılara "duygu tanımlama grubu" adı verilmektedir. Bir cümleden üretilmiş olan her bir duygu tanımlama grubu ayrı bir görüşü ifade etmektedir. Bir duygu tanımlama gurubu 3 farklı bilgiden oluşmaktadır. Bunlar; hedef terim, hedef kategori ve duygu sınıfıdır. Duygu tanımlama gruplarının otomatik çıkarılabilmesi için; hedef terim, hedef kategori ve duygu sınıfı bilgilerinin ayrı ayrı tespit edildiği sistemler tasarlanmış ve sonuçları raporlanmıştır. 
Hedef terimin tespiti için ortaya koymuş olduğumuz yöntem, dizilim sınıflandırma algoritmalarından rastgele koşullu alanlar (conditional random fields) algoritmasının kullanıldığı bir yöntemdir. Bu amaçla, farklı özellikler ve farklı dizilim tipleri çalışmalarımızda sınanmış ve sonuçları raporlanmıştır. En başarılı sistem, kelime vektörlerinin özellik olarak kullanıldığı ve dizilim için bağlılık ağacındaki ilişkilerin kullanıldığı senaryo olmuştur. Bu senaryoda %53,12'lik bir başarım yakalanmıştır. Yapmış olduğumuz testlerde ortaya çıkan en önemli çıkarım, bağlılık bilgisinin ve kelime vektörlerinin Türkçe verilerde önemli katkı sağladığı yönündedir. Çünkü Türkçe serbest dizilimli bir dildir ve kelimelerin sıralarından çok aralarındaki ilişkilerin bulunması önem arz etmektedir. Diğer yandan kelime vektörlerinin katkı sağlamış olmasının en büyük sebebi, veri kümesinin kısıtlı bir veriden oluşmasıdır. Bu sebeple test esnasında tüm kelimelerin eğitim verisinde karşılaşılmamış olması sistemin görmediği kelimelerde yanlış karar verme ihtimalini doğurmaktadır. Kullanılan özellikler dışında, dizilim sınıflandırmada ne tür etiket kategorilerinin kullanılması gerektiğine dair denemeler de çalışmamızda yer bulmuştur. Etiket kategorileri olarak üç farklı tür denenmiştir. Bu türlerden ilki, IOB adı verilen bir işaretleme standardıdır. Bu türde kelime hedef terim ise temsil ettiği hedef kategorinin adı ve bulunduğu koordinatı gösteren ["I", "B"] harflerinden biri ile etiketlenir. İkinci türde, kelime hedef terim ise yalnızca temsil ettiği hedef kategori ile etiketlemektedir. Son türde ise hedef kategori bilgisi bulunmayan, yalnızca kelimenin hedef terim olup olmadığını gösteren ["1", "0"] etiketleri kullanılmıştır.. Bu etiket türlerinden en başarılı olanın IOB standardındaki etiket türü olduğu raporlanmıştır. 
Hedef kategori tespiti, bir çok araştırma tarafından sıradan bir sınıflandırma problemi olarak görülmektedir. Çalışmamızda Türkçe veri kümesinden en başarılı sonuçların, hedef terim için önermiş olduğumuz sistem tarafından üretilen sonuçların ortaya koyduğu gösterilmiştir.  Hedef terim tespiti için en başarılı etiketleme türü olan IOB standardındaki etiketleme türü, aynı zamanda hedef kategoriyi de verebildiği için bu aşamada da kullanılabilmiştir. Ve en başarılı sonucu %66.66'lık bir skorla bu sistem vermiştir. 
Bir diğer görev, hedef kategori ve hedef terimin aynı anda tespit edilmesidir. Bu aşamada hem hedef terim belirlemede hem de hedef kategori tespitinde önermiş olduğumuz dizilim etiketleme yöntemi oldukça başarılı sonuçlar üretmiştir. Bu alt görev için sistemimizin vermiş olduğu skor %46,67'dir.
Duygu sınıfının belirlenmesi ise son görev olarak tanımda yer almaktadır. Bir duygu tanımlama grubunda yer alan hedef terim ve hedef kategoriye dair söylemdeki duygu sınıfının bulunması ve duygu tanımlama gurubuna yerleştirilmesi amaçlanmaktadır. Bu görev için ortaya koyduğumuz en başarılı sistem, bir lineer bir sınıflandırma sistemidir. Yaklaşımımızda eğitim verisini oluşturan örneklerdeki tüm duygu tanımlama grupları bir örnek olarak temsil edilmiş ve ait oldukları cümle ile birlikte eğitim sistemine dahil edilmişlerdir. Hedef terim ve hedef kategorilerin kategorik olarak temsil edildiği özelliklere ek olarak cümlenin barındırdığı tüm kelimelerin kökleri kelime çantası yaklaşımı ile özellikler de kullanılmıştır.  Bu sınıflandırma sistemi, eğitim verisindeki kelimeleri, hedef terimi ve hedef kategoriyi özellik olarak almıştır.Test aşamasında ise hedef terim, hedef kategori ve yalnızca hedef terim ile ilgili kelimeler değerlendirmeye tabi tutulmuştur. Hedef terim ile ilgili kelimelerin bulunması konusunda ise hem komşuluk bilgisi hem de bağlılık analizinden gelen ilişkiler birlikte kullanılmıştır.  Bahsi geçen bu sistemin duygu sınıfı belirlemedeki başarımı %764,12'dir. Bu başarı oranı ile başvuru yapan kısıtlı sistemler arasındaki en başarılı sonuçtan daha yüksek bir performans ortaya koymuşturç yakalanmış olmuştur.  Farklı bir konu olarak ele aldığımız, duygu sınıfını belirlemek için cümlenin yalnızca ilgili bölümünün çıkarılması yöntemlerinde de çeşitli senaryolar ortaya konmuştur. İlgili bölümün çıkarılması görevinde, cümle içi kelime dizilimlerinin (hedef terimin komşularının)  ve bağlılık çözümlemesinden çıkan bağlılık ağacındaki ilişkilerin kullanıldığı testler gerçekleştirilmiştir. Bu  testlerde bağlılık ağacındaki ilişkilerin, dizilimsel komşuluktan daha başarılı olduğu gösterilmiştir. (%67,30 - %68,55)
Türkçe dilinde yazılmış metinler üzerinde yapılan hedef tabanlı duygu analizinde doğal dil işleme yöntemlerinin ve dile dair kaynakların bazılarının katkıları çalışmamızda sunulmuştur.  dilinin kendine has özelliklerinden doğan problemlerini gidermek adına doğal dil işleme araçlarının hedef tabanlı duygu analizi görevlerinde kullanılmasının ne denli katkı sunduğu çalışmamızda sunulmuştur. Özellikle, morfolojik analiz, bağlılık ayrıştırıcı ve kelime vektörlerinin kullanımı, hedef tabanlı duygu analizine ait alt görevlerde katkı sunmuşlardır. Bunun yanında morfolojik çözümlemeden gelen özelliklerin de kullanılması hedef tabanlı duygu analizine dair tüm alt görevlerde büyük oranda başarıyı arttırmıştır.

Abstract:
Sentiment analysis is one of the major trend research topics in natural language analysis lately.  Social media and Web 2.0 has become so popular among people to share their opinions within whole society. This popularity has given rise to the need of sentiment analysis for especially commercial organizations. bBecause commercial organizations companies always wish to measure their reputation in their customers' eyes. Sentiment analysis is the key solution for measuring reputation and generating productive reports over customers' voice. Researches show that this kind of analysis needs natural language processing tools and experimental data.
In this research we try to handle sentiment analysis in aspect level which is called aspect based sentiment analysis in the literature. This level of sentiment analysis is the most detailed one. Sentiment analysis problem is handled at different levels in scientific researches. These levels can be listed as document level, sentence level and aspect level sentiment analysis. 
We define aspect based sentiment analysis with structures called sentiment tuples. This definition comes from Aspect Based Sentiment Analysis (ABSA) shared task of Semantic Evaluation (Semeval) workshop. A sentiment tuple consists of Aspect Category, Opinion Target Expression (OTE) and Sentiment polarity sections. These sections show the opinion over an aspect in the given text. We use Semeval ABSA Turkish Restaurant dataset as the training and test set in our research. 
Turkish is our target language and we have tried to show Turkish natural language analysis' contribution over aspect based sentiment analysis. Turkish is an agglutinative and free constituent order language. These features make Turkish language different from other languages that most NLP researches have been conducted on, such as English, Spanish, French, German, etc. In Turkish language, due to its agglutinativeness  many forms of same words may be seen in texts. This variety leads to problem for sentiment analysis. The great majority of sentiment analysis systems are data driven systems that usually use machine learning techniques. Machine learning algorithms may be applied on textual data using words as features. But different surface forms of same stems are represented as different features and causes feature sparsity. On the other hand, inter word relations are important for sentiment analysis systems. Free word order property complicates to find relations between words in sentence. To overcome this difficulty, syntactic analysis or dependency parsing becomes the key idea. Using dependency parsing, we can extract the words related to opinion target expression and take them into account during sentiment polarity classification. 
In order to detect opinion target expression in sentiment tuples, we use sequence labelling techniques. We considered the problem as a sematic role labeling problem. In semantic role labelling, finding whole parts of action (actor, action, theme) is aimed by systems, however only theme (object) of the expression is concerned in our problem. Conditional Random Fields (CRF) is the most common algorithm for semantic role labelling problems. OTEPOS (Part of Speech) tagging and named entity recognition are important examples of semantic role labelling. OTEs are similar to named entities. Because these terms exists in texts to represent an aspect of the examined domain. s Terms are strongly dependent to working domain. For this reason, most of the studies try to solve the problem with using lexicon solutions. Morphological richness of Turkish language becomes an important obstacle to generate a specific lexicon. Also previous research shows that lexicon approaches has lack of success. In sequence labelling method, we used features such as, surface forms, stems, POS tag, morphological features, word vectors (word embeddings) and dependency relations between words. Our experiments were designed to prove contribution of word embeddings and dependency relations over OTE detection. Another noticeable contribution comes from labelling types. Our experiments consist of 3  kind of labeling; 0-1, IOB standards and raw aspect category names. In 0-1 labelling type, the word is labelled as "1" if it is in OTE and "0" vice versa. IOB standard comes from named entity recognition and POS tagging tasks. "B" label means current word is beginning of an OTE, "I" means current word is in OTE and "O" label means not in OTE. In this form of labelling "I" and "B" labels followed with aspect category names. For instance "B-RESTAURANT#GENERAL". Latest type which is used in experiments is raw aspect category names. For example: "RESTAURANT#GENERAL". Most successful scenario for labelling has become IOB standards. Word vectors and dependency relations outperformed the other setups with a score of %53.12. We deduced that word vectors have noticeable contribution in sequence labelling because training set is lack of word features. Using word vectors is extending the feature set that is used in CRF. Using dependency relations provides better scores compared to using order of words in sentence.. 
In order to detect aspect category of sentiment tuple, we tried linear classification algorithm and sequence labelling. In the first scenario, we used a two layered approach. First layer consists of one-vs-all binary classifiers for the detection of each different aspect entity (E) and aspect attribute (A). This first layer is used to obtain the possibilities of an instance to belong to the corresponding classes (entity or attribute). The obtained probabilities will be further used in the second layer for the main classifier. In instance representation, we use unigram and bigram features occurring in the training set. Other experiment uses sequence labelling approach. In OTE detection our IOB standard and raw aspect category labelling types are capable to generate aspect category types of OTEs. Therefore, we could use this aspect category types to fill sentiment tuple's aspect category slot. Sequence labelling results are more successful than linear classification system. (%66.66)
Third sub task aims to find OTE and aspect category at the same time. We showed sequence labelling success (%46.67) is quite well while detecting aspect category. This inference led us to use same technique in third sub task. We had chance to compare our system with just baseline results (%28.15). Because only shared task committee's baseline results are reported in Turkish language. On the other hand, our system performance was similar to other submissions on other languages.
Latest sub task aims to fill sentiment polarity slots in sentiment tuples. Shared task provides different test set from previous sub tasks. In the test set, all the sentiment tuples are generated and aspect category and OTE slots are filled in gold standards. Our sentiment polarity detection method consists of a linear classification system. The classification system uses logistic regression algorithm and textual features as well as aspect category and OTE information. Our textual feature extraction method comes from bag-of-words. As preprocessing step, our words are represented as stems which come from morphological analysis. In addition to that, during testing phase, only words related to the OTEs are included to classification.  This mentioned system performs %764.12 accuracy rate while evaluation. This result is % 2 higher than the best submitted constraint system in ABSA. in at the same level with best submitted constraint system in the shared task. The mentioned Best best performed performing constraint system uses deep learning techniques. Main inference becomes that the linear classification algorithms can perform as good as deep learning systems, if they use just the provided limited training sets. For extracting OTEs' related words, we applied three different approaches which employ sequence of words, dependency parsing relations and both of them together. The best performing one was employing both sequence of words and dependency parsing relations. Hereby, we can say that using both of sequence of words and dependency parsing relations is more successful than others while finding out the sentiment class of the current OTE.
Our research's goal is to show the contributions of several NLP tools and Linguistic resources over aspect based sentiment analysis in Turkish Language. According to our experiments, this contribution over all subtasks of aspect based sentiment analysis can be seen clearly. Especially, dependency parsing and word vectors have powerful impacts on sentiment analysis. Another inference can be that morphological features have noticeable information. As a conclusion, Turkish is challenging language for aspect based sentiment analysis because it is agglutinative and free constituent order language. For solving problems that are created by Turkish linguistic challenges, additional NLP information and linguistic resources should be used.