Я использую фонетическое сопоставление для разных слов в Java. Я использовал Soundex, но он слишком груб. я переключился на Метафон и понял, что лучше. Однако, когда я строго протестировал его. я нашел странное поведение. я должен был спросить, работает ли этот метод, или я использую его неправильно. В следующем примере своих работ в порядке: -Неожиданные результаты от алгоритма Metaphone
Metaphone meta = new Metaphone();
if (meta.isMetaphoneEqual("cricket","criket")) System.out.prinlnt("Match 1");
if (meta.isMetaphoneEqual("cricket","criketgame")) System.out.prinlnt("Match 2");
Эта печать будет
Match 1
Mathc 2
Теперь «крикет» звучит как «criket», но как же «крикет» и «criketgame» одинаковы. Если кто-то объяснит это. это было бы очень полезно.
в 8 классе нас учили притчам "внешность обманчива" – jaykio77