Oblikoslovni označevalnik
Oblikoslovno označevanje je proces pripisovanja oblikoslovnih oznak besedam v besedilu. Tako označeno besedilo je predpogoj za večino aplikacij, ki temeljijo na analizi naravnega jezika. Označevanje slovenskih besedil je zelo težak problem, saj mora algoritem za označevanje pravilno izbirati med več kot tisoč oznakami (za primerjavo: število različnih oznak za označevanje angleškega besedila je zgolj okoli šestdeset).
Program LemmatizerTrain
Program LemmatizerTrain iz označenega besedila v formatu XML-TEI zgradi model za lematizacijo besed (tj. za prevedbo besed v njihove osnovne oblike) in ga shrani v izhodno datoteko.
Navodila za uporabo programa LemmatizerTrain:
LemmatizerTrain [<nastavitve>] <korpus_xml> <model_bin>
<nastavitve>: Glej spodaj.
<korpus_xml>: Ucni korpus v formatu XML-TEI (vhod).
<model_bin>: Model za lematizacijo (izhod).
Nastavitve:
-v Izpisovanje na zaslon (verbose).
(privzeto: ni izpisovanja)
-t Upostevanje oblikoslovnih oznak.
(privzeto: oblikoslovne oznake niso upostevane)
Primer uporabe:
LemmatizerTrain -v -t jos100k-train.xml lemmatizer-model.bin
Izpis na zaslon:
Nalagam ucni korpus ... Gradim model za lematizacijo ... 106403 / 106403 Zapisujem model ... Koncano.
Datoteke za prenos
- LemmatizerTrain.zip (program)
- jos100k-train.xml.zip (vhodna datoteka)
- lemmatizer-model.bin.zip (izhodna datoteka)
Program PosTaggerTrain
Program PosTaggerTrain iz označenega besedila v formatu XML-TEI zgradi model za označevanje besedila in ga shrani v izhodno datoteko.
Navodila za uporabo programa PosTaggerTrain:
PosTaggerTrain [<nastavitve>] <korpus_xml> <model_bin>
<nastavitve>: Glej spodaj.
<korpus_xml>: Ucni korpus v formatu XML-TEI (vhod).
<model_bin>: Model za oznacevanje (izhod).
Nastavitve:
-v Izpisovanje na zaslon (verbose).
(privzeto: ni izpisovanja)
-c:<int>=0> Parameter za izgradnjo modela (cut-off).
(privzeto: 2)
-i:<int>0> Stevilo iteracij za izgradnjo modela.
(privzeto: 50)
-t:<int>0> Število niti za paralelizacijo algoritma.
(privzeto: 1)
Primer uporabe:
PosTaggerTrain -v -i:100 jos100k-train.xml tagger-model.bin
Izpis na zaslon:
Nalagam ucni korpus ... Pripravljam vektorje znacilk ... 106403 / 106403 Gradim model ... Creating observation matrix ... 106403 / 106403 Performing cut-off ... Preparing structures ... Entering main loop ... Iteration 1 / 100 ... Updating expectations ... Pass 1: 1042 / 1042 Pass 2: 1042 / 1042 Updating lambdas ... ... Iteration 100 / 100 ... Updating expectations ... Pass 1: 1042 / 1042 Pass 2: 1042 / 1042 Updating lambdas ... Trajanje gradnje modela: 03:06:16.608. Zapisujem model ... Koncano.
Datoteke za prenos
- PosTaggerTrain.zip (program)
- jos100k-train.xml.zip (vhodna datoteka)
- tagger-model.bin.zip (izhodna datoteka; približno 5 MB)
Program PosTaggerTag
Program PosTaggerTag omogoča oblikoslovno označevanje besedila. Za svoje delovanje potrebuje vhodno besedilo bodisi v tekstovnem formatu bodisi v formatu XML-TEI in model za označevanje, zgrajen s programom PosTaggerTrain. Na podlagi teh datotek PosTaggerTag tvori datoteko z označenim besedilom v formatu XML-TEI. Možno je podati tudi datoteko z modelom za lematizacijo, zgrajenim s programom LemmatizerTrain. V tem primeru izhodna datoteka vsebuje tudi besede v osnovnih oblikah.
Navodila za uporabo programa PosTaggerTag:
PosTaggerTag [<nastavitve>] <besedilo> <model_bin> <oznaceni_korpus_xml>
<nastavitve>: Glej spodaj.
<besedilo>: Besedilo za oznacevanje (vhod).
<model_bin>: Model za oznacevanje (vhod).
<oznaceni_korpus_xml>:
Oznaceni korpus v formatu XML-TEI (izhod).
Nastavitve:
-v Izpisovanje na zaslon (verbose).
(privzeto: ni izpisovanja)
-xml Vhodno besedilo je v formatu XML-TEI (evalvacija).
(privzeto: vhodno besedilo je v obicajni tekstovni obliki)
-lem:ime_datoteke Model za lematizacijo.
(privzeto: lematizacija se ne izvede)
Prvi primer uporabe:
PosTaggerTag -v -xml -lem:lemmatizer-model.bin jos100k-test.xml tagger-model.bin jos100k-test-tagged-1.xml
Izpis na zaslon:
Nalagam model za oznacevanje ... Nalagam model za lematizacijo ... Nalagam besedilo ... Oznacujem besedilo ... 11976 / 11991 Trajanje oznacevanja: 00:05:45.593. Zapisujem oznaceno besedilo ... Koncano. Tocnost na znanih besedah: ....... 90.99% (9059 / 9956) Tocnost na neznanih besedah: ..... 59.56% (1212 / 2035) Skupna tocnost: .................. 85.66% (10271 / 11991) Tocnost na znanih besedah (POS): 97.25% (9682 / 9956) Tocnost na neznanih besedah (POS): 83.88% (1707 / 2035) Skupna tocnost (POS): ............ 94.98% (11389 / 11991) Tocnost lematizacije: ............ 91.49% (9224 / 10082) Tocnost lematizacije (male crke): 93.35% (9412 / 10082) Tocnost detekcije konca stavka: .. 97.76% (568 / 581)
Drugi primer uporabe:
PosTaggerTag -v -lem:lemmatizer-model.bin jos100k-test.txt tagger-model.bin jos100k-test-tagged-2.xml
Izpis na zaslon:
Nalagam model za oznacevanje ... Nalagam model za lematizacijo ... Nalagam besedilo ... Oznacujem besedilo ... 11828 / 11828 Zapisujem oznaceno besedilo ... Koncano.
Datoteke za prenos
- PosTaggerTag.zip (program)
- jos100k-test.xml.zip (vhodna datoteka za prvi primer uporabe)
- jos100k-test.txt.zip (vhodna datoteka za drugi primer uporabe)
- tagger-model.bin.zip (vhodna datoteka; približno 5 MB)
- lemmatizer-model.bin.zip (vhodna datoteka)
- jos100k-test-tagged-1.xml.zip (izhodna datoteka za prvi primer uporabe)
- jos100k-test-tagged-2.xml.zip (izhodna datoteka za drugi primer uporabe)
Opomba
Vsi opisani programi so izdelani v razvojnem okolju Microsoft Visual Studio 2005. Za svoje delovanje zato potrebujejo zagonsko okolje .NET Framework 2.0. Če slednjega še nimate nastanjenega na računalniku, si ga prenesite s spleta (povezava do 32-bitne različice, povezava do 64-bitne različice), zaženite nastanitveni program (tj. dotnetfx.exe) in sledite navodilom za nastanitev.
Zasluge
Oblikoslovni označevalnik, dostopen na tej spletni strani, so v programskem jeziku C# implementirali Miha Grčar, Jan Rupnik in Matjaž Juršič pod vsebinskim vodstvom Simona Kreka.
Lematizator, ki ga uporabljamo, je zasnoval Matjaž Juršič v okviru svojega diplomskega dela pod mentorstvom dr. Igorja Mozetiča.
Uporabljeni korpusi so bili označeni v okviru projekta Jezikoslovno označevanje slovenskega jezika (JOS). Informacije o projektu JOS in pripadajočih korpusih so dostopne na spletni strani http://nl.ijs.si/jos/.
Operacijo delno financira Evropska unija iz Evropskega socialnega sklada ter Ministrstvo za šolstvo in šport. Operacija se izvaja v okviru Operativnega programa razvoja človeških virov za obdobje 2007-2013, razvojne prioritete: razvoj človeških virov in vseživljenjskega učenja; prednostne usmeritve: izboljšanje kakovosti in učinkovitosti sistemov izobraževanja in usposabljanja 2007-2013.

Reference
- Giménez, J., Màrquez, L. (2004): SVMTool: A General POS Tagger Generator Based on Support Vector Machines. Proceedings of the Fourth International Conference on Language Resources and Evaluation (LREC’04), Lisbon. (pdf)
- Juršič, M., Mozetič, I., Lavrač, N. (2007): Learning Ripple Down Rules for Efficient Lemmatization. Proceedings of the 10th International Multiconference Information Society, IS 2007, Vol. A, str. 206-209, Ljubljana. (pdf)
- Nigam, K., Lafferty, J., McCallum, A. (1999): Using Maximum Entropy for Text Classification. Proceedings of IJCAI-99 Workshop on Machine Learning for Information Filtering, str. 61-67.
- Erjavec, T., Krek, S. (2008): Oblikoskladenjske specifikacije in označeni korpusi JOS. Zbornik Šeste konference Jezikovne tehnologije, Ljubljana. (pdf)
- Erjavec, T., Krek, S. (2008): The JOS Morphosyntactically Tagged Corpus of Slovene. Proceedings of the Sixth International Conference on Language Resources and Evaluation (LREC’08), Marrakech. (pdf)