Techniques for semantic searching
First Claim
1. A method implemented by a computer system of a data analytic system, comprising:
- processing an input string as a search query for data from one or more data sources, wherein the input string is processed to identify a plurality of terms;
performing a first comparison of the plurality of terms to a plurality of subject areas in a subject area index, wherein each subject area of the plurality of subject areas is associated with a respective set of terms, and wherein performing the first comparison includes comparing the plurality of terms to the respective set of terms;
selecting, based on a first result of first comparison, a set of subject areas in the plurality of subject areas, wherein the set of subject areas is selected as having a respective set of terms that is a closest match with the plurality of terms, wherein each of the set of subject areas is associated with a set of columns, and wherein each of the set of columns is associated with an attribute and one or more terms in a respective subject area;
determining a subject area column index, the subject area column index including a respective set of columns from each of the set of subject areas;
performing a second comparison of the plurality of terms to the subject area column index, wherein, for each column in the subject area column index, the plurality of terms is compared to the attribute and the one or more terms in the respective subject area, each associated with the column;
selecting, based on a second result of the second comparison, one or more terms of the plurality of terms, wherein the one or more terms are selected based on the one or more terms matching a threshold number of a particular one or more terms in a particular respective subject area, wherein each of the particular one or more terms in the particular respective subject area are associated with values;
determining one or more matching terms from the one or more terms selected from the plurality of terms by comparing the one or more terms selected from the plurality of terms to the values associated with the particular one or more terms in the particular respective subject area;
generating a query based on the one or more matching terms;
outputting the query to a second computer server for the second computer server to place a request for data for the query to be retrieved;
obtaining the data for the query; and
outputting the data for the query for display on a client system.
1 Assignment
0 Petitions
Accused Products
Abstract
Techniques are disclosed for querying, retrieval, and presentation of data. A data analytic system can enable a user to provide input, through a device to query data. The data analytic system can identify the semantic meaning of the input and perform a query based on the semantic meaning. The data analytic system can crawl multiple different sources to determine a logical mapping of data for the index. The index may include one or more subject areas, terms defining those subject areas, and attributes for those terms. The index may enable the data analytic system to perform techniques for matching terms in the query to determine a semantic meaning of the query. The data analytic system can determine a visual representation best suited for displaying results of a query determined by semantic analysis of an input string by a user.
-
Citations
20 Claims
-
1. A method implemented by a computer system of a data analytic system, comprising:
-
processing an input string as a search query for data from one or more data sources, wherein the input string is processed to identify a plurality of terms; performing a first comparison of the plurality of terms to a plurality of subject areas in a subject area index, wherein each subject area of the plurality of subject areas is associated with a respective set of terms, and wherein performing the first comparison includes comparing the plurality of terms to the respective set of terms; selecting, based on a first result of first comparison, a set of subject areas in the plurality of subject areas, wherein the set of subject areas is selected as having a respective set of terms that is a closest match with the plurality of terms, wherein each of the set of subject areas is associated with a set of columns, and wherein each of the set of columns is associated with an attribute and one or more terms in a respective subject area; determining a subject area column index, the subject area column index including a respective set of columns from each of the set of subject areas; performing a second comparison of the plurality of terms to the subject area column index, wherein, for each column in the subject area column index, the plurality of terms is compared to the attribute and the one or more terms in the respective subject area, each associated with the column; selecting, based on a second result of the second comparison, one or more terms of the plurality of terms, wherein the one or more terms are selected based on the one or more terms matching a threshold number of a particular one or more terms in a particular respective subject area, wherein each of the particular one or more terms in the particular respective subject area are associated with values; determining one or more matching terms from the one or more terms selected from the plurality of terms by comparing the one or more terms selected from the plurality of terms to the values associated with the particular one or more terms in the particular respective subject area; generating a query based on the one or more matching terms; outputting the query to a second computer server for the second computer server to place a request for data for the query to be retrieved; obtaining the data for the query; and outputting the data for the query for display on a client system. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A system comprising:
-
one or more processors; and a memory accessible to the one or more processors, the memory comprising one or more instructions that, upon execution by the one or more processors, causes the one or more processors to; process an input string as a search query for data from one or more data sources, wherein the input string is processed to identify a plurality of terms; perform a first comparison of the plurality of terms to a plurality of subject areas in a subject area index, wherein each subject area of the plurality of subject areas is associated with a respective set of terms, and wherein performing the first comparison includes comparing the plurality of terms to the respective set of terms; selecting, based on a first result of the first comparison, a set of subject areas in the plurality of subject areas, wherein the set of subject areas is selected as having respective set of terms that is a closest match with the plurality of terms, wherein each of the set of subject areas is associated with a set of columns, and wherein each of the set of columns is associated with an attribute and one or more terms in a respective subject area; determining a subject area column index, the subject area column index including a respective set of columns from each of the set of subject areas; perform a second comparison of the plurality of terms to the subject area column index, wherein, for each column in the subject area column index, the plurality of terms is compared to the attribute and the one or more terms in the respective subject area, each associated with the column; selecting, based on a second result of the second comparison, one or more terms of the plurality of terms, wherein the one or more terms are selected based on the one or more terms matching a threshold number of a particular one or more terms in a particular respective subject area, wherein each of the particular one or more terms in the particular respective subject area are associated with values; determine one or more matching terms from the one or more terms selected from the plurality of terms to the values associated with the particular one or more terms in the particular respective subject area; generate a query based on the one or more matching terms; output the query to a second computer server for the second computer server to place a request for data for the query to be retrieved; obtain the data for the query; and output the data for the query for display on a client system. - View Dependent Claims (11, 12, 13, 14, 15, 16)
-
-
17. A non-transitory computer readable medium storing one or more instructions that, upon execution by one or more processors, causes the one or more processors to:
-
process an input string as a search query for data from one or more data sources, wherein the input string is processed to identify a plurality of terms; perform a first comparison of the plurality of terms to a plurality of subject areas in a subject area index, wherein each subject area of the plurality of subject areas is associated with a respective set of terms, and wherein performing the first comparison includes comparing the plurality of terms to the respective set of terms; selecting, based on a first result of the first comparison, a set of subject areas in the plurality of subject areas, wherein the set of subject areas is selected as having respective set of terms that is a closest match with the plurality of terms, wherein each of the set of subject areas is associated with a set of columns, and wherein each of the set of columns is associated with an attribute and one or more terms in a respective subject area; determining a subject area column index, the subject area column index including a respective set of columns from each of the set of subject areas; perform a second comparison of the plurality of terms to the subject area column index, wherein, for each column in the subject area column index, the plurality of terms is compared to the attribute and the one or more terms in the respective subject area, each associated with the column; selecting, based on a second result of the second comparison, one or more terms of the plurality of terms, wherein the one or more terms are selected based on the one or more terms matching a threshold number of a particular one or more terms in a particular respective subject area, wherein each of the particular one or more terms in the particular respective subject area are associated with values; determine one or more matching terms from the one or more terms selected from the plurality of terms to the values associated with the particular one or more terms in the particular respective subject area; generate a query based on the one or more matching terms; output the query to a second computer server for the second computer server to place a request for data for the query to be retrieved; obtain the data for the query; and output the data for the query for display on a client system. - View Dependent Claims (18, 19, 20)
-
Specification