Dota 2. MMR sıralamada Türkler

Tr bayraklı Neqroman sadece listeye 163. sıradan girebildi

ABD'nin terörist sevgisi

ABD'nin, terör örgütü PYD/PKK’ya DEAŞ ile mücadele adı altında askeri sevkiyatları sürüyor.

DOTA2 - 2017 THE INTERNATIONAL CHAMPIONSHIP

2017 yazında düzenlenen turnuvada Team Liquid şampiyon oldu

  • Toplam: 0 Oy - Ortalama: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Python ve NGram

 
#1

Bu yazıyı yazmadan önce google’da sayısızca arama yapıyordum. Beni çıldırtan bir olay oldu. Şimdi aradığım şey örneğin ahmet tamam iyi hoş arıyorsun da. Gelip bana neden “Bunu mu denemek istediniz?” şeklinde soru soruyorsun. Neyse önerdiği şeye tıklıyorum. Hobaa. Eski yazdığımı öneriyor bu sefer. Meselenin aslı şu. Ne yazmaya çalıştığımı nasıl olur da bilebilir ki google? Pek de bildiği söylenemez Tongue. Bu yazıda anlatmaya çalışacağım NGram tarzı bir algoritma kullandıkları kesin. Bakarsınız onlar tam da bunu kullanıyorlardır.
Bu işlem temelde “ali yanlış söyler, ahmet düzeltir” mantığına dayalı. Bunu gündelik hayatta yapmak, programlamada yapmaya göre daha basit. O yüzden bizim için bunu basitleştirecek olan ngram kütüphanesini kullanabiliriz.
#NGram Kütüphanesi Kurulumu
Kurulum basit şekilde
Kod:
pip install ngram

komutu ile yapılıyor. İlk basit örneğimize geçelim:
Öncelikle ngram’ı import edelim:
Kod:
from ngram import NGram

Bu işlemi yaptıktan sonra ngram içerisine bir dizi değeri atamamız lazım. Örneğin programlama dillerinin kontrolünün yapılmasını istiyoruz:
Kod:
prog_dilleri = ["php", "python", "csharp", "cpp",
               "ruby", "java", "haskell", "erlang"]

Bu dillerin girili olması lazım. Burada yaptığımız şey harf bigramı oluyor. Pekala öyleyse o zaman bu dilleri NGram ağacına ekleyelim. Yani aslında NGram nesnesine gönderiyoruz:
Kod:
v = NGram(prog_dilleri)

Çok basit şekilde ilerliyoruz. Dizi değerlerimiz artık NGram ağacına takılı durumda. Artık burada kendimize göre işlemler yapabiliriz. Bu işlemlerden birisi ise tahmin ettiğimiz gibi diller arasında arama yapmak ve en yakın olanını bulmak. O zaman bunu yapan bi metod oluşturalım.
Kod:
def arama(ara):
   for i in v.search(ara, threshold=0.1):
       print("Sonuç:", i[0])

Evet burada bakmamız gereken kısım 
Kod:
v.search()

 kısmı. search işlevi ilk argümanda kullanıcının atadığı değeri alır. Bu değer, daha önceden girili olan değerlere benzer mi değil mi kontrolü yapılır. Yani Örneğin prog_dilleri dizisindeki python ile payton ne kadar benzer şeklinde sorar. Gelelim 

Kod:
threshold

 değerine. Bu değer girilen değerin, veritabanında yani NGram ağacındaki benzerine olan yakınlık durumunu sorgular. Bu yakınlık eşiğini kontrol için vardır. Genel itibariyle programımızın kodları şöyle:

Kod:
from ngram import NGram

prog_dilleri = ["php", "python", "csharp", "cpp",
               "ruby", "java", "haskell", "erlang"]

v = NGram(prog_dilleri)

def aramaYap(ara):
   for i in v.search(ara, threshold=0.1):
       print("Önerilen:", i[0], "-- Yakınlık:", i[1], "\n")

aramaYap("payton")

Programımızı çalıştırınca şöyle oluyor:
Kod:
Önerilen: python -- Yakınlık: 0.23076923076923078

Evet bu kadardı arkadaşlar. İsterseniz NGram dokümanlarına buradan ulaşabilirsiniz.



Ara
Cevapla


[-]
Hızlı Cevap

İnsan Doğrulama:
Aşağıda görünen onay kutusunu işaretleyiniz. Bu işlem otomatik spam kayıtları önlemek için kullanılır.

Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Python ile Ağ Üzerinde İzleme Yapma blueman 0 218 30-08-2017, Saat: 21:07
Son Yorum: blueman
  Python'da Manuel Olarak Modül Kurmak dalaylama 1 510 17-06-2017, Saat: 20:48
Son Yorum: alifurkan
  (ftplib) python ftp kütüphanesi tuğrul 0 315 09-05-2017, Saat: 11:35
Son Yorum: tuğrul
  (pysqlite2) python sqllite kütüphanesi tuğrul 0 258 09-05-2017, Saat: 11:33
Son Yorum: tuğrul
  Memcached nedir? Python Memcached Kullanımı tuğrul 0 257 09-05-2017, Saat: 11:32
Son Yorum: tuğrul

Digg   Delicious   Reddit   Facebook   Twitter   StumbleUpon  


Konuyu Okuyanlar:
1 Ziyaretçi

   
Türkçe Çeviri: MCTR, Forum Yazılımı: MyBB, © 2002-2018 MyBB Group.  



Merih Forum® bilgi paylaşım platformu. 2015-2017 Tüm hakları saklıdır.