Диплом, курсовая, контрольная работа
Помощь в написании студенческих работ

Разработка и исследование системы концептуального программирования с использованием лингвистического процессора

ДиссертацияПомощь в написанииУзнать стоимостьмоей работы

Техническая реализация предложенных подходов и построенных методов в программном комплексе Nalaps — системе концептуального программирования, которая предназначена для разработки базы знаний предметной области, программирования лингвистического процессора и непосредственной автоматической обработки текста, что позволяет встраивать в существующие программные продукты поддержку естественных языков… Читать ещё >

Содержание

  • Основные обозначения и сокращения
  • Глава 1. Обзор литературы
    • 1. 1. Обзор методов и средств морфологического анализа
      • 1. 1. 1. ITapcepMystem
      • 1. 1. 2. Компонент морфологического анализа системы ДИАЛИНГ
      • 1. 2. 3. ABBYY Retrieval & Morphology (ARM) Engine
      • 1. 2. 4. Универсальный морфосемантический словарь
    • 1. 2. Обзор методов и средств синтаксического анализа
      • 1. 2. 1. Система LinkParser
      • 1. 2. 2. Синтаксический анализатор системы ЭТАП-З
      • 1. 2. 3. Компонент синтаксического анализа системы ДИАЛИНГ
      • 1. 2. 4. Расширенные сети переходов
    • 1. 3. Обзор методов и средств семантического анализа
      • 1. 3. 1. Система ПОЛИТЕКСТ
      • 1. 3. 2. Компонент семантического анализа системы ДИАЛИНГ
    • 1. 4. Системы извлечения знаний из текстов
      • 1. 4. 1. Лингвистический процессор Semantix
      • 1. 4. 2. Система извлечения знаний из документов «Аналитический курьер»
    • 1. 5. Концептуальное программирование
    • 1. 6. Языко-ориентированное программирование
    • 1. 7. Естественно-языковое программирование
      • 1. 7. 1. Система ПЕГАС
      • 1. 7. 2. Обзор существующих концепций использования объектно-ориентированного программирования для лингвистического моделирования
    • 1. 8. Онтология. Язык OWL
    • 1. 9. Средства редактирования расширенных сетей переходов
    • 1. 91. Augmented Syntax Diagram (ASD) Editor and Parser
    • 1. 9. 2. Linguistic Tree Constructor
      • 1. 9. 3. TreeForm Syntax Tree Drawing Software
    • 1.
  • Выводы
  • Глава 2. Структура программного комплекса NALAPS
    • 2. 1. Общая концепция системы
    • 2. 2. Лингвистический процессор
      • 2. 2. 1. Компонент морфологического анализа
      • 2. 2. 2. Компонент синтаксико-семантического анализа
    • 2. 3. Концептуальный процессор
    • 2. 4. Естественно-языковой спецификатор языка Java
    • 2. 5. Кодогенератор
    • 2. 6. Динамическая объектная система как способ представления смысла текста
    • 2. 7. Обратный концептуальный и обратный лингвистический процессоры
    • 2. 8. Редактор расширенных сетей переходов
    • 2. 9. Выводы
  • Глава 3.
    • 3. 1. Общие положения
    • 3. 2. Работа морфологического процессора
    • 3. 3. Работа синтактико-семантического анализатора
    • 3. 4. Проблема интерпретации формализованного представления ЕЯ-текста на языке программирования
    • 3. 5. Формальная модель концептуального графа
    • 3. 6. Операция сравнения фреймовых структур ^
    • 3. 7. Построение проекции из СО^в Свнь
  • Глава 4.
    • 4. 1. Описание проекта в системе Иакрэ
    • 4. 2. Основное окно программы
    • 4. 3. Модульная интеграция со средой разработки ЬйеИу ГОЕА
      • 4. 3. 1. Инструмент естественно-языковой спецификации
      • 4. 3. 2. Организация связи между концептами в тексте и соответствующими им классами
    • 4. 4. Построение синтактико-семантического и концептуального графов
  • Глава 5.
    • 5. 1. Создание автоматических тестов на основе текстовых пользовательских сообщений
    • 5. 2. Учебно-игровой аспект: пример реализации виртуальной трехмерной комнаты с объемными примитивами и имитацией гравитации
    • 5. 3. Автоматическое построение генеалогического древа по текстовому описанию родословных отношений

Разработка и исследование системы концептуального программирования с использованием лингвистического процессора (реферат, курсовая, диплом, контрольная)

Актуальность проблемы.

Разработка современного программного обеспечения (ПО) носит, как правило, циклический характер, обусловленный потребностью заказчика в постоянном улучшении программного продукта: добавлении новой функциональности, а также изменением внутренней логики бизнес-процессов. Практика разработки коммерческого ПО показывает, что характер поддержки и доработки такого ПО после внедрения не затрагивает архитектуры системы и носит преимущественно проблемно-ориентированный характер. Современные тенденции решения данной задачи заключаются в разработке так называемых малых языков или языков предметной области (domain specific language — DSL) (M. Mernik, 2005). Между тем, необходимо отметить сходство концепции «малых языков» с идеями концептуального программирования — подходом, изложенным Э. Х. Тыугу еще в 80-х годах XX века (Тыугу, 1984). Данный подход в силу ряда причин не получил к настоящему моменту развития и широкого применения. Этому, по всей видимости, способствовал уровень развития вычислительной техники и компьютерной лингвистики в тот исторический период. Однако в настоящее время идеи концептуального программирования вновь набирают все большую популярность, в том числе и на Западе (например, язык программирования XL (Dinechin, 2011)). К этим идеям относятся следующие аспекты:

• программирование в терминах предметной области решаемых задач;

• использование ЭВМ на этапе постановки задач.

Близость подхода, применяемого в DSL и концептуальном программировании, заключается также в тенденции приблизить язык программирования (или, говоря в терминах концептуального программирования, язык описания задачи) к естественному языку. Это позволяет, в конечном счете, не только максимально облегчить труд программиста, но и привлечь к такому «программированию» бизнес-аналитиков, незнакомых с обычными языками программирования и средствами разработки.

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

Цели и задачи настоящего исследования.

Целью работы является разработка системы концептуального программирования с использованием лингвистического процессора, назначение которой — существенно упростить задачу создания и встраивания поддержки естественных предметно-ориентированных языков в программное обеспечение.

Для достижения поставленной цели были найдены решения следующих задач:

— анализ существующих моделей автоматического понимания текстов (АПТ) — моделей естественно-языкового взаимодействия «человек-компьютер» и естественно-языкового программированияязыков и средств описания онтологий;

— выбор и синтез наиболее удачных подходов к автоматической обработке текстов (АОТ) — выбор модели формализованного представления «смысла» текста;

— разработка концепции естественно-языкового спецификатора объектно-ориентированного языка программирования;

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

Методы исследования.

Методы исследования основаны на использовании технологии объектно-ориентированного программирования, технологии построения интерпретаторов языков программирования, принципов модели концептуальной зависимости и модели «мягкого понимания текстов», теории графов и теории множеств.

Научная новизна.

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

2. Предложен подход к представлению смысла текста в виде динамической объектной системы, состоящей из объектов — экземпляров классов языка Java.

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

4. Разработан визуальный редактор расширенных сетей переходов, имеющий встроенный морфологический анализатор, что позволяет производить поиск по имеющимся сетям и строить новые на основе вводимой фразы-шаблона.

5. В результате проведенной работы создана система, имеющая возможность модульной интеграции с существующей средой разработки программ на языке Java — Intellij IDEA, что позволяет использовать все современные средства интенционального программирования. Показана практическая возможность разработки естественных языков предметной области в системе Nalaps. ^.

6. В качестве примера использования системы рассмотрен аспект автоматической генерации программных тестов для верификации исправленных ошибок в программных продуктах на основе предоставляемых в текстовом виде записей из систем отслеживания ошибок, а также система поддержки естественно-языковой настройки бизнес правил в банковском ПО.

Основные положения, выносимые на защиту.

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

2. Способ представления «смысла» исходного естественноязыкового запроса (текста) в виде динамической объектной системы, а также возможность обратного перехода от данного представления к концептуальному графу. Предложенный подход позволяет в реальном времени отслеживать состояние объектов автоматизации и организовывать естественно-языковой диалог с системой.

3. Техническая реализация предложенных подходов и построенных методов в программном комплексе Nalaps — системе концептуального программирования, которая предназначена для разработки базы знаний предметной области, программирования лингвистического процессора и непосредственной автоматической обработки текста, что позволяет встраивать в существующие программные продукты поддержку естественных языков предметной области.

Теоретическая ценность.

Теоретическая ценность работы заключается в создании методических основ для построения базы знаний предметной области на основе классов объектно-ориентированных языков программирования. Описана математическая модель предложенного подхода.

Практическая ценность.

Практическая ценность работы заключается в следующем:

1. Разработанная типовая структура программного обеспечения для организации связей классов языка Java с предметной областью, позволяет при необходимости создавать по предложенной методике аналогичные системы для других объектно-ориентированных языков программирования (С++, C#.net и др.).

2. Проведен ряд экспериментов, доказывающих практическую ценность созданного программного комплекса, а именно: создан ряд учебноигровых и практически применимых примеров использования системы Nalaps. Среди них:

— учебно-игровая среда управления трехмерными объектами путем подачи естественно-языковых текстовых команд;

— среда построения генеалогической базы данных и родословного древа путем текстового описания родственных связей между персонами;

— система автоматической генерации программных текстов на основе поступающих естественно-языковых описания ошибок и доработок в программном продукте.

3. Для эффективного использования системы программистами, она может быть встроена как программный модуль в среду разработки Intellij IDEA, что позволяет полностью интегрировать процесс создания базы знаний предметной области в процесс написания программных средств обработки этих знаний.

4. В качестве важных областей применения системы следует выделить следующие:

— создание естественно-языковых интерфейсов общения пользователя с программными средствами;

— создание естественно-языковых языков предметной области для внутренних нужд разработки;

— автоматическая обработка потоков текстовой информации на предмет регистрации определенных информационных сигналов (событий) и построение автоматической реакции на них;

— учебно-игровой аспект обучения объектно-ориентированному программированию.

5. Метод автоматической обработки текстов, разработанный в ходе диссертационных исследований, нашел свое практическое применение и в других научно-исследовательских работах, в частности, в системах семантического поиска.

6. Создан инструмент программирования расширенных сетей переходов — визуальный редактор со встроенным морфологическим анализатором и внутренним скриптовым языком для описания семантических знаний.

Публикации и апробации работы.

По материалам диссертационной работы опубликовано 1 статья, 8 тезисов на Всероссийских и международных конференциях, получено 3 свидетельства на регистрацию программ для ЭВМ, в которых были использованы методы, разработанные в рамках диссертационной работы. Результаты настоящего исследования были представлены на следующих научных конференциях:

1. Научно-техническая конференция студентов, аспирантов и молодых специалистов МИЭМ в 2008 г.

2. Научно-техническая конференция студентов, аспирантов и молодых специалистов МИЭМ в 2009 г.

3. Международная конференция «Диалог 2009» (Бекасово, 27−31 мая 2009 г.).

4. Пятая азиатская международная школа-семинар «Проблемы оптимизации сложных систем» ИВМиМГ СОР АН в 2009 г.

5. Международная научная конференция Ме§ а1н^ 21−26 сентября 2009 г., Украина, Киев.

6. Научно-техническая конференция студентов, аспирантов и молодых специалистов МИЭМ в 2010 г.

7. Международная конференция «Диалог 2010».

8. 11th Annual Conference for Software Testing Professionals «Discover the Tester in You» (July 6, 2010, University of Latvia, Riga).

Структура диссертации и объем работы.

Диссертация изложена на 173 страницах машинописного текста и состоит из введения, обзора литературы, обсуждения результатов, экспериментальной части, выводов и списка литературы, включающего 73 источника. Диссертация иллюстрирована 44 рисунками и содержит и 4 таблицы.

Основные результаты работы:

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

2. Предложен подход к представлению смысла текста в виде динамической системы объектов языка Java, что позволяет автоматически выявлять глубинные связи в тексте, закладывая их описание на уровне алгоритмов на языке программирования.

3. Разработан визуальный редактор расширенных сетей переходов, имеющий встроенный морфологический анализатор, что позволяет производить поиск по базе расширенных сетей и строить их «скелеты» по введенному шаблону.

4. Дата математическая модель предложенного метода получения концептуального графа и связи его с концептами базы знаний.

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

6. Найдено применение системы Ка1арБ как средство генерации автоматических тестов для верификации работоспособности программного обеспечения в описываемых на естественном языке в текстовом виде сообщений об ошибках программы.

7. Созданный комплекс Ма1арэ может также применяться в учебных целях для демонстрации принципов объектно-ориентированного программирования на естественно-языковых примерах.

8. Система Ка1арэ может применятся в индустрии компьютерных игр для реализации естественно-языкового интерфейса пользователя.

9. Возможна обработка потоков текстовых данных и настройка системы на регистрацию определенных информационных сигналов с последующей их произвольной обработкой.

10. Методика построения лингвистического процессора, разработанная в рамках диссертационной работы, применена автором и в других научно-исследовательских работах, в частности, в модуле поиска авторефератов системы 1пй)№ОКК (Свидетельство о государственной регистрации программы для ЭВМ № 2 009 613 349).

11. Система Ка1арБ и ее основные компоненты зарегистрирована в Роспатенте в сентябре 2010 года: а. «ЫакрБ»: Свидетельство о государственной регистрации программы для ЭВМ № 2 010 616 060.

Ь. Визуальный редактор расширенных сетей переходов: Свидетельство о государственной регистрации программы для ЭВМ № 2 010 616 061.

Показать весь текст

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

  1. About Selenium В Интернете. // Selenium HQ Web application testing system. -29 01 2010 г. http://seleniumhq.org/about/.
  2. Berners-Lee Tim, Hendler James и Lassila Ora The Semantic Web Журнал. // Scientific American. 17 may 2001 г.
  3. Best Java IDE: Do more high-quality code in less time with IntelliJ IDEA B Интернете. http://www.jetbrains.com/idea/.
  4. M. и Mugnier M. L. Conceptual Graphs are also Graphs Доклад. / LIRMM (CNRS and Universite Montpellier II). 1995.
  5. Chomsky N. Aspects of the Theory of Syntax Книга. Cambridge, MA: MIT Press, 1965.
  6. Daniel D. K. Sleator, Davy Temperley Parsing English with a Link Grammar Конференция.: Pittsburgh: Carnegie Mellon University 1, 1991. — CMU-CS-91−196.
  7. Dinechin Christophe de The XL Programming Language В Интернете. // XL Extensible Language.- 31 01 2011 г. 31 01 2011 г.-http://xlr.sourceforge.net/language.
  8. Graphviz Graph Visualization Software В Интернете. // Graphviz. — 31 05 2010 г. — http://www.graphviz.org.
  9. Knuth Donald E. Literate Programming Журнал. California: Stanford University Center for the Study of Language and Information, 1992 г. — ISBN 9 780 937 073 803.
  10. M. Mernik J. Heering, A.M. Sloane When and how to develop domain-specific languages Журнал. // ACM Computing Surveys (CSUR). New York, NY, USA: [б.н.], 2005 г. — Т. Volume 37 Issue 4.
  11. Mason James A. Augmented Syntax Diagram Grammars В Интернете. // Augmented Syntax Diagram Grammars.- 15 05 2010 г.-http://www.yorku.ca/jmason/asdgram.htm.
  12. OWL, язык веб-онтологий. Краткий обзор В Интернете. 24 05 2010 г. http://www.sherdim.rsu.ru/pts/semanticweb/REC-owl-features20040210ru.html.
  13. R. Н. Preprogramming for Mechanical Translation Статья. // Mechanical Translation. 1956 г. — Т. Vol. 3. — стр. p. 20.
  14. Smith Michael К. и Chris Welty Deborah L. McGuinness OWL Web Ontology Language Guide В Интернете. W3C, 24 05 2010 г.
  15. Sowa J.F. Conceptual Structures Information Processing in Mind and Machine Книга. — [б.м.]: Addison-Wesley, 1984.
  16. Sowa John F. Chapter 5. Conceptual Graphs Раздел книги. // Handbook of Knowledge Representation / авт. книги F. van Harmelen V. Liftchitz, B. Porter. -[б.м.]: Elsevier, 2008.
  17. Winograd Terry Procedures as a Representation for Data in a Computer Program for Understanding Natural Language Книга. [б.м.]: Massachusetts Institute of Technology, 1971.
  18. Ю. Д. и др. Лингвистическое обеспечение системы ЭТАП-2 [Книга]. М.: Наука, 1989.
  19. Р. Ф. Романенко С.А. Язык программирования Рефал Плюс Книга. -М.: Интертех, 1991.
  20. Э., Рэшка Д. и Пол Д. Автоматизированное тестирование программного обеспечения. Внедрение, управление и эксплуатация Книга. -М.: Изд-во «Лори», 2003.
  21. С. Языково-ориентированное программирование: следующая парадигма. Журнал. //RSDN Magazine. 2005 г. — 5.
  22. А. А. Грамматический словарь русского языка Книга. М.: [б.н.], 1977. — 4-е издание.
  23. Автоматическая генерация тестов для графического пользовательского интерфейса по UML диаграммам действий В Интернете. // Труды Института Системного Программирования РАН. 29 01 2010 г. -http ://www. citforum.ru/SE/testing/ generationuml/.
  24. Ю. С. Система автоматического синтеза функциональных программ Книга. Москва: МГУ им. М. В. Ломоносова, 2005. Краткое описание технологии InBASE [В Интернете]. -http://www.inbase.artint.ru/proinfo/techpub.asp.
  25. А. С. Естественно-языковое программирование как средство извлечения знаний Конференция. // Труды ИВМиМГ, Информатика, 9. -Новосибирск: [б.н.], 2009. стр. 64−71.
  26. Н. Н. Автоматическое понимание текстов: системы, модели, ресурсы: учеб. пособие для студ. лингв, фак. вузов Книга. М.: Издательский центр «Академия», 2006.
  27. Люгер Джордж Ф. Искусственный интеллект: стратегии и методы решения сложных проблем, 4-е издание Книга. М.: Издательский дом «Вильяме», 2005.
  28. И. А. Опыт теории лингвистических моделей «Смысл Текст» Книга. М.: [б.н.], 1999. — 2-е издание.
  29. И. А. Русский язык в модели «Смысл ←» Текст" Книга. Москва-Вена: Школа «Языки русской культуры», Венский славистический альманах, 1995.
  30. Николай Ильин Сергей Киселёв, Сергей Танков, Владислав Рябышкин
  31. Технологии извлечения знаний из текста Журнал. // Открытые системы. -2006 г. 6.
  32. И.М. Реализация автоматической синтаксической сегментации русского предложения Книга. Москва: [б.н.], 2003.
  33. С.М. Система формирования концептуального представления предметной области на основе анализа проблемно-ориентированных естественно-языковых текстов: модели, методы и программное обеспечение Книга. Переславль-Залесский: [б.н.], 1999.
  34. Г. П. Лебедев A.C. Визуальный редактор расширенных сетей переходов Журнал. // Качество. Инновации. Образование. май 2009 г. — 5 (48). — стр. 42−48.
  35. Г. П. Лебедев A.C. Система естественно-языкового концептуального программирования Nalaps Конференция. // Материалы международной научной конференции Megaling 2009, 21−26 сентября 2009. -Киев: [б.н.], 2009. стр. 65−66.
  36. А. АОТ : Технологии: Синтаксический анализ В Интернете.// АОТ. 14 05 2010 г. — http://aot.ru/docs/synan.html.
  37. А. В. АОТ Автоматическая Обработка Текста В Интернете. // АОТ. — 14 05 2010 г. — http://aot.ru/index.html.
  38. А. В. Морфологические модули на сайте www.aot.ru Конференция. // Материалы международной конференции Диалог 2004. -М.: РГГУ, 2004.
  39. А. В. Семантические словари в автоматической обработке текста: по материалам системы ДИАЛИНГ Книга. Москва: [б.н.], 2001. Степанов Ю. С. Имена, предикаты, предложения. Семиологическая грамматика. [Книга]. — [б.м.]: Едиториал УРСС, 2007.
  40. Б. Г. Тыугу Э.Х. Представление машиностроительных моделей в базах знаний и персональные САПР Журнал. // Вестник РАН. Журнал № 5. 1988 г. — стр. 39.
  41. К. С. и Корнелл Г. Java 2. Библиотека профессионала, том 2. Тонкости программирования Книга. [б.м.]: Вильяме, 2009. — ISBN 978−58 459−1482−8, 978−01−3 235 479−0.
  42. Правообладателе ли): Государственное образовательное учреждение высшего профессионального образования «Московский государственный институт электроники и математики (технический университет) «(Ки)
  43. Автор (ы): Лебедев Андрей Сергеевич, Путилов Георгий Петрович (Ки)1. Заявка № 2 010 614 373
  44. Дата поступления 20 ИЮЛЯ 2010 Г.
  45. Зарегистрировано в Реестре программ для ЭВМ14 сентября 2010 г.
  46. Руководитель Федеральной службы по интеллектуальной собственности, патентам и товарным знакам1. Б.П. СимоновттшШшАт фвдшращшш1. СВИДЕТЕЛЬСТВОо государственной регистрации программы для ЭВМ2 009 613 349а, а а, а а, а а а1пЬМОКИ
  47. Правообладатель (ли): Государственное учреждение «Научно-исследовательский институт микроэлектроники и информационно-измерительной техники Московского государственного института электроники и математики (технического университета) > (1Ш)
Заполнить форму текущей работой