Nis 192016
 
2.938 views

Türkçe Hecelemede 6 Temel Kural

Türkçe, Fince ve Macarca gibi “Bitişimli Diller”dendir. Bu dillerde kelime kökleri sabit kalırken, sözcüklerin anlam değişikliği, yapılan eklerle sağlanır.

Türkçe heceler “sesli harflere” odaklanır. Her hecede mutlaka tek bir sesli harf bulunur. Bu sesli harf ya tek başına ya da ön veya arkasına gelen çeşitli sessiz harflerle birlikte “tek solukta” seslendirilen heceleri oluşturur. Kelimeler, bir veya daha fazla hece içerir.

Aşağıda özetleyeceğim heceleme algoritması Hürsel Kendir tarafından 1982 yılında verdiği tezde sunulmuştur. Buna göre öztürkçe veya yabancı kökenli kelimelerde kullanılan heceleri aşağıdaki 6 kuralla tanımlamak mümkündür:

a- Peşpeşe gelen iki sesli harf ayrı hecelere aittir
b- İki sesli harfin arasında bulunan tek sessiz harf ikinci sesli harfin oluşturduğu heceye bağlanır
c- İki sesli harfin arasında peşpeşe iki sessiz harf varsa, heceler sessiz harflerin ortasından ayrışır
d- İki sesli harfin ortasında ardışık üç sessiz harf varsa genellikle ilk iki sessiz ilk heceye, diğeri ikinci heceye katılır. Ancak üçüncü sessiz harf “R” ise, ilk sessiz birinci heceye, diğerleri ikinci heceye dahil olur.
e- İki sesli harfin arasında ardışık dört sessiz harf varsa genellikle heceler sessiz harflerin ortasından bölünür. Ancak üçüncü sessiz harf “R” ise, ilk üç sessiz harf ilk heceye, diğeri ikinci heceye katılır.
f- İki sesli harf arasında ardışık 5 sessiz harf bulunuyorsa, ilk üç sessiz harf ilk heceye, sonraki iki sessiz harf ise ikinci heceye katılır.

Aşağıdaki Python kodları yukarıda tanımladığımız algoritmayı kullanmaktadır.

Bu algoritmanın “samsunspor” ve “bursaspor” gibi birleşik sözcükleri “sam-suns-por”, “bur-sas-por” şeklinde ve “doğru” şekilde hecelediğine dikkat edelim. “sam-sun-spor” veya “bur-sa-spor” hecelemeleri Türkçe heceleme kurallarına uymaz.

Yukarıda verdiğim kodlar Python3.5 uyumludur.

Ahmet Aksoy

Mar 292016
 
1.620 views

Radikal Blog Yazılarında En Çok Kullanılan Sözcükler

Radikal Blog Yazılarında En Çok Kullanılan Sözcükler

Aldığımız duyumlara göre, Radikal Blog sayfaları 30 Mart 2016 itibariyle yayın hayatına son veriyormuş. Bir çok kişiye düşünce ve duygularını paylaşma fırsatı yaratan böyle bir ortamın kaybı üzücü.

DerlemTr projemiz için Radikal Blog yazılarından da yararlandık. Sayfaların javascript ile düzenlenmesi ve istenen sayfalara doğrudan geçiş olanağı vermemesi bizi oldukça yordu. Bilgisayar sistemimizin sık sık çökmesi ve sunucu taraflı bazı sorunlar süreci uzattı ama, sonunda istediğimiz verilere ulaştık.

İşlemler sırasında yaklaşık 5000 ayrı sayfada yer alan 99 bin 552 yazı tarandı. Tarama sonucunda elde edilen 49 milyon 501 bin 199 sözcükten birbirine benzemeyen 1 milyon 066 bin 107 sözcük ortaya çıktı. Bu sözcükleri daha sonra kitap ve diğer gazete taramalarından elde ettiğimiz derlem veritabanı ile birleştireceğim.

Genel derlem sonuçları ile blog yazılarından elde ettiğimiz sonuçlar, tahmin ettiğimiz gibi büyük benzerlikler gösteriyor. Elbette farklılıklar da mevcut.

Örneğin ilk üç sözcük her iki listede de aynı sırada: “bir”, “ve”, “bu”.

Genel listede 4. ve 5. sırada yer alan “de” ve “da” sözcükleri, blog listesinde yer değiştirmiş.

Altıncı sözcük “için” her iki listede de aynı sırada.

Özet olarak ilk altı sözcük aynı sıradadır diyebiliriz.

Aşağıda, her iki listenin baş tarafında yer alan ilk 30 sözcüğü veriyorum. Çalışmayı tamamladığımızda bu listelerin birleştirilmiş halini zaten herkesin erişimine açacağım.

Açık kaynaklı DerlemTR projemize katılmak veya bu konudaki gelişmelerden haberdar olmak isterseniz gurmezin.com‘u veya facebook PythonDerlemTR grubumuzu yahut https://www.github.com/ahmetax/derlemtr proje sayfamızı ziyaret edebilirsiniz.

Ahmet Aksoy
DerlemTR Proje Yöneticisi

En sık kullanılan ilk 30 sözcük
  Genel liste Radikal blog
1 bir bir
2 ve ve
3 bu bu
4 de da
5 da de
6 için için
7 o a
8 gibi çok
9 daha ne
10 ama gibi
11 çok en
12 sonra daha
13 ne olarak
14 kadar ile
15 her her
16 olarak ki
17 olan kadar
18 diye en
19 dedi olan
20 ki ama
21 ile ya
22 en var
23 ya değil
24 şey sonra
25 iki zaman
26 s türkiye
27 zaman ise
28 büyük diye
29 onu büyük
30 ben kendi
Mar 162016
 
1.803 views

Türkçe sözcükleri elemanlarına ayrıştırma projesi

Türkçe sözcükleri elemanlarına ayrıştırma projesi
Github üzerinde paylaştığımız DerlemTR projemiz oldukça ilerledi. Büyük olasılıkla bir ay içinde son şeklini alacak. O zaman, elde ettiğimiz derlem veritabanımızı herkesin kullanımına açacağız.

Projemizin yeni aşamasında -aslında bir zamanlar benim de hasbelkader kısa bir süre için çalışmalarına katılma fırsatı bulduğum- zemberek projesi tarafından java ortamında çözümlenen bir sorunu ele alacağız: Türkçe sözcükleri kök ve eklerine ayrıştırmak. Eğer zemberek projesi python ortamına da aktarılabilmiş olsaydı, böyle bir çalışmaya gerek kalmayacaktı. O yüzden bizimki biraz da Amerika’yı yeniden keşfetmek gibi olacak ama, yapılmasında yarar var.

Projeyle ilgili açıklama ve gelişmeleri bu web sitesinden de yayınlamanın, çalışmamızın daha geniş kesimlere duyurulmasına yarar sağlayacağını umuyorum.

Bu projeyi de Python diliyle geliştireceğiz. Kaynaklarımız yine açık olacak.

İlk aşamada sözcükleri gövde+çekim_ekleri olarak ayrıştıracağız.

İkinci aşamada sözcük gövdelerini kök+yapım_ekleri olarak elemanlarına ayıracağız.

Son aşamada tüm sözcükleri kök+yapım_ekleri+çekim_ekleri şekline dönüştüreceğiz.

Bu projenin kolay bir proje olmadığının farkındayım. Zemberek projesi 10 yıldan fazla sürmüştü. Ben, bizim çalışmamızın daha kısa sürede sonuç vereceğine inanıyorum.

Ama bu proje, zemberek projesinin python ortamında birebir yeniden yazılması şeklinde olmayacak. O yüzden onun java kodlarını incelemeye özellikle yanaşmıyorum. Aksi halde yeni bir şeyler yaratmanın zevkini kaybetme olasılığı var. Amerika’yı belki yeniden keşfedeceğiz ama, hiç olmazsa rotamız farklı olsun! Güzergahımızda bizler de yepyeni şeyler keşfedebilelim!

Ben, kişisel olarak sağlam bir Türkçe bilgisine sahip olduğuma inanıyorum. Ama bir dilbilimci değilim. O yüzden yapacağımız çalışmalarda dilbilimcilerin de yer almasını yürekten istiyorum. Acelemiz yok, kapımız her zaman ve herkese açık.

Bizden ve projemizden bilgi almak için aşağıdaki adreslerden yararlanabilir, üye olabilirsiniz:

DerlemTR projemize katılın, çevrenize duyurun!

Ahmet Aksoy

Mar 102016
 
3.987 views

Türkçe harf frekansları

Türkçe harf frekansları

Resim: www.nkfu.com

Türkçede En Çok Kullanılan 100 Sözcük başlıklı yazıda frekanslarına göre sözcükleri listelemiştim.

Aynı dosya verilerini kullanarak bir de harfler için frekans analizi yaptım.
Sözkonusu veri uzayında en fazla “a” karakteri kullanılmış. Bu karakter 253 milyon sözcük içeren 3700 belgede toplam 175 milyon 337 bin 451 kez tekrarlanmış. ‘Ğ’ harfinin kullanım frekansı ise aynı ortamda sadece 26,582. Belgelerde kullanılan harf sayısı ise kabaca 2 milyar. (1,954,524,713)

Frekanslarına göre harf listemiz şöyle:

1 a 97 175,337,451
2 e 101 145,629,115
3 i 105 135,436,973
4 n 110 118,018,058
5 r 114 108,959,668
6 l 108 97,696,685
7 ı 305 74,466,419
8 d 100 73,245,246
9 k 107 66,225,886
10 m 109 54,774,050
11 t 116 51,608,822
12 u 117 51,334,201
13 y 121 49,021,628
14 s 115 47,035,540
15 o 111 38,371,406
16 b 98 36,753,776
17 ü 252 28,989,024
18 ş 351 25,888,404
19 z 122 22,045,857
20 g 103 18,494,622
21 h 104 17,150,376
22 v 118 16,690,914
23 ğ 287 16,424,943
24 ç 231 16,021,593
25 c 99 14,022,018
26 ö 246 11,973,516
27 p 112 11,055,144
28 f 102 7,102,595
29 B 66 6,332,167
30 A 65 5,041,327
31 S 83 3,590,230
32 K 75 3,360,048
33 M 77 3,012,916
34 H 72 2,781,508
35 T 84 2,594,383
36 İ 304 2,460,017
37 E 69 2,363,414
38 D 68 2,292,364
39 O 79 1,908,721
40 Y 89 1,757,805
41 G 71 1,644,023
42 N 78 1,547,323
43 P 80 1,403,247
44 R 82 1,374,414
45 I 73 1,319,848
46 C 67 1,177,855
47 L 76 1,049,006
48 F 70 1,048,706
49 V 86 943,590
50 Ş 350 777,556
51 Ç 199 737,926
52 j 106 575,009
53 Ö 214 559,737
54 U 85 490,911
55 Z 90 446,465
56 J 74 430,989
57 Ü 220 352,409
58 w 119 344,982
59 W 87 231,515
60 X 88 223,080
61 x 120 140,658
62 q 113 68,015
63 Q 81 32,134
64 Ğ 286 26,582

Yabancı sözcüklerde geçen q, w, x gibi harfleri olduğu gibi bıraktım. Küçük ve büyük harf kullanım frekansları arasında çok büyük farklar olduğu için, küçük harfleri dikkate almak daha anlamlı.

Ana listemizdeki toplam karakter sayısı 1136. Bunların bir kısmı noktalama işaretleri, bazıları başka dillerden (Arapça, Japonca, vb), bazıları ise rasgele hatalı karakterler.

Yukarıdaki frekans dağılımını, bir belgenin Türkçe olup olmadığını anlamak için kullanabiliriz. Bu konudaki kodlama çalışmalarımızı önümüzdeki günlerde yapacağız.

Sonuçları sizinle paylaşacağım.

Eğer bu tür gelişmelerden daha hızlı haberdar olmak isterseniz, PythonDerlemTR Facebook grubumuza veya trderlem github sayfamıza üye olabilirsiniz.

ahmet aksoy

Not:
Python dili ile yürüttüğümüz “Türkçe Derlem (Corpus)” Projemiz açık kaynaklıdır.

Facebook’ta PythonDerlemTR isimli bir grubumuz var.

Açık kaynak kodlarımız github.com adresinde trderlem adı altında herkese açık olarak sergileniyor.

Mar 102016
 
1.535 views

En çok kullanılan 100 Türkçe sözcük

En çok kullanılan 100 Türkçe sözcükAslında bu yazının başlığı “Türkçe ile ilgili yapısal istatistikler” şeklinde olmalıydı. Aşağıda size son dönemde yaptığımız bazı çalışmalarda elde ettiğimiz rakamlar vereceğim. Bu rakamlara Python dili ile yürüttüğümüz “Türkçe Derlem (Corpus)” projesi ile ulaştık. Yenileri de gelecek.

Projemiz açık kaynaklıdır.

Facebook’ta PythonDerlemTR isimli bir grubumuz var.

Açık kaynak kodlarımız github.com adresinde trderlem adı altında herkese açık olarak sergileniyor.

Bu projenin ilk hedefi Türkçede kullanılmakta olan sözcüklerin, kullanım frekanslarına göre derlenmesidir. Bu çalışmanın ilk aşamasını tamamladık. Elde ettiğimiz sonuçlar özet olarak şöyle:

  • 1- Taradığımız doküman sayısı = 3700
  • 2- Bulduğumuz toplam sözcük sayısı = 253 milyon
  • 3- Derlem dosyasına giren sözcük sayısı = 2,760,443

Aşağıdaki listede yer alan en çok kullanılan 100 sözcük işte bu çalışmanın ürünü.

Türkçede En Çok Kullanılan 100 Sözcük
07,588,925 bir
05,564,600 ve
03,213,146 bu
02,042,980 de
02,017,210 da
01,475,364 için
01,184,617 o
01,163,764 gibi
01,136,033 daha
01,040,456 ama
00,962,295 çok
00,936,503 sonra
00,934,036 ne
00,857,178 kadar
00,804,281 her
00,765,322 olarak
00,742,794 olan
00,708,133 diye
00,686,121 dedi
00,618,263 ki
00,613,357 ile
00,597,472 en
00,576,141 ya
00,569,457 şey
00,525,936 iki
00,516,822 s
00,502,775 zaman
00,483,474 büyük
00,476,564 onu
00,463,148 ben
00,456,002 onun
00,439,853 olduğunu
00,416,378 değil
00,411,571 bütün
00,388,885 içinde
00,387,622 hiç
00,383,161 kendi
00,380,607 olduğu
00,379,296 var
00,373,620 bile
00,370,609 başka
00,362,813 iyi
00,361,071 ona
00,352,620 doğru
00,352,295 önce
00,332,830 mi
00,331,772 bana
00,330,863 a
00,315,906 aynı
00,308,693 ı
00,305,592 ilk
00,305,584 i
00,293,373 in
00,292,138 vardı
00,290,411 böyle
00,285,108 bunu
00,280,514 hiçbir
00,275,439 beni
00,275,180 el
00,275,156 göre
00,273,042 karşı
00,272,603 ancak
00,272,245 çünkü
00,270,231 yeni
00,269,705 ise
00,267,999 nasıl
00,263,104 yok
00,257,066 tek
00,254,990 benim
00,253,033 arasında
00,250,571 son
00,246,683 şimdi
00,246,403 artık
00,236,352 küçük
00,235,003 gün
00,233,467 fakat
00,229,862 mı
00,228,515 öyle
00,225,172 hemen
00,225,133 üzerine
00,223,951 birlikte
00,223,814 bunun
00,222,161 tarafından
00,221,006 sadece
00,218,779 biri
00,218,213 yine
00,217,578 uzun
00,215,502 hem
00,212,699 şu
00,211,181 adam
00,211,022 şekilde
00,210,184 etti
00,203,597 insan
00,202,996 pek
00,202,596 sen
00,201,329 oldu
00,201,146 veya
00,198,022 yer
00,196,867 biraz
00,194,743 e

Yukarıdaki listede görüldüğü gibi Türkçede en çok “bir” sözcüğü kullanılıyor. Taranan toplam 253 milyon sözcük için “bir” sözcüğü 7,588,925 kez yinelenmiş. İkinci sıradaki sözcüğümüz “ve” 5,564,600 kez kullanılmış. Üçüncü sözcüğümüz “bu” ise 3,213,146 yerde geçmiş.

Derlem dosyasında yer alan sözcükleri henüz bir elemeden geçirmedik. Bu yüzden bu dosyanın içinde, Türkçe metinlerde geçen bazı yabancı sözcükler ve isimler de yer alıyor. Ana sözcükten ayrı yazılan ekleri de bağızsız sözcükler olarak değerlendirdik. İleride, bu tür ayıklamaları yaptıktan sonra elde ettiğimiz sonuçları da sizlerle paylaşacağım.

TrDerlem projemizi incelemek ve/veya katkıda bulunmak isterseniz facebook grubumuza katılın. Kapımız herkese açık.

Ahmet Aksoy

Mar 092016
 
2.199 views

Türkçede Harflerin Kullanım Frekansları

Türkçede Harflerin Kullanım Frekansları

Resim: www.nkfu.com

Türkçede En Çok Kullanılan 100 Sözcük başlıklı yazıda frekanslarına göre sözcükleri listelemiştim.

Aynı dosya verilerini kullanarak bir de harfler için frekans analizi yaptım.
Sözkonusu veri uzayında en fazla “a” karakteri kullanılmış. Bu karakter 253 milyon sözcük içeren 3700 belgede toplam 175 milyon 337 bin 451 kez tekrarlanmış. ‘Ğ’ harfinin kullanım frekansı ise aynı ortamda sadece 26,582. Belgelerde kullanılan harf sayısı ise kabaca 2 milyar. (1,954,524,713)

Frekanslarına göre harf listemiz şöyle:

1 a 97 175,337,451
2 e 101 145,629,115
3 i 105 135,436,973
4 n 110 118,018,058
5 r 114 108,959,668
6 l 108 97,696,685
7 ı 305 74,466,419
8 d 100 73,245,246
9 k 107 66,225,886
10 m 109 54,774,050
11 t 116 51,608,822
12 u 117 51,334,201
13 y 121 49,021,628
14 s 115 47,035,540
15 o 111 38,371,406
16 b 98 36,753,776
17 ü 252 28,989,024
18 ş 351 25,888,404
19 z 122 22,045,857
20 g 103 18,494,622
21 h 104 17,150,376
22 v 118 16,690,914
23 ğ 287 16,424,943
24 ç 231 16,021,593
25 c 99 14,022,018
26 ö 246 11,973,516
27 p 112 11,055,144
28 f 102 7,102,595
29 B 66 6,332,167
30 A 65 5,041,327
31 S 83 3,590,230
32 K 75 3,360,048
33 M 77 3,012,916
34 H 72 2,781,508
35 T 84 2,594,383
36 İ 304 2,460,017
37 E 69 2,363,414
38 D 68 2,292,364
39 O 79 1,908,721
40 Y 89 1,757,805
41 G 71 1,644,023
42 N 78 1,547,323
43 P 80 1,403,247
44 R 82 1,374,414
45 I 73 1,319,848
46 C 67 1,177,855
47 L 76 1,049,006
48 F 70 1,048,706
49 V 86 943,590
50 Ş 350 777,556
51 Ç 199 737,926
52 j 106 575,009
53 Ö 214 559,737
54 U 85 490,911
55 Z 90 446,465
56 J 74 430,989
57 Ü 220 352,409
58 w 119 344,982
59 W 87 231,515
60 X 88 223,080
61 x 120 140,658
62 q 113 68,015
63 Q 81 32,134
64 Ğ 286 26,582

Yabancı sözcüklerde geçen q, w, x gibi harfleri olduğu gibi bıraktım. Küçük ve büyük harf kullanım frekansları arasında çok büyük farklar olduğu için, küçük harfleri dikkate almak daha anlamlı.

Ana listemizdeki toplam karakter sayısı 1136. Bunların bir kısmı noktalama işaretleri, bazıları başka dillerden (Arapça, Japonca, vb), bazıları ise rasgele hatalı karakterler.

Yukarıdaki frekans dağılımını, bir belgenin Türkçe olup olmadığını anlamak için kullanabiliriz. Bu konudaki kodlama çalışmalarımızı önümüzdeki günlerde yapacağız.

Sonuçları sizinle paylaşacağım.

Eğer bu tür gelişmelerden daha hızlı haberdar olmak isterseniz, PythonDerlemTR Facebook grubumuza veya trderlem github sayfamıza üye olabilirsiniz.

ahmet aksoy

Not:
Python dili ile yürüttüğümüz “Türkçe Derlem (Corpus)” Projemiz açık kaynaklıdır.

Facebook’ta PythonDerlemTR isimli bir grubumuz var.

Açık kaynak kodlarımız github.com adresinde trderlem adı altında herkese açık olarak sergileniyor.