Xigt-Edit: Xigt-XML Editor for Windows


Description

Xigt-Edit is an editor for Xigt-XML files. Xigt is a data model for representing annotations of natural language data. For information on Xigt, visit the Xigt Wiki.

Requirements

Xigt-Edit requires WPF (Windows Presentation Foundation). It can run on any Windows machine (or Windows virtual machine) which supports WPF and the .NET framework 4.5.1.

Ensure that you have installed .NET Framework 4.5.1

Release Notes

2015-04-07 - version 0.9 - Early adopter release

Downloads

20150407-xigt-edit.zip

Using Xigt-Edit

To load the program, run xigt-edit.exe in Windows. There are a few support DLLs which must be located in the same directory as the executable. You do not necessarily have to run the program with the ‘current directory’ set to the location of the program. That is, you can create a shortcut to the program which specifies a different ‘current directory.’ But note that the configuration settings file ‘app-settings.xaml’ will be created in the current directory. So if you later start the program with a different current directory, your saved settings will not be loaded.

Settings file

A few administrative settings are automatically stored in the app-settings.xaml file. Most of the settings can be changed via a corresponding item on the “Options” menu in the program. The app-settings.xaml file is a human-readable XML file, so you can inspect it to see what it contains, or to manually tweak settings. At this point, the following settings are saved: Also retained in the settings file is whether the overall application “window” was maximized on the screen or not. The previous state is restore the next time you run the app.

Corpora pane

The leftmost pane of the app shows the IGT files (each an “IGT corpus”) that are loaded. You can have zero, one, or more IGT corpus files loaded. Selecting an IGT corpus file here causes all of the IGT instances it contains to be displayed in the Corpus pane. You can resize (or fully hide) the corpora pane using the mouse ‘grip’ along its right-hand vertical edge. You can move amongst the IGT corpus files using the ‘up’ and ‘down’ keyboard arrows. Pressing the ‘right’ keyboard arrow navigates to the corpus pane.

Corpus pane

To the right of the corpora list is the Corpus pane, which lists each of the IGT instances available for editing in the currently selected IGT corpus. Select an IGT instance using the ‘up’ and ‘down’ keyboard keys. The contents of the selected IGT instance are displayed in the main editing area of the application. Pressing the ‘left’ keyboard arrow navigates to the corpora pane.

File management

The editor program saves all of the loaded IGT instances to XAML-igt format. This is a human readable, XML-based format which represents the tier structure as defined, including nesting within group tiers, tier ordering, tier type “naming” and all segmentation, dependency, alignment, and part-of-speech (POS) annotations. To save all of the loaded IGT instances, select “Save all” from the file menu. You will be prompted for a directory in which all the files will be saved. The default directory for this is the last directory from which a XAML-igt file was loaded. The program uses fail-safe saving to prevent loss of data. This means that, when saving files, a new temporary file is written first, before deleting the prior data. Only when the file is successfully written in its entirety is the temporary file copied over the old data. Therefore, if the program exits unexpectedly, only the current editing data is at risk of loss, and this is true even if the program is saving files. There is also an option to abandon all of your changes from the current editing session. Use this if you made editing errors that you would prefer to revert entirely. To exit the program without writing any of your changes to XAML-igt files, select “Exit without saving” from the File menu. If editing XAML-igt files manually, you will note that every entity in the file has a unique identifier string. This facilitates forward references when serializing the program’s object graph. If you are editing the XAML manually, it is not necessary to use the 128-bit numeric/hexadecimal format. In fact it may not be necessary to give any identifying attribute to any XML entity which is not referred to elsewhere in the file. But just to be safe, when editing the XAML-igt files manually, you should assign your own unique identifiers to any newly created entities, following any format for unique identifiers that you find convenient (these must use letters a-z, digits 0-9, and the underscore).

IGT editing concepts

The editing of IGT instances is based on two concepts: Tiers and Parts. A Tier represents one or more lines of text. There are three basic types of tiers: Simple “text” tiers represent one line of text which has a designated or “well-known” logical function. Basic tiers can also represent raw source text possibly spanning multiple lines of a source document. In either case, text tiers represent text as a whole, and thus serve as the basis to which the “standoff annotations” of all other tiers must ultimately refer. Group tiers can be used to arbitrarily group other tiers together. In this way you can nest tiers with related logical functions together. To move a tier into a group, you can drag and drop it. To move a tier out of its group into its parent (or parent group), right click the tier and select “Promote.” Note that for certain operations, Tiers can only “see” other tiers in their group plus tiers in parent groups. For example, in the “Align with…” command, tiers which are nested below peers of the current tier’s parent are not eligible for alignment unless they (or the current tier) are first promoted.

Bug reports

Bug reports for the igt-editor and igt-convert program should be sent to gslayden@uw.edu. Please include detailed information on the exact steps for reproducing the problem.

Source Code

Xigt-Edit is a WPF application. The source code consists of XAML declarative application definitions and C# code. Source code for Xigt-Edit and a solution file for Visual Studio 2013 are included in the distribution archive file.

Acknowledgments

This material is based upon work supported by the National Science Foundation under Grant No. 1160274.Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation.

Xigt was developed under the AGGREGATION project (http://depts.washington.edu/uwcl/aggregation/)

License

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.