Sayfalar

Cumartesi, Temmuz 23, 2016

Twitter Gözetleyici




Uygulamalarımızda kullanmak için kütüphane arayışlarımız oluyor. Bu keşfettiğimiz kütüphaneleri inceliyoruz. Kullanma niyetinde olduklarımız içinde basit örnekler hazırlayıp nasıl kullanacağımızı anlamaya çalışıyoruz.  Bu günkü yazımızda böyle bir örnek çalışmamızdan bahsedeceğiz.

Uygulamamızın adı Twitter Gözetleyici. Çalışması şöyle. Sizin vereceğiniz  anahtar kelimenin geçtiği twitleri bulup ekranda kelime bulutu olarak göstermek. Belli zaman aralıkları ile bu işlemi tekrar etmek.

Kullandığımız kütüphanelerden bahsedelim.




pattern : http://www.cnts.ua.ac.be/pattern :
Antwerp üniversitesininin CLiPS (Computational Linguistics & Psycholinguistics) araştırma  merkezinde geliştirilmiş bir yazılım. Biz Twitterdan bilgi çekebilmek için kullandık ama çok daha geniş amaçlı bir kütüphane. Web üzerinden , google, wikipedia, bing, facebook,... vb pek çok kaynakdan kolaylıkla bilgi çekebilmeniz sağlayan bir bölümü var. Keza doğal dil işleme kısmıda var.

  • Data Mining: web services (Google, Twitter, Wikipedia), web crawler, HTML DOM parser
  • Natural Language Processing: part-of-speech taggers, n-gram search, sentiment analysis, WordNet
  • Machine Learning: vector space model, clustering, classification (KNN, SVM, Perceptron)
  • Network Analysis: graph centrality and visualization.
 Kaynak kod  : github.com/clips/pattern




wordcloud : Kelime bulutu oluşturmak içi yazılmış bir kütüphane.



Kaynak kod : github.com/amueller/word_cloud


Bu kütüphaneler dışında
 GUI için PySide kullandık. Birazda Unicode ile boğuştuk Python 2.x serisinde epey bir başınızı ağrıtıyor.

Pek çok eksiği var. Lakin üzerinde geliştirme yapma imkanınım olacağını sanmıyorum. Geliştimek isteyenlar yada kodu görmek isteyenler için;
Kodlar Burda : github.com/birolkuyumcu/twitterMonitor

Deep learning based Visual Recommendation and Product Navigation Tool



Visual Recommendation and Product Navigation Tool from bluekid on Vimeo.

Bir Önceki yazımızda ayakkabı görüntüleri üzerinde çalışmıştık.  Aynı veriyi biraz daha genişletip devam edelim.

Varsayalım ayakkabı satan bir e ticaret siteniz var. Müşterinize gösterebileceğiniz  binlerce ürün var. Müşterinin işini kolaylaştırmak için ne yapılabilir ?
   Ayakabının  renk, tür, malzeme, tip, ve benzeri vasıflarını içeren menüler yada filitrelemeler kullanabilirsiniz. Fakat ürün girişi nin vasıflarıda hatasız ve eksiksiz girilmesi gerekiyor. Bu yeterli bir çözüm olacakmı ?

Başka ne yapabiliriz. Bir ürüne bakan müşteriye baktığı ürünün benzerlerini göstermekde lazım. Peki nasıl yapabiliriz  ? Vasıf bazında mesela siyah deri topuklu bir ayakkabıya bakıyorsa aynı vasıflardaki 100 lerce ürününüzden bir kısmını rastgele gösterebilirsiniz.  Satış Tecrübesine göre ; Eski alışverişlerdeki müşterilerin bu ürünü inceleyen şunalarda bakdı mantığında alternatif ürünleri gösterebilirsiniz.

Bu problemlere bir alternatif çözüm anlamında yukarda videoda göreceğiniz çalışmayı yaptık. Bu çalışmada seçilen ürüne önerilen alternatif ürünleri belirlemek için sadece görsel benzerlik kullanıldık. Benzerlerin seçilmesiyle onaların benzerlerine ulaşarak ürünler arasında bir gezinti imkanınıda verdik.

Nasıl yaptığımıza gelirsek, ticari bir çalışma olduğunda çok detaylı anlatamıyacağız ama kabaca bahsedelim.

Öncelikle 1200 civarında bayan ayakkabı  fotoğrafı bularak veri setimizi hazırladık. Sonra eğitilmiş bir caffe modeli ile öznitelik çıkardık. Bu özniteliklerin yakınlık dercesini belirlemek için En Yakın komşuluk algoritmasını kullandık. Ve sonuç; Yukarda videoda izleyebileceğiniz, derin öğrenme bazlı görsel ürün öneri ve ürünler arası gezinti uygulaması çıktı...