rake-nltk
RAKE short for Rapid Automatic Keyword Extraction algorithm, is a domain independent keyword extraction algorithm which tries to determine key phrases in a body of text by analyzing the frequency of word appearance and its co-occurance with other words in the text.
What it is and what it does
rake-nltk is a Python implementation of the RAKE (Rapid Automatic Keyword Extraction) algorithm, which identifies important phrases in text by analyzing word frequency and co-occurrence patterns. It wraps NLTK to provide configurable tokenization, language-specific stop words, and ranking metrics, making it suitable for extracting domain-independent keywords from documents without manual tuning.
The package offers a simple interface: initialize a Rake object, pass text or sentences to it, and retrieve ranked phrases either as a list or with their scores. It is designed to be modular and tunable, though it has not been actively maintained since late 2022 and is now abandoned.
Use it for:
- Extract key topics from research papers or articles for quick summarization and indexing.
- Identify important terms from customer feedback or survey responses for sentiment analysis.
- Generate tag suggestions for blog posts or documents based on automatic phrase detection.
- Build a keyword index for search engines or information retrieval systems.
- Analyze text corpora to discover domain terminology without pre-labeled training data.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Extracts keywords and key phrases from text using the RAKE algorithm, which ranks words by their frequency and co-occurrence patterns to identify domain-independent topic terms.
Yes, if you need a lightweight, simple keyword extraction tool and can tolerate an abandoned package. The MIT license is permissive, install friction is low, and there are no known vulnerabilities. However, be aware that no updates or maintenance will occur; test thoroughly with your Python version and nltk version before relying on it in production. For active projects requiring ongoing support, consider maintained alternatives.
Install
rake-nltk on PyPI
pip
pip install rake-nltkuv
uv add rake-nltkpoetry
poetry add rake-nltkInstalling rake-nltk
Before you install
Low friction install with a single runtime dependency (nltk). However, the package is abandoned—last release was 2021-09-15 and last commit 2022-12-09—so expect no maintenance, bug fixes, or updates to support newer Python versions beyond what's already declared.
License in practice
MIT license is permissive; you can use, modify, and distribute this package freely in commercial or private projects with minimal restrictions.
Quickstart
pip install rake-nltk
from rake_nltk import Rake
r = Rake()
r.extract_keywords_from_text("your text here")
print(r.get_ranked_phrases_with_scores())
Requires NLTK's stopwords corpus; download it first with: python -c "import nltk; nltk.download('stopwords')"
Verify before relying
- Whether the package works reliably with Python versions beyond 3.9 despite being abandoned.
- Performance characteristics on large documents or high-volume keyword extraction tasks.
- Compatibility with recent versions of nltk and whether dependency version pinning is needed.
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.6,<4.0) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 1 — nltk |
| Maintenance | abandoned — 1,794 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 316,250/month — #7,679 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: rake_nltk-1.0.6-py3-none-any.whl
Keywords: nlp, text-mining, algorithms, development
Tags
More Python Modules packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
PyYAMLPyYAML parses and emits YAML 1.1 data format,…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
annotated-typesProvides reusable metadata objects for use with…
permissive · top 100 on PyPI
typing-inspectionProvides runtime tools to inspect and…
permissive · top 100 on PyPI
keybertKeyBERT extracts keywords and keyphrases from…
permissive · top 15,000 on PyPI
nltkNLTK is a Python library for natural language…
permissive · top 1,000 on PyPI
pytextrankPyTextRank implements graph-based TextRank and…
permissive · top 15,000 on PyPI
keyphrase-vectorizersExtracts keyphrases from text documents using…
permissive · top 15,000 on PyPI
soynlpUnsupervised Korean natural language processing…
copyleft · top 15,000 on PyPI
yakeYAKE extracts keywords from text documents…
copyleft · top 15,000 on PyPI
stop-wordsProvides curated stop-word lists for multiple…
permissive · top 15,000 on PyPI
bertopicBERTopic performs topic modeling on text…
permissive · top 15,000 on PyPI
textblobTextBlob provides a simple API for common…
permissive · top 5,000 on PyPI
deepsearch-glmExtracts entities, relations, and linguistic…
permissive · top 15,000 on PyPI