Doğal Dil İşleme Nedir?

İfade ettiğimiz her şey (sözlü veya yazılı olarak) büyük miktarda bilgi taşır. Seçtiğimiz konu, üslubumuz, kelime seçimlerimiz, her şey ondan çıkarılabilecek yorumlara bir tür bilgi ekliyor. Teorik olarak, bu bilgiyi kullanarak insan davranışını anlayabilir ve hatta tahmin edebiliriz.

Ancak bir sorun var: Bir kişi konuşma yaparken yüzlerce veya binlerce kelime üretebilir ve her cümlenin veya her kelimenin kendi karmaşıklığı vardır. Belirli bir coğrafyadaki yüzlerce, binlerce veya milyonlarca insanı veya ifadelerini ölçeklendirmek ve analiz etmek istiyorsanız, durum yönetilemez hal alır.

Konuşmalardan, makalelerden ve hatta tweet’lerden üretilen veriler, yapılandırılmamış verilere örnektir. Yapılandırılmamış veriler, ilişkisel veritabanlarının geleneksel satır ve sütun yapısına tam olarak uymaz ve gerçek dünyada bulunan verilerin büyük çoğunluğunu oluşturur. Bunlar dağınık ve manipüle etmesi zor verilerdir. Yine de makine öğrenimi gibi disiplinlerdeki gelişmeler sayesinde bu konuda büyük bir devrim yaşanıyor. Günümüzde artık önemli olan bir metni veya konuşmayı anahtar kelimelerine dayalı olarak yorumlamaya çalışmak değil, bu kelimelerin arkasındaki anlamı anlamaktır. Bu şekilde ironi gibi konuşma şekillerini tespit etmek ve hatta duygu analizi yapmak mümkündür.

Daha fazla

Algoritma ve Programlama Dünyası — Giriş

Herkese merhabalar!! Bu yazıyla birlikte yeni bir seriye başlıyoruz. Bu seride algoritma ve programlama dünyası hakkında temel bilgiler paylaşacağız. Öncelikle bilgisayar dünyasına bir giriş yapılacak ve daha sonra geçmişte ve günümüzde kullanılan programlama dillerini tanıyıp, bazı programlama terimlerinden bahsedeceğiz. İlerleyen bölümlerde ise algoritmanın hayatımızın içinde nasıl yer bulduğundan bahsedip, programlama dillerindeki temel veri tiplerini, girdi-çıktı işlemlerini, döngüleri ve kontrol yapılarını öğreniceğiz ve günlük hayatta karşımıza çıkan örneklerden konuşacağız. Bunları yaparken C, C++, Java ve Python gibi programlama dillerini kullanıp uygulamalar geliştireceğiz. Hadi Başlayalım!!!

Algoritmanın Önemi

Bir yazılım projesine başlarken hemen oturup kodu yazmaya başlamadan önce yapılması gereken ilk şey ne tür bir algoritma tasarlayacağını düşünmektir. Bu sebeple, programlamaya başlamak isteyen kişilerin herhangi bir programlama dilini öğrenmeden önce kesinlikle algoritma tasarlama teknikleri konusunda kendisini eğitmelidir. Eğer bir problemin çözümünün algoritması tasarlandı ise bu problem herhangi bir programlama dili ile kolayca çözülebilir. Bunun için algoritma mantığını anlamanız, herhangi bir programlama dilinde kendinizi eğitmek için yeterlidir.

Image for post
https://www.codingdojo.com/blog/importance-studying-algorithms

Daha fazla

Kuşlar Kasırga Mevsimlerini Tahmin Etmede Bilgisayarlardan Daha İyi Olabilir mi?

Herkese merhabalar, bu yazıda sizlere anlatmak istediğim konu, geçenlerde Netflix’te başladığım bir belgesel serisinde öğrendiklerimle ilgili olacak. Belgeselin ismi “Connected” kesinlikle izlemenizi öneririm. Belgeselde “Her Şeyin Ardındaki Bilim” sloganıyla çeşitli konularda bölümler yayınlanıyor.

İlk bölümün adı “Gözetim”. Bu bölümde ciddi endişeler uyandıran gözetim teknolojisi bazı durumlarda, özellikle de hayvan dostlarımız söz konusu olduğunda olumlu şekillerde de kullanılması anlatılıyor. Bölümün ilk kısmında ardıç kuşlarıyla ilgili bir gözlem paylaşılıyor. Daha sonraki bölümde kurulan bir yapay zeka tabanlı sistemle domuzların duygu durumlarının analiziyle ne gibi sonuçlar elde ettikleri anlatılıyor. Hadi bunları detaylıca açıklayalım.

Daha fazla

En Basit Haliyle Python Matplotlib Kütüphanesi – Veri Görselleştirme

Merhabalar! Bu yazıda Python’da veri görselleştirmek için kullanılan Matplotlib kütüphanesini kısaca anlatacağım. Görselleştirme için iris veri setini kullanacağım. İyi okumalar.

Veri görselleştirme, bilgi ve verilerin grafiksel bir temsilidir. Grafikler ve haritalar gibi görsel öğeleri kullanan veri görselleştirme araçları, verilerdeki eğilimleri, aykırı değerleri ve kalıpları görmek ve anlamak için erişilebilir bir yol sağlar. Büyük Veri ve Veri Bilimi dünyasında, büyük miktarda bilgiyi analiz etmek ve veriye dayalı kararlar vermek için veri görselleştirme araçları ve teknolojileri kullanılır. Matplotlib, Python’da statik, animasyonlu ve etkileşimli görselleştirmeler oluşturmak için kapsamlı bir kütüphanedir.

İris veri seti, her biri 50 türden oluşan 3 sınıf içerir, burada her sınıf bir tür iris bitkisine karşılık gelir.

Öznitelik Bilgileri:

  • sepal length (cm) — Çanak yaprağı uzunluğu
  • sepal width (cm) — Çanak yaprağı genişliği
  • petal length (cm) — Taç yaprağı uzunluğu
  • petal width (cm) — Taç yaprağı genişliği
  • Türler: Setosa, Versicolour, Virginica

Öncelikle veri setimizi okuyalım ve üç farklı türü veri setimizin içinden alıp kendi isimlerinde bir değişken oluşturalım.

Daha fazla

Python ile Basit Hesap Makinesi

Herkese merhabalar!! Bu yazımda Python ile çok basit bir hesap makinesi yapımını anlatacağım. Keyifli okumalar.

Hesap makinesi yapımında class’lar kullanıldı. Oluşturduğumuz Calculator class’ında initialize metoduyla iki attribute oluşturduk. Bunlar gireceğimiz birinci ve ikinci değerlerimizdir. Daha sonra add, subt, multiply ve division adında class’ımızda 4 farklı metot oluşturduk. Bunlar toplama, çıkarma, çarpma ve bölme yapmak için oluşturuldu.

# Hesap Makinesi
class Calculator: # Calculator adında class oluşturuyoruz.
    "Hesap Makinesi Projesi"
    
    def __init__(self, a, b): # Initialize metodunu ilk ve ikinci değeri oluşturmak için kullanıyoruz
        "initialize Değerleri"
        
        # attribute
        self.value1 = a # İlk değer
        self.value2 = b # ikinci değer
    
    def add(self): # Toplama metodumuzu oluşturuyoruz
        "Toplama v1+v2 = Sonuç -> return Sonuç"
        return self.value1 + self.value2 # Toplama sonucunu döndürüyoruz
    
    def subt(self): # Çıkarma metodumuzu oluşturuyoruz
        "Çıkarma v1-v2 = Sonuç -> return Sonuç"
        return self.value1 - self.value2 # Çıkarma sonucunu döndürüyoruz
         
    def multiply(self): # Çarpma metodumuzu oluşturuyoruz
        "Çarpma v1*v2 = Sonuç -> return Sonuç"
        return self.value1 * self.value2 # Çarpma sonucunu döndürüyoruz
    
    def division(self): # Bölme metodumuzu oluşturuyoruz
        "Bölme v1/v2 = Sonuç -> return Sonuç"
        return self.value1 / self.value2 # Bölme sonucunu döndürüyoruz
           
print("Toplama(1),Çıkarma(2), Çarpma(3), Bölme(4)") # Girmemiz gereken numaraları yazdırıyoruz
selection = input("1 - 2 - 3 - 4 \n") # 1, 2, 3, 4 değerlerini input olarak okuyoruz

v1 = int(input("Birinci Değer  = ")) # Birinci değeri input olarak okuyoruz
v2 = int(input("İkinci Değer = ")) # İkinci değeri input olarak okuyoruz

hesap_mak = Calculator(v1,v2) # Classımızı çağırıyoruz (Clasımınızın argumanlarını input olarak aldığımız iki değerleri koyuyoruz)
if selection == "1":  # 1 ise Toplama
    add_result = hesap_mak.add()
    print("\nToplama Sonucu : {}".format(add_result))
elif selection == "2": # 2 ise çıkarma
    subtraction_result = hesap_mak.subt()
    print("\nÇıkarma Sonucu : {}".format(subtraction_result))
elif selection == "3": # 3 ise çarpma
    multiply_result = hesap_mak.multiply()
    print("\nÇarpma Sonucu : {}".format(multiply_result))
elif selection == "4": # 4 ise bölme
    div_result = hesap_mak.division()
    print("\nBölme Sonucu : {}".format(div_result))
else: # Girilen diğer değerler için hata mesajı yazdırma
    print("\nHata! uygun rakam giriniz")

Daha fazla