mirror of
https://github.com/Llewellynvdm/php-ml.git
synced 2024-09-27 22:49:04 +00:00
37 lines
783 B
PHP
37 lines
783 B
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace Phpml\FeatureExtraction;
|
|
|
|
use Phpml\Exception\InvalidArgumentException;
|
|
|
|
class StopWords
|
|
{
|
|
/**
|
|
* @var array
|
|
*/
|
|
protected $stopWords = [];
|
|
|
|
public function __construct(array $stopWords)
|
|
{
|
|
$this->stopWords = array_fill_keys($stopWords, true);
|
|
}
|
|
|
|
public function isStopWord(string $token): bool
|
|
{
|
|
return isset($this->stopWords[$token]);
|
|
}
|
|
|
|
public static function factory(string $language = 'English'): self
|
|
{
|
|
$className = __NAMESPACE__."\\StopWords\\${language}";
|
|
|
|
if (!class_exists($className)) {
|
|
throw new InvalidArgumentException(sprintf('Can\'t find "%s" language for StopWords', $language));
|
|
}
|
|
|
|
return new $className();
|
|
}
|
|
}
|