Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
Total | |
0.00% |
0 / 1 |
|
50.00% |
1 / 2 |
CRAP | |
88.24% |
15 / 17 |
TokenPreparation | |
0.00% |
0 / 1 |
|
50.00% |
1 / 2 |
6.06 | |
88.24% |
15 / 17 |
__construct( TokenizerInterface $tokenizer, Document\NormalizerInterface $documentNormalizer = null, Token\NormalizerInterface $tokenNormalizer = null ) | |
100.00% |
1 / 1 |
1 | |
100.00% |
4 / 4 |
|||
__invoke($data) | |
0.00% |
0 / 1 |
5.09 | |
84.62% |
11 / 13 |
<?php | |
namespace Camspiers\StatisticalClassifier\Transform; | |
use Camspiers\StatisticalClassifier\Normalizer\Token; | |
use Camspiers\StatisticalClassifier\Normalizer\Document; | |
use Camspiers\StatisticalClassifier\Tokenizer\TokenizerInterface; | |
class TokenPreparation | |
{ | |
/** | |
* @var \Camspiers\StatisticalClassifier\Tokenizer\TokenizerInterface | |
*/ | |
protected $tokenizer; | |
/** | |
* @var \Camspiers\StatisticalClassifier\Normalizer\Document\NormalizerInterface | |
*/ | |
protected $documentNormalizer; | |
/** | |
* @var \Camspiers\StatisticalClassifier\Normalizer\Token\NormalizerInterface | |
*/ | |
protected $tokenNormalizer; | |
/** | |
* @param \Camspiers\StatisticalClassifier\Tokenizer\TokenizerInterface $tokenizer | |
* @param \Camspiers\StatisticalClassifier\Normalizer\Document\NormalizerInterface $documentNormalizer | |
* @param \Camspiers\StatisticalClassifier\Normalizer\Token\NormalizerInterface $tokenNormalizer | |
*/ | |
public function __construct( | |
TokenizerInterface $tokenizer, | |
Document\NormalizerInterface $documentNormalizer = null, | |
Token\NormalizerInterface $tokenNormalizer = null | |
) { | |
$this->tokenizer = $tokenizer; | |
$this->documentNormalizer = $documentNormalizer; | |
$this->tokenNormalizer = $tokenNormalizer; | |
} | |
public function __invoke($data) | |
{ | |
foreach ($data as $category => $documents) { | |
foreach ($documents as $index => $document) { | |
if ($this->documentNormalizer) { | |
$document = $this->documentNormalizer->normalize($document); | |
} | |
$tokens = $this->tokenizer->tokenize($document); | |
if ($this->tokenNormalizer) { | |
$tokens = $this->tokenNormalizer->normalize($tokens); | |
} | |
$data[$category][$index] = $tokens; | |
} | |
} | |
return $data; | |
} |