hncynic

Generate Hacker News Comments from Titles

  • Owner: leod/hncynic
  • Platform:
  • License:: MIT License
  • Category::
  • Topic:
  • Like:
    0
      Compare:

Github stars Tracking Chart

hncynic

The best Hacker News comments are written with a complete disregard for the linked article.
hncynic is an attempt at capturing this phenomenon by training a model to predict
Hacker News comments just from the submission title. More specifically, I trained a
Transformer encoder-decoder model on
Hacker News data.
In my second attempt, I also included data from Wikipedia.

The generated comments are fun to read, but often turn out meaningless or contradictory
-- see here for some examples generated from recent HN titles.

There is a demo live at https://hncynic.leod.org/ and a twitter bot @hncynic.

A pretrained model together with some instructions may be found at https://hncynic.leod.org/hncynic-trained-model-v1.tar.gz.

Steps

Hacker News

Train a model on Hacker News data only:

  1. data: Prepare the data and extract title-comment pairs from the HN data dump.
  2. train: Train a Transformer translation model on the title-comment pairs using
    TensorFlow and OpenNMT-tf.

Transfer Learning

Train a model on Wikipedia data, then switch to Hacker News data:

  1. data-wiki: Prepare data from Wikipedia articles.
  2. train-wiki: Train a model to predict Wikipedia section texts from titles.
  3. train-wiki-hn: Continue training on HN data.

Hosting

  1. serve: Serve the model with TensorFlow serving.
  2. ui: Host a web interface for querying the model.
  3. twitter-bot: Run a twitter bot.

Future Work

  • Acquire GCP credits, train for more steps.
  • It's probably nonideal to use encoder-decoder models. In retrospect, I should have trained
    a language model instead, on data like title <SEP> comment (see also: GPT-2).
  • I've completely excluded HN comments that are replies from the training data. It might be
    interesting to train on these as well.

Main metrics

Overview
Name With Ownerleod/hncynic
Primary LanguagePython
Program languagePython (Language Count: 5)
Platform
License:MIT License
所有者活动
Created At2019-02-11 22:23:38
Pushed At2025-01-18 23:39:09
Last Commit At2025-01-19 00:39:09
Release Count0
用户参与
Stargazers Count336
Watchers Count14
Fork Count37
Commits Count249
Has Issues Enabled
Issues Count3
Issue Open Count2
Pull Requests Count0
Pull Requests Open Count0
Pull Requests Close Count0
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private