Prague Markup Language Framework

Jan Štěpánek & Jirka Hana
Charles University in Prague
ÚFAL

Desiderata

An Example: Prague Dependency Treebank 2.0

Example: PDT — w-layer

Některé kontury problému se však po oživením
Some contours problem (gen) reflexive pronoun though after bringing up (instr)
Havlovým projevem zdají být jasnější .
Havel's speech (instr) they-seem to-be clearer .

Some contours of the problem seem to be clearer after being brought up by Havel's speech.

  ⋮
  </w>
  <w id="w-ln95047-065-p2s2w1">
    <token>Některé</token>
  </w>
  <w id="w-ln95047-065-p2s2w2">
    <token>kontury</token>
  </w>
  <w id="w-ln95047-065-p2s2w3">
    <token>problému</token>
  </w>
  <w id="w-ln95047-065-p2s2w4">
    <token>se</token>
  </w>
  <w id="w-ln95047-065-p2s2w5">
    <token>však</token>
  </w>
  <w id="w-ln95047-065-p2s2w6">
    <token>po</token>
  </w>
  <w id="w-ln95047-065-p2s2w7">
    <token>oživením</token>
  </w>
  <w id="w-ln95047-065-p2s2w8">
    <token>Havlovým</token>
  </w>
  <w id="w-ln95047-065-p2s2w9">
    <token>projevem</token>
  </w>
  <w id="w-ln95047-065-p2s2w10">
    <token>zdají</token>
  </w>
  <w id="w-ln95047-065-p2s2w11">
    <token>být</token>
  </w>
  <w id="w-ln95047-065-p2s2w12">
    <token>jasnější</token>
    <no_space_after>1</no_space_after>
  </w>
  <w id="w-ln95047-065-p2s2w13">
    <token>.</token>
  </w>
</para>
⋮

Example: PDT — m-layer

Form Gloss Lemma Morphological tag
Některé Some některý PZFP1----------
kontury contours kontura NNFP1-----A----
problému problem (gen) problém NNIS2-----A----
se reflexive se_^(zvr._zájmeno/částice) P7-X4----------
však though však J^-------------
po after po-1 RR--6----------
oživení bringing up (loc) oživení_^(*3it) NNNS6-----A----
Havlovým Havel's Havlův_;S_^(*3el) AUIS7M---------
projevem speech (inst) projev NNIS7-----A----
zdají they-seem zdát VB-P---3P-AA---
být to-be být Vf--------A----
jasnější clearer jasný AAFP1----2A----
. . . Z:-------------
<s id="m-ln95047-065-p2s2">
  <m id="m-ln95047-065-p2s2w1">
    <src.rf>manual</src.rf>
    <w.rf>w#w-ln95047-065-p2s2w1</w.rf>
    <form>Některé</form>
    <lemma>některý</lemma>
    <tag>PZFP1----------</tag>
  </m>
  <m id="m-ln95047-065-p2s2w2">
    <src.rf>manual</src.rf>
    <w.rf>w#w-ln95047-065-p2s2w2</w.rf>
    <form>kontury</form>
    <lemma>kontura</lemma>
    <tag>NNFP1-----A----</tag>
  </m>
  <m id="m-ln95047-065-p2s2w3">
    <src.rf>manual</src.rf>
    <w.rf>w#w-ln95047-065-p2s2w3</w.rf>
    <form>problému</form>
    <lemma>problém</lemma>
    <tag>NNIS2-----A----</tag>
  </m>
  <m id="m-ln95047-065-p2s2w4">
    <src.rf>manual</src.rf>
    <w.rf>w#w-ln95047-065-p2s2w4</w.rf>
    <form>se</form>
    <lemma>se_^(zvr._zájmeno/částice)</lemma>
    <tag>P7-X4----------</tag>
  </m>
  <m id="m-ln95047-065-p2s2w5">
    <src.rf>manual</src.rf>
    <w.rf>w#w-ln95047-065-p2s2w5</w.rf>
    <form>však</form>
    <lemma>však</lemma>
    <tag>J^-------------</tag>
  </m>
  <m id="m-ln95047-065-p2s2w6">
    <src.rf>manual</src.rf>
    <w.rf>w#w-ln95047-065-p2s2w6</w.rf>
    <form>po</form>
    <lemma>po-1</lemma>
    <tag>RR--6----------</tag>
  </m>
  <m id="m-ln95047-065-p2s2w7">
    <src.rf>manual</src.rf>
    <w.rf>w#w-ln95047-065-p2s2w7</w.rf>
    <form_change>spell</form_change>
    <form>oživení</form>
    <lemma>oživení_^(*3it)</lemma>
    <tag>NNNS6-----A----</tag>
  </m>
  <m id="m-ln95047-065-p2s2w8">
    <src.rf>manual</src.rf>
    <w.rf>w#w-ln95047-065-p2s2w8</w.rf>
    <form>Havlovým</form>
    <lemma>Havlův_;S_^(*3el)</lemma>
    <tag>AUIS7M---------</tag>
  </m>
  <m id="m-ln95047-065-p2s2w9">
    <src.rf>manual</src.rf>
    <w.rf>w#w-ln95047-065-p2s2w9</w.rf>
    <form>projevem</form>
    <lemma>projev</lemma>
    <tag>NNIS7-----A----</tag>
  </m>
  <m id="m-ln95047-065-p2s2w10">
    <src.rf>manual</src.rf>
    <w.rf>w#w-ln95047-065-p2s2w10</w.rf>
    <form>zdají</form>
    <lemma>zdát</lemma>
    <tag>VB-P---3P-AA---</tag>
  </m>
  <m id="m-ln95047-065-p2s2w11">
    <src.rf>manual</src.rf>
    <w.rf>w#w-ln95047-065-p2s2w11</w.rf>
    <form>být</form>
    <lemma>být</lemma>
    <tag>Vf--------A----</tag>
  </m>
  <m id="m-ln95047-065-p2s2w12">
    <src.rf>manual</src.rf>
    <w.rf>w#w-ln95047-065-p2s2w12</w.rf>
    <form>jasnější</form>
    <lemma>jasný</lemma>
    <tag>AAFP1----2A----</tag>
  </m>
  <m id="m-ln95047-065-p2s2w13">
    <src.rf>manual</src.rf>
    <w.rf>w#w-ln95047-065-p2s2w13</w.rf>
    <form>.</form>
    <lemma>.</lemma>
    <tag>Z:-------------</tag>
  </m>
</s>

Example: PDT — a-layer

<LM id="a-ln95047-065-p2s2">
  <s.rf>m#m-ln95047-065-p2s2</s.rf>
  <ord>0</ord>
  <children>
    <LM id="a-ln95047-065-p2s2w5">
      <m.rf>m#m-ln95047-065-p2s2w5</m.rf>
      <afun>Coord</afun>
      <ord>5</ord>
      <children id="a-ln95047-065-p2s2w10">
        <m.rf>m#m-ln95047-065-p2s2w10</m.rf>
        <afun>Pred</afun>
        <is_member>1</is_member>
        <ord>10</ord>
        <children>
          <LM id="a-ln95047-065-p2s2w2">
            <m.rf>m#m-ln95047-065-p2s2w2</m.rf>
            <afun>Sb</afun>
            <ord>2</ord>
            <children>
              <LM id="a-ln95047-065-p2s2w1">
                <m.rf>m#m-ln95047-065-p2s2w1</m.rf>
                <afun>Atr</afun>
                <ord>1</ord>
              </LM>
              <LM id="a-ln95047-065-p2s2w3">
                <m.rf>m#m-ln95047-065-p2s2w3</m.rf>
                <afun>Atr</afun>
                <ord>3</ord>
              </LM>
            </children>
          </LM>
          <LM id="a-ln95047-065-p2s2w4">
            <m.rf>m#m-ln95047-065-p2s2w4</m.rf>
            <afun>AuxT</afun>
            <ord>4</ord>
          </LM>
          <LM id="a-ln95047-065-p2s2w6">
            <m.rf>m#m-ln95047-065-p2s2w6</m.rf>
            <afun>AuxP</afun>
            <ord>6</ord>
            <children id="a-ln95047-065-p2s2w7">
              <m.rf>m#m-ln95047-065-p2s2w7</m.rf>
              <afun>Adv</afun>
              <ord>7</ord>
              <children id="a-ln95047-065-p2s2w9">
                <m.rf>m#m-ln95047-065-p2s2w9</m.rf>
                <afun>Atr</afun>
                <ord>9</ord>
                <children id="a-ln95047-065-p2s2w8">
                  <m.rf>m#m-ln95047-065-p2s2w8</m.rf>
                  <afun>Atr</afun>
                  <ord>8</ord>
                </children>
              </children>
            </children>
          </LM>
          <LM id="a-ln95047-065-p2s2w11">
            <m.rf>m#m-ln95047-065-p2s2w11</m.rf>
            <afun>Obj</afun>
            <ord>11</ord>
            <children id="a-ln95047-065-p2s2w12">
              <m.rf>m#m-ln95047-065-p2s2w12</m.rf>
              <afun>Pnom</afun>
              <ord>12</ord>
            </children>
          </LM>
        </children>
      </children>
    </LM>
    <LM id="a-ln95047-065-p2s2w13">
      <m.rf>m#m-ln95047-065-p2s2w13</m.rf>
      <afun>AuxK</afun>
      <ord>13</ord>
    </LM>
  </children>
</LM>

Example: PDT — t-layer

  <LM id="t-ln95047-065-p2s2">
    <atree.rf>a#a-ln95047-065-p2s2</atree.rf>
    <deepord>0</deepord>
    <children id="t-ln95047-065-p2s2w10">
      <a>
        <lex.rf>a#a-ln95047-065-p2s2w10</lex.rf>
        <aux.rf>a#a-ln95047-065-p2s2w4</aux.rf>
      </a>
      <val_frame.rf>v#v-w9378f2</val_frame.rf>
      <nodetype>complex</nodetype>
      <t_lemma>zdát_se</t_lemma>
      <functor>PRED</functor>
      <sentmod>enunc</sentmod>
      <gram>
        <sempos>v</sempos>
        <verbmod>ind</verbmod>
        <deontmod>decl</deontmod>
        <tense>sim</tense>
        <aspect>proc</aspect>
        <resultative>res0</resultative>
        <dispmod>disp0</dispmod>
        <iterativeness>it0</iterativeness>
        <tense_new>sim</tense_new>
        <factmod>asserted</factmod>
      </gram>
      <tfa>f</tfa>
      <deepord>10</deepord>
      <children>
        <LM id="t-ln95047-065-p2s2w5">
          <a>
            <lex.rf>a#a-ln95047-065-p2s2w5</lex.rf>
          </a>
          <nodetype>atom</nodetype>
          <t_lemma>však</t_lemma>
          <functor>PREC</functor>
          <tfa>t</tfa>
          <deepord>1</deepord>
        </LM>
        <LM id="t-ln95047-065-p2s2w2">
          <a>
            <lex.rf>a#a-ln95047-065-p2s2w2</lex.rf>
          </a>
          <nodetype>complex</nodetype>
          <t_lemma>kontura</t_lemma>
          <functor>PAT</functor>
          <gram>
            <sempos>n.denot</sempos>
            <gender>fem</gender>
            <number>pl</number>
          </gram>
          <tfa>c</tfa>
          <deepord>3</deepord>
          <children>
            <LM id="t-ln95047-065-p2s2w3">
              <a>
                <lex.rf>a#a-ln95047-065-p2s2w3</lex.rf>
              </a>
              <nodetype>complex</nodetype>
              <t_lemma>problém</t_lemma>
              <functor>APP</functor>
              <gram>
                <sempos>n.denot</sempos>
                <gender>inan</gender>
                <number>sg</number>
              </gram>
              <tfa>t</tfa>
              <deepord>2</deepord>
            </LM>
            <LM id="t-ln95047-065-p2s2w1">
              <a>
                <lex.rf>a#a-ln95047-065-p2s2w1</lex.rf>
              </a>
              <nodetype>complex</nodetype>
              <t_lemma>který</t_lemma>
              <functor>RSTR</functor>
              <gram>
                <sempos>adj.pron.indef</sempos>
                <indeftype>indef1</indeftype>
              </gram>
              <tfa>f</tfa>
              <deepord>4</deepord>
            </LM>
          </children>
        </LM>
        <LM id="t-ln95047-065-p2s2a2">
          <nodetype>qcomplex</nodetype>
          <is_generated>1</is_generated>
          <t_lemma>#Gen</t_lemma>
          <functor>ACT</functor>
          <tfa>t</tfa>
          <deepord>5</deepord>
        </LM>
        <LM id="t-ln95047-065-p2s2w7">
          <a>
            <lex.rf>a#a-ln95047-065-p2s2w7</lex.rf>
            <aux.rf>a#a-ln95047-065-p2s2w6</aux.rf>
          </a>
          <val_frame.rf>v#v-w3343f2</val_frame.rf>
          <nodetype>complex</nodetype>
          <t_lemma>oživení</t_lemma>
          <functor>TWHEN</functor>
          <subfunctor>after</subfunctor>
          <gram>
            <sempos>n.denot.neg</sempos>
            <gender>neut</gender>
            <number>sg</number>
            <negation>neg0</negation>
          </gram>
          <tfa>t</tfa>
          <deepord>7</deepord>
          <children>
            <LM id="t-ln95047-065-p2s2a0">
              <coref_text.rf>t-ln95047-065-p2s2a1</coref_text.rf>
              <nodetype>complex</nodetype>
              <is_generated>1</is_generated>
              <t_lemma>#PersPron</t_lemma>
              <functor>PAT</functor>
              <gram>
                <sempos>n.pron.def.pers</sempos>
                <gender>fem</gender>
                <number>pl</number>
                <person>3</person>
                <politeness>basic</politeness>
              </gram>
              <tfa>t</tfa>
              <deepord>6</deepord>
            </LM>
            <LM id="t-ln95047-065-p2s2w9">
              <a>
                <lex.rf>a#a-ln95047-065-p2s2w9</lex.rf>
              </a>
              <nodetype>complex</nodetype>
              <t_lemma>projev</t_lemma>
              <functor>ACT</functor>
              <gram>
                <sempos>n.denot</sempos>
                <gender>inan</gender>
                <number>sg</number>
              </gram>
              <tfa>f</tfa>
              <deepord>8</deepord>
              <children id="t-ln95047-065-p2s2w8">
                <a>
                  <lex.rf>a#a-ln95047-065-p2s2w8</lex.rf>
                </a>
                <nodetype>complex</nodetype>
                <t_lemma>Havel</t_lemma>
                <functor>ACT</functor>
                <is_name_of_person>1</is_name_of_person>
                <gram>
                  <sempos>n.denot</sempos>
                  <gender>anim</gender>
                  <number>sg</number>
                </gram>
                <tfa>f</tfa>
                <deepord>9</deepord>
              </children>
            </LM>
          </children>
        </LM>
        <LM id="t-ln95047-065-p2s2w11">
          <a>
            <lex.rf>a#a-ln95047-065-p2s2w11</lex.rf>
          </a>
          <val_frame.rf>v#v-w243f1</val_frame.rf>
          <nodetype>complex</nodetype>
          <t_lemma>být</t_lemma>
          <functor>EFF</functor>
          <gram>
            <sempos>v</sempos>
            <verbmod>nil</verbmod>
            <deontmod>decl</deontmod>
            <tense>nil</tense>
            <aspect>proc</aspect>
            <resultative>res0</resultative>
            <dispmod>nil</dispmod>
            <iterativeness>it0</iterativeness>
            <tense_new>nil</tense_new>
            <factmod>nil</factmod>
          </gram>
          <tfa>f</tfa>
          <deepord>12</deepord>
          <children>
            <LM id="t-ln95047-065-p2s2a1">
              <coref_gram.rf>t-ln95047-065-p2s2w2</coref_gram.rf>
              <nodetype>qcomplex</nodetype>
              <is_generated>1</is_generated>
              <t_lemma>#Cor</t_lemma>
              <functor>ACT</functor>
              <tfa>t</tfa>
              <deepord>11</deepord>
            </LM>
            <LM id="t-ln95047-065-p2s2w12">
              <a>
                <lex.rf>a#a-ln95047-065-p2s2w12</lex.rf>
              </a>
              <nodetype>complex</nodetype>
              <t_lemma>jasný</t_lemma>
              <functor>PAT</functor>
              <gram>
                <sempos>adj.denot</sempos>
                <degcmp>comp</degcmp>
                <negation>neg0</negation>
              </gram>
              <tfa>f</tfa>
              <deepord>13</deepord>
            </LM>
          </children>
        </LM>
      </children>
      <sentmod_new>enunc</sentmod_new>
    </children>
  </LM>

DEMO: PDT in Tred

DEMO: Penn Treebank in Tred

DEMO: Alternative view

DEMO: Stylesheet

DEMO: Modified Stylesheet

DEMO: Rectangles Changed To Ovals

DEMO: Searching Penn Treebank Locally

DEMO: Searching Penn Treebank Locally

DEMO: Searching Penn Treebank Remotely

DEMO: Extracting Grammar

Prague Markup Language (PML)

PML-Schema

Data types
atomic, AVM, list, sequence, alternative, reference
Data roles
root/node of a tree, unique identifier, indexable…

Other Tools

feat - Learners Corpora Annotation

Future Work

Conclusions