# thunlp/wantwords

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/thunlp-wantwords).**

7,106 stars · 610 forks · JavaScript

## Links

- GitHub: https://github.com/thunlp/WantWords
- Homepage: https://wantwords.net/
- awesome-repositories: https://awesome-repositories.com/repository/thunlp-wantwords.md

## Topics

`natural-language-processing` `nlp` `reverse-dictionary` `word`

## Description

WantWords is an open-source multilingual reverse dictionary and semantic search engine that retrieves words from written descriptions rather than exact spellings or prefixes. It solves the tip-of-the-tongue problem by letting users describe a concept and returning matching words across Chinese and English language pairs, with support for part-of-speech filtering to narrow results to specific grammatical categories like nouns, verbs, or adjectives.

The tool distinguishes itself through embedding-based semantic matching that converts user descriptions and dictionary entries into vector representations, computing cosine similarity to rank results by relevance. It maintains separate inverted indexes for Chinese, English, and bilingual word lists, enabling cross-language queries, and offers multiple sorting heuristics including pinyin ordering and stroke-count sorting for Chinese results. A client-server architecture separates the embedding computation and index search from the user interface via a RESTful API.

As an open-source lexical tool, WantWords can be self-hosted or inspected for research and education, providing a freely available alternative for semantic word lookup. The documentation covers installation and usage for those who wish to run the application locally.

## Tags

### Business & Productivity Software

- [Concept-to-Word Reverse Lookups](https://awesome-repositories.com/f/business-productivity-software/digital-dictionary-lookups/concept-to-word-reverse-lookups.md) — Finds a word that matches a given description or concept when the exact term is forgotten.

### Data & Databases

- [Description-Based Word Retrievers](https://awesome-repositories.com/f/data-databases/vector-storage/text-vectorizers/semantic-word-embeddings/description-based-word-retrievers.md) — A search engine that looks up words across Chinese and English language pairs using semantic descriptions. ([source](https://cdn.jsdelivr.net/gh/thunlp/wantwords@main/README.md))
- [Multilingual Search Engines](https://awesome-repositories.com/f/data-databases/table-indexing-systems/search-backends/multilingual-search-engines.md) — Looks up words across Chinese and English language pairs with bilingual support.
- [Description-to-Word Embedding Matchers](https://awesome-repositories.com/f/data-databases/vector-storage/text-vectorizers/semantic-word-embeddings/description-to-word-embedding-matchers.md) — Converts user descriptions and dictionary entries into vector embeddings to compute semantic similarity for reverse lookup.
- [Lexical Property Sorters](https://awesome-repositories.com/f/data-databases/search-result-sorting/lexical-property-sorters.md) — Orders matching words by relevance, pinyin, stroke count, or first-character stroke count. ([source](https://wantwords.net/))

### Artificial Intelligence & ML

- [Semantic Search Engines](https://awesome-repositories.com/f/artificial-intelligence-ml/semantic-search-engines.md) — Retrieves words based on meaning rather than exact spelling or prefix matching.
- [Grammatical Category Filters](https://awesome-repositories.com/f/artificial-intelligence-ml/part-of-speech-taggers/grammatical-category-filters.md) — Restricts dictionary results to a selected grammatical category such as noun, verb, or adjective.
- [Grammatical Category Result Filters](https://awesome-repositories.com/f/artificial-intelligence-ml/part-of-speech-taggers/grammatical-category-result-filters.md) — Restricts returned words to a selected grammatical category such as noun, verb, or adjective. ([source](https://wantwords.net/))
- [Part-of-Speech Result Filters](https://awesome-repositories.com/f/artificial-intelligence-ml/part-of-speech-taggers/part-of-speech-result-filters.md) — Restricts dictionary results to a specific grammatical category like noun, verb, or adjective.
- [Post-Retrieval Part-of-Speech Filters](https://awesome-repositories.com/f/artificial-intelligence-ml/part-of-speech-taggers/post-retrieval-part-of-speech-filters.md) — Applies grammatical category constraints as a post-retrieval filter over candidate word sets using pre-tagged lexical data.

### Education & Learning Resources

- [English-Chinese Translation Resources](https://awesome-repositories.com/f/education-learning-resources/english-chinese-translation-resources.md) — Looks up words in Chinese, Chinese-English, English, or English-Chinese modes. ([source](https://wantwords.net/))
- [Description-Based Word Retrievers](https://awesome-repositories.com/f/education-learning-resources/word-dictionaries/description-based-word-retrievers.md) — Returns words matching a user's written description, solving the tip-of-the-tongue problem.

### User Interface & Experience

- [Relevance Scoring](https://awesome-repositories.com/f/user-interface-experience/search-result-ranking/relevance-scoring.md) — Ranks matched words by the cosine distance between description and entry embeddings with optional tie-breaking by lexical properties.

### Development Tools & Productivity

- [Lexical Property Sorters](https://awesome-repositories.com/f/development-tools-productivity/search-ranking-algorithms/ai-based-relevance-ranking/plugin-relevance-selectors/lexical-property-sorters.md) — Orders matching words by relevance, pinyin, or stroke count for easier selection.

### Software Engineering & Architecture

- [Cross-Language Lexicon Indexes](https://awesome-repositories.com/f/software-engineering-architecture/infrastructure-configuration-languages/multi-language-support/cross-language-lexicon-indexes.md) — Maintains separate inverted indexes for Chinese, English, and bilingual word lists to enable cross-language queries.

### Part of an Awesome List

- [AI](https://awesome-repositories.com/f/awesome-lists/more/ai.md) — Listed in the “AI 项目” section of the Great Open Source Project awesome list.
