• Sonuç bulunamadı

Word2vec temsillerini kullanarak Türkçede soru sınıflandırmasında derin öğrenme analizi

N/A
N/A
Protected

Academic year: 2021

Share "Word2vec temsillerini kullanarak Türkçede soru sınıflandırmasında derin öğrenme analizi"

Copied!
92
0
0

Yükleniyor.... (view fulltext now)

Tam metin

(1)

T.C.

DÜZCE ÜNİVERSİTESİ

FEN BİLİMLERİ ENSTİTÜSÜ

WORD2VEC TEMSİLLERİNİ KULLANARAK TÜRKÇE’DE SORU

SINIFLANDIRMASINDA DERİN ÖĞRENME ANALİZİ

ŞEYHMUS YILMAZ

DOKTORA TEZİ

ELEKTRİK-ELEKTRONİK VE BİLGİSAYAR MÜHENDİSLİĞİ

ANABİLİM DALI

DANIŞMAN

DR. ÖĞR. ÜYESİ SİNAN TOKLU

(2)

T.C.

DÜZCE ÜNİVERSİTESİ

FEN BİLİMLERİ ENSTİTÜSÜ

Word2vec Temsillerini Kullanarak Türkçe’de Soru

Sınıflandırmasında Derin Öğrenme Analizi

Şeyhmus YILMAZ tarafından hazırlanan tez çalışması aşağıdaki jüri tarafından Düzce Üniversitesi Fen Bilimleri Enstitüsü Elektrik-Elektronik ve Bilgisayar Mühendisliği Anabilim Dalı’nda DOKTORA TEZİ olarak kabul edilmiştir.

Tez Danışmanı

Dr. Öğr. Üyesi Sinan TOKLU Düzce Üniversitesi

Jüri Üyeleri

Dr. Öğr. Üyesi Sinan TOKLU

Düzce Üniversitesi _____________________

Prof. Dr. Pakize ERDOĞMUŞ

Düzce Üniversitesi _____________________

Doç. Dr. İbrahim ALPER DOĞRU

Gazi Üniversitesi _____________________

Prof. Dr. M. Ali Akcayol

Gazi Üniversitesi _____________________

Prof. Dr. Resul KARA

Düzce Üniversitesi _____________________

(3)

BEYAN

Bu tez çalışmasının kendi çalışmam olduğunu, tezin planlanmasından yazımına kadar bütün aşamalarda etik dışı davranışımın olmadığını, bu tezdeki bütün bilgileri akademik ve etik kurallar içinde elde ettiğimi, bu tez çalışmasıyla elde edilmeyen bütün bilgi ve yorumlara kaynak gösterdiğimi ve bu kaynakları da kaynaklar listesine aldığımı, yine bu tezin çalışılması ve yazımı sırasında patent ve telif haklarını ihlal edici bir davranışımın olmadığını beyan ederim.

24 Haziran 2020 Şeyhmus YILMAZ

(4)

TEŞEKKÜR

Doktora öğrenimimde ve bu tezin hazırlanmasında gösterdiği her türlü destek ve yardımdan dolayı değerli hocam Dr. Öğr. Üyesi Sinan TOKLU en içten dileklerimle teşekkür ederim.

Tez çalışmam boyunca değerli katkılarını esirgemeyen TİK üyesi hocalarımızdan Prof. Dr. Pakize ERDOĞMUŞ ve Doç. Dr. İbrahim ALPER DOĞRU’ya ve diğer jüri üyesi hocalarımıza şükranlarımı sunarım.

Bu çalışma boyunca yardımlarını ve desteklerini esirgemeyen çalışma arkadaşlarıma sonsuz teşekkürlerimi sunarım.

(5)

İÇİNDEKİLER

Sayfa No

ŞEKİL LİSTESİ ... vi

ÇİZELGE LİSTESİ ... vii

KISALTMALAR ... viii

SİMGELER ... ix

ÖZET ... x

ABSTRACT ... xi

EXTENDED ABSTRACT ... xii

1.

GİRİŞ ... 1

2.

LİTERATÜR TARAMASI ... 3

2.1. METİN MADENCİLİĞİNDE DERİN ÖĞRENME... 8

2.2. SORU VERİTABANI ... 11

3.

METODOLOJİ VE SONUÇLAR ... 13

3.1. WORD2VEC NEDİR? ... 13

3.2. PYTHON’DA TENSORFLOW KÜTÜPHANESİNİ İLE TÜRKÇE’DE BASİT BİR WORD2VEC UYGULAMASI... 18

3.2.1. Veri Önişleme ... 29

3.3. KULLANILACAK OLAN SORU VERİTABANI ... 40

3.4. KONVOLÜSYONEL SİNİR AĞI (CNN) ... 41

3.5. WORD2VEC KULLANARAK CNN İLE SORU SINIFLANDIRILMASI .. 53

3.6. UZUN KISA SÜRELİ BELLEK (LSTM) ... 55

4.

SONUÇLAR VE GELECEK ÇALIŞMALAR ... 67

5.

KAYNAKLAR ... 70

(6)

ŞEKİL LİSTESİ

Sayfa No

Şekil 2.1. Soru cevaplama sisteminin genel mimarisi. ... 3

Şekil 2.2. Li ve arkadaşları tarafından önerilen iki katmanlı taksonomi. ... 11

Şekil 3.1. Önerilen çalışmanın genel mimarisi. ... 13

Şekil 3.2. Google ’un geliştirdiği mesafe aracından bir örnek. ... 14

Şekil 3.3. CBOW (solda) ve skip-gram (sağda) modelleri. ... 15

Şekil 3.4. Her bir kelimenin one-hot encoding olarak gösterimi ... 15

Şekil 3.5. Pencere boyutunun 2 seçildiği bir örnek ... 16

Şekil 3.6. CBOW modelinin giriş ve çıkışları ayarlaması ... 17

Şekil 3.7. CBOW modeli için verinin bir eğitim setine dönüştürülmesi ... 17

Şekil 3.8. Bir CBOW modelinin şematik bir temsili. ... 18

Şekil 3.9. Verinin ön işleme aşamasından sonraki hali (Derlemenin sadece bir bölümünün görüntüsü). ... 30

Şekil 3.10. Verinin ön işleme aşamasındaki bilgisi. ... 31

Şekil 3.11. Wikipedia verisi ile ilgili bazı bilgiler. ... 32

Şekil 3.12. Modelin eğitimden sonraki bilgisi. ... 32

Şekil 3.13. Kelimeler arasındaki ilişkinin 2-boyutlu bir grafik ile gösterimi. ... 34

Şekil 3.14. Bir kelimenin vektörel gösterimine örnek. ... 40

Şekil 3.15. Temel bir konvolüsyonel sinir ağının şematik diyagramı (CNN) mimarisi. ... 42

Şekil 3.16. CNN görüntü işleme örneği [88]. ... 43

Şekil 3.17. Konvolüsyon işlemlerine bir örnek. ... 44

Şekil 3.18. Örnek; görüntü boyutu 4 x 4 ve filtre 3 x 3, dolayısıyla konvolüsyon olduktan sonra 2 x 2 boyutunda bir çıktı alıyoruz. [88]. ... 49

Şekil 3.19. 1 Kaydırma ile konvolüsyon. ... 49

Şekil 3.20. 1 kaydırma ile sıfır ekleme işlemi. ... 50

Şekil 3.21. Sıfır ekleme işleminden sonra ... 50

Şekil 3.22. Havuzlama işlemine örnek. ... 51

Şekil 3.23. Düzleştirici katmanda gerçekleşen işleme bir örnek. ... 52

Şekil 3.24. Tam Bağlı Katman. ... 53

Şekil 3.25. CNN kullanarak cümle sınıflandırmasına örnek bir yapı ... 54

Şekil 3.26. CNN ile elde edilen sonuçlar. ... 55

Şekil 3.27. LSTM mimarisi. ... 57

Şekil 3.28. Gözetleme bağlantısı kullanan LSTM yapısı. ... 58

Şekil 3.29. LSTM türleri. ... 59

Şekil 3.30. Çoktan-bire mimarinin detaylı gösterimi. ... 60

Şekil 3.31. LSTM ile elde edilen sonuçlar ... 61

Şekil 3.32. CNN-LSTM mimarisi... 61

Şekil 3.33. CNN-LSTM ile elde edilen sonuçlar. ... 63

Şekil 3.34. CNN-SVM mimarisinin genel yapısı. ... 64

(7)

ÇİZELGE LİSTESİ

Sayfa No

Çizelge 2.1. Soru sınıflandırması ile ilgili başlıca çalışmalar. ... 6

Çizelge 2.2. UIUC soru veri tabanındaki soru kategorilerinin dağılımı. ... 12

Çizelge 3.1. Word2Vec metin temsilini kullanarak CNN ile elde edilen sonuçlar. ... 55

Çizelge 3.2. LSTM mimarisinde kullanılan semboller. ... 57

Çizelge 3.3. Çeşitli Word2vec modellerini kullanarak LSTM ile alınan sonuçlar ... 60

Çizelge 3.4. CNN-LSTM mimarisinin sonuçları ... 63

(8)

KISALTMALAR

BoW Kelime Çantası (Bag of Words)

BPNN Geri Yayılım Sinir Ağları

CBOW Continuous Bag of Words

CLQA Diller Arası Soru Cevaplama Sistemi

CNN Konvolüsyonel Sinir Ağı (Convolutional Neural Network)

CRF Koşullu Rastgele Alanlar (Conditional Random Fields)

LSA Gizli Semantik Analiz

LSTM Uzun Kısa Süreli Bellek Ağı (Long Short-Term Memory)

ME Maksimum Entropi

MLP Multi Layered Perception (Çok Katmanlı Algılayıcılar)

MLQA Çok Dilli Soru Cevaplama Sistemi

MT Makine Çevirisi (Machine Translation)

NLP Doğal Dil İşleme (Natural Language Processing)

PCA Temel Bileşen Analizi

QA Soru Yanıtlama (Question Answering)

RBM Restricted Boltzmann Machine (Kısıtlı Boltzman Makineleri) ReLU Doğrultulmuş Lineer Birim (Rectified Linear Unit)

RNN Tekrarlayan Sinir Ağı (Recurrent Neural Network)

SVM Destek Vektör Makineleri (Support Vector Machines)

(9)

SİMGELER

bC, bf, bi,bo bz Ofset değerleri

C Hafıza hücresi

𝐶′ Yeni aday değer

F Filtre 𝑓 Unutma kapısı ℎ Çıkış 𝑖 Giriş kapısı 𝑜 Çıkış kapısı p Sıfır ekleme 𝑟 Resetleme kapısı S Kaydırma

tanh Hiperbolik tanjant fonksiyonu

𝑊𝑐 Giriş için ağırlık vektörü

𝑊𝑓 Unutma kapısının ağırlık vektörü

𝑊𝑖 Giriş kapısının ağırlık vektörü

𝑊𝑜 Çıkış kapısının ağırlık vektörü

𝑊𝑧 Güncelleme kapısı için ağırlık vektörü

x Giriş

𝑧 Güncelleme kapısı

𝜑 Sigmoid Fonksiyonu

⊗,× Bileşen bazında çarpma

* İki skalerin çarpımı veya skaler ve bir vektörün

çarpımı

⊕ İki vektörün element bazında toplamı

(10)

ÖZET

WORD2VEC TEMSİLLERİNİ KULLANARAK TÜRKÇE’DE SORU SINIFLANDIRMASINDA DERİN ÖĞRENME ANALİZİ

Şeyhmus YILMAZ Düzce Üniversitesi

Fen Bilimleri Enstitüsü, Elektrik-Elektronik ve Bilgisayar Mühendisliği Anabilim Dalı Doktora Tezi

Danışman: Dr. Öğr. Üyesi Sinan TOKLU Haziran 2020, 77 sayfa

Soru sınıflandırması, otomatik soru cevaplama uygulamaları için temel bir çalışma alanıdır. Dilsel özellikler, doğru bir soru sınıflandırıcısı geliştirmede önemli bir rol oynamaktadır. Son zamanlarda, derin öğrenme sistemleri duygu analizi, belge sınıflandırma, spam filtreleme, doküman özetleme ve web madenciliği gibi çeşitli metin madenciliği problemlerinde dikkate değer bir başarı sağlamışlardır. Bu çalışmada, aglutinatif bir dil olan Türkçe’de bazı derin öğrenme mimarilerini kullanarak soru sınıflandırması alanı üzerinde çalışılmıştır. Hint dışı Avrupa dili olarak, Türkçe gibi diller doğal dil işlemeyi zorlaştıran bazı benzersiz özelliklere sahiptir. Bu çalışmada, derin öğrenme mimarilerini eğitmek ve test etmek için İngilizce’den Türkçe’ye çevrilmiş kullanıcı soruları kullanılmıştır. Bu tez çalışmasında iki büyük derin öğrenme modeli kullanılmıştır. Bunlar: Konvolüsyonel Sinir Ağları (CNN), Uzun Kısa Süreli Bellek (LSTM) ve bunlara ek olarak da ayrıca CNN-LSTM, CNN-SVM yapılarıdır. Bu çalışmada ilk önce, büyük bir korpus kullanılarak word2vec yöntemlerinden olan Skip-gram ve CBOW ile farklı özellik ve boyutta kelime vektörleri üretilmiştir. Çünkü bu çalışmadaki bir diğer amaç ise derin öğrenme mimarileri üzerinde önceden eğitilmiş farklı word2vec kelime gömmelerini kullanmanın sonuçlara olan etkisini incelemektir. Çalışmanın sonuçları, farklı derin öğrenme modellerinde farklı word2vec modellerinin kullanımının doğruluk oranı üzerinde önemli bir etkiye sahip olduğunu göstermektedir. Ayrıca, bu çalışmaya başlarken çalışmamıza uygun herhangi bir etiketlenmiş Türkçe soru veri seti bulunmadığından, bu çalışmadaki bir diğer katkı da UIUC İngilizce soru veri kümesinden çevrilen yeni Türkçe Soru veri tabanının tanıtılmasıdır. Buna ek olarak, derin öğrenme mimarilerinin başarı oranları doğruluk ve 10-Katlamalı Çapraz Doğrulama açısından karşılaştırılmıştır. Bu tez çalışmasında bahsedilen teknikleri kullanarak soru veri setinde %94 doğruluk oranına ulaşılmıştır.

Anahtar sözcükler: Derin öğrenme, Word2vec, Soru sınıflandırması, Destek vektör makinesi, Kelime gömme.

(11)

ABSTRACT

A DEEP LEARNING ANALYSIS ON TURKISH QUESTION CLASSIFICATION TASK USING WORD2VEC REPRESENTATIONS

Şeyhmus YILMAZ Duzce University

Graduate School of Natural and Applied Sciences, Department of Electrical-Electronics and Computer Engineering

Doctoral Thesis

Supervisor: Assist. Prof. Sinan TOKLU June 2020, 77 pages

Question classification is a primary essential study for automatic question answering implementations. Linguistic features take a significant role to develop an accurate question classifier. Recently, deep learning systems have achieved remarkable success in various text-mining problems such as sentiment analysis, document classification, spam filtering, document summarization, and web mining. In this study, we explain our study on investigating some deep learning architectures for a question classification task in a highly inflectional language Turkish that is an agglutinative language where word structure is produced by adding suffixes (morphemes) to root word. As a Non-Indo European Language, languages like Turkish have some unique features, which make it challenging for natural language processing. For instance, Turkish has no grammatical gender and noun classes. In this study, user questions in Turkish are used to train and test the deep learning architectures. In addition to this, the details of the deep learning architectures are compared in terms of test and 10-cross fold validation accuracy. We use two major deep learning models in our paper: Long Short-Term Memory (LSTM), Convolutional Neural Networks (CNN), We also implemented the combination of CNN-LSTM, CNN-SVM structures and a number of various those architectures by changing vector sizes and the embedding types. As well as this, we have built word embeddings using the word2vec method with a CBOW and Skip Gram models with different vector sizes on a large corpus composed of user questions. Our another investigation is the effect of using different word2vec pre-trained word embeddings on these deep learning architectures. Experiment results show that the use of different word2vec models has a significant impact on the accuracy rate on different deep learning models. Additionally, there is no Turkish question dataset labeled and so another contribution in this study is that we introduce new Turkish Question Dataset which is translated from UIUC English question dataset. By using these techniques, we have reached an accuracy of %94 on the question dataset.

Keywords: Deep learning, Question classification, Support vector machine, Word embedding, Word2vec.

(12)

EXTENDED ABSTRACT

A DEEP LEARNING ANALYSIS ON TURKISH QUESTION CLASSIFICATION TASK USING WORD2VEC REPRESENTATIONS

Şeyhmus YILMAZ Duzce University

Graduate School of Natural and Applied Sciences, Department of Electrical-Electronics and Computer Engineering

Doctoral Thesis

Supervisor: Assist. Prof. Sinan TOKLU June 2020, 77 pages

1. INTRODUCTION

There is an increasingly growing amount of data on the Internet such as the size and variety of online text documents. It results in the consumers inconvenient with the answers returned by programs, which just provide ranked lists of texts that individuals have to consume time manually browsing through. In most cases on the natural language process, what a customer desires is the accurate answers to the questions asked by individuals. The aim of a Question Answering (QA) implementation is to reply straightforwardly natural language queries asked by people. QA systems are popular study area that uses NLP with information retrieval. A significant part in QA and other dialog implementations is to identify the questions to the probable category of an answer [1]. For instance, the question of What country is famous for chocolate ought to be classifying into the kind of location (country). Such data narrows down the search space to classify the accurate answer string. Additionally, this data may propose different methods to investigate and confirm a probable answer. For example, the classification of question Who is the prime minister of Belgium to a type of “human (person)” question should use the search method specific for human (person) type.

Documents classification is one of the related issues to question classification [5]. Even though document classification has been given a large amount of scientific concentration in recent times, question categorization particularly in Turkish language now is a novel academic problem. While a number of academic publications have attempted to categorize documents for Turkish language, to the best of our knowledge, we have not come across any important academic papers related to question categorization in Turkish. The most significant distinction between question classification and document

(13)

classification is that the length of a document is much longer than a question thus each word or character in a question could be informative and it is harder to extract features from a single question than a long document [5]. The most important difference between classifying questions and classifying documents is that the length of a question is much smaller than a document. Therefore, in a question, each word and character can be informative and it may be harder to subtract features from a single document.

2. MATERIAL AND METHODS

In order to classify the questions, firstly we need one mathematical way of representing words for example function f to assign each word x to a vector f(x) such that if x and y have syntactic and semantic similarity then f(x) and f(y) are close vectors. A new word representation with abovementioned feature is invented by Mikolov et al. called distributed representations of words or word2vec [4] which is used in this study in feature extraction step. The idea behind in word representation technique is that words which have semantic or syntactic relation are seen in the same contexts with high likelihood. Consequently, if word1 and word2 occurs in the same context, the vectors of these two words ought to be a little bit closer to each other. In word2vec, the representation of the words in a vector space helps learning algorithms to achieve better results in NLP systems by classifying related words. Distributed representations of words calculated utilizing neural networks are very remarkable since the computed vectors obviously code numerous linguistic regularities and patterns [4]. Somewhat unexpectedly, most of such patterns can be shown as linear translations. For instance, the result of a vector calculation vec(“king”) - vec(“man”) + vec(“women”) is closer to vec(“queen”) than to any other word vector [4].

After generating word2vec models, some deep learning techniques such as deep learning (CNN, LSTM), SVM and their combinations are used to classify user questions based on word2vec methods both Skip Gram and Continues Bag of Words.

At the beginning of this study, we were unable to find any Turkish question dataset and then we decided to translate an English question dataset to Turkish in order to assess the results of the proposed methods in its best way.

3. RESULTS AND DISCUSSIONS

In this study, CNN, LSTM, CNN-LSTM, and CNN-SVM are examined when using Word2Vec methods both CBOW and Skip-Gram. While using two different types of the

(14)

Word2Vec techniques, the CNN, CNN-LSTM and CNN-SVM model using Skip-Gram is able to perform significantly better results in terms of accuracy on Turkish Question Classification dataset in comparison to using CBOW. In contrast to CNN, CNN-LSTM and CNN-SVM, using CBOW generally achieve better results on LSTM structure. In CNN-LSTM model, using Skip-Gram is better than using CBOW in most cases. As well as this, we have experienced the best result in CNN model, an accuracy of %94, when using Skip-Gram with 300 feature vectors. Additionally, we experience that using the right form of dataset can potentially contain more vocabulary for the classification database. Therefore, the relation between corpus and the classification dataset give superior question-level representations.

4. CONCLUSION AND OUTLOOK

Finally, when compared to a similar study on [93] performed on the same dataset, which the authors have reached an accuracy of %95.4 with LSTM in English language; our results were low compared to this study conducted in English. The most important reason for this is the language structure of Turkish as we mentioned earlier. Also, for that reason there is no an effective lemmatization tool for Turkish Language compared to English language.

To conclude this study, we recommend here one line for the future study that we think may be motivating to explore. For the future, a hybrid feature extraction method based on more than one word embedding techniques together can be used to improve the accuracy of the question classification system. By using this hybrid technique, the system will be able to take the advantages of all embedding techniques used.

(15)

1. GİRİŞ

Soru sınıflandırması, yani, soruları önceden belirlenmiş türlere göre sınıflandırmak, soru cevaplama sisteminde oldukça önemli bir sorundur. Sistemin cevap arama ve sıralama için uygun stratejileri seçebilmesi için kullanıcıların niyetini netleştirmeye yardımcı olmaktadır. Diğer sınıflandırma problemlerine benzer şekilde, soru sınıflandırma sistemi genellikle sınıflandırıcıyı bir dizi etiketli soru içeren eğitim verilerinden oluşturması gerekir; daha sonra sınıflandırıcı etiketlenmemiş soruları sınıflandırmak için kullanılır. Sorular özel metin türleri gibi olsa da soru sınıflandırması metin sınıflandırmasından çok daha zordur. Normal metinlerle karşılaştırıldığında, bir soru genellikle çok kısa bir cümledir (bazıları birkaç kelime veya daha az) ve çoğunlukla bir kelime bir soruda sadece bir kez olur. Bundan dolayı yaygın olarak kullanılan bazı geleneksel vektör uzay modellerinde (Terim frekansı (TF)/ters metin frekansı (IDF) tabanlı) başarısızlığa neden olmaktadır. Bu sorunu çözmek için araştırmacılar tarafından genellikle konum, organizasyon, isim vb. gibi sorulardaki kelimelere / kelime öbeklerine açıklama eklemek için birçok özellik geliştirilmiş ve ardından soruları temsil etmek için özellik çantası kullanılmıştır. Bununla birlikte, bu tür yöntemlerde hala bazı problemler ortaya çıkmaktadır.

Birinci problem, tatmin edici sınıflandırma performanslarını elde etmek için, genellikle çok büyük miktarda özelliğe ihtiyaç duyulmaktadır. Örneğin, Li ve arkadaşları UIUC soru setindeki soruları temsil etmek için 200.000'den fazla özellik kullanmıştır [32]. Huang ve arkadaşları en iyi özellik uzaylarında 13.697 ikili özellik kullanmıştır [1].

İkinci sorun ise; özellikler çantası (the bag of features) temsili, sorularda yanlış sınıflandırmaya neden olacak kelimeler arasındaki ilişki ve sıra bilgilerini göz ardı eder. Örneğin, “Hangi şehir gülle ünlüdür?” ve “Hangi gül şehri ile ünlüdür?” iki farklı sınıfa ait iki cümle olsun (birincisi <konum>, bir sonraki <bitki> hakkındadır), çünkü "gül" ve "şehir" farklı sıralamaya sahiptir.

Kelimeler arasındaki mesafe bilgisi soru sınıflandırmasında önemlidir, ancak mevcut klasik yöntemlerde genelde bu dikkate alınmaz. Örneğin; “How many people did Randy Craft kill?” Sayı (number) hakkında soru sorar ama öteki taraftan “How Randy Craft

(16)

killed many people?” Açıklama (description) ile ilgili bir sorudur. Burada “How” ve “many” arasındaki mesafe farkı, soru türlerinde önemli rol oynamaktadır. Başlangıçta fikir çıkarımı için önerilen Class Sequential Rules (CSRs) [81] kelime dizilerini dikkate almaktadır. Ancak yine de kelimeler arasındaki mesafe bilgisini yok saymaktadır. Bu tez çalışmasında, word2vec yöntemi ile çeşitli özellikler çıkarılmakta ve daha sonra son zamanlarda ses işleme, görüntü tanıma ve metin madenciliği gibi birçok alanda çok başarılı sonuçlar veren derin öğrenme mimarileri kullanılarak soru sınıflandırması yapılmaktadır. Bu çalışmada başlıca iki büyük derin öğrenme modeli kullanılmaktadır: Konvolüsyon Sinir Ağları (CNN), Uzun Kısa Süreli Bellek (LSTM) ve bunlara ek olarak da ayrıca CNN-LSTM, CNN-SVM yapıları kullanılmıştır. Bu çalışmada ilk önce, büyük bir korpus kullanılarak word2vec yöntemlerinden olan Skip-gram ve CBOW ile farklı özellik ve boyutta kelime vektörleri üretilmiştir. Çünkü bu çalışmadaki bir diğer amacımız da bu derin öğrenme mimarileri üzerinde önceden eğitilmiş farklı word2vec kelime gömmelerini kullanmanın sonuçlara olan etkisini incelemektir. Çalışmanın sonuçları, farklı derin öğrenme modellerinde farklı word2vec modellerinin kullanımının doğruluk oranı üzerinde önemli bir etkiye sahip olduğunu göstermektedir. Ayrıca, bu çalışmaya başlarken çalışmamıza uygun herhangi bir etiketlenmiş Türkçe soru veri seti bulunmadığından, bu çalışmadaki bir diğer katkı da UIUC İngilizce soru veri kümesinden çevrilen yeni Türkçe Soru veri tabanının tanıtılmasıdır.

(17)

2. LİTERATÜR TARAMASI

Klasik Soru Cevaplama Sistemlerinde üç ayrı adım bulunmaktadır [16]:

1. Soru İşleme (Question Processing): Bu adımın amacı, soruların temsili ve sınıflandırılması için mantıksal işlemlerin uygulandığı kullanıcılar tarafından sorulan soruları anlamaktır. Başka bir deyişle, bu adım kullanıcılar tarafından sorulan soruları sınıflandırmakta ve bu adım aynı zamanda soru sınıflandırma adımı olarak da adlandırılmaktadır.

2. Dokuman Çıkarımı ve İşleme (Document Extraction& Processing): Bu adım, sorunun odağına bağlı olan ilgili bir dizi dokuman kümesini seçmekte ve bir dizi paragraf çıkarmaktadır. Cevap bu paragraflara göre gerçekleştirilmektedir.

3. Yanıt İşleme (Answer Processing): Bu adım, dokümanların ilgili parçalarına göre yanıtı seçmeyi amaçlamaktadır. Bu, bir cevabı sorulan soru ile eşleştirmek için verilerin önceden işlenmesini gerektirmektedir. Soru Cevaplama Sisteminin genel mimarisinin genel mimarisi Şekil 2.1’de gösterilmiştir [16].

Şekil 2.1. Soru cevaplama sisteminin genel mimarisi.

Soru sınıflandırma problemlerini çözmek için çok çeşitli teknikler vardır. Bu tekniklerin çoğu üç ana gruba ayrılabilir: kural tabanlı, makine öğrenme teknikleri ve hibrit teknikler

(18)

[8], [9]. Kural tabanlı tekniklerde soru cevap türünü sınıflandırmak için [11], sistem soruları elle yazılmış kurallarla eşleştirmeye çalışılmaktadır. Ancak kesin kurallara karar vermek, çeşitli soru türlerini anlamak için muazzam zaman ve çaba harcanmaktadır. Türkçe gibi çok çekimli diller için, olası tüm soru türlerini bulmak çok zordur. Bu tür sınıflandırma yöntemlerinin yaygın olmamasının temel nedeni, genel doğruluğun makine öğrenimi temelli yaklaşımlara yakın bile olmamasıdır [8]. [12]’de yazarlar, makine öğrenme yaklaşımlarının manuel yöntemlerden daha iyi olduğunu tartışmaktadır. Manuel yaklaşımların aksine, makine öğrenme yaklaşımları soruları kategorilere ayırmak için oldukça kolay bir yöntem sağlamaktadır. Bu şekilde verilerden çok büyük bir çaba sarf etmeden kolaylıkla öğrenilebilir ve bu nedenle bu tip uygulamalar kolayca yeni bir sisteme uyarlanabilir.

Son olarak, hibrit yaklaşımlar (hybrid approaches) yenidir ve yaygın değildir ve bu gibi teknikleri kullanan az sayıda çalışma bulunmaktadır. Şimdi burada bazı çalışmalardan biraz bahsedilecektir. [5]’in yazarları Farsçada soru sınıflandırma sistemi için hibrit bir yaklaşım önermişlerdir. Yazarlar kendi başlarına taksonomi oluşturmuş ve birkaç bilim adamı yardımıyla 9500 soru içeren bir veri tabanı hazırlamışlardır. Yazarlar %80.5 başarı ile çok sayıda soru sınıfına göre tatmin edici sonuçlar almışlardır.

Kural tabanlı yöntemlere rağmen, makine öğrenme yöntemleri, bir sorunun sayısız özelliğini kullanarak otomatik olarak doğru bir sınıflandırma uygulaması oluşturabilir [5]. Ayrıca, çok çeşit makine öğrenimi yaklaşımları vardır örneğin Destek Vektör Makineleri (Support Vector Machines, SVM), Naive Bayes (NB), Karar Ağaçları, K-Nearest Neighbors ve Derin Öğrenme (Deep Learning) bunlardan bazılarıdır. Ancak, SVM çeşitli çalışmalarda soru sınıflandırması için kullanılan en populer makine öğrenme yaklaşımıdır [16]. [16]’nın yazarları SVM'ler ve n-gram çantası özellik vektörü ile boyut küçültme yöntemini kullanmaktadır. Ayrıca yazarlar, amaçlarına ulaşmak için, mümkün olduğunca az dilsel özellik kullanmayı tercih etmişlerdir.

Bazı makine öğrenimi yaklaşımlarında, sorular bir ağaç olarak yeniden formüle edilmiştir. [14]’te yazarlar soruları sınıflandırmak için SVM'li bir ağaç çekirdeği kullanmışlar ve %80.2'lik bir istatistiki başarı elde etmişlerdir. Ancak yaptıkları çalışma sırasında anlamsal ve söz dizimsel özellikler kullanmamışlardır. Ayrıca [14]’ün yazarları, yapılandırılmış doğal dil bilgisini kolayca anlayan HDAG adı verilen bir kernel oluşturmuşlardır.

(19)

[17]’nin yazarları, soruları sınıflandırmak için SNoW öğrenme mimarisini kullanarak hiyerarşik bir yöntem önermişlerdir. Bu çalışmada iki aşamalı bir sınıflandırma yöntemi kullanılmıştır. İlk aşamada, en olası beş ana soru kategorisi gösterilmektedir. Bir sonraki aşamada, sorulan soru beş ana soru kategorisinin alt kategorilerinden birinde sınıflandırılmaktadır ve yazarlar bu yöntemi kullanarak %84.2'lik bir sonuç elde edilmiştir.

[1]’de yazarlar, Word-Net'e dayalı olarak tanımlanmış başlıkların anlamsal özelliklerini artırmak için iki yöntem önermişlerdir. Maksimum Entropi (ME) ve doğrusal SVM yöntemlerini kullanarak sırasıyla %89.2 ve %89.0 doğruluk seviyesine ulaşmışlardır. Mollaei [19] dizi tabanlı sınıflandırıcılar kullanarak başka bir trend başlatmıştır. Koşullu Rastgele Alanlar (Conditional Random Fields, CRF), yazarlar tarafından sorudaki her jetonu sınıflandırmak ve daha sonra her soru için benzersiz bir etiket çıkarmak için kullanılmıştır. Çalışmalarının amacı Farsça soruları sınıflandırmaktır ve çalışma için kullanılan veri tabanı kendileri tarafından toplanmıştır. Veri tabanı sorularının yaklaşık %70'i ilkokul ve ortaokul materyallerinden, geri kalanı ise çeşitli web sitelerinin sık sorulan sorularından alınmıştır. [19]’daki Mollaei, her soru için kendi cevabı kategorisine göre cümleleri ana kategoriler ve alt kategoriler düzeyinde iki gruba ayırarak sınıflandırmıştır. Çalışmada veri tabanlarında %79,8'lik bir doğruluk elde edilmiştir. Diğer bir çalışmada [40] yazarlar, daha iyi sınıflandırma sonuçları elde etmek için semantik, sözdizimsel, ve sözcüksel özellikleri birleştirmişlerdir. Bunlara ek olarak, üç farklı yöntem kullanılmıştır: En Yakın Komşular (NN), Destek Vektör Makineleri, n-gram çantası ve kelime çantası modellerine dayanan Naive Bayes. Yazarlar ayrıca SVM sınıflandırıcısını kullanırken semantik, sözdizimsel, sözcüksel özelliği birleştirmenin sınıflandırma sonuçlarını iyileştirdiğini göstermişlerdir.

Loniin [18], [1]’in yazarlarının kullandıkları özelliklerin hemen hemen benzerini kullanmıştır. Yazarlar, özellik boyutunun alanını çok daha küçük bir boyuta azaltmak için LSA (Gizli Semantik Analiz) adı verilen PCA (Temel Bileşen Analizi)’ya yakın bir boyut küçültme yöntemi kullanmışlardır. Buna ek olarak, çalışmalarında Geri Yayılımlı Sinir Ağları (BPNN) ve Destek Vektör Makineleri kullanılmıştır. Makalelerindeki sonuçlar, Geri Yayılımlı Sinir Ağlarının SVM'den daha iyi başarı oranına sahip olduğunu göstermektedir.

(20)

olarak, sözcük dağarcığındaki sözcükleri kümelemek ve her soruyu sparse bir vektöre dönüştürmek için kümeleme algoritmaları kullanmışlardır. İkinci yöntemde ise, her bir özellik vektörünü, soru sözcüklerinin vektörlerinin doğrusal bir kombinasyonu olarak kabul etmişlerdir. Kelimelerin vektörünü çıkarmak için Word2vec yöntemi kullanılmıştır ve daha sonra tf-idf yöntemini kullanarak daha önce bahsedilen doğrusal kombinasyonun katsayıları belirlenmiştir. Daha sonra sınıflandırma için yazarlar tarafından Çok Katmanlı Algılayıcılar (MLP) ve Destek Vektör Makineleri kullanılmıştır. Kullanılan bu iki yöntemin uygulanmasıyla, üç soru veri tabanında MLP kullanılarak ortalama %72.46 ve SVM kullanılarak %72'lik bir doğruluk elde edilmiştir. Bir diğer kullanılan yöntemde ise her soru, her bir satırının bir kelimenin word2vec temsilini temsil ettiği bir matrise dönüştürülmüştür. Daha sonra, yazarlar bir LSTM ağı kullanarak üç soru veri setinde ortalama %81.77 başarı elde etmişlerdir. Ayrıca, bu çalışmada, İran'ın resmi televizyonunda gösterilen bir tür tehlike oyunundan toplanan Tahran Üniversitesi Soru Veri Seti 2016 (UTQD.2016) yazarlar tarafından oluşturuldu. Çizelge 2.1’de, soru sınıflandırması ilgili çalışmaların ana hatlarını göstermektedir.

Çizelge 2.1. Soru sınıflandırması ile ilgili başlıca çalışmalar.

Dil Veri seti Özellik çıkarma tekniği Sınıflandırma Tekniği

Doğruluk (%)

Referans İngilizce UIUC soru

veriseti

N-gram çantası modeli SVM 87.4 [14]

İngilizce UIUC soru veriseti

N-gram çantası modeli DT 84.2 [14]

İngilizce UIUC soru veriseti

N-gram çantası modeli NN 79.8 [14] İngilizce UIUC soru

veriseti

N-gram çantası modeli NB 83.2 [14] İngilizce UIUC soru

veriseti

Kelimeler, POS etiketleri, bölümleme, adlandırılmış varlıklar, anlamsal olarak ilgili kelimeler ve bu ilkel

özellikler üzerinden daha karmaşık özellikler oluşturmak için bir dizi operatörler

SNoW 91 [12]

İngilizce Penn treebank

sözcüksel özellikler, POS etiketleri – [11] İngilizce UIUC soru

veriseti

N-gram, adlandırılmış varlıklar SVM 82.0 [16] İngilizce UIUC soru

veriseti

(21)

Çizelge 2.1.(devam) Soru sınıflandırması ile ilgili başlıca çalışmalar.

İngilizce NTCIR-QAC1 Kelimeler, adlandırılmış varlıklar, anlamsal bilgi HDAG çekirdekli SVM

88.0 [10] İngilizce UIUC soru veriseti Hedef ve alıntılanan dizeler için WordNet,

sözcüksel ve sözdizimsel bilgiler: dil modeli, POS etiketleri, bölümleme, adlandırılmış varlık etiketleri,

hedef ve alıntılanan dizeler için WordNet

ME (maksimum entropi modeli)

86.0 [20]

İngilizce UIUC soru veriseti Kelimeler, adlandırılmış varlıklar, anlam bilgisi – 91 [22] İngilizce UIUC soru veriseti WordNet semantik özelliği için n gram, soru

kelimeleri, kelime şekilleri, baş kelime

SVM and ME 89 [1]

Farsça Neredeyse tamamı İlkokul ve ortaokul

verisi

N-gram, POS etiketleri, kelimeler, Soru Kelimeleri, tokenlerin yeri, soru bilgilendirici

CRF 85.3 [19]

Farsça QURANIC Question N-gram, POS etiketleri, Lemma, normalleştirilmiş kelime, soru uzunluğu, Ayet Bulucu araç

(VerseFinder), özel kelime algılama

Tanımlanmış kurallara sahip

SVM

75.9 [5]

İngilizce UIUC soru veriseti Kelime şekilleri, ilişkili kelimeler, hipernomlar, bigramlar, sorul kelimeleri, headwords

93.8 [18]

Farsça UTQD.2016 Word2vec, tf-idf MLP, SVM, LSTM, RNN

85 [8]

Buraya kadar anlatılan yöntemlere ek olarak kullanılan bir diğer yöntem ise makine çevirisi (Machine Translation (MT)) olarak isimlendirilen yöntemdir. Kaynak dildeki verileri hedef dile çeviren makine çevirisi, özellikle yeterli kaynak olmayan diller için soru yanıtlama sistemlerinde kullanılan diğer yöntemlerden biridir. Şimdi bu yöntem kullanılarak yazılan bazı çalışmalardan bahsedilecektir. [69]’un yazarları, sırasıyla eğitim ve test verilerinin çevirisini yapan iki makine çevirisine yönelik yaklaşımla diller arası açık soru cevaplama (cross-lingual Open QA) için bazı temel çerçeveler önermişlerdir. Yazarlar, çeviri testi ortamında, Ukraynaca, Lehçe ve Tamilce ‘den İngilizce’ye çeviri yapmak için Google Çeviri’yi kullanmış ve Fransızca, Portekizce, Almanca, Çince ve Rusça için kendi çevirmenlerini kullanmışlardır. [70]’de, Soru Cevaplama dahil olmak üzere doğal dil işleme sistemlerinin performansını artırmak için XLDA (cross-lingual data augmentation) (diller arası veri artırımı) adı verilen yeni bir yöntem sunulmuştur. Bu yöntemde, yazarlar NLP giriş metninin bir parçasını başka bir dildeki çevirisiyle değiştirmişlerdir. Sonuç olarak, XNLI veri seti üzerinde tüm dillerde %4.8'e kadar başarı oranını arttırmışlardır. Sistem, Urduca gibi yetersiz kaynaklı bir dil de dahil olmak üzere 3 dil için, en gelişmiş performansı elde etmiştir.[71]’de yazarlar, İngilizcede tek dilli Soru Cevaplama sistemini Endonezyaca-İngilizce diller arası soru cevaplama sistemine genişletmek için Endonezyaca soru analizöründe bir adaptasyon önermektedir. Burada kullanılan tek dilli soru cevaplama sistemi, modüler, genişletilebilir ve dilden bağımsız

(22)

soru cevaplama sistemi olan Open Ephyra'dır. Bu araştırmada, Open Ephyra diller arası soru cevaplama sistemi için özelleştirilmiştir ve Endonezya-İngilizce diller arası soru cevaplama sistemine uyarlanmıştır. Çalışmada yazarlar, kaynak dil tarafında soru çözümleyicisi kullanmanın, hedef dil tarafında soru çevirisini kullanmaktan daha iyi bir performans verdiğini göstermiştir.

[72]’nin yazarları, otomatik ve manuel çeviri değerlendirme metrikleri arasındaki ilişkiyi incelemişlerdir. Yazarlar hedefine ulaşmak için standart bir soru cevaplama veri setini kullanarak manuel ve otomatik çeviriler üretmişlerdir. Böylece makalede, yazarlar tarafından farklı çeviri sonuçları içeren bir soru seti grubu oluşturulmuştur. Öncelikle, soruları manuel olarak Japoncaya çevirmişlerdir ve daha sonra Japonca veri kümesini beş farklı yöntemle İngilizceye çevirmişlerdir. Makine çevirisi için Google, Yahoo, Moses ve Travator Translate kullanmışlardır.

[76]’da yazarlar Hintçe ve İngilizce olmak üzere soru ve cevapları içeren bir soru-cevap çifti oluşturmuştur. Girilen bir soruyu beklenen cevaba göre kategorilere ayırmak için bir derin öğrenme mimarisi kullanmıştır. Test sırasında Hintçe cevapları İngilizce ‘ye çevirmişler ve her soru için gerçek İngilizce cevabı ve tercüme edilen İngilizce cevabı birleştirerek bir cevap üretmişlerdir. Yazarlar kullandıkları bu yöntem sayesinde sırası ile alt kategorilerde %80.30 ve ana kategorilerde %90.12 başarı oranlarını elde etmişlerdir. [74]’de yazarlar soru cevaplama sistemleri üzerine yoğunlaşmışlardır ve cross-lingual (CLQA) (diller arası soru cevaplama sistemi) ve multilingual (MLQA) (çok dilli soru cevaplama sistemi) alt görevleri için literatürde mevcut olan çalışmaları göstermişlerdir. Ayrıca, bu çalışma temel bir derin öğrenme mimarisinin sonuçlarını çeşitli dil ortamlarında analiz etmek için yapılan ilk çalışmadır. [75]’in yazarları, her çeviri yönünün ve yönteminin kombinasyonu için bir özellik oluşturmuş ve en uygun özellik ağırlıklarını öğrenen bir model geliştirmişlerdir. İngilizce, Arapça ve Çince dillerinden oluşan büyük bir forum veri kümesinde, tüm metni İngilizce ‘ye çevirerek ve daha sonra sadece İngilizce (orijinal veya tercüme edilmiş) metne dayalı bir sınıflandırıcıyı eğitmişleridir ve bu şekilde yazarlar bu çevirmeyi-öğren yaklaşımı ile başarılı sonuçlar elde etmişlerdir.

2.1. METİN MADENCİLİĞİNDE DERİN ÖĞRENME

(23)

çıkması, geliştiricilerin ve araştırmacıların dikkatini çekmiştir, çünkü derin öğrenme algoritmaları, çeşitli doğal dil İşleme uygulamaları için olağanüstü bir performans elde etmektedir. Derin öğrenme algoritmaları, insan beynini modelleyen çeşitli algılayıcı katmanlardan oluşan makine öğrenme algoritmalarıdır [62]. Başka bir deyişle, çok sayıda doğrusal olmayan veri işleme katmanı içeren bir mimaridir ve ardışık katmanlardaki özelliklerin temsilini öğrenmeye yarayan bir tekniktir. Uzun Kısa Süreli Bellek, derin yapay sinir ağları, Kısıtlı Boltzman Makineleri (RBM), Konvolüsyonel Sinir Ağı, vb. gibi çeşitli görevlerde çeşitli derin öğrenme mimarileri kullanılmıştır. Buna ek olarak, derin öğrenme teknikleri, duygu analizi, metin sınıflandırması gibi çeşitli problemler için doğal dil işlemede dikkate değer sonuçlar elde etmiştir. Bu bölümde, derin öğrenme mimarilerini kullanan ilgili bazı çalışmalardan bahsedilecektir.

[51]’de yazarlar, Roma Urduca dilindeki tweetlerin duygularını tahmin etmek için Uzun Kısa Süreli Bellek kullanmıştır. LSTM modeline ek olarak, Random forest (Rastgele orman) ve Naive Bayes gibi diğer sınıflandırıcıları da kullanmışlardır. Yazarların yaptıkları kelime gömme (word embedding) yaklaşımları ile kullandıkları LSTM derin öğrenme modeli Roma Urduca dilinde duygu analizinde yapılan diğer çalışmalardan daha iyi bir performans sağlamıştır.

[57]’nin yazarları, hukuk metin verilerindeki belirsizliği tanımlamak için Tayland dilinde derin bir sinir ağı modeli yöntemi kullanmışlardır. Bu çalışmadaki belirsizliğin tanımı bu şekildedir; hukuk metin belgelerinin bir sistem tarafından okunduğunda, belirsiz olabilecek kesin olmayan bir anlam olarak tanımlanmıştır. Yazarlar özellikle dört Tay yasası kanununu kullanarak, etiketlenmiş bir veri seti oluşturmuşlardır. Bunlar; Medeni Usul Kanunu, Ticaret Kanunu ve Medeni Kanun, Ceza Kanunu ve Ceza Muhakemesi Kanunudur. Belirsizliği sınıflandırmak için üç durum üretilmiştir. Birincisi, delil üretimine ihtiyaç duyan bir karar, ikincisi ise hâkimin görüşüne bağlı olarak bir karar ve sonuncusu diğer öğeleri gösteren bir karardır. Derin sinir ağı modeline ek olarak yazarlar SVM, Rastgele Orman, Karar Ağacı gibi bazı makine öğrenme algoritmalarını kullanmışlardır. Çalışmanın sonuçlarına göre, derin sinir ağı tüm veri kümesinde %97.54'lük bir doğrulukla üstün performans sağlamıştır.

[52]’de yazarlar derin bir öğrenme kullanarak Hint dili olan Pencap dilinde duygu tahminini ve morfolojik işlemeyi bir arada kullanmışlardır. Pencap dili ile ilgili metin verileri, Hindistan'ın Pencap eyaleti için bildirilen çiftçi intihar vakaları ile ilgilidir. Bunun için Pencap dilinde Punjabi online sitelerinde yazılmış çiftçi intihar vakalarının

(24)

duygusal analizini kullanmışlardır. Pencap'ta 275 intihar vakası alınmıştır. Bu çalışmanın ön işleme aşaması, Pencap kelimelerinin ilgili kanonik formlara, morfolojik olarak değerlendirilmesini ve normalleştirilmesini içermektedir. Yazarlar bir sonraki aşamada, önceki aşamadan elde edilen Punjabi tokenleri üzerinde derin sinir ağı modelinin eğitimini ve testini gerçekleştirmişlerdir. Böylece yazarlar %95.45 oranında bir başarı oranı elde etmişlerdir.

[53]’de Vietnamca duygu analizi için derin öğrenme yöntemlerinden bazıları uygulanmıştır. Bu çalışmada, yazarlar üç farklı veri kümesini denemişlerdir. [54]’de yazarlar Vietnam dilinde attention mekanizmasını derin bir öğrenme mimarisi ile entegre eden seq2seq modelini kullanarak bir sohbet botu oluşturmuşlardır. Fakat yazarlar Vietnamca dili için sınırlı bir veri seti kullanmışlardır. Bu sohbet botu kullanıcılara yanıt verebilir, ancak anlamlı bir diyalog elde etmek için sohbet botu tarafından üretilen mesajlar, veri kümesi genişletilerek geliştirilmelidir.

[55]’in yazarları Rusçada, modern bilgisayar adli tıp alanındaki önemli konulardan biri olan, yazar bulmayı, yani belgenin çeşitli özelliklerini inceleyerek yazarı tanıma üzerine bir çalışma yapmışlardır. Yazarların kullandıkları yaklaşım, bir belgeyi belirli bir yazar tarafından yazıldığı şekli ile sınıflandırmak için kullanılan derin sinir ağlarına dayanmaktadır. Ayrıca bu çalışmada, etiket kodlama ve karakter n-gram gibi metnin vektör gösterimlerinin farklı yöntemleri de karşılaştırılmıştır.

Makalede, Rus dili ile yazılan bazı popüler sosyal medya platformundan toplanan birkaç korpus üzerinde gerçekleştirildi. Sunulan çalışma sonuçlarında, Tekrarlayan Sinir Ağı, Konvolüsyonel Sinir Ağı, Uzun Kısa Süreli Bellek Ağı ve çeşitli hibrit modeller gibi birçok popüler sinir ağı mimarisi kullanılarak performansları karşılaştırılmıştır. Önerilen modellerin başarısı, sınıflandırma doğruluğu dikkate alınarak yazarlar tarafından değerlendirilmiştir.

[56]’nın yazarları, sosyal medya kanalları üzerinde yazılan olumsuz sözleri bulmak için yeni bir derin öğrenme mimarisi kullanmışlardır. Bu yeni mimarideki performansı artırmak için çeşitli teknikler kullanılmıştır. Çalışmada, kelime gömme süreci duygu analizi eğitim sürecine entegre edilmiştir. Böylece, gömülü kelimeler eğitim verilerinden duygu semantiğini de yansıtmıştır. Yazarların kullandıkları korpustaki kelimelerin hem bağlam hem de duygu bilgisini yakalayan duygu analizi odaklı word2vec modeli, Vietnamca dili duygu analizine dayalı gömülü vektörler üretmiştir. [50]’nin yazarları,

(25)

Arapça tweetlerdeki duygu analizini gerçekleştirmek için Uzun Kısa Süreli Bellek ve Konvolüsyonel Sinir Ağı mimarilerini birleştiren bir derin öğrenme mimarisi kullanmışlardır. Yazarlar bu modelde, belirli özellikler elde etmek için herhangi bir özellik çıkarma tekniği veya komplike bir yöntem kullanmamışlardır. Yalnızca, Twitter verisi kullanılarak önceden eğitilmiş bir kelime vektör modeli kullanılmıştır.

2.2. SORU VERİTABANI

İngilizce ‘ye kıyasla Türkçe dilinde birçok veri setinde(dilde) olduğu gibi soru veri seti eksikliği bulunmaktadır. Bu çalışmaya başlarken, birçok araştırma yapılmış fakat çalışmamıza uyacak Türkçe dilinde etiketlenmiş uygun bir veri seti bulunamamıştır. Bundan dolayı Türkçe soru veri seti hazırlamaya karar verilmiştir. Bu çalışmada, tarafımızdan bir İngilizce soru veri seti olan ve yaygın olarak birçok araştırmacı tarafından literatürde kullanılan UIUC soru veri setinden çevrilmiş bir Türkçe soru veri seti kullanılmıştır. Bu veri setinin çeviri kalitesini artırmak için profesyonel bir şirketten yardım alınmıştır [64]. Bu veri setini seçmemizdeki en büyük neden, literatürdeki birçok çalışmada bu veri seti kullanılarak soru sınıflandırılma kalitesi değerlendirilmiştir. Bu veri tabanı Li ve ark. tarafından önerilen taksonomiyi kullanmaktadır [78].

Şekil 2.2. Li ve arkadaşları tarafından önerilen iki katmanlı taksonomi.

Bu taksonomide yazarlar, soruların sınıflandırılmasında yaygın olarak kullanılan iki katmanlı bir sınıflandırma gerçekleştirmişlerdir. Taksonomi göz önüne alındığında, soruları belirli bir kategoriye veya kategorilere yerleştirmek için sınıflandırma makinesine ihtiyaç duyulmaktadır. Li ve ark. Şekil 2.2'de gösterilen iki katmanlı bir sınıflandırma tanımlamıştır. Sınıflandırma toplam altı ana kategoriden ve 50 alt

(26)

kategoriden oluşmaktadır. Örneğin; ana kategoride bulunan “LOCATION:city” burada location (konum) konum alt kategorisi city (şehir) olarak belirlenmiştir.

UIUC soru veri tabanında, eğitim verilerinde 5500 tane soru ve test verilerinde 500 tane soru bulunmaktadır. Bu soru veri tabanının tüm ana sınıfları ve alt sınıfları ve her bir sınıf için veri tabanında bulunan soru sayısı ile birlikte Çizelge 2.2'de detaylı olarak gösterilmiştir [33].

Çizelge 2.2. UIUC soru veri tabanındaki soru kategorilerinin dağılımı.

Kategori # Eğitim # Test Kategori #Eğitim # Test

ABBREVIATION 86 9 animal creative other 112 207 217 16 0 12 abb exp 16 70 1 8 DESCRIPTION 1162 94 HUMAN 1223 65 reason description manner definition 191 274 276 421 6 7 2 123 description group individual title 25 47 189 962 3 6 55 1 ENTITY 1250 94 LOCATION 835 81 currency religion letter instrument symbol plant body lang word vehicle technique color substance product event sport term dis.med. food 4 4 9 10 11 13 16 16 26 27 38 40 41 42 56 62 93 103 103 6 0 0 1 0 5 2 2 0 4 1 10 15 4 2 1 7 2 4 mountain state city country other 21 66 129 155 464 3 7 18 3 50 NUMERIC 896 113 order temp code speed weight size period distance other money percent date count 6 8 9 9 11 13 27 34 52 71 75 218 363 0 5 0 6 4 0 8 16 12 3 3 47 9

Yukarıda bahsedildiği gibi, önerilen çalışma için Türkçe veri seti bu İngilizce veri setinden oluşturulmuştur. Bu veri setinin araştırma amacıyla kullanılmak üzere araştırmacılarla gerektiğinde paylaşılması planlanmaktadır.

(27)

3. METODOLOJİ VE SONUÇLAR

Bu bölümde ilk olarak, çalışmanın en önemli kısımlarından biri olan özellik çıkarma teknikleri ayrıntılı olarak açıklanacaktır. Bu özellik çıkarma teknikleri, soruların niteliğini sınıflandırmak için çok önemlidir. Bundan sonra sınıflandırma teknikleri ve sınıflandırıcılar incelenecektir. Bu çalışmanın bir özeti olarak Şekil 3.1’de, kelimeleri vektörlere dönüştürme ve soruları sınıflandırmak için kullanılan ilgili sınıflandırma yöntemleri gösterilmiştir.

Daha sonraki bölümde, word2vec yöntemleri (Skip Gram ve CBOW) kullanılarak soruları sınıflandırmak için kullanılan soru sınıflandırma teknikleri gösterilecektir. Şekil 3.1’de, bu çalışmanın genel bir özetini göstermektedir.

Şekil 3.1. Önerilen çalışmanın genel mimarisi.

3.1. WORD2VEC NEDİR?

Word2vec, sözcüklerin vektör uzayında gösterilmesini sağlayan ve sözcükler arasındaki mesafeyi vektörel olarak hesaplamayı sağlayan denetimsiz ve tahmine dayalı bir modelleme sistemidir. Bu tezde bu bölümde, eğitilmiş word2vec modelini kullanarak

(28)

Türkçe kelimeler arasındaki bazı benzerlik ve ilişkiler gösterilecektir.

Word2vec modeli girdi olarak bir metin korpus alır ve çıktı olarak kelime vektörlerini üretir. İlk önce eğitim metni verisinden bir kelime hazinesi oluşturur ve sonra kelimelerin vektör temsilini öğrenir. Elde edilen kelime vektör dosyası, birçok doğal dil işleme ve makine öğrenimi uygulamasında özellikler olarak kullanılabilmektedir.

Öğrenilmiş temsilleri bulmanın en basit bir yolu, kullanıcı tarafından belirlenen bir kelime için en yakın kelimeleri bulmaktır. Örneğin Google’dan Mikalov ve arkadaşlarının geliştirdiği mesafe aracı bu amaç için geliştirilmiş bir programdır. Örneğin Şekil 3.3’de, 'france' (fransa) girerseniz, mesafeye en benzer kelimeleri ve uzaklıklarını göstermektedir ve bunlar Şekil 3.2’deki gibi görünmektedir [84]:

Şekil 3.3. Google ’un geliştirdiği mesafe aracından bir örnek.

Yukarıdaki Tabloya göre “France” kelimesine en yakın olan sözcük “spain” ve daha sonra en yakın olanlar bu mesafe uzaklığına göre diğer ülkeler olmuştur. Bu tez çalışmasının bu bölümünde, İngilizce’de yapılan bu uygulamanın benzeri Türkçe veri seti üzerinde gerçekleştirilmiştir.

Word2vec'te iki ana öğrenme algoritması bulunmaktadır. Bunlar: continuous bag-of-words (CBOW) and skip-gram’dır. Her iki algoritmada, cümledeki diğer kelimelerin tahmin edilmesi için yararlı olan bir kelimenin temsilini öğrenmektedir. CBOW’da verilen bir kelimenin sağındaki ve solundaki kelimeler verilir ve daha sonra ilgili kelime tahmin edilmeye çalışılır fakat Skip Gram modelinde ise merkezde bir kelime verilir ve daha sonra bu kelimenin sağındaki ve solundaki kelimeler tahmin edilmeye çalışılır. Her

(29)

ikisi de kelimeler arasındaki ilişki ve benzerlikleri bulma bakımından iyi sonuçlar vermektedir. CBOW ve Skip Gram modellerinin mimarisi Şekil 3.4’deki gibidir.

Şekil 3.4. CBOW (solda) ve skip-gram (sağda) modelleri.

Word2vec’in çalışma mantığının daha rahat anlaşılması bakımından örnek olarak “Hızlı koşan bir kahverengi tilki tembel köpeğin üstünden zıplayarak atladı” cümlesini veri olarak alalım. Bu cümledeki her bir kelime one-hot encoding olarak geçen işlemle 1 veya 0 olarak temsil edilmektedir. Cümlede toplam 10 tane farklı kelime bulunmaktadır. Şekil 3.5’de örnek bir cümlenin nasıl one-hot encodinge çevrilmesi gösterilmiştir.

Şekil 3.5. Her bir kelimenin one-hot encoding olarak gösterimi

Daha sonra belirlenecek parametrelerden, Word2Vec için en önemli olanı pencere boyutudur. Pencere boyutu parametresi modelde ortadaki kelimenin solunda ve sağındaki kelime sayısının ne kadar olacağını ifade etmektedir. Şekil 3.6’de gösterilen örnek

(30)

pencere boyutu 2 olan bir örnektir:

Şekil 3.6. Pencere boyutunun 2 seçildiği bir örnek

Daha öncede bahsedildiği gibi, iki farklı word2vec modeli olan Skip-Gram ve CBOW arasındaki fark ise giriş ve çıkış verisinin alınması bakımında farklılık göstermektedir. Skip-gram mimarisinde hedef sözcük giriş olarak alınır ve hedefte olmayan sözcükler çıkış olarak tahmin edilir. Bu süreç metin verisi bitene kadar sürmektedir. Bir cümleye uygulanan bu işlemler tüm cümlelere uygulanır ve bu şekilde ilk başta bulunan etiketsiz veriye eşleştirme işlemi gerçekleştirilerek eğitilmeye hazır hale getirilir. CBOW’da ise tam tersi olarak, pencere boyutunun merkezinde olmayan sözcükler giriş olarak alınmakta ve daha sonra merkezde olan sözcükler çıkış olarak tahmin edilmektedir.

Örnek olarak; “Hızlı koşan bir kahverengi tilki tembel köpeğin üstünden zıplayarak atladı” cümlesi kullanılacak veri olsun. Giriş verisinde bu cümle kullanır ve model olarak da word2vec’in CBOW yapısı kullanırsa sistem sırası ile aşağıdaki işlemleri yapacaktır. Burada pencere boyutunun 1 olarak belirlendiğini varsayalım. Bu durumda sistem öncelikle “Hızlı” kelimesini hedef (merkez) kelime olarak alacaktır. Daha sonra pencere boyutu 1 olduğu için merkez kelimenin solundaki ve sağındaki birer kelime ayrı ayrı giriş olarak ayarlanacaktır. Bu şekilde sistem merkeze yerleştirdiği “Hızlı” sözcüğünü yapay sinir ağı modeli ile tahmin etmeye çalışmaktadır. Daha sonraki adımda ise sistem pencereyi 1 kelime sağa doğru kaydırarak “koşan” kelimesini merkez kelime olarak alacaktır. Burada “Hızlı” ve “bir” sözcüklerinin one-hot encode’a çevrilmiş vektörleri kullanılarak “koşan” kelimesi tahmin edilmeye çalışılmaktadır.

(31)

encodinge çevrilmiş durumuna örnektir. Tabloda kırmızı renk girişi, yeşil renk ise çıkışı göstermektedir.

Şekil 3.7. CBOW modelinin giriş ve çıkışları ayarlaması

Bu cümle aşağıdaki gibi bir CBOW modeli için bir eğitim setine dönüştürülebilir. Giriş aşağıda gösterilmiştir. Şekil 3.8’da sağdaki matris, soldaki girişten gelen bir one-hot encoding içermektedir.

Şekil 3.8. CBOW modeli için verinin bir eğitim setine dönüştürülmesi

5. Sıradaki verinin hedefi ise aşağıdaki gibi olduğunu varsayalım.

(32)

bir yapay sinir ağına gönderilmektedir. Bir CBOW modelinin şematik bir temsili, Şekil 3.9’deki gibidir [85]. Çıkış katmanı bir softmax’dır.

Şekil 3.9. Bir CBOW modelinin şematik bir temsili.

3.2. PYTHON’DA TENSORFLOW KÜTÜPHANESİNİ İLE TÜRKÇE’DE BASİT BİR WORD2VEC UYGULAMASI

Basit bir şekilde özetlemek gerekirse word2vec algoritması aşağıdaki gibi çalışmaktadır. Word2vec'in arkasındaki temel fikir şunlardır [98]:

1) 3 katmanlı bir sinir ağı oluşturulur (1 giriş katmanı + 1 gizli katman + 1 çıkış katmanı) 2) Bir kelime yapay sinir ağına verilir ve komşu kelimeleri eğitilerek tahmin edilir. 3) Sonuncu katman (çıktı katmanı) çıkarılır ve giriş ve gizli katmanı tutulur.

4) Şimdi, eğer kelime sözlüğünden bir kelime girilirse, gizli katmanda verilen çıktı, giriş kelimesinin kelime gömmesidir.

Sadece bu kadar basit bir işi yapmak, yapay sinir ağının kelimelerin ilginç temsillerini öğrenmesini sağlamaktadır. Şimdi, word2vec sisteminin basit şekilde nasıl çalıştığını daha iyi anlatmak için basit bir metin verisi ile, bir word2vec modeli uygulamalı olarak gösterilecektir.

Üzerinde çalışılan ham metin verisi aşağıdaki gibi olsun.

'Türkiye asya ve avrupa da bulunmaktadır . istanbul Türkiye nin en büyük şehridir . istanbul avrupa kıtasındadır . Ankara Türkiye nin başkentidir.’

Burada gösterilecek olan örneğin basit bir şekilde gösterilmesi adına, bu metin verisindeki noktalama işaretleri vb. bilerek aralıklı bırakılmıştır, eğer bunlar kaldırmak istenirse

(33)

metin çeşitli ön işleme yöntemleri kullanarak temizlenebilir.

Bu örnek Python ve tensorflow kütüphanesi kullanılarak gösterilecektir. İlk olarak kullanılacak kütüphaneler tanıtılmıştır (Tensorflow ve numpy). Daha sonra kullanılacak metin verisi sisteme tanıtıldı ve tüm metin küçük harflere çevrildi.

Şimdi burada, bu metin verisi öyle bir giriş çıkış çiftine dönüştürülmelidir ki, böylece bir kelime girildiğinde, sistem komşu kelimeleri tahmin etmelidir. Bu komşu kelimeleri belirlerken kullanılan temel parametre “windows_size” yani “pencere_boyutu” parametresidir. Burada bu parametrede 2 alınırsa, sistem kelimeden önceki ve sonraki 2 kelimeye bakarak giriş çıkış verisini oluşturacaktır.

Bu işlemi yapmadan önce, metin verisinde olan kelimeleri tamsayılara ve tamsayıları da kelimelere çeviren bir sözlük oluşturulur. Bu şekilde yapılması modeli eğitirken kolaylık sağlayacaktır [98].

Sözlük bahsedildiği gibi her bir kelimeyi tamsayıya çeviriyor. Burada sözlüğün sağladığı duruma örnek olarak;

(34)

Bundan sonra tüm cümleler bir kelime listesi olarak oluşturulur.

Böylece, her cümlenin bir kelime listesi olduğu bir cümle listesi elde edilir.

Bu işlemlerden sonra şimdi, eğitim verisi aşağıdaki gibi oluşturulur:

[['türkiye', 'asya'], ['türkiye', 've'], ['asya', 'türkiye'], ['asya', 've'], ['asya', 'avrupa'], ['ve', 'türkiye'], ['ve', 'asya'], ['ve', 'avrupa'], ['ve', 'da'],

(35)

['avrupa', 'asya'], ['avrupa', 've'], ['avrupa', 'da'], ['avrupa', 'bulunmaktadır'], ['da', 've'], ['da', 'avrupa'], ['da', 'bulunmaktadır'], ['bulunmaktadır', 'avrupa'], ['bulunmaktadır', 'da'], ['istanbul', 'türkiye'], ['istanbul', 'nin'], ['türkiye', 'istanbul'], ['türkiye', 'nin'], ['türkiye', 'en'], ['nin', 'istanbul'], ['nin', 'türkiye'], ['nin', 'en'], ['nin', 'büyük'], ['en', 'türkiye'], ['en', 'nin'], ['en', 'büyük'], ['en', 'şehridir'], ['büyük', 'nin'], ['büyük', 'en'], ['büyük', 'şehridir'], ['şehridir', 'en'], ['şehridir', 'büyük'], ['istanbul', 'avrupa'], ['istanbul', 'kıtasındadır'], ['avrupa', 'istanbul'], ['avrupa', 'kıtasındadır'], ['kıtasındadır', 'istanbul'], ['kıtasındadır', 'avrupa'], ['ankara', 'türkiye'], ['ankara', 'nin'], ['türkiye', 'ankara'], ['türkiye', 'nin'], ['türkiye', 'başkentidir'], ['nin', 'ankara'], ['nin', 'türkiye'], ['nin', 'başkentidir'], ['başkentidir', 'türkiye'], ['başkentidir', 'nin']]

Sistemi eğitmek için, eğitim verisi yukarıdaki gibi oluşturuldu. Daha önceden de açıklandığı üzere, burada, bu verilerin bir bilgisayarın anlayabileceği bir şekilde sayılarla temsil edilmesi gerekir. Burada word2vec sözlüğü çok işe yarayacaktır. Bundan sonra, bir adım daha ileri gidilerek bu sayılar one-hot-encoding sistemine dönüştürülür. Sistemin, 3 kelimelik bir kelime sözlüğü olduğunu varsayılırsa: kutu, armut, elma. Bunlar aşağıdaki gibi one-hot encoding sistemine çevrilir.

word2int['kutu'] -> 0 -> [1 0 0] word2int['armut'] -> 1 -> [0 1 0]

(36)

word2int['elma'] -> 2 -> [0 0 1]

One-hot encodinge çevirme işlemini yapan fonksiyon aşağıdaki gibidir [98].

[[0. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.] [0. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.] [0. 0. 0. 0. 0. 0. 1. 0. 0. 0. 0. 0. 0. 0.] [0. 0. 0. 0. 0. 0. 1. 0. 0. 0. 0. 0. 0. 0.] [0. 0. 0. 0. 0. 0. 1. 0. 0. 0. 0. 0. 0. 0.] [0. 0. 0. 0. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0.] [0. 0. 0. 0. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0.] [0. 0. 0. 0. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0.] [0. 0. 0. 0. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0.] [1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.] [1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.] [1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.] [1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.] [0. 0. 0. 0. 0. 0. 0. 1. 0. 0. 0. 0. 0. 0.] [0. 0. 0. 0. 0. 0. 0. 1. 0. 0. 0. 0. 0. 0.] [0. 0. 0. 0. 0. 0. 0. 1. 0. 0. 0. 0. 0. 0.] [0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 0.] [0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 0.] [0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1.] [0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1.] [0. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.] [0. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.] [0. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.] [0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 0. 0. 0.] [0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 0. 0. 0.] [0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 0. 0. 0.] [0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 0. 0. 0.] [0. 0. 0. 0. 0. 1. 0. 0. 0. 0. 0. 0. 0. 0.] [0. 0. 0. 0. 0. 1. 0. 0. 0. 0. 0. 0. 0. 0.] [0. 0. 0. 0. 0. 1. 0. 0. 0. 0. 0. 0. 0. 0.] [0. 0. 0. 0. 0. 1. 0. 0. 0. 0. 0. 0. 0. 0.] [0. 0. 0. 0. 0. 0. 0. 0. 1. 0. 0. 0. 0. 0.] [0. 0. 0. 0. 0. 0. 0. 0. 1. 0. 0. 0. 0. 0.] [0. 0. 0. 0. 0. 0. 0. 0. 1. 0. 0. 0. 0. 0.]

(37)

[0. 0. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.] [0. 0. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.] [0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1.] [0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1.] [1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.] [1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.] [0. 0. 0. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.] [0. 0. 0. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.] [0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 0. 0. 0. 0.] [0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 0. 0. 0. 0.] [0. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.] [0. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.] [0. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.] [0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 0. 0. 0.] [0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 0. 0. 0.] [0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 0. 0. 0.] [0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 0. 0.] [0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 0. 0.]] print(train_y) [[0. 0. 0. 0. 0. 0. 1. 0. 0. 0. 0. 0. 0. 0.] [0. 0. 0. 0. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0.] [0. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.] [0. 0. 0. 0. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0.] [1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.] [0. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.] [0. 0. 0. 0. 0. 0. 1. 0. 0. 0. 0. 0. 0. 0.] [1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.] [0. 0. 0. 0. 0. 0. 0. 1. 0. 0. 0. 0. 0. 0.] [0. 0. 0. 0. 0. 0. 1. 0. 0. 0. 0. 0. 0. 0.] [0. 0. 0. 0. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0.] [0. 0. 0. 0. 0. 0. 0. 1. 0. 0. 0. 0. 0. 0.] [0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 0.] [0. 0. 0. 0. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0.] [1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.] [0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 0.] [1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.] [0. 0. 0. 0. 0. 0. 0. 1. 0. 0. 0. 0. 0. 0.] [0. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.] [0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 0. 0. 0.] [0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1.] [0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 0. 0. 0.] [0. 0. 0. 0. 0. 1. 0. 0. 0. 0. 0. 0. 0. 0.] [0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1.] [0. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.] [0. 0. 0. 0. 0. 1. 0. 0. 0. 0. 0. 0. 0. 0.] [0. 0. 0. 0. 0. 0. 0. 0. 1. 0. 0. 0. 0. 0.] [0. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.] [0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 0. 0. 0.] [0. 0. 0. 0. 0. 0. 0. 0. 1. 0. 0. 0. 0. 0.] [0. 0. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.] [0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 0. 0. 0.] [0. 0. 0. 0. 0. 1. 0. 0. 0. 0. 0. 0. 0. 0.] [0. 0. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.] [0. 0. 0. 0. 0. 1. 0. 0. 0. 0. 0. 0. 0. 0.] [0. 0. 0. 0. 0. 0. 0. 0. 1. 0. 0. 0. 0. 0.] [1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]

(38)

[0. 0. 0. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.] [0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1.] [0. 0. 0. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.] [0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1.] [1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.] [0. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.] [0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 0. 0. 0.] [0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 0. 0. 0. 0.] [0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 0. 0. 0.] [0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 0. 0.] [0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 0. 0. 0. 0.] [0. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.] [0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 0. 0.] [0. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.] [0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 0. 0. 0.]]

Bu şekilde model için train_x ve train_y verisi oluşturulmuştur. Verilerin boyutlarını gösterilirse;

Burada, 14 boyutlu olan 52 eğitim noktası vardır.

Daha sonra tensorflow kütüphanesi kullanılarak elde edilen verilerin eğitimi aşağıdaki gibi yapılır.

(39)

loss is : 7.1608915 loss is : 6.3537116 loss is : 5.807663 loss is : 5.4059744 loss is : 5.0900936 loss is : 4.8321447 loss is : 4.6174965 loss is : 4.436805 loss is : 4.2833276 loss is : 4.1519275 loss is : 4.03859 loss is : 3.940135. . . . . . . loss is : 1.3818666 loss is : 1.3818662 loss is : 1.3818657 loss is : 1.3818653 loss is : 1.3818647 loss is : 1.3818644 loss is : 1.3818638 loss is : 1.3818632 loss is : 1.3818629 loss is : 1.3818626 loss is : 1.3818619 loss is : 1.3818614

Sistemin eğitimi bittikten sonra, sabit bir kayıpta stabilize olur. Burada, yüksek bir doğruluk elde edilmese de bu çok önemli değil çünkü buradaki amaç word2vec’in çalışma mantığının gösterilmesidir. Buradaki en önemli değerler, W1 ve b1 değerleri, yani gizli temsillerdir.

(40)
(41)

Bundan sonra; "Türkiye" kelimesinin temsili gösterilecek olursa:

Son olarak, öğrenilen bu vektörlerle ne yapılabilir. Burada, belirli bir vektöre en yakın vektörü bularak kelimeler arasındaki ilişkiler belirlenebilir [98]. Doğal olarak, burada yapılan uygulamada kullanılan veriler çok az olduğundan dolayı çok iyi sonuçlar elde edilmeyebilir.

Türkiye, İstanbul ve Avrupa kelimelerine en yakın olarak elde edilen kelimeler aşağıdaki gibi çıkmaktadır. Burada en mantıklı çıkan yakınlık Türkiye’nin Ankara kelimesine olan yakınlığı olarak söylenebilir.

Tekrar edilmesi gerekirse uygulamadaki korpus verisi sadece birkaç cümleden oluştuğu için tüm kelimeler için burada mantıklı ilişkiler kurulamadı. Eğer kelimeler arasındaki ilişkileri doğru bir şekilde yakalamak istenirse korpus verisinin büyüklüğünün arttırılması gerekiyor. Ne kadar büyük bir korpus seçilirse kelimeler arasındaki mantıksal ilişkiler o derece iyi olur.

(42)

bakılabilir. Burada boyut küçültmek için tSNE kullanılmıştır. Öncelikle, tSNE kullanılarak boyutsal küçültme tekniği ile boyutlar 5'ten 2'ye düşürülür [98].

Ardından, sonuçları normalleştirilmesi gerekir, böylece kelimeler matplotlib'de daha rahat görüntülenebilir.

Böylece, daha sonra 2D boyutlu normalize edilmiş olan vektörleri görüntülenebilecektir.

Önerilen sistem eğitilirken ilk başta tensorflow kütüphanesinden faydalanılmış [65], fakat daha sonra Gensim kütüphanesinin çok hızlı ve pratik olduğu görülmüştür [42], [45]. Bu

(43)

yüzden Gensim kütüphanesi bu tez çalışmasında kullanılmıştır. Önerilen modelin eğitimi için gerekli olan veri Wikipedia verilerinden oluşturulmuştur. Açık kaynak olması ve erişilebilir olması bakımından bir örnek olarak, Türkçe dilinde yazılmış tüm Wikipedia makalelerine internet üzerinden ulaşılabilmektedir. Bu tez çalışmasında yayınlanmış olan 20180120 numaralı ve şu an itibari ile internet üzerinden erişilebilen ve linki aşağıda olan derleme, önerilen modelin eğitimi için kullanılmıştır.

https://dumps.wikimedia.org/trwiki/

Burada Türkçe tabanlı Wikipedia’nın makaleleri ve yazıları bulunmaktadır. Tez çalışmasında bu veriden başka veriler de kullanabilirdi ancak Wikipedia verisinin geniş kapsamlı olması ve açık kaynak olması sebebiyle Wikipedia verisi tercih edilmiştir. Burada veri xml formatında indirilmiştir. Fakat bu verinin kullanılabilmesi için uygun bir şekilde ön işlemeden geçirilmesi ve gerekli düzenlemelerin yapılması gerekmektedir. Aksi halde veri kullanılmaz.

3.2.1. Veri Önişleme

Yukarıda bahsedildiği gibi kullanılan Word2vec modelinin oluşturulması ve eğitilmesi için verinin uygun bir şekilde düzenlenmesi gerekmektedir. Bunun için öncelikli olarak, derlemedeki makalelerden noktalama işaretlerinin kaldırılması gerekmektedir ve daha sonra tek satır halinde ayrı ayrı makalelerin her birinin bir satıra yazılması işlemi gerçekleştirilir.

Derlememizi önişleme işlemi yaptıktan sonraki görünümünün bir bölümü aşağıdaki Şekil 3.10’da gösterilmektedir.

Referanslar

Benzer Belgeler

Yapılan bu çalışmada 4317 adet çiçek görüntüsünden oluşan 5 adet çiçek sınıfını bünyesinde ihtiva eden halka açık veri kümesi kullanılarak derin öğrenme yöntemleri

Fatih A n ıtı’nın açılışı nedeniyle, tatilini yarıda kesip İstanbul’a gelen Başbakan Turgut Özal törende yaptığı konuşmada, ‘‘İktidara geldiğimiz ilk

&#34;Rapor&#34; seçeneği Text Dosya, Excel Dosya, VTS Format, HTML kayıt türlerini desteklerken, &#34;Gelişmiş Rapor&#34; seçeneği Excel Workbook, Excel Template, Excel 97-

LSTM modelinin test kümesinin hata değerlerine bakıldığında MSE’nin % 3 ile en düşük hata değeri ve RMSE’nin % 17 ile en yüksek hata değeri olduğu görülmüştür

Örneklerin ikincisi olan *ö-l-ü-m şekli işe şu an- lama gelir: Türkçenin 1400 yıllık metinle-rinde ö-dü-m, ö-dü-n, ö-dü şek- linde çekimli ö- fiil kökü tespit

Buna göre, Sinop Merkez’de okul ve derslik başına düşen ortaöğretim öğrenci sayısı Sinop ve TR82 ortalamasından yüksektir.. Öğretmen başına düşen

Mehmet BAĞMANCI Türk Dili ve

Veri kümesi oluşturulduktan sonra derin öğrenme mimarilerinden AlexNet, Vgg-16 ve ZFNet mimarileri kullanılarak yüz tanıma ve duygu analizi gerçekleştirilen