Abstract:
Methods, systems, and computer-readable media related to a technique for providing handwriting input functionality on a user device. A handwriting recognition module is trained to have a repertoire comprising multiple non-overlapping scripts and capable of recognizing tens of thousands of characters using a single handwriting recognition model. The handwriting input module provides real-time, stroke-order and stroke-direction independent handwriting recognition. User interfaces for providing the handwriting input functionality are also disclosed.
Abstract:
An example process for recognizing handwritten input includes obtaining input data representing handwritten input, where the handwritten input is associated with a first dimension and a second dimension relative to the handwritten input; sampling the input data to obtain a plurality of coordinates representing the handwritten input; determining, based on the plurality of coordinates, a sequence of vectors representing a respective plurality of portions of the handwritten input, where: each portion of the respective plurality of portions is associated with a respective height and width corresponding respectively to the first and second dimensions, the respective height being greater than the respective width; and consecutive vectors of the sequence of vectors represent respective consecutive portions of the handwritten input; generating, using a handwriting recognition model, based on the sequence of vectors, one or more characters for the handwritten input; and causing the one or more characters to be displayed.
Abstract:
Systems and methods for proactively identifying and surfacing relevant content on an electronic device with a touch-sensitive display are disclosed herein. In one aspect, a method includes presenting content in a first application. At least a portion of the content is presented without requiring input from a user. The method further includes receiving a request to open a second application. In response to receiving the request, the second application is presented with an input-receiving field. Before receiving any user input at the input-receiving field, a selectable user interface object is displayed with an indication that the portion of the content was viewed in the first application, allowing the user to paste at least the portion of the content into the input-receiving field. In response to detecting a selection of the selectable user interface object, the portion of the content is pasted into the input-receiving field.
Abstract:
Systems and methods for proactively identifying and surfacing relevant content on an electronic device with a touch-sensitive display are disclosed herein. In one aspect, a method includes obtaining information identifying a first physical location viewed by a user in a first application. The method further includes detecting a first input. In response to detecting the first input: a second application is identified that is capable of accepting geographic location information; and an affordance is presented that is distinct from the first application, with a suggestion to open the second application. The suggestion includes information about the first physical location. The method further includes detecting a second input at the affordance. In response to detecting the second input at the affordance, the second application is opened and populated to include information that is based at least in part on the information identifying the first physical location.
Abstract:
Systems and methods for proactively identifying and surfacing relevant content on an electronic device with a touch-sensitive display are disclosed herein. In one aspect, a method includes executing, on the device, an application in response to an instruction from a user of the electronic device. While executing the application, the method further includes collecting usage data. The usage data at least includes one or more actions performed by the user within the application. The method also includes: automatically, without human intervention, obtaining at least one trigger condition based on the collected usage data and associating the at least one trigger condition with a particular action of the one or more actions performed by the user within the application. Upon determining that the at least one trigger condition has been satisfied, the method includes providing an indication to the user that the particular action associated with the trigger condition is available.
Abstract:
Systems and processes for efficient word encoding are provided. In accordance with one example, a method includes, at an electronic device with one or more processors and memory, receiving a user input including a word sequence, and providing a representation of a current word of the word sequence. The representation of the current word may be indicative of a class of a plurality of classes and a word associated with the class. The method further includes determining a current word context based on the representation of the current word and a previous word context, and providing a representation of a next word of the word sequence. The representation of the next word of the word sequence may be based on the current word context. The method further includes displaying, proximate to the user input, the next word of the word sequence.
Abstract:
Systems and methods for proactively identifying and surfacing relevant content on an electronic device with a touch-sensitive display are disclosed herein. In one aspect, a method includes executing, on the device, an application in response to an instruction from a user of the electronic device. While executing the application, the method further includes collecting usage data. The usage data at least includes one or more actions performed by the user within the application. The method also includes: automatically, without human intervention, obtaining at least one trigger condition based on the collected usage data and associating the at least one trigger condition with a particular action of the one or more actions performed by the user within the application. Upon determining that the at least one trigger condition has been satisfied, the method includes providing an indication to the user that the particular action associated with the trigger condition is available.
Abstract:
Systems and processes for language identification from short strings are provided. In accordance with one example, a method includes, at a first electronic device with one or more processors and memory, receiving user input including an n-gram and determining a similarity between a representation of the n-gram and a representation of a first language. The representation of the first language is based on an occurrence of each of a plurality of n-grams in the first language and an occurrence of each of the plurality of n-grams in a second language. The method further includes determining whether the similarity between the representation of the n-gram and the representation of the first language satisfies a threshold.
Abstract:
Systems and processes are disclosed for predicting words using a categorical stem and suffix word n-gram language model. A word prediction includes determining a stem probability using a stem language model. The word prediction also includes determining a suffix probability using suffix language model decoupled from the stem model, in view of one or more stem categories. The word prediction also includes determine a probability of the stem belonging to the stem category. A joint probability is determined based on the foregoing, and one or more word predictions having sufficient likelihood. In this way, the categorical stem and suffix language model constraints predicted suffixes to those that would be grammatically valid with predicted stems, thereby producing word predictions with grammatically valid stem and suffix combinations.
Abstract:
Techniques for predicting sentiment from textual data are described herein. In some examples, the described techniques utilize a sentiment prediction model having bidirectional long short-term memory (LSTM) networks with one or more convolution-and-pooling stages. The bidirectional LSTM networks process vector representations of words in a textual word sequence to determine forward and backward word-level context feature vectors. Forward and backward phrase-level feature vectors are determined based on the forward and backward word-level context feature vectors. The one or more convolution-and-pooling stages pool the forward and backward phrase-level feature vectors to determine pooled phrase-level feature vectors. A sentiment representing the textual word sequence is determined based on the pooled phrase-level feature vectors.