Maltparserist ja teistest

28. nov. 2013 | Autor: Kaili

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

Vajalikud failid

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

28. nov. 2013 | Autor: Kaili

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

28. nov. 2013 | Autor: Kaili

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.