Плагин AutoKey предназначен для автоматической генерации ключевых слов (keywords) из текстового контента. Он анализирует входной текст, очищает его от лишних символов и стоп-слов, выделяет наиболее часто встречающиеся слова и формирует список ключевых слов, который можно использовать для SEO-оптимизации, тегов или других целей
ID: autokeys
Name: Auto Keywords
Version: 0.4
Acts: admin:mod:news
Actions: rpc;lib/librpc.php
File: autokeys.php
Config:config.php
Type: plugin
Description: Автоматическое добавление поля keywords
Author: Maxym A. Dogadaylo
Основные возможности плагина1.
Генерация ключевых слов: - Плагин анализирует текст и выделяет слова, которые встречаются чаще всего.
- Поддерживает настройку минимальной и максимальной длины слов, а также минимального количества упоминаний слова в тексте.
2.
Фильтрация стоп-слов: - Позволяет исключать нежелательные слова (например, предлоги, союзы, частицы) из списка ключевых слов.
- Поддерживает пользовательские списки стоп-слов.
3.
Настройка параметров: - Минимальная и максимальная длина слов.
- Минимальное количество упоминаний слова в тексте.
- Лимит на количество генерируемых ключевых слов.
4.
Очистка текста: - Удаляет HTML-теги, знаки препинания и другие символы, которые могут мешать анализу.
- Приводит текст к нижнему регистру для унификации обработки.
5.
Добавление заголовков: - Поддерживает возможность добавления заголовка (title) в анализируемый текст с указанием количества повторений.
6.
Интеграция с внешними параметрами: - Плагин использует конфигурацию, которая может быть передана через параметры или взята из настроек системы.
Как работает плагин 1. Инициализация
При создании экземпляра класса
`AutoKey` передаются параметры конфигурации, такие как:
- Текст для анализа
(`content`).
- Заголовок
(`title`), который может быть добавлен в текст.
- Настройки минимальной и максимальной длины слов, минимального количества упоминаний и лимита на количество ключевых слов.
- Списки "хороших" и "плохих" слов (
`good_array` и `block_array`).
Пример инициализации:
Код:
$cfg = [
'content' => 'Это пример текста для анализа.',
'title' => 'Пример заголовка',
'min_word_length' => 3,
'max_word_length' => 15,
'min_word_occur' => 2,
'word_count' => 10,
'block_array' => "и\nв\nна",
];
$keyword = new AutoKeyword($cfg, "utf-8");
2. Очистка текста
Метод
`replace_chars` выполняет предварительную обработку текста:
- Приводит текст к нижнему регистру.
- Удаляет HTML-теги и знаки препинания.
- Заменяет стоп-слова и ненужные символы пробелами.
Пример очистки:
Код:
$content = "Это пример текста, который нужно проанализировать!";
// Результат: "это пример текста который нужно проанализировать"
3. Анализ текста
Метод
`parse_words` выполняет основную работу:
- Разбивает текст на слова.
- Фильтрует слова по заданным параметрам (длина, частота, стоп-слова).
- Считает частоту встречаемости каждого слова.
- Выбирает наиболее релевантные слова и ограничивает их количество.
Пример анализа:
Код:
$text = "Это пример текста. Пример текста — это важно.";
// Результат: ["пример", "текста", "это", "важно"]
4. Генерация ключевых слов
Метод
`implode` формирует финальный список ключевых слов, разделяя их запятыми.
Пример результата:
Код:
$keywords = $keyword->parse_words();
// Результат: "пример, текста, это, важно"
Пример использованияВходные данные:
Код:
$params = [
'content' => 'Это пример текста для анализа. Пример текста — это важно.',
'title' => 'Пример заголовка',
'min_word_length' => 3,
'max_word_length' => 15,
'min_word_occur' => 2,
'word_count' => 5,
'block_array' => "и\nв\nна",
];
$keywords = akeysGetKeys($params);
echo $keywords;
Выходные данные:
Код:
пример, текста, это, важно
Дополнительные возможности1. Лемматизация:
- Можно интегрировать библиотеку `morphos` или другой лемматизатор для приведения слов к базовой форме (например, "книга", "книги", "книгу" → "книга").
2. Склонение слов:
- Использование библиотеки `morphos` позволяет склонять ключевые слова по падежам для различных языковых задач.
3. Генерация числительных:
- Если текст содержит числа, можно использовать классы `CardinalNumeralGenerator` и `OrdinalNumeralGenerator` для преобразования чисел в текст.
4. Работа с валютами и временными интервалами:
- Классы `MoneySpeller` и `TimeSpeller` позволяют генерировать текстовые представления денежных сумм и временных интервалов.
Преимущества плагина1. Гибкость:
- Поддерживает настройку параметров под конкретные задачи.
- Легко интегрируется с другими библиотеками для расширения функционала.
2. Производительность:
- Эффективно обрабатывает тексты любого размера благодаря оптимизированным алгоритмам.
3. SEO-оптимизация:
- Генерирует релевантные ключевые слова, которые можно использовать для улучшения видимости контента в поисковых системах.
Заключение
Плагин AutoKey — это мощный инструмент для автоматической генерации ключевых слов из текстового контента. Он прост в использовании, легко настраивается и может быть расширен за счет интеграции с дополнительными библиотеками, такими как `morphos`. Этот плагин станет полезным помощником для SEO-специалистов, контент-менеджеров и разработчиков, работающих с текстовыми данными.
Скачать:autokeys.zip