Skip to content
Neural Morphological Analyzer+Disambiguator
Julia Shell
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
checkpoints
data
docs
generations
logs
scripts
src
.gitlab-ci.yml
.travis.yml
LICENSE
Manifest.toml
Project.toml
README.md

README.md

Morse

codecov

Morse is a collection of morphological taggers presented in the paper that you can train on your data.

Furthermore, Morse provides pre-trained models which are trained in Universal Dependencies and in TrMor datasets, so you can tag your sentences immediately.

Dependencies

  • Julia 1.1
  • Network connection

Installation

For User

   (v1.1) pkg> add https://github.com/ai-ku/Morse.jl

For Developer

   (v1.1) pkg> dev https://github.com/ai-ku/Morse.jl

For Exact Replication

   git clone https://github.com/ai-ku/Morse.jl
   cd Morse.jl
  • Setup (Optional)

Note: It is optional because running an experiment automatically setups the environment and installs required data (if needed). However, if you didn't run any experiment and want to work on REPL immediately, you need to instantiate and download datasets.

   (v1.1) pkg> activate .
   (v1.1) Morse> instantiate
  • Data (Optional)

   julia> using Morse
   julia> download(TRDataSet)
   julia> download(UDDataSet)

Experiments

To verify the results presented in the paper, you may run the scripts to train models an ablations. During training logs will be created at logs/ folder.

Detailed information about experiments can be found in scripts/

Note: Nvidia GPU is required to train on a reasonable time.

Tagging

Note: coming very soon...

   julia> using Morse
   julia> model = download(MorseModel, format=TRDataSet, lang="tr")
   julia> model("Annem sana yardım edemez .")
   <S> 
   anne+Noun+A3sg+P1sg+Nom
   sen+Pron+Pers+A2sg+Pnon+Dat
   yardım+Noun+A3sg+Pnon+Nom
   et+Verb^DB+Verb+Able+Neg+Aor+A3sg
   .+Punct
   </S>

Customized Training

Note: Nvidia GPU is required to train on a reasonable time.

   julia> using Morse
   julia> config = Morse.intro([]) # default configuration but you can modify
   julia> config[:logFile] = nothing # to print stdout.
   julia> dataFiles = ["train.txt", "test.txt"]
   julia> data, vocab, parser = prepareData(dataFiles,TRDataSet) # or UDDataSet
   julia> model = MorseModel(config,vocab)
   julia> trainmodel!(model,data,config,vocab,parser) # can take hours or more depends to your data
You can’t perform that action at this time.