Will GPT3 change the work style of the traditional IT industry?

Can the machine understand natural language and accurately translate it into machine code


When I first saw GPT3 related articles, it gave me a huge impact. This is because a teacher introduced the C language when I was learning the C language. Because the machine can’t understand human speech, there needs to be a machine that can understand the language as the command input from the human to the machine; if you say it, the machine understands it, You can program in Chinese. And now someone tells me that machines can understand people's words!
This is how GPT3 is introduced in the article:
In the process of designing a web page, you can enter a "button that looks like a watermelon" and the machine will automatically generate the following buttons:

image


As you can see, in the dialog box is the input natural language, and under the dialog box is the machine-generated html code and the preview image of the button.
It is undeniable that this is a leapfrog innovation in the field of natural language understanding. However, I believe that in the short term, this technology cannot become a tool to truly change productivity and production relations. Maybe you can use GPT3 to build a general framework in the initial stage of website establishment, or use GPT3 to find inspiration for website design, but GPT3 cannot replace html, js and other network programming languages ​​to become the first choice of developers.
This article will focus on the ambiguity of language and the way of human-computer interaction combined with the recently read "Natural Language Processing Questions and Answers" and "Interaction Design: Beyond Human-Computer Interaction" (Fifth Edition).
The relationship between natural language and existing Html code is similar to the relationship between scripting languages ​​such as python and java relative to c and assembly language. The reason for the emergence of computer languages ​​is that computers cannot understand natural languages, so experienced computer engineers have established a system that computers can understand. However, this system needs to be built from the bottom layer to layer, from the machine Code to assembly language, and then to high-level language. From the improvement of high-level object-oriented language to now it is constantly adapting to people's natural language habits. Output in C language also needs to define the type of the output variable printf("num=%d",num): input and output stream in C++ This step is removed in the, std::cout<<"num="<<num; this improvement is to increase the fault tolerance of the language system, for example, it can still output normally when the variable is not known. . However, each step of improvement is pros and cons. As an easy-to-use language, python can be said to be more friendly to novices, and there are rich libraries to use. You may use opencv to implement an edge detection or use keras to build a small The regression model only requires a few lines of code. However, Python is not an easy language to master, because the python interpreter will perform conversions that we can’t see at a glance. Maybe we think we redefine a variable and assign it with an existing variable. Actually The above compiler thinks that we have created a reference to an existing variable. This is the ambiguity of the language. Even specially designed computer languages ​​such as python often have this ambiguity, especially in natural languages.
So how to reduce ambiguity is the top priority. Teacher Liu Wei wrote in the book "Questioning Artificial Intelligence": Human-computer fusion intelligence needs to give play to the respective strengths of humans and machines. Only when humans and machines work well together can the effect of 1+1>2 be achieved (for example, decision-making aids). Process). Under such requirements, machines need to learn from humans, and humans also need to adapt to machines. In " Interaction Design: Beyond Human-Computer Interaction " (Fifth Edition)This book mentions a very important point in interaction, that is, the mental model. People need to use the correct and appropriate mental model when using the machine. So what is the correct mental model? For example, when using an air conditioner for heating, the heating speed of the air conditioner will not become faster or slower because of the temperature setting. Then when setting the temperature, you only need to set a temperature that needs to be reached, instead of setting the temperature first. Adjust the temperature higher than the desired temperature, hope that the temperature will rise quickly, and then adjust back to the desired temperature after reaching the desired temperature. A reasonable and correct mental model can make the interaction between humans and machines more harmonious. In order to achieve this effect, the user’s factors need to be considered in the process of machine design, and a more transparent product needs to be designed to give users a clear view. The cognitive process helps to establish a reasonable mental model, and users also need to read the manual to obtain the correct mental model when using it. The mental model is a bridge between man and machine in the process of human-computer interaction, and correctly maps human thoughts. And machine practical operation. In the process of human-computer interaction, the machine has a certain degree of flexibility, and it can learn the user's habits, personality and other characteristics through the existing machine learning methods to better assist the user. When the machine does not understand the instructions given by the user, or the user's instructions are ambiguous, there will be ambiguity.

image


 At this time, the concept of ambiguity is introduced. The
machine flexibly and at the same time will bring ambiguity. If the machine parses the user's command incorrectly, it will often go against it. In the book " Natural Language Processing Questions and Answers" by Teacher Li Wei , a lot of space is used to explain how to eliminate the ambiguity of natural language analysis. At the same time, it is also mentioned that some ambiguities can be preserved. In the two cases of premature pruning and dimensional explosion Find a balance point between. Shannon's definition of information is "information is used to eliminate random uncertainty." Similarly, the disambiguation in natural language processing is the same. If it is prematurely disambiguated in the word segmentation stage, the computer can only use the rules specified by the expert and the annotations in the dictionary to select the current most suitable before a small amount of information. At this time, it is very easy to misread the content of the word, and because the word segmentation is in the first step of analysis, it will produce wrong superposition.
Moderate retention of ambiguity, take the example in the book " Natural Language Processing Questions and Answers" : 49 years can be understood as either forty-nine years or 1949. At this time, there is ambiguity, but this type of ambiguity is an internal ambiguity , Whether it is forty-nine years or 1949 is a time component, and does not affect the interpretation of the following or the sentence structure. If you encounter structural ambiguity that cannot be avoided, you can selectively keep the other branch. The method of dormancy and activation is proposed in the number, which can put the structure that is less likely to be dormant, and if the activated branch is found during the analysis process Condition, then reactivate another structure.
When it comes to the problem of disambiguation, I can't make a fuss about natural language processing. Next, I will talk about my own views in conjunction with human-computer interaction.


Because the current natural language processing belongs to an unmanned system, it will encounter so many troubles and difficulties. However, since the GPT3 system introduced above is oriented to the use of natural language programming, it naturally includes human-computer interaction, and many systems are difficult to generate by themselves. The disambiguation can be dispelled by interaction with humans. The machine can ask questions about the ambiguity that is difficult to dissolve, and users can understand and answer according to their own ideas. In the book " Natural Language Processing Questions and Answers" by Teacher Li Wei, it is also mentioned in the system In the process of using, you can update the dictionary words when new words are encountered, or use some statistical methods to let the system automatically update and establish implicit connections between words. In the above example, I was given a button like a watermelon without inputting the size of the button, the location of the button, and the way to click the button (double click, stand-alone, long press). These may be the machine based on the information in its own system. It is defined by reserves. However, in order to truly realize programming in natural language, users need to control the details, because these details are very important in the actual application of actual production and life. Just as the current IDE has become more and more convenient, the measures taken by the current IDE to assist users in programming is to search for the first letter or keyword and automatically appear a drop-down box. The box contains function questions and variable names that the user may choose. I call it the reminder method for the time being, that is, the machine uses almost infinite memory (storage space) compared to humans to help users save the process of remembering cumbersome variable names and focus on the program. logically. In the GPT3 system, there should be a link to ask the user for details. If the user wants a button, the system tells the user how many parameters need to be set to create a button, and guides the user to fill in the input one by one. However, this loses the simplicity of using natural language programming. The original intention of strong openness. So I think GPT3 is an excellent exhibit as a natural language analysis system. It represents the cutting-edge natural language processing technology, and it also shows the application of this technology in the industry; but on the road of natural language programming, it It’s not far enough, so so far, I still think that the use of natural language programming is still at a basic conceptual stage, and there is still a long way to go before the application is truly realized.
The final conclusion is a bit disappointing, but I still look forward to the development of artificial intelligence in the future, and I hope that the day when machines can truly understand humans will come sooner!

image

It is the interaction that produces "I" or "Who" and "Where to" and "Where to go"


Guess you like

Origin blog.51cto.com/15127580/2668733