18+
реклама
18+
Бургер менюБургер меню

Игорь Волков – Hardware and software of the brain (страница 11)

18

The nucleus language should contain only the most necessary items. On the other hand, human sentences may be very extended. Obviously, they are being broken down to more primitive ones during understanding.

Abstract semantics represents various functions which our live neural nets perform when we process textual data. Being explicitly listed and properly arranged, they may serve as ready terms of reference for software development.

Semantics is hierarchical. There is meaning associated with particular words and there are generalized categories. Let's list them explicitly.

Natural language actively uses attributes. Normally, adjectives modify nouns and adverbs – verbs. However modern languages add many extensions. Adverbs can also modify adjectives. A noun may be an attribute for another noun. Normally, this is expressed by a prepositional phrase after it. 'the leg of a chair', 'a cat with the tail'. In addition, English can put it in front of the noun. 'the chair's leg' or even 'the chair leg'. The exact semantical relation between the attribute and its object is defined by the preposition used. It is necessary to note that the last sample may be modelled also using the dictionary. The noun before another noun may be declared as an adjective. In this case the trouble just moves from syntax to the lexical level. Best of all – to avoid such constructs because they make parsing inefficient.

Gerund is a noun-type word derived from a verb. Interesting that it retains the structure of a verb phrase which begins functioning as a noun phrase. The verb can also produce forms which operate like adjectives or adverbs. These are participles. What is the meaning of this variety? If the verb is represented in neural nets as a movie, then gerund is a snapshot from this movie. The action as an attribute of a noun (a running man) means that this noun participates in this action. The inversion is similar to the passive voice and serves the same goal – to switch attention from one member of the sentence to another. In this case – from the verb to the noun. The action as an adverb, that is an attribute of another action, ('he did it laughing') means that the first action is a part of the second.

Passive voice may be easily explained if we take the predicate as the main member of the sentence and the subject as just one object which gets maximal attention. Passive voice switches this attention. It becomes indispensable when the subject is absent in the active variant. 'The precedent was created.'

In complex sentences, a subordinate clause takes place of one member of the sentence and accordingly plays its role. In compound sentences, coordinated clauses are linked with a conjunction which works as a logical function. This makes it possible to compare natural language with mathematics. You see that formal logics added parentheses which group members of the list and made semantics of functions (and, or, not) absolutely definite (which is not the case in human communication). On the other hand, the list of natural conjunctions is not limited to these 3 ones. Accordingly, the rest of them (such as 'but') may have similar, but slightly different semantics.

The sentence represents some action denoted by its verb with several objects denoted by noun phrases as participants. These objects are linked by relations denoted by prepositions. In principle, this method of constructing a complex object with prepositions may be used without any verb at all. 'A cup on the table'. 'A box under the chair'. 'Instruments in the box'. This renders a quite definite scene. A normal sentence may be regarded as a bag (container represented by the verb) full of such relations.

Homogeneous members of the sentence present a major difference from programming languages. In the latter, some variables may be declared as lists. In natural language, most of members of the sentence are lists by default. This is normal because, say, each noun usually has several attributes. If just one of them is explicitly specified, this is a list with just one element.

In mathematics, variables are placeholders used for 2 different purposes. In equations, they denote unknown values and work for output. In functions, they represent input parameters. In programming, such parameters may be passed by value or by reference. In the latter case, the placeholder works as a link in hypertext. Similar methods may be discovered in natural language.

Pronouns 'it' or 'this' are usually function as a short-distance reference. This case shows clear difference in overall approach of programming and natural language. The last has no strict rules of reference. Oftentimes it is ambiguous and confusing. Meanwhile it may be very useful. For example, a whole paragraph may be devoted to the description of some object. Later, this object may be used via 'this'.

Another method employs generic names. In Object Oriented Programming, the term object denotes a definite data structure while its generalized description is called a class. Before using functionality of a class, you must create some object. Natural language is less restrictive. 'The table' refers to the whole class and you can use it in a sentence. You can use 'this table' so as to select one particular object from this class. You can also use filters to create a subclass 'tables which were purchased for this office'.

Modern languages can generate very long, complicated sentences, but in most cases they may be reduced to a list of simple sentences. The aforementioned variables are used to link them. 'Tables which were purchased for this office arrive to the back door of the building.' -> '20 tables were purchased for this office. The office building has a back door. The tables arrive to the door.' Here the definite articles turn generic names into particular objects. An understanding machine may create a separate internal variable for each more or less significant object of the text. Later use this variable in the semantic representation or update the description of the object.

Copula verbs represent the unique static action, that is a state when nothing changes. Its main verb – 'is'. In principle its syntax is not very different from other verbs. 'He is a sportsman.' Here 'a sportsman' may be parsed as a direct object, but semantically it is very different. This represents conceptual hierarchy, that is what is called class derivation in OOP. Yet another semantics requires a syntax unknown for normal verbs. 'The apple is yellow.' Here the predicate phrase consists only of the adjective. This is equivalent to the sentence without any subject: 'Yellow apple.' with stress on the noun rather than the adjective. It is used so as to set attributes of an object.

Other copula verbs are: become, grow, get, turn, appear, look, seem, etc. The first in this list denote the transitional action of switching the state. The last adds semantics of perception. 'Is' denotes the absolute truth. The other verbs acknowledge that this is only as we perceive it. The last even expresses some doubt. Such samples only underline that our brain is an analog computer which allows infinite variations.

Formalized programming vs. free human communication

In the first case everything should be explicitly defined. Instead, humans widely use defaults and implied meaning. When one man formulates a task for another, he usually doesn't mention many obvious things. Moreover, the task is usually outlined in general. It is up to the employee to add necessary details in the process of execution depending upon the current situation.

Summary

Human language is a product of evolution. It can't be perfect already because it is permanently in development. Various features are being added by different people in different circumstances. It is essential to understand that live language is no more than a pile of raw material. In addition, it works on an analog computer – the live brain. If we want a workable discrete system for standard computers, we need a consistent theory of the language first. Then – its implementation. This theory can't embrace all the features of unlimited human language in principle. Because this language is internally contradictory. Its implementation would be unworkable. Thus the term "natural language" – a workable extract which may be specified explicitly in full. Let's do it.

Natural language is used to describe knowledge. It is arranged in hierarchy: library – domains – books – chapters – paragraphs – sentences – clauses – phrases – words. When we read a text, it is translated into some internal semantical representation, that is meaning. The process is called understanding. The structure of this representation is a key problem. If we know it, it is always possible to arrange translation. The main application of this representation is problem solving. Question answering and search is just a subtask.

Thorough analysis of natural syntax discovers just a few basic semantical elements. Each sentence represents some action denoted by its verb. The whole text answers the question: "What happens around?" The action may involve several objects, that is static elements. Essentially, each action may be represented by some object as a function of time. That's the difference. In the nervous system both are translated into static or dynamic neural images. In the sentence, objects are usually represented by noun phrases. The first of them is called the subject. It is used to underline this object and draw attention to it. Both actions and objects have attributes denoted by adverbs and adjectives respectively. Also these elements may be linked by relations. Prepositions represent relations between objects. Conjunctions – between actions. That's all. The whole of human thinking, problem solving, and complicated decision making is made of these elements.