project2 / gen_data.py
KiraMeowMeow's picture
Upload 20 files
e4c9a5b verified
import pandas as pd
import random
# =================================================
# KHO TỪ VỰNG "ĐỜI THỰC" (VĨ MÔ, CHIẾN TRANH, CRYPTO)
# =================================================
# 1. Tiêu cực (Bearish) -> Label 0
# Bao gồm: Chiến tranh, Fed tăng lãi, Hack, Sập, Bắt bớ
bearish_texts = [
"Chiến tranh leo thang tại Trung Đông, thị trường tài chính đỏ lửa",
"Căng thẳng địa chính trị khiến nhà đầu tư bán tháo tài sản rủi ro",
"Nga và Ukraine giao tranh dữ dội, chứng khoán và crypto lao dốc",
"Fed quyết định tăng lãi suất thêm 0.5%, dòng tiền rút mạnh",
"Lạm phát đạt đỉnh 40 năm, nguy cơ suy thoái kinh tế toàn cầu",
"Sàn giao dịch lớn bị hack mất 500 triệu USD, niềm tin sụp đổ",
"SEC khởi kiện Binance và Coinbase, giá coin chia đôi",
"Cá voi xả hàng ồ ạt, Bitcoin thủng mốc hỗ trợ quan trọng",
"Geopolitical tensions escalate, investors flee to safety",
"War breaks out, markets tumble globally",
"Fed hikes interest rates, crushing risky assets like crypto",
"Regulatory crackdown on crypto causes panic selling",
"Major exchange insolvent, users cannot withdraw funds"
]
# 2. Tích cực (Bullish) -> Label 1
# Bao gồm: Bơm tiền, Fed giảm lãi, ETF, Công nghệ mới
bullish_texts = [
"Fed ngừng tăng lãi suất, dòng tiền quay trở lại thị trường",
"Lạm phát hạ nhiệt nhanh hơn dự kiến, chứng khoán xanh bát ngát",
"Bitcoin được công nhận là phương tiện thanh toán hợp pháp",
"Quỹ ETF Bitcoin Spot chính thức được phê duyệt, dòng vốn đổ vào ồ ạt",
"Cá voi gom hàng liên tục, dấu hiệu đáy đã được xác lập",
"Elon Musk tweet ủng hộ Dogecoin, giá bay tung nóc",
"Công nghệ blockchain mới giúp giảm phí giao dịch, người dùng hưng phấn",
"Fed signals rate cuts, huge bull run expected",
"Institutional investors are buying the dip aggressively",
"Crypto market recovers strongly after positive economic data",
"New partnership announced, token price skyrockets to the moon"
]
# 3. Trung lập (Neutral) -> Label 2
# Bao gồm: Đi ngang, Chờ tin, Volume thấp
neutral_texts = [
"Thị trường đi ngang chờ tin tức từ cuộc họp FOMC",
"Khối lượng giao dịch thấp kỷ lục, nhà đầu tư lưỡng lự",
"Bitcoin dao động trong biên độ hẹp 29k-30k suốt tuần qua",
"Chưa có xu hướng rõ ràng, phe mua và bán đang giằng co",
"Market awaits key economic data release, trading remains flat",
"Consolidation phase continues, volatility is low",
"Investors are on the sidelines waiting for clarity"
]
# =================================================
# TẠO DỮ LIỆU GIẢ LẬP (2000 MẪU)
# =================================================
data = []
# Tạo 800 mẫu Tiêu cực
for _ in range(800):
data.append([random.choice(bearish_texts), 0])
# Tạo 800 mẫu Tích cực
for _ in range(800):
data.append([random.choice(bullish_texts), 1])
# Tạo 400 mẫu Trung lập (Ít hơn để model bớt trả về Neutral)
for _ in range(400):
data.append([random.choice(neutral_texts), 2])
# Lưu file
df = pd.DataFrame(data, columns=["text", "label"])
df = df.sample(frac=1).reset_index(drop=True) # Trộn ngẫu nhiên
df.to_csv("data_sentiment.csv", index=False, encoding="utf-8-sig")
print(f"✅ Đã tạo xong file 'data_sentiment.csv' với {len(df)} dòng dữ liệu.")
print("👉 Bao gồm cả tin Chiến tranh, Fed, Chính trị và Crypto.")