Why I changed my mind about weak labelling for ML

Clear and accessible overview by Raza Habib on a technique that generates labelled data from unlabelled data that sounds almost too good to be true.

When I first heard about weak labelling a little over a year ago, I was initially sceptical. The premise of weak labelling is that you can replace manually annotated data with data created from heuristic rules written by domain experts. This didn’t make any sense to me. If you can create a really good rules based system, then why wouldn’t you just use that system?!

Over the past year, I’ve had my mind completely changed.

The technique works by:

  1. an expert user writing a number of simple rules to classify samples that seem broadly reasonable but don’t have to be 100% correct (e.g. one rule might be “if a headline is in all caps, it is clickbait”, and another might be “if a headline starts with a number, it is clickbait”)
  2. then training a model to see how different rules agree/disagree/interact with each other when they are applied to unlabelled samples.

Then you just throw huge amounts of unlabelled data at this process, and it seems to create a classifier that is almost as good as one created from a carefully curated dataset, with no labelling required.

Given how access to sufficient high-quality labelled data is such a bottleneck to training reliable models, this appears to be a huge deal.

Sabbatical

Starting from… now, I am taking a few months sabbatical from the amazing Normally.

Mainly, I’ll be using the time to hold and look at our new baby, Bella, and do a little travelling if we can. But I’m also going to explore a few things that I’ve been wanting to learn, make and try for a while.

First things on my list:

I’m also going to play A Short Hike again (image above showing Claire, whose chill personality I’m aiming to channel during this time).

I don’t usually do much posting (my last blog post was from 2015!), but for these few months I’ll be trying to share what I’m up to. I would also love to get online coffee or an on-the-phone walk-and-talk to hear about whatever cool project or hobby you’re in to right now. Ping me!

Perfection

The ceramics teacher announced on opening day that he was dividing the class into two groups. All those on the left side of the studio, he said, would be graded solely on the quantity of work they produced, all those on the right solely on its quality. His procedure was simple: on the final day of class he would bring in his bathroom scales and weigh the work of the “quantity” group: fifty pound of pots rated an “A”, forty pounds a “B”, and so on. Those being graded on “quality”, however, needed to produce only one pot – albeit a perfect one – to get an “A”. Well, came grading time and a curious fact emerged: the works of highest quality were all produced by the group being graded for quantity. It seems that while the “quantity” group was busily churning out piles of work - and learning from their mistakes – the “quality” group had sat theorizing about perfection, and in the end had little more to show for their efforts than grandiose theories and a pile of dead clay. (p29)

Art & Fear, David Bayles and Ted Orland

'Prototyping for Tiny Fingers' by Marc Rettig (1994)

A short overview of paper prototyping, in theory and practice, from 1994. Full of insights. Reading through this makes it clear to me that using Keynote as a prototyping tool is really much closer to paper prototyping in spirit than to the software prototypes he compares them against.

“Construct models, not illustrations.” (p1)

“[With a paper prototype] interface designers spend 95% of their time thinking about the design and only 5% thinking about the mechanics of the tool. Software-based tools, no matter how well executed, reverse this ratio.” (p2)

“Spend enough time crafting something and you are likely to fall in love with it. Knowing this, team members may feel reluctant to suggest that their colleague should make drastic changes to the lovely looking, weeks-in-the-making software prototype. They would be less hesitant to suggest redrawing a sketch that took an hour to create.” (p3)

“… no matter how hard you think about it, you aren’t going to start getting it right until you put something in front of actual users and start refining your idea based on their experience with your design.” (p5)

“It can be terribly difficult to keep still while the user spends 10 minutes using all the wrong controls for all the wrong reasons. You will feel a compelling urge to explain the design to your users. Don’t give in.” (p9)

Architects

A Pattern Language, Christopher Alexander

Scrolling

We had to be told how scrolling worked, once.

How to use scroll bars

From the Macintosh System 6 user guide (1988).

Markov Guybrush

Greg tweeted ‘Markov Guybrush Threepwood’ the other week. I thought that was a good idea so I spent a bit of Sunday making Markov Guybrush. It’s a Twitter bot that generates random Guybrush-ish Tweets.

All the important bits are taken from the code for Tom’s lovely Markov Chocolates and have been made worse. (I asked nicely first.) His blog post has more information on how it all works.

The dialogue was taken from this play-through of The Secret of Monkey Island and then hit with the Vim-hammer until it looked like this. It’s not everything he says in the game, but it seems to be enough for some randomly generated quips.

That’s it. Here’s the code, and here’s the bot. As Guybrush might say: