Python programlama dili Guido van Rossum tarafından geliştirilmiş, yüksek seviye veri tipleri olan, nesneye yönelik, esnek, kolay öğrenilebilen bir programlama dilidir. Unix ve türevleri, Mac, MS-DOS tabanlı, Windows ve OS/2 işletim sistemlerinde çalıştırabileceğiniz, anlaşılır yazımı ve mantığıyla, güçlü bir dildir. İsmi genel kanı olan piton yılanından değil, BBC'de yayınlanan "Monty Python" adlı bir komedi dizisinden gelmektedir.
NLTK'nin yazılmasında Python dilini tercih edilme sebeplerini Steven Bird şöyle sıralıyor: Kolay öğrenilebilme, yazı dili ve mantık dilini şeffaf olması, gelişmiş katar kütüphanelerine saip olması, nesneye dayalı programlamada veri ve yöntemlerin tekrar kullanılabilir olması, detaylı standart kütüphanesinin olması ve sayısal işlemeye uygun olması. [1]
Python öğrenmek konusunda en büyük kaynak kendi sitesindeki dökümantasyonudur. Bunun dışında Python hakkında detaylı bir kitap olan "Dive Into Python" elektronik halde http://diveintopython.org/ adresinden erişebilirsiniz. Python3.0 versiyonu için http://diveintopython3.org/ adresini kullanabilirsiniz. Dizgi sabitleri, biçimlemeler ve işlemleri için http://docs.python.org/library/string.html adresi kendi sitesindeki dökümanıdır. Bu konuda bana göre en iyi Türkçe kaynak ise pardus-linux sitesindeki açıklama ve örneklerdir. http://www.wiki.pardus-linux.org/index.php/Python%27da_Karakter_Dizilerinin_Metotlar%C4%B1Buradaki örnekleri kendiniz de çalışarak öğrenirseniz, ileride Nltk sınıf ve modülleri anlamada ve geliştirmede kolaylık sağlamış olursunuz.
NLTK'de sıkça kullanılan dizgi yordamları
str.lower()
İsminden de anlaşılacağı üzere büyük harfleri küçük harflere çeviren fonksiyon. Dil işlemede yapı ve anlam açısından "Masa" ve "masa" arasında bir fark olmadığı aşikardır. >>> print "Türkiye".lower()türkiye
Not: Nltk python 2.4 ve 2.5 sürümleri ile geliştirilmiş bir araçtır. Python varsayılan olarak utf8 karakter kümesinde karakterleri kodlasa da Türkçe karakterler için bu sürümlerinde hata bulunmaktadır. Karakter tablosu karışmış gibi görünmektedir. Nitekim bu konuda açılmış problem bildirimleri sitelerinde mevcuttur. http://bugs.python.org/issue1528802. Şu anda güncel sürümü olan 3.0 versiyonunda herhangi bir denemem olmadı. Ancak Pardus'ta bu problem için yazılmış yama bulunmaktadır.
Türkçe karakterlerini göstermede herhangi bir sorun gözükmemektedir.
>>> print "ŞşİiÇçIıĞğÖöÜü"
ŞşİiÇçIıĞğÖöÜü
Küçük harfe çevirme fonksiyonu Windows üzerinde denediğimde büyük İ harfini küçük ı ya , büyük I harfini küçük i ye çevirmektedir.
>>> print "ŞşİiÇçIıĞğÖöÜü".lower()
şşıiççiığğööüü
Aynı fonksiyonu Ubuntu makinem üzerinde denediğimde "şşıiççıiğğööüü" çıktısını alıyorum
[1] Bird S., Klein E., Loper E., and Baldridge J., “MultidisciplinaryInstruction With the Natural Language Toolkit ”, 2008, http://aclweb.org/anthology-new/W/W08/W08-0208.pdf