Code Monkey home page Code Monkey logo

deep-dmr's Introduction

deep-dmr

Implementation of Deep Dirichlet Multinomial Regression in Python 3 with Cython Gibbs sampler.

The Gibbs sampler was built from that the Cython implementation here: https://github.com/lda-project/lda. Current Gibbs sampler supports asymmetric priors.

Build

sh build.sh

Run

After building, run the sample code to fit LDA, DMR, and dDMR on synthetic data (data are generated from a deep DMR model):

cd deepdmr
python test_synth.py

Synthetic data can be found under test_output/data/, model runs can be found under test_output/runs/, and plots under test_output/plots/. The synthetic data is saved in compressed numpy format -- format can be grokked by inspecting this file. Relevant fields are:

  • Ds_body: integer array for document indices
  • Ws_body: integer array for token indices
  • token_dict: dictionary mapping token type to index
  • annotation_names: list of different annotation names associated with each document
  • annotation_dicts: maps annotation name to an index-to-feature name dictionary
  • annotations: dictionary of model parameters along with document supervision. In the synthetic data, the document-level supervision is under the "descriptor" field.

Contact Information

If you use this code and find it useful, please consider citing the accompanying paper:

Adrian Benton and Mark Dredze. Deep Dirichlet Multinomial Regression. 2018. HLT-NAACL.

Feel free to email any questions or concerns to the first author:

first_name dot last_name at gmail dot com

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.