narkoz31030 / Classification-of-Websites-by-Their-Contents-

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Website Categorization and Filtering (Computer Project 2019) Alperen Aksu Aydın Yardımcı Counselor: Prof. Dr. Banu Diri

Scope of Our Project

  • Project:
    • Existing websites , according to their content
    • Filtering of classified websites

Motivation of Our Project

The development of the Internet has created many undesirable situations. One of them is that people of all ages can access all kinds of content on the internet..

The problem of our project is that adult and violent content can be accessed by minors..

Purpose of Our Project

Our project has been developed to prevent minors from accessing this type of content..

The Method of Our Project

In our project, it is necessary to infer from the content of the site in order to determine the category of the sites visited . This inference has been carried out by machine learning methods..

A browser plug-in has been developed to block the website to be accessed on the Internet..

Machine learning

  • In order to generate a classification model in machine learning, a dataset to train the model is required..
  • This dataset has been generated by us since it is not available on the internet..

Generating Dataset

  • Dataset must be generated from content of sites which have specified categories
  • Two ways have been followed for this.
    • alexa.com/topsites/” was obtained by pulling the domain names of the sites listed under certain categories on the website.;
    • Google API and Yandex API kullanılarak belirli sorgulara karşılık cevap gelen alan adları çekilmiştir.
    • Bu alan adları kullanılarak içerikler çekilmiş, karşılık gelen kategoriler ile birlikte veri seti oluşturulmuştur.

Retrieving Domain Names

There is no specific list of Turkish sites by categories, Domain names were obtained by making related queries over Google API and Yandex API..

Retrieving Content Of Sites

  • Websites contain some meaningful words in specific HTML elements that related to their contents. These HTML elements are:.
    • Title
    • Description(Meta Data)
    • Keywords(Meta Data)

Retrieving Content Of Sites

The "beautifulsoup" library developed in Python language was used to pull the content in the tags..

Steeming Contents

Punctuation marks have been deleted.

Turkish letters have been translated into English letter equivalents..

Stopwords \ (conjunction , preposition , pronoun . . . ) Has been deleted.

Characters other than English letters have been deleted.

Generating Training Model

  • While creating our model, the "keras" library developed in the Python language was used.. Our Model consists of three layers. These layers:
    • Embedding
    • GRU
    • Dense

In the embedding layer, each word has been translated into 100 dimensional vectors .

Modelin Oluşturulması

Add-onn

İnternet üzerinde gezilen sayfaların alan adlarının modele iletilmesi ve modelin ürettiği sonuca göre sayfaların engellenmesi ile ilgili bilgilerin modelden eklentiye aktarılması için JSON yapısı kullanılmıştır.

Daha önceden ziyaret edilen web siteler erişim durumuna göre liste olarak JSON yapısında saklanmaktadır.

Eklenti Oluşturulması

Web sitesi bağlantı isteğinin engellenmesi ve aynı zamanda kullanıcının girdiği sitelerin adresinin elde edilmesi gerekmektedir. Bu nedenle tarayıcı üzerinde çalıcak eklenti oluşturuldu. Eklentinin tarayıcı üzerinde doğru çalısması açısından Google tarafından belirlenen standarta uyarak eklenti pakedi gerçekleştirildi.

Sitenin Alan Adının Elde Edilmesi

Tarayıcı üzerinde alan adlarına erişmek için arka planda tüm sekmelerin izlenmesi gerekmektedir. Bunun için arka plan (background.js) kod bloğu oluşturup eklenti yapısına eklenerek gerekli bilgiler elde edilmiştir.

Sitenin Engellenmesi

JSON ile modelden alınan bilgiye göre internet sayfasının erişimine izin verilmesi veya engellenmesi gerekmektedir. Bunun için arka plan (background.js) kod bloğuna gerekli sayfa yönlendirme kodları yazılmıştır.

Modelden alınan sonuca göre web site; (blocked) izin verilen siteler listesine veya (trusted) engellenen sitelerin listesine eklenmektedir.

Web Site Oluşturma

Eklenti ayarlarının yapılabilmesi, kullanıcının eklenti denetimini sağlaması, eklentiyi durdurabilmesi, ziyaret edilen web siteleri görüntüleyebilmesi ve gerektiği durumda engellenen ve güvenilen listeler arası web site adreslerini taşıyarak erişim durumlarını değiştirebilmesi amacıyla web sitesi tasarlanarak gerekli kodlaması gerçekleştirilmiştir.

Engellenenler Sayfası

Güvenilenler Sayfası

Güvenilenler Sayfası

Yapılabilmesi planlanan işlemlerin bir bölümünü kullanıcının daha rahat ulaşması amacıyla tarayıcı üzerinde eklentiye açılır menü (pop-up) tasarlanarak gerekli kodlaması gerçekleştirilmiştir.

Modelin Sayısal Başarısı

Modelimiz toplam 4700 adet içerikten oluşan veri seti ile eğitilmiştir.

4700 adet içerikten 3800 içerik eğitim amaçlı, 900 adet içerik ise test için ayrılmıştır.

Bu eğitim sonucunda eğitim verisi üzerinde %100 isabetlilik oranı elde edilirken test verisinde %92 isabetlilik oranı elde edilmiştir.

Modelin Sayısal Başarısı

  • Dinlediğiniz İçin Teşekkürler… * Alperen Aksu * Aydın Yardımcı

About


Languages

Language:Python 100.0%