Kas 172016
 
6.376 views

Python Gensim Kütüphanesiyle Türkçe Yazı Özetleme

Python beni hala her gün şaşırtmaya devam ediyor. Elini atmadığı, muhteşem çözümler üretmediği neredeyse hiç bir alan yok!

Dün, yeni çalışma alanlarımdan biri olarak belirlediğim “yazı özetleme” konusunda internet araştırmalarına başladım. Bir makalede, gensim kütüphanesi ile yapılan bir çalışma örnekleniyordu: https://rare-technologies.com/text-summarization-with-gensim/

Python Gensim Kütüphanesiyle Türkçe Yazı Özetlem

Rare Technologies

Örnekler İngilizce. Dolayısıyla, Türkçe gibi eklemlemeli bir dil için başarılı sonuçlar elde etme olanağı pek yok! Ama yine de bilgi sahibi olmak için test etmek iyi olacak.

Bu amaçla hemen Hürriyet Gazetesini açtım ve ilk bulduğum haberi seçtim: İstanbul’a kar ne zaman Yağacak?

Kodlar şöyle:

# -*- coding: utf-8 -*-
# https://rare-technologies.com/text-summarization-with-gensim/
import logging
logging.basicConfig(format='%(asctime)s : %(levelname)s : %(message)s', level=logging.INFO)

from gensim.summarization import summarize

# http://www.hurriyet.com.tr/hava-sasirtiyor-bugun-soguk-ama-40279308
text = """
Prof. Dr. Orhan Şen, yaptığı açıklamada, hava sıcaklığının bu yılın başından beri mevsim normallerinin üzerinde seyrettiğini ve sık sık sıcaklık rekoru kırıldığını söyledi. Benzer hava şartlarının sonbaharda da yaşandığını dile getiren Şen, şu andaki verilere göre bu durumun bir süre daha devam etmesini beklediklerini ifade etti.

İSTANBUL'DA 5 DERECEYE KADAR DÜŞTÜ

Prof. Dr. Şen, mevsim normalleri üzerinde devam eden sıcaklıklarının birkaç gündür oldukça gerilediğine işaret ederek, "Özellikle iki gündür ülke genelinde ciddi soğuk yaşanıyor. Hatta bazı bölgelerde kar yağışı da görüldü. Doğuya kar erken geldi diyebiliriz. Mevsim normallerinin üzerinde devam eden sıcaklıklar, İstanbul'da 5 dereceye kadar bile düştü. Ancak bu normal bir durum. Çünkü gökyüzü açık olduğu için bu soğuma oldu. Sıcaklıklarda böyle dalgalanma olması da normal. Hatta bir süre daha hava sıcaklıklarının böyle dalgalı seyretmesini bekliyoruz." diye konuştu.

ARALIK SONUNA KADAR KAR BEKLENMİYOR

Soğuk havanın uzun sürmeyeceğini anlatan Şen, "Korkacak bir şey yok. Geçici bir soğuma yaşanıyor. Batı bölgelerde yarından itibaren sıcaklıklarda ciddi artış bekliyoruz. Buna göre söz konusu yerlerde sıcaklık tekrar mevsim normallerinin üzerine çıkıyor. Özellikle çok güzel bir hafta sonu bizi bekliyor. Vatandaşlarımız bunun tadını çıkarsın. Kasım sıcaklık ortalaması 11 derece. Sıcaklık bunun 7-8 derece kadar üzerine çıkıp 17-18 derece civarında seyredecek. Ay sonuna kadar da hava sıcaklıkları batı bölgelerde mevsim normallerinin üzerinde seyredecek." değerlendirmesinde bulundu.

Şen, yıl sonuna kadar hissedilir oranda soğuma beklemediklerinin altını çizerek, "Aralık'ın 15'inden sonra ancak soğuma bekliyoruz. Bu tarihe kadar kar beklemiyoruz. Belki bu yıl başına doğru veya sonra kar yağışı olabilir. Bu durum normal gözükmeyebilir ancak küresel ısınma ve iklim değişikliğinin bir sonucu bu. Yani kasımda 17-18 derece normal değil ancak bu yıl bu sıcaklıklara alıştık. Bir süre daha da böyle devam etmesini bekliyoruz" ifadelerini kullandı.
"""

print ('Input text:')
print (text)

print ('Summary:')
print (summarize(text))

print ('Summary: ratio=0.5')
print (summarize(text, ratio=0.5))

print ('Summary: ratio=0.25')
print (summarize(text, ratio=0.25))

print ('Summary: word_count=50')
print (summarize(text, word_count=50))

from gensim.summarization import keywords

print ('Keywords:')
print (keywords(text))

Bunlar da aldığım yanıtlar:

2016-11-17 13:14:50,235 : INFO : Pattern library is not installed, lemmatization won't be available.
2016-11-17 13:14:52,317 : INFO : 'pattern' package not found; tag filters are not available for English
Input text:

Prof. Dr. Orhan Şen, yaptığı açıklamada, hava sıcaklığının bu yılın başından beri mevsim normallerinin üzerinde seyrettiğini ve sık sık sıcaklık rekoru kırıldığını söyledi. Benzer hava şartlarının sonbaharda da yaşandığını dile getiren Şen, şu andaki verilere göre bu durumun bir süre daha devam etmesini beklediklerini ifade etti.

İSTANBUL'DA 5 DERECEYE KADAR DÜŞTÜ

Prof. Dr. Şen, mevsim normalleri üzerinde devam eden sıcaklıklarının birkaç gündür oldukça gerilediğine işaret ederek, "Özellikle iki gündür ülke genelinde ciddi soğuk yaşanıyor. Hatta bazı bölgelerde kar yağışı da görüldü. Doğuya kar erken geldi diyebiliriz. Mevsim normallerinin üzerinde devam eden sıcaklıklar, İstanbul'da 5 dereceye kadar bile düştü. Ancak bu normal bir durum. Çünkü gökyüzü açık olduğu için bu soğuma oldu. Sıcaklıklarda böyle dalgalanma olması da normal. Hatta bir süre daha hava sıcaklıklarının böyle dalgalı seyretmesini bekliyoruz." diye konuştu.

ARALIK SONUNA KADAR KAR BEKLENMİYOR

Soğuk havanın uzun sürmeyeceğini anlatan Şen, "Korkacak bir şey yok. Geçici bir soğuma yaşanıyor. Batı bölgelerde yarından itibaren sıcaklıklarda ciddi artış bekliyoruz. Buna göre söz konusu yerlerde sıcaklık tekrar mevsim normallerinin üzerine çıkıyor. Özellikle çok güzel bir hafta sonu bizi bekliyor. Vatandaşlarımız bunun tadını çıkarsın. Kasım sıcaklık ortalaması 11 derece. Sıcaklık bunun 7-8 derece kadar üzerine çıkıp 17-18 derece civarında seyredecek. Ay sonuna kadar da hava sıcaklıkları batı bölgelerde mevsim normallerinin üzerinde seyredecek." değerlendirmesinde bulundu.

Şen, yıl sonuna kadar hissedilir oranda soğuma beklemediklerinin altını çizerek, "Aralık'ın 15'inden sonra ancak soğuma bekliyoruz. Bu tarihe kadar kar beklemiyoruz. Belki bu yıl başına doğru veya sonra kar yağışı olabilir. Bu durum normal gözükmeyebilir ancak küresel ısınma ve iklim değişikliğinin bir sonucu bu. Yani kasımda 17-18 derece normal değil ancak bu yıl bu sıcaklıklara alıştık. Bir süre daha da böyle devam etmesini bekliyoruz" ifadelerini kullandı.

Summary:
2016-11-17 13:14:52,565 : INFO : adding document #0 to dictionary(0 unique tokens: [])
2016-11-17 13:14:52,566 : INFO : built dictionary(158 unique tokens: ['gerilediğin', 'için', 'yaptığı', 'tekrar', 'hissedilir']...) from 29 documents (total 248 corpus positions)
Benzer hava şartlarının sonbaharda da yaşandığını dile getiren Şen, şu andaki verilere göre bu durumun bir süre daha devam etmesini beklediklerini ifade etti.
Dr. Şen, mevsim normalleri üzerinde devam eden sıcaklıklarının birkaç gündür oldukça gerilediğine işaret ederek, "Özellikle iki gündür ülke genelinde ciddi soğuk yaşanıyor.
Mevsim normallerinin üzerinde devam eden sıcaklıklar, İstanbul'da 5 dereceye kadar bile düştü.
Ay sonuna kadar da hava sıcaklıkları batı bölgelerde mevsim normallerinin üzerinde seyredecek." değerlendirmesinde bulundu.
Şen, yıl sonuna kadar hissedilir oranda soğuma beklemediklerinin altını çizerek, "Aralık'ın 15'inden sonra ancak soğuma bekliyoruz.

Summary: ratio=0.5
2016-11-17 13:14:52,779 : INFO : adding document #0 to dictionary(0 unique tokens: [])
2016-11-17 13:14:52,782 : INFO : built dictionary(158 unique tokens: ['gerilediğin', 'için', 'yaptığı', 'tekrar', 'hissedilir']...) from 29 documents (total 248 corpus positions)
Dr. Orhan Şen, yaptığı açıklamada, hava sıcaklığının bu yılın başından beri mevsim normallerinin üzerinde seyrettiğini ve sık sık sıcaklık rekoru kırıldığını söyledi.
Benzer hava şartlarının sonbaharda da yaşandığını dile getiren Şen, şu andaki verilere göre bu durumun bir süre daha devam etmesini beklediklerini ifade etti.
Dr. Şen, mevsim normalleri üzerinde devam eden sıcaklıklarının birkaç gündür oldukça gerilediğine işaret ederek, "Özellikle iki gündür ülke genelinde ciddi soğuk yaşanıyor.
Mevsim normallerinin üzerinde devam eden sıcaklıklar, İstanbul'da 5 dereceye kadar bile düştü.
Ancak bu normal bir durum.
Hatta bir süre daha hava sıcaklıklarının böyle dalgalı seyretmesini bekliyoruz." diye konuştu.
ARALIK SONUNA KADAR KAR BEKLENMİYOR
Buna göre söz konusu yerlerde sıcaklık tekrar mevsim normallerinin üzerine çıkıyor.
Sıcaklık bunun 7-8 derece kadar üzerine çıkıp 17-18 derece civarında seyredecek.
Ay sonuna kadar da hava sıcaklıkları batı bölgelerde mevsim normallerinin üzerinde seyredecek." değerlendirmesinde bulundu.
Şen, yıl sonuna kadar hissedilir oranda soğuma beklemediklerinin altını çizerek, "Aralık'ın 15'inden sonra ancak soğuma bekliyoruz.
Bu durum normal gözükmeyebilir ancak küresel ısınma ve iklim değişikliğinin bir sonucu bu.
Yani kasımda 17-18 derece normal değil ancak bu yıl bu sıcaklıklara alıştık.
Bir süre daha da böyle devam etmesini bekliyoruz" ifadelerini kullandı.

Summary: ratio=0.25
2016-11-17 13:14:52,812 : INFO : adding document #0 to dictionary(0 unique tokens: [])
2016-11-17 13:14:52,815 : INFO : built dictionary(158 unique tokens: ['gerilediğin', 'için', 'yaptığı', 'tekrar', 'hissedilir']...) from 29 documents (total 248 corpus positions)
Dr. Orhan Şen, yaptığı açıklamada, hava sıcaklığının bu yılın başından beri mevsim normallerinin üzerinde seyrettiğini ve sık sık sıcaklık rekoru kırıldığını söyledi.
Benzer hava şartlarının sonbaharda da yaşandığını dile getiren Şen, şu andaki verilere göre bu durumun bir süre daha devam etmesini beklediklerini ifade etti.
Dr. Şen, mevsim normalleri üzerinde devam eden sıcaklıklarının birkaç gündür oldukça gerilediğine işaret ederek, "Özellikle iki gündür ülke genelinde ciddi soğuk yaşanıyor.
Mevsim normallerinin üzerinde devam eden sıcaklıklar, İstanbul'da 5 dereceye kadar bile düştü.
Hatta bir süre daha hava sıcaklıklarının böyle dalgalı seyretmesini bekliyoruz." diye konuştu.
Ay sonuna kadar da hava sıcaklıkları batı bölgelerde mevsim normallerinin üzerinde seyredecek." değerlendirmesinde bulundu.
Şen, yıl sonuna kadar hissedilir oranda soğuma beklemediklerinin altını çizerek, "Aralık'ın 15'inden sonra ancak soğuma bekliyoruz.

Summary: word_count=50
2016-11-17 13:14:52,841 : INFO : adding document #0 to dictionary(0 unique tokens: [])
2016-11-17 13:14:52,843 : INFO : built dictionary(158 unique tokens: ['gerilediğin', 'için', 'yaptığı', 'tekrar', 'hissedilir']...) from 29 documents (total 248 corpus positions)
Dr. Şen, mevsim normalleri üzerinde devam eden sıcaklıklarının birkaç gündür oldukça gerilediğine işaret ederek, "Özellikle iki gündür ülke genelinde ciddi soğuk yaşanıyor.
Mevsim normallerinin üzerinde devam eden sıcaklıklar, İstanbul'da 5 dereceye kadar bile düştü.
Ay sonuna kadar da hava sıcaklıkları batı bölgelerde mevsim normallerinin üzerinde seyredecek." değerlendirmesinde bulundu.
Keywords:
bir
kadar
sen
hava
derece
bekliyoruz
sıcaklık
mevsim
soguma
bolgelerde kar
ancak
normal
boyle
uzerinde
devam
gundur
ozellikle
sonra
dustu
ciddi
sıcaklıklarının
soguk
sıcaklıklarda
bunun
uzerine
gore
yasanıyor
hatta
oldugu
yıl

Yanıtlardaki uyarı mesajlarından gördüğünüz gibi şablon kütüphaneleri kurulu olmadığı için sözcük köklerini saptamanın mümkün olamayacağı belirtiliyor. Gerekli filtreler de yok.
(Belki, iyi ki yok! Çünkü o İngilizce filtreler belki de Türkçe ile ilgili sorunlar yaratacaktı.)

Alınan sonuçların başarılı olup olmadığına siz kendiniz karar verin! Ama özellikle ratio=0.25 olan özetlemeye dikkat edin!

Ahmet Aksoy

Kas 112016
 
12.295 views

Python ile Harflerden Resim Kodlamak

Python ile çok farklı alanlarda çalışmak mümkün. Örneğin herhangi bir görüntüyü alıp, onu sadece ASCII tablosunda yer alan bazı işaretleri kullanacak şekilde kodlamak mümkün. İngilizcede bu tür çalışmalar “ASCII Art” terimiyle ifade ediliyor. Dilimizde somut bir karşılığı yok.

Aşağıdaki görüntü, günümüzün popüler dizilerinden birindeki Defne karakterini canlandıran sanatçı Elçin Sangu‘ya ait.

Resim Kodlamak

Bu kodlamayı gerçekleştiren küçük pyhon betiğini https://gist.github.com/cdiener/10491632 adresinden indirebilirsiniz.

Bu betik aslında doğrudan komut modunda çalıştırılmak üzere hazırlanmış. Ben, onun yerine belli bir resmi kullanacak şekilde küçük bir değişiklik yaptım.

chars dizisinin içeriği ile oynayarak tonlamalarda farklı sonuçlar elde etmek mümkün. Benzer şekilde SC, GCF ve WCF parametreleriyle de oynayabilirsiniz.

Kodlar şöyle:

# -*- coding: utf-8 -*-
# https://gist.github.com/cdiener/10491632

#!/usr/bin/env python

#  asciinator.py
#  
#  Copyright 2014 Christian Diener 
#  
#  This program is free software; you can redistribute it and/or modify
#  it under the terms of the GNU General Public License as published by
#  the Free Software Foundation; either version 2 of the License, or
#  (at your option) any later version.
#  
#  This program is distributed in the hope that it will be useful,
#  but WITHOUT ANY WARRANTY; without even the implied warranty of
#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#  GNU General Public License for more details.
#  
#  You should have received a copy of the GNU General Public License
#  along with this program; if not, write to the Free Software
#  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
#  MA 02110-1301, USA.
#  
#  

from __future__ import print_function		# for python2 compat

import sys; from PIL import Image; import numpy as np

chars = np.asarray(list(' .,:;irsXA253hMHGS#9B&@'))

# if len(sys.argv) != 4: print( 'Usage: ./asciinator.py image scale factor' ); sys.exit()
# f, SC, GCF, WCF = sys.argv[1], float(sys.argv[2]), float(sys.argv[3]), 7/4
f = "defne.jpg"
SC= .14
GCF= 1.8
WCF= 7/4
img = Image.open(f)
S = ( round(img.size[0]*SC*WCF), round(img.size[1]*SC) )
img = np.sum( np.asarray( img.resize(S) ), axis=2)
img -= img.min()
img = (1.0 - img/img.max())**GCF*(chars.size-1)

print( "\n".join( ("".join(r) for r in chars[img.astype(int)]) ) )

Kullandığım orijinal resimdeki renkler ve gölge kontrastları, yapılan dönüşüm için çok uygun değildi. Siz, kontrastı daha güçlü görseller kullanarak daha çarpıcı sonuçlar elde edebilirsiniz. Parametrelerle de oynamak gerekebilir.

Yapay zeka çalışmalarıyla günümüzde olağanüstü görseller elde edilebiliyor artık. Biz de şimdilik “çöp adam çizer gibi” bir ucundan başlayalım dedik. İleride daha kapsamlı çalışmalar da yapabiliriz fırsat bulursak.

Ne dersiniz?

Deneme sonuçlarınızı lütfen benimle de paylaşın!

Yukarıdaki kodları Ubuntu 16.04 üzerinde, Python 3.5.2 ile çalıştırdım.
Sisteminizde hazır değilse PIL ve numpy kütüphanelerini öncelikle kurmanız gerekeceğini unutmayın.

Ahmet Aksoy

http://gurmezin.com/python-ile-harflerden-resim-kodlamak

Ek açıklama: Yukarıda kodlarını paylaştığım yazarın satırlarına gist.github.com üzerinden ulaşmıştım. Buradaki kodların arasında ayrıntılı lisans bilgileri mevcut değildi. O yüzden sadece kodların orijinal linkini vermekle yetinmiştim.
Ancak yazarın github sayfasında aynı kodlara ilişkin lisans bilgileri de mevcut. Etik olarak bu satırları da sayfaya eklemenin daha doğru olacağını düşünüyorum.
Sonuç itibariyle etkin kod satırlarımızın sayısında bir değişiklik olmayacak zaten.

Kas 102016
 
6.050 views

Golang Notları 001

Bir yazılım dilini öğrenirken nasıl bir yol izlediğinizi bilemiyorum. Benimki biraz parçalı bulmaca çözmek gibidir. Tek bir kaynağı başından başlayarak düzenli şekilde izleyerek öğrenmek gibi bir alışkanlığım yoktur. Ben daha çok oradan buraya atlayarak, o an ilgimi çeken şeylere öncelik vererek öğrenmeyi tercih ederim. Bu amaçla, bulabildiğim, konuya ilişkin her türlü kaynağı bilgisayarıma depolarım. Artık internet yoksunluğu eskisi gibi değil. Ama, yine de kaynakların elimin altında olması bana güven duygusu verir.

Golang Notları

Tüm kaynakları yerel bilgisayara indirmek mümkün değil elbet. Zaten bu kadarına gerek te yok. Şahsen ben bile, bilgisayarıma heyecanla indirmiş olduğum bazı kaynakları aslında hiç kullanmamış olduğumu zaman zaman farkederim. (Özellikle sabit diskimde kıpırdayacak yerin kalmadığı zamanlarda… 🙂 )

İster indirin, isterseniz sadece linklerini not alın. Ya da link deposu olarak benim yazılarımı kullanın. Hiç farketmez!.. Ama zamanınızı iyi değerlendirin ve bulabildiğiniz her türlü kaynaktan olabildiğince yararlanın!

Bazıları için tutarsız gibi gelebilir ama, zaman içinde, bu bulmacanın parçaları yavaş yavaş tamamlanır ve tablo bir bütün olarak karşımıza çıkar. Benimki, bana göre, eğlenceli bir öğrenme yöntemidir.

Şimdi size benim listemdeki linklerden bir kaçını vereyim:

Bunlar da youtube üzerindeki bazı dersler:

Eğer facebook kullanıyorsanız, kısa bir süre önce Savaş Doğan arkadaşımızın kurduğu Golang Türkiye grubuna mutlaka katılın. En azından izleyici olun. Çok şey öğreneceğinizden eminim.

https://github/com üzerinde binlerce golang projesi bulabilirsiniz. Basit bir arama yapmanız yeterli olur.

Golang için uygun IDEler

Bir golang programının kaynak kodunu yazmak için -diğer pek çok dilde olduğu gibi- sadece basit bir metin düzenleyici yeterlidir. Ubuntuda gedit, vim, nano gibi programları kullanabilirsiniz.

Ama yazdığınız kodların otomatik olarak ve düzgün şekilde formatlanmasını isterseniz daha seçici olmanız, en azından go ile ilgili bir eklentiyi (plugini) metin düzenleyicinize yüklemeniz gerekir.

Go için kullanabileceğiniz bazı metin düzenleyici ve IDEler şunlardır:

  • Atom
  • Eclipse
  • Emacs
  • Gedit
  • Geany
  • IntelliJ IDEA
  • Net Beans 8.1
  • Vim
  • VisalStudio Code
  • GNU nano

Yukarıdakilerden “geany”, son sürümlerinde go eklentisi önceden yüklenmiş bir uygulamadır. Diğerlerine “go plugin” eklentisinin yüklenmesi gerekir. Ancak Net Beans 8.2 sürümü için uygun bir go eklentisi yoktur. Bu nedenle, isteniyorsa, sürüm 8.1 kullanılmalıdır.

Kullananların önerilerini dikkate aldığımızda, Intellij IDEA Community sürümü, go için en kullanışlı araçlardan biri olarak karşımıza çıkmaktadır.

Yine çok laf ettik. Arayı biraz kapatalım. Bir komut penceresi açın ve aşağıdaki komutları verin:

go env

Bu komutu go sistem değişkenlerinin durumunu görmek için kullanıyoruz.

go version

Go sürüm numaramızı öğrenmenin yolu.

Golang Notları

go run merhaba.go

“merhaba.go” kod dosyamızı çalıştırma kodu (Aslında hem build, hem de run işlevi vardır.)

go build merhaba.go

“merhaba.go” dosyasındaki kod satırlarının derlenerek çalıştırılabilir hale gelmesini sağlar. Derlenen dosya tek başına çalıştırılabilir hale gelir.

go get -u github.com/kisielk/errcheck

Şimdilik açıklama vermeyeceğim. Ama bu komutla, komut satırından hata denetimi yapabilen bir araca sahip olacaksınız. İleride “errcheck” komutunu oldukça çok kullanacağız.

Beni izlemeye devam edin. Yeni Golang Notları bölümlerinde daha fazla kod olacak.

Ahmet Aksoy

Golang Notları 001

Kas 092016
 
9.695 views

Golang Öğreniyorum

Yazılım üzerine asıl uzmanlık alanım Python. Hem basit, hem güçlü. Neredeyse bütün alanlarda çok etkili kütüphanelere sahip.

Golang Öğreniyorum

https://golang.org

Buna rağmen, “şeylerin interneti” (Internet of Things) gibi konularda henüz yeterince güçlü değil. Bu boşluğu aşmak üzere “micropython” gibi yeni girişimler var.

Python çalışmalarıma eskisi gibi, hatta daha da yoğunlaşarak devam edeceğim. Ancak bu durum, yeni alanlara da el atmama engel olacak değil!…
Golang, ya da kısaca go bu yeni alanlardan biri.

En etkin öğrenme yöntemlerinden birinin “öğretmek” olduğunu biliyorum. Çünkü bildiğiniz bir şeyi başkalarına aktarmak isterseniz, önce o bilgiyi içselleştirmek zorundasınız. Aksi halde sadece papağan tekrarı yapmış olursunuz ve konuyla ilgili çok basit soruları bile yanıtlayamazsınız.

Buna ilaveten, golang dilinin yakın gelecek açısından büyük bir potansiyel taşıdığını düşünüyorum. Golang bir yandan pythonun kullanım kolaylığını, bir yandan da javanın donanım sistemlerine yakınlığını bünyesine toplamış. Sınıf sistemlerini, “struct” yapılarıyla kolaylaştırmış. C’den pointer mekanizmasını devşirmiş. Aslında derlenen bir dil. Buna rağmen yorumlamalı bir dille çalışır gibi rahatsınız.

İşte bu nedenlerle, ara sıra da olsa go hakkında öğrendiklerimi burada sizlerle de paylaşacağım. Ama ders yapar gibi değil, bilgiyle harmanlanmış bir sohbet yapar gibi…

Eğer yazılım dillerine ilgi duyuyor ve kendinizi daha da geliştirmek istiyorsanız, ara sıra bu sayfalara sizi de beklerim.

Go, 2007 yılında Google bünyesinde geliştirilmeye başlanmış. İlk çıkışı, sistem programlamaya yönelik. 2009 yılı sonunda açık kaynaklı olarak genel kullanıma sunulmuş.

2015’te, mobil uygulamaları çok daha güçlü bir şekilde destekleyen kararlı sürüm go 1.5 yayınlanmış. Dil konusundaki gelişmeler hızını kesmeksizin devam ediyor.

Bu bir giriş yazısı olduğu için sözü fazla uzatmayacağım. Yine de Ubuntu 16.04 üzerine nasıl kurulduğunu tek bir satırla aktarayım:

sudo apt install golang-go

Hoşçakal mesajımı da go ile vereyim:

package main

import "fmt"

func main() {
    fmt.Printf("Hoşça kal dünya! Yeni yazılarımla yine buradayım!..")
} 

Ahmet Aksoy

Golang Öğreniyorum

Kas 072016
 
4.700 views

Türkçe Kelimelerde Hecelerin Sayısal Dağılımı

Türkçe Hecelemede 6 Temel Kural başlıklı yazımda Türkçe hecelemede kullanılan 6 temel kuralı aktarmıştım. Bu kuralların bir kısmı, yabancı kökenli sözcükleri de kapsıyordu.

Bu kez, elimizdeki derlem veritabanından yararlanarak Türkçe kelimeleri hecelerine ayırdım ve kullanım sıklıklarını belirledim. Sonuçları üç ayrı kategoride ele aldım:

1- Sadece öztürkçe kelimeler
2- Öztürkçe ve yabancı kökenli kelimeler
3- Derlem dosyasındaki sözcüklere filtreleme uygulamadan bulunan kelimeler

Yine de olası hataları en aza indirgemek amacıyla frekansı 100’den düşük olan heceleri iptal ettim.

Değerlendirmede kullandığım ayrık kelime sayısı 1 milyon 754 bin 466’dır.
Bulunan hece sayıları yaklaşık 500 milyon civarındadır. Bulduğum rakamları yazının içinde ayrıntılı olarak bulabilirsiniz.

Sadece öztürkçe sözcüklere ait heceler

Türkçe Kelimelerde Hecelerin Sayısal Dağılımı

  • 1 hece: 22,122,931
  • 2 hece: 282,731,240
  • 3 hece: 171,238,129
  • 4 hece: 3,515,399

Öztürkçe ve yabancı kökenli sözcüklere ait heceler

Öztürkçe ve yabancı kökenli sözcükler

  • 1 hece: 22,259,705
  • 2 hece: 285,575,208
  • 3 hece: 174,653,474
  • 4 hece: 4,941,535
  • 5 hece: 247,814
  • 6 hece: 9,492

Filtreleme yapmaksızın bulunan heceler:

Filtresiz kelimeler

  • 1 hece: 22,632,219
  • 2 hece: 285,584,079
  • 3 hece: 174,661,739
  • 4 hece: 4,971,179
  • 5 hece: 254,565
  • 6 hece: 15,577
  • 7 hece: 2359
  • 8 hece: 436
  • Doğal olarak, 4 harften fazlasını içeren hece sayısı dikkate almaya değmeyecek kadar az. Üstelik bunlardan bir çoğu muhtemelen hatalı yazım gibi nedenlerle zaten devre dışı bırakılması gereken sözcüklere aittir.

    Elde ettiğimiz sonuçları şu şekilde özetlemek mümkün:
    1- Türkçe sözcükler en fazla 4 harf içeren hecelere sahiptir.
    2- İki harften oluşan heceler en büyük grubu oluşturur.
    3- En az rastlanan heceler, 4 harf içerenlerdir.

    Yazıda sözünü ettiğim istatiski verilerin elde edilmesi ve grafik halinde görselleştirilmesi Python 3.5.2 ile sağlanmıştır. Grafik paketi matplotlib‘dir.

    Dilimize özgü istatistik değerlendirmelere yönelik yazılarıma fırsat buldukça devam edeceğim.

    Beni izleyin!

    Ahmet Aksoy

    Türkçe Kelimelerde Hecelerin Sayısal Dağılımı: http://gurmezin.com/turkce-kelimelerde-hecelerin-sayisal-dagilimi/

    Kas 032016
     
    4.079 views

    Türkçe Kelime Köklerinin Sayısal Dağılımı

    Türkçe kelime köklerinin içerdiği harf sayısı bir ile yirmi bir arasında değişmektedir. Bu değişimi sayısal olarak grafikleştirdiğimizde karşımıza aşağıdaki gibi bir tablo çıkmaktadır.
    Türkçe Kelime Köklerinin Sayısal Dağılımı

    En kısa Türkçe kelime kökü “o”dur. Tek karakter uzunluğundadır. (C, I, L, V, X gibi Romen rakamlarını ve tek karakterli bazı atomik işaretleri bu listeye katmıyorum. Onlar da aslında yaşayan Türkçenin bir parçasıdır ama, onları ayrı bir kategoride işlemekte yarar var.)

    Harf sayısını ikiye yükselttiğimizde yalın kök sayısı 110 adedi bulur. Güncel kısaltmaları da bu listeye ilave edersek anlamlı kök sayısı 187’ye kadar yükselir.

    Kısaltmaları dikkate almadığımızda elde ettiğimiz 2 harfli kökleri şu şekilde listeleyebiliriz:

    ad, af, ah, al, an, ar, as, at, ay, az, aç, ağ, be, bu, da, de, do, ed, eh, ek, el, em, en, er, es, et, ev, ey, ez, eğ, eş, fa, ha, he, hu, hı, ıh, ıs, il, im, in, is, it, iv, iz, iç, iğ, iş, ki, la, le, mi, mu, mü, mı, na, ne, nü, od, of, oh, ok, ol, om, on, ot, ov, oy, oz, öc, öd, öf, ök, öl, ön, öp, ör, öt, öv, öz, öç, pi, re, si, su, sü, şu, ta, te, ti, uc, uç, ud, uf, um, un, ur, us, ut, uy, uz, üç, ün, üs, üş, üt, üz, ve, ya, ye

    Harf sayısını üçe çıkardığımızda, kök sayısı 936’ya yükselir.

    Dört harfli kelime sayısı 3015 olur.

    En yüksek sayı 6 harfli köklerdedir: 8232

    Bu sayıları bir tablo haline dönüştürelim.

    Harf sayısı Kök sayısı
    1 1
    2 110
    3 936
    4 3015
    5 8224
    6 8232
    7 8082
    8 7172
    9 4374
    10 2662
    11 1340
    12 659
    13 330
    14 164
    15 66
    16 29
    17 7
    18 4
    19 2
    20 1
    21 1
    22 0

    Yukarıdaki rakamları Python diliyle yazdığım betiklerle elde ettim. Grafik içinse matplotlib kütüphanesinden yararlandım.

    En uzun köklerimizi de örnekleyelim:

    18 harfliler:
    elektrokardiyograf
    elektrokardiyogram
    karıncayiyengiller
    yılanyastığıgiller

    19 harfliler:
    elektroansefalogram
    elektrokardiyografi

    20 harfli
    elektroansefalografi

    21 harfli
    barbaroshayrettinpaşa
    (Bir yer ismi olan bu sözcük aslında bitişik yazılmayabilir. O zaman en uzun kelime kökü 20’de kalmış olur)

    Dikkat ederseniz, en uzun Türkçe sözcük köklerinin çoğu aslında Türkçeye dışarıdan girmiş birleşik sözcüklerdir. Ama onları gündelik yaşamımızın içinde kullanmaya devam ediyoruz. Onların ifade ettiği kavramlara karşılık gelen -öz-Türkçe sözcüklerimiz olmadıkça, bizler de bu sözcükleri ister istemez kullanmaya, onları sahiplenmeye devam edeceğiz.

    Bu yazı, onaylanmış bir akademik çalışma değildir. Daha çok bir deneme niteliğindedir. Dolayısıyla bazı eksik ve hatalar içerebilir. Eğer böyle bir eksik veya hata tespit ederseniz, lütfen benimle de paylaşın. Sorunları birlikte yorumlayalım. Doğrularını üretelim.

    Ahmet Aksoy