Nie jestem pewien, czy to pytanie należy tutaj i przepraszam, jeśli nie. Chcę opracować programowy sposób, w jaki mogę probabilistycznie określić, czy dany ciąg „należy” do worka ciągów. Na przykład, jeśli mam torbę z 10 000 nazwami miast w USA, a następnie mam ciąg „Philadelphia”, chciałbym uzyskać ilościową miarę tego, jak prawdopodobne jest, że „Philadelphia” to nazwa miasta USA w oparciu o nazwy miast, które już znam. Chociaż wiem, że w tym kontekście nie będę w stanie oddzielić prawdziwych nazw miast od fałszywych nazw miast, przynajmniej spodziewałbym się, że będę mieć takie ciągi znaków jak „123,75” i „Szybki czerwony lis przeskoczył nad leniwymi brązowymi psami” jakiś próg.
Na początek spojrzałem na Levenshtein Distance i zastanowiłem się, w jaki sposób zostało to zastosowane do problemów, przynajmniej nieco podobnych do tego, który próbuję rozwiązać. Jedną z interesujących aplikacji, które znalazłem, było wykrywanie plagiatu, w jednym artykule opisano sposób wykorzystania odległości Levenshteina ze zmodyfikowanym algorytmem Smitha-Watermana do oceny wyników na podstawie prawdopodobieństwa, że były to plagaryzowane wersje danego dokumentu bazowego. Moje pytanie brzmi, czy ktoś mógłby skierować mnie we właściwym kierunku za pomocą innych ustalonych algorytmów lub metod, które mogą mi pomóc. Mam wrażenie, że może to być problem, który ktoś w przeszłości próbował rozwiązać, ale jak dotąd zawiodło mnie moje Google-fu.