gpupo / similarity
该包已被废弃,不再维护。未建议替代包。
计算字符串和数字之间的相似度,工作方式与diff工具不同
2.0.0
2019-12-27 19:44 UTC
Requires
- php: ^7.0
Requires (Dev)
- gpupo/common-dev: ^5.0
This package is auto-updated.
Last update: 2023-04-11 00:33:35 UTC
README
计算字符串或数字之间的相似度
- 支持 停用词
- 工作方式与diff工具不同
使用要求
- PHP >= 5.6
- curl 扩展
- Composer 依赖管理器
此组件 不是一个独立应用程序,其目标是作为库使用。其部署应由经验丰富的开发者执行。
这不是一个插件!
仅通过命令行模式工作的选项仅用于开发模式下的调试。
最重要的文档位于单元测试中。如果您无法阅读单元测试,我建议您不要使用此库。
版权和许可证
此组件受 MIT 许可证 保护
有关版权和许可证信息,您必须阅读随此代码一起分发的 许可证 文件。
许可证摘要
要求
- 许可证和版权声明
允许
- 商业使用
- 修改
- 分发
- 再许可
禁止
- 责任保证
质量指标
感谢
使用方法
示例 1,带有停用词
$stringA = 'Av. Padre Anchieta 1873 - Champagnat - Curitiba - Brasil'; $stringB = 'Brasil - Parana - Curitiba - Champagnat - ' .'Rua Padre Anchieta 1873 - Perto da Avenida'; $stopwordsList = explode(',', 'Av,Rua,Avenida,perto,da,de,e,em,o'); $s = new Similarity(); $s->setValues($stringA, $stringB); $s->setAccuracy(80); // 1-100 accuracy value $s->setStopwords($stopwordsList); $similar = $s->hasSimilarity(); //true
示例 2,链式方法调用
$s = new Similarity(); $result = $s->setValues($stringA, $stringB)->setAccuracy(60) ->setStopwords($stopwordsList)->hasSimilarity();
示例 3,数字
$s = new Similarity(); $resultA = $s->setNumberValues('1530D',1510)->hasSimilarity(); // true $resultB = $s->setNumberValues('3D',4)->hasSimilarity(); // true $resultC = $s->setNumberValues('100B',205)->hasSimilarity(); // false $resultD = $s->setNumberValues('20',2)->hasSimilarity(); // false $resultE = $s->setNumberValues('3 - D 4',34)->hasSimilarity(); // true
安装
推荐的安装方法是 通过 composer。
{ "require": { "gpupo/similarity": "dev-master" } }
链接
- Similarity Composer Package 在 packagist.org
测试
所有测试都在每次提交时自动运行,在OSx
和Linux
环境下,使用PHP版本5.3
、5.4
、5.5
、5.6
、7.0
和hhvm
,通过Travis执行。
在本地运行测试套件
$ phpunit
查看testdox输出
$ phpunit --testdox
对象属性
Similarity\Input\Decorator
- 清理字符
- 清理数字
Similarity\Input\InputNumber
- 清理忽略的字符
Similarity\Input\InputString
- 清理忽略的字符
- 清理停用词
Similarity\SimilarNumber
- 成功找到相似性
- 成功找到邻近性
- 成功找到具有远程数字的邻近性
Similarity\SimilarText
- 成功找到百分比相似性
- 成功找到无相似性的文本的百分比
- 成功找到levenshtein距离
Similarity\Similarity
- 成功断言字符串相似性
- 成功断言短语不同
- 成功断言数字相似性
- 成功断言近似数字相似性
- 成功断言不同数字
- 提高准确性的能力
- 降低准确性的能力
- 注入停用词的能力
依赖库列表
名称 | 版本 | 描述 |
---|---|---|
codeclimate/php-test-reporter | v0.4.4 | 用于向Code Climate报告测试覆盖率的PHP客户端 |
doctrine/instantiator | 1.0.5 | 一个小巧轻便的实用工具,用于在PHP中实例化对象而不调用其构造函数 |
gpupo/cache | 1.3.0 | 实现PSR-6的缓存库 |
gpupo/common | 1.7.6 | 常用对象 |
gpupo/common-sdk | 2.2.15 | 在PHP应用程序与RESTful web服务之间进行集成时通用的组件 |
guzzle/guzzle | v3.9.3 | PHP HTTP客户端。此库已被弃用,建议使用https://packagist.org.cn/packages/guzzlehttp/guzzle |
monolog/monolog | 1.22.1 | 将您的日志发送到文件、套接字、收件箱、数据库和各种Web服务 |
myclabs/deep-copy | 1.6.0 | 创建对象的深拷贝(克隆) |
padraic/humbug_get_contents | 1.0.4 | 用于PHP 5.3+访问HTTPS资源的安全包装器,用于file_get_contents |
padraic/phar-updater | 1.0.3 | 一个使PHAR自更新变得简单和安全的东西 |
phpdocumentor/reflection-common | 1.0 | phpdocumentor用于反射代码结构时使用的常用反射类 |
phpdocumentor/reflection-docblock | 3.1.1 | 通过此组件,库可以提供通过DocBlocks或以其他方式检索信息以支持注释的支持。 |
phpdocumentor/type-resolver | 0.2.1 | |
phpspec/prophecy | v1.7.0 | 适用于PHP 5.3+的高度意见化的模拟框架 |
phpunit/php-code-coverage | 4.0.7 | 提供收集、处理和渲染PHP代码覆盖率信息的功能的库。 |
phpunit/php-file-iterator | 1.4.2 | 根据后缀列表过滤文件的FilterIterator实现。 |
phpunit/php-text-template | 1.2.1 | 简单的模板引擎。 |
phpunit/php-timer | 1.0.9 | 计时实用程序类。 |
phpunit/php-token-stream | 1.4.11 | PHP的tokenizer扩展的包装器。 |
phpunit/phpunit | 5.7.17 | PHP单元测试框架。 |
phpunit/phpunit-mock-objects | 3.4.3 | PHPUnit的模拟对象库 |
psr/cache | 1.0.0 | 缓存库的通用接口 |
psr/log | 1.0.2 | 日志库的通用接口 |
satooshi/php-coveralls | v1.0.1 | 用于Coveralls API的PHP客户端库 |
sebastian/code-unit-reverse-lookup 1.0.1 | 查找代码行所属的函数或方法 | |
sebastian/comparator | 1.2.4 | 提供比较PHP值是否相等的函数 |
sebastian/diff | 1.4.1 | 差异实现 |
sebastian/environment | 2.0.0 | 提供处理HHVM/PHP环境的函数 |
sebastian/exporter | 2.0.0 | 提供导出PHP变量以进行可视化的功能 |
sebastian/global-state | 1.1.1 | 全局状态的快照 |
sebastian/object-enumerator | 2.0.1 | 遍历数组结构和对象图以枚举所有引用的对象 |
sebastian/peek-and-poke | dev-master a8295 | 访问对象非公共属性和方法的代理 |
sebastian/recursion-context | 2.0.0 | 提供递归处理PHP变量的功能 |
sebastian/resource-operations | 1.0.0 | 提供操作资源的相关PHP内置函数列表 |
sebastian/version | 2.0.1 | 帮助管理Git托管PHP项目版本号的库 |
symfony/config | v3.2.6 | Symfony 配置组件 |
symfony/console | v3.2.6 | Symfony 控制台组件 |
symfony/debug | v3.2.6 | Symfony 调试组件 |
symfony/event-dispatcher | v2.8.18 | Symfony 事件调度器组件 |
symfony/filesystem | v3.2.6 | Symfony 文件系统组件 |
symfony/polyfill-mbstring | v1.3.0 | Symfony Mbstring 扩展的polyfill |
symfony/stopwatch | v3.2.6 | Symfony Stopwatch 组件 |
symfony/yaml | v3.2.6 | Symfony Yaml 组件 |
twig/twig | v2.3.0 | Twig,PHP的灵活、快速且安全的模板语言 |
webmozart/assert | 1.2.0 | 具有良好错误信息的断言,用于验证方法输入/输出。 |