Update app.py
Browse files
app.py
CHANGED
|
@@ -73,10 +73,10 @@ def analyze_article_sentiment(article):
|
|
| 73 |
def calculate_time_weight(article_date_str):
|
| 74 |
"""
|
| 75 |
๊ธฐ์ฌ ์๊ฐ ๊ธฐ์ค์ผ๋ก ๊ฐ์ค์น ๊ณ์ฐ
|
| 76 |
-
- 1
|
| 77 |
-
- 1
|
| 78 |
-
- 10์๊ฐ ์
|
| 79 |
-
- 24์๊ฐ
|
| 80 |
"""
|
| 81 |
try:
|
| 82 |
# ๊ธฐ์ฌ ๋ ์ง ๋ฌธ์์ด ํ์ฑ (๋ค์ํ ํ์ ์ฒ๋ฆฌ)
|
|
@@ -110,9 +110,11 @@ def calculate_time_weight(article_date_str):
|
|
| 110 |
hours_diff = (now - parsed_date).total_seconds() / 3600
|
| 111 |
|
| 112 |
# 24์๊ฐ ์ด๋ด์ธ ๊ฒฝ์ฐ๋ง ๊ณ ๋ ค
|
| 113 |
-
if hours_diff
|
| 114 |
-
|
| 115 |
-
|
|
|
|
|
|
|
| 116 |
else:
|
| 117 |
return 0.01 # 24์๊ฐ ์ด์ ์ง๋ ๊ธฐ์ฌ๋ 1% ๊ฐ์ค์น
|
| 118 |
except Exception as e:
|
|
@@ -125,6 +127,11 @@ def calculate_sentiment_score(sentiment_label, time_weight):
|
|
| 125 |
- positive: +3์
|
| 126 |
- neutral: 0์
|
| 127 |
- negative: -3์
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 128 |
"""
|
| 129 |
base_score = {
|
| 130 |
'positive': 3,
|
|
|
|
| 73 |
def calculate_time_weight(article_date_str):
|
| 74 |
"""
|
| 75 |
๊ธฐ์ฌ ์๊ฐ ๊ธฐ์ค์ผ๋ก ๊ฐ์ค์น ๊ณ์ฐ
|
| 76 |
+
- 1์๊ฐ ๋ด ๊ธฐ์ฌ๋ 24% ๊ฐ์ค์น
|
| 77 |
+
- ์๊ฐ์ด ์ง๋ ์๋ก 1%์ฉ ๊ฐ์ (์ต์ 1%)
|
| 78 |
+
- ์: 1์๊ฐ ๋ด ๊ธฐ์ฌ = 24%, 10์๊ฐ ์ ๊ธฐ์ฌ = 15%, 24์๊ฐ ์ ๊ธฐ์ฌ = 1%
|
| 79 |
+
- 24์๊ฐ ์ด์์ด๋ฉด 1%๋ก ๊ณ ์
|
| 80 |
"""
|
| 81 |
try:
|
| 82 |
# ๊ธฐ์ฌ ๋ ์ง ๋ฌธ์์ด ํ์ฑ (๋ค์ํ ํ์ ์ฒ๋ฆฌ)
|
|
|
|
| 110 |
hours_diff = (now - parsed_date).total_seconds() / 3600
|
| 111 |
|
| 112 |
# 24์๊ฐ ์ด๋ด์ธ ๊ฒฝ์ฐ๋ง ๊ณ ๋ ค
|
| 113 |
+
if hours_diff < 1: # 1์๊ฐ ์ด๋ด
|
| 114 |
+
return 0.24 # 24% ๊ฐ์ค์น
|
| 115 |
+
elif hours_diff < 24: # 1~23์๊ฐ
|
| 116 |
+
# 1์๊ฐ๋น 1%์ฉ ๊ฐ์ (1์๊ฐ = 24%, 2์๊ฐ = 23%, ...)
|
| 117 |
+
return max(0.01, 0.24 - ((hours_diff - 1) * 0.01))
|
| 118 |
else:
|
| 119 |
return 0.01 # 24์๊ฐ ์ด์ ์ง๋ ๊ธฐ์ฌ๋ 1% ๊ฐ์ค์น
|
| 120 |
except Exception as e:
|
|
|
|
| 127 |
- positive: +3์
|
| 128 |
- neutral: 0์
|
| 129 |
- negative: -3์
|
| 130 |
+
|
| 131 |
+
์๊ฐ ๊ฐ์ค์น๋ ๋ฐฑ๋ถ์จ๋ก ์ ์ฉ (๊ธฐ๋ณธ ์ ์์ ๊ฐ์ค์น % ๋งํผ ์ถ๊ฐ)
|
| 132 |
+
์:
|
| 133 |
+
- 1์๊ฐ ๋ด ๊ธ์ ๊ธฐ์ฌ: 3์ + (3 * 24%) = 3 + 0.72 = 3.72์
|
| 134 |
+
- 10์๊ฐ ์ ๋ถ์ ๊ธฐ์ฌ: -3์ + (-3 * 15%) = -3 - 0.45 = -3.45์
|
| 135 |
"""
|
| 136 |
base_score = {
|
| 137 |
'positive': 3,
|