use Risan\Sentiment\Language;
enum Language: string selects the lexicon and rules used for an analysis.
Cases
| Case | Value |
|---|---|
Language::English |
'en' |
Language::Indonesian |
'id' |
Where it is accepted
Sentiment::analyze() and the Analyzer constructor take Language|string, so you can pass either the enum case or its code. English is the default.
use Risan\Sentiment\Analyzer;
use Risan\Sentiment\Language;
use Risan\Sentiment\Sentiment;
Sentiment::analyze('Filmnya bagus banget!', Language::Indonesian);
Sentiment::analyze('Filmnya bagus banget!', 'id');
(new Analyzer('id'))->language(); // Language::Indonesian
Usage
Being a backed enum, Language has the native methods:
Language::from('id'); // Language::Indonesian
Language::tryFrom('fr'); // null
Language::English->value; // 'en'
Language::cases(); // [English, Indonesian]
An unknown code throws PHP’s native ValueError, from Language::from() as well as from Sentiment::analyze() and new Analyzer():
Language::from('fr'); // throws ValueError
Sentiment::analyze('Bonjour', 'fr'); // throws ValueError
See Languages for how each language is scored.