SIMILAR_TEXT機能ブロック

この機能ブロックは、2つの文字列の類似度を計算します。

2つの文字列の類似度の計算は、Programming Classics: Implementing the World's Best Algorithms by Oliver (ISBN 0-131-00413-1)に記載されている方法で行われます。この実装では、Oliverの擬似コードのようにスタックを使用せず、代わりに再帰呼び出しを行いますが、これはパフォーマンスを向上させることがあります(必ずしもそうとは限りません)。また、このアルゴリズムの複雑度はO(N³)であり、Nは最長の文字列の長さです。

入力 STR1

この入力は、比較する最初の文字列を定義します。

入力 STR2

この入力は、比較する2番目の文字列を定義します。

出力 SIM

この出力は、両方の文字列に一致する文字の数を返します。

一致する文字の数は、最長の最初の共通部分文字列を探し、それを再帰的に接頭辞と接尾辞について繰り返すことで計算されます。見つかったすべての共通部分文字列の長さが合計されます。

出力 PERCENT

この出力は、浮動小数点数として類似度をパーセンテージ値で返します。そのために、結果を指定された文字列の長さの平均値で除算し、100を乗算します。