Spaces:
Configuration error
Configuration error
| 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.") |