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

UptoLike

70
Продукция в этом случае представляется в виде pr
11
Tr
:
q
11
Tr
= P
s
(x
i
, t(z
1
, …,z
k
), t
r
nom
) (
x
i
:X) P
s
(x
i
, t(z
1
, …,z
k
), t
r
nom
);
r
11
Tr
= add[(
1
~
g
, z
1
) (
2
~
g
, z
2
)
(
k
g
~
, z
k
); elim (g)].
Для второго случая:
Этому случаю соответствует продукция pr
12
Tr
:
q
12
Tr
= P
s
(x
i
, y, r(verb),t(z
1
, …,z
k
), t
r
nom
) (
x
i
:X) P
s
(x
i
, y, r(verb),t(z
1
, …,z
k
), t
r
nom
);
r
12
Tr
= add[(
1
~
g
, y) (
2
~
g
,z
1
) (
3
~
g
,z
2
)
(
1
~
k
g , z
k
); elim (g)].
Если доказательство гипотезы прошло успешно, то программа r
удаляет вершину g,
перед ней добавляет новых k вершин, а затем переходит на первую добавленную вершину
для проверки второй гипотезы верхнего уровня.
Четвертая гипотеза нижнего уровня. Эта гипотеза утверждает, что лексема x
i
,
расположенная в вершине g, является синонимом понятию логической модели данных или
понятию проблемной среды. Для поиска синонима формируется множество входных
дизъюнктов
Γ
=
Γ
6
q
13
Tr
={
),,(
r
ans
tyxP
}
q
13
Tr
, состоящее из предикатов с отношениями
подобия
r
an
t
и условия применимости q
13
Tr
, а входная ситуация задается в виде предиката
подобия d
0
= P
s
(x
i
, y, t
r
an
). Данной гипотезе соответствует продукция pr
13
Tr
:
q
13
Tr
= P
s
(x
i
, y, t
r
an
) ( x
i
:X) P
s
(x
i
, y, t
r
an
); r
13
Tr
= add[(x
i
, y)].
В результате успешного доказательства гипотезы понятие x
i
заменится на
соответствующий синоним y. Затем произойдет переход на проверку всех предыдущих
гипотез, начиная с первой гипотезы верхнего уровня. Доказательство будет продолжаться
до тех пор, пока одна из гипотез не окажется истинной или пока не будет перебран весь
список синонимов текущей лексемы.
Таким образом, граф
G
~
, полученный в результате доказательства гипотез, и
исходный граф G являются гомеоморфными. Граф
G
~
будет содержать в вершинах
термины логической модели данных или термины языка SQL, с приписанными к каждой
вершине
g
~
векторами η
i
.
3.2.1.3. Преобразование графа зависимостей терминов логической модели в граф
зависимостей терминов физической моделипреобразование
3
Ψ
Построенный граф G
~
может иметь вершины с одинаковыми значениями. Так,
например, если две вершины
1
,
+ii
gg G исходному графу имели значение «домашний» и
«телефон» соответственно, то при доказательстве третьей гипотезы нижнего уровня в
соответствующие вершины
Ggg
ii
+
~
~
,
~
1
будет записано одинаковое значение, например,
«Дом_телефон». Для удаления дублирующих вершин
Gg
~
~
необходимо проверить
ситуацию, которая утверждает, что вектор
η
i
эквивалентен вектору
η
i+1
тогда и только
тогда, когда имеет место закономерность, описываемая конъюнкцией следующих фактов:
- вершина
i
g
~
имеет значение x
i
- P
s
(
i
g
~
, x
i
);
Г =
Γ
52
q
12
Tr
={P
s
(x, y, r(verb),t(z
1
, …,z
k
), t
r
nom
)} q
12
Tr
;
(3.15)
d
0
= P
s
(x
i
, t(z
1
, …,z
k
), t
r
nom
) P
s
(x
i
, y, r(verb),t(z
1
, …,z
k
), t
r
nom
).
(3.16)
     Продукция в этом случае представляется в виде pr11Tr:
     q11Tr = Ps(xi, t(z1, …,zk), trnom) ↔ ( ∃ xi:X) Ps(xi, t(z1, …,zk), trnom);
     r11Tr = add[( g~1′ , z1) ∧( g~2′ , z2) ∧ … ∧ ( g~k′ , zk); elim (g)].
     Для второго случая:

            Г = Γ52 ∧ q12 Tr ={Ps(x, y, r(verb),t(z1, …,zk), trnom)} ∧q12Tr;
                                                                                            (3.15)

          d0 = Ps(xi, t(z1, …,zk), trnom) ∨ Ps(xi, y, r(verb),t(z1, …,zk), trnom).
                                                                                            (3.16)
                                                           Tr
     Этому случаю соответствует продукция pr12 :
     q12Tr = Ps(xi, y, r(verb),t(z1, …,zk), trnom)↔ ( ∃ xi:X) Ps(xi, y, r(verb),t(z1, …,zk), trnom);
     r12Tr = add[( g~1′ , y) ∧( g~2′ ,z1) ∧( g~3′ ,z2) ∧ … ∧ ( g~k′ −1 , zk); elim (g)].
     Если доказательство гипотезы прошло успешно, то программа r удаляет вершину g,
перед ней добавляет новых k вершин, а затем переходит на первую добавленную вершину
для проверки второй гипотезы верхнего уровня.
     Четвертая гипотеза нижнего уровня. Эта гипотеза утверждает, что лексема xi,
расположенная в вершине g, является синонимом понятию логической модели данных или
понятию проблемной среды. Для поиска синонима формируется множество входных
                                       r
дизъюнктов Γ=Γ6 ∧q13Tr ={ Ps ( x, y, t an ) }∧q13Tr, состоящее из предикатов с отношениями
           r
подобия t an и условия применимости q13Tr, а входная ситуация задается в виде предиката
подобия d0 = Ps(xi, y, tran). Данной гипотезе соответствует продукция pr13Tr:
     q13Tr = Ps(xi, y, tran) ↔ ( ∃ xi:X) Ps(xi, y, tran); r13Tr = add[(xi, y)].
     В результате успешного доказательства гипотезы понятие xi заменится на
соответствующий синоним y. Затем произойдет переход на проверку всех предыдущих
гипотез, начиная с первой гипотезы верхнего уровня. Доказательство будет продолжаться
до тех пор, пока одна из гипотез не окажется истинной или пока не будет перебран весь
список синонимов текущей лексемы.
                                    ~
     Таким образом, граф G ′ , полученный в результате доказательства гипотез, и
                                                                      ~
исходный граф G являются гомеоморфными. Граф G ′ будет содержать в вершинах
термины логической модели данных или термины языка SQL, с приписанными к каждой
вершине g~ ′ векторами ηi.

3.2.1.3. Преобразование графа зависимостей терминов логической модели в граф
зависимостей терминов физической модели – преобразование Ψ3′′
                               ~
     Построенный граф G ′ может иметь вершины с одинаковыми значениями. Так,
например, если две вершины g i , g i +1 ∈G исходному графу имели значение «домашний» и
«телефон» соответственно, то при доказательстве третьей гипотезы нижнего уровня в
                                        ~
соответствующие вершины g~i′ , g~i′+1 ∈ G ′ будет записано одинаковое значение, например,
                                                      ~
«Дом_телефон». Для удаления дублирующих вершин g~ ′ ∈ G ′ необходимо проверить
ситуацию, которая утверждает, что вектор ηi эквивалентен вектору ηi+1 тогда и только
тогда, когда имеет место закономерность, описываемая конъюнкцией следующих фактов:
     - вершина g~i′ имеет значение xi - Ps( g~i′ , xi);

                                                     70