Maltparserist ja teistest
Maltparser on Växjö ülikoolis väljatöötatud tõenäosuslik sõltuvuspuude parser. Parser eeldab, et sisend on morfoloogiliselt analüüsitud ja ühene. Sisend ja väljund on CoNLL-formaadis.
Maltparser ei kontrolli sisendi korrektsust ja võib formaati mittesobiva sisendi peale töö lihtsalt katkestada. Sisendi formaadi ja kooskõlalisuse (nt tsüklite puudumine) kontrolliks sobib MaltOptimizer.
Maltparseri treenimiseks sobilikud tunnustekombinatsioonid saadi samuti MaltOptimizeri abil
Analüüsi hindamiseks ja puude visualiseerimiseks on mõeldud MaltEval.
Maltparseri grammatika ja käsuread parsimiseks ja treenimiseks
Korpuse valideerimine:
java -jar MaltOptimizer.jar -p 1 -m maltparser-1.7.jar -c trenn.conll
Väljund on failis
less logValidationFile.txt
Korpuse parsimine olemasoleva grammatika abil (nimega nov27)
java -jar ~/Programmid/Maltparser/maltparser-1.7.2/maltparser-1.7.2.jar -i ~/Programmid/Konverter/syntagset_test.conll -o test.conll -m parse -c nov27
Õppimine toimus järgmise konfiguratsiooniga:
java -jar ~/Programmid/Maltparser/maltparser-1.7.2/maltparser-1.7.2.jar -i syntagset_trenn.conll
-c nov27 -m learn -f finalOptionsFile.xml -F addMergPOSTAGS0FORMRight0.xml
Puudepangast
Hetkel on käsitsi märgendatud ja mitmekordselt kontrollitud u 167000sõneline teksikorpus (11771 lauset). Siin on need korpused 28.11.13 seisuga. Korpused on cg-formaadis.
Konverterid ja abivahendid
cg-formaadist CoNLL-formaati teisendamiseks ja erinevateks katseteks märgenditega on loodud hulk konvertereid ja abiprogramme. Uusim konverter, mis teisendab käsitsi märgenatud teksti conlli, on 23.05.14 seisuga.
txt2conll
txt2conll teisendab cg formaadist CoNLL formaati. Lipp -n 0 jätab märgenduse samaks, kuid eraldab tunnused tulpadesse. Vajalik selleks, et visualiseerida olemasolevat käsitsi märgendatud korpust.
cat käsitsikorpus.sol |./txt2conll.pl -n 0 > muutmata.conll
java -jar lib/MaltEval.jar -v 1 -s ~/Programmid/Konverter/muutmata.conll
Lipp -n 1 teisendab morfoloogilist märgendust ja muudab juurtipu süntaktilise funktsiooni märgendiks ROOT. Kasutatakse olemasoleva käsitsimärgendatud korpuse teisendamiseks CoNLL-formaati.
cat käsitsikorpus.sol |./txt2conll.pl -n 1 > standard.conll
Automaatselt analüüsitud cg-korpus on morfoloogiliselt ja süntaktiliselt mitmene. Selle teisendamiseks CoNLL formaati tuleb see enne ühestada.
cat ~/Grammar/2013/reeglid/ilu_kivirahk_aut.dep |./morfselektor.pl |./syntselektor.pl |./txt2conll.pl -n1 >ilu_kivirahk_aut_dep.conll
Siin morfselektor valib esimese morfoloogilise tõlgenduse ja syntselektor esimese süntaktilise märgendi, mis ei ole järeltäiend. See on n.ö naiivne ühestamine. Selle evalveerimiseks sobib käsurida:
java -jar lib/MaltEval.jar --Metric LAS -g ~/Programmid/Konverter/ilu_kivirahk_gold.conll -s ~/Programmid/Konverter/ilu_kivirahk_aut_dep.conll
Proovida võib veel lippe --Metric UAS --Metric LA --GroupBy Deprel -v 1
Lipp -n 2 asendab mitmeseks jäänud märgendid ja ROOT märgendi alakriipsuga, et neid kohti saaks asendada maltparseri väljundist võetava märgendiga.
cat ~/Grammar/2013/reeglid/ilu_kivirahk_aut.dep |./morfselektor.pl|./txt2conll.pl -n 2 >ilu_kivirahk_aut_kriipsudega.conll
mergecgmalt
mergecgmalt saab sisendiks 2 faili ning asendab esimeses failis puuduvad süntaktilised märgendid teises failis olevatega. Praeguse märgenditekombinatsiooniga sobib versioon 4.
./mergecgmalt4.pl -c ilu_kivirahk_kriipsudega.conll -m ~/Programmid/Maltparser/maltparser-1.7.2/kivirahk_malt.conll
Kui lisaks märgenditele tahetakse kanda üle ka sõltuvused, siis selleks sobib versioon 3.
./mergecgmalt3.pl -c ilu_kivirahk_kriipsudega_merged.conll -m ~/Programmid/Maltparser/maltparser-1.7.2/kivirahk_malt2.conll
Muud
jagaja.pl -f failinimi -n nr saab sisendiks CoNLL formaadis faili ja tõstab sellest iga n-nda lause testkorpusesse. Väljund kirjutatakse failidesse failinimi_trenn ja failinimi_test.
countfeatures.pl loendab CoNLL formaadis sisendist (stdin) sõnaliike, süntaktilisi funktsioone ja märgendikombinatsioone.
puhastaja.pl teeb käsitsi märgendatud cg-korpuse uueks analüüsiks puhtaks,
nulli.pl puhastab conll-formaadis faili süntaktilistest märgenditest.
Tulemused
Maltparser üksi: LAS 85.8 UAS 88.3 LA 92.1
Cgparser+maltparser: LAS 85.3 UAS 88.3 LA 93.7
ilu_kivirahk_tasak.som teisendatuna ja analüüsituna
Viidatud korpused, puudepangad ja grammatikad on vabaks kasutamiseks. Siiski palume suurema projekti korral kasutamisest teada anda meiliaadressile kaili.muurisep@ut.ee.