Этот инструмент читает Excel-выгрузки новостей (столбцы id, category, publish_date, text), лемматизирует русский текст
и считает упоминания ключевых слов/фраз (включая словоформы). Вы можете считать как по леммам, так и по исходным формам.
- Импорт
.xlsx(несколько файлов/листов) - Русская лемматизация (
pymorphy2) и токенизация (razdel) - Поддержка фраз (n-грамм) и словарей ключей (строка на строку)
- Отчеты по датам: количество совпадений и сколько текстов содержат хотя бы одно совпадение
- Быстро работает за счет кэша лемм и пакетной обработки
- CLI (
rbc-keywords) + библиотечный API
pip install -e . # из корня репо
rbc-keywords parse examples/input_data.xlsx --keywords examples/key_words.txt --out outputs/Ожидается Excel с колонками:
id— идентификатор (необязательно)category— рубрика (необязательно)publish_date— ISO дата/время или датаtext— полный текст новости
key_words.txt — по одному слову или фразе на строку. Пример:
война
военные действия
спецоперация
Wildberries
Apple
В каталоге examples/ лежат примерные файлы: input_data.xlsx и key_words.txt.
# Основная обработка Excel
rbc-keywords parse input.xlsx --keywords key_words.txt --lemma --out outputs/
# Обработка папки с файлами
rbc-keywords parse data/ --keywords key_words.txt --lemma --out outputs/ --workers 4Флаги:
--lemma/--no-lemma— учитывать лемматизацию или нет (по умолчанию--lemma)--top N— выгрузить топ-N ключей по частотам--out PATH— директория для сохраненияby_date.csvиtop_keywords.csv--workers N— параллельная обработка по файлам
by_date.csv— агрегированная статистика по дням:date— дата публикации (YYYY-MM-DD)keywords_count— общее число вхождений ключейtexts_with_hits— сколько текстов содержат хотя бы одно вхождениеrow_indices— индексы строк исходной таблицы, где были совпадения
top_keywords.csv— частоты по каждому ключу (или лемме)
- Качество лемматизации зависит от качества текста и опечаток
- Для фраз порядок слов не учитывается по умолчанию (см. опцию
--ordered-phrasesв CLI)
MIT