コード例 #1
0
 /**
  * @param string $text
  *
  * @return string[]
  */
 public function split($text)
 {
     $this->probabilityCalculator->setAbbreviations($this->getAbbreviations());
     $tokens = $this->lexer->run($text);
     $probabilities = $this->probabilityCalculator->calculate($tokens);
     $sentences = $this->sentenceBuilder->build($probabilities);
     return $sentences;
 }
コード例 #2
0
 /**
  * @param string $input
  * @param array  $expectedResult
  * @param array  $abbreviations
  */
 private function runCalculateTest($input, array $expectedResult, array $abbreviations)
 {
     $lexer = new Lexer();
     $tokens = $lexer->run($input);
     $rules = IniConfiguration::loadFile(__DIR__ . '/../../rules/rules.ini')->getRules();
     $calc = new ProbabilityCalculator($rules);
     $calc->setAbbreviations(new Abbreviations($abbreviations));
     $probabilities = $calc->calculate($tokens);
     $actual = [];
     foreach ($probabilities as $probability) {
         $token = $probability->getToken();
         if ($token instanceof WordToken || $token instanceof CapitalizedWordToken || $token instanceof WhitespaceToken || $token instanceof EOFToken) {
             continue;
         }
         $actual[] = $token->getName() . ' ' . $probability->getProbability();
     }
     $this->assertEquals($expectedResult, $actual);
 }