A tool that automatically extracts keywords from scientific literature based on bibliographic metadata, structures the research field, and analyzes research trends. It presents spatial structures and temporal flows of research.
- Features
- Installation
- Quick Start
- Example Dataset: ReRAM Present and Future
- Results
- Citations
- Contributors
- Automatic keyword extraction from bibliographic data
- Construction of modularized keyword networks (PageRank for importance, Louvain modularity for communities)
- Temporal trend analysis across years and communities
- Interactive HTML visualizations and Gephi export
- Clone the repository
git clone https://github.com/khyeon-cnmd/KARS.git
cd KARS- Create and activate a Conda environment (Python 3.10)
conda create -n KARS python==3.10
conda activate KARS- Install Python dependencies
pip install jsonlines gradio==3.47.0 "networkx[default]" tqdm pandas scipy bokeh spacy- Download spaCy models
python -m spacy download en_core_web_sm
python -m spacy download en_core_web_trfRun the GUI:
python KARS_GUI.py- Retrieve the bibliographic metadata using your preferred engines (e.g., Web of Science, Crossref)
- Make folder structure as below (refer to the image)
DB_name
└── 1
└── KBSE.json
└── 2
└── KBSE.json
└── ...
- Convert each metadata into the json format as in
KBSE.json(seeexample_metadata.jsonfor reference) - Please refer to the example DB structure of 'ReRAM_DB.tar'
- Enter the path to the database directory that contains bibliographic metadata, then click Submit to load.
- UPoS model:
en_core_web_sm— Faster, lighter.en_core_web_trf— More accurate, slower.
- Text source:
title— Extract keywords from article titles.abstract— Extract keywords from article abstracts.
- Click Submit to build a keyword co-occurrence network across articles.
- Keyword frequency cutoff (%) — Filter out infrequent keywords.
- Higher → fewer, larger keywords; may miss relevant terms.
- Lower → more, smaller keywords; includes rarer terms.
- Community min-frequency weight — Filter out less mature communities.
- Higher → fewer communities.
- Lower → more communities.
- Year range — Set minimum and maximum years to analyze.
- PLC maturity range — Select start and end stages:
Development,Introduction,Growth,Maturity,Decline
-
KARS.gexf, KARS_community.gexf
- Keyword importance (node size) via PageRank and communities (node color) via Louvain modularity, viewable in Gephi.
-
research_maturity.html
- Yearly keyword counts for the entire community to assess research maturity based on the Product Life Cycle (PLC) model.
-
community_year_trend.html
- Evolution of keyword distributions by community over years, useful for trend analysis.
-
keyword_evolution.html
- Proportional changes of top keywords over time by community maturity level.
The provided ReRAM_DB.tar contains bibliographic metadata and structured research data used in the study “A keyword-based approach to analyzing scientific research trends: ReRAM present and future.”
Dataset contents:
- ReRAM_DB/KARS/metadata_source.csv — Original metadata
- ReRAM_DB/KARS/network_article.gephi — Original keyword network
- ReRAM_DB/database — Metadata converted for this code
Note: PageRank and modularity results may differ from those computed in Gephi.
How to test with the example data:
tar -xf ReRAM_DB.tar
python KARS_GUI.py
# In the GUI, set the extracted ReRAM_DB directory in "load_DB",
# then run: keyword_extraction → network_construction → research_trend_analysisKim, H., Kim, S.H., Kim, J. et al. A keyword-based approach to analyzing scientific research trends: ReRAM present and future. Sci Rep 15, 12011 (2025). https://doi.org/10.1038/s41598-025-93423-5
- Conceptualization: Hyeon Kim, Donghwa Lee
- Data Curation: Hyeon Kim
- Formal Analysis: Hyeon Kim, Donghwa Lee
- Funding Acquisition: Donghwa Lee
- Investigation: Hyeon Kim, Eun Ho Kim, Jun Hyeong Gu, Donghwa Lee
- Methodology: Hyeon Kim, Seong Hun Kim, Jaeseon Kim, Donghwa Lee
- Project Administration: Hyeon Kim, Donghwa Lee
- Resources: Donghwa Lee
- Software: Donghwa Lee
- Supervision: Donghwa Lee
- Validation: Hyeon Kim, Donghwa Lee









