Haz 112019
 
234 kez okundu

Türkçenin Heceleme Algoritması Üzerine

Türkçe sözcüklerin hecelerine ayrılması ve kullanımı üzerine daha önce yazıp paylaştığım bir kaç yazı var:

7 Haziran 2019 – Türkçede Hece Kullanım Frekansları

7 Kasım 2016 – Türkçe Kelimelerde Hecelerin Sayısal Dağılımı

19 Nisan 2016 – Türkçe Hecelemede 6 Temel Kural

Python ile yazılmış bir heceleme algoritması da bunların arasında.

Bu yazımda yine Türkçe kelimelerin hecelenmesi ile ilgili farklı bir konuya gireceğim.

wordcloud ile Türkçe heceler

Özellikle bir çok futbol kulübünün isminde karşılaştığımız hecelere ayırmada “genel yaklaşıma” aykırı bir durum oluşuyor.
Örneğin “bursaspor” sözcüğünü kurallara göre hecelediğimizde: bur-sas-por hecelerini elde ediyoruz. Algoritmik çözüm açısından ben de bu sonuca katılıyorum.
Ancak son dönemde üzerinde yoğunlaşmaya başladığım sesten yazıya ve yazıdan sese çalışmalarında bu sonuç beni de rahatsız etmeye başladı.

Bileşik kelime haline getirilen; ayrı yazıldığında bile ilk sözcük sesli harfle bittiği ve ikinci sözcük sessiz harfle başladığı için birbirine ulanarak seslendirilen bu sözcükler biraz yadırgatıcı bir sonuç üretiyor.

Örneğin “sas” hecesi aşağıdaki sözcüklerde geçiyor. Özel isimleri ayırırsak esas, sansasyon, sassuolo, sassari, assassin, ihtisas, hassas, sastre, kısas, ihsas gibi sözcükler var. Hepsi yabancı kökenli. Yani “sas” sesi Türkçeye uygun bir ses değil.

sas: 123 [‘bursaspor’, ‘manisaspor’, ‘esasları’, ‘esaslar’, ‘bursasporlu’, ‘esastır’, ‘esaslı’, ‘esastan’, ‘sansasyonel’, ‘esaslara’, ‘sasha’, ‘esaslarına’, ‘manisasporlu’, ‘esaslarını’, ‘sassuolo’, ‘sansasyon’, ‘sassari’, ‘esasların’, ‘hassastır’, ‘esaslarının’, ‘brisaspor’, ‘teksaslı’, ‘assassin’, ‘bursastore’, ‘ihtisaslaşmış’, ‘esasta’, ‘bursasporlular’, ‘saski’, ‘osasco’, ‘esaslarında’, ‘hassaslar’, ‘esaslarla’, ‘hassastı’, ‘hassaslaştırabilir’, ‘sassoon’, ‘esaslarda’, ‘sasso’, ‘hassaslık’, ‘esaslarından’, ‘ihtisaslaşma’, ‘bursasporumuzun’, ‘bursasporluyum’, ‘saskia’, ‘saskatchewan’, ‘assassins’, ‘hassassınız’, ‘hassaslığı’, ‘sashimi’, ‘hassastırlar’, ‘esasla’, ‘sansasyonları’, ‘bursasporum’, ‘esastı’, ‘esaslardan’, ‘sansasyona’, ‘esaslarıyla’, ‘hassaslaşmış’, ‘hassaslaşan’, ‘esaslıca’, ‘esaslarıdır’, ‘sastre’, ‘kısastan’, ‘kısasta’, ‘ihtisasları’, ‘ihsaslarıma’, ‘hassastım’, ‘hassastılar’, ‘hassassın’, ‘hassassa’, ‘hassaslığını’, ‘hassaslıkla’, ‘hassaslaştırıcıdır’, ‘hassaslaştırmıştı’, ‘hassaslaşmıştı’, ‘hassasken’, ‘esastaki’, ‘esaslıydı’, ‘esaslıdırlar’, ‘esaslıdır’, ‘sansasyonlu’, ‘sansasyonlarla’, ‘sansasyonlar’, ‘sansasyonla’, ‘sansasyonellik’, ‘sansasyonda’, ‘ihtisaslaşmıştır’, ‘ihtisaslaşmaya’, ‘ihtisaslaşmanın’, ‘ihtisaslaşmak’, ‘ihtisaslaşacağını’, ‘ihtisaslarınızı’, ‘ihtisaslarına’, ‘ihtisaslar’, ‘hassasça’, ‘hassasmışsın’, ‘hassasmış’, ‘hassaslığıyla’, ‘hassaslığına’, ‘hassaslığımız’, ‘hassaslığa’, ‘hassaslaşır’, ‘hassaslaşınca’, ‘hassaslaştığı’, ‘hassaslaştırılmış’, ‘hassaslaştırmak’, ‘hassaslaştıran’, ‘hassaslaştıracaksın’, ‘hassaslaştı’, ‘hassaslaşmıştım’, ‘hassaslaşma’, ‘esastırlar’, ‘esassızdır’, ‘esassız’, ‘esaslıymış’, ‘esaslıydım’, ‘esaslısından’, ‘esaslısın’, ‘esaslısı’, ‘esaslılık’, ‘esaslarımızdandır’, ‘esaslardandır’, ‘esaslandırdı’, ‘esaslandıran’]

Gelelim “por” hecesine.
Burada da kesinlikle “Öz Türkçe” diyebileceğimiz tek bir sözcük bile bulunmuyor.
por: 488 [‘raporda’, ‘portekiz’, ‘portekizli’, ‘röportaj’, ‘portakal’, ‘porto’, ‘röportajda’, ‘raporları’, ‘raporlar’, ‘porno’, ‘trabzonsporlu’, ‘röportajında’, ‘pasaportu’, ‘bursasporlu’, ‘röportajı’, ‘raporlarını’, ‘raporla’, ‘raporlarının’, ‘raporlarına’, ‘deportivo’, ‘raporlarında’, ‘porsiyon’, ‘raporların’, ‘portre’, ‘portresi’, ‘portalı’, ‘porselen’, ‘raporlarda’, ‘raporlara’, ‘röportajın’, ‘röportajlar’, ‘eskişehirsporlu’, ‘porsuk’, ‘pasaportunu’, ‘rapordaki’, ‘raportörü’, ‘portatif’, ‘belediyesporlu’, ‘raporlama’, ‘rapordan’, ‘pornosu’, ‘pornografik’, ‘röportaja’, ‘sivassporlu’, ‘kayserisporlu’, ‘motorsporları’, ‘portal’, ‘portekizce’, ‘portresini’, ‘pasaportun’, ‘raporlarla’, ‘portreleri’, ‘antalyasporlu’, ‘manisasporlu’, ‘portakallar’, ‘raporlu’, ‘pasaportuna’, ‘röportajdan’, ‘gaziantepsporlu’, ‘röportajını’, ‘raportör’, ‘raporlarıyla’, ‘röportajları’, ‘porsiyonu’, ‘trabzonsporlular’, ‘karabüksporlu’, ‘porter’, ‘pasaporta’, ‘röportajlarda’, ‘bucasporlu’, ‘pasaportunun’, ‘portresinin’, ‘portuna’, ‘kaporta’, ‘laporta’, ‘konyasporlu’, ‘pasaportuyla’, ‘işporta’, ‘samsunsporlu’, ‘portreler’, ‘portakalı’, ‘raporlarından’, ‘pornografisi’, ‘raporlardan’, ‘denizlisporlu’, ‘elazığsporlu’, ‘ordusporlu’, ‘röportajınızda’, ‘işportacı’, ‘rizesporlu’, ‘portekizliler’, ‘portakalın’, ‘pasaportumu’, ‘pornografi’, ‘portrelerini’, ‘röportajından’, ‘opportunity’, ‘portu’, ‘portakallı’, ‘röportajının’, ‘portalda’, ‘porsiyonlar’, ‘diyarbakırsporlu’, ‘portalına’, ‘işportacılar’, ‘porte’, ‘portalında’, ‘röportajlarında’, ‘pasaportunda’, ‘röportajlara’, ‘portalının’, ‘kaportası’, ‘röportajların’, ‘demirsporlu’, ‘erciyessporlu’, ‘adanasporlu’, ‘raporlarındaki’, ‘portrenin’, ‘balıkesirsporlu’, ‘esporte’, ‘röportajdaki’, ‘pasaportum’, ‘raportörün’, ‘röportajla’, ‘reporter’, ‘porçini’, ‘porta’, ‘raporlanması’, ‘portrelerinin’, ‘portofino’, ‘röportajlardan’, ‘quattroporte’, ‘kaportacı’, ‘izmirsporlu’, ‘bursasporlular’, ‘trabzonsporluların’, ‘portalları’, ‘işportacılık’, ‘portuondo’, ‘portable’, ‘bolusporlu’, ‘röportajına’, ‘işportaya’, ‘saporta’, ‘portugal’, ‘röportajlarını’, ‘raporlardaki’, ‘portör’, ‘porsiyonları’, ‘portreyi’, ‘portrelerinden’, ‘portecho’, ‘portresine’, ‘portrait’, ‘portolu’, ‘transporter’, ‘raporlarımızı’, ‘rapordur’, ‘portalın’, ‘otoportre’, ‘trabzonsporluyum’, ‘röportajlarından’, ‘portakalların’, ‘raportörleri’, ‘portekizlilerin’, ‘portallarından’, ‘porsiyonlarda’, ‘şekersporlu’, ‘portobello’, ‘portia’, ‘porselenleri’, ‘pasaportundaki’, ‘işportacıların’, ‘röportajıyla’, ‘porsiyonların’, ‘porselenler’, ‘motorsporlarının’, ‘fethiyesporlu’, ‘ankarasporlu’, ‘şanlıurfasporlu’, ‘raportörlüğü’, ‘raportörler’, ‘proportionality’, ‘portala’, ‘portakalları’, ‘linyitsporlu’, ‘kocaelisporlu’, ‘işportada’, ‘röportajımda’, ‘portrelerin’, ‘porsumuş’, ‘pornoya’, ‘porcini’, ‘röportajımızda’, ‘portrede’, ‘portimao’, ‘portalını’, ‘motorsporlarına’, ‘raporlayan’, ‘portresiyle’, ‘portakalda’, ‘otoportresi’, ‘kasımpaşasporlu’, ‘röportajındaki’, ‘portresinden’, ‘portallarında’, ‘porsun’, ‘pornonun’, ‘malatyasporlu’, ‘kartalsporlu’, ‘giresunsporlu’, ‘raporlamalar’, ‘portreye’, ‘portas’, ‘pornografiye’, ‘pasaportuma’, ‘laporte’, ‘important’, ‘deportes’, ‘röportajlarıyla’, ‘raportörlük’, ‘portalından’, ‘porsiyonlarınızı’, ‘porsiyonlarla’, ‘porseleni’, ‘pornosuna’, ‘kaportayı’, ‘kaportasına’, ‘bandırmasporlu’, ‘alanyasporlu’, ‘röportajım’, ‘raporlarımızda’, ‘portreleriyle’, ‘portrelerine’, ‘porsiyonluk’, ‘pornografisine’, ‘pasaportunuzu’, ‘kağıtsporlu’, ‘işportacılara’, ‘eyüpsporlu’, ‘bursasporluyum’, ‘röportajımıza’, ‘raporlandı’, ‘pornocu’, ‘motorsporlarında’, ‘tokatsporlu’, ‘sakaryasporlu’, ‘röportajımız’, ‘reporting’, ‘raporlamaya’, ‘portishead’, ‘pornosuyla’, ‘pornografiyi’, ‘pasaportunuzun’, ‘pasaportunuz’, ‘keşansporlu’, ‘işportadan’, ‘hataysporlu’, ‘röportajlarımda’, ‘raportöre’, ‘raporluyor’, ‘raporlandığı’, ‘portali’, ‘pornografinin’, ‘petrolsporlu’, ‘oportünist’, ‘kayserisporlular’, ‘raportörünün’, ‘raportörlerin’, ‘raporlayacak’, ‘porteouverte’, ‘portakala’, ‘porsiyona’, ‘porselenden’, ‘pornografiyle’, ‘pasaportumuz’, ‘kaportacılık’, ‘disproportionate’, ‘deporte’, ‘superdeporte’, ‘reported’, ‘raporlayıp’, ‘raporlanıyor’, ‘rapordu’, ‘portresinde’, ‘portrelerden’, ‘portillo’, ‘portallarına’, ‘portakaldan’, ‘porsiyonun’, ‘porsiyonlara’, ‘kurtalansporlu’, ‘kaportasında’, ‘deportiva’, ‘bafrasporlu’, ‘portrelere’, ‘kaportanın’, ‘raporlan’, ‘portredeki’, ‘porsuklar’, ‘işportacılığı’, ‘raporlarım’, ‘raporlardı’, ‘portresiydi’, ‘portreleriydi’, ‘portakalla’, ‘porsuğu’, ‘pasaportumdaki’, ‘pasaportumda’, ‘işportacının’, ‘röportajımı’, ‘röportajlarla’, ‘raporlarınızı’, ‘raporlarınızda’, ‘portrelerle’, ‘portreden’, ‘portesine’, ‘porsuyup’, ‘porselenleriyle’, ‘porselenlerinin’, ‘porselenin’, ‘pasaportuydu’, ‘kaportasının’, ‘kaportadaki’, ‘işportası’, ‘işportacılardan’, ‘triportörle’, ‘röportajlarınızdan’, ‘röportajlarının’, ‘raporsuz’, ‘raporludur’, ‘raporlaştırmışlardı’, ‘raporlarımıza’, ‘portresindeki’, ‘portrenizi’, ‘portremi’, ‘portreli’, ‘portrelerinizi’, ‘portrelerinde’, ‘portredir’, ‘portrecilik’, ‘portovenere’, ‘portesi’, ‘portakalım’, ‘portakallara’, ‘porsuğa’, ‘porsiyondan’, ‘porselenlerin’, ‘porfir’, ‘pasaportumun’, ‘pasaportumla’, ‘oportünistti’, ‘kaportaya’, ‘kaportacının’, ‘kaportacılar’, ‘işportalarda’, ‘işportacıyı’, ‘işportacıya’, ‘işportacılıktan’, ‘işportacıdan’, ‘triportörüme’, ‘röportajınızı’, ‘röportajınız’, ‘röportajımın’, ‘röportajımdan’, ‘röportajlarınızı’, ‘röportajdı’, ‘röportajcının’, ‘röportajcıların’, ‘röportajcıları’, ‘röportajcılarla’, ‘röportajcılar’, ‘röportajcı’, ‘raporluymuş’, ‘raporlusu’, ‘raporlular’, ‘raporlaştırır’, ‘raporlarımızın’, ‘raporlarımız’, ‘raporlarıdır’, ‘raporlardır’, ‘raporlanmasının’, ‘raporlanmasını’, ‘raporlaması’, ‘raporlamaları’, ‘raporladı’, ‘proporsiyonu’, ‘portunu’, ‘portreyle’, ‘portreydi’, ‘portresiyse’, ‘portresidir’, ‘portrenize’, ‘portreniz’, ‘portreni’, ‘portrene’, ‘portremizi’, ‘portremin’, ‘portremdi’, ‘portrem’, ‘portrelerimiz’, ‘portrelerimdeki’, ‘portrelerdi’, ‘portrelerdeki’, ‘portredekine’, ‘portredekinden’, ‘portreciliğine’, ‘portreciler’, ‘portoyu’, ‘portoya’, ‘portos’, ‘porton’, ‘portoları’, ‘portolardan’, ‘portolan’, ‘portodan’, ‘porteye’, ‘portesinin’, ‘portesinde’, ‘portenin’, ‘portelerden’, ‘porteler’, ‘portekizliye’, ‘portatifin’, ‘portatifi’, ‘portallarının’, ‘portakalının’, ‘portakalını’, ‘portakallarını’, ‘portakallarımız’, ‘portakallarla’, ‘portakallardan’, ‘portakaldı’, ‘portakalcılarla’, ‘porsuğunu’, ‘porsuğun’, ‘porsuyan’, ‘porsutulmuş’, ‘porsuttuğunu’, ‘porsukların’, ‘porsukları’, ‘porsuklarda’, ‘porsuklara’, ‘porsudu’, ‘porsu’, ‘porsiyonunu’, ‘porsiyonumu’, ‘porsiyonlardan’, ‘porsiyonda’, ‘porselenlerle’, ‘porselenleriydi’, ‘porselenlerini’, ‘porselenle’, ‘porselenini’, ‘porseleninden’, ‘porselenimsi’, ‘porselene’, ‘porselendi’, ‘pornosunun’, ‘pornosunu’, ‘pornografimde’, ‘pornografim’, ‘pornografiden’, ‘porfirden’, ‘pasaportunuza’, ‘pasaportundan’, ‘pasaportumdan’, ‘oportünizmin’, ‘oportünizmi’, ‘oportünizm’, ‘oportünistsin’, ‘oportünistlikle’, ‘oportünistlere’, ‘oportünistler’, ‘kaportasıysa’, ‘kaportasını’, ‘kaportalarını’, ‘kaportacıdaymış’, ‘kaportacıda’, ‘işportasını’, ‘işportaları’, ‘işportalar’, ‘işportacıydı’, ‘işportacısının’, ‘işportacısını’, ‘işportacısıdır’, ‘işportacılığa’, ‘işportacılıkla’]

“trabzonspor” örneği daha da çarpıcı. Hecelediğimizde “trab-zons-por” hecelerini elde ediyoruz. “zons” hecesi sadece “trabzonspor” sözcüğüyle birlikte var.

zons: 9 [‘trabzonspor’, ‘trabzonsporlu’, ‘trabzonsporlular’, ‘trabzonsporluların’, ‘trabzonsporumuz’, ‘trabzonsporluyum’, ‘trazonspor’, ‘trabzonsporumuzun’, ‘trabzonsporumuza’]

Başka örnekler de olmakla birlikte, sözcükleri, bu örneklerdeki gibi Türkçeye yabancı seslere ayırmanın çok sağlıklı olduğunu düşünmüyorum.

Bu tür sözcüklere “Öz Türkçe” heceleme algoritmasını dayatmak yerine, orijinal sözcükleri bir bütün olarak dikkate almak daha anlamlı sonuçlar üretebilir.

Örneğin “bursaspor” sözcüğünü “bur-sa-spor” olarak ayrıştırdığımızda sesler daha uyumlu hale geliyor. Aslında daha da iyisi “spor” yerine “si-por” kullanmak olabilir. Halk ağzında yaygın olarak spor yerine sipor denmesi boşuna değil. Çünkü Türkçemizde hiçbir hece veya kelime çift sessiz harfle başlamıyor.

Temel Türkçe hece yapılarını hatırlayalım:
1. Sesli (Örnek: a-li, ö-dev)
2. Sessiz+Sesli (Örnek: gel-se, dedi)
3. Sesli+Sessiz (Örnek: al-tın, el-li)
4. Sessiz+Sesli+Sessiz (Örnek: er-ken, sarsak)
5. Sesli+Sessiz+Sessiz (Örnek: alt-mış, üst)
6. Sessiz+Sesli+Sessiz+Sessiz (Örnek: sert, berk)

Konuya “Yazıdan Sese” dönüştürme yöntemleri açısından baktığımızda, yabancı kökenli sözcükleri ayrı birer birim olarak ele almanın pek çok sorunu çözmesi mümkün. Böyle yaparsak, örneğin “stres” sözcüğünü Türkçe kurallarına göre hecelemeye kalkmak yerine onu ayrı bir birim -ayrı bir hece sesi- olarak değerlendirebiliriz. “Tren” sözcüğü için de aynı şey geçerlidir.

Dilimizdeki yerleşik yabancı kökenli kelime sayısı oranı çok yüksek. Bu durumdan kurtulmak için teknolojik terim ve kavramlara karşılık gelen yeni sözcükler türetmeksizin, yabancı kökenli tüm terim ve kavramları dilimizden atmaya kalkarsak geriye kullanışsız ve zorlama bir çerçeve kalacaktır. (Türkçeyi temizlemenin olanaksız olduğunu söylemek istemiyorum ama, kendimiz yeni teknoloji ve kavramlar üretemediğimiz sürece, yabancı terimleri olduğu gibi veya kısmen uyarlayarak kullanmak dışında pek bir seçeneğimiz kalmıyor.)

Sonuç olarak, yazıyı sese çevirirken Öz Türkçe sözcükleri ve eklentilerini hecelerine göre, yabancı sözcükleri ise orijinaline uygun birimler halinde seslendirebileceğimizi düşünüyorum.

Çalışma ve deneylerimin sonuçlarını yine buradan sizlerle paylaşacağım.

Ahmet Aksoy

  tarafından 23:44 itibariyle gönderildi.
Haz 072019
 
228 kez okundu

Türkçede Hece Kullanım Frekansları

“Yazıdan Sese” çalışmalarım için Türkçede kullanılan hecelere ve kullanım sıklıklarına gerek duyuyorum. Bu amaçla yaptığım çalışmalardan bir kaç ayrıntıyı sizlerle paylaşmak istedim.

Daha önce oluşturduğum Türkçe derlem dosyasındaki kelimeleri kullanarak hece frekanslarını elde ettim.
Kullandığım derlem dosyası bazı filtrelerden geçmiş durumda ve 658 bin 278 adet kelime içeriyor.

Bu kelimeleri oluşturan toplam 5 bin 958 ayrık hece var. Bazı heceler yabancı sözcüklerden, bazıları da yazım sorunları nedeniyle hatalı şekilde oluşmuş. Bunları ayıklamak için ayrıca çalışmalar yapmak gerekiyor. Uygun bir zamanda bunu da yapacağım.

Öte yandan sorunlu ve/veya hatalı kelimeler ve bundan kaynaklanan hecelerin kullanım frekansları çok küçük -genellikle 1 (bir)- olduğu için, yüksek frekanslı hecelerin sağlıklı olduğunu rahatlıkla söyleyebilirim.

Türkçede en çok kullanılan ilk 10 heceyi aşağıdaki gibi saptadım:
1. la : 89037 kelimede geçiyor, kullanım frekansı: 7,313,903
2. le : 78131 kelimede geçiyor, kullanım frekansı: 5,563,362
3. a : 27575 kelimede geçiyor, kullanım frekansı: 4,698,545
4. i : 11533 kelimede geçiyor, kullanım frekansı: 4,339,676
5. ma : 59892 kelimede geçiyor, kullanım frekansı: 3,950,706
6. ka : 28192 kelimede geçiyor, kullanım frekansı: 3,844,792
7. ya : 35443 kelimede geçiyor, kullanım frekansı: 3,632,207
8. o : 10193 kelimede geçiyor, kullanım frekansı: 2,885,237
9. de : 22307 kelimede geçiyor, kullanım frekansı: 2,815,445
10. di: 24341 kelimede geçiyor, kullanım frekansı: 2,593,940

Hecelerin Kelime Frekansları

‘la’ hecesinin içinde geçtiği 89 bin 037 kelimeden bir kısmını örnek olarak listeleyeyim:
‘olarak’, ‘olacak’, ‘yaklaşık’, ‘açıklamada’, ‘galatasaray’, ‘başladı’, ‘şunları’, ‘uluslararası’, ‘yapılacak’, ‘başlayan’, ‘dolayı’, ‘açıkladı’, ‘anlatan’, ‘lazım’, ‘açıklama’, ‘olabilir’, ‘dolayısıyla’, ‘bunların’, ‘olacağını’, ‘çalışmaları’, ‘aralarında’, ‘alarak’, ‘insanların’, ‘vurgulayan’, ‘bunları’, ‘olduklarını’, ‘onların’, ‘mutlaka’, ‘alacak’, ‘çocukların’, ‘yaptıkları’, ‘uygulama’, ‘alanında’, ‘vurguladı’, ‘alanı’, ‘kullanılan’, ‘hakları’, ‘başlayacak’, ‘hazırlanan’, ‘onları’, ‘olayın’, ‘sıralarında’, ‘sonuçları’, ‘ortalama’, ‘onlara’, ‘dolara’, ‘kadınların’, ‘olayı’, ‘çocukları’, ‘tamamladı’, ‘olacaktır’, ‘sağlayan’, ‘sağlamak’, ‘hatırlatan’, ‘olacağı’, ‘vatandaşların’, ‘anlamına’, ‘yaptıklarını’, ‘açıklaması’, ‘çalışmalarını’, ‘insanları’, ‘fiyatları’, ‘yaralanan’, ‘oldukları’, ‘kullanan’, ‘sorularını’, ‘kullanarak’, ‘sağlayacak’, ‘toplanan’, ‘sorunları’, ‘yayınlanan’, ‘başladığı’, ‘yakınları’, ‘oyunları’, ‘açıklamalarda’, ‘başladığını’, ‘bazıları’, ‘olayları’, ‘açıklamasında’, ‘arkadaşları’, ‘yanıtladı’, ‘çalışmalarına’, ‘çocuklara’, ‘alana’, ‘oyuncuların’, ‘olağanüstü’, ‘soruları’, ‘ulaşım’, ‘aldıkları’, ‘açıklamaya’, ‘olacağız’, ‘oyuncuları’, ‘yayımlanan’, ‘vurgulayarak’, ‘olabileceğini’, ‘hazırladığı’, ‘uygulaması’, ‘aldıklarını’, ‘ulaşan’, ‘maçları’, ‘anlatıyor’, ‘yolları’, ‘lacivertli’, ‘olası’, ‘uygulamaya’, ‘uygulanan’, ‘başladık’, ‘yılları’, ‘adayların’, ‘çağlayan’, ‘katılacak’, ‘insanlara’, ‘olayların’, ‘çalışmaların’, ‘sağladı’, ‘kalabalık’, ‘başlatılan’, ‘bunlara’, ‘iddiaları’, ‘planlanan’, ‘araçların’, ‘alanına’, ‘alacağı’, ‘kalacak’, ‘doları’, ‘çalışmalara’, ‘açıklamalar’, ‘aylarında’, ‘patlama’, ‘çalışmalarının’, ‘fotoğrafları’, ‘açıklayan’, ‘kullanımı’, ‘alanları’, ‘başlatıldı’, ‘hazırlanıyor’, ‘hatırlatarak’, ‘yakınlarında’, ‘yapılacağı’, ‘yaşadıklarını’, ‘futbolcuların’, ‘başladım’, ‘layık’, ‘yanıtlayan’, ‘hastalıkları’, ‘olmaları’, ‘paylaşım’, ‘çocuklarının’, ‘başkanları’, ‘haklarını’, ‘olamaz’, ‘çalıştıklarını’, ‘çalışanları’, ‘olabileceği’, ‘tamamlayan’, ‘pazarlama’, ‘kullanım’, ‘açıklamaları’, ‘taraftarların’, ‘araçları’, ‘selahattin’, ‘ilave’, ‘kararları’, ‘kaynakları’, ‘açıklanan’, ‘yıllarında’, ‘sorunların’, ‘kadınlara’, ‘adamları’, ‘maçlarında’, ‘takımlarından’, ‘kurumları’, ‘şartları’, ‘yapılacağını’, ‘mensuplarının’, ‘yakaladı’, ‘açılacak’, ‘uygulanacak’, ‘anlamında’, ‘hastaların’, ‘takımları’, ‘kuruluşları’, ‘olaya’, ‘karşılaşacak’, ‘avukatları’, ‘programları’, ‘kurulacak’, ‘yargılanan’, ‘arkadaşlarımız’, ‘olanların’, ‘kullanıyor’, ‘olabilecek’, ‘sanıkların’, ‘yakalanan’, ‘sonuçlarını’, ‘kullanılması’, ‘yargılama’, ‘açıklamasını’, ‘çalışanların’, ‘sınırları’, ‘fiyatlarının’, ‘bankaların’, ‘adayları’, ‘anlamı’, ‘okulların’, ‘firmaların’, ‘olacağına’, ‘taraftarları’, ‘hazırlıklarını’, ‘konuları’, ‘yaşadıkları’, ‘yapacaklarını’, ‘vatandaşları’, ‘yatırımları’, ‘kullanılacak’, ‘koşulları’, ‘işadamları’, ‘doların’, ‘olağan’, ‘kadınları’, ‘vatandaşlara’, ‘açıklamıştı’, ‘takımların’, ‘uygulamanın’, ‘yollarını’, ‘arkadaşlarının’, …

Bir de ‘bıy’ hecesini örnekleyeyim.
İçinde ‘bıy’ hecesi geçen 56 sözcüğün tamamı şöyle:
‘kitabıyla’, ‘kaybıyla’, ‘lakabıyla’, ‘ayakkabıyla’, ‘hesabıyla’, ‘cevabıyla’, ‘etabıyla’, ‘şarabıyla’, ‘sevabıyla’, ‘hitabıyla’, ‘eşarbıyla’, ‘arabıyla’, ‘kitabıydı’, ‘azabıyla’, ‘adabıyla’, ‘ıstırabıyla’, ‘kebabıyla’, ‘kaybıydı’, ‘cevabıydı’, ‘buzdolabıyla’, ‘çorabıyla’, ‘kitabıymış’, ‘hesabıydı’, ‘lakabıydı’, ‘kalıbıyla’, ‘girdabıydı’, ‘gazabıyla’, ‘gazabıydı’, ‘erbabıydı’, ‘dolabıyla’, ‘şarabıymış’, ‘ıstırabıydı’, ‘zarbıyla’, ‘sincabıydın’, ‘pikabıyla’, ‘muhatabıyla’, ‘muhatabıydı’, ‘mihrabıysa’, ‘mihrabıydı’, ‘kebabıydı’, ‘kasabıydı’, ‘kabıyla’, ‘kabıydı’, ‘inkılabıydı’, ‘iltihabıyla’, ‘icabıydı’, ‘girdabıyla’, ‘etabıydı’, ‘dolabıydı’, ‘buzdolabıysa’, ‘azabıydı’, ‘ayakkabıydı’, ‘ashabıyla’, ‘ahbabıyla’, ‘ahbabıydılar’, ‘ahbabıydı’

Elde ettiğim bilgilerin tamamını ne yazık ki sizlerle paylaşamıyorum. Çünkü toplam dosya boyutu 38MB’dan fazla. Web sitemin kapasitesi ve hosting yapısı bu boyuttaki dosyaları paylaşmaya uygun değil. Bu dosyayı Google Drive üzerinden paylaşmam da pek işe yaramıyor. Çünkü daha önce orada paylaştığım veri kümeleri boşu boşuna yer işgal etmekten başka işe yaramadı.

Şu aşamada bu tür bilgilere ihtiyaç duyanlar benimle bağlantı kurarsa, paylaşmanın bir yolunu buluruz.

Daha ilerisi için -eğer gerekli desteği bulabilirsem- Türkçe veri kümelerinin (ses dahil) rahatlıkla paylaşılabileceği kapsamlı bir site oluşturmayı düşünüyorum.

Bu yazımda kullandığım Python kodlarını paylaşmaya da gerek duymadım. Çünkü paylaşmaya değecek kadar bir ayrıcalıkları bulunmuyor.

Soru, uyarı ve önerilerinizi aşağıdaki “Yorum” alanından bana iletebilirsiniz.

Ahmet Aksoy

Haz 022019
 
272 kez okundu

Facebook wit.ai ile Sesten Yazıya

Son dönemdeki kitap çalışmalarım nedeniyle bu siteyi epeyce ihmal ettim. Umarım arayı kısa sürede kapatırız.
Yeni çalışmalarım, “Sesten Yazıya” ve “Yazıdan Sese” dönüşüm üzerine.
Bu yazımda Facebook’un denetimindeki wit.ai sitesi üzerinden sağlanan Sesten Yazıya çalışmasına bir örnek vereceğim. Bu hizmet tamamiyle ücretsiz.
Wit.ai gibi Google, Google Cloud, Microsoft Azure ve IBM tarafından sağlanan Sesten Yazıya çözümleme hizmetleri de bulunuyor.
Google ve Google Cloud belli kısıtlamalar içerse de uzun soluklu ve ücretsiz hizmetler sunuyor.
IBM ise “one month of inactivity” gibi bir kısıtlama koymuş. Benim yaptığım gibi deneme amaçlı bir hesap açar ve bu zamanı geçirirseniz, bir daha IBM ile -ücretsiz- çalışamıyorsunuz.
Benzer bir durum da Microsoft Azure için var. Sadece bir aylık ücretsiz üyelik sağlıyor. Daha sonra yapacağınız denemeler için ücret ödemek zorundasınız.
Eğer ticari olarak yararlanmayı düşünmüyorsanız IBM ve Microsoft dışındaki ücretsiz çözümler size daha cazip gelebilir.
Facebook – wit.ai bunlardan biri.
Öncelikle bu siteye üye olmanız ve bir hesap oluşturarak yeni bir API anahtarı almanız gerekiyor.
Gerekli işlemler şöyle:

1. https://wit.ai sitesine gir

https://wit.ai sitesine bağlan


2. Facebook veya Github üyeliğin üzerinden sisteme bağlan (ilgili butona tıkla)
3. Sayfanın sağ üst tarafındaki artı (+) işaretine tıklayarak yeni bir hesap oluştur
3.1. Hesaba bir isim ver (resimdeki deneme hesabı)
3.2. İkinci kutuya bir açıklama yaz
3.3. Language (dil) olarak Turkish seç
3.4 En alttaki “+ Create App” butonuna tıkla

Sayfanın sağ üst tarafındaki artı (+) işaretine tıklayarak yeni bir hesap oluştur

4. Sağ üst köşedeki “Settings” butonuna tıkla

Sağ üst köşedeki “Settings” butonuna tıkla

5. Bu sayfadaki “Server Access Token” değerini kopyala (API anahtarı olarak bu bilgi kullanılacak)
5.1 Gerekiyorsa Default Timezone ve Language değerlerini değiştir.

API anahtarı olarak Server Access Token değerini kopyala

6. Python projenin çalışma klasöründe witkeys_tr.py (veya benzeri) bir dosya oluştur
7. Bu dosyanın içine WIT_ACCESS_TOKEN= yaz ve eşit işaretinin sağ tarafına tırnak içinde 5. satırda elde ettiğin değeri yaz
8. Dosyayı kaydet

Şimdi de kullanacağımız betiği görelim:

Betiğimizde speech_recognition modülünü kullanıyoruz.
Bu modülü kurmak için vereceğimiz konsol komutu şudur:

Betiğimiz Python 3.6 için hazırlanmıştır ve Ubuntu 18.04, Windows 10 ve Mac OS Sierra üzerinde sorunsuz çalışmaktadır.

Ahmet Aksoy

Eyl 212018
 
alice ekler
870 kez okundu



Python ile Türkçe Kelime Eklerinin Dağılımı

Türkçe “eklemeli” bir dildir. Bu nitelikteki diğer iki dil Macarca ve Moğolcadır.

Türkçede kullandığımız kelimeleri türeten eklerin konumlarını ve frekanslarını belirleyen bir çalışma yaptım.

Bu amaçla ekleri ayrıştırıp sınıflandırmak için Zemberek kütüphanesinden yararlandım.

Çalışmamın bir bölümünde derlem dosyasındaki kelimeleri kullandım.

Rekorumuz “ilişki” isminde.

Bu isme 10 ayrı ek ulanarak “ilişkilendirilemeyeceklerini” sözcüğünün oluştuğunu görüyoruz.

Daha fazla kök içeren başka kelimeler de bulunabilir. Ama bu tür örnekler büyük olasılıkla uygulanabilirlikten uzak olacaklardır.

Bu sözcüğün Zemberek ile elde ettiğimiz kırılım yapısı şu şekilde:
ilişkilendirilemeyeceklerini
ilişki ISIM_KOK 0
ilişki-le ISIM_DONUSUM_LE 1
ilişki-le-n FIIL_EDILGENSESLI_N 2
ilişki-le-n-dir FIIL_ETTIRGEN_TIR 3
ilişki-le-n-dir-il FIIL_EDILGEN_IL 4
ilişki-le-n-dir-il-e FIIL_YETERSIZLIK_E 5
ilişki-le-n-dir-il-e-me FIIL_OLUMSUZLUK_ME 6
ilişki-le-n-dir-il-e-me-yecek FIIL_DONUSUM_ECEK 7
ilişki-le-n-dir-il-e-me-yecek-ler ISIM_COGUL_LER 8
ilişki-le-n-dir-il-e-me-yecek-ler-in ISIM_TAMLAMA_IN 9
ilişki-le-n-dir-il-e-me-yecek-ler-in-i ISIM_BELIRTME_I 10

Aynı yöntemle alice.txt öyküsünü sözcüklerine, sözcükleri de eklerine ayrıştırdım ve konum frekanslarını saptadım.

Öyküde kullanılan kelimelerin ek kırılım tablosu aşağıdaki gibidir:

Şimdi toplam ek frekanslarını görselleştirelim:

Türkçe Kelime Eklerinin Dağılımı

Konum 0’daki ek sayısı, aslında hiç ek almayan kelime sayısına karşılık geliyor.
Sadece bir ek alan kelimelerin toplamı, 4545.
6 ek alan kelime ise öyküde sadece 1 kez kullanılmış:(alamadıklarından: al-a-ma-dık-lar-ın-dan)
5 ek alan kelimeler şunlar: (toplandıklarında, resimlerindekine, mırıldandığından, kestiremiyordu, götüremeyeceğini, olamayacağını, kullanmamalıydın, bahsedemezdiniz, kesilemezdi, dolamadığını, söyleyebileceklerimin, beceremiyormuşum)

Sınırlı sayıda kelime kökü (20 bin civarı) ile kısıtlı sayıda ekin (yaklaşık 100 civarı) kombinasyonu, Türkçenin zenginliğini oluşturuyor.

Siz de aşağıda verdiğim kodlardaki kaynak dosyayı değiştirerek benzer incelemeler yapabilirsiniz.

Beni izlemeye devam edin.

Ahmet Aksoy

Keywords: türkçe kökler, kelime kökleri, türkçe kelime ekleri, zemberek, python, türkçe, eklemeli dil