Non sono sicuro che questa domanda appartenga qui e mi scuso in caso contrario. Quello che sto cercando di fare è sviluppare un modo programmatico in cui posso determinare probabilisticamente se una determinata stringa "appartiene" in un sacco di stringhe. Ad esempio, se ho una borsa con 10.000 nomi di città statunitensi e poi ho la stringa "Filadelfia", vorrei una misura quantitativa della probabilità che "Filadelfia" sia un nome di città statunitense basato sui nomi di città statunitensi che già conosco. Mentre so che non sarò in grado di separare i nomi di città reali da nomi di città false in questo contesto, almeno mi aspetterei di avere stringhe come "123.75" e "La volpe rossa veloce saltò sui pigri cani marroni" esclusi dato qualche soglia.
Per iniziare, ho esaminato Levenshtein Distance e ho esaminato un po 'come sono stati applicati problemi almeno in qualche modo simili a quello che sto cercando di risolvere. Un'applicazione interessante che ho trovato è stata la rilevazione del plagio, con un articolo che descrive come la distanza di Levenshtein è stata utilizzata con un algoritmo di Smith-Waterman modificato per classificare i documenti in base alla probabilità che fossero una versione plagarizzata di un determinato documento di base. La mia domanda è se qualcuno potrebbe indicarmi la giusta direzione con altri algoritmi o metodologie consolidati che potrebbero aiutarmi. Ho la sensazione che questo possa essere un problema che qualcuno in passato ha tentato di risolvere, ma finora il mio Google-fu mi ha fallito.