German scientists: programmable ... without programming languages

    Computers "speak" their own language. And they can only be programmed by those who know this code language. Computer scientists at the Karlsruhe Institute of Technology (KIT) are currently working on software that can directly translate natural language (as a means of human communication) into machine-readable source text.

    If researchers can solve all the problems they face, users will be able to create their own computer applications using a set of phrases. The main problem to be addressed is that people do not always describe processes in a strictly chronological order. A new analytical tool, developed by researchers from KIT, is used to automatically organize teams, after which they can be executed by computer.

    “We want to get away from complex rules for users - what programming languages ​​are essentially - to smart systems that talk with us,” said Mathias Landhäußer, a specialist at the Institute for Program Structures and Data Organization a member of the Karlsruhe Institute of Technology. Today, programs can only be controlled by the natural language, if it was provided by the developer. An example is sending short messages from a smartphone.

    Specialists from KIT are currently working on software that can act as a language interface for any type of program. Users can not only launch applications, but also manage them using voice commands. Researchers have already successfully implemented such an interface in an application that controls heating, lighting and windows in smart homes.

    “It will take time to ensure that computers are not only controlled, but can also be programmed by means of a natural human language,” says Landheuser. But the main communication problem between man and machine - the problem of chronological order - has already received a solution. English was used as the basis for research. “Let's look at the phrase“ Before the car starts, the garage door opens ”(Eng.“ Before the car starts moving, the garage door opens ”), offers Landhuiser. - In our daily communication, this description is pretty standard. If we are talking about the virtual world of computers, a problem arises: the computer executes commands sequentially, as commands are received. In the above example, the computer first receives the information “the car starts” (the car starts moving). Then - “the garage door opens” (the garage door opens). As a result, the car crashes into the gate ... If such a sequence of actions is not provided for by the program, then at best nothing happens. At worst, the computer freezes. ”

    The software developed at KIT analyzes time-related signal words, which indicate that the spoken text describes the process in a non-linear way. Such signal words specify what should happen “before” or “after”, “first” or “finally”, regardless of the location of the information in the spoken phrase. Experts tied logical algorithms to these words in order to create the correct chronological order of actions. If you apply this approach to the example described above, then the algorithm for the signal word "before" (before) automatically moves the main sentence to the beginning. The result is “The garage door opens before the car starts” (The garage door opens before the car starts moving).

    According to the researchers, specially designed requirements for voice communication with computers are not a reliable alternative. Already the first tests showed that subjects, both those with programming skills and those who did not own them, were not able to follow a strict chronology, even if they were specifically instructed. Instead, they unknowingly continued to use signal words. “Our goal is for the computer to adapt to the user's language. And no other way, ”says Landhuiser.

    In addition to the chronological problem, researchers have identified a number of other obstacles to programming through natural language. Subjects replaced some words with synonyms or pronouns. The computer cannot automatically understand that the word "car" (car) means the same as "vehicle" (vehicle) or "it" (he) in the following sentences. “People understand these relationships because they see the situation as a movie that spins in their head. We are working to give computers the same understanding, ”explains Landhoeiser.

    PS In preparing the article, the following materials were used: article 1 , article 2

    PPS Do not forget, the future is  in our hands !

    Also popular now: