Come implementare un sistema per nascondere i contenuti degli utenti spam?

3

Sto cercando di elaborare un buon metodo per gestire i contenuti inviati dagli utenti e creare un metodo per determinare quando i contenuti spam / indesiderati devono essere nascosti.

L'obiettivo è quello di creare commenti di voto simili ai commenti di youtubes come / non mi piace e se il punteggio è buono mostra i commenti, altrimenti sono invisibili.

Approccio

Il mio pensiero è di farlo tramite la tabella dei commenti, potresti creare due colonne rateup, ratedown.

Per ogni tariffa aumentata il commento ottiene il tasso di sconto di colulmn è: rateup = rateup + 1

e lo stesso per valutazione : ratingown = ratedown + 1

È quindi possibile inserire una clausola nella query del database per selezionare solo commenti se il loro rapporto di frequenza è maggiore di un numero, ad esempio -5:

WHERE (rateup - ratedown) > -5 

ma questo avrebbe bisogno di un sacco di voti su e giù se un utente posta molti messaggi di spam / contenuti poveri sul sito?

Per rafforzare l'approccio, potrei aggiungere le stesse due colonne alla tabella utente e anche aggiornare queste colonne per fornire una visualizzazione overlal del rapporto di invio del contenuto combinato degli utenti e quindi visualizzare i commenti in questo modo:

WHERE ((comment.rateup - comment.ratedown) > -5 ) && ((user.rateup - user.ratedown) > -5 )

Pubblicazioni

Questo approccio potrebbe portare a casi di utenti che creano account falsi di massa per attaccare i buoni utenti e rovinare la loro reputazione?

Quali altri metodi posso usare per nascondere contenuti spam / sfavoriti senza che i moderatori debbano eseguire manualmente tutto?

    
posta Dan 21.05.2012 - 18:00
fonte

4 risposte

4

Consiglierei di utilizzare una procedura multi-step per ridurre la possibilità di spam.

Per prima cosa, è necessario registrarsi per inviare il contenuto. Nel processo di registrazione utilizzare CAPTCHA o un altro processo simile (ma meno intrusivo) per bloccare gli script di spam automatico insieme alla verifica della risposta e-mail. Ciò impedirà la maggior parte dei tentativi automatici e rallenterà un sacco di spam manuale o semiautomatico.

Inoltre, registra gli indirizzi IP. È possibile utilizzarlo per confrontare i proxy spamming conosciuti e catturare la creazione di più account. Non vorrei segnalare o vietare questa base da solo, ma mettere tali account su un elenco di monitoraggio moderatore.

Quindi, utilizza un algoritmo di classificazione dei contenuti per controllare le tecniche di spammer comuni ("Post grande !!!"), alcune parole chiave correlate a determinati prodotti, parolacce comuni e per l'inserimento di link da siti diversi da quelli riconosciuti che vuoi alla lista bianca (Wikipedia, CNN, ecc.). Contrassegna i contenuti offensivi per ulteriori esami.

Puoi anche utilizzare un sistema di punteggio di partecipazione come gli usi di Stack Exchange. Aggiungi funzionalità a cui partecipano gli utenti. Gli spammer in genere non parteciperanno a un sito ma passeranno a obiettivi più facili.

Successivamente, utilizza un sistema di punteggio per lo spam degli utenti per consentire agli utenti di contrassegnare il contenuto inappropriato. Non agire solo su questo, ma metti i contenuti segnalati in un elenco moderatore per ulteriori azioni.

    
risposta data 21.05.2012 - 18:35
fonte
3

Avere un flag "spam" separato che qualsiasi utente può utilizzare.

Quando il numero di flag di spam raggiunge 5 (come nel caso di Stack Exchange), cancella / nascondi automaticamente il post e metti un flag di "spammer" contro l'utente. Quando l'utente riceve i flag di spammer "N" (dove questo potrebbe essere basso come 1 o il più alto che vuoi), allora ferma l'utente a postare qualsiasi cosa.

Questo è indipendente dai flag like / antipatia e questo può avere un peso maggiore.

Avere le bandiere spam elencate per consentire ai moderatori di controllare in modo che possano individuare qualcuno che abusa dei flag.

    
risposta data 21.05.2012 - 18:04
fonte
1

Un altro approccio sarebbe utilizzare i posti contrassegnati come punti dati per addestrare una rete neurale. Quindi il programma potrebbe visualizzare i contenuti così come sono pubblicati. Il libro Algoritmi del Web intelligente è una specie di lettura pesante, ma delinea la teoria dietro i filtri antispam ben.

    
risposta data 22.05.2012 - 04:28
fonte
0

Penso che il tuo problema debba essere suddiviso in 3 sotto-problemi:

1) classifica il contenuto inviato dall'utente

2) evitare che le persone "ingannino l'algoritmo"

3) rilevamento dello spam

Soluzioni:

1) Sottrarre semplicemente upvotes e downvotes non sarà di grande aiuto. Ad esempio, se alcune persone lo sottovalutano man mano che il contenuto esce, saranno rapidamente nascoste - le altre persone non avranno alcuna possibilità di svenderlo. Puoi evitare che questa impostazione abbia un numero minimo di voti, ma questo porta a un altro problema: Il contenuto con 1 upvote e 6 downvotes ha un totale di -5. Il contenuto con 1000 upvotes e 1005 downvotes ha anche un totale di -5, ma il suo rapporto è più bilanciato, e anche se probabilmente è qualcosa di controverso, potresti non volerlo nascondere. Questo è un articolo che ho trovato su come classificare le entità: link . Probabilmente l'articolo va in una direzione che non vuoi veramente prendere, ma potrebbe aiutare la tua decisione.

2) Avresti bisogno di un qualche tipo di sistema che rilevi "brogli elettorali". Ti suggerirei di esaminare Support Vector Machines o Artificial Neural Networks. Dovrai identificare i modelli nel voto che non sono naturali. (Il blocco IP può essere eseguito senza SVM o ANN, ma potrebbe non essere sufficiente)

3) Anche se mi piace molto la risposta della Rete Neurale, probabilmente non è realmente fattibile a causa dell'enorme quantità di dati necessari per addestrarlo. L'organizzazione dietro a Wordpress (molto probabilmente) ha già formato alcuni algoritmi di apprendimento automatico per te: link . È un popolare servizio antispam e funziona piuttosto bene

Spero che questo aiuti

    
risposta data 28.05.2012 - 16:19
fonte

Leggi altre domande sui tag