Git Product home page Git Product logo

morphological-reinflection's Introduction

morphological-reinflection

Source code for the paper: Morphological Inflection Generation with Hard Monotonic Attention.

Requires dynet. You should compile the aligner before running hard_attention.py by running make while in the src directory.

Usage:

hard_attention.py [--dynet-mem MEM][--input=INPUT] [--hidden=HIDDEN] [--feat-input=FEAT] [--epochs=EPOCHS] [--layers=LAYERS] [--optimization=OPTIMIZATION] [--reg=REGULARIZATION][--learning=LEARNING] [--plot] [--eval] [--ensemble=ENSEMBLE] TRAIN_PATH DEV_PATH TEST_PATH RESULTS_PATH SIGMORPHON_PATH...

Arguments:

  • TRAIN_PATH train set path
  • DEV_PATH development set path
  • TEST_PATH test set path
  • RESULTS_PATH results file (to be written)
  • SIGMORPHON_PATH sigmorphon repository root containing data, src dirs (available here: https://github.com/ryancotterell/sigmorphon2016)

Options:

  • -h --help show this help message and exit
  • --dynet-mem MEM allocates MEM bytes for dynet
  • --input=INPUT input embeddings dimension
  • --hidden=HIDDEN lstm hidden layer dimension
  • --feat-input=FEAT feature embeddings dimension
  • --epochs=EPOCHS number of training epochs
  • --layers=LAYERS number of layers in lstm
  • --optimization=OPTIMIZATION chosen optimization method ADAM/SGD/ADAGRAD/MOMENTUM/ADADELTA
  • --reg=REGULARIZATION regularization parameter for optimization
  • --learning=LEARNING learning rate parameter for optimization
  • --plot draw a learning curve plot while training each model
  • --eval run evaluation on existing model (without training)
  • --ensemble=ENSEMBLE ensemble model paths, separated by comma

For example:

python hard_attention.py --dynet-mem 4096 --input=100 --hidden=100 --feat-input=20 --epochs=100 --layers=2 --optimization=ADADELTA  /Users/roeeaharoni/research_data/sigmorphon2016-master/data/navajo-task1-train /Users/roeeaharoni/research_data/sigmorphon2016-master/data/navajo-task1-dev /Users/roeeaharoni/research_data/sigmorphon2016-master/data/navajo-task1-test /Users/roeeaharoni/Dropbox/phd/research/morphology/inflection_generation/results/navajo_results.txt /Users/roeeaharoni/research_data/sigmorphon2016-master/

If you use this code for research purposes, please use the following citation:

@InProceedings{aharoni-goldberg:2017:Long,
  author    = {Aharoni, Roee  and  Goldberg, Yoav},
  title     = {Morphological Inflection Generation with Hard Monotonic Attention},
  booktitle = {Proceedings of the 55th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers)},
  month     = {July},
  year      = {2017},
  address   = {Vancouver, Canada},
  publisher = {Association for Computational Linguistics},
  pages     = {2004--2015},
  abstract  = {We present a neural model for morphological inflection generation which employs
    a hard attention mechanism, inspired by the nearly-monotonic alignment commonly
    found between the characters in a word and the characters in its inflection. We
    evaluate the model on three previously studied morphological inflection
    generation datasets and show that it provides state of the art results in
    various setups compared to previous neural and non-neural approaches. Finally
    we present an analysis of the continuous representations learned by both the
    hard and soft (Bahdanau, 2014) attention models for the task, shedding some
    light on the features such models extract.},
  url       = {http://aclweb.org/anthology/P17-1183}
}

morphological-reinflection's People

Contributors

boknilev avatar roeeaharoni avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.