This is an old revision of the document!
Table of Contents
Turecká morfologie
Poznámky k nástrojům a pokusům s tureckou morfologií. Momentálně jde také o poznámky k diplomce Sibel Ciddi (akademický rok 2012-2013).
Úkoly:
- Sehnat, rozchodit, natrénovat a otestovat turecký tagger (do 16.6.2013). Možná se dá sehnat tagger s již natrénovaným modelem. Možná nás ale víc zajímá trénovatelný tagger (např. TreeTagger), který bychom si sami natrénovali na treebanku METU, který máme k dispozici. I tak budeme muset řešit nekompatibilitu značek METU se značkami produkovanými TRmorphem.
- Natrénovat a otestovat parser. Propojit ho s taggerem, abychom byli schopni zpracovávat nový turecký text.
- Dan: Stáhnout data z turecké Wikipedie a dát je Sibel, aby na nich otestovala pokrytí TRmorphem. Předpokládáme, že se tu najde spousta nepokrytých pojmenovaných entit, pro které pak budeme vyvíjet guesser.
- Dan: Možná bych se mohl pokusit rozchodit TRmorph v Treexu, abych si ho mohl zkoušet i sám. Po Sibel každopádně nic takového vyžadovat nebudu.
Pak se musíme rozhodnout, jaký bude konečný cíl:
- Guesser na slova nepokrytá TRmorphem. (Nápady: pozorovat koncovky, něco na způsob neřízené morfematické segmentace; použít parser a zkoumat kontext ve stromu (visí to na slovesu? Tak to bude podstatné jméno… (mohla by to být i předložka, ale ty asi všechny pokrývá TRmorph)))
- Rozpoznávač víceslovných výrazů (MWE), pojmenovaných entit (NE) apod. Opět bychom mohli využít i parser.
Tree Tagger
cat /net/data/conll/2007/tr/train.conll | prepare_lexicon_from_conll.pl --type train > train.tr.txt cat /net/data/conll/2007/tr/train.conll | prepare_lexicon_from_conll.pl --type lexicon > lexicon.tr.txt cat /net/data/conll/2007/tr/train.conll | prepare_lexicon_from_conll.pl --type openclass > openclass.tr.txt cat /net/data/conll/2007/tr/test.conll | prepare_lexicon_from_conll.pl --type test > test.tr.txt cat /net/data/conll/2007/tr/test.conll | prepare_lexicon_from_conll.pl --type train > gold.tr.txt bin/train-tree-tagger lexicon.tr.txt openclass.tr.txt train.tr.txt tr.par -st 'Punc.Punc._' bin/tree-tagger -token -lemma tr.par < test.tr.txt > tagged.tr.txt eval_tree_tagger.pl tagged.tr.txt gold.tr.txt
Výsledky na tureckém treebanku CoNLL 2007 jsou následující:
3610 total tokens.
1221 unknown tokens (33.822715 %).
2656 correct tags (73.573407 %).
2200 correct tags of known words (92.088740 %).
456 correct tags of unknown words (37.346437 %).
3199 correct parts of speech (88.614958 %).
2270 correct parts of speech of known words (95.018836 %).
929 correct parts of speech of unknown words (76.085176 %).
Turecká Wikipedie
cd /net/data/wikipedia/tr wget http://dumps.wikimedia.org/trwiki/20130606/trwiki-20130606-pages-articles.xml.bz2 unzip.pl trwiki-20130606-pages-articles.xml.bz2
DUMP=trwiki-20130606-pages-articles wget http://dumps.wikimedia.org/trwiki/20130606/$DUMP.xml.bz2 bunzip2 $DUMP.xml.bz2 gzip $DUMP.xml treex -Ltr Read::WikiDump from=$DUMP.xml.gz Write::Text path=texts to=. # Note that zip has problems with UTF8 characters in filenames. find texts -name '*.txt' -print | zip -m trwiki -@ find texts -name '*.txt' -print > filelist.txt tar czf trwiki.tgz --files-from filelist.txt
212476 článků (dokumentů, souborů)
Zabalený soubor má necelých 300 MB, rozbalený má 1,4 GB.
- Určitě už někde mám kód, který odstraňuje syntaxi MediaWiki a nechává jen prostý text.
- Kromě toho bude potřeba tokenizace a větná segmentace.
- Ideálně by to chtělo nějaký načítací blok do Treexu.
- Wikiodkazy teď asi zahazovat, ale později je možná ještě budeme chtít využít, abychom lépe odhalili koncovky, rozsah víceslovných výrazů apod.