gribanov / analyzer-text
文本分析器
v1.0.1
2019-11-07 13:51 UTC
Requires
- php: >=5.3.0
Requires (Dev)
- php-coveralls/php-coveralls: ^1.0
- phpunit/phpunit: ^4.8.36
- scrutinizer/ocular: ~1.2
This package is auto-updated.
Last update: 2024-09-08 00:47:14 UTC
README
文本分析器
用于分析任意文本并从中提取最大信息的工具
文本
在应用中,文本表示为对象迭代器,相应地,迭代器的单元格是单词对象。
$text = '...'; // некоторый текст $text_obj = new \AnalyzeText\Text($text); // @var $word \AnalyzeText\Text\Word $word = $text_obj->current();
获取到单词后,可以获取其原始形式以及用于分析的底层形式。
输入文本预期采用UTF-8编码
分析器
可以使用预安装的分析器进行文本分析,只需传递文本对象即可。
Frequency
- 计算单词在文本中的出现频率及其与最常用单词出现频率的百分比。
过滤器
包含超过3000个单词的过滤器集合,用于清理文本。
Adverb
- 副词Interjection
- 副词Particle
- 颗粒Preposition
- 介词Pronoun
- 代词Union
- 联合Informative
- 信息性词语(过滤上述所有内容)
使用方法
例如,实现自然文本分析以进行SEO优化的示例。
$frequency = new Frequency(); $frequency->setText(new Text($text)); // анализируем весь список слов $graph = array_slice(array_merge_recursive($frequency->getFrequency(), $frequency->getPercent()), 0, 20); // фильтруем и получаем только информационные слова $frequency->applyFilters()->Informative(); $graph_filter = array_slice(array_merge_recursive($frequency->getFrequency(), $frequency->getPercent()), 0, 20);
性能
以下代码用于分析性能
$i = $ii = 1000; $start = microtime(1); while ($i--) { $frequency = new Frequency(); $frequency->setText(new Text($text))->applyFilters()->Informative(); $frequency->getFrequency(); $frequency->getPercent(); } echo (microtime(1) - $start) / $ii;
测试文本包含15190个字符,2707个单词。
结果:~0.29 c。
许可证
此包受MIT许可证约束。请参阅文件中的完整许可证:LICENSE