1YTÜ Bilgisayar Mühendisliği Bölümü
Automatic Sentence Generation Using Common Sense Databases
Hayat Bilgisi Veritabanı Kullanarak Otomatik
Cümle Üretimi
Canberk Berkin ÖZDEMİRDanışman : Yrd.Doç.Dr. M. Fatih AMASYALI
2YTÜ Bilgisayar Mühendisliği Bölümü
Neden Otomatik Cümle Üretimi?Hayat Bilgisi Veritabanı Neden Kullanıldı?Projeyi Kapsayan Disiplin ve AlanlarSistemin Etkileşimli Olduğu SistemlerÇalışma MantığıDeğerlendirmeSonuç ve Öneriler
Sunum İçeriği
3YTÜ Bilgisayar Mühendisliği Bölümü
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.
Neden Otomatik Cümle Üretimi?
4YTÜ Bilgisayar Mühendisliği Bölümü
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.
Hayat Bilgisi Veritabanı Neden Kullanıldı?
5YTÜ Bilgisayar Mühendisliği Bölümü
Doğal Dil İşleme
Semantik
Makine Öğrenmesi
Projeyi Kapsayan Disiplin ve Alanlar
6YTÜ Bilgisayar Mühendisliği Bölümü
ZemberekZemberek, 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
Sistemin Etkileşimli Olduğu Sistemler
7YTÜ 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.
8YTÜ Bilgisayar Mühendisliği Bölümü
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.
Sistemin Etkileşimli Olduğu Sistemler-1
9YTÜ Bilgisayar Mühendisliği Bölümü
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.
Sistemin Etkileşimli Olduğu Sistemler-1
10YTÜ Bilgisayar Mühendisliği Bölümü
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.
Sistemin Etkileşimli Olduğu Sistemler-2
11YTÜ Bilgisayar Mühendisliği Bölümü
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.
Sistemin Etkileşimli Olduğu Sistemler-2
12YTÜ Bilgisayar Mühendisliği Bölümü
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.
Sistemin Etkileşimli Olduğu Sistemler-2
13YTÜ Bilgisayar Mühendisliği Bölümü
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.
Sistemin Etkileşimli Olduğu Sistemler-2
14YTÜ Bilgisayar Mühendisliği Bölümü
1. Sisteme üretilecek cümle girilmesi2. Cümlelerimiz Zemberek’e morfolojik olarak incelenmek
üzere gönderilmesi3. XML olarak kelime çözümlemeleri sisteme geri
döndürülmesi4. 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
5. 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ı
6. Üretilen cümlelerin tekrar üretilebilmesini sağlayacak şekilde çıktıların verilmesi
Çalışma Mantığı
15YTÜ Bilgisayar Mühendisliği Bölümü
Çalışma Mantığı
16YTÜ Bilgisayar Mühendisliği Bölümü
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:
Çalışma Mantığı
n
kkisücs
1
)1(
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ı
17YTÜ Bilgisayar Mühendisliği Bölümü
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.
Çalışma Mantığı
n
k
kk iopitycyt1 5
)*(
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
18YTÜ 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
19YTÜ Bilgisayar Mühendisliği Bölümü
Çalışma Mantığı - ÖrnekGiriş
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:
20YTÜ Bilgisayar Mühendisliği Bölümü
Ü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
Çalışma Mantığı - Örnek
21YTÜ Bilgisayar Mühendisliği Bölümü
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.
Değerlendirme
22YTÜ Bilgisayar Mühendisliği Bölümü
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.
Değerlendirme
23YTÜ Bilgisayar Mühendisliği Bölümü
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.
Sonuç ve Öneriler
24YTÜ Bilgisayar Mühendisliği Bölümü
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.
Sonuç ve Öneriler
25YTÜ Bilgisayar Mühendisliği Bölümü
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.
Sonuç ve Öneriler
26YTÜ Bilgisayar Mühendisliği Bölümü
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.
Son olarak…
27YTÜ Bilgisayar Mühendisliği Bölümü
Teşekkürler…