Soru - Cevap Bölümü
/ Kategori: Programlama
19/03/2010 - 12:04:11 cevap (18) Okunma : 1812 Bu yazıyı 2 kişi tuttu.
Küfür filtresi yapma
arkadaşlar, herkese iyi çalışmalar;
oyun içindeki mesajlaşma bölümü için bir küfür filtresi yapmaya çalışıyorum.
Web üzerinde bir çok örneği inceledim, bana oldukça yavaş algoritmalar olarak göründü. Çoğunlukla sabit bir kaç kelime üzerinden filtreleme yapıyorlar. Benim istediğim ise şöyle birşey:
bir kelime başında ve sonunda boşluk ,özel karakter, veya sayı içeren harf dizisi olarak algılanmalı.
Örn.
"kelime"
kelime
,kelime,
1kelime
küfür tek bir kelime de olabilir, bir cümle kalıbı da. Küfürlü kelime dizisi dışarıdan (veri tabanından yada XML dosyasından) alınacak.
Bu şartlar altında bul değiştir yapmam lazım. Filtreleme işini tüm mesajların dağıtıldığı RTMP server üzerinde de yapabilirim. Ancak bir şikayet opsiyonu da olacak. Şikat edildiğinde, oyun masasındaki tüm yazışmanın sansürsüz haliyle şikaterler veritabanına kaydedilmesi gerekiyor. Bu durumda da, gidip gelen mesajlara bir de mesajın sansürsüz halini eklemek gerekir.
En hızlı çalışan algoritmayı kurmak için düşünüyorum. Bu konuda sizlerinde fikirlerini almak isterim.
Cevaplar
( Faydalı Cevapları Göster )
Gerçekten çok akıl aydınlatıcı sohbetler olmuş. Teşekkür ederim. Bu class'ı php için düzenleme şansınız varmı acaba? Nette böle bir mantıkla yazılmış php classı yok sanırım, fikir çok güzel
Yardım isteyen birisi ile hazırlopçu arasındaki farklar:
- Hazır lopçu hiç vermez, hep ister, yardım isteyenin ise elinde uzun süreli uğraşlarının sonucunda elde ettiği problemler vardır. Hatanın nerede olduğunu merak eder
- Hazır lopçu algoritmayala yetinmez, çalışan kod ister, yardım isteyen için bazıen tek bir kelime yeterlidir.
- Hazırlopçu alacağını alır ve tüyer, vefa duygusu yoktur. Yardım isteyen ise kensine yardım edenlere teşekkür eder, ilk fırsatta onlara yardım elini uzatır
- Hazır lopçunun profilinde sorduğu sorular bölümü kalabalık, verdiği yanıtlar bölümü ise çoooook tenhadır(Çoğunlukla 0 dır.)
Etkinlikler
Toplantı
Özgür Yazılım ve Linux Günleri '10
Özgür Yazılım ve Linux Günleri '10
İstanbul Bilgi Üniversitesi Bilgisayar Bilimleri Bölümü ve Linux Kullanıcıları Derneği'nin 9 yıldır düzenlemekte oldukları etkinlikler bu yıl `Özgür Y...
Kategori:
Toplantı
Kimler Burada? 
Son 1 dakika içinde MMIstanbul' da 59 (50 kayıtlı, 9 ziyaretçi) kullanıcı varmış. Login durumda olanlar aşağıda:
MMIstanbul Blog'undan
Blog Bölümü Blogevi.com'a Taşınıyor
Selam arkadaşlar MMIstanbul'da , tasarımcı ve programcıların blog yazılarını "feedleyerek" MMIstanbul okurlarını MMIstanbul dışın ...
7.500'üncü üyemiz Cem Koç!
Neler Yapılabilir?
500 Hatası Hakkında!
Reklam, MMIstanbul ve Yeni Projeler (Durumumuz Bu Tarzında)










Faydalı cevap
Biraz zaman geçti, paylaşmayı unutmuşum: Filtre için şu class'ı yazdım:
Kullanımı:
Bu class biraz esneklik sağlayarak, kara listede bulunan keilmelere türkçe ekler de takıyor ve bu kelimeleri de kara listeye ekliyor. Çok artificial birşey değil yinede. Herşey karalistenin geniş oluşturulmasına bakıyor.
Arama yaparken de tüm kelimelerin başına ve sonuna boşluk konuluyor. Böylece doğrudan kelimeler aranıyor.
Kara liste de cümle olarak kalıplar kullanılırsa daha başarlı sonuç alınabilir.