Статья в Википедии довольно свободна от терминологии. В «естественном языке» нет таких понятий, как «струны». Существуют фонемы на естественном языке, которые могут быть представлены письменными символами и комбинациями символов.
Некоторые комбинации символов являются пережитками исторических условностей, сохранившихся до наших дней, как в современном английском языке «грубый», где «gh» может звучать как -f- или вообще не издавать ни звука. Мне кажется, что при фокусировке на необработанных «строках» алгоритм должен быть независим от исторических взаимосвязей языка и орфографического соглашения, что приводит к некоторым произвольным метрикам всякий раз, когда комбинации символов соотносятся с одной фонемой. Как бы это измерить "грубо", чтобы "ruf"? Или "через" до "через"?
Или по-немецки o-umlaut до "oe"?
В вашем случае -y- можно обменять фонетически и орфографически на -ij-. Так что же это согласно алгоритму: два удаления, за которыми следует вставка или одно удаление -j- или -i- с последующим переносом оставшегося символа в -y-? Или -ij- объединяется, и за объединением следует транспозиция?
Я бы порекомендовал вам использовать другой неиспользуемый символ объединения для -ij- перед применением алгоритма, возможно, U00EC, латинскую строчную букву i с серьезным акцентом.
Как алгоритм обрабатывает символы с несколькими кодами?