1 / 23

Tutorial on Standoff Markup

Tutorial on Standoff Markup. as used in: HCRC Map Task Corpus MATE/NITE Workbench Amy Isard HCRC Language Technology Group University of Edinburgh. Standoff Annotation. Don’t keep all your data in one big document One document for each annotation level (with its own DTD)

Download Presentation

Tutorial on Standoff Markup

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Tutorial on Standoff Markup as used in: HCRC Map Task Corpus MATE/NITE Workbench Amy Isard HCRC Language Technology GroupUniversity of Edinburgh

  2. Standoff Annotation • Don’t keep all your data in one big document • One document for each annotation level (with its own DTD) • Links between documents

  3. LTG link syntax (1) • an element can point to one or more contiguous elements in the same or a different document • each element is identified by a unique ID • a link is shown as an attribute on an element • default attributes in the DTD tell a program that this is a link

  4. LTG link syntax (2) • attributes to describe a link which will be embedded in the original element output document href CDATA #IMPLIED xml:link CDATA #FIXED "simple“ show CDATA #FIXED "embed“ actuate CDATA #FIXED "auto"

  5. Standoff Example (1):Words XML <!DOCTYPE SYSTEM “words.dtd”> <words> <word id=“w1”>turn</word> <word id=“w2”>right</word> <word id=“w3”>for</word> <word id=“w4”>three</word> <word id=“w5”>centimetres</word> <word id=“w6”>okay</word> </words>

  6. Standoff Example (2):Moves XML <!DOCTYPE SYSTEM “moves.dtd”> <moves> <move type=“instruct” speaker=“spk1” id=“m1” href=“words.xml#id(w1)..id(w5)”/> <move type=“align” speaker=“spk1” id=“m2” href=“words.xml#id(w6)”/> … </moves>

  7. <!DOCTYPE SYSTEM “words.dtd”> <words> <word id=“w1”>turn</word> <word id=“w2”>right</word> <word id=“w3”>for</word> <word id=“w4”>three</word> <word id=“w5”>centimetres </word> <word id=“w6”>okay</word> </words> <!DOCTYPE SYSTEM “moves.dtd”> <moves> <move type=“instruct” speaker=“spk1” id=“m1” href=“words.xml#id(w1)..id(w5)”/> <move type=“align” speaker=“spk1” id=“m2” href=“words.xml#id(w6)”/> … </moves> Standoff Example (3):Moves and Words XML

  8. Advantages of Standoff Annotation • It is possible to have levels of annotation which have crossing branches (not normally possible in XML) • New levels of annotation can be added without disturbing existing ones • Editing one level of annotation has minimal knock-on effects on others • People can work on different levels at the same time without worrying about creating different versions

  9. Example Map Task Annotation Structure Dialogue Games Game instruct Dialogue Moves M instruct M align M ack M instruct M align M ack S1 turn right for three centimetres okay three or four centimetres okay Words right right S2 reparandum repair Disfluencies Disfluency

  10. HCRC Map Task XML Corpus Architecture Gaze Timed Units Disfluencies Landmark References Tokens Moves Transactions Tagged Words Other Speaker’s Words Automatic Syntax Games

  11. Tools and Software • LTXML tools www.ltg.ed.ac.uk/software • MATE workbench (NITE) mate.nis.sdu.dk (nite.nis.sdu.dk) • Map Task XML www.hcrc.ed.ac.uk/maptask

  12. knit • Part of the LTXML toolkit • Allows you to “expand” links according to how they have been defined in the DTD (e.g. replace or embed) • Command line program, can be used in pipelines

  13. <!DOCTYPE SYSTEM “words.dtd”> <words> <word id=“w1”>turn</word> <word id=“w2”>right</word> <word id=“w3”>for</word> <word id=“w4”>three</word> <word id=“w5”>centimetres </word> <word id=“w6”>okay</word> </words> <!DOCTYPE SYSTEM “moves.dtd”> <moves> <move type=“instruct” speaker=“spk1” id=“m1” href=“words.xml#id(w1)..id(w5)”/> <move type=“align” speaker=“spk1” id=“m2” href=“words.xml#id(w6)”/> … </moves> Standoff Example (3):Moves and Words XML

  14. Standoff Example (4)Moves XML with embed links <!DOCTYPE SYSTEM “moves.dtd”> <moves> <move type=“instruct” speaker=“spk1” id=“m1” href=“words.xml#id(w1)..id(w5)”> <word id=“w1”>turn</word> <word id=“w2”>right</word> <word id=“w3”>for</word> <word id=“w4”>three</word> <word id=“w5”>centimetres</word> </move> <move type=“align” speaker=“spk1” id=“m2” href=“words.xml#id(w6)”> <word id=“w6”>okay</word> </move> … </moves>

  15. Standoff Example (4)Moves XML with replace links <!DOCTYPE SYSTEM “moves.dtd”> <moves> <word id=“w1”>turn</word> <word id=“w2”>right</word> <word id=“w3”>for</word> <word id=“w4”>three</word> <word id=“w5”>centimetres</word> <word id=“w6”>okay</word> … </moves>

  16. Working with knit • Use knit on one XML document to work with one hierarchical view of the data • To work across hierarchies, knit several views and navigate using the structures plus the unique ids of elements

  17. Stylesheets • style sheet: template rules • pattern which specifies which tree it applies to • pattern which specifies which tree it should output stylesheet processor • reads XML document and stylesheet • carries out the instructions in the stylesheet • outputs a new XML document or

  18. Template Matching • XPath is a language for addressing parts of an XML document, and is used by XSLT in the match attribute of a template e.g. <template match=“sentence”> matches any sentence element. • A stylesheet processor goes through the XML document matching elements to templates and carries out the instructions in the template.

  19. <template match=“dial”> <table> <apply-templates/> </table> </template> <template match=“move”> <tr> <apply-templates/> </tr> </template> <template match=“word”> <td> <apply-templates/> </td> </template> Standard Stylesheet Example

  20. The MATE Workbench • For display, querying, and especially annotation of XML corpora • Flexible user-defined user interfaces • Uses stylesheets to create Java display objects which have defined user interface behaviours • In MATE internal data representation, elements with link pointers are viewed as parent elements

  21. MATE query language • Easy to write queries over more than one hierarchy • In MATE query language you define variables by element type and then relationships between them • ($a ^ $b) means that element $a is a parent of element $b, either in the same document, or via a link.

  22. MATE example query • Find all words which are in a move whose label is “instruct” and which are part of a disfluency ($w word)($m move)($d disfluency); ($m ^ $w) and ($m label ~ instruct) and ($d ^ $w)

  23. Conclusions • Standoff markuup is not just theoretically a good idea • Map Task standoff annotations in place for 5 years, used regularly • Accessible to linguists with modest technical backgrounds

More Related