ホームページ  >  記事  >  バックエンド開発  >  php:similar_text 関数の関連分析

php:similar_text 関数の関連分析

WBOY
WBOYオリジナル
2016-07-28 08:27:041191ブラウズ

特定の文章やコンテンツの類似性や一致度を比較したい場合、必然的にsimilar_text()関数を使用します。この関数のコードデモを以下に示します。

6つの文章を作成し、記号を使用してそれらを比較します。もちろん、コード領域の最後のステートメントのように、パーセンテージを使用して 2 つの文の類似性を比較することもできます。次のように:

$a ="hello,aa";
$b ="hello,bb";
echo "最初のコードのデモ:";
echo like_text($a, $b );
$c ="helloaa";
$d ="hellobb";
echo "2 番目のコードのデモ:";
echo minimum_text($c, $d);
echo "n";
$e = "fedcba" ;
$f ="abcdef";
echo "3 番目のコードのデモ";
echo minimum_text($e, $f);
similar_text($c, $d,$percent);
echo "No. 4 つのコードのデモ: ";
echo $percent;
?>

出力結果は次のとおりです:

 php:similar_text函数的相关解析

 php:similar_text函数的相关解析

 php:similar_text函数的相关解析

 php:similar_text函数的相关解析

この時点で、3番目のコードである問題が見つかります。 area には 1 が表示され、当然、順序に関係なく、出力結果は 6 になるはずです。順序に関係なく、結果は 0 になるはずです。どうすれば 1 になるのでしょうか。

$ e ="ab";
$f ="ba";
echo "3 番目のコードはさらに次のことを示しています:";
similar_text($e, $f,$percent);
echo $percent."%";
?

結果は次のようになります:

 php:similar_text函数的相关解析

パラメータを変更します:

$e ="abcd";
$f ="dcba";
echo "3 番目のコードはさらに次のことを示します:"
similar_text ($e, $f,$percent);
echo $percent."%";
?>

結果は |:

 php:similar_text函数的相关解析

割合がどのように変化しても、常に似た文字が存在します。 , 公式文献を確認したところ、この関数は「Programming Classics: Implementing the World's Best Algorithms by Oliver (ISBN 0-131-00413-1)」という書籍のアルゴリズムに基づいて実装されていることが分かりましたが、まだ方法がわかりません。この問題についてご意見がございましたら、ぜひ共有してください。
上記では、php:similar_text 関数の関連する分析を、関連する内容も含めて紹介しています。PHP チュートリアルに興味のある友人に役立つことを願っています。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。