Abstract:
The present disclosure describes a data indexing and search service that resides locally on a computing device (e.g., a mobile phone) and that can host data for multiple applications on the device. By centralizing the storage of data as well as the search and query functions, unified search queries can be performed by the service.
Abstract:
Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for encoding and decoding delta values. In one aspect, a method includes accessing a compression buffer having a start position, a sentinel position, and a data storage region; obtaining a first value; determining that a second value stored in the sentinel position does not match a first sentinel value; determining that a third value stored in the start position matches a second sentinel value; and storing the first value at the start position of the compression buffer.
Abstract:
Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for encoding and decoding delta values. In one aspect, a method includes accessing a compression buffer having a start position, a sentinel position, and a data storage region; obtaining a first value; determining that a second value stored in the sentinel position does not match a first sentinel value; determining that a third value stored in the start position matches a second sentinel value; and storing the first value at the start position of the compression buffer.
Abstract:
Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for storing data on in a storage medium. In one aspect, a method includes receiving a key-value pair including a key k and a value v. The method further includes encoding the key-value pair as (i) a first key-value pair including a first key k1 and first value v1, and (ii) a second key-value pair including a second key k2. The method further includes inserting the first key-value pair and the second key-value pair in a trie.
Abstract:
Some implementations are directed to selective invocation of a particular third-party (3P) agent by an automated assistant to achieve an intended action determined by the automated assistant during a dynamic dialog between the automated assistant and a user. In some of those implementations, the particular 3P agent is invoked with value(s) for parameter(s) that are determined during the dynamic dialog; and/or the particular 3P agent is selected, from a plurality of candidate 3P agents, for invocation based on the determined value(s) for the parameter(s) and/or based on other criteria. In some of those implementations, the automated assistant invokes the particular 3P agent by transmitting, to the particular 3P agent, a 3P invocation request that includes the determined value(s) for the parameter(s).
Abstract:
In general, this disclosure is directed to techniques for outputting, by a computing device and for display at a display component that is operatively coupled to the computing device, a graphical user interface of an application. The computing device determines context data from content included in the graphical user interface. The computing device further determines, based at least in part on the context data, an indication of assistance that is contextually related to the content included in the graphical user interface. The computing device outputs the indication of the assistance.
Abstract:
A document analysis system analyzes a corpus of documents and automatically generates a dictionary of specialized phrases not already in conventional dictionaries. The dictionary generation process involves a series of operations on the phrases to identify the phrases most suitable for inclusion in a dictionary, such as phrase scoring and phrase clustering. The dictionary generation process also comprises the identification of one or more corresponding definitions for the various phrases identified for inclusion in the specialized dictionary.
Abstract:
A document analysis system analyzes a corpus of documents and automatically generates a dictionary of specialized phrases not already in conventional dictionaries. The dictionary generation process involves a series of operations on the phrases to identify the phrases most suitable for inclusion in a dictionary, such as phrase scoring and phrase clustering. The dictionary generation process also comprises the identification of one or more corresponding definitions for the various phrases identified for inclusion in the specialized dictionary.
Abstract:
Systems and method are disclosed personalizing search results. An example method for personalizing search results may include receiving from a user, a search query for a media item, identifying search results for the search query, and generating a score for each of a plurality of media items identified in the search results. The score for a corresponding one of the plurality of media items may be based on the search query and one or both of a personalized query independent score and/or a personalized query dependent score. The at least one personalized query independent and query dependent scores may be based on at least one media preference signal associated with the user. The search results may be ranked based on the generated score for each of the plurality of media items.
Abstract:
A data structure includes three arrays. A first array includes a root node, one or more intermediate nodes, and one or more leaf nodes. A second array includes one or more slices, each of which includes one or more elements; a third array also includes one or more elements. Each root node and intermediate node in the first array points to a respective slice in the second array. Each element in the second array stores a byte and has an associated pointer that points either to a respective intermediate node or to a respective leaf node in the first array. Each leaf node in the first array points to a respective element in the third array, and each element in the third array stores a respective sub-string of bytes. The trie can be particularly advantageous, for example, in applications on resource-constrained computing devices, such as mobile phones, tablets, and other hand-held computing devices.