Расстояние Левенштейна на неанглийских струнах - PullRequest
4 голосов
/ 17 февраля 2010

Будет ли алгоритм Левенштейновского расстояния хорошо работать и для неанглийских строк?

Обновление : Будет ли это работать автоматически на языке, подобном Java, при сравнении азиатских символов?

Ответы [ 3 ]

3 голосов
/ 17 февраля 2010

Только если язык основан на букве. Например русский, немецкий, ... но иероглиф (например, Китай) или слог (например, Лаос) - нет.

2 голосов
/ 17 февраля 2010

Да. Но вы должны обрабатывать неанглийские символы как «1 символ», а не как несколько символов (например, с utf-8). Например, в python вы должны использовать класс unicode для представления строки (и символов).

1 голос
/ 17 февраля 2010

Левенштейну нет дела до языков, он просто говорит, сколько символов нужно изменить (добавить, удалить, обменять), чтобы перейти от одной строки к другой.

Итак: да, но вам придется проверить свою кодировку, некоторые иностранные «одиночные» символы могут рассматриваться как два (или более) символа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...