pentarosarium commited on
Commit
a5a84d4
·
1 Parent(s): 301bc6b

minor change

Browse files
Files changed (1) hide show
  1. app.py +25 -8
app.py CHANGED
@@ -86,28 +86,45 @@ def process_file(file):
86
  processed_rows = []
87
 
88
  for _, row in df.iterrows():
89
- text = row['Выдержки из текста']
90
- entity = row['Объект']
91
 
92
  event_type, event_summary = detector.detect_events(text, entity)
93
  sentiment = detector.analyze_sentiment(text)
94
 
95
- processed_row = {
96
  'Объект': entity,
97
- 'Заголовок': row['Заголовок'],
98
  'Sentiment': sentiment,
99
  'Event_Type': event_type,
100
  'Event_Summary': event_summary,
101
  'Текст': text
102
- }
103
- processed_rows.append(processed_row)
104
 
105
  return pd.DataFrame(processed_rows)
106
 
107
  except Exception as e:
108
- return f"Error processing file: {str(e)}"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
109
 
110
  def create_visualizations(df):
 
 
 
111
  # Create sentiment distribution plot
112
  sentiments = df['Sentiment'].value_counts()
113
  fig_sentiment = go.Figure(data=[go.Pie(
@@ -116,7 +133,7 @@ def create_visualizations(df):
116
  marker_colors=['#FF6B6B', '#4ECDC4', '#95A5A6']
117
  )])
118
 
119
- # Create events distribution plot
120
  events = df['Event_Type'].value_counts()
121
  fig_events = go.Figure(data=[go.Bar(
122
  x=events.index,
 
86
  processed_rows = []
87
 
88
  for _, row in df.iterrows():
89
+ text = str(row.get('Выдержки из текста', ''))
90
+ entity = str(row.get('Объект', ''))
91
 
92
  event_type, event_summary = detector.detect_events(text, entity)
93
  sentiment = detector.analyze_sentiment(text)
94
 
95
+ processed_rows.append({
96
  'Объект': entity,
97
+ 'Заголовок': str(row.get('Заголовок', '')),
98
  'Sentiment': sentiment,
99
  'Event_Type': event_type,
100
  'Event_Summary': event_summary,
101
  'Текст': text
102
+ })
 
103
 
104
  return pd.DataFrame(processed_rows)
105
 
106
  except Exception as e:
107
+ # Return empty DataFrame instead of string
108
+ return pd.DataFrame(columns=['Объект', 'Заголовок', 'Sentiment', 'Event_Type', 'Event_Summary', 'Текст'])
109
+
110
+ def analyze(file):
111
+ if file is None:
112
+ return None, None, None
113
+
114
+ df = process_file(file)
115
+ if df.empty:
116
+ return df, None, None
117
+
118
+ try:
119
+ fig_sentiment, fig_events = create_visualizations(df)
120
+ return df, fig_sentiment, fig_events
121
+ except Exception as e:
122
+ return df, None, None
123
 
124
  def create_visualizations(df):
125
+ if df is None or df.empty:
126
+ return None, None
127
+
128
  # Create sentiment distribution plot
129
  sentiments = df['Sentiment'].value_counts()
130
  fig_sentiment = go.Figure(data=[go.Pie(
 
133
  marker_colors=['#FF6B6B', '#4ECDC4', '#95A5A6']
134
  )])
135
 
136
+ # Create events distribution plot
137
  events = df['Event_Type'].value_counts()
138
  fig_events = go.Figure(data=[go.Bar(
139
  x=events.index,