Abstract:
A dictionary data structure is described. The data structure is made up of first, second, and third tables. The first table is comprised of entries each representing a natural language term, each entry of the first table containing a term ID identifying its term. The second table is comprised of entries each representing a definition, each entry of the second containing a definition ID identifying its definition. The third table is comprised of entries each representing correspondence between a terminate definition defining the term, each entry of the third table containing term ID identifying the defined term and a definition ID identifying the defining definition. The contents of the data structure are usable to identify any definitions corresponding to a term.

Description:
CROSS-REFERENCE TO RELATED APPLICATION(S) 
       [0001]    The present application claims the benefit of U.S. Provisional Patent Application No. 62/150,237, filed on Apr. 20, 2015, which is hereby incorporated by reference in its entirety. 
         [0002]    The present application is related to the following applications, each of which is hereby incorporated by reference in its entirety: U.S. Provisional Patent Application No. 61/722,759 filed on Nov. 5, 2012; and U.S. patent application Ser. No. 13/723,018 filed Dec. 20, 2012, now issued as U.S. Pat. No. 9,009,197. 
         [0003]    In ways in which the present application and documents incorporated herein by reference are inconsistent, the present applications controls. 
     
    
     TECHNICAL FIELD 
       [0004]    The described technology is directed to the fields of natural language processing and analysis. 
       BACKGROUND 
       [0005]    Many fields of business are subject to extensive, complex bodies of regulations. As one example, the field of Information Technology is subject to myriad international and local laws, administrative rules and guidelines, standards, and other forms of regulation relating to data security and privacy, export control, data formats, identity authentication and authorization of people and machines, among other subjects. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0006]      FIG. 1  is a block diagram showing some of the components typically incorporated in at least some of the computer systems and other devices on which the facility operates. 
           [0007]      FIG. 2  is a flow diagram showing steps performed by the facility in some embodiments to maintain the dictionary. 
           [0008]      FIG. 3  is a flow diagram showing steps performed by the facility in some embodiments to maintain the dictionary. 
           [0009]      FIG. 4  is a data structure diagram showing a graph showing sample relationships between terms in the dictionary. 
       
    
    
     DETAILED DESCRIPTION 
       [0010]    The inventors have observed that is difficult and expensive to comply with extensive, complex bodies of regulations, and have recognized that automated governance tools for ensuring compliance with such regulations would have significant utility. 
         [0011]    A body of regulations in a particular field of business is very often the collective product of a large number of documents—statutes, treaties, administrative rules, industry standards—referred to herein as authority documents. Each such authority document can impose its own requirements. Content of certain authority documents can affect the meaning of other authority documents. The inventors recognized that an effective automated governance tool is much more likely to be effective if it based on a coordinated understanding of all of the authority documents and how they fit together. 
         [0012]    The inventors further recognized that manually establishing such a coordinated understanding of all of the authority documents and how they fit together can itself be an incredibly difficult and expensive task—especially where the set of authority documents is continuously evolving—and that conventional tools for generating an understanding of arbitrary text are ill-suited to derive a complete and accurate understanding of requirements established across a large number of authority documents. In particular, they found such conventional tools as Part of Speech Taggers, Named Entity Taggers, and Natural Language Processors to operate in too general and casual a way, often relying on static, general-purpose dictionaries that intersect inadequately with the linguistic domains of many sets of authority documents; that lack kinds of information needed to do a good job of understanding these authority documents and discerning the requirements they impose; and that often contain information from other domains that tends to confound the process of understanding the authority documents in their own domain. In particular, the dictionaries used by such tools typically fail to capture many kinds of useful information about and relationships between words, including words that are alternate versions of one another, and words that are Named Entities. 
         [0013]    Accordingly, the inventors have conceived and reduced to practice a type of dictionary for use in understanding documents imposing requirements (“the dictionary”), and a software and/or hardware facility for constructing, maintaining, and applying such a dictionary (“the facility”). The dictionary is designed to manage multiple definitions for each term it defines, and recognize and resolve ambiguities in the spelling and/or phrasing of defined terms. The dictionary represents complex hierarchies of terms, based on both directional and bidirectional relationships of various types between terms. 
         [0014]    In various embodiments, the dictionary supports identification of named entities, such as by Named Entity (NE) engines; identification of parts of speech, parts of speech (POS) taggers: and text parsing, including sense disambiguation, such as by Natural Language Processing (NLP) engines. These, in turn, assist in the process of mapping “citations”—each a portion of an authority document—each to one of a set of harmonized controls that are the basis for compliance efforts and compliance certification. 
         [0015]    Named Entities are definite noun phrases that refer to specific types of individuals, such as organizations, persons, dates, and so on, and are often used by Natural Language Processing engines. Named Entities can be used to determine the difference between “contract” and “contracts,” (beyond the plurality of the second): tying the definition of the first to the Named Entity of a particular record example and the definition of the second other to the named entity of an entire record category makes it clear that the first refers to a particular contract, while the second refers to all contracts. 
         [0016]    When tagging a sentence and adding Named Entity recognition to the sentence, this way of curating meaning aids in teaching the Natural Language Processing engine how and in what part of the sentence, terms are most often used. It can change the difference in correct recognition from 60% to 70%, for example. 
         [0017]    Within compliance frameworks such as the UNIFIED COMPLIANCE FRAMEWORK, Named Entity recognition allows a mapper to see which pieces of evidence are necessary to carry out a control. By tagging terms as record example or asset, governance risk and compliance tools can then parse out which evidence needs to be supported for which controls. 
         [0018]    Parts of Speech taggers are similar to Named Entity engines and focus on parts of speech beyond nouns, such as verbs, pronouns, adjectives and adverbs, and are extensible and trainable whereas NE engines generally are not. 
         [0019]    The dictionary tracks usage of terms and their curated tagging to send that information to the Natural Language Processor, showing that 90% of the time when a sentence starts with “report” it doesn&#39;t mean the loud bang of a gun or explosion. 
         [0020]    Beyond simple Parts of Speech tagging, complex Parts of Speech tagging coupled with Named Entity recognition significantly assists the Natural Language Processor. As an example, a Named Entity taggers tagging the word “audit” as a Named Entity task in the same sentence as the word “computer” tells the Natural Language Processor that there&#39;s a high degree of probability the next time it sees the two together that the word “audit” doesn&#39;t mean to informally attend a class of some type, but rather corresponds to this Named Entity. 
         [0021]    Natural Language Processors in their native form tend to accurately process sentences at a rate of 60%; when combined with the NE and POS engines and curated content described herein, their sentence-processing accuracy reaches approximately 85%. In order to be taught, they must be enhanced with curated content and a dictionary structure that allows them to scan the structure and curated content and add new heuristic rules as they go. They can learn, but they have to learn in a structured manner. The dictionary is well-suited to do this. 
         [0022]    In some embodiments, the facility tracks, for each term, the frequency with which it occurs in each of one or more different corpuses of documents, and/or in each of one or more different types of document corpuses. In some embodiments, the facility tracks, for each definition of a term, the frequency with which the facility selects the definition for occurrences of the term in each of one or more different corpuses of documents, and/or in each of one or more different types of document corpuses. 
         [0023]    In some embodiments, the facility tracks and maps non-standard terms, and harmonized terms. In particular, among a set of two or more similar terms having the same meaning, the facility identifies a harmonized term as being preferred for usage. 
         [0024]    In some embodiments, the dictionary is organized as follows: 
         [0025]    Term names are stored in A dictionary_terms table. Definitions are stored in A dictionary_definitions table. A term in the dictionary_terms table is connected to each definition of the term in the dictionary_definitions table through a dictionary_terms_to_dictionary_definitions table. 
         [0026]    A list of word types, such as noun, verb, adjective, etc. or any specific named entity (also called “UCF elements”) related to auditing Record Example, Triggering event, etc. are stored in a dictionary_word_types table, which is connected directly to the dictionary_definitions table. 
         [0027]    Plurals, possessives, plural possessives, pasts, past participles, and all other conjugations of words are stored in a dictionary_other_forms table, which is linked to the corresponding term in the dictionary_terms table. 
         [0028]    The types of possible other forms are stored in a dictionary_other_form_types table. The dictionary_other_form_types table is connected directly to the dictionary_other_forms table. 
         [0029]    Acronyms for term names are stored in an acronym table. The dictionary_terms table is connected to the acronym table through a dictionary_terms_to_acronyms table. 
         [0030]    Synonyms and Antonyms are stored in the dictionary_terms_same_level table. The dictionary_terms_same_level table is connected directly to the dictionary_terms table. Each record of the dictionary_terms_same_level table connects 2 rows of the dictionary_terms table as synonyms or antonyms. All other relationships between terms are stored in the dictionary_terms_hierarchy table, which is connected directly to the dictionary_terms table. 
         [0031]    A blacklisted_linguistic_relationship_terms table contains term names that excluded from the automatic parent/child relationships we suggest for our term hierarchy mostly smaller common words like “a”, “the”, etc. The blacklisted_linguistic_relationship_terms table is connected directly to the dictionary_terms table. 
         [0032]    In some embodiments, the facility performs natural language parser training using sentence data, including sentence data contained in tables such as a sentence table, a tagged phrase table, a sentence dependencies table, etc. 
         [0033]    By operating in some or all of the ways described above, the facility supports accurate automatic understanding of authority documents as a basis for discerning a set of coordinated requirements from the authority documents. 
         [0034]      FIG. 1  is a block diagram showing some of the components typically incorporated in at least some of the computer systems and other devices on which the facility operates. In various embodiments, these computer systems and other devices  100  can include server computer systems, desktop computer systems, laptop computer systems, netbooks, mobile phones, personal digital assistants, televisions, cameras, automobile computers, electronic media players, etc. In various embodiments, the computer systems and devices include zero or more of each of the following: a central processing unit (“CPU”)  101  for executing computer programs; a computer memory  102  for storing programs and data while they are being used, including the facility and associated data, an operating system including a kernel, and device drivers; a persistent storage device  103 , such as a hard drive or flash drive for persistently storing programs and data; a computer-readable media drive  104 , such as a floppy, CD-ROM, or DVD drive, for reading programs and data stored on a computer-readable medium; and a network connection  105  for connecting the computer system to other computer systems to send and/or receive data, such as via the Internet or another network and its networking hardware, such as switches, routers, repeaters, electrical cables and optical fibers, light emitters and receivers, radio transmitters and receivers, and the like. While computer systems configured as described above are typically used to support the operation of the facility, those skilled in the art will appreciate that the facility may be implemented using devices of various types and configurations, and having various components. 
         [0035]      FIG. 2  is a flow diagram showing steps performed by the facility in some embodiments to maintain the dictionary. In step  201 , the facility compiles the dictionary based upon observations from authority documents in the subject-matter domain of the body of regulations to be understood. In some embodiments, after step  201 , the facility repeats step  201  to continue compiling the dictionary. 
         [0036]    Those skilled in the art will appreciate that the steps shown in  FIG. 2  and in each of the flow diagrams discussed below may be altered in a variety of ways. For example, the order of the steps may be rearranged; some steps may be performed in parallel; shown steps may be omitted, or other steps may be included; a shown step may be divided into substeps, or multiple shown steps may be combined into a single step, etc. 
         [0037]      FIG. 3  is a flow diagram showing steps performed by the facility in some embodiments to maintain the dictionary. In step  301 , the facility applies the dictionary compiled by the facility in accordance with  FIG. 2  and performing a variety of kinds of processing of authority documents in the corresponding domain: part-of-speech tagging, named entity tagging, sense disambiguation, and parsing. In some embodiments, after step  301 , the facility repeats step  301  to continue applying the dictionary to additional and/or revised authority documents. 
         [0038]    In some embodiments, the facility characterizes dictionary terms using parts of speech such as the following: Noun, Verb, Adjective, Adverb, Preposition, Conjunction, Pronoun, Interjection, Prefix, Combining form, Abbreviation, Contraction, Adjective suffix, Article, Verb suffix, Noun suffix, Phrase, Asset, cDoc, Configurable Item, Data Contents, Metric, Organizational, Function, Organizational Task, Record Category, Record Example, Role Definition, Title, Configuration Setting, Organization, Authority Document, Limiting Term, Group, Triggering Event. 
         [0039]    In some embodiments, the facility establishes relationships between terms and the dictionary using a rich selection of relationship types, such as the following: Is Part of, Contains, Is a Type of, Is a Category for, Is Used to Create/Is Created by, Is Used to Enforce/Is Enforced by, References/Is Referenced by. In some embodiments, the facility further stores in the dictionary a reason for establishing at least some of its relationships between terms. 
         [0040]    For example, in some embodiments, the facility establishes relationships of types such as the following: X Is Part of Y, X Contains Y (which shows Y is a part of X), X Is a Type of Y, X Is a Category for Y (which shows Y is a type of X), X Is Used to Create Y, X Is Created by Y (which shows Y is used to create X), X Is Used to Enforce Y, X Is Enforced by V (which shows Y is used to enforce X), X References V, X Is Referenced by Y (which shows Y references X). 
         [0041]      FIG. 4  is a data structure diagram showing a graph showing sample relationships between terms in the dictionary. For example, can be seen that Framework  401  and Measures  402  are related in that Framework  401  contains Measures  402 . As another example, Measures  402  are used to enforce both Guidelines  403  and Standards  404 . 
         [0042]    The following table shows, for each term shown in  FIG. 4 , how the terms relate in the hierarchy established by the dictionary. 
         [0000]    
       
         
               
               
               
               
               
             
           
               
                   
               
               
                 Reference 
                   
                   
                   
                 Element 
               
               
                 Number 
                 Term 
                 Description 
                 Example 
                 Type 
               
               
                   
               
             
             
               
                 401 
                 Framework 
                 The overall documented 
                 “An organization&#39;s physical 
                 cDoc 
               
               
                   
                   
                 structure and template that 
                 security framework 
               
               
                   
                   
                 the organization can use to 
                 provides a systematic 
               
               
                   
                   
                 create and maintain 
                 approach to create an 
               
               
                   
                   
                 something (It defines the 
                 physical security plans, 
               
               
                   
                   
                 scope, objectives, activities, 
                 policies, and procedures.” 
               
               
                   
                   
                 and structure) 
               
               
                 402 
                 Measures 
                 Are used to enforce 
                 “The organization can 
                 noun 
               
               
                   
                   
                 guidelines and standards. 
                 create and implement a 
               
               
                   
                   
                   
                 security awareness training 
               
               
                   
                   
                   
                 program as a measure 
               
               
                   
                   
                   
                 to enforce industry 
               
               
                   
                   
                   
                 standards regarding 
               
               
                   
                   
                   
                 physical security.” 
               
               
                 403 
                 Guideline 
                 A documented 
                 1. “The organization could 
                 Record 
               
               
                   
                   
                 recommendation of how an 
                 follow an industry guideline 
                 Example 
               
               
                   
                   
                 organization should do 
                 on physical security to 
               
               
                   
                   
                 something. (Inspiration for 
                 create an their policies, 
               
               
                   
                   
                 Programs, policies, etc.) 
                 procedures, plans, etc. 
               
               
                   
                   
                   
                 2. A large organization 
               
               
                   
                   
                   
                 could write an internal 
               
               
                   
                   
                   
                 physical security guideline 
               
               
                   
                   
                   
                 for each of their facilities to 
               
               
                   
                   
                   
                 interpret for the creation 
               
               
                   
                   
                   
                 and implementation of their 
               
               
                   
                   
                   
                 policies, procedures, plans. 
               
               
                   
                   
                   
                 etc.” 
               
               
                 404 
                 Standard 
                 A documented goal or ideal 
                 1. Army Regulation 380- 
                 Record 
               
               
                   
                   
                 an organization uses to 
                 19: “Information Systems 
                 Example 
               
               
                   
                   
                 determine their compliance 
                 Security defines how a 
               
               
                   
                   
                 with something. 
                 computer room should be 
               
               
                   
                   
                   
                 set up to decrease the risk 
               
               
                   
                   
                   
                 of fire and protect against 
               
               
                   
                   
                   
                 unauthorized access. 
               
               
                   
                   
                   
                 2. A large organization 
               
               
                   
                   
                   
                 could write an internal 
               
               
                   
                   
                   
                 physical security standard 
               
               
                   
                   
                   
                 that defines how two-factor 
               
               
                   
                   
                   
                 authentication techniques 
               
               
                   
                   
                   
                 should be implemented.” 
               
               
                 405 
                 Program 
                 A documented listing of 
                 “An organization could 
                 Record 
               
               
                   
                   
                 procedures, schedules, roles 
                 create a security 
                 Example 
               
               
                   
                   
                 and responsibilities, and 
                 awareness and training 
               
               
                   
                   
                 plans/instructions to be 
                 program to educate 
               
               
                   
                   
                 performed to 
                 personnel on the proper 
               
               
                   
                   
                 complete/implement 
                 procedures and who to 
               
               
                   
                   
                 something. 
                 report issues to.” 
               
               
                 406 
                 Methodology 
                 Business strategy of how to 
                 1. “The organization could 
                 noun 
               
               
                   
                   
                 approach something. (how to 
                 choose to use two-factor 
               
               
                   
                   
                 we approach creating a 
                 authentication to restrict 
               
               
                   
                   
                 framework, policy, etc.) 
                 access to organizational 
               
               
                   
                   
                   
                 facilities. This methodology 
               
               
                   
                   
                   
                 enhances security by 
               
               
                   
                   
                   
                 making unauthorized 
               
               
                   
                   
                   
                 access more difficult. 
               
               
                   
                   
                   
                 2. The organization could 
               
               
                   
                   
                   
                 choose to adopt the 
               
               
                   
                   
                   
                 principle of least privilege. 
               
               
                   
                   
                   
                 This methodology would 
               
               
                   
                   
                   
                 result in procedures such 
               
               
                   
                   
                   
                 as giving personnel access 
               
               
                   
                   
                   
                 only to facilities they 
               
               
                   
                   
                   
                 require to perform their 
               
               
                   
                   
                   
                 job.” 
               
               
                 407, 411 
                 Technique 
                 The use of a specific 
                 “An organization could 
                 noun 
               
               
                   
                   
                 technology or procedure to 
                 choose to use a biometric 
               
               
                   
                   
                 achieve something in 
                 authentication technique, 
               
               
                   
                   
                 alignment with the 
                 such as fingerprint readers, 
               
               
                   
                   
                 organization&#39;s 
                 as part of their two-factor 
               
               
                   
                   
                 methodologies. (usually 
                 authentication 
               
               
                   
                   
                 when there are multiple paths 
                 methodology.” 
               
               
                   
                   
                 for an Organization to take) 
               
               
                 408 
                 Plan 
                 A step-by-step outline of the 
                 “An organization&#39;s fire 
                 Record 
               
               
                   
                   
                 processes and procedures to 
                 safety plan outlines the 
                 Example 
               
               
                   
                   
                 be performed to complete or 
                 procedures personnel 
               
               
                   
                   
                 implement something. 
                 should perform in the event 
               
               
                   
                   
                   
                 of a fire.” 
               
               
                 409 
                 Policy 
                 The business rules and 
                 “An organization&#39;s physical 
                 Record 
               
               
                   
                   
                 guidelines of the organization 
                 security policy contains the 
                 Example 
               
               
                   
                   
                 that ensure consistency and 
                 considerations an 
               
               
                   
                   
                 compliance with something. 
                 organization must take into 
               
               
                   
                   
                   
                 account when creating 
               
               
                   
                   
                   
                 procedures for handling 
               
               
                   
                   
                   
                 and securing IT assets and 
               
               
                   
                   
                   
                 securing facilities that 
               
               
                   
                   
                   
                 house IT assets from 
               
               
                   
                   
                   
                 unauthorized entries and 
               
               
                   
                   
                   
                 environmental disasters.” 
               
               
                 410 
                 Procedure 
                 A detailed description of the 
                 “An organization&#39;s physical 
                 Record 
               
               
                   
                   
                 steps necessary to 
                 security procedure defines 
                 Example 
               
               
                   
                   
                 implement or perform 
                 the processes the 
               
               
                   
                   
                 something in conformance 
                 organization uses to restrict 
               
               
                   
                   
                 with applicable standards. A 
                 access to its facilities, such 
               
               
                   
                   
                 procedure is written to 
                 how visitors are handled, 
               
               
                   
                   
                 ensure something is 
                 how security badges are 
               
               
                   
                   
                 implemented or performed in 
                 distributed, etc.” 
               
               
                   
                   
                 the same manner in order to 
               
               
                   
                   
                 obtain the same results. 
               
               
                 412 
                 Process 
                 Activities performed while 
                 “The actions performed 
                 noun 
               
               
                   
                   
                 following the documented 
                 while giving visitors access 
               
               
                   
                   
                 procedures. 
                 to organizational facilities in 
               
               
                   
                   
                   
                 accordance with the 
               
               
                   
                   
                   
                 organization&#39;s defined 
               
               
                   
                   
                   
                 visitor access procedure.” 
               
               
                   
               
             
          
         
       
     
         [0043]    In some embodiments, the dictionary is comprised of the following interconnected tables: 
         [0044]    dictionary_terms (DI): This table is where dictionary term names are stored. 
         [0045]    Properties 
         [0000]    
       
         
               
               
             
           
               
                   
               
               
                 Field 
                 Description 
               
               
                   
               
             
             
               
                 DI_id 
                 The unique identification number assigned to each term name upon its creation. 
               
               
                 DI_live_status 
                 Indicates whether the term is live or not. 1 = live, 0 = not live 
               
               
                 DI_deprecated_by 
                 The DI_id of the term name record that supersedes a deprecated term name record. 
               
               
                   
                 Only used when a term name is deprecated. 
               
               
                 DI_deprecation_notes 
                 The reason for deprecating a term name such as, “Duplicate”, “Does not meet 
               
               
                   
                 quality standards”, “Remapped”, etc. Only used when a term name is deprecated. 
               
               
                 DI_date_added 
                 The date the term name was created. 
               
               
                 DI_date_modified 
                 The date of the most recent edit to the record. 
               
               
                 DI_language 
                 The language the content is in. 
               
               
                 DI_name 
                 The term name connecting to the term name ID. 
               
               
                 DI_description 
                 Contains: nonstandard forms under the “Alternate Spellings” heading; Broader 
               
               
                   
                 Terms (type of, part of, and linguistic child of); Synonyms and Antonyms; Definitions 
               
               
                   
                 (just the definition text, not the word type). This field is not used internally; it exists for 
               
               
                   
                 the XML specification that uses a single field for a glossary term&#39;s definition. 
               
               
                 i_DI_harmonized_to_id 
                 Only used when a term is nonstandard, this is the ID of the standard term. 
               
               
                 i_DI_stripped_name 
                 This is the name of the term with all spaces, punctuation, accent marks, etc. 
               
               
                   
                 removed. It&#39;s used for searching in certain cases. 
               
               
                   
               
             
          
         
       
     
         [0046]    referenced by these tables: 
         [0047]    DICTIONARY_TERMS_TO_DICTIONARY_DEFINITIONS 
         [0048]    DICTIONARY_OTHER_FORMS 
         [0049]    DICTIONARY_TERMS_TO_ACRONYMS 
         [0050]    DICTIONARY_TERMS_SAME_LEVEL 
         [0051]    DICTIONARY_TERMS_HIERARCHY 
         [0052]    BLACKLISTED_LINGUISTIC_RELATIONSHIP_TERMS 
         [0053]    dictionary_definitions (DD): This table is where dictionary definitions are stored. 
         [0054]    Properties 
         [0000]    
       
         
               
               
             
           
               
                   
               
               
                 Field 
                 description 
               
               
                   
               
             
             
               
                 DD_id 
                 The unique identification number assigned to each definition upon its creation. 
               
               
                 DD_live_status 
                 Indicates whether the definition is live or not. 1 = live, 0 = not live 
               
               
                 DD_deprecated_by 
                 The DD_id of the definition record that supersedes a deprecated definition record. 
               
               
                   
                 Only used when a dictionary definition is deprecated. 
               
               
                 DD_deprecation_notes 
                 The reason for deprecating a definition such as, “Duplicate”, “Does not meet quality 
               
               
                   
                 standards”, “Remapped”, etc. Only used when a definition is deprecated. 
               
               
                 DD_date_added 
                 The date the definition was created. 
               
               
                 DD_date_modified 
                 The date of the most recent edit to the record. 
               
               
                 DD_definition 
                 The definition connecting to the definition id. 
               
               
                 WT_id 
                 The id of the word type connecting to the definition entry. 
               
               
                 DOF_id 
                 The id of the other forms connecting to the definition entry. 
               
               
                   
               
             
          
         
       
     
         [0055]    referenced by these tables: 
         [0056]    DICTIONARY_TERMS_TO_DICTIONARY_DEFINITIONS 
         [0057]    DICTIONARY_OTHER_FORMS 
         [0058]    DICTIONARY_WORD_TYPES 
         [0059]    dictionary_terms_to_dictionary_definitions (DI_to_DD): This table connects dictionary term names to definitions. The ids of both the dictionary term (DI_ID) and the dictionary definition (DD_ID) are stored in this table. 
         [0060]    Properties 
         [0000]    
       
         
               
               
             
           
               
                   
               
               
                 Field 
                 description 
               
               
                   
               
             
             
               
                 DI_to_DD_id 
                 The unique identification number assigned to each term name to definition 
               
               
                   
                 relationship upon its creation. 
               
               
                 DI_to_DD_live_status 
                 Indicates whether the term name to definition relationship is live or not. 1 = live, 0 = 
               
               
                   
                 not live 
               
               
                 DI_to_DD_date_added 
                 The date the term name to definition relationship was created. 
               
               
                 DI_to_DD_date_modified 
                 The date of the most recent edit to the record. 
               
               
                 DI_id 
                 The id of the dictionary term name connecting to the definition. 
               
               
                 DD_id 
                 The id of the definition connecting to the term name. 
               
               
                   
               
             
          
         
       
     
         [0061]    referenced by these tables: 
         [0062]    DICTIONARY_TERMS 
         [0063]    DICTIONARY_DEFINITIONS 
         [0064]    dictionary_word_types (WT): This table stores word types parts of speech and UCF named entities (elements). 
         [0065]    Properties 
         [0000]    
       
         
               
               
             
           
               
                   
               
               
                 Field 
                 description 
               
               
                   
               
             
             
               
                 WT_id 
                 The unique identification number assigned to each word type. 
               
               
                 WT_name 
                 The unique name of word type that correlates with the id. 
               
               
                 WT_live_status 
                 Indicates whether the word type is live or not. 1 = live, 0 = not live. 
               
               
                 WT_date_added 
                 The date the word type entry was created. 
               
               
                 WT_date_modified 
                 The date of the most recent edit to the record. 
               
               
                 WT_base_type 
                 The word type a subset word type should behave as. For example Assets are a special 
               
               
                   
                 kind of Noun, so they have a base type of 1, which is the ID for the Noun type. This 
               
               
                   
                 field is used for NLP tagging to determine which other forms workflow to use in our 
               
               
                   
                 OMT (Online Mapping Tool). 
               
               
                   
               
             
          
         
       
     
         [0066]    Referenced by these tables: 
         [0067]    DICTIONARY_OTHER_FORM_TYPES 
         [0068]    DICTIONARY_DEFINITIONS 
         [0069]    Each definition has a word type which is stored in the WTD field in the DICTIONARY_DEFINITIONS table. 
         [0000]    
       
         
               
               
             
               
               
             
           
               
                   
               
               
                 WT_id 
                 WT_name 
               
               
                   
               
             
             
               
                   
               
             
          
           
               
                 1 
                 Noun 
               
               
                 2 
                 Verb 
               
               
                 3 
                 Adjective 
               
               
                 4 
                 Adverb 
               
               
                 5 
                 Preposition 
               
               
                 6 
                 Conjunction 
               
               
                 7 
                 Pronoun 
               
               
                 8 
                 Interjection 
               
               
                 9 
                 Prefix 
               
               
                 10 
                 Combining form 
               
               
                 11 
                 Abbreviation 
               
               
                 12 
                 Contraction 
               
               
                 13 
                 Adjective suffix 
               
               
                 14 
                 Article 
               
               
                 15 
                 Verb suffix 
               
               
                 16 
                 Noun suffix 
               
               
                 17 
                 Phrase 
               
               
                 19 
                 Asset 
               
               
                 20 
                 cDoc 
               
               
                 21 
                 Configurable Item 
               
               
                 22 
                 Data Contents 
               
               
                 24 
                 Metric 
               
               
                 26 
                 Organizational 
               
               
                   
                 Function 
               
               
                 27 
                 Organizational Task 
               
               
                 28 
                 Record Category 
               
               
                 29 
                 Record Example 
               
               
                 30 
                 Role Definition 
               
               
                 31 
                 Title 
               
               
                 32 
                 Configuration Setting 
               
               
                 33 
                 Organization 
               
               
                 34 
                 Authority Document 
               
               
                 35 
                 Limiting Term 
               
               
                 36 
                 Group 
               
               
                 37 
                 Triggering Event 
               
               
                   
               
             
          
         
       
     
         [0070]    In some embodiments, “Metric” shown above is omitted from the word types used by the facility. 
         [0071]    dictionary_other_forms (DOF): This table stores other forms of terms such as plural, possessive, plural possessive, past, past participle, present participle, third person, future tense, plural past, plural past participle, plural present participle, and plural future tense. 
         [0072]    Properties 
         [0000]    
       
         
               
               
             
           
               
                   
               
               
                 Field 
                 description 
               
               
                   
               
             
             
               
                 DOF_id 
                 The unique identification number assigned to each other form upon its 
               
               
                   
                 creation. 
               
               
                 DOF_name 
                 The unique name of other form that correlates with the id. 
               
               
                 DOF_live_status 
                 Indicates whether the other form is live or not: 1 = live, 0 = not live. 
               
               
                 DOF_date_added 
                 The date the dictionary other form entry was created. 
               
               
                 DOF_date_modified 
                 The date of the most recent edit to the record. 
               
               
                 DOF_is_irregular 
                 Indicates whether the other form is irregular: 1 = irregular, 0 = regular. 
               
               
                 OFT_id 
                 The id of the other form type connecting to dictionary other form entry. 
               
               
                 DI_id 
                 The id of the term name connecting to the dictionary other form entry. 
               
               
                   
               
             
          
         
       
     
         [0073]    Referenced by these tables: 
         [0074]    DICTIONARY_TERMS 
         [0075]    DICTIONARY_DEFINITIONS 
         [0076]    DICTIONARY_OTHER_FORM_TYPES 
         [0077]    dictionary_other_form_types (OFT): This table stores all possible types of other forms, 
         [0078]    Properties 
         [0000]    
       
         
               
               
             
           
               
                   
               
               
                 Field 
                 description 
               
               
                   
               
             
             
               
                 OFT_id 
                 The unique identification number assigned to each 
               
               
                   
                 other form type. 
               
               
                 OFT_name 
                 The name of the other form type. 
               
               
                 OFT_live_status 
                 Indicates whether the other form type is live 
               
               
                   
                 or not. 1 = live, 0 = not live. 
               
               
                 OFT_date_added 
                 The date the other form type was created. 
               
               
                 OFT_date_modified 
                 The date of the most recent edit to the record. 
               
               
                 WT_id 
                 The word type connecting to the other form type. 
               
               
                   
               
             
          
         
       
     
         [0000]    
       
         
               
               
             
           
               
                   
               
               
                 OFT_ID 
                 OFT_NAME 
               
               
                   
               
             
             
               
                 1 
                 Plural 
               
               
                 2 
                 Past 
               
               
                 3 
                 Third Person 
               
               
                 4 
                 Present Participle 
               
               
                 5 
                 Past Participle 
               
               
                 6 
                 Comparative 
               
               
                 7 
                 Superlative 
               
               
                 8 
                 First Person 
               
               
                 9 
                 Second Person 
               
               
                 10  
                 Plural Past 
               
               
                 11  
                 Plural Possessive 
               
               
                 12  
                 Possessive 
               
               
                 13  
                 Future Tense 
               
               
                 14  
                 Plural Past Participle 
               
               
                 15  
                 Plural Present Participle 
               
               
                 16  
                 Plural Future Tense 
               
               
                 (17)  
                 Plural Third Person 
               
               
                   
                 tense 
               
               
                   
               
             
          
         
       
     
         [0079]    Each other form has an other form type which is stored in the OFT_ID field in the DICTIONARY_OTHER_FORMS table. In some embodiments, the facility uses other form types corresponding to grammatical tenses defined at the phrase level, such as “plural future,” which refers to a phrase where a noun or nouns are pluralized and the verb is in the future tense. Such other form types assist the facility in detecting phrases that all refer to the same concept despite being phrased differently. 
         [0080]    Other forms also have a word type which is stored in the WT_ID field in the DICTIONARY_OTHER_FORMS table. 
         [0081]    Referenced by these tables: 
         [0082]    DICTIONARY_WORD_TYPES 
         [0083]    DICTIONARY_OTHER_FORMS 
         [0084]    acronyms (AC): This table stores acronyms. 
         [0085]    Properties 
         [0000]    
       
         
               
               
             
           
               
                   
               
               
                 Field 
                 description 
               
               
                   
               
             
             
               
                 AC_id 
                 The unique identification number assigned to each acronym upon its creation. 
               
               
                 AC_name 
                 The name of the acronym connecting to the acronym id. 
               
               
                 AC_live_status 
                 Indicates whether the acronym is live or not. 1 = live, 0 = not live 
               
               
                 AC_deprecated_by 
                 The AC_id of the acronym record that supersedes a deprecated acronym record. 
               
               
                   
                 Only used when an acronym is deprecated. 
               
               
                 AC_deprecation_notes 
                 The reason for deprecating an acronym such as, “Duplicate”, “Does not meet quality 
               
               
                   
                 standards”, “Remapped”, etc. Only used when an acronym is deprecated. 
               
               
                 AC_date_added 
                 The date the acronym was created. 
               
               
                 AC_date_modified 
                 The date of the most recent edit to the record. 
               
               
                 AC_language 
                 The language the content is in. 
               
               
                 AC_license_info 
                 The URL to license information for the owner of the content. Typically this is the 
               
               
                   
                 UCF. 
               
               
                   
               
             
          
         
       
     
         [0086]    Table connecting to 
         [0087]    DICTIONARY_TERMS_TO_ACRONYMS 
         [0088]    dictionary_terms_to_acronyms (DI_to_AC): This table connects the acronym table to dictionary_terms table. 
         [0089]    Properties 
         [0000]    
       
         
               
               
             
           
               
                   
               
               
                 Field 
                 description 
               
               
                   
               
             
             
               
                 DI_to_AC_id 
                 The unique identification number assigned to each term name to acronym 
               
               
                   
                 relationship upon its creation. 
               
               
                 DI_to_AC_live_status 
                 Indicates whether the term name to acronym relationship is live or not. 1 = live, 0 = 
               
               
                   
                 not live. 
               
               
                 DI_to_AC_date_added 
                 The date the term name to acronym relationship was created. 
               
               
                 DI_to_AC_date_modified 
                 The date of the most recent edit to the record. 
               
               
                 AC_id 
                 The id of the acronym connecting to the dictionary term name. 
               
               
                 DI_id 
                 The id of the dictionary term name connecting to the acronym. 
               
               
                   
               
             
          
         
       
     
         [0090]    Referenced by these tables: 
         [0091]    ACRONYM 
         [0092]    DICTIONARY_TERMS 
         [0093]    blacklisted_linguistic_relationship_terms (BL): This table contains list of terms that should be excluded from the automatic parent/child relationships we suggest for the term hierarchy mostly smaller common words like “the”, etc. 
         [0094]    Properties 
         [0000]    
       
         
               
               
             
           
               
                   
               
               
                 Field 
                 description 
               
               
                   
               
             
             
               
                 BL_id 
                 The unique identification number assigned to each 
               
               
                   
                 blacklisted linguistic relationship term upon 
               
               
                   
                 its creation. 
               
               
                 BL_live_status 
                 Indicates whether the blacklisted linguistic 
               
               
                   
                 relationship term is live or not. 1 = live, 
               
               
                   
                 0 = not live. 
               
               
                 BL_date_added 
                 The date the blacklisted linguistic relationship term 
               
               
                   
                 was created. 
               
               
                 BL_date_modified 
                 The date of the most recent edit to the record. 
               
               
                 DI_id 
                 The id of the dictionary term name connecting to the 
               
               
                   
                 blacklisted linguistic relationship term. 
               
               
                   
               
             
          
         
       
     
         [0095]    Referenced by these tables: 
         [0096]    DICTIONARY_TERMS 
         [0097]    dictionary_terms_same_level (DI_same_level): This table contains synonyms and antonyms relationships between terms. 
         [0098]    Properties 
         [0000]    
       
         
               
               
             
           
               
                   
               
               
                 Field 
                 description 
               
               
                   
               
             
             
               
                 DI_same_level_id 
                 The unique identification number assigned to terms same level relationship 
               
               
                   
                 upon its creation. 
               
               
                 DI_same_level_live_status 
                 Indicates whether the terms same level relationship is live or not. 1 = live, 0 = 
               
               
                   
                 not live. 
               
               
                 DI_same_level_date_added 
                 The date the terms same level relationship was created. 
               
               
                 DI_same_level_date_modified 
                 The date of the most recent edit to the record. 
               
               
                 DI_same_level_type 
                 Identifies whether the relationship is synonym or antonym: 1 = synonym, 2 = 
               
               
                   
                 antonym. 
               
               
                 DI_id_1 
                 The id term name of one of the terms in the relationship. 
               
               
                 DI_id_2 
                 The id term name of one of the terms in the relationship. 
               
               
                   
               
             
          
         
       
     
         [0099]    referenced by these tables: 
         [0100]    DICTIONARY_TERMS 
         [0101]    dictionary_terms_hierarchy (DI_hierarchy): This table contains relationships between terms. 
         [0102]    Properties 
         [0000]    
       
         
               
               
             
           
               
                   
               
               
                 Field 
                 description 
               
               
                   
               
             
             
               
                 DI_hierarchy_id 
                 The unique identification number hierarchy relationship upon its creation. 
               
               
                 DI_hierarchy_live_status 
                 Indicates whether the hierarchy relationship is live or not. 1 = live, 0 = not live. 
               
               
                 DI_hierarchy_date_added 
                 The date the hierarchy relationship was created. 
               
               
                 DI_hierarchy_date_modified 
                 The date of the most recent edit to the record. 
               
               
                 DI_hierarchy_type 
                 Identifies the type of relationship: 3 = type of, 4 = part of, 5 = linguistic child 
               
               
                   
                 of. 
               
               
                 DI_child 
                 The id of the child term name in the hierarchy relationship. 
               
               
                 DI_parent_id 
                 The id of the parent term name in the hierarchy relationship. 
               
               
                   
               
             
          
         
       
     
         [0103]    Direction of relationship depends on which term is the parent and which is the child. example: 
         [0104]    DI_HIERARCHY_TYPE: 3 
         [0105]    DI_CHILD: Microsoft 
         [0106]    DI_PARENT: software 
         [0107]    Microsoft is a type of software and software is a category for Microsoft. 
         [0108]    Referenced by these tables: 
         [0109]    DICTIONARY_TERMS 
         [0110]    It will be appreciated by those skilled in the art that the above-described facility may be straightforwardly adapted or extended in various ways. While the foregoing description makes reference to particular embodiments, the scope of the invention is defined solely by the claims that follow and the elements recited therein.