Previous Up Next

1  Introduction

Over the past fifteen years, underspecification has become the standard approach to dealing with scope ambiguities: Almost every large-scale handcrafted grammar that supports semantics construction uses it in some form or another. This is primarily because it allows the grammar writer to separate the problem of semantic ambiguity from the problem of (underspecified) semantics construction: The grammar only derives an underspecified description of all semantic readings, and the responsibility for actually enumerating the individual readings is delegated to a later stage of processing. Because the enumeration process can be delayed until it is actually needed, and readings that contradict our world and context knowledge could be eliminated by that time, underspecification also has the potential to speed up processing of ambiguities.

This document describes Utool (the Swiss Army Knife of Underspecification), a tool that is designed to perform a number of operations that arise when working with underspecified descriptions (or USRs, underspecified semantic representations). Its main two functions are to solve an underspecified description (i.e., to enumerate all readings from a description) and to convert descriptions between different underspecification formalisms (such as dominance constraints, MRS, and Hole Semantics). In addition, it can perform a number of smaller tasks, such as deciding solvability, counting readings, and determining whether a description belongs to a class with specific useful properties.

Utool was developed in the context of the CHORUS project in the SFB (Collaborative Research Centre) 378 “Ressource-adaptive cognitive processes”, which was funded by the German Research Organisation (DFG). We developed a version in C++ in 2004-05. Then we ported release 2.0.1 of the old utool to Java in 2006. The Java version 3.0 is superior to the C++ system in many respects: It is much cleaner, more portable, easier to distribute, has more functionality and better error handling, comes with an integrated GUI, and on some platforms it is even faster. Version 3.1 adds significantly improved GUI support and various other improvements. Utool requires Java SE 5.0 or higher to run or compile.

Technically, Utool is a collection of front-ends to a common underlying library for working with labelled dominance graphs, which can be used independently in other Java programs. Utool itself comes with three different front-ends: It can be run as a command-line tool; it can be run in a server mode in which it will accept instructions over a network; and it can be run as the Underspecification Workbench (Ubench), which offers the complete functionality of Utool in a convenient GUI. We distribute Utool 3.1 under the Gnu Public Licence (GPL), although this might change in a future release.

This document is not an introduction to underspecification. We and others have written many research papers about this topic area, and we cannot do it justice in a system manual. For an overview, we refer you to the following literature:
  1. [[]Blackburn and Bos2005] give a very readable introduction to underspecification in the Hole Semantics framework in their textbook on computational semantics.
  2. [[]van Deemter and Peters1996] gave the first overview of the ideas behind underspecification and some early formalisms. This book is ten years old, and many details are now obsolete, but it can still serve as a good starting point.
  3. [[]Copestake etal.1999] introduce Minimal Recursion Semantics, which is used in the current large-scale HPSG grammars. The paper is interesting because it is about an underspecification formalism that is in widespread use, and because it talks a lot about semantics construction in an underspecification context.
  4. [[]Egg etal.2001] define dominance constraints and show how to do semantics construction for it. The dominance graphs Utool works with are based on dominance constraints, and if you come from a linguistic background, this paper will perhaps be most helpful for you to get an idea of what dominance constraints do.
  5. [[]Koller and Thater2005] give a (very short) overview of the development of solvers for dominance constraints and dominance graphs, and point to some recent literature. Utool implements the chart-based graph solver introduced in that paper.
This document is structured as follows. We will first give a tutorial introduction to Utool in Section 24A tutorial walkthroughsection.2. Then we will explain the operations supported by the command-line and server versions of Utool, and the different ways in which Utool can be called, in Section 313Using Utoolsection.3. Section 428Codecssection.4 is devoted to the codecs which make it possible for utool to read and write underspecified descriptions from different formalisms; it also hints at the theory behind the conversions and provides pointers to the literature. Section 540Utool in Practicesection.5 contains some tips and tricks for using Utool in practice. Finally, Section 647Building Utoolsection.6 explains how to recompile a modified version of Utool, and Section ?? concludes.




Previous Up Next