Skip to content
Classical Search Optimizations for Entity-Linking AI Systems Through Wikipedia
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

Optimized Entity Linking Through Wikipedia


We provide a simple interface for Named-Entity Linking and "wikification" of a passage of text using a variant of local search and the Wikipedia API as specified in our research paper Search Optimizations in Named Entity Linking Systems.

Given a passage of text, such as "China has a large population", our system will link every keyword in that passage to its corresponding wikipedia page with a high confidence score through the modification of alpha, a parameter that can be specified at runtime.

How to Run

First install all pip requirements using pip install -r requirements.txt. Then, navigate to a python shell and run import nltk and run This will download the Natural Language Toolkit, a crucial component of the project. Once is run, a window will come up where some necessary packages need to be downloaded. For this project, navigate to packages and download the Advanced Perceptron Tagger package, the Punk Tokenizer Modules.

Now, navigate to the OptimizedEntityLinking folder and run

python "China has a large population" --alpha 0.9 --iterations 1

Where the first argument to is the input text you wish to provide, alpha is an accuracy parameter that can be tweaked to improve the accuracy of the system as described in the paper from 0 to 1, and iterations is the number of iterations you wish to run local search for. We recommend just one iteration for reasons of speed.


To run our tests, simply run python, which will return a list of accuracy scores from 0 to 1 of different values of alpha as specified in the file. This runs the algorithm over different test examples and solutions to discover the accuracy of the entity linking as alpha changes. This is also mentioned within the paper.


Please report any bugs or requests that you have using the GitHub issue tracker!


If you wish to contribute, first make your changes. Then submit a pull request

You can’t perform that action at this time.