2009-09-09 6 views
5

Mam stronę z forum w języku angielskim napisaną w Perlu, która jest nieustannie bombardowana spamem po rosyjsku. Czy istnieje sposób użycia Perla i wyrażenia regularnego do wykrycia rosyjskiego tekstu, więc mogę go zablokować?Jak wykrywać rosyjskie posty ze spamem w Perlu?

+3

Aby wykryć rosyjski, należy szukać słów, które są używane tylko w języku rosyjskim. A może chcesz przetestować cyrylicy? – Gumbo

+8

if ($ text ~ =/vodka /) {$ language = "ru"; } – tunnuz

+0

@Gumbo wykrycie cyrylicy jest wystarczająco dobre, ponieważ forum jest w języku angielskim. –

Odpowiedz

8

można użyć następujących wykryć Cyrillic znaków (używane w języku rosyjskim):

[\u0400-\u04FF]+ 

Jeśli naprawdę chcesz rosyjskich znaków, można zapoznać się z wyżej wymienionym dokumencie, który zawiera dokładny zakres używany dla podstawowego alfabetu rosyjskiego, który jest [\u0410-\u044F]. Oczywiście należy również rozważyć rozszerzenie znaków cyrylicy, które są używane wyłącznie w języku rosyjskim - również wspomniano w dokumencie.

3

użycie zestawu znaków cyrylicy w Unicode zgodnie z sugestią JG jest w porządku, jeśli wszystko jest zakodowane jako takie. jest to jednak spam i w większości przypadków nie. ponadto spamerzy bardzo często używają kombinacji zestawów znaków w szparkach, co jeszcze bardziej utrudnia to podejście.

uważam, że najlepszym sposobem (lub przynajmniej wstępny etap procesu) wykrywania rosyjski spam jest do grep dla najczęściej stosowanych zestawów znaków:

koi8-r 
windows-1251 
iso-8859-5 

Następnym krokiem po tym byłoby spróbować niektóre algorytmy wykrywania języka na tym, co pozostaje. jeśli jest to wystarczająco duży problem, użyj płatnej usługi, takiej jak google translate (która również "wykrywa") lub kserokopię. Usługi te zapewniają IMO najlepsze wykrywanie języka w pobliżu.

+0

Rozumiem twój punkt widzenia, ale ponieważ jest to forum w języku angielskim, wykrycie, czy post zawiera znaki cyrylicy, może wystarczyć do stwierdzenia, że ​​jest to spam. –

+0

hmmm, ja * myślałem, że oryginalny plakat mówił o spamie e-mailowym ... jeśli tak nie jest, a spam jest wprowadzany przez samą stronę (np. Na forum), to zgadzam się z tym, powiedzenie. –