skillfed

yake

Keyword extraction Python package

yake v0.7.3 453.5K downloads/30d#6,577 on PyPI1,877
Copyleft license LGPLv3 AGING released

What it is and what it does

YAKE is an unsupervised keyword extraction library that identifies important terms and phrases in text by analyzing statistical features like word frequency, position, and co-occurrence patterns. It works on single documents without requiring training, external corpora, or language-specific resources, making it applicable across languages and domains.

The package provides both command-line and Python APIs for keyword extraction, with configurable parameters for n-gram size, deduplication strategies, context window size, and result count. It includes multilingual support, lemmatization to normalize morphological variants, and text highlighting capabilities. Dependencies are lightweight: click for CLI, jellyfish and networkx for graph-based deduplication, numpy for numerical operations, segtok for sentence segmentation, and tabulate for formatted output.

Use it for:

  • Extract key topics from research papers or articles for indexing and search.
  • Identify main concepts in customer feedback or support tickets for categorization.
  • Generate tag suggestions for blog posts or documents without manual annotation.
  • Analyze multilingual documents to find domain-relevant terms across languages.
  • Build automated content summarization pipelines that preserve semantic focus.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

YAKE extracts keywords from text documents using unsupervised statistical methods, requiring no training data, external corpus, or language-specific dictionaries.

Yes, with conditions. YAKE is worth installing if you need unsupervised keyword extraction without training overhead and accept its aging maintenance status (186 days since last release). The copyleft license requires careful review if you plan proprietary use. No known security vulnerabilities, low install friction, and active repository support make it a reasonable choice for single-document keyword analysis across languages.

Install

yake on PyPI

pip

pip install yake

uv

uv add yake

poetry

poetry add yake

Installing yake

Before you install

Low install friction with a pure Python wheel distribution. Maintenance status is aging—last release was 186 days ago—but the repository remains active with recent commits and a modest user base of 1877 stars.

License in practice

Licensed under LGPLv3 (copyleft). Derivative works and modifications must be released under the same license; proprietary applications using this package may face licensing constraints.

Quickstart

pip install yake

import yake

text = "Your document text here"
kw_extractor = yake.KeywordExtractor()
keywords = kw_extractor.extract_keywords(text)
for kw, score in keywords:
    print(f"{kw} ({score})")

Requires Python 3.10 or later.

Verify before relying

  • Performance characteristics on very large documents or streaming text.
  • Accuracy comparison with other unsupervised keyword extraction methods.
  • Memory footprint and scalability with high-dimensional feature sets.

Package facts

License LGPLv3 (copyleft)
Python support supports the current Python release (>=3.10)
Install friction low — pure-Python wheel
Runtime dependencies 6 — click, jellyfish, networkx, numpy, segtok, tabulate
Maintenance aging — 186 days since the last release
Last repo commit
First released
Downloads 453,507/month — #6,577 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: yake-0.7.3-py3-none-any.whl

Development Status :: 3 - AlphaLicense :: OSI Approved :: GNU General Public License v3 (GPLv3)Programming Language :: Python :: 3Programming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Topic :: Scientific/Engineering :: Information AnalysisTopic :: Software Development :: LibrariesTopic :: Text ProcessingTopic :: Text Processing :: Linguistic

Tags

unsupervised keyword extractionautomatic keyphrase extractiontext keyword analysismultilingual keyword extractionstatistical keyword extractionsingle document keyword extractionlanguage-independent text analysis
nlpinformation-extractionunsupervised-learning

More Libraries packages