|
|
|
|
Please go to
SAMPLE Language & Technology:
http://sampletalk.8m.com/.Natural language question understanding
Imagine that you have plenty of facts like
jack eats apples in the corridor, represented in a natural language, and would like to develop a question-answering system that allows a user to derive consequences of these facts and to cause other actions related to such reasoning. (E.g. to qualify eating as a consumption). SAMPLE provides the simplest possible way for doing this. You will never need to make a separate parser, grammar, semantic models, and reasoning modules. Everything is obtained via a universal concept of matching text samples, where the samples may contain variables X (standing for Jack or somebody else, as in our example), A (standing for eat or some other action), F (standing for food or some other object) etc. All other existing knowledge-processing systems require much more complex programming in order to implement reasoning of this kind:|
% Goal: |
The output (or, better, response) of this program will be
what does jack eat? apples. On the way to derive this response, the program will print intermediate results like consumption: eating, food: apples, place: the corridor.
Abstraction of Natural Language reasoning
This program example demonstrates how we can obtain inference rules immediately from NL reasoning examples. Consider 3 obvious reasoning examples:
What is on roof? Bird (if object bird is situated on roof);
Who is Socrates? Human (since person Socrates is Human);
Where is Paris? In France (since object Paris is situated in France).
What is on a table? Book (since object book is situated on a table);
Who is Julia? Daughter of Maria and Peter (since person Julia is a daughter of Maria and Peter);
Where is St. Petersburg? In Russia (since object St. Petersburg is situated in Russia)
|
who is julia? {Function}.. % Possible program goals |
Morphologic and syntax analysis of a sentence
Given the sentence
this large apple is tasty since it has ripened in the form of a program goal (see below), the program produces output tree for sentence [this large apple is tasty since it has ripened] is n-sent[n-sent[n-noun[det[this] aj[large] noun[apple]] verb0[is] aj[tasty]] cond[since] n-sent[it[it] verb1[has] verb[ripened]]]. This output represents parsing tree structure along with morphological tags.|
%Goal (variable X is to be filled by the parsing tree; "[" and "]" restrict possible matching): |
Have you noticed already that we are programming in a natural language?!
Parts Inventory
This is Sample version of classic Prolog program by Clocksin & Mellish. Using a description of a bike, this program produces list of all its basic parts. The main difference is its natural language form: we don't have to use specific Prolog syntax and can be as expressive in our NL expressions as we want. I even used English check speller for debugging this program!
|
% Goal (L stands for the generated list of basic parts of a bike) |
As the result, this program will print
parts of [bike] are [spoke] [rim] [gears] [bolt] [nut] [spoke] [rim] [gears] [bolt] [nut] [rear frame] [fork] [handles].Programs like these will never need a detailed documentation: since
text matching is the main programming concept, the reader of a program will always find explanation of program elements in similar elements. As important, universal concepts like contains, is, parts of, as well as any kind of jargon language designations, may be easily included into SAMPLE program, along with constraints and explanations how the corresponding objects behave.SAMPLE Language & Technology:
http://www.webspawner.com/users/samplex/ Back to Sample Language & Technology |
Other examples: Logics; Recognition of regularities |
Other examples: misc. SAMPLE programs |
Metaphoric Conclusions |
Send E-Mail to: gleibman@yahoo.com