src/NGrams/NGramFactory.php
/**
    * Generate Ngrams from the tokens
    * @param array $tokens
    * @param int $nGramSize
    * @return  array return an array of the ngrams
    */
Generate Ngrams from the tokens
@param array $tokens
@param int $nGramSize
@return  array return an array of the ngrams
Generate Ngrams from the tokens @param array $tokens @param int $nGramSize @return array return an array of the ngrams
static public function create(array $tokens, $nGramSize = self::BIGRAM, $separator = ' ') : array
    {
        $length = count($tokens) - $nGramSize + 1;
        if($length < 1) {
            return [];
        }
        $ngrams = array_fill(0, $length, ''); 
        for($index = 0; $index < $length; $index++)
        {
            for($jindex = 0; $jindex < $nGramSize; $jindex++)
            {
                $ngrams[$index] .= $tokens[$index + $jindex];
                if($jindex < $nGramSize - 1) {
                    $ngrams[$index] .= $separator;
                }
            }
        }
       return $ngrams;
    }
static public function create ( array $ tokens , $ nGramSize = self :: BIGRAM , $ separator = ' ' ) : array { $ length = count ( $ tokens ) - $ nGramSize + 1 ; if ( $ length < 1 ) { return [ ] ; } $ ngrams = array_fill ( 0 , $ length , '' ) ; for ( $ index = 0 ; $ index < $ length ; $ index ++ ) { for ( $ jindex = 0 ; $ jindex < $ nGramSize ; $ jindex ++ ) { $ ngrams [ $ index ] .= $ tokens [ $ index + $ jindex ] ; if ( $ jindex < $ nGramSize - 1 ) { $ ngrams [ $ index ] .= $ separator ; } } } return $ ngrams ; }
Generate Ngrams from the tokens
 @param array $tokens
 @param int $nGramSize
 @return  array return an array of the ngrams
Generate Ngrams from the tokens @param array $tokens @param int $nGramSize @return array return an array of the ngrams
// initialize the array //alterado a condição, pois não considera-se o tamanho do separador e sim a posição do ponteiro em relação ao tamanho do Ngram