Systems and methods for substantially real-time adaptive report generation

The present disclosure provides for systems and methods for substantially real-time adaptive report generation. An adaptive report system may comprise at least one query. The adaptive report system may comprise at least one voice control component. The adaptive report system may comprise at least one report. The adaptive report system may comprise one or more verifications. The adaptive report system may comprise at least one natural language processor.The adaptive report system may comprise at least one translated query. The adaptive report system may comprise at least one database query. The adaptive report system may comprise at least one database. When the at least one query at least partially comprises at least one audio signal, the at least one voice control component may convert the audio signal to text. When the at least one query has not been previously submitted, the adaptive report system may store one or more verification metrics as training data to improve the accuracy of future report generation.

BACKGROUND

Within any economy, trade and commerce have always dictated the direction of the relevant economic market. Any company or organization desiring to participate and profit from economic commerce has to effectively, and quickly, form relationships with other companies and organizations that provide the materials needed to produce a marketable good or provide a useful service. Whether the goods or services include tangible products, valuable information, or useful expertise, supply chain demands within a market form the foundation for companies across different markets and niches to work together.

One initial step in forming these supply chain relationships is obtaining quotes and information from potential vendors or providers to assess which of the available options will be the best fit for a company's or customer's needs. Unfortunately, this information, whether it includes inventory, statistics, or other viable information, often takes weeks to aggregate and compile, especially if it includes a custom report of any sort.

The generation of custom reports is a problem that permeates every informational transaction. Whether a client is a company or even an individual, the enterprise that has the requested information often has the correct desired data, but the data may not be compiled in a way that provides the client with a clear and concise version of the information requested. This is problematic because the entire process of generating a custom report is riddled with challenges.

First, the client must ensure that the specific report request is understood. Then, if the requested report fails to match a previous report template, the company providing the information must find the right internal personnel to find the stored data and properly compile the data in a presentable format. Furthermore, there may be data access restrictions, or a requested dataset may span more than one field of expertise and therefore require additional internal coordination that may increase the amount of time and resources required to generate the report.

Finally, after receiving the finished generated report, the client can confirm whether the custom report is relevant and accurate; however, if the report lacks any necessary or desired information, the entire process must be repeated at least one more time, costing more time and money.

SUMMARY OF THE DISCLOSURE

What is needed is system for adaptive report generation that can provide customized reports in substantially real-time, even without a prior relevant query from which to base and compile the report.

The present disclosure provides for systems and methods for substantially real-time adaptive report generation. In some embodiments, an adaptive report system in accordance with the present disclosure may comprise at least one query. In some implementations, the adaptive report system may comprise at least one voice control component. In some aspects, the adaptive report system may comprise at least one report.

In some embodiments, the adaptive report system of the present disclosure may comprise one or more verifications. In some implementations, the adaptive report system may comprise at least one natural language processor. In some aspects, the adaptive report system may comprise at least one translated query. In some embodiments, the adaptive report system may comprise at least one database query.

In some implementations, the adaptive report system of the present disclosure may comprise at least one database. In some aspects, the query may comprise at least one audio signal, and the voice control component may convert the audio signal to text. In some embodiments, when the query has not been previously submitted, the adaptive report system may store one or more verification metrics or analytics associated with the query to improve the accuracy of future report generation.

DETAILED DESCRIPTION

The present disclosure provides generally for systems and methods for substantially real-time adaptive report generation. According to the present disclosure, adaptive report generation may be created in substantially real-time, as requested by a user, even when the request may comprise a novel aggregation of data stored within one or more databases that may be distributed across one or more different enterprises.

In the following sections, detailed descriptions of examples and methods of the disclosure will be given. The descriptions of both preferred and alternative examples, though thorough, are exemplary only, and it is understood to those skilled in the art that variations, modifications, and alterations may be apparent. It is therefore to be understood that the examples do not limit the broadness of the aspects of the underlying disclosure as defined by the claims.

Referring now toFIG.1, an exemplary adaptive report system100is illustrated. In some embodiments, the adaptive report system100may comprise at least one query110. In some implementations, the adaptive report system100may comprise one or more reports120,121. In some aspects, the adaptive report system100may comprise at least one verification130.

In some embodiments, the query110may comprise a voice-dictated or text-based query110that may be submitted by at least one user and received by the adaptive report system100via at least one user interface. By way of example and not limitation, the user interface may comprise at least one of: an audio receiving device, such as a microphone; an input device, such as a touchscreen, keyboard, keypad, or mouse; or a display device, such as a display screen, as non-limiting examples. In some implementations, a voice-dictated query110may be received in the form of conversational, common, or natural language. In some aspects, a user may speak using generic common language words and phrases to ask a question or otherwise describe the contents of a desired report. The conversational language may enable the user to describe the desired report without needing to know or memorize one or more key terms or phrases.

In some embodiments, the adaptive report system100may receive and interpret the natural language query110and decipher one or more corporate language terms or phrases from the query110. In some implementations, the adaptive report system100may interpret inventory terminology, marketing terminology, technical terminology, and/or internal labeling terminology, as a non-limiting list of exemplary categories of potentially receivable terms or phrases, as “in-house,” industrial, or corporate language terms or phrases. In some aspects, the adaptive report system100may convert the received query110from conversational or natural language to a company's or industry's corporate language. The process of converting the natural language query110into corporate language by way of translation may enable the adaptive report system100to respond effectively to novel queries110.

By way of comparison and not limitation, in some implementations, a traditional autonomous conversation between a user and a computer-based virtual assistant may be based on a predetermined number of potential responses related to an anticipated field of inquiry. The number of acceptable received queries from a user may therefore be limited to the anticipated field of inquiry and to a limited number of formats. This is a result of the inevitable impossibility of the autonomous conversational virtual assistant being able to process a nearly infinite number of potential requests in any form and accurately provide a correct relevant answer to the user.

In contrast, the adaptive report system100, by translating the received natural language query110into a corporate language rather than matching the query to a plurality of predetermined terms or phrases, the adaptive report system100may accurately receive and process a query110that has never been previously submitted to the adaptive report system100and use the novel query100to generate a novel customized report120that has not previously existed that corresponds to the submitted query110, despite having no previous context to compare either the query110or the report120and having no previously established association between the query110and the information or data in the report120. In some aspects, the adaptive report system100may store previous queries110and reports120and the associations therebetween within one or more memory resources as an amount of training data that may be used to facilitate enhancement of the performance, functionality, efficiency, and/or accuracy of the adaptive report system100when generating future reports120from future queries110.

In some embodiments, the adaptive report system100may comprise at least one natural language processor (NLP) that may facilitate the conversion or translation of a received natural language query110into at least one corporate language. In some implementations, the adaptive report system100may present at least one verification130of the report120to at least one user via at least one user interface to solicit feedback from the user.

In some aspects, the adaptive report system100may present a verification130to a user before the adaptive report system100presents a report120. In some embodiments, the adaptive report system100may present a verification130to the user after the adaptive report system100presents the report120. In some implementations, the adaptive report system100may be configured to receive at least one interaction from the user pertaining to the verification130, such as, for example and not limitation, via at least one user interface, to obtain feedback from the user. By way of example and not limitation, feedback may comprise an affirmation of an accuracy or inaccuracy of the report120.

In some aspects, when the verification130may be presented to the user after the report120, the adaptive report system100may use the feedback received from the user to refine the compilation of the data as interpreted by the NLP based on the associated received query110. In some embodiments, when the verification130is presented to the user after the report120, the adaptive report system100may use the feedback received from the user to refine the process of handling future novel queries110.

In some implementations, if a response to a verification130from a user affirms the accuracy of a report120generated by a novel query110, the adaptive report system100may approve and prompt the storage of the report120and the query110and the association therebetween in one or more memory resources as an amount of training data that enhances the performance, functionality, efficiency, and/or accuracy of the NLP when interpreting future novel subsequent queries110to generate future novel subsequent reports120. In some non-limiting exemplary embodiments, affirmation of the accuracy of the report120may at least partially comprise a user selecting a symbol of approval, such as a check mark, plus sign, or similar icon, presented on the user interface using at least one input device. In some aspects, if the verification130affirms the accuracy of the report120generated by a novel query110, the affirmation may prompt the adaptive report system100to store one or more analytics associated with the query110, such as, for example and not limitation, the process of deduction from receiving a novel query110to generating a novel report120, to improve the accuracy of predictive generation of future novel reports120from novel queries110facilitated by the adaptive report system100.

In some embodiments, a response from a user to a verification130may comprise a second query110for a second new, supplemental, or alternative report121. In some implementations, a user may interact with the verification130of a query110to negatively affirm an inaccuracy of a generated report120. In some non-limiting exemplary embodiments, affirmation of the inaccuracy of the report120may at least partially comprise the user selecting a symbol of disapproval, such as an “x,” minus sign, or similar icon, presented on the user interface using at least one input device. In some aspects, the verification130of such inaccuracy may initiate the generation of a second report121. In some embodiments, the user response to the verification130may initiate the production a second report121that expounds on or displays alternative information to the first report120.

In some implementations, the verification130may enable a user to conduct a process of discovery whereby, upon review of the first report120, the user may determine that additional insight or information is needed or desired. In some aspects, the process of presenting the user with a verification130and generating a report120,121may continue reiteratively until the user is satisfied that a sufficient number and/or quality of reports120,121have been generated that portray all desired compilations of information.

In some aspects, the query110may comprise a question or request from one or more users for information that requires data to be aggravated and compiled into one or more reports120,121generated by the adaptive report system100and presented to the user(s) via at least one user interface. In some implementations, at least one of the reports120,121generated by the adaptive report system100may comprise at least one visualization of the compiled data, wherein the visualization may comprise any one of a plurality of potential formats, such as a pie chart, bar graph, line graph, or distribution curve, as non-limiting examples. In some non-limiting exemplary embodiments, the format of the visualization may be modified or altered by at least one user, such as, by way of example and not limitation, via the at least one user interface.

In some embodiments, the query110may comprise a command or request for the adaptive report system100to perform at least one action, implement at least one configuration, or adjust at least one setting. By way of example and not limitation, a user may submit a query110that instructs the adaptive report system100to modify one or more configurations or settings either internally within the adaptive report system100or for one or more external systems that may be communicatively coupled to the adaptive report generation system100, to create one or more groups of data or information within the adaptive report system100or one or more external systems, to create one or more visual representations of at least one fluctuating quantifiable metric, to schedule the generation or presentation of a report120at a particular time, or generate and present at least one report120in the form of a notification when one or more threshold events may be detected. In some aspects, upon completion of the performance of the requested action(s), the adaptive report system100may present the user with a verification130to solicit feedback from the user regarding the accuracy of the completed task. In some implementations, the adaptive report system100may use the provided feedback to at least partially direct the performance of future actions.

For example, the adaptive report system100may be used with one or more utility companies, and the adaptive report system100may receive a query110from a user that instructs the adaptive report system100to accept the continuous consumption validation failures for a particular day. To continue this example, the adaptive report system100may also receive a query110from the user to, for example and not limitation, create a database group of agricultural meters that all comprise a peak flow of over 20 CCf/hour. To still further illustrate this example, the adaptive report system100may receive a query110from the user to create one or more virtual meters configured to display a sum or average of a plurality of utility meters associated with a plurality of customers or a query110comprising a request to generate and present one or more notifications when one or more utility customers have exceeded a minimum threshold of utility usage.

In some implementations, the adaptive report system100may be configured to receive at least one query110from a user that comprises a request for assistance, guidance, or instructions for performing at least part of a task. For example, the adaptive report system100may be associated with one or more utility companies, and a user may submit a query110that asks the adaptive report system100how to set up a virtual meter for a group of meters or how to reduce the user's validation failures. The adaptive report system100may respond to the received query110with a report120that comprises an answer to the user's question.

In some aspects, the adaptive report system100may determine that the adaptive report system100is unable to provide an accurate report120in the form of an answer to a particular question or request for assistance without soliciting any response to a verification130from the user. In such aspects, the adaptive report system100may be configured to provide the user with an alternative report121in the form of an explanation, request for more information, or delayed response.

For instance, by way of example and not limitation, the adaptive report system100may provide an auditory or written or otherwise visual report121that the adaptive report system100needs to refer the user to another individual for an answer or assistance or that a report121will be emailed or otherwise delivered to the user at a later time once the adaptive report system100has had time to process the relevant query110and determine, aggregate, compile, obtain, or otherwise produce the report121.

In some embodiments, the adaptive report system100may be configured to receive at least one query110in the form of a request for troubleshooting assistance or error diagnosis within the adaptive report system100. By way of example and not limitation, a user may submit a query110to the adaptive report system100that questions why one or more fields in a visual dashboard or table do not contain any data or why one or more virtual meters are not calculating or displaying any data.

In some implementations, the adaptive report system100may be configured to receive at least one query110in the form of a request for error message generation. In some non-limiting exemplary embodiments, there may be circumstances in which the adaptive report system100may be unable to produce a sufficient or satisfactory report120in response to a first query110from a user. In such circumstances, the adaptive report system100may be configured to receive a second query110from the user asking for the generation of a secondary or supplemental report121in the form of an error message or similar error or diagnostic summary that the user can present to a help or service professional for further assistance.

In some embodiments, the adaptive report system100may be configured to provide at least one report120in the form of at least one assessment of at least one database that may be integrated with or communicatively coupled to the adaptive report system100. By way of example and not limitation, the adaptive report system100may receive a query110from a user that requires access to data that is not currently available or accessible to the adaptive report system100. Instead of providing a general response to the user that a successful report120could not be generated in response to the query110, the adaptive report system100may provide an alternative report121that specifically indicates or identifies what data needs to be obtained or accessed in order to successfully respond to the original query110.

For example, if a user submits a query110to the adaptive report system100regarding potential water usage at a particular location or region, the adaptive report system100may require access to data pertaining to the irrigable square footage of that location or region. If this data is not accessible or available, the adaptive report system100may provide an auditory, written, or otherwise perceivable report121that indicates that the query110could not be sufficiently addressed because there is no data on irrigable square footage within or available to the adaptive report system100. In some aspects, the adaptive report system100may further indicate to the user how to remedy a situation involving insufficient availability of or access to data. To further illustrate the previous example, the adaptive report system100may indicate to the user that remedying the situation may require a data synchronization to the appropriate system of record.

Alternatively, in some implementations, the adaptive report system100may indicate to a user that the data relevant to the query110exists generally but is not available for a specific query110. To continue from the previous example, in some non-limiting exemplary embodiments, the adaptive report system100may provide a report121to the user that the relevant irrigation data is coming into the adaptive report system100but does not exist for the specific location identified in the query110. In some aspects, if necessary, the report121may further comprise one or more potential remedial actions to be taken by the user. To still further illustrate the previous example, the report121may suggest that the user check to make sure the relevant data exists for the location specified in the query110in the relevant customer information system.

In some implementations, the adaptive report system100may be configured for use with at least one of: a mobile computing device, such as a smartphone; a wearable technology device, such as a smartwatch or smart glasses; an augmented reality device, such as a headset or goggles; or any other type of head-up display, such as may be associated with automobiles or aircraft. In some aspects, one or more software applications may be implemented or associated with one or more of these devices to, among other things, optimize the display of the adaptive report system100upon the device(s), utilize location information that may be retrieved from the devices, or present one or more reports120,121as notifications that may be displayed on the device(s).

For example, a user wearing a smartwatch may opt to allow the adaptive report system100to access and use the location information within or associated with the smartwatch, such as, for example and not limitation, location information that may be accessed from one or more Global Positioning System (GPS) receivers within the smartwatch. The user may then be able to submit a query110to the adaptive report system100that is at least partially based on the user's location. To further illustrate this example, the user may submit a query110requesting information about the three highest revenue generating customers within a mile of the user's current location. If the user opts to let the adaptive report system100send notifications to the smartwatch (or any other previously-identified device), then the user could include a request for one or more types of notifications with the submitted query110. As a further illustrative example, a user who may be a service technician for an electrical company may submit a query110that requests that the adaptive report system100present a report120in the form of a notification when the user travels past an overloaded transformer along the technician's work route.

In some aspects, the adaptive report system100may comprise one or more authentication means from any user(s) attempting to retrieve data from one or more databases using the adaptive report system100. In some embodiments, by way of example and not limitation, the authentication may comprise a password, passcode, vocal sample, fingerprint scan, retinal scan, facial recognition, or any similar means of identifying one or more users.

In some implementations, the adaptive report system100may be configured to interact with one or more third-party software applications in order to access one or more databases or other data sources that may be associated with such third-party software applications.

In some embodiments, the adaptive report system100may comprise one or more processors communicatively coupled to one or more internal or external memory resources, such as, for example and not limitation, one or more databases, via one or more wireless or wired connections, wherein the one or more memory resources may comprise one more instructions, or code, in the form of, for example and not limitation, one or more software applications, that may facilitate the performance of the processes and methods accomplished or carried out by the adaptive report system100. In some aspects, the one or more processors of the adaptive report system100may be communicatively coupled, either wirelessly or via one or more wired connections, to at least one of: the at least one user interface and the at least one NLP.

Referring now toFIG.2, an exemplary adaptive report system200is illustrated. In some embodiments, the adaptive report system200may comprise at least one user205. In some implementations, the user205may submit at least one query210through vocal dictation or submitted text, as a list of non-limiting examples. In some aspects, the query210may be received and processed by at least one natural language processor (NLP)240via at least one user interface.

In some embodiments, the NLP240may convert the query210into a translated query250. In some implementations, a voice-dictated query210may be received in common, conversational, or natural language. In some aspects, the user205may speak using common generic language to ask a question or otherwise describe the contents of a desired report220. The use of conversational or natural language may enable the user205to describe the desired report220without needing to know or memorize one or more key terms or phrases.

In some embodiments, the NLP240may interpret the received natural language query210and decipher one or more corporate language terms or phrases from the query. In some implementations, the NLP240may interpret inventory terminology, marketing terminology, technical terminology, and internal labeling terminology, as a non-limiting list of exemplary categories of potentially receivable terms or phrases, as “in-house” or corporate language terms or phrases. In some aspects, the NLP240may convert the received query210from conversational or natural language to a company's or industry's corporate language. In some embodiments, the process of converting the natural language query210into corporate language may generate a translated query250. The process of converting the natural language query210into corporate language by way of translation may enable the adaptive report system200to effectively respond to novel queries210.

By way of comparison and not limitation, in some implementations, a traditional autonomous conversation between a user and a computer-based virtual assistant may be based on a predetermined number of potential responses related to an anticipated field of inquiry. The number of acceptable received queries210may therefore be limited to the anticipated field of inquiry and to a limited number of formats. This may be a result of the inevitable impossibility of the autonomous conversational virtual assistant being able to process a nearly infinite number of potential requests in any form and accurately provide a correct relevant answer to the user205.

In contrast, the NLP240, by translating the natural language query210into a corporate language rather than matching the query210to a plurality of predetermined terms or phrases, the NLP240may accurately generate and process a translated query250that has never been previously submitted to the adaptive report system200and use the translated query250to generate a novel customized report220that has not previously existed that corresponds to the submitted translated query250, despite having no previous context to compare either the query210or the report220and having no previously established association between the query210and the information or data in the report220.

In some aspects, the adaptive report system200may store an amount of training data within one or more memory resources communicatively coupled to the adaptive report system200, wherein the amount of training data at least partially comprises one or more previous queries210, translated queries250, and/or reports220, as well as one or more associations between the report(s)220and at least one of: one or more queries210and one or more translated queries250, wherein the amount of training data enhances the performance, functionality, efficiency, and/or accuracy of the NLP240when interpreting one or more future subsequent novel queries210and converting the subsequent queries210into one or more subsequent translated queries250to generate one or more future novel subsequent reports220.

In some implementations, the translated query250may initiate the generation of at least one database query255, wherein the translated query250may instruct the at least one database query255. In some aspects, the database query255may at least partially determine one or more parameters of a search that may be directed to at least one database260that may be configured internally within the adaptive report system100or configured externally and associated with the adaptive report system200, wherein the at least one database260may comprise data that may be relevant to the database query255.

In some embodiments, the database query255may further at least partially comprise one or more instructions for at least one of: data management within at least one database260and data retrieval from at least one database260. For example, the database query255may request all rows of a table in a database260labeled “pipes” that comprise a specified length of2feet or longer. In some implementations, the database query255may at least partially comprise a Structured Query Language, or “SQL” query.

In some embodiments, one or more databases260associated with the adaptive report system200may be communicatively coupled to at least one component of the adaptive report200, such as, by way of example and not limitation, NLP240. In some implementations, one or more databases260may be communicatively coupled to the adaptive report system200via a wireless connection or a wired connection. In some aspects, one or more databases260associated with the adaptive report system200may be connected to the adaptive report system200via at least one network connection, such as the global public Internet or a private local area network connection.

In some embodiments, one or more results from the database query255may be presented as at least one report220, wherein the one or more results may be at least partially based on data retrieved via the database query255. In some implementations, the database query255may be presented via at least one user interface that may be configured to make the database query255editable by the user205. Continuing the previous example, the user205may edit a database query255by modifying one or more parameters of the database query255to specify a limit of the first five results in the database260table “pipes” that comprise a specified length of 2 feet or longer.

In some aspects, the user205may modify a report220by modifying the associated database query255by selecting an option within the user interface of the adaptive report system200that enables the text of the database query255to be edited or modified. In some embodiments, the adaptive report system200may comprise one or more reference tools to facilitate the implementation of one or more common edits to the database query255. In some implementations, the one or more reference tools may enable common users205to modify a database query255without any advanced knowledge of coding syntax for database queries255. In some aspects, the edits the user205applies to the database query255may be analyzed or stored by the adaptive report system200to improve the generation of future translated queries250that may be produced by the NLP240and/or to improve the generation of database queries255that may be compiled by the adaptive report system200.

Referring now toFIG.3, an algorithm of an exemplary adaptive report system300is illustrated. In some embodiments, the adaptive report system300may comprise at least one query310. In some implementations, the at least one query310may be converted by the adaptive report system300to at least one database query355. In some aspects, one or more results from the database query355may be compiled and used to produce at least one report320that may be presented to at least one user. In some embodiments, the adaptive report system300may use at least one verification330to solicit feedback from the user to iteratively improve the accuracy of report320generation from submitted queries310.

In some embodiments, the adaptive report system300may present at least one verification330of the report320to at least one user after the adaptive report system300presents a report320to the user. In some implementations, the user may interact with the verification330, such as, for example and not limitation, via at least one user interface, to provide feedback to the adaptive report system300.

In some aspects, when the verification330may be presented to the user after the report320, the adaptive report system300may use the feedback received from the user to refine the compilation of the data as interpreted by the NLP based on the associated received query310. In some embodiments, when the verification330may be presented to the user after the report320, the adaptive report system300may use the feedback received from the user to refine the process of handling future novel queries310.

In some implementations, if the response to a verification330from a user affirms the accuracy of a report320generated by a novel query310, the adaptive report system300may approve and prompt the storage of an amount of training data within one or more memory resources communicatively coupled to the adaptive report system300, wherein the amount of training data at least partially comprises the report320and at least one of: the query310and the database query355that was generated from the query310, as well as one or more associations between the report320and the query310and/or the database query355, wherein the amount of training data facilities enhancement of the performance, functionality, efficiency, and/or accuracy of the NLP when interpreting one or more future novel subsequent queries310and converting the subsequent queries310to one or more subsequent database queries355to generate one or more novel subsequent reports320. In some aspects, if the verification330affirms the accuracy of the report generated by a novel query310, the affirmation may prompt the adaptive report system300to store one or more analytics associated with the query310, such as, by way of example and not limitation, the process of deduction from receiving a novel query310to generating a novel report320, to improve the accuracy of predictive generation of future novel reports320from novel queries310facilitated by the adaptive report system300.

In some embodiments, a response from a user to a verification330may comprise a second query310for a second new, supplemental, or alternative report320. In some implementations, a user may interact with the verification330of a query310to negatively affirm an inaccuracy of a generated report320. In some aspects, the verification330of such inaccuracy may initiate the generation of a second report320. In some embodiments, the user response to the verification330may initiate the production of a second report320that expounds on or displays alternative information to the first report320.

In some implementations, the verification330may enable a user to conduct a process of discovery wherein, upon review of the first report320, the user may determine that additional insight or information is needed or desired. In some aspects, the process of presenting the user with a verification330and generating a report320may continue reiteratively until the user is satisfied that a sufficient number and/or quality of reports320have been generated that portray all desired compilations of information.

Referring now toFIG.4, an algorithm of an exemplary adaptive report system400is illustrated. In some embodiments, the adaptive report system400may comprise at least one query410. In some implementations, the at least one query410may be converted by the adaptive report system400to at least one database query455. In some aspects, one or more results from the database query455may produce at least one report420that may be presented to at least one user. In some implementations, the adaptive report system400may use at least one verification430to solicit feedback from the user to iteratively improve the accuracy of report420generation from submitted queries410.

In some embodiments, the adaptive report system400may present at least one verification430of the report420to at least one user after the adaptive report system400presents a report420to the user. In some implementations, the user may interact with the verification430, such as, for example and not limitation, via at least one user interface, to provide feedback to the adaptive report system400.

In some aspects, when the verification430may be presented to the user after the report420, the adaptive report system400may use the feedback received from the user to refine the compilation of the data as interpreted by the NLP based on the associated query410. In some embodiments, when the verification430may be presented to the user after the report420, the adaptive report system400may use the feedback received from the user to refine the process of handling future novel queries410.

In some implementations, if the response to a verification430from a user affirms the accuracy of a report420generated by a novel query410, the adaptive report system400may approve and prompt the storage of an amount of training data within one or more memory resources communicatively coupled to the adaptive report system400, wherein the amount of training data at least partially comprises the report420and at least one of: the query410and the database query455that was generated from the query410, as well as one or more associations between the report420and the query410and/or the database query455, wherein the amount of training data facilitates enhancement of the performance, functionality, efficiency, and/or accuracy of the NLP when interpreting one or more future novel subsequent queries410and converting the subsequent queries410to one or more subsequent database queries455to generate one or more future novel subsequent reports420. In some aspects, if the verification430affirms the accuracy of the report generated by a novel query410, the affirmation may prompt the adaptive report system400to store one or more analytics associated with the query410, such as, by way of example, the process of deduction from receiving a novel query410to generating a novel report420, to improve the accuracy of predictive generation of future novel reports420from novel queries410facilitated by the adaptive report system400.

In some embodiments, a response from a user to a verification430may comprise a second query410for a second new, supplemental, or alternative report420. In some implementations, a user may interact with the verification430of a query410to negatively affirm an inaccuracy of a generated report420. In some aspects, the verification430of such inaccuracy may initiate the generation of a second report420. In some embodiments, the user response to the verification430may initiate the production a second report420that expounds on or displays alternative information to the first report420.

In some implementations, the verification430may enable a user to conduct a process of discovery wherein, upon review of the first report420, the user may determine that additional insight or information is needed or desired. In some aspects, the process of presenting the user with a verification430and generating a report420may continue reiteratively until the user is satisfied that a sufficient number and/or quality of reports420have been generated that portray all desired compilations of information.

Referring now toFIG.5, an exemplary adaptive report system500is illustrated. In some embodiments, the adaptive report system500may comprise at least one query510. In some implementations, the adaptive report system500may produce at least one report520from the at least one query510. In some aspects, when a user may want to modify a created report520, the user may edit the database query555via at least one user interface.

In some implementations, the adaptive report system500may receive a query510from a user and convert the query510to a translated query550that may initiate the generation of at least one database query555, wherein the translated query550may instruct the at least one database query555. In some aspects, the database query555may at least partially determine one or more parameters of a search that may be directed to at least one database that may be configured internally within the adaptive report system500or configured externally and associated with the adaptive report system500, wherein the at least one database may comprise data that may be relevant to the database query555. For example, the database query555may request all rows of a table in a database labeled “pipes” that comprise a specified length of 2 feet or longer. In some aspects, the database query555may at least partially comprise an SQL query.

In some embodiments, one or more databases associated with the adaptive report system500may be communicatively coupled to at least one component of the adaptive report500, such as, by way of example and not limitation, at least one NLP. In some implementations, one or more databases may be communicatively coupled to the adaptive report system500via a wireless connection or a wired connection. In some aspects, one or more databases associated with the adaptive report system500may be connected to the adaptive report system500via at least one network connection, such as the global public Internet or a private local area network connection.

In some embodiments, one or more results from the database query555may be presented as at least one report520, wherein the one or more results may be at least partially based on data retrieved via the database query555. In some implementations, the database query555may be presented via at least one user interface that may be configured to make the database query555editable by a user. Continuing the previous example, the user may edit a database query555by modifying one or more parameters of the database query555to specify a limit of the first five results in the database table “pipes” that comprise a specified length of 2 feet or longer.

In some aspects, a user may modify a report520by modifying the database query555associated there with by selecting an option within the user interface of the adaptive report system500that enables the text of the database query555to be edited or modified. In some embodiments, the adaptive report system500may comprise one or more reference tools to facilitate the implementation of one or more common edits to the database query555. In some implementations, the one or more reference tools may enable common users to modify a database query555without any advanced knowledge of coding syntax for database queries555.

In some aspects, the ability to edit database queries555may allow a user to correct simple syntax errors or table name discrepancies in a database query555. As an example, the adaptive report system500may misinterpret a request and compile an inaccurate database query555based on an incorrectly translated natural language query510term. This error may be fixed more easily or efficiently by editing the intended query510term in the existing database query555via an input device associated with a user interface rather than making a second attempt to create a new query510. In some implementations, the edits the user applies to the database query555may be analyzed or stored by the adaptive report system500to improve the generation of future translated queries550that may be produced by the NLP and/or to improve the generation of database queries555that may be compiled by the adaptive report system500.

As another example, if a user were to submit an SQL query that used double-quotes instead of single-quotes (e.g. WHERE=“” would generate an error), the adaptive report system500may respond with an error message, as well as a suggested query510that may work with the intended schema. This may offer users a way to boost efficiency and productivity by not having to spend time writing out any SQL blocks from scratch.

Referring now toFIG.6, an exemplary adaptive report system600is illustrated. In some embodiments, the adaptive report system600may comprise at least one NLP640. In some implementations, the NLP640may interface with at least one translated query650. In some aspects, the translated query650may be generated from at least one natural language query610.

In some embodiments, the query610may comprise at least one application programming interface (API). In some implementations, the query610may comprise at least one voice control component615, wherein the voice control component615may be configured to affect, influence, or modify at least one audio signal comprising one or more instructions for the query610received from at least one user via at least one audio receiving device associated with at least one user interface of the adaptive report system600. In some aspects, the voice control component615may be configured to convert or translate the audio signal to at least one textual query.

In some embodiments, the voice control component615may comprise one or more hardware or software products, or both, for filtering undesired audio frequencies from the received audio signal(s). In some implementations, the voice control component615may be configured to compensate for a plurality of accents and methods of pronunciation. In some aspects, a verification response from a user may provide the voice control component615with feedback that may continually improve the accuracy of transcriptions of audio signals when the response to the verification affirms the accuracy or inaccuracy of a previous audio signal to textual transcription.

In some embodiments, the query610may comprise at least one data visualization page, wherein at least one report may be generated and visually presented in at least one format to a user after the query610has been processed by the adaptive report system600. In some implementations, the user may have the ability to change or modify the visualization format of the report.

For example, a drop-down menu may be located beneath a currently presented report in the form of a bar graph. When an alternative visualization of the report is selected, such as, for example and not limitation, a pie chart, the report may update to reflect the desired visualization. In some aspects, when selecting a visualization, a user may submit a second query610to the adaptive report system600. In some implementations, the query610may comprise a front-end user interface that presents the transcription of previously submitted audio queries610for review by a user.

In some aspects, the query610may comprise a Representational State Transfer, or “REST,” API, wherein the REST API may comprise a data transfer architectural style for an API that may use HTTP requests to access and use data. In some embodiments, the REST API may facilitate data transfer between the query610and at least one database. In some implementations, the REST API may facilitate data interactions with the database such as reading data, updating data, creating data, and deleting operations concerning stored data, as a non-limiting list of examples.

In some aspects, the query610may comprise a stub API, wherein the stub API may allow the adaptive report system600to define a set of operations that may otherwise be performed against a real API endpoint. When components may be created that need to fetch data from a database, any of the API operations defined within a stub API may be selectable as options.

In some embodiments, the translated query650may interface with the NLP640. In some implementations, the NLP640may convert a received natural language query610into a translated query650. In some aspects, the translated query650may at least partially comprise a backend controller, wherein the backend controller may interface with one or more databases to facilitate data extraction and aggregation in accordance with the criteria outlined in the translated query650.

Referring now toFIG.7, method steps of an exemplary process700for substantially real-time data retrieval using an adaptive report system are illustrated. At705, at least one query may be received from at least one user via at least one user interface, wherein the at least one query is at least partially received via at least one of: an audio signal and a textual input from the at least one user. In some aspects, at710, the at least one query may be converted into at least one translated query, wherein the conversion may be facilitated by at least one NLP, wherein the at least one NLP converts the at least one query into the at least one translated query by identifying one or more natural language terms within the at least one query and translating the the one or more natural language terms into an industrial or corporate language that forms the at least one translated query.

In some implementations, at715, at least one database query may be generated from the at least one translated query. In some aspects, the database query may at least partially comprise an SQL query. In some embodiments, at720, the at least one database query may be used to retrieve data from one or more databases according to one or more parameters defined by the at least one database query. At725, at least one report that visually presents the data retrieved from the at least one database query may be generated. At730, the at least one report may be presented to the at least one user, such as, for example and not limitation, via at least one user interface, and at735, a response to at least one verification may be requested from the at least one user to verify or affirm the accuracy or inaccuracy of the generated report. In some implementations, at740, the process of report generation may be repeated as requested by the user via the verification response received at735.

Referring now toFIG.8, method steps of an exemplary process800for substantially real-time data retrieval using an adaptive report system that queries and retrieves data from multiple data sources sequentially are illustrated. At805, at least one common or natural language query may be received in the form of at least one of: a voice or audio input or a textual input. In some aspects the received natural language query may involve referring to or searching one or more data sources, such as, by way of example and not limitation, one or more databases that may be communicatively coupled, either wirelessly or via one or more wired connections, to the adaptive report system. In some embodiments, at810, a data source may be selected based on a previously determined priority sequence for all data sources, wherein the priority sequence may be determined at least partially by one or more users or completely autonomously by the adaptive report system.

In some aspects, the priority sequence may be at least partially based on how relevant the data within each data source is to the received query. In some implementations, at815, the received natural language query may be converted into a translated query that at least partially comprises an industrial or corporate language using an NLP model that may be configured for use with the specific selected data source. In some aspects, at820one or more corrections or modifications may be performed on or applied to the translated query as needed to clean it up, enhance its clarity or accuracy, or at least partially convert it to an SQL format, and thereby generate at least one database query. In some embodiments, the corrections or modifications applied to generate the database query may be at least partially implemented by one or more users via at least one user interface, or the corrections or modifications may be identified and implemented in a completely autonomous manner by the adaptive report system. In some implementations, at825, the selected data source may be searched using the database query.

In some aspects, at830, it may be determined whether the query successfully retrieved relevant data to produce one or more results. In some embodiments, an affirmative determination may cause the process800to proceed to835, while a negative determination may cause the process800to proceed to840. In some implementations, at835, the one or more results may be displayed or otherwise presented to at least one user via at least one user interface in the form of at least one report. In some aspects, at840, it may be determined whether any other data sources are left to search. In some implementations, this determination may be made by the adaptive report system.

In some embodiments, an affirmative determination may cause the process800to proceed to810, while a negative determination may cause the process800to proceed to845. In some implementations, at845, one or more links or citations may be provided to at least one user via at least one user interface that may direct the user(s) to one or more previously generated reports that nay be associated with one or more key words within the query that was used to search the data source(s).

Referring now toFIG.9, method steps of an exemplary process900for substantially real-time data retrieval using an adaptive report system that queries and retrieves data from multiple data sources concurrently are illustrated. At905, at least one common or natural language query may be received in the form of at least one of: a voice or audio input or a textual input. In some aspects, the received natural language query may involve referring to or searching a plurality of data sources, such as, by way of example and not limitation, a plurality of databases that may be communicatively coupled, either wirelessly or via one or more wired connections, to the adaptive report system. In some embodiments, at910, the received natural language query may be converted into a plurality of translated queries, wherein each translated query may at least partially comprise one of a plurality of industrial or corporate languages and may be generated by one of a plurality of NLP models, wherein each NLP model may be implemented by an NLP that may be associated with and configured for use with each specific data source that may be referenced or searched by the adaptive report system in attempt to respond to the received natural language query.

In some implementations, at915, one or more corrections or modifications may be performed on each translated query to clean it up, enhance its clarity or accuracy, or at least partially convert it to an SQL format, and thereby generate a plurality of database queries corresponding to the plurality of translated queries. In some embodiments, the corrections or modifications applied to generate the database queries may be at least partially implemented by one or more users via at least one user interface, or the corrections or modifications may be identified and implemented in a completely autonomous manner by the adaptive report system. In some implementations, at920, each data source within, associated with, integrated with, or accessible by the adaptive report system may be searched in a substantially concurrent or contemporaneous manner using one of the plurality of database queries that may be directed thereto. In some aspects, at925, the query of each data source may retrieve relevant data to produce one or more results that may be compiled to generate one or more reports, wherein the results of each query of each data source query may be graded or evaluated by the adaptive report system.

In some non-limiting exemplary embodiments, the query of one or more data sources may not produce any results. In some implementations, at930, the query results from each data source may be scored or comparatively ranked relative to the query results obtained from each of the other data sources comprising the plurality of data sources. In some aspects, the ranking may be at least partially based on input from one or more users via at least one user interface or the ranking may be completely determined by the adaptive report system in a substantially autonomous fashion. By way of example and not limitation, the ranking may be at least partially determined based on a relevancy assessment of the results to the received query or a quantity of data successfully obtained to generate the results.

In some embodiments, at935, it may be determined if any database query produced at least one result. In some implementations, an affirmative determination may cause the process900to proceed to940, while a negative determination may cause the process900to proceed to945. In some aspects, at940, the adaptive report system may display or otherwise present one or more of the highest ranking queried data source search results to at least one user in the form of at least one report via, for example and not limitation, at least one user interface. In some embodiments, at945, one or more links or citations may be provided to at least one user via at least one user interface that may direct the user(s) to to one or more previously generated reports associated with one or more key words within the query/queries that was/were used to search the data sources.

Conclusion

A number of embodiments of the present disclosure have been described. While this specification contains many specific implementation details, these should not be construed as limitations on the scope of any disclosures or of what may be claimed, but rather as descriptions of features specific to particular embodiments of the present disclosure.

Thus, particular embodiments of the subject matter have been described. Other embodiments are within the scope of the following claims. In some cases, the actions recited in the claims can be performed in a different order and still achieve desirable results. In addition, the processes depicted in the accompanying figures do not necessarily require the particular order shown, or sequential order, to achieve desirable results. In certain implementations, multitasking and parallel processing may be advantageous. Nevertheless, it will be understood that various modifications may be made without departing from the spirit and scope of the claimed disclosure.