The Open, Privacy-Preserving Virtual Assistant

Almond translates your commands into a personalized program.

Brought to you by the Stanford Open Virtual Assistant Lab.

How Almond Works

See how Almond helps Kimmy babysit.

Learn how you can use Almond for your tasks.

Our Goal: Open Virtual Assistants for the Open Web

Virtual assistants are the new interface to the Web.
Our vision for virtual assistants includes:

Democratize AI for linguistic user interfaces

We should have open, collaborative research to put open-source linguistic technology in the hands of all businesses.

Learn more about our technology.

An open non-proprietary linguistic web

All skills, or linguistic user interfaces, should be made available to any virtual assistant.

Learn more about our open repository and how you can contribute.

Sharing with individual data ownership

We as users should have a choice in virtual assistant services and the ability to control how we share our data.

Learn more about how you can run Almond with maximum privacy.

Almond In The News

What's new in Almond

Privacy in the age of virtual assistants

Can we reap the benefits of artificial intelligence while also protecting our personal information? Prof. Monica Lam discusses virtual assistants with Prof. Ross Altman in the latest episode of The Future of Everything radio show from Sirius XM.

Read more

New Milestone: 100 Devices

Today, Thingpedia has passed the 100 devices mark, meaning that more than 100 devices, services and accounts are now available in the Almond virtual assistant.

Read more

A Christmas Gift from the Almond Team

What is red, comes in December, and makes children happy? The new Almond website of course! Well, maybe children don't use Almond (yet), but we are nevertheless delighted to announce our new website and developer platform to the world.

Read more

More news...

What We Do

Programmable Notifications

Notifications are hard! Every website, every social network, every app is continuously competing for our attention. But that's no more: with Almond, you decide what you care about.

Commands in Almond can be monitored and filtered: you can specify to be notified whenever the result changes, when a certain condition is true, or only for a certain subset of the data. For example:

  • You can monitor the New York Times, and be notified when they publish a new article; or you can monitor just the articles with the word “Millennial”, so you know which industry is being killed now.
  • You can monitor the weather, or you choose to be notified only when the temperature is below 40 degrees, and it's time to bring in your dog.
  • You can monitor your work email, and then decide that, you know what, it's after hours, you don't want to be bothered.

Almond's conditions can make use of any result returned by a command, like the title of an article or the body of the new email. You can also use a command, and check if that satisfies a condition. Just specify your conditions in English, and let Almond notify you.

Example of a notification. The user says “Alert me when the price of Bitcoin is below $3,600”. Almond confirms, and then notifies, as the price of Bitcoin is now $3,500.

Flexible Compound Commands

Almond is the first virtual assistant that allows you to specify commands that combine two or more services at once. You can specify when to execute the command, what data to get, and what to do, and each part can be any of the primitives supported by Almond.

You can use compound commands for:

  • Automation: when I leave home, turn off the heating.
  • Synchronization: when I post to Twitter, copy the post to Facebook.
  • Composition: get the Bitcoin price and then send it to my colleague on Slack.
  • And many more!

If you have used IFTTT, you'll love Almond.

A Growing, Crowdsourced, Library of Services

Almond provides a uniform interface to your physical devices, your social network accounts, and many more services. Almond wants to let you access anything on the Internet, from your assistant.

Almond capabilities are defined in Thingpedia, a crowdsourced repository of commands and interfaces to online services and Internet of Things. Anyone can contribute new entries to Thingpedia, and with small amounts of training data, Almond will be immediately able to interact with the new device or service.

Learn more about Thingpedia and how you can help Almond learn new services and skills.

Icon for Nest Account
Icon for Uber
Icon for Twitter Account
Icon for Dropbox Account
Icon for Gmail Account
Icon for Slack

Cutting-Edge Deep Learning Technology

Almond uses a state-of-the-art natural language understanding model. Almond's deep learning model allows it to understand more complex commands across more domains than any other assistant on the market: just train Almond with pairs of sentences and programs, and Almond will learn.

We are continuously improving Almond, and building tools to allow others to extend Almond. We have developed a tool called Genie that allows to generate training data in new domains from scratch. Using Genie, we have found that Almond understands user's input with 68% accuracy - a marked improvement over the previous best known result. Furthermore, with little effort we were able to build a specialized skill for Spotify, add natural language to access control, and extend Almond with aggregates (sum, count, average, etc.).

As academics, our research is open-source, and all technology is freely available to the public. Anyone can leverage our algorithm in their product or in their own research. Learn more about our research.

What can Almond do?

Here is a sample of what Almond can do, and a few commands that our users and developers think are interesting. It is not an exhaustive list! Commands can combined in arbitrary ways, creating endless possibilities for your assistant.