All Projects → IsaacChanghau → SequenceToSequence

IsaacChanghau / SequenceToSequence

Licence: MIT license
A seq2seq with attention dialogue/MT model implemented by TensorFlow.

Programming Languages

python
139335 projects - #7 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to SequenceToSequence

Sockeye
Sequence-to-sequence framework with a focus on Neural Machine Translation based on Apache MXNet
Stars: ✭ 990 (+8900%)
Mutual labels:  machine-translation, seq2seq, attention-mechanism
Joeynmt
Minimalist NMT for educational purposes
Stars: ✭ 420 (+3718.18%)
Mutual labels:  machine-translation, seq2seq
Nlp Progress
Repository to track the progress in Natural Language Processing (NLP), including the datasets and the current state-of-the-art for the most common NLP tasks.
Stars: ✭ 19,518 (+177336.36%)
Mutual labels:  machine-translation, dialogue
S2VT-seq2seq-video-captioning-attention
S2VT (seq2seq) video captioning with bahdanau & luong attention implementation in Tensorflow
Stars: ✭ 18 (+63.64%)
Mutual labels:  seq2seq, attention-mechanism
skt
Sanskrit compound segmentation using seq2seq model
Stars: ✭ 21 (+90.91%)
Mutual labels:  machine-translation, seq2seq
dynmt-py
Neural machine translation implementation using dynet's python bindings
Stars: ✭ 17 (+54.55%)
Mutual labels:  machine-translation, seq2seq
Seq2seq
Minimal Seq2Seq model with Attention for Neural Machine Translation in PyTorch
Stars: ✭ 552 (+4918.18%)
Mutual labels:  machine-translation, seq2seq
Seq2seq Chatbot For Keras
This repository contains a new generative model of chatbot based on seq2seq modeling.
Stars: ✭ 322 (+2827.27%)
Mutual labels:  dialogue, seq2seq
Machine Translation
Stars: ✭ 51 (+363.64%)
Mutual labels:  machine-translation, seq2seq
Nspm
🤖 Neural SPARQL Machines for Knowledge Graph Question Answering.
Stars: ✭ 156 (+1318.18%)
Mutual labels:  machine-translation, seq2seq
Machine-Translation-Hindi-to-english-
Machine translation is the task of converting one language to other. Unlike the traditional phrase-based translation system which consists of many small sub-components that are tuned separately, neural machine translation attempts to build and train a single, large neural network that reads a sentence and outputs a correct translation.
Stars: ✭ 19 (+72.73%)
Mutual labels:  machine-translation, attention-mechanism
Lingvo
Lingvo
Stars: ✭ 2,361 (+21363.64%)
Mutual labels:  machine-translation, seq2seq
Tgen
Statistical NLG for spoken dialogue systems
Stars: ✭ 179 (+1527.27%)
Mutual labels:  dialogue, seq2seq
Transformer
A Pytorch Implementation of "Attention is All You Need" and "Weighted Transformer Network for Machine Translation"
Stars: ✭ 271 (+2363.64%)
Mutual labels:  machine-translation, attention-mechanism
Multiwoz
Source code for end-to-end dialogue model from the MultiWOZ paper (Budzianowski et al. 2018, EMNLP)
Stars: ✭ 384 (+3390.91%)
Mutual labels:  dialogue, seq2seq
Nmt Keras
Neural Machine Translation with Keras
Stars: ✭ 501 (+4454.55%)
Mutual labels:  machine-translation, attention-mechanism
CVAE Dial
CVAE_XGate model in paper "Xu, Dusek, Konstas, Rieser. Better Conversations by Modeling, Filtering, and Optimizing for Coherence and Diversity"
Stars: ✭ 16 (+45.45%)
Mutual labels:  dialogue, seq2seq
Trade Dst
Source code for transferable dialogue state generator (TRADE, Wu et al., 2019). https://arxiv.org/abs/1905.08743
Stars: ✭ 287 (+2509.09%)
Mutual labels:  dialogue, seq2seq
Nlg Eval
Evaluation code for various unsupervised automated metrics for Natural Language Generation.
Stars: ✭ 822 (+7372.73%)
Mutual labels:  machine-translation, dialogue
Spark Nlp
State of the Art Natural Language Processing
Stars: ✭ 2,518 (+22790.91%)
Mutual labels:  machine-translation, seq2seq

Sequence to Sequence Learning

This repository builds a sequence to sequence learning algorithm with attention mechanism, which aims to tackle some practical tasks such as simple dialogue, machine translation, pronounce to word and etc. This repo is implemented by tensorflow.

Usage

Before starting the experiment, you need to pull the data first (use cornell dataset as example):

$ cd dataset
$ bash down_cornell.sh

It will create a directory raw/cornell, and the downloaded raw data will be stored under this directory.
Note: other .sh data pullers will download and unzip data into raw/ folder as a sub-directory with a specific name.

Then go back tp the repository root, and execute the following commands to start a training or inference task:

$ cd ..
$ python3 cornell_dialogue.py --mode train  # or decode if you have pretrained checkpoints

It will cleanup the dataset, create vocabularies + train/test dataset indices and save the processed data to dataset/data/cornell directory (If the processed data already exists, will skip this process).
Then load the pre-setup configurations (you can change the configurations in the python file), and create the model and start a training session.

No preprocessed dataset found, create from cornell raw data...
Read cornell movie lines: 304713it [00:02, 128939.96it/s]
Read cornell movie conversations: 83097it [00:01, 46060.47it/s]
Create cornell utterance pairs: 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████| 83097/83097 [01:02<00:00, 1319.20it/s]
Build vocabulary: 100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 158669/158669 [00:02<00:00, 77018.89it/s]
Build dataset: 100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 158669/158669 [00:01<00:00, 89873.72it/s]
Load configurations...
Load dataset and create batches...
Prepare train batches: 4711it [00:02, 2225.27it/s]
Prepare test batches: 248it [00:00, 3951.25it/s]
Building model...
source embedding shape: [None, None, 1024]
target input embedding shape: [None, None, 1024]
bi-directional rnn output shape: [None, None, 2048]
encoder input projection shape: [None, None, 1024]
encoder output shape: [None, None, 1024]
decoder rnn output shape: [None, None, 10004] (last dimension is vocab size)
number of trainable parameters: 78197524.
Start training...
Epoch 1 / 60:
   1/4711 [..............................] - ETA: 1468s - Global Step: 1 - Train Loss: 9.2197 - Perplexity: 10094.0631
...

Datasets

List of datasets that the mode of this repository is able to handle.

Implementation List

Reference

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].