AI Series Part Two: Bitjam and Anna
Last year at Bitjam we launched a small in-house machine learning project to coincide with the ACAVA Studios: Spode Works open studios event. ANNA - a learning algorithm that analyses poetry and audibly delivers it in an old-fashioned regional Potteries dialect - was the result!
Once we had our idea we sat down and had a discussion about the possible complexity of the project. A fully fledged bespoke neural network is quite a lot of work so we decided to try to find some existing neural networks to base our work off of. We found a Recursive Neural Network (RNN) designed to take text input and after a large number of training cycles we then tried to get ANNA to output some meaningful ‘learned’ poetry.
ANNA was a python script based on a simple RNN. We fed in around 200 pages worth of potteries dialect poetry aiming to produce some sort of meaningful poetry. Anna ran through about 500 recursive cycles of the input text per “epoch” of learning for a total of around 30 epochs. An epoch is essentially a single full training cycle.
The main challenge we faced was a shortage of data to feed into the RNN. So the next step for us was to source plenty of potteries dialect based poetry from poets past and present. First we tried to source as much poetry as possible from an online source, the main works we used were by Arnold Bennett. We then tried sourcing further poetry from Wilfred Bloor‘s sons Roger & Ian. Wilfred Bloor wrote over 400 Jabez tales in Potteries dialect (the Jabez character is a countryman living in the shadows of industrial Potteries). Finally, enter, Alan Barrett. Stoke-born writer, storyteller, poet, and actor who helped us train ANNA on the quirks and the peculiarities of the Potteries dialect. Thanks to the kind contributions of these people we managed to collect plenty of poetry that has been fed into ANNA.
The project was a lot of fun - especially since Alan Barrett remained on hand to help us deliver and chat about ANNA on the day of the open event! Our objective was only to take a playful look at neural networks and how they might be trained to learn local dialect. We didn’t exactly expect to achieve it, rather we were curious to see what the results might be. We got ANNA to recreate snippets of prose and dialect, and at times she successfully pieced together and understood some of the dialect.
You can read the original ANNA blog post and interview with Bitjam Senior Developer Liam Mountford, in more detail here.