Apple wants Siri to be able to work when you don’t have an online connection. The company has filed for a patent (number 20180330731) for an “offline personal assistant” for an offline mode that wouldn’t require on a backend server to assist with Siri’s functions.
In the patent filing, Apple says that, typically, a conventional automated digital assistant of an electronic device must rely on a backend (e.g., server-side) component to function, often due to computational limitations of the electronic device. As an example, speech-to-text functionality is often performed and/or validated by the backend component. As another example, the backend component is typically responsible for interpreting intent from a speech input and/or operationalizing the intent into a task.
Apple finds that limiting. The tech giant wants Siri to be able to perform tasks such a speech-to-text processing, dialog processing, and more to happen on the iPhone, iPad, Mac, or Apple Watch hardware.
Here’s Apple’s (somewhat technical) summary of the invention: “systems and processes for performing a task with a digital assistant are provided. In accordance with one example, a method includes, at an electronic device having one or more processors, receiving a natural-language input; determining, based on the natural-language input, a first task and first usefulness score associated with the first task; receiving, from another electronic device, a second task and second usefulness score associated with the second task; determining whether the first usefulness score is higher than the second usefulness score; in accordance with a determination that the first usefulness score is higher than the second usefulness score: performing the first task determined by the electronic device; and providing an output indicating whether the first task has been performed; and in accordance with a determination that the second usefulness score is higher than the first usefulness score: performing the second task received from the another electronic device; and providing an output indicating whether the second task has been performed.”