webd/language

此包最新版本(v0.3)没有提供许可证信息。

语言处理库。包括字符串距离函数(Levenshtein,Jaro-Winkler等),词干提取等。

v0.3 2017-01-24 08:34 UTC

This package is auto-updated.

Last update: 2024-09-19 22:16:28 UTC


README

Latest Stable Version Total Downloads

PHP语言处理库。包括字符串距离函数(Levenshtein,Jaro-Winkler,LCS距离等),词干提取,散列等。

使用Composer进行安装

在composer.json文件中

"require": {
    "webd/language": "dev-master"
}

然后

composer install

使用方法

use webd\language\StringDistance;

$string1 = "You won 10000$";
$string2 = "You won 15500$";

echo "Edit distance : " . StringDistance::EditDistance($string1, $string2);
echo "Levenshtein : " . StringDistance::Levenshtein($string1, $string2);
echo "Jaro-Winkler : " . StringDistance::JaroWinkler($string1, $string2);
echo "Jaro-Winkler (prefix scale = 0.2) : " . StringDistance::JaroWinkler($string1, $string2, 0.2);

use webd\language\PorterStemmer;
echo "analyzing => " . PorterStemmer::Stem("analyzing");
echo "abandoned => " . PorterStemmer::Stem("abandoned");
echo "inclination => " . PorterStemmer::Stem("inclination");

$lcs = new \webd\language\LCS($str1, $str2);
echo $lcs->value();
echo $lcs->length();
echo $lcs->distance();

// SpamSum, aka ssdeep, aka Context-Triggered Piecewize Hashing (CTPH):
$s = new \webd\language\SpamSum;
echo $s->HashString(file_get_contents($f));