Генерация на текстове на естествен език



Дата30.11.2018
Размер323.16 Kb.
#106794
Генерация на текстове на естествен език
(Automatic) language understanding is somewhat

like counting from one to infinity;

(automatic) language generation is like

counting from infinity to one.

Йорик Уилкс, цитиран в [4]



Почти всички софтуерни системи, които извеждат изход за обикновени потребители, се опитват да генерират “естествен и разбираем” резултат. Например, месечната ни сметка за телефон представлява писмо на български език, произведено по предварително зададен шаблон. В шаблона има стандартизирани текстови обяснения, които са заложени с цел генерация на по-разбираем документ. От база данни се подават отделни елементи – име на клиента, пощенски адрес и т.н., както и цифрови стойности - брой импулси, цена, данък добавена стойност и сумата за плащане, с които се запълват определени полета на шаблона. Получателят на сметката вижда на хартия така съставения документ и остава с впечатление, че системата е генерирала писмо на естествен език (което в известен смисъл е вярно). Но всъщност този вид документи се произвежда чрез съчленяване на фиксирани текстови низове и запълване на шаблони, което по дефиниция не е “автоматична обработка на естествен език”. Така че, от гледна точка на компютърната лингвистика, за генерация се говори тогава, когато дадена софтуерна система произвежда текст от динамично подаден неезиков вход с определена семантика, чрез обработка на връзки между текстови единици съгласно някаква лингвистична теория за строежа на текста и компютърен модел на тази теория.
Генерацията на естествен език започва да се развива през 80-те години на миналия век, което е с близо четвърт век по-късно от началото на машинния превод (класическа дисциплина на компютърната лигвистика) и анализа/разбирането на естествен език (неосъществената амбиция на компютърната лингвистика). Едно шеговито обяснение за по-късно събудения интерес към генерацията е, че хората са твърде егоцентрични, тоест предпочитаме да си представяме как ние говорим с компютрите, а не как те говорят с нас [1]. Генерацията на естествен език извежда като приоритет задачата за създаване на ефективни компютърни модели на строежа на дискурса. Това се дължи на факта, че генерацията на отделни изречения не е особено полезна; така че главното предизвикателство е и си остава генерацията на свързан текст (или кохерентен дискурс). Тази задача не е решена и до днес по удовлетворителен начин, още повече че няма психолингвистични теории за това, как човекът генерира естествен език: как подбира релевантната за предаване информация, как планира подредбата на изреченията едно след друго, как изгражда референцията между свързаните изречения и т.н. В тази лекция ще покажем както общите теоретични постановки, така и един частен, практически подход за генериране на текстови обяснения в ограничена техническа област, който е изграден върху предварително зададен модел за строежа на дискурса.
Настоящото изложение е структурирано както следва. Част 1 съдържа кратък увод в областта. Тя представя основните понятия и дефиниции, както и трите главни лингвистични теории за строежа на текста, които се прилагат при компютърно моделиране на дискурса (две от тях са ни известни). Част 2 резюмира подхода на схемите - предварително зададени, “замразени” дискурсни планове, управляващи подредбата на клаузите в генерирания текст. Част 3 описва генератора EGEN, разработен в периода 1995-1998, който произвежда едновременно обяснения на технически факти на немски и български език. Част 4 съдържа заключителни коментари, свързани с качеството на показаните подходи, и препратки към литература за по-дълбоко навлизане в областта.



  1. Постановка на задачата за генерация на естествен език

Най-общо казано, генерацията на естествен език цели произвеждане на кохерентен дискурс по дадено знание във вътрешно представяне. Компютърната система се разглежда като говорител или писател, а човекът потребител – като слушател или читател. Следващият пример ни убеждава, че генерирането на текст не е елементарна задача, тъй като знанието във вътрешно представяне – кодирано отделно като концептуален ресурс на изкуствения интелект – не съдържа никакви структурни указатели как да бъде вербализирано във вид на свързани изречения, параграфи и т.н.


Пример 1. Да разгледаме следните 24 твърдения, представени като клаузи на предикатното смятане от първи ред, които описват факти за обекта Иван и неговите две деца Петър и Мария:
isa(Ivan, person). has(Mary, cat#1).

isa(Peter, teenager). has(Mary, dog#13).

isa(Mary, child). isa(cat1, cat).

isa(child, person). isa(dog13, dog).

isa(teenager, person). isa(cat, animal).

father(Ivan, Peter). isa(dog, animal).

father(Ivan, Mary). pretty(cat#1).

plays(Peter, sax). age(Mary, 10).

likes(Peter, jazz, very_much). age(Peter, 16).

teases(Mary, Peter, very_much).

x xperson likes(x, jazz, very_much)  goes(x, jazz_concert).

e egoes(Peter, jazz_concert) & after(now,e)

x,y,z x,y,zperson father(z, x) & father(z, y) & female(x)  sister(x, y).

x,y,z x,y,zperson mother(z, x) & mother(z, y) & female(x)  sister(x, y).

x xperson teenager(x)  age(x, y) & y>12 & y<20.


Горните клаузи представят в специфичен запис следните факти: Иван, Петър и Мария са лица; Иван е баща на Петър и Мария; Петър е тинейджър на 16 години; Мария е дете на 10 години; Петър свири на саксофон и много обича джаз; Мария има куче и хубава котка; Мария много дразни Петър; всеки човек, който обича джаз, ходи на джазов концерт; Петър отиде на един джазов концерт; ако две лица x и y имат общ баща или обща майка z и x е от женски пол, то x е сестра на y; лице x е тинейджър тогава и само тогава, когато възрастта му е между 12 и 19 години. Изброените факти се отнасят както за Иван, Петър и Мария, така и за семантиката на думите сестра и тинейджър. По принцип, на един генератор може да се подава разнообразна информация.
Дори за човек е трудно да реши как да състави разказ по така представените клаузи. Лесно се вижда, че няма универсален алгоритъм за решаване на тази задача и че трябва да се формулира някаква конкретна комуникативна цел, която ще помогне на човека или системата да подбере релевантната информация за вербализиране. Но дори когато се зададе цел – например, опиши семейството на Иван – забелязваме, че има много варианти на това описание, които са приемливи за различни хора. Ще покажем два начина за вербализиране на част от примерните факти като отговор на заявката „опиши семейството на Иван”, като номерираме елементарните клаузи в генерирания текст:
Описание А: (1-2) Иван е баща на Петър и Мария. (3) Петър е на 16 години. (4) Свири на саксофон. (5) Мария е на 10 години. (6) Петър отиде на джазов концерт. (7) Мария много го дразни. (8) Тя има котка. (9) Петър много харесва джаз. (10) Мария има куче и (11) нейната котка е хубава.
Описание Б: (1-2) Иван е баща на Петър и Мария. (3) Петър е на 16 години. (4) Свири на саксофон. (6) Той отиде на джазов концерт защото (9) много харесва джаз. (5) Мария е на 10 години. (7) Тя много дразни Петър. (8) Мария има котка. (11) Котката е хубава. (10) Мария също има куче.

Пример 1 илюстрира трудностите, с които се сблъскват създателите на системи за генерация на текст. Софтуерната система трябва да притежава алгоритъм, с чиято помощ да реши редица проблеми, например:



  • Кои факти следва да се разкажат при така поставената цел (content selection); това всъщност зависи от слушателя – например, трябва ли да му се обяснява значението на думата тинейджър или е достатъчно да се каже, че Петър е на 16 години. Някои факти може да не са интересни за даден слушател. Освен това, има повтаряща се информация: например, щом Иван е баща на Петър и Мария, няма смисъл да се обяснява, че Мария е сестра на Петър и т.н.;

  • С кои думи да се изкаже избраното знание (lexical choice). Системата разполага с речник, който съпоставя лексикални елементи на концептуалните структури от базата знания. Генераторите обикновено разполагат с граматически шаблони за изказване на всеки вид клауза. И въпреки това, при строежа на конкретните изречения, са необходими много допълнителни лингвистични елементи: членуване, генериране на референции (най-често прономинални анафори), вметнати думи за подсилване или блокиране на интерпретации на дискурса и т.н.;

  • Колко дълга да бъде атомарната клауза на естествен език, тъй като няма директно съответствие между грануларността на фактите и изреченията, които ги изказват;

  • Как да се наредят генерираните изречения в параграфи, за да се получи разбираем текст с добър „стил”, тоест за да се генерира „хубав” дискурс.

Макар че дадените в пример 1 две описания – А и Б – са с различно качество, понеже А е по-„разбъркано” от Б, те и двете са разбираеми. Други примери обаче ни убеждават, че наредбата на клаузите в генерирания текст може да промени съществено смисъла на дискурса и да предизвика различни интерпретации от страна на читателя или слушателя. Нека разгледаме следния известен пример:


Пример 2. [2] Значението на текста зависи от реда на клаузите и пренареждането им може да доведе до драстични промени на смисъла. Това се дължи на дискурсните релации, които съществуват (неявно) между отделните изречения. Най-естествената интерпретация на следните две клаузи
1.1. Зураб и Мария се сбиха снощи.

1.2. Мария беше намерена мъртва тази сутрин.
е, че Мария е умряла вследствие на побоя предната вечер, тоест има релация CAUSALITY от клауза 1.1 към клауза 1.2. Тази интерпретация се получава, като се вземат предвид редът на изреченията, липсата на контекст, както и знанието за света при подобни ситуации. При други условия – в друг контекст, с друга подредба на изреченията, с вметнати изрази и дискурсни маркери, които подпомагат процеса на интерпретация, горните изречения имат съвсем друго значение:
2.1. На Мария й откриха рак преди няколко месеца.

2.2. Тя и Зураб се сбиха снощи.

2.3. (И) Мария беше намерена мъртва тази сутрин.
3.1. На Мария й откриха рак преди няколко месеца.

3.2. Тя беше намерена мъртва тази сутрин.

3.3. (А) Мария и Зураб се сбиха снощи.
При клаузите 2.1-2.3 не става ясно каква е причината за смъртта на Мария, а при наредбата 3.1-3.3 вероятната причина е откритото преди няколко месеца заболяване.
Ще си служим със следната дефиниция [3]: Един дискурс е кохерентен, ако слушателят разбира комуникативната роля на всеки негов фрагмент, тоест, ако слушателят разбира как говорителят възнамерява да свърже отделните клаузи с всяка друга клауза на дискурса.
Следователно, дискурсът не е механична композиция от изречения, тъй като той носи повече информация, отколкото сумата на изграждащите го клаузи. Генерацията на текст на естествен език изисква наредба на клаузите, която съответства на целите и намеренията на говорителя и на модела на слушателя, поддържан от системата за генерация. Поради това процесът на генерация стартира с изграждане на план от дискурсни релации, които са нещо като скелет зад генерирания текст, и това е т.нар. план на текста. Този план гарантира, че наредбата на клаузите ще предизвика търсения ефект у слушателя, и така ще се изключат нежеланите, погрешни интерпретации. Но тъй като системата не може да знае всичко за слушателя и неговото знание, планът на текста има още една важна функция: той позволява в генерирания дискурс да се включат вметнати изрази и други дискурсни маркери, които да подсилят желания смисъл чрез по-явно вербализиране на дискурсните релации.
Вече можем да покажем най-обща архитектура на една система за генерация на естествен език, вж. фигура 1. Стратегическият компонент решава what to say, т.е. кои факти да се вербализират и как да бъдат подредени клаузите, така че на изхода му се получава полуфабрикат или заготовка на бъдещия текст. Този етап се нарича планиране на текста (text planning). Тактическият компонент решава how to say it. Снабден с лексикони и граматическо знание, той облича изказването в думи и изречения, при което – според изразителната сила на граматиката – се извършват някои подобрения, като например агрегиране на две прости изречения в едно или генериране на прономинална анафора с цел да се избегне повторението. Този етап се нарича повърхнинна реализация (surface realisation). В идеалния случай, двата компонента си взимодействат в двете посоки и е възможно връщане към стратегическия компонент при необходимост от корекции на произведения от тактическия компонент дискурс. Повечето системи за генерация на естествен език имат архитектурата, показана на фигура 1. Тази схема ни помага да си обясним дефектите на обяснение А в пример 1: то е произведено от по-несъвършен стратегически компонент.

Фигура 1. Главни етапи при генерация на текст [4]

1.1. Лингвистични теории, използвани при генерацията на естествен език
Има три главни теории, които подпомагат създаването на компютърни модели на дискурса. Те боравят с различни понятия и не предлагат цялостно решение на проблема за генерация на текст. На практика елементите им се допълват, тъй като подпомагат отделни аспекти на процеса на генерацията. Две от теориите са интерпретация на известни лингвистични подходи за обяснение на явленията в дискурса (теорията за центъра и теорията за риторичната структура), а третата – която въвежда идеята за сегментация на дискурса – е продукт на компютърната лингвистика и отразява нейния подход за създаване на алгоритмично-формулирани модели с цел ефективна компютърна обработка на езика. Тъй като за фокус и сегментация на дискурса сме говорили в предишни лекции, ще представим или припомним тези теории съвсем накратко чрез примери, без да навлизаме в детайлите, и дори без да дефинираме основните понятия (както до момента използваме текст и дискурс като синоними, което се прави често при описания на генератори на естествен език).



      1. Теория за центъра

Добре познатите лингвистични факти – че всяко изречение има фокус, че всеки параграф разглежда някаква тема – се използват в компютърната лингвистика за моделиране и обработка на дискурсни явления предимно в локалния контекст от 2-3 съседни изречения [5, 6]. Тази теория обяснява локалната кохерентност по удобен за автоматична обработка начин. При разбирането на естествен език и при машинния превод, теорията за центъра осигурява най-добрите алгоритми за разрешаване на местоименна анафора. Освен това тази теория поднася удобна рамка за дискутиране на наредбата на изреченията едно след друго при генерация на текст. Редица изследвания на „добър” дискурс показват, че тенденцията при линейно нареждане на клаузите е първо да се изчерпи дадена тема и тогава да се премине към следващата. Нека разгледаме как се реализира референцията в следните пет свързани изречения:

5.1. Иван е първокурсник в Югозападния университет в Благоевград.

5.2. Първокурсниците обикновено имат труден първи семестър.

5.3. Иван има лекции по програмиране, графика и хардуер.

5.4. Най-интересен е курсът по графика.

5.5. Иван живее на общежитие.

Фокус на 5.1 е „Иван” (той е и глобален фокус на целия параграф). В 5.1 се въвежда потенциален фокус на 5.2 – „първокурсници” – и именно тук е мястото да се разкажат фактите, известни на системата за първокурсниците. В 5.3 фокусът се връща отново към „Иван”. Изречение 5.4 въвежда характеристика на един от потенциалните фокуси на 5.3, а именно „графика”. Всяка друга наребда на тези изречения ни води до текст с по-лошо качество, който става дори некохерентен, ако изречение 5.4. се отдалечи твърде много от (или се изкаже преди) 5.3. Всъщност 5.4 е най-неподходящият кандидат за поставяне на първо място при вербализация на така представените факти.


При генерация теорията за центъра се използва по два начина: първо, тя определя решението кога да се генерира местоименна анафора с цел избягване на повторенията в следващите изречения. Второ, тя подпомага локалната подредба на клаузите. Дефинира се глобален фокус (например на параграфа) и се следи непосредственият фокус, който се мести от изречение към изречение според изградения модел на „предпочитания” при местенето на фокуса. Има явно фокусирани елементи, които са споменати, или неявно фокусирани (свързани с тях в базата от знания). Организира се т.нар. фокусно пространство. Системата се стреми да не отваря повторно едно и също фокусно пространство, тоест идеята е всички факти по дадена тема да се разкажат един след друг при подходящо местене на фокуса. Затова в дискурса 5.1-5.5 мястото на изречение 5.2 е точно след изречение 5.1, а мястото на изречение 5.4 е непосредствено след изречение 5.3. Поставянето на 5.4 на първа позиция би превърнало текста в частично неразбираем. Хубаво би било всеки пишещ човек да помни и прилага алгоритмичните правила на теорията за центъра, когато свързва две съседни изречения в кохерентен дискурс, за да произвежда добре структурирани и по-разбираеми текстове.



      1. Теория за риторичната структура (Rhetoric structure theory, RST)

Тази теория е предложена в [3] като обяснение на дискурсните релации, които съществуват явно или неявно между клаузите в кохерентния дискурс. Дефинира се понятието „непрекъснат линеен фрагмент от текста” (text span)1 и дискурсната структура се обяснява чрез риторични релации, които са в сила между два непресичащи се фрагменти от текста. Всяка релация е двоична и изразява връзка между два аргумента. Някои релации се прилагат между ядро (nucleus) и сателит (satellite), когато единият аргумент се възприема като по-важен. В други случаи релациите са в сила между два отрязъка текст, които играят ролята на ядра. Анализът на релациите в даден текст и тяхното нагледно представяне произвеждат т.нар. RST-дървета (RST-trees, вж. фигура 2), които напомнят анализ чрез безконтекстни формални граматики при синтактичен разбор на изречение. Анализът се извършва субективно от слушателя, който прави интерпретация на текста, и поради това не са изключени многозначни тълкувания на връзките между клаузите.


Както ядрото, така и сателитът могат да бъдат по-дълги от едно изречение. Релациите се дефинират чрез три условия (върху ядрото, сателита и комбинацията между двете) и един ефект върху убежденията, намеренията и желанията на слушателя. Счита се, че говорителят избира определена риторична релация именно с цел да предизвика ефекта й върху слушателя.
Връзките в текста са обяснени с помощта на 28 релации, разделени в две катeгoрии – информационни и интенционални. При употребата на информационните релации (например, elaboration, circumstance, sequence и т.н.), които работят на информационното ниво на дискурса, говорителят цели ефекта „слушателят да разпознае конкретната релация” и да получи информацията, изразена чрез ядрото и сателита. При употреба на интенционални релации обаче, намерението е винаги да се повлияе на мнението на слушателя по даден въпрос, като се цели ефект да се внуши нещо, да се накара слушателят да действа, да вярва в текста-ядро, да приеме неговия смисъл и т.н. Такива релации са например motivation, evidence, antithesis, justify и т.н.
По този начин, теорията за риторичната структура твърди, че всеки свързан дискурс е RTS-свързан, тоест връзките могат да се изразят чрез малък, фиксиран брой двоични отношения между непрекъснати фрагменти от текста. Друго интересно твърдение е, че в конкретни дискурсни ситуации няма многозначност при разпознаване на връзките от страна на слушателя. Някои статии показват възможна многозначност на субективния RTS-анализ [7], като многозначността произтича от факта, че не е ясно на кое ниво на дискурса да се анализира текста: на информационно (съдържателно) или на интенционално ниво. И тъй като естественият език функционира като кохерентна структура, различни слушатели могат да направят различни интерпретации, понеже предполагат, че поднесеният текст е кохерентен с известния им контекст на дискурса. Например един слушател може да приеме съдържанието на текста като информация (в случай, че той не я знае), а друг слушател да заключи, че говорителят се опитва да му внуши нещо (когато фактите са му известни). Примерите в [7] показват, че не е възможно да дефинираме семантичната връзка между изреченията в текста без отчитане на контекста на дискурса и състоянието на участниците, а засега няма теория, която да интегрира тези елементи и да обяснява тяхното взаимодействие при разбиране или генерация на естествен език. Независимо от трудностите за приложение на RTS, тя е важен инструмент за моделиране на връзките между клаузите в текста и се ползва в редица прототипни системи, макар и с модификации.
Нека покажем графичен анализ на обяснение Б в пример 1 (фигура 2). Непрекъснатите линейни фрагменти текст се означават с непрекъснати линии, например клаузи 6 и 9 са свързани и следва да се разполагат една след друга в текста, както и клаузи 8 и 11. Релациите SPECIFICATION и CAUSE имат ядро и сателит, тъй като единият фрагмент текст се счита по-важен от другия. Релацията JOIN обаче работи над две еднакво важни ядра. По тази причина при линейната вербализация на целия текст бихме могли първо да говорим за Мария и после за Петър (но би възникнал известен проблем с клаузата Мария много дразни Петър, която би следвало да сложим на второ място веднага след въвеждането на Петър като потенциален фокус в първото изречение). Думата защото, свързваща клаузи 6 и 9, се добавя от тактическия компонент с цел експлицитно изразяване на дискурсната релация CAUSE. Забелязваме още две неща, извършени от тактическия компонент: първо, има подобрения в повърхнинната реализация на текста чрез агрегации на някои фрази (баща на Петър и баща на Мария става баща на Петър и Мария – т. нар. микропланиране) и второ, генерирани са доста местоименни анафори с цел избягване на повторенията. Но, така или иначе, анализът на риторичните релации на фигура 2 не ни помага да решим как да наредим линейно целия текст, понеже „общото знание за езиковата комуникация (в случая – RST) не осигурява достатъчно инструменти за планиране на наредбата на клaузите в произволни текстове” [8].

Фигура 2. Анализ на двуаргументните риторични релации в описание Б, пример 1.

RST e популярна теория със свой сайт в Интернет2. Финансират се проекти за ръчно маркиране на RTS-релации в големи корпуси, с цел създаване на учебни ресурси за извличане на статистически закономерности от характеристиките на дискурсната структура. Тези пилотни разработки са все още в начален стадий.





      1. Теория за сегментацията (Attentional state theory, AST)

Изучавали сме тази теория на предишни лекции. Тя е въведена в [9] и дава отговори на въпроси от рода на: Защо някои текстове изглеждат по-трудни за разбиране от други? Защо и как използваме прономинални анафори и други референции? Как ги разбира слушателят?


Теорията за сегментацията ни учи, че свързаният дискурс се декомпозира на йерархично вложени сегменти, които представляват фрагменти текст от няколко изречения и се отнасят към една и съща тема на обсъждане. Вниманието на слушателя се насочва от сегмент към сегмент (attention shift). Няма консенсус какво точно представлява сегментът, понеже липсва формална дефиниция, но има една интуитивна идея, че няколко последователни изречения са групирани заедно по естествен начин.
При генерацията на естествен език се занимаваме предимно със сегменти, сигнализирани чрез вметнати изрази (тъй като обикновено се говори в сегашно време и най-често се генерират обяснителни текстове − т. нар. instructional texts). Ако се вгледаме отново в пример 1, обяснение Б, бихме могли да го разделим на четири сегмента, в които клаузите са разпределени според дискутираните теми:

Сегмент1(1-2, сегмент2(3,4,6,9), сегмент3(5,7), сегмент4(8,11,10) ).

Тук отделяме клаузите за домашните любимци на Мария като отделен сегмент, понеже се обсъжда специална тема.



1.2 Дискусия
В заключение на този съвсем повръхностен обзор на теоретичните постановки, нека споменем още един интересен аспект на разглежданата материя.
Конкретни примери показват, че даден дискурс може да бъде кохерентен за един слушател и некохерентен за друг, така че кохерентността на дискурса е относително понятие.
Пример 2. [2] Даден е дискурс в две линейни наредби и съкратена версия на неговия RST-анализ, в която са показани само фокусите на съответните клаузи. Дървото на фигура 3 се чете така: „клаузата, въвеждаща балона, е свързана чрез релацията ELABORATION с четирите останали клаузи” и т.н.
(A1) John saw the balloon. (A2) It was red. (A3) Because the balloon was designed to carry people, (A4) it was large. (A5) It had a silver circle at the top to reflect heat.3
(B1) John saw the balloon. (B2) It was red. (B3) It had a silver circle at the top to reflect heat. (B4) Because the balloon was designed to carry people, (B5) it was large.

Фигура 3. RST-анализ на дискурсите А1-А5 и B1-B5 [2].

Както вече казахме по-горе, анализът на риторичните релации моделира семантиката на връзките между клаузите, но не ни дава указания за линейната им наредба в текста. Ако слушателят или читателят знае, че топлоотражателният кръг е бял на цвят, за него дискурс (B1-B5) би бил по-кохерентен от (А1-А5), тъй като атрибутите за цветове са изказани последователно един след друг (тоест, има нещо като сегмент за описание на цвета на балона). В противен случай, и двата дискура изглеждат еднакво свързани.





  1. Генерация на текст чрез дискурсни планове - схеми

Вече споменахме, че един от неразрешимите проблеми в генерацията е как да се построят планове за изказване на произволни текстове. Като частично и практическо решение, през 1985 год. се предлагат т. нар. схеми – нещо като полуфабрикат от дискурсни планове или рецепти как да се разкажат факти с определена комуникативна цел, в определена предметна област, за определен тип слушател [11]. Текстове, написани по „фиксирани дискурсни рецепти”, се срещат често в специалната литература, особено в тезауруси и енциклопедии. Нека разгледаме следния пример:


Лъвът е най-едрият и силен хищник. Той се числи към кръвожадните месоядни животни. Дължината на тялото му е 3,25-3,75 метра, включително опашката. Височината при плешките е 90-110 сантиметра. На тегло достига 200-275 килограма. Продължителността на живота му е 15-20 години сред природата. Максималната скорост, с която преследва плячката, достига 60 км/час4.
Риторичната структура на текстовете в тази Детска енциклопедия може да се дефинира предварително и да се използва за всяко животно:

  • Въведи името на обекта, неговия клас и най-важните, уникалните характеристики на обекта и класа;

  • Опиши дължината на обекта;

  • Опиши височината на обекта;

  • Опиши теглото на обекта;

  • Опиши продължителността на живота на обекта;

  • Опиши скоростта на движение на обекта.

Освен гореизброените параметри може да се добави зона на разпространение и други характеристики като цвят на козината и т.н. Този неформален дискурсен план не ограничава броя на клаузите, а просто показва в какъв порядък да се подредят линейно отделните теми при описанието на всяко животно. Оказва се, че подобни „процедурни съвети как се пише добър дискурс” могат да се формулират по сравнително гъвкав начин и това всъщност е обект на дисциплината риторика. По принцип риториката изучава линейната последователност на изреченията в добре звучаща проза и създава правила как да се построят редици от изречения със същия ефект. Но при генерацията на текст в компютърната лингвистика трябва да се отчете и необходимостта от подбор на знанието, тъй като не е известно предварително дали и колко знание е налично по дадена тема в базата знания на системата. Поради това е необходимо да се предвидят възможности за удължаване или скъсяване на генерирания текст по дадена тема.
В книгата [11] схемите са изразени чрез така наречените риторични предикати, формулирани като като краен брой „дискурсни връзки” след изучаване на различни видове дискурс и с използване на допълнителни лингвистични източници (книгата [11] е публикувана три години преди теорията RST [8]). Изследването на текст с цел компютърно моделиране показва, че някои комбинации от дискурсни предикати са по-вероятни от други и че определени комбинации са предпочитани в дадени дискурсни ситуации. Например, идентификацията на обект става чрез следните риторични предикати: (i) идентификация на обекта като член на някакъв по-общ клас; (ii) описание на неговите функции, атрибути и съставки, негови подчасти и подкласове; (iii) аналогии с близки обекти и (iv) примери. Тези съставни части на дискурса обикновено не се комбинират в друга последователност и най-често ги срещаме точно в този ред. И така, след наблюдения на текстове в различни области, авторката на [11] предлага четири вида схеми, но тук ще скицираме само две от тях (които са свързани с описания в част 3 генератор). По-долу се използват следните символи: '{}' означава възможни изборни елементи, '/' означава алтернативи, '+' означава елемент, който се среща от 1 до n пъти, и '*' означава елемент, който се среща от 0 до n пъти. Тези специални символи осигуряват известна гъвкавост на схемите.


Схема за идентификация (Identification Schema)

Риторични предикати:

Identification (class & attribute/function)

{Analogy / Constituency / Attributive / Renaming / Amplification}*

Particular illustration / Evidence +

{Amplification / Analogy / Attributive}

{Particular illustration / Evidence}



Пример:__Eltville_(_Германия)'>Пример:

Eltville (Германия): 1) Село в района на Рейн, известно с винопроизводството си. 2) В избите му се произвеждат вина, типични за вида Ризлинг, 3) предимно маркови бели вина. 4) Taubenberg, Sonnenberg и Langenstuck са измежду най-известните изби.

Риторичен анализ на клаузите в примера:

1) Identification (class & attribute) 2) Attributive 3) Amplification 4) Particular illustration


Схемата за идентификация се ползва при дефиниции на понятия и обекти, обикновено в терминологични речници и енциклопедии. Всъщност тя има само два задължителни елемента: клаузи за идентификация и пример. Всички други елементи са изборни.





Схема за описание на конституенти (Constituency Schema)

Риторични предикати:

Constituency

Cause-effect * / Attributive * /

{ Depth-identification / Depth-attributive { Particular-illustration / evidence}

{ Comparison / analogy} } +

{Amplification / Explanation / Attributive / Analogy }



Пример:

Парни и електрически торпеда: 1) Модерните торпеда биват два вида. 2) Парно-задвижваните торпеда се движат със скорост от 27 до 45 възела и достигат цел от 4000 до 25000 ярда (или 4367 – 27350 метра). 3) Електрическите торпеда са с подобни характеристики, 4) но не оставят видимата следа, създавана от ауспуха на парното торпедо.

Риторичен анализ на клаузите в примера:

1) Constituency 2) Depth-identification (depth-attributive) 3) Comparison 4) Depth identification (depth-attributive)


Схемата за конституенти позволява идентификация на обект или понятие в термините на подчасти или подтипове. В примера е дадена идентификация на два подтипа и сравнение относно най-важната им характеристика. Да отбележим също така, че схемите могат да се прилагат рекурсивно, с влагане една в друга при необходимост.


Генерацията на текст чрез схеми се извършва както следва: за всяка комуникативна цел на говорещия (т.е. на системата) се задава множество схеми, чрез които да се организира изказването. По този начин, щом потребителят постави на системата въпрос от даден тип, лесно може да се избере множество схеми, по които да се генерира изказването на системата. На фигура 4 е илюстриран процесът на запълване на всяка схема и е скицирана най-важната част от процеса – как схемата филтрира клаузи при подбора на съдържанието (тоест, самата схема налага шаблон за правене на content selection). Така схемата контролира колко и какво знание да бъде извлечено от концептуалния ресурс на системата и кога да бъде изказано в текста. При напълване на схемата може да се вземе под внимание и моделът на потребителя, например да се избягва показване на факти, които са вече обяснени в рамките на текущия сеанс и др.

Фигура 4. Генериране на текст с използване на схеми (система TEXT [11])

Накрая, можем да се върнем отново към пример 1 и дадените там клаузи. Нека си представим една схема за идентификация на лице Х (понеже сме свободни да си дефинираме каквито искаме схеми): (i) опиши Х, (ii) опиши семейството на Х (родители, съпруг/а, деца), (iii) опиши професията на Х, (iv) опиши жилището на Х, (v) опиши колата на Х, (vi) опиши любими занимания и т.н. Можем да укажем кои елементи на схемата са задължителни и кои – не. И така, с помощта на фигура 4 си обясняваме как е подбрано знанието за генериране на описание Б в пример 1. В схемата отсъстват риторични предикати, които биха предизвикали вербализацията на значението на думата тинейджър, и така тази клауза остава неизказана. От друга страна, концептуалният ресурс в пример 1 съдържа клаузи само за децата на Иван и затова сме получили описание Б. Но с друга база знание за друго лице, бихме получили съвършенно различен разказ – за родителите, съпругата, професията, жилището и т.н., зад който би стояла като форматиращ шаблон същата схема от дискурсни връзки. С други думи, вариациите в генерирания текст зависят както от предикатите в схемата, така и от наличното знание в концептуалния ресурс на системата. На практика генерираните текстове, макар и различни по съдържание, са скучно-подобни един на друг, тъй като клаузите на знанието трябва да се изкажат чрез ограничен брой граматични конструкции, но при описаните подходи не може да се очаква повече.





  1. Генератор EGEN

Генераторът EGEN е изследователска разработка, създадена в проектите DB-MAT5 (1992-1995) и DBR-MAT (1996-1998). Той е интегриран в един прототипен софтуерен модул - работно място за подпомагане на преводача, който превежда технически текстове между български и немски език. При избор на термин от документа за превод, потребителят-преводач може да поиска от системата пояснение на значението му в предметната област (освен справки за лингвистичните характеристики на термина като езикова единица). Това пояснение се планира и вербализира динамично от системата и се реализира чрез генерация. Целта на разработката е да се изследват възможностите за създаване на многоезиков генератор, който е максимално независим от предметната област и лесно може да се прехвърли към друга база знание, стига връзките между лексикалните и концептуални ресурси на системата да са зададени по определен начин. Паралелната генерация на два езика позволява изследване на структурни въпроси като например грануларността на термините в концептуален план, при очевидната разлика между грануларността на многоезичните терминологични единици на български и немски език. Друг въпрос за изследване е свързан със спецификата на класическия подход за подбор на знанието чрез схемите от риторични предикати. На практика, както е показано на фигура 4, ‘знанието, релевантно на дадена тема’ се свежда до ‘знание, позволяващо на системата за генерация да запълни схемата, която фиксира плана как да се говори по темата’. С други думи, схемата подбира онова знание, което самата тя може да разкаже и така дискурсният план управлява подбора на фактите. За разлика от този подход, в проекта DB-MAT са използвани техники на изкуствения интелект, които извличат фрагменти релевантно знание независимо от схемата за построяване на текстовото обяснение. Извлеченият екстракт факти се подава към дискурсната схема за запълване на плана на текста и генериране на обяснения. По този начин концептуалният ресурс се обработва независимо от дискурсния план, което осигурява по-слаба обвързаност между фазите на подбор на знанието и построяване на плана на текста. Изследват се начините за построяване на взаимно независими концептуални и лексикални ресурси за генерация, а това като цяло облекчава и генерацията в многоезиков план поради възможността по-лесно да се добави нов език.


Генераторът EGEN работи над база знание от концептуални графи [12]. Извличането на факти става чрез операцията проекция, която търси концептуални шаблони в базата [12]. Знанието е по-активно използван ресурс в EGEN, в сравнение с класическия подход за генерация чрез схеми; например агрегацията на факти на етапа на микропланирането става чрез операцията съединение на концептуални графи. Така механизмът за подбор на знанието е независим както от риторичните цели на системата, така и от предметната област. Повече детайли за прототипа EGEN могат да се намерят в [13] и [14]. Тук се спираме накратко на някои специфични аспекти.
Дискретната структура на концептуалните графи подпомага моделирането на терминологични единици с различна лексикална и концептуална грануларност. Базата знания се състои от йерархия на типовете и отделни графи (твърдения за предметната област), които са аналози на различни формули, кодиращи свойствата на обектите. Специален вид графи, наречени дефиниции на типове, задават необходимите и достатъчни условия за принадлежност на определен обект към даден тип. Тези дефиниции са естествени кандидати за вербализация при отговори на въпрос за идентификация ‘Що е X. Пример за дефиниция на тип е даден на фигура 5А. Графите кодират твърдения за някои екземпляри на понятията, но дефиницията на типа представя условия, верни за всички индивиди от този тип. Фигура 5Б илюстрира една друга особеност на концептуалните графи – съществуване на контексти, нещо като «концептуални скоби», чрез които няколко понятия се групират заедно. Тази възможност да се обособяват концептуални единици с различна грануларност се оказва много полезна при конструиране на връзките между многоезичния терминологичен лексикон на системата и концептуалните единици в базата знание. По принцип, генераторът извлича фрагменти знание, които са релевантни на даден въпрос, и след това ги подрежда според схемата и ги вербализира. Както вече споменахме, процесът на извличане на знанието е независим от комуникативните цели (и от всякакви лингвистични съображения за строежа на текста) и по този начин може да се извлече частичен фрагмент от даден граф. Това налага задаване на връзки от всяка концептуална единица към думите в лексикона, понеже предварително не е ясно какъв фрагмент ще бъде подаден за изказване в схемата и кога. Тъй като дефиницията на типа

Фигура 5. Обработка на концептуални и лексикални единици в различна грануларност
се вербализира винаги като едно цяло, на фигура 5А в показано как връзките към лексиконите се реализират на ниво тип (в случая понятието Ölpartikel е наименовано с една съставна дума на немски и с номинална фраза от две думи на български). При кодирането на даден концептуален граф в базата обаче не е ясно какъв фрагмент ще бъде извлечен като релевантен на бъдещ въпрос и на кой език ще се поиска обяснение (на немски или български). Към генератора може да бъде подаден целият контекст (наименован с една съставна немска дума) или неговата вътрешна част (в която и двете понятия си имат наименование от по една дума на български език). В случая, показан на фигура 5Б, генераторът EGEN ще генерира обяснение както следва: при заявка за обяснение на немски, ще намери лексикалния указател към контекста и ще използва съставната немска дума Abwasser; при заявка за обяснение на български, няма да намери такъв указател, ще влезе вътре в контекста и ще изгенерира номиналната фраза „отпадъчна вода” по правилата, налични в граматиката за конструиране на номинални фрази от прилагателно и съществително нарицателно. Така, благодарение на различните по грануларност концептуални единици в базата, има различни възможности за „закачване” на указатели към лексикона на необходимите концептуални позиции и за създаване на сравнително унифициран подход при подбора на думите. Всъщност термините са свързани към обектите на концептуалната йерархия (фигура 6) и дефинициите на типове (фигура 5А), докато думите, които изграждат термините, са свързани към градивните единици на отделните формули-графи (фигура 5Б). Това решение е много удачно при многоезикова генерация и улеснява свободното извличане на фрагменти от базата знание, тъй като за всяка единица има лексикално название на всички езици (което или е фиксирано, или се генерира в момента).

Фигура 6. Многоезичен фразов лексикон, свързан към типове в концептуална йерархия
По-долу показваме примери на генерирани от EGEN обяснения и дискутираме някои особености на граматиката, използвана при повърхнинната реализация.
В статията [13] е дадено подробно пояснение как се генерират текстове като например:
Ölphasen (Ölpartikel1) gehören zu Partikeln2. Die3 Ölphasen sind gekennzeichnet durch Dichte4. Die ausschwimmenden5 und grobdispersen6 Ölphasen, welche leichter als Wasser sind7, sind enthalten in Abwasser8.
Маслените9 частици са частици. Маслените частици се характеризират с плътност. Маслени частици10, които се съдържат в отпадъчна вода10, са изплуващи, грубодиспергирани и по-леки от водата.
В този пример 1 е синоним от лексикона; 2 е надтип от концептуалната йерархия; 3 е определителен член, поставен поради предишното споменаване на обекта Ölphasen; 4 е характеристиката плътност; 5 и 6 са характеристиките изплуващ и грубодиспергиран в съответното съгласуване; 7 е реализирано като подчинено изречение, тъй като в лексикона не е намерено единично прилагателно за изказването му; 8 е повърхнинна реализация в страдателен залог, тъй като графът ‘отпадъчната вода съдържа ....” се вербализира в изречение, където Ölphasen са заели ролята на фокус (и подлог) и поради това граматиката предлага само възможност за изказване на конкретния факт в страдателен залог; 9 е членуване на български, което не се среща в немския текст; 10 е пример за неудачно членуване на български от тактическия компонент. По принцип, за да бъде подготвен за вербализация на различни фокуси, EGEN разполага с различни шаблони за изказване на прости клаузи. Например генераторът може да произведе

Маслените частици се характеризират с плътност или

Плътността е характеристика на маслените частици

а също и


Сепараторът има отделителна камера или (при необходимост)

Отделителната камера се съдържа в сепаратора.

Едни основен проблем при така избрания подход за подбор на знанието е, че за вербализация могат да се подават много големи графи (например, с 20 понятия и 18 релации). Това се случва поради факта, че алгоритъмът за подбор на релевантното знание работи независимо от лингвистичното осигуряване на системата. Запознатите с проблемите на повърхнинната реализация знаят, че е изключено да се генерират много дълги изречения; също така не могат да се очакват чудеса от генератора, като например да изкаже произволно сложен факт в няколко съседни изречения. Поради това се налага да се използват концептуални шаблони, които извличат сравнително малки графи и позволяват всяка клауза на подадено знание да се изкаже в едно изречение. В [14] е показано, че всеки факт от базата може да се покаже на потребителя, стига да се постави правилният въпрос към системата. Съвсем друга тема е дали потребителят може да обобщи получените стъпка по стъпка обяснения и да построи по-цялостна представа за наличното в системата знание, но този въпрос е спорен и при текстове, генерирани от човека. На практика EGEN разказва за „непосредствената околност” на избраното от потребителя понятие с надеждата, че получените обяснения са полезни за по-добро разбиране на зададения за превод текст.


Нека изброим основните преимущества и недостатъци на така описания подход за генерация. Най-интересното положително свойство на EGEN е, че той започва да „говори” веднага щом се зададе база знания, лексикон и връзки между тях във вида, илюстриран на фигури 5 и 6. Обясненията се генерират динамично, като се обработват големи или малки концептуални графи от напълно непознатата база знания. Качеството на генерираните обяснения силно зависи от кодираното знание: неговите повторения, импликации и парафрази водят до появата на повторения и смислови дефекти в генерираните обяснения. Например, в показаното по-горе обяснение, характеристиката „изплуващ” е следствие на характеристиката „по-лек от водата” и може би няма смисъл и двете да бъдат изказани пред потребителя. Все пак EGEN работи над непознати графи, като прилага операции за разширение или свиване на тип (type expansion, type contraction) с цел да уголеми или намали обема на подаденото знание. По този начин генераторът опитва да изкаже повече факти с една дума, като търси трансформация на концептуалните единици в по-„едри” чрез операции на концептуално ниво. Така EGEN опитва различни начини за лексикализация в комбинация с различни граматически правила при повърхнинната реализация. Включването на нов език би означавало добавяне на съответен лексикон, свързване на концептуалните единици от базата към лексикалните единици на новия език, и добавяне на граматически правила за вербализация. Българският език е добавен към немския генератор по описания начин. EGEN е компактен и лесно преносим софтуерен модул, написан на езика Пролог.
Разгледаният подход обаче е частен и е приложим само за обяснения в технически области, където целта на генерирания дискурс е да осигури груба представа за дадено понятие. В никакъв случай не можем да си представим EGEN като генератор на описания на лекарства например (но при такива сериозни задачи и по-солидните генератори не заслужават доверие). Друг проблем е наличието на известна изкуствена фрагментарност в генерирания текст, още повече че за всяко понятие се прилага една и съща схема за генериране на обяснения. Освен това обясненията са доста еднообразни. Казано в термините на компютърната лингвистика, на EGEN му липсва т. нар. domain communication knowledge [8] как се говори за отделните понятия; поради това генераторът произвежда един и същи тип обяснения за всеки обект без да взема под внимание неговата значимост в предметната област, мнението на потребителя дали понятието не е тривиално и така нататък. Това личи и в приведения по-горе пример: не е необходимо да се вербализира очевидният факт, че маслените частици са частици и други подобни. Част от споменатите дефекти могат да бъдат отстранени чрез усложняване на концептуалния ресурс на системата. Например, ако се върнем отново към 24-те клаузи в пример 1, бихме могли да кодираме по някакъв езиково независим начин специфичните условия за вербализация на всяко от въведените понятия. Бихме могли например да наложим ограничения като „никога не вербализирай клаузите за значението на думите ‘тинейджър’ и ‘сестра’, освен ако потребителят не зададе специален въпрос за това”, и така нататък. Въвеждането на допълнително знание би увеличило сериозно ръчния труд по конструиране на лексикалните, граматични и концептуални ресурси на системата.
Първата версия на EGEN е създадена в периода 1993-1996 г. от информатици без всякакъв опит в областта на генерацията на естествен език (в цитирания период) и е проектирана чрез редица инженерни решения, характерни за прототипите на изкуствения интелект.


  1. Заключение

Целта на настоящата лекция е да изложи постановките, проблемите и решенията в областта на автоматичната генерация на текст. Представените факти, както между другото и избраното мото, ни убеждават, че проблемите в тази област са повече от решенията. Има и принципни, фундаментални трудности. Все пак досега компютърната лингвистика е успяла да построи алгоритмични модели само за определен кръг добре изучени лингвистични явления. Всъщност не е сигурно, че днешните компютри – като ограничени машини на Тюринг – в обозримо време ще станат по-добри в генерацията на текст; не е сигурно и че самите лингвисти, включително когнитивните лингвисти и психолингвистите, ще създадат в близко бъдеще по-всеобхватни теории за генерация на естествен език от човека. Но, от гледна точка на практическите задачи, е необходимо да очертаем кръг от софтуерни приложения, в които скицираните по-горе методи осигуряват полезни информационни услуги за хората.


Генерацията се използва в информационни задачи с голямо количество еднотипни данни, които се променят бързо и динамично и възниква необходимост от непрекъснато обновяване на генерираните еднотипни обяснения. Идеален пример за тази задача е генерацията на кратки текстове за наличие на замърсители във въздуха – цел на проекта MARQUIS (Multimodal air quality information service for general public)6, финансиран от Европейската комисия по програмата eContent през 2005-2007 като информационна среда за разпространение на публична информация до всички европейски граждани. Текстовете за наличното в момента замърсяване могат да се показват в интернет, да се съобщават заедно с метеорологичните прогнози по телевизията и радиото, както и да се изпращат като съобщения по мобилни телефони на болнични заведения и абонирани за услугата потребители с респираторни заболявания. По този начин, на всеки час могат да се произвеждат нови текстове от 3-5 изречения, като процесът е напълно автоматичен и използва данни, събирани от метеорологичните служби (които работят в цяла Европа по достатъчно стандартизиран начин). Да отбележим, че в тази задача могат да се изучат предварително всички класове потребители и да се създадат схеми за генерация на отделни типове обяснения, съобразени с моделите на потребителите. Очевидно такава задача работи в многоезиков план, но това не е проблем поради специфичния дискурс построен над краен брой думи. Ползата от динамично генерирани обяснения е очевидна. Затова, макар че не може да се предложи решение на универсалната задача за генерация, компютърната лингвистика осигурява незаменими практически резултати.

Благодарности. Авторът е задължен на сътрудниците на проектите DB-MAT и DBR-MAT. На първо място това е Калина Бончева, днес в Университета в Шефийлд (Англия), която разработи немската версия на EGEN като дипломна работа в Магистърската програма по Изкуствен интелект на ФМИ на СУ „Св. Кл. Охридски” през 1996 год. Българската версия на EGEN беше създадена от Кристина Тутанова, днес в MicroSoft-Research в Сиатъл, също като магистърска дипломна работа по посочената специалност през 1998 год.

Литература
[1]. Russell, St. and P. Norvig. Artificial Intelligence - a Modern Approach. Prentice Hall 1995.

[2] Hovy, E. H. Automated discourse generation using discourse relations. Artificial Intelligence, 1993, Vol. 63, pp. 341-385.

[3]. Mann, W. and S. Thompson. Rhetorical Structure Theory: Toward a functional theory of text organization. Text, 1988, Vol. 8 No. 3, pp. 243-281.

[4]. Jurafski, D. and J. Martin. Speech and Language Processing. Prentice Hall, 2000.

[5]. Brennan, S., M. Friedman, and C. Pollard. A Centering approach to pronouns. In Proceedings of ACL'1987, pp. 155-162.

[6]. Grosz, B., A. Joshi and S. Weinstein. Centering: A framework for modeling the local coherence of discourse. Computational Linguistics, 1995, Vol. 21, No. 2, pp. 203-225.

[7]. Moore, J. and M. Pollack. (1992). A problem for RST: the need for multi-level discourse analysis. Computational Linguistics Journal, 1992, vol. 18, pp. 537-544.

[8]. Kittredge, R., T. Korelsky, and O. Rambow. On the need for domain communication knowledge. Computational Intelligence, Vol. 7, Issue 4, November 1991, pp. 305-314.

[9]. Grosz, B. and C. Sidner. Attention, Intention and the Structure of Discourse. Computational Linguistics, 1986, Vol. 12 , No. 3, pp. 175-204.

[10]. Allen, J. Natural Language Understanding. The Benjamins/Cummings Publishing Company, Inc. 1994.

[11]. McKeown, K. Using discourse strategies and focus constraints to generate natural language text. Cambridge University Press, 1985.

[12]. Sowa, J. Conceptual Structures: Information Processing in Mind and Machine. Addison-Wesley, Reading, MA, 1984.

[13]. Angelova, G. and K. Bontcheva. NL Domain Explanations in Knowledge Based MAT. Proceedings of COLING'96, Copenhagen, Denmark, Vol. 2, pp. 1016 – 1019.

[14]. Angelova, G. and K. Bontcheva. DB-MAT: a NL Based Interface to Domain Knowledge. In: Proc. of the 7th Int. Conference "Artificial Intelligence: Methodology, Systems, Applications (AIMSA-96)", Sozopol, Bulgaria, September 1996, IOS Press, Vol. 35 in the series "Frontiers in AI and Applications", pp. 218-227.




1 Обикновено този линеен фрагмент не включва вметнатите изрази, служещи за дискурсни маркери.

2 RST-сайт http://www.sfu.ca/rst/index.html, посетено на 26 ноември 2007.

3 (А1=B1) Джон видя балона. (А2=B2) Той беше червен. (А3=B4) Тъй като беше направен да вози хора, (А4=B5) той беше голям. (А5=B3) Имаше копринен кръг отгоре, за да отразява топлината.

4 Детска енциклопедия http://www.worldstory.net/bg/, посетено на 12 ноември 2007.

5 Deutsch-Bulgarish Machine Aided Translation, финансиран от Фондация Volkswagen (Германия). На втората фаза на проекта (DBR-MAT, 1996-1998) към разглежданите езици е добавен и румънският език.

6 http://www.marquisproject.net:81/index.php, посетено на 25 ноември 2007.






Сподели с приятели:




©obuch.info 2024
отнасят до администрацията

    Начална страница