Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message
Rake Php Plus

Rake Php Plus Laravel Package

donatello-za/rake-php-plus

A dependency-free PHP implementation of RAKE (Rapid Automatic Keyword Extraction) for extracting keywords and key phrases from text. Includes stopword lists, multi-language support, customizable scoring, and straightforward integration into existing projects.

Deep Wiki
Context7

A keyword and phrase extraction library based on the Rapid Automatic Keyword Extraction algorithm (RAKE).

Frequently asked questions about Rake Php Plus
How do I install donatello-za/rake-php-plus in a Laravel application?
Run composer require donatello-za/rake-php-plus and let Composer PSR-4 autoloading handle the rest. There is no service provider, config file or migration to publish, so installation is one command plus a thin wrapper class in app/Services. Create your own KeywordExtractorInterface and adapter so application code never references the vendor namespace directly.
Does RAKE PHP Plus support Laravel 10, 11 and 12?
The library is framework-agnostic and does not depend on Laravel internals, so it works with any Laravel version whose PHP constraint satisfies the package composer requirements. Check its composer.json against your target PHP and Laravel matrix before committing. Because there is no service provider or Laravel-specific code, framework upgrades rarely break it; PHP version bumps are the realistic risk.
Can I extract keywords in languages other than English?
Yes. RAKE relies on stopword lists rather than trained models, so you supply a stopword list per locale and the same algorithm runs unchanged. The package ships stopword lists and lets you load custom ones. Output quality varies by language, and stopword curation, not the algorithm, determines how clean results are for non-Latin scripts.
How accurate is RAKE compared to TF-IDF, YAKE or embedding-based keyword extraction?
RAKE is corpus-free and scores words by degree, frequency and co-occurrence, which yields good multi-word phrases but noticeably noisy single-word terms. It will not match TF-IDF, YAKE or embedding approaches on precision, and it uses no training data. That trade-off buys speed, zero dependencies and no model infrastructure, which is reasonable for tagging, CMS suggestions and search hints where a human filters the output.
How do I configure stopwords, minimum word length and phrase length?
The extractor exposes settings for stopword lists, minimum and maximum word and phrase lengths, word and sentence delimiters, and regex filters, which you apply at construction time. In Laravel, centralize those values in config/keyword-extraction.php and pass them into your wrapper. Cache or reuse the configured extractor instance, because loading and parsing stopwords is the expensive part of initialization.
How does RAKE PHP Plus perform on large documents, and is it safe in queues and Octane?
Tokenization is pure PHP and regex-driven, so latency and memory grow with document size; benchmark p50 and p95 for 1 KB, 50 KB and 500 KB inputs on your own hardware before committing to large texts. The library is stateless per call, which makes it safe for queued jobs and long-lived workers. Instantiate the extractor once per process or request rather than per call, and chunk very large documents.
Does it handle UTF-8, emoji and mixed-script text correctly?
Multibyte handling is the classic failure point in PHP keyword extractors, so test with your real content instead of assuming. Run explicit tests with accented Latin, CJK, Cyrillic, emoji and mixed-script input, and strip HTML before extraction. Also confirm the library does not mutate mb_internal_encoding or setlocale in ways that leak into the request lifecycle.
Is the keyword output deterministic enough to assert against golden files in tests?
RAKE has no randomness and no training step, so identical input plus identical stopword set, delimiters and length settings should produce identical scores and ordering. Pin the exact package version and record the stopword set version alongside your golden files. A composer update or stopword edit then shows up as a deliberate, reviewable test diff rather than a silent regression.
Do I need to register a service provider or facade to use it in Laravel?
No. The package has no Laravel coupling, so there is nothing to publish or register; it is only a Composer dependency. The recommended approach is a small service provider of your own that binds a KeywordExtractorInterface to an adapter, then injects that interface or exposes a facade. This keeps the vendor class swappable if you later move to YAKE or another extractor.
Is RAKE PHP Plus actively maintained, and what happens if it is abandoned?
It is a small, single-maintainer commodity utility, so treat it as replaceable rather than strategic. The MIT license is the mitigation: you can fork, patch and vendor the code if upstream stalls, and the algorithm is simple enough to reimplement. Set a fork-and-patch threshold, pin the exact version in composer.json, and keep it behind an interface so a swap is a one-class change.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
shitoudev/permissionmanager
johannesclimacus/laravel-tui
hocvt/seotools
vitalybaev/sypexgeo
amphibee/themosis-ignition
gito-me/fast-excel
frankyso/laravel-ipaymu
geolize-studio/laravel-chile
boomerangui/chat
jinas/dhivatar
store-doc/laravel-storage-driver
plus-it/laravel-translation-manager
diephp/perhaps
diephp/telegraph
osmaviation/spreadsheet
microsoft/fluentui-system-icons
mmccook/php-json-canonicalization-scheme
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console