Отчет по практикеПрограммированиеГод: 2025Росдистант
👁 11💼 0

Готовый отчет: извлечение ключевых слов из текстов

Загружена: 18.02.2026 10:31

Система автоматического извлечения ключевых слов из исторических текстов. Описаны функциональность Python-CLI, предобработка (токенизация, лемматизация, удаление стоп‑слов), векторизация TF‑IDF и/или spaCy, сохранение в CSV и построение облака слов. Ускоряет первичный анализ источников и формирование терминологических списков.

Содержание

ОТЧЕТ
Производственная практика (практика в ИТ-сфере)
1.	Постановка задачи на практику
2.	Описание программного продукта и используемых технологий
3.	Структура и описание функциональности программного продукта
4.	Заключение
5.	Список использованных источников

Практическое задание №2
по учебному курсу «Производственная практика (практика в ИТ‑сфере)»
1. Задачи и функции программного решения
2. Форма программного продукта
3. Использованные технологии и инструменты
4. Исходный код
5. Заключение

Подробное описание

📘 О чем эта работа

Отчет описывает практическое задание по разработке консольного Python-приложения для автоматического извлечения ключевых слов из исторических текстов. В качестве предмета показаны алгоритмы предобработки (токенизация, очистка от пунктуации, лемматизация, удаление стоп‑слов) и методы векторизации текста (TF‑IDF и встроенные эмбеддинги spaCy); объект — корпус исторических текстов (демо‑файлы example1.txt, example2.txt, example3.txt и пользовательские txt/docx/pdf).

📚 Что внутри

В отчете подробно описаны состав и структура программного продукта, примеры входных файлов и результаты работы:

  • Реализовано CLI-приложение, запускаемое командой python keyword_extractor.py <путь_к_файлу_текста>, пример входов: example1.txt (Французская революция), example2.txt (Крымская война), example3.txt (Промышленная революция).
  • Предобработка: токенизация через NLTK, фильтрация non‑alpha токенов, приведение к нижнему регистру и лемматизация с использованием pymorphy3 (приведен фрагмент кода с nltk.word_tokenize и фильтрацией).
  • Векторизация: TF‑IDF из scikit‑learn и опциональные эмбеддинги spaCy для ранжирования терминов по информативности.
  • Выходы: сохранение списка терминов и частот/оценок в CSV (формат: term, score), вывод результатов в консоль и генерация облака слов через wordcloud и matplotlib (показан фрагмент построения wordcloud и вызов plt.show()).
  • Перечень использованных библиотек и среды: Python 3.11, nltk, pymorphy3, scikit‑learn, spaCy, pandas, matplotlib, wordcloud, VS Code; зависимости в requirements.txt.
  • В отчете есть инструкции по разворачиванию: установка зависимостей, пример запуска с demo‑файлом и указание на Git-репозиторий с кодом.

📊 Для кого подходит

Подходит студентам исторических и гуманитарных направлений, изучающим цифровые методы, а также студентам IT/информатики для практики в обработке естественного языка. Полезно при подготовке тематических словарей, ускорении обработки больших архивов источников и для лабораторных/практических работ.

✨ Особенности

Практический прототип демонстрирует рабочий конвейер от загрузки текстов (txt/docx/pdf) до выдачи ранжированного списка терминов и графической визуализации в виде облака. В отчете указаны конкретные технологические решения: использование pymorphy3 для русской лемматизации, комбинирование TF‑IDF и spaCy-эмбеддингов для более устойчивого ранжирования, а также формат CSV-вывода для последующей обработки в pandas.

Реализованы меры предобработки, позволяющие корректно работать с историческими терминами (удаление пунктуации, фильтрация неалфавитных токенов, удаление стоп‑слов). В приложении приведены примерные тексты и скриншоты работы программы.

❓ Частые вопросы

Подойдет ли для моего ВУЗа?
Структура отчета и прикладного кода соответствует требованиям практики: постановка задач, описание модулей, фрагменты кода, результаты и список использованных источников.

Можно адаптировать?
Да. Код модульный: легко заменить список стоп‑слов, обучить/подключить специализированные модели spaCy, переключиться на другие метрики ранжирования или добавить веб‑интерфейс. В отчете указаны направления развития: обучение на специализированных корпусах и интеграция веб‑интерфейса.

Контент отчета конкретен: указаны названия файлов примеров, команды запуска, используемые библиотеки и ожидаемые форматы выходных CSV и изображений облака слов.