В.Р. Нуриахметов



Анализ естественного языка в
  моделировании требований
         в CASE-технологиях




       Санкт-Петербург, 2012
CASE – система PowerDesigner




                               2
Принцип моделирования требований

                                                Процесс разработки




                            Модель требований                           CASE-модель

                                                  Создание ссылок


                                                 Создание объектов
                               Требования          CASE - модели       Объекты модели
                Создание/
               Обновление
                                                 Создание требований
Документ MS Word

                              Матрица связи                              Диаграммы




                                                                                        3
Свойства требований в PowerDesigner




                                      4
Связь требований с объектами других моделей в
PowerDesigner




                                                5
Анализ связей требований с другими объектами




                                           6
Связи между требованиями




                           7
Методы анализа связей требований

   • Анализ влияния
Анализ входящих связей с целью ответа на вопрос: «Что будет
если изменить это требование?»

   • Анализ последствий
Анализ исходящих связей с целью ответа на вопрос: «Нам это
действительно нужно?»

   • Анализ покрытия
Анализ связей с целью ответа на вопрос:«Все ли учтено?»
Обычно используется для оценки прогресса работы.

                                                              8
Анализ связей между требованиями в PowerDesigner




                                               9
Проблема моделирования требований




                                    10
Дальнейшая интеллектуализация возможностей
   PowerDesigner



   На основе модели требований
   формируются концептуальные
   CASE-модели.

    Основной концептуальной
    моделью является модель
    «сущность-связь» (ERD)


Задача: извлекать
информацию о сущностях из
текстов требований.


Решение: использовать концептуальные графы      11
Модель «сущность-связь»

• Сущность - это объект, который может быть
  идентифицирован неким способом, отличающим его
  от других объектов.
• Сущность состоит из множества атрибутов, которые
  описывают ее свойства.
• Ключ сущности - это один или более атрибутов
  уникально определяющих данную сущность.
• Связь - это ассоциация, установленная между
  несколькими сущностями.



                                                 12
Концептуальные графы

     Концептуальный граф - это двудольный направленный граф,
состоящий из двух типов узлов: концептов и концептуальных
отношений, или просто отношений.




                                                               13
Пример визуализации концептуального графа системой
 TextAnalyst

    «Система управления контентом - программный
продукт, представляющий собой комплексную систему
для управления содержанием сайта».




                                                    14
Концептуальная модель требований

Концептуальная модель требований на контексте (E, A, R) есть набор
формальных понятий, концептами которого являются подматрицы, образующие
блочно-диагональную структуру.

E – множество сущностей;
A – множество атрибутов
сущностей;
R – множество отношений
между сущностями и
атрибутами.




                                                                  15
Пример блочно-диагональных разложений матрицы
         контекста


                              A1              A2       ... Ak                                        A1 A2 ... Ak
                   ~      1   1    1
                                                                                            ~        1   1
                   E1     1   1    1                                                        E1       1   1
                          1   1    1                                                                 1   1
                   ~                   1   1 1 1 1 1                                        ~                1   1
                   E2                  1   1 1 1 1 1                                        E2               1   1
                   ...                 . . .                                            ...              . . .
                   ~                                            1 1
                                                                                        ~                            1
                   Ek                                           1 1                     Ek                           1
                                                                1 1





E - множество сущностей                                    A1            A2       ...       Ak
A - множество атрибутов                       ~
                                              E1
                                                       1
                                                       1
                                                           1
                                                           1
                                                                1
                                                                1
                                                       1   1    1
                                              ~                      1   1    1
                                              E2                     1   1    1
                                                                     1   1    1

                                              ...                   . . .
                                              ~                                         1    1   1
                                              Ek                                        1    1   1
                                                                                        1    1   1


                                                                                                                         16
Этапы построения концептуального графа

1. Разделение текста ЕЯ на предложения.
2. Разделение предложений на слова, знаки пунктуации и
   другие символы.
3. Удаление стоп-слов.
4. Стэмминг.
5. Определение морфологических признаков элементов
   предложения.
6. Определение концептуальных отношений
   (синтаксический разбор предложения).
7. Выбор концептов из списка элементов предложения.


                                                         17
Алгоритм добавления атрибутов объектов
                                                          1
                                                                  Вход



                                                                                   Поиск отношений
                                                                                «атрибут» и «генетив» в
                                                                                   списке отношений
                                                              2
                                                 Да                            Нет
                                                                                         11



                             3                                                                      7
                                           Нет                                                                      Нет
                            «атрибут»                                                               «гентеив»                   11




                                Да


                                           Нахождение 1-ого концепта                                                Нахождение 2-ого концепта
                                              в списке сущностей                                                       в списке сущностей

                            4                                                                      8
                       Да                      Нет                                       Да                         Нет




                            Добавление 1-ого                                                     Добавление 2-ого
                               концепта в             6                      9                      концепта в
     5                                                                                                                    10
    2-й концепт доб-             список                                    1-й концепт доб-           список
    ся в список атр.           сущностей.                                  ся в список атр.         сущностей.
       найденной            Добавление 2-ого                                  найденной          Добавление 1-ого
        сущности               концепта в                                      сущности             концепта в
                            список атрибутов                                                     список атрибутов
                             этой сущности.                                                       этой сущности.




                                                                  11
                                                                       Выход



                                                                                                                                                18
Пример визуализации концептуального графа и
        выявления объектов и атрибутов из предложения
        текста требований




объем                                             портал
                                                  информаци
публикация
                                                  онный
большой




                                                  интернет
информация
                                                  оъем
объем




                                                              19
Детализация требований

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



                                                      источник
                                                      отсутствие
система                                               внешний
телекоммуника
ционный




                                                     электропитание
                                                     источник



                связь
                телефонный




                                                                21
Концептуальный граф второго требования
                                                      связь
                                  система             телефонный
                                  телекоммуника
                                  ционный



источник
отсутствие
внешний


                                                        абонент
                                                        активный




                                                              22
Концептуальный граф третьего требования


источник
отсутствие
внешний




                                          система
                                          телекоммуника
                                          ционный




                               электропитание
                               источник


                                                          23
Концептуальный граф четвертого требования
                                                          водитель
                                                          дежурный



источник
отсутствие
внешний




                                     система
                                     телекоммуника
                                     ционный




                    электропитание
                                               помощь
                    источник
                                               водитель
                                               скорый


                                                               24
Детализация анализируемых требований




                                       25
Экспериментальные результаты

    Вид технического                            Корректные атрибуты
         задания           Корректные объекты     для выявленных
                                                     объектов

 1. Текст ТЗ написан без
 терминов и определений           37 %                 28%


 2. Текст ТЗ содержит
 небольшое число
 терминов и определений           44%                  41%


 3. Текст ТЗ содержит
 большое число терминов
 и определений                    49%                  60%




                                                                      26
Выводы

1. Результаты, полученные из экспериментов показывают, что
   концептуальные графы применимы для извлечения объектов и
   их атрибутов из текстов требований на естественном языке и
   могут обеспечивать существенно новой информацией
   разработчиков CASE – моделей.
2. Формальный контекст служит инструментом для выбора
   значимых объектов при построении CASE – моделей.




                                                            27
Будущая работа

1. Адаптация текстового анализатора к конкретной педметной
   области.
2. Использование большего набора отношений для выявления
   объектов и атрибутов.
3. Расширение набора грамматических шаблонов для русского и
   английского языка.




                                                          28
Спасибо за внимание!

семинар Spb ling_v3

  • 1.
    В.Р. Нуриахметов Анализ естественногоязыка в моделировании требований в CASE-технологиях Санкт-Петербург, 2012
  • 2.
    CASE – системаPowerDesigner 2
  • 3.
    Принцип моделирования требований Процесс разработки Модель требований CASE-модель Создание ссылок Создание объектов Требования CASE - модели Объекты модели Создание/ Обновление Создание требований Документ MS Word Матрица связи Диаграммы 3
  • 4.
  • 5.
    Связь требований собъектами других моделей в PowerDesigner 5
  • 6.
    Анализ связей требованийс другими объектами 6
  • 7.
  • 8.
    Методы анализа связейтребований • Анализ влияния Анализ входящих связей с целью ответа на вопрос: «Что будет если изменить это требование?» • Анализ последствий Анализ исходящих связей с целью ответа на вопрос: «Нам это действительно нужно?» • Анализ покрытия Анализ связей с целью ответа на вопрос:«Все ли учтено?» Обычно используется для оценки прогресса работы. 8
  • 9.
    Анализ связей междутребованиями в PowerDesigner 9
  • 10.
  • 11.
    Дальнейшая интеллектуализация возможностей PowerDesigner На основе модели требований формируются концептуальные CASE-модели. Основной концептуальной моделью является модель «сущность-связь» (ERD) Задача: извлекать информацию о сущностях из текстов требований. Решение: использовать концептуальные графы 11
  • 12.
    Модель «сущность-связь» • Сущность- это объект, который может быть идентифицирован неким способом, отличающим его от других объектов. • Сущность состоит из множества атрибутов, которые описывают ее свойства. • Ключ сущности - это один или более атрибутов уникально определяющих данную сущность. • Связь - это ассоциация, установленная между несколькими сущностями. 12
  • 13.
    Концептуальные графы Концептуальный граф - это двудольный направленный граф, состоящий из двух типов узлов: концептов и концептуальных отношений, или просто отношений. 13
  • 14.
    Пример визуализации концептуальногографа системой TextAnalyst «Система управления контентом - программный продукт, представляющий собой комплексную систему для управления содержанием сайта». 14
  • 15.
    Концептуальная модель требований Концептуальнаямодель требований на контексте (E, A, R) есть набор формальных понятий, концептами которого являются подматрицы, образующие блочно-диагональную структуру. E – множество сущностей; A – множество атрибутов сущностей; R – множество отношений между сущностями и атрибутами. 15
  • 16.
    Пример блочно-диагональных разложенийматрицы контекста A1 A2 ... Ak A1 A2 ... Ak ~ 1 1 1 ~ 1 1 E1 1 1 1 E1 1 1 1 1 1 1 1 ~ 1 1 1 1 1 1 ~ 1 1 E2 1 1 1 1 1 1 E2 1 1 ... . . . ... . . . ~ 1 1 ~ 1 Ek 1 1 Ek 1 1 1  E - множество сущностей A1 A2 ... Ak A - множество атрибутов ~ E1 1 1 1 1 1 1 1 1 1 ~ 1 1 1 E2 1 1 1 1 1 1 ... . . . ~ 1 1 1 Ek 1 1 1 1 1 1 16
  • 17.
    Этапы построения концептуальногографа 1. Разделение текста ЕЯ на предложения. 2. Разделение предложений на слова, знаки пунктуации и другие символы. 3. Удаление стоп-слов. 4. Стэмминг. 5. Определение морфологических признаков элементов предложения. 6. Определение концептуальных отношений (синтаксический разбор предложения). 7. Выбор концептов из списка элементов предложения. 17
  • 18.
    Алгоритм добавления атрибутовобъектов 1 Вход Поиск отношений «атрибут» и «генетив» в списке отношений 2 Да Нет 11 3 7 Нет Нет «атрибут» «гентеив» 11 Да Нахождение 1-ого концепта Нахождение 2-ого концепта в списке сущностей в списке сущностей 4 8 Да Нет Да Нет Добавление 1-ого Добавление 2-ого концепта в 6 9 концепта в 5 10 2-й концепт доб- список 1-й концепт доб- список ся в список атр. сущностей. ся в список атр. сущностей. найденной Добавление 2-ого найденной Добавление 1-ого сущности концепта в сущности концепта в список атрибутов список атрибутов этой сущности. этой сущности. 11 Выход 18
  • 19.
    Пример визуализации концептуальногографа и выявления объектов и атрибутов из предложения текста требований объем портал информаци публикация онный большой интернет информация оъем объем 19
  • 20.
    Детализация требований «В условиях отсутствия внешнего источника электроэнергии телекоммуникационная система должна поддерживать телефонную связь». «В условиях отсутствия внешнего источника электроэнергии телекоммуникационная система должна поддерживать телефонную связь с активными абонентами». «В условиях отсутствия внешнего источника электроэнергии телекоммуникационная система должна поддерживать радиосвязь». «В условиях отсутствия внешнего источника электроэнергии телекоммуникационная система должна поддерживать радиосвязь с дежурными водителями скорой помощи». 20
  • 21.
    Концептуальный граф первоготребования источник отсутствие система внешний телекоммуника ционный электропитание источник связь телефонный 21
  • 22.
    Концептуальный граф второготребования связь система телефонный телекоммуника ционный источник отсутствие внешний абонент активный 22
  • 23.
    Концептуальный граф третьеготребования источник отсутствие внешний система телекоммуника ционный электропитание источник 23
  • 24.
    Концептуальный граф четвертоготребования водитель дежурный источник отсутствие внешний система телекоммуника ционный электропитание помощь источник водитель скорый 24
  • 25.
  • 26.
    Экспериментальные результаты Вид технического Корректные атрибуты задания Корректные объекты для выявленных объектов 1. Текст ТЗ написан без терминов и определений 37 % 28% 2. Текст ТЗ содержит небольшое число терминов и определений 44% 41% 3. Текст ТЗ содержит большое число терминов и определений 49% 60% 26
  • 27.
    Выводы 1. Результаты, полученныеиз экспериментов показывают, что концептуальные графы применимы для извлечения объектов и их атрибутов из текстов требований на естественном языке и могут обеспечивать существенно новой информацией разработчиков CASE – моделей. 2. Формальный контекст служит инструментом для выбора значимых объектов при построении CASE – моделей. 27
  • 28.
    Будущая работа 1. Адаптациятекстового анализатора к конкретной педметной области. 2. Использование большего набора отношений для выявления объектов и атрибутов. 3. Расширение набора грамматических шаблонов для русского и английского языка. 28
  • 29.