CROHME 2014 Task 3:
Matrix Recognition
Note: The training data set and evaluation tools are currently under construction, but here is some useful information in the meantime.
Task Description and System Evaluation
For this task, systems must segment, classify and parse the layout of mathematical symbols in expressions that contain matrices. The grammar for matrix expressions will be quite simple - all matrices will have at least 2 rows or 2 columns bracketed by (), [] or || (there will be no vectors with a single element). All matrix subexpressions will conform to grammar IV from CROHME 2013. A full expression can be a sum or a product of matrices or an equality between subexpressions with matrices. Superscripts on matrices are also included (e.g. for squared or transposed matrices).
The systems will be evaluated using the same metrics as for Task 2. The number of correctly recognized expressions will be used to rank systems. The LgEval library will be used to compare label graph files.
Input file format
The input file format is the CROHME InkML format used in previous competitions. These files may be visualized using the CROHME InkML Viewer. A description of the file format is provided here. MathML tags <mtable> <mtr> and <mtd> are used to represent matrix structure (using rows (mtr) and columns within rows (mtd)).
Output file format
The output format is an extension of the label graph (.lg) format. The main difference is that each stroke belongs to multiple objects or sub-structures in a matrix: the matrix itself, a column, a row, a cell, and a symbol. To represent this, the .lg file format supports mutliple labels for nodes and edges. For example, to represent an object with label 'L,' all nodes and edges of the object are labeled with 'L'. Thus for a symbol 'x' drawn with two strokes, the corresponding two nodes and two edges have the same label 'x' ; for a matrix containing five strokes, the corresponding five nodes and 20 edges are all labeled '*M'.
The new labels to represent matrix structures are:- *M : matrix
- *R : row
- *C : column
- *cell : cell
A significant difference from the original .lg format is that '*' edge labels cannot be used to represent segmented objects. All nodes and edges belonging to an object must be labeled identically using one of the 101 class labels or one of the four matrix structure labels provided above (*M, *R, *C, *cell).
The same stroke can belong to multiple object, but at most one object of each type (a stroke is almost in one matrix, one row, one cell, one column, one symbol...). Only matrix objects are represented in the main Symbol Relation Tree - rows, columns and cells do not have spatial relationships with other objects. (Note: this may change).
Training data set
For each training expression the corresponding LG file is provided. The CROHMELib crohme2lg script used to convert InkML to Label Graph files will be updated to handle MathML matrices.
System inputs / outputs
The systems will be called with two arguments: 1) the input inkml file, and 2) the output label graph file name. Systems must return an .lg (CSV) file as output.
Remarks:
- Inkml files will not be accepted as system output. However, conversion scripts from CROHME .inkml to .lg format, and to create .inkml files from an .inkml file and .lg interpretation (e.g. for viewing results in the CROHME InkML Viewer) are provided in CROHMELib.
- .lg files should encode a Directed Acyclic Graph (DAG) over strokes, which represents a Spatial Relation Tree (SRT) over symbols without inherited edges. Inherited edges will be generated during evaluation (using tools provided in the LgEval library).
- The comma ',' class will be written 'COMMA' to avoid confusions in the CSV format.
- The prime symbol (e.g. x', $x^\prime$ or $x\prime$) must be represented using the Superscript (Sup) relationship.