Türkçe | English
Bu projenin amacı Istanbul Gazeteden Tarihe Bakış veriseti kullanılarak arama yapılabilir bir veritabanı sağlamaktır.
Projemiz, 2 branchte yer almaktadır:
master branch, projemizin son teslim tarihli halini içerir (31 Temmuz 2020).dev branch ise, projemizin güncel halini içerir.
-
docker-compose
yapısı, 4 farklı dockerize edilmiş servis içermektedir. Bunlar,- Kalıcı depolama için CouchDB Veritabanı. (Port 5984)
- Bir arama motoru olarak Elasticsearch. (Port 9200)
- Bize özel bir RESTful API. (Port 4000)
- Bir web tabanlı kullanıcı arayüzü (GUI). (Port 3000)
-
data_collection
komut dosyası şu işlemleri gerçekleştirmektedir,- Veriseti olarak kullanılan web sitesinden veri bilgilerini alır (web scraping).
- Alınan bilgiler ile veriyi indirir.
- PDF sayfalarını ayıklamak ve temizlemek için PDF üzerinde işlemler gerçekleştirir.
- OCR işlemini gerçekleştirir.
- NER işlemini gerçekleştirir.
- Verileri CouchDB Veritabanına kayıt eder.
- Elasticsearch üzerinde verileri indexler.
-
Kullanılan API, hem orijinal taramaları hem de OCR sonuçlarını elde ederek, verileri, veritabanında tarihe ve konuma göre sorgulamaya imkan sağlar ve Elasticsearch kullanarak bir tam metin araması yapılmasına izin verir.
-
Web tabanlı oluşturulan kullanıcı arayüzü, verileri sorgulamak ve sonuçları görselleştirmek için kullanıcı dostu bir yol sunar.
Docker kurun Install Docker Engine.
sudo apt install python3-dev
sudo apt install libtesseract-dev tesseract-ocr tesseract-ocr-tur
Elasticsearch, CouchDB, API ve arayüzü ortamlarını çalıştırın
cd docker-compose
docker-compose up -d
NER alt modülü için en yeni zemberek_full.jar
dosyasını buradan indirin.
İndirilen .jar
dosyasını, data_collection
dizini altına ekleyin.
data_collection
komut dosyasını çalıştırın.
cd data_collection
pip3 install -r requirements.txt
python3 main.py
Sorgular yapmak için, localhost:3000/
adresine gidin ve kullanıcı arayüzünü kullanarak sorgularınızı gerçekleştirin.
- Zemberek-nlp : Apache-2.0
- Tesseract : Apache-2.0
- CouchDB : Apache-2.0
- Elasticsearch : Apache-2.0
- Docker : Apache-2.0
- Opencv : BSD-3
Makalemiz yakında yayınlanacak:
@ARTICLE{tr_historical_newspaper},
author={H. {Menhour}, R. N. {Sarikaya}, M. {Aktaş}, R. {Sağlam}, H. B. {Şahin}, E. {Ekinci} and S. {Eken}},
journal={},
title={Searchable Turkish OCRed Historical Newspaper Collection 1928–1942},
year={},
month={},
volume={},
number={},
pages={},
keywords={Historical newspapers, optical character recognition, name entity recognition, microservices, data journalism, full text search, visualization.},
doi={},
ISSN={},}