Method and system for maintaining a data vocabulary

By measuring the usage dimensions of words in the data vocabulary, selecting candidate words and performing maintenance actions, the problem of data vocabulary growth and complexity over time is solved, and more effective maintenance and management is achieved.

CN114626366BActive Publication Date: 2025-05-02INTERNATIONAL BUSINESS MACHINE CORPORATION
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202111434513.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2020-12-13
Filing Date
2021-11-29
Publication Date
2025-05-02
Estimated Expiration
2041-11-29

AI Technical Summary

Technical Problem

The prior art has difficulty in effectively maintaining and simplifying data vocabulary, resulting in it growing over time, becoming complex and difficult to manage.

Method used

Recognize and optimize maintenance words in the data vocabulary by measuring the usage dimensions of the word set, selecting candidate words, and performing maintenance actions.

Benefits of technology

A data-driven method based on usage dimensions is implemented, which simplifies the maintenance of data vocabulary and improves its overall compactness and accuracy.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114626366B_ABST
    Figure CN114626366B_ABST
Patent Text Reader

Abstract

The present disclosure relates to maintenance of a data vocabulary. A system may receive a data vocabulary including a word list. The system may then measure usage dimensions of a set of words from the word list. The system may select candidate words from the set based on the usage dimensions and perform maintenance actions on the candidate words.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to computer-based operation and maintenance of data vocabularies, such as business vocabularies. Background Art

[0002] Organizations use business vocabularies to provide definitions of common vocabulary for the organization. Business vocabularies can be a key feature of mature modern information management (data management) solutions. Without standardizing and documenting the organization's terminology, people may not fully understand the management policies and rules, and it may be difficult to correctly implement and enforce those rules, whether it is data quality, data protection, lifecycle management, or other types of policies. Business vocabularies can also be useful in modern self-service infrastructures, where knowledge workers (such as data scientists and business analysts) have the power to search for useful data in order to work with it. If information assets are classified together with the business terms that the organization is using, this can help knowledge workers find things that interest them. Knowledge workers can start by searching for standardized business terms, and in response, can receive data that fits the corresponding business concepts. This can significantly help find relevant data and reduce the risk of misusing data due to misunderstandings about what the data represents. Summary of the invention

[0003] Embodiments of the present disclosure include methods, systems, and computer program products for maintaining a data vocabulary.

[0004] An embodiment of the present disclosure includes a method comprising: receiving a data vocabulary including a word list; measuring a usage dimension of a set of words from the word list; selecting a candidate word from the set based on the usage dimension; and performing a maintenance action on the candidate word.

[0005] Additional embodiments of the present disclosure include a system comprising a memory and a processor in communication with the memory, the processor being configured to perform operations comprising: receiving a data vocabulary comprising a word list; measuring usage dimensions of a set of words from the word list; selecting candidate words from the set based on the usage dimensions; and performing maintenance actions on the candidate words.

[0006] Additional embodiments of the present disclosure include a computer program product comprising a computer-readable storage medium having program instructions embodied therein, the program instructions executable by a processor to cause the processor to perform a method comprising: receiving a data vocabulary comprising a word list; measuring usage dimensions of a set of words from the word list; selecting candidate words from the set based on the usage dimensions; and performing maintenance actions on the candidate words.

[0007] The above summary is not intended to describe each illustrated embodiment or every implementation of the present disclosure. BRIEF DESCRIPTION OF THE DRAWINGS

[0008] In the following, embodiments of the invention are explained in more detail, by way of example only, with reference to the accompanying drawings, in which:

[0009] Figure 1 Depicts representative major components of a computer system that may be used in accordance with an embodiment.

[0010] Figure 2 An example software environment is shown that may be used in accordance with embodiments.

[0011] Figure 3 A schematic visualization of example relationships that may occur for terms of a data vocabulary is shown.

[0012] Figure 4 An example computer-implemented method of maintaining a data vocabulary is described. DETAILED DESCRIPTION

[0013] Business vocabularies and other kinds of data vocabularies are often used as repositories of words that appear in data elements generated during operations and activities. Without regular analysis of features such as similarity and importance of words, the size and complexity of data vocabularies increase over time. Therefore, it is desirable to have methods to simplify the maintenance of data vocabularies by balancing the requirements of compactness and accuracy to maximize the usefulness of data vocabularies.

[0014] As will become clear from the following explanation, embodiments of the present invention may have the following advantages: maintenance terms in a data vocabulary may be identified based on their usage for the performance of maintenance actions. Embodiments may have the following advantages: the performance of maintenance actions may be restricted to certain maintenance terms of the data vocabulary based on their usage. Embodiments may provide an efficient method for maintaining a data vocabulary by deploying usage dimensions as a means for quantifying the usage of maintenance terms. Embodiments may provide a flexible method for maintaining a data vocabulary by allowing a system to evaluate the usage of maintenance terms using multiple quantitative usage dimensions. Embodiments may utilize a computing environment that provides persistent, accessible, comprehensive documentation of word usage in a high degree of detail that may be less error-prone than manual documentation. Embodiments may allow the use of maintenance terms to be analyzed in a systematic, unbiased manner that may be less error-prone than manual analysis. Embodiments may be beneficial for defining routines for managing the size and quality or usefulness of data vocabularies based on quantitative evidence of word usage.

[0015] Embodiments of the present invention may support the operation of a data vocabulary, which is understood herein as a collection of words and their definitions and may also be referred to herein as a "vocabulary" for simplicity. A data vocabulary may be an implementation of an ontology that defines standardized terms (words and their definitions), which may optionally contain additional information, such as synonyms, abbreviations, and information describing the relationships of the words of the vocabulary. Depending on the context, the word "word" herein may refer to the actual word, that is, a string of one or more human-readable words that are stored as a single entry in the data vocabulary together with their assigned definitions, and may also refer to a single data set stored by the data vocabulary that may contain at least the actual word string and its assigned definitions. In addition, unless explicitly stated, the unspecified word "word" may refer to a maintenance word (data set or string) as defined herein.

[0016] The data vocabulary may be stored in a computer memory that may be located in and accessible within a computing environment, in which data elements using individual words of the data vocabulary may be available. Many feasible choices of data structures are known for implementing the data vocabulary, such as, but not limited to, a graph including nodes representing words and edges representing the relationships of the words to each other. The word data set included in the data vocabulary may include further information, such as, but not limited to, attributes representing the relationship of the word to other words in the vocabulary and data structures and / or data elements available in the computing environment. Some or all of the words of the vocabulary may be maintenance words that are subject to execution of an embodiment of the method described herein. Words may be processed using, for example, their word strings or unique identifiers that may be useful in distinguishing different word data sets having the same word string. The data vocabulary may include further information, such as tags or categories that may group words; and / or time information, such as the time of creation or last change of the word.

[0017] Embodiments may provide a method for maintaining words for maintaining a data vocabulary. There may be multiple maintenance reasons for which performance of the method may be worthwhile. For reasons of simplicity, the discussion herein will be limited to example cases where the words are not frequently used (i.e., the maintenance reason is "infrequently used") or the quality of the words is poor (i.e., the maintenance reason is "needs definition improvement"). However, those skilled in the art will appreciate that there may be various other maintenance reasons that may make deployment of embodiments useful, where the concepts of usage dimensions and maintenance actions discussed herein are directly applied to the corresponding maintenance reasons.

[0018] Specific to a given maintenance reason, an embodiment may deploy steps to measure one or more usage dimensions for each maintenance term. In some embodiments, the usage dimensions are based on the use of the term by one or more users. The usage dimensions may be characterized by a particular, predetermined type of usage evidence that a given term may or may not exhibit and that can be reproducibly measured by executing a usage measurement algorithm. Of course, a modular approach may be defined that can load and execute, for example, a process or a usage measurement algorithm that acts as a usage measurement algorithm for each measured usage dimension. Alternatively or additionally, instructions for measuring multiple usage dimensions may be integrated into a general algorithm, for example, an algorithm suitable for measuring some or all usage dimensions of one or more maintenance reasons.

[0019] Evidence of usage can be any kind of data or other logical structure that a qualified person considers to represent a maintenance reason. In other words, if a usage measurement algorithm finds evidence of usage for a particular segment of a given word, such a qualified person will consider (alone or in combination with evidence of other usage dimensions representing the same maintenance reason) that the segment is a hint that a predefined maintenance action specific to the maintenance reason must be performed on the given word. In general, a qualified person can be considered to be someone who conceives of using a measurement algorithm in order to find evidence of usage. It may be beneficial to provide an interface that allows a user to define new usage dimensions by programming a new usage measurement algorithm that is adapted to provide values ​​for the new usage dimensions in response to receiving a word (its word string or other identifier). The usage measurement algorithm can find such evidence at least in the vocabulary and possibly in other data sources available in the computing environment, and can return the value of a given word in its corresponding usage dimension.

[0020] For each maintenance reason, maintenance terms may be prioritized based on the value(s) measured for one or more of the usage dimensions for that maintenance reason. Prioritization of a given term may be based on a maintenance priority that is an appropriate representation of the likelihood that a qualified person may deem necessary to perform the maintenance action in order to support the goal of balancing the simplicity and accuracy of the data vocabulary. To this end, it may be convenient to use the measured value of a single usage dimension or the result of a mathematical processing of the value(s) of one or more of the usage dimensions for the current maintenance reason as the maintenance priority for a given maintenance term. Prioritization based on a combination of values ​​measured in multiple usage dimensions for a given term may produce a more significant maintenance priority than using the value of a single usage dimension as the maintenance priority. Prioritization may include sorting the maintenance terms according to their maintenance priority.

[0021] Based on their maintenance priority, a portion of the prioritized words may be selected as candidate words. A maintenance threshold criterion may be applied such that any word having a maintenance priority equal to or exceeding a predefined candidate maintenance threshold is included in the selection of candidate words. The selection may be provided to an entity (such as a user with access to a computing environment, or a computing system executing appropriate artificial intelligence techniques (such as a trained neural network or other trained machine learning model)) that may be deemed qualified to be able to decide whether a given word should actually be processed through a maintenance action assigned to a given maintenance reason, respectively. In other words, a usage-based selection of candidate words for vocabulary maintenance may be presented to an entity that is able to determine, for each selected word, whether it should be included in the corresponding maintenance process.

[0022] If the number of candidate terms in the selection is below a predefined maintenance threshold, it may be advantageous to collect the selection of candidate terms and temporarily store the collection without providing it to the decision entity. Conversely, during one or more subsequent runs of the method, additional candidate terms may be added to the selection, such that candidate terms collected in an earlier run of the method are provided during a later run in which the number of candidate terms equals or exceeds the maintenance threshold.

[0023] Additional information may be provided along with the selection of candidate terms, such as descriptive information describing the usage evidence found for each candidate term in one or more of the measured usage dimensions. Non-limiting examples of this may include findings such as a given term having a number of relationships with files / logical rules, etc. that are below a predefined maintenance threshold, or a given term having a number of accesses to its term definition within a predefined time window that is equal to or greater than a predefined threshold.

[0024] In response to providing a selection of candidate words, a computing system executing an embodiment of the method may receive a selection of confirmed words from the entity to which the selection of candidate words was provided, and the selection of confirmed words may be considered a subset of the selection of candidate words. The confirmed words may include those candidate words for which the decision entity finds that the need to perform maintenance actions on those words is true. The selection of candidate words and the selection of confirmed words may be implemented in various forms such as a list, group, or set of word strings or word identifiers, or may be implemented as flags or markers of corresponding words in a data vocabulary.

[0025] The implementation for selecting candidate terms and selecting confirmed terms does not necessarily have to be the same. If both selections are implemented by marking the terms in the vocabulary, it may be necessary to provide a mechanism that at least removes (limited to a given maintenance reason) the candidate flag from all terms, or if candidate flags are automatically removed during confirmation marking, then only removes the candidate flag from those terms that have not been set with a confirmation flag, to avoid double marking. Alternatively, the decision entity can be made to remove the candidate flag for any term for which a decision is made or at least remove the candidate flag for those terms that have not been confirmed.

[0026] Embodiments of the method may further include performing a maintenance action predefined for a given maintenance reason on each of the confirmed words. This may be done after receiving a selection of the confirmed words, but it is also possible that the confirmed words are received after completing a maintenance action, which may be completed by the decision-making entity itself or by another entity (computing system or user) delegated by the decision-making entity to perform the maintenance action. If a given maintenance action includes a modification of the confirmed words, this may be useful to reduce or prevent delays in data vocabulary maintenance. If the maintenance action is performed before receiving the confirmed words, the receiving computing system may obtain a unique assignment between each received confirmed word (already modified or otherwise processed) and the corresponding provided candidate word, and update the corresponding word in the data vocabulary. If the maintenance action is performed after receiving a selection of the confirmed words, the corresponding maintenance action may be performed by a computing system implementing an embodiment of the method, another computing system delegated by the implementing system, and / or a user. Non-limiting examples of maintenance actions include automatic or semi-automatic deletion, marking or listing as identified as requiring improvement, or starting an interactive word editing session via a user interface.

[0027] It must be noted that the "use" or "utilization" of a given term in a data element or data structure may refer to the explicit occurrence of a term string of the given term or an equivalent identifier of a data set of the term in said data structure or data element, but may also refer to the implicit use of the term, which may be the case without limitation if said data structure or element uses an instance of the term, where the instance of the term can be considered as another data structure or another data element that explicitly appears in the data structure or data element and is represented by the given term. A data structure is understood herein as any form of structured data, such as but not limited to a data type, a file, a file type, a content type, or a logical rule or statement, and a data element may refer to any specific instance of a data structure, such as a specific data set of a given file type or a specific file of a given file type.

[0028] As a non-limiting example of explicit use, a string including the word "client address" in a column header in a spreadsheet may be considered as a use of the term "client address" by a particular data element of the spreadsheet in which the column header appears (in other words, the term "client address" has a relationship to a particular spreadsheet), as well as a use of the term "client address" by a data structure "spreadsheet" (in other words, the term "client address" has a relationship to the data structure "spreadsheet"). In this example, implicit use may refer to a situation where a spreadsheet does not contain the term "client address" in one of its cells, but rather as an internal descriptor of a data type that is defined for the range of its cells but is not generally displayed to the user as content of the spreadsheet. Another example of implicit use may be a situation where a spreadsheet contains email addresses for so-called gold customers, and the data vocabulary defines "email address" as a sub-term of "contact data", and defines "gold customer" as a sub-category of the term "account type". In this example, the spreadsheet may establish a relationship between the terms "account type" and "contact data".

[0029] The user or other decision entity may reject a suggested candidate term. In this case, a time period may also be defined during which a rejected term is suppressed from being repeatedly suggested as a candidate term for the same maintenance reason. This may be achieved by adding, for example, a "remove reject" tag or an "improve reject" tag to the term accordingly, together with an indication of when this time span ends, which indication may be checked each time the method is executed. After such a time span, the reject tag may be removed so that if the process subsequently identifies the term as a candidate term again, it may be included again in the selection of candidate terms provided.

[0030] A policy may be defined for hierarchical treatment of terms that are candidate terms for more than one maintenance reason. For example, a term that is a candidate term and a confirmed term for both deletion and improvement may be deleted by policy if deletion is considered more important than improvement, or may alternatively be removed from deletion candidates by policy if improvement is considered more important than deletion. In the latter case, the corresponding term may be given a skip tag with an indication of a time interval during which the term is exempted from maintenance evaluation.

[0031] Embodiments of the method may be performed periodically, for example based on a schedule. It may be recommended to perform embodiments of the method repeatedly to account for changes to the vocabulary that may occur continuously during its normal operation. The timing of maintenance repetitions may be directed to the frequency of such changes, where different maintenance reasons (depending on their respective criticality considerations) may require equal or different repetition time scales.

[0032] According to some embodiments, the data vocabulary is further adapted to store assignments between maintenance terms and relationship attributes from a predefined group of one or more relationship attributes, each relationship attribute in the group of relationship attributes specifically representing a related data structure, at least one of the one or more maintenance reasons comprising infrequent use of a given maintenance term, at least one of the one or more usage dimensions dedicated to infrequent use of a given maintenance term being a relationship usage dimension assigned to a given relationship attribute of the one or more relationship attributes, the related data structure represented by the given relationship attribute being a given related data structure, the usage measurement algorithm executed to perform measurement of the relationship usage dimension being a relationship usage measurement algorithm, wherein, for the relationship usage measurement algorithm, evidence of use of a given maintenance term within a given related data structure comprises an assignment between a given maintenance term and a given relationship attribute. In some embodiments, the system may store one or more relationship attributes representing a related data structure for term grouping. In some embodiments, the data structure is selected from the group consisting of a logical rule, a file, a file type, and a content type.

[0033] The maintenance reasons for infrequently used words can be based on the following assumption: the frequency of using words is a hint of their importance or usefulness. In simple words, this embodiment can also be based on the following assumption: frequently used words have more relationships with data structures than infrequently used words (that is, more data structures use the words, and / or more instances of the words are used by the same data structure). It can be further assumed that each use instance of a given word by a given data structure is represented in the vocabulary by assigning the relationship attribute of the given data structure to the given word. This embodiment can be understood to make it possible to be advantageous to evaluate the infrequent use of the given maintenance words by analyzing the relationship of the given maintenance words. This can be accomplished by defining one or more usage dimensions in the usage dimensions specific to the infrequently used maintenance reasons as the relationship usage dimensions measured by the corresponding relationship usage measurement algorithm. Using relationship attributes to evaluate the infrequent use of words can have the following advantages: the computing system implementing this embodiment does not have to search the computing environment to find the occurrence of words in the available data structures and data elements.

[0034] Word-to-word relations can be defined according to public dictionary standards such as ANSI / NISO Z39.19 and ISO 25964. These dictionary standards define three common types of word relations: hierarchical relations, equivalence relations, and associative relations. Hierarchical relations can be general (narrower word NT is a subset or subcategory of a wider word BT), part-whole (NT is a component or part of a BT), instance (NT is an instance of a BT), and multi-hierarchical (one NT has multiple BTs). Equivalence relations represent the correspondence of two words that are considered (almost) the same and can be almost interchangeable in a variety of contexts. Examples of equivalents include synonyms, lexical variants, quasi-synonyms, abbreviations, proper name synonyms, etc. Associative relations are used to suggest additional or alternative words for searching.

[0035] According to some embodiments, determination of the value of the relationship usage dimension includes counting the assignments between a given relationship attribute and a given maintenance term by a relationship usage measurement algorithm. Counting the number of relationship attributes may have the advantage of reducing consumption of computational resources used to maintain the data vocabulary compared to methods involving mathematical or other computational processing. In examples where the vocabulary is implemented via a graph, the mutual relationships of a given term with other terms in the data vocabulary may be counted by counting the edges connected to the given term. Alternatively or additionally, any other structural representation of a relationship such as, but not limited to, keywords, flags, pointers, etc. may be appropriately counted.

[0036] According to some embodiments, the determination of the value of the relationship usage dimension includes counting the number of changed assignments between a given maintenance word and at least one of the one or more relationship attributes within a predefined first time period by a relationship usage measurement algorithm. Without limitation, the changed assignments may include the generation of a new assignment of a relationship attribute, the cancellation, modification or replacement of an existing assignment of a relationship attribute, or the change of an existing relationship attribute itself. This may be based on the assumption that the vocabulary is a dynamic system and that words that are not used for new activities tend to become obsolete. This may have the advantage of more comprehensively determining the selection of candidate words. Focusing the measurement on the first time period may further reduce the computational workload for executing the method and may allow for responsiveness to recent changes that may have occurred in the use of some words. Preferably, the first time period includes the current time of execution of the method and may be selected so as to reflect a typical time scale on which significant changes in relevance may be expected. The assignment change usage dimension may be dispersed by relationship type, for example, it may be feasible to distinguish between the use of a given word for a new file in a computing environment and its use or importance for a new management artifact.

[0037] According to some embodiments, the relevant data structure is selected from the group consisting of logic rules, files, file types, content types, and words included in the data vocabulary. This may have the advantage that the maintenance of the data vocabulary may be performed with greater selectivity for a specific subset of the maintenance words in the data vocabulary, making a single execution of the method less demanding on computing resources than the maintenance of the complete vocabulary.

[0038] Specifically, a low number of relationships with a logic rule may indicate that the term is not relevant to management or compliance. A relationship between a term and a logic rule may be established by the rule using the term. For example, a logic rule may specify that a data set of gold customers must have a proportion of at least 90% of non-null entries. Considering that, according to this example, "gold customers" is an instance of the vocabulary term "account type" and the example logic rule belongs to a set of data quality rules that define a relationship between the vocabulary term "account type" and the rule type "data quality".

[0039] The rule relationship usage dimension can be fanned out by distinguishing between specific rule types (e.g., abstract management rules, data protection rules, data quality rules, information lifecycle management rules, etc.). A small number of relationships between a term and files such as tables or text-based documents can indicate that the term is not relevant to data self-service. The file relationship usage dimension can be fanned out by considering only specific files. For example, in a system that marks particularly important files as "critical data elements" (CDEs), it may make sense to distinguish between relationships with CDE files and non-CDE files, and give the CDE sub-dimension more weight when determining the overall usage count for the term.

[0040] Similarly, the relevance of words can be determined using relationships between words and content types, such as, but not limited to, business intelligence reports, notebooks, machine learning model training sets, etc. The word-content type usage dimension can be fanned out by information asset type (e.g., a specific dimension for reports) and / or tag (e.g., a specific dimension for execution reports). Considering predefined time periods may also be possible (e.g., currently active execution reports). Additionally, a higher number of word-word relationships may indicate that a given word is important for understanding other words.

[0041] According to some embodiments, the maintenance action associated with infrequent use of the given maintenance term includes deleting the given maintenance term from the data vocabulary. Deletion of infrequently used terms can increase computational efficiency for maintaining the vocabulary and can contribute to increased relevance of the remaining terms. Deletion can be performed automatically, optionally after final confirmation of deletion from known qualified user queries. Likewise, a warning about automatic deletion can be issued, for example, if the number of terms to be deleted simultaneously (i.e., by the same instance of the method) equals or exceeds a predefined threshold.

[0042] According to some embodiments, at least one of the one or more maintenance reasons includes a need to improve a given maintenance term, one or more usage dimensions dedicated to the need to improve the given maintenance term include a time usage dimension, and the usage measurement algorithm for determining the value of the time usage dimension of the given maintenance term is suitable for detecting evidence of usage of the given maintenance term within a predefined second time period.

[0043] It may be beneficial to restrict the measurement of the usage dimension for maintenance reason "needs improvement" (i.e., a search for maintenance terms that appear to have the potential for increased relevance if modified appropriately) to a second time period that preferably includes the current time of execution of the method to take into account the assumption that the relevance of terms may vary over the time scale represented by the second time period (e.g., measuring the usage dimension based on evidence that occurred during the past 12 months). This may maximize the importance of the candidate terms provided and may therefore reduce the risk of finding candidate terms that appear to be irrelevant simply because the measurement was performed in a time window that is too small or too large.

[0044] According to some embodiments, each maintenance word further includes a word definition, and determining the value of the time usage dimension of a given maintenance word by using a measurement algorithm includes counting accesses to the word definition of the given maintenance word from a user interface. This method can be based on the assumption that a large number of requests indicate that the word string and / or its word definition is insufficient to semantically understand the given word. This can provide a highly selective measurement for evaluating the need for improvement, and therefore can have the advantage of reducing the amount of false positive candidate words, which can contribute to more efficient use of computing resources by embodiments of the method.

[0045] According to some embodiments, the data vocabulary is also suitable for storing user comments for each maintenance word, and determining the value of the time usage dimension for a given maintenance word by using a measurement algorithm includes counting the user comments for the given maintenance word; and / or the data vocabulary is also suitable for storing user ratings for each maintenance word, and determining the value of the time usage dimension for a given maintenance word by using a measurement algorithm includes determining the characteristics of negative user feedback based on the user ratings for the given maintenance word.

[0046] User ratings are understood herein as numerical items assigned to given words by users, and can reflect the scale between a number representing a highly useful word and another number representing a word with poor relevance or other qualities. This can be considered as "direct" numerical evidence that needs to be improved. On the other hand, the number of user comments can reflect the following observations: if the relevance of the usefulness of a word perfectly matches the needs and expectations of the user, the user usually does not comment on the word, and the comment or discussion usually focuses on the characteristics of the word and / or their suspicious definitions. These methods can provide improved selectivity for words that are highly in need of improvement, and therefore can contribute to more efficient use of computing resources by embodiments of the method. The characteristics of negative user feedback can include aggregate metrics, such as the number or sum of ratings in the average rating and / or one or more predefined lowest ranking categories.

[0047] According to some embodiments, a maintenance action associated with a need to improve a given maintenance word includes adding the given maintenance word to a set of words to be improved, and the method further includes, in response to providing one or more of the words to be improved to a user interface: receiving one or more updated words from the user interface, each updated word corresponding to a word in the words to be improved; for each updated word, removing the corresponding word to be improved from the set of words to be improved, and replacing the corresponding word to be improved with the updated word in the data vocabulary.

[0048] Because manual modification of words can be time consuming, it may be advantageous to store a given confirmed word in a set of words to be improved until the user is ready to input the desired modifications to the given confirmed word. A set of words to be improved may have the further advantage of allowing the words to be improved to be skipped from subsequent measurements for assessing improvement needs, which may reduce the requirements of computing resources for performing embodiments of the method. In addition, a mechanism may be deployed for providing a warning to a user interface, for example, if the number of words to be improved equals or exceeds a predefined threshold.

[0049] According to some embodiments, each usage dimension has been assigned a predefined dimension weight, and the prioritization includes determining the maintenance priority based on one or more of the measured usage dimensions weighted by their respective dimension weights. This may allow increasing the importance of the maintenance priority by assigning higher dimension weights to more important usage dimensions than to less important usage dimensions. The maintenance priority may be determined to include an aggregate measure, such as a weighted sum, such as the product of the sum over all considered usage dimensions of the corresponding dimension weight and the corresponding value of the usage dimension. Other weighted aggregate calculations are known to those skilled in the art.

[0050] Similarly, some or all maintenance words in the maintenance words may be assigned word weights, wherein the priority of a given word is additionally based on its word weight. This may have the following advantages: words of a more important, significant or meaningful part of a vocabulary may receive a higher maintenance priority than words of a less important, less significant or less meaningful part of a vocabulary, so that more important words may be maintained earlier than less important words. On the other hand, it may be worthwhile to assign higher word weights to words in a part of the vocabulary whose known quality is lower than the words in the known high-quality part, so that low-quality words may be improved earlier, and the consumption of computing resources for improving high-quality words may become less likely to occur. Word weights may be assigned to only a portion of the vocabulary and predefined standard weights may be assumed for all new words or words to which word weights have not yet been assigned. In an example, the data vocabulary of an enterprise includes: a portion of words with high word weights generated and maintained by authorized personnel of the enterprise to support the central assets of the enterprise, a portion of standard business words with low word weights purchased from external providers for integrity purposes, and a portion of words with standard or average weights generated during a short-term project of the enterprise. Dimension weights and term weights may be changed, for example, by a user depending on his or her assessment of the importance, significance, or meaningfulness of a term.

[0051] According to some embodiments, each usage dimension is further assigned a criticality indicator, and the prioritization further includes changing the dimension weight of one or more of the measured usage dimensions based on the criticality indicator. The criticality indicator may, for example, be selected from a predefined group of criticality categories such as "high criticality", "normal" and "low criticality", or may be incorporated to, for example, serve as a mark indicating high priority if it exists or is set, and as a mark indicating normal priority if it is missing or cleared. The criticality indicator may be beneficial for controlling the consumption of computing resources through embodiments of the method. For example, the measurement may be limited to usage dimensions with high-value criticality indicators for all words with a number of relationships exceeding a predetermined threshold, while additional usage dimensions may be measured for maintenance words with a lower number of relationships to obtain more significant maintenance priority for these words. Similar to the word weights described above, maintenance words may be assigned (e.g., by a user) word maintenance criticality highlighting, for example, words that maintenance actions are considered particularly important.

[0052] According to some embodiments, the data vocabulary is further adapted to store a skip indicator for each maintenance word for each maintenance reason, the measurement of one or more usage dimensions for a given maintenance reason specific to a given maintenance word further comprising skipping execution of the usage measurement algorithm for the given maintenance word if the skip indicator for the given maintenance word indicates ineligibility of the given maintenance word for the given maintenance reason. In some embodiments, the system can skip execution of a maintenance action for a word based on the skip indicator in the data vocabulary.

[0053] The skip indicator may be set as a flag, a mark, or other data element assigned to a given maintenance word. This may be useful for reducing the consumption of computing resources by embodiments of the method. Words may be skipped under a certain policy, such as, but not limited to, avoiding revisiting (e.g., within a predefined time period) for words that have been denied maintenance actions by a decision-making entity. In another example, a user who has just created a new word data set that is not yet ready for publication in a computing environment may set a skip indicator for the new word data set and remove it when publication of the new word has been approved.

[0054] According to some embodiments, providing a selection of candidate words includes providing a selection of candidate words to a user interface and / or a trained machine learning model. Providing a selection of candidate words to a user interface can allow a user to review the candidate words to decide whether a given candidate word should be added to a selection of confirmed words or rejected words. This can result in a selection of confirmed words with high importance. Providing a selection of candidate words to a trained machine learning model can allow a selection of confirmed words with improved computational efficiency and importance to be determined compared to other computational decision methods. The output of the machine learning model can be interpreted as a probability that a maintenance action for a corresponding maintenance reason is required for each candidate word. In an example, the selection of candidate words can first be provided to a trained machine learning model, and then the output of the machine learning model is provided to the user interface together with the selection of candidate words, wherein the assignment of each candidate word to its corresponding output received from the trained machine learning model is presented to the user as supporting evidence that can facilitate the user's decision.

[0055] According to some embodiments, the method further includes repeating the method according to a predefined first schedule specific to one or more maintenance reasons; and / or the method also includes repeating at least the measuring of the priority of one or more usage dimensions and maintenance words according to a predefined second schedule specific to one or more usage dimensions.

[0056] Scheduling the maintenance of a data vocabulary may allow the frequency of measurements to be adapted to the time scales of change typically observed in a given data vocabulary. Scheduling the maintenance of a data vocabulary specific to a maintenance reason may allow different time scales to be adapted depending on the perceived importance of a given maintenance reason. Thereby, computational resources may be saved for maintenance of terms (measurement of usage dimensions and performance of corresponding maintenance actions) under less important maintenance reasons. Similarly, specific characteristics of evidence observed by usage measurement algorithms for different usage dimensions may be subject to different typical time scales of change, and therefore it may be beneficial to adapt the frequency of vocabulary maintenance to these typical time scales to save computational resources for using the dimension to measure more slowly changing evidence. In some embodiments, the usage dimension is based on usage of the term by one or more users.

[0057] According to some embodiments, the usage measurement algorithm is adapted to perform determination of the value of the usage dimension additionally based on evidence of the use of maintenance terms in a data catalog including metadata about the data elements, the metadata including indications of the use of maintenance terms by the data elements. A data catalog may be a tool of a data management strategy that divides the total amount of information owned by an enterprise into information assets (such as data structures and content-bearing data elements described herein, which may include, but are not limited to, text-based content and documents, such as reports, notebooks, and presentations; tables, databases, and other structured or organized content; images, videos, and other media content; and operational data, such as data vocabularies or training sets for machine learning models) and metadata describing the information assets (such as, but not limited to, keywords, timestamps, header information, tags, flags, attributes, user and entity specific information, log files, etc.). A data catalog may include some or all of the metadata owned by an enterprise (or any other owning entity) that operates the data vocabulary (preferably on a global scale). The metadata may contain information about the use of maintenance terms by information assets in explicit form and / or as implicit evidence that must be interpreted to determine whether the term is used by the information asset. Accessing a data catalog can produce a more significant selection of candidate terms than approaches that rely solely on the relationship information provided by a data vocabulary.

[0058] According to some embodiments, the metadata also includes assigning one or more tags selected from a predefined group of one or more tags to the data element, each tag within the group of one or more tags being represented by one of the one or more usage dimensions. This may allow, for example, to reduce the requirements for computing resources used to perform an embodiment of the method by limiting measurements to only (e.g., user-defined) tags of interest so that only relevant portions of the data directory are searched for evidence. In this way, a given usage dimension may be fanned out into sub-dimensions that are specific only to such evidence that falls under the current feature of interest reflected by the selection of the tag. Depending on multiple values ​​of the sub-dimensions measured for some or all of the tags in the tag group, it may also be possible to determine the value of a given usage dimension as an "aggregate dimension." This may allow the workload of performing an embodiment of the method to be split into smaller chunks that can be processed within a shorter time window without blocking computing resources for other processes executed in the computing environment for too long.

[0059] According to some embodiments, each usage dimension is normalized to a range between and including 0 and 1. This can provide a common measure that can be more easily interpreted by human users (e.g., a value of 0 represents no evidence in a given usage dimension, and a value of 1 represents the term with the most evidence in a given usage dimension compared to any other maintained term), and can achieve improved comparability of different usage dimensions. Normalization can also allow the resulting values ​​of the measurement to be processed by common mathematical methods that are not specific to the usage dimension. This can simplify the definition of usage measurement algorithms, and can provide greater flexibility to quickly include newly defined usage dimensions in the overall vocabulary maintenance process without compatibility checks by software developers.

[0060] Embodiments of the present invention may be implemented using computing devices also referred to as computer systems, clients, or servers. Figure 1 , a schematic diagram of an example of a computer system is shown. Computer system 10 is only one example of a suitable computer system and is not intended to impose any limitations on the scope of use or functionality of the embodiments of the invention described herein. Regardless, computer system 10 is capable of implementing and / or performing any of the functions set forth above.

[0061] In computer system 10 there is a computer system / server 12 which may operate with numerous other general purpose or special purpose computing system environments or configurations. Examples of well-known computing systems, environments, and / or configurations that may be suitable for use with computer system / server 12 include, but are not limited to, personal computer systems, server computer systems, thin clients, thick clients, handheld or laptop devices, multiprocessor systems, microprocessor-based systems, set-top boxes, programmable consumer electronics, network PCs, minicomputer systems, mainframe computer systems, and distributed computing environments including any of the above systems or devices, and the like.

[0062] Computer system / server 12 can be described in the general context of computer system executable instructions (such as program modules) executed by a computer system. Generally speaking, program modules may include routines, programs, objects, components, logic, data structures, etc. that perform specific tasks or implement specific abstract data types. Computer system / server 12 can be practiced in a distributed computing environment, where tasks are performed by remote processing devices linked through a communication network. In a distributed computing environment, program modules may be located in both local and remote computer system storage media including memory storage devices.

[0063] like Figure 1 As shown, the computer system / server 12 in the computer system 10 is shown in the form of a general-purpose computing device. The components of the computer system / server 12 may include, but are not limited to, one or more processors 16, a system memory 28, and a bus 18 that couples various system components including the system memory 28 to the processor 16. The bus 18 represents one or more of any of several types of bus structures, including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, and a processor or local bus using any of a variety of bus architectures. By way of example and not limitation, such architectures include an Industry Standard Architecture (ISA) bus, a Micro Channel Architecture (MCA) bus, an Enhanced ISA (EISA) bus, a Video Electronics Standards Association (VESA) local bus, and a Peripheral Component Interconnect (PCI) bus.

[0064] Computer system / server 12 typically includes a variety of computer system readable media. Such media can be any available media that can be accessed by computer system / server 12, and it includes volatile and nonvolatile media, removable and non-removable media.

[0065] The system memory 28 may include computer system readable media in the form of volatile memory, such as random access memory (RAM) 30 and / or cache memory 32. The computer system / server 12 may also include other removable / non-removable, volatile / non-volatile computer system storage media. By way of example only, a storage system 34 may be provided for reading from and writing to a non-removable, non-volatile magnetic medium (not shown, and generally referred to as a "hard drive"). Although not shown, a disk drive for reading and writing to a removable non-volatile disk (e.g., a "floppy disk") and an optical drive for reading and writing to a removable non-volatile optical disk such as a CD-ROM, DVD-ROM or other optical media may be provided. In such instances, each may be connected to the bus 18 via one or more data media interfaces. As will be further depicted and described below, the memory 28 may include at least one program product having a collection of program modules (e.g., at least one program module) configured to perform the functions of an embodiment of the present invention.

[0066] A program / utility 40 having a set (at least one) of program modules 42, as well as an operating system, one or more application programs, other program modules, and program data, may be stored in memory 28 by way of example and not limitation. Each or some combination of the operating system, one or more application programs, other program modules, and program data may include an embodiment of a networking environment. The program modules 42 generally perform the functions and / or methods of the embodiments described herein.

[0067] The computer system / server 12 may also communicate with various devices: one or more external devices 14 (e.g., keyboard, pointing device, display 24, etc.); one or more devices that enable a user to interact with the computer system / server 12; and / or any device that enables the computer system / server 12 to communicate with one or more other computing devices (e.g., network card, modem, etc.). Such communication may occur via an input / output (I / O) interface 22. Furthermore, the computer system / server 12 may communicate with one or more networks such as a local area network (LAN), a general wide area network (WAN), and / or a public network (e.g., the Internet) via a network adapter 20. As shown, the network adapter 20 communicates with other components of the computer system / server 12 via a bus 18. It should be understood that, although not shown, other hardware and / or software components may be used in conjunction with the computer system / server 12. Examples include, but are not limited to, microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data archiving storage systems, etc.

[0068] Computer systems (such as Figure 1The computer system 10 shown in Figure 1 can be used to perform the operations disclosed herein, such as maintaining a data vocabulary. Such a computer system can be a stand-alone computer without network connectivity, which can receive data to be processed, such as maintaining words and selection of words to be confirmed, through a local interface. However, a computer system connected to a network (such as a communication network and / or a computing network) can also be used to perform such operations.

[0069] Figure 2 An example software environment that can be configured to perform various embodiments of the method is shown. The software environment can be implemented on hardware, which can include a single computing system 10 or multiple computer systems 10 interconnected by a computing network. Some or all of the hardware devices provided to implement the software environment can be virtualized.

[0070] Figure 2 The software environment may include an enterprise vocabulary maintenance manager 200 that performs an embodiment of the method. The manager 200 may exchange information with an enterprise analytics platform 220 and a monitor 222. An enterprise analytics platform is a large-scale enterprise software package on which a company conducts its analytical research and includes data. In some embodiments, the enterprise analytics platform 220 runs and / or is stored on a computer system 10, wherein the software is stored in a memory 28 and processed on a processing unit 16. The manager 200 may exchange information with a decision entity 208 (e.g., a user or a suitable artificial intelligence engine) and a first memory 204. The monitor 222 may exchange information with the platform 220 and a second memory 224. Figure 2 and Figure 3 In a non-limiting example, the platform 220 may include a data vocabulary 300. The manager 200 may access a plurality of maintenance terms stored within the data vocabulary 300.

[0071] The business vocabulary maintenance manager 200 may include candidate advisor logic 206, which may include an implementation of an embodiment of a method, including maintenance steps such as Figure 4 Steps 402-410 are shown in FIG. Figure 2In a non-limiting example, the manager 200 can be configured to maintain the vocabulary 300 based on two maintenance reasons "infrequent use" and "needs improvement". The manager 200 can combine n usage dimensions 210 specific to infrequent use and m usage dimensions 212 specific to need improvement. The manager can use configuration attributes 202 (e.g., dimension weights, one or more of the thresholds disclosed herein, and schedules, such as global schedules and / or schedules specific to maintenance reasons and / or usage dimensions) to perform vocabulary maintenance. In an example, the manager 200 can load the configuration 202 from the first memory 204 at startup, and can store the output of the vocabulary maintenance (such as, measured dimension values ​​and the received selections of confirmed words and / or further selections of any unconfirmed or rejected words) in the first memory 204.

[0072] The logic 206 may be initiated, for example, according to a general or specific schedule and / or an event-based schedule, such as when the number of changes monitored by the monitor 222 in the data vocabulary 300 since the most recent previous execution of vocabulary maintenance equals or exceeds a predefined threshold. The logic 206 may cause maintenance of the data vocabulary 300 according to multiple maintenance reasons (e.g., through subsequent or parallel processing of maintenance steps specific to each evaluated maintenance reason), according to a single maintenance reason identified by an invocation of a maintenance reason-specific schedule, or limited to one or more selected usage dimensions identified by an invocation of a usage dimension-specific schedule (which may be specific to one or more of the maintenance reasons).

[0073] For a given maintenance reason, the logic 206 may process the maintenance terms to determine, for each maintenance term, whether it would appear valuable to perform a maintenance action associated with the given maintenance reason for the term. Not all maintenance terms may be analyzed, depending on state characteristics, such as a skip indicator that may be set for some of the maintenance terms. Not all usage dimensions specific to a given maintenance reason may be measured, depending on the configuration attributes 202, such as a dimension weight or criticality indicator that may be set for some of the usage dimensions.

[0074] For a given maintenance term, the logic may measure (e.g., following step 402) the applicable usage dimension by executing a usage measurement algorithm for each applicable usage dimension for a given maintenance reason. The usage measurement algorithm may receive a given maintenance term (e.g., a term string, a term data set, or a static descriptor of a term data set), and in response thereto, determine a value for a corresponding usage dimension for the given maintenance term. To this end, the usage measurement algorithm may access resources including the data vocabulary 300, and optionally access other data structures, data elements, and information assets available in the enterprise analytics platform 220 and / or in the hardware computing environment of the hosted software environment to search for evidence of the use of the given maintenance term in these resources. The usage measurement algorithm may determine the value of a given usage dimension, for example, by counting the relationships of the given maintenance term, and / or by analyzing other metadata for the term (e.g., accessing historical data and statistical information, which may be provided at least in part by the monitor 222 (e.g., in the second memory 224)), and / or user-provided information (e.g., ratings and comments for the given maintenance term). The collection of evidence of use may be limited to a predefined time period.

[0075] After measuring the applicable usage dimensions for given maintenance reasons for applicable maintenance terms, the logic 206 may prioritize the measured maintenance terms based on the values ​​of the usage dimensions measured for each applicable term in the following step 404. This may include determining a maintenance priority for each given term, which maintenance priority is defined as a hypothetical representation of the likelihood that the given term requires the maintenance action to be performed. For example, the maintenance reason "Infrequent Use" represented by the usage dimension 210 may have defined deletion of the given term as an applicable maintenance action, and the maintenance reason "Needs Improvement" represented by the usage dimension 212 may have defined adding the given term to a list of terms to be improved as an applicable maintenance action. The maintenance priority of a given term may be based on one or more of the values ​​of the usage dimensions measured for the given term, for example, by a predefined mathematical function.

[0076] The logic 206 may provide a selection of candidate terms in step 406 below by applying criteria regarding the maintenance priority of the prioritized terms. For example, only those prioritized terms that have a maintenance priority exceeding a predefined candidate threshold may be included in the selection of candidate terms. The candidate terms (a data set of terms or their term strings or static identifiers) may be provided to a decision entity 208, such as a user or a suitably enabled and configured artificial intelligence unit, such as a trained machine learning model (e.g., a trained neural network). In some embodiments, the logic may provide the terms or candidate terms to the user.

[0077] In response to this provision from step 406 below, the logic 206 may receive a selection of confirmed words in step 408 below, and the decision entity 208 selects it from the selection of candidate words to confirm that the applicable maintenance action should be performed on the confirmed words. Optionally, the logic may also receive a selection of those candidate words for which the execution of the corresponding maintenance action has been rejected. The selection of confirmed words and, where applicable, the selection of rejected words can be stored in, for example, the first memory 204. For each confirmed word, the logic 206 may cause the maintenance action of a given maintenance reason to be performed on each confirmed word in the following step 410. The rejected words may be checked during a subsequent later execution of an embodiment of the method, so that the rejected words may be exempted from re-evaluation of (one or more) applicable maintenance reasons, for example, within a predefined skip time period. In some embodiments, the logic may receive an indication from the user to proceed with the maintenance action and include the words in the candidate words for performing the maintenance action.

[0078] Figure 3 A schematic visualization of example relationships that may occur for terms of a data vocabulary 300 hosted by an enterprise analytics platform 320 (which may be similar to enterprise analytics platform 220) is shown. For example, data vocabulary 300 may store interrelationships of its terms, such as parent / child relationships, part of or containment relationships, synonyms, substitutes, etc. Platform 320 may further host structured data elements 302 (e.g., tables, files, lists, columns, ...) and content-based data elements 304 (e.g., business intelligence reports, notebooks, training sets for machine learning models, ...) in which terms of the data vocabulary may appear explicitly or implicitly. In addition, platform 320 may host logical classifications 306, which may be used to label data structures and elements 302, 304 and may correspond to terms of data vocabulary 300. The platform 320 may further host policies 308, which may be organized by hierarchical relationships and may use or otherwise be related to certain terms of the vocabulary 300, and logic rules 310, which may be organized by similar groups and may similarly use or otherwise be related to certain terms of the vocabulary 300. The data vocabulary 300 and / or the second storage (e.g., Figure 2 224) can store relationship attributes for each relationship (internal relationship) of words in the data vocabulary 300 and / or each relationship (external relationship) between structured data elements 302, data elements 304, classifications 306, policies 308, and rules 310 for any participant in an external relationship that also exhibits a relationship with one of the words in the data vocabulary 300.

[0079] Figure 4Steps of an example computer-implemented method of maintaining a data vocabulary 300 are shown, which data vocabulary 300 can be independently executed for each of one or more predefined maintenance reasons. Step 402 can include measuring one or more usage dimensions of each of a set of maintenance terms in the data vocabulary 300. This can be done when executing a usage measurement algorithm specifically assigned to a given usage dimension. The usage measurement algorithm can receive a representation of a given maintenance term and, in response thereto, provide a value for the given usage dimension determined by the algorithm based on at least usage evidence of the given term found in the data vocabulary 300.

[0080] Step 404 may include prioritizing the maintenance terms, which may include determining a maintenance priority for each maintenance term based on a value for a given term in one or more of the measured usage dimensions. The maintenance priority may be defined such that it represents the likelihood that a given maintenance term requires the performance of a maintenance action assigned to a given maintenance reason.

[0081] Step 406 may include providing a selection of those prioritized words whose maintenance priority exceeds a predefined candidate threshold as candidate words to a decision entity 208, which may be, but is not limited to, a user or an artificial intelligence module capable of determining whether an applicable maintenance action should indeed be performed on each candidate word.

[0082] Step 408 may include receiving a selection of a confirmation term for which the decision entity has confirmed that a maintenance action corresponding to a given maintenance reason should be performed. Execution of the maintenance action for the confirmed term may be implemented as step 410 .

[0083] The present invention may be a system, method and / or computer program product of any possible integrated technical detail level. The computer program product may include a computer-readable storage medium (or medium) having computer-readable program instructions thereon, and the computer-readable program instructions are used to cause a processor to perform aspects of the present invention.

[0084] Computer readable storage medium can be a tangible device that can retain and store instructions for use by instruction execution devices. Computer readable storage medium can be, for example, but not limited to, electronic storage devices, magnetic storage devices, optical storage devices, electromagnetic storage devices, semiconductor storage devices, or any suitable combination of the foregoing. A non-exhaustive list of more specific examples of computer readable storage medium includes the following: portable computer disk, hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), static random access memory (SRAM), portable compact disk read-only memory (CD-ROM), digital versatile disk (DVD), memory stick, floppy disk, such as punch card or a mechanical encoding device with a raised structure in a groove with instructions recorded thereon, and any suitable combination of the foregoing. Computer readable storage medium as used herein should not be interpreted as a transient signal itself, such as a radio wave or other freely propagating electromagnetic wave, an electromagnetic wave propagated by a waveguide or other transmission medium (e.g., a light pulse by a fiber optic cable), or an electrical signal transmitted by a wire.

[0085] The computer-readable program instructions described herein may be downloaded from a computer-readable storage medium to a corresponding computing / processing device, or downloaded to an external computer or external storage device via a network (e.g., the Internet, a local area network, a wide area network, and / or a wireless network). The network may include copper transmission cables, optical transmission fibers, wireless transmissions, routers, firewalls, switches, gateway computers, and / or edge servers. The 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 to be stored in a computer-readable storage medium within the corresponding computing / processing device.

[0086] The computer-readable program instructions for performing the operation of the present invention can be assembler instructions, instruction set architecture (ISA) instructions, machine instructions, machine-related instructions, microcode, firmware instructions, state setting data, configuration data of integrated circuits, or source code or object code written in any combination of one or more programming languages, including object-oriented programming languages ​​(such as Smalltalk, C++, etc.) and procedural programming languages ​​(such as "C" programming languages ​​or similar programming languages). The computer-readable program instructions can be executed completely on the user's computer, partially on the user's computer, executed as an independent software package, partially on the user's computer and partially on a remote computer, or executed completely on a remote computer or server. In the latter case, the remote computer can be connected to the user's computer through any type of network (including a local area network (LAN) or a wide area network (WAN)), or can be connected to an external computer (for example, by using the Internet of an Internet service provider). In certain embodiments, electronic circuits (including, for example, programmable logic circuits, field programmable gate arrays (FPGAs) or programmable logic arrays (PLAs)) can be executed by utilizing the state information of computer-readable program instructions to personalize the electronic circuits, so as to perform aspects of the present invention.

[0087] Aspects of the present invention are described herein with reference to flowchart illustrations and / or block diagrams of methods, devices (systems) and computer program products according to embodiments of the present invention. It should be understood that each frame of the flowchart and / or block diagram and the combination of frames in the flowchart and / or block diagram can be implemented by computer-readable program instructions.

[0088] These computer-readable program instructions may be provided to a processor of a computer or other programmable data processing device to produce a machine, such that the instructions executed via the processor of the computer or other programmable data processing device create a device for implementing the functions / actions specified in one or more blocks of the flowchart and / or block diagram. These computer-readable program instructions may also be stored in a computer-readable storage medium, which may direct a computer, a programmable data processing device, and / or other device to operate in a particular manner, such that a computer-readable storage medium having instructions stored therein includes an article of manufacture, which includes instructions for implementing various aspects of the functions / actions specified in one or more blocks in the flowchart and / or block diagram.

[0089] Computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device, so that a series of operating steps are performed on the computer, other programmable apparatus, or other device to produce a computer-implemented process, so that the instructions executed on the computer, other programmable apparatus, or other device implement the functions / actions specified in one or more boxes of the flowchart and / or block diagram.

[0090] The flow charts and block diagrams in the accompanying drawings illustrate the possible architecture, functions and operations of the system, method and computer program product according to various embodiments of the present invention. To this end, each box in the flow chart or block diagram can represent a part of a module, segment or instruction, which includes one or more executable instructions for realizing the logical function of (one or more) provisions. In some alternative implementations, the functions marked in the box may not occur in the order marked in the figure. For example, depending on the function involved, the two boxes shown in succession can actually be completed as a step, executed simultaneously, substantially simultaneously, in a partially or completely overlapping manner, or these boxes can sometimes be executed in the opposite order. It will also be noted that each box in the block diagram and / or flow chart, and the combination of the boxes in the block diagram and / or flow chart can be implemented by a system based on special-purpose hardware, which performs a specified function or action or performs a combination of special-purpose hardware and computer instructions.

Claims

1. A method for maintaining a data vocabulary, comprising: receiving a data vocabulary comprising a list of words; measuring usage dimensions of a set of words from the word list, wherein the usage dimensions are based on frequency of use and need for improvement; Determining a maintenance priority for words in the word set based on the usage dimension; Selecting candidate words from the word set based on the usage dimension; as well as performing maintenance actions on the candidate words, The selecting further includes selecting the candidate term based on the maintenance priority.

2. The method according to claim 1, wherein the selecting further comprises: It is determined based on the usage dimension that the term has exceeded a maintenance threshold.

3. The method according to claim 2, wherein the selecting further comprises: providing the term to a user; receiving an instruction from the user to continue the maintenance action; as well as The word is included in the candidate words.

4. The method according to claim 1, further comprising: One or more relationship attributes representing a related data structure for grouping the terms are stored.

5. The method according to claim 4, wherein: The data structure is selected from the group consisting of logic rules, files, file types, and content types.

6. The method according to claim 1, further comprising: Execution of the maintenance action for a word is skipped based on a skip indicator in the data vocabulary.

7. The method according to claim 1, wherein the measuring further comprises: Using a maintenance algorithm to determine said usage dimensions of the term; including the term in the list of terms considered for the maintenance action; as well as The list of terms considered for the maintenance action is prioritized based on maintenance priority.

8. The method according to claim 1, wherein: The usage dimension is based on usage of a term by one or more users.

9. A system for maintaining a data vocabulary, comprising: Memory; as well as A processor in communication with the memory, the processor being configured to perform the steps of the method according to any one of claims 1 to 8.

10. A computer program product comprising a computer-readable storage medium having program instructions embodied therein, the program instructions being executable by a processor to cause the processor to perform the steps of the method according to any one of claims 1 to 8.

Citation Information

Patent Citations

  • Method for achieving quantified determination of optimal dimension of professional field word set

    CN105701248A