Методы и алгоритмы трансляции естественно-языковых запросов к базе данных в SQL-запросы. Найханова Л.В - 63 стр.

UptoLike

63
дифференциальный, h-характеристический, v-валентный) или null в случае, если вершина
является сущностью.
3.2.1.1. Построение транзитивных замыканий
При решении данной задачи может существовать три гипотезы о соответствии лексем
запроса понятиям базы данных или проблемной среды. Можно утверждать, что лексема
запроса gG может быть:
1) специальным понятием проблемной среды;
2) термином логической модели данных t Ξ
l
;
3) понятием проблемной среды t Ξ
s
.
Построение транзитивного замыкания
gg
→
~
*
выполним последовательно для
каждой гипотезы, задавая исходную ситуацию, которой описывается одна вершина gG.
Для доказательства каждой гипотезы сформируем множество предикатов
Γ
, на котором
будем доказывать утверждение, описывающее входную ситуацию d
0
. Если в результате
текущего доказательства получаем неуспех, то переходим к доказательству следующей
гипотезы.
Доказательство первой гипотезы. Эта гипотеза предполагает, что лексема в
вершине g является специальным понятием проблемной среды. Для её доказательства во
множество
Γ
включим предикаты, задающие отношение типизации
r
tip
t
, и докажем
выражение
0
dΓ методом линейной резолюции. Входную ситуацию опишем предикатом:
d
0
= ),,(
r
tips
tyxP . Если доказательство пройдет успешно, то в вершину g
~
, соответствующую
вершине g, заносится оператор, операнд или вычислительная процедура языка SQL,
согласно отношению перевода
r
tr
t , а в z
2
значение «3», «4» или «5» соответственно. Затем
перейдем к рассмотрению следующей вершины графа G. В случае неуспеха, полученного
при доказательстве построенной формулы, доказывается вторая гипотеза.
Доказательство второй гипотезы. В этом случае g является термином логической
модели данных. Поэтому вершине приписывается соответствующий признак, который
определяет тип термина (атрибут или сущность).
Входная ситуация, описывающая текущую вершину дерева G, имеет следующий вид:
d
0
= ),,(
r
tips
tyxP , например,
d
0
=
),,(
r
tips
tyстудентP
(3.5)
или
d
0
= ),,(
r
tips
tyпереченьP .
(3.6)
В этом случае множество предикатов
Γ
формируется из предикатов типизации,
описывающих логическую модель данных (3.2) и (3.3), например:
Γ
={
),,(
r
tips
tатрибутфамилияP
,
),,(
r
tips
tсущностьстудентP
,…,
),,(
r
tips
tсущностьстьспециальноP
, …, ),,(
r
tips
tсущностьгруппаP ,…,
),),,((
r
tips
tатрибутдомашнийтелефонtP }.
На данном множестве
Γ
факт (3.5) будет доказан успешно, поэтому осуществится
переход к анализу следующей вершины графа
G
. При доказательстве факта (3.6) получим
дифференциальный, h-характеристический, v-валентный) или null в случае, если вершина
является сущностью.

3.2.1.1. Построение транзитивных замыканий
     При решении данной задачи может существовать три гипотезы о соответствии лексем
запроса понятиям базы данных или проблемной среды. Можно утверждать, что лексема
запроса g∈G может быть:
     1) специальным понятием проблемной среды;
     2) термином логической модели данных t∈ Ξl;
     3) понятием проблемной среды t∈ Ξs.
                                                g~′ выполним последовательно для
                                              *
       Построение транзитивного замыкания g →
каждой гипотезы, задавая исходную ситуацию, которой описывается одна вершина g∈G.
Для доказательства каждой гипотезы сформируем множество предикатов Γ, на котором
будем доказывать утверждение, описывающее входную ситуацию d0. Если в результате
текущего доказательства получаем неуспех, то переходим к доказательству следующей
гипотезы.
     Доказательство первой гипотезы. Эта гипотеза предполагает, что лексема в
вершине g является специальным понятием проблемной среды. Для её доказательства во
множество Γ включим предикаты, задающие отношение типизации                                    r
                                                                                            t tip , и докажем
выражение Γ ∧ d 0 методом линейной резолюции. Входную ситуацию опишем предикатом:
                  r
d0= Ps ( x, y, t tip ) . Если доказательство пройдет успешно, то в вершину g~ ′ , соответствующую
вершине g, заносится оператор, операнд или вычислительная процедура языка SQL,
согласно отношению перевода t trr , а в z2 – значение «3», «4» или «5» соответственно. Затем
перейдем к рассмотрению следующей вершины графа G. В случае неуспеха, полученного
при доказательстве построенной формулы, доказывается вторая гипотеза.
     Доказательство второй гипотезы. В этом случае g является термином логической
модели данных. Поэтому вершине приписывается соответствующий признак, который
определяет тип термина (атрибут или сущность).
     Входная ситуация, описывающая текущую вершину дерева G, имеет следующий вид:
                   r
d0 = Ps ( x, y, t tip ) , например,
                                                              r
                                      d0 = Ps (студент, y, t tip )                                      (3.5)
       или
                                                               r
                                      d0 = Ps (перечень, y, t tip ).                                    (3.6)
     В этом случае множество предикатов Γ формируется из предикатов типизации,
описывающих логическую модель данных (3.2) и (3.3), например:
     Γ={                               r
              Ps (фамилия, атрибут, t tip ) ,                                 r
                                                    Ps (студент, сущность, t tip ) ,…,
                                                                                                 r
                                 r
Ps (специально сть, сущность, t tip )        ,                …,       Ps ( группа, сущность, t tip )    ,…,
                                        r
Ps (t (телефон, домашний ), атрибут, t tip ) }.
     На данном множестве Γ факт (3.5) будет доказан успешно, поэтому осуществится
переход к анализу следующей вершины графа G ′′ . При доказательстве факта (3.6) получим

                                                         63