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

UptoLike

P
f
(t
in
(x
i+2
), y
1
, f
1
) P
E
(y
1
, b
45
) (х
i
:X) (x
i+1
:X) Р
1
(ДАТА, t(х
i
, x
i+1
));
r
23
s
= add [(v
i1
, дата) (x
i
, «01.x
i
.x
i+1
»]; elim [(X, {х
i+1
, х
i+2
}].
Для третьей ситуации продукция имеет вид: pr
24
s
=<q
24
s
, r
24
s
>, где
q
24
s
= (х
i
:X) Р(x
i
, t(v
i1
, числительное)) P
f
(t
in
(x
i
), y
1
, f
1
) P
E
(y
1
, b
44
) (х
i+1
:X) Р(x
i+1
, t(v
(i+1)1
,
существительное))
P
f
(t
in
(x
i+1
), y
1
, f
1
) P
E
(y
1
, b
45
) (х
i
:X) (x
i+1
:X) Р
1
(ДАТА, t(х
i
, x
i+1
));
r
24
s
= add [(v
i1
, дата) (x
i
, «01.01.x
i
» P
5
(ДАТА, x
i
)]; elim [(X, {х
i+1
}].
Ситуация четвертая: лексемы х
i
, х
i+1
образуют синтаксическую группу ДАТА тогда и только
тогда, когда имеет место закономерность, описываемая конъюнкцией следующих фактов:
1) х
i
имеет характеристику v
i1
V
i
со значением «числительное» - (х
i
:X) Р(x
i
, t(v
i1
,
числительное));
2) х
i
принадлежит сорту b
4k
- P
f
(t
in
(x
i
), y
1
, f
1
);
3) сорт b
4k
имеет значение b
43
- P
E
(y
1
, b
43
);
4) х
i+1
имеет характеристику v
(i+1)1
V
i+1
со значением «существительное» - (x
i+1
:X) Р(x
i+1
,
t(v
(i+1)1
, существительное));
5) х
i+1
принадлежит сорту b
4t
- P
f
(t
in
(x
i+1
), y
2
, f
1
);
6) сорт b
4t
имеет значение b
41
- P
E
(y
2
, b
41
).
Тогда предикат (
х
i
:X) (x
i+1
:X) Р
1
(ДАТА, t(х
i
, x
i+1
)) соответствует утверждению, что
существуют лексемы х
i
, x
i+1
, которые могут образовать синтаксическую группу с именем ДАТА, а
продукция записывается в виде: pr
25
s
=<q
25
s
, r
25
s
>, где
q
25
s
= (х
i
:X) Р(x
i
, t(v
i1
, числительное)) P
f
(t
in
(x
i
), y
1
, f
1
) P
E
(y
1
, b
43
) (x
i+1
:X) Р(x
i+1
, t(v
(i+1)1
,
существительное))
P
f
(t
in
(x
i+1
), y
2
, f
1
) P
E
(y
2
, b
41
) (х
i
:X) (x
i+1
:X) Р
1
(ДАТА, t(х
i
, x
i+1
));
r
25
s
= add [(v
i1
, дата) (x
i
, «x
i
.x
i+1
.год(сегодня P
5
(ДАТА, x
i
)]; elim [(X, {х
i+1
}].
5. Правило для построения группы ОГ (частица «не»+глагол). Правило ищет два контактно
стоящих слова х
i
и х
i+1,
при этом х
i
- частица «не», а х
i+1
глагол, глагол прошедшего времени или
инфинитив, например, не учатся, не сдала, не уметь. В результате формируется группа ОГ через
объединение двух слов, которая становится единой в семантическом смысле, и удаляется слово х
i
из исходного множества лексем:
1) х
i
имеет значение «не» - P
E
(х
i
, не);
2) х
i+1
имеет характеристику v
(i+1)1
V
i+1
со значением «глагол» или со значением «глагол
прошедшего времени» или со значением «инфинитив» - (
х
i+1
:X) Р(x
i+1
, t(v
(i+1)1
, глагол)) или
(
х
i+1
:X) Р(x
i+1
, t(v
(i+1)1
, глагол прошедшего времени)) или (х
i+1
:X) Р(x
i+1
, t(v
(i+1)1
, инфинитив)).
Тогда продукцию можно представить в виде: pr
26
s
=<q
26
s
, r
26
s
>, где
q
26
s
= P
E
(х
i
, не) ((х
i+1
:X) (Р(x
i+1
, t(v
(i+1)1
, глагол)) Р(x
i+1
, t(v
(i+1)1
, глагол прошедшего
времени))
(Р(x
i+1
, t(v
(i+1)1
, инфинитив))) (х
i
:X) (x
i+1
:X) Р
1
(ОГ, t(х
i
, x
i+1
));
r
26
s
= add [(v
(i+1)1
, v
i1
-отрицание)]; elim [(X, {х
i
}].
Программа r
26
s
удаляет частицу «не» из исходного множества лексем Х и осуществляет
обновление вектора V
i+1
, в котором элементу v
(i+1)1
приписывается запись «-отрицание».
Вторая подсистема правил
1. Правило построения словосочетания МП (модифицированное прилагательное). Правило
ищет два контактно стоящих слова х
i
и х
i+1
, где х
i
это словоформы слов «такой» или «самый», а
103
Pf(tin(xi+2), y1, f1)∧ PE(y1, b45)↔ (∃хi:X) (∃xi+1:X) Р1(ДАТА, t(хi, xi+1));
        r23s = add [(vi1, дата) ∧ (xi, «01.xi.xi+1»]; elim [(X, {хi+1, хi+2}].
        Для третьей ситуации продукция имеет вид: pr24s =, где
        q24s= (∃хi:X) Р(xi, t(vi1, числительное)) ∧ Pf(tin(xi), y1, f1)∧ PE(y1, b44)∧ (∃хi+1:X) Р(xi+1, t(v(i+1)1,
существительное))∧ Pf(tin(xi+1), y1, f1)∧ PE(y1, b45)↔ (∃хi:X) (∃xi+1:X) Р1(ДАТА, t(хi, xi+1));
        r24s = add [(vi1, дата) ∧ (xi, «01.01.xi»∧ P5(ДАТА, xi)]; elim [(X, {хi+1}].
        Ситуация четвертая: лексемы хi, хi+1 образуют синтаксическую группу ДАТА тогда и только
тогда, когда имеет место закономерность, описываемая конъюнкцией следующих фактов:
        1) хi имеет характеристику vi1∈Vi со значением «числительное» - (∃хi:X) Р(xi, t(vi1,
числительное));
        2) хi принадлежит сорту b4k - Pf(tin(xi), y1, f1);
        3) сорт b4k имеет значение b43 - PE(y1, b43);
        4) хi+1 имеет характеристику v(i+1)1∈Vi+1 со значением «существительное» - (∃xi+1:X) Р(xi+1,
t(v(i+1)1, существительное));
        5) хi+1 принадлежит сорту b4t - Pf(tin(xi+1), y2, f1);
        6) сорт b4t имеет значение b41 - PE(y2, b41).
        Тогда предикат (∃хi:X) (∃xi+1:X) Р1(ДАТА, t(хi, xi+1)) соответствует утверждению, что
существуют лексемы хi, xi+1, которые могут образовать синтаксическую группу с именем ДАТА, а
продукция записывается в виде: pr25s =, где
        q25s= (∃хi:X) Р(xi, t(vi1, числительное)) ∧ Pf(tin(xi), y1, f1)∧ PE(y1, b43)∧ (∃xi+1:X) Р(xi+1, t(v(i+1)1,
существительное))∧ Pf(tin(xi+1), y2, f1)∧ PE(y2, b41) ↔ (∃хi:X) (∃xi+1:X) Р1(ДАТА, t(хi, xi+1));
        r25s = add [(vi1, дата) ∧ (xi, «xi.xi+1.год(сегодня)» ∧ P5(ДАТА, xi)]; elim [(X, {хi+1}].
        5. Правило для построения группы ОГ (частица «не»+глагол). Правило ищет два контактно
стоящих слова хi и хi+1, при этом хi - частица «не», а хi+1 – глагол, глагол прошедшего времени или
инфинитив, например, не учатся, не сдала, не уметь. В результате формируется группа ОГ через
объединение двух слов, которая становится единой в семантическом смысле, и удаляется слово хi
из исходного множества лексем:
        1) хi имеет значение «не» - PE(хi, не);
        2) хi+1 имеет характеристику v(i+1)1∈Vi+1 со значением «глагол» или со значением «глагол
прошедшего времени» или со значением «инфинитив» - (∃хi+1:X) Р(xi+1, t(v(i+1)1, глагол)) или
(∃хi+1:X) Р(xi+1, t(v(i+1)1, глагол прошедшего времени)) или (∃хi+1:X) Р(xi+1, t(v(i+1)1, инфинитив)).
   Тогда продукцию можно представить в виде: pr26s =, где
     q26s= PE(хi, не) ∧ ((∃хi+1:X) (Р(xi+1, t(v(i+1)1, глагол)) ∨ Р(xi+1, t(v(i+1)1, глагол прошедшего
времени)) ∨(Р(xi+1, t(v(i+1)1, инфинитив))) ↔ (∃хi:X) (∃xi+1:X) Р1(ОГ, t(хi, xi+1));
     r26s = add [(v(i+1)1, vi1-отрицание)]; elim [(X, {хi}].
     Программа r26s удаляет частицу «не» из исходного множества лексем Х и осуществляет
обновление вектора Vi+1, в котором элементу v(i+1)1 приписывается запись «-отрицание».
     Вторая подсистема правил
     1. Правило построения словосочетания МП (модифицированное прилагательное). Правило
ищет два контактно стоящих слова хi и хi+1, где хi – это словоформы слов «такой» или «самый», а

                                                           103