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

UptoLike

6) х
i+1
имеет характеристику v
(i+1)4
V
i+1
со значением сорта «число» - (х
i+1
:X) Р(x
i+1
,
t(v
(i+1)4
, v
(i+1)4
));
7) х
i+2
имеет характеристику v
(i+2)1
V
i+2
со значением «союз» - (х
i+2
:X) Р(x
i+2
, t(v
(i+2)1
,
союз));
8) х
i+3
имеет характеристику v
(i+3)1
V
i+3
со значением «глагол прошедшего времени» -
(
х
i+3
:X) Р(x
i+3
, t(v
(i+3)1
, глагол прошедшего времени));
9) х
i+3
имеет характеристику v
(i+3)3
V
i+3
со значением сорта «род» - (х
i+3
:X) Р(x
i+3
, t(v
(i+3)3
,
v
(i+3)3
));
10) х
i+3
имеет характеристику v
(i+3)4
V
i+3
со значением сорта «число» - (х
i+3
:X) Р(x
i+3
,
t(v
(i+3)4
, v
(i+3)4
));
11) v
i3
, v
(i+1)4
и v
(i+3)4
должны быть эквивалентны - Р
Е
(v
i4
, v
(i+1)4
, v
(i+3)4
);
12) v
i3
, v
(i+1)3
и v
(i+3)3
должны быть эквивалентны - Р
Е
(v
i3
, v
(i+1)3
, v
(i+3)3
).
Тогда продукция записывается в виде: pr
19
s
=<q
19
s
, r
19
s
>, где
q
19
s
= (х
i
:X) Р(x
i
, t(v
i1
, глагол прошедшего времени), t(v
i3
, v
i3
), t(v
i4
, v
i4
)) (х
i+1
:X) Р(x
i+1
,
t(v
(i+1)1
, глагол прошедшего времени), t(v
(i+1)3
, v
(i+1)3
), t(v
(i+1)4
, v
(i+1)4
)) (х
i+2
:X) Р(x
i+2
, t(v
(i+2)1
,
союз))
(х
i+3
:X) Р(x
i+3
, t(v
(i+3)1
, глагол прошедшего времени), t(v
(i+3)3
, v
(i+3)3
), t(v
(i+3)4
, v
(i+3)4
)) Р
Е
(v
i4
,
v
(i+1)4
, v
(i+3)4
) Р
Е
(v
i3
, v
(i+1)3
, v
(i+3)3
) (х
i
:X) (x
i+1
:X) (x
i+3
:X) Р
2
(ОЧГП, t(x
i
, x
i+1
, х
i+3
));
r
19
s
= add [P
4
(ОЧГП, t(х
i
, x
i+1
, x
i+3
)]; elim [(X, {х
i+1
, x
i+2
, x
i+3
}].
Второе правилоpr
20
s
=<q
20
s
, r
20
s
>, где
q
20
s
= (х
i
:X) Р(x
i
, t(v
i1
, глагол прошедшего времени), t(v
i3
, v
i3
), t(v
i4
, v
i4
)) (х
i+1
:X) Р(x
i+1
,
t(v
(i+1)1
, союз)) (х
i+2
:X) Р(x
i+2
, t(v
(i+2)1
, глагол прошедшего времени), t(v
(i+2)3
, v
(i+2)3
), t(v
(i+2)4
, v
(i+2)4
))
)),(,(
1)3(3
временипрошедшегоглаголvtxP
ii ++
Р
Е
(v
i4
, v
(i+2)4
) Р
Е
(v
i3
, v
(i+2)3
) (х
i
:X) (x
i+2
:X)
Р
1
(ОЧГП, t(x
i
, x
i+2
));
r
20
s
= add [P
3
(ОЧГП, t(х
i
, x
i+2
)]; elim [(X, {х
i+1
, x
i+2
}].
Третье правилоpr
21
s
=<q
21
s
, r
21
s
>, где
q
21
s
= (х
i
:X) Р(x
i
, t(v
i1
, глагол прошедшего времени), t(v
i3
, v
i3
), t(v
i4
, v
i4
)) (х
i+1
:X) Р(x
i+1
,
t(v
(i+1)1
, глагол прошедшего времени), t(v
(i+1)3
, v
(i+1)3
), t(v
(i+1)4
, v
(i+1)4
))
)),(,(
1)2(2
временипрошедшегоглаголvtxP
ii ++
Р
Е
(v
i4
, v
(i+1)4
) Р
Е
(v
i3
, v
(i+1)3
) (х
i
:X) (x
i+1
:X)
Р
1
(ОЧГП, t(x
i
, x
i+1
));
r
21
s
= add [P
3
(ОЧГП, t(х
i
, x
i+1
)]; elim [(X, {х
i+1
}].
4. Правило для построения синтаксической группы ДАТА. Правило ищет два, три или четыре
контактно стоящих слова х
i
, х
i+1
, х
i+2
, х
i+3
, при этом х
i
может быть числом (1,2, …, 31), названием
месяца (январь, февраль, …, декабрь) или годом (10 … 2010), х
i+1
числом месяца (01,02, …, 12),
названием месяца, годом или словоформой лексемы «год», х
i+2
годом или словоформой лексемы
«год», х
i+3
- словоформой лексемы «год», например, 2003 года, 1 сентября, 1.04.2003 года, с
сентября 2003 года, 1 марта 2002 года. В результате может быть сформирована синтаксическая
группа ДАТА по схемам:
- число-месяц (5 сентября) – 05.09.04 (в качестве года ставится число текущего года);
- год-словоформа (2003 года) - 01.01.03;
101
        6) хi+1 имеет характеристику v(i+1)4 ∈Vi+1 со значением сорта «число» - (∃хi+1:X) Р(xi+1,
t(v(i+1)4, v(i+1)4));
        7) хi+2 имеет характеристику v(i+2)1∈Vi+2 со значением «союз» - (∃хi+2:X) Р(xi+2, t(v(i+2)1,
союз));
        8) хi+3 имеет характеристику v(i+3)1∈Vi+3 со значением «глагол прошедшего времени» -
(∃хi+3:X) Р(xi+3, t(v(i+3)1, глагол прошедшего времени));
        9) хi+3 имеет характеристику v(i+3)3 ∈Vi+3 со значением сорта «род» - (∃хi+3:X) Р(xi+3, t(v(i+3)3,
v(i+3)3));
        10) хi+3 имеет характеристику v(i+3)4 ∈Vi+3 со значением сорта «число» - (∃хi+3:X) Р(xi+3,
t(v(i+3)4, v(i+3)4));
        11) vi3, v(i+1)4 и v(i+3)4 должны быть эквивалентны - РЕ(vi4, v(i+1)4, v(i+3)4);
        12) vi3, v(i+1)3 и v(i+3)3 должны быть эквивалентны - РЕ(vi3, v(i+1)3, v(i+3)3).
        Тогда продукция записывается в виде: pr19s =, где
        q19s= (∃хi:X) Р(xi, t(vi1, глагол прошедшего времени), t(vi3, vi3), t(vi4, vi4)) ∧ (∃хi+1:X) Р(xi+1,
t(v(i+1)1, глагол прошедшего времени), t(v(i+1)3, v(i+1)3), t(v(i+1)4, v(i+1)4))∧ (∃хi+2:X) Р(xi+2, t(v(i+2)1,
союз))∧ (∃хi+3:X) Р(xi+3, t(v(i+3)1, глагол прошедшего времени), t(v(i+3)3, v(i+3)3), t(v(i+3)4, v(i+3)4)) ∧ РЕ(vi4,
v(i+1)4, v(i+3)4) ∧ РЕ(vi3, v(i+1)3, v(i+3)3) ↔ (∃хi:X) (∃xi+1:X) (∃xi+3:X) Р2(ОЧГП, t(xi, xi+1, хi+3));
        r19s = add [P4(ОЧГП, t(хi, xi+1, xi+3)]; elim [(X, {хi+1, xi+2, xi+3}].
        Второе правило – pr20s =, где
        q20s= (∃хi:X) Р(xi, t(vi1, глагол прошедшего времени), t(vi3, vi3), t(vi4, vi4)) ∧ (∃хi+1:X) Р(xi+1,
t(v(i+1)1, союз)) ∧ (∃хi+2:X) Р(xi+2, t(v(i+2)1, глагол прошедшего времени), t(v(i+2)3, v(i+2)3), t(v(i+2)4, v(i+2)4))
∧ P( xi +3 , t (v (i +3)1 , глагол прошедшего времени )) ∧ РЕ(vi4, v(i+2)4) ∧ РЕ(vi3, v(i+2)3) ↔ (∃хi:X) (∃xi+2:X)
Р1(ОЧГП, t(xi, xi+2));
        r20s = add [P3(ОЧГП, t(хi, xi+2)]; elim [(X, {хi+1, xi+2}].
        Третье правило – pr21s =, где
        q21s= (∃хi:X) Р(xi, t(vi1, глагол прошедшего времени), t(vi3, vi3), t(vi4, vi4)) ∧ (∃хi+1:X) Р(xi+1,
t(v(i+1)1,      глагол    прошедшего           времени),       t(v(i+1)3, v(i+1)3), t(v(i+1)4, v(i+1)4))  ∧
P ( xi + 2 , t (v( i + 2 )1 , глагол прошедшего времени )) ∧ РЕ(vi4, v(i+1)4) ∧ РЕ(vi3, v(i+1)3) ↔ (∃хi:X) (∃xi+1:X)
Р1(ОЧГП, t(xi, xi+1));
     r21s = add [P3(ОЧГП, t(хi, xi+1)]; elim [(X, {хi+1}].
     4. Правило для построения синтаксической группы ДАТА. Правило ищет два, три или четыре
контактно стоящих слова хi, хi+1, хi+2, хi+3, при этом хi может быть числом (1,2, …, 31), названием
месяца (январь, февраль, …, декабрь) или годом (10 … 2010), хi+1 – числом месяца (01,02, …, 12),
названием месяца, годом или словоформой лексемы «год», хi+2 – годом или словоформой лексемы
«год», хi+3 - словоформой лексемы «год», например, 2003 года, 1 сентября, 1.04.2003 года, с
сентября 2003 года, 1 марта 2002 года. В результате может быть сформирована синтаксическая
группа ДАТА по схемам:
     - число-месяц (5 сентября) – 05.09.04 (в качестве года ставится число текущего года);
     - год-словоформа (2003 года) - 01.01.03;

                                                         101