Topic Modeling trong Nghiên cứu — Literature Review bằng Machine Learning
Sử dụng trong vault: Paper #02 (Industry 4.0 → 5.0 review, 133 articles)
1. Topic Modeling là gì?
Thuật toán unsupervised machine learning phát hiện chủ đề ẩn (latent topics) trong corpus văn bản lớn — mỗi document là hỗn hợp nhiều topics.
Khác gì systematic review thủ công?
- Thủ công: Đọc → phân loại → chủ quan, chậm, có thể miss patterns
- Topic modeling: Thuật toán → phát hiện tự động → khách quan, nhanh, scalable
2. Thuật toán phổ biến
LDA (Latent Dirichlet Allocation) — phổ biến nhất
- Mỗi document = hỗn hợp topics (VD: 40% topic A + 30% topic B + 30% topic C)
- Mỗi topic = phân phối xác suất trên từ vựng (VD: topic A = {supply chain: 0.15, risk: 0.12, disruption: 0.08, …})
- Hyperparameter: Số topics k (cần chọn trước)
Alternatives
| Thuật toán | Khi nào dùng |
|---|---|
| LDA | Mặc định, phổ biến nhất |
| BERTopic | Dùng transformer embeddings → tốt hơn cho văn bản ngắn |
| STM (Structural Topic Model) | Khi muốn thêm metadata (năm, journal) vào model |
| NMF | Khi muốn topics rõ ràng hơn (non-overlapping) |
3. Quy trình thực hiện
1. THU THẬP DỮ LIỆU
• Database: Scopus, WoS, hoặc cả hai (Paper #02: Scopus + WoS)
• Search query: keywords + boolean operators
• Số lượng: > 50 bài (Paper #02: 133 bài)
└──→ Export: title, abstract, keywords, full text (nếu có)
2. TIỀN XỬ LÝ TEXT
• Lowercase
• Loại stopwords (the, is, and...)
• Stemming/Lemmatization (running → run)
• Loại từ quá hiếm hoặc quá phổ biến
• Tạo Document-Term Matrix (DTM)
3. CHỌN SỐ TOPICS (k)
• Coherence score: chọn k có coherence cao nhất
• Perplexity: chọn k có perplexity thấp nhất
• Thực tế: thử k = 3, 5, 7, 10, 15 → chọn interpretable nhất
• Paper #02: 4 topics
4. CHẠY MODEL
• Tool: Python (gensim, scikit-learn), R (topicmodels)
• Iterations: ≥ 1,000
5. DIỄN GIẢI & ĐẶT TÊN
• Xem top-10 words mỗi topic
• Đọc representative documents
• Đặt tên có ý nghĩa (VD: "Digital Transformation in Logistics")
• ← Bước quan trọng nhất, đòi hỏi domain expertise
6. PHÂN TÍCH XU HƯỚNG
• Topic prevalence over time → topic nào tăng/giảm?
• Topic co-occurrence → topic nào hay đi cùng nhau?
• Research gaps → topic nào thiếu nghiên cứu?
4. Cách viết trong paper
Section 3: Methodology
3.1 Data Collection
"A total of 133 articles were retrieved from Scopus and
Web of Science using the search string: [keywords].
Inclusion criteria: [year range, language, document type]."
3.2 Text Preprocessing
"Abstracts and titles were processed using [tool].
Stopwords were removed, and stemming was applied."
3.3 Topic Modeling
"Latent Dirichlet Allocation (LDA) was applied with k=4 topics,
selected based on coherence score optimization. The model
was trained with 2,000 iterations."
Section 4: Results
4.1 Topic Identification
"Four latent topics emerged from the analysis:
Topic 1: [Name] (top words: ..., prevalence: X%)
Topic 2: [Name] (top words: ..., prevalence: X%)
..."
4.2 Temporal Trends
"Topic 4 (Human-Centric Operations) shows the lowest
prevalence, indicating a significant research gap."
5. Lỗi phổ biến cần tránh
- Chọn k tùy ý — phải justify bằng coherence score hoặc perplexity
- Không report preprocessing steps — reviewer cần biết bạn làm gì với text
- Diễn giải topic chỉ dựa trên top words — phải đọc representative documents
- Claim topic modeling = comprehensive review — nó bổ sung, không thay thế đọc kỹ papers
- Quên temporal analysis — topic modeling + trend analysis → phát hiện emerging topics