explaingit

thunlp/wantwords

7,113JavaScriptAudience · writerComplexity · 3/5Setup · moderate

TLDR

WantWords is an open-source reverse dictionary: describe a concept in plain English or Chinese and a neural network returns the words that match what you're thinking of.

Mindmap

mindmap
  root((wantwords))
    What it does
      Reverse dictionary
      English queries
      Chinese queries
    Tech Stack
      Django backend
      PyTorch model
      Neural network
    Use Cases
      Find forgotten words
      Writing assistance
    Audience
      Writers
      NLP researchers
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Look up a word you can't remember by typing a plain-language description of what it means in English or Chinese.

USE CASE 2

Run a local version of the reverse dictionary offline by deploying the Django backend with the pre-trained PyTorch model.

USE CASE 3

Integrate the reverse-dictionary model into your own NLP research pipeline or writing tool.

Tech stack

JavaScriptPythonDjangoPyTorch

Getting it running

Difficulty · moderate Time to first run · 1h+

Requires downloading large pre-trained model files from an external link and pinning specific PyTorch and dependency versions.

In plain English

WantWords is an open-source reverse dictionary. A regular dictionary takes a word and gives you its definition. A reverse dictionary works in the opposite direction: you describe a concept or idea in plain language, and it returns a list of words that match what you described. This is useful when you know what you want to say but cannot think of the right word, a situation sometimes called the tip-of-the-tongue phenomenon. The project is available as a live website and also as a WeChat mini-program. It supports both English and Chinese queries. The underlying model is a multi-channel neural network trained to map descriptions to semantically matching words. The model was published as a research paper at an academic AI conference and the code for that model lives in a separate linked repository. To run the system yourself, you download pre-trained model files and data from a provided link and place them in the correct directory. The backend is a Django web application, and the system depends on PyTorch and several other Python scientific computing packages. The README lists specific version requirements for all major dependencies. This repository comes from the Natural Language Processing Lab at Tsinghua University. The README asks users who use the code or data in their own work to cite the two associated research papers. The project is described as open-source, though the README does not specify a license.

Copy-paste prompts

Prompt 1
How do I set up WantWords locally with Django and load the pre-trained PyTorch model files to run reverse-dictionary queries offline?
Prompt 2
I described a concept to WantWords but the results are not what I expected, how should I rephrase my description to get better word matches?
Prompt 3
Help me write a Python script that calls the WantWords backend API, takes a plain-English description as input, and prints the top 5 matching words.
Prompt 4
Explain in plain terms how the multi-channel neural network in WantWords maps a description to semantically matching words.
Prompt 5
How do I cite the WantWords research papers correctly if I use this model in my own project or paper?
Open on GitHub → Explain another repo

← thunlp on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.