13 - Inet-tr

Download Report

Transcript 13 - Inet-tr

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ü
1
 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ü
2
 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ü
3
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ü
4
 Doğal Dil İşleme
 Semantik
 Makine Öğrenmesi
YTÜ Bilgisayar Mühendisliği Bölümü
5
 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ü
6
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ü
7
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ü
8
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ü
9
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ü
10
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ü
11
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ü
12
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ü
13
1.
2.
3.
4.
5.
6.
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ü
14
YTÜ Bilgisayar Mühendisliği Bölümü
15
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
ücs   (isk  1)
k 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ı
YTÜ Bilgisayar Mühendisliği Bölümü
16
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
(ityk * iopk )
cyt  
5
k 1
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ü
17
YTÜ Bilgisayar Mühendisliği Bölümü
18
“Ali odada uyur” cümlesini sisteme
girdiğimizde neler olacağını
inceleyelim:
Giriş
Cümlesi
Ali odada
uyur.
Üretilen
Cümle
Üretimde Kullanılan
ilişkiler
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
YTÜ Bilgisayar Mühendisliği Bölümü
19
Ü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ü
20
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ü
21
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ü
22
 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ü
23
 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ü
24
 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ü
25
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ü
26
YTÜ Bilgisayar Mühendisliği Bölümü
27