Tüm Platformlar için Hızlı Uygulama Geliştirme Kitabı... Delphi

Konuyu Paylaş : facebook gplus twitter

Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Mesajda kötü sözcükleri yakalama,
#1
Selamlar başladığım bir uygulamada mesaj yorum bölümleri var kötü niyetli kişilerin küfür yazmalarını engellemek için aşağıdaki gibi bir şey yaptım.
Showmessage yazdığım yerde ilk kötü sözcüğü bulduğunda direk çıkacak şekilde yapacağım.
Bana sanki yavaş çalışıyor gibi geldi bunu daha hızlı çalışması için ne yapılabilir ?

var
Mesaj,Küfür : string;
Splitted: TArray<String>;
Splitted2: TArray<String>;
i,i2:integer;
begin
   Mesaj := 'dağdan kestim kereste kuş besledim kafeste daha ben eşşek ney idim ki yarimden ayırdılar köpek gel gel yanıma keklik';
   Küfür := 'eşşek,köpek';
   Splitted  := Küfür.Split([',']);
   Splitted2 := Mesaj.Split([' ']);
   for I := 0 to Length(Splitted)-1 do
    begin
      for i2 := 0 to Length(Splitted2)-1 do
      begin
          if (Trim(Splitted[i]) = Trim(Splitted2[i2])) then
          begin
            ShowMessage('yasakli kelime yakalandı : '+Splitted[i]);
            Exit;
          end;
      end;
    end;
end;
Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
Kuvvete dayanamayan adalet aciz, 
Adalete dayanamayan kuvvet zalimdir.
WWW
Cevapla
#2
(20-10-2016, Saat: 10:05)yhackup Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlSelamlar başladığım bir uygulamada mesaj yorum bölümleri var kötü niyetli kişilerin küfür yazmalarını engellemek için aşağıdaki gibi bir şey yaptım.
Showmessage yazdığım yerde ilk kötü sözcüğü bulduğunda direk çıkacak şekilde yapacağım.
Bana sanki yavaş çalışıyor gibi geldi bunu daha hızlı çalışması için ne yapılabilir ?


var
Mesaj,Küfür : string;
Splitted: TArray<String>;
i:integer;
begin
   Mesaj := 'dağdan kestim kereste kuş besledim eşşekkafeste daha ben ney idim ki yarimden ayırdılarköpek gel gel yanıma keklik'; {gelen mesaj}
   Küfür := 'eşşek köpek'; {tanımlı kötü sözcükler}
   Splitted := Küfür.Split([' ']);
   for I := 0 to Length(Splitted)-1 do
    begin
      ShowMessage(inttostr(Pos(Trim(Splitted[i]),Mesaj)));
    end;
end;


Edit bu olmaz, değiştiriyorum.

Kötü sözcük(badword) diyince aklıma pek alakası olmamakla birlikte Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol geldi Smile
Mal sahibi, mülk sahibi
Hani bunun ilk sahibi ?
Mal da yalan mülk de yalan
Var biraz da sen oyalan...
WWW
Cevapla
#3
(20-10-2016, Saat: 10:34)Tuğrul HELVACI Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlKötü sözcük(badword) diyince aklıma pek alakası olmamakla birlikte Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol geldi Smile

Wink Güzelmiş.

Peki kötü kelimemiz 'it' olsun,
'it herif ne olacak'  burada yakalanır da 
'itherif ne olacak'   burada nasıl yakalayacağız.
'o adam gitti' deki  it'i yakalamadan.
Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
Kuvvete dayanamayan adalet aciz, 
Adalete dayanamayan kuvvet zalimdir.
WWW
Cevapla
#4
(20-10-2016, Saat: 10:45)yhackup Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
(20-10-2016, Saat: 10:34)Tuğrul HELVACI Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlKötü sözcük(badword) diyince aklıma pek alakası olmamakla birlikte Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol geldi Smile

Wink Güzelmiş.

Peki kötü kelimemiz 'it' olsun,
'it herif ne olacak'  burada yakalanır da 
'itherif ne olacak'   burada nasıl yakalayacağız.
'o adam gitti' deki  it'i yakalamadan.

Yapay zeka lazım yakup bey Smile
Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
WWW
Cevapla
#5
Merhaba,
Küfürden sonra, uygulamanızda benzer statüde hakaret de olması gerekiyor. 
Örneğin,
Odundan hakaret türlerini yakalamak için bir çok ihtimal var; Odun, Sırık, Çıta, Kalas, 5X10, BeşeOn, Beşe On, 5'e 10, 5 e 10, 5e10 vb.
Hayvandan hakaret türleri; kuş beyinli, mal, öküz, deve vb.

Küfürde olduğu gibi hakarette de bir çok kelime oyunu ve türeme var. Bunları yakalayıp çıkardığınız zaman cümle denen bir şey kalmaz.
Tuğrul hocanın da belirttiği gibi yapay bir zekanın Türkçe kelime ve argo'ya göre küfür veya hakaret olup olmadığını algılaması gerekiyor.
While true do; Hayat döngüsü, kısır değildir! Yapılan bir yanlış, o döngünün dışına çıkmanızı sağlayacaktır.
WWW
Cevapla
#6
Kötü bir şey söylemenin o kadar çok kombinasyonu varki Smile bu yüzden genelde büyük sitelerde ki yorumlar biri tarafından onaylanır. onaya gelmeden filtreden de geçer dikkat küfür bulundu v.s

“Do. Or do not. There is no try.”
Cevapla
#7
(20-10-2016, Saat: 10:45)yhackup Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
(20-10-2016, Saat: 10:34)Tuğrul HELVACI Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlKötü sözcük(badword) diyince aklıma pek alakası olmamakla birlikte Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol geldi Smile

Wink Güzelmiş.

Peki kötü kelimemiz 'it' olsun,
'it herif ne olacak'  burada yakalanır da 
'itherif ne olacak'   burada nasıl yakalayacağız.
'o adam gitti' deki  it'i yakalamadan.

Önce kelime parçalama uygulamak gerekli. itherif bunu parçalaman gerekli. it herif
geldiyineitherif = geldi yine it herif : bunu nasıl çözeceksin? 2 yol var.
Zorlu kelimemiz : gel geldi geliyor geliyorum geldiler...
1.) bir sürü kelime üretmen gerekiyor. Bu başlı başına bir iş.
2.) Türkçe kitaplar, makaleler gibi yayınları tararsın ve hazır türemiş kelimelerde beyaz listene eklenir. Birde kara liste hazırlarsın.
2. Madde daha kolay gibi.
Ağlarsa kablosuz ağlar, gerisi yerel ağlar...
Cevapla
#8
(20-10-2016, Saat: 14:57)engerex Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
(20-10-2016, Saat: 10:45)yhackup Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlWink Güzelmiş.

Peki kötü kelimemiz 'it' olsun,
'it herif ne olacak'  burada yakalanır da 
'itherif ne olacak'   burada nasıl yakalayacağız.
'o adam gitti' deki  it'i yakalamadan.

Önce kelime parçalama uygulamak gerekli. itherif bunu parçalaman gerekli. it herif
geldiyineitherif = geldi yine it herif : bunu nasıl çözeceksin? 2 yol var.
Zorlu kelimemiz : gel geldi geliyor geliyorum geldiler...
1.) bir sürü kelime üretmen gerekiyor. Bu başlı başına bir iş.
2.) Türkçe kitaplar, makaleler gibi yayınları tararsın ve hazır türemiş kelimelerde beyaz listene eklenir. Birde kara liste hazırlarsın.
2. Madde daha kolay gibi.

Çok uğraştırır o,
uygulama dini bir uygulama yorumlar vs de Trolllerin basmasından korktuğumdan,
adminler olacak zaten uygulamada ama bazı şeyleri otomatik engelleyim kimse görmeden derdim bu. neyse şimdilik bu kalsın bu şekilde o halde
Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
Kuvvete dayanamayan adalet aciz, 
Adalete dayanamayan kuvvet zalimdir.
WWW
Cevapla
#9
Merhabalar,
konuyu ve yorumları okuyunca aklıma geldi, site ismi vermem doğru olurmu bilmiyorum.
Sitede aşağıdaki durum ile karşılaşmıştım cevap yazıp gönder dediğimde kelimeler inceleniyor ve hatalı, eksik yazılan kelimeler bildiriliyor ve düzeltilmeden de cevap gönderilmiyor.
şöyle birşey yapılabilir sanırım TDK kütüphanesinden kelimeler alınarak bir kelime bankası oluşturulur, sıra ile kelimeler kontrol edilerek burada olduğu gibi eşleşmeyen kelimeler düzeltilmesi için kullanıcı uyarılır, kullanıcı eksikliği giderip olması gerektiği şekli ile yazar. bizde buradan yazdığı metni,kelimeleri kontrol etmiş oluruz. 

Ekran_Al_nt_s.jpg
Cevapla
#10
Koca puntolar ile: "Kötü söz sahibinindir", "Allah adamı çarpar" yaz yakup. Al sana sosyal badword detector Big Grin
Mal sahibi, mülk sahibi
Hani bunun ilk sahibi ?
Mal da yalan mülk de yalan
Var biraz da sen oyalan...
WWW
Cevapla

Konuyu Paylaş : facebook gplus twitter



Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Delphi Soap uygulamasında ip yakalama yhackup 2 1.838 21-10-2016, Saat: 16:54
Son Yorum: yhackup



Konuyu Okuyanlar: 1 Ziyaretçi