| CPC G06F 40/211 (2020.01) [G06F 16/245 (2019.01); G06F 40/253 (2020.01); G06F 40/30 (2020.01)] | 30 Claims |

|
1. An apparatus comprising at least one processor and at least one non-transitory memory comprising program code, the at least one non-transitory memory and the program code configured to, with the at least one processor, cause the apparatus to at least:
receive user query data comprising an input text string;
generate, based at least in part on the input text string, a n-gram set comprising a plurality of n-gram elements, wherein an arrangement of the plurality of n-gram elements in the n-gram set is determined based at least in part on a location of each n-gram element with respective to the input text string and a size of each n-gram element;
traverse each n-gram element in the n-gram set to generate a parse tree list comprising one or more parse trees based at least in part on a grammar template associated with the input text string;
generate, based at least in part on one or more of a node of a last parse tree of the parse tree list representing at least one stop word or joining a pair of non-contiguous nodes that represent temporal words in the last parse tree, one or more semantic frames indicating a temporal expression associated with the input text string, wherein the last parse tree comprises a plurality of nodes generated based at least in part on the grammar template;
provide, to a dimensional data model, the one or more semantic frames;
retrieve, by the dimensional data model, from a multi-dimensional database and based at least in part on the one or more semantic frames, one or more multi-dimensional data objects, wherein each multi-dimensional data object of the one or more multi-dimensional data objects is placed in a feature space, wherein the feature space comprises one or more dimensions corresponding to categorial data and measures representing numerical data represented by the multi-dimensional data object; and
generate, based at least in part on executing an analytic query on the one or more multi-dimensional data objects, an output response, wherein the analytic query is determined based at least in part on the temporal expression associated with the input text string.
|