Metin madenciliği ve makine öğrenmesi ile internet sayfalarının sınıflandırılması
Web page classification using text mining and machine learning
Yazar: İLKER ŞAHİN
Danışman: DOÇ. DR. OUMOUT CHOUSEIN OGLOU
Hacettepe Üniversitesi / Fen Bilimleri Enstitüsü / Endüstri Mühendisliği Ana Bilim Dalı
Derece: Yüksek Lisans, 2019
Konu: Endüstri ve Endüstri Mühendisliği = Industrial and Industrial Engineering

Özet:
Alan adı bir web sitesinin İnternet ortamındaki adresidir. Bu alan adları kullanılarak, istenilen adres ziyaret edilebilir ve istenilen bilgiye ulaşılabilir. Günümüz dünyasında İnternet sitelerinin sayısı üstel artmakta ve bu sitelerin içeriğindeki zararlı içeriği engellemek ya da yararlı bilgilere daha kolay ulaşmak için, İnternet sayfalarını sınıflandırmak gerekmektedir. İnternet sitelerini sınıflandırmak için hem akademik çalışmalarda hem de özel şirketlerde, yöntemler ve algoritmalar geliştirilmektedir. Bu sayede İnternet kullanıcısının, içeriğine göre sınıflanan sitelerde, varsa sahtekârlık içeren unsurlara maruz kalmaması veya önceden belirlenen sınıfa sahip İnternet sitelerine erişimin engellenmesi hedeflenir.
İnternet sitelerinin filtrelenmesi sayesinde, belirli sitelerin erişimine izin vermeye veya erişimi engellemek için kurallar oluşturmaya olanak tanınır. İnternet kullanıcıları için kurallar oluşturulabilir, belirlenen kurala göre kullanıcı, belirlenen sınıftaki İnternet sitelerine erişemez. Bu özelliği sayesinde, sınıflandırma hem ev hem de iş ortamları için önem arz eder. Örneğin, ebeveynler, çocuklarının uygunsuz web sitelerini ziyaret etmelerini engelleyebilirken, şirketler çalışma saatlerinde çalışanların sosyal ağ vb. siteleri ziyaret etmelerini engelleyebilir. Bu sınıflandırma çalışması için, son yıllarda hızla yeni yöntemlerin ve algoritmaların geliştirilği; istatistik, yazılım, endüstri mühendisliği, matematik gibi farklı disiplinleri arasında bulunduran veri bilimi kullanılmıştır. Veri biliminin alt dallarından makine öğrenmesi ve derin öğrenme algoritması ile bu sınıflandırma işlemi otomatize edilmiştir.  
Tezin amacının uygulama kısmı ise İnternet sayfalarını sınıflandırmaktır. Çalışmanın sonunda girdi olarak bir alan adı verildiğinde, oluşturulan model sayesinde bu alan adına ilişkin bir sınıf bilgisinin geri dönüş olarak alınması amaçlanmıştır.  Bu sınıflandırma işlemi için öncelikle İnternet sayfası-sınıfı şeklinde veriler çıkartılıp öğrenme seti ve test verileri oluşturulmuştur. Bu çalışmada, farklı makine öğrenmesi yöntemleri ve yapay sinir ağları kullanılarak İnternet sitesi sınıflandırma problemi incelenmiştir. Bu sınıflandırma probleminin çözümü için, İkili Sınıflandırma ve Çok Sınıflı Sınıflandırma olarak iki farklı yaklaşım uygulanmış, her iki yaklaşım da çalışma kapsamında toplanan İnternet siteleri üzerinde test edilip, performansları karşılaştırılmıştır. Başarıma bakıldığında ikili sınıflandırıcılar için en iyi performans gösteren algoritma Lojistik Regresyon olmuştur. Çok Sınıflı Sınıflandırma yaklaşımında uygulanan algoritmalar arasından ise en yüksek başarıma sahip yöntem Destek Vektör Makineleri (Support Vector Machines, SVM) olmuştur. Ayrıca, Çok Sınıflı Sınıflandırma problemi için farklı kelime vektörleştirme yöntemleri denenmiş ve performansları karşılaştırılmıştır. İkili ve Çok Sınıflı sınıflandırma yaklaşımlarında kullanılan algoritmaların ayrı ayrı ve farklı vektörleştirme yöntemleri ile denenmesi, İnternet sayfalarının sınıflandırılması ve içerik filtrelenmesi problemlerinin birlikte ele alınmasını sağlamış olup, alandaki benzer çalışmalardan farkı ortaya konmuştur. Öğrenme yöntemlerinin öğrenme ve test setlerinin yanlılığını araştırmak için performans araçlarından F1 Skoru, hata matrisi gibi teknikler kullanılmıştır. Tüm deneysel sonuçlar göz önüne alındığında, İkili Sınıflandırma sadece istenilen bir İnternet site sınıfının filtrelenmesi görevini yerine getirmek için kullanıldığında daha etkili olacağı tespit edilmiştir. İkili Sınıflandırmada kullanılan yöntemlerin, analizin süreçleri boyunca işlemsel performans (süre) göz önüne alındığında, Lojistik Regresyon ve Bernoulli Naive Bayes sınıflanırıcılarının, yapay sinir ağlarına göre 150 kat daha hızlı sonuçlandığı gözlenmiştir.

Abstract:
The domain name is the address of a website on the Internet. By using these domain names, the desired address can be visited and the desired information can be accessed. In today's world, the number of Internet sites are increasing exponentially and in order to prevent accessing possible harmful content in these web sites or to find useful information more easily it is necessary to classify the web pages. Methods and algorithms for website classification are proposed by both academic studies and private companies. Hence, it is intended that the Internet user is not exposed to fraudulent elements in any of the sites classified according to their content or the access to predetermined websites is prevented.
Filtering Internet sites allows us to set rules to allow or block access to certain sites. Rules can be created for specific users of the computer, the user cannot access the Internet sites in the specified class according to the specified rule. For this feature, classification is important for both household and work environments. For example, while parents can prevent children from visiting inappropriate web sites, companies might also prevent their employees to visit social media websites during work hours. For this classification study the approaches in the domain of data science, which includes several disciplines such as statistics, software engineering, industrial engineering and mathematics, and where new methods are continuously developed and proposed in the last years, have been employed. The classification process has been automated with machine learning and deep learning algorithms, which are sub-branches of data science.
The technical part of this thesis is the classification of web pages. The aim is that at the end of the study, when a web domain name is given as input, a class value should be returned for this web domain with respect to the developed model. For this classification process, firstly the data was extracted in the form of web page-class, and accordingly the learning set and test data were created. In this study, web site classification problem is investigated by using different machine learning methods and artificial neural networks. In order to solve this classification problem, two different approaches have been employed, namely Binary Classification and Multi-Class Classification. Both approaches have been tested on web sites collected in the study and their performance has been compared. In terms of performance, it has been observed that for binary classifiers Logistic Regression is the best performing algorithm. Among the algorithms applied in the Multi-Class Classification approach, Support Vector Machines (SVM) is the most successful method. Furthermore, different word vectorization methods have been employed and their performances have been compared in the Multi-Class Classification problem. The use of algorithms in Binary and Multi-Class Classification approaches by employing different vectorization methods, is a combined approach to the problems of classification of web pages and content filtering, and this puts forward the difference of the current study from similar studies in the field. In order to investigate the bias of learning methods and test sets, techniques such as F1 score of performance and error matrix were used. Considering all experimental results, it has been found that Binary Classification will be more effective only when used to fulfill the task of filtering a desired Internet site class. In the analysis, Logistic Regression and Bernoulli Naive Bayes classifiers have been found to be 150 times faster than artificial neural networks when computing performance (time)  of the methods used in Binary Classification has been taken into account.