IP Library Granted Patent US 11,841,854
Granted Patent B2
US 11,841,854 · App. 17/169,943 · Granted Dec 12, 2023

Differentiation of search results for accurate query output

Inventors: Ramesh Panuganty (Fremont, CA); Chandrasekhar Varada (Cupertino, CA)
Assignee: MachEye, Inc.
G06F16/2453G06N20/00
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,841,854
App. No.
17/169,943
Granted
Dec 12, 2023
Kind
B2
Abstract

Techniques are described for differentiation of search results for accurate query output. Generally, such techniques provide intelligent grouping and output of search results by considering contextual factors that relate different search results. For instance, data records that are aggregated in response to a query are inspected to identify attributes (e.g., data types) and attribute values to determine contextual relationships between attributes. The contextual relationships are utilized to differentiate the data records into different groups for query output, thus enabling an accurate characterization of query output not enabled by conventional search technologies.

Claims (81)

1. A system comprising:

a processing system; and

one or more computer-readable storage media storing instructions that are executable by the processing system to implement:

an insight engine module to aggregate a set of data based on a query term, the set of data including multiple data records that each correlate to the query term;

a differentiator module to:

identify a set of the data records that has a common value for a first attribute of the set of data records;

inspect the set of data records to identify a second attribute of the set of data records that represents a contextual qualifier for the first attribute and that has values that differ among two or more subsets of the set of data records;

generate different individual subsets of the set of data records including to, for each subset, identify one or more data records of the set of data records that share a common value for the second attribute, and generate the subset to include the one or more data records that share the common value;

inspect the set of the data records to identify a third attribute of the set of the data records that represents a further contextual qualifier for the first attribute of the set of the data records, the third attribute having values that are different among two or more further subsets of the set of data records;

determine that grouping the set of the data records into different subsets based on the values for the third attribute violates a query parameter for the query term; and

perform an action to prevent grouping the set of the data records into different subsets based on the values for the third attribute in response to determining that the grouping violates the query parameter for the query term; and

an output module to:

generate a query result by aggregating content that conveys the individual subsets of the data records; and

cause the query result to be output.

2. The system of claim 1 , wherein the second attribute comprises an environmental qualifier for the first attribute, and the values for the environmental qualifier describe different environments for the first attribute.

3. The system of claim 1 , wherein the query term is based on a query associated with a particular user profile, and wherein the differentiator module is further implemented to:

retrieve anecdotal data for the user profile that describes a previous user interaction with a data set; and

correlate, utilizing the anecdotal data, the first attribute of the set of the data records to the second attribute of the set of the data records.

4. The system of claim 1 , wherein the first attribute corresponds to a first data type of the set of the data records, and wherein the differentiator module is further implemented to:

identify an entity-relationship model that identifies associations between data types included in the set of the data records; and

compare the first attribute to the entity-relationship model to identify the second attribute, the second attribute corresponding to a second data type of the set of the data records.

5. The system of claim 1 , wherein to identify the one or more data records of the set of data records that share a common value for the second attribute includes implementing the differentiator module to:

compare differing value representations of the second attribute for two or more data records of the set of data records utilizing an equivalency criterion to determine that the differing values representations correspond to a common value; and

generate a particular subset of the individual subsets of the set of data records to include the two or more data records.

6. The system of claim 1 , wherein to identify the second attribute of the set of data records includes implementing the differentiator module to:

determine that multiple different attributes of the set of data records represent contextual qualifiers for the first attribute;

output identifiers for the multiple different attributes and a request to select a particular attribute from the multiple different attributes; and

receive a selection of the second attribute from the multiple different attributes.

7. The system of claim 1 , wherein to identify the second attribute of the set of data records includes implementing the differentiator module to:

identify a drill path that includes data describing a relationship between the first attribute and multiple other attributes of the set of the data records;

traverse the drill path and for each attribute encountered, compare attribute values for the attribute; and

identify the second attribute of the set of the data records in response to identifying two or more differing values for the second attribute.

8. The system of claim 1 , further comprising a phaser module to:

determine a set of query contexts for the query term and generate a set of search phases based on the set of query contexts; and

determine a further query context for the first attribute of the set of the data records and generate a further search phase based on the further query context, wherein:

the insight engine module is implemented to execute the set of search phases to aggregate the set of data, and

the differentiator module is implemented to execute the further search phase on the set of data records to identify the second attribute of the set of the data records.

9. The system of claim 1 , wherein to identify the second attribute of the set of data records comprises implementing the differentiator module to:

input attributes of the set of the data records into a machine learning model trained using training data generated from attribute relationships defined from a different set of data records;

receive output from the machine learning model identifying multiple candidate attributes from the set of the data records;

iteratively evaluate the candidate attributes by comparing attribute values for the candidate attributes; and

identify the second attribute of the set of the data records in response to identifying two or more differing values for the second attribute.

10. The system of claim 1 , wherein the query parameter comprises a data type requested by the query term.

11. A method comprising:

aggregating a set of data based on a query term associated with a user profile, the set of data including multiple data records that each correlate to the query term;

identifying a set of the data records that has a common value for a first attribute of the set of data records;

retrieving anecdotal data for the user profile that describes a previous user interaction with a data set, and correlating, utilizing the anecdotal data, the first attribute of the set of the data records to a second attribute of the set of the data records;

determining that the second attribute has values that differ among two or more subsets of the set of data records;

generating different individual subsets of the set of data records including, for each subset, identifying one or more data records of the set of data records that share a common value for the second attribute, and generating the subset to include the one or more data records that share the common value for the second attribute;

inspecting the set of the data records to identify a third attribute of the set of the data records that represents a further contextual qualifier for the first attribute of the set of the data records, the third attribute having values that are different among two or more further subsets of the set of data records;

determining that grouping the set of the data records into different subsets based on the values for the third attribute violates a query parameter for the query term;

performing an action for preventing grouping the set of the data records into different subsets based on the values for the third attribute in response to determining that the grouping violates the query parameter for the query term;

generating a query result by aggregating content that conveys the individual subsets of the data records; and

causing the query result to be output.

12. The method of claim 11 , wherein the anecdotal data describes a user interaction with a different set of data to sort the different data set based on one or more attributes of the different data set, and wherein the second attribute of the set of the data records corresponds to the one or more attributes of the different set of data.

13. The method of claim 11 , wherein the query term is based on a query associated with the user profile and the anecdotal data describes a user preference determined from a previous user query associated with the user profile, and wherein the second attribute correlates to the user preference.

14. The method of claim 11 , wherein the query term is based on a query associated with the user profile and the anecdotal data is based on user feedback regarding subsets of data records generated for a previous user query associated with the user profile, and wherein the second attribute is identified based at least in part on the user feedback.

15. The method of claim 11 , wherein said correlating the first attribute of the set of the data records to the second attribute of the set of the data records comprises:

identifying a drill path that includes data describing a relationship between the first attribute and multiple other attributes of the set of the data records;

traversing the drill path and for each attribute encountered, comparing the attribute to the anecdotal data; and

identifying the second attribute of the set of the data records in response to determining that the second attribute correlates to the anecdotal data.

16. The method of claim 11 , further comprising:

determining a set of query contexts for the query term and generating a set of search phases based on the set of query contexts;

aggregating the set of data including the multiple data records by executing the set of search phases;

determining a further query context for the first attribute and based on the anecdotal data, and generating a further search phase based on the second further query context; and

executing the further search phase on the set of data records to identify the second attribute of the set of the data records.

17. A method comprising:

aggregating a set of data based on a query term, the set of data including multiple data records that each correlate to the query term;

identifying a set of the data records that has a common value for a first attribute of the set of data records, the first attribute corresponding to a first data type of the set of the data records;

identifying an entity-relationship model that identifies associations between data types included in the set of the data records, and comparing the first attribute to the entity-relationship model to identify a second attribute that corresponds to a second data type of the set of the data records;

determining that the set of the data records has values for the second attribute that differ among two or more subsets of the set of data records;

generating different individual subsets of the set of data records including, for each subset, identifying one or more data records of the set of data records that share a common value for the second attribute, and generating the subset to include the one or more data records that share the common value for the second attribute;

generating a query result by aggregating content that conveys the individual subsets of the data records; and

causing the query result to be output, wherein said comparing the first attribute to the entity-relationship model identifies a third attribute having a third data type and having values that different among two or more further subsets of the set of data records, the method further comprising:

determining that grouping the set of the data records into different subsets based on the values for the third attribute violates a query parameter for the query term, and

performing an action for preventing grouping the set of the data records into different subsets based on the values for the third attribute in response to determining that the grouping violates the query parameter for the query term.

18. The method of claim 17 , wherein the entity-relationship model defines a dependencies between the data types included in the set of the data records, the method further comprising traversing attributes of the set of the data records based on the dependencies and identifying the second attribute based on a dependency defined by the entity-relationship model between the first data type of the first attribute and the second type of the second attribute.

19. The method of claim 17 , wherein the entity-relationship model defines dependencies between the data types included in the set of the data records, the method further comprising:

traversing one or more attributes of the set of the data records based on the dependencies and for each attribute encountered, comparing attribute values for the attribute; and

identifying the second attribute in response to identifying two or more differing values for the second attribute.

20. The method of claim 17 , wherein the query parameter comprises a data type requested by the query term.

Assignments (3)
SECURITY INTEREST Recorded Dec 23, 2025
From: VERINT AMERICAS INC.
To: ALTER DOMUS (US) LLC, AS COLLATERAL AGENT
Reel/Frame 074034/0292 →
MERGER Recorded Aug 27, 2024
From: MACHEYE INC.
To: VERINT AMERICAS INC.
Reel/Frame 068410/0062 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 15, 2021
From: PANUGANTY, RAMESH; VARADA, CHANDRASEKHAR
To: MACHEYE, INC.
Reel/Frame 055258/0178 →
Continuity (6)
Continuation In Part 17006812 · Aug 29, 2020
Continuation In Part 16791469 · Feb 14, 2020
Continuation In Part 16425686 · May 29, 2019
Continuation In Part 16232934 · Dec 26, 2018
Provisional Application 62702728 · Jul 24, 2018
Related Publication 20210248136A1 · Aug 12, 2021
Cited By (1)
US 12,219,427