US20220035795A1 - Report management system - Google Patents
Report management system Download PDFInfo
- Publication number
- US20220035795A1 US20220035795A1 US16/983,785 US202016983785A US2022035795A1 US 20220035795 A1 US20220035795 A1 US 20220035795A1 US 202016983785 A US202016983785 A US 202016983785A US 2022035795 A1 US2022035795 A1 US 2022035795A1
- Authority
- US
- United States
- Prior art keywords
- reports
- existing
- context
- modeling
- existing reports
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2379—Updates performed during online database operations; commit processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/105—Human resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/252—Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/338—Presentation of query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/169—Annotation, e.g. comment data or footnotes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/067—Enterprise or organisation modelling
Definitions
- the present disclosure relates generally to an improved computer system and, in particular, to a method and apparatus for managing reports. Still more particularly, the present disclosure relates to a method and apparatus for creating new reports for applications.
- Information systems are used for many different purposes.
- the different operations performed using the information system may be referred to as transactions.
- an information system may be used to process payroll to generate paychecks for employees in an organization.
- the different operations performed to generate paychecks for a pay period using the information system may be referred to as a transaction.
- an information system also may be used by a human resources department to maintain benefits and other records about employees.
- a human resources department may manage health insurance, wellness plans, and other programs in an organization using an employee information system.
- an information system may be used to determine when to hire new employees, assign employees to projects, perform reviews for employees, and other suitable operations for the organization.
- information systems include purchasing equipment and supplies for an organization.
- information systems may be used to plan and rollout a promotion of a product for an organization.
- an operator may desire to generate a report for a particular type of transaction.
- the operator may use report generator software to generate reports that are human readable from different sources such as databases in the information systems.
- report generator software are often more difficult to use than desired.
- This type of software requires the operator to have knowledge about how information is stored to select what information to use in a report. For example, the operator may need to know what fields, tables, or columns in the database should be selected for including desired information in the report.
- an operator may need to have experience or training with respect to report generator software and databases in addition to the experience and training to perform the transaction for which the report is being generated. This additional skill may limit the number of operators who are able to generate reports. Additionally, operators who do not generate reports very often may find that report generating may take more time and may be more difficult than desired.
- An embodiment of the present disclosure provides a computer-implemented a method for generating reports.
- Existing reports are collected and modeled to determine a number of contexts.
- An index of the existing reports is generated according the contexts determined by the modeling.
- a predicted context of a new report is predicted according to the modeling.
- suggested reports are identified based on the predicted context for the new report.
- the suggested reports are presented in a graphical user interface.
- the system comprises a bus system and a storage device connected to the bus system.
- the storage device stores program instructions that are executed by a number of processors.
- the number of processors execute the program instructions to collect existing reports.
- the number of processors further execute the program instructions to model the existing reports to determine a number of contexts of the existing reports.
- the number of processors further execute the program instructions to generate an index of the existing reports according the contexts determined by the modeling.
- the number of processors further execute the program instructions to predict, according to the modeling, a predicted context of a new report.
- the number of processors further execute the program instructions to identify, according to the index, suggested reports based on the predicted context for the new report.
- the number of processors further execute the program instructions to present the suggested reports in a graphical user interface.
- the computer program product comprises a computer readable storage media and program code stored thereon.
- the program code includes code for collecting existing reports.
- the program code further includes code for modeling the existing report to determine a number of contexts of the existing reports.
- the program code further includes code for generating an index of the existing reports according to the contexts determined by the modeling.
- the program code further includes code for predicting, according to the modeling, a predicted context of the new report.
- the program code further includes code for identifying, according to the index, suggested reports based on the predicted context for the new report.
- the program code further includes code for presenting the suggested reports in a graphical user interface.
- FIG. 1 is a pictorial representation of a network of data processing systems depicted in which illustrative embodiments may be implemented;
- FIG. 2 is a block diagram of report processing environment depicted in accordance with an illustrative embodiment
- FIG. 3 is a data flow diagram for modeling existing reports in the context of a human resources system according to an illustrative embodiment
- FIG. 4 is a flowchart illustrating a process for managing reports depicted in accordance with an illustrative embodiment
- FIG. 5 is a process for modeling existing reports depicted according to an illustrative example
- FIG. 6 is a process for scoring features of existing reports depicted according to an illustrative example
- FIG. 7 is a process for predicting a context for a new report depicted according to an illustrative example
- FIG. 8 is a process for generating a new report is depicted according to an illustrative example.
- FIG. 9 an illustration of a block diagram of a data processing system is depicted in accordance with an illustrative embodiment.
- the illustrative embodiments recognize and take into account one or more different considerations. For example, the illustrative embodiments recognize and take into account that the process currently used to generate reports may be more cumbersome and difficult than desired. For example, an operator, who desires to generate a report for a transaction being performed using an application, exits or leaves the application and starts a new application for generating reports, such as currently used report generator software.
- the illustrative embodiments also recognize and take account that currently available report generator software uses the names of columns, fields, tables, or other data structures in presenting selections to an operator.
- the illustrative embodiments recognize and take into account that often times, the names used in a database may not be the same as the name of the field as displayed in the application used by the operator to perform the transaction.
- those embodiments provide a method and apparatus for managing reports.
- a method may be present that helps an operator generate a new report more quickly and easily as compared to currently available report generator software.
- a method is present a computer-implemented a method for generating reports.
- Existing reports are collected and modeled to determine a number of contexts.
- An index of the existing reports is generated according the contexts determined by the modeling.
- a predicted context of a new report is predicted according to the modeling.
- suggested reports are identified based on the predicted context for the new report.
- the suggested reports are presented in a graphical user interface.
- a group of when used with reference to items, means one or more items.
- a group of reports is one or more reports.
- a number of when used with reference to items, means one or more items.
- a group of contexts is one or more contexts.
- a field is a space that holds a piece of data.
- the space may be, for example, in a location in a record for a database.
- the space may be in a location of memory of a computer system.
- the space When the space is in an application, the space may be in a data structure in the application.
- Network data processing system 100 is a network of computers in which the illustrative embodiments may be implemented.
- Network data processing system 100 contains network 102 , which is the medium used to provide communications links between various devices and computers connected together within network data processing system 100 .
- Network 102 may include connections, such as wire, wireless communication links, or fiber optic cables.
- server computer 104 and server computer 106 connect to network 102 along with storage unit 108 .
- client devices 110 connect to network 102 .
- client devices 110 include client computer 112 , client computer 114 , and client computer 116 .
- Client devices 110 can be, for example, computers, workstations, or network computers.
- server computer 104 provides information, such as boot files, operating system images, and applications to client devices 110 .
- client devices 110 can also include other types of client devices such as mobile phone 118 , tablet computer 120 , and smart glasses 122 .
- server computer 104 is network devices that connect to network 102 in which network 102 is the communications media for these network devices.
- client devices 110 may form an Internet-of-things (IoT) in which these physical devices can connect to network 102 and exchange information with each other over network 102 .
- IoT Internet-of-things
- Client devices 110 are clients to server computer 104 in this example.
- Network data processing system 100 may include additional server computers, client computers, and other devices not shown.
- Client devices 110 connect to network 102 utilizing at least one of wired, optical fiber, or wireless connections.
- Program code located in network data processing system 100 can be stored on a computer-recordable storage medium and downloaded to a data processing system or other device for use.
- the program code can be stored on a computer-recordable storage medium on server computer 104 and downloaded to client devices 110 over network 102 for use on client devices 110 .
- network data processing system 100 is the Internet with network 102 representing a worldwide collection of networks and gateways that use the Transmission Control Protocol/Internet Protocol (TCP/IP) suite of protocols to communicate with one another.
- TCP/IP Transmission Control Protocol/Internet Protocol
- network data processing system 100 also may be implemented using a number of different types of networks.
- network 102 can be comprised of at least one of the Internet, an intranet, a local area network (LAN), a metropolitan area network (MAN), or a wide area network (WAN).
- FIG. 1 is intended as an example, and not as an architectural limitation for the different illustrative embodiments.
- a number of when used with reference to items, means one or more items.
- a number of different types of networks is one or more different types of networks.
- a set of” or “at least one of,” when used with a list of items means different combinations of one or more of the listed items can be used, and only one of each item in the list may be needed.
- “at least one of” means any combination of items and number of items may be used from the list, but not all of the items in the list are required.
- the item can be a particular object, a thing, or a category.
- “at least one of item A, item B, or item C” may include item A, item A and item B, or item B. This example also may include item A, item B, and item C or item B and item C. Of course, any combinations of these items can be present. In some illustrative examples, “at least one of” can be, for example, without limitation, two of item A; one of item B; and ten of item C; four of item B and seven of item C; or other suitable combinations.
- Report management system 126 is an application for creating and managing reports. Every report created by report management system 126 has a purpose and an objective, which leads to the intention of the report owner.
- report management system 126 collects existing reports 128 .
- Existing reports 128 have been previously generated from a large data set.
- Existing reports 128 can be generated from one or more fields in the large data set.
- Fields are spaces for pieces of data.
- the columns of the table are the fields.
- the rows of the table are records.
- the records in the table are values for the fields.
- Fields are spaces where pieces of data are located. These pieces of data are used to perform transactions.
- the fields can include at least one of salary, tax information, or other suitable types of payroll data.
- report management system 126 uses artificial intelligence system 136 to determine a number of contexts 132 of the existing reports 128 .
- Contexts 132 provide relevant information about the entire report, about the other fields (or features) of the report.
- Contexts 132 are the intents of existing reports 128 .
- Contexts 132 characterize the intention of Existing reports 128 , based only for the fields within the existing reports 128 .
- Report management system 126 generates an index 138 of the existing reports 128 according the contexts 132 determined by the modeling.
- index 138 provides a well defined set of context and indexes, that enable report management system 126 to search existing reports 128 , and to recommend other fields to a user when composing or completing a in-progress report.
- Report management system 126 uses the modeling to predict the context of a new report 142 . Based on the index 138 , report management system 126 identifies suggested reports 144 from the existing reports 128 , and presents the suggested reports in a graphical user interface.
- Report management system 126 overcomes a technical problem of quickly and easily generating new reports.
- Report management system 126 characterizes the context of the existing reports 128 , enabling those reports to be searched based on their intended purpose and objective.
- this technical solution to the technical problem of generating reports provides a technical effect in which a new reports are generated more easily and quickly while requiring less knowledge or training from an operator.
- report management environment 200 includes components that can be implemented in hardware such as the hardware shown in network data processing system 100 in FIG. 1 .
- report management system 202 operates to generate reports 206 using artificial intelligence 204 .
- artificial intelligence 204 can be used to more efficiently generate reports 206 as compared to other report management systems that do not have artificial intelligence 204 .
- An artificial intelligence system is a system that has intelligent behavior and can be based on function of the human brain.
- An artificial intelligence system comprises at least one of an artificial neural network, and artificial neural network with natural language processing, a cognitive system, a Bayesian network, a fuzzy logic, an expert system, a natural language system, a cognitive system, or some other suitable system.
- Machine learning is used to train the artificial intelligence system. Machine learning involves inputting data to the process and allowing the process to adjust and improve the function of the artificial intelligence system.
- a cognitive system is a computing system that mimics the function of a human brain.
- the cognitive system can be, for example, IBM Watson available from International Business Machines Corporation.
- artificial intelligence 204 is located in computer system 210 and comprises modeling 218 for training a set of artificial intelligence models. When trained, each of these artificial intelligence models be used to characterize the context of reports 206 .
- Computer system 210 is a physical hardware system and includes one or more data processing systems. When more than one data processing system is present in computer system 210 , those data processing systems are in communication with each other using a communications medium.
- the communications medium may be a network.
- the data processing systems may be selected from at least one of a computer, a server computer, a tablet, or some other suitable data processing system.
- the number of processors can be on the same computer or on different computers in computer system 210 . In other words, the process can be distributed between processors on the same or different computers in computer system 210 .
- modeling 218 in artificial intelligence training system 214 in computer system 210 operates to train artificial intelligence 204 for use in characterizing the context of reports 206 .
- modeling 218 artificial intelligence training system 214 trains one or more artificial intelligence models.
- Modeling 218 can be implemented in software, hardware, firmware or a combination thereof.
- the operations performed by modeling 218 can be implemented in program code configured to run on hardware, such as a processor unit.
- firmware the operations performed by modeling 218 can be implemented in program code and data and stored in persistent memory to run on a processor unit.
- the hardware may include circuits that operate to perform the operations in modeling 218 .
- the hardware may take a form selected from at least one of a circuit system, an integrated circuit, an application specific integrated circuit (ASIC), a programmable logic device, or some other suitable type of hardware configured to perform a number of operations.
- ASIC application specific integrated circuit
- the device can be configured to perform the number of operations.
- the device can be reconfigured at a later time or can be permanently configured to perform the number of operations.
- Programmable logic devices include, for example, a programmable logic array, a programmable array logic, a field programmable logic array, a field programmable gate array, and other suitable hardware devices.
- the processes can be implemented in organic components integrated with inorganic components and can be comprised entirely of organic components excluding a human being.
- the processes can be implemented as circuits in organic semiconductors.
- modeling 218 identifies existing reports 216 .
- Modeling 218 trains artificial intelligence 204 by creating one or more models of existing reports 216 .
- the training is performed using a set of machine learning algorithms.
- each existing report 216 includes fields 220 .
- fields 220 include title field 222 , description field 224 , and at least one other field in fields 226 .
- Modeling 218 models existing reports 216 by generating annotations 228 for the existing reports 216 according to a title field 222 and a description field 224 . Modeling 218 then determines a number of contexts 230 for the number of existing reports 216 according to the annotations 228 .
- modeling 218 generates annotations 228 for existing reports 216 , considering only the title field 222 and description field 224 .
- two or more (M) contexts (like classes, C) are defined with a unique key term (the label, L) for each context and a set of exclusive terms (T) that represent the respective context:
- T i ⁇ t 1 ,t 2 , . . . t N ⁇
- modeling 218 sum the labels L, defining new labels.
- each of existing reports 216 may be of one or more contexts 230 .
- artificial intelligence 204 may comprise a heuristic that provides a desired level of intelligence when generating annotations 228 for existing reports 216 .
- a heuristic that provides a desired level of intelligence when generating annotations 228 for existing reports 216 . For example:
- modeling 218 defines the features 232 of existing reports 216 .
- other fields in fields 226 may include fields such as First Name, Last Name, Job Description, Job position, and First Address, as well as other suitable fields.
- the at least one other field in fields 226 of each existing report 216 characterize the context of the report, for example, a Head Count, Turnover, Performance, and Payroll, as well as other suitable fields.
- Features 232 may include names of the other fields 226 . Additionally, features 232 may include a category of the field, type of aggregation, possible type of filters, and type of aggregation.
- modeling 218 considers features 232 of: a name of the field (such as for example, first name, last name), a category of the field (such as, for example, profile, earnings) and a filter type (such as, for example, by job position, by department).
- a name of the field such as for example, first name, last name
- a category of the field such as, for example, profile, earnings
- a filter type such as, for example, by job position, by department.
- modeling 218 can represent a j-th report (Rj) as:
- R j ⁇ L j ,F j ,FC j ,FT j ⁇
- FC j ⁇ fc 1 ,fc 2 , . . . ,fc p ⁇
- modeling 218 For each context (label) annotated, modeling 218 applies a scoring method of counting unique occurrences for each value in other fields 226 . Modeling 218 then normalizes the total number of occurrences, ranking it and choosing the max sum of values.
- the ranking is build using a set of annotated reports.
- the scores ⁇ , ⁇ and ⁇ area a normalization of theirs counting occurrences for each labelled context.
- the model (M( ⁇ )) have the ranks ( ⁇ ) of each feature (F, FC and FT) for each i-th label:
- ⁇ i ⁇ L i , ⁇ i , ⁇ i , ⁇ i ⁇
- ⁇ i ⁇ ( fn 1 , ⁇ 1 ),( fn 2 , ⁇ 2 ), . . . ,( fn n , ⁇ n ) ⁇
- ⁇ i ⁇ ( fc 1 , ⁇ 1 ),( fc 2 , ⁇ 2 ), . . . ,( fc m , ⁇ m ) ⁇
- ⁇ i ⁇ ( ft 1 , ⁇ 1 ),( ft 2 , ⁇ 2 ), . . . ,( ft p , ⁇ p ) ⁇
- Modeling 218 insurers the maximum probability of an annotated label for given values. To consider a possible difference of relevance between the fields, for example, features 232 , each ranked field is weighted by a value between 0 and 1. In one illustrative example, modeling 218 uses a parameter optimizer To achieve these weights.
- the parameter optimizer can be, for example, a genetic algorithm, a gradient boost, as well as other suitable optimizers.
- Modeling 218 predicts contexts 230 of a given existing report 216 , returning the label (context) that maximizes the probability of this report have the predicted label:
- M ⁇ ( R ) arg ⁇ max L ⁇ P ⁇ ( L , R )
- Modeling 218 can use any suitable method to achieve the scores, such as simply counting, tf-idf, and Lift, as well as other suitable methods. In one illustrative example, modeling 218 adds the scores of the matched terms for each label and chooses the label with the highest sum.
- modeling 218 can validate training performed on artificial intelligence 204 using validation data, which can include in and use subset of existing reports 216 .
- Modeling 218 analyzes the process and results of validation data to determine whether artificial intelligence 204 performs with a desired level of accuracy.
- report management system 202 When a desired level of accuracy is reached, report management system 202 generates index 234 of the existing reports according the contexts 230 determined by the modeling 218 . From modeling 218 , report management system 202 can predict predicted context 244 of a new report 240 . According to the index 234 , Report management system 202 can identify suggested reports 242 from the existing reports 216 based on the predicted context 244 for the new report 240 . The suggested reports 242 can be presented in a graphical user interface 227 of a display system 229 of a client device, such as one or more of client devices 110 of FIG. 1 .
- Computer system 210 can be configured to perform at least one of the steps, operations, or actions described in the different illustrative examples using software, hardware, firmware or a combination thereof.
- computer system 210 operates as a special purpose computer system in which modeling 218 in computer system 210 enables training an artificial intelligence system to generate new reports.
- the use of artificial intelligence 204 in computer system 210 integrates processes into a practical application for a method of training an artificial intelligence system that increases the performance of computer system 210 .
- artificial intelligence 204 into in computer system 210 is directed towards a practical application of processes integrated into modeling 218 in computer system 210 that identifies intentions from previously generated reports.
- artificial intelligence system 204 for in computer system 210 utilizes annotations to train an artificial intelligence system using one or more machine learning algorithms in a manner that that results in an artificial intelligence system that is capable of identifying report intentions with a desired level of accuracy.
- artificial intelligence system 204 for in computer system 210 provides a practical application of a method for training an artificial intelligence system to characterize a report such that the functioning of computer system 210 is improved when using the trained artificial intelligence system.
- FIG. 3 depicts a data flow diagram for modeling existing reports in the context of a human resources system according to an illustrative embodiment.
- the data flow of FIG. 3 is one example in which report management system 202 of FIG. 2 can be implemented in a human resources environment.
- reports 310 consider two sets of human resources reports with size of N (e.g.: 1000 reports) each set, well randomised.
- N e.g. 1000 reports
- headcounts 312 and benefits 314 e.g. 1000 reports
- headcounts 312 includes the following fields, values, and applied filters:
- benefits 314 includes the following fields, values, and applied filters:
- the context are extracted with a annotation heuristic (1).
- the annotation process considers only the title and description fields, running for this two reports.
- the label is HEADCOUNT; and for report B, the label is BENEFITS.
- each label may have one or more key words, based on the title and description fields. All labels are given a priori.
- Generate Model M( ⁇ ) 330 calculates the frequency of fields and filters. In the current example, given the two labels:
- Test Step 340 uses the model generated at step 330 , to predict a context for all reports in dataset passed by annotation 350 .
- the context of reports passed by annotation 350 is a label predicted using only the fields, field categories and filters as features of the model.
- Test step 340 does not consider the title and description of annotation 350 data set.
- Annotation 350 is the same as annotation 320 . Basically, both dataset of train training and testing pass by same process. This process is a labelling process, which can use a heuristic, such. as that discussed above.
- Test Step 340 computes scores given for each feature.
- test step 340 determines a score for each label, and returns the label with highest score.
- Annotation 350 is verified by comparing the labels predicted by model M( ⁇ ) against the labels given in the process of annotation 320 .
- FIG. 4 a flowchart illustrating a process for managing reports is depicted in accordance with an illustrative embodiment.
- the process of FIG. 4 can be implemented in one or more components of computer system 210 of FIG. 2 .
- the process begins by collecting existing reports (step 410 ).
- Each existing report can include a number of fields, such as a title field, a description field, and at least one other field.
- the process models the existing reports to determine a number of contexts of the system reports (step 420 ).
- the process generates an index of the existing reports according to the context determined (step 430 ).
- the process predicts, according to the modeling, a predicted context of a new report (step 340 ). According to the index generated, the process identifies suggested reports based on the predicted context of the new report (step 350 ). The process then presents the suggested reports in a graphical user interface (step 360 ) and terminates thereafter.
- FIG. 5 a process for modeling existing reports is depicted according to an illustrative example.
- the process of FIG. 5 is an example of one embodiment in which process step 420 of FIG. 4 can be implemented.
- the process generates annotations for the existing reports according to a title field and description field (step 510 ).
- the process determines a number of contexts for the number of existing reports according to the annotations (step 520 ). Thereafter, the process continues to step 430 of FIG. 4 .
- FIG. 6 a process for scoring features of existing reports is depicted according to an illustrative example.
- the process of FIG. 6 can be implemented in conjunction with process 500 of FIG. 5 , as part of process step 420 of FIG. 4 .
- the process determines, according to the at least one other field of the existing reports, a number of features (step 610 ). For each context, the process weighs the number of features based on a normalized accounting of the features within the context (step 620 ). Thereafter, the process continues to step 430 of FIG. 4 .
- FIG. 7 a process for predicting a context for a new report is depicted according to an illustrative example.
- the process of FIG. 7 is an example of one embodiment in which process step 440 of FIG. 4 can be implemented.
- the process determines features for the new report (step 710 ). For each context, the process scores the new report according to weights for the features of the existing reports (step 720 ). The process then identifies the context having the highest score (step 730 ). Thereafter, the process continues to step 450 of FIG. 4 .
- FIG. 8 a process for generating a new report is depicted according to an illustrative example.
- the process of FIG. 8 can be implemented in conjunction with the process of FIG. 4 .
- the process generates the new report according to suggested the reports (step 810 ).
- the new report can be generated in response to receiving an indication from the user that selects one or more of the suggested reports. The process terminates thereafter.
- Data processing system 900 may be used to implement one or more computers and client computer 112 in FIG. 1 .
- data processing system 900 includes communications framework 902 , which provides communications between processor unit 904 , memory 906 , persistent storage 908 , communications unit 910 , input/output unit 912 , and display 914 .
- communications framework 902 may take the form of a bus system.
- Processor unit 904 serves to execute instructions for software that may be loaded into memory 906 .
- Processor unit 904 may be a number of processors, a multi-processor core, or some other type of processor, depending on the particular implementation.
- processor unit 904 comprises one or more conventional general-purpose central processing units (CPUs).
- processor unit 904 comprises one or more graphical processing units (CPUs).
- Memory 906 and persistent storage 908 are examples of storage devices 916 .
- a storage device is any piece of hardware that is capable of storing information, such as, for example, without limitation, at least one of data, program code in functional form, or other suitable information either on a temporary basis, a permanent basis, or both on a temporary basis and a permanent basis.
- Storage devices 916 may also be referred to as computer-readable storage devices in these illustrative examples.
- Memory 906 in these examples, may be, for example, a random access memory or any other suitable volatile or non-volatile storage device.
- Persistent storage 908 may take various forms, depending on the particular implementation.
- persistent storage 908 may contain one or more components or devices.
- persistent storage 908 may be a hard drive, a flash memory, a rewritable optical disk, a rewritable magnetic tape, or some combination of the above.
- the media used by persistent storage 908 also may be removable.
- a removable hard drive may be used for persistent storage 908 .
- Communications unit 910 in these illustrative examples, provides for communications with other data processing systems or devices. In these illustrative examples, communications unit 910 is a network interface card.
- Input/output unit 912 allows for input and output of data with other devices that may be connected to data processing system 900 .
- input/output unit 912 may provide a connection for user input through at least one of a keyboard, a mouse, or some other suitable input device. Further, input/output unit 912 may send output to a printer.
- Display 914 provides a mechanism to display information to a user.
- Instructions for at least one of the operating system, applications, or programs may be located in storage devices 916 , which are in communication with processor unit 904 through communications framework 902 .
- the processes of the different embodiments may be performed by processor unit 904 using computer-implemented instructions, which may be located in a memory, such as memory 906 .
- program code computer-usable program code
- computer-readable program code that may be read and executed by a processor in processor unit 904 .
- the program code in the different embodiments may be embodied on different physical or computer-readable storage media, such as memory 906 or persistent storage 908 .
- Program code 918 is located in a functional form on computer-readable media 920 that is selectively removable and may be loaded onto or transferred to data processing system 900 for execution by processor unit 904 .
- Program code 918 and computer-readable media 920 form computer program product 922 in these illustrative examples.
- computer-readable media 920 may be computer-readable storage media 924 or computer-readable signal media 926 .
- computer-readable storage media 924 is a physical or tangible storage device used to store program code 918 rather than a medium that propagates or transmits program code 918 .
- program code 918 may be transferred to data processing system 900 using computer-readable signal media 926 .
- Computer-readable signal media 926 may be, for example, a propagated data signal containing program code 918 .
- computer-readable signal media 926 may be at least one of an electromagnetic signal, an optical signal, or any other suitable type of signal. These signals may be transmitted over at least one of communications links, such as wireless communications links, optical fiber cable, coaxial cable, a wire, or any other suitable type of communications link.
- the different components illustrated for data processing system 900 are not meant to provide architectural limitations to the manner in which different embodiments may be implemented.
- the different illustrative embodiments may be implemented in a data processing system including components in addition to or in place of those illustrated for data processing system 900 .
- Other components shown in FIG. 9 can be varied from the illustrative examples shown.
- the different embodiments may be implemented using any hardware device or system capable of running program code 918 .
- the illustrative embodiments described herein provide a computer-implemented a method, computer system, and computer program product for generating reports.
- Existing reports are collected and modeled to determine a number of contexts.
- An index of the existing reports is generated according the contexts determined by the modeling.
- a predicted context of a new report is predicted according to the modeling.
- suggested reports are identified based on the predicted context for the new report.
- the suggested reports are presented in a graphical user interface.
- the illustrative embodiments described herein provide a technical solution to the technical problem of generating reports provides a technical effect in which a new reports are generated more easily and quickly while requiring less knowledge or training from an operator.
- each block in the flowcharts or block diagrams may represent at least one of a module, a segment, a function, or a portion of an operation or step.
- one or more of the blocks may be implemented as program code.
- the function or functions noted in the blocks may occur out of the order noted in the figures.
- two blocks shown in succession may be performed substantially concurrently, or the blocks may sometimes be performed in the reverse order, depending upon the functionality involved.
- other blocks may be added in addition to the illustrated blocks in a flowchart or block diagram.
- a component may be configured to perform the action or operation described.
- the component may have a configuration or design for a structure that provides the component an ability to perform the action or operation that is described in the illustrative examples as being performed by the component.
- Many modifications and variations will be apparent to those of ordinary skill in the art.
- different illustrative embodiments may provide different features as compared to other desirable embodiments. The embodiment or embodiments selected are chosen and described in order to best explain the principles of the embodiments, the practical application, and to enable others of ordinary skill in the art to understand the disclosure for various embodiments with various modifications as are suited to the particular use contemplated.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Strategic Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Economics (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- Tourism & Hospitality (AREA)
- Quality & Reliability (AREA)
- Operations Research (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Development Economics (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Educational Administration (AREA)
- Game Theory and Decision Science (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
- The present disclosure relates generally to an improved computer system and, in particular, to a method and apparatus for managing reports. Still more particularly, the present disclosure relates to a method and apparatus for creating new reports for applications.
- Information systems are used for many different purposes. The different operations performed using the information system may be referred to as transactions. For example, an information system may be used to process payroll to generate paychecks for employees in an organization. The different operations performed to generate paychecks for a pay period using the information system may be referred to as a transaction.
- Additionally, an information system also may be used by a human resources department to maintain benefits and other records about employees. For example, a human resources department may manage health insurance, wellness plans, and other programs in an organization using an employee information system. As yet another example, an information system may be used to determine when to hire new employees, assign employees to projects, perform reviews for employees, and other suitable operations for the organization.
- Other uses of information systems include purchasing equipment and supplies for an organization. In yet another example, information systems may be used to plan and rollout a promotion of a product for an organization.
- Often times, an operator may desire to generate a report for a particular type of transaction. Currently, the operator may use report generator software to generate reports that are human readable from different sources such as databases in the information systems. Currently available report generator software are often more difficult to use than desired.
- This type of software requires the operator to have knowledge about how information is stored to select what information to use in a report. For example, the operator may need to know what fields, tables, or columns in the database should be selected for including desired information in the report.
- As a result, an operator may need to have experience or training with respect to report generator software and databases in addition to the experience and training to perform the transaction for which the report is being generated. This additional skill may limit the number of operators who are able to generate reports. Additionally, operators who do not generate reports very often may find that report generating may take more time and may be more difficult than desired.
- Therefore, it would be desirable to have a method and apparatus that take into account at least some of the issues discussed above, as well as other possible issues. For example, it would be desirable to have a method and apparatus that overcome the technical problem with operators being unable to generate reports as efficiently as desired without knowledge about how the information is stored.
- An embodiment of the present disclosure provides a computer-implemented a method for generating reports. Existing reports are collected and modeled to determine a number of contexts. An index of the existing reports is generated according the contexts determined by the modeling. a predicted context of a new report is predicted according to the modeling. According to the index, suggested reports are identified based on the predicted context for the new report. The suggested reports are presented in a graphical user interface.
- Another embodiment of the present disclosure provides a system for generating reports. The system comprises a bus system and a storage device connected to the bus system. The storage device stores program instructions that are executed by a number of processors. The number of processors execute the program instructions to collect existing reports. The number of processors further execute the program instructions to model the existing reports to determine a number of contexts of the existing reports. The number of processors further execute the program instructions to generate an index of the existing reports according the contexts determined by the modeling. The number of processors further execute the program instructions to predict, according to the modeling, a predicted context of a new report. The number of processors further execute the program instructions to identify, according to the index, suggested reports based on the predicted context for the new report. The number of processors further execute the program instructions to present the suggested reports in a graphical user interface.
- Another embodiment of the present disclosure provides a computer program product for managing reports. The computer program product comprises a computer readable storage media and program code stored thereon. The program code includes code for collecting existing reports. The program code further includes code for modeling the existing report to determine a number of contexts of the existing reports. The program code further includes code for generating an index of the existing reports according to the contexts determined by the modeling. The program code further includes code for predicting, according to the modeling, a predicted context of the new report. The program code further includes code for identifying, according to the index, suggested reports based on the predicted context for the new report. The program code further includes code for presenting the suggested reports in a graphical user interface.
- The features and functions can be achieved independently in various embodiments of the present disclosure or may be combined in yet other embodiments in which further details can be seen with reference to the following description and drawings.
- The novel features believed characteristic of the illustrative embodiments are set forth in the appended claims. The illustrative embodiments, however, as well as a preferred mode of use, further objectives and features thereof, will best be understood by reference to the following detailed description of an illustrative embodiment of the present disclosure when read in conjunction with the accompanying drawings, wherein:
-
FIG. 1 is a pictorial representation of a network of data processing systems depicted in which illustrative embodiments may be implemented; -
FIG. 2 is a block diagram of report processing environment depicted in accordance with an illustrative embodiment; -
FIG. 3 is a data flow diagram for modeling existing reports in the context of a human resources system according to an illustrative embodiment; -
FIG. 4 is a flowchart illustrating a process for managing reports depicted in accordance with an illustrative embodiment; -
FIG. 5 is a process for modeling existing reports depicted according to an illustrative example; -
FIG. 6 is a process for scoring features of existing reports depicted according to an illustrative example; -
FIG. 7 is a process for predicting a context for a new report depicted according to an illustrative example; -
FIG. 8 is a process for generating a new report is depicted according to an illustrative example; and -
FIG. 9 an illustration of a block diagram of a data processing system is depicted in accordance with an illustrative embodiment. - The illustrative embodiments recognize and take into account one or more different considerations. For example, the illustrative embodiments recognize and take into account that the process currently used to generate reports may be more cumbersome and difficult than desired. For example, an operator, who desires to generate a report for a transaction being performed using an application, exits or leaves the application and starts a new application for generating reports, such as currently used report generator software.
- The illustrative embodiments also recognize and take account that currently available report generator software uses the names of columns, fields, tables, or other data structures in presenting selections to an operator. The illustrative embodiments recognize and take into account that often times, the names used in a database may not be the same as the name of the field as displayed in the application used by the operator to perform the transaction.
- Thus, those embodiments provide a method and apparatus for managing reports. In particular, a method may be present that helps an operator generate a new report more quickly and easily as compared to currently available report generator software.
- In one illustrative example, a method is present a computer-implemented a method for generating reports. Existing reports are collected and modeled to determine a number of contexts. An index of the existing reports is generated according the contexts determined by the modeling. a predicted context of a new report is predicted according to the modeling. According to the index, suggested reports are identified based on the predicted context for the new report. The suggested reports are presented in a graphical user interface.
- As used herein, “a group of,” when used with reference to items, means one or more items. For example, “a group of reports” is one or more reports. Further, “a number of,” when used with reference to items, means one or more items. For example, “a group of contexts” is one or more contexts.
- A field is a space that holds a piece of data. The space may be, for example, in a location in a record for a database. As another example, the space may be in a location of memory of a computer system. When the space is in an application, the space may be in a data structure in the application.
- With reference now to the figures and, in particular, with reference to
FIG. 1 , a pictorial representation of a network of data processing systems is depicted in which illustrative embodiments may be implemented. Networkdata processing system 100 is a network of computers in which the illustrative embodiments may be implemented. Networkdata processing system 100 containsnetwork 102, which is the medium used to provide communications links between various devices and computers connected together within networkdata processing system 100.Network 102 may include connections, such as wire, wireless communication links, or fiber optic cables. - In the depicted example,
server computer 104 andserver computer 106 connect to network 102 along withstorage unit 108. In addition,client devices 110 connect to network 102. As depicted,client devices 110 includeclient computer 112,client computer 114, andclient computer 116.Client devices 110 can be, for example, computers, workstations, or network computers. In the depicted example,server computer 104 provides information, such as boot files, operating system images, and applications toclient devices 110. Further,client devices 110 can also include other types of client devices such asmobile phone 118,tablet computer 120, andsmart glasses 122. In this illustrative example,server computer 104,server computer 106,storage unit 108, andclient devices 110 are network devices that connect to network 102 in whichnetwork 102 is the communications media for these network devices. Some or all ofclient devices 110 may form an Internet-of-things (IoT) in which these physical devices can connect to network 102 and exchange information with each other overnetwork 102. -
Client devices 110 are clients toserver computer 104 in this example. Networkdata processing system 100 may include additional server computers, client computers, and other devices not shown.Client devices 110 connect to network 102 utilizing at least one of wired, optical fiber, or wireless connections. - Program code located in network
data processing system 100 can be stored on a computer-recordable storage medium and downloaded to a data processing system or other device for use. For example, the program code can be stored on a computer-recordable storage medium onserver computer 104 and downloaded toclient devices 110 overnetwork 102 for use onclient devices 110. - In the depicted example, network
data processing system 100 is the Internet withnetwork 102 representing a worldwide collection of networks and gateways that use the Transmission Control Protocol/Internet Protocol (TCP/IP) suite of protocols to communicate with one another. At the heart of the Internet is a backbone of high-speed data communication lines between major nodes or host computers consisting of thousands of commercial, governmental, educational, and other computer systems that route data and messages. Of course, networkdata processing system 100 also may be implemented using a number of different types of networks. For example,network 102 can be comprised of at least one of the Internet, an intranet, a local area network (LAN), a metropolitan area network (MAN), or a wide area network (WAN).FIG. 1 is intended as an example, and not as an architectural limitation for the different illustrative embodiments. - As used herein, “a number of,” when used with reference to items, means one or more items. For example, “a number of different types of networks” is one or more different types of networks.
- Further, the phrase “a set of” or “at least one of,” when used with a list of items, means different combinations of one or more of the listed items can be used, and only one of each item in the list may be needed. In other words, “at least one of” means any combination of items and number of items may be used from the list, but not all of the items in the list are required. The item can be a particular object, a thing, or a category.
- For example, without limitation, “at least one of item A, item B, or item C” may include item A, item A and item B, or item B. This example also may include item A, item B, and item C or item B and item C. Of course, any combinations of these items can be present. In some illustrative examples, “at least one of” can be, for example, without limitation, two of item A; one of item B; and ten of item C; four of item B and seven of item C; or other suitable combinations.
- In this illustrative example,
user 124 can useclient computer 112 to interact with report management system 126. Report management system 126 is an application for creating and managing reports. Every report created by report management system 126 has a purpose and an objective, which leads to the intention of the report owner. - In this illustrative example, report management system 126 collects existing
reports 128. Existingreports 128 have been previously generated from a large data set. Existingreports 128 can be generated from one or more fields in the large data set. - Fields are spaces for pieces of data. For example, in a relational database table, the columns of the table are the fields. The rows of the table are records. The records in the table are values for the fields. Fields are spaces where pieces of data are located. These pieces of data are used to perform transactions. For example, in a payroll application, the fields can include at least one of salary, tax information, or other suitable types of payroll data.
- The sheer number of fields, such as at least one other field 134, in some data sets sometimes makes the users struggle with traditional reporting applications, and could lead them to be confused about which fields, filters, derived or calculated fields they should select. However, users typically know their report subject (context) and what kind of information they want put into a report.
- Using
artificial intelligence system 136, report management system 126models existing reports 128 to determine a number ofcontexts 132 of the existing reports 128.Contexts 132 provide relevant information about the entire report, about the other fields (or features) of the report.Contexts 132 are the intents of existingreports 128.Contexts 132 characterize the intention of Existingreports 128, based only for the fields within the existing reports 128. - In this illustrative example, Report management system 126 generates an
index 138 of the existingreports 128 according thecontexts 132 determined by the modeling.index 138 provides a well defined set of context and indexes, that enable report management system 126 to search existingreports 128, and to recommend other fields to a user when composing or completing a in-progress report. - In this illustrative example, Report management system 126 uses the modeling to predict the context of a
new report 142. Based on theindex 138, report management system 126 identifies suggestedreports 144 from the existingreports 128, and presents the suggested reports in a graphical user interface. - When
artificial intelligence system 136 is included in Report management system 126, report management system 126 overcomes a technical problem of quickly and easily generating new reports. Report management system 126 characterizes the context of the existingreports 128, enabling those reports to be searched based on their intended purpose and objective. - As a result, this technical solution to the technical problem of generating reports provides a technical effect in which a new reports are generated more easily and quickly while requiring less knowledge or training from an operator.
- With reference now to
FIG. 2 , a block diagram of report processing environment is depicted in accordance with an illustrative embodiment. In this illustrative example,report management environment 200 includes components that can be implemented in hardware such as the hardware shown in networkdata processing system 100 inFIG. 1 . - In this illustrative example,
report management system 202 operates to generatereports 206 usingartificial intelligence 204. In this illustrative example,artificial intelligence 204 can be used to more efficiently generatereports 206 as compared to other report management systems that do not haveartificial intelligence 204. - An artificial intelligence system is a system that has intelligent behavior and can be based on function of the human brain. An artificial intelligence system comprises at least one of an artificial neural network, and artificial neural network with natural language processing, a cognitive system, a Bayesian network, a fuzzy logic, an expert system, a natural language system, a cognitive system, or some other suitable system.
- Machine learning is used to train the artificial intelligence system. Machine learning involves inputting data to the process and allowing the process to adjust and improve the function of the artificial intelligence system.
- A cognitive system is a computing system that mimics the function of a human brain. The cognitive system can be, for example, IBM Watson available from International Business Machines Corporation.
- In this illustrative example,
artificial intelligence 204 is located incomputer system 210 and comprises modeling 218 for training a set of artificial intelligence models. When trained, each of these artificial intelligence models be used to characterize the context ofreports 206. -
Computer system 210 is a physical hardware system and includes one or more data processing systems. When more than one data processing system is present incomputer system 210, those data processing systems are in communication with each other using a communications medium. The communications medium may be a network. The data processing systems may be selected from at least one of a computer, a server computer, a tablet, or some other suitable data processing system. When a number of processors execute instructions for a process, the number of processors can be on the same computer or on different computers incomputer system 210. In other words, the process can be distributed between processors on the same or different computers incomputer system 210. - As depicted, modeling 218 in artificial intelligence training system 214 in
computer system 210 operates to trainartificial intelligence 204 for use in characterizing the context ofreports 206. In other words, modeling 218 artificial intelligence training system 214 trains one or more artificial intelligence models. - Modeling 218 can be implemented in software, hardware, firmware or a combination thereof. When software is used, the operations performed by modeling 218 can be implemented in program code configured to run on hardware, such as a processor unit. When firmware is used, the operations performed by modeling 218 can be implemented in program code and data and stored in persistent memory to run on a processor unit. When hardware is employed, the hardware may include circuits that operate to perform the operations in
modeling 218. - In the illustrative examples, the hardware may take a form selected from at least one of a circuit system, an integrated circuit, an application specific integrated circuit (ASIC), a programmable logic device, or some other suitable type of hardware configured to perform a number of operations. With a programmable logic device, the device can be configured to perform the number of operations. The device can be reconfigured at a later time or can be permanently configured to perform the number of operations. Programmable logic devices include, for example, a programmable logic array, a programmable array logic, a field programmable logic array, a field programmable gate array, and other suitable hardware devices. Additionally, the processes can be implemented in organic components integrated with inorganic components and can be comprised entirely of organic components excluding a human being. For example, the processes can be implemented as circuits in organic semiconductors.
- As depicted, modeling 218 identifies existing
reports 216. Modeling 218 trainsartificial intelligence 204 by creating one or more models of existingreports 216. As depicted, the training is performed using a set of machine learning algorithms.] - In this illustrative example, each existing
report 216 includesfields 220. As depicted,fields 220 includetitle field 222,description field 224, and at least one other field infields 226. - Modeling 218
models existing reports 216 by generatingannotations 228 for the existingreports 216 according to atitle field 222 and adescription field 224. Modeling 218 then determines a number ofcontexts 230 for the number of existingreports 216 according to theannotations 228. - In one exemplary algorithm, modeling 218 generates
annotations 228 for existingreports 216, considering only thetitle field 222 anddescription field 224. As part of the annotation process, two or more (M) contexts (like classes, C) are defined with a unique key term (the label, L) for each context and a set of exclusive terms (T) that represent the respective context: -
C i ={L i ,T i} -
T i ={t 1 ,t 2 , . . . t N} - for i-th context.
- From
fields 220 of existingreports 216, with text typed fields, like title, tags, description etc., modeling 218 cheeses N relevant fields (f), in general title and description, to annotate each report. The label is defined to context with more terms matched: -
- with NTf(⋅) the number of terms in Ti matched in field f of report j.
- In one illustrative example, when a plurality of
fields 220 are used for annotation (two or three), modeling 218 sum the labels L, defining new labels. The final annotated label (L(Rj)) for a j-th report may be achieved with a combined of the labels Lf for f=1, . . . N: -
- in other words, each of existing
reports 216 may be of one ormore contexts 230. - In one illustrative example,
artificial intelligence 204 may comprise a heuristic that provides a desired level of intelligence when generatingannotations 228 for existingreports 216. For example: -
Result: Report label Heuristic Annotation (Text, C) is | M = size (C); | s = Vector [M]; | for j in {1,..., M} do | | s[j] = 0; | | T = C[j].T; | | N = size(T); | | for n in {1,..., N} do | | | s[j] = s[j] + matches (Text,T) // partial or full matching times of T in Text | | end | end | //Return the label of the context with more matches (s[i*]=max(s), i*: return C[s.indexOf(max(s))].L - After generating
annotations 228, modeling 218 defines the features 232 of existingreports 216. For example, in the case of human resources reports, other fields infields 226 may include fields such as First Name, Last Name, Job Description, Job position, and First Address, as well as other suitable fields. The at least one other field infields 226 of each existingreport 216 characterize the context of the report, for example, a Head Count, Turnover, Performance, and Payroll, as well as other suitable fields. Features 232 may include names of theother fields 226. Additionally, features 232 may include a category of the field, type of aggregation, possible type of filters, and type of aggregation. In one illustrative example, modeling 218 considers features 232 of: a name of the field (such as for example, first name, last name), a category of the field (such as, for example, profile, earnings) and a filter type (such as, for example, by job position, by department). - In this illustrative example, modeling 218 can represent a j-th report (Rj) as:
-
R j ={L j ,F j ,FC j ,FT j} -
F j ={fn 1 ,fn 2 , . . . ,fn n} -
FC j ={fc 1 ,fc 2 , . . . ,fc p} -
FT j ={ft 1 ,ft 2 , . . . ,fc p} - with label Lj given during annotation process, a set Fj of unique names of the fields in Rj, a set FCj of unique categories from the fields are grouped and the unique set FTj of filters.
- In one illustrative example, For each context (label) annotated, modeling 218 applies a scoring method of counting unique occurrences for each value in
other fields 226. Modeling 218 then normalizes the total number of occurrences, ranking it and choosing the max sum of values. - Defined the structure of features, the ranking is build using a set of annotated reports. The scores φ, γ and δ area a normalization of theirs counting occurrences for each labelled context. The model (M(⋅)) have the ranks (Ψ) of each feature (F, FC and FT) for each i-th label:
-
Ψi ={L i,Φi,Γi,Δi} -
Φi={(fn 1,ϕ1),(fn 2,ϕ2), . . . ,(fn n,ϕn)} -
Γi={(fc 1,γ1),(fc 2,γ2), . . . ,(fc m,γm)} -
Δi={(ft 1,δ1),(ft 2,δ2), . . . ,(ft p,δp)} - Modeling 218 insurers the maximum probability of an annotated label for given values. To consider a possible difference of relevance between the fields, for example, features 232, each ranked field is weighted by a value between 0 and 1. In one illustrative example, modeling 218 uses a parameter optimizer To achieve these weights. The parameter optimizer can be, for example, a genetic algorithm, a gradient boost, as well as other suitable optimizers.
- Modeling 218 predicts
contexts 230 of a given existingreport 216, returning the label (context) that maximizes the probability of this report have the predicted label: -
- Modeling 218 can use any suitable method to achieve the scores, such as simply counting, tf-idf, and Lift, as well as other suitable methods. In one illustrative example, modeling 218 adds the scores of the matched terms for each label and chooses the label with the highest sum.
- In this illustrative example, modeling 218 can validate training performed on
artificial intelligence 204 using validation data, which can include in and use subset of existingreports 216. Modeling 218 analyzes the process and results of validation data to determine whetherartificial intelligence 204 performs with a desired level of accuracy. - When a desired level of accuracy is reached,
report management system 202 generates index 234 of the existing reports according thecontexts 230 determined by themodeling 218. Frommodeling 218,report management system 202 can predict predictedcontext 244 of anew report 240. According to the index 234,Report management system 202 can identify suggestedreports 242 from the existingreports 216 based on the predictedcontext 244 for thenew report 240. The suggested reports 242 can be presented in agraphical user interface 227 of adisplay system 229 of a client device, such as one or more ofclient devices 110 ofFIG. 1 . -
Computer system 210 can be configured to perform at least one of the steps, operations, or actions described in the different illustrative examples using software, hardware, firmware or a combination thereof. As a result,computer system 210 operates as a special purpose computer system in whichmodeling 218 incomputer system 210 enables training an artificial intelligence system to generate new reports. In the illustrative example, the use ofartificial intelligence 204 incomputer system 210 integrates processes into a practical application for a method of training an artificial intelligence system that increases the performance ofcomputer system 210. In other words,artificial intelligence 204 into incomputer system 210 is directed towards a practical application of processes integrated intomodeling 218 incomputer system 210 that identifies intentions from previously generated reports. - In this illustrative example,
artificial intelligence system 204 for incomputer system 210 utilizes annotations to train an artificial intelligence system using one or more machine learning algorithms in a manner that that results in an artificial intelligence system that is capable of identifying report intentions with a desired level of accuracy. In this manner,artificial intelligence system 204 for incomputer system 210 provides a practical application of a method for training an artificial intelligence system to characterize a report such that the functioning ofcomputer system 210 is improved when using the trained artificial intelligence system. -
FIG. 3 depicts a data flow diagram for modeling existing reports in the context of a human resources system according to an illustrative embodiment. The data flow ofFIG. 3 is one example in which reportmanagement system 202 ofFIG. 2 can be implemented in a human resources environment. - In this illustrative example, reports 310 consider two sets of human resources reports with size of N (e.g.: 1000 reports) each set, well randomised. Consider two samples of a HR reports:
headcounts 312 and benefits 314. - In this illustrative example,
headcounts 312 includes the following fields, values, and applied filters: - Description: This report shows the headcount for engineering dept.
- Fields: Name, Department and Status.
- Filters: Department=engineering and Status=Active. Report B: Title: Benefits.
- In this illustrative example, benefits 314 includes the following fields, values, and applied filters:
- Description: This report shows the benefits for all employees from construction dept.
- Fields: Name, Department, 401k Status, ACA Status.
- Filters: Department=construction and Status=Active.
- Despite the fact that each of
reports 310 have a title, the intention or context of each reports 310 it is not clearly defined. Using all available text from title anddescription annotation 320 extracts possible contexts fromreports 310. - The context are extracted with a annotation heuristic (1). The annotation process considers only the title and description fields, running for this two reports. For report A, the label is HEADCOUNT; and for report B, the label is BENEFITS. In this cases, each label may have one or more key words, based on the title and description fields. All labels are given a priori.
- Generate Model M(⋅) 330, for each label, calculates the frequency of fields and filters. In the current example, given the two labels:
-
- Label HEADCOUNT: Label (L): HEADCOUNT.
- Fields (F): f1=(Name, 0.98), f2=(Department, 0.94), . . . .
- Field cat. (FC): fc1=(Employee Profile, 0.89), fc2=(Job Profile, 0.87), . . . .
- Filters (FT): tf1=(Status=VALUE, 0.83), tf2=(Department=VALUE, 0.76), . . . Label
- BENEFITS: Label (L): BENEFITS.
- Fields (F): f1=(401k Status, 0.98), f2=(Status, 0.94), . . . .
- Field cat. (FC): fc1=(Benefit Types, 0.89), fc2=(Job Profile, 0.87), . . . .
- Filters (FT): tf1=(Status=VALUE, 0.90), tf2=(Department=VALUE, 0.86), . . . .
- Label HEADCOUNT: Label (L): HEADCOUNT.
-
Test Step 340 uses the model generated atstep 330, to predict a context for all reports in dataset passed byannotation 350. In this illustrative example, the context of reports passed byannotation 350 is a label predicted using only the fields, field categories and filters as features of the model.Test step 340 does not consider the title and description ofannotation 350 data set. -
Annotation 350 is the same asannotation 320. Basically, both dataset of train training and testing pass by same process. This process is a labelling process, which can use a heuristic, such. as that discussed above. - For a given report,
Test Step 340 computes scores given for each feature. In this illustrative example,test step 340 determines a score for each label, and returns the label with highest score.Annotation 350 is verified by comparing the labels predicted by model M(⋅) against the labels given in the process ofannotation 320. - With reference next to
FIG. 4 , a flowchart illustrating a process for managing reports is depicted in accordance with an illustrative embodiment. The process ofFIG. 4 can be implemented in one or more components ofcomputer system 210 ofFIG. 2 . - The process begins by collecting existing reports (step 410). Each existing report can include a number of fields, such as a title field, a description field, and at least one other field. The process models the existing reports to determine a number of contexts of the system reports (step 420). The process generates an index of the existing reports according to the context determined (step 430).
- The process predicts, according to the modeling, a predicted context of a new report (step 340). According to the index generated, the process identifies suggested reports based on the predicted context of the new report (step 350). The process then presents the suggested reports in a graphical user interface (step 360) and terminates thereafter.
- With reference next to
FIG. 5 , a process for modeling existing reports is depicted according to an illustrative example. The process ofFIG. 5 is an example of one embodiment in whichprocess step 420 ofFIG. 4 can be implemented. - Continuing from
step 410, the process generates annotations for the existing reports according to a title field and description field (step 510). The process determines a number of contexts for the number of existing reports according to the annotations (step 520). Thereafter, the process continues to step 430 ofFIG. 4 . - With reference next to
FIG. 6 , a process for scoring features of existing reports is depicted according to an illustrative example. The process ofFIG. 6 can be implemented in conjunction with process 500 ofFIG. 5 , as part ofprocess step 420 ofFIG. 4 . - Continuing from
step 520, the process determines, according to the at least one other field of the existing reports, a number of features (step 610). For each context, the process weighs the number of features based on a normalized accounting of the features within the context (step 620). Thereafter, the process continues to step 430 ofFIG. 4 . - With reference next to
FIG. 7 , a process for predicting a context for a new report is depicted according to an illustrative example. The process ofFIG. 7 is an example of one embodiment in whichprocess step 440 ofFIG. 4 can be implemented. - The process determines features for the new report (step 710). For each context, the process scores the new report according to weights for the features of the existing reports (step 720). The process then identifies the context having the highest score (step 730). Thereafter, the process continues to step 450 of
FIG. 4 . - With reference next to
FIG. 8 , a process for generating a new report is depicted according to an illustrative example. The process ofFIG. 8 can be implemented in conjunction with the process ofFIG. 4 . - Continuing from
step 460, the process generates the new report according to suggested the reports (step 810). The new report can be generated in response to receiving an indication from the user that selects one or more of the suggested reports. The process terminates thereafter. - Turning now to
FIG. 9 , an illustration of a block diagram of a data processing system is depicted in accordance with an illustrative embodiment.Data processing system 900 may be used to implement one or more computers andclient computer 112 inFIG. 1 . In this illustrative example,data processing system 900 includescommunications framework 902, which provides communications betweenprocessor unit 904,memory 906,persistent storage 908,communications unit 910, input/output unit 912, anddisplay 914. In this example,communications framework 902 may take the form of a bus system. -
Processor unit 904 serves to execute instructions for software that may be loaded intomemory 906.Processor unit 904 may be a number of processors, a multi-processor core, or some other type of processor, depending on the particular implementation. In an embodiment,processor unit 904 comprises one or more conventional general-purpose central processing units (CPUs). In an alternate embodiment,processor unit 904 comprises one or more graphical processing units (CPUs). -
Memory 906 andpersistent storage 908 are examples ofstorage devices 916. A storage device is any piece of hardware that is capable of storing information, such as, for example, without limitation, at least one of data, program code in functional form, or other suitable information either on a temporary basis, a permanent basis, or both on a temporary basis and a permanent basis.Storage devices 916 may also be referred to as computer-readable storage devices in these illustrative examples.Memory 906, in these examples, may be, for example, a random access memory or any other suitable volatile or non-volatile storage device.Persistent storage 908 may take various forms, depending on the particular implementation. - For example,
persistent storage 908 may contain one or more components or devices. For example,persistent storage 908 may be a hard drive, a flash memory, a rewritable optical disk, a rewritable magnetic tape, or some combination of the above. The media used bypersistent storage 908 also may be removable. For example, a removable hard drive may be used forpersistent storage 908.Communications unit 910, in these illustrative examples, provides for communications with other data processing systems or devices. In these illustrative examples,communications unit 910 is a network interface card. - Input/
output unit 912 allows for input and output of data with other devices that may be connected todata processing system 900. For example, input/output unit 912 may provide a connection for user input through at least one of a keyboard, a mouse, or some other suitable input device. Further, input/output unit 912 may send output to a printer.Display 914 provides a mechanism to display information to a user. - Instructions for at least one of the operating system, applications, or programs may be located in
storage devices 916, which are in communication withprocessor unit 904 throughcommunications framework 902. The processes of the different embodiments may be performed byprocessor unit 904 using computer-implemented instructions, which may be located in a memory, such asmemory 906. - These instructions are referred to as program code, computer-usable program code, or computer-readable program code that may be read and executed by a processor in
processor unit 904. The program code in the different embodiments may be embodied on different physical or computer-readable storage media, such asmemory 906 orpersistent storage 908. -
Program code 918 is located in a functional form on computer-readable media 920 that is selectively removable and may be loaded onto or transferred todata processing system 900 for execution byprocessor unit 904.Program code 918 and computer-readable media 920 formcomputer program product 922 in these illustrative examples. In one example, computer-readable media 920 may be computer-readable storage media 924 or computer-readable signal media 926. - In these illustrative examples, computer-
readable storage media 924 is a physical or tangible storage device used to storeprogram code 918 rather than a medium that propagates or transmitsprogram code 918. Alternatively,program code 918 may be transferred todata processing system 900 using computer-readable signal media 926. - Computer-readable signal media 926 may be, for example, a propagated data signal containing
program code 918. For example, computer-readable signal media 926 may be at least one of an electromagnetic signal, an optical signal, or any other suitable type of signal. These signals may be transmitted over at least one of communications links, such as wireless communications links, optical fiber cable, coaxial cable, a wire, or any other suitable type of communications link. - The different components illustrated for
data processing system 900 are not meant to provide architectural limitations to the manner in which different embodiments may be implemented. The different illustrative embodiments may be implemented in a data processing system including components in addition to or in place of those illustrated fordata processing system 900. Other components shown inFIG. 9 can be varied from the illustrative examples shown. The different embodiments may be implemented using any hardware device or system capable of runningprogram code 918. - The illustrative embodiments described herein provide a computer-implemented a method, computer system, and computer program product for generating reports. Existing reports are collected and modeled to determine a number of contexts. An index of the existing reports is generated according the contexts determined by the modeling. a predicted context of a new report is predicted according to the modeling. According to the index, suggested reports are identified based on the predicted context for the new report. The suggested reports are presented in a graphical user interface.
- Therefore, the illustrative embodiments described herein provide a technical solution to the technical problem of generating reports provides a technical effect in which a new reports are generated more easily and quickly while requiring less knowledge or training from an operator.
- The flowcharts and block diagrams in the different depicted embodiments illustrate the architecture, functionality, and operation of some possible implementations of apparatuses and methods in an illustrative embodiment. In this regard, each block in the flowcharts or block diagrams may represent at least one of a module, a segment, a function, or a portion of an operation or step. For example, one or more of the blocks may be implemented as program code.
- In some alternative implementations of an illustrative embodiment, the function or functions noted in the blocks may occur out of the order noted in the figures. For example, in some cases, two blocks shown in succession may be performed substantially concurrently, or the blocks may sometimes be performed in the reverse order, depending upon the functionality involved. Also, other blocks may be added in addition to the illustrated blocks in a flowchart or block diagram.
- The description of the different illustrative embodiments has been presented for purposes of illustration and description and is not intended to be exhaustive or limited to the embodiments in the form disclosed. The different illustrative examples describe components that perform actions or operations. In an illustrative embodiment, a component may be configured to perform the action or operation described. For example, the component may have a configuration or design for a structure that provides the component an ability to perform the action or operation that is described in the illustrative examples as being performed by the component. Many modifications and variations will be apparent to those of ordinary skill in the art. Further, different illustrative embodiments may provide different features as compared to other desirable embodiments. The embodiment or embodiments selected are chosen and described in order to best explain the principles of the embodiments, the practical application, and to enable others of ordinary skill in the art to understand the disclosure for various embodiments with various modifications as are suited to the particular use contemplated.
Claims (21)
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/983,785 US20220035795A1 (en) | 2020-08-03 | 2020-08-03 | Report management system |
US18/110,641 US20230281188A1 (en) | 2020-08-03 | 2023-02-16 | Report management system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/983,785 US20220035795A1 (en) | 2020-08-03 | 2020-08-03 | Report management system |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US18/110,641 Continuation US20230281188A1 (en) | 2020-08-03 | 2023-02-16 | Report management system |
Publications (1)
Publication Number | Publication Date |
---|---|
US20220035795A1 true US20220035795A1 (en) | 2022-02-03 |
Family
ID=80004357
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US16/983,785 Abandoned US20220035795A1 (en) | 2020-08-03 | 2020-08-03 | Report management system |
US18/110,641 Pending US20230281188A1 (en) | 2020-08-03 | 2023-02-16 | Report management system |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US18/110,641 Pending US20230281188A1 (en) | 2020-08-03 | 2023-02-16 | Report management system |
Country Status (1)
Country | Link |
---|---|
US (2) | US20220035795A1 (en) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220237230A1 (en) * | 2019-06-06 | 2022-07-28 | Wisedocs Inc. | System and method for automated file reporting |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8266157B2 (en) * | 2009-08-30 | 2012-09-11 | International Business Machines Corporation | Method and system for using social bookmarks |
US10019716B1 (en) * | 2013-11-21 | 2018-07-10 | Google Llc | Method for feedback submission resolution |
US20190340516A1 (en) * | 2017-05-06 | 2019-11-07 | Excubator Consulting Pvt Ltd | System and method for quantitatively analyzing an idea |
US10782986B2 (en) * | 2018-04-20 | 2020-09-22 | Facebook, Inc. | Assisting users with personalized and contextual communication content |
US11562315B2 (en) * | 2018-08-31 | 2023-01-24 | Accenture Global Solutions Limited | Detecting an issue related to a report |
US10957433B2 (en) * | 2018-12-03 | 2021-03-23 | Tempus Labs, Inc. | Clinical concept identification, extraction, and prediction system and related methods |
WO2020210947A1 (en) * | 2019-04-15 | 2020-10-22 | Entit Software Llc | Using machine learning to assign developers to software defects |
US11416472B2 (en) * | 2019-10-09 | 2022-08-16 | Unitedhealth Group Incorporated | Automated computing platform for aggregating data from a plurality of inconsistently configured data sources to enable generation of reporting recommendations |
US11614923B2 (en) * | 2020-04-30 | 2023-03-28 | Splunk Inc. | Dual textual/graphical programming interfaces for streaming data processing pipelines |
-
2020
- 2020-08-03 US US16/983,785 patent/US20220035795A1/en not_active Abandoned
-
2023
- 2023-02-16 US US18/110,641 patent/US20230281188A1/en active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220237230A1 (en) * | 2019-06-06 | 2022-07-28 | Wisedocs Inc. | System and method for automated file reporting |
Also Published As
Publication number | Publication date |
---|---|
US20230281188A1 (en) | 2023-09-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11500818B2 (en) | Method and system for large scale data curation | |
US11615341B2 (en) | Customizable machine learning models | |
Alao et al. | Analyzing employee attrition using decision tree algorithms | |
US20220122010A1 (en) | Long-short field memory networks | |
Vialardi et al. | A data mining approach to guide students through the enrollment process based on academic performance | |
US20230401513A1 (en) | Data driven systems and methods for optimization of a target business | |
Varshney et al. | Predicting employee expertise for talent management in the enterprise | |
Tarmizi et al. | A review on student attrition in higher education using big data analytics and data mining techniques | |
WO2020003325A1 (en) | Integrated skill management and training platform | |
US11663839B1 (en) | Polarity semantics engine analytics platform | |
US11250513B2 (en) | Computer implemented system for generating assurance related planning process and documents for an entity and method thereof | |
US11004005B1 (en) | Electronic problem solving board | |
Strickland | Data analytics using open-source tools | |
US20220035795A1 (en) | Report management system | |
Khramov | Robotic and machine learning: how to help support to process customer tickets more effectively | |
US20220277242A1 (en) | Method and system for using robotic process automation to provide real-time case assistance to client support professionals | |
US20160092807A1 (en) | Automatic Detection and Resolution of Pain Points within an Enterprise | |
Dhaya et al. | Fuzzy based quantitative evaluation of architectures using architectural knowledge | |
Kadhum et al. | An Efficient Bug Reports Assignment for IoT Application with Auto-Tuning Structure of ELM Using Dragonfly Optimizer | |
Gheorghe et al. | AN AUTOMATED RECRUITING MODEL FOR AN OPTIMAL TEAM OF SOFTWARE ENGINEERS FROM GLOBAL FREELANCING PLATFORMS. | |
US11900328B2 (en) | Reporting taxonomy | |
US11386368B1 (en) | Method for matching students with teachers to achieve optimal student outcomes | |
US12001991B1 (en) | Apparatus and methods for providing a skill factor hierarchy to a user | |
US20220076584A1 (en) | System and method for personalized healthcare staff training | |
US20240202212A1 (en) | Contextualizing data to augment processes using semantic technologies and artificial intelligence |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: ADP, LLC, NEW JERSEY Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:OLIVEIRA, ISRAEL;BARCELOS, ALLAN;PALAZZO, RENATA;AND OTHERS;SIGNING DATES FROM 20200716 TO 20200804;REEL/FRAME:053399/0671 |
|
AS | Assignment |
Owner name: ADP, INC., NEW JERSEY Free format text: CHANGE OF NAME;ASSIGNOR:ADP, LLC;REEL/FRAME:058959/0729 Effective date: 20200630 |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: FINAL REJECTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE AFTER FINAL ACTION FORWARDED TO EXAMINER |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: ADVISORY ACTION MAILED |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |