Prerequisites

The only third-party software that is required to run MinorThird is java (version 1.5.0 or later). If you simply plan on conducting experiments using the provided tools you can simply install the JRE. However, if you plan on compiling MinorThird yourself, making additions to the API's or using them in your software, then you will need the full java SDK as well as the Ant (version 1.6.5 or later) Java build utility. Follow the installation instructions provided with Java and Ant for their installation and configutation.

Getting the MinorThird Distribution

There are two ways to obtain the MinorThird distribution:

Compiling The Source

If you have elected to download or checkout the MinorThird source and compile it yourself, then execute the following steps from a command shell:

  1. cd to the directory where you checked out or unzipped the source tree.
  2. cd into the minorthird directory.
  3. Run the setup script for your operating system to set up the CLASSPATH environment variable:
    • Using Windows command prompt execute: 'script\setup'
    • Using Cygwin execute: 'source script/setup.sh'
    • Using Linux execute: 'source script/setup.linux'
  4. To compile the code run the following command from the minorthird directory:
  5. To generate the javadocs for the api run the following command from the minorthird directory:
  6. To test that everything was compiled successfully run the following command from the minorthird directory:

Using MinorThird

Now that your have MinorThird installed you can begin using it to conduct classification and extraction experiments. The basic steps to conducting an experiment are: train an annotator (classifier or extractor) on sample data, run this annotator on test data and analyze its performance, change the settings and repeat to find the best, and finally apply the best annotator on the "real" data of interest to answer the original question. There are two ways to execute these streps in MinorThird:

  1. Use the provided MinorThird UI tools to directly conduct an experiment. MinorThird provides many tools for executing one or more of the steps in the experiment process as well as utilities that cobmine some of the steps to make the process a little easier. All MinorThird tools are invoked via the command line, but can be used in one of two ways: Graphically or Command Line.
    • To use the graphical version of any tool simply supply the -gui argument to command. Execute the following command for an example:

      java edu.cmu.minorthird.ui.TrainExtractor -gui

    A window should appear. This window is the main experiment control window for all GUI apps in Minorthird. In the top section (labeled Parameter modification) it shows what program is being executed. Pressing the Edit button allows you to adjust the parameters of the program. The middle section contains the buttons that control the experiment. Once you have set all the options in the top section, you press Start Task to execute the program you have chosen to run. Any output that the program generates will be printed to the bottom section labeled Error messages and output. Finally, once the execution is complete the View Results button will be enabled. Clicking on this button will pop up a window that shows the results of your experiment. These controls are the same for virtually every program in theMinorthird suite.

    • Other arguments may be provided on the command line in addition to -gui. The invoked program will read the provided values and pre-populate the fields in the GUI. Execute the following command so see this in action. Once the window appears, click on the Edit button and notice that the field named labelsFilename in the baseParameters section is populated with the value supplied to the -labels argument on the command line.

    java edu.cmu.minorthird.ui.TrainExtractor -labels sample1.train -gui

    • To see the list of all possible arguments that a tool accepts simply provide the -help argument.
  2. java edu.cmu.minorthird.ui.TrainExtractor -help

    java edu.cmu.minorthird.ui.TrainExtractor -labels sample1.train -spanType trueName -saveAs sample1.ann
    java edu.cmu.minorthird.ui.TestExtractor -labels sample1.test -spanType trueName -loadFrom sample1.ann

    The first command trains an annotator on the sample1.train dataset (this is a built-in dataset) and saves it in the current directory as sample1.ann. The -spanType argument tells the program to train the annotator to label spans of tokens that it thinks correspond to instances of trueName. The sample1.train dataset contains examples of these instances that are used to train the annotator. The second command tests this trained annotator (specified using the -loadFrom argument) against the sample1.test dataset (also a built-in dataset) and prints the performance to the screen. In this command the -spanType argument tells the program which labels to compare the annotators predictions to and in this case our testing dataset has its examples named the same as the training dataset (this is NOT required).

     
  3. Use the MinorThird libraries inside a custom java application to conduct experiments and analyze the results. The most powerful way to utilize the capabilities of Minorthird is to create, run and evaluate experiments inside your own custom application.