Computer-implemented method, computer system, and computer program for ranking data sets based on data attributes

A computer-implemented method ranks datasets by aligning user preferences with metadata generation and similarity scores, addressing the challenge of assessing dataset relevance for specific use cases.

JP7719569B2Active Publication Date: 2025-08-06INTERNATIONAL BUSINESS MACHINE CORPORATION
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
JP2021202946
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2020-12-17
Filing Date
2021-12-14
Publication Date
2025-08-06
Estimated Expiration
2041-12-14

AI Technical Summary

Technical Problem

Existing systems struggle to effectively assess and rank datasets based on their relevance to specific user needs, as the value of a dataset varies widely and is often difficult to determine without knowing the intended use.

Method used

A computer-implemented method and system that identifies target data fields and attributes from user preferences, generates metadata, and ranks datasets based on similarity and suitability scores, using Business Process Execution Language (BPEL) and Unified Modeling Language (UML) documents to align with user requirements.

Benefits of technology

Enables accurate ranking of datasets by assessing their relevance to user needs, ensuring datasets with higher similarity and suitability scores are prioritized, thereby improving the effectiveness of data analysis systems.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007719569000001
    Figure 0007719569000001
  • Figure 0007719569000002
    Figure 0007719569000002
  • Figure 0007719569000003
    Figure 0007719569000003
Patent Text Reader

Abstract

To provide a method, system, and program for evaluating the worth of datasets and ranking them, wherein there is a possibility that a dataset value may vary depending on a use case.SOLUTION: A computer is configured to: identify dataset attributes from documents indicating user data preferences; generate metadata sets for an associated plurality of datasets; determine candidate datasets having a field suitability value that exceeds a predetermined suitability threshold value, the field suitability value representing a degree of similarity between fields associated with the datasets and data fields; assess the associated metadata set for each candidate dataset, with regard to the target attributes; generate a compared attribute score for each candidate dataset, indicating the likelihood that an associated dataset may include content exhibiting the target dataset attributes; and generate a list of the candidate datasets sorted by the compared attribute scores.SELECTED DRAWING: Figure 2
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates generally to the field of dataset analysis, and more particularly to computer dataset evaluation. [Background technology]

[0002] A dataset is a group of data that can be used by various computer systems to provide answers to questions about many real-world and simulated situations. Often, datasets contain information about past transactions or other historical information from which predictions can be made about similar current and future transactions. In some domains, datasets are generated by user systems as a by-product of system operation and maintained for future use. In other domains, datasets, especially large or customized datasets, may be provided by third parties at the user's expense. Artificial intelligence (AI) systems can identify patterns within the data contained in a dataset to reveal trends that are often difficult to predict otherwise. Datasets can vary widely in content, making some datasets more useful to a particular user than others. Summary of the Invention [Problem to be solved by the invention]

[0003] The value of a dataset can vary for different use cases. If you know the intended use of the data, you can assess the value of the dataset and rank the assessed datasets. [Means for solving the problem]

[0004] According to one embodiment, a computer-implemented method for sorting multiple datasets according to dataset attributes includes: a computer identifying a set of target data fields from a set of process documents, the process documents indicating a user's data field preferences; a computer identifying a set of target dataset attributes from a set of data usage documents, the data usage documents indicating a user's data scope preferences; a computer generating a collection of metadata sets for the associated datasets; a computer determining candidate datasets having field relevance values above a predetermined relevance threshold, the field relevance values representing a degree of similarity between a set of fields associated with the dataset and a set of target data fields; a computer assessing the associated metadata set for each candidate dataset with respect to the target attributes; a computer generating a compared attribute score for each candidate dataset indicating a likelihood that the associated dataset will contain content indicative of the target dataset attributes; and a computer generating a list of the candidate datasets sorted by the compared attribute scores.

[0005] According to an aspect of the present invention, the data usage document includes information in a format selected from a list consisting of Business Process Execution Language (BEPL) and Unified Modeling Language (UML). According to an aspect of the present invention, data target attributes are extracted from elements of the process document selected from a list consisting of class diagrams, activity diagrams, sequence diagrams, and component diagrams. According to an aspect of the present invention, the candidate dataset with the highest compared attribute score is designated as the selected dataset. According to an aspect of the present invention, the steps include establishing a set of search parameters for a search to be performed on the selected dataset, and updating a past usage field in a metadata set associated with the dataset selected for the search with a search context value representing an aspect of the search parameters. According to an aspect of the present invention, the ranking is based at least in part on the past usage field value. According to an aspect of the present invention, the compared attribute score is based at least in part on an associated desirability value associated with each of the target dataset attributes. According to an aspect of the present invention, the metadata set includes information selected from a list consisting of domain, gender, age group, geographic distribution, demographic distribution, statistical range of values, and applicability context.

[0006] According to another embodiment, a system for ranking a plurality of datasets is provided, comprising a computer system having a computer-readable storage medium having program instructions embodied thereon, the computer-executable program instructions causing the computer to: identify a set of target data fields from a set of process documents, the process documents indicating a user's data field preferences; identify a set of target dataset attributes from a set of data usage documents, the data usage documents indicating a data scope preference for the user; generate a plurality of metadata sets for a plurality of associated datasets; determine candidate datasets having field compatibility values that exceed a predetermined compatibility threshold, the field compatibility values representing a degree of similarity between a set of fields associated with the dataset and a set of target data fields; assess the associated metadata sets for each candidate dataset with respect to the target attributes and generate a compared attribute score for each candidate dataset that indicates a likelihood that the associated dataset will contain content indicative of the target dataset attributes; and generate a list of the candidate datasets sorted by the compared attribute scores.

[0007] According to another embodiment, a computer program product for ranking multiple datasets is provided, the computer program product comprising a computer-readable storage medium having program instructions embodied thereon that cause the computer to: use the computer to identify a set of data target attributes from a set of process documents indicating a user's data field preferences, use the computer to identify a set of dataset target attributes from a set of data usage documents indicating the user's data scope preferences, use the computer to generate a plurality of metadata sets for the associated datasets, use the computer to determine a top-k candidate datasets having field suitability values above a predetermined suitability threshold, use the computer to assess the associated metadata set for each candidate dataset with respect to the target attributes and use the computer to generate a compared attribute score for each candidate dataset, and use the computer to rank the candidate datasets based at least in part on the compared attribute scores.

[0008] The value of a given dataset can be based on a variety of factors, including the dataset record field content and the scope of information contained. For example, many data analysis systems require specific types of information (e.g., specific fields) to provide meaningful output, and datasets with a greater amount of relevant information (e.g., a greater number of desired data fields) are prioritized over datasets with fewer required data fields. Similarly, to provide meaningful output, data analysis systems require data that is appropriate to the questions being posed to the system; the more relevant a given dataset is to its intended scope of use (e.g., the questions it is expected to ask), the higher the dataset value.

[0009] Aspects of the present invention, including those involving business applications, should be tailored to the user's data requirements (including target data fields and target dataset attributes) and matched with metadata derived from the data in the dataset. According to aspects of the present invention, the metadata should describe the demographics of the data content and the statistical nature of the data content to represent the dataset content.

[0010] Aspects of the present invention associate fields of data with meaning through a variety of methods, including the use of ontologies and the use of key-value pairs.

[0011] Aspects of the present invention first select a group that provides a score for a dataset based on the target dataset requirements and its fit with the metadata, allowing businesses to assess which dataset better suits their requirements.

[0012] According to aspects of the invention, the derived metadata includes statistical properties (e.g., type of distribution, mean, variance and related properties, any interrelationships, and whether it has time series data); various fields and their associated meaning / semantics (e.g., in a loan approval dataset, "spouse" is similar to "wife" and "husband"); if the ".CSV" file and associated schema are known, various meanings appropriate to the schema (e.g., a field related to the launch of a new marketing channel may have a different specific meaning than a similarly named field used to identify a field associated with a sporting event); personally identifiable information (e.g., email, phone number, address / contact details), if used in accordance with the consent and permissions granted by the identified individuals; fields related to previous dataset usage (e.g., by historical mining of dataset usage and identifying other datasets it has been used with); the derived metadata also includes information about content representation such as domain, gender, age group, geographic distribution (this can indicate that the dataset is applicable to a particular age group, banking domain, or to a particular region, etc.).

[0013] Aspects of the present invention determine dataset values based on dataset content (e.g., as characterized in dataset metadata). According to aspects of the present invention, the metadata includes descriptive information that indicates content-based characteristics of a dataset. Aspects of the present invention identify business data requirements. Aspects of the present invention rank datasets and provide relevance scores based on attributes and range values for each of the metadata and their value ranges. Aspects of the present invention formulate and derive a systematic method for determining values for datasets based on business requirements and the content of the data. Aspects of the present invention use scores to derive rankings for each facet of the metadata. Aspects of the present invention use dataset values to compare two datasets with respect to business requirements. Aspects of the present invention enable a search mechanism for datasets based on the content of the data. Aspects of the present invention use a history of data usage in different contexts to generate metadata and use them to identify business contexts when search events are performed. Aspects of the present invention search a corpus of datasets based on an input set of business requirements and rank the results in terms of best fit. According to aspects of the present invention, target data fields (e.g., to support required business processes) are defined in various diagrams using standard formats (e.g., Business Process Execution Language (BPEL), which can provide extractable activities, actors, and sequencing / sequences, and Unified Modeling Language (UML), which provides diagrams for related software engineering artifacts). According to aspects of the present invention, UML documents can include class diagrams, activity diagrams, sequence diagrams, and component diagrams.

[0014] According to an aspect of the present invention, activities from a BPEL diagram can be aligned to a UML activity diagram and used to extract class-level components, which can provide all the requirements for a field.

[0015] Aspects of the present invention can derive business requirements. Aspects of the present invention can evaluate datasets and metadata. Aspects of the present invention can rank datasets, data values, and data facets. Aspects of the present invention can help determine whether a given dataset is relevant to providing information on how to open mobile or online commerce channels for a business using a questionnaire (or other data usage document indicating data requirements).

[0016] Aspects of the system (including, for example, user data requirements questionnaires and other data usage documents) help identify user content needs, as datasets with content with some attributes may be more useful than others. Aspects of the invention identify relevant contexts for the data, indicating which datasets are well suited to various user goals (e.g., launching a new tea product with coupons).

[0017] According to some aspects of the invention, the PDAM includes a "discovery unit" that locates activity diagrams and class diagram locators. According to some aspects of the invention, the PDAM includes an entity extractor and an activity extractor.

[0018] According to some aspects of the present invention, the term attribute may be used synonymously with the word facet. According to aspects of the present invention, the CAAM includes an ontology mapping engine. According to aspects of the present invention, the CAAM includes aspects that determine whether a dataset is suitable for a business need. According to aspects of the present invention, the HULUM 124 includes a data usage metadata extractor and a dataset historical usage log that indicates historical dataset usage and identifies other datasets with which a selected dataset has been used. [Brief explanation of the drawings]

[0019] These and other objects, features, and advantages of the present invention will become apparent from the following detailed description of illustrative embodiments, which should be read in connection with the accompanying drawings. Various features of the drawings are not to scale because the figures are for clarity purposes to facilitate understanding of the invention by those skilled in the art together with the detailed description. The description of the drawings is as follows:

[0020] [Figure 1] 1 is a schematic block diagram illustrating an overview of a system for a computer-implemented method for ranking multiple datasets according to dataset content and desired data attributes, according to an embodiment of the present invention.

[0021] [Figure 2] 2 is a flowchart illustrating a method implemented using the system shown in FIG. 1 of a system for a computer-implemented method of ranking multiple data sets according to the present invention.

[0022] [Figure 3A] FIG. 2 is an alternative view of the embodiment of the system shown in FIG. 1.

[0023] [Figure 3B] FIG. 2 is a schematic diagram of an embodiment of the system shown in FIG. 1 being used to provide a set of ranked data sets, according to an embodiment of the present invention.

[0024] [Figure 4] 2 is a schematic overview of the system shown in Figure 1, where aspects of the system are arranged in stages.

[0025] [Figure 5] 2 is an alternative diagram of the system shown in FIG. 1, including a list of methods and associated details, where aspects of the system are arranged according to a workflow outline.

[0026] [Figure 6]2 is a schematic diagram of aspects of "data value" and "data ranking" entries generated in accordance with an embodiment of the present invention;

[0027] [Figure 7] 1 is an exemplary business data usage questionnaire and associated sample responses according to an embodiment of the present invention.

[0028] [Figure 8] FIG. 2 is a schematic block diagram illustrating a computer system according to an embodiment of the present disclosure that may be fully or partially incorporated into one or more computers or devices shown in FIG. 1 and that cooperates with the systems and methods shown in FIG.

[0029] [Figure 9] 1 illustrates a cloud computing environment according to an embodiment of the present invention.

[0030] [Figure 10] 1 illustrates an abstraction model layer according to an embodiment of the present invention. DETAILED DESCRIPTION OF THE INVENTION

[0031] The following description, which refers to the accompanying drawings, is provided to aid in a comprehensive understanding of exemplary embodiments of the present invention as defined in the claims and their equivalents. The description includes numerous specific details to aid in such understanding, but these should be considered merely as examples. Accordingly, those skilled in the art will recognize that various changes and modifications to the embodiments described herein may be made without departing from the scope and spirit of the present invention. Furthermore, for clarity and conciseness, descriptions of well-known functions and structures may be omitted.

[0032] The terms and phrases used in the following description and claims are not limited to their bibliographical meanings, but are merely used to enable a clear and consistent understanding of the present invention. Therefore, it should be apparent to those skilled in the art that the following description of exemplary embodiments of the present invention is provided for illustrative purposes only, and not for the purpose of limiting the present invention as defined in the appended claims and their equivalents.

[0033] The singular forms "a," "an," and "the" should be understood to include plural referents unless the context clearly dictates otherwise. Thus, for example, a reference to "a participant" includes a reference to one or more of such participants unless the context clearly dictates otherwise.

[0034] With combined general reference to these figures and specific reference to FIGS. 1 and 2 , an overview of a system 100 for a computer-implemented method for ranking multiple datasets according to dataset content as executed by a server computer 102, optionally having a shared storage device 104. With continued reference to FIG. 1 , the server computer is in communication with a source of process documents 106 (e.g., BPEL, UML diagrams, etc.) that indicate desired dataset data fields. The server computer 102 includes a process documentation analysis module (PDAM) 112 that uses known UML processing and assessment tools (including diagram identifiers and other similar UML content extractors) and a BPEL reader to review and mine the documents to identify target data fields. These target data fields provide information about the type of data that best suits a given user's needs. As an example, a user may provide a document written in Business Process Execution Language (BPEL); documents in this format can indicate various activities, actors, and process sequences important to the operation of the user's business; these aspects can be extracted to help understand the user's data needs. As another example, a user may provide a document presented using Unified Modeling Language (UML) or a similar modeling language; this type of document can provide insight into software artifacts important to the operation of the user's processing system, including class diagrams, activity diagrams, and sequence diagrams. Activities from the BPEL document can be reconciled into UML diagrams and used to extract class-level components of the user's system. The server computer 102 uses the extracted class-level components to determine data field requirements.

[0035] The server computer 102 is also in communication with a source of data usage documents 108 (e.g., data requirements questionnaires, etc.) that indicate desired dataset attributes. The server computer 102 is also in communication with a source of one or more datasets 110.

[0036] The server computer 102 includes a data usage document analysis module (DUDAM) 114 for assessing data usage documents and identifying target dataset attributes. Users may provide information about their expected data usage in various ways (e.g., through responding to a detailed questionnaire, providing a group of anticipated questions, specifying a topic of interest, etc.), which indicates which range of data content best fits the user's needs. According to aspects of the present invention, this information provides input regarding business requirements, so that suitable data content may be identified as such when encountered in various datasets. For example, if a user wants to gain insight into the marketing of a particular product in a given region, a dataset containing information about sales of that product in that region will likely be more useful than a dataset containing only sales information for that product in a different region. According to aspects of the present invention, general sales information about a product may also be useful to the user, and a user data usage requirement query may be constructed to collect this level of detail. According to aspects of the present invention, a wide variety of preferences regarding data ranges may be collected from users to train the system 100 regarding user data usage preferences.

[0037] The server computer 102 includes a metadata generation module (MGM) 116 that extracts and generates dataset attributes that identify metadata (e.g., using an ontology engine, statistical data processor, or similar known tool). For example, the server computer 102 may assign meaning to fields in a given dataset using a domain-specific ontology that contains machine-readable statements about the domain (e.g., describing various domain concepts and the relationships between them). The MGM 116 may receive simple key-value pairs that indicate the meaning of the fields. Other meaning assignment arrangements selected according to the judgment of one skilled in the art may be sufficient. The generated metadata can include many types of useful information about the data contained in a given dataset. The derived metadata may include statistical properties of the data, such as the type of distribution involved, mean values, data value variance, etc. The derived metadata may also include indications of time series data, other similar data field interrelationships, and various other data field interrelationships. According to aspects of the present invention, the derived metadata can also include information (as derived by known data mining techniques) about how the data has been used previously and what other queries it supported. The derived metadata may provide personally identifiable information that may be useful or otherwise acceptable for marketing products and opening new marketing channels, pursuant to the confirmed consent provided (if the affirmative consent of the original content provider is confirmed). The derived metadata may include information about the demographic representation of the content found in the data, including topic domains, aggregated gender, age ranges, and geographic distribution, etc. The derived metadata for a given dataset presents a summary of the dataset content and provides an indication of the data uses for which the dataset is well suited. For example, the derived metadata may indicate that a given dataset is well suited to answering questions related to a particular domain, a particular demographic range, geographically related questions, etc.The better a data set is suited to a given data use, the more value the data set has to users with those data use goals.

[0038] The server computer 102 includes a dataset field suitability assessment module (DFSAM) 118 that identifies datasets with field suitability values (FSVs) that exceed a predetermined suitability threshold. The FSVs are calculated by fields indicated in derived metadata for a given dataset 110 against target data fields determined by the PDAM 112 to determine the number of matches between fields included in the dataset and preferred target data fields. The FSVs indicate the degree of similarity between the dataset fields and the target data fields, which may be measured, for example, by the number of class labels whose semantic similarity with the target data field exceeds 85% or some other value selected according to the judgment of one skilled in the art. To improve downstream computational efficiency, the DFSAM 118 determines the top k candidate datasets whose FSVs exceed the suitability threshold and designates these candidate datasets as comparison datasets.

[0039] The server computer 102 includes a compared attribute assessment module (CAAM) 120 that compares the dataset metadata of the comparison datasets identified by the DFSAM 118 and generates a compared attribute score value (CASV) for each compared dataset, representing the likelihood that each associated compared dataset contains content indicative of the target dataset attribute. The CASV is determined, for example, by determining the number of dataset attributes that have a semantic similarity with the target dataset attribute of greater than 85% (or some other value selected according to the judgment of one skilled in the art). The server computer 102 includes a candidate dataset ranking module (CDRM) 122 that ranks the candidate dataset metadata sets according to the target attribute and generates a ranked list of candidate datasets indexed by score values. Note that different dataset attributes may have different influence weights when applied to different data usage documents 108, and these different attribute influence weights may be expressed as dataset attribute desirability values associated with various fields or other attributes included in the determined metadata. The server computer 102 includes a top-level dataset selector that designates the compared dataset with the highest compared attribute score value as the selected dataset.

[0040] As an example, according to an embodiment of the present invention, an assessment of metadata for two comparison datasets may indicate that the datasets include content indicative of target dataset attributes (e.g., "dataset value range" and "dataset completeness"). If the "dataset value range" attribute has a higher dataset attribute desirability value (e.g., more useful to a given user) as indicated by a user (e.g., via a data usage document) than the "dataset completeness" attribute, then the dataset with the higher "dataset value range" score (e.g., a wider range of values) will be ranked as more suitable for meeting the associated user's needs and preferences than a dataset with a lower value range score value (e.g., a narrower range of values). In the same example, the dataset with the higher "dataset completeness" score may not be ranked as more suitable because the "dataset completeness" attribute is less important than the "dataset value range." In this example, a relatively high score for the low-weighted "dataset completeness" attribute compared to other datasets is not sufficient to ensure a high ranking for the associated dataset. However, in this example, it is still conceivable that a dataset associated with a relatively high "dataset completeness" attribute score may be ranked higher by CDRM122 if it is shown to have a set of attribute scores that, on average, are higher than the average attribute score values of other compared datasets.

[0041] The server computer 102 also includes a past usage log update module (HULUM) 124 that updates past data fields so that future use of selected datasets can be assessed with greater accuracy than provided by historical context. According to aspects of the present invention, past usage fields in metadata sets are associated with datasets selected for search with search context values representing aspects of search parameters, and are updated with the search parameters each time a dataset becomes a selected dataset. Note that, according to aspects of the present invention, data and its past usage in different business applications may be tracked (e.g., by HULUM 124 and the selected dataset metadata and past usage update module 126) and used to develop rich metadata (as shown generally at 440 in FIG. 4). For example, ongoing data usage in business applications may be used to identify associated domains of data usage and usage frequencies. This may be returned to the dataset as metadata (e.g., via HULUM 124 and the selected dataset metadata and past usage update module 126), and future searches may be based on this ever-expanding collection of metadata content. Searching datasets using dataset content is known. According to aspects of the present invention, facets (e.g., target dataset attributes) are included as dataset search criteria. For example, a facet called "Number of Empty Set Entries" might capture the number of empty (e.g., empty set) fields present in each record of a given dataset. According to aspects of the present invention, having a facet identified in the metadata allows a user to indicate a preference for datasets that exhibit that facet (e.g., indicate a high attribute desirability value).For example, if a given user's needs indicate a preference for datasets with a small number of empty set record entries, datasets with a relatively small number of empty set record entries will be ranked higher (e.g., as more suitable for the user and more likely to meet the data requirement needs and preferences of the user) by CDRM 122 than datasets with a larger number of empty set record entries. According to aspects of the present invention, specific target dataset attributes (e.g., facets) can also be directly identified as requirements for identifying a dataset as a selected dataset.

[0042] 2 and generally to the other figures, a method for ranking multiple datasets according to dataset content and desired data attributes according to an embodiment of the present invention is illustrated. The server computer 102, via the PDAM 112, at block 202, identifies a set of target data fields from a set of process documents using diagram identifiers, a BPEL reader, and a UML assessment tool (as described above), and reviews and mines the documents to identify the target data fields.

[0043] The server computer 102, at block 204, identifies a set of target dataset attributes from the set of data usage documents (as described above) via the data usage document analysis module DUDAM 114. The server computer 102, at block 206, generates a plurality of metadata sets for the associated datasets and the associated datasets via the metadata generation module (MGM) 116. The server computer 102, at block 208, determines, via the DFSAM 118, candidate datasets having field suitability values that exceed a predetermined suitability threshold, where the field suitability values (FSVs) represent the degree of similarity between a set of fields associated with the dataset (via the derived metadata information) and a set of target data fields. The server computer 102, at block 210, determines, via the CAAM 120, the likelihood that each comparison dataset exhibits the target dataset attributes.

[0044] The server computer 102, via the CDRM 122, ranks the candidate datasets at block 212 based at least in part on the compared attribute score values. The server computer 102, via the selected dataset metadata and past usage update module 126, establishes a set of search parameters for a search to be performed on the selected dataset at blocks 214 and 216 and updates a past usage field in the metadata set associated with the selected dataset for the search with a search context value representing aspects of the search parameters. The server computer 102 presents the selected dataset 218 via the selected dataset presenter 128 at block 218. According to aspects of the present invention, the search context value may be a numeric code that provides information about the domain in which a particular dataset has previously been used. The search context value may also be an unstructured text string and may represent aspects of other previous usage of the provided dataset (including other datasets used in conjunction with it).

[0045] Referring now to FIG. 3A , a high-level overview 310 of the system 100 is shown. In particular, business requirements, a dataset, and metadata are provided as inputs to a data value engine for processing. According to an embodiment of the present invention, the data value engine provides a ranked dataset, data values, and a facet ranking as outputs. According to an embodiment of the present invention, metadata includes information about the data in a given dataset (e.g., the domain associated with the given dataset). Metadata can be stored with the data in several different forms. In many object storage arrangements, data is stored as objects and metadata is stored as key-value pairs associated with the data objects. Metadata is primarily identified within the data itself or manually (e.g., extracted using automated mechanisms such as analytical algorithms or similar routines selected by those skilled in the art) with input from data experts that provide further insight and information about various data objects. According to an embodiment of the present invention, a score is a numerical value that represents the relative importance of a facet (e.g., an attribute or feature) in the metadata. Facets are data properties that are derived through automation or added to a dataset as part of input provided by a domain expert. When two datasets are available, the dataset that is more suited to the specific requirements of the application is the one with the higher score. According to aspects of the present invention, scores are preferably generated and datasets are ranked according to content field attributes and the presence of preferred dataset attributes (e.g., facets). Ranking identifies the relative importance of a given facet for a given dataset among all features. Ranking also determines the relative positioning of various facets when establishing the suitability of a dataset for a given user's data needs. For example, a dataset score for a "null value" attribute indicates that the associated dataset has many null set records.The server computer 102 then uses the scores for each attribute to rank the attributes (eg, via CDRM 122) among the various compared data sets and also within each data set.

[0046] 3B, a schematic diagram 320 of an example of the system 100 in use is shown. In particular, a request for a particular type of information (represented by a question or group of questions to be placed in a questionnaire and other data requirements) is passed to the data value engine. Several datasets (e.g., “HR Data,” “Customer Dataset,” and “Click Analysis”) and associated dataset metadata are also provided to the data value engine. The data value engine processes the input, evaluates the provided datasets according to relevance, and provides a list of datasets ranked according to the determined relevance. In the example shown, the “HR Data” dataset is the top dataset with a determined data value of 50, the “Click Analysis” dataset is the middle-ranked dataset with a determined data value of 46, and the “Customer” dataset is the bottom dataset with a determined data value of 35.

[0047] Referring now to FIG. 4, a schematic overview of system 100 will be described, in which aspects of the system are shown arranged into stages. In particular, first stage 410 represents an aspect of an embodiment of the invention collectively referred to as "Stage 1: Business Documentation and Process Analysis Engine," in which BPEL documents, implementation artifacts, UML, and various component diagrams are processed for entity and activity extraction. A discovery unit associated with first stage 410 includes an activity diagram locator and a class diagram locator suitable for identifying fields necessary to support system activities according to a given user's established practices and requirements, as represented in the process documentation provided as input. Second stage 420 represents an aspect of an embodiment of the invention collectively referred to as "Stage 2: Dataset Value Evaluation Engine." Here, various field requirements and desired dataset characteristics, including target fields identified in the first stage 410 and dataset target attributes (e.g., dataset facets) identified in the third stage 430 (described more fully below), are compared to metadata sets describing the provided datasets using known NLP, machine learning comparison, and other methods of computerized analysis. Dataset suitability values are determined for each dataset, and the datasets are ranked according to these values. The third stage 430 represents an aspect of an embodiment of the present invention collectively referred to as "Stage 3: Business Interactive Dataset Recommendation Engine," in which various business requirement questions, associated answers, and related system artifact mappings are passed to the dataset evaluation engine 420 for use as described above. The fourth stage 440 represents an aspect of an embodiment of the present invention collectively referred to as "Stage 4: Data Usage History," in which historically recorded dataset usage and extracted metadata describing that usage are passed to the second stage 420 for supplemental consideration when determining dataset suitability values.In particular, the output of the fourth stage 440 provides historical insight and associated score accuracy improvements by allowing the rating engine of the second stage 420 to include metadata of previous dataset usage and past score values. This stage provides the system with more and more insight over multiple iterations, allowing the system 100 to become more accurate with increased usage.

[0048] 5, an alternative view of system 100 is shown with aspects of the system arranged according to an exemplary workflow outline 500. In particular, business survey information and business process information are passed from the business owner to an activity identification phase, where target data facets and required system classes are identified. A business metrics-to-data converter then provides the required facets from the business and data fields to data field identifiers, and facet ratings are generated. The facet ratings are passed to a dataset rating phase, where a dataset ranker provides a ranking of the dataset. This information is then returned as output to the business owner.

[0049] 6, there is shown a schematic diagram 600 of aspects of a sample embodiment of "data value" and "data ranking" entries generated in accordance with an embodiment of the present invention. In particular, the entries provide a representation of a set of JSON-formatted key-value pairings useful for identifying and comparing dataset values and associated dataset rankings in accordance with an embodiment of the present invention. However, other formats may be selected according to the discretion of one skilled in the art.

[0050] 7, an exemplary questionnaire 700 (and sample responses) regarding business requirements for an accounting scenario assessing account attrition is shown. The server computer 102 collects and processes the responses (e.g., via the DUDAM 114). The answers provided in response to the questionnaire questions reflect the types of information an associated business may want to collect. The answers provided by users associated with the business are used to determine target dataset attributes.

[0051] With respect to flowcharts and block diagrams, the flowcharts and block diagrams in the figures of this disclosure illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of instructions, including one or more executable instructions for implementing a specified logical function. In some alternative implementations, the functions noted in the blocks may occur out of the order noted in the figures. For example, depending on the functionality involved, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may be executed in the reverse order. It will also be noted that each block of the block diagrams and / or flowchart diagrams, and combinations of blocks in the block diagrams and / or flowchart diagrams, may be implemented by special-purpose hardware-based systems that perform the specified functions or operations or execute a combination of special-purpose hardware and computer instructions.

[0052] Referring to FIG. 8, a system or computer environment 1000 includes a computer diagram 1010 shown in the form of a generic computing device. For example, methods of the present invention may be embodied in a program 1060 including program instructions embodied on a computer-readable storage device or medium, e.g., generally referred to as memory 1030, or more specifically, computer-readable storage medium 1050. Such memory and / or computer-readable storage medium may include non-volatile memory or storage devices. For example, memory 1030 may include storage medium 1034, such as random access memory (RAM) or read-only memory (ROM), and cache memory 1038. The program 1060 is executable by the processor 1020 of the computer system 1010 (to execute program steps, codes, or program code). Additional data storage may be embodied as a database 1110 containing data 1114. Computer system 1010 and program 1060 are generic representations of computers and programs that may be local to a user or provided as a remote service (e.g., as a cloud-based service), and in further examples may be provided using a website accessible using communications network 1200 (e.g., interacting with a network, the Internet, or a cloud service). It will be understood herein that computer system 1010 also generically represents a computing device or computer included in a device, such as a laptop or desktop computer, or one or more servers, either alone or as part of a data center. The computer system may include a network adapter / interface 1026 and an input / output (I / O) interface 1022. The I / O interface 1022 allows for input and output of data to and from external devices 1074 that may be connected to the computer system.The network adapter / interface 1026 may provide communication between the computer system and a network, generally depicted as a communications network 1200 .

[0053] The computer 1010 may be described in the general context of computer system-executable instructions, such as program modules, being executed by the computer system. Generally, program modules may include routines, programs, objects, components, logic, data structures, etc. that perform particular tasks or implement particular abstract data types. Method steps and system components and techniques may be embodied in modules of the program 1060 for performing the method steps and respective system tasks. Modules are generally represented in the diagram as program modules 1064. The program 1060 and program modules 1064 may execute particular steps, routines, subroutines, instructions, or code of the program.

[0054] The methods of the present disclosure may be executed locally on a device, such as a mobile device, or may be executed as a service on a server 1100, which may be remote and accessed using a communications network 1200. The program or executable instructions may be offered as a service by a provider. The computer 1010 may be implemented in a distributed cloud computing environment where tasks are performed by remote processing devices linked through the communications network 1200. In a distributed cloud computing environment, program modules may be located in both local and remote computer system storage media, including memory storage devices.

[0055] The computer 1010 may include a variety of computer-readable media. Such media may be any available media accessible by the computer 1010 (e.g., a computer system or server) and may include both volatile and nonvolatile media, as well as removable and non-removable media. The computer memory 1030 may include additional computer-readable media in the form of volatile memory, such as random access memory (RAM) 1034 and / or cache memory 1038. The computer 1010 may further include other removable / non-removable, volatile / non-volatile computer storage media, such as a portable computer-readable storage medium 1072 in one example. In one embodiment, the computer-readable storage medium 1050 may be provided for reading from and writing to non-removable, non-volatile magnetic media. The computer-readable storage medium 1050 may be embodied as, for example, a hard drive. Additional memory and data storage may be provided, for example, as a storage system 1110 (e.g., a database) for storing data 1114 and communicating with the processing unit 1020. The database may be stored on or part of server 1100. Although not shown, a magnetic disk drive for reading from and writing to a removable, non-volatile magnetic disk (e.g., a "floppy disk") and an optical disk drive for reading from or writing to a removable, non-volatile optical disk, such as a CD-ROM, DVD-ROM, or other optical media, may be provided. In such cases, each may be connected to bus 1014 by one or more data medium interfaces. As further depicted and described below, memory 1030 may include at least one program product, which may include one or more program modules configured to perform the functions of embodiments of the present invention.

[0056] The methods described in this disclosure may be embodied in one or more computer programs, generally referred to as programs 1060, for example, and stored in memory 1030 within computer-readable storage medium 1050. Program 1060 may include program modules 1064. Program modules 1064 generally may perform the functionality and / or methodology of embodiments of the invention as described herein. The one or more programs 1060 are stored in memory 1030 and executable on processing unit 1020. By way of example, memory 1030 may store an operating system 1052, one or more application programs 1054, other program modules, and program data on computer-readable storage medium 1050. It will be appreciated that program 1060, and the operating system 1052 and application programs 1054 stored on computer-readable storage medium 1050, are similarly executable on processing unit 1020. It will also be understood that applications 1054 and programs 1060 are shown generically and may include or be part of one or more of the applications and programs described in this disclosure, or vice versa, i.e., applications 1054 and programs 1060 may be part of or be part of one or more of the applications or programs described in this disclosure.

[0057] One or more programs may be stored on one or more computer-readable storage media such that the programs are embodied in and / or encoded on the computer-readable storage media. In one example, the stored programs may include program instructions for execution on a processor, or a computer system having a processor, to perform a method or to cause the computer system to perform one or more functions.

[0058] The computer 1010 may communicate with one or more external devices 1074, such as a keyboard, pointing device, display 1080, etc., one or more devices that allow a user to interact with the computer 1010, or any device that allows the computer 1010 to communicate with one or more other computing devices (e.g., a network card, modem, etc.), or a combination thereof. Such communication may occur via an input / output (I / O) interface 1022. Still further, the computer 1010 can communicate with one or more networks 1200, such as a local area network (LAN), a general wide area network (WAN), or a public network (e.g., the Internet), or a combination thereof, via a network adapter / interface 1026. As shown, the network adapter 1026 communicates with other components of the computer 1010 via the bus 1014. It should be understood that other hardware and / or software components, not shown, may be used in conjunction with the computer 1010. Examples include, but are not limited to, microcode, device drivers 1024, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data archive storage systems.

[0059] It is understood that a computer, or a program running on computer 1010, may communicate with a server, embodied as server 1100, over one or more communications networks, embodied as communications network 1200. Communications network 1200 may include transmission media and network links, including, for example, wireless, wired, or fiber optic, as well as routers, firewalls, switches, and gateway computers. A communications network may include connections such as wires, wireless communications links, or fiber optic cables. A communications network may represent a worldwide collection of networks and gateways, such as the Internet, that communicate with each other using various protocols, such as Lightweight Directory Access Protocol (LDAP), Transport Control Protocol / Internet Protocol (TCP / IP), Hypertext Transport Protocol (HTTP), Wireless Application Protocol (WAP), etc. A network may include several different types of networks, such as, for example, an intranet, a local area network (LAN), or a wide area network (WAN).

[0060] In one example, a computer may use a network that may access websites on the web (World Wide Web) using the Internet. In one embodiment, a computer 1010 including a mobile device may use a communication system or network 1200 that may include the Internet or a public switched telephone network (PSTN), e.g., a cellular network. The PSTN may include telephone lines, fiber optic cables, transmission links, cellular networks, and communications satellites. The Internet may facilitate numerous searching and texting techniques, such as using a mobile phone or laptop computer to submit queries to a search engine via text message (SMS), multimedia messaging service (MMS) (related to SMS), email, or a web browser. The search engine may obtain search results, i.e., links to websites, documents, or other downloadable data corresponding to the query, and similarly provide the search results to a user via the device, e.g., as a search result web page.

[0061] The present invention may be a system, method, or computer program product, or combination thereof, integrated at any conceivable level of technical detail. The computer program product may include one or more computer-readable storage media having computer-readable program instructions for causing a processor to perform aspects of the present invention.

[0062] A computer-readable storage medium may be a tangible device that can hold and store instructions for use in an instruction execution device. A computer-readable storage medium may be, for example, but not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. A non-exhaustive list of more specific examples of computer-readable storage media includes portable computer diskettes, hard disks, random access memories (RAMs), read-only memories (ROMs), erasable programmable read-only memories (EPROMs or flash memories), static random access memories (SRAMs), portable compact disk read-only memories (CD-ROMs), digital versatile disks (DVDs), memory sticks, floppy disks, mechanically encoded devices such as punch cards or ridge structures in grooves that record instructions, and any suitable combination of the foregoing. Computer-readable storage medium, as used herein, should not be construed as being a transitory signal per se, such as an electric wave or other freely propagating electromagnetic wave, an electromagnetic wave propagating through a waveguide or other transmission medium (e.g., a light pulse passing through a fiber optic cable), or an electrical signal transmitted over a wire.

[0063] The computer-readable program instructions described herein may be downloaded from a computer-readable storage medium to each corresponding computing / processing device, or may be downloaded to an external computer or external storage device via a network, such as the Internet, a local area network, a wide area network, or a wireless network, or a combination thereof. The network may comprise copper transmission cables, optical fiber transmissions, wireless transmissions, routers, firewalls, switches, gateway computers, or edge servers, or a combination thereof. A network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and forwards the computer-readable program instructions for storage in a computer-readable storage medium in each corresponding computing / processing device.

[0064] Computer-readable program instructions for carrying out operations of the present invention may be either assembler instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state setting data, configuration data for integrated circuits, or source or object code written in any combination of one or more programming languages, including object-oriented programming languages such as Smalltalk® or C++, and procedural programming languages such as the “C” programming language or similar programming languages. The computer-readable program instructions may execute entirely on the user's computer, partially on the user's computer as a stand-alone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer via any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be to an external computer (e.g., via the Internet using an Internet Service Provider). In some embodiments, electronic circuitry including, for example, a programmable logic circuit, a field programmable gate array (FPGA), or a programmable logic array (PLA) may execute computer readable program instructions by utilizing state information of the computer readable program instructions to personalize the electronic circuitry to perform aspects of the present invention.

[0065] Aspects of the present invention are described herein with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer-readable program instructions.

[0066] These computer-readable program instructions may be provided to a computer processor or other programmable data processing apparatus to produce a machine, such that the instructions, executed by the computer processor or other programmable data processing apparatus, create means for implementing the functions / acts specified in one or more blocks of the flowcharts and / or block diagrams. These computer-readable program instructions may be stored on a computer-readable storage medium that can direct a computer, programmable data processing apparatus, or other device, or combination thereof, to function in a particular manner, such that the computer-readable storage medium having the instructions stored thereon comprises an article of manufacture containing instructions that implement aspects of the functions / acts specified in one or more blocks of the flowcharts and / or block diagrams.

[0067] The computer-readable program instructions may be loaded onto a computer, other programmable data processing apparatus, or other device and cause the computer, other programmable apparatus, or other device to perform a series of operable steps to create a computer-implemented process, such that the instructions executing on the computer, other programmable apparatus, or other device implement the functions / acts specified in one or more blocks of the flowcharts and / or block diagrams.

[0068] The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. Each block in the flowcharts or block diagrams may represent a module, segment, or portion of instructions, including one or more executable instructions for implementing a specified logical function. In some alternative implementations, the functions noted in the blocks may occur out of the order noted in the figures. For example, two blocks shown in succession may actually be accomplished as a single step and executed concurrently, substantially concurrently, in a partially or fully overlapping manner, or the blocks may be executed in the reverse order depending on the functionality involved. It will also be noted that each block in the block diagrams and / or flowchart diagrams, and combinations of blocks in the block diagrams and / or flowchart diagrams, may be implemented by a special-purpose hardware-based system that performs the specified functions or operations or executes a combination of special-purpose hardware and computer instructions.

[0069] Although the present disclosure may include detailed descriptions related to cloud computing, it should be understood that implementation of the teachings recited herein is not limited to cloud computing environments. Rather, embodiments of the present invention may be implemented in conjunction with any other type of computing environment now known or later developed.

[0070] Cloud computing is a service delivery model for enabling convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, network bandwidth, servers, processing, memory, storage, applications, virtual machines, and services) that can be rapidly provisioned and released with minimal management effort or interaction with a service provider. The cloud model may include at least five characteristics, at least three service models, and at least four deployment models.

[0071] The characteristics are as follows:

[0072] On-Demand Self-Service: Cloud consumers can unilaterally provision computing capacity, such as server time and network storage, automatically as needed without the need for human interaction with the service provider.

[0073] Wide network access: Capabilities are available over the network and accessed via standard mechanisms that facilitate use by heterogeneous thin or thick client platforms (eg, cell phones, laptops, and PDAs).

[0074] Resource Pooling: A provider's computing resources are pooled to serve multiple consumers using a multi-tenant model, with multiple different physical and virtual resources dynamically allocated and reallocated according to demand. There is location independence in that consumers generally have no control over or knowledge of the exact location of the provided resources, but may be able to specify location at a higher level of abstraction (e.g., country, state, or data center).

[0075] Rapid Elasticity: Capacity can be rapidly provisioned and rapidly scaled out, and rapidly released and rapidly scaled in, rapidly and adaptively, sometimes automatically. To the consumer, the capacity available for provisioning often appears unlimited, and any amount can be purchased at any time.

[0076] Measured Services: Cloud systems automatically control and optimize resource usage by utilizing metering capabilities at a level of abstraction appropriate to the type of service (e.g., storage, processing, bandwidth, and active user accounts). Resource usage can be monitored, controlled, and reported to provide transparency to both providers and consumers of utilized services.

[0077] The service model is as follows:

[0078] Software as a Service (SaaS): The consumer is offered the ability to use a provider's applications running on a cloud infrastructure. The applications are accessible from a variety of client devices through thin-client interfaces such as web browsers (e.g., web-based email). The consumer has no management or control over the underlying cloud infrastructure, including networks, servers, operating systems, storage devices, or even individual application capabilities, except in some cases for limited user-specific application configuration settings.

[0079] Platform as a Service (PaaS): The ability offered to consumers is to deploy applications they create or acquire, written using programming languages and tools supported by the provider, onto a cloud infrastructure. The consumer does not manage or control the underlying cloud infrastructure, including networks, servers, operating systems, or storage, but does control the deployed applications and, in some cases, the configuration of the application hosting environment.

[0080] Infrastructure as a Service (IaaS): The ability offered to consumers is to provision processing, storage, networking, and other basic computing resources on which they can deploy and run any software, which may include operating systems and applications. The consumer does not manage or control the underlying cloud infrastructure, but does control the operating system, storage, deployed applications, and in some cases, limited control over select networking components (e.g., host firewalls).

[0081] The deployment model is as follows:

[0082] Private Cloud: Cloud infrastructure is operated solely for the organization. It may be managed by the organization or a third party and may reside on-premise or off-premise.

[0083] Community Cloud: Cloud infrastructure is shared by several organizations to support a specific community of shared concerns (e.g., mission, security requirements, policies, and compliance considerations). It may be managed by the organization or a third party and may reside on-premises or off-premises.

[0084] Public cloud: Cloud infrastructure is made available to the general public or large industry organizations and is owned by organizations that sell cloud services.

[0085] Hybrid Cloud: A cloud infrastructure is a composition of two or more clouds (private, community, or public) that remain unique entities but are tied together by standard or proprietary technologies that enable data and application portability (e.g., cloud bursting for load balancing between clouds).

[0086] Cloud computing environments are service-oriented with an emphasis on statelessness, low coupling, modularity, and semantic interoperability. At the heart of cloud computing is an infrastructure that includes a network of interconnected nodes.

[0087] 9 , an exemplary cloud computing environment 2050 is shown. As shown, the cloud computing environment 2050 includes one or more cloud computing nodes 2010 with which local computing devices used by cloud consumers may communicate, such as, for example, a personal digital assistant (PDA) or cellular phone 2054A, a desktop computer 2054B, a laptop computer 2054C, or an automobile computer system 2054N, or any combination thereof. The nodes 2010 may communicate with each other. They may be physically or virtually grouped (not shown) in one or more networks, such as a private cloud, a community cloud, a public cloud, or a hybrid cloud, or any combination thereof, as described above. This enables the cloud computing environment 2050 to provide infrastructure, a platform, or software, or any combination thereof, as a service without the cloud consumer having to maintain resources on the local computing device. It will be appreciated that the types of computing devices 2054A-N shown in FIG. 9 are for illustrative purposes only, and that computing node 2010 and cloud computing environment 2050 can communicate with any type of computerized device via any type of network and / or network-addressable connection (e.g., using a web browser).

[0088] Referring now to Figure 10, there is shown a set of function abstraction layers provided by cloud computing environment 2050 (Figure 9). It should be understood in advance that the components, layers, and functions shown in Figure 10 are intended to be merely exemplary, and embodiments of the present invention are not limited thereto. As shown, the following layers and corresponding functions are provided:

[0089] Hardware and software layer 2060 includes hardware and software components. Examples of hardware components include mainframe 2061, RISC (Reduced Instruction Set Computer) architecture-based servers 2062, servers 2063, blade servers 2064, storage devices 2065, and networks and networking components 2066. In some embodiments, software components include network application server software 2067 and database software 2068.

[0090] The virtualization layer 2070 provides an abstraction layer from which examples of virtual entities such as virtual servers 2071, virtual storage devices 2072, virtual networks including virtual private networks 2073, virtual applications and operating systems 2074, and virtual clients 2075 can be sourced.

[0091] In one example, management layer 2080 may provide the following functions: Resource provisioning 2081 provides dynamic procurement of computing and other resources utilized to execute tasks within the cloud computing environment. Metering and pricing 2082 provides cost tracking as resources are utilized within the cloud computing environment and billing or invoicing for the consumption of these resources. In one example, these resources may include application software licenses. Security provides identity verification of cloud consumers and tasks, as well as protection of data and other resources. User portal 2083 provides access to the cloud computing environment for consumers and system administrators. Service level management 2084 provides allocation and management of cloud computing resources so that required service levels are met. Service level agreement (SLA) planning and fulfillment 2085 provides advance arrangements for and procurement of cloud computing resources for anticipated future requirements in accordance with SLAs.

[0092] The workload tier 2090 provides examples of functions for which a cloud computing environment may be utilized. Examples of workloads and functions that may be provided from this tier include mapping and navigation 2091, software development and lifecycle management 2092, virtual classroom instruction delivery 2093, data analytics processing 2094, transaction processing 2095, and an automated method for ranking multiple datasets according to dataset content and desired data attributes 2096.

[0093] The descriptions of various embodiments of the present invention are presented for illustrative purposes, but are not intended to be comprehensive or limited to the disclosed embodiments. Similarly, examples of features or functions of embodiments of the present disclosure described herein, whether used to describe a particular embodiment or listed as examples, are not intended to limit the embodiments of the present disclosure described herein or to limit the disclosure to the examples described herein. Many modifications and variations that do not depart from the scope and spirit of the described embodiments will be apparent to those skilled in the art. The terminology used herein was selected to best explain the principles of the embodiments, practical applications, or technical improvements over commercially available technologies, or to enable those skilled in the art to understand the embodiments disclosed herein.

Claims

1. 1. A computer-implemented method for sorting a plurality of datasets according to dataset attributes, comprising: a computer identifying a set of target data fields from a set of process documents, the process documents indicating a user's data field preferences; the computer identifying a set of target dataset attributes from a set of data usage documents, the data usage documents indicating data scoping preferences for the user; generating, by a computer, a plurality of metadata sets relating to the plurality of associated data sets; the computer determining candidate datasets having field compatibility values above a predetermined compatibility threshold, the field compatibility values representing a degree of similarity between a set of fields associated with the dataset and the set of target data fields; the computer assessing the associated metadata set for each candidate dataset with respect to the target dataset attributes, and the computer generating a compared attribute score for each candidate dataset that indicates the likelihood that the associated dataset will contain content that is indicative of the target dataset attributes; generating a list of the candidate data sets sorted by the compared attribute scores; A method for providing

2. The method of claim 1 , wherein the data usage document includes information in a format selected from the list consisting of Business Process Execution Language (BEPL) and Unified Modeling Language (UML).

3. The method of claim 1 or 2, wherein the target dataset attributes are extracted from elements of the process document selected from the list consisting of class diagrams, activity diagrams, sequence diagrams, and component diagrams.

4. The method of claim 1 , further comprising the step of designating the candidate dataset with the highest compared attribute score as the selected dataset.

5. 5. The method of claim 4, further comprising: establishing a set of search parameters for a search to be performed on the selected dataset; and updating a past usage field in the metadata set associated with the dataset selected for the search with a search context value representing an aspect of the search parameters.

6. The method of claim 5 , wherein ranking is based at least in part on the past used field values.

7. The method of claim 1 , wherein the compared attribute scores are based at least in part on associated desirability values associated with each of the target dataset attributes.

8. 8. The method of claim 1, wherein the metadata set includes information selected from a list consisting of domain, gender, age group, geographic distribution, demographic distribution, numerical statistical range, and applicability context.

9. 1. A system for sorting a plurality of datasets according to dataset attributes, the system comprising: a computer system having a computer-readable storage medium having program instructions embodied therein, the program instructions being computer-executable, the program instructions causing the computer to: identifying a set of target data fields from a set of process documents, the process documents indicating a user's data field preferences; identifying a set of target dataset attributes from a set of data usage documents, the data usage documents indicating data scoping preferences for the user; generating a plurality of metadata sets for a plurality of associated datasets; determining candidate datasets having field compatibility values above a predetermined compatibility threshold, the field compatibility values representing a degree of similarity between a set of fields associated with the dataset and the set of target data fields; assessing the associated metadata set for each candidate dataset with respect to the target dataset attributes and generating a compared attribute score for each candidate dataset that indicates the likelihood that the associated dataset will contain content indicative of the target dataset attributes; generating a list of the candidate data sets sorted by the compared attribute scores; to carry out system.

10. 10. The system of claim 9, wherein the data usage document includes information in a format selected from the list consisting of Business Process Execution Language (BEPL) and Unified Modeling Language (UML).

11. The system of claim 9 or 10, wherein the target dataset attributes are extracted from elements of the process document selected from the list consisting of class diagrams, activity diagrams, sequence diagrams, and component diagrams.

12. 12. The system of claim 9, further comprising instructions for the computer to designate the candidate dataset with the highest compared attribute score as the selected dataset.

13. 13. The system of claim 12, further comprising instructions for the computer to establish a set of search parameters for a search to be performed on the selected dataset and to update a past usage field in the metadata set associated with the dataset selected for the search with a search context value representing an aspect of the search parameters.

14. The system of claim 13 , wherein ranking is based at least in part on the past usage field values.

15. 15. The system of claim 9, wherein the compared attribute scores are based at least in part on associated desirability values associated with each of the target dataset attributes.

16. 16. The system of claim 9, wherein the metadata set includes information selected from a list consisting of domain, gender, age group, geographic distribution, demographic distribution, numerical statistical range, and applicability context.

17. On the computer, identifying a set of target data fields from a set of process documents, the process documents indicating a user's data field preferences; identifying a set of target dataset attributes from a set of data usage documents, the data usage documents indicating data scoping preferences for the user; generating a plurality of metadata sets relating to a plurality of associated datasets; determining candidate datasets having field compatibility values above a predetermined compatibility threshold, the field compatibility values representing a degree of similarity between a set of fields associated with the dataset and the set of target data fields; assessing the associated metadata set for each candidate dataset with respect to the target dataset attributes and generating a compared attribute score for each candidate dataset that indicates the likelihood that the associated dataset will contain content indicative of the target dataset attributes; generating a list of the candidate data sets sorted by the compared attribute scores; A computer program to be executed.

18. 20. The computer program product of claim 17, wherein the data usage document includes information in a format selected from the list consisting of Business Process Execution Language (BEPL) and Unified Modeling Language (UML).

19. 19. The computer program product of claim 17 or 18, wherein the target dataset attributes are extracted from elements of the process document selected from the list consisting of class diagrams, activity diagrams, sequence diagrams, and component diagrams.

20. The computer, 20. The computer program of claim 17, further comprising the step of designating the candidate dataset with the highest compared attribute score as the selected dataset.

Citation Information

Patent Citations

  • Personal merchandising system

    JP2000003394A

  • Data cooperation estimation device, data cooperation estimation method, and program

    JP2016136354A

  • Data set scoring

    US10339147B1

  • Post-hoc management of datasets

    US20170293671A1

  • Predicting And Recommending Relevant Datasets In Complex Environments

    US20180096077A1