Bu ders, çalışma alanım olan Bilgi Erişimi (Information Retrieval) ve Web Araması (Web Searching) konuları üzerinedir. Ders, birçok üniversitede master düzeyinde okutulmaktadır.
Bilgi erişimi, bir kullanıcının belirli bir konudaki metin tabanlı sorgusuna yanıt verme işlemidir. Web araması, dünyanın en büyük metin dokümanı olan web’te bilgi erişimi tekniklerinin uygulamasıdır ve günümüzde çok kişinin kullandığı ortamdır. Kısacası, Google’ın çalıştığı konudur:)
Bu derste, metin tabanlı bilgi sistemleri oluşturmak için aşağıdaki konuları içeren temel ve ileri teknikleri ele alacağız:
- Arama Motorları ve Mimarisi
- Crawling işlemi
- Metinleri işleme
- Sonuçların sıralanması
- Sorgu ve arayüzler
- Erişim modelleri
- Arama motorlarını değerlendirme
- Sınıflama ve kümeleme
Bu ders, Stanford, Mannheim, Illinois at Chicago, Bilkent birçok üniversitede master düzeyinde okutulmaktadır. Derste aşağıdaki kitaplardan yararlanmayı düşünüyorum.
- Search Engines: Information Retrieval in Practice, by B. Croft, D. Metzler, and T. Strohman.
- Introduction to Information Retrieval, by C. Manning, P. Raghavan, and H. Schütze (Cambridge University Press, 2008).
Literatürde yararlanabileceğiniz birçok kitap vardır.
- Managing Gigabytes, by I. Witten, A. Moffat, and T. Bell.
- Information Retrieval: Algorithms and Heuristics, by D. Grossman and O. Frieder.
- Modern Information Retrieval, by R. Baeza-Yates and B. Ribeiro-Neto.
- Foundations of Statistical Natural Language Processing, by C. Manning and H. Schütze.
- Information Retrieval: Implementing and Evaluating Search Engines, by S. Büttcher, C. Clarke, and G. Cormack.
Uygulama tüm derslerimde önem verdiğim bir konudur. Arama deyince, akla gelen ilk açık kaynak kütüphane Lucene‘dir. Lucene üzerine de Elastic Search ve Solr birçok açık kaynak uygulamaları geliştirilmiştir. Bu projelerin hepsi Java ile yazılmıştır. Derste geçen dönem dersini verdiği Python programlama dilini kullanmayı düşünüyorum. Python deyince, arama konusunda fazla bilinmeyen ama Python ile geliştirilmiş Whoosh kütüphanesi kullanılacaktır. Ayrıca, crawling ve metin işleme gibi konularda açık kaynak kütüphane ve bazen kendi yazdığım kodları kullanmayı planlıyorum. Derste yazılan kodları Github adresimde paylaşacağım. Hadi başlayalım 🙂
- Github
- Ders slaytları
- Ders slaytları ve kitap için tıklayın.