firmanaziz commited on
Commit
5d425de
·
1 Parent(s): 32668d6

fix: update column names in recommendation functions and UI

Browse files
Files changed (1) hide show
  1. app.py +5 -5
app.py CHANGED
@@ -60,7 +60,7 @@ def get_location_name_from_coordinates(lat, lon):
60
  # --- Rekomendasi Tempat Wisata ---
61
  def prepare_and_recommend(df, user_description):
62
  tfidf = TfidfVectorizer()
63
- tfidf_matrix = tfidf.fit_transform(df['description'].astype(str).tolist() + [user_description])
64
  similarity = cosine_similarity(tfidf_matrix[-1], tfidf_matrix[:-1]).flatten()
65
  df['similarity'] = similarity
66
  return df.sort_values(by='similarity', ascending=False).head(5)
@@ -76,16 +76,16 @@ def sort_by_nearest_location(df, user_lat, user_lon):
76
  # --- Fungsi Utama Gradio ---
77
  def wisata_rekomendasi(deskripsi, lokasi):
78
  if df.empty:
79
- return "Data tidak tersedia.", pd.DataFrame([["Data tidak tersedia", "", ""]], columns=["nama", "distance_km", "description"])
80
 
81
  keywords = extract_keywords(deskripsi)
82
  if "Error:" in str(keywords):
83
- return f"Kata kunci gagal diambil: {keywords[0]}", pd.DataFrame([[keywords[0], "", ""]], columns=["nama", "distance_km", "description"])
84
 
85
  user_description_joined = " ".join(keywords)
86
  lat, lon = get_coordinates_from_location(lokasi)
87
  if lat is None or lon is None:
88
- return "Lokasi tidak ditemukan.", pd.DataFrame([["Lokasi tidak ditemukan", "", ""]], columns=["nama", "distance_km", "description"])
89
 
90
  top_place = prepare_and_recommend(df.copy(), user_description_joined)
91
  sorted_place = sort_by_nearest_location(top_place, lat, lon)
@@ -101,7 +101,7 @@ demo = gr.Interface(
101
  ],
102
  outputs=[
103
  gr.Textbox(label="Kata Kunci yang Diekstrak"),
104
- gr.Dataframe(headers=["nama", "distance_km", "description"], label="Rekomendasi Tempat Wisata")
105
  ],
106
  title="Sistem Rekomendasi Wisata",
107
  description="Masukkan deskripsi dan lokasi, lalu dapatkan rekomendasi tempat wisata terdekat"
 
60
  # --- Rekomendasi Tempat Wisata ---
61
  def prepare_and_recommend(df, user_description):
62
  tfidf = TfidfVectorizer()
63
+ tfidf_matrix = tfidf.fit_transform(df['deskripsi'].astype(str).tolist() + [user_description])
64
  similarity = cosine_similarity(tfidf_matrix[-1], tfidf_matrix[:-1]).flatten()
65
  df['similarity'] = similarity
66
  return df.sort_values(by='similarity', ascending=False).head(5)
 
76
  # --- Fungsi Utama Gradio ---
77
  def wisata_rekomendasi(deskripsi, lokasi):
78
  if df.empty:
79
+ return "Data tidak tersedia.", pd.DataFrame([["Data tidak tersedia", "", ""]], columns=["id","nama","alamat", "distance_km", "deskripsi","rating"])
80
 
81
  keywords = extract_keywords(deskripsi)
82
  if "Error:" in str(keywords):
83
+ return f"Kata kunci gagal diambil: {keywords[0]}", pd.DataFrame([[keywords[0], "", ""]], columns=["id","nama","alamat", "distance_km", "deskripsi","rating"])
84
 
85
  user_description_joined = " ".join(keywords)
86
  lat, lon = get_coordinates_from_location(lokasi)
87
  if lat is None or lon is None:
88
+ return "Lokasi tidak ditemukan.", pd.DataFrame([["Lokasi tidak ditemukan", "", ""]], columns=["id","nama","alamat", "distance_km", "deskripsi","rating"])
89
 
90
  top_place = prepare_and_recommend(df.copy(), user_description_joined)
91
  sorted_place = sort_by_nearest_location(top_place, lat, lon)
 
101
  ],
102
  outputs=[
103
  gr.Textbox(label="Kata Kunci yang Diekstrak"),
104
+ gr.Dataframe(headers=["id","nama","alamat", "distance_km", "deskripsi","rating"], label="Rekomendasi Tempat Wisata")
105
  ],
106
  title="Sistem Rekomendasi Wisata",
107
  description="Masukkan deskripsi dan lokasi, lalu dapatkan rekomendasi tempat wisata terdekat"