+ Cevap Yaz
7 sonuçtan 1 ile 7 arası gösteriliyor

Konu: Bunu mu demek istediniz?Şunu

  1. #1

    Üyelik Tarihi
    09/2009
    Yer
    İstanbulda ikamet ediyorum.
    Mesaj
    152
    Ceviz Üyesi

    Varsayılan Bunu mu demek istediniz?Şunu

    slm arkadaşlar,
    Google'nin aklını merak ediyorum.istanbul aramak istediğinizde yanlışlıkla istnbl yazdığınızda
    "Bunu mu demek istediniz?İstanbul" şeklinde doğrusunu bize gösteriyor.
    veritabanında arama yaparken bazı yabancı isimleri tam hatırlamıyorum.yanlış ve eksik yazdığım zamanda bile istediğim sonucun ekrana çıkmasını istiyorum.
    Bu işin mantığını bilen var mı?Böyle bir şey nasıl yapabilirim?

  2. #2
    c3r
    c3r hatta değil

    Üyelik Tarihi
    11/2008
    Yer
    Monitörün karşısı
    Mesaj
    1,137
    Üyeliği İptal Edildi

    Varsayılan

    Alıntı necat34, mesajından alıntı: Mesajı Gör
    Bu işin mantığını bilen var mı?Böyle bir şey nasıl yapabilirim?
    1-Bu işin mantığı yoktur mantıkları vardır
    a)aranılan kelimeleri veritabanına kaydedip son aramadaki string ile karşılaştırabilirsiniz
    b)aranılan kelimeleri veritabanına kaydetmeden veritabanındaki bütün stringleri o anki aramadaki string ile kaşılatırabilirsiniz//Tavsiye etmem sadece kötüe de olsa bu da bir mantık diye belirtmek istedim
    c)veritabanınıza wordlist alanı eklersiniz o anki aranılan kelimeyi wordlistteki stringler ile karşılaştırabilirsiniz
    d)....
    e)....
    string fonksiyonlarını biliyorsanız o karşılaştırmayı nasıl yapabileceğiniz konusunda güçlük çekmezsiniz,eğer string fonksiyonlarını kullanmayı biliyorsanız öncelikle o fonksiyonları öğrenirsiniz sonra da gerisi gelir

  3. #3
    merakli Adlı Üyenin Profil Grafiği
    Üyelik Tarihi
    02/2007
    Mesaj
    1,465
    Yönetim Kurulu

    Varsayılan

    Anahtar kelime soundex
    http://tr.wikipedia.org/wiki/Soundex


    aşağıdaki linkten de faydalanabilirsin.
    http://tr.php.net/manual/tr/function.levenshtein.php

  4. #4
    Turkoman Adlı Üyenin Profil Grafiği
    Üyelik Tarihi
    05/2008
    Yer
    in altında
    Mesaj
    1,247
    Üçekmek

    Varsayılan

    Yeni konu açmak yerine buradan devam etmek uygun olur diye düşündüm.

    Daha önce birçok uygulamada levenshtein() fonksiyonunu kullandım. Fakat VT de daha yakın sonuçlar olmasına rağmen tam istediğim gibi sonuç vermiyor. Sonra kendim bir yöntem geliştirmeye çalıştım.

    İşlem adımlarım şöyle idi:

    1 - aranan kelimeyi diziye çevir
    2 - eldeki kelimeleri sırayla diziye çevir
    3 - iki dizi arasındaki benzerliği say
    4 - iki dizi arasındaki farkı say
    5 - her ikisinde de en iyi uyum sağlayandan geriye doğru en iyi bir kaç sonucu dizi olarak döndür.

    Fakat, buradan da sorayım dedim elinde levenshtein'den en iyi performansı elde ettiğiniz kod örneği var mı? Ya da Levenshtein metodunun algoritmasını bilen varsa paylaşabilir mi?
    İmza yerine parmak bassam olur mu?

  5. #5

    Üyelik Tarihi
    09/2009
    Yer
    İstanbulda ikamet ediyorum.
    Mesaj
    152
    Ceviz Üyesi

    Varsayılan

    Sn.Turkoman, levenshtein() fonksiyonu beğendim ama sadece bir tane seçenek gösteriyor.
    örneğin array listemde istanbul,istanbula,istanbullu gibi birkaç kelime varsa,ben arama yaparken istnbl yazdığımda istanbul kelimesi geçen yukardaki tüm kelimeleri göstermesini istiyorum,kendi çapımda denemeler yaptım beceremedim,belkide öyle bir özelliği yok.

    bu arada bahsettiğin yönteminde benzerlik,fark ve karşılaştırma işlemleri neleri kullanarak yaptın?

  6. #6
    qse
    qse hatta değil
    qse Adlı Üyenin Profil Grafiği
    Üyelik Tarihi
    12/2006
    Yer
    İzmir
    Mesaj
    369
    Ceviz Üyesi

    Varsayılan

    istnbl dan "istanbul" elde ettiyseniz joker karakter kullanarak devamını getirebilirsiniz
    ayrıca bunumu demek istediniz yazım hataları için icat edilmiş bişey olsa gerek neticede ben elma yazında elmalik mı demek istediniz derse sorun yaratır elm den elma yapması makuldur diye düşünüyorum

  7. #7
    Turkoman Adlı Üyenin Profil Grafiği
    Üyelik Tarihi
    05/2008
    Yer
    in altında
    Mesaj
    1,247
    Üçekmek

    Varsayılan

    Alıntı necat34, mesajından alıntı: Mesajı Gör
    Sn.Turkoman, levenshtein() fonksiyonu beğendim ama sadece bir tane seçenek gösteriyor.
    örneğin array listemde istanbul,istanbula,istanbullu gibi birkaç kelime varsa,ben arama yaparken istnbl yazdığımda istanbul kelimesi geçen yukardaki tüm kelimeleri göstermesini istiyorum,kendi çapımda denemeler yaptım beceremedim,belkide öyle bir özelliği yok.

    bu arada bahsettiğin yönteminde benzerlik,fark ve karşılaştırma işlemleri neleri kullanarak yaptın?
    necat34, bu size bağlı istendiği kadar sonuç döndürebilir. Daha doğrusu mesafesi yakın kelimeleri bir dizi halinde alabilirsiniz. Fekaaat ben PHP içindeki yerleşik fonksiyondan istediğim derecede sonuç alamadım bu yüzden kendimce yeni bir fonksiyon yazmaya çalışıyorum. Nette algoritamayı yansıtan örnek var fakat örnek verilen programlama dili yabancı dil de İngilizce olunca çözemedim. Bu yüzden forumdan yardım istedim.

    Anladığım kadarıyla sanal bir tablo oluşturulup bu tablo içinde satır ve sütun olarak aranan karşılışatırılan kelime ayarlanıyor (bu dizi ile yapılabilecek bir işlem) sonra çıkarma pahası, ekleme pahası ve mesafe için işaretleniyor kısacası örnek aşağıdaki sayfada

    http://en.wikipedia.org/wiki/Levenshtein_distance

    Neyse sonuca ulaşırsam paylaşırım.
    İmza yerine parmak bassam olur mu?

+ Cevap Yaz

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

     

Bookmarks

Mesaj Yazma Hakları

  • Yeni mesajgöndermezsiniz
  • Cevap yazamazsınız
  • Dosya ekleyemezsiniz
  • Mesajınızı düzenleyemezsiniz