ssenaay commited on
Commit
92b5f25
·
verified ·
1 Parent(s): 1a6868a

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +13 -13
app.py CHANGED
@@ -193,7 +193,7 @@ all_stars = sorted(list(star_popularity.keys()), key=lambda s: star_popularity[s
193
  # --- YENİ EKLENTİ SONU ---
194
 
195
  def get_movie_recommendations(selected_tags, selected_directors, selected_stars, min_imdb_rating_slider, num_recommendations_slider, search_text=""):
196
-
197
  print(f"\n--- Öneri İsteği ---")
198
  print(f"Seçilen Türler: {selected_tags}")
199
  print(f"Seçilen Yönetmenler: {selected_directors}")
@@ -209,29 +209,29 @@ def get_movie_recommendations(selected_tags, selected_directors, selected_stars,
209
  recommendations_df = df_filtered.copy()
210
 
211
  recommendations_df = recommendations_df[recommendations_df['IMDb Rating'] >= min_imdb_rating_slider]
212
-
213
  if selected_tags_list:
214
  recommendations_df = recommendations_df[
215
  recommendations_df['Tags_cleaned'].apply(lambda x: any(tag in x for tag in selected_tags_list))
216
  ]
217
-
218
  if selected_directors_list:
219
  recommendations_df = recommendations_df[
220
  recommendations_df['Director_cleaned'].apply(lambda x: any(director in x for director in selected_directors_list))
221
  ]
222
-
223
  if selected_stars_list:
224
  recommendations_df = recommendations_df[
225
  recommendations_df['Stars_cleaned'].apply(lambda x: any(star in x for star in selected_stars_list))
226
  ]
227
-
228
  if search_text and len(recommendations_df) > 0 and sentence_model is not None:
229
  try:
230
  query_embedding = sentence_model.encode(search_text, convert_to_tensor=True)
231
  except Exception as e:
232
  print(f"HATA: Arama metni embedding'i oluşturulurken hata oluştu: {e}")
233
  return "Arama metni işlenirken bir hata oluştu. Lütfen tekrar deneyin."
234
-
235
  filtered_indices = recommendations_df.index.tolist()
236
  if not filtered_indices or len(film_embeddings) == 0:
237
  return "Filtreleme sonrası film bulunamadı."
@@ -242,10 +242,10 @@ def get_movie_recommendations(selected_tags, selected_directors, selected_stars,
242
 
243
  current_film_embeddings = film_embeddings[filtered_indices]
244
  cosine_scores = util.cos_sim(query_embedding, current_film_embeddings)[0]
245
- recommendations_df['Similarity_Score'] = cosine_scores.cpu().numpy()
246
  recommendations_df = recommendations_df.sort_values(
247
- by=['Similarity_Score', 'IMDb Rating', 'Votes_numeric'],
248
- ascending=[False, False, False]
249
  ).reset_index(drop=True)
250
  except Exception as e:
251
  print(f"HATA: NLP benzerlik hesaplanırken hata oluştu: {e}")
@@ -255,12 +255,12 @@ def get_movie_recommendations(selected_tags, selected_directors, selected_stars,
255
 
256
  if not search_text or sentence_model is None:
257
  recommendations_df = recommendations_df.sort_values(
258
- by=['IMDb Rating', 'Votes_numeric'],
259
  ascending=[False, False]
260
  ).reset_index(drop=True)
261
-
262
  top_recommendations = recommendations_df.head(num_recommendations_slider)
263
-
264
  if top_recommendations.empty:
265
  return """
266
  <div class="no-results-card">
@@ -369,7 +369,7 @@ custom_theme = gr.themes.Base(
369
  # Dropdown, Slider, Textbox
370
  input_background_fill="hsl(220, 10%, 20%)", # Koyu gri
371
  input_border_color="hsl(220, 10%, 30%)",
372
- input_text_color="white",
373
  slider_color="hsl(24, 88%, 50%)", # Slider dolgu rengi
374
  # Genel Gradio panelleri
375
  block_background_fill="hsl(220, 10%, 15%)", # Daha koyu panel arka planı
 
193
  # --- YENİ EKLENTİ SONU ---
194
 
195
  def get_movie_recommendations(selected_tags, selected_directors, selected_stars, min_imdb_rating_slider, num_recommendations_slider, search_text=""):
196
+
197
  print(f"\n--- Öneri İsteği ---")
198
  print(f"Seçilen Türler: {selected_tags}")
199
  print(f"Seçilen Yönetmenler: {selected_directors}")
 
209
  recommendations_df = df_filtered.copy()
210
 
211
  recommendations_df = recommendations_df[recommendations_df['IMDb Rating'] >= min_imdb_rating_slider]
212
+
213
  if selected_tags_list:
214
  recommendations_df = recommendations_df[
215
  recommendations_df['Tags_cleaned'].apply(lambda x: any(tag in x for tag in selected_tags_list))
216
  ]
217
+
218
  if selected_directors_list:
219
  recommendations_df = recommendations_df[
220
  recommendations_df['Director_cleaned'].apply(lambda x: any(director in x for director in selected_directors_list))
221
  ]
222
+
223
  if selected_stars_list:
224
  recommendations_df = recommendations_df[
225
  recommendations_df['Stars_cleaned'].apply(lambda x: any(star in x for star in selected_stars_list))
226
  ]
227
+
228
  if search_text and len(recommendations_df) > 0 and sentence_model is not None:
229
  try:
230
  query_embedding = sentence_model.encode(search_text, convert_to_tensor=True)
231
  except Exception as e:
232
  print(f"HATA: Arama metni embedding'i oluşturulurken hata oluştu: {e}")
233
  return "Arama metni işlenirken bir hata oluştu. Lütfen tekrar deneyin."
234
+
235
  filtered_indices = recommendations_df.index.tolist()
236
  if not filtered_indices or len(film_embeddings) == 0:
237
  return "Filtreleme sonrası film bulunamadı."
 
242
 
243
  current_film_embeddings = film_embeddings[filtered_indices]
244
  cosine_scores = util.cos_sim(query_embedding, current_film_embeddings)[0]
245
+ recommendations_df['Similarity_Score'] = cosine_scores.cpu().numpy()
246
  recommendations_df = recommendations_df.sort_values(
247
+ by=['Similarity_Score', 'IMDb Rating', 'Votes_numeric'],
248
+ ascending=[False, False, False]
249
  ).reset_index(drop=True)
250
  except Exception as e:
251
  print(f"HATA: NLP benzerlik hesaplanırken hata oluştu: {e}")
 
255
 
256
  if not search_text or sentence_model is None:
257
  recommendations_df = recommendations_df.sort_values(
258
+ by=['IMDb Rating', 'Votes_numeric'],
259
  ascending=[False, False]
260
  ).reset_index(drop=True)
261
+
262
  top_recommendations = recommendations_df.head(num_recommendations_slider)
263
+
264
  if top_recommendations.empty:
265
  return """
266
  <div class="no-results-card">
 
369
  # Dropdown, Slider, Textbox
370
  input_background_fill="hsl(220, 10%, 20%)", # Koyu gri
371
  input_border_color="hsl(220, 10%, 30%)",
372
+ # input_text_color="white", # BU SATIR KALDIRILDI!
373
  slider_color="hsl(24, 88%, 50%)", # Slider dolgu rengi
374
  # Genel Gradio panelleri
375
  block_background_fill="hsl(220, 10%, 15%)", # Daha koyu panel arka planı