US 12,216,678 B2
Search tool for exploring quantifiable trends in line charts
Alexander Elias Bendeck, Boca Raton, FL (US); Dennis Nathan Bromley, Seattle, WA (US); and Vidya Raghavan Setlur, Portola Valley, CA (US)
Assigned to Salesforce, Inc., San Francisco, CA (US)
Filed by Salesforce, Inc., San Francisco, CA (US)
Filed on Jan. 29, 2024, as Appl. No. 18/426,186.
Claims priority of provisional application 63/543,070, filed on Oct. 7, 2023.
Claims priority of provisional application 63/463,055, filed on Apr. 30, 2023.
Prior Publication US 2024/0362248 A1, Oct. 31, 2024
Int. Cl. G06F 16/00 (2019.01); G06F 16/242 (2019.01); G06F 16/2457 (2019.01); G06F 16/26 (2019.01); G06F 16/28 (2019.01); G06F 40/169 (2020.01); G06F 40/205 (2020.01); G06F 40/284 (2020.01); G06F 40/30 (2020.01)
CPC G06F 16/26 (2019.01) [G06F 16/243 (2019.01); G06F 16/24578 (2019.01); G06F 16/285 (2019.01); G06F 40/169 (2020.01); G06F 40/205 (2020.01); G06F 40/284 (2020.01); G06F 40/30 (2020.01)] 20 Claims
OG exemplary drawing
 
1. A method for analyzing data trends, comprising:
at a computing device having one or more processors, and memory storing one or more programs configured for execution by the one or more processors:
receiving a first natural language input specifying one or more search terms directed to a dataset, wherein the dataset comprises a set of time series data;
in response to receiving the first natural language input:
parsing the first natural language input into one or more tokens, including assigning a respective semantic role to each of the one or more tokens;
translating (i) the one or more tokens and (ii) one or more semantic roles assigned to the one or more tokens into one or more queries;
executing the one or more queries against a search index to retrieve a plurality of labeled trend events, wherein each labeled trend event (i) corresponds to respective portion of a respective line chart of a set of line charts representing the time series data and (ii) has a respective chart identifier;
determining, for each labeled trend event, a respective composite score;
individually assigning each of the plurality of labeled trend events to a respective group according to the respective chart identifier, wherein each group (i) includes one or more respective labeled trend events and (ii) corresponds to one respective line chart in the set of line charts;
sorting, for each group of the one or more groups, the one or more respective labeled trend events within the respective group according to respective composite scores corresponding to the one or more respective labeled trend events;
determining, for each group of the one or more groups, a respective final score;
ranking the one or more groups according to one or more determined final scores;
retrieving, from the dataset, data corresponding to a first subset of line charts having the respective chart identifiers of the ranked one or more groups in accordance with the ranking;
generating the first subset of line charts;
annotating respective segments of the first subset of line charts that correspond to the labeled trend events; and
displaying one or more line charts of the first subset of line charts as annotated.