Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

= TUC - The Understanding Computer =

== Version 22.1 Date 140910 ==

Revised for Confluence by Rune Sætre
Based on Version 21.4 Date 060515,
From www.idi.ntnu.no/~tagore


== COPYRIGHT NOTICE ==

The TUC system is developed by the University of Trondheim, NTNU.

...

E-MAIL:
tagore@idi.ntnu.no


== SOFTWARE DISCLAIMER ==

This program is provided as research software,
on an "as is" basis without warranty of any kind,
either expressed or implied.

== VERSION MANAGEMENT ==

To ensure a disciplined distribution of the latest
versions, the system should not be redistributed to
third parties.
For a description of the [[#Version Management Policy]],
see the end of this manual.


= TUC USER MANUAL =

== MAIN DESCRIPTION ==


TUC is an acronym for The Understanding Computer.

...

The interface modules are not included in this package.

=== System Requirements ===

The implementation language is SICStus Prolog 3 (or later) which is
a standard Prolog compiler.

...

- A Prolog compiler for efficiency.

- A full DCG preprocessor.

- A standard module system


=== How to get hold of the system ===

TUC is available on SVN from
http://basar.idi.ntnu.no/svn/busstuc
which is the Department of Computer and Information Science at the
University of Trondheim (NTNU), Norway.

When delivered, it will be in a tar-file that expands to directory
buster/ containing a collection of Prolog-files.


=== How to create the system ===

NOTE the bus system contains a large database busroute.pl.

...


3. Make an an executable program , e.g. nrl (or bustuc)


?-save_program(nrl).

=== How to run the system ===


1. Load the compiled system

...

| ?- run.

E:

3. Tell and ask.


=== Sample session ===

The user is prompted by an E: for each new sentence.

...

..................................................
which(A)::(mary isa woman,love/A/mary/B,A isa person)
..................................................

john

 

=== How the system works ===


The system translates the English text via a general grammar with
semantic constraints. The constraints are determined by the content of
the semantic knowledge base.
The system operates on a backtracking fashion, returning
solutions which are both syntactically and semantically correct.
In this version, only the first possible solution is presented, the other
are cut away.

...

For the description below, the user types whatever is not printed.
Text surrounded by < > is generic and is not verbatim.


=== System Commands in Prolog mode: ===

?-tuc. Initiating call. Calls start

...

?- spyr <Rule>. Spy Pragma translation rule


=== Parameters: ===

trace := N Tracelevel

N=0 just answers

...

unix_language := eng/nor Unix installation language

wold := <identifier> Possible to set another world than real
NB World parameter is always reset to
real after end of read file


=== System Commands in NL mode: ===

These commands starts with a backslash operator to distinguish
them from NL text. The NL commands must appear on one line,
a last dot is optional.

...


All the System commands in Prolog mode listed above are also available in
NL mode (e.g. the command \clear which is listed as an example ).


== Language and Grammar ==

=== The accepted language ===

The accepted language, which is called E is a subset
of English. A Norwegian version is also available.
Among all its restrictions, note the following:

...

For your information, some files with extension '.e'
are included in the delivery as
illustrative examples. Also the file 'problems.e' contains
examples of sentences which are not treated adequately.

=== The Grammar System ( ConSensiCal Grammar ) ===

The grammar is based on a simple
grammar for statements, while questions and
commands are derived by use of movements.
The grammar formalism is called ConSensiCal Grammar,
which is an acronym for Context Sensitive Categorial Attribute Logical Grammar.
It is an easy to use variant of Extra-position Grammars
(XG-grammars (F. Pereira)), which is an extension of Definite
Clause Grammars. A characteristic grammatical expression in
Consensical Grammar is found in the definition of a relative_clause
which after 'that' expects a statement MINUS a noun_phrase.

A skeleton grammar follows below for declarative sentences (statements).
The grammar which is listed in the file 'gram_e.pl' is much more comprehensive
and sophisticated. The grammar is in fact an attributed
grammar that produces a formula in a first order event calculus.


=== Skeleton Grammar ===


sentence ---> statement . |
question ? |
command !

...

determiner ---> a | the | every | ...


=== Meta-grammar rules ===

---> Production

| Alternatives

...

( ) just grouping parentheses

== Adaptability ==

TUC is adaptable, which means that there is a general
grammar for the syntax, while the semantics of the
words are declared in tables.

=== Dictionary ===

The dictionary is defined by the two files

...

The allowed words in the word classes

==== Nouns ====

Nouns are defined in a 'ako' hierarchy.
The hierarchy is tree-structured.

...

Example:

agent ako thing.
animate ako agent.
person ako animate.
animal ako animate.
adult ako person.
man ako adult.
father ako man.

==== Intransitive verb ====

Intransitive verbs are listed in the table

...

iv_templ(live,animate).
iv_templ(work,employee).

==== Transitive verb ====

tv_templ(<verb>,<agent>,<patient>).

...

tv_templ(kill,animate,animate).
tv_templ(earn,person,money).


==== Adjectives ====

adj_templ(<adjective>,<class>).

...

adj_templ(dead,animate).
adj_templ(married,person).

==== Verb complements ====

Verb complements are modifiers of the verb.

...

v_compl(borrow,person,from,person).
v_compl(live,animate,in,time).

==== Noun complements ====

Noun complements are modifiers of the noun.

...

n_compl(person,with,telescope).
n_compl(park,with,statue).

==== Adjective complements ====

Adjective complements are complements to the adjectives.

...

a_compl(responsible,agent,for,thing).

==== Part-Of hierarchy ====

A relation apo (a part of) is used to define
the constituent structure of the nouns.

...

NB. The relation apo must NOT be confused with the ako relation.


==== Attributes ====

The attributes of a class is declared by a
predicate 'has_a'.

...

country has_a capital.
dog has_a owner.

==== Comparisons ====

Comparisons are polymorphic relations between objects.

...

comp_templ(gt,person,person,height/gt).

=== User Defined Facts ===

A file 'facts.pl' contains a set of definitions of
object names. The main relation is 'is a' :

...

richard isa employee.
january isa month.

=== Script files ===

TUC may be directed to read NL text from file.

...

e.g. twm.e whose content is shown above.


=== Version Management Policy ===

The program system has a Version X.Y and a Date YYMMDD.
The Date is the date of the last modification.

...