Граматичен Интернет сървър за български език

н.с. Стоян Михов
Централна Лаборатория за Паралелна Обработка на Информация
Българска Академия на Науките

От близо година в Българската Академия на Науките е инсталиран и пуснат в действие Граматичен сървър, който съдържа езикови знания за българския език. Чрез Интернет се осъществява достъп до компютърната система, чрез която могат да се правят комплексни граматични справки. В Граматичния сървър са съчетани задълбочени знания за езика с най-съвременните компютърни и комуникационни технологии. Адресът за достъп е http://gws.acad.bg или http://origin2000.bas.bg.


Началната страница на Граматичния сървър.

Един възможен случай

Амбициозната учителка по български език г-ца Иванова обича професията си. След ваканцията учениците и трябвало да напишат съчинение за това, как са прекарали лятото. В съчинението на любознателния Иванчо тя прочела следното изречение: "Всеки път щом се замогнахме, играехме на компютърни игри в близката компютърна зала." Г-ца Иванова веднага преценила, че изречението е неправилно. Вместо замогнахме Иванчо е трябвало да употреби рядко срещаната форма за минало несвършено време замогнехме, за да има съгласуване на времената. Г-ца Иванова се поколебала дали думите замогнахме и замогнехме не са дублетни форми. На нея и било предварително ясно, че традиционните речници няма да съдържат тази информация. Затова през междучасието вместо в библиотеката тя, без да се замисля, отишла в новата компютърна зала на училището. Седнала пред един от компютрите и се свързала с Граматичния сървър, за който наскоро била чела във вестник "Аз Буки". Вече можела да бъде спокойна -- тя получила експертна справка, която е показана на снимката.


Как се осъществява достъпът до граматичната информация? От компютър с Интернет достъп чрез WWW броузер с JAVA възможности се набира адресът на Граматичния сървър. Въвеждането на думите се осъществява чрез натискане на бутоните на изобразената на екрана клавиатура. В случая е дадена граматична справка за думата замогнахме. При натискането на бутона, на който е изобразен високоговорител, се получава аудио възпроизвеждане на думата. В долната част на екрана е изписана езиковата информация за думата. Тя включва акцентуална, граматична, правоговорна и словообразувателна справка.

Какво предлага Граматичният сървър

Граматичният сървър е разработен при Централната лаборатория по паралелна обработка на информация (ЦЛПОИ) към БАН и е подпомогната от проект МУ-МИ-121/96 на фонда за научни изследвания към Министерството на образованието, науката и технологиите. Езиковите компоненти и системи в Граматичния сървър са създадени от колектив млади учени -- н.с. Стоян Михов, н.с. д-р Светла Коева, Петър Гулев, Антон Зиновиев.

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

Граматичната информация, която може да бъде получена, е структурирана по следния начин:

При създаването на Граматичния сървър са използвани и разработени съвременни специализирани методи за моделиране на езикови данни. По скорост системата превъзхожда (в някой случай с порядъци) западните аналози -- тя позволява да се правят 100 000 граматични анализа в секунда. Освен това трябва да се отбележи, че скоростта на анализ не зависи от обема на граматичната информация. За представянето на Граматичния речник на български език с около един милион словоформи са необходими около 1Mb, което е особено добро компресиране.

Граматичният сървър използва последните достижения в Интернет технологиите, което позволява едновременното осъществяване на хиляди граматични справки в секунда. Достъпът до него осигурява визуализирането и въвеждането на кирилица независимо от потребителската компютърна система.

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

Проблеми при създаването на Граматичния сървър

При създаването на подобна сложна система се появяват някои трудности. Първата е създаването на базата от граматични знания. Ако приемем, че в българския език има около 60 000 думи, от една дума понякога може да образуват повече от 50 аналитични форми. Например личните преходните глаголи от несвършен вид (като чета) имат 6 форми за сегашно време, 6 -- за минало свършено, 6 -- за минало несвършено, 2 -- за повелително наклонение, 9 -- за сегашно деятелно причастие, 9 -- за минало свършено деятелно причастие, 4 -- за минало несвършено деятелно причастие, 9 -- за страдателно причастие и 1 -- за деепричастие. Общо 52 форми. Освен това някоя от формите може да има дублети. Т. е. два или повече допустими варианта например избегна и избягна. По този начин от основните думи се образуват около един милион форми.

Друг феномен на езика е това, че по еднакъв начин се изписват форми, които произлизат от различни думи и имат различни значения. Например думата води може да е множественото число на вода, но може да бъде и форма на глагола водя. За всяка форма трябва да се съдържат следните данни: основна форма, граматична информация за основната форма като част на речта, вид на глагола и т. н.; граматична информация за словоформата като време, лице, число и т. н. и акцентуална информация т. е., място на ударението. Трябва да се отбележи, че образуването на формите на дадена дума не винаги става само чрез промяна на окончанието. Например множественото число на думата вятър е ветрове и се образува чрез изменение в основата на думата. Това явление се нарича редуване. Друг проблем са изключенията, които се наблюдават при образуването на формите. Например глаголите, които са непреходни, не образуват страдателни причастия (от спя не се образува спан), а безличните глаголи образуват само някои форми в трето лице. Поради това създаването на коректен и пълен граматичен речник налага използването на нетривиални модели. Трудности възникват и при създаването на словообразувателния речник. Такъв речник трябва да представя информация за корена, представките и наставките на думите. Например думата замогнахме е образувана от корена мога с представка за, наставка на и флективно окончание хме. Моделите, необходими за създаването на словообразувателен речник, са дори по-сложни от тези за граматичен речник.

Възниква и проблемът за компютърното представяне на комплексните граматични данни. Тъй като граматичните данни в некомпресиран вид имат огромен обем (десетки мегабайта), е целесъобразно тяхното компресирано представяне. Стандартните методи за компресиране на информация не са приложими, защото не позволяват бърз достъп до търсените данни. За нашата система бързият достъп до данните има важно значение.

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

Технологии, използвани при реализирането на Граматичния сървър

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

За решаването на проблемите, свързани с представянето, компресирането и използването на лингвистичните данни от речниците, бяха разработени и изследвани специализирани методи за обработка на ациклични крайни автомати и крайни преобразуватели. Техниката на крайните автомати е най-авангардното направление на съвременната компютърна лексикография. Всички водещи световни звена в областа на компютърната лингвистика като например Xerox Research Center Europe, LADL Paris, AT&T Labs и др. разработват свои методи и пакети за обработка на крайни автомати и трансдюсери. Това определя голямото значение на разработения от авторите метод за директно построяване на минимален краен автомат по даден списък. Този метод се използва за изграждането на системата за обработка на граматични заявки. Основното преимущество на метода е особено добрата му изчислителна сложност: относно памет -- O(m) и относно време -- O(n log(m)), където n е големината на входния език, а m е големината на резултатния минимален автомат. Тези показатели са значително по-добри от световните достижения в това отношение.

Основният приложен резултат е изграждането на високотехнологичен WWW сървър, интегриран със система за обработка на граматични заявки. Като основна софтуерна платформа е използвана системата JAVA, която, както е добре известно, е водеща технология за създаване на интерактивни Интернет приложения. Уникална характеристика на Граматичния сървър е, че всички програмни модули, изброени по-долу, са програмирани на JAVA. По този начин сървърът е преносим на всяка хардуерна и софтуерна платформа поддържаща JAVA.

Основните модули на системата са:

  1. Модул за построяване и компресиране на граматичните данни. Този модул използва създадения метод за директно построяване на минимален краен автомат по даден списък. Модулът е програмиран на JAVA и поддържа изграждането на бази с милиони информационни единици и позволява обработка на над 100 000 заявки за секунда.
  2. Модул за високоскоростна обработка на граматични заявки. Модулът е програмиран на JAVA и поддържа Servlet интерфейс, което позволява вграждането му в WWW сървър.
  3. WWW сървер. Използван е програмираният изцяло на JAVA сървър "Jigsaw", предоставен от организацията World Wide Web Consortium. Този високотехнологичен продукт позволява допълнително вграждане на Servlet модули и дава отлични скорости за достъп до ресурсите.
  4. Модул за клиентите, написан на JAVA, и поддържащ Applet интерфейса. Основните функции на модула са:

Какво още ще предложи Граматичният сървър в скоро време

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

В момента предстои завършването на системата за пренасяне на думите на нов ред. Коректността на тази система ще бъде многократно по-добра в сравнение с широкоизползваните в други програми. Вероятно при издаването на настоящия материал новият модул ще бъде вече вграден.

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

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

Малко по-далечни цели са създаването на система за граматичен анализ, с която се проверява граматичната коректност на изреченията, и система за автоматичен превод на и от други езици.

Авторският колектив е убеден, че работата по развитието на Граматичния сървър ще бъде от огромна полза за развитието на българската компютърна лингвистика. Разбира се за да се реализират горепосочените компоненти, е необходимо осигуряването и на допълнително финансиране.

Заключение

Колективът от млади учени с много ентусиазъм създаде Граматичния сървър -- една прогресивна разработка на световно ниво, която предоставя възможност за комплексни граматични справки за българския език чрез Интернет. Това стана възможно благодарение на високопроизводителната паралелна компютърна система в ЦЛПОИ -- БАН, както и благодарение на плодотворната атмосфера, в която колектива работи. С това се показва, че въпреки тежките икономически условия в българските научни звена е възможно млади учени да създават разработки на най-високо ниво.

Надяваме се, че това представяне ще увеличи интереса към Граматичния сървър. Вашите коментари, критики и предложения очакваме на адрес: stoyan@lml.bas.bg.