ND0210 commited on
Commit
d7e0963
1 Parent(s): a8e4b6b

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +44 -3
app.py CHANGED
@@ -1,7 +1,48 @@
1
  import gradio as gr
 
 
 
 
2
 
3
- def greet(name):
4
- return "Hello " + name + "!!"
5
 
6
- iface = gr.Interface(fn=greet, inputs="text", outputs="text")
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7
  iface.launch()
 
1
  import gradio as gr
2
+ import pandas as pd
3
+ import numpy as np
4
+ from sklearn.naive_bayes import MultinomialNB
5
+ from sklearn.feature_extraction.text import TfidfVectorizer
6
 
7
+ df = pd.read_excel('C:/Users/Tien Dung/Downloads/Cleaned Data.xlsx')
 
8
 
9
+ X = df['Title']
10
+ y = df['Encoded Tag']
11
+ tfidf_vectorizer = TfidfVectorizer()
12
+ X_tfidf = tfidf_vectorizer.fit_transform(X)
13
+
14
+ # Train the Naive Bayes model
15
+ nb = MultinomialNB(alpha=0.4)
16
+ nb.fit(X_tfidf, y)
17
+
18
+ # Function to make predictions
19
+ encoded = {0:'Chính trị', 1:'Giáo dục', 2:'Giải trí', 3:'Kinh doanh', 4:'Sức khỏe'}
20
+ def predict_category(title):
21
+ title_tfidf = tfidf_vectorizer.transform([title])
22
+ probabilities = nb.predict_proba(title_tfidf)[0]
23
+ data = {"Category": [encoded[i] for i in range(len(encoded))],
24
+ "Probability (%)": [f"{probabilities[i]*100:.2f}%" for i in range(len(probabilities))]}
25
+ df = pd.DataFrame(data)
26
+ return encoded[np.argmax(probabilities)], df
27
+
28
+ # Create the Gradio interfaces
29
+ iface = gr.Interface(
30
+ fn=predict_category,
31
+ inputs="text",
32
+ outputs=[
33
+ gr.Textbox(label="Prediction"),
34
+ gr.Dataframe(label="Probs", type='pandas')
35
+ ],
36
+ title="Text Classification App",
37
+ description="Enter a news title and get the predicted category.",
38
+ examples=[
39
+ ["Phó Thủ tướng ghi sổ tang tưởng niệm các nạn nhân trong vụ khủng bố ở Nga"],
40
+ ["Thiếu giáo viên: Dự kiến cho phép tuyển dụng người có trình độ cao đẳng"],
41
+ ['Diễn viên Thu Quỳnh chia sẻ điều bất ngờ không tính toán trước'],
42
+ ["Nhóm khách vay mua nhà đất bị nợ xấu, ngân hàng tá hỏa biết khách còn nợ khủng"],
43
+ ["Điều kiện để các giáo sư y khoa Hàn Quốc không từ chức hàng loạt"]
44
+ ]
45
+ )
46
+
47
+ # Run the interface
48
  iface.launch()