280 likes | 601 Views
TÜMEVARIMLI MANTIK PROGRAMLAMA İLE TÜRKÇE İÇİN KELİME ANLAMI BELİRGİNLEŞTİRME UYGULAMASI. Özlem AYDIN, Yılmaz KILIÇASLAN Trakya Üniversitesi, Mühendislik Mimarlık Fakültesi, Bilgisayar Mühendisliği Bölümü, EDİRNE. 1/28. KELİME ANLAMI BELİRSİZLİĞİ.
E N D
TÜMEVARIMLI MANTIK PROGRAMLAMA İLE TÜRKÇE İÇİN KELİME ANLAMI BELİRGİNLEŞTİRME UYGULAMASI Özlem AYDIN, Yılmaz KILIÇASLAN Trakya Üniversitesi, Mühendislik Mimarlık Fakültesi, Bilgisayar Mühendisliği Bölümü, EDİRNE 1/28
KELİME ANLAMI BELİRSİZLİĞİ • Kelime anlamına göre belirsizlik durumu doğal dil işleme uygulamalarının birçoğunda karşılaşılan ve çözülmesi gerekli olan önemli bir problemdir. Bu belirsizlik verilen bir bağlamdaki bir kelime çok anlamlı olduğu zaman ortaya çıkar. “Yeşilden maviye dönüşen iri gözlerini bize çevirmişti.” 1. anlam: Görme organı. 2. anlam: Bazı deyimlerde görme, bakma. 3. anlam: Bakış, görüş. • Bu belirsizliğin çözümü kelime anlamı belirginleştirme (word sense disambiguation) ile gerçekleştirilir. 2/28
KELİME ANLAMI BELİRGİNLEŞTİRME • Verilen bir bağlamda birkaç farklı anlamı olan bir kelimenin hangi anlamı ile kullanıldığının belirlenmesi problemine Kelime Anlamı Belirginleştirme (KAB) denir. • KAB süreci iki aşamada gerçekleşir. İlk aşamada, verilen bağlamdaki belirginleştirme yapılacak hedef kelime için var olan tüm anlamları belirlenir. Bu anlamların alınabileceği çeşitli elektronik sözlükler mevcuttur. İkinci aşamada ise kelimenin uygun anlamı belirlenir. Bunun için de kelimenin bulunduğu bağlam ve bazı bilgi kaynakları kullanılır. 3/28
KAB’IN UYGULAMA ALANLARI • Makine Çevirisi (Machine Translation) • Bilgi Geri Getirimi (Information Retrieval) • Ses İşleme (Speech Processing) • Metin İşleme (Text Processing) • İçerik ve Tematik Analizler (Content and Thematic Analysis) • Gramatik Analizler (Gramatical Analysis) 4/28
MAKİNE ÇEVİRİSİNDE KAB’IN KULLANIMI • Bu konular içerisinde Makine Çevirisi KAB’ın en yaygın kullanıldığı alanlardan birisidir. Çevirisi yapılacak kaynak dili anlamada bir kelimenin birden fazla anlamı olduğu bir durum ile karşılaşıldığında KAB işlemine gerek duyulur. • Örnek: “Yüz” kelimesi kullanıldığı yere göre İngilizce’ye, swim - float – skin – face – surface – cheek - hundred “Yüzünü yıkadı.” Hatalı çeviri : He washed your one hundred. Doğru çeviri : He washed his face. 5/28
KAB’DA KULLANILAN BİLGİ TÜRLERİ • Kategori bilgisi (Part of speech-POS) : Herhangi bir kelimenin sözdizimsel sınıf bilgisidir. POS etiketleme belirginleştirme işleminin ilk adımı olarak kabul edilir. Bir kelimeye ait olabilecek olası anlamların sayısını azaltan faydalı bir işlemdir. Örneğin, bir kelimenin fiil olarak üç anlamı var iken, isim olarak tek anlamı olabilir. • Anlamların sıklıkları (Frequency of senses) : Kelimelere ait anlamların kullanım sıklığı anlam belirginleştirme işleminde önemli bir bilgidir. Genellikle istatistiksel yaklaşımlarda kullanılmaktadır. Bu bilgi elle etiketlenmiş derlemlerden çıkarılabilmektedir. 6/28
KAB’DA KULLANILAN BİLGİ TÜRLERİ • Eşdizimlilikler (Collocations) : KAB işleminde kullanılan bilgi türlerinden biridir. Herhangi bir kelime grubu içindeki kelimelerin arasındaki ilişkiyi verir. Şöyle ki bir kelime yanına başka bir kelime geldiğinde kelime grubu olarak başka bir anlama gelebilir. Örneğin, “kahve” kelimesi tek başına birkaç anlama geliyorken “kahve falı” kelime grubunun tek bir anlamı vardır . • Seçimsel öncelikler (Selectional preferences) : Bir kelimenin sözdizimsel ve anlamsal özelliklerini diğer bir kelime belirleyebilir. Buna seçimsel öncelikler denir. Örneğin yemek fiili yanına canlı ya da cansız bir nesne alabilirken, öldürmek fiili sadece canlı nesne alabilir. 7/28
KAB’DA KULLANILAN BİLGİ TÜRLERİ • Alt-öğeleme bilgisi (Subcategorization information): Bu bilgi kelimeler ve öbekler arasındaki belirli ilişkileri gösterir. Örneğin bir fiil yanına başka bir fiil veya isim öbeği alabilirken başka bir fiil sadece isim öbeği alabilir. Alt-öğeleme çerçeveleri tamamlayıcılar (complements) ile ilgili sözdizimsel kuralları içerir. • Verilen bu sözdizimsel ve biçimsel özelliklerin KAB çalışmalarında kullanımı daha doğru sonuçların elde edilmesi için gereklidir. Çünkü hemen hemen tüm yerel ve diğer özelliklerin KAB için faydalı olduğu bilinmektedir. • KAB sistemleri verilen hedef kelimenin bu bağlamsal özelliklerini bilgi kaynaklarından elde edip kelimenin farklı anlam karşılıklarını kıyaslamada kullanır. 8/28
KAB YAKLAŞIMLARI • Bilgi-tabanlı kelime anlamı belirginleştirme (Knowledge-basedword sense disambiguation) • Derlem-tabanlı kelime anlamı belirginleştirme (Corpus-basedword sense disambiguation) 9/28
BİLGİ-TABANLI KAB • Bu yaklaşımda sözlük benzeri kaynaklardan alınan bilgi kullanılmaktadır. Büyük boyutlardaki elektronik sözlüklerin hazırlanması ile 1980’li yıllarda bu sözlükler kullanılmaya başlamıştır. • Makineler tarafından okunabilir sözlükler (Machine-readable dictionaries - MRDs) • Gömü (Thesaurus) • Teknik Sözlük (Lexicon) 10/28
DERLEM-TABANLI KAB • Derlem (Corpus) Belli prensipler çerçevesinde özel veya genel amaçlı metin ya da konuşma parça ya da bütünlerinin, üzerinde yapılacak araştırmaya uygun işaretlemelerle beraber bir araya getirilmesinden oluşan bütündür. • Brown Corpus • ODTÜ Türkçe Derlem 11/28
DERLEM-TABANLI KAB • Derlem tabanlı KAB’da en başarılı yaklaşımlar derlemden sınıflayıcı veya istatistiksel modelleri öğrenmek için kullanılan istatistiksel veya makine öğrenme algoritmalarıdır. • Makine öğrenme yaklaşımları • Öngörmeli yaklaşımlar (Supervised approaches) Bu yaklaşımda bir sınıflayıcı yaratılır. Burada amaç kullanılacak bağlama göre yeni durumları doğru olarak sınıflandıran bir sınıflayıcı oluşturmaktır. • Öngörmesiz yaklaşımlar (Unsupervised approaches) Burada anlam etiketli olmayan bir derlem kullanarak belirginleştirme gerçekleştirilir. 12/28
TÜMEVARIMLI MANTIK PROGRAMLAMA • Tümevarımlı mantık programlama (TMP), makine öğrenmesi ve mantık programlamanın kesişimi olarak tanımlanabilir. Amacı gözlemlerden (örneklerden) hipotezler geliştiren ve artalan bilgisinden yeni bilgiler elde eden teknikler ve araçlar geliştirmektir. Bu sebeple TMP, makine öğrenmesi ve mantık programlama tekniklerinin her ikisini de kullanır. 13/28
TÜMEVARIMLI MANTIK PROGRAMLAMA • TMP’de kullanılan mantıksal terimlerin tanımları aşağıda açıklanmıştır. • B sonlu sayıda tümcecik içeren artalan bilgisidir. • E sonlu sayıda örnek setidir = • Pozitif örnekler. Boş olmayan tanımlı tümce kümesidir. • Negatif örnekler. Horn tümceciği kümesidir. 14/28
TÜMEVARIMLI MANTIK PROGRAMLAMA • Bu mantıksal terimlerin ne ifade ettiğini birinci dereceden yüklem mantığına benzer bir gösterim kullanarak bir örnek ile açıklayalım. Aile içindeki akrabalık ilişkilerinin öğrenileceği bir aile örneğini ele alalım. Bunun için verilenler şunlardır: • Dede ve torunları arasındaki ilişkiyi gösteren pozitif ve negatif örnekler aşağıda verilmiştir. • Bu bilgilere dayanarak aşağıdaki ilişki tahmin edilebilir. 15/28
GELİŞTİRİLEN UYGULAMA • Belirginleştirme için artalan bilgisi olarak KAB’da faydalı olan bilgi türleri kullanılmaktadır. Bu bilgiler belirginleştirilecek kelime ve bulunduğu bağlamdaki diğer kelimelere ait sözdizimsel ve anlambilimsel özellikleri içermektedir. • Bahsedilen özellikleri elde edilmesi için kullanılan Türkçe doğal dil işleme kaynaklarının yeterince bulunmaması nedeniyle Türkçe için yapılmış KAB çalışması çok az bulunmaktadır. Bu eksikliği gidermek amacı ile bir sözlüksel kaynak olarak Türkçe sözlüksel örnek görevi (Turkish Lexical Sample Task) oluşturulmuştur. Bu çalışma Semeval-2007’de kabul edilmiştir. • Geliştirilen uygulamada Türkçe sözlüksel örnek görevinden alınan 10 isim, 10 fiil ile 6 sıfat ve zarf üzerinde KAB gerçekleştirilmiştir. 16/28
GELİŞTİRİLEN UYGULAMA • Uygulamada TMP sistemi olarak Aleph sistemi kullanılmıştır. Aleph’de teorileri oluşturmak için 3 veri dosyası gerekmektedir. Bunlar; • Artalan bilgisinin bulunduğu .b uzantılı bir dosya. • Pozitif örneklerin bulunduğu .p uzantılı bir dosya. • Negatif örneklerin bulunduğu .n uzantılı bir dosya. • Bu dosyaların içerik bilgisini elde etmek için kaynak olarak Türkçe Sözlüksel Örnek Görevi (Turkish Lexical Sample Task) kullanılmıştır. 17/28
GELİŞTİRİLEN UYGULAMA Artalan bilgisinin bulunduğu dosya • Artalan bilgisi için kullandığımız özellikleri aşağıda vermiş olduğumuz bir örnek cümle üzerinden açıklayalım: Cümle:“Yeşilden maviye dönüşen iri gözlerini bize çevirmişti.” Hedef kelime:göz 18/28
GELİŞTİRİLEN UYGULAMA 1) has_bag() özelliği: Anlamı belirginleştirilecek hedef kelimenin sağında ve solunda bulunan kelimeler. Uygulamada hedef kelimenin yanındaki ilk kelimeler alınmıştır. Yapılmış bazı çalışmalarda hedef kelimenin yanından alınan kelime sayısı beşe kadar çıkmaktadır. Ancak Türkçe Sözlüksel Örnek Görevi içinde hedef kelimenin yanındaki ilk kelimeler verildiği için uygulamamızı tek kelime sınırladık. Bu özelliğin programdaki gösterimi aşağıdaki gibidir: has_bag(cümle_no,kelime). has_bag(snt1, iri). has_bag(snt1, çevir). 19/28
GELİŞTİRİLEN UYGULAMA 2)has_narrow() özelliği: Hedef kelimenin sağında ve solunda bulunan kelimeler ve bu kelimelerin hedef kelimeye göre konum bilgisidir. has_narrow(cümle_no, kelimenin_konumu, kelime). has_narrow(snt1, first_content_word_left, iri). has_narrow(snt1, first_content_word_right, çevir). 3) has_pos() özelliği: Hedef kelimenin kategori bilgisi ile hedef kelimenin sağında ve solunda bulunan kelimelerin kategori bilgisi ve hedef kelimeye göre konum bilgileridir. has_pos(cümle_no,kelimenin_konumu,kelimenin_kategori_bilgisi). has_pos(snt1, target_word,noun). has_pos(snt1, first_content_word_left,adj). has_pos(snt1, first_content_word_right, verb). 20/28
GELİŞTİRİLEN UYGULAMA 4) has_ont() özelliği: Hedef kelimenin sağında ve solunda bulunan kelimelerin ontolojik düzey bilgisidir. Ontoloji düzeyi 3 olarak sınırlıdır. has_ont(cümle_no,kelimenin_konumu,ontoloji_düzeyi, ontoloji). has_ont(snt1,first_content_word_left,1,abstraction). has_ont(snt1,first_content_word_left,2,quality). has_ont(snt1,first_content_word_left,3,state). has_ont(snt1,first_content_word_right,1,physical_entity). has_ont(snt1,first_content_word_right,2,motion). has_ont(snt1,first_content_word_right,3,motion). 21/28
GELİŞTİRİLEN UYGULAMA 5) has_case() özelliği: Hedef kelimenin hal bilgisi ile hedef kelimenin sağında ve solunda bulunan kelimelerin hal bilgileri ve hedef kelimeye göre konum bilgileri. has_case(cümle_no, kelimenin_konumu, kelimenin_hali). has_case(cümle1, target_word, acc). has_case(cümle1, first_content_word_left, _). has_case(cümle1,first_content_word_right, _). 6) has_rel() özelliği: Hedef kelimenin sağında ve solunda bulunan kelimeler ile olan ilişki türü ve bu kelimelerin hedef kelimeye göre konum bilgileri. has_rel(cümle,kelimenin_konumu,ilişki_türü). has_rel(snt1, target_word, object). has_rel(snt1,first_content_word_left, modifier). has_rel(snt1,first_content_word_right, sentence). 22/28
GELİŞTİRİLEN UYGULAMA 7) has_ possessor() özelliği: Hedef kelime ile hedef kelimenin sağında ve solunda bulunan kelimelere ait sahipleyici(possessor) bilgisi. has_ possessor (snt1,target_word,tr). has_possessor(snt1,first_content_word_left,fl). has_possessor(snt1,first_content_word_right,fl). • Artalan bilgisi dosyasında eğitim kümesi ve test kümesi örneklerinin özellikleri bulunmaktadır. 23/28
GELİŞTİRİLEN UYGULAMA Pozitif örnek dosyasının oluşturulması Hedef kelimenin doğru anlamını gösteren bilgi burada verilir. sense(cümle, hedef_kelimenin_anlamı). sense(snt1,sense1). Negatif örnek dosyasının oluşturulması Hedef kelimenin doğru anlamını sağlamayacak şekilde diğer anlam etiketleri kullanılarak elde edilen bilgidir. sense(cümle,hedef_kelimenin_hatalı_anlamı). sense(snt1,sense3). 24/28
GELİŞTİRİLEN UYGULAMA • Uygulamada her kelimenin eğitim kümesi cümlelerine ait artalan bilgisi, pozitif örnekler ve negatif örnekler alınarak ALEPH sistemine verilmiş ve bir model oluşturulmuştur. Bu modelin değerlendirilmesi aşamasında test kümesine ait artalan bilgisinin, pozitif örneklerin ve negatif örneklerin bulunduğu dosyalar oluşturulmuştur. Son olarak da bu dosyalar sisteme verilerek test işlemi yapılmıştır. Elde edilen sonuçlar aşağıdaki tabloda verilmiştir. 25/28
GELİŞTİRİLEN UYGULAMA Hedef kelime olarak belirlenen “göz” kelimesi için eğitim kümesinde 92 cümle, test kümesinde 27 cümle bulunmaktadır. Öncelikle eğitim kümesi cümlelerine ait artalan bilgisi, pozitif örnekler ve negatif örnekler alınarak Aleph sistemine verilecek olan veri dosyaları oluşturuldu. Sonrasında sisteme verildi ve bir model elde edildi. Bu modelde bulunan kurallardan (hipotezlerden) biri aşağıdaki gibidir: sense(A, B) :- has_rel(A, first_content_word_left, modifier), B=1. Bu kural bize verilen bir cümlede has_rel(A, first_content_word_left, modifier) özelliği olması durumunda “göz” kelimesi için anlam karşılığının birinci anlamı olacağını söylemektedir. 26/28
SONUÇ • Çoğu KAB tekniği, belirginleştirme için farklı sözlüksel kaynaklardan alınan bilgilerin aralarındaki ilişkiyi tespit edememektedir. Ancak TMP ilişkisel bilginin gösteriminde başarılıdır ve çeşitli kaynaklardan alınan verilerle farklı bir yapı oluşturabilmektedir. Birinci dereceden yüklem mantığını kullanarak bu veriler arasındaki bağlamsal ilişkileri kapsayacak gücü kazanır. • TMP ile yapılan çalışmalarda elde edilen deneysel sonuçlar TMP’nin artalan bilgisini kullanmada başarılı olduğunu göstermiştir. TMP’nin bu yeteneğinin kelime anlamı belirginleştirme konusunda kullanılması bu alanda önemli bir gelişme sağlayabilir. • Sonuç olarak Türkçe için, Türkçe Sözlüksel Örnek görevini kaynak olarak kullanan ve bir TMP sisteminden faydalanan bir KAB uygulaması geliştirilmiştir. 27/28
TEŞEKKÜRLER 28/28