static public function create(array $tokens, $nGramSize = self::BIGRAM, $separator = ' ') : array
    {
        $separatorLength = strlen($separator);
        $length = count($tokens) - $nGramSize + 1;
        if($length < 1) {
            return [];
        }
        $ngrams = array_fill(0, $length, ''); // initialize the array

        for($index = 0; $index < $length; $index++)
        {
            for($jindex = 0; $jindex < $nGramSize; $jindex++)
            {
                $ngrams[$index] .= $tokens[$index + $jindex];
                //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
                if($jindex < $nGramSize - 1) {
                    $ngrams[$index] .= $separator;
                }
            }
        }
       return $ngrams;
    }
static public function create(array $tokens, $nGramSize = self::BIGRAM, $separator = ' ') : array
    {
        $separatorLength = strlen($separator);
        $length = count($tokens) - $nGramSize + 1;
        if($length < 1) {
            return [];
        }
        $ngrams = array_fill(0, $length, ''); // initialize the array

        for($index = 0; $index < $length; $index++)
        {
            for($jindex = 0; $jindex < $nGramSize; $jindex++)
            {
                $ngrams[$index] .= $tokens[$index + $jindex];
                //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
                if($jindex < $nGramSize - 1) {
                    $ngrams[$index] .= $separator;
                }
            }
        }
       return $ngrams;
    }
static public function create ( array $ tokens , $ nGramSize = self :: BIGRAM , $ separator = ' ' ) : array { $ separatorLength = strlen ( $ separator ) ; $ length = count ( $ tokens ) - $ nGramSize + 1 ; if ( $ length < 1 ) { return [ ] ; } $ ngrams = array_fill ( 0 , $ length , '' ) ; // initialize the array for ( $ index = 0 ; $ index < $ length ; $ index ++ ) { for ( $ jindex = 0 ; $ jindex < $ nGramSize ; $ jindex ++ ) { $ ngrams [ $ index ] .= $ tokens [ $ index + $ jindex ] ; //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 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