Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 37b5a28

Browse files
committed
update supported versions of the library
1 parent 8139f71 commit 37b5a28

File tree

3 files changed

+22
-10
lines changed

3 files changed

+22
-10
lines changed

‎src/Stemmers/SnowballStemmer.php

Lines changed: 20 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44
namespace TextAnalysis\Stemmers;
55

66
use TextAnalysis\Interfaces\IStemmer;
7+
use Wamania\Snowball\StemmerFactory;
8+
79

810
/**
911
* A wrapper around PHP native snowball implementation
@@ -18,17 +20,27 @@ class SnowballStemmer implements IStemmer
1820
* @var \Wamania\Snowball\Stem
1921
*/
2022
protected $stemmer;
21-
22-
public function __construct($stemmerType = 'English')
23+
24+
/**
25+
* @throws \Wamania\Snowball\NotFoundException
26+
*/
27+
public function __construct(string $stemmerType = 'English')
2328
{
24-
$className = self::BASE_NAMESPACE.$stemmerType;
25-
if(!class_exists($className)) {
26-
throw new \RuntimeException("Class {$stemmerType} does not exist");
29+
$version = (int)\Composer\InstalledVersions::getVersion('wamania/php-stemmer')[0];
30+
if($version === 1){
31+
$className = self::BASE_NAMESPACE.$stemmerType;
32+
if(!class_exists($className)) {
33+
throw new \RuntimeException("Class {$stemmerType} does not exist");
34+
}
35+
$this->stemmer = new $className();
36+
}
37+
// support version 2 and above
38+
else {
39+
$this->stemmer = StemmerFactory::create (strtolower($stemmerType));
2740
}
28-
$this->stemmer = new $className();
2941
}
30-
31-
public function stem($token)
42+
43+
public function stem($token) : string
3244
{
3345
return $this->stemmer->stem($token);
3446
}

‎tests/TextAnalysis/Comparisons/CosineSimilarityComparisonTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ public function testIdentical()
1616
$text1 = ["hiking" , "camping", "swimming"];
1717
$text2 = ["hiking" , "camping", "swimming"];
1818
$compare = new CosineSimilarityComparison();
19-
$this->assertEquals(1.0, $compare->similarity($text1, $text2));
19+
$this->assertEquals(1.0, round($compare->similarity($text1, $text2), 1));
2020

2121
}
2222

‎tests/TextAnalysis/Sentiment/VaderTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ public function testBoostExclamationPoints()
4444
$this->assertEquals(0, $vader->boostExclamationPoints(['empty']));
4545
$this->assertEquals(0.292, $vader->boostExclamationPoints(array_fill(0,1,'!')));
4646
$this->assertEquals(0.584, $vader->boostExclamationPoints(array_fill(0,2,'!')));
47-
$this->assertEquals(0.876, $vader->boostExclamationPoints(array_fill(0,3,'!')));
47+
$this->assertEquals(0.876, round($vader->boostExclamationPoints(array_fill(0,3,'!')), 5));
4848
$this->assertEquals(1.168, $vader->boostExclamationPoints(array_fill(0,4,'!')));
4949
$this->assertEquals(1.168, $vader->boostExclamationPoints(array_fill(0,5,'!')));
5050
}

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /