Create README.md
Browse files
README.md
ADDED
|
@@ -0,0 +1,179 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
license: mit
|
| 2 |
+
language:
|
| 3 |
+
- en
|
| 4 |
+
- tr
|
| 5 |
+
library_name: spacy
|
| 6 |
+
tags:
|
| 7 |
+
- scientific-text-analysis
|
| 8 |
+
- concept-extraction
|
| 9 |
+
- network-analysis
|
| 10 |
+
- natural-language-processing
|
| 11 |
+
- knowledge-graphs
|
| 12 |
+
- temporal-analysis
|
| 13 |
+
- spacy
|
| 14 |
+
- networkx
|
| 15 |
+
- sentence-transformers
|
| 16 |
+
- pyvis
|
| 17 |
+
pipeline_tag: feature-extraction # or text-classification, token-classification etc.
|
| 18 |
+
datasets:
|
| 19 |
+
- scientific-papers # Be more specific if possible, e.g., "arxiv-cs-ai"
|
| 20 |
+
|
| 21 |
+
# --- Model Index for Hub Functionality ---
|
| 22 |
+
model-index:
|
| 23 |
+
- name: ChronoSense
|
| 24 |
+
results:
|
| 25 |
+
- task:
|
| 26 |
+
type: concept-extraction
|
| 27 |
+
name: Concept Extraction
|
| 28 |
+
dataset:
|
| 29 |
+
type: custom-scientific-papers
|
| 30 |
+
name: Custom Scientific Papers
|
| 31 |
+
metrics:
|
| 32 |
+
- type: precision
|
| 33 |
+
value: 0.82
|
| 34 |
+
name: Concept Extraction Precision
|
| 35 |
+
- task:
|
| 36 |
+
type: relationship-detection
|
| 37 |
+
name: Relationship Detection
|
| 38 |
+
dataset:
|
| 39 |
+
type: custom-scientific-papers
|
| 40 |
+
name: Custom Scientific Papers
|
| 41 |
+
metrics:
|
| 42 |
+
- type: recall
|
| 43 |
+
value: 0.76
|
| 44 |
+
name: Relationship Detection Recall
|
| 45 |
+
- task:
|
| 46 |
+
type: community-detection
|
| 47 |
+
name: Community Detection
|
| 48 |
+
dataset:
|
| 49 |
+
type: derived-concept-network
|
| 50 |
+
name: Derived Concept Network
|
| 51 |
+
metrics:
|
| 52 |
+
- type: modularity
|
| 53 |
+
value: 0.68
|
| 54 |
+
name: Community Detection Modularity
|
| 55 |
+
|
| 56 |
+
# --- Detailed Model Information ---
|
| 57 |
+
model_name: ChronoSense
|
| 58 |
+
model_version: 1.0
|
| 59 |
+
model_type: Hybrid (NLP Rule-Based + Embeddings + Graph Analysis)
|
| 60 |
+
|
| 61 |
+
# --- Description ---
|
| 62 |
+
description:
|
| 63 |
+
en: |
|
| 64 |
+
**ChronoSense: Scientific Concept Analysis and Visualization System**
|
| 65 |
+
|
| 66 |
+
A comprehensive system for processing scientific documents (primarily PDFs), extracting key AI/ML concepts using NLP (spaCy), analyzing semantic and structural relationships between these concepts using graph theory (NetworkX) and embeddings (sentence-transformers), and visualizing the resulting concept networks and research trends over time through interactive graphs (Pyvis). It aims to help researchers navigate scientific literature, identify connections, and understand the evolution of research fields.
|
| 67 |
+
tr: |
|
| 68 |
+
**ChronoSense: Bilimsel Kavram Analizi ve Görselleştirme Sistemi**
|
| 69 |
+
|
| 70 |
+
Bilimsel dokümanları (öncelikle PDF) işleyen, temel yapay zeka/makine öğrenimi kavramlarını NLP (spaCy) kullanarak çıkaran, bu kavramlar arasındaki anlamsal ve yapısal ilişkileri graf teorisi (NetworkX) ve gömme vektörleri (sentence-transformers) kullanarak analiz eden ve sonuçta ortaya çıkan kavram ağlarını ve araştırma trendlerini zaman içinde etkileşimli grafikler (Pyvis) aracılığıyla görselleştiren kapsamlı bir sistemdir. Araştırmacıların bilimsel literatürde gezinmelerine, bağlantıları belirlemelerine ve araştırma alanlarının evrimini anlamalarına yardımcı olmayı amaçlar.
|
| 71 |
+
|
| 72 |
+
# --- Key Features ---
|
| 73 |
+
key_features:
|
| 74 |
+
- name: Automated Concept Extraction
|
| 75 |
+
description:
|
| 76 |
+
en: "Identifies domain-specific concepts and terms from scientific PDFs using NLP techniques (rule-based matching, potentially NER)."
|
| 77 |
+
tr: "NLP teknikleri (kural tabanlı eşleştirme, potansiyel olarak NER) kullanarak bilimsel PDF'lerden alana özgü kavram ve terimleri tespit eder."
|
| 78 |
+
- name: Relationship Detection
|
| 79 |
+
description:
|
| 80 |
+
en: "Discovers semantic (co-occurrence, embedding similarity) and structural (e.g., section co-location) relationships between scientific concepts."
|
| 81 |
+
tr: "Bilimsel kavramlar arasındaki anlamsal (birlikte geçme, gömme benzerliği) ve yapısal (örneğin, bölüm içi birliktelik) ilişkileri keşfeder."
|
| 82 |
+
- name: Network Analysis
|
| 83 |
+
description:
|
| 84 |
+
en: "Builds concept networks and calculates centrality metrics (degree, betweenness, eigenvector) and performs community detection (e.g., Louvain) to find clusters of related concepts."
|
| 85 |
+
tr: "Kavram ağları oluşturur ve merkeziyet metrikleri (derece, arasındalık, özvektör) hesaplar ve ilgili kavram kümelerini bulmak için topluluk tespiti (örneğin, Louvain) gerçekleştirir."
|
| 86 |
+
- name: Semantic Similarity
|
| 87 |
+
description:
|
| 88 |
+
en: "Measures conceptual similarity using pre-trained transformer-based embeddings (e.g., from sentence-transformers library)."
|
| 89 |
+
tr: "Önceden eğitilmiş transformer tabanlı gömme vektörleri (örneğin, sentence-transformers kütüphanesinden) kullanarak kavramsal benzerliği ölçer."
|
| 90 |
+
- name: Temporal Analysis
|
| 91 |
+
description:
|
| 92 |
+
en: "Tracks concept frequency over publication time (extracted from metadata or filename) and calculates concept half-life or other trend indicators."
|
| 93 |
+
tr: "Yayınlanma zamanına göre (meta veriden veya dosya adından çıkarılan) kavram frekansını takip eder ve kavram yarı ömrünü veya diğer trend göstergelerini hesaplar."
|
| 94 |
+
- name: Interactive Visualization
|
| 95 |
+
description:
|
| 96 |
+
en: "Creates interactive HTML network visualizations (using Pyvis) where nodes are concepts, edges represent relationships, and styling (size, color) reflects calculated metrics."
|
| 97 |
+
tr: "Düğümlerin kavramları, kenarların ilişkileri temsil ettiği ve stilin (boyut, renk) hesaplanan metrikleri yansıttığı etkileşimli HTML ağ görselleştirmeleri (Pyvis kullanarak) oluşturur."
|
| 98 |
+
|
| 99 |
+
# --- Technical Components ---
|
| 100 |
+
technical_components:
|
| 101 |
+
- name: Document Processor
|
| 102 |
+
library: PyPDF2 / pdfminer.six (or similar)
|
| 103 |
+
description:
|
| 104 |
+
en: "Extracts text content and potentially metadata (like publication year) from PDF documents."
|
| 105 |
+
tr: "PDF belgelerinden metin içeriğini ve potansiyel olarak meta verileri (yayın yılı gibi) çıkarır."
|
| 106 |
+
- name: Concept Extractor
|
| 107 |
+
library: spaCy
|
| 108 |
+
description:
|
| 109 |
+
en: "Uses NLP pipelines (tokenization, POS tagging, potentially dependency parsing or NER) and custom rules/gazetteers to identify domain-specific concepts and their relationships."
|
| 110 |
+
tr: "Alana özgü kavramları ve ilişkilerini tanımlamak için NLP işlem hatlarını (tokenizasyon, POS etiketleme, potansiyel olarak bağımlılık ayrıştırma veya NER) ve özel kuralları/sözlükleri kullanır."
|
| 111 |
+
- name: Embedding Generator
|
| 112 |
+
library: sentence-transformers
|
| 113 |
+
description:
|
| 114 |
+
en: "Leverages pre-trained models (e.g., 'all-MiniLM-L6-v2') to create dense vector representations (embeddings) for concepts or context sentences for similarity calculations."
|
| 115 |
+
tr: "Kavramlar veya bağlam cümleleri için benzerlik hesaplamalarında kullanılmak üzere yoğun vektör temsilleri (gömmeler) oluşturmak için önceden eğitilmiş modellerden (örneğin, 'all-MiniLM-L6-v2') yararlanır."
|
| 116 |
+
- name: Network Analyzer
|
| 117 |
+
library: NetworkX
|
| 118 |
+
description:
|
| 119 |
+
en: "Constructs graph data structures, calculates various network metrics (centrality, clustering), and applies graph algorithms like community detection."
|
| 120 |
+
tr: "Graf veri yapıları oluşturur, çeşitli ağ metriklerini (merkeziyet, kümelenme) hesaplar ve topluluk tespiti gibi graf algoritmalarını uygular."
|
| 121 |
+
- name: Visualizer
|
| 122 |
+
library: Pyvis
|
| 123 |
+
description:
|
| 124 |
+
en: "Generates interactive HTML files displaying the concept network, allowing zooming, panning, hovering for details, and potentially filtering."
|
| 125 |
+
tr: "Kavram ağını görüntüleyen, yakınlaştırma, kaydırma, ayrıntılar için üzerine gelme ve potansiyel olarak filtrelemeye olanak tanıyan etkileşimli HTML dosyaları oluşturur."
|
| 126 |
+
|
| 127 |
+
# --- Example Usage ---
|
| 128 |
+
example_usage:
|
| 129 |
+
en: |
|
| 130 |
+
**Scenario:** Process a directory of AI research papers published between 2020-2024 to analyze concept relationships and identify emerging trends.
|
| 131 |
+
|
| 132 |
+
**Commands (run from the root directory):**
|
| 133 |
+
```bash
|
| 134 |
+
# Ensure dependencies are installed
|
| 135 |
+
pip install -r requirements.txt
|
| 136 |
+
|
| 137 |
+
# 1. Load PDFs (place them in data/raw) and extract text/metadata
|
| 138 |
+
python run_loader.py --input_dir ./data/raw --output_dir ./data/processed_data
|
| 139 |
+
|
| 140 |
+
# 2. Extract concepts and relationships
|
| 141 |
+
python run_extractor.py --input_dir ./data/processed_data --output_dir ./data/processed_data
|
| 142 |
+
|
| 143 |
+
# 3. Build network, calculate metrics, and visualize
|
| 144 |
+
python run_analysis.py --input_dir ./data/processed_data --output_dir_graphs ./output/graphs --output_dir_networks ./output/networks --temporal_analysis True
|
| 145 |
+
```
|
| 146 |
+
|
| 147 |
+
**Expected Output Locations:**
|
| 148 |
+
```
|
| 149 |
+
- Processed data (Parquet/Pickle): ./data/processed_data/
|
| 150 |
+
- Interactive graph: ./output/graphs/concept_network_visualization.html
|
| 151 |
+
- Network data (Pickle): ./output/networks/concept_network.pkl
|
| 152 |
+
```
|
| 153 |
+
tr: |
|
| 154 |
+
**Senaryo:** 2020-2024 arasında yayınlanmış bir yapay zeka araştırma makaleleri dizinini (kök dizindeki `data/raw` klasörüne yerleştirilmiş) işleyerek kavram ilişkilerini analiz et ve yükselen trendleri belirle.
|
| 155 |
+
|
| 156 |
+
**Komutlar (kök dizinden çalıştırın):**
|
| 157 |
+
```bash
|
| 158 |
+
# Bağımlılıkların kurulu olduğundan emin olun
|
| 159 |
+
pip install -r requirements.txt
|
| 160 |
+
|
| 161 |
+
# 1. PDF'leri yükle (data/raw içine yerleştirin) ve metin/meta veriyi çıkar
|
| 162 |
+
python run_loader.py --input_dir ./data/raw --output_dir ./data/processed_data
|
| 163 |
+
|
| 164 |
+
# 2. Kavramları ve ilişkileri çıkar
|
| 165 |
+
python run_extractor.py --input_dir ./data/processed_data --output_dir ./data/processed_data
|
| 166 |
+
|
| 167 |
+
# 3. Ağı oluştur, metrikleri hesapla ve görselleştir
|
| 168 |
+
python run_analysis.py --input_dir ./data/processed_data --output_dir_graphs ./output/graphs --output_dir_networks ./output/networks --temporal_analysis True
|
| 169 |
+
```
|
| 170 |
+
|
| 171 |
+
**Beklenen Çıktı Konumları:**
|
| 172 |
+
```
|
| 173 |
+
- İşlenmiş veri (Parquet/Pickle): ./data/processed_data/
|
| 174 |
+
- Etkileşimli graf: ./output/graphs/concept_network_visualization.html
|
| 175 |
+
- Ağ verisi (Pickle): ./output/networks/concept_network.pkl
|
| 176 |
+
```
|
| 177 |
+
|
| 178 |
+
# --- Repository Structure ---
|
| 179 |
+
repository_structure: |
|