Bu Sayfayı Paylaş:

Kavram

Hece

Tanım: Bir solukta çıkarılabilecek ses birimi. Türkiye Türkçesinden her ünlü ses bir heceye karşılık gelmektedir. A-ta-ma, ka-pat-ma-dı-lar, gi-di-yor-lar, sürt-me-miş-ler

Veri

Türkiye Türkçesinde Olabilecek Hece Türleri

Türkiye Türkçesinde Türkçe kökenli sözcükler için olabilecek hece tipleri aşağıdaki gibidir :
  • V : a, ı, e
  • CV : de, ye, ki, ve, su
  • VC : at, ak, iş, ok, el
  • CVC : tut, gel, kal, taş, baş, kuş
  • VCC : ört, ürk, alt
  • CVCC : dört, kalk, Türk
V (Vowel) ünlü, C (Consonant) ünsüz anlamında kullanılmaktadır.
Yabancı dilden gelen bazı sözcükler yukarıdaki hece yapısına uymayabilir : saat, tren, bandrol, santral vb.. Ancak Türkçe söylenişte uymaya zorlayabilir : saat>sağat, tren>tiren, bandrol>bandırol gibi.
Sözcüklere gelen ekler de yukarıdaki hece tiplerinde olmaktadır veya eklendiği sözcüğün hecesine katılır:
  • C : erit (eri-t), dert-leş (dert-le-ş)
  • V : ev-e, iş-e, yaş-a
  • CV : de-di, ye-di, su-la
  • VC : at-ış, ak-ıt, iş-et, ok-ur, el-er
  • CVC : tut-muş, gel-mek, kal-mak, taş-lık, baş-lık, kuş-tan
  • CVCC : okut-turt (oku-t-tur-t), sevin-dirt (sev-in-dir-t)

-mtrak (sarımtrak, acımtrak) eki kuralı bozmaktadır. sarımtrak = sa-rım-trak şeklinde Türkçe'de olmayan trak yapısındadır.

İpucu

Türkçe Hecelere Ayırma Yöntemi

Türkçede bir sözcüğü hecelere ayırma işlemi sondan yapılır. Sondan başlayarak ünlü sesler tespit edilir. Eğer ünlünün solunda bir ünsüz var ise o ünlüye dahil edilir ve hece olarak ayrılır. Geri kalan bölüm için yine aynı mantık devam eder. Ünlünün solunda ünsüz kalmadığı zaman heceleme bitmiş olur.



atama // son a'nın yanında m var ve -ma olarak ayır ata-ma // ikinci anın yanında t var ve -ta olarak ayır a-ta-ma // ilk a solunda ünsüz ses yok ünlü ses hece olur ve biter

biçmekte // son e nin yanında t var ve -te olarak ayır. biçmek-te // sondan ikinc e'nin yanında m var ve m'yi dahil edip mek olaraka ayır biç-mek-te // i ünlüsünün sonunda b var ve biç olarak ayrılır ve biter

uzanmış // son ı sesininin yanında m var m'yi dahil edip mış olarak ayır uzan-mış // a sesinin solunda z var ve dahil edip -zan olarak ayır u-zan-mış // u solunda ünsüz yok işlem bitmiş olur

düşündürttü // ü'nün sonunda t var tü şeklinde ayır düşündürt-tü // sondan ikinci ü'nün yanında d var d'yi dahil edip dürt olarak ayır düşün-dürt-tü // ikinci ü'nni yanında ş var şün olarak ayır dü-şün-dürt-tü // il ünün yanında d'yi dahil et ve dü olarak ayır. Başka ses kalmadığı için sona ermiştir


Yukarıdaki kural sözcükte iki ünlü ses yan yana gelmiyorsa geçerlidir. Türkçede çok nadir de olsa saat, babaanne, tabiat, maalesef gibi örneklerde görülebilmektedir. Bu durumlarda ünlüden önceki ses yine bir ünlü heceyi bulduğunuz ünlüden itibaren ayırın. Bir önceki ünlüyü dahil etmeyin :

saatinde // e sesi öncesi d var de şeklinde ayır
saatin-de // i sesinden önce t var ti olarak ayır
saa-tin-de // ikinci a yanında yine a var. Bu nedenle ikinci a'dan -a olarak ayırıyoruz
sa-a-tin-de // il a'dan sonra s sesini dahil edince heceleme bitmektedir.


ailece // son e yanında c var. -ce olarak ayır aile-ce // e yanında l var dahil edip -le olarak ayır ai-le-ce // i yanında a var bu nedenle sadece i'yi alı a-i-le-ce


Birleşik sözcüklerde birleşen sözcükler ayrı ayrı olarak hecelenmez. Bir bütün olarak hecelenir. Örneğin Kırklareli > Kırk-lar ve E-li olarak ayrılmaz. Bir bütün olarak kırk-la-re-li olarak ayrılır. Benzer bir şekilde eloğlu sözcüğü e-loğ-lu olarak ayrılır.

Tren, spor, krem gibi sözcükler başta iki ünsüz sesten dolayı kurala uymazlar. Yukarıdaki gibi hecelere ayrılamazlar. Eğer sözcük başında iki ünsüz var ise ilk ünsüz heceye dahil edilebilir :

trende // son e ile -de ayrıl
tren-de // e yanında r var. Ancak ilk ses de ünsüz bu durumda birleştir
tren-de


Ancak elektrik, sivasspor gibi ortada iki gelmesi gibi benzer bir durum var ise hecelemek mümkün değildir. Bunun için bu istisna sözcükleri bilmeli ve bütün olarak hecelenmelidir :

elektriğin// i nedeniyle -ğin ayrılması gerekirken ayrılamaz ve trik bütün olarak alınır
elek-triğ-in // trik birlikte ayrılır
e-lek-triğ-in // lek ayrılır. 
elek-
tren-de

Veri

Java ile Sözcüğü Hecelere Ayırma ve Hece Sayısını Bulma

Türkçe için hecelere ayırma algoritması şu şekildedir. Verilen metnin son ünlüsü tespit edilir. Bu ünlüden önceki ünsüz ise o ünsüz dahil edilerek sözcük sonuna kadar hece kabul edilir ve bir listeye eklenir. Eklenen heceden geri kalan sözcük için tekrar aynı yöntem uygulanır. Elde ünlü kalmayan son durum da hece listesine eklenir. En son da eklenen liste tersine çevrilir. Basit bir uygulama aşağıdaki gibidir :
public void parse(String text) {
	syllable=new ArrayList<String>();
	syllable(text);
	Collections.reverse(syllable);			
}
void syllable(String text) {
	
	if(text==null||text.isEmpty()) {
		return;
	}
	
	int lastIndex=TurkishLanguage.findLastVowelIndex(text);
	if(lastIndex>0) {
		if(TurkishLanguage.isVowel(text.charAt(lastIndex-1))) {
			syllable.add(text.substring(lastIndex));
			syllable(text.substring(0,lastIndex));
		}else {
			syllable.add(text.substring(lastIndex-1));
			syllable(text.substring(0,lastIndex-1));
		}
	}else {
		syllable.add(text);
		return;
	}
	
}
TurkishLanguage.findLastVowelIndex yöntemi son ünlünün index'ini veren bir yöntemdir :
public static Character findLastVowel(String word) {
	for (int i = word.length() - 1; i >= 0; i--) {
		char c = word.charAt(i);
		if (TurkishLanguage.isVowel(c)) {
			return c;
		}
	}
	return null;
}
TurkishLanguage.isVowel(c) ile bir karakter ünlü mü değil mi döndüren basit bir yöntemdir.
Örneğimizde son bir ünlü metni içinde var ise bir önceki ses ünlü ise ünlüyü dahil edip en sona kadar kısmı alıyoruz ve hece listesine ekliyor. Geri kalan metni sürece devam etmesi için aynı yönteme yönlendiriyoruz. Eğer son ünlüden önceki ünsüz ise bu ünsüz dahil ederek heceyi alıyoruz ve geri kalanı yine aynı yönteme yönlendiriyoruz. syllable listesi parçalanan heceleri tutan bir liste. Süreç bittikten sonra bu liste ters çevrildiğinde heceler doğru sırada verilmiş olunur.
Aşağıdaki gibi basit testler yapılarak doğrulanabilir :
@Test
public void parseTest() {
	
	String text="katanlardan";
	
	SyllableParser parser=new SyllableParser();
	parser.parse(text);
	
	System.out.println(parser.getSyllable());
}
Çıktı aşağıdaki gibi olacaktır :
[ka, tan, lar, dan]
Bu yöntem tren gibi, sarımtrak, elektrik, spor gibi sözcüklerde işe yaramamaktadır. Bu yöntem yerine daha gelişmiş bir yöntem gerekir.
Hece sayısı ise bir sözcükteki ünlü sesleri sayarak yapılabilir. Sadece saat, babaanne gibi iki ünlünün yan yana geldiği örneklerde değeri vermez.
public int getCountSyllable(String text) {
	Pattern p = Pattern.compile("[aAeEiİıIoOöÖuUüÜâÂûÛîÎ]", Pattern.CASE_INSENSITIVE | Pattern.UNICODE_CASE);
	Matcher m = p.matcher(text);
					
	int i=0;
	while (m.find()) {
	   i++;
	}		
	return i;
}
Java 9 ve sonrası için döngü açıp saymak yerine aşağıdaki gibi bulunabilir:
int count=(int) m.results().count();

Veri

Türkçede Olabilecek Hece Yapıları

Türkiye Türkçesinde Türkçe kökenli sözcükler için olabilecek hece tipleri aşağıdaki gibidir :
  • V : a, ı, e
  • CV : de, ye, ki, ve, su
  • VC : at, ak, iş, ok, el
  • CVC : tut, gel, kal, taş, baş, kuş
  • VCC : ört, ürk, alt
  • CVCC : dört, kalk, Türk
V (Vowel) ünlü, C (Consonant) ünsüz anlamında kullanılmaktadır.
Türkçe'de iki heceli sözcüklerde bu durumda aşağıdaki gibi olabilirler :
  • VCV : ile, ata
  • VCVC : odun, atıl
  • VCCV : örtü, elti
  • CVCV : sana, soru
  • VCVCC : oturt, aşırt
  • VCCVC : örtün, ürküt
  • CVCVC : ağlaş, anlat
  • CVCCV : bağla, zurna
  • VCCCV : örtme, ürktü
  • VCCVCC : artırt, incelt
  • CVCVCC : dedirt, yedirt
  • CVCCVC : kalkar, dörder
  • VCCCVC : örttük, ürktün
  • CVCCCV : sürttü, dürttü
  • CVCCVCC : sürdürt, güldürt
  • VCCCVCC : ölçtürt, örttürt
  • CVCCCVC : kalkmış, dörttür
  • CVCCCVCC : çarptırt, sürttürt
Üç heceli ise aşağıdaki şekillerde olabilir. Ancak bazıları için örnek bir sözcük olmayabilir :
  • VCVCV
  • VCVCVC
  • VCVCCV
  • VCCVCV
  • CVCVCV
  • VCVCVCC
  • VCVCCVC
  • VCVCCCV
  • VCCVCVC
  • VCCVCCV
  • CVCVCVC
  • CVCVCCV
  • CVCCVCV
  • VCCCVCV
  • VCVCCVCC
  • VCVCCCVC
  • VCCVCVCC
  • VCCVCCVC
  • VCCVCCCV
  • CVCVCVCC
  • CVCVCCVC
  • CVCVCCCV
  • CVCCVCVC
  • CVCCVCCV
  • VCCCVCVC
  • VCCCVCCV
  • CVCCCVCV
  • VCVCCCVCC
  • VCCVCCVCC
  • VCCVCCCVC
  • CVCVCCVCC
  • CVCVCCCVC
  • CVCCVCVCC
  • CVCCVCCVC
  • CVCCVCCCV
  • VCCCVCVCC
  • VCCCVCCVC
  • VCCCVCCCV
  • CVCCCVCVC
  • CVCCCVCCV
  • VCCVCCCVCC
  • CVCVCCCVCC
  • CVCCVCCVCC
  • CVCCVCCCVC
  • VCCCVCCVCC
  • VCCCVCCCVC
  • CVCCCVCVCC
  • CVCCCVCCVC
  • CVCCCVCCCV
  • CVCCVCCCVCC
  • VCCCVCCCVCC
  • CVCCCVCCVCC
  • CVCCCVCCCVC
  • CVCCCVCCCVCC
dört heceli şekiller de aşağıdaki gibi olabilir:
  • VCVCVCV
  • VCVCVCVC
  • VCVCVCCV
  • VCVCCVCV
  • VCCVCVCV
  • CVCVCVCV
  • VCVCVCVCC
  • VCVCVCCVC
  • VCVCVCCCV
  • VCVCCVCVC
  • VCVCCVCCV
  • VCVCCCVCV
  • VCCVCVCVC
  • VCCVCVCCV
  • VCCVCCVCV
  • CVCVCVCVC
  • CVCVCVCCV
  • CVCVCCVCV
  • CVCCVCVCV
  • VCCCVCVCV
  • VCVCVCCVCC
  • VCVCVCCCVC
  • VCVCCVCVCC
  • VCVCCVCCVC
  • VCVCCVCCCV
  • VCVCCCVCVC
  • VCVCCCVCCV
  • VCCVCVCVCC
  • VCCVCVCCVC
  • VCCVCVCCCV
  • VCCVCCVCVC
  • VCCVCCVCCV
  • VCCVCCCVCV
  • CVCVCVCVCC
  • CVCVCVCCVC
  • CVCVCVCCCV
  • CVCVCCVCVC
  • CVCVCCVCCV
  • CVCVCCCVCV
  • CVCCVCVCVC
  • CVCCVCVCCV
  • CVCCVCCVCV
  • VCCCVCVCVC
  • VCCCVCVCCV
  • VCCCVCCVCV
  • CVCCCVCVCV
  • VCVCVCCCVCC
  • VCVCCVCCVCC
  • VCVCCVCCCVC
  • VCVCCCVCVCC
  • VCVCCCVCCVC
  • VCVCCCVCCCV
  • VCCVCVCCVCC
  • VCCVCVCCCVC
  • VCCVCCVCVCC
  • VCCVCCVCCVC
  • VCCVCCVCCCV
  • VCCVCCCVCVC
  • VCCVCCCVCCV
  • CVCVCVCCVCC
  • CVCVCVCCCVC
  • CVCVCCVCVCC
  • CVCVCCVCCVC
  • CVCVCCVCCCV
  • CVCVCCCVCVC
  • CVCVCCCVCCV
  • CVCCVCVCVCC
  • CVCCVCVCCVC
  • CVCCVCVCCCV
  • CVCCVCCVCVC
  • CVCCVCCVCCV
  • CVCCVCCCVCV
  • VCCCVCVCVCC
  • VCCCVCVCCVC
  • VCCCVCVCCCV
  • VCCCVCCVCVC
  • VCCCVCCVCCV
  • VCCCVCCCVCV
  • CVCCCVCVCVC
  • CVCCCVCVCCV
  • CVCCCVCCVCV
  • VCVCCVCCCVCC
  • VCVCCCVCCVCC
  • VCVCCCVCCCVC
  • VCCVCVCCCVCC
  • VCCVCCVCCVCC
  • VCCVCCVCCCVC
  • VCCVCCCVCVCC
  • VCCVCCCVCCVC
  • VCCVCCCVCCCV
  • CVCVCVCCCVCC
  • CVCVCCVCCVCC
  • CVCVCCVCCCVC
  • CVCVCCCVCVCC
  • CVCVCCCVCCVC
  • CVCVCCCVCCCV
  • CVCCVCVCCVCC
  • CVCCVCVCCCVC
  • CVCCVCCVCVCC
  • CVCCVCCVCCVC
  • CVCCVCCVCCCV
  • CVCCVCCCVCVC
  • CVCCVCCCVCCV
  • VCCCVCVCCVCC
  • VCCCVCVCCCVC
  • VCCCVCCVCVCC
  • VCCCVCCVCCVC
  • VCCCVCCVCCCV
  • VCCCVCCCVCVC
  • VCCCVCCCVCCV
  • CVCCCVCVCVCC
  • CVCCCVCVCCVC
  • CVCCCVCVCCCV
  • CVCCCVCCVCVC
  • CVCCCVCCVCCV
  • CVCCCVCCCVCV
  • VCVCCCVCCCVCC
  • VCCVCCVCCCVCC
  • VCCVCCCVCCVCC
  • VCCVCCCVCCCVC
  • CVCVCCVCCCVCC
  • CVCVCCCVCCVCC
  • CVCVCCCVCCCVC
  • CVCCVCVCCCVCC
  • CVCCVCCVCCVCC
  • CVCCVCCVCCCVC
  • CVCCVCCCVCVCC
  • CVCCVCCCVCCVC
  • CVCCVCCCVCCCV
  • VCCCVCVCCCVCC
  • VCCCVCCVCCVCC
  • VCCCVCCVCCCVC
  • VCCCVCCCVCVCC
  • VCCCVCCCVCCVC
  • VCCCVCCCVCCCV
  • CVCCCVCVCCVCC
  • CVCCCVCVCCCVC
  • CVCCCVCCVCVCC
  • CVCCCVCCVCCVC
  • CVCCCVCCVCCCV
  • CVCCCVCCCVCVC
  • CVCCCVCCCVCCV
  • VCCVCCCVCCCVCC
  • CVCVCCCVCCCVCC
  • CVCCVCCVCCCVCC
  • CVCCVCCCVCCVCC
  • CVCCVCCCVCCCVC
  • VCCCVCCVCCCVCC
  • VCCCVCCCVCCVCC
  • VCCCVCCCVCCCVC
  • CVCCCVCVCCCVCC
  • CVCCCVCCVCCVCC
  • CVCCCVCCVCCCVC
  • CVCCCVCCCVCVCC
  • CVCCCVCCCVCCVC
  • CVCCCVCCCVCCCV
  • CVCCVCCCVCCCVCC
  • VCCCVCCCVCCCVCC
  • CVCCCVCCVCCCVCC
  • CVCCCVCCCVCCVCC
  • CVCCCVCCCVCCCVC
  • CVCCCVCCCVCCCVCC




Bu Sayfayı Paylaş:

İletişim Bilgileri

Takip Et

Her Hakkı Saklıdır. Bu sitede yayınlanan tüm bilgi ve fikirlerin kullanımından fibiler.com sorumlu değildir. Bu sitede üretilmiş , derlenmiş içerikleri, fibiler.com'u kaynak göstermek koşuluyla kendi sitenizde kullanılabilirsiniz. Ancak telif hakkı olan içeriklerin hakları sahiplerine aittir