Skip to content

Metinsel bir verisetinin kazıma işleminden sonra oluşturulması için gerekli olan bütün süreçlerinin yürütüldüğü bir otomasyon uygulamasıdır.

License

Notifications You must be signed in to change notification settings

nanelimon-organization/easy-data-labeling-engine

Repository files navigation

Bir veriseti oluşturma adımlarının veri kazıma aşamasından sonraki bütün adımlarının kolay, hızlı ve ulaşılabilir şekilde yapılması için tasarlanmış bir otomasyondur. Ekip üyelerinin verisetini oluşturmak için herhangi bir zamanda herhangi bir yerden işbirliği yapabilmelerini sağlamaktadır. Aynı zamanda etiketlenen verilerin istatistiklerini içermektedir. Bu sayede hangi sınıftan ne kadar etiketli veriye sahip olunduğu ve kaç adet verinin veri setine dahil edilip kaçının dahil edilmeyeceği gibi bilgilerin veri etiketleme adımındayken monitörize edilmesi sağlanmıştır. Etiketlemenin sonunda etiketli verilerin incelenebilmesi ve veri setinin excel formatında çıktısının alınması gibi özellikleri de bulunmaktadır. Bu özellikleri sayesinde etiketli bir veri seti oluşturulması için gerekli bütün adımlar tek bir otomasyon ile yapılabilir hale gelmiştir. Heroku bulut tabanlı platform servisi kullanılarak ücretsiz bir şekilde verileri paylaşma ve etiketli verilerin database e aktarılıp veri setinin oluşturulması sağlanmıştır.

Araç kullanımlarını anlatan video için buraya tıklayınız.

Ortam Oluşturma

Lütfen Python sürümünüzü '3.10' olarak ayarlayın.

Python versiyonunuzdan emin olmak için:

python3 --version

Geliştirme Ortamını Ayarlamak

  • Virtual environment oluşturunuz.
    $ python -m venv <venv-name>
  • Virtual environmentınızı aktive ediniz.
    $ source <venv-name>/bin/activate
  • Kütüphaneleri Yükleyiniz.
    $ pip install -r requirements.txt

data.csv nin Uygulamaya Dahil Edilmesi

Etiketlemesini yapmak istediğiniz verileri static/datas altına taşıyınız.

  $ mv data.csv static/datas

Veritabanının Düzenlenmesi

Etiketlenecek olan metadata ve etiketlenen verinin oluşturulması için kurgulanmış database modellerinin bir veritabanı motorunda tutulması gerekmektedir.

Bu veritabanı motoru app.py ve ctor.py içinde ayarlanmalıdır.

app.py

SQLite için;

  app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///' + os.path.join(basedir, 'database.db')

Postgresql için;

  app.config['SQLALCHEMY_DATABASE_URI'] = 'postgresql://root:password@localhost/database'

ctor.py

SQLite için;

  engine = create_engine('sqlite:///' + os.path.join(basedir, 'database.db'), echo=True)

Postgresql için;

  create_engine('postgresql://root:password@localhost/database', echo=True)

Veritabanı Tabloları

Constructor File(ctor.py) çalıştırılması ile eklenen data.csv Scraped tablosuna kaydedilmektedir. Uygulama üzerinden etiketlenen her veri için Tagging tablosuna kayıt atılmaktadır. Bu sayede aralarında ilişki kurulmakta ve etiketli veriler etiketli veriseti haline getirilmektedir.

plot

Metadatanın Veritabanına Eklenmesi

constructor file çalıştırılarak data.csv içindeki verilerin veritabanına kaydedilmesi sağlanmıştır.

    $ python3 ctor.py

Çalıştırma

Uygulamanın çalışması için gerekli adımlar tamamlanmıştır.

    $ python3 wsgi.py

App 8000 portunda çalışmaktadır.

http://localhost:8000/

About

Metinsel bir verisetinin kazıma işleminden sonra oluşturulması için gerekli olan bütün süreçlerinin yürütüldüğü bir otomasyon uygulamasıdır.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published