BBY 220 - Bilgi Erişim İlkeleri Erişim Fonksiyonları: Ters Dizin Kütükleri ve Boolean Model
Erişim Fonksiyonu Erişim fonksiyonu, derlemde bulunan belgelerle kullanıcı sorgularının hangi oranda eşleştiğini bulan ve bu eşleşmeyi derecelendiren (skor değeri) yöntemdir. Erişim fonksiyonu, kullanıcı sorgusunu derlemde bulunan her bir belge ile teker teker karşılaştırarak her bir belge – sorgu çifti için bir benzerlik değeri üretir. Erişim fonksiyonu tarafından verilen her bir belge –sorgu skoru büyükten küçüğe doğru sıralanarak kullanıcıya sorgu ile ilgili olan belgelerin yer aldığı erişim çıktısı listesi sunulur. BES’de erişim fonksiyonu olarak: Boole Modeli, Vektör Uzayı Modeli, Dil Modeli, Olasılıksal Yöntemler, Gizli Anlam Dizinleme v.b. Yöntemler kullanılmaktadır.
Derlemdeki Belgeler Nasıl Saklanıyor? Bir Bilgi Erişim Sisteminde derlemdeki belgeler gerektiğinde hızlı bir biçimde erişilebilmesi için dizinlenerek (indeksleme) saklanır. Bilgi Erişim Sisteminde belgelerin tutulduğu sistematik yapıya dizin ya da indeks adı verilir. Bir dizin, derlemde bulunan her bir belgeye en hızlı biçimde erişimi sağlayan ve özel veri yapıları kullanılarak oluşturulan bir yapıdır. Dizinleme, verilere yavaş olan disk (Hard Disk) yerine çok daha hızlı olan ana hafızadan (RAM) erişimi mümkün kılar. BES’de derlemlerin boyutları düşünüldüğünde dizinleme olmadan arama sonuçlarına hızlı erişimin mümkün olmadığı açıktır.
Dizinleme ve Ters Dizin (Inverted Index) Kütüğü Derlemdeki Belgelerimiz: D1 : bilgi erişim ve bilgi dizinleme D2 : sanal dünya ve bilgi D3 : kütüphane ve veri saklama D4 : dünyada ekonomik durum D5 : günlük ekonomik veriler D6 : haftalık ve günlük mali veriler
Doküman – Terim Matrisi (Sözlük) Terimler Dokümanlar D1 D2 D3 D4 D5 D6 bilgi 1 erişim dizinleme sanal dünyada kütüphane ve veri saklama ekonomik durum veriler haftalık veya günlük mali
Doküman – Terim Matrisi (Sözlük) Derlemin Özellikleri 6 farklı dokümandan oluşuyor Dokümanlarda toplam 23 kelime var Durma kelimeleri çıkarılmadı Gövdeleme yapılmadı Ters Dizin Kütüğünde Durum Ne? Sütun sayısı= 6 (Derlemdeki toplam doküman sayısı) Satır sayısı = 18 (Derlemdeki dokümanlarda bulunan farklı kelime sayısı) Ters dizin kütüğünün satırlarında bir sözlük yaratılıyor, bu sözlük derlemde geçen tüm kelimeleri içeriyor. Ters dizin kütüğündeki tüm dokümanlar için gerçek boyutuna bakılmadan sözlükteki kelime sayısı kadar yer ayrılıyor. Terim – doküman kesişmesinde ağırlıklandırma var/yok biçiminde yapılmış. Bir kelimenin bir doküman içerisinde birden fazla geçmesi önem taşımıyor. Pek çok belgede geçen kelimeler, diğerleri ile aynı ağırlığa sahip (örneğin, ve). Peki milyonlarca belge ve milyonlarca tekil kelimenin geçtiği derlemlerde (örneğin web arama motorları) ters dizin kütüğü nasıl olacak?
Ters Dizin Kütükleri Nasıl Oluşturuluyor? 1. Dokümanlar içerisinde geçen kelimelere ayrıştırılır (parsing) ve her bir kelime ilgili dokümanın numarası ile işaretlenir. DOC #1 Now is the time for all good men to come to the aid of their country DOC #2 It was a dark and stormy night in the country manor. The time was past midnight
Ters Dizin Kütükleri Nasıl Oluşturuluyor? 2. Tüm dokümanlar ayrıştırılıp tabloya eklendikten sonra tablo kelimelere göre alfabetik olarak sıralanır.
Ters Dizin Kütükleri Nasıl Oluşturuluyor? 3. Tek bir dokümanda geçen birden fazla kelime birleştirilir ve kelimenin belge içerisinde geçme sıklığı da tabloya eklenir.
Ters Dizin Kütükleri Nasıl Oluşturuluyor? 4. Tablo sözlük (dictionary) ve kayıtlar (postings) olmak üzere ikiye ayrılır.
Dizinleme ve Arama Derlemdeki Belgelerimiz: Kullanıcı sorguları: D1 : bilgi erişim ve bilgi dizinleme D2 : sanal dünyada bilgi D3 : kütüphane ve veri saklama D4 : dünyada ekonomik durum D5 : günlük ekonomik veriler D6 : haftalık veya günlük mali veriler Kullanıcı sorguları: Q1 : bilgi Q2 : bilgi erişim Q3 : veri Q1, Q2 ve Q3 sorguları için hangi belgelere erişim sağlanır? Q1 için: D1 ve D2 (neden?) Q2 için: ? Q3 için: ? Peki Q1 için D1 ve D2 hangi sırada gösterilir?
Boolean Erişim Fonksiyonu Kullanıcı tanımlı sorgu kelimelerinin hangi dokümanlarda geçtiğini ikili bir sınıflandırma tekniğine göre (1/0) belirler. Küme teorisi üzerine kuruludur. Sorgu kelimeleri ile doküman terimlerinin kesişmesi mantığı üzerinde çalışır. Eski kütüphane sistemleri üzerinde yoğun olarak kullanılmıştır. Günümüzde veritabanı sorgulama işlemlerine çok benzer bir biçimde çalışır. Örnek sorgu: “bilgi” AND “erişim” Yanıt: D1
Küme Teorisi A A OR B NOT A NOT (A AND B) A AND B (A OR B OR C) NOT (A OR B)
Boolean Sorgu Cümleleri Boolean sorgular genellikle bool işleçleri (AND, OR, NOT) kullanılarak oluşturulur. Sorgu Formları: terim | NOT terim | terim AND terim | terim OR terim Sorgular işlenirken: Önce parantezler işlenir Soldan sağa doğru işletilir İşleme sırası NOT AND OR Örnek Sorgular: S1 bilgi S2 NOT bilgi S3 bilgi AND erişim S4 bilgi OR erişim Sorgu Değerlendirme: Eğer sorgu kelimesi dokümanda geçiyorsa sonuç=1 aksi takdirde sonuç=0
Boolean Sorgu Cümleleri Cat Cat OR Dog Cat AND Dog (Cat AND Dog) (Cat AND Dog) OR Collar (Cat AND Dog) OR (Collar AND Leash) (Cat OR Dog) AND (Collar OR Leash)
Boolean Sorgu Cümleleri Aşağıdaki matriste sütunlar dokümanları ifade etsin. X dokümanla kelimenin eşleştiğini gösterir. (Cat OR Dog) AND (Collar OR Leash) sorgusu için eşleşme durumu nedir?
Boolean Sorgu Cümleleri (Cat AND Dog) OR (Collar AND Leash) sorgusu için şimdi eşleşme durumu nedir?
Bool İşlemleri ve De Morgan’s Kuralları Bool İşleçlerinin Özellikleri De Morgan’s Kuralı ¬ (a V b) (¬ a) Ʌ (¬ b) ¬ (a Ʌ b) (¬ a) V (¬ b)
Bool İşlemleri ve De Morgan’s Kuralları Derlemdeki Belgelerimiz: D1 : bilgi erişim ve bilgi dizinleme D2 : sanal dünya ve bilgi D3 : kütüphane ve veri saklama D4 : dünyada ekonomik durum D5 : günlük ekonomik veriler D6 : haftalık ve günlük mali veriler Sorgular Q1bilgi VEYA (bilgi VE erişim) = bilgi Q2bilgi VE (sanal VEYA erişim) = (bilgi VE sanal) VEYA (bilgi VE erişim) Q3bilgi VEYA NOT bilgi = 1 Q4bilgi VE NOT bilgi = 0 Q5NOT (bilgi VEYA veri) = (NOT bilgi) VE (NOT veri) Q6NOT (bilgi VE veri) = (NOT bilgi) VEYA (NOT veri)
Ters Dizin Kütüğü ve Sorgular(Haftaya Devam….) Terimler Dokümanlar Sorgu D1 D2 D3 D4 D5 D6 Q1 bilgi 1 erişim dizinleme sanal dünyada kütüphane ve veri saklama ekonomik durum günlük veriler haftalık veya mal Sorgu: bilgi AND erişim Sorgu İşleme Sorgu cümlesi sözlüğe göre bir vektör olarak ifade edilir Sorgu cümlesi ile dizinde yer alan her bir doküman AND işlemine tabi tutulur. Sonucun sıfırdan farklı olduğu dokümanlara erişim sağlanır
Ters Dizin Kütüğü ve Sorgular Terimler Dokümanlar Sorgu D1 D2 D3 D4 D5 D6 Q1 bilgi 1 erişim dizinleme sanal dünyada kütüphane ve veri saklama ekonomik durum günlük veriler haftalık veya mal Sorgu: bilgi AND erişim Sorgu İşleme Sorgu cümlesi sözlüğe göre bir vektör olarak ifade edilir Sorgu cümlesi ile dizinde yer alan her bir doküman AND işlemine tabi tutulur. Sonucun sıfırdan farklı olduğu dokümanlara erişim sağlanır Ya da Bilgi kelimesinin geçtiği doküman numaraları listelenir Erişim kelimesinin geçtiği doküman numaraları listelenir İki liste doküman numaralarına göre AND işlemine sokulur.
AND, OR ve NOT için doğruluk tabloları p q p ∧ q T F p q p ∨ q T F AND OR p ¬p T F NOT
Ters Dizin Kütüğü ve Sorgular Terimler Dokümanlar Sorgu D1 D2 D3 D4 D5 D6 Q1 1.bilgi 1 2.erişim 3.dizinleme 4.sanal 5.dünyada 6.kütüphane 7.ve 8.veri 9.saklama 10.dünyada 11.ekonomik 12.durum 13.günlük 14.veriler 15.haftalık 16.veya 17.günlük 18.mal bilgi D1 D2 D1 : bilgi erişim ve bilgi dizinleme AND erişim D1
Ters Dizin Kütüğü ve Sorgular Terimler Dokümanlar Sorgu D1 D2 D3 D4 D5 D6 Q1 1.bilgi 1 2.erişim 3.dizinleme 4.sanal 5.dünyada 6.kütüphane 7.ve 8.veri 9.saklama 10.dünyada 11.ekonomik 12.durum 13.günlük 14.veriler 15.haftalık 16.veya 17.günlük 18.mal bilgi D1 D2 D1 : bilgi erişim ve bilgi dizinleme D2 : sanal dünya ve bilgi OR erişim D1
Ters Dizin Kütüğü ve Sorgular Terimler Dokümanlar Sorgu D1 D2 D3 D4 D5 D6 Q1 1.bilgi 1 2.erişim 3.dizinleme 4.sanal 5.dünyada 6.kütüphane 7.ve 8.veri 9.saklama 10.dünyada 11.ekonomik 12.durum 13.günlük 14.veriler 15.haftalık 16.veya 17.günlük 18.mal bilgi D1 D2 D2 : sanal dünya ve bilgi AND NOT erişim D1
Boolean Modelde Sorunlar Benzerlik derecelendirme yok : sorgu ile belgenin ne kadar ilgili olduğunu gösteren bir skor değeri üretilmiyor bunun yerine ilgili / ilgisiz (1/0) yargısı var. Eşleştirmelerde terim ağırlıllandırma yok: bir belge içerisinde 1 kez geçen terimle 100 kez geçen terim aynı ağırlıkta, bu belge içeriğini ifade eden değerli terimleri seçmemizi engelliyor. Sorgu oluşturmak zor: kullanıcıların bilgi ihtiyaçlarını ifade edebilmek için karmaşık sorgular kurabilmesi gerekiyor. Hata toleransı yok : bilgi ihtiyacı tam ifade edilmek zorunda, yaklaşık sonuç alma olasılığı yok.