0

以下の 2 つの文を比較する必要があり、出力は一致のパーセンテージである必要があります

A: 上級管理者、生産

B: 上級管理職、生産販売

文の各単語を比較してみました(以下のコード)。動作しますが、効率的な方法が必要です。

public function contact_title_match($old_title,$new_title)
{
   $new_title=preg_replace('/[^a-zA-Z0-9_ %\[\]\.\(\)%&-]/s', '', $new_title);
   $new_title_arr=explode(" ",$new_title);
   $count=count($new_title_arr);
   $index=0;
   if($count>0)
   {
      foreach($new_title_arr as $title_word)
      {
        if(stripos($old_title,$title_word)!==false)
            $index++;
      }
      if(($index/$count)>= 0.5) return 1;
      else                      return 0;
   }
}
4

1 に答える 1

7

にぴったりの仕事のようですねsimilar_text:

$sentence_a = "senior manager, production";
$sentence_b = "senior manager, prodcution-sales";
$percentage = 0;

similar_text( $sentence_a, $sentence_b, $percentage );

// The strings are 86 percent similar.
printf("The strings are %d percent similar.", $percentage);

デモ: http://codepad.org/9Vx797uB

于 2012-11-21T05:16:23.063 に答える