Örnek Temelli Bilgisayar Çevirisi (Example-Based Machine Translation)

Türkçe'ye bilgisayar çevirisi çözümü için EBMT yaklaşımına eğilmek oldukça yararlı olacaktır. 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 Bilgisayar Çevirisi (Example-Based Machine Translation)


İlker Fıçıcılar
Temmuz 2006

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 "15"|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 Örnek

Bir ö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 "$hsozt" 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 "12" " " 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.

Ayrıca EBMT veya derleme (corpus) dayanan diğer başka yöntemlerle çeviri ya da doğal dil işleme (NLP) yapay zeka çalışması yapmak isteyenler şu çeviri bürosunun yayınladığı TMX formatındaki Çeviri Belleği sayfasını ara ara yoklayabilirler: Çevirmenlere Yardımcı Kaynaklar ve Veritabanları



İlker FIÇICILAR

 

Kaynakça

  1. Öz, Z. and I. Cicekli: 1998, `Ordering Translation Templates by Assigning Confidence Factors', in Farwell et al. (1998), pp. 51-61.
  2. Güvenir, H. A. and I. Cicekli: 1998, `Learning Translation Templates from Examples', Information Systems 23, 353-363.
  3. Güvenir, H. A. and A. Tunç: 1996, `Corpus-Based Learning of Generalized Parse Tree Rules for Translation', in G. McCalla (ed.), Advances in Artificial Intelligence, Berlin: Springer Verlag, pp. 121-132.
  4. Cicekli, I. and H. A. Güvenir: 1996, `Learning Translation Rules From A Bilingual Corpus', NeMLaP-2: Proceedings of the Second International Conference on New Methods in Language Processing, Ankara, Turkey, pp. 90-97.
  5. Nagao, M.: 1984. `A Framework of a Mechanical Translation between Japanese and English by Analogy Principle', in A. Elithorn and R. Banerji (eds), Artificial and Human Intelligence, Amsterdam: North-Holland, pp. 173-180.
  6. Somers, Harold. (1999), `Review Article: Example-based Machine Translation', Machine Translation, vol. 14, no. 2, pp.113-157.
  7. OmegaT, "Computer Aided Translation" Aracı, http://www.omegat.org/omegat/omegat.html
  8. WordFast, "Computer Aided Translation" Aracı, http://www.wordfast.net/
  9. Google, "Example-Based Machine Translation" araması, http://www.google.com.tr/search?q=example-based+machine+translation+filetype:pdf
  10. Şip Şak Çeviri, EC Online Tercüme Hizmetleri, http://www.SipSakCeviri.com/
  11. Babil Türk Online İngilizce Türkçe Çeviri Sitesi, http://www.babilturk.com/
  12. Hemen Çevir, Online İngilizce - Türkçe çeviri, http://www.hemencevir.com/
  13. Pro Çeviri, Ticari İngilizce - Türkçe çeviri programı, http://www.proceviri.com/
  14. EC Tercüme, İngilizce Türkçe Teknik Çeviri, http://www.english-certificate.ekitap.gen.tr/
  15. Linux Bilgileri ve Bash script kullanımı, http://teknik.ekitap.gen.tr/

http://bilim.ficicilar.name.tr/sayfa/Ornek_temelli_bilgisayar_cevirisi-EBMT.html





İlker Fıçıcılar


Takip edilmekten korkmuyoruz!.. Takip için tıklayın: twitter.com/bilimbilmek

Anahtar sözcükler: çeviri, tercüme, makine çevirisi, machine translation, EBMT, MT, yapay zeka

Benzer Yazılar


İlker Fıçıcılar'ın Makalelerinden Örnekler


Referans bilgisi: "Örnek Temelli Bilgisayar Çevirisi (Example-Based Machine Translation)", 2006 , Bilim Bilmek sitesi, http://www.bilimbilmek.com/tr/ornek-temelli-bilgisayar-cevirisi-example-based-machine-translation.html


 Bu sayfayı Facebook'ta paylaşın.

 Bu sayfayı Twitter'da paylaşın.


[Sip Sak Ceviri]
^.