Как сравнить две строки [已], [巳] и увидеть, насколько близко друг к другу? Используя PHP - PullRequest
3 голосов
/ 13 июля 2020

Я пробовал много разных способов выполнить эту задачу:

  1. Левенштейн
  2. Нечеткий
  3. Дамерау Левенштейн
  4. Яро Винклер
  5. Smith Waterman Gotoh

Мой код:

<?php
        echo levenshtein("ЛИЧНА КАРТАlоемптY CARO Пренные ЂУРЂЕВИЋ Hercinian","Михајло Ђурђевић")."<br>";
?>

Вывод:

введите описание изображения здесь

Все это правильно работает с английским sh языком. однако в моем случае у меня много разных языков [арабский c, китайский, русский и т. д.]. Некоторые буквы в этих языках похожи друг на друга.

Пример:

  • на арабском c «ت» & «ث»

  • на китайском «已» и «巳»

  • на русском «ћ» и «h»

Как оформить с этими буквами многобайтовый язык, чтобы получить хорошую точность?

1 Ответ

2 голосов
/ 13 июля 2020

У меня есть только 2 предложения.

  1. Преобразуйте символ в его значение кодовой точки, используя IntlChar :: ord .

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

Это сработает для ваших первых двух примеров.

Преобразование символа в изображение с помощью строки изображения Используйте pHa sh на изображениях, чтобы увидеть разницу в изображении.

PHP реализация

Это будет работать для всех 3 ваших примеров

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