enesmanan commited on
Commit
22d9d31
·
verified ·
1 Parent(s): bf80e33

Upload 5 files

Browse files
Files changed (2) hide show
  1. app.py +41 -14
  2. scripts/review_summarizer.py +20 -10
app.py CHANGED
@@ -6,29 +6,56 @@ import plotly.express as px
6
  import plotly.graph_objects as go
7
  import os
8
  import subprocess
 
 
 
 
 
9
 
10
  def setup_chrome():
11
  """Chrome ve ChromeDriver kurulumu"""
12
  try:
13
- # Chrome kurulumu
14
- os.system('apt-get update')
15
- os.system('apt-get install -y wget unzip')
16
- os.system('wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add -')
17
- os.system('echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google-chrome.list')
18
- os.system('apt-get update')
19
- os.system('apt-get install -y google-chrome-stable')
 
 
 
 
 
 
 
 
 
20
 
21
  # ChromeDriver kurulumu
22
  chrome_version = subprocess.check_output(['google-chrome', '--version']).decode().strip().split()[2].split('.')[0]
23
- os.system(f'wget -q "https://chromedriver.storage.googleapis.com/LATEST_RELEASE_{chrome_version}" -O chrome_version')
24
- os.system(f'wget -q "https://chromedriver.storage.googleapis.com/$(cat chrome_version)/chromedriver_linux64.zip"')
25
- os.system('unzip chromedriver_linux64.zip')
26
- os.system('mv chromedriver /usr/local/bin/')
27
- os.system('chmod +x /usr/local/bin/chromedriver')
28
- print("Chrome ve ChromeDriver başarıyla kuruldu!")
 
 
 
 
 
 
 
 
 
 
 
 
29
 
30
  except Exception as e:
31
- print(f"Chrome kurulumunda hata: {str(e)}")
 
32
 
33
  class ReviewAnalysisApp:
34
  def __init__(self):
 
6
  import plotly.graph_objects as go
7
  import os
8
  import subprocess
9
+ import logging
10
+
11
+ # Logging ayarları
12
+ logging.basicConfig(level=logging.INFO)
13
+ logger = logging.getLogger(__name__)
14
 
15
  def setup_chrome():
16
  """Chrome ve ChromeDriver kurulumu"""
17
  try:
18
+ # Chrome kurulumu komutları
19
+ commands = [
20
+ 'apt-get update',
21
+ 'apt-get install -y wget unzip',
22
+ 'wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add -',
23
+ 'echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google-chrome.list',
24
+ 'apt-get update',
25
+ 'apt-get install -y google-chrome-stable'
26
+ ]
27
+
28
+ for cmd in commands:
29
+ logger.info(f"Executing: {cmd}")
30
+ result = os.system(cmd)
31
+ if result != 0:
32
+ logger.error(f"Command failed: {cmd}")
33
+ raise Exception(f"Command failed: {cmd}")
34
 
35
  # ChromeDriver kurulumu
36
  chrome_version = subprocess.check_output(['google-chrome', '--version']).decode().strip().split()[2].split('.')[0]
37
+ logger.info(f"Detected Chrome version: {chrome_version}")
38
+
39
+ driver_commands = [
40
+ f'wget -q "https://chromedriver.storage.googleapis.com/LATEST_RELEASE_{chrome_version}" -O chrome_version',
41
+ f'wget -q "https://chromedriver.storage.googleapis.com/$(cat chrome_version)/chromedriver_linux64.zip"',
42
+ 'unzip chromedriver_linux64.zip',
43
+ 'mv chromedriver /usr/local/bin/',
44
+ 'chmod +x /usr/local/bin/chromedriver'
45
+ ]
46
+
47
+ for cmd in driver_commands:
48
+ logger.info(f"Executing: {cmd}")
49
+ result = os.system(cmd)
50
+ if result != 0:
51
+ logger.error(f"Command failed: {cmd}")
52
+ raise Exception(f"Command failed: {cmd}")
53
+
54
+ logger.info("Chrome ve ChromeDriver başarıyla kuruldu!")
55
 
56
  except Exception as e:
57
+ logger.error(f"Chrome kurulumunda hata: {str(e)}")
58
+ raise
59
 
60
  class ReviewAnalysisApp:
61
  def __init__(self):
scripts/review_summarizer.py CHANGED
@@ -1,11 +1,8 @@
1
  import pandas as pd
2
  import numpy as np
3
- import matplotlib.pyplot as plt
4
- import seaborn as sns
5
  from transformers import (
6
  AutoTokenizer,
7
- AutoModelForSequenceClassification,
8
- pipeline
9
  )
10
  import torch
11
  import os
@@ -13,16 +10,19 @@ import requests
13
  from collections import Counter
14
  import warnings
15
  from nltk.tokenize import word_tokenize
16
- from nltk.util import ngrams
17
  import nltk
18
- from wordcloud import WordCloud
19
  import re
20
  import google.generativeai as genai
21
  from dotenv import load_dotenv
 
22
  warnings.filterwarnings('ignore')
23
 
24
- nltk.download('stopwords')
25
- nltk.download('punkt')
 
 
 
 
26
 
27
  class ReviewAnalyzer:
28
  def __init__(self):
@@ -225,8 +225,18 @@ class ReviewAnalyzer:
225
 
226
  def analyze_reviews(self, df):
227
  """Tüm yorumları analiz et"""
228
- # Mevcut analiz fonksiyonu aynen kalabilir
229
- pass
 
 
 
 
 
 
 
 
 
 
230
 
231
  def analyze_reviews(file_path):
232
  df = pd.read_csv(file_path)
 
1
  import pandas as pd
2
  import numpy as np
 
 
3
  from transformers import (
4
  AutoTokenizer,
5
+ AutoModelForSequenceClassification
 
6
  )
7
  import torch
8
  import os
 
10
  from collections import Counter
11
  import warnings
12
  from nltk.tokenize import word_tokenize
 
13
  import nltk
 
14
  import re
15
  import google.generativeai as genai
16
  from dotenv import load_dotenv
17
+
18
  warnings.filterwarnings('ignore')
19
 
20
+ # NLTK indirmelerini try-except bloğuna alalım
21
+ try:
22
+ nltk.download('stopwords', quiet=True)
23
+ nltk.download('punkt', quiet=True)
24
+ except:
25
+ print("NLTK dosyaları indirilemedi, devam ediliyor...")
26
 
27
  class ReviewAnalyzer:
28
  def __init__(self):
 
225
 
226
  def analyze_reviews(self, df):
227
  """Tüm yorumları analiz et"""
228
+ try:
229
+ # Yorumları filtrele
230
+ filtered_df = self.filter_reviews(df)
231
+
232
+ # Sentiment analizi yap
233
+ analyzed_df = self.analyze_sentiment(filtered_df)
234
+
235
+ return analyzed_df
236
+
237
+ except Exception as e:
238
+ print(f"Analiz sırasında hata oluştu: {str(e)}")
239
+ return pd.DataFrame()
240
 
241
  def analyze_reviews(file_path):
242
  df = pd.read_csv(file_path)