Mlliyet Milliyet Blog Milliyet Blog
 
Facebook Connect
Blog Kategorileri
 

04 Mart '07

 
Kategori
Yazılım
 

Çeviri programı yazmak

Çeviri programı yazmak
 

Günümüzde Türkçe' den İngilizce ve diğer dillere, yine bu dillerden Türkçe' ye çeviri yapan gerçek anlamda bir program henüz yok. Gerçi İngilizce' den Türkçe' ye nispeten başarılı bir iki program mevcut; özellikle İngilizce' yi hiç bilmeyen kullanıcılar için bazı alanlarda kullanışlı olabiliyorlar. Ancak gerçek anlamda bir çeviri yapmaktan çok öteler. Hele Türkçe' den İngilizce' ye çeviri yapan tek bir program bile mevcut değil - sözcüklerin karşılığını vererek çeviri yaptığını iddia edenleri saymıyorum tabi.

Şahsen çok uzun süredir güzel bir çeviri programı nasıl yapılır, bu konu üzerinde kafa yoruyorum. Öyle bir çeviri programı ki, profesyonel bir çevirmen kadar başarılı ve doyurucu çeviri yapabilsin. Bu yazımda sizinle bugüne kadar edindiğim birikimi paylaşmak istiyorum:

Dilbilim yani linguistik kitaplarını incelerseniz, kullandığımız dilin genel olarak iki ana bölüme ayrıldığını görürsünüz: Sentaks (sözdizim) ve semantics (anlamdizim). Sözdizim, cümle içindeki her bir sözcüğün yeri ve rolünü gramer açıdan ele alan bilimdir. Sentaks ise o sözcüğün anlam açısından niteliğini inceler. Geliştireceğimiz çeviri programı da bu iki aşamayı içinde barındırmalı. Tabi sözdizim bölümü halledilmeden anlamdizim aşamasına geçilemez. Ancak yalnızca sözdizim aşamasında bili oldukça yetenekli bir çeviri programı geliştirmemiz mümkün olacaktır.

Sözdizim aşamasının en temeli ise cümle ayracı yani bir parser programdan geçmektedir. Ayraç modülü, cümleyi özne, nesne, yüklem gibi rollerine ayırırken, her bir rolü de kendi içinde isim tamlaması, sıfat tamlaması, zarf gibi yapılara ayırmayı başarır. Bu özellik bize cümle üzerinde dilediğimiz oranda hakimiyet verir. Örnek olarak:

"The sad man walks slowly on the bridge now" cümlesini ele alalım. Bu cümleyi ayraçladığımızda aşağıdaki yapıyı elde ederiz:

-
English Sentences
-
Main Clause
-
the sad man
the
-
sad man
sad
man


-
walks slowly
walk
slowly

-
on the bridge
on
-
the bridge
the
bridge


now

Visual Studio .NET C# dilini kullanarak geliştirdiğim bu modülü yazarken gördüğünüz gibi XML tabanlı bir yapı seçtim. XML oldukça esnek bir yapısal bir nitelik taşımakta. Tabi ayraç programımızın temel mantığı geriyeçağrışımlı (recursive) yordamlardan oluşuyor. Dolayısıyla bir cümle ne kadar karışık, içiçe ve uzun olursa olsun, programımız o cümleyi başarılı bir şekilde ayraçlayacaktır. İngilizce Ayraç modülünü büyük oranda bitirmiş durumdayım ancak henüz hala bir prototip aşamasında. Özellikle tüm zaman kiplerinin (tense), bileşik cümlelerin ve kalıpların ele alınması uzun bir süreci kapsamakta.

Tabi bu modülün yanında bir de Türkçe ayraç modülümüz var sırada. Her ne kadar iki dil birbirinden çok farklı yapıda gibi görünse de, XML çanta sistemini kullanarak, aynı mantıkla Türkçe ayraç modülü geliştirmemiz mümkündür (bu aşamaya maalesef henüz ulaşamadım, ama aynı kaynak kodunu bir miktar özelleştirerek sonuca ulaşabileceğimi düşünüyorum).

Aynı mantıkla örülü iki ayraç sistemimiz olduktan sonra, çanta mantığını kullanarak (örneğin sıfat tamlama çantası içinde yer alan bir isim tamlama çantası gibi) iki dil arasında karşılıklı dönüşüm dolayısıyla çeviri yapmamız mümkün olacaktır.

Burada en önemli nokta, çanta mantığının bize bütüncül bir yaklaşım sunması ve bir sözcüğün tamlama, rol veya cümle içindeki konumuna göre anlamının değişebilmesi. Dolayısıyla mecaz dahil istediğimiz sözcük veya kalıbın çevirisini tam olarak elde etmemiz - üstelik sözdizim düzeyinde - mümkün olacaktır. Bu aşamadan sonra gelecek anlamdizim aşaması ise gerçek anlamda Yapay Zeka sistemlerinin geliştirilmesinin önünü açacaktır.

Böylesi bir projeyi doğal olarak tek başıma bitirmem neredeyse imkansız. Yine de geliştirdiğim bu yaklaşımın başarılı olduğuna ve olacağına, sonuçta da çeviri programcılığında - özellikle profesyonel bir çeviri bürosu ile beraberce projelendirildiği takdirde - çığır açacağına inanıyorum.

 
Toplam blog
: 72
: 1949
Kayıt tarihi
: 11.10.06
 
 

Yazar 1975 Ankara doğumludur. Monterey Postgraduate School / California'da bilgisayar bilimi dalı..