A cirill betűs adatok gépi transzliterálásának problémái



Szerző: DANCS Szabolcs
kategória: 53. évfolyam > 2007. 3. szám
Hozzászólás: 0

A könyvtári munka számítógépesítése a dokumentumok formai feltárása terén eleinte nem jelentette a munkafolyamat szó szerinti automatizálását, amennyiben a manuális adatbevitel továbbra is megkerülhetetlen maradt. A könyvtárak közötti rekordáttöltést lehetővé tevő Z39.50-es protokoll elvi haszna, hogy egy könyvről elegendő a világban egyetlen leírásnak készülnie, ami azután átemelhető bármely más könyvtári katalógusba. Az elv megvalósítása természetesen a nemzetközi szabványok következetes alkalmazását igényli. A nem latin karakteres adatok terén a probléma ennél is sokrétűbb. Jelen cikkemben a cirill betűs adatok gépi transzliterálása kapcsán felmerülő kérdésekkel kívánok foglalkozni.

1. Nemzeti és intézményi szabványok versus nemzetközi szabvány

2006 novemberében Efrosina Angelova, a szófiai Szent Cirill és Metód Nemzeti Könyvtár (továbbiakban: BNK) illetékes munkatársa egy beszélgetés során beszámolt arról, hogy a bolgár nemzeti könyvtár a 2007-es esztendő második felére tervezi a COBISS integrált könyvtári rendszerre való átállást, és az új rendszerre való áttérés keretében sort kerítenek a cirill betűs adatok gépi transzliterálására, amelynek köszönhetően cirill betűs dokumentumok esetén mind a cirill, mind a latin betűs keresés megvalósíthatóvá válik, ami jelenleg nem lehetséges. A kérdésre, hogy a transzliterálást milyen szabvány alapján végzik, Angelova asszony úgy válaszolt, hogy a Bălgarski dăržaven standart-ot (Bolgár nemzeti szabvány, BDS) veszik alapul1, de a rendszeren belül lehetőség van arra, hogy a Z39.50-es protokoll használatakor a rekordimportálást végző intézményben használatos szabvány szerint történjen a transzliterálás. A washingtoni Kongresszusi Könyvtár (LOC) például a BNK munkatársai által eszközölt beállításoknak köszönhetően a saját transzliterálási táblázata alapján átkódolt rekordadatokhoz jut.

0703dancs1.jpg
 
1. ábra
Részlet a Bulgáriában alkalmazott cirill átírási szabványból


0703dancs2.jpg

2. ábra
Részlet a LOC cirill transzliterálási táblázatából

Míg – mint látjuk – egyes könyvtárak különböző nemzeti, ill. intézményi szabványoknak megfelelően végzik a karakterek gépi átkódolását, addig létezik egy nemzetközi szabvány is, amelynek alkalmazását sajnálatos módon nem minden könyvtár érzi magára nézve kötelezőnek. Az ISO 9 szabványról van szó, annak is az 1995-ös kiadásáról, amely tartalmát és szerkezetét tekintve megegyezik az MSZ ISO 9:1997 szabvánnyal. Az ISO 9:1995 a korábbi, a betű-kapcsolásos átírási módot is támogató verziókkal szemben csupán a – Közép-Európában korábban egyébként is használatos – mellékjeles átírást tartalmazza.

0703dancs3.jpg
3. ábra
Részlet az ISO 9 szabványból2

2. Az ISO 9:1995 szabvány

Az ISO 9:1995 szabvány a „valódi transz-literálást”, a betűhű átírást írja elő. Magyarul: egy betűnek (karakternek) egy betűt (karaktert) feleltet meg. A transzliteráció alternatívája a transzkripció, „melynek során egy adott nyelv kiejtését egy átírási nyelv karaktereinek rendszerével jegyzik le” (MSZ ISO 9, 3. o.), ilyen pl. a Kniezsa-féle nemzetközi szlavisztikai átírás, ahol a cirill ’х’-nak például a ’kh’ felel meg.

0703dancs4.jpg

4. ábra
Részlet a Kniezsa-féle nemzetközi szlavisztikai átírásból3

Az ISO 9:1995 a nemzetközi – elektronikus – információcserét szem előtt tartva az egyértelmű (1:1) megfeleltetést írja elő, szemben a szabvány előző változataival, ahol az átírási táblázatokban az egyes cirill betűk mellett az egyes nyelvek szerinti – esetenként eltérő – megfeleltetések találhatók:

0703dancs5.jpg
5. ábra
Részlet az 1981-es kiadású MSZ KGST 1362-78 szabványból


Ez utóbbi esetekben tehát nem egyértelmű (vagyis 1:M) megfeleltetésekről volt szó.
Az átírásokat egyértelműsítő ISO 9:1995 szabványban ezért előfordulnak olyan átírások, amelyek az eddigiektől eltérően semmilyen mértékben nem tükrözik egy betű kiejtését: pl. az ún. keményjel  (’ъ’) idézőjelként írandó át mind az orosz, mind a bolgár nyelv esetén, jóllehet a régebbi szabványok alapján a bolgár ’ъ’-t a kiejtésre is utaló, valamint a bolgár átírási gyakorlatban is megszokott ’ă’-ként kellett transzliterálni. (Ahogy a szabvány fogalmaz: „A nemzetközi használatra javasolt átírási rendszer kompromisszumokat és áldozatokat kíván bizonyos nemzeti szokásokat illetően.” (MSZ ISO 9, 4. o.)
Nézzük meg közelebbről, milyen problémákat vet fel az ISO 9 szabvány számítógépes alkalmazása!

3. A mellékjeles karakterek kódolásának problémái

Annak ellenére, hogy az egyes karaktereket 32 biten kódoló Unicode szabvány több mint kétmilliárd karakter kódolását teszi lehetővé, bizonyos mellékjeles karakterek számára nincsen külön kód fenntartva. Ezek csupán két kód összekapcsolásával ábrázolhatók. Ilyenek a szerb és macedón ábécé – kis és nagy – ’љ’ , ’њ’ és ’џ’ betűinek, valamint ugyanezen ábécék nagy ’Ј’ betűjének szabványos átírásai. Ilyenkor az alapkarakterhez (jelen esetben: az ’l’-hez, az ’n’-hez, illetve a ’d’-hez) egy ún. circumflexet (kúpos ékezetet: ’ˆ’) kell kapcsolnunk, a ’J’-hez pedig egy ún. hacseket ’ˇ’ (Unicode-ban: caron).
Leszögezhetjük tehát, hogy az egyértelmű megfeleltetés elve ezekben az esetekben csak a karakterek szintjén érvényesül, a kódok szintjén nem. Mindez – programozói szemszögből – azt jelenti, hogy a karakterkonverzió során egy adott kódot két kódra cserélünk:

0703dancs5a.jpg

Sem ennek, sem a „visszakonverziónak” (két kód cseréje egy kódra) az algoritmizálása nem túl bonyolult feladat. Egy komolyabb integrált könyvtári rendszernek rendelkeznie kell olyan, az automatikus, gépi transzliterálást a Z-kapus áttöltés során lehetővé tevő karakterkonverziót végző alkalmazással, amely könnyedén „rávehető”, hogy pl. a szerb ’љ’ betűt circumflex-szel ellátott ’l’-lé alakítsa.
A valódi probléma a kódkapcsolásos karakterek, illetve általában véve a Unicode karakterek kezelésének rendszer- (és program)függő voltában rejlik. Lássunk néhány példát e probléma illusztrálására!
Az általam szerkesztett, „Transzliterátor” névre keresztelt javascriptes alkalmazás a szerb ’Караџић’ név szabványos átírását adja, amely „jó esetben” a böngészőben a következőképpen jelenik meg:

0703dancs6.jpg

6. ábra
Rosszabb esetben így:

0703dancs7.jpg

7. ábra

A „legrosszabb esetben” pedig így:

0703dancs8.jpg

8. ábra

 Ez a legutóbbi már „kevésbé szabványos”.
A Unicode kódolású karakterek megjelenése, kezelése függ pl. az operációs rendszer regionális beállításaitól, a telepített betűkészletektől, adott program – pl. böngésző – nyelvi beállításaitól stb.
A kódolási problémák az adatok indexelésekor, áttöltésekor, közös katalógusok építésekor csúcsosodnak ki. Nem véletlen, hogy az egyes könyvtárak láthatóan ódzkodnak a „különleges”, circumflexes karakterek kódkapcsolásos megjelenítésétől, kezelésétől. Jómagam nem találtam olyan online könyvtári katalógust, ahol ezeket a cirill betűket szabványosan írták volna át. Az ISO 9 szabvány alkalmazásában még oly következetesnek tűnő Lengyel Nemzeti Könyvtárban is a szlavisztikai átíráson alapuló szerb átírást4 veszik alapul (ld. például ’Karadžić’), míg a „kölönleges” karaktereket nem tartalmazó orosz adatok esetén szabványos átírásokat találunk (’Čehov, Anton Pavlovič’).
Valószínűleg az integrált könyvtári rendszerek jelen állapotukban csakúgy alkalmatlannak bizonyulnak a szóban forgó karakterek valamelyikét tartalmazó adatok kezelésére, ahogy pl. az elviekben az online fellelhető könyvtári dokumentum-leírásokban is kutakodó Google is értetlenül áll egy szabványos formában beírt, kódkapcsolásos megoldást is tartalmazó adat keresésekor.

4. Kettős betűk kódolása és a szerb átírási gyakorlat

Míg a problémát jelentő mellékjeles karakterek nem szerepelnek önállóan a Unicode karaktertáblájában, addig más a helyzet a szerb átírásban használatos kettős betűkkel, amelyek önálló kódokkal rendelkeznek:

0703dancs9.jpg
9. ábra
Részlet a Unicode karaktertáblából5

A tapasztalat azonban azt mutatja, hogy ezeket jószerivel senki nem használja.
A Google nyelvi beállításainak függvényében különböző számú találatot kapunk eredményként az ilyen karaktereket tartalmazó szavakra keresve. Magyar vagy szerb nyelvi beállítások esetén pl. a keresőmotor csupán azokat az előfordulásokat hozza találatként, amelyekben valóban az említett, egy kóddal rendelkező kettős betűk találhatóak. Ekkor a ’Karadžić’ szóra mindösszesen kettő találatot kapunk:
 
10. ábra
0703dancs10.jpg

Nem járunk sokkal jobban, ha egy gyakran használatos köznévre, pl. a ’knjiga’ szóra keresünk, ekkor a találatok száma tíz, s ezek között nem egy olyan akad, amely ugyanazon szájtról származik.
Angol nyelvi beállítások esetén a rendszer az egyes karaktereket – okosan – kettészedi, s így értelmezi. Ennek fényében a találatok száma rendkívül magas (a ’Karadžić’ szó esetén mintegy 1,19 millió):

0703dancs11.jpg

11. ábra

Az egy kóddal rendelkező kettős betűk alkalmazásának gyakoriságára természetesen az előző – kód szerinti – keresés eredményeiből következtethetünk.
Kérdés: érdemes volna-e az egyértelmű megfeleltetés elvének karakterkódok szintjén való érvényesítése érdekében olyan önálló kóddal rendelkező kettős betűket használnunk, amelyek használatának a cirill átírási gyakorlatban nincsen hagyománya? Mindez az adatok olyan mértékű konverzióját tenné szükségessé, amelynek megvalósítása reménytelen feladatnak tűnik.
A gépi transzliterálás eddigiekben vázolt problémája elsősorban bizonyos szerb (és macedón) cirill karakterek (név szerint: ’Љ’, ’љ’; ’Њ’, ’њ’; ’Џ’, ’џ’; ’Ј’) szabványos átírására vonatkozik, a többi hasonlóképpen problémás cirill betű átírása csak a régi, ószláv források leírásakor jelent gondot. Ebből kifolyólag megfontolandó, hogy esetleg a mindeddig más gyakorlatot folytató könyvtáraknak is érdemes volna áttérnie a legtöbb – pl. a szerb nemzeti – könyvtár által is alkalmazott gyakorlatra: az egyes szerb karaktereknek a szerb latin betűs írásmódhoz igazodó transzliterálására. E gyakorlat alkalmazása már csak azért is hasznos volna, mert az „egyszeri keresőnek” előbb fog eszébe jutni ebben a formában keresni (pl. ’Karadžić’), mint a számára valószínűleg ismeretlen, idegen, szabványos formában.

5. Problémák és megoldások

Az eddigieket összefoglalva három probléma nyert megfogalmazást:1.  Szükség volna a szabványok következetes alkalmazására. Jelenleg a könyvtárak több – régi és új – nemzetközi szabvány szerint készítenek leírásokat (a bolgár ’ъ’-t például néhol ’ă’-ként, néhol idézőjelként transzliterálják), valamint sok helyen nemzeti vagy intézményi szabvány a dokumentum-leírás alapja (l. BNK és LOC).
2.  Hosszú távon, a nemzetközi adatcsere automatizálódását szem előtt tartva, szükség volna arra, hogy az egyértelműség elve ne csak a karakterek, hanem a karakterkódok szintjén is érvényesüljön.
3.  A szerb cirill karakterek szerbhorvát hagyományon alapuló transzkripciója a nemzetközi könyvtári világban is alkalmazott, nem szabványos átírási gyakorlat, amelynek szabványossá tétele több szempontból is megfontolandó. Egyfelől az eddig felhalmozott töménytelen adatmennyiség utólagos konverziója lehetetlen vállalkozásnak tűnik, másfelől továbbra is jelennek meg szerb nyelvű, latin betűs dokumentumok, amelyek leírásakor az egységesítés érdekében az adatokat előbb cirillre kellene transzformálni, majd a szabványnak megfelelően latinra. Harmadrészt a már említett keresői szempont sem elhanyagolandó tényező.
A szabvány úgy fogalmaz: „Ha egy ország saját nyelvének írására két egymásra egyértelműen átírható rendszert használ, eleve ezt a gyakorlatban már alkalmazott transzliterációs rendszert kell a nemzetközi szabványos rendszer alapjául venni…” (MSZ ISO 9, 4. o.). A szerbek (és macedónok) által használt átírási gyakorlat esetén azonban az egyértelműség elve nem érvényesül.
Amennyiben a 3. pontban megfogalmazottak megvalósulnak, vagyis a szerb gyakorlat szabványossá válik a szerb cirill karakterek átírására, a 2. pontban megfogalmazott karakterkódok szerinti egyértelműség a problémás szerb betűket természetesen már nem érinti.

6. A „Transzliterátor”

A legtöbb integrált könyvtári rendszer a cirill adatok transzliterálását vagy csupán a – Z39:50 protokollon keresztül történő – rekordimportálás során valósítja meg, vagy egyáltalában nem rendelkezik transzliteráló alkalmazással. Ha az előbbi eset áll fenn, akkor sem biztos, hogy lehetőségünk van rekordimportálás révén hozzájutni a megfelelő dokumentum-leíráshoz, ill. az áttöltött adatok további pontosításához szükség lehet arra, hogy egyes adatokra – pl. a Googleben – rákeressünk. Amennyiben az általunk használt rendszer egyáltalában nem alkalmas transzliterálásra, illetve nem áll módunkban Z-kapus összeköttetést létrehoznunk olyan katalógusokkal, amelyekre megbízható forrásként tekintünk, a transzliterálást manuálisan kell elvégeznünk. Ilyenkor az egyes, a billentyűzetünkön nem szereplő betűket vagy egy karaktertáblából választhatjuk ki, vagy a megfelelő nyelvi eszközök telepítése után magunk gépelhetjük be, azonban ekkor sem lehetünk biztosak abban, hogy módunkban áll a fentebb említett kódkapcsolásos karakterek megfelelő megjelenésű előállítása.
A munkánkat meglehetősen megkönnyíti, ha a dokumentum-leírás során valamely WebOpacban, pl. az orosz állami könyvtár online katalógusában található cirill leírásokra támaszkodunk. A gyors és pontos feldolgozás érdekében ugyanakkor érdemes olyan eszközöket igénybe vennünk, amelyek alkalmasak a weben lelt adatok szabványos formában történő átírására, és ezzel lehetővé teszik, hogy a feldolgozással járó „pepecselést” megspóroljuk magunknak.
Mindezek alapján elmondható, hogy egy a cirill adatok kétirányú transzliterálására alkalmas – webes – alkalmazás nagy könnyebbséget jelenthet az érintett feldolgozó könyvtárosok számára.
Az internetet böngészve nem egy olyan transz-literáló alkalmazást találunk, amely a cirill szövegek latin írásmódba történő átültetésére szolgál. Ezeknek az alkalmazásoknak a nagy többsége azonban nem a szabványos transzliterálást tartja céljának, hanem az internetes gyakorlatban is használt – nem betűhű – transzkripciót. Ilyen alkalmazást találunk pl. a http://www.translit.ru/ oldalon:

0703dancs12.jpg

12. ábra

Más transzliterátorok egyfajta virtuális billentyűzetként működnek. A http://domnit.org/translit/example.html oldalon található alkalmazás segítségével a „latinosan” begépelt orosz szöveg nyomban cirill formában jelenik meg. (Az alkalmazás okosan a ’c’-t ’ ц’-ként, a ’ch’-t ’ч’-ként írja át.)
Ezeket az eszközöket tehát nem a szabványos dokumentum-leírást támogatandó fejlesztették ki, hanem az internetes kommunikáció megkönnyítésére, olyan esetekre példának okáért, amikor valaki – orosz bevándorlók gyermekeként – beszéli az orosz nyelvet, de a cirill írást nem ismeri, illetve amikor nincs mód cirill billentyűzet használatára.
Az általam szerkesztett igen egyszerű transz-literáló alkalmazás a könyvtári gyakorlat számára kíván hasznos segédeszközként szolgálni, és céljának megfelelően nem csupán az orosz, hanem az ukrán, belorusz, szerb, macedón cirill ábécék betűinek szabványos átírására is alkalmas.
Egy ilyen program megírásakor az egyik szem előtt tartandó cél, hogy a már – más eszközökkel – transzliterált adatokat visszatranszformálhassuk eredeti formájukba, hiszen egy további – webes – keresés során célszerű cirill formában keresnünk:


0703dancs13.jpg
13. ábra

0703dancs14.jpg
14. ábra

0703dancs15.jpg

15. ábra

Nem szabad, hogy elkerülje a figyelmünket, hogy a karakterek megjelenésbeli egyezése nem jelenti egyszersmind a kódbeli egyezésüket. A cirill ’A’ számára a Unicode más kódot biztosít, mint a latin ’A’ számára, jóllehet formailag a kettő nem különbözik. „Rosszul járunk” akkor is, ha az ukrán ’i’-t latin ’i’-vel próbáljuk helyettesíteni:
A régebbi szabványokat használó, bolgár nyelvű állományrészekkel rendelkező könyvtárak, illetve a régebbi dokumentum-leírások cirillre való „visszakonverziója” okán talán érdemes külön egy „bolgár átírási opciót” is beiktatni, amely annyiban tér el a szabványos átírástól, hogy a keményjelet (’ъ’) ’ă’-ként transzliterálja.

0703dancs16.jpg
16. ábra

Érdemes továbbá egy külön opciót létrehozni a szerb átírási gyakorlat számára. Jelen formájában az általam kreált program a külön karakterkóddal rendelkező kettős betűket használja a következő karakterek leírására: ’Љ’, ’љ’; ’Њ’, ’њ’; ’Џ’, ’џ’; a nagy és kis cirill ’J’-t pedig latin ’J’-re transzliterálja.
A program jelenleg a következő URL-en érhető el: http://dancsz.fxnet.hu/transzliterator/transzliterator.php


Irodalom

1. FODOR I.: Nemzetközi szlavisztikai átírás. In: A világ nyelvei. Főszerk. Fodor István. Budapest: Akadémiai Kiadó, 1999, p. 1650.
2. Library of Congress - http://www.loc.gov/index.html
3. MSZ ISO 9:1997 - Információ és dokumentáció. A cirill karakterek transzliterációja latin karakterekre. Szláv és nem szláv nyelvek. 15 p.
4. MSZ KGST 1362-78 - A cirill betűk transzliterációja latin betűkre. 8 p.
5. Narodna biblioteka “Sv. Sv. Kiril i Metodij” - http://www.nationallibrary.bg/
6. SZLOBODA J.: Szabály vagy szabálytalanság? In: Magyar Nyelvőr, 124. évf. 2. sz., 2000, p. 164.
7. Unicode - http://unicode.org/
Jegyzetek

1. Az állami közigazgatás megreformálásáért felelős szófiai minisztérium „Érthető Bulgária” című projektjének célja egy új átírási szabvány létrehozása, erről bővebben: http://www.mdaar.government.bg/inquiries.php?ankid=2&offset=5 ; a javasolt átírási táblázat megtekinthető itt: http://transliteration.mdaar.government.bg/alphabet.php
2. Forrás: http://ru.wikipedia.org/wiki/ISO_9
3. Forrás: Fodor 1999
4. Szerbiában jelenleg a cirill betűs írásmód a hivatalos, Jugoszlávia szétesése előtt ez természetesen másként volt, ezért a tulajdonnevek átírásában a besoroláskor a latin nyelvű („horvát”) alak használata nem ütközött akadályba (minderről bővebben: Szloboda 2000). A cím- és egyéb típusú adatok esetén azonban ekkoriban is a dokumentumban megjelenő adatok szabványszerű tükrözése volt a cél.
5. Forrás: http://www.unicode.org/charts/PDF/U0180.pdf



Hozzászólás küldéséhez be kell jelentkeznie. Jelentkezzen be, vagy kattintson ide a regisztrációhoz