Tutorial II. Typesystem Modeler Tool (TMT)

Please refer to Configuration and Startup for instructions on how to download and start the Type Modeling Tool (TMT) program. program.

 

The Type Modeling Tool (TMT) is used to create the type system description file used by the Workbench. This description file is in turn used by the Workbench and by UIMA analysis engines which generate output which can be examined by the Workbench. The following line of code can be added to a UIMA analysis engine to extract UIMA annotations into files that can be directly read by the Workbench.

 

 

    TMT reads the startup.properties file for required startup parameters. The relevant parameters are:

    • WorkbenchTypeSystem - indicates the name of the description file to be created, and
    • UIMATypeSystem - names the XML file containing the UIMA types and features to be extracted into the Workbench.




    The Type Modeler Tool (TMT) contains two panels. The left panel displays UIMA types and features and the right panel displays a subset of those types and features designated by the user as being Workbench-relevant along with additional properties required by the Workbench.

     

     

      The left panel displays standard selection behaviors in response to mouse clicks.

      In this example, the left panel contains UIMA types / features defined for the UimaTopaz NLP tool. In this tutorial we will use this tool to build the Workbench type description file required to display annotations generated by UimaTopaz. UIMA types/features are imported from the UIMA type description file denoted in the startup.properties parameter UIMATypeSystem.

       

       

        UimaTopaz imports two UIMA types, UTopazIntegrationAnnotation and UTopazInferenceAnnotation. UtopazIntegrationAnnotation produces document-level annotations, and UTopazInferenceAnnotation produces snippet (single text span) - level annotations. There is one document-level annotation (possibly with status = "missing") for each core concept in UimaTopaz, and each document-level annotation may subsume one or more snippet-level annotations.

        To mark UtopazIntegrationAnnotation as the root annotation, the user selects that node in the left panel, then clicks "Add Annotation" in the button on the right.

         

         

          To indicate that annotations of the type UTopazInferenceAnnotation are captured in the Workbench as children of UTopazIntegrationAnnotations, the user clicks on UTopazInferenceAnnotation, then, holding down the control key, clicks the mouse over the "Components" folder beneath the UtopazIntegrationAnnotation in the right panel.

           

           




            Some UIMA features need to be designated as classification names in order to be displayed in the Workbench and in order for gathering match statistics between two sets of annotations. The CUI and concept features associated with the UtopazIntegrationAnnotation UIMA type are selected in the left panel, then added to the corresponding annotation in the right panel by holding down the control key and pressing the mouse over the UtopazIntegrationAnnotation node on the right:

             

             

              Similarly, the UTopazInferenceAnnotation cui and concept features are added as classification names of the corresponding node on the right:

               

               




                 

                 

                Other UIMA features are added as attributes. The UtopazIntegrationAnnotation status feature represents the presence or absence of the concept in question (with values "acute", "chronic", "negated" and "missing"), and the UTopazInferenceAnnotation features directionality, temporality and experiencer, are added by selecting those features, holding the control key and clicking the mouse over the target folder to the right.

                Note: Annotations, classification names and/or attributes added in error can be deleted from the display on the right by highlighting the target node and clicking the Remove button.

                 

                 

                 

                 

                The names and certain object properties of nodes in the right panel can be adjusted by using the mouse to highlight a node, holding down the alt (option) key and pressing the mouse. A properties popup window appears, as displayed below. In this tutorial, the names UtopazIntegrationAnnotation and UTopazInferenceAnnotation are changed to DocumentAnnotation and SnippetAnnotation, respectively. In addition, the properties popup window contains the type model level of the annotation. DocumentAnnotation should be left as the default "document", but SnippetAnnotation should be changed to "snippet", reflecting the fact that Document-level annotations are inferred annotations over an entire clinical report, and Snippet-level annotations belong to discrete segments or "snippets" of text in the clinical report.




                It is possible to add relations between annotations, which will be displayed in the Workbench Relations panel, in addition to the default parent/child relations between annotation levels. Arguments for those relations are selected by moving the mouse over the annotations: The currently selected annotation (i.e. the one with the deepest tan coloration) takes the first argument position in the relation, and the second most recently selected annotation (i.e. with a slightly lighter coloration) takes the second argument position. By holding the control key and clicking on the node of the first-argument annotation, a popup window appears into which the user can enter the name of the relation. In this example, a relation is created named "child_of", and stored with the Document-level annotation.

                 

                 

                  As one final step, we change any duplicate names of classifications or attributes to be unique. Since both the Document and Snippet annotations contained cui and concept classification names, we change them to DocumentCUI, DocumentConcept, SnippetCUI and SnippetConcept accordingly: