KR102635363B1 - Code generation system based on interactive chatbot - Google Patents

Code generation system based on interactive chatbot Download PDF

Info

Publication number
KR102635363B1
KR102635363B1 KR1020230140390A KR20230140390A KR102635363B1 KR 102635363 B1 KR102635363 B1 KR 102635363B1 KR 1020230140390 A KR1020230140390 A KR 1020230140390A KR 20230140390 A KR20230140390 A KR 20230140390A KR 102635363 B1 KR102635363 B1 KR 102635363B1
Authority
KR
South Korea
Prior art keywords
developer
chatbot
conversation
authentication
code
Prior art date
Application number
KR1020230140390A
Other languages
Korean (ko)
Inventor
서인혁
Original Assignee
주식회사 크레드잇
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 크레드잇 filed Critical 주식회사 크레드잇
Priority to KR1020230140390A priority Critical patent/KR102635363B1/en
Application granted granted Critical
Publication of KR102635363B1 publication Critical patent/KR102635363B1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/33Intelligent editors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/10Requirements analysis; Specification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/447Target code generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/02User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail using automatic reactions or user delegation, e.g. automatic replies or chatbot-generated messages

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

대화용 챗봇을 이용하여 개발자와의 상호작용으로 개발 내용을 설정하고, 개발 내용에 대한 코드를 생성하는 제어 서버;를 포함하는, 대화용 챗봇 기반 AI 코드 생성 시스템을 개시한다.Disclosed is a conversational chatbot-based AI code generation system that includes a control server that sets development content through interaction with a developer using a conversational chatbot and generates code for the development content.

Description

대화용 챗봇 기반 AI 코드 생성 시스템{CODE GENERATION SYSTEM BASED ON INTERACTIVE CHATBOT}Chatbot-based AI code generation system for conversation {CODE GENERATION SYSTEM BASED ON INTERACTIVE CHATBOT}

본 발명은 대화용 챗봇 기반 AI 코드 생성 시스템에 관한 것이다.The present invention relates to a conversation chatbot-based AI code generation system.

최근 기업은 디지털트랜스포메이션을 통해 기업 경쟁력을 확보하기 위해, 클라우드 환경, 인공지능 및 로보틱스 및 애자일 및 데브옵스의 신기술과 환경을 이용한 기업의 워크플로우 애플리케이션 개발의 자동화 및 관리의 통합화를 추구하고 있다. 특히, 기업은 애플리케이션을 개발함에 있어서, 생산성과 품질을 향상시키는 새로운 워크플로우 애플리케이션을 단 시일 내에 프로토타입으로 제작, 개발, 테스트 및 배포까지 할 수 있는 방법을 모색하고 있다. 이러한 기업의 니즈에서 핵심적인 것 중 하나가, 기업의 워크플로우 애플리케이션에 필요한 소프트웨어를 개발함에 있어서 최대한 시간과 비용을 절감할 수 있는 소프트웨어 자동 개발 방식이다. 소프트웨어 자동 개발에 필요한 프로그램의 코딩 방식을 기존의 개발자의 수작업 코딩방식에서 로우 코딩(low coding) 또는 노 코딩(no coding) 방식을 택하여 시간과 비용을 절감하는 것임이 널리 알려져 있다. 이들 로우 코딩 또는 노 코딩 방식은 프로그램 자동 코딩 방식의 일종으로 소프트웨어 자동 개발 방식의 핵심으로 떠오르고 있다. Recently, in order to secure corporate competitiveness through digital transformation, companies are pursuing the integration of automation and management of corporate workflow application development using new technologies and environments such as cloud environments, artificial intelligence, robotics, agile, and DevOps. In particular, when developing applications, companies are seeking ways to prototype, develop, test, and deploy new workflow applications that improve productivity and quality in a short period of time. One of the core needs of these companies is an automatic software development method that can save as much time and cost as possible when developing software needed for the company's workflow applications. It is widely known that the coding method of the program required for automatic software development is to save time and cost by choosing a low coding or no coding method from the existing developer's manual coding method. These low-coding or no-coding methods are a type of program automatic coding method and are emerging as the core of automatic software development methods.

프로그램 자동 코딩 방식으로서, 대한민국 공개특허번호 제10-2014-0052459호(공개일: 2014년05월07일)의 ODBC(Open Database Connectivity) 프로그램 자동 코딩 방법이 공개되어 있다. As a program automatic coding method, the ODBC (Open Database Connectivity) program automatic coding method is disclosed in Korean Patent Publication No. 10-2014-0052459 (publication date: May 7, 2014).

상기 공개발명은, 종래 기술에 따른 ODBC 프로그램 코딩 과정 모두는 수작업으로 이루어지기 때문에 먼저, ODBC 프로그래밍의 코딩이 복잡해지는 문제점과, ODBC 프로그래밍의 코딩에 많은 시간이 소요되고, ODBC 프로그래밍 의 코딩시 개발자 실수로 인한 오류가 발생할 가능성이 높으며, ODBC 프로그래밍의 코딩 오류시 오류 발생 부분을 찾기가 어려운 문제점을 감안하여, ODBC 프로그래밍시, 데이터베이스의 구조체와 SQL쿼리문을 사용하여 ODBC 프로그래밍 코딩과정을 자동화하는 방식을 통하여 코딩 시간을 줄여 개발기간을 단축하고, 코딩시 오류의 발생을 방지할 수 있도록 한 ODBC 프로그램 자동 코딩 방법에 있어서, 데이터베이스에 저장할 데이터의 타입과 길이를 선언하기 위한 헤더 파일을 코딩하는 데이터베이스 테이블 구조체 선언 코딩단계; 상기 데이터베이스 테이블 구조체 선언을 코딩한 파일을 입력 파일로 하여 코딩 자동화를 위한 선언문을 쉽게 작성하기 위한 소스 코드 파일을 생성하는 제1 코딩 자동화 단계; 상기 생성된 소스 코드 파일을 이용하여 2차 코딩 자동화를 위한 선언문 파일을 작성하는 단계; 상기 작성된 선언문 파일들을 입력 파일들로 하여 새로운 코딩 자동화를 위한 결과 파일들을 실행하는 제2 코딩 자동화 단계를 포함하는 구성이다. In the above disclosed invention, since all ODBC program coding processes according to the prior art are performed manually, first, there are problems in that coding of ODBC programming becomes complicated, coding of ODBC programming takes a lot of time, and developer mistakes occur when coding of ODBC programming. Considering the high possibility of errors occurring due to ODBC programming coding errors and the difficulty in finding the part where the error occurred, a method of automating the ODBC programming coding process using database structures and SQL query statements is adopted during ODBC programming. In the ODBC program automatic coding method that reduces the development period by reducing coding time and prevents errors during coding, a database table structure is used to code a header file to declare the type and length of data to be stored in the database. Declaration coding stage; A first coding automation step of generating a source code file for easily creating a declaration for coding automation by using the file coding the database table structure declaration as an input file; Creating a declaration file for secondary coding automation using the generated source code file; It is a configuration that includes a second coding automation step of executing result files for new coding automation using the written declaration files as input files.

또한, 특정 용도 소프트웨어 개발 플랫폼에 관한 발명으로, 대한민국 공개특허번호 제10-2019-0044981호(공개일: 2019년05월02일)의 전력 소프트웨어 개발 플랫폼의 발명이 공개되어 있다. In addition, as an invention related to a specific-purpose software development platform, the invention of a power software development platform disclosed in Republic of Korea Patent Publication No. 10-2019-0044981 (publication date: May 2, 2019).

상기 공개발명은, 소프트웨어 플랫폼 요소 기술이 중복 개발되고 있으며, 기술 공유가 곤란한 상황이고, 개별적 으로 구축된 ICT 인프라는 시스템의 이용자 또는 사업의 규모가 축소되더라도 구축 시점의 인프라를 그대로 유 지해야 하는 문제점이 있어서 인프라의 이용률이 낮아지고, 비용이 상승하는 원인이 될 수 있는 점을 감안하여, 복수의 전력설비에 각각 설치된 복수의 통신장치에 대해 접속환경을 제공하는 플랫폼 어댑터; 상기 복수의 통신 장치가 연계된 복수의 전력시스템을 통해 데이터를 수집하는 플랫폼 게이트웨이; 상기 플랫폼 게이트웨이에 의해 수집된 데이터에 대한 배포 서비스를 제공하는 플랫폼 인터페이스; 상기 배포 서비스를 통해 데이터를 전달 받고 전달받은 데이터를 검증하고 어플리케이션 개발자에 의해 검증된 데이터에 대한 접근환경을 제공하는 플랫폼 데이터 허브; 복수의 물리적 분석엔진을 추상화된 서비스 형태로 변환하여 상기 어플리케이션 개발자에 대해 제공하는 분석 추상화 서비스; 및 상기 어플리케이션 개발자로부터 어플리케이션을 제공받고 어플리케이션 사용자에 대해 어플리케이션을 제공하는 어플리케이션 게이트웨이; 를 포함하는 발명이 개시되어 있다. In the above disclosed invention, software platform element technologies are being developed overlappingly, technology sharing is difficult, and individually constructed ICT infrastructure has the problem of maintaining the infrastructure at the time of construction even if the users of the system or the scale of the business are reduced. Considering that this may cause the utilization rate of infrastructure to decrease and costs to increase, a platform adapter that provides a connection environment for a plurality of communication devices each installed in a plurality of power facilities; a platform gateway that collects data through a plurality of power systems to which the plurality of communication devices are linked; a platform interface that provides distribution services for data collected by the platform gateway; A platform data hub that receives data through the distribution service, verifies the received data, and provides an access environment for data verified by the application developer; An analysis abstraction service provided to the application developer by converting a plurality of physical analysis engines into an abstracted service form; and an application gateway that receives the application from the application developer and provides the application to the application user. An invention including is disclosed.

또한, 대한민국 공개특허번호 제10-2019-0075508호(공개일: 2019년07월01일)의 가상화 시스템상에서 임베디드 소프트웨어를 자동으로 생성하는 방법 및 컴퓨팅 시스템의 발명이 공개되어 있다. In addition, the invention of a method and computing system for automatically generating embedded software on a virtualization system is disclosed in Republic of Korea Patent Publication No. 10-2019-0075508 (publication date: July 1, 2019).

상기 공개발명은, 웹 기반으로 접속 가능한 클라우드 개발 환경 상에서 사용자가 소스 코드를 편집할 수 있는 사용자 인터페이스용 툴을 제공하는 단계; 제1 가상 시스템 상에서 상기 사용자 인터페이스용 툴을 이용하여 편집된 상기 소스 코드에 대한 시뮬레이션을 실행하고, 상기 소스 코드에 대한 상기 시뮬레이션 결과를 상기 사용 자 인터페이스용 툴을 이용하여 상기 사용자에게 피드백하는 단계; 타겟 보드에서 임베디드 소프트웨어를 동작 시키기 위한 운영 체제에 기반하여 미리 생성한 프리빌드 소프트웨어를 제2 가상 시스템 상에서 제공하는 단계; 및 상기 소스 코드를 상기 타겟 보드에 대하여 미리 생성한 상기 프리빌드 소프트웨어와 결합하여 상기 타겟 보드에서 실행할 수 있는 바이너리 결과물을 제2 가상 시스템 상에서 생성하는 단계를 포함하는 구성이다. The disclosed invention includes the steps of providing a user interface tool that allows a user to edit source code in a web-based cloud development environment; Running a simulation of the source code edited using the user interface tool on a first virtual system, and feeding back the simulation results of the source code to the user using the user interface tool; providing prebuilt software created in advance based on an operating system for operating embedded software on a target board on a second virtual system; and combining the source code with the prebuilt software previously created for the target board to generate a binary result that can be executed on the target board on a second virtual system.

상기 첫번째 공개발명은 기업의 소프트웨어를 자동으로 코딩하여, 수작업에 의한 코딩에 따른 비경제성을 제거하기 위한 발명이고, 두번째 공개발명은 전력 관련 다양한 소프트웨어를 통합하여 개발하기 위한 플랫폼에 관한 발명이고, 세번째 공개발명은 소프트웨어 개발 인터페이스를 클라우드 환경에서 사용자에게 제공하여 소프트웨어를 개발하고자 하는 발명에 관한 것이다. The first disclosed invention is an invention to automatically code a company's software to eliminate the inefficiency of manual coding, the second disclosed invention is an invention regarding a platform for integrating and developing various power-related software, and the third is A public invention relates to an invention that seeks to develop software by providing a software development interface to users in a cloud environment.

그러나 상기 공개발명들은 코딩을 자동으로 생성하고, 다양한 워크플로우를 통합된 플랫폼에서 개발하고, 클라우드 환경에서 개발 인터페이스를 제공할 뿐, 프로젝트에 대한 전체 코드 생성이나 상호작용을 통한 코드 개발 운영에는 어려움이 있었다.However, the above disclosed inventions only automatically generate coding, develop various workflows on an integrated platform, and provide a development interface in a cloud environment, but it is difficult to generate the entire code for the project or operate code development through interaction. there was.

본 발명의 일측면은 대화용 챗봇에 기반하여 상호작용이 가능한 AI 코드 생성 시스템을 개시한다.One aspect of the present invention discloses an interactive AI code generation system based on a chatbot for conversation.

본 발명의 기술적 과제는 이상에서 언급한 기술적 과제로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.The technical problem of the present invention is not limited to the technical problem mentioned above, and other technical problems not mentioned will be clearly understood by those skilled in the art from the description below.

본 발명의 시스템은 대화용 챗봇을 이용하여 개발자와의 상호작용으로 개발 내용을 설정하고, 개발 내용에 대한 코드를 생성하는 제어 서버;를 포함한다.The system of the present invention includes a control server that sets development content through interaction with a developer using a chatbot for conversation and generates code for the development content.

한편, 상기 제어 서버는, 대화형 챗봇을 통해 개발자로부터 소프트웨어에서 구현하고자 하는 적어도 하나 이상의 기능에 대한 메시지를 수신하고, 개발자로부터 수신한 메시지를 분석하여 개발 프로젝트를 생성하고, 소프트웨어서 각 기능을 수행하기 위한 적어도 하나 이상의 하위 폴더를 생성하여 멀티 파일을 생성하는 멀티 파일 생성부; 개발자로부터 상기 멀티 파일 생성부에서 생성한 개발 프로젝트에 포함시킬 추가 기능에 대한 메시지를 수신하고, 대화형 챗봇을 통해 상기 추가 기능에 대한 역질문을 전송하여 상기 추가 기능에 대한 세부 기능을 설정하는 추가 기능 설정부; 및 코드 생성 인공지능 신경망을 이용하여 상기 멀티 파일 생성부 및 상기 추가 기능 설정부에서 생성한 개발 프로젝트에 대한 코드를 생성하는 코드 생성부;를 포함할 수 있다.Meanwhile, the control server receives messages about at least one function to be implemented in the software from the developer through an interactive chatbot, analyzes the messages received from the developer, creates a development project, and performs each function in the software. a multi-file creation unit that generates a multi-file by creating at least one subfolder to do so; An additional function that receives a message from a developer about additional functions to be included in the development project created by the multi-file creation unit and sets detailed functions for the additional functions by sending a reverse question about the additional functions through an interactive chatbot. Function setting unit; and a code generation unit that generates code for the development project created by the multi-file generation unit and the additional function setting unit using a code generation artificial intelligence neural network.

한편, 상기 멀티 파일 생성부는, 개발자 별로 대화용 챗봇을 통한 코드 생성 이력을 저장하여 개발자 별 메시지의 평균 길이, 개발자가 자주 사용하는 적어도 하나 이상의 식별 단어 및 챗봇 대화에서 개발자가 식별 단어를 사용하는 개수를 추출하고, 대화용 챗봇 실행 전에 개발자 정보를 요청하여 수신하고, 아래 수학식 1을 통해 개발자의 대화용 챗봇을 통한 대화 메시지를 분석하여 전송 메시지 유사도를 산출하고, Meanwhile, the multi-file generator stores the code generation history through the conversation chatbot for each developer to determine the average length of the message for each developer, at least one identification word frequently used by the developer, and the number of identification words used by the developer in the chatbot conversation. Extract, request and receive developer information before executing the conversation chatbot, analyze the conversation message through the developer's conversation chatbot through Equation 1 below, and calculate the transmission message similarity,

[수학식 1][Equation 1]

(수학식 1에서 mab는 전송 메시지 유사도이고, Ma는 현재 대화에서 개발자가 전송하는 메시지의 평균 길이, Ma'는 현재 대화에 포함되는 개발자 식별 단어의 개수, Mb는 개발자의 전송 메시지의 평균 길이, Mb'는 개발자가 챗봇 대화에서 사용하는 식별 단어의 개수를 의미한다.)(In Equation 1, m ab is the transmitted message similarity, M a is the average length of the message transmitted by the developer in the current conversation, M a ' is the number of developer-identified words included in the current conversation, and M b is the transmitted message of the developer The average length of, M b 'means the number of identifying words that developers use in chatbot conversations.)

상기 전송 메시지 유사도에 따라 현재 대화용 챗봇에 참여하는 개발자가 개발자 정보에 해당하는 개발자인지에 대한 인증을 수행하되, 상기 전송 메시지 유사도가 0.5 이상인 경우에 한하여 개발자 인증을 승인하고, 상기 전송 메시지 유사도가 0.5 미만인 경우 대화용 챗봇의 실행을 일시 중지하고 이메일 인증 또는 모바일 인증을 통한 추가 인증을 수행한 뒤, 개발자 인증이 승인된 경우 대화용 챗봇을 재실행할 수 있다.According to the transmission message similarity, authentication is performed as to whether the developer currently participating in the conversation chatbot is the developer corresponding to the developer information. Developer authentication is approved only when the transmission message similarity is 0.5 or more, and the transmission message similarity is 0.5 or more. If it is less than 0.5, the execution of the conversation chatbot can be paused, additional authentication is performed through email authentication or mobile authentication, and the conversation chatbot can be re-run if developer authentication is approved.

상술한 본 발명의 일 측면에 따르면, 대화형 챗봇을 이용하여 개발자와의 상호작용으로 개발 내용을 확정하고, 코드 생성 인공지능 신경망을 이용하여 그에 알맞은 코드를 생성함으로써, 고품질의 IT 서비스를 개발자 없이 개발할 수 있다는 점에서 기존의 개발 방식과 비교하였을 때 시간과 비용을 절감할 수 있다는 유리한 효과를 갖는다.According to one aspect of the present invention described above, the development content is confirmed through interaction with the developer using an interactive chatbot, and an appropriate code is generated using a code generation artificial intelligence neural network, thereby providing high quality IT services without a developer. In that it can be developed, it has the advantage of saving time and cost compared to existing development methods.

도 1은 본 발명의 일 실시예에 따른 시스템의 개념도이다.
도 2는 본 발명의 일 실시예에 따른 제어 서버의 개념도이다.
1 is a conceptual diagram of a system according to an embodiment of the present invention.
Figure 2 is a conceptual diagram of a control server according to an embodiment of the present invention.

본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다. The advantages and features of the present invention and methods for achieving them will become clear by referring to the embodiments described in detail below along with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below and will be implemented in various different forms. The present embodiments only serve to ensure that the disclosure of the present invention is complete and that common knowledge in the technical field to which the present invention pertains is not limited. It is provided to fully inform those who have the scope of the invention, and the present invention is only defined by the scope of the claims. Like reference numerals refer to like elements throughout the specification.

본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소, 단계 및 동작은 하나 이상의 다른 구성요소, 단계 및 동작의 존재 또는 추가를 배제하지 않는다.The terminology used herein is for describing embodiments and is not intended to limit the invention. As used herein, singular forms also include plural forms, unless specifically stated otherwise in the context. As used in the specification, “comprises” and/or “comprising” does not exclude the presence or addition of one or more other components, steps and operations.

도 1은 본 발명의 일 실시예에 따른 시스템의 개념도이다.1 is a conceptual diagram of a system according to an embodiment of the present invention.

도 1을 참조하면, 본 발명의 일 실시예에 따른 시스템(1)은 제어 서버(100) 및 이동 단말(200)을 포함할 수 있다.Referring to FIG. 1, a system 1 according to an embodiment of the present invention may include a control server 100 and a mobile terminal 200.

제어 서버(100)는 본 발명에 따른 대화용 챗봇 기반 AI 코드 생성 서비스를 제공할 수 있다.The control server 100 can provide a conversation chatbot-based AI code generation service according to the present invention.

제어 서버(100)는 본 발명에 따른 서비스를 제공하기 위한 자체 서버이거나 클라우드 서버일 수도 있고 분산된 노드들의 p2p(peer-to-peer) 집합일 수 있다.The control server 100 may be its own server, a cloud server, or a p2p (peer-to-peer) set of distributed nodes for providing the service according to the present invention.

제어 서버(100)는 일반적인 컴퓨터가 갖는 연산, 저장, 참조, 입출력, 제어 기능 중 어느 하나 이상을 수행할 수 있고, 입력 데이터를 바탕으로 후술할 인공 신경망을 포함할 수 있다.The control server 100 may perform one or more of the calculation, storage, reference, input/output, and control functions of a general computer, and may include an artificial neural network to be described later based on input data.

제어 서버(100)는 프로세서 및 메모리를 포함할 수 있다. 프로세서는 본 발명에 따른 대화용 챗봇 기반 AI 코드 생성 서비스를 수행할 수 있고, 이를 수행할 수 있는 장치들을 포함할 수 있다. 프로세서는 프로그램을 실행하거나 제어 서버(100)를 제어할 수도 있다. 프로세서에 의해 실행되는 프로그램 코드는 메모리에 저장될 수 있다. 메모리는 본 발명에 따른 서비스를 수행하기 위한 관련 정보들을 저장하거나 방법을 구현하기 위한 프로그램을 저장할 수 있다. 메모리는 휘발성 메모리거나 비휘발성 메모리일 수 있다.Control server 100 may include a processor and memory. The processor may perform the conversation chatbot-based AI code generation service according to the present invention, and may include devices capable of performing this. The processor may execute a program or control the control server 100. Program code executed by the processor may be stored in memory. The memory may store related information for performing a service according to the present invention or a program for implementing a method. The memory may be volatile memory or non-volatile memory.

제어 서버(100)는 네트워크를 이용하여 외부 장치에 데이터를 발신하거나 외부 장치로부터 데이터를 수신할 수 있다.The control server 100 may send data to or receive data from an external device using a network.

제어 서버(100)는 인공 신경망을 학습시킬 수 있고, 학습이 완료된 인공 신경망을 이용할 수도 있다. 프로세서는 메모리에 저장된 인공 신경망을 학습시키거나 실행할 수 있고, 메모리는 학습 완료된 인공 신경망을 저장할 수 있다. 인공 신경망을 학습시키는 전자 장치와 이용하는 전자 장치는 동일할 수 있지만 별개일 수도 있다. The control server 100 can train an artificial neural network or use a trained artificial neural network. The processor can train or execute an artificial neural network stored in memory, and the memory can store a trained artificial neural network. The electronic device that trains the artificial neural network and the electronic device that uses it may be the same, but may also be separate.

인공지능은 인간의 뇌의 기능을 일부 구현한 컴퓨터 시스템으로, 스스로 학습하고 추측하고 판단할 수 있다. 학습을 진행할수록 답을 추출할 확률이 높아질 수 있다. 인공지능은 학습과 그것을 이용한 요소 기술들로 구성될 수 있다. 인공지능의 학습은 입력 데이터를 바탕으로 특징을 분류와 학습을 하는 알고리즘 기술이고, 요소 기술들은 학습 알고리즘을 이용하여 인간의 뇌의 기능을 일부 구현하는 기술일 수 있다.Artificial intelligence is a computer system that implements some of the functions of the human brain and can learn, guess, and make decisions on its own. As learning progresses, the probability of extracting an answer may increase. Artificial intelligence can be composed of learning and elemental technologies using it. Artificial intelligence learning is an algorithmic technology that classifies and learns features based on input data, and elemental technologies may be technologies that implement some of the functions of the human brain using learning algorithms.

인공지능은 확률적으로 여러 답이 나올 수 있는 문제에 접근하기 쉬운 기술로써 어떠한 입력 데이터에 따르는 최적의 주기와 방법, 계획 등을 논리적이고 확률적으로 추론할 수 있다. 인공지능의 추론 기술은 입력 데이터를 판단하고 최적화 예측, 지식과 확률 기반 추론, 선호 기반 계획 등을 포함할 수 있다.Artificial intelligence is a technology that makes it easy to approach problems that can have multiple answers probabilistically, and can logically and probabilistically infer the optimal cycle, method, and plan according to any input data. Artificial intelligence's inference technology can include judging input data, optimization predictions, knowledge and probability-based reasoning, and preference-based planning.

인공신경망은 기계학습 분야의 학습 알고리즘 중 하나로 뇌의 뉴런과 시냅스의 연결을 프로그램으로 구현한 것이다. 인공신경망은 프로그램으로 신경망의 구조를 만든 다음 학습시켜 원하는 기능을 가지게 할 수 있다. 오차가 존재할 수 있지만 거대한 데이터를 바탕으로 학습하여 입력 데이터를 가지고 적절한 출력 데이터를 출력할 수 있다. 통계적으로 좋은 결과를 얻었던 출력 데이터를 획득할 수 있고 인간의 추론과 유사하다는 장점이 있다.Artificial neural network is one of the learning algorithms in the machine learning field and is a program that implements the connection between neurons and synapses in the brain. Artificial neural networks can be created through a program to create a neural network structure and then learn it to have the desired function. Although there may be errors, it is possible to learn based on huge data and output appropriate output data with input data. It has the advantage of being able to obtain output data with statistically good results and being similar to human reasoning.

인공지능 챗봇 (chatbot)은 인공지능 챗봇 API 제공 플랫폼을 기반으로 하며, 인공지능 챗봇 API 제공 플랫폼의 종류는 예를 들면, IBM Watson AI API, SK 에이브릴 등이 있고, 대화 서비스(Conversation), 자연어 이해 서비스(Natural Language Understanding), 자연어 분류 서비스(Natural Language Classifier)등의 애플리케이션 프로그램 인터페이스(API)를 포함한다. Artificial intelligence chatbot (chatbot) is based on an artificial intelligence chatbot API providing platform. Types of artificial intelligence chatbot API providing platforms include, for example, IBM Watson AI API, SK Avril, conversation service (Conversation), and natural language understanding. It includes application program interfaces (APIs) such as services (Natural Language Understanding) and natural language classification services (Natural Language Classifier).

본 실시예에서 사용하는 인공지능 챗봇 API 제공 플랫폼의 종류는 제한되지 않으며, 다양한 인공지능 챗봇 API 제공 플랫폼을 사용하는 것이 가능하다. The type of artificial intelligence chatbot API providing platform used in this embodiment is not limited, and it is possible to use a variety of artificial intelligence chatbot API providing platforms.

본 실시예에 따른 대화형 챗봇 기반 AI 코드 생성 시스템은 인공지능 챗봇 API 제공 플랫폼을 기반으로 소프트웨어 개발에 대하여 상호작용함으로써 기능의 세부내용을 결정하여 멀티 파일을 생성할 수 있으며, 인공지능 신경망을 통해 멀티 파일에 대한 코드를 생성할 수 있다.The interactive chatbot-based AI code generation system according to this embodiment can determine the details of the function and generate multi-files by interacting with software development based on the artificial intelligence chatbot API providing platform, and can generate multi-files through an artificial intelligence neural network. You can generate code for multiple files.

네트워크는 대용량, 장거리 음성 및 데이터 서비스가 가능한 대형 통신망의 고속 기간 망인 통신망이며, 인터넷(Internet) 또는 고속의 멀티미디어 서비스를 제공하기 위한 차세대 유선 및 무선 망일 수 있다. The network is a communication network that is a high-speed backbone network of a large communication network capable of high-capacity, long-distance voice and data services, and may be a next-generation wired or wireless network to provide the Internet or high-speed multimedia services.

네트워크가 이동통신망일 경우 동기식 이동 통신망일 수도 있고, 비동기식 이동 통신망일 수도 있다. 비동기식 이동 통신망의 일 실시 예로서, WCDMA(Wideband Code Division Multiple Access) 방식의 통신망을 들 수 있다. 이 경우 도면에 도시되진 않았지만, 네트워크는 RNC(Radio Network Controller)을 포함할 수 있다. 한편, WCDMA망을 일 예로 들었지만, 3G LTE망, 4G망 그 밖의 5G 등 차세대 통신망, 그 밖의 IP를 기반으로 한 IP망일 수 있다. If the network is a mobile communication network, it may be a synchronous mobile communication network or an asynchronous mobile communication network. An example of an asynchronous mobile communication network may be a WCDMA (Wideband Code Division Multiple Access) type communication network. In this case, although not shown in the drawing, the network may include an RNC (Radio Network Controller). Meanwhile, although the WCDMA network was used as an example, it can be a 3G LTE network, a 4G network, other next-generation communication networks such as 5G, and other IP-based IP networks.

이동 단말(200)은 데스크탑 컴퓨터, 랩탑, 태블릿, 스마트폰 등 네트워크를 통해 데이터를 주고받을 수 있는 단말이면 모두 포함될 수 있다.The mobile terminal 200 may include any terminal that can send and receive data through a network, such as a desktop computer, laptop, tablet, or smartphone.

이동 단말(200)은 본 발명에 따른 서비스를 수행하기 위하여 컴퓨터가 가지는 연산 기능, 저장 기능, 참조 기능, 입출력 기능, 제어 기능 중 어느 하나 이상을 포함할 수 있다.The mobile terminal 200 may include one or more of the calculation function, storage function, reference function, input/output function, and control function of a computer in order to perform the service according to the present invention.

이동 단말(200)은 본 발명에 따른 서비스를 제공받기 위하여 웹사이트에 접속하거나 애플리케이션을 설치할 수 있다. 이동 단말(200)은 웹사이트 또는 애플리케이션을 통하여 데이터를 주고받을 수 있다.The mobile terminal 200 can access a website or install an application to receive services according to the present invention. The mobile terminal 200 can exchange data through a website or application.

이와 같은 본 발명의 일 실시예에 따른 시스템(1)은 대화형 챗봇을 이용하여 개발자와의 상호작용으로 개발 내용을 확정하고, 코드 생성 인공지능 신경망을 이용하여 그에 알맞은 코드를 생성함으로써, 고품질의 IT 서비스를 개발자 없이 개발할 수 있다는 점에서 기존의 개발 방식과 비교하였을 때 시간과 비용을 절감할 수 있다는 유리한 효과를 갖는다.The system (1) according to an embodiment of the present invention uses an interactive chatbot to confirm development details through interaction with the developer, and generates appropriate code using a code generation artificial intelligence neural network to create high-quality In that IT services can be developed without developers, it has the advantage of saving time and costs compared to existing development methods.

도 2는 본 발명의 일 실시예에 따른 제어 서버의 개념도이다.Figure 2 is a conceptual diagram of a control server according to an embodiment of the present invention.

도 2를 참조하면, 본 발명의 일 실시예에 따른 제어 서버(100)는 멀티 파일 생성부(110), 추가 기능 설정부(120) 및 코드 생성부(130)를 포함할 수 있다.Referring to FIG. 2, the control server 100 according to an embodiment of the present invention may include a multi-file creation unit 110, an additional function setting unit 120, and a code generation unit 130.

멀티 파일 생성부(110)는 대화형 챗봇에 기반한 개발자와의 상호작용을 통해 소프트웨어 개발 프로젝트를 생성하고, 소프트웨어에서 구현하고자 하는 적어도 하나 이상의 기능을 수행하기 위한 멀티 파일을 생성할 수 있다.The multi-file creation unit 110 can create a software development project through interaction with a developer based on an interactive chatbot and generate multi-files to perform at least one function to be implemented in the software.

인공지능 챗봇 (chatbot)은 인공지능 챗봇 API 제공 플랫폼을 기반으로 하며, 인공지능 챗봇 API 제공 플랫폼의 종류는 예를 들면, IBM Watson AI API, SK 에이브릴 등이 있고, 대화 서비스(Conversation), 자연어 이해 서비스(Natural Language Understanding), 자연어 분류 서비스(Natural Language Classifier)등의 애플리케이션 프로그램 인터페이스(API)를 포함한다. Artificial intelligence chatbot (chatbot) is based on an artificial intelligence chatbot API providing platform. Types of artificial intelligence chatbot API providing platforms include, for example, IBM Watson AI API, SK Avril, conversation service (Conversation), and natural language understanding. It includes application program interfaces (APIs) such as services (Natural Language Understanding) and natural language classification services (Natural Language Classifier).

본 실시예에서 사용하는 인공지능 챗봇 API 제공 플랫폼의 종류는 제한되지 않으며, 다양한 인공지능 챗봇 API 제공 플랫폼을 사용하는 것이 가능하다. The type of artificial intelligence chatbot API providing platform used in this embodiment is not limited, and it is possible to use a variety of artificial intelligence chatbot API providing platforms.

멀티 파일 생성부(110)는 대화형 챗봇을 통해 개발자로부터 소프트웨어에서 구현하고자 하는 적어도 하나 이상의 기능에 대한 메시지를 수신할 수 있다.The multi-file creation unit 110 may receive a message about at least one function to be implemented in software from a developer through an interactive chatbot.

멀티 파일 생성부(110)는 대화형 챗봇을 통해 개발자로부터 수신한 메시지를 분석하여 프로젝트를 생성하고, 소프트웨어에서 각 기능을 수행하기 위한 적어도 하나 이상의 하위 폴더를 생성하여 멀티 파일을 생성할 수 있다.The multi-file creation unit 110 can create a project by analyzing a message received from a developer through an interactive chatbot, and create a multi-file by creating at least one subfolder to perform each function in the software.

예를 들면, 멀티 파일 생성부(110)는 대화형 챗봇을 통해 개발자가 작성한 메시지를 기반으로 "Simple Shopping Mall"이라는 개발 프로젝트를 생성할 수 있으며, "auto", "config", "user", migrations", "venv" 등의 모델, 테스트 파일, 뷰 파일 등을 유기적으로 생성할 수 있다.For example, the multi-file creation unit 110 can create a development project called “Simple Shopping Mall” based on a message written by a developer through an interactive chatbot, and includes “auto”, “config”, “user”, Models such as “migrations” and “venv”, test files, view files, etc. can be created organically.

추가 기능 설정부(120)는 개발자로부터 통해 멀티 파일 생성부(110)에서 생성한 개발 프로젝트에 포함시킬 추가 기능에 대한 메시지를 수신할 수 있으며, 대화형 챗봇을 통해 추가 기능에 대한 역질문을 전송하여 추가 기능에 대한 세부 기능을 설정할 수 있다.The additional function setting unit 120 can receive a message from the developer about additional functions to be included in the development project created by the multi-file creation unit 110, and sends a reverse question about the additional functions through an interactive chatbot. You can set detailed functions for additional features.

예를 들면, 추가 기능 설정부(120)는 개발자로부터 "회원가입 시 이메일 인증"이라는 추가 기능에 대한 메시지를 수신할 수 있으며, 대화형 챗봇을 통해 "이메일 링크를 전달하여 클릭하면 되는지, 성공했을 때 반응, 실패했을 때 반응, 이메일 인증 전까지 로그인 가능 여부, 이메일 유효 기능"등에 대한 역질문을 제공하고, 역질문에 대한 답변 메시지를 수신하여 추가 기능에 대한 세부 기능들을 설정할 수 있다.For example, the additional function setting unit 120 may receive a message about an additional function called “email authentication when signing up” from the developer, and through an interactive chatbot, it may ask “Can I just forward the email link and click it?” It provides reverse questions about “response, reaction when failure, whether you can log in until email authentication, email validity functions,” etc., and by receiving a response message to the reverse question, you can set detailed functions for additional functions.

추가 기능 설정부(120)는 설정한 추가 기능을 수행하기 위한 적어도 하나 이상의 하위 폴더를 생성하여 개발 프로젝트에 추가할 수 있다.The additional function setting unit 120 may create at least one subfolder to perform the set additional function and add it to the development project.

코드 생성부(130)는 코드 생성 인공지능 신경망을 이용하여 멀티 파일 생성부(110) 및 추가 기능 설정부(120)에서 생성한 개발 프로젝트에 대한 코드를 생성할 수 있다.The code generation unit 130 may generate code for the development project created by the multi-file generation unit 110 and the additional function setting unit 120 using a code generation artificial intelligence neural network.

코드 생성부(130)는 코드 생성을 위한 인공지능 신경망을 포함할 수 있다. The code generator 130 may include an artificial intelligence neural network for code generation.

본 실시예에서 코드 생성부(130)는 기계 학습 알고리즘의 수행을 위하여 미리 학습된 다수의 인공 신경망을 포함할 수 있다. 기계 학습으로 입력 데이터를 바탕으로 출력 데이터를 출력하고 이것의 결과를 이용해 스스로 학습할 수도 있고 이로 인해 스스로 데이터 처리 능력이 향상될 수 있다. 인공 신경망은 입력 데이터를 바탕으로 특징을 추출하고 규칙성을 추측하여 결과데이터를 출력할 수 있고 이러한 과정이 쌓일수록 결과 데이터의 신뢰도가 높아지게 된다.In this embodiment, the code generator 130 may include a plurality of pre-trained artificial neural networks to perform a machine learning algorithm. With machine learning, you can output output data based on input data and use the results to learn on your own, which can improve your own data processing ability. Artificial neural networks can extract features based on input data, infer regularities, and output result data. As this process accumulates, the reliability of the result data increases.

본 실시예에서 인공 신경망은 개발 프로젝트에 대하여 코드를 출력하는 알고리즘일 수 있다. 인공 신경망은 빅데이터를 그대로 입력 데이터로 하거나 불필요한 데이터를 정리하는 처리 과정을 거친 후 입력 데이터로 하여 최상의 출력 데이터를 추론할 수 있다.In this embodiment, the artificial neural network may be an algorithm that outputs code for a development project. Artificial neural networks can infer the best output data using big data as input data or after going through a processing process to organize unnecessary data.

인공지능 기계 학습 모델은 학습 종류에 따라 Super Viser Learning(지도학습), UnSuper Viser Learning(비지도 학습), Semisupervised learning(반지도 학습), Reinforcement Learning(강화 학습) 등이 있다. 그리고 기계 학습 알고리즘으로 Decision Tree(의사 결정 트리), K-Nearest Neightbor, Artificial Neural Network(인공 신경망), Support Vector Machine, Ensemble Learning, Gradient Descent(기울기 하강법), Na

Figure 112023114887941-pat00002
ve Bayes Classifier, Hidden Markov Model, K-Means Clustering 등이 사용될 수 있다.Depending on the type of learning, artificial intelligence machine learning models include Super Viser Learning, UnSuper Viser Learning, Semisupervised Learning, and Reinforcement Learning. And machine learning algorithms include Decision Tree, K-Nearest Nearest Bor, Artificial Neural Network, Support Vector Machine, Ensemble Learning, Gradient Descent, Na
Figure 112023114887941-pat00002
ve Bayes Classifier, Hidden Markov Model, K-Means Clustering, etc. can be used.

인공 신경망은 수많은 인공 뉴런들을 몇 개의 층으로 쌓고 연결할 수 있다. 인공 신경망은 입력 데이터에 포함될 수 있는 여러 입력 값들에 대해 미리 학습된 상태일 수 있다. 인공 신경망은 사용자가 입력하는 데이터에 따른 취약 부분을 추론하여 출력 데이터를 출력할 수 있다.Artificial neural networks can stack and connect numerous artificial neurons in several layers. The artificial neural network may be pre-trained on various input values that may be included in the input data. Artificial neural networks can infer weak points according to data input by the user and output output data.

인공 신경망은 학습방식 중 하나인 reinforcement learning(강화 학습)에 따라 학습되는 인공 신경망일 수 있다. 강화 학습은 보수와 제한을 설정하여 점차 올바른 결과를 획득할 확률을 올려가는 방식이다. An artificial neural network may be an artificial neural network that is learned according to reinforcement learning, one of the learning methods. Reinforcement learning is a method of gradually increasing the probability of obtaining the correct result by setting rewards and limits.

인공 신경망은 Convelutional Neural Network(CNN, 합성곱 신경망)이나 Recurrent Neural Network(RNN, 순환 신경망)에 기반하여 모델링될 수도 있다.Artificial neural networks can also be modeled based on Convelutional Neural Network (CNN) or Recurrent Neural Network (RNN).

한편, 멀티 파일 생성부(110)는 개발자의 대화용 챗봇을 통한 상호작용을 분석하여 개발자 인증을 수행할 수 있다.Meanwhile, the multi-file creation unit 110 can perform developer authentication by analyzing the developer's interaction through the conversation chatbot.

예를 들면, 멀티 파일 생성부(110)는 대화용 챗봇 실행 전에 개발자 정보를 요청하여 수신할 수 있으며, 개발자 정보에 해당하는 개발자가 실제로 대화용 챗봇에 참여하는 개발자인지 여부를 인증할 수 있다.For example, the multi-file generator 110 may request and receive developer information before executing the chatbot for conversation, and may authenticate whether the developer corresponding to the developer information is actually a developer participating in the chatbot for conversation.

예를 들면, 멀티 파일 생성부(110)는 아래 수학식 1을 이용하여 개발자의 전송 메시지 유사도를 산출할 수 있다. 멀티 파일 생성부(110)는 개발자 별로 대화용 챗봇을 통한 코드 생성 이력을 저장 및 분석할 수 있으며, 개발자 별 메시지의 평균 길이, 개발자가 자주 사용하는 적어도 하나 이상의 식별 단어 및 챗봇 대화에서 개발자가 식별 단어를 사용하는 개수 등을 추출하여 개발자 식별 정보로 저장할 수 있다.For example, the multi-file generator 110 can calculate the similarity of the developer's transmitted message using Equation 1 below. The multi-file creation unit 110 can store and analyze the code creation history through the conversation chatbot for each developer, the average length of the message for each developer, at least one identification word frequently used by the developer, and the developer's identification in the chatbot conversation. The number of words used can be extracted and stored as developer identification information.

[수학식 1][Equation 1]

수학식 1에서 mab는 전송 메시지 유사도이고, Ma는 현재 대화에서 개발자가 전송하는 메시지의 평균 길이, Ma'는 현재 대화에 포함되는 개발자 식별 단어의 개수, Mb는 개발자의 전송 메시지의 평균 길이, Mb'는 개발자가 챗봇 대화에서 사용하는 식별 단어의 개수를 의미한다.In Equation 1, m ab is the transmitted message similarity, M a is the average length of the message transmitted by the developer in the current conversation, M a ' is the number of developer identification words included in the current conversation, and M b is the length of the developer's transmitted message. The average length, M b ', refers to the number of identifying words that developers use in chatbot conversations.

예를 들면, Ma=53, Ma'=5, Mb=73, Mb'=6인 경우, mab=1로 산출될 수 있으며, 이와 같은 경우, 개발자 인증을 승인할 수 있다. 이때, 멀티 파일 생성부(110)는 전송 메시지 유사도가 0.5 이상인 경우에 한하여 개발자 인증을 승인할 수 있으며, 전송 메시지 유사도가 0.5 미만인 경우에는 대화용 챗봇의 실행을 일시 중지하고 이메일 인증, 모바일 인증 등의 추가 인증을 수행한 뒤, 개발자 인증이 승인된 경우 대화용 챗봇을 재실행할 수 있다.For example, if M a =53, M a '=5, M b =73, and M b '=6, m ab =1 can be calculated, and in this case, developer authentication can be approved. At this time, the multi-file generator 110 can approve developer authentication only when the transmitted message similarity is 0.5 or more. If the transmitted message similarity is less than 0.5, the execution of the conversation chatbot is temporarily suspended and email authentication, mobile authentication, etc. After performing additional authentication, if the developer authentication is approved, the chatbot for conversation can be re-run.

이와 같이 멀티 파일 생성부(110)는 현재 챗봇 대화를 나누는 개발자가 인증을 요청한 개발자인 것으로 식별함으로써 개발 내용의 정확도 및 신뢰도를 높일 수 있다.In this way, the multi-file generator 110 can increase the accuracy and reliability of development content by identifying the developer currently having a chatbot conversation as the developer who requested authentication.

한편, 추가 기능 설정부(120)는 이동 단말(200)을 통해 개발자로부터 타겟 사용자 정보를 획득하고, 타겟 사용자 정보에 맞추어 세부 기능을 설정하기 위한 집중 대화 카테고리의 개수를 설정할 수 있다.Meanwhile, the additional function setting unit 120 may obtain target user information from the developer through the mobile terminal 200 and set the number of focused conversation categories for setting detailed functions according to the target user information.

예를 들면, 추가 기능 설정부(120)는 이동 단말(200)을 통해 타겟 사용자의 평균 나이, 타겟 사용자의 하루 기준 소프트웨어 평균 사용 횟수, 타겟 사용자의 하루 기준 소프트웨어 평균 사용 시간, 타겟 사용자의 예상 규모 등을 포함할 수 있다.For example, the additional function setting unit 120 provides the average age of the target user, the average number of times the target user uses the software per day, the average time the target user uses the software per day, and the expected size of the target user through the mobile terminal 200. It may include etc.

집중 대화 카테고리는 사용자 응답 대기 시간, 사용자 응답 요청 방법, 사용자 접근 제한 방법, 사용자 응답에 대한 반응 방법 등을 포함할 수 있다.The intensive conversation category may include user response waiting time, user response request method, user access restriction method, reaction method to user response, etc.

추가 기능 설정부(120)는 아래 수학식 2에 타겟 사용자 정보를 적용하여 카테고리 식별 번호를 산출할 수 있다.The additional function setting unit 120 can calculate a category identification number by applying target user information to Equation 2 below.

[수학식 2][Equation 2]

수학식 2에서 Ci는 카테고리 식별 번호, n은 타겟 사용자의 예상 규모에 비례하여 설정되는 상수, un은 타겟 사용자의 평균 나이, tc는 타겟 사용자의 소프트웨어 평균 사용 횟수, cn은 타겟 사용자의 소프트웨어 평균 사용 시간을 의미한다.In Equation 2, Ci is the category identification number, n is a constant set in proportion to the expected size of target users, u n is the average age of target users, t c is the average number of software uses by target users, and c n is the average number of uses of the software by target users. This refers to the average usage time of the software.

예를 들면, un=30, n=5, tc=10, cn=120인 경우, Ci=0.48

Figure 112023114887941-pat00005
로 산출될 수 있다. 이와 같은 경우, 추가 기능 설정부(120)는 적어도 5개 이상의 카테고리에 대하여 챗봇 대화가 이루어질 수 있도록 한다. 즉, 추가 기능 설정부(120)는 소프트웨어의 타겟 사용자 정보에 맞추어 세부 기능 설정을 위한 챗봇 대화 카테고리를 설정함으로써 소프트웨어의 개발 완성도를 높일 수 있다.For example, if u n =30, n=5, t c =10, c n =120, C i =0.48
Figure 112023114887941-pat00005
It can be calculated as In this case, the additional function setting unit 120 allows chatbot conversations to occur for at least five or more categories. In other words, the additional function setting unit 120 can improve the development completeness of the software by setting the chatbot conversation category for setting detailed functions according to the target user information of the software.

이상 첨부된 도면을 참조하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.Although embodiments of the present invention have been described above with reference to the attached drawings, those skilled in the art will understand that the present invention can be implemented in other specific forms without changing the technical idea or essential features. You will be able to understand it. Therefore, the embodiments described above should be understood in all respects as illustrative and not restrictive.

1: 대화용 챗봇 기반 AI 코드 생성 시스템
100: 제어 서버
200: 이동 단말
1: Chatbot-based AI code generation system for conversation
100: control server
200: mobile terminal

Claims (3)

대화용 챗봇을 이용하여 개발자와의 상호작용으로 개발 내용을 설정하고, 개발 내용에 대한 코드를 생성하는 제어 서버;를 포함하고,
상기 제어 서버는,
대화형 챗봇을 통해 개발자로부터 소프트웨어에서 구현하고자 하는 적어도 하나 이상의 기능에 대한 메시지를 수신하고, 개발자로부터 수신한 메시지를 분석하여 개발 프로젝트를 생성하고, 소프트웨어서 각 기능을 수행하기 위한 적어도 하나 이상의 하위 폴더를 생성하여 멀티 파일을 생성하는 멀티 파일 생성부;
개발자로부터 상기 멀티 파일 생성부에서 생성한 개발 프로젝트에 포함시킬 추가 기능에 대한 메시지를 수신하고, 대화형 챗봇을 통해 상기 추가 기능에 대한 역질문을 전송하여 상기 추가 기능에 대한 세부 기능을 설정하는 추가 기능 설정부; 및
코드 생성 인공지능 신경망을 이용하여 상기 멀티 파일 생성부 및 상기 추가 기능 설정부에서 생성한 개발 프로젝트에 대한 코드를 생성하는 코드 생성부;를 포함하고,
상기 멀티 파일 생성부는,
개발자 별로 대화용 챗봇을 통한 코드 생성 이력을 저장하여 개발자 별 메시지의 평균 길이, 개발자가 자주 사용하는 적어도 하나 이상의 식별 단어 및 챗봇 대화에서 개발자가 식별 단어를 사용하는 개수를 추출하고, 대화용 챗봇 실행 전에 개발자 정보를 요청하여 수신하고, 아래 수학식 1을 통해 개발자의 대화용 챗봇을 통한 대화 메시지를 분석하여 전송 메시지 유사도를 산출하고,
[수학식 1]

(수학식 1에서 mab는 전송 메시지 유사도이고, Ma는 현재 대화에서 개발자가 전송하는 메시지의 평균 길이, Ma'는 현재 대화에 포함되는 개발자 식별 단어의 개수, Mb는 개발자의 전송 메시지의 평균 길이, Mb'는 개발자가 챗봇 대화에서 사용하는 식별 단어의 개수를 의미한다.)
상기 전송 메시지 유사도에 따라 현재 대화용 챗봇에 참여하는 개발자가 개발자 정보에 해당하는 개발자인지에 대한 인증을 수행하되, 상기 전송 메시지 유사도가 0.5 이상인 경우에 한하여 개발자 인증을 승인하고, 상기 전송 메시지 유사도가 0.5 미만인 경우 대화용 챗봇의 실행을 일시 중지하고 이메일 인증 또는 모바일 인증을 통한 추가 인증을 수행한 뒤, 개발자 인증이 승인된 경우 대화용 챗봇을 재실행하는, 대화용 챗봇 기반 AI 코드 생성 시스템.
Includes a control server that sets development content through interaction with the developer using a chatbot for conversation and generates code for the development content;
The control server is,
Receive messages about at least one function to be implemented in the software from the developer through an interactive chatbot, create a development project by analyzing the messages received from the developer, and at least one subfolder to perform each function in the software. A multi-file creation unit that generates a multi-file;
An additional function that receives a message from a developer about additional functions to be included in the development project created by the multi-file creation unit and sets detailed functions for the additional functions by sending a reverse question about the additional functions through an interactive chatbot. Function setting unit; and
It includes a code generation unit that generates code for the development project created by the multi-file generation unit and the additional function setting unit using a code generation artificial intelligence neural network,
The multi-file creation unit,
By storing the code creation history through conversation chatbots for each developer, we extract the average length of each developer's message, at least one identification word frequently used by the developer, and the number of times the developer uses the identification word in chatbot conversations, and run the conversation chatbot. Request and receive developer information beforehand, calculate the transmission message similarity by analyzing conversation messages through the developer's conversation chatbot using Equation 1 below,
[Equation 1]

(In Equation 1, m ab is the transmitted message similarity, M a is the average length of the message transmitted by the developer in the current conversation, M a ' is the number of developer-identified words included in the current conversation, and M b is the transmitted message of the developer The average length of, M b 'means the number of identifying words that developers use in chatbot conversations.)
According to the transmission message similarity, authentication is performed as to whether the developer currently participating in the conversation chatbot is the developer corresponding to the developer information. Developer authentication is approved only when the transmission message similarity is 0.5 or more, and the transmission message similarity is 0.5 or more. A conversation chatbot-based AI code generation system that temporarily suspends the execution of the conversation chatbot if it is less than 0.5, performs additional authentication through email authentication or mobile authentication, and then re-runs the conversation chatbot if developer authentication is approved.
삭제delete 삭제delete
KR1020230140390A 2023-10-19 2023-10-19 Code generation system based on interactive chatbot KR102635363B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020230140390A KR102635363B1 (en) 2023-10-19 2023-10-19 Code generation system based on interactive chatbot

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020230140390A KR102635363B1 (en) 2023-10-19 2023-10-19 Code generation system based on interactive chatbot

Publications (1)

Publication Number Publication Date
KR102635363B1 true KR102635363B1 (en) 2024-02-08

Family

ID=89899838

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020230140390A KR102635363B1 (en) 2023-10-19 2023-10-19 Code generation system based on interactive chatbot

Country Status (1)

Country Link
KR (1) KR102635363B1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220040828A (en) * 2020-09-24 2022-03-31 서울시립대학교 산학협력단 Coding method and apparatus using interactive artificial intelligence
US20230076767A1 (en) * 2021-09-08 2023-03-09 Allstate Solutions Private Limited Methods and systems for codeless chatbot development
US20230208787A1 (en) * 2019-04-19 2023-06-29 Oracle International Corporation Systems and methods for a metadata driven integration of chatbot systems into back-end application services

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230208787A1 (en) * 2019-04-19 2023-06-29 Oracle International Corporation Systems and methods for a metadata driven integration of chatbot systems into back-end application services
KR20220040828A (en) * 2020-09-24 2022-03-31 서울시립대학교 산학협력단 Coding method and apparatus using interactive artificial intelligence
US20230076767A1 (en) * 2021-09-08 2023-03-09 Allstate Solutions Private Limited Methods and systems for codeless chatbot development

Similar Documents

Publication Publication Date Title
US11005786B2 (en) Knowledge-driven dialog support conversation system
US20200005117A1 (en) Artificial intelligence assisted content authoring for automated agents
Rodríguez-Fdez et al. STAC: a web platform for the comparison of algorithms using statistical tests
Zanbouri et al. A cloud service composition method using a trust‐based clustering algorithm and honeybee mating optimization algorithm
CN113066484A (en) System and method for distributed training of neural network models
US20190220613A1 (en) Probabilistic Modeling System and Method
WO2021169364A1 (en) Semantic emotion analysis method and apparatus, device, and storage medium
US11557219B2 (en) Generating and rating user assessments
US20190228297A1 (en) Artificial Intelligence Modelling Engine
US11443112B2 (en) Outcome of a natural language interaction
CN112989024B (en) Method, device and equipment for extracting relation of text content and storage medium
JPWO2020032125A1 (en) Discussion support device and program for discussion support device
KR102635363B1 (en) Code generation system based on interactive chatbot
US12002459B2 (en) Autonomous communication initiation responsive to pattern detection
Luo et al. CoChat: Enabling bot and human collaboration for task completion
CN116776870B (en) Intention recognition method, device, computer equipment and medium
Toba et al. Bloom-epistemic and sentiment analysis hierarchical classification in course discussion forums
EP4283546A1 (en) Machine learning prediction of additional steps of a computerized workflow
US11941500B2 (en) System for engagement of human agents for decision-making in a dynamically changing environment
KR20230148912A (en) Method, server and computer program for providing machine-learning based final decision support system
CN118135378A (en) Automatic analysis system for smart card
CN117493499A (en) Intelligent question-answering method, device, equipment and storage medium based on cognitive reasoning
CN117493530A (en) Resource demand analysis method, device, electronic equipment and storage medium

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant