genTrie() public static méthode

Static method genTrie
public static genTrie ( string $f_name, array $options = [] ) : array
$f_name string # input f_name
$options array # other options
Résultat array self::$trie
Exemple #1
0
 /**
  * Static method init
  *
  * @param array $options # other options
  *
  * @return void
  */
 public static function init($options = array())
 {
     $defaults = array('mode' => 'default', 'dict' => 'normal');
     $options = array_merge($defaults, $options);
     if ($options['mode'] == 'test') {
         echo "Building Trie...\n";
     }
     if ($options['dict'] == 'small') {
         $f_name = "dict.small.txt";
         self::$dictname = "dict.small.txt";
     } elseif ($options['dict'] == 'big') {
         $f_name = "dict.big.txt";
         self::$dictname = "dict.big.txt";
     } else {
         $f_name = "dict.txt";
         self::$dictname = "dict.txt";
     }
     $t1 = microtime(true);
     self::$trie = Jieba::genTrie(dirname(dirname(__FILE__)) . "/dict/" . $f_name);
     foreach (self::$FREQ as $key => $value) {
         self::$FREQ[$key] = log($value / self::$total);
     }
     self::$min_freq = min(self::$FREQ);
     if ($options['mode'] == 'test') {
         echo "loading model cost " . (microtime(true) - $t1) . " seconds.\n";
         echo "Trie has been built succesfully.\n";
     }
 }