Символьное представление синтаксической структуры предложения

УДК 519.766.24

П.В. ЖЕЛТОВ СИМВОЛЬНОЕ ПРЕДСТАВЛЕНИЕ СИНТАКСИЧЕСКОЙ СТРУКТУРЫ ПРЕДЛОЖЕНИЯ*

Ключевые слова: символьное моделирование, формульное представление, синтаксическая структура, синтаксические отношения.

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

P.V. ZHELTOV

SYMBOL REPRESENTATION OF SYNTACTIC STRUCTURE OF SENTENCE Key words: symbol modeling, formula representation, syntactic structure, syntactic relations.

Are analyzed the concepts of symbol function and symbol reflections, in relation to morphological analysis. Are given symbolic representation of the formulas and word forms, syntactic relations and syntactic structure of sentences.

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

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

Выбор формального аппарата и представление морфлогических характеристик в лингвопроцессорах являются актуальной задачей [1].

1. Символьные функции и определение части речи словоформы. Важными для построения синтаксически правильных формальных представлений являются понятия символьного отображения и символьной функции [2, 3]. Символьное отображение множества словоформ L в множество морфологических характеристик В - это соответствие, в силу которого каждой словоформе х е L ставится морфологическая характеристика y из множества В.

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

y = subst(x), x е L, y е {S, 0}, где S - существительные; y = adj(x), x е L, y е {Adj, 0}, Adj - прилагательные; y = verb(x), x е L, y е {V, 0}, V- глагол; y = pron(x), x е L, y е {P, 0}, P - местоимения; y = adv(x), x е L, y е {Adv, 0}, Adv - наречия; y = num(x), x е L, y е {Num, 0}, Num - числительные; y = prop(x), x е L, y е {Pr, 0}, Pr - предлоги; y = conj(x), x е L, y е {Pr, 0}, Conj - союзы; y = part(x), x е L, y е {Part, 0}, Part - частицы.

Каждая из этих функций определяет, относится ли аргумент к данной части речи путем проверки на наличие у него соответствующих морфологических характеристик, а также путем приведения его к словарной форме и проверки её на наличие в словаре. В

* Исследование выполнено при поддержке РФФИ (проект № 11-07-00276а).

случае успешного окончания проверки, т.е. если аргумент принадлежит к соответствующей части речи, функция возвращает соответствующий символ, в случае неуспешного окончания - возвращает символ 0.

Пусть определена символьная функция «часть речи», т.е. y = parts(x), x е L, где L -множество слов русского языка, которое каждому слову x ставит в соответствие значение зависимой переменной y из множества^, Adj, V, P, Adv, Num, Pr, Conj, Part}.

Например, если x = ‘алгоритмы’, тогда y = parts(x) = S, x е L.

Определим функцию parts(x) как

parts( x) = subst( x') + adj( x)+verb( x) + pron( x) + adv( x) + num( x) +

+ prop{x) +conj(x) + part{x),

т.е. функция parts(x) состоит из суммы функций subst(x), adj(x), verb(x), pron(x), adv(x), num(x), prop(x), conj(x), part(x). Все функции в выражении, которым определяется parts(x), - взаимоисключающие, т.е. омонимия по частям речи исключается, так как при подстановке x в выражение только одна функция должна дать непустой символ.

2. Символьные функции и определение морфологических характеристик словоформы. Определим следующие символьные функции:

1. Определим символьную функцию рода y = genus(x), которая каждому слову x е L, удовлетворяющему условию parts(x) е {S, Adj, V, Num}, ставит в соответствие значение зависимой переменной y из множества {m, f n}, где m = ‘мужской род’, f = ‘женский род’, n = ‘средний род’ Например, x = ‘алгоритмы’, y = genus(x) = m.

2. Определим символьную функцию числа y = numer(x), которая каждому слову x е L, удовлетворяющему условию parts(x) е {S, Adj, V, Num}, ставит в соответствие значение зависимой переменной y из множества {s, pl}, где s = ‘единственное число’, pl = ‘множественное число’. Например, x = ‘алгоритмы’, y = numer(x) = pl.

3. Определим символьную функцию падежа y = casus(x), которая каждому слову x е L , удовлетворяющему условию parts(x) е {S, Adj, Num, Pr}, ставит в соответствие значение зависимой переменной y из множества {nom, gen, par, dat, acc, inst, prop, loc}, где nom = ‘именительный падеж’, gen = ‘родительный падеж’, par = ‘исходный падеж’ = ‘партитивный падеж’, dat = ‘дательный падеж’, acc = ‘вининительный падеж’, prop = ‘предложный падеж’, loc = ‘местный падеж’. Например, x = ‘алгоритмы’ y = casus(x) = {nom, acc}.

Данная функция в принципе может иметь нефиксированное число аргументов (два, три или один), так как падеж определяется не только исходя из наличия или отсутствия окончаний, но и исходя из такой семантической характеристики, как одушевленность. Так, у неодушевленных имен существительных мужского рода в винительном падеже падежные окончания отсутствуют: «Я люблю компот» (‘компот’ - ед., муж., вин.), равно как и в именительном падеже: «Компот уже остыл!» (‘компот’ - ед., муж., им.). Для правильного отображения надо иметь сведения о наличии/отсутствии предлога, об одушевленности и роде, а также о том, каким членом предложения является (т.е. о позиции перед глаголом или после него при наличии такового или о позиции относительно связки при отсутствии такового: «Компот остыл!» - перед глаголом, значит подлежащее, «Я люблю компот» - после глагола, значит дополнение). Таким образом, y = casus(x[a, p, so]), где parts(x) е {S, Adj, Num, Pr}, a е {v, nv} - одушевленность, v = ‘одушевленный’, nv = ‘неодушевленный’,p е {Pr} = {'о', 'в', 'из', 'на', ...}, so е {Sub, Ob} - член предложения, Sub = ‘подлежащее’, Ob = ‘дополнение’. Позиция перед глаголом/связкой/заменителем глагола обозначается ‘-1’ = ‘до сказуемого’, а позиция после глагола/связки/заменителя глагола обозначается ‘1’ = ‘после сказуемого’.

4. Определим символьную функцию степени сравнения y = compar(x), которая каждому слову x е L, удовлетворяющему условию parts(x) е {Adj, Adv}, ставит в соответствие значение зависимой переменной y из множества {pos, comp, super}, где pos = ‘положительная степень’, comp = ‘сравнительная степень’, super = ‘превосходная степень’. Например, x = ‘наилучший’, y = compar(x) = super.

5. Определим символьную функцию формы y = form(x), которая каждому слову x є L, удовлетворяющему условию parts(x) є {Adj}, ставит в соответствие значение зависимой переменной y из множества {lf, cf}, где lf = ‘полная форма’, cf = ‘краткая форма’. Так, form('белый') = lf, form('бел') = сf а form^ красна') = сf . Например, x = ‘наилучший’, y = form(x) = lf

6. Определим символьную функцию репрезентации глагола y = representation(x), которая каждому слову x є L, удовлетворяющему условию parts(x) є {V}, ставит в соответствие значение зависимой переменной y из множества {pverb, inf, part, ger}, где pverb = ‘личные формы глагола’, inf = ‘инфинитив’, part = ‘причастие’, ger = ‘деепричастие’. Например, x = ‘делать’, y = representation(x) = inf, x = ‘делаю’, y = representtation(x) = pverb; x = ‘делающий’, y = representation(x) = part; x = ‘делавший’, y = representation(x) = ger.

7. Определим символьную функцию наклонение глагола y = modus(x), которая каждому слову x є L, удовлетворяющему условию parts(x) є {V}, ставит в соответствие значение зависимой переменной y из множества {indicat, imperat, subjonct, inf, condition}, где indicat = ‘изъявительное наклонение’, imperat = ‘повелительное наклонение’, subjonct = ‘сослагательное наклонение’, inf = ‘инфинитив’, condition = ‘условное наклонение’. Например, x = ‘делаю’ y = modus(x) = indicat, x = ‘делай’ y = modus(x) = imperat; x = ‘сделал бы’ y = modus(x) = subjonct, x = ‘делать’ y = modus(x) = inf x = ‘если сделаю’ y = modus(x) = condition.

8. Определим символьную функцию вида у глаголов y = aspect(x), которая каждому слову x є L, удовлетворяющему условию parts(x) є {V}, ставит в соответствие значение зависимой переменной y из множества {imperf perf}, где imperf = ‘несовершенный вид’, perf= ‘совершенный вид’. Например, x = ‘сделал’, y = aspect(x) = imperf.

9. Определим символьную функцию времени у глаголов y = tempus(x), которая каждому слову x є L, удовлетворяющему условию parts(x) є {V}, ставит в соответствие значение зависимой переменной y из множества {present, future, past}, где present = ‘настоящее время’, futur = ‘будущее время’, past = ‘прошедшее время’. Например, x = ‘сделал’ y = tempus(x) = past.

10. Определим символьную функцию лица у глаголов и местоимений y = person(x), которая каждому слову x є L, удовлетворяющему условиюparts(x) є {PuV}\{inf part, get}, ставит в соответствие значение зависимой переменной y из множества {'1', '2', '3'}, где '1' = ‘первое лицо’, '2' = ‘второе лицо’, '3' = ‘третье лицо’. Например, x = ‘сделаю’, y = person(x) = '1'.

11. Определим символьную функцию залога у глаголов y = vox(x), которая каждому слову x є L, удовлетворяющему условию parts(x) є {V} ставит в соответствие значение зависимой переменной y из множества {activ, passiv, reflex, cooper - reflex, causativ}, где activ = ‘активная форма’, passiv = ‘пассивная форма’, reflex = ‘рефлексивная форма’, cooper - reflex = ‘возвратно-рефлексивная форма’, causativ = ‘каузативная форма’. Например, x = ‘делаю’, y = vox(x) = activ; x = ‘обнимаемся’, y = vox(x) = cooper - reflex, x = ‘ударился’, y = vox(x) = reflex; x = ‘запуган’ y = vox(x) = passiv.

3. Представление словоформы символьной дробью. Каждому слову x є L, удовлетворяющему условию parts(x), можно поставить в соответствие набор его морфологических характеристик f1(x), f2(x), ..., fn(x). Например, слову «дома» ставятся следующие морфологические характеристики:

'дома '-О ( genus{x)  numer(x)  casus( x, a, p)).

Любую словоформу можно представить в виде дроби, в числителе которой словоформа или ее условное обозначение, а в знаменателе - набор её морфологических характеристик,

x

f1

Так, словоформа x - дома' будет представлена как

x

genus

или с учетом категории одушевленности и контекста:

' дома'

где XOR - «исключающее ИЛИ» для символьных операндов, применяемое для омонимов и указывающее, что может существовать только один из омонимов, т.е. указывает на необходимость деомонимизации на этапе синтаксиса.

Оператор XOR в знаменателе символьной дроби позволяет разделить дробь на три по омонимам знаменателя:

,дома' 7xOr-------^—,xor- ,дома'

pl - m -[nom,nv,Sub\ s- m -[gen,nv,Ob] pl - m -[acc,nv,Ob]

4. Символьное представление синтаксической структуры. Существует ряд таких синтаксических отношений, которые невозможно установить по равенству значений общих морфологических характеристик [1]. Например, два предложения «Они работают дома» (Senil) и «Дома работают они» (Sentí) при применении компьютерного анализа будут представлены следующим набором вариантов морфологического разбора:

Sentl = ['они' o (P, pl, nom, '3'),' работают' o(V, pverb, indicat, present, pl, '3'),

'дома'o (pl  m -[nom,nv,Sub])XOR(s  m -[gen,nv,Ob])XOR(pl  m-[acc,nv,Ob])],

Sentí = 'дома' o(pl - m - [nom, nv, Sub])XOR(s - m - [gen, nv, Ob])XOR(pl - m - [acc, nv, Ob]),

'работают o (V, pverb, indicat, present, pl, '3'),' они' o(P, pl, nom, '3')].

В формальном представлении синтаксическая структура предложений Sentl и Sentí будет выглядеть так:

р

Sentl =----------------1---------------Ъ

numer

V1

Ъ--------------------------------------------------------------Ъ

representa tion (V ) - modus (V ) - tempus (V ) - numer (V ) - person (V ) ъ S1 = ' они' ' работают' ъ

genus(Sj) • numer(Sj) • casus(Sj,a,p) pl • nom-'У pverb • indicat • present • pl-'У

' дома'

+ -

„ , 'они' 'работают*

Sentí ------------+------------- --------------------+

pl • nom-'У pverb • indicat • present • pl-'У

. 'дома' _xOr--------------W------------xOr- ,дома'

pl• m •[nom,nv,Sub] s • m •[gen,nv,Ob] pl• m •[acc,nv,Ob]

Sent2 --------- — ---------j— --------- —- +

numer

Vj

\-----------------------------------------------------------------------+

representationV ) • modus

+________________5________________-

numer

дома

(pl  m -[nom,nv,Sub])XORp  m -[gen,nv,Ob])XOR(pl  m [acc,nv,Ob]] + 'работают' + 'они'

pverb  indicat  present  pl-'У pl  nom-'У Sent 2 =--------^, XOR----------------------^------------XOR- 'Д0Ма'

pl  m -[nom, nv, Sub] s  m -[gen, nv,Ob\ pl  m -[acc, nv,Ob\

^ 'работают' ^ 'они'

pverb  indicat  present  pl-'У pl  nom-'У

Категории падежа у глаголов не имеется, поэтому соответствующая символьная функция casus'(x) у глагола не определена.

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

nom )у

как символьный показатель степени, введя соответствующее обозначение ——— Так

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

Символьные показатели степени глагола, необходимые для установления синтаксических отношений, определяются функцией определения части речи y = parts(x)T же самое необходимо и для установления комплетивных синтаксических отношений, которых в русском языке целых восемь [1].

В связи с тем, что писать более двух дополнительных символьных показателей степеней подряд у одного символа неудобно, представим V|-а|-13 как Vl-al-13 = V<'а -V^ . Тогда nom^V(acc(dat=nom)V V(acc -V*dat. Более того, во избежание путаницы можно ввести дополнительные детерминанты, поясняющие, к какой части речи и какому члену предложения относится та или иная степень.

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

Литература

1. Апресян Ю.Д., Богуславский И.М., Иомдин Л.Л. Лингвистический процессор для сложных информационных систем. М.: Наука, 1992. 256 с.

2. Ильин А.В., Ильин В.Д. Основы теории S-моделирования. М.: ИПИ РАН, 2009. 144 с.

3. Рыков В.В. Обработка нечисловой информации управление знаниями: курс лекций. М.: МФТИ, 2005. 157 с.

ЖЕЛТОВ ПАВЕЛ ВАЛЕРИАНОВИЧ - кандидат технических наук, доцент кафедры компьютерных технологий, Чувашский государственный университет, Россия, Чебоксары (tchouvachie@narod.ru).

ZHELTOV PAVEL VALERIANOVICH - faiulidate of technical sciences, assistant professor of Computer Technology Chair, Chuvash State University, Russia, Cheboksary.

+