That’s right, in the face of strong competition from “Google Now” (home of “Ok Google”) and Microsoft’s Cortana, Apple’s software developers are working hard to add features and improve Siri’s capabilities and responses. After all, with Microsoft running commercials recently where Cortana attempts to shame Siri by demonstrating all the cool things it can do that Siri cannot, there’s clearly work to be done to ensure that Siri does not become just another “also ran” in the voice controlled world.
The challenge Apple faces in keeping Siri relevant and feature rich is demonstrated in a rather worrying way by the fact that some of the original creators of Siri have left Apple and as reported by Wired, have started up their own company (Viv Labs) to build what they believe is the next generation of voice controlled personal assistant with Artificial Intelligence because they feel Siri is at the end of its capabilities:
At first Siri, endowed with a female voice, seemed almost human in the way she understood what you said to her and responded, an advance in artificial intelligence that seemed to place us on a fast track to the Singularity. […]
Over the next few months, however, Siri’s limitations became apparent. Ask her to book a plane trip and she would point to travel websites—but she wouldn’t give flight options, let alone secure you a seat. Ask her to buy a copy of Lee Child’s new book and she would draw a blank, despite the fact that Apple sells it. Though Apple has since extended Siri’s powers—to make an OpenTable restaurant reservation, for example—she still can’t do something as simple as booking a table on the next available night in your schedule. She knows how to check your calendar and she knows how to use OpenTable. But putting those things together is, at the moment, beyond her.
Sounds like a problem for Siri, and even Google Now comes under fire from Viv for being unable to dynamically put information together. Again from the Wired article:
[Google Now] may have the data for both these components, but it has no ability to put them together, either to answer a query or to make a smart suggestion. Like Siri, it can’t do anything that coders haven’t explicitly programmed it to do.
Viv breaks through those constraints by generating its own code on the fly, no programmers required. Take a complicated command like “Give me a flight to Dallas with a seat that Shaq could fit in.” Viv will parse the sentence and then it will perform its best trick: automatically generating a quick, efficient program to link third-party sources of information together—say, Kayak, SeatGuru, and the NBA media guide—so it can identify available flights with lots of legroom. And it can do all of this in a fraction of a second.
Sounds pretty groovy, right? So here comes the next generation of AI, and Siri, Google Now and Cortana are all under fire for being inadequate. That said, both Google Now and Cortana are doing smarter things than Siri by all accounts. For example, both try to look ahead at where you are supposed to be (based on your calendar) and by checking traffic they can let you know when you will need to leave to make it there on time (a point drilled home by the Cortana advert I linked to earlier). Cortana also tries to learn about the user and their preferences and habits, leading to this example given by Microsoft:
If [Cortana’s] user asks about outside temperatures every afternoon before leaving the office, Cortana will learn to offer that information without being asked.
Siri surely does not do this yet.
We Get It. Siri is Behind The Curve. So What’s Your Point?
Point The First – Siri Features
I rarely have one; but in this case, I am leading towards two things. The first is that I was amused today (September 19th) that Siri informed me, and I forget the exact wording but roughly, that “Avast! It’s Talk Like A Pirate Day!” And so it is. It turns out that you can actually ask Siri to talk like a Pirate and he/she/it will do so, with somewhat amusing results. For example:
HILARIOUS, etc. But this is all just a gimmick; it’s not really smart learning, it’s not really a technological development, it’s all just keyword-triggered gimmickery that I laugh at for a moment and then think “Wait, you wasted your time on this rather than improving everything else?” It’s as pointless as the Google Doodle, only the Google Doodle has the advantage of not being a functional impediment to the use of Google itself, whereas Siri is effectively part of the iPhone UI.
I’ve written something similar to an IRC bot before, that tries to have comical conversations with users. It’s amusing in its own way, but you know that the responses are canned, and you know it’s all based on triggering keywords. Yes, I added some smarts in terms of being able to ask a question of a user and act based on how that particular user responds, but it’s all still very mechanical, and definitely only met the “Artificial” part of Artificial Intelligence:
john 'hi interact' interact 'Hiya' john 'what are you, interact?' interact 'Who, me?' john 'yes, you.' interact 'I am a mere script, written in perl, and lovingly crafted from the finest polyvinyl.' john 'how old are you?' interact 'Are we talking age in programming hours, or actual time elapsed?' john 'programming hours' interact 'Probably a few hundred hours in those terms.' john 'I'd like to use a magic eightball' interact 'ENTERING MAGIC EIGHTBALL MODE FOR john! ASK THY QUESTION!' john 'Should I learn Python?' interact 'john> It's a possibility.' john 'Dang.' john 'I could use a beer' interact wouldn't say no to a quick pint john kicks interact interact looks hurt john burps interact holds his nose john 'I wonder how long it'll take me to get home tonight?' interact 'What do you think?' john 'I think it will suck' interact nods john 'tell me a joke' interact 'Oh I don't know any really funny jokes.' john 'tell me a joke' interact 'A man walks into a bar.' interact 'ouch.'
My bot was therefore not entirely dissimilar, though insulting to claim any relation, to the ubiquitous ELIZA program. Side note – if you ask Siri about ELIZA, she knows all about it. For example:
But I digress, and not for the first time. My point is that keyword-based responses, and some basic interactivity with specific pieces of software are a dead end functionality, and that people are expecting progressively more in the future. And, on that note, while Siri’s comical little responses are amusing, it gives the impression of a company hung up on frivolity rather than one that is seriously trying to improve the product itself. I should note to be fair that Cortana has a bucketload of absurd responses too, and it wouldn’t shock me to discover that Google had done the same. But then, those two solutions aren’t currently in third place, are they?
Point The Second – Machine Learning
This is where the rubber meets the proverbial road. That thing I mentioned above where Cortana tries to learn your habits is a form of Machine Learning (ML). You can’t pre-program the behavior, or at least if you can you’ll only be able to identify a narrow set of behaviors and respond to them, just as happens with Siri today. We’re talking with ML about systems that learn dynamically and thus improve and adapt over time; it’s a constant feedback loop. Viv Labs’ solution is being developed using machine learning to improve the intelligence and ability to interpret inputs and map to data sources to generate the correct output. And this is where things gets weird.
When we visited Brocade at Networking Field Day 8, we had a presentation from the ever-intellectual David Meyer, CTO and Chief Architect at Brocade, Board Member for OpenDaylight, long-term IAB/IETF and NANOG participant/chair, and all around smart guy. His presentations at NFD are usually fun and cerebrally challenging as he shares whatever is on his mind at the time, but even with that expectation in mind I think this particular presentation took us in an unexpected and delightful direction when he described what he’s calling “Software Defined Intelligence” (SDI). Ok, I know, it’s another Software Defined Banana thing. Still, let’s hold our disbelief and cynicism for a moment and see what David has to say about it.
David describes SDI as “a new interdisciplinary approach that integrates Compute, Storage, Networking, Security, Energy, and IoT (and I’m sure many more) with Machine Learning. […] It is the combination of machine learning with networking which creates a new discipline and which is novel here.”
David’s presentation was mind-numbing in the best of ways, for anybody who hasn’t considered the concepts of machine learning. He began by presenting this image which compares traditional programming with machine learning:
So data and output feed into some kind of algorithm and create a Program? That sounds awfully like what Viv Labs were describing, doesn’t it? Generating a program on the fly based on the query submitted. Hmm.
David posits that “SDI is a framework that is designed to do just this: it takes advantage of the programmability and software orientation of technologies like SDN and combines it with Machine Learning to enable powerful new class of intelligent networks.” That sounds good doesn’t it?
I’m not smart enough to recap what David said, so instead I’m going to link to the video of him talking at NFD8 and recommend you watch it directly; it’ll make far more sense, because I would hate to misrepresent the artificial neurons:
Maybe there’s a place for machine learning in the modern network. And maybe even in Siri too?
David Meyer has started a(nother?) blog called Random Musings. Suffice it to say that I have added it to my RSS feed, but also note that you can go there and read an abbreviated version of his thoughts on machine learning as part of Software Defined Intelligence. You can also find him at @dmm613 on Twitter, in case you are that way inclined.