Viper51 commited on
Commit
26e1236
·
verified ·
1 Parent(s): 9547350

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +12 -4
app.py CHANGED
@@ -6,6 +6,7 @@ from sklearn.metrics.pairwise import cosine_similarity
6
  from nltk.stem.porter import PorterStemmer
7
  import gradio as gr
8
  import nltk
 
9
  nltk.download('punkt')
10
 
11
  # Load data
@@ -72,22 +73,29 @@ similarity = cosine_similarity(vectors)
72
  # Recommendation function
73
  def recommend(movie):
74
  movie = movie.lower()
75
- if movie not in new_df['title'].str.lower().values:
76
- return ["Movie not found in database :( "]
77
 
 
 
 
 
 
 
 
 
 
78
  index = new_df[new_df['title'].str.lower() == movie].index[0]
79
  distances = similarity[index]
80
  movie_list = sorted(enumerate(distances), reverse=True, key=lambda x: x[1])[1:6]
81
  return [new_df.iloc[i[0]].title for i in movie_list]
82
 
83
-
84
  # Gradio interface
85
  def recommend_interface(movie_name):
86
  return recommend(movie_name)
87
 
88
 
89
  demo = gr.Interface(fn=recommend_interface,
90
- inputs=gr.Dropdown(lines=1, placeholder="Enter a movie name..."),
91
  outputs=gr.List(label="Top 5 Recommendations"),
92
  title="Movie Recommender")
93
 
 
6
  from nltk.stem.porter import PorterStemmer
7
  import gradio as gr
8
  import nltk
9
+ import difflib
10
  nltk.download('punkt')
11
 
12
  # Load data
 
73
  # Recommendation function
74
  def recommend(movie):
75
  movie = movie.lower()
 
 
76
 
77
+ titles = new_df['title'].str.lower().tolist()
78
+ # close_matches = difflib.get_close_matches(movie, titles, n=10, cutoff=0.4)
79
+ #
80
+ # if not close_matches:
81
+ # return ["Movie not found"], []
82
+ #
83
+ # if movie not in new_df['title'].str.lower().values:
84
+ # return ["Movie not found in database :( "]
85
+ # # movie = close_matches[0]
86
  index = new_df[new_df['title'].str.lower() == movie].index[0]
87
  distances = similarity[index]
88
  movie_list = sorted(enumerate(distances), reverse=True, key=lambda x: x[1])[1:6]
89
  return [new_df.iloc[i[0]].title for i in movie_list]
90
 
91
+ movie_list = new_df['title'].tolist()
92
  # Gradio interface
93
  def recommend_interface(movie_name):
94
  return recommend(movie_name)
95
 
96
 
97
  demo = gr.Interface(fn=recommend_interface,
98
+ inputs=gr.Dropdown(movie_list, label="Select a movie..."),
99
  outputs=gr.List(label="Top 5 Recommendations"),
100
  title="Movie Recommender")
101