1. Field of the Invention
The present invention relates generally to data processing systems and methods, and more particularly, relates to a system and method for pattern recognition and user interaction.
2. Description of Related Art
With the ongoing growth and proliferation of computer hardware and software, data is being collected and stored at an ever increasing rate. Data sources are becoming increasingly plentiful and diverse as the means to collect data continues to be easier and lower cost. With software applications collecting data either through user input or by way of transactional or sensor based inputs, most professionals are inundated with data that they have little ability to extract meaning from. The vast quantities of data being collected and stored each day are oftentimes not utilized at all, or are underutilized or even misused. Most professionals lack the time or resources to create custom programming to delve into this collected data and extract meaningful information. In addition, many professionals do not even know where to begin with their data or what questions should be asked to extract true value from the data they have collected. Consequently, much data lies in storage without ever seeing benefits from its collection. Data often contains information that could be valuable to a business or other entity, but without the ability to extract the hidden meaning contained within the data, it merely lies in storage taking up resources to store and maintain.
What is needed is a system and method to extract valuable information from data by taking text entries and turning them into usable mathematical models and software code. What is also needed is a system and method to dialog with data through a series of question and answer interrogations. Throughout the dialog process, a form of tracking or tracing to visually represent the back and forth question and answer dialog would further be beneficial. What is also needed is a system and method for creating suggestions during this dialog process.
It is therefore an object of the present invention to provide a computer based system and method for pattern recognition and user interaction where the user enters queries by way of text. It is another object of the present invention to provide a computer based system and method for pattern recognition and user interaction where the user dialogs with data through a series of question and answer interrogations. It is another object of the present invention to provide a computer based system and method for pattern recognition and user interaction where hierarchical tracing is employed to provide a visual representation of question and answer interrogations. It is yet another object of the present invention to provide a computer based system and method for pattern recognition and user interaction where suggestions are created during the dialog between the user and the data.
These and other objects of the present invention are described in the detailed specification, claims and drawings contained herein.
In accordance with the present invention, there is provided a computer based method and system for pattern recognition and user interaction, the method comprising the steps of providing input data on a computer having a processor, memory and computer readable media and storing said input data on the computer readable media; applying a mathematical model to the input data on the computer; receiving on the computer through a human interface device a text based question; converting the text based question to a machine language query on the computer; applying the machine language query to the input data on the computer to obtain a subset of the input data; presenting the question and the obtained input data subset as an answer in a hierarchical object on a computer display; providing on the computer a means for receiving a further text based question directed at the input data subset; converting the further text based question to a machine language query on the computer; applying the machine language query to the input data subset on the computer to obtain a further subset of the input data; presenting the question and the obtained further subset of the input data subset as an answer in a further hierarchical object on the computer display; and linking the hierarchical objects with linear traces that provide a visual representation of questions being asked of information provided as an answer in a previous object.
The system for pattern recognition and user interaction further comprises a language processing component, a hierarchical tracing component, and a data input function where a mathematical model creates a numeric, text, or graphical output on a computer display that has a hierarchical construct.
The foregoing paragraph has been provided by way of introduction, and is not intended to limit the scope of the invention as described and envisioned herein.
The invention will be described by reference to the following drawings, in which like numerals refer to like elements, and in which:
The present invention will be described in connection with a preferred embodiment, however, it will be understood that there is no intent to limit the invention to the embodiment described. On the contrary, the intent is to cover all alternatives, modifications, and equivalents as may be included within the spirit and scope of the invention as defined by this specification, claims and drawings contained herein.
A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent files or records, but otherwise reserves all copyrights whatsoever.
For a general understanding of the present invention, reference is made to the drawings. In the drawings, like reference numerals have been used throughout to designate identical elements.
In
A hierarchical tracing user interface for display on a computer screen is also provided.
The hierarchical tracing user interface comprises a text user input field; a plurality of hierarchical objects interconnected through linear traces; each hierarchical object having a geometric shape and containing a prompt indicating a question and a prompt indicating an answer; wherein information obtained from text entered in the user input field is displayed after the prompt indicating a question in at least one hierarchical object and a subset of input data is displayed after the prompt indicating an answer in at least one hierarchical object; and wherein the interconnection of hierarchical objects containing a question component and an answer component with linear traces provides a visual representation of questions being asked of information provided as an answer in a previous object.
Further, analytic suggestions 107 are provided to the user during this dialogue to provide additional potential uses for the data that is being analyzed. In some embodiments of the present invention, a query suggestion component is provided to prompt a user to consider various questions regarding input data. The query suggestion component in some embodiments of the present invention further comprises filter suggestions to filter the data that has been provided. In some embodiments of the present invention, the query suggestion component further comprises suggestions of various plots and trends that a user may select. Additionally, in some embodiments of the present invention, the query suggestion component further comprises suggestions of various statistics formulas, results, calculations, or the like. Predictions and other statistical models, formulas and expressions may also be included in the query suggestion component in various embodiments of the present invention.
The present invention creates a catalog of possible querying, analytical, statistical, modeling, and graphical operations that can be performed with a user's data, and represents these possible queries as language expressions such as natural language expressions for the purpose of suggesting to the user the different tasks that can be performed to extract value from their data. An input field is used to take a users input text to automatically identify keywords, names of columns, tables, data sources, values contained within the tables, and semantic references to the user and to automatically filter down the list of possible expressions from the created catalog. When selecting a language expression, the system for pattern recognition and user interaction 101 executes an analysis that the language expression has abstracted. This method guides the user and provides an understanding of all of the “what-if” questions that can be answered with the user's data using, for example, natural language and allows the user to quickly identify what it is they would like answered.
The system for pattern recognition and user interaction displays each request to analyze the data as a question and answer node in a Tree-View display (a question and answer tree or a hierarchical trace). The Tree-View display shows a graphical relation that signifies the parent-child chronology of analytical tasks that must be accomplished prior to answering a particular query. This method creates a unique and novel view that is used to automatically document the chronology of questions (or analytical processes) to show the user ‘how we got there’ and to articulate the feel of a “dialogue” with data. Using a unique and novel ‘tree’ structure, a user can quickly see how their questions were asked, in which order, and the associated data that was used at any step. This hierarchical tracing method is displayed graphically by way of a user interface that may be on a monitor, display, or the like. The answers shown in the node may include, for example, text, tables, and plots. The answers provided in the Q&A Tree View are also updated in real-time asynchronously so the user can see how live streaming data is captured by their Q&A Tree View.
The system for pattern recognition and user interaction includes fully automated language processing recognition such as natural language processing recognition. Unlike most business intelligence systems, the present invention does not require the user to directly specify a query and define a view in order to perform an analysis. At run-time, when the user specifies a language expression, the system automatically determines the centroid of the query, the order in which the joins must occur to the center table in the query, and automatically performs aggregate analysis on tables that will be joined to the primary table which have a 1:N relationship. This allows the user to ask a question using the information that is important to the specific question they want answered, and is not concerned with building a view first before using analytical tools to answer the question. By automating the identification of which table needs to be the centroid of the query (centroid is the table specified by the main “FROM” clause in the query) when the user asks a question which requires information spanning more than one table, the system will remove the potential error on the end part of the user performing the join in the wrong direction. (For example, in a table containing demographics on 100 patients, and a table with bypass information for grafts for those 100 patients, the two questions:
When the user selects a language expression such as a natural language expression from the suggestions in the system or alternatively types in a manual input, the system automatically builds code dynamically to execute querying, modeling, and visualization routines. The system uses expert systems to automatically build all the underlying code at run-time, such that the user does not have to select or build complex mathematical models graphically, nor do they have to program any code, nor prepare views and queries before performing the analysis. The system takes what the user types in the query box and automatically turns that into actionable, processable code. The expert system of the present invention understands the nature of the questions, and will automatically build the model (or models, if appropriate) that best correspond to the question at-hand, and return the results to the user.
In some embodiments, the present invention has the means to scan through data in subsequent queries, and generates sequences of questions about the user's data, such as 1.) “Find patients admitted with Cancer since last month”, 2.) What patients had an abnormal insulin level?” 3.) “Show me BMI vs. Age”. In the graphical user interface presented to the user, the user can swipe left to reveal a subset of query 1., and if there is only one question afterwards, the system can accept a swipe to the right or top of the user interface. The purpose of this method is to easily navigate to see how information is filtered out in subsequent steps or “stitched in” if it must be joined from another data source.
In some embodiments of the present invention, a touch based natural language processing experience is provided, such as swiping or selecting a statement. For touch based devices, typing is tedious, and a different approach to sentence building is required to efficiently interact with users. The user touches a word which grows a tree to the right to continue building the sentence. In this fashion, an analytical statement is built in either a series of clicks or one continuous swipe of a finger that goes across the criterion required and searches formatted expressions from the language processing database. So, with a single swipe of a finger, a user can launch optimization, math modeling and/or other statistics.
In some embodiments of the present invention, a means to select outliers from a touch experience is provided. From a two-or-three dimensional plot, a user takes their finger and drags it through the required space (or simply touches an individual point) and the system automatically reverse-engineers the surface that would have corresponded to an algebraic expression that is then turned into a query to set-aside exemplars (points) in the plot into a new subset.
In some embodiments of the present invention, a means to automate clustering is provided. A user touches their finger anywhere on a two-or-three dimensional plot, and can initialize a new centroid for clustering (under where your finger was in the two-or-three dimensional space). For 3 dimensional plots, the system also takes into account azimuth and elevation as projections through the 3-D space where the user touched the screen, and the system will place a new clustering centroid somewhere along that projection axis.
Turning now to
The computer-based system for pattern recognition and user interaction comprises a computer having a processor, memory, and access to computer readable media; a computer program stored on computer readable media comprising a language processing component, a hierarchical tracing component, and a data input function; a mathematical model stored on computer readable media for application to data that is input through the data input function on the computer program, where the mathematical model creates a numeric or graphical output on a computer monitor that has a hierarchical construct that can be modified through user input of a hierarchy object selection and a text query; a user input device; a user interface displayed on a computer monitor for interaction with said computer program; and a network connection between the computer and a computer network for allowing remote access to the computer program.
In some embodiments of the present invention, the computer-based system for pattern recognition and user interaction comprises a computer having a processor, memory, and access to computer readable media; a computer program stored on computer readable media comprising a language processing component, an analytic suggestions component and a data input function; a mathematical model stored on computer readable media for application to data that is input through the data input function on the computer program, where the mathematical model creates a numeric, text or graphical output on a computer monitor that has a hierarchical construct that can be modified through user input of a hierarchy object selection and a text query; a user input device; a user interface displayed on a computer monitor for interaction with said computer program; and a network connection between the computer and a computer network for allowing remote access to the computer program.
In accordance with one embodiment of the present invention, a method for pattern recognition and user interaction comprises the steps of providing input data on a computer having a processor, memory and computer readable media and storing said input data on the computer readable media; applying a mathematical model to the input data on the computer; receiving on the computer through a human interface device a text based question; converting the text based question to a machine language query on the computer; applying the machine language query to the input data on the computer to obtain a subset of the input data; presenting the question and the obtained input data subset as an answer in a hierarchical object on a computer display; providing on the computer a means for receiving a further text based question directed at the input data subset; converting the further text based question to a machine language query on the computer; applying the machine language query to the input data subset on the computer to obtain a further subset of the input data; presenting the question and the obtained further subset of the input data subset as an answer in a further hierarchical object on the computer display; and linking the hierarchical objects with linear traces that provide a visual representation of questions being asked of information provided as an answer in a previous object.
In some embodiments of the present invention, the method for pattern recognition and user interaction further comprises the step of selecting an object on the computer that results in the selected object being displayed on a computer monitor with an appearance that is different than non-selected objects. The selected object may, for example, change color, change shading, change outline, change line weight, change shape, move, oscillate, rotate, or the like.
In some embodiments of the present invention, the method for pattern recognition and user interaction further comprises the step of creating a subset of the input data based on the selection of an object.
In some embodiments of the present invention, the method for pattern recognition and user interaction further comprises the step of prompting a user with query suggestions on the computer display to encourage a user to consider various questions regarding input data.
The screenshots as presented herein are exemplary only, and are not to be considered limitations, but rather, examples to allow one skilled in the art to make and use the present invention. It is, therefore, apparent that there has been provided, in accordance with the various objects of the present invention, a system and method for pattern recognition and user interaction. While the various objects of this invention have been described in conjunction with preferred embodiments thereof, it is evident that many alternatives, modifications, and variations will be apparent to those skilled in the art. Accordingly, it is intended to embrace all such alternatives, modifications and variations that fall within the spirit and broad scope of this specification, claims and drawings herein.
This application claims priority to U.S. Patent Application Ser. No. 61/812,226 filed Apr. 15, 2013 entitled “System And Method For Pattern Recognition And User Interaction” by Mark Nicholas Sawezuk. David Jeffrey Hawks. Paul Edward Spencer and Anthony Layton Turner, the entire disclosure of which is incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
61812226 | Apr 2013 | US |