HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
salesforce
ctrl
Python2019–2020
salesforce / ctrl · Archived

ctrl

Conditional Transformer Language Model for Controllable Generation

4Distinct people
5Mentions
0Explicit recommenders
1.9KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Conditional Transformer Language Model for Controllable Generation

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 11:56:56 AM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by month5 dated mentions

Observed mentions: 2019-09-12 07:01:42 UTC to 2020-06-11 14:36:49 UTC.

0122019-09-01 00:00:00 UTC to 2019-10-01 00:00:00 UTC (exclusive): 2 mentions; 1 submissions, 1 commentsSep 20192019-10-01 00:00:00 UTC to 2019-11-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2019-11-01 00:00:00 UTC to 2019-12-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2019-12-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2020-01-01 00:00:00 UTC to 2020-02-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 commentsJan 20202020-02-01 00:00:00 UTC to 2020-03-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-03-01 00:00:00 UTC to 2020-04-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-04-01 00:00:00 UTC to 2020-05-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-05-01 00:00:00 UTC to 2020-06-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-06-01 00:00:00 UTC to 2020-07-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 commentsJun 2020

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
Sep 20192019-09-01 00:00:00 UTC2019-10-01 00:00:00 UTC211
Oct 20192019-10-01 00:00:00 UTC2019-11-01 00:00:00 UTC000
Nov 20192019-11-01 00:00:00 UTC2019-12-01 00:00:00 UTC101
Dec 20192019-12-01 00:00:00 UTC2020-01-01 00:00:00 UTC101
Jan 20202020-01-01 00:00:00 UTC2020-02-01 00:00:00 UTC000
Feb 20202020-02-01 00:00:00 UTC2020-03-01 00:00:00 UTC000
Mar 20202020-03-01 00:00:00 UTC2020-04-01 00:00:00 UTC000
Apr 20202020-04-01 00:00:00 UTC2020-05-01 00:00:00 UTC000
May 20202020-05-01 00:00:00 UTC2020-06-01 00:00:00 UTC000
Jun 20202020-06-01 00:00:00 UTC2020-07-01 00:00:00 UTC101

What Hacker News says

5 sources
I have thought of Personality Vectors similar to this concept but for a completely different purpose. If we had a Chatbot that would interact with someone hypothetically we could have this kind of distinction between Personality Vectors to mutate its own behavior and to interact with others. Its sort of the idea I had when I watched the movie Interstellar and TARS is told to decrease his own humor. So if the system would just know who its talking to it would create a preference vector for each person it interacts with. But you would need some kind of baseline so basically the Personality Vectors would be set to neutral. And each interaction with a Personality vector would be a system that stores a preference vector for each person. As the system time evolves (which is also in the article) you would basically end up with a set of graphs. T
Read the rest
here is a notion out there which is called a Dynamic Network analysis [1]. If you also stored the history of that you could then not just be able to rewind the system backwards to a previous checkpoint. The way you could start learning how to learn a personality vector is a reinforcement learning situation. If you say "bad AI I didn't like that" the system would then look at what it said and mutate the preference vector for that person. Or you could just change the vector manually by a technique that was illustrated above by just saying "reduce humor by 70%". Then you could have model which would do conditional generation [1] of text based upon interactions with others. It would be basically a reinforcement learning system paired with a generative text model. The reinforcement system would store the Personality and Preference vectors for each person. For each behavior and preference you would need a corpus to bootstrap the system. The reinforcement system would be a retrieval network and it would retrieve a pertained system based on user(s) input and get a generational text network to provide a response. This would be similar to Alpha Go's design. [3] [1] https://en.wikipedia.org/wiki/Dynamic_network_analysis [2] https://github.com/salesforce/ctrl [3] https://datascience.stackexchange.com/questions/10932/differ...
In Personality Vectors (2019)
Conditional text generation is the real future of AI text generation. This approach is interesting but somewhat hard to parse; the corresponding blog post and papers are very long! I had experimented with CTRL (https://github.com/salesforce/ctrl), a previous Transformer-based model focused on conditional generation also referenced by this project, and got very good (albeit inconsistent) results: https://minimaxir.com/2019/09/ctrl-fake-news/
In Plug and Play Language Model: Steer topic and attributes of GPT-2 models

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.