Doğal Dil İşleme +1: 3.Doğal Dil İşleme ve Python’da Stringler

Doğal dil işleme yazı serimizin 3. yazısı ile sizlerleyiz. Daha önceki yazılarımızda doğal dil işlemeye dair genel konuları ele aldık. Bundan sonraki yazılarımızda ise genellikle teknik konuları ele almaya çalışacağız. Bu tür teknik/kod olan yazılarımızda yazıyı uzatmamak ve okuyucuyu sıkmamak için az sayıda örnek vereceğiz. Daha çok örneği yazının sonunda bulunan repolarda, notebooklarda bulabilir ve üzerilerinde denemeler yaparak pratiğinizi arttırabilir, kendinizi geliştirebilirsiniz.

Doğal dil işleme süreçlerinde karşılaştığımız çoğu problemlerde string işlemlerini kullandığımız için veriler üzerinde kütüphaneler ile işlem yapmadan önce string ifadelerini öğrenmemiz büyük önem arz etmektedir. Bu işlemleri ise doğal dil işleme çalışmalarında en çok kullanılan programlama dile olan Python ile gerçekleştireceğiz. Hazırsanız başlıyoruz.

1.İndexler

Python programlama dilinde string bir veri türünün indexlerine hem ileri doğru hem de geriye doğru erişebilirsiniz.

# verdiğimiz ifadedeki ilk karakteri yazdırıyoruz ekrana

# negatif değer verdiğimizde ise sondan o değeri çağırmaya başlıyor

2.Matematiksel İşlemler

Stringlerde matematiksel işlemler sık sık kullanılmaktadır. Mesela toplama işlemi ile string ifadeleri birleştirebilirsiniz.

# kelimeler arasında boşluk olması için biraz önce olduğu gibi küçük bir boşluk bıraktık

görüldüğü üzere 5 kere verdiğimiz ifadeyi ekrana yazdırdı.

3.Örnek Fonksiyonlar

En çok kullanılan birkaç fonksiyonu gördükten sonra, bizim hazırladığımız notebook ve kaynakçada bulunan sitelerden daha fazla pratik yapabilirsiniz.

1- count()

Uzun bir ifademiz var ve ifademizin içerisinde geçen bir kelimenin kaç kere geçtiğini öğrenmek istiyoruz. count() metodu bize bu konuda yardımcı olmaktadır.

2- replace()

String türünde ki bir verimizin içindeki kelimeyi,karakteri hatta daha fazlasını istediğimiz bir ifade ile değiştirmek için replace() fonksiyonunu kullanmaktayız.

3- len()

Verilen ifadenin, boşluklar ve özel karakterler dahil toplamda kaç karakter olduğunu hesaplar. Yani uzunluğunu hesaplar.

4- split()

Split() fonksiyonu sayesinde, ifade içerisinde, parantez içinde verdiğimiz değer her geldiğinde, bir sonraki o değere kadar olan ifadeyi(virgülden virgüle), oluşturulan listeye yeni elemana olarak ekleme yapar.

5- strip()

Sağdan ve/veya soldan istenmeyen karakterleri kırpmak için kullanılır. Özellikle çok büyük miktarlarda boşluklardan kurtulmak için can kurtarıcı olabilir.

6- join()

Bölünmüş ifadelerin birleştirilmesi için kullanılır.

7-find()

Verilen ifade içerisinde, girilen değerin kaçıncı indexten itibaren başladığı bilgisini verir.

8- lower() – upper()

Verilen ifadenin içerisindeki harflerin tamamını küçük veya büyük harfe çevirmeye yarar.

9- capitalize() -title()

Capitalize() fonksiyonu, cümlemizin büyük-küçük harf durumu nasıl olduğu önemli olmaksızın, sadece cümlemizin ilk harfini büyük yapar ve geri kalan tüm harfleri küçültür.

10- swapcase()

Pythonda string türünde bir ifadenin tüm harflerini büyükse küçük, küçükse büyük harfe çevirebilirsiniz ve bu çıktıyı kopyalayabilirsiniz. Bu işlemi yapmanızı sağlayacak fonksiyon swapcase()’dir.

11- startswith()

Sıradaki fonksiyonumuz string ifademizin değer olarak verilen ifade ile başladığını bize true veya false olarak döner.

12- isalpha() – isnumeric()

isalpha() fonksiyonu eğer ifademiz string ise True döndürür
isnumeric fonksiyonu eğer ifademiz sayı ise True döner

13- enumarate()

Liste şeklinde verilen ifadeleri index:0 dan başlayarak, gruplar halinde tuple’lara ayırır.

 

Fonksiyonlarımızın sonuna geldik ama doğal dil işleme alanında veya Python programlamada kullanmak üzere çok daha fazla string metodu mevcut. Daha öncede bahsettiğimiz gibi daha fazlası için aşağıda paylaşılan repoya ve kaynakçadaki adreslere müracaat edebilirsiniz.

Ayrıca ilerleyen zamanlarda  tüm doğal dil işleme notebooklarına ve projelerimize ulaşabileceksiniz. İyi öğrenmeler!

Daha fazla alıştırma için oluşturduğumuz ve zamanla geliştireceğimiz notebook ve reposu:
Dogal_Dil_Isleme_DSE – String İşlemleri

Serinin Diğer Yazıları;
Doğal Dil İşlemeye Giriş
Doğal Dil İşlemenin Arka Planı, Zorlukları ve Daha Fazlası…

Yazarlar: Mustafa Selim Özen, Saygın YILDIZ

Kaynakça:
[1] https://www.w3schools.com/python/python_ref_string.asp
[2] https://sites.google.com/site/egitimbilgileri/home/a—python—twisted—qt/03—string-islemleri
[3] https://medium.com/analytics-vidhya/python-ten-frequently-used-string-methods-7a7fded6e5e4
[4] https://medium.com/@anandeshsharma/python-strings-f04acd16576a
[5] https://www.gangboard.com/blog/python-string/
[6] Görsel’in İlk Hali: Lisa Tagliaferri