Türkçe kelime tahlil programı ?
merhaba arkadaşlar
bir program düşünün Türkçe'deki kelimeleri giriyoruz.Bize kökünü + ekini + şahsını veriyor.
mesela programa girdi olarak
== geliyorum
kelimesini girince bize çıktı olarak
= gelmek -> fiil kökü
= i -> kaynaştırma
= yor -> şimdiki zaman
= m -> 1.tekil şahıs eki
yada
== Bakışıyoruz şeklinde girince
-bak: fiil kökü
-ış: fiilden fiil yapım eki
-ı: yardımcı ses
-yor: şimdiki zaman eki
-uz: birinci çoğul şahıs eki
şeklinde bir çıktı versin.
Soru olarak böyle bir program var mı ?
Soru hatalı mı? 👎
Eğer sorunun kurallara aykırı olduğunu düşünüyorsanız lütfen bize bildirin!
Cevaplar (30)
Aşağıdaki linkleri incelemenizi tavsiye ederim
Natural Language Processing Library for Turkish by github@hrzafer
Demo
Türk edebiyatının ünlü hikâyecisi, romancısı, şairi ve yazarı Sabahattin Ali, 25 Şubat 1907 tarihinde babasının görevli olarak gittiği Gümülcine’ye bağlı İğridere’de doğmuştur. Babası Piyade Yüzbaşı Ali Selahattin Bey, annesi Hüsniye Hanım’dır. Sabahattin Ali’nin, Fikret (1911) ve Süheyla (1920) adlarında iki kardeşi bulunmaktadır.
1914 yılında İstanbul’da Üsküdar’daki Füyuzat-ı Osmaniye’de başladığı ilköğretimini, 1921 yılında Çanakkale, Edremit iptidailerinde tamamladıktan sonra Balıkesir Öğretmen Okuluna girmiştir. 1926 yılında İstanbul Erkek Öğretmen Okuluna geçiş yapan Sabahattin Ali, son sınıfı burada okumuştur. Öğrenciliği döneminde arkadaşlarıyla çıkarttıkları okul gazetesinde ilk öyküleri ile şiirleri yer almış ve “Şarkı” adlı şiirini ilk defa okul dergileri dışında Balıkesir’de çıkan Çağlayan dergisinde yayımlamıştır.
12 Kasım 1926 tarihinde henüz 19 yaşındayken babasının ani ölümü onu çok etkilemiş ve Güneş dergisinde 15 Ocak 1927 tarihinde yayımlanan “Babam İçin” adlı şiiri yazmıştır. 1927’de İstanbul Öğretmen Okulundan mezun olan Sabahattin Ali, bu yılın Ekim ayında Yozgat Cumhuriyet İlkokulunda göreve başlamış, 1928 yılında da Maarif Vekâletinin açtığı sınavda başarılı olunca Kasım 1928’de Almanya’ya öğrenci olarak gönderilmiştir. 1928’de dil kurslarına başladığı Potsdam’da, Batı edebiyatını tanımış, Rus yazarların eserlerini okumuş, şiir ve öyküler yazmıştır. Burada gördükleri, okudukları ve edindiği tecrübeler, edebi hayatının şekillenmesinde büyük rol oynamıştır.
1930 yılının ilkbaharında Türkiye’ye dönen Sabahattin Ali, yaz maaşlarını alabilmesi için Bursa’nın Orhangazi-Orhaneli ilçesine gönderilmiştir. Gazi Terbiye Enstitüsünün Almanca sınavında başarılı olmuş ve Almanca öğretmenliğine atanmıştır. 1930, aynı zamanda onun Nazım Hikmet’le de tanıştığı ve ilk toplumsal gerçekçi öyküsü olan “Bir Orman Hikâyesi”ni Resimli Ay mecmuasında yayımladığı yıldır. Nazım Hikmet’le dostluğu da bu vesileyle başlamıştır.
25 Temmuz 1931’de kabul edilip 8 Ağustos 1931 tarihli Resmi Gazete’de yayımlanarak yürürlüğe giren Matbuat Kanunu’nun 40. maddesinde komünizm, anarşizm yanlısı yayınlar yasaklanmış ve bu yasağa uymayanlara 6 aydan üç yıla kadar hapis cezası getirilmiştir. Aydın Ortaokuluna Almanca öğretmeni olarak atanan Sabahattin Ali de burada öğrenciler arasında yıkıcı olarak adlandırılan komünizm propagandası yaptığı yönünde bir ihbarla tutuklanmıştır. Maarif Vekâletinin açtığı soruşturma sonucunda üç ay Aydın Hapishanesinde kalan Ali, ifadesinde ülkenin nizamını bozacak sözler sarf etmediğini söylemiştir. Suçsuz olduğu anlaşıldıktan sonra serbest bırakılmış ve 1931’in Eylül ayında Konya Ortaokuluna Almanca öğretmeni olarak atanmıştır.
<?php
function kelimeAyir($kelime) {
// Kelime hecelere ayrılıyor
$heceler = hecele($kelime);
// Son hece alınıyor (birinci çekim eki burada yer alır)
$son_hece = array_pop($heceler);
// İlk hece alınıyor (fiil kökü burada yer alır)
$ilk_hece = array_shift($heceler);
// Fiil kökü tespit ediliyor
$fiil_koku = fiilKoku($ilk_hece);
// Fiil yapım eki tespit ediliyor (birinci çekim eki dahil ediliyor)
$fiil_yapim_eki = substr($son_hece, 0, -2);
// Kişi ekleri tespit ediliyor
$kişi_eki = substr($son_hece, -2);
// Çıktıya eklenen değerler için bir dizi oluşturuluyor
$cikti = array(
'= ' . $fiil_koku . ' -> fiil kökü',
'= ' . $fiil_yapim_eki . ' -> fiil yapım eki',
'= ' . $kişi_eki . ' -> kişi eki'
);
// Çıktı dizesi oluşturuluyor
$cikti_str = implode("\n", $cikti);
return $cikti_str;
}
function hecele($kelime) {
// Türkçe heceleme kurallarına göre kelime hecelerine ayrılıyor
// Bu örnekte basit bir algoritma kullanılmıştır, gerçek dilbilgisi kurallarını kullanabilirsiniz
$heceler = array();
$kelime_len = mb_strlen($kelime, 'utf-8');
for ($i=0; $i<$kelime_len; $i++) {
$hece = '';
if ($i < $kelime_len-1 && mb_substr($kelime, $i, 2, 'utf-8') == 'iy') {
$hece = mb_substr($kelime, $i, 2, 'utf-8');
$i++;
} else {
$hece = mb_substr($kelime, $i, 1, 'utf-8');
}
$heceler[] = $hece;
}
return $heceler;
}
function fiilKoku($hece) {
// Fiil kökü tespiti için Türkçe dilbilgisi kurallarına göre işlem yapılıyor
// Bu örnekte sadece son hecenin son harfi kontrol edilerek fiil kökü belirleniyor
$son_harf = mb_substr($hece, -1, 1, 'utf-8');
if (in_array($son_harf, array('a', 'e', 'ı', 'i', 'o', 'ö', 'u', 'ü'))) {
return mb_substr($hece, 0, -1, 'utf-8');
} else {
return $hece;
}
}
Böyle bir uygulamayı yapabilmek için öncelik olarak dil bilgisine iyice sahip olman lazım. Dil bilgisine sahip değilsen bile araştırmalısın.
Herşeyi bir kağıda dökmelisin mantığını anlamalısın. Eğer bunun için bir api filan yoksa herşeyi kendin yapmalısın. Tüm kelimeleri bir veritabanında kayıt etmelisin.
Sonrasında ise bir algoritma üzerinde bunları birleştirmelisin. Bunu yapabilirsin bu konuda rahat ol ama bu seni baya uğraştıracak buna da hazır ol :)
Bu konuda araştırmalarım yok bilgimde yok ama benim önerim budur :)