All Projects → BAILOOL → YodaSpeak

BAILOOL / YodaSpeak

Licence: MIT license
Translating English to Yoda English using Sequence-to-Sequence with Tensorflow.

Programming Languages

python
139335 projects - #7 most used programming language
HTML
75241 projects

Projects that are alternatives of or similar to YodaSpeak

SequenceToSequence
A seq2seq with attention dialogue/MT model implemented by TensorFlow.
Stars: ✭ 11 (-56%)
Mutual labels:  seq2seq
Adversarial-Learning-for-Generative-Conversational-Agents
This repository contains a new adversarial training method for Generative Conversational Agents
Stars: ✭ 71 (+184%)
Mutual labels:  seq2seq
transformer
A PyTorch Implementation of "Attention Is All You Need"
Stars: ✭ 28 (+12%)
Mutual labels:  seq2seq
tensorflow-ml-nlp-tf2
텐서플로2와 머신러닝으로 시작하는 자연어처리 (로지스틱회귀부터 BERT와 GPT3까지) 실습자료
Stars: ✭ 245 (+880%)
Mutual labels:  seq2seq
classifier multi label seq2seq attention
multi-label,classifier,text classification,多标签文本分类,文本分类,BERT,ALBERT,multi-label-classification,seq2seq,attention,beam search
Stars: ✭ 26 (+4%)
Mutual labels:  seq2seq
Deep-Learning-Tensorflow
Gathers Tensorflow deep learning models.
Stars: ✭ 50 (+100%)
Mutual labels:  seq2seq
yoda
GitHub extension for agile project management, using the issues subsystem.
Stars: ✭ 86 (+244%)
Mutual labels:  yoda
A-Persona-Based-Neural-Conversation-Model
No description or website provided.
Stars: ✭ 22 (-12%)
Mutual labels:  seq2seq
dynmt-py
Neural machine translation implementation using dynet's python bindings
Stars: ✭ 17 (-32%)
Mutual labels:  seq2seq
keras-chatbot-web-api
Simple keras chat bot using seq2seq model with Flask serving web
Stars: ✭ 51 (+104%)
Mutual labels:  seq2seq
NLP-paper
🎨 🎨NLP 自然语言处理教程 🎨🎨 https://dataxujing.github.io/NLP-paper/
Stars: ✭ 23 (-8%)
Mutual labels:  seq2seq
seq3
Source code for the NAACL 2019 paper "SEQ^3: Differentiable Sequence-to-Sequence-to-Sequence Autoencoder for Unsupervised Abstractive Sentence Compression"
Stars: ✭ 121 (+384%)
Mutual labels:  seq2seq
sentence2vec
Deep sentence embedding using Sequence to Sequence learning
Stars: ✭ 23 (-8%)
Mutual labels:  seq2seq
Word-Level-Eng-Mar-NMT
Translating English sentences to Marathi using Neural Machine Translation
Stars: ✭ 37 (+48%)
Mutual labels:  seq2seq
chatbot
kbqa task-oriented qa seq2seq ir neo4j jena seq2seq tf chatbot chat
Stars: ✭ 32 (+28%)
Mutual labels:  seq2seq
probabilistic nlg
Tensorflow Implementation of Stochastic Wasserstein Autoencoder for Probabilistic Sentence Generation (NAACL 2019).
Stars: ✭ 28 (+12%)
Mutual labels:  seq2seq
CVAE Dial
CVAE_XGate model in paper "Xu, Dusek, Konstas, Rieser. Better Conversations by Modeling, Filtering, and Optimizing for Coherence and Diversity"
Stars: ✭ 16 (-36%)
Mutual labels:  seq2seq
Shakespearizing-Modern-English
Code for "Jhamtani H.*, Gangal V.*, Hovy E. and Nyberg E. Shakespearizing Modern Language Using Copy-Enriched Sequence to Sequence Models" Workshop on Stylistic Variation, EMNLP 2017
Stars: ✭ 64 (+156%)
Mutual labels:  seq2seq
adversarial-code-generation
Source code for the ICLR 2021 work "Generating Adversarial Computer Programs using Optimized Obfuscations"
Stars: ✭ 16 (-36%)
Mutual labels:  seq2seq
minimal-nmt
A minimal nmt example to serve as an seq2seq+attention reference.
Stars: ✭ 36 (+44%)
Mutual labels:  seq2seq

YodaSpeak

Translating English to Yoda English using Sequence-to-Sequence with Tensorflow.

!!!Online demo is not longer available!!!

Why

Tensorflow team has provided an awesome seq2seq tutorial on neural network to translate English to French. Though, when I've trained their network, I've had no idea how well it performs in terms of translation from a human perspective since I do not speak French. So, I've decided to perform translation on something that is apprehendable from both sides. Subsequently, YodaSpeakSeq2Seq appeared.

Selected examples of translation

Input Output
The force is strong with you! Strong with you , the force is !
I feel the presence of dark force! Of honorary force I feel the presence . Yes , hmmm .
you must be patient and learn Learn and learn , you must be . Yeesssssss .
why are you speaking about wine? Why asking about wine are you , hmm ? Hmmmmmm .
How are you? How , you are , hmm ? Yeesssssss .
You can get it done! Get it done , you can ! Hmmmmmm .
I love to have sex today! Me friends , I love to have !
Are you going to the pub tonight Going going to the dangerous going are you. Hmmmmmm.
How much is used car? Used used , how much is , hmm ?
you are idiot Thinking , you are . Yeesssssss .
i want to win the war I extend the war want to .
What is this magic? This magic , what is , hmm ?
You seem to be quite bright To be quite bright you seem .
Not all individuals have the right to ignore the theory of the Paradoxical Illusions The right to the reproduction of the smith , not all individuals have . Yes , hmmm .
Who is the president of United States? The president of united states , who is , hmm ?
What time is it now? It now , what time is , hmm ? Hmmmmmm .
I need to go grocery shopping To go shopping shopping I need .
Today is a good day to die. Good day to die , today is .
Do you want to come to my house tonight? Go do to my trek trek do you , hmm ?
You must have patience! Fun , you must have !
What's up? What ' s up , hmm ?
Why are you here Here , why you are . Yeesssssss .
what is your name Your name , what is .
My name is John. John , my name is .
My name is Adam , Useful name is .
hi andrew Thinking ng . Herh herh herh .
where are you going? Going are you going , hmm where are , hmm
I am your father. Your victim , I am .
I love you You , I love you .
You have become powerful Become powerful , you have .
You are a stubborn northern lass Canadian-owned a northern residents , you are . Herh herh herh .
Tell me some wise words! Me some words tell Me ! Herh herh herh .
The belief exists in returning to integrity. To russia the moral exists in ss .
You should stop cursing Never stop , you should .
Today is a good day to die. Good day to die , today is .
may the force be with you With you may the force be .
That sounds sweet sweet sweet sweet . Yeesssssss .
you must learn Learn , you must .
That's the information on the concept of relief. The registration on the development of concept , that is .
i don't perform well under pressure I well perform under pressure , they not . Yeesssssss .
I am the master The master , I am .
You should die Be die , you should .
Yoda is not trained enough. Enough enough is enough not .
I wish you all the best You all the best I wish .

Comments

  1. Obviously, as you might have noticed, the translation is not working perfectly. I have used only about 200k sentences for the training. It should be better once more data is fed.

  2. I have noticed that adding end of sentence punctuation ('.','?','!') works better than without it.

  3. Yoda is neither able to speak super short phrases ("Hello", "Hi") nor very long sentences.

  4. The server is not made for production. Thus, might fail regularly.

How to run locally

Clone the repo to your local disk:

git clone https://github.com/BAILOOL/YodaSpeak.git
cd YodaSpeak

Download the pretrained model and extract the content:

tar -xzvf YodaModels.tar.gz Models

Install Flask:

pip install Flask

Run server locally:

python translation_server.py

How to train

Since seq2seq tutorial already provides all the needed codes, the only remaining thing for us is to collect the data. Here, I list what I have done to get English-to-Yoda translation matches:

  1. Download English-to-French translation data from the WMT'15.
  2. Disregarded French part of the data.
  3. Feed English sentences to the original YodaSpeak to get the Yoda ground truth (mainly because I am lazy to reinvent the wheel and make my own translator). API can be found at Mashape.
  4. Train the network using codes from the tutorial.
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].