Upload 7 files
Browse files- app.py +5 -2
- packages.txt +1 -1
- requirements.txt +7 -4
- scripts/review_summarizer.py +20 -10
app.py
CHANGED
@@ -60,12 +60,15 @@ def setup_chrome():
|
|
60 |
class ReviewAnalysisApp:
|
61 |
def __init__(self):
|
62 |
try:
|
|
|
63 |
setup_chrome() # Uygulama başlatılırken Chrome'u kur
|
|
|
|
|
64 |
self.analyzer = ReviewAnalyzer()
|
65 |
logger.info("ReviewAnalyzer başarıyla başlatıldı")
|
|
|
66 |
except Exception as e:
|
67 |
-
logger.error(f"ReviewAnalyzer başlatılırken hata: {str(e)}")
|
68 |
-
# Hata durumunda da analyzer'ı oluştur
|
69 |
self.analyzer = None
|
70 |
|
71 |
def analyze_url(self, url):
|
|
|
60 |
class ReviewAnalysisApp:
|
61 |
def __init__(self):
|
62 |
try:
|
63 |
+
logger.info("Chrome kurulumu başlatılıyor...")
|
64 |
setup_chrome() # Uygulama başlatılırken Chrome'u kur
|
65 |
+
|
66 |
+
logger.info("ReviewAnalyzer başlatılıyor...")
|
67 |
self.analyzer = ReviewAnalyzer()
|
68 |
logger.info("ReviewAnalyzer başarıyla başlatıldı")
|
69 |
+
|
70 |
except Exception as e:
|
71 |
+
logger.error(f"ReviewAnalyzer başlatılırken hata: {str(e)}", exc_info=True) # Tam hata stack'ini göster
|
|
|
72 |
self.analyzer = None
|
73 |
|
74 |
def analyze_url(self, url):
|
packages.txt
CHANGED
@@ -1,2 +1,2 @@
|
|
1 |
chromium
|
2 |
-
chromium-driver
|
|
|
1 |
chromium
|
2 |
+
chromium-driver
|
requirements.txt
CHANGED
@@ -1,9 +1,9 @@
|
|
1 |
pandas
|
2 |
numpy
|
3 |
-
matplotlib
|
4 |
seaborn
|
5 |
-
|
6 |
-
|
|
|
7 |
nltk
|
8 |
plotly
|
9 |
gradio
|
@@ -13,4 +13,7 @@ tqdm
|
|
13 |
regex
|
14 |
scikit-learn
|
15 |
google-generativeai
|
16 |
-
python-dotenv
|
|
|
|
|
|
|
|
1 |
pandas
|
2 |
numpy
|
|
|
3 |
seaborn
|
4 |
+
matplotlib
|
5 |
+
torch==2.1.2
|
6 |
+
transformers==4.36.2
|
7 |
nltk
|
8 |
plotly
|
9 |
gradio
|
|
|
13 |
regex
|
14 |
scikit-learn
|
15 |
google-generativeai
|
16 |
+
python-dotenv
|
17 |
+
requests
|
18 |
+
sentencepiece
|
19 |
+
protobuf
|
scripts/review_summarizer.py
CHANGED
@@ -120,16 +120,26 @@ class ReviewAnalyzer:
|
|
120 |
|
121 |
def setup_sentiment_model(self):
|
122 |
"""Sentiment analiz modelini hazırla"""
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
-
|
128 |
-
|
129 |
-
|
130 |
-
.
|
131 |
-
|
132 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
133 |
|
134 |
def filter_reviews(self, df):
|
135 |
"""Ürün ile ilgili olmayan yorumları filtrele"""
|
|
|
120 |
|
121 |
def setup_sentiment_model(self):
|
122 |
"""Sentiment analiz modelini hazırla"""
|
123 |
+
try:
|
124 |
+
self.device = "cuda" if torch.cuda.is_available() else "cpu"
|
125 |
+
logger.info(f"Using device for sentiment: {self.device}")
|
126 |
+
|
127 |
+
model_name = "savasy/bert-base-turkish-sentiment-cased"
|
128 |
+
|
129 |
+
logger.info(f"Tokenizer yükleniyor: {model_name}")
|
130 |
+
self.sentiment_tokenizer = AutoTokenizer.from_pretrained(model_name)
|
131 |
+
|
132 |
+
logger.info(f"Model yükleniyor: {model_name}")
|
133 |
+
self.sentiment_model = (
|
134 |
+
AutoModelForSequenceClassification.from_pretrained(model_name)
|
135 |
+
.to(self.device)
|
136 |
+
.to(torch.float32)
|
137 |
+
)
|
138 |
+
logger.info("Sentiment model başarıyla yüklendi")
|
139 |
+
|
140 |
+
except Exception as e:
|
141 |
+
logger.error(f"Sentiment model kurulumunda hata: {str(e)}", exc_info=True)
|
142 |
+
raise
|
143 |
|
144 |
def filter_reviews(self, df):
|
145 |
"""Ürün ile ilgili olmayan yorumları filtrele"""
|