УДК 685.512
А. Б. ШАМШЕВ
О ПОДХОДАХ К АВТОМАТИЗИРОВАННОМУ ИЗВЛЕЧЕНИЮ
ВОПРОСОВ ИЗ ТЕКСТОВ ПРОЕКТНОЙ ДОКУМЕНТАЦИИ
*
В современном мире проектная документация играет важнейшую роль. Рассмотрены некоторые аспекты, направленные на повышение качества документации.
Ключевые слова: вопросы, идентификация, кодирование, машинный перевод, прологоподобное описание, автоматизированные системы, документооборот.
Введение
Разработка современных автоматизированных систем немыслима без создания и использования коллективной проектной документации. Результативность и качество такой деятельности существенным образом зависят от методов и средств документирования, используемых в разработке.
Наличие автоматизированной системы, которая будет анализировать поступающую информацию, способно существенно повысить качест-во проектной документации.
Одним из типичных дефектов качества документации является её семантическая неполнота [3]. К числу наиболее продуктивных средств, которые снижают семантические дефекты, относятся вопросы, ответы на которые ликвидируют семантические недостатки текста [1, 2]. Для использования таких вопросов необходима система их обнаружения, идентификации и кодирования.
Всё вышесказанное выводит на следующую обобщённую постановку задачи:
1) Разработать систему программных средств, обеспечивающих повышение результативности и качества в обнаружении и обработке вопросных ситуаций в корпоративной среде автоматизированного проектирования.
2) В основу разработки и проектирования системы средств положить имитацию машинного перевода, описаний задачных ситуаций, представленных на естественно-профессиональном языке семантически проектируемых изделий.
3) Средства должны комплектоваться с приложениями вопросно-ответного процессора Ке\лЛ¥1<ЗА к задачам концептуального проектирования автоматизированных систем, интенсивно использующих программное обеспечение.
А. Б. Шамшев, 2007
Обзор существующего программного комплекса
Попытки решения подобной задачи проводились в рабочей группе «Вопросно-ответные процессы, технологии и системы» Ульяновского государственного технического университета (http://www.wg.ulstu.ru). Именно они привели к созданию ряда версий работы с вопросами, в которых были решены задачи идентификации и кодирования вопросов в условиях, когда за решение задачи обнаружения вопросов несёт ответственность проектировщик.
К месту заметить, что одна из наиболее важных функций вопросов - указание на необходимость уточнения связи между словами в предложении или между предложениями в тексте.
Коротко рассмотрим логику взаимодействия программ, которая была реализована в решении задач идентификации и кодирования вопросов.
В реализации использовалось взаимодействие следующих программных средств:
1) вопросно-ответный процессор (реализован в NetWIQA);
2) модуль для перевода текстов естественного языка на прологоподобный (реализован в LINA- Linguistic Into Nominative Activity);
В рамках такого взаимодействия пользователь должен сначала активировать работы по новому проекту в вопросно-ответном процессоре и занести туда необходимую информацию. Затем начинает работать модуль, который переводит тексты в прологоподобное описание. К числу особо важных действий относилось участие человека при работе с LINA для исправления ошибок, которые были допущены при автоматическом разборе предложений с её помощью.
При этом одна из ключевых задач (обнаружение вопросов) проходила в ручном режиме, и за счёт перевода текста в прологоподобный вид, вопросы идентифицировались и кодировались в прологоподобной форме. После ответа на вопро-
сы уточнённый и расширенный текст опять подавался в вопросно-ответный процессор, и весь анализ повторялся до тех пор, пока работа с вопросами не приходила к логическому концу.
Вопросно-ответный процессор реализован в сетевой версии NetWIQA. Он предоставляет удобный для пользователя интерфейс в работах с документацией, представленной в вопросно-ответной форме.
Необходимые изменения в существующей версии комплекса
Постановка задачи обнаружения вопросов приводит к некоторым изменениям и добавлением связей между программами, которые входят в ранние версии системы программных средств. Коротко рассмотрим изменение логики связей между частями комплекса NetWIQA, которые необходимы для более высокой степени автоматизации.
В текущей версии пользователь должен сам создавать вопросы. Предположим, что потенциальное множество вопросов можно условно разбить на два класса - объективные и субъективные. Субъективные вопросы персонифицированы и обнаруживаются в процессе просмотра текста конкретным субъектом, обладающим конкретным опытом. Их маркировка должна осуществляться «вручную». Субъекту должны быть предоставлены средства редактирования маркировки вопросов, причём эти средства уже реализованы в LINA.
Автоматизация работы с субъективными вопросами в силу их природы крайне затруднительна, поэтому на первоначальном этапе планируется автоматизировать работу только с объективными вопросами. При этом следует учитывать, что работа с вопросами не должна зависеть от языка, на котором был написан изначальный текст.
Обзор некоторых существующих модулей комплекса
Предположим, что в результате работы программы исследуемое предложение можно представить в виде связного набора предикатов первого и второго порядков. Такое представление не зависит от языка, на котором был написан исходный текст. Процесс перехода от естественной формы предложения к его прологоподобной подразумевает использование приёмов, которые используются в области машинного перевода. Достоинством такого перевода является то, что достаточно хорошо разработан логико-математический аппарат работы с прологоио-добными структурами, что облегчает задачу идентификации и кодирования вопросов.
Легко видеть, что все элементы, которые зависят от языка, должны использоваться только в LINA, а дальнейшая работа должна проводиться с прологоподобным представлением.
В текущей версии LINA работает с двумя языками - русским и английским. При этом изначально она ориентировалась на английский язык, который имеет несколько преимуществ с точки зрения автоматизированной машинной обработки - фиксированный порядок слов в предложении и проблема словоформ (т. е. наличия множества различных словоформ у одного слова) остро не стоит. Такая ориентация позволяет легче обнаружить общие для всех языков алгоритмы для работы с текстами.
Из-за фиксированного порядка слов в предложениях английского языка для их анализа и группирования в имитации перевода использованы методы грамматики расширенных переходов.
При переходе к документации на русском языке возникает проблема низкого качества автоматического анализа текстов (которая возникла из-за отсутствия фиксированного порядка слов в предложениях русского языка) и проблемы при переводе предложений в прологоподоб-ный вид (из-за наличия множества словоформ почти у каждого слова русского языка). Поэтому качество анализа текстов на русском языке с применением грамматики расширенных переходов ниже по сравнению с анализом английского языка.
Одним из возможных решений данных проблем является введение дополнительного модуля - модуля морфологического анализа. Возможности применения вводимого модуля для решения упомянутых проблем следующие:
1) с точки зрения нефиксированного порядка слов: найти синтаксические связи между словами в предложении и (за счёт коммутативности слов в русском языке) выполнение нормировки порядка слов;
2) с точки зрения проблемы словоформ - перевод слов в нормальную форму.
Также возможно его применение для проверки корректировок, которые вносит пользователь-во время работы с LINA.
Ещё один путь повышения качества автоматического анализа русских текстов - введение специального естественно-профессионального языка, которого должен придерживаться пользователь. Главный недостаток такого решения -накладывание ограничений на используемый язык. Поэтому в ходе проектирования новой версии программного комплекса от этого решения было решено отказаться.
Автоматизированная система представляет собой организационно-техническую систему, обеспечивающую выработку решений на основе автоматизации информационных процессов в различных сферах деятельности или их сочетаниях при минимальном (или корректирующем) вмешательстве человека. Главным недостатком
предыдущих версий является то, что в каждом этапе должен участвовать человек, причём доля его участия достаточна велика. При этом со временем доля его участия не уменьшается. Поэтому возникает вопрос о повышении степени автоматизации.
Исходя из сказанного, возникает вопрос о модулях, которые необходимо добавить в программный комплекс, для того, чтобы можно было реализовать задачу идентификации вопросов
и повысить степень автоматизации.
•
Добавляемые модули в программный комплекс
Можно сказать, что для человека очередной вопрос появляется, когда он встаёт перед очередной необходимостью применить «свой опыт» в данной области. Очевидно, что из этого предложения вытекает задача построения модуля, который может накапливать информацию, которая будет нести смысл «имитации опыта».
Очевидны две возможности повышения автоматизации:
1) повысить качество автоматического анализа и предоставить более удобный интерфейс для внесения корректирующих исправлений;
2) разработать дополнительный модуль для «накопления опыта», что со временем позволит увеличить степень автоматизации.
На текущем этапе необходимо добавить ещё 2 модуля:
1) рабочий словарь, в котором хранится онтология проекта (реализован в Онтологии);
2) система обнаружения, идентификации и кодирования вопросов (СОИиКВ).
Для работы системы обнаружения, идентификации и кодирования вопросов необходимо обнаружить связи между словами в предложении. Эти связи можно обнаружить с помощью морфологического и синтаксического анализа предложения. Причём логично предположить, что эту задачу должна выполнять система LINA.
Для выполнения данной задачи можно использовать морфологический анализатор, взаимодействующий с системой LINA. При этом у него есть несколько дополнительных возможностей, которые удобно использовать для поставленной задачи. Одна из них - возможность проверки корректности результатов корректирующего вмешательства пользователя.
Результаты работы LINA должны подаваться в систему обнаружения, идентификации и кодирования вопросов.
Рассмотрим взаимодействие СОИиКВ с Онтологией.
В любой предметной области существуют понятия. Сочетание понятий может быть корректным и некорректным. Субъективный опыт может быть представлен как совокупность правил сочетаний понятий. Из этого предложения (с учётом того, что Онтология - «имитация опыта») следует, что в онтологии должны храниться понятия предметной области и правила их взаимодействия («разрешённые» и «запрещённые»).
Можно предположить, что отсутствие правила взаимодействия понятий в онтологии проекта, которые встречаются в тексте является идентификатором вопроса. То же самое можно предположить, если правило находиться в «запрещённой» области.
Однако сразу возникает вопрос о трудоёмкости пополнения набора правил в онтологии. Известно, 1 что процент новых или неизвестных терминов составляет примерно 6% от общего количества терминов в тексте. Поэтому данная проблема не носит критического характера.
Модуль морфологического анализа так же можно применять для обнаружения вопросов. Например, одним из явных идентификаторов вопросов является наличие слова в предложении, которого нет в рабочем словаре.
Покажем принципиальную схему взаимодействия между модулями программного комплекса:
Вывод
Качество и количество вопросов, которые может обнаруживать автоматизированная система без вмешательства, зависит от качества информации, которая к ней поступает. Роль морфологического анализатора заключается в повышении качества подготовки информации для системы работы с вопросами и обнаружении некоторых типов явных вопросов.
Известно, что скорость обработки информации с помощью автоматизированных систем существенно выше, чем скорость обработки информации без них. Поэтому в предыдущих версиях, с учётом того, что процесс идентификации и кодирования вопросов был автоматизирован, «критическим» участком с точки зрения по фактору скорости работы человека и компьютера является процесс обнаружения вопросов. Из этого вытекает необходимость автоматизации дан-
ного процесса, на что направлена описываемая работа.
БИБШОГРАФИЧЕСКИЙ СПИСОК
1. Соснин, П. И. «Человеко-компьютерная диалогика» / П. И. Соснин. - Ульяновск : Ул-ГТУ, 2001.
2. http://www.aot.ru/index.html - сайт «Автоматическая обработка текста».
3. http://www.infolex.rii/ - Когнитивные аспекты лексикографии.
Шамшев Алексей Борисович, ассистент кафедры «Вычислительная техника», Ульяновский государственный технический университет, [email protected].
«