Giter Site home page Giter Site logo

smt-semparse's Introduction

Semantic parsing as machine translation

Most work on semantic parsing, even in variable-free formulations, has focused on developing task- and formalism-specific models, often with expensive training and decoding procedures. Can we use standard machine translation tools to perform the same task?

Yes.

For a description of the system (it's really not complicated), see:

You should also check out Carolin Haas's cdec-based reimplementation at https://github.com/carhaas/cdec-semparse.

Getting started

Edit dependencies.yaml to reflect the configuration of your system. smt_semparse should be set to the location of the repository root, the moses, srilm, etc. entries to the roots of the corresponding external dependencies, and srilm_arch to your machine architecture.

Reproducing the ACL13 paper

Edit settings.yaml to choose a language and translation model for the particular experiment you want to run. Use the following additional settings:

lang=en -> stem=true,  symm=srctotgt
lang=de -> stem=true,  symm=tgttosrc
lang=el -> stem=false, symm=tgttosrc
lang=th -> stem=false, symm=tgttosrc

Note that due to random MERT initialization your exact accuracy and F1 values may differ slightly from those in the paper.

Experimental things

Additional settings also allow you to do the following:

  • Rebuild the phrase table after running MERT to squeeze a few more translation rules out of the training data. (Should give a nearly-imperceptible improvement in accuracy.)

  • Filter rules which correspond to multi-rooted forests from the phrase table. (Should decrease accuracy.)

  • Do full-supervised training on only a fraction of the dataset, and use the remaining monolingual data to reweight rules. (Mostly garbage---this data set is already too small to permit experiments which require holding out even more data.)

Not implemented

MRL-to-NL ร  la Lu & Ng 2011.

Using a new dataset

Update extractor.py to create appropriately-formatted files in the working directory. See the existing GeoQuery extractor for an example.

smt-semparse's People

Contributors

jacobandreas avatar

Watchers

James Cloos avatar Vikas Raunak 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.