Автоматизированный подход к семантическому поиску по программной документации на основе алгоритма Doc2Vec
Ключевые слова:
поддержка программного обеспечения, автоматизация, doc2vec, машинное обучение, семантический поиск, документацияАннотация
Введение: одним из значимых этапов жизненного цикла разработки программного обеспечения является этап его поддержки, когда заказчики могут обращаться в службу поддержки компании поставщика с вопросами, проблемами и предложениями. Для решения поступившего запроса инженеры пользуются соответствующей документацией. С целью снизить трудоемкость и повысить качество этапа сопровождения можно автоматизировать поиск необходимых страниц, параграфов и предложений документации. Цель: разработка подхода к семантическому поиску по документации с использованием алгоритма машинного обучения Doc2Vec для автоматизации решения запросов заказчиков. Результаты: предложен подход к семантическому поиску по текстовым файлам документации и вики-страницам с использованием алгоритма машинного обучения Doc2Vec. Страницы документации, которые имеют семантическое сходство с текстовым описанием неразрешенного запроса заказчика, помогают разработчику более эффективно обрабатывать входящий запрос. На базе предложенного подхода разработан программный инструмент, предоставляющий инженеру отчет со ссылками на семантически близкие к нерешенному запросу страницы документации. Во время испытаний инструмента установлены оптимальные параметры алгоритма Doc2Vec, которые обеспечивают необходимое качество семантического поиска. Идея эксперимента заключалась в применении инструмента к нерешенным запросам и оценке его эффективности. Предложенный подход и реализующий его инструмент успешно протестированы на проекте с открытым исходным кодом Apache Kafka. В рамках эксперимента загружено и проанализировано 100 запросов из системы отслеживания ошибок Jira. Результаты эксперимента показывают преимущество использования инструмента в процессе поддержки программного продукта. Среднее время анализа документации сократилось по сравнению с традиционным ручным подходом. Практическая значимость: результаты исследований использованы при решении реальных запросов заказчиков. Разработанный подход и реализованное на его основе программное средство позволяют сократить трудоемкость этапа сопровождения.