"Melacak hantu ide: Ketika pemikiran dari masa lalu tiba-tiba menjadi solusi masa depan."
L-KDI adalah pustaka Python open-source untuk mendeteksi fenomena "Sleeping Beauties" dalam literatur ilmiahβmakalah yang awalnya terabaikan lalu menjadi sangat berpengaruh setelah masa dormansi panjang. Library ini menghitung Revival Impact Factor (RIF) dan menganalisis pola difusi pengetahuan melalui graf sitasi temporal.
- π Deteksi Otomatis Kebangkitan Ide: Identifikasi makalah dengan periode dormansi diikuti lonjakan sitasi
- π Metrik L-KDI & RIF: Kuantifikasi dampak tertunda (delayed impact) dalam sains
- πΈοΈ Analisis Graf Sitasi Temporal: Bangun dan analisis jaringan sitasi dengan bobot waktu
- π Integrasi Data Multi-Sumber: Fetch data dari OpenAlex API dan Semantic Scholar
- π§ Ekstraksi Konsep Kunci: NLP-powered extraction untuk identifikasi ide yang di-revive
- π Visualisasi Timeline: Dashboard Streamlit untuk eksplorasi interaktif
Banyak terobosan ilmiah sebenarnya merupakan rediscovery dari konsep lama:
- Backpropagation (1974 β 1986 β 2010s)
- Convolutional Neural Networks (1980s β 2012)
- Attention Mechanism (2014 β 2017)
Metrik tradisional tidak menangkap delayed impact ini. L-KDI mengisi celah tersebut dengan mengukur:
- Diffusion Distance: Seberapa jauh konsep bergerak melintasi ruang ilmu
- Latency Time: Durasi periode dormansi sebelum kebangkitan
- Breakthrough Score: Sejauh mana karya mendobrak batasan bidang
- Python 3.9 atau lebih tinggi
- pip (Python package manager)
- Git
# 1. Clone repository
git clone https://github.com/stipwunaraha/latent-knowledge-diffusion-index.git
cd latent-knowledge-diffusion-index
# 2. Buat virtual environment (direkomendasikan)
python -m venv venv
# 3. Aktifkan virtual environment
# Linux/Mac:
source venv/bin/activate
# Windows:
# venv\Scripts\activate
# 4. Install semua dependensi
pip install -r requirements.txt
# 5. Verifikasi instalasi dengan menjalankan test suite
python -m pytest tests/ -vβ Jika semua 32 test lulus, library siap digunakan!
from lkdi import RevivalDetector
# Inisialisasi detector dengan sumber data OpenAlex
detector = RevivalDetector(data_source="openalex")
# Analisis makalah seminal Backpropagation (Rumelhart et al., 1986)
result = detector.analyze(doi="10.1038/323533a0")
print(f"π Revival Impact Factor (RIF): {result.rif_score:.2f}")
print(f"β³ Periode Dormansi: {result.dormant_period}")
print(f"π‘ Konsep yang di-revive: {result.key_concepts}")
print(f"π Total Sitasi: {result.total_citations}")from lkdi import CitationGraphBuilder
# Inisialisasi builder
builder = CitationGraphBuilder()
# Tambahkan paper ke graf
builder.add_paper("paper_1", year=1980, title="Early Neural Nets")
builder.add_paper("paper_2", year=1986, title="Learning Representations")
builder.add_paper("paper_3", year=2012, title="Deep Learning Revolution")
# Tambahkan edge sitasi
builder.add_edge("paper_2", "paper_1", weight=0.8) # paper_2 sitasi paper_1
builder.add_edge("paper_3", "paper_2", weight=0.9)
# Bangun graf
graph = builder.build()
# Hitung centrality metrics
centralities = builder.compute_centrality(graph)
print(f"PageRank scores: {centralities['pagerank']}")from lkdi.metrics import detect_dormancy, calculate_rif, diffusion_distance
# Timeline sitasi per tahun
citations = [2, 1, 0, 1, 0, 0, 1, 2, 15, 45, 120, 300]
# Deteksi periode dormansi
dormant = detect_dormancy(citations, min_years=5)
print(f"Dormant period: {dormant}")
# Hitung RIF score
rif = calculate_rif(citations)
print(f"RIF Score: {rif}")latent-knowledge-diffusion-index/
βββ lkdi/ # Package utama
β βββ __init__.py # Export modul publik
β βββ metrics.py # Fungsi metrik inti (RIF, dormancy, dll)
β βββ graph_builder.py # Class CitationGraphBuilder
β βββ detector.py # Class RevivalDetector
βββ tests/ # Test suite
β βββ conftest.py # Konfigurasi pytest
β βββ test_metrics.py # Test fungsi metrik
β βββ test_graph_builder.py # Test graph builder
β βββ test_detector.py # Test detector
βββ requirements.txt # Daftar dependensi
βββ INSTALLATION.md # Panduan instalasi detail
βββ SETUP_LOCALHOST.md # Setup localhost cepat
βββ README.md # Dokumentasi ini
Jalankan seluruh test suite:
# Semua test dengan verbose output
python -m pytest tests/ -v
# Dengan coverage report
python -m pytest tests/ --cov=lkdi --cov-report=html
# Test spesifik
python -m pytest tests/test_metrics.py -vRepository ini menyertakan tools untuk development:
- Black: Code formatting (
black lkdi/ tests/) - Flake8: Linting (
flake8 lkdi/ tests/) - Pytest: Testing framework dengan coverage
- Streamlit: Dashboard visualisasi (opsional)
- INSTALLATION.md: Panduan instalasi detail dengan troubleshooting
- SETUP_LOCALHOST.md: Setup cepat untuk pengembangan localhost
- Docstrings: Setiap fungsi dan class memiliki docstring lengkap
| Masalah | Solusi |
|---|---|
ModuleNotFoundError |
Pastikan virtual environment aktif dan pip install -r requirements.txt sudah dijalankan |
| Gagal install dependency | Coba upgrade pip: pip install --upgrade pip |
| Timeout API OpenAlex | Periksa koneksi internet atau gunakan mode offline dengan data lokal |
| Test gagal | Pastikan versi Python β₯ 3.9 |
Untuk panduan troubleshooting lengkap, lihat INSTALLATION.md.
- β Implementasi core metrics (RIF, dormancy detection)
- β Graph builder dengan NetworkX
- β RevivalDetector dengan OpenAlex integration
- β Test suite lengkap (32 tests)
- Visualisasi timeline interaktif dengan Streamlit
- Support multiple data sources (Crossref, PubMed)
- CLI interface untuk analisis batch
- Pre-trained models untuk ekstraksi konsep
- Dashboard web untuk eksplorasi data
Kami menyambut kontribusi! Cara berkontribusi:
- Fork repository ini
- Buat branch fitur (
git checkout -b feature/amazing-feature) - Commit perubahan (
git commit -m 'Add amazing feature') - Push ke branch (
git push origin feature/amazing-feature) - Buka Pull Request
Lihat Issues untuk task yang bisa dikerjakan.
- Gunakan Black untuk formatting
- Jalankan Flake8 untuk linting
- Pastikan semua test lulus sebelum submit PR
- Tambahkan test untuk fitur baru
Distributed under the MIT License. Lihat LICENSE untuk detail.
- OpenAlex - Sumber data bibliografik terbuka
- Semantic Scholar - API pencarian akademik
- NetworkX - Library graf Python
- Konsep "Sleeping Beauties" dari ilmuometri
- Repository: GitHub
- Issues: Laporkan bug atau request fitur
Dibuat dengan β€οΈ untuk komunitas riset terbuka