名前に基づいて、いくつかのホテルを同じカテゴリにグループ化する必要があります。グループ化にレーベンシュタインを使用していますが、どれだけ試しても、本来あるべきカテゴリから外れたり、別のカテゴリになっているホテルがあります。
例: これらのホテルはすべて同じカテゴリに属している必要があります。
=============================
ベストウェスタン ベルシー リヴ ゴーシュ
ベストウェスタン コリーゼ
ベストウェスタン デュック ド ブルゴーニュ
ベストウェスタン フォークストーン オペラ
ベストウェスタン フランス ヨーロッパ
ベストウェスタン ホテル シドニー オペラ
ベストウェスタン パリ ルーヴル オペラ
ベストウェスタン ホテル ドゥ ヌーヴィル
=============================
すべてのホテル名(1000行など)のリストがあります。また、それらをグループ化する方法もあります。レーベンシュタインを最適化して、私の状況により柔軟にする方法はありますか?
$inserted = false;
foreach($hotelList as $key => $value){
if (levenshtein($key, $hotelName, 2, 5, 1) <= abs(strlen($key) - strlen($hotelName))){
array_push($hotelList[$key], trim($line));
$inserted = true;
}
}
// if no match was found add another entry
if (!$inserted){
$hotelList[$hotelName] = array(
trim($line)
);
}