Реализация нечеткой реляционной базы данных с использованием значений принадлежности, определенных сообществами


Карен Л. Джой, Смита Даттатри
Перевод Керенцева М.А.

Источник: АВТ Юго-Восточной региональной конференции Архив Труды 43-й ежегодной Юго-Восточной региональной конференции - Том 1

1. ПРОБЛЕМЫ И МОТИВАЦИЯ

Большинство традиционных баз данных, используемых сегодня, основаны на реляционной модели. Значения в отношении берутся из конечного набора строго типизированных значений домена. Каждая связь в базе данных представляет собой суждение, и каждая запись с этой связью – такое утверждение, что оно принимает значение "истина" для этого суждения (например, [3], [5]). Можно утверждать, однако, что требуемая для этого точность фактически дает недостаточное представление о мире. Модель базируется в двух цветах: черный и белый, но большая часть реальности действительно существует в оттенках серого. Таким образом, обычные модели реляционной базы данных имеют ограниченную полезность.

Одной из областей, которая иллюстрирует это ограничение, является повседневный, субъективный язык, обычно используемый для описания людей. Например, человек может быть описан как "высокий, с широким лицом и очень темными карими глазами". Это описание было бы трудно представить в рамках обычной реляционной модели, потому что оно использует описательные слова, которые по своей сути неточным, а также различные сообщества (т. е. группы с внутренним соглашением о субъективных значениях этих терминов), могут описать одного и того же человека по-разному. Цель этого исследования состояла в реализации реляционной базы данных, в которой сформулированы представления с неточными атрибутами, и путем обратной связи с пользователями описания атрибутов будут адаптироваться таким образом, чтобы база данных надлежащим образом представляла консенсус конкретного сообщества пользователей.

2. ИСТОРИЯ И СВЯЗАННЫЕ РАБОТЫ

Традиционная модель реляционной базы данных основана на точных значениях. Концепция нечеткости описывается Заде [7], однако, включает в себя неточности, неопределенности и степени достоверности значений. Нечеткие теории реляционных баз данных расширяют реляционную модель для представления неточных данных и, таким образом, она обеспечивает более точное представление о модели мира (например, [6], [2]).

Обработка естественного языка позволяет совершать запросы к базе данных с использованием обыденного языка. Интерфейс на естественном языке обычно имеет собственный словарь, содержащий термины, ассоциированные со связями и их отношениями, а также стандартный словарь языка. Стандартный подход, используемый в естественных языковых системах таков, что семантическая грамматика создается для базы данных и используется для анализа запроса; также должны быть приведены синонимы. Недостатком такого подхода является то, что грамматика должна быть индивидуальная для каждой конкретной базы данных и может быть недостаточно информации для создания надежной системы [1]. Такой подход будет иметь ограниченную полезность для базы данных/запросов системы, предназначенной постоянно изменять дескрипторы на основе отзывов пользователей.

3. ПОДХОД И УНИКАЛЬНОСТЬ

В рамках этого проекта система была разработана, чтобы позволить пользователям опрашивать базу данных с помощью субъективного, обыденного языка и использовать представления, удовлетворяющие этим субъективным описаниям. Кроме того, каждый пользователь сообщества, а не создатель базы данных, будет определять представления. Таким образом, каждое сообщество могло бы описать те же представления по-другому. Нечеткая реляционная модель идеально подходит для представления этих субъективных дескрипторов представлений. Существуют различные методы введения нечеткости в базу данных системы. Применяемый здесь метод заключается в расширении обычных реляционных баз данных путем добавления значения принадлежности [0,1], чтобы представлять истинность каждого утверждения – степень каждого атрибута в отношении. Такая стратегия позволяет представлять в базе данных диапазон значений без ущерба для ограничений целостности данных, на которых основана реляционная модель [4].

Приложение было реализовано в VB.NET и SQL Server 2000. Вводимые пользователем запросы на естественном языке были разобраны на отдельные компоненты в реальный запрос, в его атрибуты и модификаторы, и хранятся они в файлах данных. Реализованные хранимые процедуры обрабатывали эти данные, т. е. определяли диапазоны значений для модификаторов, запускали модифицированные запросы в базе данных, и возвращали соответствующие представления пользователям.

Каждый атрибут представлений в базе данных был первоначально установлен случайной величиной принадлежности. Модификаторам атрибутов даны численные интервалы. Например, модификатор «средний» (например, «средние зеленые глаза») колебался от 0,30 до 0,74, и «очень» колебался от 0,75 до 1,0. Каждый модификатор также использовал пороговое значение, которое было разработано для «стабилизации» значения принадлежности каждого атрибута в пределах интервала модификатора, чтобы представлять наиболее точно консенсус сообщества. Это свойство стабилизации осуществлялось следующим образом. Когда пользователи встречали представление, которое в настоящее время соответствует их критериям, они совершали обратную связь с целью указать, что представление отвечает критериям, либо что представление будет лучше определяться с помощью усиления или ослабления модификатора. Если пользователь сделал выбор, то значение принадлежности атрибута приблизится к пороговому значению диапазона этого модификатора. Мнение сообщества реализовывалось с осуществлением обратной связи, регулируя вес принадлежности таким образом, чтобы он продвигался внутри диапазона модификатора. Если пользователь выбрал последнее, то вес атрибута слегка отодвигался от порогового значения в направлении, предложенном самим пользователем. Таким образом, правильные значения были установлены именно благодаря использованию каждого сообщества. Эта стратегия потенциально создает базу данных, которая является более надежной и общеполезной.

4. РЕЗУЛЬТАТЫ И ДОСТИЖЕНИЯ

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

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

5. ССЫЛКИ

[1] Bhootra, R. A and Mehrotra, A. Overview of natural language interfaces. Directed Research Project, Virginia Commonwealth University, Richmond, VA, 2004.
[2] Chen, G. Fuzzy functional dependencies as integrity constraints. In Fuzzy Logic in Data Modeling: Semantics, Constraints and Database Design. Kluwer Academic, Boston, MA, 1998.
[3] Codd, E. F. A relational model for large shared data banks. Communications of the ACM, 13, 6 (1970), 377-387.
[4] Date, C. J. On fuzzy databases. Database Debunkings (3/12/04); www.dbdebunk.com/content2004.html.
[5] Date, C. J. A note on relation-valued attributes. In An Introduction to Database Systems (8th ed.). Pearson/Addison Wesley, Boston, MA, 2004.
[6] Petry, F.E. Fuzzy Databases: Principles and Applications, Kluwer Academic, Boston, MA, 1996.
[7] Zadeh, L. A. Fuzzy sets. Information and Control, 8, (1965), 338-353.