Задача: Семантический анализ и построение матрицы на Python

Необходимо разработать программу на Python для обработки корпуса философских трактатов пяти восточных мыслителей. Цель - осуществить семантическую сегментацию текстов, сопоставить сегменты со списком из 750 ключевых слов и сформировать бинарную матрицу совпадений.

Что требуется реализовать:

1. Предобработка текстов

  • Очистка текстов от шумов (пунктуация, лишние символы)
  • Лемматизация с использованием библиотек, специализированных для русского языка (например, Natasha или PyMorphy2). Обязательно учесть грамматические формы и морфологию.

2. Сегментация

  • Разбить каждое произведение на логические блоки (по абзацам или смысловым единицам). Каждый блок становится отдельной строкой будущей матрицы.

3. Семантический поиск

  • Сопоставить каждый сегмент с готовым списком из 750 ключевых слов (на русском).
  • Использовать векторные модели (например, SBERT, FastText или аналоги) для поиска не только точных совпадений, но и семантических синонимов.
  • Установить порог сходства (cosine similarity). При превышении порога в ячейку записывается числовое значение (1 или заданное число).

4. Формирование результата

  • Построить бинарную матрицу: строки - сегменты текстов, столбцы - ключевые слова.
  • Сохранить в формате CSV (pandas).

Требования к исполнителю:

  • Опыт работы с NLP-библиотеками (лангуажные модели, эмбеддинги).
  • Владение инструментами Pandas для работы с большими матрицами.
  • Умение работать с текстами на русском языке (морфология, лемматизация).

Результат работы:

Исходный код одного файла (.py или .ipynb) и итоговый файл .csv с бинарной матрицей.