Инструкции к теггерам. Установка. Запуск. Использование


Если вы хотите обучить модели для описанных теггеров самостоятельно, то эта инструкция для вас.


Доступные анализаторы:

TntHunposTreetaggerMarMoTMorfetteStanford POS TaggerSVM ToolCitar

TnT

Установка и системные требования
  • Linux
  • У файлов tnt и tnt-para быть права запускаться как исполняемые
Формат данных
  • одна строка – один токен
  • между токеном и тегом – табуляция
  • между предложениями – ничего или пустая строка
Пример данных Глашу S,acc,sg,f,anim,persn
долго ADV
пошатывало V,sg,n,ipf,tran,act,indic,praet
и CONJ
тошнило V,sg,n,ipf,tran,act,indic,praet

Он S-PRO,nom,sg,m,3p
часами S,ins,pl,m,inan
сидел V,sg,m,ipf,intr,act,indic,praet
в PR
библиотеке S,loc,sg,f,inan
Академии S,gen,sg,f,inan
наук S,gen,pl,f,inan
Команда для обучения tnt-para MODEL_NAME TRAINING_CORPUS
Создаст файлы model-name.lex и model_name.123
Команда для разметки tnt MODEL_NAME TEST_CORPUS > RESULT
Название модели -- это просто название без расширений, прописывается один раз
Подробная инструкция http://www.coli.uni-saarland.de/~thorsten/tnt/
Откуда скачать http://heartofgold.dfki.de/pkg/components-tnt.tar.gz

Hunpos

Установка и системные требования
  • Linux
  • У файлов hunpos-train и hunpos-tag быть права запускаться как исполняемые
  • Если не запустились скомпилированные версии с сайта, собирать из исходников:
    • OCaml compiler (version 3.10)
    • Скачать исходники, затем из папки с ними ./build.sh build
Формат данных
  • одна строка – один токен
  • между токеном и тегом – табуляция
  • между предложениями – пустая строка
Пример данных Глашу S,acc,sg,f,anim,persn
долго ADV
пошатывало V,sg,n,ipf,tran,act,indic,praet
и CONJ
тошнило V,sg,n,ipf,tran,act,indic,praet

Он S-PRO,nom,sg,m,3p
часами S,ins,pl,m,inan
сидел V,sg,m,ipf,intr,act,indic,praet
в PR
библиотеке S,loc,sg,f,inan
Академии S,gen,sg,f,inan
наук S,gen,pl,f,inan
Команда для обучения cat TRAINING_CORPUS | ./hunpos-train MODEL_NAME
Команда для разметки ./hunpos-tag MODEL_NAME < TEST_CORPUS > RESULT
Название модели целиком!
Подробная инструкция https://code.google.com/archive/p/hunpos/wikis/UserManualI.wiki
Откуда скачать https://code.google.com/archive/p/hunpos/downloads

TreeTagger

Установка и системные требования
  • Linux
  • Perl
  • Файлы train-tree-tagger и tree-tagger должны иметь права запускаться как исполняемые
Формат данных
  • одна строка – один токен
  • между токеном и тегом – табуляция
  • между предложениями – обязательно тег конца предложения (например, конец предложения обозначается . и в качестве тега мы тоже используем .)
  • после тега через табуляцию можно добавить лемму
  • окончания строк обязательно должны быть линуксовыми, иначе все падает
Пример данных Глашу S,acc,sg,f,anim,persn
долго ADV
пошатывало V,sg,n,ipf,tran,act,indic,praet
и CONJ
тошнило V,sg,n,ipf,tran,act,indic,praet
. .
Он S-PRO,nom,sg,m,3p
часами S,ins,pl,m,inan
сидел V,sg,m,ipf,intr,act,indic,praet
в PR
библиотеке S,loc,sg,f,inan
Академии S,gen,sg,f,inan
наук S,gen,pl,f,inan
. .
Команда для обучения
  1. ./treetagger/cmd/make-lex.perl TRAINING_CORPUS > lexicon
  2. openclass [просто текстовый файлик, создаем самостоятельно – сюда должны входить теги, которые можно присваивать неизвестным словам]
  3. ./treetagger/bin/train-tree-tagger -st SENTENCE_TAG lexicon openclass TRAINING_CORPUS MODEL_NAME
Команда для разметки ./treetagger/bin/tree-tagger -token [если нужен токен в аутпуте] -lemma [если нужна лемма в аутпуте] MODEL_NAME TEST_CORPUS RESULT
Название модели целиком!
Подробная инструкция http://cental.fltr.ucl.ac.be/team/~panchenko/def/treetagger/README.txt
Откуда скачать http://www.cis.uni-muenchen.de/~schmid/tools/TreeTagger/

MarMoT

Установка и системные требования
  • Linux
  • Java
Формат данных
  • формат CoNNL
  • одна строка – один токен
  • не все колонки могут быть заполнены (для теггера обязательны токен и POS-тег, для лемматизации -- токен, лемма и POS-тег, но в обоих случаях хорошо бы заполнить и колонку с подробной морфологической аннотацией)
  • между колонками – табуляция
  • между предложениями – пустая строка
  • в аутпуте будут все колонки (индекс, синтаксические теги и т.д. И т.п.), с “-” на месте пустых значений
Пример данных Володя S S,nom,sg,m,anim,persn
ей S-PRO S-PRO,dat,sg,f,3p
не PART PART
понравился V V,sg,m,pf,intr,med,indic,praet

Отмазка S S,nom,sg,f,inan
должна A A,brev,sg,f
была V V,sg,f,ipf,intr,act,indic,praet
быть V V,inf,ipf,intr,act
вполне ADV ADV
логичной A A,ins,sg,f,plen
Команда для обучения Теггер
java -Xmx5G -cp marmot.jar marmot.morph.cmd.Trainer -train-file form-index=0,tag-index=1,morph-index=2,TRAINING_CORPUS -model-file MODEL_NAME
[индексы колонок у вас могут быть другими!]
Лемматизатор
java -Xmx20g -cp marmot.jar:mallet.jar:trove.jar lemming.lemma.cmd.Trainer lemming.lemma.ranker.RankerTrainer use-morph=false,use-perceptron=false,use-mallet=false,offline-feature-extraction=false,tag-dependent=true,use-hash-feature-table=true MODEL_NAME form-index=0,lemma-index=1,tag-index=2,morph-index=2,TRAINING_CORPUS
Если нет подробной морфологической аннотации, то в качестве параметра morph-index можно указать тот же индекс, что и у tag-index
Команда для разметки java -Xmx5g -cp marmot.jar:trove.jar marmot.morph.cmd.Annotator -model-file MODEL_NAME -test-file form-index=0,TEST_CORPUS -pred-file RESULT
Подробная инструкция https://github.com/muelletm/cistern/blob/wiki/marmot.md
Откуда скачать http://cistern.cis.lmu.de/marmot/

Morfette

Установка и системные требования
  • Linux
  • Haskell platform
  • ОЧЕНЬ много памяти
  • cabal install morfette --bindir=$HOME/bin --datadir=$HOME/share
    [возможно, перед этим придется еще обновить ghc]
Формат данных
  • одна строка – один токен
  • обязательно должны быть леммы
  • между токеном, леммой и тегом – табуляция
  • между предложениями – пустая строка
Пример данных Он он S-PRO
окликнул окликнуть V
меня я S-PRO
по по PR
дороге дорога S
со со PR
станции станция S
к к PR
Ольгиной Ольгин A
даче дача S

Бритоголовый бритоголовый S
оглянулся оглянуться V
его он S-PRO
ждали ждать V
Команда для обучения morfette train TRAINING_CORPUS MODEL_DIRECTORY
[даже если модель нужно положить в текущую папку, нельзя оставлять этот параметр пустым, придется прописать ./]
Команда для разметки morfette predict MODEL_DIRECTORY < TEST_CORPUS > RESULT
Подробная инструкция https://github.com/gchrupala/morfette
Откуда скачать https://github.com/gchrupala/morfette

Stanford POS Tagger

Установка и системные требования
  • Linux
  • Java 8
  • ОЧЕНЬ много памяти
Формат данных
  • одна строка – одно предложение
  • токен/POS
Пример данных Даже/PART сон/S какой-то/A-PRO начал/V сниться/V
Вместе/ADV с/PR тем/S-PRO одно/A-PRO из/PR заглавий/S кажется/V удачным/A символом/S Галактика/S,nom,sg,f,inan этносов/S,gen,pl,m,inan галактика/S,nom,sg,f,inan культур/S,gen,pl,f,inan
Расхватают/V,pl,pf,act,indic,fut,3p за/PR час/S,acc,sg,m,inan
Команда для обучения
  1. [вручную создаем config-файл следующего содержания]
    model = MODEL_NAME
    trainFile = TRAINING_CORPUS
    tagSeparator = /
    encoding = UTF-8
    tokenize = false
    arch = generic,suffix(4),prefix(4),unicodeshapes(-1,1),unicodeshapeconjunction(-1,1),words(-2,-2),words(2,2)
    iterations = 5
  2. java -­mx1g -­classpath stanford-­pos-tagger­-3.5.2.jar edu.stanford.nlp.tagger.maxent.MaxentTagger -­prop CONFIG
Команда для разметки java -­mx1g ­-classpath stanford-­pos-tagger­-3.5.2.jar edu.stanford.nlp.tagger.maxent.MaxentTagger -­model MODEL_NAME ­-textFile TEST_CORPUS > RESULT
Подробная инструкция http://nlp.stanford.edu/software/pos-tagger-faq.shtml
Откуда скачать http://nlp.stanford.edu/software/tagger.shtml#Download

SVM Tool

Установка и системные требования
  • Linux
  • Perl
  • ОЧЕНЬ много памяти
Формат данных
  • одна строка – один токен
  • токен/POS
Пример данных Вместе/ADV
с/PR
тем/S-PRO
одно/A-PRO
из/PR
заглавий/S
кажется/V
удачным/A
символом/S

Галактика/S,nom,sg,f,inan
этносов/S,gen,pl,m,inan
галактика/S,nom,sg,f,inan
культур/S,gen,pl,f,inan
Команда для обучения SVMLearn.pl config.svmt
[про конфиги см. мануал с сайта]
Команда для разметки SVMTagger.pl ­V 2 ­S LR ­T 4 MODEL_NAME < TEST_CORPUS > RESULT
Подробная инструкция http://www.cs.upc.edu/~nlp/SVMTool/#
Откуда скачать http://www.cs.upc.edu/~nlp/SVMTool/#

Citar

Установка и системные требования
  • Linux
  • У файлов citar-train и citar-tag быть права запускаться как исполняемые
Формат данных
  • одна строка – одно предложение
  • токен/POS
Пример данных Даже/PART сон/S какой-то/A-PRO начал/V сниться/V
Вместе/ADV с/PR тем/S-PRO одно/A-PRO из/PR заглавий/S кажется/V удачным/A символом/S Галактика/S,nom,sg,f,inan этносов/S,gen,pl,m,inan галактика/S,nom,sg,f,inan культур/S,gen,pl,f,inan
Расхватают/V,pl,pf,act,indic,fut,3p за/PR час/S,acc,sg,m,inan
Команда для обучения citar­-train TRAINING_CORPUS lexicon ngrams
[создает файлы lexicon и ngrams]
Команда для разметки citar­-tag lexicon ngrams < TEST_CORPUS > RESULT
Подробная инструкция https://github.com/danieldk/citar-cxx
Откуда скачать https://github.com/danieldk/citar-cxx