Both sides previous revision
Previous revision
Next revision
|
Previous revision
Next revision
Both sides next revision
|
external:tectomt:tutorial [2009/01/22 10:50] kravalova |
external:tectomt:tutorial [2009/01/22 11:00] kravalova |
| |
There are also other directories for other purpose blocks, for example blocks which only print out some information go to ''libs/Print''. Our tutorial blocks are in ''libs/blocks/Tutorial/''. | There are also other directories for other purpose blocks, for example blocks which only print out some information go to ''libs/Print''. Our tutorial blocks are in ''libs/blocks/Tutorial/''. |
| |
| |
| |
| |
Try to click on some nodes to see their parameters (tag, lemma, form, analytical function etc). | Try to click on some nodes to see their parameters (tag, lemma, form, analytical function etc). |
| |
| |
| |
| |
| |
Attributes of documents, bundles or nodes can be accessed by attribute getters and setters, for example: | Attributes of documents, bundles or nodes can be accessed by attribute getters and setters, for example: |
| |
* ''$node<nowiki>-></nowiki>get_attr($attr_name)'' | * ''$node<nowiki>-></nowiki>get_attr($attr_name)'' |
* ''$node<nowiki>-></nowiki>set_attr($attr_name, $attr_value)'' | * ''$node<nowiki>-></nowiki>set_attr($attr_name, $attr_value)'' |
| |
| Some interesting attributes on morphologic layer are ''form'', ''lemma'' and ''tag''. Some interesting attributes on analytical layer are ''afun'' (analytical function) and ''ord'' (surface word order). To reach ''form'', ''lemma'' or ''tag'' from analytical layer, that is, when calling this attribute on an ''a-node'', you use ''$a_node->get_attr('m/form')'' and the same way for ''lemma'' and ''tag''. The easiest way to see the node attributes is to click on the node in TrEd: |
| |
| <code bash> |
| tmttred sample.tmt |
| </code> |
| |
Our tutorial block ''Print_node_info.pm'' is ready to use. You only need to add this block to our scenario, e.g. as a new Makefile target: | Our tutorial block ''Print_node_info.pm'' is ready to use. You only need to add this block to our scenario, e.g. as a new Makefile target: |
==== Task ==== | ==== Task ==== |
A block which, given an analytical tree (''SEnglishA''), fills each ''a-node'' with boolean attribute ''is_clause_head'' which is set to ''1'' if the ''a-node'' corresponds to a finite verb, and to ''0'' otherwise. | A block which, given an analytical tree (''SEnglishA''), fills each ''a-node'' with boolean attribute ''is_clause_head'' which is set to ''1'' if the ''a-node'' corresponds to a finite verb, and to ''0'' otherwise. |
| |
| |
| |
* ''my @eff_children = $node<nowiki>-></nowiki>get_eff_children()'' | * ''my @eff_children = $node<nowiki>-></nowiki>get_eff_children()'' |
| |
//Note//: ''get_children()'' returns topological node children in a tree, while ''get_eff_children()'' returns node children in a linguistic sense. Mostly, these do not differ. | //Note//: ''get_children()'' returns topological node children in a tree, while ''get_eff_children()'' returns node children in a linguistic sense. Mostly, these do not differ. If interested, see Figure 1 in [[http://ufal.mff.cuni.cz/pdt2.0/doc/tools/tred/bn-tutorial.html|Externí odkaz]] |
| |
==== Advanced version ==== | ==== Advanced version ==== |