From 589fc739101f429418b038d4da07675f628f8a46 Mon Sep 17 00:00:00 2001 From: Ines Montani Date: Tue, 1 Nov 2016 03:19:15 +0100 Subject: [PATCH] Update README.md --- examples/keras_parikh_entailment/README.md | 35 ++++++++++------------ 1 file changed, 15 insertions(+), 20 deletions(-) diff --git a/examples/keras_parikh_entailment/README.md b/examples/keras_parikh_entailment/README.md index 71d78f50e..c8075ca55 100644 --- a/examples/keras_parikh_entailment/README.md +++ b/examples/keras_parikh_entailment/README.md @@ -1,6 +1,6 @@ -# A Decomposable Attention Model for Natural Language Inference +# A decomposable attention model for Natural Language Inference **by Matthew Honnibal, [@honnibal](https://github.com/honnibal)** This directory contains an implementation of entailment prediction model described @@ -35,20 +35,16 @@ lots of ways to extend the model. ## What's where -* `keras_parikh_entailment/__main__.py`: The script that will be executed. - Defines the CLI, the data reading, etc — all the boring stuff. - -* `keras_parikh_entailment/spacy_hook.py`: Provides a class `SimilarityShim` - that lets you use an arbitrary function to customize spaCy's - `doc.similarity()` method. Instead of the default average-of-vectors algorithm, - when you call `doc1.similarity(doc2)`, you'll get the result of `your_model(doc1, doc2)`. - -* `keras_parikh_entailment/keras_decomposable_attention.py`: Defines the neural network model. - This part knows nothing of spaCy --- its ordinary Keras usage. +| File | Description | +| --- | --- | +| `__main__.py` | The script that will be executed. Defines the CLI, the data reading, etc — all the boring stuff. | +| `spacy_hook.py` | Provides a class `SimilarityShim` that lets you use an arbitrary function to customize spaCy's `doc.similarity()` method. Instead of the default average-of-vectors algorithm, when you call `doc1.similarity(doc2)`, you'll get the result of `your_model(doc1, doc2)`. | +| `keras_decomposable_attention.py` | Defines the neural network model. | ## Setting up -First, install keras, spaCy and the spaCy English models (about 1GB of data): +First, install [Keras](https://keras.io/), [spaCy](https://spacy.io) and the spaCy +English models (about 1GB of data): ```bash pip install keras spacy @@ -56,11 +52,11 @@ python -m spacy.en.download ``` You'll also want to get keras working on your GPU. This will depend on your -set up, so you're mostly on your own for this step. If you're using AWS, try the NVidia -AMI. It made things pretty easy. +set up, so you're mostly on your own for this step. If you're using AWS, try the +[NVidia AMI](https://aws.amazon.com/marketplace/pp/B00FYCDDTE). It made things pretty easy. Once you've installed the dependencies, you can run a small preliminary test of -the keras model: +the Keras model: ```bash py.test keras_parikh_entailment/keras_decomposable_attention.py @@ -69,14 +65,12 @@ py.test keras_parikh_entailment/keras_decomposable_attention.py This compiles the model and fits it with some dummy data. You should see that both tests passed. -Finally, download the Stanford Natural Language Inference corpus. - -Source: http://nlp.stanford.edu/projects/snli/ +Finally, download the [Stanford Natural Language Inference corpus](http://nlp.stanford.edu/projects/snli/). ## Running the example You can run the `keras_parikh_entailment/` directory as a script, which executes the file -`keras_parikh_entailment/__main__.py`. The first thing you'll want to do is train the model: +[`keras_parikh_entailment/__main__.py`](__main__.py). The first thing you'll want to do is train the model: ```bash python keras_parikh_entailment/ train @@ -95,4 +89,5 @@ you how run-time usage will eventually look. ## Getting updates We should have the blog post explaining the model ready before the end of the week. To get -notified when it's published, you can either the follow me on Twitter, or subscribe to our mailing list. +notified when it's published, you can either the follow me on [Twitter](https://twitter.com/honnibal), +or subscribe to our [mailing list](http://eepurl.com/ckUpQ5).