diff --git a/README.md b/README.md index 78edc7b..e1879e7 100644 --- a/README.md +++ b/README.md @@ -41,11 +41,27 @@ Detailed information about experiments can be found in [scripts/](scripts/README ## Tagging -Note: Limited Support +Available Pre-Trained Models + +```JULIA +trained(MorseModel, TRDataSet); +trained(MorseModel, UDDataSet, lang="ru"); # Russian +trained(MorseModel, UDDataSet, lang="da"); # Danish +trained(MorseModel, UDDataSet, lang="fi"); # Finnish +trained(MorseModel, UDDataSet, lang="pt"); # Portuguese +trained(MorseModel, UDDataSet, lang="es"); # Español +trained(MorseModel, UDDataSet, lang="hu"); # Hungarian +trained(MorseModel, UDDataSet, lang="bg"); # Bulgarian +trained(MorseModel, UDDataSet, lang="sv"); # Swedish +``` + +### How To Use + +Note: Please use lowercased and tokenized inputs. ```Julia julia> using Knet, KnetLayers, Morse - julia> model, vocabulary, parser = trained(MorseModel, TRDataSet, vers="2018"); + julia> model, vocabulary, parser = trained(MorseModel, TRDataSet); julia> predictions = model("annem sana yardım edemez .", v=vocabulary, p=parser) annem anne+Noun+A3sg+P1sg+Nom sana sen+Pron+Pers+A2sg+Pnon+Dat diff --git a/src/util.jl b/src/util.jl index 787774b..7852b87 100644 --- a/src/util.jl +++ b/src/util.jl @@ -50,11 +50,11 @@ function download(dataset::Type{TRDataSet}; path=dir("data","TrMor2018")) end end -const server_url ="ai.ku.edu.tr/models/morse/" +const server_url ="people.csail.mit.edu/deniz/models/morse/" -function download(model::Type{T}, format::Type{TRDataSet}; vers="2018", lemma=true, lang="tr") where T +function download(model::Type{T}, format; vers="2018", lemma=true, lang="tr") where T flang = format===TRDataSet ? string("TR-tr",vers) : string("UD-",lang) - mname = string(T,"_lemma_",lemma,"_lang_",flang,"_size_full",".jld2") + mname = string("bestModel.",T,"_lemma_",lemma,"_lang_",flang,"_size_full","_params.jld2") lpath = dir("checkpoints",mname) if !isfile(lpath) mpath = string(server_url, mname) @@ -76,7 +76,13 @@ end """ function loadModel(fname::AbstractString) f = KnetLayers.load(fname) - return f["model"], f["opts"], f["vocab"], f["parser"] + prms,opts,vocab,parser = f["model"], f["opts"], f["vocab"], f["parser"] + ModelType = eval(Meta.parse(opts[:modelType])) + model = ModelType(opts,vocab) + for (wm,wl) in zip(params(model),prms) + copyto!(wm.value,wl) + end + return model,opts,vocab,parser end """