Come fa Airbnb a rilevare e nascondere indirizzi email e siti web nei messaggi?
Le persone tendono a offuscare questo tipo di dati solo in un piccolo numero di modi. Quindi, probabilmente usano solo una combinazione di espressioni regolari ed euristica per trovare gruppi di parole che sembrano numeri di telefono, siti web o indirizzi email (che hanno una struttura unica). Si potrebbe attaccare ciascuno di questi problemi separatamente e con pochi giorni di codifica mettere fuori uso la maggior parte delle istanze di ortografia offuscata. Si potrebbero usare semplici espressioni regolari per tutti gli indirizzi e-mail, i numeri di telefono e i siti web scritti direttamente. Inoltre potrebbero bloccare altre parole su qualche "lista di concorrenti", ad esempio "craigslist" o "vrbo". Potrebbero anche rilevare qualsiasi parola che è una breve distanza di modifica da una parola correttamente scritta su una qualsiasi di queste liste (ma non appaiono t0). Infine, per bloccare alcune persone intelligenti dallo scrivere cose come "cinque 1 oh", ma permettere alle persone di scrivere "1 persona", probabilmente separano le frasi in "parole" da spazi bianchi e punteggiatura utilizzando una qualsiasi delle moltitudini di strumenti tokenizer comunemente trovati e cercano "parole" sequenziali che si adattano a un certo modello. Per esempio, per i numeri di telefono, negli Stati Uniti 7 o 10 "parole numero" in fila sulla "lista dei numeri" potrebbero indicare un numero di telefono offuscato, che potrebbe quindi essere bloccato.
Ovviamente, fanno un sacco di soldi, quindi potrebbero anche assumere alcuni esperti di Machine Learning per addestrare un modello di apprendimento discriminativo supervisionato online usando esempi etichettati di testo offuscato che vogliono bloccare e testo che permetteranno per ogni lingua. La raccolta e l'etichettatura di questi dati potrebbe essere meglio eseguita da Amazon Turk, che potrebbe poi aggiornare il modello fino a raggiungere una precisione e un richiamo sufficienti.
Il diavolo è nei dettagli!
Articoli simili
- Come estrarre indirizzi email da siti web
- Come fare in modo che Gmail assegni ID di messaggi con due domini diversi (Gmail, email, g suite, SMTP, intestazioni email, applicazioni web)
- Qual è la differenza tra Airbnb e Airbnb Plus?
- Come dire correttamente 'cc'ed to this email', 'cc'ed on this email' o 'cc'ed in this email'