Reddit AI Trend Reports: Công cụ phân tích xu hướng chủ đề AI trên Reddit
Reddit AI Trend Reports là dự án Python mã nguồn mở giúp bạn tự động theo dõi và phân tích xu hướng thảo luận về trí tuệ nhân tạo (AI) trong cộng đồng Reddit. Công cụ có thể thu thập bài viết từ các subreddit do bạn chỉ định, tóm tắt nội dung, phân tích cảm xúc, nhận diện từ khóa nổi bật và tạo nhiều biểu đồ trực quan để bạn nhìn nhanh được chủ đề đang “nóng” và cảm xúc của cộng đồng. Rất phù hợp cho nhà nghiên cứu AI, chuyên viên phân tích thị trường, hay bất kỳ ai quan tâm tới chủ đề AI trên Reddit.
Danh sách tính năng
- Thu thập bài viết Reddit: Lấy bài mới hoặc bài nổi bật từ các subreddit bạn chỉ định (ví dụ:
r/MachineLearning
,r/StableDiffusion
,r/ChatGPT
…). - Lọc theo từ khóa: Lọc bài đã thu thập dựa trên danh sách từ khóa do bạn cấu hình, giữ lại nội dung phù hợp.
- Phân tích cảm xúc: Đánh giá tự động tiêu đề và nội dung bài đăng để xác định thái độ tích cực, tiêu cực hay trung lập của cộng đồng với chủ đề AI cụ thể.
- Tóm tắt nội dung bài: Dùng mô hình ngôn ngữ lớn (LLM) để rút gọn ý chính của bài viết.
- Hỗ trợ OpenAI API (ví dụ các model GPT-3.5).
- Hỗ trợ các model từ Hugging Face để tóm tắt bằng mô hình mã nguồn mở.
- Nhận diện từ khóa “hot”: Phân tích nội dung để phát hiện từ khóa và xu hướng AI đang nổi bật trên Reddit.
- Trực quan hóa dữ liệu: Dùng thư viện
LIDA
để tự động tạo biểu đồ (cột, đường, scatter, word cloud…) hỗ trợ đọc hiểu dữ liệu trực quan. - Xuất kết quả: Lưu dữ liệu thô, bản tóm tắt và điểm cảm xúc ra CSV/JSON; biểu đồ được lưu dưới dạng ảnh.
Hướng dẫn sử dụng
Reddit AI Trend Reports chạy trên dòng lệnh (CLI) bằng Python, vì vậy bạn nên có kiến thức cơ bản về môi trường Python và terminal.
Bước 1: Chuẩn bị môi trường & cài đặt
1. Clone mã nguồn từ GitHub
git clone https://github.com/liyedanpdx/reddit-ai-trends.git
cd reddit-ai-trends
2. Tạo & kích hoạt môi trường ảo
python -m venv venv
macOS/Linux:
source venv/bin/activate
Windows:
.\venv\Scripts\activate
3. Cài dependencies
pip install -r requirements.txt
4. Lấy thông tin API
- Reddit API (PRAW): vào trang nhà phát triển Reddit > tạo ứng dụng loại
script
> điền tên/ mô tả > redirect uri đặthttp://localhost:8080
> tạo xong sẽ cóclient_id
,client_secret
và tự đặtuser_agent
(ví dụ:RedditAITrendsTracker by u/YourRedditUsername
). - LLM API:
- OpenAI API Key nếu dùng GPT để tóm tắt.
- Hugging Face API Token nếu dùng model từ Hugging Face.
5. Thiết lập biến môi trường bằng file .env
trong thư mục gốc dự án:
# Reddit API
REDDIT_CLIENT_ID='Client ID của bạn'
REDDIT_CLIENT_SECRET='Client Secret của bạn'
REDDIT_USER_AGENT='User Agent của bạn'
REDDIT_USERNAME='Tên người dùng Reddit'
REDDIT_PASSWORD='Mật khẩu Reddit' # Nếu không cần post, có thể bỏ qua password
# LLM API (chọn 1 hoặc cấu hình cả hai)
OPENAI_API_KEY='OpenAI API Key'
HUGGINGFACE_API_TOKEN='Hugging Face API Token'
Bước 2: Chạy công cụ
1. Lệnh cơ bản
python main.py --subreddits MachineLearning
Lấy bài từ r/MachineLearning
theo số lượng mặc định mà chưa bật tóm tắt, cảm xúc hay vẽ biểu đồ.
2. Luồng chức năng chính
- Lấy & lọc bài
python main.py --subreddits MachineLearning,StableDiffusion \
--keywords "LLM,GPT-4,Diffusion" --limit 50
Thu thập tối đa 50 bài từ r/MachineLearning
và r/StableDiffusion
có chứa các từ khóa “LLM”, “GPT-4” hoặc “Diffusion”.
- Phân tích cảm xúc
python main.py --subreddits ChatGPT --limit 20 --sentiment_analysis
Gán điểm cảm xúc cho 20 bài từ r/ChatGPT
.
- Tóm tắt nội dung
Dùng tham số --summarize_posts
và chọn backend qua --llm_backend
(openai
hoặc huggingface
), đồng thời chỉ định --model_name
:
OpenAI:
python main.py --subreddits MachineLearning --limit 10 \
--summarize_posts --llm_backend openai --model_name gpt-3.5-turbo \
--summary_length 50
Hugging Face:
python main.py --subreddits StableDiffusion --limit 10 \
--summarize_posts --llm_backend huggingface \
--model_name facebook/bart-large-cnn --summary_length 100
- Trực quan hóa dữ liệu
python main.py --subreddits ChatGPT,MachineLearning --limit 100 \
--visualize_data --output_dir my_results
Lệnh trên sẽ vừa thu thập dữ liệu, vừa sinh biểu đồ và lưu trong thư mục my_results
.
- Chỉ định thư mục xuất
python main.py --subreddits AITech --limit 30 --output_dir AI_Reports \
--summarize_posts --visualize_data
Tất cả file CSV/JSON và ảnh biểu đồ sẽ nằm trong AI_Reports
.
Tham số dòng lệnh
--subreddits
(bắt buộc): Danh sách subreddit, phân tách bằng dấu phẩy.--keywords
(tùy chọn): Danh sách từ khóa lọc bài, phân tách bằng dấu phẩy.--limit
(tùy chọn): Số bài tối đa cần thu thập, mặc định 50.--llm_backend
(tùy chọn): Chọn backend LLM (openai
hoặchuggingface
) khi bật--summarize_posts
.--model_name
(tùy chọn): Tên model LLM, ví dụgpt-3.5-turbo
hoặcfacebook/bart-large-cnn
.--summary_length
(tùy chọn): Độ dài bản tóm tắt (số từ), mặc định 100.--output_dir
(tùy chọn): Thư mục lưu kết quả và biểu đồ, mặc địnhresults
.--sentiment_analysis
(tùy chọn): Bật phân tích cảm xúc.--summarize_posts
(tùy chọn): Bật tóm tắt bài viết.--visualize_data
(tùy chọn): Sinh biểu đồ trực quan.
Kết hợp linh hoạt các tham số để cấu hình công cụ đúng nhu cầu của bạn.
Tình huống ứng dụng
- Nhà nghiên cứu AI theo dõi điểm nóng công nghệ: Phân tích bài từ
r/MachineLearning
hoặcr/ArtificialIntelligence
để nắm xu hướng, thuật toán nổi bật, kết quả nghiên cứu mới và điều chỉnh hướng nghiên cứu. - Chuyên viên thị trường đọc vị cảm xúc người dùng: Theo dõi
r/ChatGPT
hoặc cộng đồng sản phẩm AI cụ thể; dùng phân tích cảm xúc để hiểu phản hồi với tính năng mới, bản cập nhật hay đối thủ, từ đó hỗ trợ chiến lược sản phẩm. - Creator săn chủ đề AI “hot”: Xác định từ khóa và chủ đề đang thịnh hành để tạo nội dung hợp gu độc giả, tăng lượt đọc và tương tác.
- Lập trình viên theo dõi feedback cộng đồng: Giám sát subreddit của framework/công cụ (TensorFlow, PyTorch, Stable Diffusion…) để thu thập issue, yêu cầu tính năng và kinh nghiệm sử dụng nhằm cải thiện sản phẩm.
Hỏi đáp nhanh
1) Làm sao lấy Reddit API?
Vào https://www.reddit.com/prefs/apps/
, tạo app loại script
, điền thông tin cần thiết. Sau khi tạo, bạn sẽ có client_id
, client_secret
và tự đặt user_agent
.
2) Vì sao cần LLM API Key?
Công cụ dùng LLM để tự động tóm tắt nội dung bài Reddit. Nếu bạn muốn dùng GPT của OpenAI hoặc model trên Hugging Face, cần cung cấp API Key/Token tương ứng.
3) Hỗ trợ những model nào để tóm tắt?
Với OpenAI: có thể dùng gpt-3.5-turbo
và các model khác do OpenAI hỗ trợ. Với Hugging Face: dùng các model tóm tắt phù hợp, ví dụ facebook/bart-large-cnn
. Chỉ định qua tham số dòng lệnh --model_name
.
4) Chỉ định nhiều subreddit hoặc từ khóa thế nào?
Dùng --subreddits
hoặc --keywords
với danh sách cách nhau bằng dấu phẩy (không có khoảng trắng). Ví dụ: --subreddits MachineLearning,ChatGPT
hoặc --keywords "LLM,Diffusion"
.
5) Mới dùng Python có chạy được không?
Công cụ chạy trên dòng lệnh nên bạn cần nắm cơ bản về cài môi trường Python, môi trường ảo và cách truyền tham số CLI. Nếu hoàn toàn mới, bạn nên học nhanh phần nền tảng trước khi triển khai.