Skip to content

An implementation of Nikita Savchenko's algorithm for automatic weighted semantic network building from a given text

License

Notifications You must be signed in to change notification settings

nikitaeverywhere/edu-semantic-knowledge-network-auto-builder

Repository files navigation

Auto Semantic Knowledge Network Builder

An implementation of Nikita Savchenko's semantic knowledge network building algorithm.

Preview

Article Ink helps drive democracy in Asia:

2018-02-01_142301

Composites from many articles:

2018-02-01_125026 2018-02-01_130034

Requirements & Setup

  1. Python v3 with pip3 (or any other dependency manager)
  2. Git

Clone this repository (recursively!) and install all prerequisites:

git clone --recursive https://github.com/ZitRos/edu-semantic-knowledge-network-auto-builder
cd edu-semantic-knowledge-network-auto-builder
pip3 install -r requirements.txt
py setup.py

Additionally, when running scripts from this repository, nltk may ask you to download more modules. Follow the command line instructions then.

To run a sample graph building from multiple texts, put those texts in input directory and use this to generate graph to output directory:

py process.py

If you want to change the number of entities/concepts which appear in the resulting graph, please use the --threshold option. It specifies the TF-IDF threshold value below which concepts won't move to the resulting graph.

py process.py --threshold=10

Visualizing

You can feed the output file to any graph visualization software like Gephi (the one which was used to generate images above).

License

Apache License v2 © Nikita Savchenko

About

An implementation of Nikita Savchenko's algorithm for automatic weighted semantic network building from a given text

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published