Garm Lucassen · Marcel Robeer · Fabiano Dalpiaz · Jan Martijn E.M. van der Werf · Sjaak Brinkkemper
Статья посвящена извлечению зависимостей из естественного языка (NL). Авторы предлагают автоматический подход, называемый Visual Narrator, основанный на обработке естественного языка, который извлекает концептуальные модели из требований user story.
Исследование было сосредоточено на следующих трех моментах:
1) использовать обозначения из user story, которые пользуются большой популярностью среди практикующих и которые кратко выражают основные элементы требований (Кто? Что? Почему?);
2) Минимизировать человеческий контроль, предлагая полностью автоматизированный программный инструмент;
3) Добиться высокой точности с использованием различных эвристик
В качестве бейзлайна был рассмотрен метод Гримма - сочетающий в себе несколько NL методов (AQUSA, Interactive Narrator и Visual Narrator). Этот метод извлекает понятие роли, средства и цели из user story, при этом он хорошо работает только на user stories, которые отвечают популярным паттернам/шаблонам, но показывает низкую производительность в других случаях.
В текущем исследовании авторы используют 11 подходящих для данной работы различных эвристических правила в качестве первоначального подхода к анализу смысла user story.
Вот несколько примеров эвристик:
E1. «Каждое существительное является потенциальной сущностью». (Every noun is a potential entity)
R1. «Каждый глагол - потенциальная связь». (Every verb is a potential relationship).
E2. «Составное существительное указывает на сущность». (A common noun indicates an entity).
R2. «Переходный глагол указывает на связь». (A transitive verb indicates a relationship).
Следующий шаг - Visual Narrator Tool. Он принимает на вход набор пользовательских user stories и генерирует концептуальную модель в качестве вывода. В дополнение к созданию концептуальной модели Visual Narrator также может генерировать отдельные модели на роль, чтобы помочь далее сосредоточиться на отдельной роли.
Архитектура Visual Narrator состоит из двух основных компонентов: Процессора и Конструктора. Процессор анализирует и аннотирует user stories в соответствии с синтаксической моделью, а конструктор создает фактическую концептуальную модель, начиная с проанализированных историй.
Чтобы извлечь концептуальную модель из user stories, Visual Narrator реализует процедуру, которая принимает в качестве входных данных заданные user stories и пустые наборы объектов и отношений. Эта процедура заполняет наборы сущностей и отношений, анализируя истории пользователей и применяя определенные эвристики.
По итогу, существует ряд улучшений реализации Visual Narrator по сравнению с предыдущими работами. В качестве тестового набора данных использовались данные из четырех реальных проектов: CMSCompany, WebCompany, Michigan State, ArchivesSpace. Получились результаты моделирования в 97% recall и 98% precision против 88% и 92%, что соответствует уровню современных инструментов.
NL язык является наиболее принятым обозначением для требований, который, однако, не всегда дает целостный взгляд на сущности и отношения между ними. Поэтому авторы статьи полагают, что извлечение концептуальной модели может значительно облегчить обмен информацией между заинтересованными сторонами.
Предложенный метод Гримма и Visual Narrator tool, автоматически генерирующий концептуальную модель из совокупности требований, показывают положительные результаты, благодаря тщательному выбору и внедрению эвристик, дающие точные результаты в сочетании с применением этих алгоритмов на основе тщательного раскрытия синтаксических свойств user stories. Кроме того, авторы приводят множество возможных продолжений работы.
1. Abad, Z.S.H., Ruhe, G., Noaeen, M.: Requirements En- gineering Visualization: A Systematic Literature Review. In: Proceedings of the International Requirements Engi- neering Conference (RE). IEEE (2016)
2. Aguado De Cea, G., Gómez-Pérez, A., Montiel-Ponsoda, E., Suárez-Figueroa, M.C.: Natural Language-Based Ap- proach for Helping in the Reuse of Ontology Design Pat- terns. In: Proceedings of the International Conference on Knowledge Engineering and Knowledge Management (EKAW), LNCS, vol. 5268, pp. 32–47. Springer (2008)
3. Ambriola, V., Gervasi, V.: On the Systematic Analysis of Natural Language Requirements with CIRCE. Auto- mated Software Engineering 13(1), 107–167 (2006)
4. Aranda, J., Ernst, N., Horkoff, J., Easterbrook, S.: A Framework for Empirical Evaluation of Model Compre- hensibility. In: Proceedings of the Workshop on Mod- elling in Software Engineering (MiSE) (2007)
5. Arendse, B., Lucassen, G.: Toward Tool Mashups: Com- paring and Combining NLP RE Tools. In: Proceedings of the International Workshop on Artificial Intelligence for Requirements Engineering (AIRE) (2016)