Телефон: 8-800-350-22-65
Напишите нам:
WhatsApp:
Telegram:
MAX:
Прием заявок круглосуточно
График работы офиса: с 9:00 до 21:00 Нск (с 5:00 до 19:00 Мск)

Статья опубликована в рамках: CI Международной научно-практической конференции «Вопросы технических и физико-математических наук в свете современных исследований» (Россия, г. Новосибирск, 22 июля 2026 г.)

Наука: Информационные технологии

Секция: Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей

Скачать книгу(-и): Сборник статей конференции

Библиографическое описание:
Яковлев К.А., Березницкий Д.С., Муштей В.М. ПРИМЕНЕНИЕ БОЛЬШИХ ЯЗЫКОВЫХ МОДЕЛЕЙ ДЛЯ АВТОМАТИЗАЦИИ АНАЛИЗА ТРЕБОВАНИЙ К ПРОГРАММНОМУ ОБЕСПЕЧЕНИЮ // Вопросы технических и физико-математических наук в свете современных исследований: сб. ст. по матер. CI междунар. науч.-практ. конф. № 7(92). – Новосибирск: СибАК, 2026. – С. 18-22.
Проголосовать за статью
Дипломы участников
У данной статьи нет
дипломов

ПРИМЕНЕНИЕ БОЛЬШИХ ЯЗЫКОВЫХ МОДЕЛЕЙ ДЛЯ АВТОМАТИЗАЦИИ АНАЛИЗА ТРЕБОВАНИЙ К ПРОГРАММНОМУ ОБЕСПЕЧЕНИЮ

Яковлев Кирилл Андреевич

студент, Дальневосточный федеральный университет,

РФ, г. Владивосток

Березницкий Данил Сергеевич

студент, Дальневосточный федеральный университет,

РФ, г. Владивосток

Муштей Владислав Максимович

студент, Дальневосточный федеральный университет,

РФ, г. Владивосток

APPLICATION OF LARGE LANGUAGE MODELS FOR AUTOMATING SOFTWARE REQUIREMENTS ANALYSIS

 

Yakovlev Kirill Andreevich

Student, Far Eastern Federal University,

Russia, Vladivostok

Bereznitskiy Danil Sergeevich

Student, Far Eastern Federal University,

Russia, Vladivostok

Mushtey Vladislav Maksimovich

Student, Far Eastern Federal University,

Russia, Vladivostok

 

АННОТАЦИЯ

Цель. Оценить применимость больших языковых моделей для автоматизации анализа требований к программному обеспечению. Метод. Предложен четырёхшаговый подход, включающий разбиение технического задания на фрагменты с перекрытием, извлечение требований моделью в структурированном формате, устранение дубликатов по косинусной близости векторных представлений и проверку итогового списка на согласованность. Результат. На выборке из 40 технических заданий полнота извлечения требований составила 0,89 при точности 0,87, доля верных отнесений по типу требования достигла 0,91, при поиске противоречий обнаружено 19 из 27. Выводы. Подход превосходит правиловые методы по обеим основным метрикам и сокращает объём ручной работы аналитика, однако полная замена специалиста пока невозможна из-за недетерминированности результата.

ABSTRACT

Background. The study evaluates the applicability of large language models to automating software requirements analysis. Methods. A four-step approach is proposed: splitting the specification into overlapping fragments, extracting requirements in a structured format, removing duplicates by cosine similarity of embeddings, and consistency checking. Result. On 40 technical specifications the recall reached 0.89 at a precision of 0.87, the share of correct type assignments reached 0.91, and 19 of 27 contradictions were detected. Conclusion. The approach outperforms rule-based methods and reduces manual workload, yet cannot fully replace a specialist because of the non-deterministic output.

 

Ключевые слова: большие языковые модели; инженерия требований; анализ требований; обработка естественного языка; автоматизация разработки ПО.

Keywords: large language models; requirements engineering; requirements analysis; natural language processing; software development automation.

 

Анализ требований остаётся одним из самых трудоёмких этапов жизненного цикла программного обеспечения. По разным оценкам, на него уходит от 15 до 30 процентов времени проекта, а ошибки, допущенные на этой стадии, обходятся дороже всего: исправление дефекта требования на этапе эксплуатации стоит в десятки раз больше, чем на этапе его формулирования [1]. Основная сложность в том, что исходные требования почти всегда поступают в виде неструктурированного текста на естественном языке, который аналитик вручную вычитывает, разбивает на отдельные требования и проверяет на непротиворечивость.

Появление больших языковых моделей даёт основание пересмотреть подход к этой задаче. В отличие от классических методов обработки естественного языка, основанных на шаблонах и правилах, языковые модели учитывают контекст всего документа и работают с формулировками, которые не встречались им в явном виде при обучении, в том числе в режиме обучения по нескольким примерам без дообучения [3; 4]. Цель работы состоит в том, чтобы оценить, насколько современные модели пригодны для практического применения в инженерии требований.

Формально задача ставится так. Имеется документ на естественном языке, и требуется получить три результата. Первый это множество атомарных требований, каждое из которых описывает ровно одно свойство или функцию системы. Второй это разметка требований по типу с делением на функциональные и нефункциональные, где последние дополнительно разбиваются на категории производительности, безопасности, удобства использования и совместимости. Третий это список проблемных мест, куда входят неоднозначные формулировки вроде слов «быстро» или «при необходимости» без количественных уточнений, а также пары требований, вступающих в логическое противоречие.

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

На третьем шаге удаляются дубликаты. Из-за перекрытия одно требование может быть извлечено дважды, поэтому требования сравниваются по косинусной близости их векторных представлений, и пары с близостью выше 0,92 объединяются. На четвёртом шаге модель получает нормализованный список целиком и проверяет его на согласованность, выявляя противоречия вида «данные хранятся не менее пяти лет» и «данные удаляются через 12 месяцев».

В экспериментах в качестве основной языковой модели использовалась GPT-4o версии gpt-4o-2024-08-06, доступ к которой осуществлялся через программный интерфейс с температурой генерации 0, параметром top_p, равным единице, и ограничением ответа в 4096 токенов, что позволяло уменьшить разброс результатов между повторными запусками. Извлечение требований выполнялось в режиме обучения по трём примерам без дообучения модели. Для построения векторных представлений при удалении дубликатов применялась отдельная многоязычная модель эмбеддингов multilingual-e5-large, развернутая локально, что позволяло сравнивать требования на русском языке.

Для проверки была собрана выборка из 40 технических заданий на разработку информационных систем общим объёмом около 210 страниц, оформленных в соответствии с требованиями к техническому заданию [2]. Эталонную разметку выполняли два независимых эксперта, спорные случаи разрешались обсуждением; всего эталон содержит 1148 требований. Сравнивались три конфигурации: правиловый экстрактор по модальным словам «должен» и «требуется», языковая модель без примеров в запросе и полный предложенный подход.

Правиловый метод показал полноту 0,63 при точности 0,71, пропустив значительную часть требований без модальных глаголов. Модель без примеров дала полноту 0,81 и точность 0,79 с заметной долей ложных срабатываний на пояснительных фрагментах текста. Полный подход показал полноту 0,89 и точность 0,87, что соответствует F1-мере 0,88. Классификация по типу оказалась проще: доля верных отнесений составила 0,91, а основная часть ошибок пришлась на границу между производительностью и надёжностью. Поиск противоречий дал более скромный результат: из 27 заложенных противоречий модель обнаружила 19 при 11 ложных сигналах.

У подхода есть ограничения. Ответы модели недетерминированы, и при повторном запуске список требований может незначительно меняться; снижение температуры генерации уменьшает разброс, но не устраняет его. Технические задания часто содержат сведения, которые нельзя передавать во внешние сервисы, что вынуждает разворачивать модель локально либо ограничиваться обезличенными фрагментами. Кроме того, качество заметно падает на документах с нестандартной структурой, где требования перемешаны с посторонними репликами.

Проведённое исследование показывает, что большие языковые модели уже сегодня применимы для автоматизации рутинной части анализа требований и превосходят правиловые методы по обеим основным метрикам, заметно сокращая объём ручной работы [5]. Вместе с тем полная замена специалиста пока невозможна из-за недетерминированности результата и невысокой полноты при поиске противоречий. Дальнейшая работа видится в дообучении открытой модели на корпусе размеченных технических заданий и в разработке метрики уверенности модели по каждому извлечённому требованию.

 

Список литературы:

  1. Вигерс К., Битти Дж. Разработка требований к программному обеспечению. — 3-е изд. — СПб.: БХВ-Петербург, 2014. — 736 с.
  2. ГОСТ 34.602—2020. Информационные технологии. Комплекс стандартов на автоматизированные системы. Техническое задание на создание автоматизированной системы. — М.: Стандартинформ, 2021. — 16 с.
  3. Natural language processing for requirements engineering: a systematic mapping study / L. Zhao, W. Alhoshan, A. Ferrari [et al.] // ACM Computing Surveys. — 2021. — Vol. 54, № 3. — P. 1—41.
  4. Language models are few-shot learners / T. Brown, B. Mann, N. Ryder [et al.] // Advances in Neural Information Processing Systems. — 2020. — Vol. 33. — P. 1877—1901.
  5. Arora C., Grundy J., Abdelrazek M. Advancing requirements engineering through generative AI [Электронный ресурс]. — Режим доступа: https://arxiv.org/abs/2310.13976 (дата обращения: 17.07.2026).
Проголосовать за статью
Дипломы участников
У данной статьи нет
дипломов