In the autumn of 2019 I carried out a voluntary project for the Greater London Authority called “Get Straight to the Answer”. The final report is available here:
Author Archives: Graham
Open Data Finder
In September and October 2019 over a 6 week period on a voluntary basis I created a prototype chatbot system for the Greater London Authority.
One of my objectives was to demonstrate my understanding of machine learning, Python programming and Pandas gained from the two Coursera course that I completed in the summer of 2019. The prototype also uses the open source Rasa chatbot framework and runs a Flask web server.
The prototype implements a chatbot front-end linked to one or more government open data sources at the back-end. The chatbot gathers information from the user and then constructs a Pandas query to retrieve the required answer from the open data source. The business objective of the system is to enable users who are not data specialists to “get straight to the answer” of their question without needing to download, open and investigate a csv or Excel file.
The prototype will be used by the Greater London Authority to evaluate the chatbot approach against other solutions to the same business problem. A reference from the Senior Manager, City Data at the Greater London Authority is available on request.
The project also provided me with an opportunity to create from scratch a chatbot using Python and Rasa, having already created a chatbot using JavaScript and the Microsoft LUIS natural language processing service for my Master’s Degree dissertation.The prototype is built with these technologies:
| Rasa | Chatbot framework | 1.2.8 |
| Python | with venv virtual environment | 3.6.8 |
| Python requests | HTTP requests library | 2.22.0 |
| Pandas | Data analysis library | 0.25.1 |
| Flask | Web server | 1.1.1 |
| jinja2 | Web template engine | 2.10.1 |
The overall system is made up of 4 servers. I commissioned all of these servers in a Windows 10 development environment and also on my own AWS Ubuntu 18 server.
1. Web Server: Flask and jinja2 on port 8080. Based on Rasa webchat FAQ project available under GNU licence (github.com/yogeshhk/GSTFAQChatbot)
To start the server in a Windows 10 venv development environment:
$env:FLASK_ENV = “development”
python -m flask run –host=0.0.0.0 –port=8080 –debugger
2. Rasa NLU and Rasa Core: standard installation with restaurant booking example template running on port 5005
To train and start the Rasa servers in a venv development environment:
rasa train
rasa run -m models –enable-api –cors ‘*’ –debug
3. Rasa Action Server for the custom actions (creating the Pandas query, extracting the response, and returning this to the user) running on port 5055
To start the server in a venv development environment:
rasa run actions –debug
4. Facebook Duckling server. The Duckling server is only used by the Rasa NLU server. This is run as a Docker Container (since the server is written in Haskell) running on port 8000
Post Script: Interesting fountains seen along the way














Some thoughts
In looking back on the experience of the past few weeks Graham and I were talking about things we would have liked to describe in the blog but didn’t.
One of them is the phenomenon of the Danube sinkholes. These are places where the water sinks through the riverbed, leaving no water in the river at all at certain times of the year. That to me is a pretty mindblowing thought but regretfully, because of heavy rain fall prior to our arrival, we did not witness a drying up, only a reduction in the water level. The ‘disappeared’ water runs for 12 km underground, only to resurface as a completely different river. This river flows into lake Constanz, from which flows the river Rhine. The upshot is, for each drop of Danube water there is a sliding doors moment: either it stays above ground and ends up in the Black Sea, or it sinks, becomes part of the Rhine and flows into the North Sea on the other side of Europe.
The second is a more general observation about Southern Germany. You get a sense that there is a lot of investment in the local infrastructure. Local communities have great sports facilities, streets and parks are well taken care and everything is clean. That must give individuals a sense of being looked after (It did me). Wealth feels more shared and presumably that leads to a sense of shared well-being. Such contrast with Britain. (Yesterday I was reminded that Bavaria is politically right wing. Don’t know where to place that piece of information).
The other thing we have not written about much is the people we have met. We have not gone out of our way to do so, since we were happy to pootle along and do our own thing. Still, we want to thank people who have provided us with valuable information, lovely conversations, useful tips and, in some cases, very pleasant evenings (you know who you are).
Finally, a comment on the art in Bratislava. As Graham wrote, this is disappointing. The two more striking art experiences were the modern installations that we captured on camera in a recent blog. Both involved mirrors, with the predictable result of seeing multiple reflections of (parts of) oneself. That’s always fun. The one with the books also managed to give us a sense of being in an endless space, sideways, upwards and -more worryingly- down. Hence I was holding on to the side in one of the photos. I was genuinely dizzied by the impact of the imagined abyss.
So, the cycling has come to an end for now. I miss it already. Being with our friends in Vienna is greatly softening the blow, however. And soon we will be reminded that life in London is pretty good (if you don’t read the news).
Saturday 6 July
We watched an extensive performance of Slovakian folk music and folk dance in the central square. It seemed to be performers from countries with Slovakian minorities, such as the USA and Ukraine.
I’ve had a thing about East European folk dance ever since I saw a series of YouTube videos of students explaining different computer search algorithms by means of folk dancing in pairs.
We are having breakfast in the old town which is a little bit marred by a large party of British men at the next table drinking cider and gambling at 11.30 in the morning.As we were eating, a bright yellow tandem rolled past. I ran after them and took a photo. The cyclists are American. They bought the tandem in Budapest and will sell it when they get to Munich.
They have got a public page on Facebook called Living Life in Tandem.Tefel the Tandem took a boat ride (on the left) from Bratislava to Vienna. We could only take her on board because she could be folded.
Going upstream we passed the landing point for the last, exciting bike ferry that we had used a few days earlier
There goes the little landing craft.
And this is where it dropped us aka middle of nowhere.We both felt quite emotional, finishing this leg of the trip. We were really pleased we managed to get onto the ferry. It felt a very fitting way to finish the journey.
Leaving Bratislava
Chris looking wistfully towards the cycle path.We were picked up by Steve at the ferry terminal in Vienna, and later handed over Tefel the Tandem to his daughter, Kathi, and her partner, Wolfi, for safe keeping until we return. After having drunk a couple of bottles of wine at Steve and Angela’s house we decided that all 3 couples wanted to try the tandem.
(I don’t have the photos of the others but I’ll publish them soon)
Kathi and Wolfi talked about riding Tekel to Wachau, the wine growing area we passed through a few days ago.That’s the end of this leg of the journey. It’s been great fun.
Summary
STATS
We cycled on 18 days, and had 5 rest days. 23 days in total not counting the day of travel to Donaueschingen or the extra day we spent in Bratislava. We camped every night except for 2 nights in a platform tent.
| Average distance per day (including rest days) | 44 km |
| Average distance per cycling day | 56 km |
| Longest leg | 117 km |
| Shortest leg | 24 km |
| Number of campsites stayed in | 18 |
| TOTAL DISTANCE (minimum) | 1,001 km |
Q&A
| Favourite campsite? | |
| Chris | Passau, Ingolstadt |
| Graham | Melk, Dillingen, Passau |
| Favourite town? | |
| Chris | Passau |
| Graham | Passau |
| Lowest moment? | |
| Chris | Tiff about cadence, mozzies |
| Graham | Breaking spoke of locked wheel |
| Best food? | |
| Chris | Melk campsite on her birthday (Zweigelt wine), Carnuntum (Rubin Carnuntum wine) |
| Graham | Freshly made, fresh rolls with fresh coffee from bakeries in Germany |
| Missing from blog? | |
| Chris | Danube sink holes, fellow travellers |
| Graham | Boat traffic, fellow travellers |
| Most proud? | |
| Chris | The distance we have covered in the cold/heat/rain. Proud of Tekel the Tandem. |
| Graham | Doing it by train, and getting the bike here |
THORNS AND ROSES
Roses
The strong, light-weight, nylon ripcord bike bag designed and sown by Chris. We wouldn’t have got the bike to Paris without it.
Special pillow case made by Chris so that you can put your down jacket and other clothes into it to make a pillow at night. Reduces duplication and ensures a good night’s sleep.
Rubber-handled pedal spanner that doubles as a tent peg hammer. Both were needed and both were heavy.
Thorns
Portable solar battery charger. It doesn’t charge sufficiently in the sun. You need to plug it in to charge and then you can charge your phones from it. I’ve subsequently seen larger solar panels that unfold like a newspaper. We need a bigger charger!
Computer cables. The charges and cables that we need to achieve our digital ambitions are almost as bulky and weigh almost as much as the entire collection of bike tools and spare parts. There must be a better way!
We bought vegan soap with the idea that it would triple up as soap, shampoo and shaving cream. Unfortunately, it hasn’t lived up to expectations.
Friday 5 July
Last night we walked around town and then celebrated the end of this leg of the trip with a glass of Blaufränkisch wine.

The other day we saw an old, red Skoda Felicia that looked like our beaten up, won’t-start-in-the-rain car.
“Oh, I miss our car!” Exclaimed Chris. Along with our children, daughters-in-law, and Bella the beautiful husky. Well, all good things come to an end.
We can still feel our legs from the long cycle on Wednesday, but we managed to walk around town today.
We walked over to the ferry office and apparently gained agreement that we can take our bike (folded) and all of our luggage on the boat. We bought tickets for tomorrow afternoon.
I’ve had some eye-opening experiences recently. Notably the National Romantic paintings in the Hungarian National Gallery, and the Baroque cathedrals of Southern Germany. We visited the Slovak National Gallery and the Bratislava Municipal Gallery today. I have to be honest, that we were disappointed. It made us speculate that all of the significant art ended up in Prague at the time of the peaceful split of the Czech Republic and Slovakia. Here are Chris and I enjoying an installation playing the Serge Gainsbourg and Jane Birkin tune “Je t’aime – moi non plus”.

There was also a fun narrow path and valley of books created with mirrors.

Actually, the helpful lady in the National Gallery recommended a private collection called the Nedbalka Gallery that we also visited. That had a much better in-depth collection. I don’t know how those things work.
Thursday 4 July
A farewell to camping.

We might not use the tent again for a while, so we made sure it was clean and dry before rolling it up.
It is only about 30 km to Bratislava but we could feel our legs and the path surface was poor yesterday, so we factored in plenty of time.

Our triumphal entry into Slovakia (the sign is on the high level gantry).

It was a bit of a struggle through the busy traffic and then the cobblestones of the old town of Bratislava.

But eventually we made it to our posh hotel (booked that morning at a discount). There is no campsite in Bratislava (honest) so this was our first night in a hotel. Tefel the tandem was locked up safely in the cellar. Room number:

The first thing we both did? Had a long shower. The second thing we noticed is that we hadn’t seen any telly for a month and we hadn’t missed it. Thirdly, we realised that we hadn’t eaten anything that day – no breakfast or anything else. So then we went out for a veggie burger.
We are both happy being in a Slavic-speaking country. The Germans and Austrians who we have met have been very patient and also appreciative of our efforts to speak German. They haven’t automatically switched to English at the first sign of trouble.
Nonetheless, Slovakian and Czech are the Slavic languages closest to Slovenian. We are looking forward to seeing if we can use our Slovene. We can read many of the signs.
As I am writing this I am watching a competition of youth orchestras in the centre of town in the evening.

We had planned to take a ferry back from Bratislava to Vienna on Saturday but belatedly discovered that we could not take all our luggage on the boat. So we’ll need to figure out something tomorrow. Maybe the train. Or we could cycle back! Or else our friend has kindly offered to pick us up.
Wednesday 3 July
We did more than 120 km today, including getting lost and additional km from some detours!

We left the nice, cheap municipal campsite in Zwentendorf on a sunny morning.

The path along the Danube was pretty and peaceful with a good surface. We followed the river for miles. Slightly less positively, the was Japanese Knotweed everywhere along the banks.
In the middle of nowhere we came upon a bench by the river and stopped for brunch.

The countyside was lovely even though we were relatively close to Vienna. We got to Vienna at lunchtime.

We weren’t sure if we wanted to camp in a big city like Vienna so, standing in Vienna, we decided to go the extra 60 km to the next campsite. We figured that if we just kept pedaling we would eventually get there.
Unfortunately there was a big detour through an area of outstanding natural beauty. They are remaking the bike path in that area but it won’t be ready until 2020.
We needed to cross the river at the last ferry crossing in Austria. It’s quite strange because you enter through a rather posh mini cruiser boat serving coffee. But you are directed all the way through the boat and out the other side to a small quasi- landing craft that is moored to the boat. We set off feeling a bit like Saving Private Ryan. At the other side, the helmsman doesn’t moore but simply keeps the engine running pushing the craft into the jetty, and you quickly (with your heavy tandem) exit through the front.

What’s more, where you are disgorged there is absolutely nothing except a sandy path. Luckily some locals explained the route.

The quality of the path was not great after Vienna and at one stage, close to our destination, Carnuntm, we needed to push.
There are literally hundreds of windmills in this area. I suppose because they could never get away with building them in Wachau!

The path was mostly very beautiful even though we were close to Vienna. And the unusual ferry crossing was good fun.
At the campsite we were fortunate that they served (very good as it turns out) food. We drank some Rubin Carnuntum wine with this. I am familiar with that wine from my former wine importing days.

I’m not sure exactly but we are only 20 or 30 km from the Slovak border.
Graham’s menu for cycling 120 km:
Half liter of full fat yoghurt and lots of blackberries for breakfast.
Cheese sandwiches, tomatoes, salad for brunch
Three slabs of fried Emmentaler with salad and alcohol free beer for lunch (Chris “that’s definitely 1,000 calories”)
Cheese omelette, chips and mixed salad plus red wine for super.
(Fortunately, we had supper healthy food the previous night)
Tuesday 2 July
We set off on a sightly accelerated itinerary with the aim of reaching Bratislava. The first small problem was that the brief but intense storm last night had left a lot of tree debris on the cycle path. At one point, a tree that had fallen across the path had already been chopped up and cleared away. But still we needed to go more slowly.
We took a little ferry across the river at one stage and we very surprised to find an Olafur Eliasson (he of the Weather Project in the Tate Modern) on board. It is a pitch black room with a camera obscura showing both banks. Here’s the ferry:

We traveled on another interesting ferry too. It uses no power while crossing the fast flowing river. It is attached by a steel cable to a high level cable strung across the river from one bank to the other. The captain steers the ferry diagonally into the stream, and water pressure does the rest. You can see the cable spanning the river above the hill tips in the picture:

We saw plenty of evidence of the tiered vineyards of the renowned Wachau wine growing region (we had been drinking that last night …):


But suddenly the steep rocky sides of the Wachau were gone and the Danube was huge, in man-made dykes again. Chris said it was starting to look”a bit full of itself”.

Sometimes the path was next to a busy road today. But for much of the trip it was either going through vineyards in the fertile Wachau, or silently following the tow path. Which was lovely.
We did over 60 km today and hope to camp tomorrow in a site in the centre of Vienna …