Business intelligence systems typically use large, very complex data stores in the form of databases and data warehouses, as examples. These stores are accessible by sophisticated trained users that can produce the requested information by using complex query structures and reports in the vernacular of the databases.
Typical users do not have this level of sophistication and training to access this information. These users area comfortable with ‘textual searching’ such as that used in Google® and other search engines. Current systems do not have the capability to provide the user with this type of access, nor do they produce the responses in a format that the user can understand.
Further, with the advent of mobile devices, such as smart phones and tablets, user have become accustomed to accessing data and getting answers wherever they are located. They want to input textual questions, even into complex, large, databases and data warehouses, and receive the answers in an easily understandable format.
The search system allows a user that does not have a background in databases and data warehouses to perform a textual search of the data to get an answer to a simple query. The answer may take the form of a graphical representation of the answer, allowing the user to visualize the answer.
The search system has several components that operate to take the user's request and produce an answer in a form the user can quickly understand. Through a user interface, the user can enter a query into the business intelligence system (BI) in the form of a ‘regular’ question. Examples include queries like, “What is the revenue of iPods for the North East in 2011?” or “Compare 2011 Q1 revenue to 2012 Q3.”
The search service 30 launches a search query rewriter 32 to generate a query in terms that the data index storage repository 29 can ‘understand.’ These are then queried by the index searcher 34. For example, the questions above may be rewritten to queries in a query language such as SQL (Structured Query Language) corresponding to “Revenue iPods North East 2011” and “Revenue 2011 Q1 vs Revenue 2012 Q3.” These are then used by the index searcher 34 to access the disk 20. A text to query generator 36 takes the indexed searches and generates a query for which the visualization, such as a bar chart or other graph, is generated. The queries and their visualizations are then sent to the presentation server 38 (BIPS) and the BI server to generate SQL Queries 40.
The Crawl Service may launch according to a schedule. As mentioned before, the Crawl Service and the Query service may be Java® services running in a J2EE environment. The crawl service 22 invokes a crawl manager 24 that manages the various crawls that may be running at the same time. The crawl manager may, for example, limit the number of crawls operating simultaneously to one, and set up a queue for the other crawl requests.
The crawl manager 22 launches a crawl task 24. The crawl task may be initiated through the BI Search Semantic Indexing Scheduler, an automated process that performs the crawl. The progress of a crawl, such as the statistics of number of areas indexed, number of subject area columns indexed, total number data values indexed, etc., may be stored in the business intelligence log files as informational entries. The areas indexed may include metadata, such as measures, dimensions and data members and attributes. Once a crawl has been completed, the admin user may be notified using the delivery of a message, success or failure. Further, the system may provide monitoring of the crawl. The crawling user may receive an email indicating that the crawl has begun, with the option of a link to allow the user to stop the crawl. When the crawl completes, another email may notify the user of its completion.
The crawl task in turn then launches query executors 26 that convert the queries into SQL, or other language, queries that will execute on the data gathered by the crawl task. In order to make use of that data later, the query executors start index writers 28 to index the queries and write them to some sort of storage repository 29. The query executors also send the queries to the presentation server, which in turn sends the queries to the business intelligence server. The indexes of the queries will be where the user's search will operation
When the user enters the desired search, the search process converts it to queries and accesses the index of the semantic layer (rpd file) to provide the answers. As discussed above, the search system allows the user to input ‘textual searches’ in the form most users are familiar and returns a graph that allows a user to understand the answer easily. When the users launches the search interface on the user's device, typically a smart phone or other mobile device, that starts the search service 30. The user then inputs a search term or terms, which can be of varying levels of complexity.
As the user navigates the search and results, the system gathers statistics to find the most relevant content for a given query. This information will be used to make the next execution of that query work faster and produce more relevant results. Similarly, the system ‘learns’ common analysis and visualization patterns. This will become clearer as the discussion goes through the user interfaces.
In
In one embodiment, the system learns on several different aspects of interactions with the user. These include, but are not limited to: frequently used terms in the search by a user; frequently used visualization by the user, based on the number of metrics and breakdowns (dimensions); frequently used data values, such as product:iPod, iPad etc., frequently queried metrics; time of the day, week and month a user is searching for certain information, for example, during the close of the quarter what metrics do people in the finance department query; and location where the user queries the data if enabled in a mobile device. The system builds a graph of different nodes, such as User, Terms, Metrics, Time of Day and Location. It then uses a combination of graph traversal algorithms in which all of the nodes are visited in a set sequence, updating and/or checking their data during the sequence, text clustering algorithms in which text is clustered using descriptors and descriptor extraction, and Naive Bayesian algorithms in which probabilistic classifiers based upon Bayes' theorem with strong, or naive, independence assumptions between the features, to learn the user preferences and also relative relevancy of matches.
Referring back to
In
As the system presents visualizations such as the pie chart in
For example, in
One should note that the above user interfaces were shown in ‘desktop’ form, but will have mobile versions as well. Using this system, a relatively unsophisticated user can access the wealth of data stored in their organizations business intelligence system. The system can gather statistics on the user's interaction with the system to allow it to offer suggestions as to search terms, visualizations, reports, etc. The storage of the resulting searches and visualizations will also allow the system to have access to already formatted query statements and other information to make it run more efficiently.
It will be appreciated that several of the above-disclosed and other features and functions, or alternatives thereof, may be desirably combined into many other different systems or applications. Also that various presently unforeseen or unanticipated alternatives, modifications, variations, or improvements therein may be subsequently made by those skilled in the art which are also intended to be encompassed by the embodiments here.
This application claims priority to and the benefit of U.S. Provisional Application No. 62/055,402, filed Sep. 25, 2014, which is incorporated herein in its entirety.
Number | Date | Country | |
---|---|---|---|
62055402 | Sep 2014 | US |