|
|||||||||||||
|
|
Örnek Temelli Bilgisayar Çevirisi (Example-Based Machine Translation)İlker Fıçıcılar Bilgisayar çevirisi 1950'lerden beri var olmasına rağmen özellikle son yıllardaki işlem gücü artışıyla bu konudaki çalışmalar daha bir ivmelenmiştir. 1980'lerin ortalarına kadarki çalışmalar genellikle Kural-Temelli Bilgisayar Çevirisi (RBMT) yöntemlerine dayanıyordu. 1990'lardan başlayarak IBM öncülüğünde istatistiksel çeviri yöntemleri de önem kazanmıştı. Şimdi ise bilgisayarlara pek çok örnek tümce sığdırabilmemiz ve bunlar arasında oldukça hızlı aramalar yapabilmemiz sayesinde, daha önce bir insan tarafından yapılmış çevirileri örnek alarak yeni bir çeviri yapabilen bilgisayar çevirisi yöntemleri geliştirilmektedir. Günümüzde çevirilerin bilgisayarda kelime işlem yazılımları kullanılarak yapılması sayesinde oldukça fazla çift-dilli külliyat vardır. İnternetin yaygınlaşması sayesinde de bu çift-dilli yazılara kolaylıkla ulaşabilmek ve bunları örnek-temelli bilgisayar çevirisi (EBMT) amacıyla veritabanlarına eklemek artık oldukça kolaydır. Bu yazılar, elde edildikten sonra çeşitli denk-getirme (aligning) yordamları ile bir çift-dil eşleme veritabanı veya bir Çeviri Belleği (TM) oluşturulabilmektedir. Ardından bu veritabanı kullanılarak Hedef Dil (HD) incelenir ve sözcük yerleri, birlikte bulunan sözcüklerin olasılıkları, sözcük sıklıkları istatistikleri başka veritabanları oluşturmak üzere kullanılabilir. Çeşitli tümce açılışları ve tümce bitişleri bu istatistikler sayesinde olmaları gereken yerlere yerleştirilebilirler. Örneğin, 10 üzerinden puanlandığında çeşitli sözcükler cümledeki yerine göre şu şekilde veritabanına eklenebilir: Ayrıca 0 Bir 0 Bu 0 Yine de 0 ayrı 5 bazı 5 ilgili 5 önemli 5 alınmıştır 10 bulundu 10 değildir 10 tanımlanır 10 Bu tarz bir sözcük yeri veritabanı şu şekilde listelenebilir, ardından da aynı sözcüklerin yer puanlarının ortalaması alınarak bir sözcük yeri veritabanı oluşturulabilir. Şu unix bash script örneğinde WordFast'in Çeviri Belleği kullanılarak sözcük yerlerinin nasıl belirlenebileceği gösterilmiştir: cat WfMemory.txt|tr -d "\015"|cut -f7|while read str do i=1 set $str sadet=`while [ "$1" != "" ];do shift;echo $i;let i=$i+1;done|tail -1` i=1 set $str while [ "$1" != "" ] do j=`expr $i "*" 10` k=`expr $j / $sadet` echo $1 $k let i=$i+1 shift done done Çeviri belleği, deyimsel çeviri belleği ve istatistiksel denklik sözlüğü kullanıldıktan sonra oluşturulan çeviri adayı tümcelerdeki sözcükler bu veritabanına göre de dizilir. Ardından bütün çeviri adayı tümceler, içlerindeki sözcük çiftlerinin külliyatta geçme sıklıklarına göre dizilir. Bu yeni sıralamanın ilk %20'si üzerine istenirse başka bir nitelik denetlemesi daha uygulanabilir.
Bilgisayar Çevirisi Yöntemine İlişkin ÖrnekBir örnek çalışma olarak 5-10 sözcüklük bir sözlük ile kısa bir tümce üzerine çeviri çeşitlemeleri gösterilmiştir. Örnekte kullanılacak olan tümce "However, it is not yet complete." 'dir. Mevcut Çeviri Bellekleri kullanmak yerine örneğin küçüklüğünden ötürü şu şekilde bir çift-dilli bellek/sözlük kullanalım (çiftler tab ile ayrılı): However Yine de However Bununla beraber the translation çeviri definition tanım definition tanımlama is not değildir yet henüz yet şimdilik complete tam complete tamam is complete tamdır it really gerçekten is it mıdır Bir de sözcük yerleri veritabanımız olsun: Yine de 0 Bununla beraber 0 çeviri 4 tanım 5 tanımlama 5 değildir 10 henüz 4 şimdilik 4 tam 6 tamam 6 tamdır 10 mıdır 10 midir 10 mudur 10 müdür 10 gerçekten 9 Bunları sırasıyla sozluk-mt-v00.txt ve sozluk-mt-yer-v00.txt dosya adlarıyla kaydedelim. Ardından deneme amaçlı şu kısa ve öz çeviri programcığımızı yazıp mtcevir gibi bir dosya adı ile kaydedip chmod 755 ile çalıştırılabilir yapalım (not: bu işlemler için Pardus gibi bir Unix işletim sistemine gerek var): #!/bin/bash # # mtcevir # # Bilgisayar Çevirisi İstatistiksel ve EBMT Yaklaşım # # deneme 1: 16 Temmuz 2006, 01:06 # # İlker Fıçıcılar # (while [ "$1" != "" ] do sozcuk="$1" if [ "$sozcuk" == "is" ];then shift sozcuk="$sozcuk $1" fi sozcuk=`echo "$sozcuk"|sed "s/\.//g;s/,//g"` grep -w "^$sozcuk" sozluk-mt-v00.txt|cut -f2|while read hsoz do echo -ne "$hsoz\t" done echo shift done|cut -f1;echo @@@)|grep -e "[[:alnum:]]" -e "@@@"|while read soz1 do read soz2 if [ "$soz2" != "@@@" ];then yer1=`grep -w "^$soz1" sozluk-mt-yer-v00.txt|cut -f2` yer2=`grep -w "^$soz2" sozluk-mt-yer-v00.txt|cut -f2` if [ "$yer1" == "" ];then yer1=1;fi if [ "$yer2" == "" ];then yer2=$yer1;fi if [ "$yer1" -le "$yer2" ];then echo "$soz1" echo "$soz2" else echo "$soz2" echo "$soz1" fi else echo "$soz1" fi done|grep -v "@@@"|tr "\012" " " echo
Şimdi bu betik (script) ile birkaç deneme yapalım: $mtcevir However, it is not yet complete. Yine de değildir henüz tam Buradaki basit örnekte array kullanmadığımızdan "değildir" tümce-sonu sözcüğü yerine yerleşemedi. Örnek programda doğrusal bir işleme kullandığımız için sadece bir kez sözcükleri yerlerine göre yanındakiyle yer değiştirtebildik. Array kullanımı ile bir sözcüğü yanındaki ile değil, olması gereken yerdeki sözcükle yer değiştirmemiz mümkün. Şimdi birkaç deneme daha yapalım: $ mtcevir it is not complete tam değildir $ mtcevir it is not complete yet tam değildir henüz $ mtcevir it is complete tamdır $ mtcevir the definition is not complete tanım değildir tam $ mtcevir is it complete tam mıdır $mtcevir However, the translation is not yet complete. Yine de çeviri henüz değildir tam Hint-Avrupa dillerinden Türkçe'ye çeviride kural-temelli yaklaşımlar yapı farklılıklarından ve yazının bağlamını dikkate almamalarından ötürü genellikle iyi bir sonuç vermez. Örneğin piyasadaki ticari yazılımlar "western countries" tümcesini "kovboy filmi ülkeleri" diye çevirebilmektedir. Örnek-temelli yaklaşımda ise daha önce çevrilmiş olan bir külliyat örnek alındığından. Yazının bağlamından kopulmamakta ve bu tür sapmalara rastlanmamaktadır. Yine de eğer veritabanındaki örnek sayısı yetersiz ise boşluklar çift-dil denklik sözlüğü kullanılarak doldurulacağından benzer hatalara rastlamak olasıdır. Ama bu yaklaşımda çözüm basittir: Çeviri Belleği veritabanını büyütmek çeviri kalitesini gözle görülür ölçüde arttırır. Türkçe'ye bilgisayar çevirisi çözümü için bu EBMT yaklaşımına eğilmek oldukça yararlı olacaktır. İlker FIÇICILAR
Kaynakça
http://bilim.ficicilar.name.tr/sayfa/Ornek_temelli_bilgisayar_cevirisi-EBMT.html Arama önerileri: çeviri, tercüme, makine çevirisi, machine translation, EBMT, MT, yapay zeka,
© 2000-2008 |
|