Skip to content

codelumera/lkdi-lib

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

10 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ‘» L-KDI: Latent Knowledge Diffusion Index

License: MIT Python 3.9+ NetworkX Tests

"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.

🎯 Fitur Utama

  • πŸ” 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

πŸ’‘ Mengapa L-KDI?

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:

  1. Diffusion Distance: Seberapa jauh konsep bergerak melintasi ruang ilmu
  2. Latency Time: Durasi periode dormansi sebelum kebangkitan
  3. Breakthrough Score: Sejauh mana karya mendobrak batasan bidang

πŸ“¦ Instalasi Cepat

Prasyarat

  • Python 3.9 atau lebih tinggi
  • pip (Python package manager)
  • Git

Langkah Instalasi (5 Menit)

# 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!

πŸš€ Cara Penggunaan

Contoh 1: Analisis Paper dengan DOI

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}")

Contoh 2: Bangun Graf Sitasi Custom

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']}")

Contoh 3: Gunakan Fungsi Metrik Langsung

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}")

πŸ“ Struktur Repository

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

πŸ§ͺ Pengujian

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 -v

πŸ› οΈ Development Tools

Repository 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)

πŸ“š Dokumentasi Lengkap

  • INSTALLATION.md: Panduan instalasi detail dengan troubleshooting
  • SETUP_LOCALHOST.md: Setup cepat untuk pengembangan localhost
  • Docstrings: Setiap fungsi dan class memiliki docstring lengkap

πŸ”§ Troubleshooting Umum

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.

πŸ—ΊοΈ Roadmap

  • βœ… 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

🀝 Kontribusi

Kami menyambut kontribusi! Cara berkontribusi:

  1. Fork repository ini
  2. Buat branch fitur (git checkout -b feature/amazing-feature)
  3. Commit perubahan (git commit -m 'Add amazing feature')
  4. Push ke branch (git push origin feature/amazing-feature)
  5. Buka Pull Request

Lihat Issues untuk task yang bisa dikerjakan.

Standar Kode

  • Gunakan Black untuk formatting
  • Jalankan Flake8 untuk linting
  • Pastikan semua test lulus sebelum submit PR
  • Tambahkan test untuk fitur baru

πŸ“„ Lisensi

Distributed under the MIT License. Lihat LICENSE untuk detail.

πŸ™ Acknowledgements

  • OpenAlex - Sumber data bibliografik terbuka
  • Semantic Scholar - API pencarian akademik
  • NetworkX - Library graf Python
  • Konsep "Sleeping Beauties" dari ilmuometri

πŸ“¬ Kontak


Dibuat dengan ❀️ untuk komunitas riset terbuka

About

Pustaka open-source untuk mengidentifikasi, mengukur, dan memvisualisasikan fenomena "Sleeping Beauties" dalam literatur ilmiah.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages