ITP final Project

Duration: 2019.10-2019.12

My role: Developer, Designer

Skills: Prototype, Research, NLP, Machine Learning

​Project overview

A chatbot to make you feel be loved🧡💛💚💙💜🤎🖤🤍💗💖.

See demo at https://gifted-perlman-c34c4e.netlify.com

Using machine learning to train a text generator to say sentences follow a specific dialogue pattern. (cheesy pick-up lines).​​

Type in what you want to say

The little lion is thinking about how to make you happy

Tons of love

inspiring

The suicide of a Peking University female student Bao li has aroused heated debate online about mental abuse. The girl's boyfriend, Mou Linhan, also a Peking University student, had long been mentally abusing her over how Bao was not a virgin when she was dating him.

Mou asked Bao to tattoo on her body the words "I am Mou Linhan's dog", call him "master" in front of others, take nude photos that he could post online if she left him, as well as get pregnant, then deliberately abort the unborn baby or undergo a sterilization operation.

This is PUA, a terrible emotional manipulation that destroys other's independent will.
 

We want to create a fancy character of a pickup artist for you and tell you how much he like you as much as you want. They told this to everyone. But actually it does not have a heart. 

Workflow

0. Dreaming

​The Result I Hope To Have

1. Research & Test

Ways I Found Suitable For My Text Generator

0. Seq2Seq (link)

1. GPT-2(link)

Retrain GPT-2 model on a custom text database

The simplest way to run a trained GPT-2 is to allow it to ramble on its own (which is technically called generating unconditional samples) – alternatively, we can give it a prompt to have it speak about a certain topic (a.k.a generating interactive conditional samples). 

Output Comparing

200kb lstm

the meaning of life is see Wiiss and because youre white So home I sack you to betil theres mest suning dir You got clot liss your arms Are 

2M lstm low temperature 

the meaning of life is dont know I want to see you must be sure our so beautiful as the resten Because I can think of you and when you do 

2M lstm high temperature 

the meaning of life is the way you are a promise I want to be your name and I can let you are a time I want to be your love tlight If you were 

50M lstm gpu 

the meaning of life is a little bit of love,I know that I'll be lost is a little fire,I ain't got to be my vision in you,When you call you the only one 

gpt-2 + trasfer learning

unknown

2. Training My Model 

Collect Data

We tried to gather cheesy pick-up lines at first but that is far less than what we need. We thought about novels or movies but we found out the romantic lyrics and poems contain most of the cheesy lines. In order to get a good result, I tried to get as much data as I can.

First, we try to use LyricsGenius: a Python client for the Genius.com API.  This is a quick and efficient choice.

We also used Kaggle and screened those lyrics we want by keywords including LOVE, BABY, YOU, LIKE. 

50M in total

Training a charRNN Model

We used Spell to train multiple LSTM models. It took 14 hours to get  a good result.

2. Visual Design

We tried to gather cheesy pick-up lines at first but that is far less than what we need. We thought about novels or movies but we found out the romantic lyrics and poems contain most of the cheesy lines. In order to get a good result, I tried to get as much data as I can.

First, we try to use LyricsGenius: a Python client for the Genius.com API.  This is a quick and efficient choice.

We also used Kaggle and screened those lyrics we want by keywords including LOVE, BABY, YOU, LIKE. 

credits

Thank you: Shi Yining; Zhou Tianxu; Rebecca Zhou; Vibert Zhang;  Gene Kogan; Atharva Patil

Github:  https://github.com/ml5js/ml5-examples/blob/development/javascript/CharRNN/CharRNN_Interactive/sketch.js

future thoughts

better can have a conversation .

© 2020 by that's fine thx.com