Krish Patel commited on
Commit
116a946
Β·
1 Parent(s): 7a8ca1c
Files changed (2) hide show
  1. app.py +56 -37
  2. final.py +1 -1
app.py CHANGED
@@ -165,44 +165,63 @@ def main():
165
 
166
  # Detailed analysis sections
167
  with st.expander("View Detailed Analysis"):
168
- try:
169
- # Text Classification
170
- st.subheader("πŸ“ Text Classification")
171
- text_class = gemini_result.get('text_classification', {})
172
- st.write(f"Category: {text_class.get('category', 'N/A')}")
173
- st.write(f"Writing Style: {text_class.get('writing_style', 'N/A')}")
174
- st.write(f"Target Audience: {text_class.get('target_audience', 'N/A')}")
175
- st.write(f"Content Type: {text_class.get('content_type', 'N/A')}")
176
-
177
- # Sentiment Analysis
178
- st.subheader("🎭 Sentiment Analysis")
179
- sentiment = gemini_result.get('sentiment_analysis', {})
180
- st.write(f"Primary Emotion: {sentiment.get('primary_emotion', 'N/A')}")
181
- st.write(f"Emotional Intensity: {sentiment.get('emotional_intensity', 'N/A')}/10")
182
- st.write(f"Sensationalism Level: {sentiment.get('sensationalism_level', 'N/A')}")
183
-
184
- # Entity Recognition
185
- st.subheader("πŸ” Entity Recognition")
186
- entities = gemini_result.get('entity_recognition', {})
187
- st.write(f"Source Credibility: {entities.get('source_credibility', 'N/A')}")
188
- st.write("Key People:", ", ".join(entities.get('people', ['N/A'])))
189
- st.write("Organizations:", ", ".join(entities.get('organizations', ['N/A'])))
190
-
191
- # Context & Claims
192
- st.subheader("πŸ“Š Context & Claims")
193
- context = gemini_result.get('context', {})
194
- st.write("Main Narrative:", context.get('main_narrative', 'N/A'))
195
- st.write("Key Claims:")
196
- for claim in gemini_result.get('fact_checking', {}).get('verifiable_claims', ['N/A']):
197
- st.write(f"β€’ {claim}")
198
-
199
- # Reasoning
200
- st.subheader("πŸ’­ Analysis Reasoning")
201
- for point in gemini_result.get('gemini_analysis', {}).get('reasoning', ['N/A']):
202
- st.write(f"β€’ {point}")
203
 
204
- except Exception as e:
205
- st.error("Error processing Gemini analysis results")
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
206
 
207
 
208
  with st.expander("Named Entities"):
 
165
 
166
  # Detailed analysis sections
167
  with st.expander("View Detailed Analysis"):
168
+ with st.expander("View Detailed Analysis"):
169
+ try:
170
+ # Text Classification
171
+ st.subheader("πŸ“ Text Classification")
172
+ text_class = gemini_result.get('text_classification', {})
173
+ st.write(f"Category: {text_class.get('category', 'N/A')}")
174
+ st.write(f"Writing Style: {text_class.get('writing_style', 'N/A')}")
175
+ st.write(f"Target Audience: {text_class.get('target_audience', 'N/A')}")
176
+ st.write(f"Content Type: {text_class.get('content_type', 'N/A')}")
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
177
 
178
+ # Sentiment Analysis
179
+ st.subheader("🎭 Sentiment Analysis")
180
+ sentiment = gemini_result.get('sentiment_analysis', {})
181
+ st.write(f"Primary Emotion: {sentiment.get('primary_emotion', 'N/A')}")
182
+ st.write(f"Emotional Intensity: {sentiment.get('emotional_intensity', 'N/A')}/10")
183
+ st.write(f"Sensationalism Level: {sentiment.get('sensationalism_level', 'N/A')}")
184
+ st.write("Bias Indicators:", ", ".join(sentiment.get('bias_indicators', ['N/A'])))
185
+
186
+ tone = sentiment.get('tone', {})
187
+ st.write(f"Tone Formality: {tone.get('formality', 'N/A')}")
188
+ st.write(f"Tone Style: {tone.get('style', 'N/A')}")
189
+ st.write("Emotional Triggers:", ", ".join(sentiment.get('emotional_triggers', ['N/A'])))
190
+
191
+ # Entity Recognition
192
+ st.subheader("πŸ” Entity Recognition")
193
+ entities = gemini_result.get('entity_recognition', {})
194
+ st.write(f"Source Credibility: {entities.get('source_credibility', 'N/A')}")
195
+ st.write("People:", ", ".join(entities.get('people', ['N/A'])))
196
+ st.write("Organizations:", ", ".join(entities.get('organizations', ['N/A'])))
197
+ st.write("Locations:", ", ".join(entities.get('locations', ['N/A'])))
198
+ st.write("Dates:", ", ".join(entities.get('dates', ['N/A'])))
199
+ st.write("Statistics:", ", ".join(entities.get('statistics', ['N/A'])))
200
+
201
+ # Context
202
+ st.subheader("πŸ“° Context")
203
+ context = gemini_result.get('context', {})
204
+ st.write("Main Narrative:", context.get('main_narrative', 'N/A'))
205
+ st.write("Supporting Elements:", ", ".join(context.get('supporting_elements', ['N/A'])))
206
+ st.write("Key Claims:", ", ".join(context.get('key_claims', ['N/A'])))
207
+ st.write("Narrative Structure:", context.get('narrative_structure', 'N/A'))
208
+
209
+ # Fact Checking
210
+ st.subheader("βœ”οΈ Fact Checking")
211
+ fact_check = gemini_result.get('fact_checking', {})
212
+ st.write("Verifiable Claims:")
213
+ for claim in fact_check.get('verifiable_claims', ['N/A']):
214
+ st.write(f"β€’ {claim}")
215
+ st.write(f"Evidence Present: {fact_check.get('evidence_present', 'N/A')}")
216
+ st.write(f"Fact Check Score: {fact_check.get('fact_check_score', 'N/A')}/100")
217
+
218
+ # Analysis Reasoning
219
+ st.subheader("πŸ’­ Analysis Reasoning")
220
+ for point in gemini_result.get('gemini_analysis', {}).get('reasoning', ['N/A']):
221
+ st.write(f"β€’ {point}")
222
+
223
+ except Exception as e:
224
+ st.error("Error processing Gemini analysis results")
225
 
226
 
227
  with st.expander("Named Entities"):
final.py CHANGED
@@ -146,7 +146,7 @@ def predict_with_knowledge_graph(text, knowledge_graph, nlp):
146
 
147
  def analyze_content_gemini(model, text):
148
  """Analyze content using Gemini model"""
149
- prompt = f"""Analyze this news text and return a JSON object with the following structure:
150
  {{
151
  "gemini_analysis": {{
152
  "predicted_classification": "Real or Fake",
 
146
 
147
  def analyze_content_gemini(model, text):
148
  """Analyze content using Gemini model"""
149
+ prompt = f"""Analyze this news text and return a JSON object with the following exact structure:
150
  {{
151
  "gemini_analysis": {{
152
  "predicted_classification": "Real or Fake",