定制 gribanov/analyzer-text 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

gribanov/analyzer-text

Composer 安装命令:

composer require gribanov/analyzer-text

包简介

Analyzer text

README 文档

README

Latest Stable Version PHP from Travis config Build Status Coverage Status Scrutinizer Code Quality StyleCI License

Анализатор текста

Инструмент для анализа произвольного текста и получения из него максимум информации

Текс

Текс в приложени представляется в виде объектна-итератора и соответственно ячейкой итератора является объект слова.

$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

统计信息

  • 总下载量: 13
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 9
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 9
  • Watchers: 3
  • Forks: 5
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2019-08-19

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固