Natural language

Laurent Martelli
29 Dec 1998 01:48:54 +0100

>>>>> "Tril" == Tril  <> writes:

    Tril> 5. It is a goal to include rudimentary natural language
    Tril> support from the beginning.  The user will be able to
    Tril> communicate to the system, and receive information from the
    Tril> system, in their native language, to some degree.  The
    Tril> degree this will likely be supported is: the system will
    Tril> understand basic grammar, and will know words for all the
    Tril> objects in the system.  The user will be able to ask
    Tril> questions and give commands relating to the objects in the
    Tril> system using natural language.  More extensive natural
    Tril> language support requires an enormous lexicon of the words
    Tril> in the human language, and will be developed later with an
    Tril> online distributed database.

Natural language can be of a great value sometimes, when you have a
rather complex problem that you want to solve, because of its
fuzzyness. However, this fuzzyness can be a problem for common actions
: it can lead to disastruous quiproquos. How shoul the system
understand a statement like "delete all"? What context should be taken
into account? What is "all"? 

Moreover, I think it is a user interface issue. This means that we
must be able to implement all kinds of UI to interact with the system
: command line, "graphic" browsing ... All of them should be
independant from the core design of the system. We must be able to
build an interface for visually impaired people which requires no
modification to existing "programs".(1) We should also be able to
interact with the system seemlessly through various devices (text or
graphics consoles ...). 

So my conlusion is : yes it would be great, but I do not place it with
a very high priority in the todo list. However, once we have a core
system running, some linguists should be able to experiment with our
system in a seemless fashion, without the need to "hack" every where.

(1) I use quotes around program since I consider this as an has-been
    notion taken from has-been systems like Unix. It fixes arbitrary
    limits in design/code/pattern reuse.