Uporaba korpusa za zajem terminologije informatike

1074. sredin seminar

Tomaž Erjavec
Odsek za inteligentne sisteme
Institut "Jožef Stefan"
Jamova 39
1000 Ljubljana

21. maj 2003

Povzetek

Jezikovna sekcija slovenskega društva informatika (SDI) že nekaj časa gradi spletni terminološki slovar, ki naj bi pokrival področje informacijskih znanosti. Da je takšen slovar potreben je očitno, saj se področje izredno hitro razvija, računalniški slovarček na IJS, ki je bil verjetno se najbolj popularen tovrstni vir, pa je že pošteno zastarel. Mrežni portal slovarja SDI je zasnovan tako, da zadostuje prijava na sistem, da lahko dodajamo ali dopolnjujemo vnose, s čimer je omogočeno porazdeljeno snovanje slovarja - so pa vsi vnosi, bodisi terminov ali pa primerov njihove uporabe, se vedno ročni.
SDI je letos organizirala že deseto posvetovanje Dnevi slovenske informatike, ki ga spremlja tudi izdaja zbornika; prispevke zanj se zadnja leta zbira v elektronski obliki. SDI tako razpolaga z več tisoč stranmi digitaliziranih besedil, v katerih se seveda skriva ogromno prav tistih terminov, ki bi jih nastajajoči slovar rad zajel.
V predavanju podamo skico projekta, cilj katerega bi bil pretvoriti zbornike DSI v jezikovni korpus, t.j. urejeno in označeno zbirko besedil, in ta korpus uporabiti za oplemenitenje terminološkega slovarja. Korpus lahko ilustrira termine s primeri uporabe, lahko pa v njem termine tudi avtomatsko odkrivamo.
Ogledali si bomo standarde za zapis korpusa, metode pretvorbe in jezikovnega označevanja, prikaz vsebine s pomočjo konkordančnika, in nekaj metod za avtomatsko luščenje terminov.


1. Uvod

1.1. Pregled predavanja

  1. Terminološki slovar in zborniki SDI
  2. Korpusi: zbiranje, zapis, pretvorba
  3. Konkordančniki
  4. Jezikovno označevanje
  5. Zaključki

1.2. Slovensko društvo INFORMATIKA

  • Slovensko društvo INFORMATIKA, ustanovljeno leta 1972, je nepridobitno združenje strokovnjakov, ki delujejo na različnih področjih informatike in informacijske tehnologije v podjetjih, na univerzah in v javni upravi. Ima okoli 300 članov in izdaja strokovno revijo Uporabna informatika ter znanstveno revijo Informatica in prireja strokovna srečanja, od katerih so tradicionalni strokovni dogodek leta posvetovanje Dnevi slovenske informatike.
  • Panel Skrb za informacijsko izrazje, Grimšče pri Bledu, februar 2000
  • Jezikovna sekcija slovenskega društva informatika je bila ustanovljena 1. junija 2000; predsednica Katarina Puc
  • Sekcija pripravlja terminološki spletni slovar

1.4. Dnevi slovenske informatike

  • Letne konference, ki jih organizira SDI (aprila v Portorožu)
  • Zbornik 2003 ima kar 700 strani
  • Prispevke se zbira izključno elektronsko
  • Stavljeni so v Word, s svojim stilom
Primer prispevka za DSI'03:

1.5. Ideja projekta

  • Uporaba zbornikov za izdelavo terminološkega slovarja
  • Korpusno jezikoslovje / jezikovne tehnologije
  • Korpus kot ilustracija uporabe terminov
  • Korpus kot orodje za odkrivanje novih terminov

2. Korpusi

2.1. Kaj je korpus

  • Korpusi je zbirka besedil, izbrana tako, da karakterizirajo stanje ali raznovrstnost nekega jezika
  • Uporabni so kot osnova, na kateri gradimo opise jezika, ali pa kot sredstvo za preverjanje hipotez o jeziku
  • Uporabnost nekega korpusa je odvisna od njegove velikosti pa tudi urejenosti, tj., kako podrobno je dokumentiran in označen, ter standardiziranosti njegovega zapisa
  • Veja jezikoslovja, ki je korpuse tradicionalno uporabljala, je slovaropisje; uporablja se jih tudi pri poučevanju jezika
  • Nova generacija računalniških programov, ki se učijo iz podatkov: učna množica je vnaprej označen korpus, program pa nato na tej osnovi zgradi, ponavadi statističen, model iskane relacije
  • Korpusi slovenskega jezika: TELRI, MULTEXT-East, IJS-ELAN, FIDA, Nova Beseda

2.2. Standardi za zapis

  • Korpusi so dragi za zbiranje in označevanje; enkrat ko je korpus narejen je zato zaželeno, da je trajen, izmenljiv in uporaben v raznovrstne namene
  • Zato se je SGML že zelo zgodaj začel uporabljati pri zapisu korpusov
  • Medtem je tudi ostanek sveta spoznal prednosti standardizacije, zato sedaj vsi uporabljamo XML
  • Prednosti: razumljivost, trajnost, preverljivost, pridruženi standardi / orodja

2.3. Iniciativa za zapis besedil TEI

  • Text Encoding Initiative je projekt, ki se je začel 1987 pod pokroviteljstvom ACL, ACL and ALLC
  • TEI je še danes edini sistematizirani poskus, da se razvije splošen model za označevanje besedil in množico predpisov za označevanje, ki temeljijo na tem modelu
  • Prve verzije navodil TEI (Guidelines for Text Encoding and Interchange) so temeljile na SGML, TEI P4 (izšel 2002) pa je skladen tudi z XML
  • TEI shema je sestavljena iz večjega števila modulov oz. fragmentov DTDjev; te potem sestavljamo in parametriziramo v skladu s potrebami, da dobimo poln XML DTD za opis določenega tipa dokumentov
  • TEI uporablja preko 50 projektov, med njimi tudi korpusni; vsebuje module za zapis korpusov, jezikovno analizo, poravnave
  • Naslednja verzija TEI (P5) bo predvidoma gotova 2004; namesto DTDjev bo uporabljala RelaxNG
Primer parametrizacije TEI:

<!DOCTYPE TEI.2 SYSTEM "http://www.tei-c.org/Guidelines/DTD/tei2.dtd" 
 [<!ENTITY % TEI.XML         "INCLUDE">
  <!ENTITY % TEI.prose       "INCLUDE">
  <!ENTITY % TEI.linking     "INCLUDE">
  <!ENTITY % TEI.analysis    "INCLUDE">
  <!ENTITY % TEI.fs          "INCLUDE">
  <!ENTITY % TEI.corpus      "INCLUDE">
 ]>

2.4. Priprava korpusa DSI

  1. Osnovni korpus:
    1. pretvorba prispevkov v XML/TEI
    2. zapis glav posameznih prispevkov
    3. označitev osnovne jezikovne strukture
  2. Postavitev korpusa:
    1. pretvorba v format konkordančnika
    2. integracija v slovar
  3. Jezikovno označevanje:
    1. oblikoslovne lastnosti in leme
    2. termini
    3. prevodi
    4. integracija v konkordančnik in slovar

2.5. Konverzija Word v XML

  • Konverzijo olajša konsistentna uporaba stilov
  • Ena od možnosti: urejevalnik Open Office v XML, nato XSLT v TEI
  • Konverzija izgubi informacijo - koliko je odvisno od časa & denarja
  • Ciljni elementi: <div>, <head>, <p>, <list>, <item>, <hi>, ...
Primer strukturno označenega korpusa:

 <text lang="sl" id="galjot">
  <body>
    <div type="chapter" n="1" id="galjot.1">
      <head>1</head>
      <opener rend="it">
Gosti skladi zraka. Sluz se vzpenja po stenah. Prihod iz
mo&ccaron;virja. Ku&zcaron;ni komisarji v de&zcaron;eli. Tak
&ccaron;uden vstop, tak vinski za&ccaron;etek.
      </opener>
      <div type="section">
        <p>
Temne lise vlage so se spakovale po zidu. Zdelo se mu je, da v tej
gluhi tihoti lezejo skupaj in narazen in da s svojim neznansko
...

2.6. Dokumentacija: glava TEI

  • Opis datoteke, <fileDesc> vsebuje poln bibliografski opis datoteke, vključno z bibliografsko informacijo njenega vira ali virov.
  • Opis zapisa, <encodingDesc> opisuje odnos med elektronskim besedilom in njegovim virom oz. viri. Omogoča podroben opis tega kako (in če) je bilo besedilo normalizirano pri transkripciji, kako je označevalec razrešil dvoumnosti v viru, katere ravni analize so bile izvedene itd.
  • Opis profila <profileDesc> vsebuje klasifikacijske in kontekstualne podatke o besedilu, npr. tematiko, osebe, ki jih opisuje oz. so sodelovale pri njegovem nastajanju itd. Ta opis je še posebej koristen pri strukturiranih sestavljenih besedilih, kot so korpusi, kjer je dostikrat zaželeno, da vzpostavimo kontroliran opisni besednjak preko katarega lahko zajemamo besedila glede na zvrst ali izvor.
  • Opis sprememb <revisionDesc> omogoča označevalcem, da zabeležijo zgodovino sprememb, ki so se vršile nad elektronskih besedilom med njegovim nastajanjem; podatek je pomemben za nadzor nad različicami dokumenta (version control) in za razreševanje vprašanj o zgodovini datoteke.

2.7. Primer glave TEI

IJS-ELAN, element ekol:

<teiHeader id="ekol.H" type="text"
  creator="ET" status="update"
  date.created="1999-04-13" date.updated="2002-04-01">
<fileDesc>
 <titleStmt>
  <title lang="sl">Nacionalni program varstva okolja</title>
  <title lang="en">National Environmental Protection Programme</title>
  <respStmt>
   <name>Andrej Skubic, FF</name>
   <resp lang="sl">Poravnava, zagotovitev digitalnega originala</resp>
   <resp lang="en">Alignment, provision of digital original</resp>
  </respStmt>
  <respStmt>
   <name>Peter Holozan, Amebis</name>
   <resp lang="sl">Leksikalne oznake</resp>
   <resp lang="en">Lexical annotation</resp>
  </respStmt>
  <respStmt>
   <name>Toma&zcaron; Erjavec, IJS</name>
   <resp lang="sl">Tokenizacija, tagiranje, pretvorba v TEI</resp>
   <resp lang="en">Tokenisation, tagging, conversion to TEI</resp>
  </respStmt>
 </titleStmt>
 <editionStmt><edition>Version 2.0</edition></editionStmt>
 <extent>1222 Kb, 70 kW</extent>
 <publicationStmt>
  <distributor lang="sl">
    Odsek za inteligentne sisteme
    Institut "Jo&zcaron;ef Stefan"
    Jamova 39
    1000 Ljubljana
  </distributor>
  <distributor lang="en">
    Dept. of Intelligent Systems,
    Jozef &Scaron;tefan Institute
    Jamova 39
    SI-1000 Ljubljana
    Slovenia
  </distributor>
  <pubPlace><xptr url="http://nl.ijs.si/elan/"/></pubPlace>
  <availability>
   <p lang="en">
    This bi-text of the IJS-ELAN corpus is freely available, provided that the 
    the sources described in this Header are acknowledged.
    Copyright of the two digital originals for this corpus held by 
    Republic of Slovenia, Ministry of the Environment and Physical Planning.</p>
   <p lang="sl">
    To vzporedno poravnano besedilo korpusa IJS-ELAN je prosto dostopno, 
    pod pogojem, da se citira njegove vire, dokumentirane v tej glavi.
    Avtorske pravice nad digitalnima originaloma tega besedila pripadajo
    Repuliki Slovenija, Ministrstvu za okolje in prostor, Uprava RS za varstvo narave.</p>
   </availability>
 </publicationStmt>
 <sourceDesc>
  <listBibl>
   <bibl lang="sl" default="YES">
    <title>Nacionalni program varstva okolja</title>
    <date value="1999-02-24">24-Feb-99</date>
    <publisher lang="sl">Republika Slovenija, Ministrstvo za okolje in
      prostor, Uprava RS za varstvo narave</publisher>
    <xptr url="http://www.gov.si/mop/vsebina/npvo.html"/>
   </bibl>
   <bibl lang="en" default="NO">
    <title>National Environmental Protection Programme</title>
    <date value="1999-03-10">30-Mar-99</date>
    <publisher>Republic of Slovenia, Ministry of the Environment and Physical Planning</publisher>
    <xptr url="http://www.gov.si/mop/vsebina/angl/okolje.html"/>
   </bibl>
   </listBibl>
  </sourceDesc>
 </fileDesc>
 <encodingDesc>
  <projectDesc>
   <p>
    This text is part of the LJU1 site contribution to the
    EU MLIS project ELAN: European Language Activity Network
    <xptr url="http://nl.ijs.si/elan/"/>.
   </p>
  </projectDesc>
  <editorialDecl>
   <normalization>
    <p>HTML markup removed; Quotes normalised to ", list bullets to -.</p>
   </normalization>
   <segmentation>
    <p>The digital original was converted, segmented and aligned with
     <xref url="http://www.atril.com/">Atril</xref> and the alignments hand corrected.</p>
    <p>Tokenisation was performed by the MULTEXT program mtlex with MULTEXT-East Slovene
     segmentation resources.</p>
   </segmentation>
   <interpretation>
    <p>Words automatically marked with context disambiguated lemma and
     MULTEXT-East morphosyntactic description. English words
     additionally tagged with BROWN-like tagset by two taggers (TnT,QTAG).</p>
   </interpretation>
  </editorialDecl>
  <tagsDecl>
   <tagUsage gi="text" occurs="3"></tagUsage>
   <tagUsage gi="group" occurs="1"></tagUsage>
   <tagUsage gi="body" occurs="2"></tagUsage>
   <tagUsage gi="seg" occurs="3482"></tagUsage>
   <tagUsage gi="w" occurs="70203"></tagUsage>
   <tagUsage gi="c" occurs="9201"></tagUsage>
  </tagsDecl>
 </encodingDesc>
 <revisionDesc>
  <change>
   <date>1999-05-16</date>
   <respStmt>
    <name>Toma&zcaron; Erjavec</name>
    <resp>Editor</resp>
   </respStmt>
   <item>V1.0 Header</item>
  </change>
  <change>
   <date>1999-06-22</date>
   <respStmt>
    <name>Toma&zcaron; Erjavec</name> <resp>Editor</resp>
   </respStmt>
   <item>Some more errors of tokenisation corrected.
     Availability statement changed.</item>
  </change>
  <change>
   <date>2001-09-06</date>
   <respStmt>
    <name>Toma&zcaron; Erjavec</name> <resp>Editor</resp>
   </respStmt>
   <item>Slovene texts tagged with TnT trained on "1984" and
     bettered with other resources. English texts also tagged with TnT 
     trained on "1984" and additionaly with TnT trained on the Penn Treebank
     and QTag email service.
   </item>
  </change>
  <change>
   <date>2002-04-01</date>
   <respStmt>
    <name>Toma&zcaron; Erjavec</name> <resp>Editor</resp>
   </respStmt>
   <item>Recoded in P4/XML and prepared V2.0 for distribution.
   </item>
  </change>
 </revisionDesc>
</teiHeader>

2.8. Struktura korpusa TEI


<TEIcorpus.2>                                
  <teiHeader type="corpus">                   
    *Glava korpusa*
  </teiHeader>                
  <TEI.2>                  
    <teiHeader type="text">                  
     *Glava elementa*
    </teiHeader>            
    <text>
     *Besedilo elementa*
    </text>
  </TEI.2>                    
  *Ostali elementi*
</TEIcorpus.2>

Korpus DSI:
  • Vsak prispevek en element kopusa
  • Glava vsebuje bibliografske podatke o prispevku
  • Dodatno še sekcija?
  • Nekatere podatke mogoče določiti avtomatsko, druge ročno (uporaba datotek Word, kazala, COBISS)

2.9. Osnovna jezikovna struktura

  • Segmentacija in tokenizacija: stavki in besede
  • Bolj komplicirano kot mogoče izgleda: Dr. Prešeren, 14,40+/-1,92
  • Besedila vsebujejo tudi napake, kar dodano oteži pravilno razpoznavanje
Primer označenega besedila:

<seg id="ecmr.sl.17">
<w>Tokrat</w> <w>v</w> <w>obliki</w> <w>poslab&scaron;anja</w>
<w>Euromoneyeve</w> <w>ocene</w> <w>ekonomskih</w> <w>sprememb</w>
<w>v</w> <w>Sloveniji</w> <c type="open">(</c><w>stran</w> 
<w type="dig">6</w><c type="close">)</c><c>.</c>
</seg>

3. Konkordance

3.1. Kaj so konkordančniki

  • Omogočajo iskanje nizov po korpusu
  • Izpis zadetkov skupaj s sobesedilom
  • Iskalni jezik: regularni izrazi, elementi, atributi
  • Hitrost, kompaktnost, moč iskalnega jezika, podpora statističnim orodjem
  • Mrežni konkordančniki pri nas: FIDA, NEVA, IJS

3.2. Primer nl2.ijs.si

  • IMS Corpus Query Processor: prosto dostopen za raziskovalne namene
  • Linux
  • Hiter ko strela
  • Podpira vzporedne in označene korpuse
  • Mrežni vmesnik na IJS
  • Dostopni korpusi: IJS-ELAN, TRANS2, ORWELL, GORE, JNA
Vmesnik:
Rezultati iskanja:

4. Jezikovno označevanje

4.1. Oblikoslovje

Cilj je vsaki besedi v besedilu prirediti njene oblikoslovne lastnosti, npr. Samostalnik lastno_ime moški ednina tožilnik +živost
  • v oblikoslovnem slovarju poiščemo vse interpretacije besedne oblike
  • glede na sobesedilo določimo pravo oznako
  • poseben modul poskrbi za neznane besede
  • za slovenski jezik so se s tem največ ukvarjali na ZRC in IJS
  • na IJS uporabljamo označevalnik TnT, ki se nauči modela in vnaprej označenega besedila
  • ko imamo določeno oblikoslovno oznako je tudi razmeroma enostavno določiti osnovno obliko besede
Primer označenega besedila:

<seg id="ekol.sl.249" corresp="ekol.en.249">
<w ana="Spsi" lemma="z">Z</w>
<w ana="Ncnsi" lemma="ogro&zcaron;anje">ogro&zcaron;anjem</w>
<w ana="Aopfsg" lemma="biolo&scaron;ki">biolo&scaron;ke</w>
<w ana="Ncfsg" lemma="raznovrstnost">raznovrstnosti</w>
<w ana="Vcip3s--n" lemma="biti">je</w>
<w ana="Afpnsa" lemma="povezan">povezano</w>
<w ana="Afpnsa" lemma="neurejen">neurejeno</w>
<w ana="Ncnsa" lemma="podro&ccaron;je">podro&ccaron;je</w>
<w ana="Ncnsg" lemma="ravnanje">ravnanja</w>
<w ana="Spsi" lemma="z">z</w>
<w ana="Aopmsi" lemma="genski">genskim</w>
<w ana="Ncmsi" lemma="material">materialom</w>
<c ctag=".">.</c>
</seg>

4.2. Identifikacija terminov

4.3. Prevodi

  • Korpus DSI vsebuje prevode povzetkov
  • Avtomatske metode poravnave stavkov, besed in besednih zvez
Primer: uporaba sistem PLUG
  • angleški stavek:
    In addition, all of the source code for the Linux system, including
    the kernel, device drivers, libraries, user programs, and development
    tools, is freely distributable.
  • slovenski stavek:
    Dodatno je dostopna in prosto razširljiva še vsa
    izvorna koda sistema Linux, vključno z jedrom, gonilniki naprav,
    knjižnicami, uporabniškimi programi in razvojnimi orodji.
  • angleški vhod:
    addition , source code linux system , kernel , device driver , library
    , user program , development tool , distributable .
  • slovenski vhod:
    dostopen razširljiva izvoren koda sistem Linux , jedro , gonilnik
    naprava , knjižnica , uporabniški program razvojen orodje.
  • Izhodne poravnave:
    source codeizvoren
    linuxlinux
    systemsistem
    kerneljedro
    device drivergonilnik
    libraryknjižnica
    useruporabniški
    programprogram
    developmentrazvojen
    toolorodje

4.4. Uporaba

  • Primeri: vsak vnos slovarja ima dodan klic konkordančnika
  • Novi termini 1: če slovar ne vsebuje termina, se pokliče konkordančnik
  • Novi termini 2: luščeje novih terminov iz korpusa
  • Prevodi 1: uporaba povzetkov (konkordančnik, luščenje)
  • Prevodi 2: neposredna uporaba besedil:
    Upravljanje znanja (Knowledge Management) zagotavlja dostop do..

5. Zaključki

5.1. Projekt?

  • Avtorske pravice
  • Financiranje
  • Izvjajanje

5.2. Kaj pa naprej?

  • Dodajanje revij
  • Boljšanje natančnosti in priklica označevalnih metod
  • Uvajanje novih označevalnih metod
  • Mrežno stavljenje zbornikov in drugih publikacij, ter integracija s korpusom