Сходство строк в PHP: функция типа levenshtein для длинных строк

Функция levenshtein в PHP работает со строками с максимальной длиной 255. Каковы хорошие альтернативы вычислению оценки сходства предложений в PHP.

В основном у меня есть база данных предложений, и я хочу найти приблизительные дубликаты. Функция similar_text не дает ожидаемых результатов. Как мне проще всего обнаружить похожие предложения, как показано ниже:

$ss="Jack is a very nice boy, isn't he?";
$pp="jack is a very nice boy is he";

$ss=strtolower($ss);  // convert to lower case as we dont care about case
$pp=strtolower($pp);

$score=similar_text($ss, $pp);
echo "$score %\n";  // Outputs just 29 %

$score=levenshtein ( $ss, $pp );
echo "$score\n";  // Outputs '5', which indicates they are very similar. But, it does not work for more than 255 chars :(
8
задан anon 23 February 2011 в 15:35
поделиться