我必须根据他们的名字将一些酒店归为同一类别。我正在使用 levenshtein 进行分组,但是我尝试了多少,一些酒店被留在了他们应该属于的类别之外,或者在另一个类别中。
例如:所有这些酒店都应该属于同一类别:
==============================
贝西贝西左岸酒店
贝斯特韦斯特体育馆
最佳西方勃艮第公爵酒店
最佳西方福克斯通歌剧院
最佳西方法国欧洲
悉尼歌剧院贝斯特韦斯特酒店
最佳西方巴黎卢浮宫歌剧院
德诺伊维尔贝斯特韦斯特酒店
==============================
我有一个包含所有酒店名称的列表(比如 1000 行)。我也有他们应该如何分组。知道如何优化 levenshtein,使其更适合我的情况吗?
$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)
);
}