Hayat Bilgisi Veritabanı Kullanarak Otomatik Cümle Üretimi Automatic Sentence Generation Using Common Sense Databases Canberk Berkin ÖZDEMİR Danışman : Yrd.Doç.Dr. M. Fatih AMASYALI YTÜ Bilgisayar Mühendisliği Bölümü
Sunum İçeriği Neden Otomatik Cümle Üretimi? Hayat Bilgisi Veritabanı Neden Kullanıldı? Projeyi Kapsayan Disiplin ve Alanlar Sistemin Etkileşimli Olduğu Sistemler Çalışma Mantığı Değerlendirme Sonuç ve Öneriler YTÜ Bilgisayar Mühendisliği Bölümü
Neden Otomatik Cümle Üretimi? Elimizdeki cümleden yeni bilgi çıkarımı yapabilmek… Bir bilgiden yola çıkarak bu bilgi ile bağlantılı bilgileri elde etmek ve makinelerin bu bilgileri işleyebilmesine olanak sağlayabilmek… İnternet üzerinde yapılan aramalardaki girilen cümle ya da cümlelerin türetilip kullanıcılara aramalarla ilgili istenildiğinde daha detaylı sonuçları döndürebilmek… …için “Otomatik Cümle Üretimi”ne ihtiyaç duyabiliriz. YTÜ Bilgisayar Mühendisliği Bölümü
Hayat Bilgisi Veritabanı Neden Kullanıldı? Cümle üretimi gerçekleyebilmek için cümlenin barındırdığı kelime ya da kelime öbeklerinin sahip olduğu çeşitli ilişkili kelime ya da kelime öbeklerini bulmak gerekir. Elimizde bize bunu sağlayabilen bir “Hayat Bilgisi Veritabanı” (CSdb) bulunduğundan, bu veritabanının kullanımı projenin iş akışının gerçeklenmesinde büyük rol oynamıştır. Not: Sunumun devamında Hayat Bilgisi Veritabanı ayrıntılı olarak açıklanacaktır. YTÜ Bilgisayar Mühendisliği Bölümü
Projeyi Kapsayan Disiplin ve Alanlar Doğal Dil İşleme Semantik Makine Öğrenmesi YTÜ Bilgisayar Mühendisliği Bölümü
Sistemin Etkileşimli Olduğu Sistemler Zemberek Zemberek, açık kaynak kodlu Türkçe doğal dil işleme kütüphanesi Yazım denetimi, hatalı kelimeler için öneri, heceleme, deascifier gibi sentaktik işlevlere sahip CSdb(Common Sense Database) Hayat bilgisi veri tabanları, kelimeler arasında yaşamdaki gerçeklikleri basit ilişki yapıları ile birbirlerine bağlar Bu sayede bilgisayarların bu gerçeklikleri yorumlayabilmesini kolaylaştırır YTÜ Bilgisayar Mühendisliği Bölümü
Sistemin Etkileşimli Olduğu Sistemler-1 Zemberek Cümle üretimini sağlayabilmek için hayat bilgisi veritabanına, cümlenin kelime ve kelime öbekleri gönderilmektedir. Bu yüzden çalışmada Java programlama dili ile kodlanmış Türkçe doğal dil işleme kütüphanesi olan Zemberek uygulaması kullanılmıştır. YTÜ Bilgisayar Mühendisliği Bölümü
Sistemin Etkileşimli Olduğu Sistemler-1 Zemberek Cümlenin kelime ve kelime öbeklerine ayrılması işlemi gerçeklendikten sonra da kelimenin veritabanına gönderilirken kök haline getirilmiş şekli, ekleri ve hayat bilgisi veritabanında sorguları gönderirken isim ya da fiil türünde olduğuna göre sorgu oluşturacağımızdan dolayı morfolojik bir kelime çözümleyicisine ihtiyaç duyulmuştur. YTÜ Bilgisayar Mühendisliği Bölümü
Sistemin Etkileşimli Olduğu Sistemler-1 Zemberek Zemberek sisteme kelimelerin kök, ek ve türlerini sorunsuz bir şekilde döndürmektedir. Sistemde Zembereğin birden fazla çözümlemesi olan kelimeler için ürettiği sonuçlardan ilki kullanılmıştır. YTÜ Bilgisayar Mühendisliği Bölümü
Sistemin Etkileşimli Olduğu Sistemler-2 CSdb(Common Sense Database) Nesnelerin farklı ilişki kalıplarıyla bağlantılı olduğu nesnelerle ilişkilendiren bir Türkçe veritabanıdır. Veritabanı "bu nerede bulunur, bunun üst kavramı nedir, bu ne gerektirir, bu neyden yapılmıştır, bunun özellikleri nelerdir" gibi 40 adet ilişki ve bunların tersi ilişkilere sahiptir ve nesneler bu ilişkilerle birbirine bağlanmaktadır. YTÜ Bilgisayar Mühendisliği Bölümü
Sistemin Etkileşimli Olduğu Sistemler-2 CSdb(Common Sense Database) Nesneleri birbirine bağlayan bu ilişkileri ve doğruluklarını, kişiler Kemik Oyun adı verilen oyunla veritabanına gönderirler. İlk Türkçe hayat bilgisi veritabanı olan CSdb veritabanında ayrıca her ilişkinin doğruluk oranı 0-5 arasında bir değerle tutulmaktadır. YTÜ Bilgisayar Mühendisliği Bölümü
Sistemin Etkileşimli Olduğu Sistemler-2 CSdb(Common Sense Database) Nesnelerin ilişkilerini belirleyen kullanıcılar, ilişkilerin ilgili nesneler arasındaki tutarlılıklarını 0-5 puan arasında puanları seçerek göndermektedirler. Birçok kişinin verdiği puanların ortalaması alınarak nesneler arası ilişkilerin doğruluk oranları arttırılmaktadır. YTÜ Bilgisayar Mühendisliği Bölümü
Sistemin Etkileşimli Olduğu Sistemler-2 CSdb(Common Sense Database) İlk Türkçe hayat bilgisi veritabanının henüz istenilen olgunluğa erişmemiş olması buradan alacağımız sonuçların tutarlılık oranını düşürebilmektedir, bu dezavantaj çalışma sürecinde göz önünde tutulmuştur. Ancak oyun oynandıkça veritabanın içerdiği ilişkilerin doğruluğu artacağından bu tür uygulamalarda kullanımı artacak ve Türkçe semantik alanındaki çalışmalara büyük katkı sağlayacaktır. YTÜ Bilgisayar Mühendisliği Bölümü
Çalışma Mantığı Sisteme üretilecek cümle girilmesi Cümlelerimiz Zemberek’e morfolojik olarak incelenmek üzere gönderilmesi XML olarak kelime çözümlemeleri sisteme geri döndürülmesi Zemberek'ten dönen bu verileri hayat bilgisi veritabanına, sorgulanması sistem tarafında belirli olan ve en az ortalama puanın kullanıcı tarafından belirlenmiş olduğu sorgular gönderilmesi Hayat bilgisi veritabanının döndürdüğü ilişkili kelimeler, ilişki türü ve ortalama puanları kullanıcıya aktarılmak üzere sistem tarafından alınması Üretilen cümlelerin tekrar üretilebilmesini sağlayacak şekilde çıktıların verilmesi YTÜ Bilgisayar Mühendisliği Bölümü
Çalışma Mantığı YTÜ Bilgisayar Mühendisliği Bölümü
Çalışma Mantığı Sistem kelime öbeklerindeki her bir kelime için verilen kelimenin ilişkili olduğu kelime sayısının bir fazlasının çarpımları sonucu kadar cümle üretmektedir. Bu cümlelerin hiçbiri bir diğeriyle aynı olmayacak şekilde arayüzde kullanıcıya aktarılmıştır. Bu ifadeyi şu şekilde formüle edebiliriz: n : cümledeki toplam kelime (öbeği) sayısı isk : k. kelime (öbeği)nin ilişki sayısı ücs : üretilen cümle sayısı YTÜ Bilgisayar Mühendisliği Bölümü
Çalışma Mantığı Kullanıcıya döndürülen sonuçlarda oluşturulan her bir cümle için tutarlılık yüzdesi hesaplanmaktadır. Bu üretilen bir cümlenin, kullanıcı tarafından girilen cümleye göre ne kadar tutarlı olabildiğini hesaplayıp bilgilendirme amacıyla yapılmıştır. Bu tutarlılık hesaplanırken bir cümlenin içindeki hayat bilgisi veritabanından gelen her bir ilişkili kelimenin ortalama puanı ve o kelimenin ilişkisinin ilişki yüzdesi çarpılarak kullanılmaktadır. n : cümledeki toplam kelime(öbeği) sayısı cyt : cümlenin yüzde tutarlılığı iopk : k. kelime (öbeği)nin sahip olduğu ilişkinin doğruluk puanı ityk : k. kelime (öbeği)nin sahip olduğu ilişki türünün tutarlılık yüzdesi YTÜ Bilgisayar Mühendisliği Bölümü
Cehalet tanrının laneti olduğuna göre, bilgi göklere uçabileceğimiz kanatlardır. William Shakespeare YTÜ Bilgisayar Mühendisliği Bölümü
Çalışma Mantığı - Örnek Giriş Cümlesi Üretilen Cümle Üretimde Kullanılan ilişkiler Ali odada uyur. Ali binada yatar. 1.ilişki: Oda - Bütünün Bölümü - bina 2.ilişki: uyumak - Bu hangi olayın parçasıdır? –yatmak “Ali odada uyur” cümlesini sisteme girdiğimizde neler olacağını inceleyelim: YTÜ Bilgisayar Mühendisliği Bölümü
Çalışma Mantığı - Örnek Ürettiğimiz cümle sayısını hesaplayacak olursak : ücs = (1+1)*(1+1) = 4 olacaktır. Bu üretilen cümlelerin ayrı ayrı tutarlılık yüzdeleri hesaplanırsa : cyt1 = (1*5/5)*(1*5/5) = 1 cyt2 = (0,8*5/5)*(1*5/5) = 0,8 cyt3 = (0,8*5/5)*(0,7*5/5) = 0,56 cyt4 = (1*5/5)*(0,7*5/5) = 0,7 YTÜ Bilgisayar Mühendisliği Bölümü
Değerlendirme Sunulan çalışmada, ilk Türkçe hayat bilgisi veritabanı (CSdb) kullanılarak bir bilgisayar sisteminin girilen bir cümleden çıkarım yaparak girilenle benzer/aynı anlamda yeni cümleler ve doğruluk oranları üretmesi sağlanmıştır. Çalışmanın olası uygulama alanları olarak, otomatik hikâye/metin üretimi sistemleri, anlamsal metin özetleme uygulamaları, anlamsal metin sınıflandırma / kümeleme çalışmaları ve anlamsal bilgiye erişim sistemleri sayılabilir. YTÜ Bilgisayar Mühendisliği Bölümü
Değerlendirme Bu çalışmada, Hayat bilgisi veritabanlarının ve doğal dil işleme kütüphane ve uygulamalarının; gelecekteki akıllı bilgisayar sistemlerini ve interneti yönlendireceği, Bilgisayarların gündelik hayatımızı semantik çalışmalar sayesinde daha fazla kolaylaştıracağı, aşikârdır. YTÜ Bilgisayar Mühendisliği Bölümü
Sonuç ve Öneriler Sistemin performansı kullandığı CSdb'ye çok bağımlıdır. Bu nedenle CSdb’nin içeriğinin zenginleştirilmesi ve kalitesinin arttırılması otomatik olarak uygulamamıza yansıyacaktır. Zemberek çözümlemelerinden sadece ilkinin kullanımından doğan hatalar, bir kelime anlamı durulaştırma işlemiyle çözümlenebilir. YTÜ Bilgisayar Mühendisliği Bölümü
Sonuç ve Öneriler Kök ek ayrımından sonra üretilen yeni kelime köklerini tekrar eklerle birleştirecek bir sınıfın yazılması sistemin daha kullanıcı dostu olmasını sağlayacaktır. CSdb’de bir şeyin nerelerde bulunduğu, nerelerde yapıldığı gibi ilişkiler mevcut olduğundan kullanıcının girdiği cümlede yer almasa bile üretilen cümlelerde bu bilgiler yer alabilir. Örneğin “Ali futbol oynadı.” cümlesinden “Ali stadyumda topla futbol oynadı.” cümlesi üretilebilir. YTÜ Bilgisayar Mühendisliği Bölümü
Sonuç ve Öneriler Yeni cümle üretilirken, değişim yapılan öğe türüne göre bu işlem gerçekleştirilebilir. Örneğin yüklemi sonuç ile bağlı olduğu bir kavramla değiştirirken üretilen yeni cümlenin yükleminin kipine olasılık eklenebilir. Bu sayede “Ali top oynayacak.” cümlesinden “Ali yorulacak.” cümlesi yerine “Ali yorulabilir.” cümlesini üretmek mümkün olabilecektir. Üretilen cümlelerin tutarlılığını kullanıcıdan geri besleme alarak arttırabilmesi mümkündür. YTÜ Bilgisayar Mühendisliği Bölümü
Son olarak… Projenin çatısını oluşturan CSdb Hayat Bilgisi Veritabanına katkıda bulunmak isterseniz Kemik Oyun’u oynayabilirsiniz. Veritabanı oynandıkça gelişmekte ve güvenilirlik kazanmaktadır. Oyunun bağlantısı : http://www.kemikoyun.yildiz.edu.tr/commonsense Not: Türkçe Hayat Bilgisi Veritabanı CSdb; yapay zeka, makine öğrenmesi projelerinde kullanılabilmesi için 6 ay içerisinde herkese açık hale getirilecektir. Bu yüzden Kemik Doğal Dil İşleme Grubu veritabanını çok önemsemektedir. YTÜ Bilgisayar Mühendisliği Bölümü
Teşekkürler… YTÜ Bilgisayar Mühendisliği Bölümü