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