KR20240017495A - Autonomous grading chatbot using artificial intelligence - Google Patents

Autonomous grading chatbot using artificial intelligence Download PDF

Info

Publication number
KR20240017495A
KR20240017495A KR1020220095305A KR20220095305A KR20240017495A KR 20240017495 A KR20240017495 A KR 20240017495A KR 1020220095305 A KR1020220095305 A KR 1020220095305A KR 20220095305 A KR20220095305 A KR 20220095305A KR 20240017495 A KR20240017495 A KR 20240017495A
Authority
KR
South Korea
Prior art keywords
user
learning
utterance
engine
user terminal
Prior art date
Application number
KR1020220095305A
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 KR1020220095305A priority Critical patent/KR20240017495A/en
Publication of KR20240017495A publication Critical patent/KR20240017495A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/20Education
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • G06K7/1404Methods for optical code recognition
    • G06K7/1439Methods for optical code recognition including a method step for retrieval of the optical code
    • G06K7/1447Methods for optical code recognition including a method step for retrieval of the optical code extracting optical codes from image or text carrying said optical code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/01Social networking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/20Education
    • G06Q50/205Education administration or guidance
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M17/00Prepayment of wireline communication systems, wireless communication systems or telephone systems
    • H04M17/30Prepayment of wireline communication systems, wireless communication systems or telephone systems using a code
    • H04M17/301Code input or reading
    • H04M17/304Optical code recognition [OCR], e.g. bar code reader

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Tourism & Hospitality (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • General Business, Economics & Management (AREA)
  • Educational Technology (AREA)
  • Educational Administration (AREA)
  • Artificial Intelligence (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Engineering & Computer Science (AREA)
  • Electromagnetism (AREA)
  • Toxicology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computing Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Electrically Operated Instructional Devices (AREA)

Abstract

챗봇을 통해 자동 채점을 수행하기 위해 사용자 단말과 네트워크를 통해 통신하는 서버는: 하나 이상의 코어들을 포함하는 프로세서; 및 메모리를 포함하고, 상기 프로세서는: 상기 사용자 단말로부터 수신되는 교재 이미지에 대해 인공지능 (AI) 광학 문자 인식 (OCR) 모델에 기초하여 자동 채점을 제공하는 자동 채점 엔진; 상기 사용자 단말로 AI 자연어 처리 모델에 기초하여 학습 상담 대화를 제공하는 학습 대화 처리 엔진; 및 상기 사용자 단말의 사용자의 학습 이력 및 상기 사용자와의 대화 로그에 기초하여 상기 사용자에 대해 모델링된 사용자 모델에 기초하는 학습 경로 추천 알고리즘을 실행할 수 있다.A server that communicates with a user terminal over a network to perform automatic scoring through a chatbot includes: a processor including one or more cores; and a memory, wherein the processor includes: an automatic scoring engine that provides automatic scoring based on an artificial intelligence (AI) optical character recognition (OCR) model for textbook images received from the user terminal; A learning conversation processing engine that provides a learning consultation conversation based on an AI natural language processing model to the user terminal; And a learning path recommendation algorithm based on a user model modeled for the user based on the user's learning history of the user terminal and the conversation log with the user may be executed.

Description

인공지능을 사용한 자동 채점 챗봇 {AUTONOMOUS GRADING CHATBOT USING ARTIFICIAL INTELLIGENCE}Automatic grading chatbot using artificial intelligence {AUTONOMOUS GRADING CHATBOT USING ARTIFICIAL INTELLIGENCE}

본 개시는 인공지능을 사용한 자동 채점 챗봇에 관한 것이다.This disclosure relates to an automatic scoring chatbot using artificial intelligence.

챗봇 (Chatbot) 이란 채팅로봇의 약어로서, 인공지능을 기반으로 사람과의 문자 대화를 통해 질문에 알맞은 답이나 각종 연관 정보를 제공하는 인공지능 커뮤니케이션 프로그램을 지칭한다. 이러한 챗봇은 메신저 애플리케이션을 통해 상호작용하는 서비스로 기설정된 규칙 또는 인공지능 기술을 통해 제공된다.Chatbot is an abbreviation for chat robot and refers to an artificial intelligence communication program that provides appropriate answers to questions or various related information through text conversations with people based on artificial intelligence. These chatbots are interactive services through messenger applications and are provided through preset rules or artificial intelligence technology.

최근에는, 이러한 챗봇이 산업의 다양한 분야에서 이용되고 있으며, 챗봇이 활용되는 분야가 점진적으로 확대되고 있다. 특히, 챗봇은 고객 상담 또는 고객 서비스를 제공하기 위해 폭넓게 활용되고 있다. 글로벌 챗봇 시장의 규모는 2020년 기준 25.7억 달러에서 2024년 94.2 억달러까지 성장할 것으로 전망되고 있다. 또한, 국내 챗봇 시장은 연평균 약 51% 씩 성장하고 있는 것으로 분석되오 있다.Recently, these chatbots are being used in various fields of industry, and the fields in which chatbots are used are gradually expanding. In particular, chatbots are widely used to provide customer consultation or customer service. The size of the global chatbot market is expected to grow from $2.57 billion in 2020 to $9.42 billion in 2024. In addition, it is analyzed that the domestic chatbot market is growing at an average annual rate of about 51%.

예를 들어, 한국공개특허공보 제 10-2019-0080599호 (특허문헌 1) 에는, 버에 의해 수행되는 챗봇과 상담원을 이용한 반자동 대화 제공 방법이 개시되어 있다.For example, Korea Patent Publication No. 10-2019-0080599 (Patent Document 1) discloses a method of providing a semi-automatic conversation using a chatbot and a counselor performed by a server.

한편, 최근에는 코로나19의 영향으로 비대면 교육이 강조되고 있으며, 동영상 또는 실시간 화상 학습 등의 다양한 방식으로 온라인 교육이 진행되고 있다. 그러나, 이로 인해 기존에는 학교 교사나 학원 강사, 또는 방문 가정 교사 등에개 부담지워졌던 학습 관리가, 가정에서도 이루어지게 되었다. 즉, 비대면 교육으로 인해, 가정 학습 관리 부담이 증가하였다. Meanwhile, recently, non-face-to-face education has been emphasized due to the impact of COVID-19, and online education is being conducted in various ways, such as video or real-time video learning. However, as a result, learning management, which was previously burdened by school teachers, academy instructors, or visiting home tutors, can now be done at home. In other words, due to non-face-to-face education, the burden of managing home learning has increased.

교육 출판 업계에서, 학습지 및 참고서 시장의 규모는 약 2.5 조로 추산된다. 그러나, 출판 교재, 즉 출판 참고서에 기초하여 학생이 학습한 후에는, 가정에서 사후 학습 관리가 이루어지거나, 학생 스스로가 관리를 해야하는 부담이, 코로나19로 인하여 더욱 증대되었다. 또한, 방문학습 기반 학습지 매출액도 코로나19로 인해 13.8 % 가까이 크게 감소한 것으로 확인되었다.In the educational publishing industry, the size of the workbook and reference book market is estimated at approximately 2.5 trillion. However, after students have studied based on published textbooks, that is, published reference books, the burden of having to manage their learning at home or on their own has further increased due to COVID-19. In addition, it was confirmed that sales of home-based study materials decreased significantly by nearly 13.8% due to COVID-19.

이에, 비대면으로도 학생의 학습을 교재 판매 후에 사후적으로 관리하는 것이 가능한 교육용 챗봇으로서, 자동 채점 및 학습 상담 대화 제공이 가능한 챗봇의 필요성이 대두되었다.Accordingly, the need for an educational chatbot that can manage students' learning non-face-to-face after the sale of textbooks and that can provide automatic grading and learning consultation conversations has emerged.

특허문헌 1: 공개특허공보 제 10-2019-0080599 호 (2019. 07. 08 공개)Patent Document 1: Public Patent Publication No. 10-2019-0080599 (published on July 8, 2019)

본 개시는 전술한 과제를 해결하기 위한 것으로서, 학생이 푼 교재를 촬영하고, 촬영된 교재 사진을 업로드하면, 교재 사진에 포함된 학생의 답을 자동으로 채점하고, 채점 결과 및 학생의 학습 일정에 기초하여 학습 상담 대화를 제공하는 인공지능을 사용한 자동 채점 챗봇에 관한 것이다.This disclosure is intended to solve the above-described problem. When a student photographs a textbook he or she has solved and uploads the photographed textbook photo, the student's answers included in the textbook photo are automatically graded and the grading results and the student's study schedule are recorded. This is about an automatic grading chatbot using artificial intelligence that provides learning consultation conversations based on learning.

본 개시의 일 실시 예에 인공지능 (AI) 챗봇을 통해 자동 채점을 수행하기 위해 사용자 단말과 네트워크를 통해 통신하는 서버는: 하나 이상의 코어들을 포함하는 프로세서; 및 메모리를 포함하고, 상기 프로세서는: 상기 사용자 단말로부터 수신되는 교재 이미지에 대해 AI 광학 문자 인식 (OCR) 모델에 기초하여 자동 채점을 제공하는 자동 채점 엔진; 상기 사용자 단말로 AI 자연어 처리 모델에 기초하여 학습 상담 대화를 제공하는 학습 대화 처리 엔진; 및 상기 사용자 단말의 사용자의 학습 이력 및 상기 사용자와의 대화 로그에 기초하여 상기 사용자에 대해 모델링된 사용자 모델에 기초하는 학습 경로 추천 알고리즘을 실행할 수 있다.In one embodiment of the present disclosure, a server that communicates with a user terminal over a network to perform automatic scoring through an artificial intelligence (AI) chatbot includes: a processor including one or more cores; and a memory, wherein the processor includes: an automatic scoring engine that provides automatic scoring based on an AI optical character recognition (OCR) model for textbook images received from the user terminal; A learning conversation processing engine that provides a learning consultation conversation based on an AI natural language processing model to the user terminal; And a learning path recommendation algorithm based on a user model modeled for the user based on the user's learning history of the user terminal and the conversation log with the user may be executed.

본 개시의 다른 실시 예에 따른 챗봇을 통해 자동 채점을 수행하기 위한 컴퓨터 프로그램이 저장된 컴퓨터 판독가능 매체는, 상기 컴퓨터 프로그램은 프로세서에 의해 실행될 때, 상기 프로세서로 하여금: 상기 사용자 단말로부터 수신되는 교재 이미지에 대해 인공지능 (AI) 광학 문자 인식 (OCR) 모델에 기초하여 자동 채점을 제공하고; 상기 사용자 단말로 AI 자연어 처리 모델에 기초하여 학습 상담 대화를 제공하고; 그리고 상기 사용자 단말의 사용자의 학습 이력 및 상기 사용자와의 대화 로그에 기초하여 상기 사용자에 대해 모델링된 사용자 모델에 기초하는 학습 경로 추천 알고리즘을 실행하도록 야기할 수 있다.A computer-readable medium storing a computer program for performing automatic grading through a chatbot according to another embodiment of the present disclosure, when the computer program is executed by a processor, causes the processor to: display a teaching material image received from the user terminal; Provides automatic grading based on an artificial intelligence (AI) optical character recognition (OCR) model; providing a learning consultation conversation based on an AI natural language processing model to the user terminal; And may cause the user terminal to execute a learning path recommendation algorithm based on a user model modeled for the user based on the user's learning history and conversation log with the user.

본 개시의 일 실시예에 따른 인공지능을 사용한 자동 채점 챗봇에 따르면, 사용자가 촬영한 교재 이미지가 채점되고, 채점 결과에 기초하여 학습 상담 대화가 사용자로 제공될 수 있다. 이로 인해, 기존 오프라인 교재 풀이 결과가 디지털화될 수 있고, 사용자의 채점 스트레스가 저감될 수 있다.According to an automatic grading chatbot using artificial intelligence according to an embodiment of the present disclosure, images of textbooks taken by a user are scored, and a learning consultation conversation can be provided to the user based on the grading results. As a result, the results of solving existing offline textbooks can be digitized, and the user's grading stress can be reduced.

또한, 본 개시에 따르면, 온라인 학습 도구와 교재를 연계함에 있어서 일일이 답안을 입력할 필요 없이, 교재 이미지를 촬영하는 것 만으로도 온라인 상에서 자동 채점이 수행될 수 있다. 혼자 채점하는 것이 어려운 초등학교 저학년이나, 채점에 부담을 느끼는 강사, 교사, 또는 부모에게 자동 채점이 제공될 수 있다. Additionally, according to the present disclosure, when linking an online learning tool and a textbook, automatic grading can be performed online simply by taking an image of the textbook without the need to input answers one by one. Automatic grading can be provided to elementary school students who find it difficult to grade on their own, or to instructors, teachers, or parents who feel burdened by grading.

게다가, 본 개시에 따르면, 자동 채점 결과에 기초하여, 학습 역량 및 습관을 개선하기 위해, 사용자의 학습 일정이 관리되는 것이 가능하다. 또한, 본 개시에 따르면, 사용자의 학습 이력 및 학습 상담 대화 로그에 기초하여, 최적의 학습 경로가 추천될 수 있다.Furthermore, according to the present disclosure, it is possible for the user's learning schedule to be managed to improve learning capabilities and habits, based on the automatic scoring results. Additionally, according to the present disclosure, an optimal learning path can be recommended based on the user's learning history and learning consultation conversation log.

그리고, 본 개시에 따르면, 학습 상담 대화가 제공될 수 있어, 관리 교사나 친구의 역할을 학생으로 제공함으로써, 학습 관련 스트레스나 문제의 해소에 도움을 줄 수 있다.In addition, according to the present disclosure, a learning consultation conversation can be provided, providing the student with the role of a management teacher or friend, thereby helping to relieve learning-related stress or problems.

결과적으로, 사용자의 학습 효율이 증가할 수 있으며 교재 구매 후에도 적은 비용으로 학생의 사후 관리가 실현되는 것이 가능하여, 학생의 학습 만족도가 개선될 수 있다.As a result, the user's learning efficiency can be increased and student follow-up management can be realized at a low cost even after purchasing textbooks, thereby improving student learning satisfaction.

본 개시의 효과가 상술한 효과로 제한되는 것은 아니며, 언급되지 아니한 효과들은 본 명세서 및 첨부된 도면으로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확히 이해될 수 있을 것이다.The effects of the present disclosure are not limited to the effects described above, and effects not mentioned can be clearly understood by those skilled in the art from this specification and the attached drawings.

도 1은 본 개시의 몇몇 실시 예들에 따른 인공지능 자동 채점 튜터봇 제공 시스템의 블록도를 도시한다.
도 2는 본 개시의 몇몇 실시 예들에 따른 인공지능 자동 채점 튜터봇과 사용자 단말 간의 흐름도를 도시한다.
도 3은 본 개시의 몇몇 실시 예들에 따른 인공지능 자동 채점 튜터봇의 동작 인터페이스의 모식도를 도시한다.
도 4는 본 개시의 몇몇 실시 예들에 따른 인공지능 자동 채점 튜터봇이 교재 이미지로부터 인쇄체 및 필기체를 인식하는 방법의 흐름도를 도시한다.
도 5는 본 개시의 몇몇 실시 예들에 따른 인공지능 자동 채점 튜터봇이 교재 이미지로부터 인쇄체 및 필기체를 인쇄하는 방법을 설명하기 위한 모식도를 도시한다.
도 6은 본 개시의 몇몇 실시 예들에 따른 인공지능 자동 채점 튜터봇과 사용자 단말 간의 흐름도를 도시한다.
도 7은 본 개시의 몇몇 실시 예들에 따른 인공지능 자동 채점 튜터봇의 동작 인터페이스의 모식도를 도시한다.
도 8은 본 개시의 몇몇 실시 예들에 따른 인공지능 자동 채점 튜터봇의 동작 인터페이스의 모식도를 도시한다.
도 9는 본 개시의 몇몇 실시 예들에 따른 인공지능 자동 채점 튜터봇의 OCR 엔진을 구축하는 방법의 흐름도를 도시한다.
도 10은 본 개시의 몇몇 실시 예들에 따른 인공지능 자동 채점 튜터봇의 자연어 처리 엔진을 구축하는 방법의 흐름도를 도시한다.
도 11은 본 개시의 몇몇 실시 예들에 따른 인공지능 자동 채점 튜터봇의 학습 경로 추천 알고리즘을 구축하는 방법의 흐름도를 도시한다.
도 12는 본 개시의 몇몇 실시 예들에 따른 인공지능 자동 채점 튜터봇 제공 시스템의 블록도를 도시한다.
1 shows a block diagram of a system for providing an artificial intelligence automatic grading tutorbot according to some embodiments of the present disclosure.
Figure 2 shows a flowchart between an artificial intelligence automatic grading tutorbot and a user terminal according to some embodiments of the present disclosure.
Figure 3 shows a schematic diagram of the operation interface of an artificial intelligence automatic grading tutorbot according to some embodiments of the present disclosure.
Figure 4 shows a flowchart of a method by which an artificial intelligence automatic grading tutorbot recognizes printed and cursive fonts from textbook images according to some embodiments of the present disclosure.
Figure 5 shows a schematic diagram to explain how an artificial intelligence automatic grading tutorbot prints printed and cursive fonts from textbook images according to some embodiments of the present disclosure.
Figure 6 shows a flowchart between an artificial intelligence automatic grading tutorbot and a user terminal according to some embodiments of the present disclosure.
Figure 7 shows a schematic diagram of the operation interface of an artificial intelligence automatic grading tutorbot according to some embodiments of the present disclosure.
Figure 8 shows a schematic diagram of the operation interface of an artificial intelligence automatic grading tutorbot according to some embodiments of the present disclosure.
Figure 9 shows a flowchart of a method for building an OCR engine for an artificial intelligence automatic grading tutorbot according to some embodiments of the present disclosure.
Figure 10 shows a flowchart of a method for building a natural language processing engine for an artificial intelligence automatic grading tutorbot according to some embodiments of the present disclosure.
Figure 11 shows a flowchart of a method for building a learning path recommendation algorithm for an artificial intelligence automatic grading tutorbot according to some embodiments of the present disclosure.
Figure 12 shows a block diagram of a system for providing an artificial intelligence automatic grading tutorbot according to some embodiments of the present disclosure.

이하에서는 본 발명의 다양한 실시 예들을 설명할 것이나, 본 발명의 기술적 사상은 이에 한정되지 않고 당업자에 의해 변형되어 다양하게 실시될 수 있음은 물론이다. 또한, 본 명세서에서 사용한 용어는 본 발명의 개념 및 그에 따른 실시 예들을 설명하기 위해 사용된 것으로, 본 발명을 해당 용어의 사전적 또는 어구적 의미만으로 한정하려는 의도가 아니다. 예를 들어, 본 명세서에서 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 또한, 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 어느 구성, 단계, 동작, 처리 또는 이들을 조합한 것의 존재를 의미하며, 문맥상 명백하게 다르게 뜻하지 않는 한 다른 구성, 단계, 동작, 처리의 존재 또는 부가 가능성을 배제하지 않는다.Hereinafter, various embodiments of the present invention will be described, but of course, the technical idea of the present invention is not limited thereto and may be modified and implemented in various ways by those skilled in the art. In addition, the terms used in this specification are used to describe the concept of the present invention and embodiments thereof, and are not intended to limit the present invention to only the dictionary or phraseological meaning of the terms. For example, herein, singular expressions may include plural expressions, unless the context clearly dictates otherwise. In addition, in this specification, terms such as "include" or "have" mean the presence of a certain configuration, step, operation, processing, or a combination thereof, and unless the context clearly indicates otherwise, other configurations, steps, operations, It does not exclude the presence or addition of processing.

제 1, 제 2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제 1 구성요소는 제 2 구성요소로 명명될 수 있고, 유사하게 제 2 구성요소도 제 1 구성요소로 명명될 수 있다. “및/또는” 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.Terms such as first, second, A, B, etc. may be used to describe various components, but the components should not be limited by the terms. The above terms are used only for the purpose of distinguishing one component from another. For example, a first component may be referred to as a second component, and similarly, the second component may be referred to as a first component without departing from the scope of the present invention. The term “and/or” includes any combination of a plurality of related stated items or any of a plurality of related stated items.

본 개시의 실시 예에서 "모듈", "유닛", "부(part)" 등과 같은 용어는 적어도 하나의 기능이나 동작을 수행하는 구성요소를 지칭하기 위한 용어이며, 이러한 구성요소는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. 또한, 복수의 "모듈", "유닛", "부(part)" 등은 각각이 개별적인 특정한 하드웨어로 구현될 필요가 있는 경우를 제외하고는, 적어도 하나의 모듈이나 칩으로 일체화되어 적어도 하나의 프로세서로 구현될 수 있다.In embodiments of the present disclosure, terms such as “module”, “unit”, “part”, etc. are terms to refer to components that perform at least one function or operation, and these components are either hardware or software. It may be implemented or may be implemented through a combination of hardware and software. In addition, a plurality of "modules", "units", "parts", etc. are integrated into at least one module or chip, except in cases where each needs to be implemented with individual specific hardware, and is integrated into at least one processor. It can be implemented as:

또한, 본 개시의 실시 예에서, 어떤 부분이 다른 부분과 연결되어 있다고 할 때, 이는 직접적인 연결뿐 아니라, 다른 매체를 통한 간접적인 연결의 경우도 포함한다. 또한, 어떤 부분이 어떤 구성요소를 포함한다는 의미는, 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.Additionally, in an embodiment of the present disclosure, when a part is connected to another part, this includes not only direct connection but also indirect connection through other media. In addition, the meaning that a part includes a certain component does not mean that other components are excluded, but that it may further include other components, unless specifically stated to the contrary.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless otherwise defined, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by a person of ordinary skill in the technical field to which the present invention pertains. Terms defined in commonly used dictionaries should be interpreted as having a meaning consistent with the meaning in the context of the related technology, and unless explicitly defined in the present application, should not be interpreted in an ideal or excessively formal sense. No.

본 개시의 몇몇 실시 예들에 따른 AI 자동 채점 튜터봇 (Tutorbot) 은 사용자 (예를 들어, 학생) 가 푼 교재 (또는 문제집) 의 이미지를 수신하고, 교재 이미지에 포함된 문항들을 자동으로 채점하고, 사용자로 채점 결과를 제공할 수 있다. 또한, AI 자동 채점 튜터봇은 학습 상담 대화를 채점 결과, 사용자 단말의 사용자의 학습 이력, 및 사용자의 발화 등에 기초하여 사용자로 제공할 수 있다. AI 자동 채점 튜터봇에 의해 제공되는 학습 상담 대화는 오답 문항 풀이, 오답 문항과 유사한 유사 문제 추천, 학습 격려, 추가 학습 방법 제안, 학습 일정 관리 등을 포함할 수 있다.The AI automatic scoring tutorbot according to some embodiments of the present disclosure receives an image of a textbook (or workbook) solved by a user (e.g., a student), automatically scores the questions included in the textbook image, Users can provide grading results. In addition, the AI automatic grading tutor bot can provide learning consultation conversations to the user based on grading results, the user's learning history of the user terminal, and the user's utterances. The learning consultation conversation provided by the AI automatic grading tutorbot may include solving incorrectly answered questions, recommending similar problems similar to incorrectly answered questions, encouraging learning, suggesting additional learning methods, and managing study schedules.

본 개시의 몇몇 실시 예들에 따른 AI 자동 채점 튜터봇은 챗봇 (Chatbot) 으로서 구현될 수 있다. 예를 들어, AI 자동 채점 튜터봇은, 사용자가 챗봇에 입력한 텍스트 메시지 형태의 발화로부터 발화의 의도를 추론하고, 그 의도에 대응하는 텍스트 메시지 형태의 발화를 사용자로 제공할 수 있다. AI 자동 채점 튜터봇은 텍스트 메신저 형태의 사용자 인터페이스 (UI) 를 사용자 단말기에 표시함으로써, 사용자와 텍스트 메시지를 주고받을 수 있다. AI 자동 채점 튜터봇은 특정 의도를 포함하는 텍스트 메시지 형태의 발화를 생성하고, 생성된 발화를 사용자로 텍스트 메신저 UI 를 통해 제공할 수 있다. 이에 따라, 사용자는, AI 자동 채점 튜터봇과 시각적인 대화의 형태로서 (예를 들어, 텍스트 메신저의 형태로서) 통신할 수 있다.The AI automatic grading tutorbot according to some embodiments of the present disclosure may be implemented as a chatbot. For example, an AI automatic grading tutorbot can infer the intention of the utterance from the utterance in the form of a text message entered by the user into the chatbot and provide the user with an utterance in the form of a text message corresponding to the intention. The AI automatic grading tutorbot can exchange text messages with users by displaying a text messenger-type user interface (UI) on the user terminal. The AI automatic scoring tutorbot can generate utterances in the form of text messages containing specific intentions, and provide the generated utterances to users through the text messenger UI. Accordingly, the user can communicate with the AI automatic grading tutorbot in the form of a visual conversation (e.g., in the form of a text messenger).

도 1은 본 개시의 몇몇 실시 예들에 따른 (AI 자동 채점 튜터봇 제공 시스템의 블록도를 도시한다. 도 1을 참조하면, AI 자동 채점 튜터봇 제공 시스템은, 사용자 단말 (10) 과 AI 자동 채점 튜터봇 (100) 을 포함할 수 있다.1 shows a block diagram of an AI automatic grading tutorbot providing system according to some embodiments of the present disclosure. Referring to FIG. 1, the AI automatic grading tutorbot providing system includes a user terminal 10 and AI automatic grading. Tutorbot (100) may be included.

AI 자동 채점 튜터봇 (100) 은 자동 채점 엔진 (110), 학습 대화 처리 엔진 (120), 및 학습 경로 추천 알고리즘 (130) 을 포함할 수 있다. The AI automatic grading tutorbot 100 may include an automatic grading engine 110, a learning conversation processing engine 120, and a learning path recommendation algorithm 130.

자동 채점 엔진 (110) 은 사용자 단말 (10) 로부터 수신되는 교재 이미지에 대해 AI 광학 문자 인식 (Optical Character Recognition; OCR) 모델에 기초하여 자동 채점을 제공할 수 있다. 예를 들어, 자동 채점 엔진 (110) 은 사용자에 의해 촬영된 교재 이미지를 사용자 단말 (10) 로부터 수신하고 그리고 수신된 교재 이미지 내 하나 이상의 문항들을 채점할 수 있다. The automatic grading engine 110 may provide automatic grading for textbook images received from the user terminal 10 based on an AI Optical Character Recognition (OCR) model. For example, the automatic scoring engine 110 may receive a textbook image captured by a user from the user terminal 10 and score one or more questions in the received textbook image.

자동 채점 엔진 (110) 은 OCR 엔진 (111), 채점 모듈 (112), 및 교재 및 컨텐츠 데이터베이스 (Database; DB) (113) 를 포함할 수 있다.The automatic scoring engine 110 may include an OCR engine 111, a scoring module 112, and a textbook and content database (DB) 113.

OCR 엔진 (111) 은 사용자 단말 (10) 로부터 제공된 교재 이미지 내 인쇄체 및 필기체를 AI OCR 모델에 기초하여 인식할 수 있다. 예를 들어, OCR 엔진 (111) 은 교재 이미지 내 쪽 번호, 문항 (문제) 번호, 및 정답 박스 영역 등과 같은 인쇄체를 AI OCR 모델에 기초하여 인식할 수 있다. OCR 엔진 (111) 은 교재 이미지 내 정답 박스 안 손글씨 등과 같은 필기체를 AI OCR 모델에 기초하여 인식할 수 있다.The OCR engine 111 can recognize printed and cursive fonts in the textbook image provided from the user terminal 10 based on the AI OCR model. For example, the OCR engine 111 can recognize printed text such as page numbers, question (problem) numbers, and answer box areas within textbook images based on the AI OCR model. The OCR engine 111 can recognize handwriting, such as handwriting in the answer box in the textbook image, based on the AI OCR model.

채점 모듈 (112) 은 OCR 엔진 (111) 에 의해 인식된 쇄체 및 필기체에 기초하여, 교재 이미지에 기재된 사용자의 답을 채점할 수 있다. 예를 들어, 채점 모듈 (112) 은 OCR 엔진 (111) 의 인식 결과 및 교재 및 컨텐츠 DB (113) 에 저장된 데이터에 기초하여, 사용자 단말 (10) 로부터 제공된 교재 이미지 내 문항을 채점할 수 있다.The scoring module 112 can score the user's answer written in the textbook image based on the printed text and cursive text recognized by the OCR engine 111. For example, the scoring module 112 may score questions in a textbook image provided from the user terminal 10 based on the recognition results of the OCR engine 111 and data stored in the textbook and content DB 113.

채점 모듈 (112) 은 OCR 엔진 (111) 에 의해 인식된 인쇄체에 대응하는 문항과 그와 쌍을 이루는 정답 및 풀이를 포함하는 데이터를 교재 및 컨텐츠 DB (113) 로부터 검색할 수 있다. 채점 모듈 (112) 은 검색된 정답과 OCR 엔진 (111) 에 의해 인식된 필기체에 대응하는 사용자 입력 답을 비교/대조함으로써, 사용자가 교재에 표시한 답을 채점할 수 있다.The scoring module 112 can search the textbook and content DB 113 for data including questions corresponding to the printed text recognized by the OCR engine 111 and the correct answers and solutions paired therewith. The scoring module 112 can score the answers indicated by the user in the textbook by comparing/contrasting the searched correct answer with the user-entered answer corresponding to the handwriting recognized by the OCR engine 111.

몇몇 실시 예들에 있어서, 자동 채점 엔진 (110) 은 OCR 엔진 (111) 의 인식 결과를 사용자로 확인하기 위한 UI 를 사용자 단말 (10) 로 출력할 수 있다. 인식 결과를 사용자로 확인하기 위한 UI 는 사용자로 인식 결과의 수정 여부에 대한 질의를 포함할 수 있다.In some embodiments, the automatic scoring engine 110 may output a UI to the user terminal 10 to allow the user to confirm the recognition result of the OCR engine 111. The UI for checking the recognition result as a user may include a query as to whether the user can modify the recognition result.

몇몇 실시 예들에 있어서, 자동 채점 엔진 (110) 은 인식 결과를 사용자로 확인하기 위한 UI 에 응답하여, 사용자 단말 (10) 로부터, 사용자에 의해 수정된 인식 결과를 수신할 수 있다. 자동 채점 엔진 (110) 은 수정된 인식 결과에 기초하여, 사용자의 답을 다시 채점할 수 있다.In some embodiments, the automatic scoring engine 110 may receive a recognition result modified by the user from the user terminal 10 in response to a UI for confirming the recognition result with the user. The automatic scoring engine 110 may re-score the user's answer based on the corrected recognition result.

교재 및 컨텐츠 DB (113) 는 AI 자동 채점 튜터봇 (100) 이 자동 채점을 제공할 수 있는 교재나 컨텐츠와 관련된 데이터를 저장할 수 있다. 예를 들어, 교재 및 컨텐츠 DB (113) 는 AI 자동 채점 튜터봇 (100) 에 의해 채점되는 것이 가능한 교재의 문항들과 각 문항에 대한 정답 및 풀이 데이터를 저장할 수 있다.The textbook and content DB 113 can store data related to textbooks or content for which the AI automatic grading tutorbot 100 can provide automatic grading. For example, the textbook and content DB 113 may store textbook questions that can be graded by the AI automatic scoring tutorbot 100 and the correct answers and solution data for each question.

학습 대화 처리 엔진 (120) 은 사용자 단말 (10) 로부터 텍스트 형태의 발화 (예를 들어, 학습 관련 자연어) 를 수신하고, 발화를 처리 (또는 분석) 하고, 그리고 수신된 발화에 대응하는 응답을 생성할 수 있다. 몇몇 실시 예들에 있어서, 학습 대화 처리 엔진 (120) 은 사용자 단말로 AI 자연어 처리 모델에 기초하여 학습 상담 대화를 제공할 수 있다.The learning conversation processing engine 120 receives an utterance in text form (e.g., learning-related natural language) from the user terminal 10, processes (or analyzes) the utterance, and generates a response corresponding to the received utterance. can do. In some embodiments, the learning conversation processing engine 120 may provide a learning consultation conversation based on an AI natural language processing model to a user terminal.

학습 대화 처리 엔진 (120) 은 자연어 처리 엔진 (121), 응답 생성 모듈 (122), 및 학습 이력 DB (123) 를 포함할 수 있다.The learning conversation processing engine 120 may include a natural language processing engine 121, a response generation module 122, and a learning history DB 123.

자연어 처리 엔진 (121) 은 사용자 단말 (10) 로부터 수신된 사용자의 발화를 AI 자연어 처리 모델에 기초하여 분석할 수 있다. 예를 들어, 자연어 처리 엔진 (121) 은 사용자의 발화로부터 키워드들을 추출하고, 그리고 추출된 키워드에 기초하여, 사용자의 발화의 의도를 추론할 수 있다. 자연어 처리 엔진 (121) 은, 예를 들어, 사용자의 발화로부터, 사용자의 감정이나 사용자의 학습 상태 등을 추론 (또는 파악) 할 수 있다.The natural language processing engine 121 may analyze the user's utterance received from the user terminal 10 based on an AI natural language processing model. For example, the natural language processing engine 121 may extract keywords from the user's utterance, and based on the extracted keywords, infer the intention of the user's utterance. For example, the natural language processing engine 121 can infer (or understand) the user's emotions or the user's learning state from the user's utterance.

응답 생성 모듈 (122) 은 자연어 처리 엔진 (121) 의 분석 결과에 기초하여, 사용자 단말 (10) 로부터 수신된 발화에 대응하는 응답을 생성할 수 있다. 예를 들어, 응답 생성 모듈 (122) 은 자연어 처리 엔진 (121) 에 의해 추론된 사용자의 발화의 의도, 사용자의 학습 이력 DB (123) 에 저장된 사용자의 학습 이력 및 학습 대화 로그, 및 학습 경로 추천 알고리즘 (130) 등에 기초하여, 사용자 단말 (10) 로 제공하기 위한 발화를 생성할 수 있다. The response generation module 122 may generate a response corresponding to the utterance received from the user terminal 10 based on the analysis result of the natural language processing engine 121. For example, the response generation module 122 may use the intention of the user's utterance inferred by the natural language processing engine 121, the user's learning history and learning conversation log stored in the user's learning history DB 123, and learning path recommendation. Based on the algorithm 130, etc., an utterance to be provided to the user terminal 10 can be generated.

몇몇 실시 예들에 있어서, 응답 생성 모듈 (112) 은 인공지능 모델에 기초하여 발화를 생성할 수 있다. 예를 들어, 응답 생성 모듈 (112) 은 자연어 처리 엔진 (121) 에 의해 추론된 사용자의 발화의 의도, 사용자의 학습 이력 DB (123) 에 저장된 사용자의 학습 이력 및 학습 대화 로그, 및 학습 경로 추천 알고리즘 (130) 등을 그 입력으로 하고, 응답 발화를 그 출력으로 하는, 인공지능 모델에 기초할 수 있다. 상기 인공 지능 모델은 하나 이상의 레이어를 포함하는 신경망 형태로서, RNN (Recurrent Neural Network) 등과 같은 다양한 신경망 모델로서 구현될 수 있다.In some embodiments, response generation module 112 may generate utterances based on an artificial intelligence model. For example, the response generation module 112 may use the intention of the user's utterance inferred by the natural language processing engine 121, the user's learning history and learning conversation log stored in the user's learning history DB 123, and learning path recommendation. It may be based on an artificial intelligence model that uses the algorithm 130 as its input and the response utterance as its output. The artificial intelligence model is in the form of a neural network including one or more layers and can be implemented as various neural network models such as RNN (Recurrent Neural Network).

몇몇 실시 예들에 있어서, 응답 생성 모듈 (112) 은 다양한 종류의 학습 대화 시나리오들 및 각 시나리오에 대응하는 발화를 포함할 수 있다. 또는, 학습 대화 처리 엔진 (120) 은 이러한 시나리오들 및 각 시나리오에 대응하는 발화를 저장하기 위한 데이터베이스를 더 포함할 수도 있다. 응답 생성 모듈 (112) 은 자연어 처리 엔진 (121) 의 처리 결과에 기초하여 입력된 사용자 발화의 의도에 매칭되는 시나리오를 결정할 수 있다. 응답 생성 모듈 (112) 은 결정된 시나리오에 대응하는 발화를 응답으로서 선택하거나, 또는 결정된 시나리오에 대응하는 발화를 수정하고 수정된 발화를 응답으로서 결정할 수 있다. 몇몇 실시 예들에 있어서, 각 시나리오에 대응하는 발화는, 인공지능 모델에 기초하여 과거에 생성된 발화일 수 있다.In some embodiments, response generation module 112 may include various types of learning dialogue scenarios and utterances corresponding to each scenario. Alternatively, the learning dialogue processing engine 120 may further include a database for storing these scenarios and utterances corresponding to each scenario. The response generation module 112 may determine a scenario that matches the intention of the input user utterance based on the processing result of the natural language processing engine 121. The response generation module 112 may select an utterance corresponding to the determined scenario as a response, or may modify an utterance corresponding to the determined scenario and determine the modified utterance as a response. In some embodiments, the utterance corresponding to each scenario may be an utterance generated in the past based on an artificial intelligence model.

학습 이력 DB (123) 은 사용자의 학습 경로, 지난 학습 이력, 및 AI 자동 채점 튜터봇 (100) 과 사용자 단말 (10) 사이의 대화 로그를 저장할 수 있다. 예를 들어, 학습 이력 DB (123) 는 과거에 사용자 단말 (10) 로 제공된 채점 결과, 과거에 사용자 단말 (10) 로부터 수신된 교재 이미지, 과거에 사용자 단말 (10) 로부터 수신된 교재 이미지에 기초하여 형성된 사용자 단말 (10) 의 사용자의 학습 이력, 사용자의 학습 계획, 각 교재에 대해 기 구축된 학습 계획, 사용자 단말 (10) 로부터 수신된 발화들, 및 AI 자동 채점 튜터봇 (100) 이 사용자 단말 (10) 로 제공한 발화들 등을 저장할 수 있다.The learning history DB 123 can store the user's learning path, past learning history, and a conversation log between the AI automatic scoring tutorbot 100 and the user terminal 10. For example, the learning history DB 123 is based on scoring results provided to the user terminal 10 in the past, teaching material images received from the user terminal 10 in the past, and teaching material images received from the user terminal 10 in the past. The learning history of the user of the user terminal 10, the user's learning plan, the pre-built learning plan for each textbook, the utterances received from the user terminal 10, and the AI automatic scoring tutorbot 100 is used by the user. Utterances provided to the terminal 10 can be stored.

학습 경로 추천 알고리즘 (130) 은 오답 문항에 대한 클리닉 (또는 솔루션) 을 제공하고, 사용자로 학습 경로를 추천하기 위한 알고리즘을 포함할 수 있다. 예를 들어, 학습 경로 추천 알고리즘 (130) 은 사용자가 오답을 기재한 것으로 자동 채점 엔진 (110) 에 의해 판단된 문항에 대해 풀이 (해설) 를 사용자로 제공하기 위한 알고리즘을 포함할 수 있다. 학습 경로 추천 알고리즘 (130) 은 사용자가 오답을 기재한 것으로 자동 채점 엔진 (110) 에 의해 판단된 문항과 유사한 문제를 교재 및 컨텐츠 DB (113) 에서 검색하고 사용자에게 검색된 유사한 문제를 출제하기 위한 알고리즘을 포함할 수 있다.The learning path recommendation algorithm 130 provides a clinic (or solution) for incorrectly answered questions and may include an algorithm for recommending a learning path to the user. For example, the learning path recommendation algorithm 130 may include an algorithm for providing the user with a solution (explanation) for an item determined by the automatic scoring engine 110 that the user entered an incorrect answer. The learning path recommendation algorithm (130) is an algorithm for searching the textbook and content DB (113) for problems similar to the question determined by the automatic scoring engine (110) to have been entered by the user as an incorrect answer, and presenting similar problems found to the user. may include.

학습 경로 추천 알고리즘 (130) 은 사용자의 학습 경로를 저장하기 위한 알고리즘을 포함할 수 있다. 예를 들어, 학습 경로 추천 알고리즘 (130) 은 사용자 단말 (10) 로부터 수신된 교재 이미지에 기초하여, 사용자가 교재의 어느 부분을 학습하였는지 추론하고, 추론 결과를 저장하기 위한 알고리즘을 포함할 예를 들어, 학습 경로 추천 알고리즘 (130) 은 사용자 단말 (10) 로부터 수신된 교재 이미지로부터 OCR 엔진 (111) 에 의해 인식된 인쇄체 및 필기체에 기초하여, 사용자가 학습한 교재의 쪽수, 문항 번호, 및 정오 여부를 저장하기 위한 알고리즘을 포함할 수 있다. 학습 경로 추천 알고리즘 (130) 은 사용자가 학습한 교재의 쪽수, 문항 번호, 및 정오 여부 등에 기초하여, 사용자가 교재의 어느 부분을 학습하였는지 추론하기 위한 알고리즘을 포함할 수 있다. 학습 경로 추천 알고리즘 (130) 은 사용자의 학습 여부의 추론 결과를 저장하기 위한 알고리즘을 포함할 수 있다.The learning path recommendation algorithm 130 may include an algorithm for storing the user's learning path. For example, the learning path recommendation algorithm 130 may include an algorithm for inferring which part of the textbook the user has learned based on the textbook image received from the user terminal 10 and storing the inference result. For example, the learning path recommendation algorithm 130 selects the page number, question number, and correctness of the textbook learned by the user based on the printed and cursive font recognized by the OCR engine 111 from the textbook image received from the user terminal 10. It may include an algorithm for storing whether or not. The learning path recommendation algorithm 130 may include an algorithm for inferring which part of the textbook the user has learned based on the page number, question number, and whether or not the textbook is correct. The learning path recommendation algorithm 130 may include an algorithm for storing the inference result of whether the user is learning or not.

학습 경로 추천 알고리즘 (130) 은 사용자의 학습을 관리하기 위한 알고리즘을 포함할 수 있다. 예를 들어, 학습 경로 추천 알고리즘 (130) 은 사용자의 학습 경로와 학습 추천 로드맵을 비교하기 위한 알고리즘을 포함할 수 있다. 학습 경로 추천 알고리즘 (130) 은 사용자의 학습 경로와 학습 추천 로드맵의 비교 결과에 기초하여 사용자로 후속 학습 방법을 추천하기 위한 알고리즘을 포함할 수 있다. 몇몇 실시 예들에 있어서, 학습 추천 로드맵은 학습 순서, 학습 분량, 및 학습 대화 시나리오 등을 포함할 수 있다.The learning path recommendation algorithm 130 may include an algorithm for managing the user's learning. For example, the learning path recommendation algorithm 130 may include an algorithm for comparing a user's learning path and a learning recommendation roadmap. The learning path recommendation algorithm 130 may include an algorithm for recommending a subsequent learning method to the user based on a comparison result between the user's learning path and the learning recommendation roadmap. In some embodiments, the learning recommendation roadmap may include learning order, learning amount, and learning conversation scenario.

학습 경로 추천 알고리즘 (130) 은 사용자로 최적의 학습 경로를 추천하기 위한 알고리즘을 포함할 수 있다. 예를 들어, 학습 경로 추천 알고리즘 (130) 은 자동 채점 엔진 (110) 을 통해 수집된 사용자의 학습 이력 및 학습 대화 처리 엔진 (120) 을 통해 수집된 사용자와의 대화 로그에 기초하여 사용자를 모델링하기 위한 인공지능 훈련 (training) 알고리즘을 포함할 수 있다. The learning path recommendation algorithm 130 may include an algorithm for recommending an optimal learning path to the user. For example, the learning path recommendation algorithm 130 models the user based on the user's learning history collected through the automatic scoring engine 110 and the conversation log with the user collected through the learning conversation processing engine 120. It may include an artificial intelligence training algorithm for

몇몇 실시 예들에 있어서, 학습 경로 추천 알고리즘 (130) 은 교재 이미지로부터 인식된 상기 인쇄체 및 필기체로부터 사용자의 학습 이력을 수집하고, 사용자 단말로부터 수신되는 사용자의 발화들을 저장하고, 수집된 학습 이력 및 저장된 발화들에 기초하여 사용자에 대해 모델링된 사용자 모델을 업데이트하는 알고리즘을 포함할 수 있다. In some embodiments, the learning path recommendation algorithm 130 collects the user's learning history from the printed and cursive fonts recognized from the textbook image, stores the user's utterances received from the user terminal, and stores the collected learning history and stored It may include an algorithm that updates the user model modeled for the user based on the utterances.

학습 경로 추천 알고리즘 (130) 은 사용자 모델링에 기초하여, 다양한 학습 시나리오들 중 현재 사용자에게 최적이라고 판단되는 학습 시나리오를 선택하고, 선택된 학습 시나리오에 기초하여 사용자에게 추천 학습 경로를 제안하기 위한 알고리즘을 포함할 수 있다.The learning path recommendation algorithm 130 includes an algorithm for selecting a learning scenario determined to be optimal for the current user among various learning scenarios based on user modeling and suggesting a recommended learning path to the user based on the selected learning scenario. can do.

몇몇 실시 예들에 있어서, 자동 채점 엔진 (110), 학습 대화 처리 엔진 (120), 및 학습 경로 추천 알고리즘 (130) 은 컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램 또는 프로그램 코드의 형태로서 구현될 수 있다. 이러한 실시 예들에서, 자동 채점 엔진 (110), 학습 대화 처리 엔진 (120), 및 학습 경로 추천 알고리즘 (130) 을 포함하는 AI 자동 채점 튜터봇 (100) 은 하나 이상의 프로세서에 의해 실행될 수 있다.In some embodiments, automatic scoring engine 110, learning dialogue processing engine 120, and learning path recommendation algorithm 130 may be implemented in the form of a computer program or program code stored on a computer-readable storage medium. In these embodiments, AI automatic grading tutorbot 100, including automatic grading engine 110, learning dialogue processing engine 120, and learning path recommendation algorithm 130, may be executed by one or more processors.

도 2는 본 개시의 몇몇 실시 예들에 따른 AI 자동 채점 튜터봇 (100) 과 사용자 단말 (10) 간의 흐름도를 도시한다.FIG. 2 shows a flowchart between the AI automatic grading tutorbot 100 and the user terminal 10 according to some embodiments of the present disclosure.

도 1 및 도 2 를 참조하면, 사용자 단말 (10) 의 사용자는 교재 이미지를 촬영할 수 있다 (201). 예를 들어, 사용자는 문항과 그에 대응하는 답을 포함하는 교재 (또는 문제지, 학습지) 의 사진을 사용자 단말 (10) 을 통해 촬영할 수 있다.1 and 2, the user of the user terminal 10 can capture a textbook image (201). For example, the user can take a photo of a textbook (or worksheet or study sheet) containing questions and corresponding answers through the user terminal 10.

사용자 단말 (10) 은 촬영된 교재 이미지를 AI 자동 채점 튜터봇 (100) 으로 업로드할 수 있다 (202). 예를 들어, 사용자 단말 (10) 은 AI 자동 채점 튜터봇 (100) 에 의해 제공되는 UI 를 통해 교재 이미지를 AI 자동 채점 튜터봇 (100) 으로 전송할 수 있다. 사용자 단말 (10) 로부터 전송된 교재 이미지는 유/무선 네트워크를 통해 AI 자동 채점 튜터봇 (100) 으로 전달될 수 있다. The user terminal 10 can upload the photographed textbook image to the AI automatic grading tutorbot 100 (202). For example, the user terminal 10 may transmit a textbook image to the AI automatic grading tutorbot 100 through the UI provided by the AI automatic grading tutorbot 100. The textbook image transmitted from the user terminal 10 may be transmitted to the AI automatic grading tutorbot 100 through a wired/wireless network.

AI 자동 채점 튜터봇 (100) 은 교재 이미지로부터 인쇄체 및 필기체를 AI OCR 모델에 기초하여 인식할 수 있다 (203). 예를 들어, AI 자동 채점 튜터봇 (100) 의 OCR 엔진 (111) 은 교재 이미지에 대해 OCR 처리를 수행함으로써, 교재 이미지로부터 인쇄체 및 필기체를 AI OCR 모델에 기초하여 인식할 수 있다. OCR 엔진 (110) 의 동작 방법은 도 4 를 참조하여 구체적으로 후술될 것이다.The AI automatic grading tutorbot (100) can recognize printed and cursive fonts from textbook images based on an AI OCR model (203). For example, the OCR engine 111 of the AI automatic grading tutorbot 100 can recognize printed and cursive fonts from the textbook image based on the AI OCR model by performing OCR processing on the textbook image. The operating method of the OCR engine 110 will be described in detail later with reference to FIG. 4.

AI 자동 채점 튜터봇 (100) 은 교재 이미지 내 사용자의 답을 채점할 수 있다 (204). 예를 들어, AI 자동 채점 튜터봇 (100) 의 채점 모듈 (112) 은 OCR 엔진 (111) 의 인식 결과에 기초하여 사용자가 기재한 답의 정오 여부를 판단할 수 있다.The AI automatic grading tutorbot (100) can grade the user's answers in the textbook image (204). For example, the grading module 112 of the AI automatic grading tutorbot 100 may determine whether the answer entered by the user is incorrect based on the recognition result of the OCR engine 111.

AI 자동 채점 튜터봇 (100) 은 인식 결과를 확인하기 위한 UI 를 사용자 단말 (10) 로 출력할 수 있다. 예를 들어, AI 자동 채점 튜터봇 (100) 은 OCR 엔진 (111) 의 인식 결과의 확인 및 수정을 사용자 단말 (10) 로 요청할 수 있다. The AI automatic scoring tutorbot 100 can output a UI to check the recognition result to the user terminal 10. For example, the AI automatic scoring tutorbot 100 may request the user terminal 10 to confirm and modify the recognition result of the OCR engine 111.

몇몇 실시 예들에 있어서, AI 자동 채점 튜터봇 (100) 은 OCR 엔진 (111) 을 사용하여 인식된 결과, 예를 들어 교재 이미지로부터 인식된 문항, 그에 대해 사용자가 기재한 것으로 인식되는 답, 및 채점 결과를, 사용자 단말 (10) 로, 수정의 필요성을 묻는 발화와 함께, 제공할 수 있다. In some embodiments, the AI automatic grading tutorbot 100 uses the OCR engine 111 to recognize results, such as questions recognized from textbook images, answers recognized as written by the user, and scoring. The results can be provided to the user terminal 10 along with an utterance asking for the need for correction.

AI 자동 채점 튜터봇 (100) 의 UI 를 사용하여, 사용자 단말 (10) 은 인식 결과 확인 응답을 입력할 수 있다 (206). 예를 들어, 사용자 단말 (10) 은 AI 자동 채점 튜터봇 (100) 으로, 인식 결과에 문제가 없음을 확인하는 응답 (예를 들어, 그러한 의도를 포함하는 발화) 을 전송할 수 있다. 다른 예를 들어, 사용자 단말 (10) 은 AI 자동 채점 튜터봇 (100) 으로, AI 자동 채점 튜터봇 (100) 의 인식 결과를 수정하기 위한 응답을 전송할 수 있다. 이러한 예시에서, 사용자 단말 (10) 로부터 AI 자동 채점 튜터봇 (100) 으로 전송되는 응답에는, 수정된 문항 번호 또는 수정된 사용자의 답이 포함될 수 있다.Using the UI of the AI automatic scoring tutorbot 100, the user terminal 10 can input a recognition result confirmation response (206). For example, the user terminal 10 may transmit a response (eg, an utterance containing such intention) to the AI automatic scoring tutor bot 100 confirming that there is no problem with the recognition result. For another example, the user terminal 10 may transmit a response to the AI automatic grading tutorbot 100 to correct the recognition result of the AI automatic grading tutorbot 100. In this example, the response transmitted from the user terminal 10 to the AI automatic scoring tutor bot 100 may include a corrected question number or a corrected user answer.

AI 자동 채점 튜터봇 (100) 은 채점 결과에 기초하여 채점 결과 발화를 생성하고 (207), 생성된 채점 결과 발화를 사용자 단말 (10) 로 출력할 수 있다 (208). 예를 들어, AI 자동 채점 튜터봇 (100) 의 학습 대화 처리 엔진 (120) 은, 자동 채점 엔진 (110) 에 의한 자동 채점 결과에 기초하여, 사용자가 기재한 답에 오답이 있는 경우, 그에 대응하는 클리닉을 제공하기 위한 채점 결과 발화를 생성할 수 있다. 이러한 예시에서, 채점 결과 발화에는 오답에 대한 풀이, 틀린 문제와 유사한 문제, 또는 후속 추천 학습 방법 등이 포함될 수 있다. 오답에 대한 풀이, 틀린 문제와 유사한 문제, 및 후속 추천 학습 방법은 학습 경로 추천 알고리즘 (130) 에 기초하여 선택될 수 있다.The AI automatic scoring tutorbot 100 may generate a scoring result utterance based on the scoring result (207) and output the generated scoring result utterance to the user terminal 10 (208). For example, the learning conversation processing engine 120 of the AI automatic grading tutorbot 100 responds if there is an incorrect answer in the answer entered by the user based on the automatic grading result by the automatic grading engine 110. A scoring result utterance can be created to provide a clinic. In this example, the scoring result utterance may include a solution to an incorrect answer, a problem similar to the incorrect problem, or a recommended follow-up learning method. Solutions to incorrect answers, problems similar to the incorrect problem, and subsequent recommended learning methods may be selected based on the learning path recommendation algorithm 130.

다른 예를 들어, AI 자동 채점 튜터봇 (100) 의 학습 대화 처리 엔진 (120) 은, 사용자가 기재한 답에 오답이 없는 경우에는, 사용자를 칭찬하거나 사용자의 추가 학습을 격려하는 발화를 생성하고, 이를 사용자 단말 (10) 로 출력할 수 있다. For another example, the learning conversation processing engine 120 of the AI automatic scoring tutorbot 100 generates an utterance that praises the user or encourages the user's further learning if there are no incorrect answers in the answer entered by the user. , this can be output to the user terminal 10.

도 3은 본 개시의 몇몇 실시 예들에 따른 AI 자동 채점 튜터봇 (100) 의 동작 인터페이스의 모식도를 도시한다. 보다 구체적으로, 도 3은 AI 자동 채점 튜터봇 (100) 의 사용자 인터페이스의 일 예시를 도시할 수 있다.Figure 3 shows a schematic diagram of the operation interface of the AI automatic grading tutorbot 100 according to some embodiments of the present disclosure. More specifically, FIG. 3 may show an example of a user interface of the AI automatic grading tutorbot 100.

도 1 내지 도 3을 참조하면, 사용자는 사용자 단말 (10) 을 통해 교재 이미지를 업로드할 수 있다 (301). AI 자동 채점 튜터봇 (100) 은 업로드된 교재 이미지를 수신할 수 있다. AI 자동 채점 튜터봇 (100) 은 업로드된 교재 이미지로부터 쪽수, 문항 번호, 및 사용자의 답을 AI OCR 모델에 기초하여 인식할 수 있다. AI 자동 채점 튜터봇 (100) 은 인식된 답을 채점할 수 있다. AI 자동 채점 튜터봇 (100) 은 인식 결과를 확인하기 위한 UI 를 사용자 단말 (10) 로 출력한다 (302). 예를 들어, 인식 결과를 확인하기 위한 UI 는, 업로드된 교재 이미지에 각 문항 별 정오 여부를 표시한 이미지와, 인식 결과의 오류를 질의하는 발화를 포함할 수 있다.Referring to Figures 1 to 3, a user can upload a textbook image through the user terminal 10 (301). AI automatic grading tutorbot (100) can receive uploaded textbook images. The AI automatic grading tutorbot 100 can recognize the page number, question number, and user's answer from the uploaded textbook image based on the AI OCR model. AI automatic grading tutorbot (100) can grade recognized answers. The AI automatic scoring tutor bot (100) outputs a UI to check the recognition result to the user terminal (10) (302). For example, the UI for checking the recognition result may include an image indicating whether or not each question is correct in the uploaded textbook image and an utterance inquiring about errors in the recognition result.

도시된 실시 예에서는, 인식 결과를 확인하기 위한 UI 가 이미지 및 발화의 결합으로서 제공되었으나, 본 개시는 이러한 실시 예에 한정되지 아니한다. 예를 들어, 인식 결과를 확인하기 위한 UI 는, AI 자동 채점 튜터봇 (100) 의 인식 결과 및 채점 결과를 포함하는 텍스트 메시지 형태의 발화를 포함할 수 있다. 인식 결과를 확인하기 위한 UI 는 인식 결과 또는 채점 결과의 수정 여부를 직접적으로 묻는 발화를 포함할 수 있다. In the illustrated embodiment, a UI for checking the recognition result is provided as a combination of an image and a speech, but the present disclosure is not limited to this embodiment. For example, the UI for checking the recognition result may include an utterance in the form of a text message including the recognition result and grading result of the AI automatic grading tutorbot 100. The UI for checking the recognition result may include an utterance directly asking whether to modify the recognition result or scoring result.

사용자는 AI 자동 채점 튜터봇 (100) 의 채점 결과를 확인하고, 이에 대한 확인 응답을 AI 자동 채점 튜터봇 (100) 으로 입력할 수 있다 (303). 예를 들어, 확인 응답은 사용자에 의해 직접적으로 생성된 텍스트 메시지일 수 있다. The user can check the grading results of the AI automatic grading tutorbot (100) and input a confirmation response to the AI automatic grading tutorbot (100) (303). For example, the confirmation response may be a text message generated directly by the user.

AI 자동 채점 튜터봇 (100) 은 사용자의 확인 응답에 대응하여, 채점 결과 발화를 생성하고 채점된 채점 결과 발화를 사용자 단말 (10) 로 출력할 수 있다 (304). 도시된 실시 예에서, AI 자동 채점 튜터봇 (100) 은 사용자의 확인 응답으로부터 인식 결과 및 채점 결과를 수정하지 않고자 하는 사용자의 의도를 추론하고, 이 추론 결과에 기초하여, 기존 채점 결과를 기초로 채점 결과 발화를 생성할 수 있다. 채점 결과 발화는 오답으로 판단된 문항에 대한 풀이 및 그와 유사한 문제의 추천을 포함할 수 있다.The AI automatic scoring tutor bot 100 may generate a scoring result utterance in response to the user's confirmation response and output the scored result utterance to the user terminal 10 (304). In the illustrated embodiment, the AI automatic grading tutorbot 100 infers the user's intention not to modify the recognition result and grading result from the user's confirmation response, and based on this inference result, based on the existing grading result. You can create an utterance as a result of scoring. The scoring result utterance may include solutions to questions judged to be incorrect and recommendations for similar problems.

도 4는 본 개시의 몇몇 실시 예들에 따른 AI 자동 채점 튜터봇 (100) 이 교재 이미지로부터 인쇄체 및 필기체를 인식하는 방법의 흐름도를 도시한다.FIG. 4 illustrates a flowchart of a method by which the AI automatic grading tutorbot 100 recognizes printed and cursive fonts from textbook images according to some embodiments of the present disclosure.

도 1 내지 도 4를 참조하면, AI 자동 채점 튜터봇 (100) 의 OCR 엔진 (111) 은 사용자 단말 (10) 로부터 수신된 교재 이미지로부터 쪽 번호 인쇄체를 AI OCR 모델에 기초하여 인식할 수 있다 (401). OCR 엔진 (111) 은 교재 이미지를 문항 별로 자를 수 있다 (402). 예를 들어, OCR 엔진 (111) 은 교재 이미지를 하나 이상의 영역들로 분할할 수 있다. 하나 이상의 영역들은 교재 이미지에 포함된 하나 이상의 문항들에 각각 대응할 수 있다.Referring to FIGS. 1 to 4, the OCR engine 111 of the AI automatic grading tutorbot 100 can recognize the page number print font from the textbook image received from the user terminal 10 based on the AI OCR model ( 401). The OCR engine (111) can cut textbook images for each question (402). For example, the OCR engine 111 may divide a textbook image into one or more regions. One or more areas may each correspond to one or more questions included in the textbook image.

OCR 엔진 (111) 은 각 문항에 대해 정답 박스 인쇄체를 AI OCR 모델에 기초하여 인식할 수 있다 (403). 예를 들어, 교재 이미지에는 각 문항에 대해, 사각형 형태의 정답 박스에 인쇄되어 있을 수 있다. OCR 엔진 (111) 은 분할된 다수의 영역들 중 제 1 문항에 대응하는 제 1 영역에 포함된 사각형 형태의 인쇄체를 인식함으로써, 제 1 문항에 대한 정답 박스 인쇄체를 AI OCR 모델에 기초하여 인식할 수 있다.The OCR engine 111 can recognize the correct answer box print for each question based on the AI OCR model (403). For example, in a textbook image, each question may be printed in a square-shaped answer box. The OCR engine 111 recognizes the square-shaped print included in the first area corresponding to the first question among the plurality of divided areas, thereby recognizing the answer box print for the first question based on the AI OCR model. You can.

OCR 엔진 (111) 은 각 문항에 대해, 인식된 정답 박스 안 필기체를 AI OCR 모델에 기초하여 인식할 수 있다 (404). 예를 들어, OCR 엔진 (111) 은 제 1 문항에 대해 인식된 정답 박스 인쇄체 내에 기재된 손글씨를 AI OCR 모델에 기초하여 인식할 수 있다. OCR 엔진 (111) 은 인식된 필기체를 사용자가 제 1 문항에 대해 기재한 답에 대응하는 것으로서 판단할 수 있다. The OCR engine 111 can recognize the handwriting in the recognized answer box for each question based on the AI OCR model (404). For example, the OCR engine 111 may recognize handwriting written in the recognized answer box print for the first question based on an AI OCR model. The OCR engine 111 may determine the recognized handwriting as corresponding to the answer the user wrote to the first question.

도 5는 본 개시의 몇몇 실시 예들에 따른 AI 자동 채점 튜터봇 (100) 이 교재 이미지로부터 인쇄체 및 필기체를 인쇄하는 방법을 설명하기 위한 모식도를 도시한다. 도 4에 도시된 OCR 엔진 (111) 의 동작 방법이 도 5를 참조하여 보다 구체적으로 설명된다.Figure 5 shows a schematic diagram to explain how the AI automatic grading tutorbot 100 prints printed and cursive fonts from textbook images according to some embodiments of the present disclosure. The operating method of the OCR engine 111 shown in FIG. 4 is described in more detail with reference to FIG. 5.

도 1 내지 도 5를 참조하면, OCR 엔진 (111) 은 교재 이미지 내 쪽 번호 인쇄체 (501) 를 AI OCR 모델에 기초하여 인식할 수 있다. 예를 들어, OCR 엔진 (111) 은 교재 이미지의 하단부를 스캔하고, 스캔된 하단부에 포함되는 이미지 중 숫자 이미지를 추출함으로써, 쪽 번호 인쇄체를 AI OCR 모델에 기초하여 인식할 수 있다. 도시된 실시 예에서, OCR 엔진 (111) 은 교재 이미지의 좌측 하단부에 포함된 숫자 이미지를 추출할 수 있다. OCR 엔진 (111) 은 추출된 숫자 이미지가 정수 “88” 에 대응한다고 추론할 수 있다. OCR 엔진 (111) 은 정수 “88” 에 대응하는 교재 이미지 좌측 하단부에 포함된 숫자 이미지를, 교재 이미지 내 쪽 번호 인쇄체로서 판단할 수 있다. 이에 따라, 사용자 단말 (10) 로부터 수신된 교재 이미지의 쪽 번호가 “88” 임이, AI 자동 채점 튜터봇 (100) 에 의해 인식될 수 있다.Referring to FIGS. 1 to 5, the OCR engine 111 can recognize the page number print font 501 within the textbook image based on the AI OCR model. For example, the OCR engine 111 can scan the lower part of a textbook image and extract a number image from the images included in the scanned lower part, thereby recognizing the page number print font based on the AI OCR model. In the illustrated embodiment, the OCR engine 111 may extract a numeric image included in the lower left part of the textbook image. The OCR engine 111 may infer that the extracted numeric image corresponds to the integer “88”. The OCR engine 111 may determine the number image included in the lower left corner of the textbook image corresponding to the integer “88” as a printed page number within the textbook image. Accordingly, the AI automatic grading tutorbot 100 can recognize that the page number of the textbook image received from the user terminal 10 is “88.”

다음으로, OCR 엔진 (111) 은 교재 이미지를 문항 별로 분할할 수 있다. 예를 들어, OCR 엔진 (111) 은 교재 이미지를 다수의 영역들로 분할할 수 있으며, 각 영역은 교재 이미지가 대응하는 교재의 “88” 쪽에 기재된 다섯 개의 문항들 중 어느 하나의 문항에 대응할 수 있다. 도시된 실시 예에서, 제 1 영역 (502) 은 교재의 “88” 쪽에 기재된 다섯 개의 문항들 중 제 1 문항, 즉 “01” 번 문항에 대응할 수 있다.Next, the OCR engine 111 can segment the textbook image by question. For example, the OCR engine 111 may divide a textbook image into multiple regions, and each region may correspond to any one of the five questions listed on page “88” of the textbook to which the textbook image corresponds. there is. In the illustrated embodiment, the first area 502 may correspond to the first question, that is, question “01”, among the five questions listed on page “88” of the textbook.

그리고, OCR 엔진 (111) 은 각 문항에 대해, 정답 박스 인쇄체를 AI OCR 모델에 기초하여 인식할 수 있다. 본 개시의 몇몇 실시 예들에 있어서, AI 자동 채점 튜터봇 (100) 이 자동 채점을 제공할 수 있는 교재에는, 각 문항 마다 사각형 형태의 정답 박스가 인쇄되어 있을 수 있다. 예를 들어, 도시된 실시 예에서, 제 1 문항에 대해 제 1 정답 박스 인쇄체 (503) 가, 제 1 영역 (502) 내에 인쇄되어 있을 수 있다. And, the OCR engine 111 can recognize the answer box print for each question based on the AI OCR model. In some embodiments of the present disclosure, in a textbook for which the AI automatic grading tutorbot 100 can provide automatic grading, a rectangular answer box may be printed for each question. For example, in the illustrated embodiment, a first answer box 503 for the first question may be printed in the first area 502.

정답 박스 인쇄체의 형태 및 위치는, 도시된 실시 예에 한정되지 아니한다. 예를 들어, 도시된 실시 예에서 정답 박스 인쇄체는 사각형의 형태로 제공되었으나, 몇몇 실시 예들에 있어서, 정답 박스 인쇄체는 문항이 인쇄된 부분과 구별되는 형태로서, OCR 엔진 (111) 에 의해 식별 가능한 기호의 형태일 수 있다. 예를 들어, 정답 박스 인쇄체는 원형이거나 삼각형 등의 도형일 수 있다. 다른 예를 들어, 정답 박스 인쇄체는 밑줄 기호일 수도 있다.The shape and location of the answer box print are not limited to the illustrated embodiment. For example, in the illustrated embodiment, the answer box print font is provided in a square shape, but in some embodiments, the answer box print font has a shape that is distinct from the part where the question is printed, and can be identified by the OCR engine 111. It may be in the form of a symbol. For example, the answer box print may be circular or triangular in shape. As another example, the answer box typography could be an underscore symbol.

정답 박스 인쇄체의 사용을 통해, 사용자가 기재한 답의 AI OCR 모델에 기초하여 인식의 정확도가 개선될 수 있다. 도시된 실시 예에서, 정답 박스 인쇄체가 존재하지 않는다면, OCR 엔진 (111) 은 숫자 “3” 이 아닌 다른 숫자를 사용자가 정답으로서 기재한 필기체로서 인식할 수도 있다. 예를 들어, OCR 엔진 (111) 은 사용자가 문제를 풀이하기 위해 기재한 수학식 등에 기재된 숫자를, 사용자가 기재한 정답으로서 잘못 인식할 수도 있다. 정답 박스 인쇄체를 먼저 AI OCR 모델에 기초하여 인식하고 이후 정답 박스 인쇄체 내 필기체를 AI OCR 모델에 기초하여 인식함으로써, 사용자가 손글씨로 기재한 정답의 AI OCR 모델에 기초하여 인식의 정확도가 개선될 수 있다. Through the use of answer box printing, the accuracy of recognition can be improved based on the AI OCR model of the answers entered by the user. In the illustrated embodiment, if the correct answer box typography is not present, OCR engine 111 may recognize a number other than the number “3” as a cursive letter written by the user as the correct answer. For example, the OCR engine 111 may incorrectly recognize numbers written in a mathematical formula written by the user to solve a problem as the correct answer written by the user. By first recognizing the answer box print font based on the AI OCR model and then recognizing the cursive text in the answer box print font based on the AI OCR model, the accuracy of recognition can be improved based on the AI OCR model of the correct answer written in the user's handwriting. there is.

도시된 실시 예에서, 제 1 문항에 대해, OCR 엔진 (111) 은 제 1 영역 (502) 으로부터 제 1 정답 박스 인쇄체 (503) 에 대응하는 사각형의 이미지를 AI OCR 모델에 기초하여 인식할 수 있다. OCR 엔진 (111) 은 인식된 사각형의 이미지를 제 1 정답 박스 인쇄체 (503) 로서 판단할 수 있다.In the illustrated embodiment, for the first question, the OCR engine 111 may recognize a square image corresponding to the first answer box print 503 from the first area 502 based on the AI OCR model. . The OCR engine 111 may determine the recognized square image as the first answer box print font 503.

유사한 방식으로, OCR 엔진 (111) 은 교재 “88” 쪽의 나머지 문항들에 대해서도, 정답 박스 인쇄체들을 각각 AI OCR 모델에 기초하여 인식할 수 있다.In a similar way, the OCR engine 111 can recognize the answer box printouts for the remaining questions on page “88” of the textbook, respectively, based on the AI OCR model.

이후, 제 1 문항에 대해, OCR 엔진 (111) 은 제 1 정답 박스 인쇄체 (503) 내의 필기체 (504) 를 AI OCR 모델에 기초하여 인식할 수 있다. 예를 들어, 도시된 실시 예에서, OCR 엔진 (111) 은 제 1 정답 박스 인쇄체 (503) 내에 사용자가 손으로 기재한 숫자 “3” (즉, 손글씨 “3”) 에 대응하는 이미지로부터, 숫자 “3” 을 AI OCR 모델에 기초하여 인식할 수 있다. Thereafter, for the first question, the OCR engine 111 may recognize the cursive font 504 in the first answer box print font 503 based on the AI OCR model. For example, in the depicted embodiment, the OCR engine 111 generates a number from an image corresponding to the number “3” handwritten by the user (i.e., a handwritten “3”) within the first answer box typography 503. “3” can be recognized based on the AI OCR model.

결과적으로, OCR 엔진 (111) 의 인쇄체 AI OCR 모델에 기초하여 인식 결과 및 필기체 AI OCR 모델에 기초하여 인식 결과에 기초하여, AI 자동 채점 튜터봇 (100) 은, 교재 “88” 쪽 “01” 번 문항에 대해 사용자가 답으로서 “3”번 선지를 선택했다고 판단할 수 있다.As a result, based on the recognition results based on the printed AI OCR model of the OCR engine 111 and the recognition results based on the cursive AI OCR model, the AI automatic grading tutorbot 100 recognizes the text “01” on page “88” of the textbook. It may be determined that the user selected option “3” as the answer to question number 3.

유사한 방식으로, OCR 엔진 (111) 은 교재 “88” 쪽의 나머지 문항들에 대해서도, 각 정답 박스 인쇄체 내 필기체를 AI OCR 모델에 기초하여 인식할 수 있다.In a similar way, the OCR engine 111 can recognize the cursive font in each answer box for the remaining questions on page “88” of the textbook based on the AI OCR model.

이후, 채점 모듈 (112) 은 OCR 엔진 (111) 의 AI OCR 모델에 기초하여 인식 결과와 교재 및 컨텐츠 DB (113) 에 저장된 해당 쪽의 정보를 비교하여, 교재 “88” 쪽의 사용자의 답을 채점할 수 있다.Afterwards, the scoring module 112 compares the recognition result with the information on the corresponding page stored in the textbook and content DB 113 based on the AI OCR model of the OCR engine 111, and determines the user's answer on page “88” of the textbook. You can grade.

도 2 내지 도 5 를 참조하여, AI 자동 채점 튜터봇 (100) 의 자동 채점 엔진 (110) 의 동작 방법이 설명되었다. 그러나, 자동 채점 엔진 (110) 의 동작 방법의 순서는 설명된 순서에 한정되지 아니한다. 예를 들어, 자동 채점 엔진 (110) 은 교재 이미지로부터 쪽 번호 인쇄체를 AI OCR 모델에 기초하여 인식하고, 해당 쪽의 정보를 교재 및 컨텐츠 DB (113) 로부터 검색할 수 있다. 해당 쪽의 정보는 해당 쪽에 포함된 문항들의 개수, 각 문항의 번호, 각 문항의 정답, 및 각 문항의 풀이에 대한 정보를 포함할 수 있다. 이후, 자동 채점 엔진 (110) 은 교재 이미지를 문항 별로 자르고, 정답 박스 인쇄체들을 AI OCR 모델에 기초하여 인식하고, 각 정답 박스 인쇄체 내 필기체를 AI OCR 모델에 기초하여 인식할 수 있다. 그리고, 자동 채점 엔진 (110) 은 인식 결과, 즉 사용자가 기재한 정답과 교재 및 컨텐츠 DB (113) 로부터 검색된 해당 쪽의 정보를 비교/대조함으로써, 사용자의 답을 채점할 수 있다.With reference to FIGS. 2 to 5 , the operation method of the automatic grading engine 110 of the AI automatic grading tutorbot 100 has been described. However, the order of the operation method of the automatic scoring engine 110 is not limited to the described order. For example, the automatic grading engine 110 can recognize the page number print font from a textbook image based on an AI OCR model and retrieve information on the corresponding page from the textbook and content DB 113. The information on the page may include the number of questions included in the page, the number of each question, the correct answer to each question, and information about the solution to each question. Afterwards, the automatic scoring engine 110 can cut the textbook image for each question, recognize the answer box print fonts based on the AI OCR model, and recognize the cursive font in each answer box print font based on the AI OCR model. And, the automatic scoring engine 110 can score the user's answer by comparing/contrasting the recognition result, that is, the correct answer entered by the user with the information on the corresponding page retrieved from the textbook and content DB 113.

다른 예를 들어, 자동 채점 엔진 (110) 은 AI OCR 모델에 기초하여 인식 결과에 기초하여 자동 채점을 수행하기 전에, 사용자로 인식 결과를 확인 및 수정하기 위한 UI 를 출력할 수도 있다. 이후, 자동 채점 엔진 (110) 은 사용자에 의해 수정된 인식 결과에 기초하여 자동 채점을 수행할 수도 있다.For another example, the automatic scoring engine 110 may output a UI for the user to check and modify the recognition result before performing automatic scoring based on the recognition result based on the AI OCR model. Thereafter, the automatic scoring engine 110 may perform automatic scoring based on the recognition result modified by the user.

몇몇 실시 예들에 있어서, OCR 엔진 (111) 은 AI OCR 모델에 기초하여 인식을 수행하기 전에, 교재 이미지를 전처리할 수 있다. 예를 들어, OCR 엔진 (111) 은 사용자가 사용자 단말 (10) 을 통해 업로드한 교재 이미지의 화질을 개선하기 위한 알고리즘을 사용하여, 교재 이미지의 선명도, 밝기, 채도 등을 조절할 수 있다. 이에 따라, 사용자가 생활 환경에서 교재를 촬영함으로 인하여 교재 이미지의 품질이 낮더라도, OCR 엔진 (111) 의 정확도가 개선될 수 있다.In some embodiments, the OCR engine 111 may preprocess textbook images before performing recognition based on an AI OCR model. For example, the OCR engine 111 can adjust the sharpness, brightness, saturation, etc. of the textbook image by using an algorithm to improve the image quality of the textbook image uploaded by the user through the user terminal 10. Accordingly, even if the quality of the textbook image is low due to the user photographing the textbook in the living environment, the accuracy of the OCR engine 111 can be improved.

도 6은 본 개시의 몇몇 실시 예들에 따른 AI 자동 채점 튜터봇 (100) 과 사용자 단말 (10) 간의 흐름도를 도시한다.FIG. 6 shows a flowchart between the AI automatic grading tutorbot 100 and the user terminal 10 according to some embodiments of the present disclosure.

도 1 및 도 6 을 참조하면, AI 자동 채점 튜터봇 (100) 은 사용자의 학습 일정을 관리하기 위한 제 1 관리 발화를 생성할 수 있다 (601). AI 자동 채점 튜터봇 (100) 은 생성된 제 1 관리 발화를 사용자 단말 (10) 로 출력할 수 있다.Referring to FIGS. 1 and 6 , the AI automatic grading tutorbot 100 may generate a first management utterance for managing the user's learning schedule (601). The AI automatic scoring tutorbot 100 can output the generated first management utterance to the user terminal 10.

예를 들어, AI 자동 채점 튜터봇 (100) 은 미리 설정된 학습 일정 (또는 스케줄, 로드맵) 에 기초하여, 사용자의 학습을 독려하기 위한 제 1 관리 발화를 생성할 수 있다. 다시 말해서, AI 자동 채점 튜터봇 (100) 은 사용자의 학습을 독려하기 위해, 사용자 단말 (10) 의 선행하는 발화 없이, 먼저 제 1 관리 발화를 생성하고, 그리고 제 1 관리 발화를 사용자 단말 (10) 로 출력할 수 있다. 이에 따라, AI 자동 채점 튜터봇 (100) 이 사용자에게 먼저 학습 상담 대화를 거는 형태로서 사용자에게 인식될 수 있다. For example, the AI automatic grading tutorbot 100 may generate a first management utterance to encourage the user's learning based on a preset learning schedule (or schedule, roadmap). In other words, in order to encourage the user's learning, the AI automatic scoring tutorbot 100 first generates a first management utterance without a preceding utterance of the user terminal 10, and then sends the first management utterance to the user terminal 10 ) can be output. Accordingly, the AI automatic grading tutor bot 100 may be recognized by the user as first having a learning consultation conversation with the user.

제 1 관리 발화에 응답하여, 사용자 단말 (10) 은 제 1 응답 발화를 AI 자동 채점 튜터봇 (100) 으로 입력할 수 있다 (603).In response to the first management utterance, the user terminal 10 may input the first response utterance into the AI automatic grading tutorbot 100 (603).

AI 자동 채점 튜터봇 (100) 은 제 1 응답 발화의 의도를 추론할 수 있다 (604). 예를 들어, AI 자동 채점 튜터봇 (100) 의 자연어 처리 엔진 (121) 은 제 1 응답 발화의 내용을 분석하고, 제 1 응답 발화에 내재된 사용자의 의도를 추론할 수 있다. The AI automatic scoring tutorbot 100 can infer the intention of the first response utterance (604). For example, the natural language processing engine 121 of the AI automatic scoring tutorbot 100 may analyze the content of the first response utterance and infer the user's intention inherent in the first response utterance.

자연어 처리 엔진 (121) 은 제 1 응답 발화로부터 하나 이상의 키워드들을 추출하고, 추출된 하나 이상의 키워드들에 기초하여 사용자의 의도를 추론할 수 있다. 몇몇 실시 예들에 있어서, 자연어 처리 엔진 (121) 은 이전 학습 대화 이력에 더 기초하여 사용자의 의도를 추론할 수 있다.The natural language processing engine 121 may extract one or more keywords from the first response utterance and infer the user's intention based on the one or more extracted keywords. In some embodiments, natural language processing engine 121 may infer the user's intent based further on previous learning conversation history.

AI 자동 채점 튜터봇 (100) 은 추론된 제 1 응답 발화의 의도 및 학습 경로 추천 알고리즘 (130) 에 기초하여, 제 2 관리 발화를 생성할 수 있다 (605). AI 자동 채점 튜터봇 (100) 은 생성된 제 2 관리 발화를 사용자 단말 (10) 로 출력할 수 있다 (606). 예를 들어, 제 2 관리 발화는, 제 1 응답 발화의 상세한 의도를 파악하기 위해 사용자에게 질문하는 형태이거나, 사용자에게 후속 처리 방안을 제안하는 형태이거나, 또는 사용자를 격려 내지 위로하는 형태일 수 있으나, 이에 한정되는 것은 아니다.The AI automatic scoring tutorbot 100 may generate a second management utterance (605) based on the inferred intention of the first response utterance and the learning path recommendation algorithm (130). The AI automatic scoring tutorbot 100 can output the generated second management utterance to the user terminal 10 (606). For example, the second management utterance may be in the form of asking the user a question to understand the detailed intention of the first response utterance, suggesting a follow-up plan to the user, or encouraging or comforting the user. , but is not limited to this.

몇몇 실시 예들에 있어서, AI 자동 채점 튜터봇 (100) 은 제 1 응답 발화로부터 대화 종료의 의도를 추론할 수 있다. 이러한 실시 예들에서, AI 자동 채점 튜터봇 (100) 은 제 2 관리 발화를 생성 및 출력함이 없이, 대화를 종료할 수 있다.In some embodiments, the AI automatic grading tutorbot 100 may infer the intention of ending the conversation from the first response utterance. In these embodiments, the AI automatic grading tutorbot 100 may end the conversation without generating and outputting a second management utterance.

몇몇 실시 예들에 있어서, AI 자동 채점 튜터봇 (100) 은 제 1 응답 발화로부터 사용자 의도를 추론하지 못할 수 있다. 예를 들어, 학습 대화 처리 엔진 (120) 은 제 1 응답 발화로부터 키워드를 추출하는 데 실패하는 것에 응답하여, 사용자 의도의 추론을 실패한 것으로 판단할 수 있다. 다른 예를 들어, 학습 대화 처리 엔진 (120) 은 제 1 응답 발화로부터 추출된 키워드들에 기초하여 추론된 사용자의 의도가 정확할 확률이 미리 설정된 임계치보다 낮으면, 사용자 의도의 추론을 실패한 것으로 판단할 수 있다. In some embodiments, the AI automatic grading tutorbot 100 may not be able to infer user intent from the first response utterance. For example, learning conversation processing engine 120 may determine that inference of user intent has failed in response to failing to extract a keyword from the first response utterance. For another example, the learning conversation processing engine 120 may determine that the inference of the user's intention has failed if the probability that the user's intention inferred based on the keywords extracted from the first response utterance is accurate is lower than a preset threshold. You can.

사용자 의도의 추론을 실패한 것으로 판단하는 것에 기초하여, 학습 대화 처리 엔진 (120) 은 제 2 관리 발화 대신에, 폴백 블록을 호출하고, 폴백 블록을 사용자 단말 (10) 로 제공할 수 있다. 폴백 블록은, 사용자의 연령 등에 기초하여 사용자의 눈높이에 맞춘 다양한 응답 메시지들을 포함할 수 있다. 예를 들어, 폴백 블록은 사용자의 발화의 재입력을 유도하는 메시지를 포함할 수 있다. 다른 예를 들어, 폴백 블록은 사용자의 학습 이력 등에 기초하여 사용자가 입력할 가능성이 높다고 판단되는 의도를 갖는 하나 이상의 메시지들 (예를 들어, “다 했는데 책을 다른 곳에 두고 왔어.”, “오늘 분량은 벌써 다 풀었어.”, “알겠어. 이제 풀어 볼게.” 등) 을 중 어느 하나를 선택할 수 있는 버튼들을 사용자 단말 (10) 로 제공할 수 있다.Based on determining that the inference of the user intention has failed, the learning conversation processing engine 120 may call a fallback block and provide the fallback block to the user terminal 10 instead of the second management utterance. The fallback block may include various response messages tailored to the user's eye level based on the user's age, etc. For example, the fallback block may include a message that induces the user to re-enter the utterance. As another example, a fallback block may contain one or more messages with intent that the user is likely to enter based on the user's learning history, etc. (e.g., “I'm done, but I left the book somewhere else,” “Today.” Buttons for selecting one of the following (“I’ve already solved all the parts.”, “I understand. I’ll solve it now.”, etc.) can be provided to the user terminal (10).

몇몇 실시 예들에 있어서, AI 자동 채점 튜터봇 (100) 의 학습 대화 처리 엔진 (120) 은, AI 자동 채점 튜터봇 (100) 의 사용자의 발화 습관에 대해 미리 훈련되어 있을 수 있다. 예를 들어, 학습 대화 처리 엔진 (120) 은 초등학생 및 중학생의 자연어 대화 데이터에 기초하여 미리 훈련될 수 있다.In some embodiments, the learning conversation processing engine 120 of the AI automatic grading tutorbot 100 may be trained in advance on the speech habits of the user of the AI automatic grading tutorbot 100. For example, the learning conversation processing engine 120 may be trained in advance based on natural language conversation data of elementary school students and middle school students.

몇몇 실시 예들에 있어서, AI 자동 채점 튜터봇 (100) 은 다양한 발화 시나리오들에 대해 미리 인지할 수 있다. 예를 들어, AI 자동 채점 튜터봇 (100) 의 학습 대화 처리 엔진 (120) 은, 학습 대화 시나리오들에 기초하여 미리 훈련되어 있을 수 있다. 학습 대화 처리 엔진 (120) 은 추론된 제 1 응답 발화의 의도에 기초하여, 미리 훈련된 학습 대화 시나리오들 중에서 어느 한 시나리오를 선택할 수 있다. 학습 대화 처리 엔진 (120) 은 선택된 학습 대화 시나리오에 기초하여, 제 2 관리 발화를 생성할 수 있다.In some embodiments, the AI automatic grading tutorbot 100 may recognize various speech scenarios in advance. For example, the learning conversation processing engine 120 of the AI automatic grading tutorbot 100 may be trained in advance based on learning conversation scenarios. The learning dialogue processing engine 120 may select one of the pre-trained learning dialogue scenarios based on the inferred intention of the first response utterance. Learning dialogue processing engine 120 may generate a second management utterance based on the selected learning dialogue scenario.

도 7은 본 개시의 몇몇 실시 예들에 따른 AI 자동 채점 튜터봇 (100) 의 동작 인터페이스의 모식도를 도시한다.FIG. 7 shows a schematic diagram of the operation interface of the AI automatic grading tutorbot 100 according to some embodiments of the present disclosure.

도 1, 도 6, 및 도 7 을 참조하면, AI 자동 채점 튜터봇 (100) 은 사용자의 학습 일정을 관리하기 위한 관리 발화 (701) 를 생성하고, 그리고 사용자 단말 (10) 로 관리 발화 (701) 를 출력할 수 있다. 관리 발화 (701) 는 사용자의 이름과, 사용자의 학습 일정에 따라 관리 발화 (701) 의 출력 시점에 사용자가 학습해야 할 교재의 분량에 대한 정보를 포함할 수 있다.Referring to FIGS. 1, 6, and 7, the AI automatic grading tutorbot 100 generates a management utterance 701 for managing the user's learning schedule, and sends the management utterance 701 to the user terminal 10. ) can be output. The management utterance 701 may include the user's name and information about the amount of textbooks the user should learn at the time of output of the management utterance 701 according to the user's learning schedule.

AI 자동 채점 튜터봇 (100) 은 사용자 단말 (10) 로부터 관리 발화 (701) 에 대응하는 응답 발화 (702) 를 수신할 수 있다. AI 자동 채점 튜터봇 (100) 은 응답 발화 (702) 에 내재된 사용자의 의도를 추론하고, 추론 결과에 기초하여 응답 발화 (702) 에 대응하는 관리 발화 (703) 를 생성하고, 관리 발화 (703) 를 사용자 단말 (10) 로 출력할 수 있다.The AI automatic scoring tutorbot 100 may receive a response utterance 702 corresponding to the management utterance 701 from the user terminal 10. The AI automatic scoring tutorbot 100 infers the user's intention inherent in the response utterance 702, generates a management utterance 703 corresponding to the response utterance 702 based on the inference result, and manages the management utterance 703. ) can be output to the user terminal (10).

예를 들어, AI 자동 채점 튜터봇 (100) 의 자연어 처리 엔진 (121) 은 응답 발화 (702) 로부터 하나 이상의 키워드들을 추출하고, 추출된 하나 이상의 키워드들에 기초하여 응답 발화 (702) 의 의도를 추론할 수 있다. 자연어 처리 엔진 (121) 은 추출된 하나 이상의 키워드들로부터, 응답 발화 (702) 에 내재된 사용자의 감정이나 학습 상태, 또는 학습과 관련된 돌발 상황 등을 추론할 수 있다. 예를 들어, 자연어 처리 엔진 (121) 은 미리 훈련된 다양한 학습 대화 시나리오들 중 추출된 하나 이상의 키워드들에 대응하는 학습 대화 시나리오를 선택할 수 있다. 자연어 처리 엔진 (121) 은 선택된 학습 대화 시나리오에 기초하여, 응답 발화 (702) 의 의도를 추론할 수 있다. 자연어 처리 엔진 (121) 의 추론 결과에 기초하여, 응답 생성 모듈 (122) 은 관리 발화 (703) 를 생성할 수 있다.For example, the natural language processing engine 121 of the AI automatic scoring tutorbot 100 extracts one or more keywords from the response utterance 702 and determines the intent of the response utterance 702 based on the one or more extracted keywords. can be inferred. The natural language processing engine 121 may infer the user's emotion or learning state inherent in the response utterance 702, or an unexpected situation related to learning, from one or more extracted keywords. For example, the natural language processing engine 121 may select a learning conversation scenario corresponding to one or more keywords extracted from various pre-trained learning conversation scenarios. The natural language processing engine 121 may infer the intent of the response utterance 702 based on the selected learning conversation scenario. Based on the inference results of the natural language processing engine 121, the response generation module 122 may generate the management utterance 703.

도시된 실시 예에서, 자연어 처리 엔진 (121) 은 응답 발화 (702) 로부터, “책”, “놓고 왔어” 등의 키워드들을 추출할 수 있다. 자연어 처리 엔진 (121) 은 추출된 키워드들로부터, 현재 시점에서 사용자가 교재를 소지하고 있지 않다는 응답 발화 (702) 의 의도를 추론할 수 있다. 추론 결과에 기초하여, AI 자동 채점 튜터봇 (100) 은 학습 일정의 조율의 필요성을 인식하고, 학습 추천 경로 알고리즘 (130) 을 통해 저장된 학습 일정을 조정할 수 있다. 예를 들어, AI 자동 채점 튜터봇 (100) 은 학습 추천 경로 알고리즘 (130) 을 통해 오늘의 학습 분량이 내일의 학습 분량에 포함되도록 학습 일정을 조정할 수 있다. 응답 생성 모듈 (122) 은 학습 일정을 미래 시점으로 지연시킴으로써 학습 일정을 관리하기 위한 관리 발화 (703) 를 생성하고, 생성된 관리 발화 (703) 를 사용자 단말 (710) 로 출력할 수 있다. In the illustrated embodiment, the natural language processing engine 121 may extract keywords such as “book,” “I left it behind,” etc. from the response utterance 702. The natural language processing engine 121 can infer from the extracted keywords the intention of the response utterance 702 that the user does not possess the textbook at the current time. Based on the inference results, the AI automatic grading tutor bot 100 recognizes the need for coordination of the learning schedule and can adjust the stored learning schedule through the learning recommendation path algorithm 130. For example, the AI automatic grading tutorbot 100 can adjust the learning schedule so that today's learning amount is included in tomorrow's learning amount through the learning recommendation path algorithm 130. The response generation module 122 may generate a management utterance 703 for managing the learning schedule by delaying the learning schedule to a future time, and output the generated management utterance 703 to the user terminal 710.

도시된 실시 예에서, 사용자는 관리 발화 (703) 에 대응하는 응답 발화 (704) 를 AI 자동 채점 튜터봇 (100) 으로 전송할 수 있다. 자연어 처리 엔진 (121) 은 응답 발화 (704) 로부터 키워드 “응” 을 추출할 수 있다. 자연어 처리 엔진 (121) 은 응답 발화 (704) 로부터 추출된 키워드와, 이전 학습 대화 이력, 예를 들어 응답 발화 (702) 및 관리 발화들 (701, 703) 에 더 기초하여, 응답 발화 (704) 에 내재된 대화 종료의 의도를 추론할 수 있다. 이에 따라, AI 자동 채점 튜터봇 (100) 은 응답 발화 (704) 에 대한 응답을 생성 및 출력함이 없이, 대화를 종료할 수 있다.In the illustrated embodiment, the user may transmit a response utterance 704 corresponding to the management utterance 703 to the AI automatic grading tutorbot 100. The natural language processing engine 121 can extract the keyword “yes” from the response utterance 704. Natural language processing engine 121 further bases the keywords extracted from response utterance 704 and previous learning conversation history, such as response utterance 702 and management utterances 701, 703, into response utterance 704. The intention to end the conversation inherent in can be inferred. Accordingly, the AI automatic grading tutorbot 100 can end the conversation without generating and outputting a response to the response utterance 704.

응답 발화 (702) 에 대응하여 학습 일정을 조율한 것에 기초하여, AI 자동 채점 튜터봇 (100) 은 사용자의 학습 일정을 관리하기 위한 관리 발화 (705) 를 생성하고, 그리고 사용자 단말 (10) 로 관리 발화 (705) 를 출력할 수 있다. 관리 발화 (705) 는 조율된 학습 일정에 기초하여, 관리 발화 (705) 의 생성 시점의 학습 분량뿐만 아니라, 관리 발화 (701) 의 생성 시점의 학습 분량에 대해서도 학습을 독려하는 의도를 포함할 수 있다.Based on adjusting the learning schedule in response to the response utterance 702, the AI automatic grading tutorbot 100 generates a management utterance 705 for managing the user's learning schedule, and sends it to the user terminal 10. Management utterance 705 can be output. The management utterance 705 may include the intention to encourage learning not only for the amount of learning at the time of creation of the management utterance 705, but also for the amount of learning at the time of creation of the management utterance 701, based on the coordinated learning schedule. there is.

도시된 실시 예에서, 관리 발화 (705) 는 관리 발화 (701) 와 동일한 시각에 사용자 단말 (10) 로 출력될 수 있다. 예를 들어, AI 자동 채점 튜터봇 (100) 은 미리 설정된 시각 또는 사용자에 의해 설정된 시각에, 학습 일정을 관리하기 위한 관리 발화를 생성하고 생성된 관리 발화를 사용자 단말 (10) 로 출력할 수 있다. 다시 말해서, AI 자동 채점 튜터봇 (100) 은 주기적으로 관리 발화를 생성하고 이를 사용자 단말 (10) 로 출력할 수 있다. 도시된 실시 예에서 AI 자동 채점 튜터봇 (100) 의 관리 발화 생성 주기는 24 시간이나, 본 개시는 이에 한정되지 아니한다. AI 자동 채점 튜터봇 (100) 의 관리 발화 생성 주기는 미리 설정될 수도 있고, 사용자에 의해 조정될 수도 있다.In the illustrated embodiment, the management speech 705 may be output to the user terminal 10 at the same time as the management speech 701. For example, the AI automatic scoring tutorbot 100 may generate management utterances for managing the learning schedule at a preset time or a time set by the user and output the generated management utterances to the user terminal 10. . In other words, the AI automatic scoring tutor bot 100 can periodically generate management utterances and output them to the user terminal 10. In the illustrated embodiment, the management utterance generation cycle of the AI automatic scoring tutorbot 100 is 24 hours, but the present disclosure is not limited to this. The management utterance generation cycle of the AI automatic scoring tutorbot 100 may be set in advance or adjusted by the user.

도 8은 본 개시의 몇몇 실시 예들에 따른 AI 자동 채점 튜터봇 (100) 의 동작 인터페이스의 모식도를 도시한다.FIG. 8 shows a schematic diagram of the operation interface of the AI automatic grading tutorbot 100 according to some embodiments of the present disclosure.

도 1 및 도 6 내지 8 을 참조하면, 도 7은 AI 자동 채점 튜터봇 (100) 에 의해 대화가 개시되는 실시 예를 도시할 수 있고, 이와 대조적으로, 도 8 은 사용자에 의해 대화가 개시되는 실시 예를 도시할 수 있다.Referring to Figures 1 and 6 to 8, Figure 7 may illustrate an embodiment in which a conversation is initiated by the AI automatic grading tutorbot 100, and in contrast, Figure 8 shows an example in which a conversation is initiated by a user. An example can be shown.

보다 구체적으로, 도 8에 도시된 실시 예에서, AI 자동 채점 튜터봇 (100) 은 사용자로부터 제 1 발화 (801) 를 수신할 수 있다. AI 자동 채점 튜터봇 (100) 은 제 1 발화 (801) 에 내재된 사용자의 의도를 추론할 수 있다. 예를 들어, AI 자동 채점 튜터봇 (100) 의 자연어 처리 엔진 (121) 은 제 1 발화 (801) 로부터 “공부” 및 “안 됐어” 의 키워드들을 추출할 수 있다. 자연어 처리 엔진 (121) 은 추출된 키워드들에 기초하여, 제 1 발화 (801) 에 오늘 학습이 잘 이루어지지 않았다는 사용자의 의도를 추론할 수 있다.More specifically, in the embodiment shown in FIG. 8, the AI automatic grading tutorbot 100 may receive the first utterance 801 from the user. The AI automatic scoring tutorbot 100 can infer the user's intention inherent in the first utterance 801. For example, the natural language processing engine 121 of the AI automatic grading tutorbot 100 can extract keywords such as “study” and “I didn’t get it” from the first utterance 801. The natural language processing engine 121 may infer the user's intention that the first utterance 801 did not learn well today based on the extracted keywords.

제 1 발화 (801) 에 응답하여, AI 자동 채점 튜터봇 (100) 은 제 2 발화 (802) 를 생성하고 그리고 제 2 발화 (802) 를 사용자 단말 (10) 로 출력할 수 있다. 도시된 실시 예에서, AI 자동 채점 튜터봇 (100) 은 사용자의 상세한 의도를 유도하기 위한 질문을 제 2 발화 (802) 로서 생성할 수 있다. 예를 들어, AI 자동 채점 튜터봇 (100) 은 오늘 학습이 잘 이루어지지 않았다는 제 1 발화의 의도에 대해 학습이 잘 이루어지지 않은 이유를 분석하기 위해, 학습이 잘 이루어지지 않은 이유에 대한 질문을 포함하는 제 2 발화 (802) 를 생성할 수 있다.In response to the first utterance 801, the AI automatic grading tutorbot 100 may generate a second utterance 802 and output the second utterance 802 to the user terminal 10. In the illustrated embodiment, the AI automatic grading tutorbot 100 may generate a question to induce the user's detailed intention as the second utterance 802. For example, the AI automatic scoring tutor bot 100 asks questions about why learning was not done well in order to analyze the reason for not learning well about the intention of the first utterance that learning was not done well today. It is possible to generate a second utterance 802 including.

AI 자동 채점 튜터봇 (100) 은, 제 2 발화 (802) 에 대응하는 제 3 발화 (803) 를 수신할 수 있다. AI 자동 채점 튜터봇 (100) 은 제 3 발화 (803) 에 내재된 사용자의 의도를 추론할 수 있다. 예를 들어, AI 자동 채점 튜터봇 (100) 의 자연어 처리 엔진 (121) 은 제 3 발화 (803) 로부터 “모르는 게”, “많았어” 의 키워드들을 추출할 수 있다. 자연어 처리 엔진 (121) 은 추출된 키워드들에 기초하여, 학습 내용을 잘 이해하지 못했다는 제 3 발화 (803) 의 의도를 추론할 수 있다.The AI automatic grading tutorbot 100 can receive the third utterance 803 corresponding to the second utterance 802. The AI automatic scoring tutorbot 100 can infer the user's intention inherent in the third utterance 803. For example, the natural language processing engine 121 of the AI automatic scoring tutorbot 100 can extract keywords such as “I don’t know” and “there were a lot” from the third utterance 803. The natural language processing engine 121 can infer the intention of the third utterance 803 that the learning content was not well understood based on the extracted keywords.

제 3 발화 (803) 에 대응하여, AI 자동 채점 튜터봇 (100) 은 제 4 발화 (804) 를 생성하고, 그리고 생성된 제 4 발화 (804) 를 사용자 단말 (10) 로 출력할 수 있다. AI 자동 채점 튜터봇 (100) 은 추론된 제 3 발화 (803) 의 의도 및 학습 경로 추천 알고리즘 (130) 에 기초하여 사용자에게 제공하기 위한 후속 처리 방안을 선택하고, 선택된 후속 처리 방안에 대응하는 발화를 제 4 발화 (804) 로서 생성할 수 있다. In response to the third utterance 803, the AI automatic grading tutorbot 100 may generate a fourth utterance 804, and output the generated fourth utterance 804 to the user terminal 10. The AI automatic scoring tutorbot 100 selects a follow-up processing plan to provide to the user based on the intention of the inferred third utterance 803 and the learning path recommendation algorithm 130, and selects an utterance corresponding to the selected follow-up processing plan. can be produced as the fourth utterance 804.

몇몇 실시 예들에 있어서, 후속 처리 방안들은 학습 독려, 추가 학습 방법의 제공, 이전 채점 결과를 사용한 격려, 및 학습 일정 조율을 포함할 수 있다. 학습 경로 추천 알고리즘 (130) 은 복수의 후속 처리 방안들 중 추론된 제 3 발화 (803) 의 의도에 기초하여 어느 한 후속 처리 방안을 선택하는 알고리즘을 포함할 수 있다.In some embodiments, follow-up measures may include encouraging learning, providing additional learning methods, encouraging using previous grading results, and coordinating learning schedules. The learning path recommendation algorithm 130 may include an algorithm that selects one of the plurality of subsequent processing methods based on the inferred intention of the third utterance 803.

도시된 실시 예에서, AI 자동 채점 튜터봇 (100) 은 추론된 제 3 발화 (803) 의 의도 및 학습 경로 추천 알고리즘 (130) 에 기초하여, 이전의 채점 결과를 사용하여 사용자를 격려하고, 추가 학습 방법을 제공하는 것을 후속 처리 방안으로 선택할 수 있다. AI 자동 채점 튜터봇 (100) 은 학습 경로 추천 알고리즘 (130) 의 사용자 모델링 및 학습 이력 등에 기초하여, 추가 학습 방법으로서 복습하는 것을 제공하도록 결정할 수 있다. AI 자동 채점 튜터봇 (100) 은 선택된 후속 처리 방안에 대응하는 제 4 발화 (804) 를 생성할 수 있다. In the illustrated embodiment, the AI automatic grading tutorbot 100 uses previous grading results to encourage the user and add additional information based on the intent of the inferred third utterance 803 and the learning path recommendation algorithm 130. Providing a learning method can be selected as a follow-up method. The AI automatic scoring tutor bot 100 may decide to provide review as an additional learning method based on the user modeling and learning history of the learning path recommendation algorithm 130. The AI automatic scoring tutorbot 100 can generate a fourth utterance 804 corresponding to the selected follow-up processing plan.

도 9는 본 개시의 몇몇 실시 예들에 따른 AI 자동 채점 튜터봇 (100) 의 OCR 엔진 (111) 을 구축하는 방법의 흐름도를 도시한다.FIG. 9 shows a flowchart of a method of building the OCR engine 111 of the AI automatic grading tutorbot 100 according to some embodiments of the present disclosure.

몇몇 실시 예들에 있어서, 도 9에 도시된 방법은 AI 자동 채점 튜터봇 (100) 에 OCR 엔진 (111) 이 탑재되기 전에 외부 컴퓨팅 장치에 의해 미리 수행될 수 있다. 몇몇 실시 예들에 있어서, 도 9에 도시된 방법은 AI 자동 채점 튜터봇 (100) 에 의해서 수행될 수도 있다.In some embodiments, the method shown in FIG. 9 may be performed in advance by an external computing device before the OCR engine 111 is mounted on the AI automatic grading tutorbot 100. In some embodiments, the method shown in FIG. 9 may be performed by the AI automatic grading tutorbot 100.

먼저, 교재 데이터 및 학생이 푼 문제지 데이터가 수집될 수 있다 (901). 예를 들어, 교재의 이미지 데이터 (또는 문제지 원본 이미지 데이터) 와, 학생 (또는 학습자, 사용자 등) 이 답안을 수기로 기재한 문제지의 이미지 데이터가, 훈련 데이터로서 수집될 수 있다. First, textbook data and student-solved question paper data can be collected (901). For example, image data of a textbook (or original image data of a question paper) and image data of a question paper in which a student (or learner, user, etc.) writes answers by hand may be collected as training data.

다음으로, 수집된 이미지 데이터 각각에 대해, 인식 대상이 되는 이미지 영역이 레이블링될 수 있다 (902). 예를 들어, 교재 이미지 데이터에 있어서, 쪽 번호 인쇄체를 인식하기 위한 교재 하단부의 영역, 각 문항에 대응하는 이미지 영역들, 한 이미지 영역 내 정답 박스 인쇄체가 위치하는 영역, 및 정답 박스 인쇄체 내 필기체가 위치하는 영역 등이 레이블링될 수 있다. 다른 예를 들어, 학생이 답안을 수기로 기재한 문제지의 이미지 데이터에 있어서, 정답 박스 인쇄체 내 필기체 영역이 레이블링될 수 있다.Next, for each collected image data, the image area subject to recognition may be labeled (902). For example, in textbook image data, the area at the bottom of the textbook for recognizing page number print, image areas corresponding to each question, the area where the answer box print font is located in one image area, and the cursive text in the answer box print font. The located area, etc. may be labeled. As another example, in image data of a question paper in which a student writes answers by hand, the cursive area within the answer box print may be labeled.

레이블링된 이미지에 기초하여, OCR 엔진 (111) 의 AI 모델 (예를 들어, AI OCR 모델) 이 피팅될 수 있다 (903). 예를 들어, OCR 엔진 (111) 의 AI 모델은 레이블링된 이미지 데이터를 훈련 데이터로 사용하여, 지도 학습 알고리즘에 기초하여 훈련될 수 있다. Based on the labeled image, an AI model (e.g., AI OCR model) of OCR engine 111 may be fitted (903). For example, the AI model of the OCR engine 111 can be trained based on a supervised learning algorithm, using labeled image data as training data.

몇몇 실시 예들에 있어서, OCR 엔진 (111) 의 AI 모델은 이미지 데이터셋을 입력 데이터로 갖는 다양한 신경망들 중 어느 하나 또는 그들의 조합으로서 구축될 수 있다. 예를 들어, OCR 엔진 (111) 의 AI 모델은 손글씨 OCR 데이터셋을 학습함으로써 텍스트 밀집도가 높은 문서로부터 텍스트의 위치를 검출하는 신경망 모델 및 검출된 텍스트를 인식하는 신경망 모델의 조합으로서 구현될 수도 있다. 다시 말해서, OCR 엔진 (111) 의 AI 모델은 텍스트를 검출하기 위한 신경망 모델 및 검출된 텍스트를 인식하기 위한 모델의 조합으로서 구현될 수 있다. 몇몇 실시 예들에 있어서, OCR 엔진 (111) 의 AI 모델은 CRAFT (Character Region Awareness for Text Detector), Swin-Transformer, HRCenterNet, ResNet 등과 같은 신경망 모델들 또는 이들의 조합으로서 구현될 수 있다.In some embodiments, the AI model of the OCR engine 111 may be built as any one or a combination of various neural networks that have an image dataset as input data. For example, the AI model of the OCR engine 111 may be implemented as a combination of a neural network model that detects the location of text from a document with high text density by learning a handwriting OCR dataset and a neural network model that recognizes the detected text. . In other words, the AI model of the OCR engine 111 can be implemented as a combination of a neural network model for detecting text and a model for recognizing the detected text. In some embodiments, the AI model of the OCR engine 111 may be implemented as neural network models such as CRAFT (Character Region Awareness for Text Detector), Swin-Transformer, HRCenterNet, ResNet, etc., or a combination thereof.

피팅된 OCR 엔진 (111) 의 AI 모델은, AI 자동 채점 튜터봇 (100) 의 동작에 따라 사용자로부터 새롭게 수집되는 이미지 데이터에 기초하여 업데이트될 수 있다 (904). 예를 들어, 도 2를 참조하면, AI 자동 채점 튜터봇 (100) 은 OCR 엔진 (111) 의 인식 결과에 대한 피드백 (확인 응답) 을 사용자로 요청할 수 있다 (205). AI 자동 채점 튜터봇 (100) 은 사용자로부터 제공되는 피드백 (예를 들어, 206 에서, UI 에 응답하여 입력되는 인식 결과 확인 응답) 에 기초하여, 피팅된 OCR 엔진 (111) 의 AI 모델을 OCR 엔진 (111) 의 인식 결과를 사용하여 다시 훈련시킬 수 있다.The AI model of the fitted OCR engine 111 may be updated based on image data newly collected from the user according to the operation of the AI automatic scoring tutorbot 100 (904). For example, referring to FIG. 2, the AI automatic grading tutorbot 100 may request feedback (confirmation response) on the recognition result of the OCR engine 111 from the user (205). The AI automatic scoring tutorbot 100 converts the AI model of the fitted OCR engine 111 into the OCR engine based on feedback provided from the user (e.g., recognition result confirmation response input in response to the UI at 206). It can be retrained using the recognition results of (111).

몇몇 실시 예들에 있어서, 피팅된 OCR 엔진 (111) 의 AI 모델의 업데이트 (904) 는 AI 자동 채점 튜터봇 (100) 에 의해 주기적으로 수행될 수 있다. 예를 들어, AI 자동 채점 튜터봇 (100) 은 사용자로부터 답안이 기재된 교재 이미지를 수신하고 자동 채점을 수행하는 횟수가 일정 횟수를 초과할 때마다 (예를 들어, 매번 자동 채점을 할 때마다) OCR 엔진 (111) 의 AI 모델을 업데이트할 수 있다. 다른 예를 들어, AI 자동 채점 튜터봇 (100) 은 미리 설정된 주기로 (예를 들어, 일주일에 한 번 등) OCR 엔진 (111) 의 AI 모델을 주기적으로 업데이트할 수 있다.In some embodiments, updating 904 of the AI model of the fitted OCR engine 111 may be performed periodically by the AI automatic grading tutorbot 100. For example, the AI automatic grading tutorbot 100 receives a textbook image with answers from the user and performs automatic grading whenever the number of times exceeds a certain number of times (for example, each time automatic grading is performed). The AI model of the OCR engine 111 can be updated. For another example, the AI automatic grading tutorbot 100 may periodically update the AI model of the OCR engine 111 at a preset interval (e.g., once a week, etc.).

도 10은 본 개시의 몇몇 실시 예들에 따른 AI 자동 채점 튜터봇 (100) 의 자연어 처리 엔진 (121) 을 구축하는 방법의 흐름도를 도시한다.FIG. 10 shows a flowchart of a method for building the natural language processing engine 121 of the AI automatic grading tutorbot 100 according to some embodiments of the present disclosure.

몇몇 실시 예들에 있어서, 도 10에 도시된 방법은 AI 자동 채점 튜터봇 (100) 에 자연어 처리 엔진 (121) 이 탑재되기 전에 외부 컴퓨팅 장치에 의해 미리 수행될 수 있다. 몇몇 실시 예들에 있어서, 도 10에 도시된 방법은 AI 자동 채점 튜터봇 (100) 에 의해서 수행될 수도 있다.In some embodiments, the method shown in FIG. 10 may be performed in advance by an external computing device before the natural language processing engine 121 is mounted on the AI automatic grading tutorbot 100. In some embodiments, the method shown in FIG. 10 may be performed by the AI automatic grading tutorbot 100.

먼저, 사용자 대화 의도별 학습 문구 및 응답 데이터가 수집될 수 있다 (1001). 예를 들어, 학생들 사이의 대화 로그 또는 학생과 교사 사이의 대화 로그 등이 훈련 데이터로서 수집될 수 있다. First, learning phrases and response data for each user conversation intention can be collected (1001). For example, conversation logs between students or between students and teachers can be collected as training data.

다음으로, 수집된 대화 데이터 각각에 대해, 인식 대상이 되는 키워드 및 의도가 레이블링될 수 있다 (1002). 예를 들어, 수집된 각 발화에 대해 자연어 처리 엔진 (121) 이 인식해야 하는 하나 이상의 키워드들이 추출될 수 있고, 추출된 키워드들에 대응하는 의도가 레이블링될 수 있다.Next, for each collected conversation data, keywords and intentions to be recognized may be labeled (1002). For example, for each collected utterance, one or more keywords that the natural language processing engine 121 must recognize may be extracted, and intentions corresponding to the extracted keywords may be labeled.

레이블링된 대화 데이터에 기초하여, 자연어 처리 엔진 (121) 의 AI 모델 (예를 들어, 자연어 처리 AI 모델) 이 피팅될 수 있다 (1003). 예를 들어, 자연어 처리 엔진 (121) 의 AI 모델은 각 발화와 그에 레이블링된 키워드들 및 의도를 포함하는 발화 데이터셋을 훈련 데이터로 사용하여, 지도 학습 알고리즘에 기초하여 훈련 (또는 학습) 될 수 있다. Based on the labeled conversation data, an AI model (e.g., a natural language processing AI model) of the natural language processing engine 121 may be fitted (1003). For example, the AI model of the natural language processing engine 121 can be trained (or learned) based on a supervised learning algorithm, using an utterance dataset containing each utterance and the keywords and intent labeled thereto as training data. there is.

자연어 처리 엔진 (121) 의 AI 모델은, AI 자동 채점 튜터봇 (100) 의 동작에 따라 사용자로부터 새롭게 수집되는 대화 데이터에 기초하여 업데이트될 수 있다 (1004). 예를 들어, AI 자동 채점 튜터봇 (100) 과 사용자 단말 (10) 사이의 대화 로그, 예를 들어, 도 3, 7, 및 8 에 도시된 AI 자동 채점 튜터봇 (100) 과 사용자 단말 (10) 사이의 대화 로그에 기초하여, 자연어 처리 엔진 (121) 의 AI 모델이 다시 학습될 수 있다.The AI model of the natural language processing engine 121 may be updated based on conversation data newly collected from the user according to the operation of the AI automatic grading tutorbot 100 (1004). For example, a conversation log between the AI automatic grading tutorbot 100 and the user terminal 10, for example, the AI automatic grading tutorbot 100 and the user terminal 10 shown in FIGS. 3, 7, and 8. ) Based on the conversation log between the AI models of the natural language processing engine 121, the AI model can be retrained.

몇몇 실시 예들에 있어서, 자연어 처리 엔진 (121) 의 AI 모델의 업데이트 (1004) 는 AI 자동 채점 튜터봇 (100) 에 의해 주기적으로 수행될 수 있다. 예를 들어, AI 자동 채점 튜터봇 (100) 은 사용자로부터 입력된 발화의 개수가 일정 개수를 초과할 때마다 자연어 처리 엔진 (121) 의 AI 모델을 업데이트할 수 있다. 다른 예를 들어, AI 자동 채점 튜터봇 (100) 은 미리 설정된 주기로 (예를 들어, 일주일에 한 번 등) OCR 엔진 (111) 의 AI 모델을 주기적으로 업데이트할 수 있다.In some embodiments, the update 1004 of the AI model of the natural language processing engine 121 may be periodically performed by the AI automatic grading tutorbot 100. For example, the AI automatic scoring tutorbot 100 may update the AI model of the natural language processing engine 121 whenever the number of utterances input from the user exceeds a certain number. For another example, the AI automatic grading tutorbot 100 may periodically update the AI model of the OCR engine 111 at a preset interval (e.g., once a week, etc.).

도 11은 본 개시의 몇몇 실시 예들에 따른 AI 자동 채점 튜터봇 (100) 의 학습 추천 경로 알고리즘 (130) 을 구축하는 방법의 흐름도를 도시한다.FIG. 11 shows a flowchart of a method for building a learning recommendation path algorithm 130 of the AI automatic grading tutorbot 100 according to some embodiments of the present disclosure.

몇몇 실시 예들에 있어서, 도 11에 도시된 방법 중 일부는 AI 자동 채점 튜터봇 (100) 에 학습 추천 경로 알고리즘 (130) 이 탑재되기 전에 외부 컴퓨팅 장치에 의해 미리 수행될 수 있다. In some embodiments, some of the methods shown in FIG. 11 may be performed in advance by an external computing device before the learning recommendation path algorithm 130 is mounted on the AI automatic grading tutorbot 100.

몇몇 실시 예들에 있어서, 도 11에 도시된 방법은 AI 자동 채점 튜터봇 (100) 에 의해서 수행될 수도 있다.In some embodiments, the method shown in FIG. 11 may be performed by the AI automatic grading tutorbot 100.

먼저, 사용자 학습 이력 및 학습 대화 로그에 기초하여, 사용자 모델링이 수행될 수 있다 (1101). 예를 들어, 각 사용자에 대해, 사용자의 이전 학습 이력 데이터 및 사용자와 다른 학생, 또는 사용자와 교사 사이의 발화 데이터 등이, 모델링 데이터로서 수집될 수 있다. 모델링 데이터에 기초하여, 각 사용자에 대해 사용자 모델 (또는 사용자 프로파일) 이 구축될 수 있다. 각 사용자 모델은 해당 사용자의 학습 속도, 학습 성향, 학습 경로 이탈 정도, 학습 분량 이행률, 문제 풀이의 정답률, 학습 로드맵과의 적합도 등에 대한 정보를 포함할 수 있다.First, user modeling may be performed based on the user learning history and learning conversation log (1101). For example, for each user, the user's previous learning history data and speech data between the user and other students or between the user and the teacher may be collected as modeling data. Based on the modeling data, a user model (or user profile) can be built for each user. Each user model may include information about the user's learning speed, learning tendency, degree of deviation from the learning path, learning amount completion rate, correct answer rate for problem solving, degree of fit with the learning roadmap, etc.

다음으로, 각 사용자 모델 별로 학습 추천 규칙이 설계될 수 있다 (1102). 예를 들어, 각 사용자 모델에 대해, 오답 문항에 대해 제공되어야 하는 풀이의 상세 정도, 평균 학습 분량, 학습 순서, 사용자로 제공되기 위한 학습 대화 시나리오의 성향 등이 결정될 수 있다.Next, a learning recommendation rule can be designed for each user model (1102). For example, for each user model, the level of detail of the solution to be provided for incorrectly answered questions, the average amount of learning, the learning order, and the tendency of learning conversation scenarios to be provided to users may be determined.

이후, AI 자동 채점 튜터봇 (100) 의 각 사용자에게, 학습 추천 규칙이 설계된 대응하는 사용자 모델에 기초하여, 오답 클리닉, 학습 관리 발화, 및 후속 학습 과정 추천이 제공될 수 있다. AI 자동 채점 튜터봇 (100) 은 OCR 엔진 (111) 을 통해 수집된 학습 이력, 자연어 처리 엔진 (121) 을 통해 수집된 사용자의 대화 로그, 및 AI 자동 채점 튜터봇 (100) 으로부터 각 사용자로 제공된 오답 클리닉, 학습 관리 발화, 및 후속 학습 과정 추천 등에 대응하는 사용자의 반응과, 이후 사용자의 학습 이력을 추적하고, 사용자의 반응 및 학습 이력 추적 결과를 사용자 데이터로서 수집할 수 있다. 및 학습 이력 추적 결과는 AI 자동 채점 튜터봇 (100) 로부터 제공된 서비스에 후속하여 사용자의 학습 성취도가 개선되었는지 여부, 학습 분량의 증감량, 학습 경로 이탈의 감소 여부 등을 포함할 수 있다.Thereafter, each user of the AI automatic grading tutorbot 100 may be provided with incorrect answer clinics, learning management utterances, and subsequent learning course recommendations based on the corresponding user model for which learning recommendation rules are designed. The AI automatic scoring tutorbot (100) uses the learning history collected through the OCR engine (111), the user's conversation log collected through the natural language processing engine (121), and the information provided to each user from the AI automatic scoring tutorbot (100). The user's reaction in response to the incorrect answer clinic, learning management speech, and subsequent learning course recommendation, and the user's subsequent learning history can be tracked, and the user's reaction and learning history tracking results can be collected as user data. And the learning history tracking results may include whether the user's learning achievement has improved following the service provided by the AI automatic scoring tutor bot 100, the amount of increase or decrease in the amount of learning, and whether deviation from the learning path has been reduced.

AI 자동 채점 튜터봇 (100) 은 수집된 사용자 데이터에 기초하여, 학습 경로 추천 알고리즘 (130) 의 AI 모델을 피팅할 수 있다 (1103). 예를 들어, 학습 경로 추천 알고리즘 (130) 의 AI 모델은 각 사용자 모델링과 대응하는 사용자 데이터를 서로 레이블링하고, 레이블링된 데이터에 기초하여 학습 경로 추천 알고리즘 (130) 의 AI 모델을 훈련시킬 수 있다. 학습 경로 추천 알고리즘 (130) 의 AI 모델은 RNN 등에 기초할 수 있다.The AI automatic scoring tutorbot 100 can fit the AI model of the learning path recommendation algorithm 130 based on the collected user data (1103). For example, the AI model of the learning path recommendation algorithm 130 may label each user model and the corresponding user data, and train the AI model of the learning path recommendation algorithm 130 based on the labeled data. The AI model of the learning path recommendation algorithm 130 may be based on RNN, etc.

피팅된 학습 경로 추천 알고리즘 (130) 의 AI 모델은, AI 자동 채점 튜터봇 (100) 의 동작에 따라 사용자로부터 새롭게 수집되는 데이터에 기초하여 업데이트될 수 있다 (1104). 예를 들어, AI 자동 채점 튜터봇 (100) 은 각 사용자로부터 수집된 학습 이력 및 대화 로그를 사용하여, 학습 경로 추천 알고리즘 (130) 의 AI 모델을 다시 훈련시킬 수 있다.The AI model of the fitted learning path recommendation algorithm 130 may be updated based on data newly collected from the user according to the operation of the AI automatic grading tutorbot 100 (1104). For example, the AI automatic scoring tutorbot 100 can retrain the AI model of the learning path recommendation algorithm 130 using the learning history and conversation log collected from each user.

몇몇 실시 예들에 있어서, 학습 경로 추천 알고리즘 (130) 의 AI 모델의 업데이트 (1104) 는 AI 자동 채점 튜터봇 (100) 에 의해 주기적으로 수행될 수 있다. 예를 들어, AI 자동 채점 튜터봇 (100) 은 사용자로부터 답안이 기재된 교재 이미지를 수신하고 자동 채점을 수행하는 횟수가 일정 횟수를 초과할 때마다 (예를 들어, 매번 자동 채점을 할 때마다) 학습 경로 추천 알고리즘 (130) 의 AI 모델을 업데이트할 수 있다. 다른 예를 들어, AI 자동 채점 튜터봇 (100) 은 미리 설정된 주기로 (예를 들어, 일주일에 한 번 등) 학습 경로 추천 알고리즘 (130) 의 AI 모델을 주기적으로 업데이트할 수 있다. 또 다른 예를 들어, AI 자동 채점 튜터봇 (100) 은 사용자로부터 입력된 발화의 개수가 일정 개수를 초과할 때마다 학습 경로 추천 알고리즘 (130) 의 AI 모델을 업데이트할 수 있다.In some embodiments, the update 1104 of the AI model of the learning path recommendation algorithm 130 may be performed periodically by the AI automatic grading tutorbot 100. For example, the AI automatic grading tutorbot 100 receives a textbook image with answers from the user and performs automatic grading whenever the number of times exceeds a certain number of times (for example, each time automatic grading is performed). The AI model of the learning path recommendation algorithm 130 can be updated. For another example, the AI automatic grading tutorbot 100 may periodically update the AI model of the learning path recommendation algorithm 130 at a preset interval (e.g., once a week, etc.). For another example, the AI automatic scoring tutorbot 100 may update the AI model of the learning path recommendation algorithm 130 whenever the number of utterances input from the user exceeds a certain number.

도 12는 본 개시의 몇몇 실시 예들에 따른 통신 시스템의 블록도를 도시한다.12 shows a block diagram of a communication system according to some embodiments of the present disclosure.

도 12 를 참조하면, 통신 시스템은 사용자 단말 (1210), 네트워크 (1220), 및 서버 (1230) 를 포함할 수 있다. Referring to FIG. 12 , the communication system may include a user terminal 1210, a network 1220, and a server 1230.

몇몇 실시 예들에 있어서, 통신 시스템은 하나 이상의 사용자 단말들 (예를 들어, 송신 단말 및 수신 단말), 하나 이상의 서버들 (예를 들어, 중개 서버 및 클라이언트 서버), 및 하나 이상의 네트워크들을 포함할 수도 있다. 이러한 실시 예들에 있어서, 각 사용자 단말 및 각 서버는 서로 다른 네트워크를 통하여 연결될 수도 있다.In some embodiments, a communication system may include one or more user terminals (e.g., a sending terminal and a receiving terminal), one or more servers (e.g., an intermediate server and a client server), and one or more networks. there is. In these embodiments, each user terminal and each server may be connected through different networks.

사용자 단말 (1210) 은 서버 (1230) 로부터 통신 신호를 네트워크 장치 (1220) 를 거쳐 송신 또는 수신할 수 있다. 몇몇 실시 예들에 있어서, 사용자 단말 (1210) 에는 애플리케이션 (Application) 이 설치되어 있을 수 있다. 예를 들어, 사용자 단말 (1210) 에는 자동 채점 및 학습 관리 플랫폼을 제공하기 위한 다양한 애플리케이션 프로그램 인터페이스 (Application Program Interface; API) 또는 임베디드 소프트웨어를 포함하는 애플리케이션이 설치되어 있을 수 있다. 이러한 애플리케이션은 사용자 단말 (1210) 내 하나 이상의 프로세서들 상에서 구동될 수 있다.The user terminal 1210 may transmit or receive a communication signal from the server 1230 via the network device 1220. In some embodiments, an application may be installed on the user terminal 1210. For example, the user terminal 1210 may be installed with applications including various application program interfaces (APIs) or embedded software to provide an automatic grading and learning management platform. These applications may run on one or more processors within user terminal 1210.

사용자 단말 (1210) 은 설치된 애플리케이션을 통해 서버 (1230) 로 데이터 또는 신호를 송신하거나 또는 수신할 수 있다. 몇몇 실시 예들에 있어서, 사용자 단말 (1210) 은 스마트폰, 태블릿 컴퓨터, 웨어러블 장치, 및 랩탑 컴퓨터 등을 포함할 수 있다.The user terminal 1210 can transmit or receive data or signals to the server 1230 through an installed application. In some embodiments, user terminal 1210 may include a smartphone, tablet computer, wearable device, laptop computer, etc.

네트워크 (1220) 는 사용자 단말 (1210) 및 서버 (1230) 사이의 텍스트 데이터, 이미지 데이터, 또는 영상 데이터 등 데이터 송수신을 위한 유무선 데이터 통신망을 포함할 수 있다. The network 1220 may include a wired or wireless data communication network for transmitting and receiving data such as text data, image data, or video data between the user terminal 1210 and the server 1230.

몇몇 실시 예들에 있어서, 네트워크 (1220) 는 광케이블을 이용하여 데이터의 송수신 서비스를 제공하는 광케이블 기반 유선 통신 시스템일 수 있다.In some embodiments, the network 1220 may be an optical cable-based wired communication system that provides data transmission and reception services using optical cables.

몇몇 실시 예들에 있어서, 네트워크 (1220) 는 인터넷 프로토콜(IP)을 통하여 대용량 데이터의 송수신 서비스를 제공하는 아이피(IP: Internet Protocol)망 또는 서로 다른 IP 망을 통합한 올 아이피(All IP) 망 일 수 있다. In some embodiments, the network 1220 is an IP (Internet Protocol) network that provides large data transmission and reception services through the Internet Protocol (IP), or an All IP network that integrates different IP networks. You can.

몇몇 실시 예들에 있어서, 네트워크 (1220) 는 유선망 및 Wibro (Wireless Broadband) 망, WCDMA를 포함하는 이동통신망, HSDPA (High Speed Downlink Packet Access) 망 및 LTE (Long Term Evolution) 망을 포함하는 이동통신망, LTE advanced (LTE-A) 를 포함하는 이동통신망, 위성 통신망 및 와이파이(Wi-Fi)망 중 하나 이거나 또는 하나 이상을 결합하여 이루어질 수 있다.In some embodiments, the network 1220 is a mobile communication network including a wired network and a Wibro (Wireless Broadband) network, a mobile communication network including WCDMA, a High Speed Downlink Packet Access (HSDPA) network, and a Long Term Evolution (LTE) network. It may be one of a mobile communication network including LTE advanced (LTE-A), a satellite communication network, and a Wi-Fi network, or a combination of one or more of them.

서버 (1230) 는 네트워크 (1220) 를 통해 사용자 단말 (1210) 과 데이터 송수신이 가능한 컴퓨팅 장치일 수 있다. 몇몇 실시 예들에 있어서, 서버 (1230) 는 PC (Personal Computer), 노트북 컴퓨터, 태블릿 PC (Tablet Personal Computer) 등 데이터를 송수신할 수 있는 컴퓨팅 장치로서 구현될 수 있다.The server 1230 may be a computing device capable of transmitting and receiving data to and from the user terminal 1210 through the network 1220. In some embodiments, the server 1230 may be implemented as a computing device capable of transmitting and receiving data, such as a personal computer (PC), a laptop computer, or a tablet personal computer (Tablet PC).

몇몇 실시 예들에 있어서, 서버 (1230) 는 클라우드(Cloud) 서버, IMS(IP Multimedia Subsystem) 서버, 텔레포니 어플리케이션(Telephony Application) 서버, IM(Instant Messaging) 서버, MGCF(Media Gateway Control Function) 서버, MSG(Messaging Gateway) 서버, CSCF(Call Session Control Function) 서버를 포함할 수 있다.In some embodiments, server 1230 is a cloud server, an IP Multimedia Subsystem (IMS) server, a Telephony Application server, an Instant Messaging (IM) server, a Media Gateway Control Function (MGCF) server, and an MSG. (Messaging Gateway) server and CSCF (Call Session Control Function) server.

서버 (1230) 는 프로세서 (1231), 메모리 (1232), 및 통신 장치 (1233) 를 포함할 수 있다.Server 1230 may include a processor 1231, memory 1232, and communication device 1233.

프로세서 (1231) 는 서버 (1230) 의 중앙 청리 장치로서의 기능을 수행할 수 있다. 프로세서 (1231) 는 메모리 (1232) 로 로드된 소프트웨어, 펌웨어, 프로그램 코드들, 또는 명령어들을 실행함으로써, 서버 (1230) 의 동작을 제어할 수 있다. The processor 1231 may perform a function as a central cleaning device of the server 1230. The processor 1231 may control the operation of the server 1230 by executing software, firmware, program codes, or instructions loaded into the memory 1232.

몇몇 실시예들에 있어서, 프로세서 (1231) 는 메모리 (1232) 에 저장된 프로그램 코드를 실행함으로써 도 1 의 AI 자동 채점 튜터봇 (100) 을 구동할 수 있다. 다시 말해서, 도 1 의 AI 자동 채점 튜터봇 (100) 은, 메모리 (1232) 로 로드되어 프로세서 (1231) 에 의해 실행되는 프로그램 코드, 명령어, 또는 모바일 애플리케이션 프로그램으로서 구현될 수 있다.In some embodiments, processor 1231 may drive AI automatic grading tutorbot 100 of FIG. 1 by executing program code stored in memory 1232. In other words, the AI automatic grading tutorbot 100 of FIG. 1 may be implemented as program code, instructions, or a mobile application program that is loaded into the memory 1232 and executed by the processor 1231.

몇몇 실시 예들에 있어서, 프로세서 (1231) 는 하나 이상의 프로세서들의 집합일 수 있다. 몇몇 실시 예들에 있어서, 프로세서 (1231) 는 하나 이상의 코어들을 포함할 수 있다.In some embodiments, processor 1231 may be a collection of one or more processors. In some embodiments, processor 1231 may include one or more cores.

메모리 (1232) 는 프로세서 (1231) 에 의해 처리되거나 처리될 예정인 데이터, 소프트웨어, 펌웨어, 프로그램 코드들, 또는 명령어들을 저장할 수 있다. 예를 들어, 프로세서 (1231) 에 의해 서버 (1230) 를 제어하기 위한 소프트웨어, 펌웨어, 프로그램 코드들, 또는 명령어들은 메모리 (1232) 로 로드될 수 있다. 메모리 (1232) 는 DRAM (Dynamic Random Access Memory) 또는 SRAM (Static RAM) 등을 포함할 수 있다.Memory 1232 may store data, software, firmware, program codes, or instructions to be processed or processed by processor 1231. For example, software, firmware, program codes, or instructions for controlling the server 1230 by the processor 1231 may be loaded into the memory 1232. The memory 1232 may include Dynamic Random Access Memory (DRAM) or Static RAM (SRAM).

몇몇 실시예들에 있어서, 메모리 (1232) 는 프로세서 (1231) 에 의해 실행 가능한, AI 자동 채점 튜터봇 (100) 의 프로그램 코드를 저장하는 비일시적 컴퓨터 판독가능 매체일 수 있다. 메모리 (1232) 의 개수는 하나 이상일 수 있다. In some embodiments, memory 1232 may be a non-transitory computer-readable medium that stores program code of AI automatic grading tutorbot 100, executable by processor 1231. The number of memories 1232 may be one or more.

통신 장치 (1233) 는 서버 (1230) 의 외부 장치와 통신할 수 있다. 예를 들어, 프로세서 (1232) 의 제어 하에, 통신 장치 (1233) 는 다양한 유선 또는 무선 프로토콜들에 기초하여, 네트워크 (1220) 를 통해 사용자 단말 (1210) 로 데이터를 전송하고, 그리고 사용자 단말 (1210) 로부터 데이터를 수신할 수 있다.The communication device 1233 can communicate with a device external to the server 1230. For example, under the control of processor 1232, communication device 1233 transmits data to user terminal 1210 via network 1220, based on various wired or wireless protocols, and ) can receive data from.

몇몇 실시 예들에 있어서, 서버 (1230) 는 인공지능 챗봇 (예를 들어, 도 1의 AI 자동 채점 튜터봇 (100)) 을 통해 자동 채점을 수행하기 위해 사용자 단말 (1210) 과 네트워크 (1220) 를 통해 통신하는 서버일 수 있다.In some embodiments, the server 1230 connects the user terminal 1210 and the network 1220 to perform automatic grading through an artificial intelligence chatbot (e.g., AI automatic grading tutorbot 100 in FIG. 1). It may be a server that communicates through.

본 개시에서 개시된 방법 또는 프로세스에서 설명된 처리의 순서는 일 예로서 설명된 것이다. 따라서 필요에 따라 각 단계들의 순서는 본 발명의 사상 내에서 조정될 수 있다. 또한 본 명세서에서 개시된 디바이스 및 시스템은 본 명세서에서 설명된 기능들을 수행할 수 있는 수단들을 포함할 수 있고, 필요에 따라 독립된 디바이스 또는 시스템으로 구현되거나 또는 다른 시스템과 연동되거나 통합된 형태로 존재할 수도 있다.The sequence of processing described in the method or process disclosed in this disclosure is described as an example. Therefore, the order of each step can be adjusted within the spirit of the present invention as needed. Additionally, the devices and systems disclosed in this specification may include means capable of performing the functions described in this specification, and, if necessary, may be implemented as independent devices or systems, or may exist in a linked or integrated form with other systems. .

본 개시에서 설명된 기술들은 적어도 부분적으로 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 임의의 조합으로 구현될 수도 있다. 이들은 예를 들어 하나 이상의 프로세서들, DSP, ASIC, FPGA, 또는 등가의 집적 또는 이산 로직 회로, 또는 이들 중 적어도 하나 이상의 임의의 조합으로 구현될 수도 있다. 이러한 하드웨어, 소프트웨어 및 펌웨어는 본 명세서에 개시된 처리들 및 기능들을 지원하기 위해 하나의 또는 복수개의 시스템이나 디바이스 내에서 구현될 수 있고, 또는 다른 시스템이나 디바이스와 연동되거나 통합된 형태로 구현될 수도 있다. 또한, 본 명세서에서 설명된 컴포넌트들은 별개이지만 상호 운용 가능한 로직 디바이스들과 함께 또는 별개로 구현될 수도 있다. 본 명세서에서 구분되어 설명된 각 기능 및 처리들은 각각의 기능을 강조하기 위하여 그와 같이 설명된 것일 뿐, 그러한 기능들이 각각 별개의 하드웨어, 펌웨어 또는 소프트웨어 컴포넌트들에 실현되어야 하는 것은 아니며, 공통의 또는 별개의 하드웨어 및/또는 소프트웨어의 조합 내에 통합될 수도 있다. 용어 "프로세서" 또는 "프로세싱 회로"는 일반적으로 임의의 전술된 로직 회로 단독 또는 다른 로직 회로와 결합된 것, 또는 임의의 다른 등가 회로를 지칭할 수도 있다. 하드웨어를 포함하는 제어 유닛은 본 발명물의 기술들 중 하나 이상을 수행할 수도 있다.The techniques described in this disclosure may be implemented, at least in part, in hardware, software, firmware, or any combination thereof. They may be implemented, for example, as one or more processors, DSP, ASIC, FPGA, or equivalent integrated or discrete logic circuitry, or any combination of at least one or more of these. Such hardware, software, and firmware may be implemented within one or multiple systems or devices to support the processes and functions disclosed herein, or may be implemented in a linked or integrated form with other systems or devices. . Additionally, the components described herein may be implemented separately or together with separate but interoperable logic devices. Each function and process separately described in this specification is only described as such to emphasize each function, and such functions do not have to be realized in separate hardware, firmware, or software components, and do not need to be implemented in common or It may also be integrated within a combination of separate hardware and/or software. The term “processor” or “processing circuit” may generally refer to any of the above-described logic circuits, alone or in combination with other logic circuits, or any other equivalent circuit. A control unit comprising hardware may perform one or more of the techniques of the present invention.

본 개시의 기술 분야에서 통상의 지식을 가진 자는 여기에 개시된 실시예들과 관련하여 설명된 다양한 예시적인 논리 블록들, 모듈들, 프로세서들, 수단들, 회로들 및 알고리즘 단계들이 전자 하드웨어, (편의를 위해, 여기에서 "소프트웨어"로 지칭되는) 다양한 형태들의 프로그램 또는 설계 코드 또는 이들 모두의 결합에 의해 구현될 수 있다는 것을 이해할 것이다. 하드웨어 및 소프트웨어의 이러한 상호 호환성을 명확하게 설명하기 위해, 다양한 예시적인 컴포넌트들, 블록들, 모듈들, 회로들 및 단계들이 이들의 기능과 관련하여 위에서 일반적으로 설명되었다. 이러한 기능이 하드웨어 또는 소프트웨어로서 구현되는지 여부는 특정한 애플리케이션 및 전체 시스템에 대하여 부과되는 설계 제약들에 따라 좌우된다. 본 개시의 기술 분야에서 통상의 지식을 가진 자는 각각의 특정한 애플리케이션에 대하여 다양한 방식들로 설명된 기능을 구현할 수 있으나, 이러한 구현 결정들은 본 개시의 범위를 벗어나는 것으로 해석되어서는 안 될 것이다.Those skilled in the art will understand that the various illustrative logical blocks, modules, processors, means, circuits and algorithm steps described in connection with the embodiments disclosed herein may be used in electronic hardware, (for convenience) It will be understood that the implementation may be implemented by various forms of program or design code (referred to herein as “software”) or a combination of both. To clearly illustrate this interoperability of hardware and software, various illustrative components, blocks, modules, circuits and steps have been described above generally with respect to their functionality. Whether this functionality is implemented as hardware or software depends on the specific application and design constraints imposed on the overall system. A person skilled in the art of this disclosure may implement the described functionality in various ways for each specific application, but such implementation decisions should not be construed as departing from the scope of this disclosure.

본 개시에서 제시된 다양한 실시예들은 방법, 장치, 또는 표준 프로그래밍 및/또는 엔지니어링 기술을 사용한 제조 물품(article)으로 구현될 수 있다. 용어 "제조 물품"은 임의의 컴퓨터-판독가능 장치로부터 액세스 가능한 컴퓨터 프로그램, 캐리어, 또는 매체(media)를 포함한다. 여기서 매체는 저장 매체 및 전송 매체를 포함할 수 있다. 예를 들어, 컴퓨터-판독가능 저장 매체는 자기 저장 장치(예를 들면, 하드 디스크, 플로피 디스크, 자기 스트립, 등), 광학 디스크(예를 들면, CD, DVD, 등), 스마트 카드, 및 플래쉬 메모리 장치(예를 들면, EEPROM, 카드, 스틱, 키 드라이브, 등)를 포함하지만, 이들로 제한되는 것은 아니다. 또한, 여기서 제시되는 다양한 저장 매체는 정보를 저장하기 위한 하나 이상의 장치 및/또는 다른 기계-판독가능한 매체를 포함한다. 또한, 전송 매체는 명령(들) 및/또는 데이터를 전달할 수 있는 무선 채널 및 다양한 다른 매체를 포함하지만, 이들로 제한되는 것은 아니다.The various embodiments presented in this disclosure may be implemented as a method, device, or article of manufacture using standard programming and/or engineering techniques. The term “article of manufacture” includes a computer program, carrier, or media accessible from any computer-readable device. Here, the medium may include a storage medium and a transmission medium. For example, computer-readable storage media include magnetic storage devices (e.g., hard disks, floppy disks, magnetic strips, etc.), optical disks (e.g., CDs, DVDs, etc.), smart cards, and flash. Includes, but is not limited to, memory devices (e.g., EEPROM, cards, sticks, key drives, etc.). Additionally, various storage media presented herein include one or more devices and/or other machine-readable media for storing information. Transmission media also includes, but is not limited to, wireless channels and various other media capable of conveying instruction(s) and/or data.

본 개시에서 설명된 실시예들은 또한 어떤 태스크들이 통신 네트워크를 통해 연결되어 있는 원격 처리 장치들에 의해 수행되는 분산 컴퓨팅 환경에서 실시될 수 있다. 분산 컴퓨팅 환경에서, 프로그램 모듈은 로컬 및 원격 메모리 저장 장치 둘다에 위치할 수 있다.Embodiments described in this disclosure can also be practiced in distributed computing environments where certain tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote memory storage devices.

또한, 본 개시에서 설명된 기술들은 또한 명령들을 포함하는 컴퓨터 판독가능 저장 매체에서 구현되거나 저장될 수도 있다. 그리고 컴퓨터 판독가능 매체에 저장된 명령들은 각 장치에서 프로세서에 의해 그 명령과 관련된 방법 및 처리가 수행되게 할 수 있다. 컴퓨터 판독가능 저장 매체는 RAM, ROM, PROM, EPROM, EEPROM, 플래시 메모리, 하드 디스크, CD-ROM, 자기 매체, 광학 매체, 또는 기타 저장 매체들을 포함할 수도 있다.Additionally, the techniques described in this disclosure may also be implemented or stored in a computer-readable storage medium containing instructions. And instructions stored in a computer-readable medium can cause methods and processing related to the instructions to be performed by a processor in each device. Computer-readable storage media may include RAM, ROM, PROM, EPROM, EEPROM, flash memory, hard disk, CD-ROM, magnetic media, optical media, or other storage media.

이상 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.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 its 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.

100: 인공지능 (AI) 자동 채점 튜터봇
110: 자동 채점 엔진
120: 학습 대화 처리 엔진
130: 학습 경로 추천 알고리즘
100: Artificial Intelligence (AI) automatic grading tutorbot
110: Automatic scoring engine
120: Learning conversation processing engine
130: Learning path recommendation algorithm

Claims (17)

인공지능 (AI) 챗봇을 통해 자동 채점을 수행하기 위해 사용자 단말과 네트워크를 통해 통신하는 서버에 있어서,
하나 이상의 코어들을 포함하는 프로세서; 및
메모리를 포함하고,
상기 프로세서는:
상기 사용자 단말로부터 수신되는 교재 이미지에 대해 AI 광학 문자 인식 (OCR) 모델에 기초하여 자동 채점을 제공하는 자동 채점 엔진;
상기 사용자 단말로 AI 자연어 처리 모델에 기초하여 학습 상담 대화를 제공하는 학습 대화 처리 엔진; 및
상기 사용자 단말의 사용자의 학습 이력 및 상기 사용자와의 대화 로그에 기초하여 상기 사용자에 대해 모델링된 사용자 모델에 기초하는 학습 경로 추천 알고리즘을 실행하는, 서버.
In a server that communicates with a user terminal through a network to perform automatic scoring through an artificial intelligence (AI) chatbot,
A processor including one or more cores; and
contains memory,
The processor:
An automatic grading engine that provides automatic grading based on an AI optical character recognition (OCR) model for textbook images received from the user terminal;
A learning conversation processing engine that provides a learning consultation conversation based on an AI natural language processing model to the user terminal; and
A server that executes a learning path recommendation algorithm based on a user model modeled for the user based on the learning history of the user of the user terminal and the conversation log with the user.
제 1 항에 있어서,
상기 자동 채점 엔진은 상기 교재 이미지로부터 인쇄체 및 필기체를 AI 광학 문자 인식 (OCR) 모델에 기초하여 인식하는 OCR 엔진;
인식된 상기 인쇄체 및 상기 필기체에 기초하여, 상기 교재 이미지에 기재된 상기 사용자 단말의 사용자의 답을 채점하는 채점 모듈; 및
상기 교재 이미지에 포함된 문항들과 각 문항에 대한 정답 및 풀이 데이터를 저장하는 교재 및 컨텐츠 데이터베이스 (DB) 를 포함하는, 서버.
According to claim 1,
The automatic grading engine includes an OCR engine that recognizes printed and cursive fonts from the textbook image based on an AI optical character recognition (OCR) model;
a scoring module that scores the answer of the user of the user terminal described in the textbook image based on the recognized printed font and the cursive font; and
A server including a textbook and content database (DB) that stores the questions included in the textbook image and the correct answers and solution data for each question.
제 2 항에 있어서,
상기 프로세서에 의해 실행될 때, 상기 AI OCR 모델을 사용하여, 상기 OCR 엔진은:
상기 교재 이미지로부터, 쪽 번호 인쇄체를 인식하고;
상기 교재 이미지를 하나 이상의 영역들로 분할하며, 상기 하나 이상의 영역들은 상기 교재 이미지에 포함된 하나 이상의 문항들에 각각 대응하고;
상기 하나 이상의 영역들 중 제 1 문항에 대응하는 제 1 영역으로부터, 제 1 정답 박스 인쇄체를 인식하고;
인식된 상기 제 1 정답 박스 인쇄체 안에 기재된 필기체를 인식하고; 그리고
인식된 상기 필기체를 상기 사용자가 상기 제 1 문항에 대해 기재한 답에 대응하는 것으로서 판단하는, 서버.
According to claim 2,
When executed by the processor, using the AI OCR model, the OCR engine:
From the textbook image, recognize the page number print font;
dividing the textbook image into one or more regions, wherein the one or more regions each correspond to one or more questions included in the textbook image;
recognize a first answer box printout from a first area corresponding to a first question among the one or more areas;
recognize the cursive written in the recognized first answer box print; and
A server that determines the recognized handwriting as corresponding to an answer written by the user to the first question.
제 2 항에 있어서,
상기 프로세서에 의해 실행될 때, 상기 채점 모듈은:
상기 교재 이미지로부터 인식된 상기 인쇄체에 대응하는 문항 및 상기 문항의 정답 및 풀이를 상기 교재 및 컨텐츠 DB 로부터 검색하고;
상기 검색된 정답과, 상기 교재 이미지로부터 인식된 상기 필기체에 대응하는 상기 사용자의 상기 답을 비교하는, 서버.
According to claim 2,
When executed by the processor, the scoring module:
searching the textbook and content DB for questions corresponding to the printed text recognized from the textbook image and correct answers and solutions to the questions;
A server that compares the searched correct answer with the user's answer corresponding to the cursive recognized from the textbook image.
제 2 항에 있어서,
상기 프로세서에 의해 실행될 때, 상기 자동 채점 엔진은 상기 OCR 엔진의 인식 결과를 제공하기 위한 사용자 인터페이스 (UI) 를 상기 사용자 단말로 출력하고,
싱기 UI 는 상기 인식 결과의 수정 여부에 대한 질의를 포함하는, 서버.
According to claim 2,
When executed by the processor, the automatic scoring engine outputs a user interface (UI) for providing recognition results of the OCR engine to the user terminal,
Singi UI is a server that includes a query about whether to modify the recognition result.
제 5 항에 있어서,
상기 프로세서에 의해 실행될 때, 상기 자동 채점 엔진은:
상기 UI 에 응답하여, 상기 사용자 단말로부터, 상기 사용자에 의해 수정된 인식 결과를 수신하고; 그리고
상기 수정된 인식 결과에 기초하여, 상기 사용자의 답을 다시 채점하는, 서버.
According to claim 5,
When executed by the processor, the automatic scoring engine:
In response to the UI, receive a recognition result modified by the user from the user terminal; and
A server that re-scores the user's answer based on the modified recognition result.
제 5 항에 있어서,
상기 프로세서에 의해 실행될 때, 상기 자동 채점 엔진은, 상기 교재 이미지로부터 인식된 상기 인쇄체 및 상기 필기체, 상기 자동 채점의 결과, 및 상기 AI OCR 엔진의 인식 결과를 상기 사용자로 확인하기 위한 UI 에 대한 상기 사용자의 응답에 기초하여, 상기 AI OCR 모델을 업데이트하는, 서버.
According to claim 5,
When executed by the processor, the automatic grading engine is configured to: the printed font and the cursive font recognized from the textbook image, the result of the automatic grading, and the UI for confirming with the user the recognition result of the AI OCR engine. A server that updates the AI OCR model based on the user's response.
제 1 항에 있어서,
상기 프로세서에 의해 실행될 때, 상기 학습 대화 처리 엔진은, 상기 교재 이미지에 기재된 상기 사용자의 상기 답이 오답이라고 채점되는 것에 응답하여, 상기 오답에 대한 풀이, 틀린 문제와 유사한 문제, 또는 후속 추천 학습 방법 중 적어도 하나가 포함된 채점 결과 발화를 생성하고,
상기 오답에 대한 풀이, 상기 틀린 문제와 유사한 문제, 및 상기 후속 추천 학습 방법은, 학습 경로 추천 알고리즘에 기초하여 선택되는, 서버.
According to claim 1,
When executed by the processor, the learning dialogue processing engine, in response to the user's answer described in the textbook image being scored as an incorrect answer, provides a solution for the incorrect answer, a problem similar to the incorrect problem, or a subsequent recommended learning method. Generate a scoring result utterance containing at least one of
A server wherein the solution to the incorrect answer, a problem similar to the incorrect problem, and the subsequent recommended learning method are selected based on a learning path recommendation algorithm.
제 1 항에 있어서,
상기 프로세서에 의해 실행될 때, 상기 학습 대화 처리 엔진은:
상기 사용자 단말로부터 수신되는 제 1 발화를 AI 자연어 처리 모델에 기초하여 분석하는 자연어 처리 엔진;
상기 자연어 처리 엔진의 분석 결과에 기초하여, 상기 사용자 단말로 출력되기 위한 제 2 발화를 생성하기 위한 응답 생성 모듈; 및
상기 사용자의 학습 이력 및 상기 사용자와의 학습 대화 로그를 저장하는 학습 이력 DB 를 포함하는, 서버.
According to claim 1,
When executed by the processor, the learning conversation processing engine:
a natural language processing engine that analyzes the first utterance received from the user terminal based on an AI natural language processing model;
a response generation module for generating a second utterance to be output to the user terminal based on the analysis result of the natural language processing engine; and
A server comprising a learning history DB that stores the user's learning history and a learning conversation log with the user.
제 9 항에 있어서,
상기 프로세서에 의해 실행될 때, 상기 AI 자연어 처리 모델에 기초하여, 상기 자연어 처리 엔진은:
상기 제 1 발화로부터 하나 이상의 키워드들을 추출하고; 그리고
추출된 상기 하나 이상의 키워드들로부터 상기 제 1 발화의 내용을 분석하는, 서버.
According to clause 9,
When executed by the processor, based on the AI natural language processing model, the natural language processing engine:
extract one or more keywords from the first utterance; and
A server that analyzes the content of the first utterance from the one or more extracted keywords.
제 9 항에 있어서,
상기 프로세서에 의해 실행될 때, 상기 AI 자연어 처리 모델에 기초하여, 상기 응답 생성 모듈은 상기 자연어 처리 엔진의 분석 결과에 포함된 상기 제 1 발화의 내용, 상기 학습 이력 DB 에 저장된 상기 사용자의 학습 이력 및 상기 사용자와의 학습 대화 로그, 및 상기 학습 경로 추천 알고리즘에 기초하여, 상기 제 2 발화를 생성하는, 서버.
According to clause 9,
When executed by the processor, based on the AI natural language processing model, the response generation module includes the content of the first utterance included in the analysis result of the natural language processing engine, the user's learning history stored in the learning history DB, and A server that generates the second utterance based on a learning conversation log with the user and the learning path recommendation algorithm.
제 11 항에 있어서,
상기 프로세서에 의해 실행될 때, 상기 응답 생성 모듈은 상기 제 1 발화의 내용, 상기 학습 이력 DB 에 저장된 상기 사용자의 학습 이력 및 상기 사용자와의 학습 대화 로그, 및 상기 학습 경로 추천 알고리즘에 기초하여, 상기 제 1 발화의 내용에 매칭되는 학습 대화 시나리오를 결정하고; 그리고
상기 결정된 시나리오에 대응하도록 상기 제 2 발화를 생성하는, 서버.
According to claim 11,
When executed by the processor, the response generation module is based on the content of the first utterance, the learning history of the user stored in the learning history DB and the learning conversation log with the user, and the learning path recommendation algorithm, determine a learning conversation scenario matching the content of the first utterance; and
A server generating the second utterance to correspond to the determined scenario.
제 9 항에 있어서,
상기 프로세서에 의해 실행될 때:
상기 자연어 처리 엔진은, 상기 제 2 발화에 대응하는 제 3 발화를 상기 사용자로부터 수신하고, 수신된 제 3 발화의 내용을 분석하고, 분석된 상기 제 3 발화의 내용에 기초하여 대화를 종료하도록 판단하고, 그리고
상기 응답 생성 모듈은, 상기 제 3 발화에 대응하는 발화를 생성함이 없이, 대화를 종료하도록 결정하는, 서버.
According to clause 9,
When executed by said processor:
The natural language processing engine receives a third utterance corresponding to the second utterance from the user, analyzes the content of the received third utterance, and determines to end the conversation based on the analyzed content of the third utterance. do, and
The response generation module determines to end the conversation without generating an utterance corresponding to the third utterance.
제 1 항에 있어서,
상기 프로세서에 의해 실행될 때, 상기 학습 대화 처리 엔진은:
상기 사용자의 학습 일정을 관리하기 위한 제 1 발화를 생성하고;
상기 제 1 발화를 상기 사용자 단말로 출력함으로써, 상기 사용자와의 상기 학습 상담 대화를 개시하고;
상기 제 1 관리 발화에 응답하여 상기 사용자로부터 제 2 발화를 수신하고;
AI 자연어 처리 모델에 기초하여, 상기 제 2 발화의 내용을 분석하고; 그리고
분석된 상기 제 2 발화의 내용에 대응하는 제 3 발화를 상기 사용자 단말로 출력하며,
상기 제 1 발화는 상기 사용자의 학습 일정에 기초하여 상기 사용자의 학습을 독려하기 위한 발화를 포함하는, 서버.
According to claim 1,
When executed by the processor, the learning conversation processing engine:
generate a first utterance to manage the user's learning schedule;
Initiating the learning consultation conversation with the user by outputting the first utterance to the user terminal;
receive a second utterance from the user in response to the first management utterance;
Analyze the content of the second utterance based on an AI natural language processing model; and
Outputting a third utterance corresponding to the content of the analyzed second utterance to the user terminal,
The first utterance includes an utterance to encourage learning of the user based on the user's learning schedule.
제 14 항에 있어서,
상기 학습 대화 처리 엔진은 상기 제 1 발화 내지 제 3 발화에 기초하여, 상기 자연어 처리 AI 모델을 업데이트하는, 서버.
According to claim 14,
The learning conversation processing engine updates the natural language processing AI model based on the first to third utterances.
제 14 항에 있어서,
상기 제 3 발화는, 분석된 상기 제 2 발화의 내용 및 상기 학습 경로 추천 알고리즘에 기초하여 선택된 후속 처리 방안을 포함하며,
상기 학습 경로 추천 알고리즘은 상기 사용자의 학습 이력, 대화 로그, 학습 일정 등에 기초하여 복수의 후속 처리 방안들 중 어느 한 후속 처리 방안을 선택하는 알고리즘을 포함하고,
상기 복수의 후속 처리 방안들은 학습 독려, 추가 학습 방법의 제공, 이전 채점 결과를 사용한 격려, 및 학습 일정 조율을 포함하는, 서버.
According to claim 14,
The third utterance includes a subsequent processing plan selected based on the analyzed content of the second utterance and the learning path recommendation algorithm,
The learning path recommendation algorithm includes an algorithm for selecting one of a plurality of follow-up processing methods based on the user's learning history, conversation log, learning schedule, etc.,
The plurality of follow-up processing methods include encouraging learning, providing additional learning methods, encouraging using previous grading results, and coordinating a learning schedule.
챗봇을 통해 자동 채점을 수행하기 위한 컴퓨터 프로그램이 저장된 컴퓨터 판독가능 매체로서, 상기 컴퓨터 프로그램은 프로세서에 의해 실행될 때, 상기 프로세서로 하여금:
상기 사용자 단말로부터 수신되는 교재 이미지에 대해 인공지능 (AI) 광학 문자 인식 (OCR) 모델에 기초하여 자동 채점을 제공하고;
상기 사용자 단말로 AI 자연어 처리 모델에 기초하여 학습 상담 대화를 제공하고; 그리고
상기 사용자 단말의 사용자의 학습 이력 및 상기 사용자와의 대화 로그에 기초하여 상기 사용자에 대해 모델링된 사용자 모델에 기초하는 학습 경로 추천 알고리즘을 실행하도록 야기하는, 컴퓨터 판독가능 매체.
A computer-readable medium storing a computer program for performing automatic scoring through a chatbot, wherein the computer program, when executed by a processor, causes the processor to:
Provide automatic scoring for textbook images received from the user terminal based on an artificial intelligence (AI) optical character recognition (OCR) model;
providing a learning consultation conversation based on an AI natural language processing model to the user terminal; and
A computer-readable medium that causes the user terminal to execute a learning path recommendation algorithm based on a user model modeled for the user based on the user's learning history and conversation logs with the user.
KR1020220095305A 2022-08-01 2022-08-01 Autonomous grading chatbot using artificial intelligence KR20240017495A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220095305A KR20240017495A (en) 2022-08-01 2022-08-01 Autonomous grading chatbot using artificial intelligence

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220095305A KR20240017495A (en) 2022-08-01 2022-08-01 Autonomous grading chatbot using artificial intelligence

Publications (1)

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

Family

ID=89900172

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220095305A KR20240017495A (en) 2022-08-01 2022-08-01 Autonomous grading chatbot using artificial intelligence

Country Status (1)

Country Link
KR (1) KR20240017495A (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190080599A (en) 2017-12-28 2019-07-08 주식회사 카카오 Method and server for providing semi-automatic communication using chatbot and consultant

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190080599A (en) 2017-12-28 2019-07-08 주식회사 카카오 Method and server for providing semi-automatic communication using chatbot and consultant

Similar Documents

Publication Publication Date Title
US11721230B2 (en) Personalized learning system and method for the automated generation of structured learning assets based on user data
CN109940627B (en) Man-machine interaction method and system for picture book reading robot
US10388177B2 (en) Cluster analysis of participant responses for test generation or teaching
US20210279622A1 (en) Learning with limited supervision for question-answering with light-weight markov models
CN108924651B (en) Teaching video intelligent playing system based on training operation recognition
CN111144079B (en) Method and device for intelligently acquiring learning resources, printer and storage medium
CN112417158A (en) Training method, classification method, device and equipment of text data classification model
Mehta et al. Automated 3D sign language caption generation for video
CN112685550B (en) Intelligent question-answering method, intelligent question-answering device, intelligent question-answering server and computer readable storage medium
CN115438176A (en) Method and equipment for generating downstream task model and executing task
Chandiok et al. CIT: Integrated cognitive computing and cognitive agent technologies based cognitive architecture for human-like functionality in artificial systems
CN112347997A (en) Test question detection and identification method and device, electronic equipment and medium
US10380912B2 (en) Language learning system with automated user created content to mimic native language acquisition processes
US20210056957A1 (en) Ability Classification
JP7293658B2 (en) Information processing device, information processing method and program
KR20240017495A (en) Autonomous grading chatbot using artificial intelligence
Kaviya et al. Artificial intelligence based farmer assistant chatbot
US20220309936A1 (en) Video education content providing method and apparatus based on artificial intelligence natural language processing using characters
US11526541B1 (en) Method for collaborative knowledge base development
CN113569112A (en) Tutoring strategy providing method, system, device and medium based on question
CN112256743A (en) Adaptive question setting method, equipment and storage medium
KR102569339B1 (en) Speaking test system
Hossenally et al. Learning analytics for smart classroom system in a university Campus
Fernando et al. Innovative, Integrated and Interactive (3I) LMS for Learners and Trainers
US11599836B2 (en) Assigning a tutor to a cohort of students