Next: Index
Up: A Library Package for
Previous: Module atom2term
The ADT package contains the files vitSemLex.pl, vitValues.pl and vitLinking.pl which define on-line lexicon databases and syntax-semantic linking tables. Currently, there exist lexicons and linking information for German based on [Kasper (2000)], for English based on [Flickinger (2000)] and for Japanese based on [Shimada (2000)]. All three are based on the semantic class descriptions of [Kasper et al. (2000)].
The data which is part of the current ADT package was extracted of the named resources using UNIX shell scripts such as awk, sed, etc. The result is mainly a reduction to relation names and semantic classes. Hence, an on-line lexicon does not contain the whole information of the original database, e.g. decomposition classes are no longer covered. Contextual constraints such as grouping, subordination, etc. are also not part of this database. In general, the values of these constraints are the result of a semantic construction process.
Language:vitSemLex(LabelledCondition,
SemanticClass,
Class,
ConditonCheckingCode,
ContextOfCondition,
ContextCheckingCode,
SortalRestrictions) :- Goals.
As can be seen, Language defines a module in which a lexicon
entry vitSemLex/7 can be accessed.
The first argument is always a labelled condition LabelledCondition which should belong to the defined language.
The second argument contains the semantic class SemanticClass of the condition. The potential values are described in [Kasper et al. (2000)].
The syntax checking code ConditonCheckingCode and ContextCheckingCode is used, e.g., by vitCheckFormat/1 (see vitCheck.pl). The callable predicates are either Prolog built-ins, library predicates, defined in vitValues.pl or already explained in previous sections of this documentation.
The context list ContextOfConditon is given by the class description. Together with parts of the checking code like vitGroupLabel/1 this information is used in vitCheckContent/1. In general, this kind of information is optional information which may occur together with the condition in a VIT.
The list of sortal restrictions SortalRestrictions is not used otherwise within the ADT package but can be used during VIT construction.
Optional subgoals Goals are called when accessing a lexicon.
vitValues.pl contains predicates defining value ranges for designators as described in [Kasper et al. (2000)] or in the original databases.
Note, that every lexicon access is deterministic. I.e. once a matching entry was found no choice points remain and no other entries will be tried.
The linking tables are indexed in two ways: by semantic predicate names and syntactic lemmata. The format is
Language:vitSemLinking(PredName,Lemma,Particles,Stem,Linking) :- Subgoals. Language:vitSynLinking(Lemma,Particles,Stem,PredName,Linking) :- Subgoals.
Language defines a language specific module.
PredName is the name of the predicate given by the semantic databases.
Lemma is also given by the semantic databases.
Particles is a list of separable particles or prefixes belonging to a word stem Stem.
Linking is a list with elements of the form arg(SemRole, Case, GramFunc, ArgType) and with arguments as follows:
For further value specifications see Section
or the
original Prolog file.
The ADT package provides the following access predicates to the linking tables:
vitGramRole(+Language,+Predicate,+GRole,-SArg)
Given
a language, the name of a semantic predicate and a grammatical role,
vitGramRole/4 returns the corresponding semantic argument role.
Example:
| ?- vitGramRole(ge,absagen,subj,Arg). Arg=arg1 | ?- vitGramRole(ge,absagen,obj2,Arg). Arg=arg2
The ADT packages comes with hook predicates which makes it very easy
to add new entries to the on-line version. The supported languages
are English, German, and Japanese whereas the lexicons can be found in
modules en, de, and jp, respectively. All
additional lexicon entries should have the format described in
Section
.
First, each of these modules checks for lexical entries in a module named language _first, where language is one of en, de, and jp depending on the selected language. Then the original lexicon of the ADT package is looked up. Finally, each of these language modules checks for lexical entries in a module named language _last. Hence, on the one hand, one can add entries at the beginning of a lexicon using module language _first to overide existing entries. On the other hand, adding at the end of the existing lexicons is used to enlarge the lexicon. The named hook predicates are all assumed to be declared multifile and dynamic.
Beside these hooks, all user defined lexicon modules are considered
when a user switches manually to a language using
vitSetMyLanguage/1 (see Section
).
Note that both, the lexicon hooks and the user defined language modules, only extend the possible contents of the Conditions slot. The remaining information in a VIT is assumed to be known.
Michael Dorna , VM Report 238, 5/18/2000