It’s Saturday morning in Europe, and late Friday night in the West Coast, which is probably the worst possible time for a release, but, guess what? Almond 1.5 is here!
This release is primarily a bug fix release, but there are many “under-the-hood” improvements and improvements for developers.
New Features for Users
- The initial experience in Web Almond was improved to provide more suggestions to start.
- It is now possible to sync multiple phones against the same Web Almond account.
- The Thingpedia pages have been redesigned and made more user-friendly, with more explanation of each function.
- Users can now login to Web Almond with their Github account as well.
- Web Almond now offers Readline-like history.
New Features for Developers
bookkeepinglanguage. This new language allows to express commands that are not programs but are necessary for the correct operation of the dialog agent, such as yes, no, stop, etc.
- Map, sound effect, media output types are now available for formatted query output. Note that availability of these types is platform-specific; they fallback to plain text if not supported.
programexamples can have parameters now.
- Improved support for builtin devices, allowing platform developers to provide custom functionality without changing the library.
- Improved i18n support.
- Genie now includes templates for the new bookkeeping language in ThingTalk, which makes it easy to add new commands and provide translations.
- Improved tooling to use Genie from the commandline (without an associated Thingpedia web server).
- almond-cloud is now easier to configure and to deploy, and has expanded installation and configuration instructions
- New Thingpedia API: /entities/create and /strings/create to upload new entities or string datasets (useful for scripts).
Experimental features and work in progress
- Chinese support is being improved, and has learned to distinguish Traditional and Simplified Chinese. It is still experimental and only available for custom versions of Almond
- We added experimental support for contextual commands (commands whose meaning changes based on the previously issued commands); this enables follow ups such as: “what is the weather in Palo Alto?” -> “what about San Francisco?”. Support for contextual command is available in Genie and in the NLP training/inference code but requires a yet-to-be-merged patch to the client.
- The NLP server now includes an experimental frontend classifier. This classifier determines a confidence level that the user input is a supported ThingTalk command, a general-knowledge question (suitable for a search engine) or a chatbot command. The API is experimental and the dialog agent does not make use of this information yet.
Many thanks to our contributors and collaborators, in particular:
- Elvis Yu-Jing Lin and Johnny Hsu from National Taiwan University, who are working on support for Chinese
- Ryan Cheng who contributed the Login With Github support, and the experimental frontend classifier
- Tanay Sonthalia who implemented history support in Web Almond
This release comprises the following packages:
- thingtalk: 1.7.2
- thingpedia: 2.4.0
- thingpedia-client: 0.2.4
- thingengine-core: 1.5.0
- almond-dialog-agent: 1.4.0
- genie-toolkit: 0.3.0
- almond-cloud: 1.5.0
- almond-cmdline: 1.5.0
Please refer to the
HISTORY file on GitHub for details of what changed in each one.
Barring any catastrophy, this version will go live soon on the Almond website, and there will be a small
(30 minutes) planned outage. This will happen at today Saturday June 1st at 5pm PDT (Sunday June 2nd 00:00 UTC). After the new version is deployed, natural language support might be unreliable for a bit while the models are updated.
If there is any problem or update, I will post it here. You can also check the status of the website at https://status.almond.stanford.edu.
Version 1.5 of Almond Desktop (Almond for GNOME) will follow in the new few days.