Update app.py
Browse files
app.py
CHANGED
|
@@ -7,8 +7,6 @@ import pandas as pd
|
|
| 7 |
from io import BytesIO
|
| 8 |
import base64
|
| 9 |
import re
|
| 10 |
-
from PIL import Image
|
| 11 |
-
from io import BytesIO
|
| 12 |
|
| 13 |
# Model yang digunakan sekarang hasbigani/indobertsentiment
|
| 14 |
model_name = "hasbigani/indobertsentiment"
|
|
@@ -101,23 +99,15 @@ def generate_visualization(results):
|
|
| 101 |
plt.close()
|
| 102 |
return f"<img src='data:image/png;base64,{encoded}'/>"
|
| 103 |
|
| 104 |
-
# Fungsi untuk mengambil thumbnail dari URL YouTube
|
| 105 |
-
def get_thumbnail(url):
|
| 106 |
-
video_id = extract_video_id(url)
|
| 107 |
-
if video_id:
|
| 108 |
-
return f"https://img.youtube.com/vi/{video_id}/0.jpg"
|
| 109 |
-
return None
|
| 110 |
-
|
| 111 |
# Fungsi utama untuk analisis sentimen
|
| 112 |
def analyze_sentiment(url, jumlah):
|
| 113 |
comments = get_youtube_comments(url, max_comments=jumlah)
|
| 114 |
if not comments:
|
| 115 |
-
return pd.DataFrame(), "Tidak ada komentar ditemukan"
|
| 116 |
results = classify_sentiment(comments)
|
| 117 |
df = pd.DataFrame(results, columns=["Komentar", "IndoBERT", "Confidence"])
|
| 118 |
chart = generate_visualization(results)
|
| 119 |
-
|
| 120 |
-
return df, chart, thumbnail_url
|
| 121 |
|
| 122 |
gr.Interface(
|
| 123 |
fn=analyze_sentiment,
|
|
@@ -127,10 +117,8 @@ gr.Interface(
|
|
| 127 |
],
|
| 128 |
outputs=[
|
| 129 |
gr.Dataframe(label="Preview Komentar dan Sentimen"),
|
| 130 |
-
gr.HTML(label="Visualisasi Sentimen")
|
| 131 |
-
gr.Image(label="Thumbnail Video YouTube", type="url")
|
| 132 |
],
|
| 133 |
title="Analisis Komentar YouTube 🇮🇩 dengan IndoBERT",
|
| 134 |
description="Masukkan URL YouTube dan sistem akan menarik komentar dan menganalisisnya menggunakan model IndoBERT."
|
| 135 |
).launch()
|
| 136 |
-
|
|
|
|
| 7 |
from io import BytesIO
|
| 8 |
import base64
|
| 9 |
import re
|
|
|
|
|
|
|
| 10 |
|
| 11 |
# Model yang digunakan sekarang hasbigani/indobertsentiment
|
| 12 |
model_name = "hasbigani/indobertsentiment"
|
|
|
|
| 99 |
plt.close()
|
| 100 |
return f"<img src='data:image/png;base64,{encoded}'/>"
|
| 101 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 102 |
# Fungsi utama untuk analisis sentimen
|
| 103 |
def analyze_sentiment(url, jumlah):
|
| 104 |
comments = get_youtube_comments(url, max_comments=jumlah)
|
| 105 |
if not comments:
|
| 106 |
+
return pd.DataFrame(), "Tidak ada komentar ditemukan"
|
| 107 |
results = classify_sentiment(comments)
|
| 108 |
df = pd.DataFrame(results, columns=["Komentar", "IndoBERT", "Confidence"])
|
| 109 |
chart = generate_visualization(results)
|
| 110 |
+
return df, chart
|
|
|
|
| 111 |
|
| 112 |
gr.Interface(
|
| 113 |
fn=analyze_sentiment,
|
|
|
|
| 117 |
],
|
| 118 |
outputs=[
|
| 119 |
gr.Dataframe(label="Preview Komentar dan Sentimen"),
|
| 120 |
+
gr.HTML(label="Visualisasi Sentimen")
|
|
|
|
| 121 |
],
|
| 122 |
title="Analisis Komentar YouTube 🇮🇩 dengan IndoBERT",
|
| 123 |
description="Masukkan URL YouTube dan sistem akan menarik komentar dan menganalisisnya menggunakan model IndoBERT."
|
| 124 |
).launch()
|
|
|