WantWords Logo

An open-source online reverse dictionary

What Is a Reverse Dictionary?

Opposite to a regular (forward) dictionary that provides definitions for query words, a reverse dictionary returns words semantically matching the query descriptions.


What Can a Reverse Dictionary Do?

  • Solve the tip-of-the-tongue problem, the phenomenon of failing to retrieve a word from memory
  • Help new language learners
  • Help word selection (or word dictionary) anomia patients, people who can recognize and describe an object but fail to name it due to neurological disorder

Our System



Core Model

The core model of WantWords is based on our proposed Multi-channel Reverse Dictionary Model [paper] [code], as illustrate in the following figure.


Pre-trained Models and Data

Download and decompress data and pretrained models to BASE_PATH/website_RD/.

Decompress data.rar under BASE_PATH/website_RD/.

Key Requirements

  • Django==2.2.5
  • django-cors-headers==3.5.0
  • numpy==1.17.2
  • pytorch-transformers==1.2.0
  • requests==2.22.0
  • scikit-learn==0.22.1
  • scipy==1.4.1
  • thulac==0.2.0
  • torch==1.2.0
  • urllib3==1.25.6
  • uWSGI==2.0.18
  • uwsgitop==0.11


If the code or data help you, please cite the following two papers.

  title={WantWords: An Open-source Online Reverse Dictionary System},
  author={Qi, Fanchao and Zhang, Lei and Yang, Yanhui and Liu, Zhiyuan and Sun, Maosong},
  booktitle={Proceedings of the 2020 Conference on Empirical Methods in Natural Language Processing: System Demonstrations},

  title={Multi-channel reverse dictionary model},
  author={Zhang, Lei and Qi, Fanchao and Liu, Zhiyuan and Wang, Yasheng and Liu, Qun and Sun, Maosong},
  booktitle={Proceedings of the AAAI Conference on Artificial Intelligence},

Download source code from Github

Download ZIP

Submit resources