# US 10,311,118 B2 · Systems and methods for generating search results using application-specific rule sets

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,311,118 B2
- Document ID: US10311118B2
- Status: Granted
- Kind: B2
- Application number: 15/901,341
- Filed: 2018-02-21
- Published: 2018-06-28
- Granted: 2019-06-04
- Earliest claimed: 2014-02-07
- Assignees: Samsung Electronics Co., Ltd.
- Applicants: Samsung Electronics Co., Ltd.
- Inventors: Liron Shapira; Michael Harris; Jonathan Ben-Tzur
- Web page: https://patentgrep.com/patent/US10311118B2

## CPC

- G06F 16/901: Indexing; Data structures therefor; Storage structures (for retrieval from the web G06F16/951)
- G06F 16/334: Query execution (filtering based on additional data G06F16/335)
- G06F 16/9038: Presentation of query results
- G06F 16/9535: Search customisation based on user profiles and personalisation
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A method includes receiving a search query containing one or more query terms from a remote device and determining one or more query parses based on the search query and a knowledge base. Each query parse indicates one or more entity types, wherein each entity type corresponds to a query term or a combination of query terms contained in the search query. The method further includes obtaining a set of app-specific rules, each app-specific rule respectively corresponding to a respective software application. The method further includes generating a set of unparameterized function identifiers based on the plurality of app-specific rules and the one or more query parses. For each of the set of unparameterized function identifiers, the method includes parameterizing the function identifier based on the query terms. The method further includes generating search results based on the parameterized function identifiers and transmitting the search results to the remote device.

## Claims

### Claim 1

A portable device for performing a search, comprising:
a storage that stores a plurality of sets of application specific rules, wherein each of the sets of application specific rules is associated with a respective application, and wherein each of the sets of application specific rules defines a template for generating function identifiers that identify functions of the respective application; and
a search module that:
obtains a search query,
identifies at least one entity type indicated by the search query,
retrieves, from the storage, a first set of application specific rules corresponding to the identified entity type,
generates at least one unparameterized function identifier using (i) the retrieved first set of application specific rules and (ii) the search query, wherein each identifier of the at least one unparameterized function identifier includes at least one parameter field that (a) corresponds to the at least one entity type but does not (b) indicate a parameter value,
generates a parameterized function identifier by parameterizing a first identifier of the at least one unparameterized function identifier using the search query, wherein parameterizing the first identifier includes populating a first parameter field of the at least one parameter field with a parameter value based on the search query, and
generates a search result based on the parameterized function identifier.

### Claim 2 (depends on 1)

The portable device of claim 1, wherein the storage stores a knowledge base that indicates relationships (i) between a plurality of entity types, (ii) between a plurality of entities, (iii) between a plurality of application specific entity types, and (iv) between a plurality of application specific entities.

### Claim 3 (depends on 1)

The portable device of claim 1, wherein the parameterized function identifier (i) identifies an application and (ii) identifies an access mechanism for accessing a function of the identified application.

### Claim 4 (depends on 1)

The portable device of claim 1, wherein, to identify the at least one entity type indicated by the search query, the search module (i) parses the search query to identify at least one query term and (ii) identifies the at least one entity based on the at least one query term.

### Claim 5 (depends on 1)

The portable device of claim 1, wherein, to retrieve the first set of application specific rules corresponding to the identified entity type, the search module (i) determines whether the first set of application specific rules defines a template corresponding to the identified entity type and (ii) selectively retrieves the first set of application specific rules based on the determination.

### Claim 6 (depends on 5)

The portable device of claim 5, wherein the search module retrieves the first set of application specific rules based on the defined template.

### Claim 7 (depends on 1)

The portable device of claim 1, wherein the search module determines the parameter value based on the search query.

### Claim 8 (depends on 7)

The portable device of claim 7, wherein, to determine the parameter value, the search module (i) determines a subset of query terms in the search query and (ii) determines, using a knowledge base stored by the storage, the parameter value based on the subset of the query terms.

### Claim 9 (depends on 8)

The portable device of claim 8, wherein, to determine the parameter value using the knowledge base, the search module identifies an application specific entity in the knowledge base corresponding to the subset of the query terms.

### Claim 10 (depends on 1)

The portable device of claim 1, wherein, to generate the search result, the search module (i) identifies, based on the parameterized function identifier, an access mechanism for accessing a function of an application and (ii) generates a result object based on the identified access mechanism.

### Claim 11

A method for generating search results, comprising:
storing a plurality of sets of application specific rules, wherein each of the sets of application specific rules is associated with a respective application, and wherein each of the sets of application specific rules defines a template for generating function identifiers that identify functions of the respective application;
obtaining a search query;
identifying at least one entity type indicated by the search query;
retrieving a first set of application specific rules corresponding to the identified entity type;
generating at least one unparameterized function identifier using (i) the retrieved first set of application specific rules and (ii) the search query, wherein each identifier of the at least one unparameterized function identifier includes at least one parameter field that (a) corresponds to the at least one entity type but (b) does not indicate a parameter value;
generates a parameterized function identifier by parameterizing a first identifier of the at least one unparameterized function identifier using the search query, wherein parameterizing the first identifier includes populating a first parameter field of the at least one parameter field with a parameter value based on the search query; and
generating a search result based on the parameterized function identifier.

### Claim 12 (depends on 11)

The method of claim 11, further comprising storing a knowledge base that indicates relationships (i) between a plurality of entity types, (ii) between a plurality of entities, (iii) between a plurality of application specific entity types, and (iv) between a plurality of application specific entities.

### Claim 13 (depends on 11)

The method of claim 11, wherein the parameterized function identifier (i) identifies an application and (ii) identifies an access mechanism for accessing a function of the identified application.

### Claim 14 (depends on 11)

The method of claim 11, wherein identifying the at least one entity type indicated by the search query includes (i) parsing the search query to identify at least one query term and (ii) identifying the at least one entity based on the at least one query term.

### Claim 15 (depends on 11)

The method of claim 11, wherein retrieving the first set of application specific rules corresponding to the identified entity type includes (i) determining whether the first set of application specific rules defines a template corresponding to the identified entity type and (ii) selectively retrieving the first set of application specific rules based on the determination.

### Claim 16 (depends on 15)

The method of claim 15, wherein retrieving the first set of application specific rules includes retrieving the first set of application specific rules based on the defined template.

### Claim 17 (depends on 11)

The method of claim 11, wherein parameterizing the first identifier includes determining the parameter value based on the search query.

### Claim 18 (depends on 17)

The method of claim 17, wherein determining the parameter value includes (i) determining a subset of query terms in the search query and (ii) determining, using a knowledge base, the parameter value based on the subset of the query terms.

### Claim 19 (depends on 18)

The method of claim 18, wherein determining the parameter value using the knowledge base includes identifying an application specific entity in the knowledge base corresponding to the subset of the query terms.

### Claim 20 (depends on 11)

The method of claim 11, wherein generating the search result includes (i) identifying, based on the parameterized function identifier, an access mechanism for accessing a function of an application and (ii) generating a result object based on the identified access mechanism.
