Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Elixir
  3. stemmer

stemmer

Elixirv1.2.0

An English (Porter2) stemming implementation in Elixir for reducing words to their base forms.

GitHubGitHub
153 stars10 forks0 contributors

What is stemmer?

Stemmer is an Elixir library that implements the Porter2 stemming algorithm for English text. It reduces inflected or derived words to their base stem forms, which is crucial for improving search relevance and text analysis in natural language processing applications.

Target Audience

Elixir developers working on natural language processing, information retrieval systems, or text analysis tools that require word normalization.

Value Proposition

Developers choose Stemmer for its 100% compatibility with the official Porter2 algorithm, simple API, and native Elixir implementation, making it a reliable and efficient choice for stemming tasks within the Elixir ecosystem.

Overview

An English (Porter2) stemming implementation in Elixir.

Use Cases

Best For

  • Building search engines that require word normalization for better query matching
  • Text classification and sentiment analysis projects needing word stem reduction
  • Implementing natural language processing pipelines in Elixir applications
  • Enhancing information retrieval systems by standardizing word forms
  • Supporting machine learning libraries like Simple Bayes with text preprocessing
  • Creating linguistic analysis tools for English text processing

Not Ideal For

  • Applications requiring stemming for languages other than English
  • Projects needing lemmatization for more accurate word normalization than stemming provides
  • Systems with high-performance, real-time text processing demands where algorithm efficiency is critical
  • Developers not using the Elixir programming language

Pros & Cons

Pros

Porter2 Algorithm Fidelity

Ensures 100% compatibility with the official Porter2 implementation, rigorously tested against over 29,000 words for accuracy as stated in the README.

Simple and Versatile API

The `stem/1` function handles single words, sentences, and lists seamlessly, making integration straightforward for various text processing tasks.

Native Elixir Integration

Built specifically for Elixir, offering idiomatic usage and easy pairing with other Elixir libraries like Simple Bayes, as mentioned in the README.

High Reliability

Extensive testing and coverage ensure consistent stemming performance, backed by Travis CI and Coveralls badges showing active maintenance.

Cons

Language Limitation

Exclusively supports English stemming, making it ineffective for multilingual projects without supplementary tools or libraries.

Basic Stemming Only

Implements Porter2, a rule-based algorithm that can produce non-word stems and lacks advanced NLP features like lemmatization or part-of-speech tagging.

Ecosystem Lock-in

Tied to Elixir, so it cannot be directly used in non-Elixir environments, limiting flexibility for cross-language or polyglot projects.

Frequently Asked Questions

Quick Stats

Stars153
Forks10
Contributors0
Open Issues0
Last commit2 years ago
CreatedSince 2016

Tags

#nlp-library#elixir#information-retrieval#stemmer#stemming#natural-language-processing#text-processing#porter

Built With

E
Elixir

Included in

Machine Learning72.2kElixir13.1k
Auto-fetched 9 hours ago

Related Projects

HuggingFace TransformersHuggingFace Transformers

🤗 Transformers: the model-definition framework for state-of-the-art machine learning models in text, vision, audio, and multimodal models, for both inference and training.

Stars164,972
Forks34,486
Last commit15 hours ago
jiebajieba

结巴中文分词

Stars35,145
Forks6,683
Last commit2 years ago
spacyspacy

💫 Industrial-strength Natural Language Processing (NLP) in Python

Stars33,882
Forks4,722
Last commit15 days ago
HaystackHaystack

Open-source AI orchestration framework for building context-engineered, production-ready LLM applications. Design modular pipelines and agent workflows with explicit control over retrieval, routing, memory, and generation. Built for scalable agents, RAG, multimodal applications, semantic search, and conversational systems.

Stars26,446
Forks3,098
Last commit21 hours ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub