820nam commited on
Commit
5a80960
ยท
verified ยท
1 Parent(s): 0a4103c

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +13 -4
app.py CHANGED
@@ -52,12 +52,20 @@ def generate_article_gpt4(prompt):
52
  st.error(f"Error generating text: {e}")
53
  return "GPT-4 ํ…์ŠคํŠธ ์ƒ์„ฑ ์‹คํŒจ"
54
 
55
- # ๊ธฐ์‚ฌ ์„ฑํ–ฅ ๋ถ„์„
 
56
  def analyze_article_sentiment(text, classifier):
57
  result = classifier(text[:512]) # ๋„ˆ๋ฌด ๊ธด ํ…์ŠคํŠธ๋Š” ์ž˜๋ผ์„œ ๋ถ„์„
58
  label = result[0]["label"]
59
  score = result[0]["score"]
60
- return label, score
 
 
 
 
 
 
 
61
 
62
  # ์ •์น˜์  ๊ด€์  ๋น„๊ต ๋ฐ ๋ฐ˜๋Œ€ ๊ด€์  ์ƒ์„ฑ
63
  def analyze_news_political_viewpoint(query):
@@ -68,7 +76,7 @@ def analyze_news_political_viewpoint(query):
68
 
69
  classifier = load_sentiment_model()
70
  results = []
71
- sentiment_counts = {"์ง„๋ณด": 0, "๋ณด์ˆ˜": 0, "์ค‘๋ฆฝ": 0}
72
 
73
  for item in news_items:
74
  title = item["title"]
@@ -77,7 +85,7 @@ def analyze_news_political_viewpoint(query):
77
 
78
  # ๊ธฐ์‚ฌ ์„ฑํ–ฅ ๋ถ„์„
79
  sentiment, score = analyze_article_sentiment(combined_text, classifier)
80
- sentiment_counts[sentiment] += 1
81
 
82
  # ๋ฐ˜๋Œ€ ๊ด€์  ๊ธฐ์‚ฌ ์ƒ์„ฑ
83
  opposite_perspective = "๋ณด์ˆ˜์ " if sentiment == "์ง„๋ณด" else "์ง„๋ณด์ "
@@ -94,6 +102,7 @@ def analyze_news_political_viewpoint(query):
94
 
95
  return results, sentiment_counts
96
 
 
97
  # ์„ฑํ–ฅ ๋ถ„ํฌ ์‹œ๊ฐํ™”
98
  def visualize_sentiment_distribution(sentiment_counts):
99
  fig, ax = plt.subplots()
 
52
  st.error(f"Error generating text: {e}")
53
  return "GPT-4 ํ…์ŠคํŠธ ์ƒ์„ฑ ์‹คํŒจ"
54
 
55
+
56
+ # ์ •์น˜ ์„ฑํ–ฅ ๋ถ„์„
57
  def analyze_article_sentiment(text, classifier):
58
  result = classifier(text[:512]) # ๋„ˆ๋ฌด ๊ธด ํ…์ŠคํŠธ๋Š” ์ž˜๋ผ์„œ ๋ถ„์„
59
  label = result[0]["label"]
60
  score = result[0]["score"]
61
+
62
+ # ๋ชจ๋ธ์—์„œ ๋ฐ˜ํ™˜ํ•˜๋Š” ๋ผ๋ฒจ์„ "์ง„๋ณด", "๋ณด์ˆ˜", "์ค‘๋ฆฝ"์œผ๋กœ ๋งคํ•‘
63
+ if label == "LEFT":
64
+ return "์ง„๋ณด", score
65
+ elif label == "RIGHT":
66
+ return "๋ณด์ˆ˜", score
67
+ else:
68
+ return "์ค‘๋ฆฝ", score
69
 
70
  # ์ •์น˜์  ๊ด€์  ๋น„๊ต ๋ฐ ๋ฐ˜๋Œ€ ๊ด€์  ์ƒ์„ฑ
71
  def analyze_news_political_viewpoint(query):
 
76
 
77
  classifier = load_sentiment_model()
78
  results = []
79
+ sentiment_counts = {"์ง„๋ณด": 0, "๋ณด์ˆ˜": 0, "์ค‘๋ฆฝ": 0} # ๋งคํ•‘๋œ ๋ผ๋ฒจ์— ๋งž๊ฒŒ ์ดˆ๊ธฐํ™”
80
 
81
  for item in news_items:
82
  title = item["title"]
 
85
 
86
  # ๊ธฐ์‚ฌ ์„ฑํ–ฅ ๋ถ„์„
87
  sentiment, score = analyze_article_sentiment(combined_text, classifier)
88
+ sentiment_counts[sentiment] += 1 # ๋งคํ•‘๋œ ํ‚ค๋กœ ์นด์šดํŠธ ์ฆ๊ฐ€
89
 
90
  # ๋ฐ˜๋Œ€ ๊ด€์  ๊ธฐ์‚ฌ ์ƒ์„ฑ
91
  opposite_perspective = "๋ณด์ˆ˜์ " if sentiment == "์ง„๋ณด" else "์ง„๋ณด์ "
 
102
 
103
  return results, sentiment_counts
104
 
105
+
106
  # ์„ฑํ–ฅ ๋ถ„ํฌ ์‹œ๊ฐํ™”
107
  def visualize_sentiment_distribution(sentiment_counts):
108
  fig, ax = plt.subplots()