Google and Microsoft blend AI into core products

I recently watched parts of both Google and Microsoft developer conferences (respectively Build 2017 and I/O 2017).
As expected, there was big emphasis on Artificial Intelligence but, in all, I liked more the Microsoft’s one while the Google’s felt too heterogeneous and without real meat (the new capabilities from Google Lens have been available e.g. at Baidu since years).

A few things that attracted my curiosity:

Vision plus X is the killer app of AI

At Google I/O, Dr. Fei-Fei Li – the new Chief Scientist of AI/ML at Google Cloud – articulated the most convincing vision: Continue reading “Google and Microsoft blend AI into core products”


A brief history of chatbots

A chatbot is a computer program which conducts a conversation via auditory or textual methods.

The term “ChatterBot” was originally coined by Michael Mauldin in 1994 to describe these conversational programs but they are much older, the first one being ELIZA by Joseph Weizenbaum of MIT in 1966.

Leaving the academic world, conversational agents have been typically used in dialog systems including customer service or information acquisition.
Many large companies started to use automated online assistants instead of call centres with humans, to provide a first point of contact.
Most of these systems ask you to push a digit corresponding to what you want or say what you’re calling about and scan for keywords within the vocal input, then pull a reply with the most matching answer from a database.
These systems are based on simple logic trees (SLT).

An SLT agent relies therefore on a fixed decision tree to gather information and redirect the user.
For example, an insurance bot may ask several questions to determine which policy is ideal for you. Or an airline bot could ask you the departure city, the destination and a time. Or a device diagnostics bot could guide you through the hardware components and tests to find out the issue.
It´s a finite-state dialog, the system completely controls the conversation.
If your input match what the bot has anticipated, the experience will be seamless. However, if it stray from the answers programmed and stored in the bot database, you might hit a dead-end. Back to a human to complete the interaction…

These were efficient and simple systems but not really effective.
In normal human-to-human dialogue the initiative shifts back and forth between the participants, it’s not system-only.

A very recent trend is to use natural language processing (NLP) and Machine Learning (ML) algorithms such as you see in smartphone-based personal assistants (Apple Siri, Microsoft Cortana  or Google Now) or when talking to your car or your home automation system (Amazon Alexa) or in some messaging platforms.

Continue reading “Chatbots”

Google Drive Site Publishing

Last November Google announced the possibility to use the Google Drive to publish static we pages. It supports HTML and CSS codes.

What’s the difference with Google Sites, the service that gives you the possibility to create your own micro-site?

It seems that Sites is more user-friendly with a GUI-based way to edit the HTML pages, with ready-made widgets to help create common page elements, as maps.
While GDrive lets you write directly your HTML and for already existing pages it could be the better way (just upload them to GDrive).


1. Create a folder in GDrive where you will keep all your web pages. The folder must be public, so you have to right click on the new folder and select “Share” and change the permissions from Private to “Public on the web”.

2. Now you can upload all your pages (HTML, CSS files, images and so on). This is a bit tricky: if you create them directly on GDrive they will not appear because they need to be the correct type. The easiest way is to create them offline, as plain text, with correct extension (e.g. HTML), then uploading them. Note that if you attempt later to edit the files as Google documents, they will be changed from .html files to .html.gdoc files and will no longer appear. You could use the GDrive local app on your computer or use a GDrive editor like Neutron Drive.

3. Now, to access the page you need to find out the GDrive Folder ID. When you open the folder, look at the URL. It is something like:<long list of chars and numbers>/

The last unfriendly part after the “#folders/” one is the Folder ID. You can copy that part and add it at the end of this string:<add here the Folder ID>/

For example, mine is visible at: 

4 (extra): I know, the folder ID is not that mnemonic. You could use a shortener service to beautify it, as

My (better) URL for the test page would be then