[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

KR102718411B1 - 유사문제 제공 방법 및 그 시스템 - Google Patents

유사문제 제공 방법 및 그 시스템 Download PDF

Info

Publication number
KR102718411B1
KR102718411B1 KR1020210098870A KR20210098870A KR102718411B1 KR 102718411 B1 KR102718411 B1 KR 102718411B1 KR 1020210098870 A KR1020210098870 A KR 1020210098870A KR 20210098870 A KR20210098870 A KR 20210098870A KR 102718411 B1 KR102718411 B1 KR 102718411B1
Authority
KR
South Korea
Prior art keywords
image
similar
text
similarity
area
Prior art date
Application number
KR1020210098870A
Other languages
English (en)
Other versions
KR20230017423A (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 KR1020210098870A priority Critical patent/KR102718411B1/ko
Publication of KR20230017423A publication Critical patent/KR20230017423A/ko
Application granted granted Critical
Publication of KR102718411B1 publication Critical patent/KR102718411B1/ko

Links

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
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/53Querying
    • G06F16/538Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/583Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • G06F16/5846Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content using extracted text
    • 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
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/22Character recognition characterised by the type of writing
    • G06V30/224Character recognition characterised by the type of writing of printed characters having additional code marks or containing code marks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/40Document-oriented image-based pattern recognition
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B5/00Electrically-operated educational appliances
    • G09B5/02Electrically-operated educational appliances with visual presentation of the material to be studied, e.g. using film strip

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Tourism & Hospitality (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Library & Information Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Health & Medical Sciences (AREA)
  • Educational Technology (AREA)
  • Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Educational Administration (AREA)
  • Multimedia (AREA)
  • Artificial Intelligence (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명의 실시예에 따른 유사문제 제공 방법은, 단말의 적어도 하나의 프로세서에 의하여 실행되는 문제추천 애플리케이션이 유사문제를 제공하는 방법으로서, 복수의 문제 이미지를 포함하는 유사문제 데이터베이스를 구축하는 단계; 및 상기 구축된 유사문제 데이터베이스를 기초로 유사문제 리스트를 제공하는 단계를 포함하고, 상기 유사문제 리스트를 제공하는 단계는, 제1 문제 이미지를 획득하는 단계와, 상기 제1 문제 이미지에 대한 문제 구성영역을 검출하는 단계와, 상기 제1 문제 이미지에 대한 문제 구성요소를 검출하는 단계와, 상기 문제 구성영역 및 상기 문제 구성요소 중 적어도 하나를 기초로 상기 제1 문제 이미지와 상기 복수의 문제 이미지 각각 간의 유사도를 획득하는 단계와, 상기 획득된 유사도를 기초로 상기 제1 문제 이미지에 대한 적어도 하나의 상기 유사문제 리스트를 제공하는 단계를 포함한다.

Description

유사문제 제공 방법 및 그 시스템{METHOD AND SYSTEM FOR PROVIDING SIMILAR QUESTION}
본 발명은 유사문제 제공 방법 및 그 시스템에 관한 것이다. 보다 상세하게는, 유사문제 데이터베이스(DB)를 구축하고 이에 기초한 문제 리스트를 제공하는 유사문제 제공 방법 및 그 시스템에 관한 것이다.
일반적으로, 초/중/고 학생들이나 각종 자격시험에 응시하는 응시자들 등을 포함하는 시험자들은, 특정 시험에 응시하기에 앞서 교과서나 각종 수험서 등을 통해 자신의 학습 능력을 높인다. 즉, 학생들은 학교나 학원 등에서, 각종 자격시험 응시자들은 학원 등에서 시험을 위한 각종 자료를 얻어 공부하고 예상 문제집 등을 통해 각종 시험에 대비하게 된다.
특히, 예상되는 시험 문제 등을 미리 학습하고 풀어보는 활동의 중요성이 증대되고 있는 가운데, 온라인 학습 시장이 활성화되면서 전자 문서화된 시험 문제를 제공하는 서비스가 발전하고 있다.
그러나 종래의 본 기술분야에서는, 정해진 순서와 형태를 따르는 표준화된 시험지에 기반하여 학습을 수행해야 한다는 한계를 가지고 있다.
자세히, 다양한 지식의 수준을 가지는 시험자들은, 자신이 특히 취약한 범위나 유형 등에 속하는 다양한 유사 문제들을 집중적으로 공략하여 학습하고자 하는 니즈(needs)를 가질 수 있다.
그러나 종래의 본 기술분야에서는, 정해진 틀에 맞추어진 시험지를 구성하는 문제들을 제공하는데 그치고 있어, 시험자가 원하는 특정 유형에 기반한 다양한 형태의 유사 문제들을 용이하게 제공하기 어렵다는 문제가 있다.
또한, 일반적으로 시험을 출제하는 출제자들은, 여러가지 유형의 기존 시험 문제들을 변형하거나 새로운 문제로 재구성하는 방식으로 시험지를 제작하고 있다.
그러나 여기서도 마찬가지로, 종래의 본 기술분야에서는 특정 문제 유형에 속하는 다양한 형태의 시험 문제들을 손 쉽게 획득하여 활용할 수 있는 플랫폼이나 기술적 도입이 미비하다는 문제가 있어, 이러한 문제들을 해결하기 위한 기술 개발이 필요한 실정이다.
B1 10-1986721
본 발명은, 유사문제 데이터베이스(DB)를 구축하고 이에 기초한 문제 리스트를 제공하는 유사문제 제공 방법 및 그 시스템을 제공하는데 그 목적이 있다.
자세히, 본 발명은, 소정의 시험지 내 복수의 문제 이미지를 유사문제 별로 그룹화하여 저장 및 관리하는 유사문제 제공 방법 및 그 시스템을 제공하고자 한다.
또한, 본 발명은, 소정의 문제 이미지에 대한 적어도 하나 이상의 유사문제를 제공하는 유사문제 제공 방법 및 그 시스템을 제공하고자 한다.
또한, 본 발명은, 소정의 문제 유형에 대응되는 적어도 하나 이상의 추천문제를 제공하는 유사문제 제공 방법 및 그 시스템을 제공하고자 한다.
다만, 본 발명 및 본 발명의 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
본 발명의 실시예에 따른 유사문제 제공 방법은, 단말의 적어도 하나의 프로세서에 의하여 실행되는 문제추천 애플리케이션이 유사문제를 제공하는 방법으로서, 복수의 문제 이미지를 포함하는 유사문제 데이터베이스를 구축하는 단계; 및 상기 구축된 유사문제 데이터베이스를 기초로 유사문제 리스트를 제공하는 단계를 포함하고, 상기 유사문제 리스트를 제공하는 단계는, 제1 문제 이미지를 획득하는 단계와, 상기 제1 문제 이미지에 대한 문제 구성영역을 검출하는 단계와, 상기 제1 문제 이미지에 대한 문제 구성요소를 검출하는 단계와, 상기 문제 구성영역 및 상기 문제 구성요소 중 적어도 하나를 기초로 상기 제1 문제 이미지와 상기 복수의 문제 이미지 각각 간의 유사도를 획득하는 단계와, 상기 획득된 유사도를 기초로 상기 제1 문제 이미지에 대한 적어도 하나의 상기 유사문제 리스트를 제공하는 단계를 포함한다.
이때, 상기 문제 구성요소는, 소정의 문제 이미지 내 문제를 구성하는 텍스트, 수식 및 도형 중 적어도 하나를 포함한다.
또한, 상기 문제 구성영역은, 소정의 문제 이미지 내 문제를 구성하는 상기 문제 구성요소 전체가 차지하는 영역인 문제 전체영역, 상기 문제를 기술하는 영역인 문제설명 영역, 상기 문제에 대한 객관식 답안을 표시하는 영역인 객관식 답안 영역 및 상기 문제 내 상기 도형이 존재하는 경우 상기 도형이 차지하는 영역인 도형 영역 중 적어도 하나의 영역을 포함한다.
또한, 상기 문제 구성요소를 검출하는 단계는, 상기 텍스트와 상기 수식을 상기 문제 구성영역에 기초하여 조합한 포괄 텍스트를 생성하는 단계를 포함하고, 상기 포괄 텍스트는, 상기 문제설명 영역으로부터 검출된 텍스트와 수식을 조합하여 생성한 문제설명 텍스트 및 상기 객관식 답안 영역으로부터 검출된 텍스트와 수식을 조합하여 생성한 객관식 보기 텍스트 중 적어도 하나를 포함한다.
또한, 상기 유사문제 데이터베이스를 구축하는 단계는, 상기 복수의 문제 이미지 각각에 대한 상기 문제 구성영역 및 상기 문제 구성요소를 검출하는 단계와, 상기 검출된 문제 구성영역 및 상기 검출된 문제 구성요소를 상기 복수의 문제 이미지 각각에 매칭하여 저장하는 단계를 포함한다.
또한, 상기 유사도를 획득하는 단계는, 상기 제1 문제 이미지로부터 검출된 제1 도형과, 상기 복수의 문제 이미지 내 소정의 제2 문제 이미지로부터 검출된 제2 도형 간의 유사도를 나타내는 도형 유사도를 산출하는 단계를 포함한다.
또한, 상기 유사도를 획득하는 단계는, 상기 제1 문제 이미지에 대한 제1 포괄 텍스트와, 상기 제2 문제 이미지에 대한 제2 포괄 텍스트 간의 유사도를 나타내는 포괄 텍스트 유사도를 산출하는 단계를 더 포함한다.
또한, 상기 유사도를 획득하는 단계는, 상기 도형 유사도와 상기 포괄 텍스트 유사도 각각에 소정의 가중치를 부여하여 상기 유사도를 획득하는 단계를 더 포함한다.
또한, 상기 유사문제 리스트를 제공하는 단계는, 상기 유사도와 소정의 임계값(threshold)에 기초하여 상기 유사문제 데이터베이스로부터 적어도 하나 이상의 문제 이미지를 추출하는 단계와, 상기 추출된 적어도 하나 이상의 문제 이미지를 상기 유사도 순으로 정렬하여 상기 유사문제 리스트로 제공하는 단계를 포함한다.
또한, 상기 유사문제 데이터베이스를 구축하는 단계는, 상기 복수의 문제 이미지 각각에 대한 레이블 정보를 획득하는 단계와, 상기 획득된 레이블 정보를 상기 복수의 문제 이미지 각각에 매칭하여 저장하는 단계를 포함한다.
또한, 상기 레이블 정보는, 소정의 문제 이미지 내 문제에 대응되는 학년 파라미터, 범위 파라미터 및 난이도 파라미터 중 적어도 하나의 파라미터에 대한 값을 포함하는 정보이다.
또한, 상기 유사문제 리스트를 제공하는 단계는, 상기 제1 문제 이미지에 대한 제1 레이블 정보를 획득하는 단계와, 상기 획득된 제1 레이블 정보에 대응되는 레이블 정보를 가지는 적어도 하나 이상의 문제 이미지를 상기 유사문제 데이터베이스로부터 추출하는 단계와, 상기 추출된 적어도 하나 이상의 문제 이미지를 기초로 상기 유사문제 리스트를 제공하는 단계를 더 포함한다.
한편, 본 발명의 실시예에 따른 유사문제 제공 시스템은, 유사문제 리스트를 출력하는 적어도 하나 이상의 디스플레이; 적어도 하나 이상의 메모리; 및 적어도 하나 이상의 프로세서; 를 포함하고, 상기 메모리에 저장되고 상기 프로세서에 의해 실행되어 유사문제를 제공하는 적어도 하나의 애플리케이션으로서 상기 적어도 하나의 애플리케이션은, 복수의 문제 이미지를 포함하는 유사문제 데이터베이스를 구축하고, 상기 구축된 유사문제 데이터베이스를 기초로 상기 유사문제 리스트를 제공하며, 제1 문제 이미지를 획득하고, 상기 제1 문제 이미지에 대한 문제 구성영역을 검출하고, 상기 제1 문제 이미지에 대한 문제 구성요소를 검출하고, 상기 문제 구성영역 및 상기 문제 구성요소 중 적어도 하나를 기초로 상기 제1 문제 이미지와 상기 복수의 문제 이미지 각각 간의 유사도를 획득하고, 상기 획득된 유사도를 기초로 상기 제1 문제 이미지에 대한 적어도 하나의 상기 유사문제 리스트를 제공한다.
본 발명의 실시예에 따른 유사문제 제공 방법 및 그 시스템은, 유사문제 데이터베이스(DB)를 구축하고 이에 기초한 문제 리스트를 제공함으로써, 특정 유형을 따르는 다양한 형태의 유사 문제들을 빠르고 간편하게 취합하여 제공할 수 있는 효과가 있다.
또한, 본 발명의 실시예에 따른 유사문제 제공 방법 및 그 시스템은, 소정의 시험지 내 복수의 문제 이미지를 유사문제 별로 그룹화하여 저장 및 관리함으로써, 방대한 양의 문제들을 체계적으로 정리하여 관리할 수 있고, 특정 유형에 대한 다양한 형태의 유사 문제들을 검색하기에 최적화된 데이터베이스 구조를 구축할 수 있는 효과가 있다.
또한, 본 발명의 실시예에 따른 유사문제 제공 방법 및 그 시스템은, 소정의 문제 이미지에 대한 적어도 하나 이상의 유사문제를 제공함으로써, 사용자가 특정 유형의 문제들을 일일이 찾아보지 않더라도 해당 특정 유형을 가지는 문제 이미지를 제공하는 것만으로 다양한 형태의 유사 문제들을 손 쉽게 획득하도록 할 수 있는 효과가 있다.
또한, 본 발명의 실시예에 따른 유사문제 제공 방법 및 그 시스템은, 소정의 문제 유형에 대응되는 적어도 하나 이상의 추천문제를 제공함으로써, 특정 문제 이미지가 없어도 사용자가 원하는 문제 유형에 대응되는 다양한 형태의 추천 문제들을 검출하여 제공할 수 있는 효과가 있다.
다만, 본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 명확하게 이해될 수 있다.
도 1은 본 발명의 실시예에 따른 유사문제 제공 시스템의 개념도이다.
도 2는 본 발명의 실시예에 따른 단말의 내부 블록도이다.
도 3은 본 발명의 실시예에 따른 유사문제 데이터베이스(DB)를 구축하는 방법을 설명하기 위한 흐름도이다.
도 4는 본 발명의 실시예에 따른 유사문제 데이터베이스(DB)를 구축하는 방법을 설명하기 위한 개념도이다.
도 5는 본 발명의 실시예에 따른 문제 구성영역을 설명하기 위한 도면의 일례이다.
도 6은 본 발명의 실시예에 따른 문제 구성요소를 설명하기 위한 도면의 일례이다.
도 7은 본 발명의 실시예에 따른 문제 구성요소 중 텍스트 및/또는 수식을 검출하기 위한 딥러닝 모델 구조의 일례이다.
도 8은 본 발명의 실시예에 따른 통합 유사도를 획득하는 방법을 설명하기 위한 도면의 일례이다.
도 9는 본 발명의 실시예에 따른 유사문제를 제공하는 방법을 설명하기 위한 흐름도이다.
도 10은 본 발명의 실시예에 따른 기준 문제 이미지를 기초로 유사문제를 제공하는 방법을 설명하기 위한 도면의 일례이다.
도 11은 본 발명의 실시예에 따른 기준 레이블 정보를 기초로 추천문제를 제공하는 방법을 설명하기 위한 도면의 일례이다.
본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 본 발명의 효과 및 특징, 그리고 그것들을 달성하는 방법은 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 다양한 형태로 구현될 수 있다. 이하의 실시예에서, 제1, 제2 등의 용어는 한정적인 의미가 아니라 하나의 구성 요소를 다른 구성 요소와 구별하는 목적으로 사용되었다. 또한, 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 또한, 포함하다 또는 가지다 등의 용어는 명세서상에 기재된 특징, 또는 구성요소가 존재함을 의미하는 것이고, 하나 이상의 다른 특징들 또는 구성요소가 부가될 가능성을 미리 배제하는 것은 아니다. 또한, 도면에서는 설명의 편의를 위하여 구성 요소들이 그 크기가 과장 또는 축소될 수 있다. 예컨대, 도면에서 나타난 각 구성의 크기 및 두께는 설명의 편의를 위해 임의로 나타내었으므로, 본 발명이 반드시 도시된 바에 한정되지 않는다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예들을 상세히 설명하기로 하며, 도면을 참조하여 설명할 때 동일하거나 대응하는 구성 요소는 동일한 도면부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
도 1은 본 발명의 실시예에 따른 유사문제 제공 시스템의 개념도이다.
도 1을 참조하면, 본 발명의 실시예에 따른 유사문제 제공 시스템은, 유사문제 데이터베이스(DB)를 구축하고 이에 기초한 문제 리스트를 제공하는 유사문제 제공 서비스를 구현할 수 있다.
또한, 실시예에서 위와 같은 유사문제 제공 서비스를 구현하는 유사문제 제공 시스템은, 단말(100), 문제 데이터베이스 서버(200) 및 네트워크(300: Network)를 포함할 수 있다.
여기서, 상기 단말(100) 및 문제 데이터베이스 서버(200)는, 상기 네트워크(300)를 통하여 연결될 수 있다.
이때, 상기 네트워크(300)는, 단말(100) 및/또는 문제 데이터베이스 서버(200) 등과 같은 각각의 노드 상호 간에 정보 교환이 가능한 연결 구조를 의미하는 것으로, 이러한 네트워크(300)의 일 예에는 3GPP(3rd Generation Partnership Project) 네트워크, LTE(Long Term Evolution) 네트워크, WIMAX(World Interoperability for Microwave Access) 네트워크, 인터넷(Internet), LAN(Local Area Network), Wireless LAN(Wireless Local Area Network), WAN(Wide Area Network), PAN(Personal Area Network), 블루투스(Bluetooth) 네트워크, 위성 방송 네트워크, 아날로그 방송 네트워크, DMB(Digital Multimedia Broadcasting) 네트워크 등이 포함되나 이에 한정되지는 않는다.
이하, 첨부된 도면을 참조하여 유사문제 제공 시스템을 구현하는 단말(100) 및 문제 데이터베이스 서버(200)에 대해 상세히 설명한다.
- 단말(100: Terminal)
본 발명의 실시예에 따른 단말(100)은, 유사문제 제공 서비스를 제공하는 문제추천 애플리케이션이 설치된 소정의 컴퓨팅 디바이스일 수 있다.
자세히, 하드웨어적 관점에서 단말(100)은, 문제추천 애플리케이션이 설치된 모바일 타입 컴퓨팅 장치(100-1) 및/또는 데스크탑 타입 컴퓨팅 장치(100-2) 등을 포함할 수 있다.
여기서, 모바일 타입 컴퓨팅 장치(100-1)는, 문제추천 애플리케이션이 설치된 스마트 폰이나 테블릿 PC와 같은 모바일 장치일 수 있다.
예를 들어, 모바일 타입 컴퓨팅 장치(100-1)는, 스마트 폰(smart phone), 휴대폰, 디지털방송용 단말(100)이기, PDA(personal digital assistants), PMP(portable multimedia player), 태블릿 PC(tablet PC) 등이 포함될 수 있다.
또한, 데스크탑 타입 컴퓨팅 장치(100-2)는, 문제추천 애플리케이션이 설치된 고정형 데스크탑 PC, 노트북 컴퓨터(laptop computer), 울트라북(ultrabook)과 같은 퍼스널 컴퓨터 등과 같이 유/무선 통신을 기반으로 유사문제 제공 서비스를 실행하기 위한 프로그램이 설치된 장치 등을 포함할 수 있다.
또한, 실시예에 따라서 단말(100)은, 유사문제 제공 서비스 환경을 제공하는 소정의 서버(Server) 컴퓨팅 디바이스를 더 포함할 수도 있다.
도 2는 본 발명의 실시예에 따른 단말(100)의 내부 블록도이다.
한편, 도 2를 참조하면, 기능적 관점에서 단말(100)은, 메모리(110), 프로세서 어셈블리(120), 통신 모듈(130), 인터페이스 모듈(140), 입력 시스템(150), 센서 시스템(160) 및 디스플레이 시스템(170)을 포함할 수 있다. 이러한 구성요소들은 단말(100)의 하우징 내에 포함되도록 구성될 수 있다.
자세히, 메모리(110)에는, 문제추천 애플리케이션(111)이 저장되며, 문제추천 애플리케이션(111)은 유사문제 제공 서비스 환경을 제공하기 위한 각종 응용 프로그램, 데이터 및 명령어 중 어느 하나 이상을 저장할 수 있다.
즉, 메모리(110)는, 유사문제 제공 서비스 환경을 생성하기 위하여 사용될 수 있는 명령 및 데이터를 저장할 수 있다.
또한, 상기 메모리(110)는, 프로그램 영역과 데이터 영역을 포함할 수 있다.
여기서, 실시예에 따른 프로그램 영역은, 단말(100)을 부팅하는 운영체제(OS: Operating System) 및 기능요소들 사이에 연계될 수 있으며, 데이터 영역은, 단말(100)의 사용에 따라 발생하는 데이터가 저장될 수 있다.
또한, 메모리(110)는, 적어도 하나 이상의 비일시적 컴퓨터 판독 가능 저장매체와, 일시적 컴퓨터 판독 가능 저장매체를 포함할 수 있다.
예를 들어, 메모리(110)는, ROM, EPROM, 플래시 드라이브, 하드 드라이브 등과 같은 다양한 저장기기일 수 있고, 인터넷(internet) 상에서 상기 메모리(110)의 저장 기능을 수행하는 웹 스토리지(web storage)를 포함할 수 있다.
프로세서 어셈블리(120)는, 유사문제 제공 서비스 환경을 생성하기 위한 다양한 작업을 수행하기 위해, 메모리(110)에 저장된 문제추천 애플리케이션(111)의 명령들을 실행할 수 있는 적어도 하나 이상의 프로세서를 포함할 수 있다.
실시예에서 프로세서 어셈블리(120)는, 유사문제 제공 서비스를 제공하기 위하여 메모리(110)의 문제추천 애플리케이션(111)을 통해 구성요소의 전반적인 동작을 컨트롤할 수 있다.
이러한 프로세서 어셈블리(120)는, 중앙처리장치(CPU) 및/또는 그래픽처리장치(GPU) 등이 포함된 단말(100)에 적합한 시스템 온 칩(SOC)일 수 있으며, 메모리(110)에 저장된 운영체제(OS) 및/또는 애플리케이션 프로그램 등을 실행할 수 있고, 단말(100)에 탑재된 각 구성요소들을 제어할 수 있다.
또한, 프로세서 어셈블리(120)는, 각 구성요소와 내부적으로 시스템 버스(System Bus)에 의해 통신을 수행할 수 있고, 로컬 버스(Local Bus)를 비롯한 소정의 버스 구조들을 하나 이상 포함할 수 있다.
또한, 프로세서 어셈블리(120)는, ASICs (application specific integrated circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays), 제어기(controllers), 마이크로 컨트롤러(micro-controllers), 마이크로 프로세스(microprocessors), 기타 기능 수행을 위한 전기적 유닛 중 적어도 하나를 포함하여 구현될 수 있다.
통신 모듈(130)은, 외부의 장치와 통신하기 위한 하나 이상의 장치를 포함할 수 있다. 이러한 통신 모듈(130)은, 무선 네트워크를 통해 통신할 수 있다.
자세히, 통신 모듈(130)은, 유사문제 제공 서비스 환경을 구현하기 위한 콘텐츠 소스를 저장한 단말(100)과 통신할 수 있으며, 사용자 입력을 받은 컨트롤러와 같은 다양한 사용자 입력 컴포넌트와 통신할 수 있다.
실시예에서, 통신 모듈(130)은, 유사문제 제공 서비스와 관련된 각종 데이터를 타 단말(100) 및/또는 외부의 서버 등과 송수신할 수 있다.
이러한 통신 모듈(130)은, 이동통신을 위한 기술표준들 또는 통신방식(예를 들어, LTE(Long Term Evolution), LTE-A(Long Term Evolution-Advanced),5G NR(New Radio), WIFI) 또는 근거리 통신방식 등을 수행할 수 있는 통신장치를 통해 구축된 이동 통신망 상에서 기지국, 외부의 단말(100), 임의의 서버 중 적어도 하나와 무선으로 데이터를 송수신할 수 있다.
센서 시스템(160)은, 이미지 센서(161), 위치 센서(IMU, 163), 오디오 센서(165), 거리 센서, 근접 센서, 접촉 센서 등 다양한 센서를 포함할 수 있다.
여기서, 이미지 센서(161)는, 단말(100) 주위의 물리적 공간에 대한 이미지 및/또는 영상을 캡처할 수 있다.
실시예에서, 이미지 센서(161)는, 유사문제 제공 서비스와 관련된 영상(실시예로, 문제 이미지 등)을 촬영하여 획득할 수 있다.
또한, 이미지 센서(161)는, 단말(100)의 전면 또는/및 후면에 배치되어 배치된 방향측을 촬영하여 영상을 획득할 수 있으며, 단말(100)의 외부를 향해 배치된 카메라를 통해 물리적 공간을 촬영할 수 있다.
이러한 이미지 센서(161)는, 이미지 센서장치와 영상 처리 모듈을 포함할 수 있다. 자세히, 이미지 센서(161)는, 이미지 센서장치(예를 들면, CMOS 또는 CCD)에 의해 얻어지는 정지영상 또는 동영상을 처리할 수 있다.
또한, 이미지 센서(161)는, 영상 처리 모듈을 이용하여 이미지 센서장치를 통해 획득된 정지영상 또는 동영상을 가공해 필요한 정보를 추출하고, 추출된 정보를 프로세서에 전달할 수 있다.
이러한 이미지 센서(161)는, 적어도 하나 이상의 카메라를 포함하는 카메라 어셈블리일 수 있다. 카메라 어셈블리는, 가시광선 대역을 촬영하는 일반 카메라를 포함할 수 있으며, 적외선 카메라, 스테레오 카메라 등의 특수 카메라를 더 포함할 수 있다.
또한, 위와 같은 이미지 센서(161)는, 실시예에 따라서 단말(100)에 포함되어 동작할 수도 있고, 외부의 장치(예컨대, 외부의 서버 등)에 포함되어 상술된 통신 모듈(130) 및/또는 인터페이스 모듈(140)에 기초한 연동을 통하여 동작할 수도 있다.
위치 센서(IMU, 163)는, 단말(100)의 움직임 및 가속도 중 적어도 하나 이상을 감지할 수 있다. 예를 들어, 가속도계, 자이로스코프, 자력계와 같은 다양한 위치 센서의 조합으로 이루어질 수 있다.
또한, 위치 센서(IMU, 163)는, 통신 모듈(130)의 GPS와 같은 위치 통신 모듈(130)과 연동하여, 단말(100) 주변의 물리적 공간에 대한 공간 정보를 인식할 수 있다.
오디오 센서(165)는, 단말(100) 주변의 소리를 인식할 수 있다.
자세히, 오디오 센서(165)는, 단말(100)을 사용하는 사용자의 음성 입력을 감지할 수 있는 마이크로폰을 포함할 수 있다.
실시예에서 오디오 센서(165)는 유사문제 제공 서비스를 위해 필요한 음성 데이터를 사용자로부터 입력 받을 수 있다.
인터페이스 모듈(140)은, 단말(100)을 하나 이상의 다른 장치와 통신 가능하게 연결할 수 있다. 자세히, 인터페이스 모듈(140)은, 하나 이상의 상이한 통신 프로토콜과 호환되는 유선 및/또는 무선 통신 장치를 포함할 수 있다.
이러한 인터페이스 모듈(140)을 통해 단말(100)은, 여러 입출력 장치들과 연결될 수 있다.
예를 들어, 인터페이스 모듈(140)은, 헤드셋 포트나 스피커와 같은 오디오 출력장치와 연결되어, 오디오를 출력할 수 있다.
예시적으로 오디오 출력장치가 인터페이스 모듈(140)을 통해 연결되는 것으로 설명하였으나, 단말(100) 내부에 설치되는 실시예도 포함될 수 있다.
이러한 인터페이스 모듈(140)은, 유/무선 헤드셋 포트(port), 외부 충전기 포트(port), 유/무선 데이터 포트(port), 메모리 카드(memory card) 포트, 식별 모듈이 구비된 장치를 연결하는 포트(port), 오디오 I/O(Input/Output) 포트(port), 비디오 I/O(Input/Output) 포트(port), 이어폰 포트(port), 전력 증폭기, RF 회로, 송수신기 및 기타 통신 회로 중 적어도 하나를 포함하여 구성될 수 있다.
입력 시스템(150)은 유사문제 제공 서비스와 관련된 사용자의 입력(예를 들어, 제스처, 음성 명령, 버튼의 작동 또는 다른 유형의 입력)을 감지할 수 있다.
자세히, 입력 시스템(150)은 버튼, 터치 센서 및 사용자 모션 입력을 수신하는 이미지 센서(161)를 포함할 수 있다.
또한, 입력 시스템(150)은, 인터페이스 모듈(140)을 통해 외부 컨트롤러와 연결되어, 사용자의 입력을 수신할 수 있다.
디스플레이 시스템(170)은, 유사문제 제공 서비스와 관련된 다양한 정보를 그래픽 이미지로 출력할 수 있다.
실시예에서, 디스플레이 시스템(170)은, 문제 이미지, 유사문제 리스트 및/또는 추천문제 리스트 등을 표시할 수 있다.
이러한 디스플레이는, 액정 디스플레이(liquid crystal display, LCD), 박막 트랜지스터 액정 디스플레이(thin film transistor-liquid crystal display, TFT LCD), 유기 발광 다이오드(organic light-emitting diode, OLED), 플렉서블 디스플레이(flexible display), 3차원 디스플레이(3D display), 전자잉크 디스플레이(e-ink display) 중에서 적어도 하나를 포함할 수 있다.
이러한 단말(100)의 하우징 내에는 상기 구성요소들이 배치될 수 있으며, 사용자 인터페이스는 사용자 터치 입력을 수신하도록 구성된 디스플레이(171) 상에 터치 센서(173)를 포함할 수 있다.
자세히, 디스플레이 시스템(170)은, 이미지를 출력하는 디스플레이(171)와, 사용자의 터치 입력을 감지하는 터치 센서(173)를 포함할 수 있다.
예시적으로 디스플레이(171)는 터치 센서(173)와 상호 레이어 구조를 이루거나 일체형으로 형성됨으로써, 터치 스크린으로 구현될 수 있다. 이러한 터치 스크린은, 단말(100)과 사용자 사이의 입력 인터페이스를 제공하는 사용자 입력부로써 기능함과 동시에, 단말(100)과 사용자 사이의 출력 인터페이스를 제공할 수 있다.
한편, 본 발명의 실시예에 따른 단말(100)은, 딥러닝 뉴럴 네트워크(Deep-learning Neural Network)와 연동하여 유사문제 제공 서비스에 필요한 딥러닝을 수행할 수 있다.
여기서, 실시예에 따른 상기 딥러닝 뉴럴 네트워크는, YoLo v4, EfficientDet, CRAFT, Mask TextSpotter, Text FuseNet, Transformer* 및/또는 CNN(Convolutional Neural Network) 등을 포함할 수 있다.
또한, 실시예에 따라서 단말(100)은, 후술되는 문제 데이터베이스 서버(200)의 기능 동작의 적어도 일부를 더 수행할 수 있다.
- 문제 데이터베이스 서버(200: Question database server)
한편, 본 발명의 실시예에 따른 문제 데이터베이스 서버(200)는, 유사문제 제공 서비스를 구현하기 위한 일련의 프로세스를 수행할 수 있다.
자세히, 도 1을 더 참조하면, 실시예에서 문제 데이터베이스 서버(200)는, 서비스 제공서버, 문제분석 서버 및 유사문제 데이터베이스를 포함할 수 있다.
이때, 실시예에 따라서 상기 각 구성요소는, 문제 데이터베이스 서버(200)와는 별도의 장치로서 구현될 수도 있고, 문제 데이터베이스 서버(200)에 포함되어 구현될 수도 있다. 이하, 각 구성요소가 문제 데이터베이스 서버(200)에 포함되어 구현되는 것으로 설명하나 이에 한정되는 것은 아니다.
구체적으로, 실시예에서 상기 서비스 제공서버는, 단말(100)과 같은 외부의 장치에서 유사문제 제공 프로세스가 구동되기 위해 필요한 데이터를, 상기 외부의 장치와 교환함으로써 상기 유사문제 제공 서비스를 구현할 수 있다.
자세히, 상기 서비스 제공서버는, 외부의 장치(실시예에서, 모바일 타입 컴퓨팅 장치(100-1) 및/또는 데스크탑 타입 컴퓨팅 장치(100-2) 등)에서 문제추천 애플리케이션(111)이 동작할 수 있는 환경을 제공할 수 있다.
즉, 서비스 제공서버는, 유사문제 제공 서비스를 구현하는 문제추천 애플리케이션(111)이, 단말(100)과 같은 외부의 장치에서 실행될 수 있는 환경을 제공할 수 있다.
이를 위해, 서비스 제공서버는, 문제추천 애플리케이션(111)을 구현하기 위한 응용 프로그램, 데이터 및/또는 명령어 등을 포함할 수 있다.
또한, 실시예에서 상기 문제분석 서버는, 본 발명의 실시예에 따른 유사문제 데이터베이스(DB)를 구축할 수 있다.
또한, 상기 문제분석 서버는, 소정의 문제 이미지 및/또는 레이블 정보(실시예에서, 학년, 범위 및/또는 난이도 등)에 대응되는 적어도 하나 이상의 문제 이미지를 상기 유사문제 데이터베이스로부터 독출하여 제공할 수 있다.
또한, 상기 문제분석 서버는, 소정의 딥러닝 뉴럴 네트워크(Deep-learning Neural Network)와 연동하여 유사문제 제공 서비스에 필요한 각종 딥러닝(Deep Learning)을 수행할 수 있다.
자세히, 상기 문제분석 서버는, 상기 딥러닝을 수행하기 위해 구축되어 있는 소정의 딥러닝 뉴럴 네트워크 구동 프로그램을 메모리로부터 독출하여, 상기 독출된 소정의 딥러닝 뉴럴 네트워크 시스템에 따라 유사문제 제공 서비스를 위한 딥러닝을 수행할 수 있다.
여기서, 실시예에 따른 상기 딥러닝 뉴럴 네트워크는, YoLo v4, EfficientDet, CRAFT, Mask TextSpotter, Text FuseNet, Transformer* 및/또는 CNN(Convolutional Neural Network) 등과 같은 딥러닝 뉴럴 네트워크를 포함할 수 있다.
이때, 실시예에 따라서 상기 딥러닝 뉴럴 네트워크는, 문제 데이터베이스 서버(200)에 직접 설치되거나, 문제 데이터베이스 서버(200)와는 별개의 장치로서 동작하여 상기 유사문제 제공 서비스를 위한 딥러닝을 수행할 수 있다.
이하의 실시예에서는, 딥러닝 뉴럴 네트워크가 문제 데이터베이스 서버(200)에 직접 설치되어 딥러닝을 수행하는 실시예를 기준으로 설명한다.
또한, 실시예에서 상기 유사문제 데이터베이스는, 유사문제 제공 서비스를 구현하기 위한 각종 응용 프로그램, 애플리케이션, 명령어 및/또는 데이터 등을 저장하고 관리할 수 있다.
실시예에서, 상기 유사문제 데이터베이스는, 적어도 하나 이상의 유사문제 리스트 등을 저장 및 관리할 수 있다.
한편, 위와 같은 구성요소들을 포함하는 문제 데이터베이스 서버(200)는, 적어도 하나 이상의 서비스 제공서버, 문제분석 서버 및/또는 유사문제 데이터베이스를 포함할 수 있으며, 외부 장치와의 데이터 교환을 위한 적어도 하나 이상의 통신 장치와, 유사문제 제공 서비스의 제공을 위한 각종 응용 프로그램, 데이터 및/또는 명령어들을 저장하는 적어도 하나 이상의 메모리(Memory)와, 데이터 처리를 위한 적어도 하나 이상의 프로세서(Processor)를 포함하는 소정의 컴퓨팅 장치로 구현될 수 있다.
여기서, 상기 메모리((Memory)는, 유사문제 제공 서비스를 제공하기 위한 운영체제(OS), 각종 응용 프로그램, 데이터 및 명령어 중 어느 하나 이상을 저장할 수 있다.
또한, 상기 메모리는, 프로그램 영역과 데이터 영역을 포함할 수 있다.
여기서, 실시예에 따른 프로그램 영역은, 문제 데이터베이스 서버(200)를 부팅하는 운영체제(OS: Operating System) 및 기능요소들 사이에 연계될 수 있으며, 데이터 영역은, 문제 데이터베이스 서버(200)의 사용에 따라 발생하는 데이터가 저장될 수 있다.
실시예에서, 이러한 메모리는, ROM, RAM, EPROM, 플래시 드라이브, 하드 드라이브 등과 같은 다양한 저장기기일 수 있고, 인터넷(internet)상에서 상기 메모리의 저장 기능을 수행하는 웹 스토리지(web storage)일 수도 있다.
또한, 메모리는, 문제 데이터베이스 서버(200) 상에 탈착 가능한 형태의 기록매체일 수 있다.
한편, 상기 프로세서(Processor)는, 유사문제 제공 서비스를 구현하기 위하여 전술한 각 유닛(unit)의 전반적인 동작을 컨트롤할 수 있다.
이러한 프로세서는, 중앙처리장치(CPU) 및/또는 그래픽처리장치(GPU) 등이 포함된 단말(100)에 적합한 시스템 온 칩(SOC)일 수 있으며, 메모리에 저장된 운영체제(OS) 및/또는 애플리케이션 프로그램 등을 실행할 수 있고, 문제 데이터베이스 서버(200)가 포함하는 각 구성요소들을 제어할 수 있다.
또한, 프로세서는, 각 구성요소와 내부적으로 시스템 버스(System Bus)에 의해 통신을 수행할 수 있고, 로컬 버스(Local Bus)를 비롯한 소정의 버스 구조들을 하나 이상 포함할 수 있다.
또한, 프로세서는, ASICs (application specific integrated circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays), 제어기(controllers), 마이크로 컨트롤러(micro-controllers), 마이크로 프로세스(microprocessors), 기타 기능 수행을 위한 전기적 유닛 중 적어도 하나를 이용하여 구현될 수 있다.
이상의 설명에서는, 본 발명의 실시예에 따른 문제 데이터베이스 서버(200)가 상술된 바와 같은 기능 동작을 수행한다고 설명하였으나, 실시예에 따라서 문제 데이터베이스 서버(200)에서 수행하는 기능 동작의 적어도 일부를 단말(100)이 수행할 수도 있는 등 다양한 실시예 또한 가능할 수 있다.
- 유사문제 데이터베이스(DB)를 구축하는 방법
이하, 본 발명의 실시예에 따른 단말(100)의 적어도 하나 이상의 프로세서에 의하여 실행되는 문제추천 애플리케이션(111)이 유사문제 데이터베이스(DB)를 구축하는 방법을 첨부된 도 3 내지 도 8을 참조하여 상세히 설명한다.
본 발명의 실시예에서 상기 단말(100)의 적어도 하나 이상의 프로세서는, 적어도 하나 이상의 메모리(110)에 저장된 적어도 하나 이상의 문제추천 애플리케이션(111)을 실행하거나 백그라운드 상태로 동작하게 할 수 있다.
이하, 상기 적어도 하나 이상의 프로세서가, 상기 문제추천 애플리케이션(111)의 명령어를 실행하기 위해 동작하여 상술된 유사문제 제공 서비스를 구현하는 방법을 수행하는 것을 상기 문제추천 애플리케이션(111)이 수행하는 것으로 단축하여 설명한다.
도 3은 본 발명의 실시예에 따른 유사문제 데이터베이스(DB)를 구축하는 방법을 설명하기 위한 흐름도이고, 도 4는 본 발명의 실시예에 따른 유사문제 데이터베이스(DB)를 구축하는 방법을 설명하기 위한 개념도이다.
도 3 및 도 4를 참조하면, 실시예에서 상기 단말(100)의 적어도 하나 이상의 프로세서에 의하여 실행되거나 백그라운드 상태로 동작하는 문제추천 애플리케이션(111)은, 복수의 문제 이미지를 획득할 수 있다. (S101)
여기서, 실시예에 따른 문제 이미지는, 소정의 텍스트, 수식 및/또는 도형을 포함하는 이미지일 수 있다.
실시예로, 문제추천 애플리케이션(111)은, 사용자 입력 등을 기초로 획득되는 소정의 시험지 이미지에 기반하여 상기 복수의 문제 이미지를 획득할 수 있다.
또한, 실시예에서 문제추천 애플리케이션(111)은, 문제 이미지별 레이블 정보를 획득할 수 있다. (S103)
자세히, 문제추천 애플리케이션(111)은, 상기 획득된 복수의 문제 이미지 각각에 대한 레이블 정보를 획득할 수 있다.
여기서, 실시예에 따른 레이블 정보란, 각 문제 이미지가 포함하는 문제에 대한 적어도 일 문제유형을 나타내는 속성 파라미터를 나타내는 정보일 수 있다. 이때, 상기 속성 파라미터는, 학년 파라미터, 범위(즉, 학습 단원) 파라미터 및/또는 난이도 파라미터를 포함할 수 있다.
보다 상세히, 실시예에서 문제추천 애플리케이션(111)은, 사용자 입력 및/또는 기구축된 소정의 데이터베이스에 기초하여, 상기 각 문제 이미지별 레이블 정보를 획득할 수 있다.
또한, 문제추천 애플리케이션(111)은, 위와 같이 획득된 레이블 정보를 상기 각 문제 이미지 별로 매칭하여 저장 및 관리할 수 있다.
또한, 실시예에서 문제추천 애플리케이션(111)은, 획득된 레이블 정보를 기초로 문제 그룹화를 수행할 수 있다. (S105)
자세히, 문제추천 애플리케이션(111)은, 상기 문제 이미지별 레이블 정보의 각 속성 파라미터 값을 이용하여 복수의 문제 이미지에 대한 그룹화를 수행할 수 있다.
보다 상세히, 문제추천 애플리케이션(111)은, 상기 레이블 정보가 포함하는 학년 파라미터 값, 범위 파라미터 값 및/또는 난이도 파라미터 값에 기준하여 상기 복수의 문제 이미지에 기반한 적어도 하나 이상의 문제그룹을 설정할 수 있다.
실시예로, 문제추천 애플리케이션(111)은, 상기 복수의 문제 이미지를 동일한 학년 파라미터 값, 범위 파라미터 값 및/또는 난이도 파라미터 값을 가지는 적어도 하나 이상의 문제 이미지 별로 분류할 수 있다.
또한, 문제추천 애플리케이션(111)은, 분류된 적어도 하나 이상의 문제 이미지 별로 문제그룹을 설정하여, 동일한 학년, 범위 및/또는 난이도에 포함되는 문제 이미지별 그룹화를 수행할 수 있다.
또한, 실시예에서 문제추천 애플리케이션(111)은, 제1 문제그룹 내 문제 이미지 간 유사도를 결정할 수 있다. (S107)
자세히, 문제추천 애플리케이션(111)은, 위와 같이 설정된 소정의 제1 문제그룹이 포함하는 복수의 문제 이미지 간 유사도를 결정할 수 있다.
보다 상세히, 실시예에서 문제추천 애플리케이션(111)은, 1) 상기 문제 이미지 내 문제를 구성하는 문제 구성영역을 검출할 수 있다.
도 5는 본 발명의 실시예에 따른 문제 구성영역을 설명하기 위한 도면의 일례이다.
도 5를 참조하면, 실시예에 따른 상기 문제 구성영역은, 상기 문제 이미지 내 문제 구성요소 전체가 차지하는 영역인 문제 전체영역(10), 상기 문제를 기술하는 영역인 문제설명 영역(20), 상기 문제에 대한 객관식 답안을 표시하는 영역인 객관식 답안 영역(30) 및/또는 상기 문제 내 도형이 존재하는 경우 해당 도형이 차지하는 영역인 도형 영역(40) 등을 포함할 수 있다.
이때, 실시예에서 문제추천 애플리케이션(111)은, 소정의 딥러닝 뉴럴 네트워크와 연동하여 상기 문제 구성영역을 검출할 수 있다.
예를 들면, 문제추천 애플리케이션(111)은, YoLo v4, EfficientDet, CRAFT, Mask TextSpotter 및/또는 Text FuseNet 등과 같은 딥러닝 모델을 기초로 상기 문제 이미지 내 문제를 구성하는 문제 구성영역을 검출할 수 있다. 다만, 이는 일례일 뿐 이에 한정되는 것은 아니며 실시예에 따라서 소정의 이미지 내 영역을 검출할 수 있는 다양한 딥러닝 모델을 활용할 수 있다.
또한, 실시예에서 문제추천 애플리케이션(111)은, 2) 상기 문제 이미지 내 문제를 구성하는 문제 구성요소를 검출할 수 있다.
도 6은 본 발명의 실시예에 따른 문제 구성요소를 설명하기 위한 도면의 일례이다.
도 6을 참조하면, 실시예에 따른 문제 구성요소는, 상기 문제 이미지 내 문제를 구성하는 소정의 텍스트(1), 수식(2) 및/또는 도형(3)을 포함할 수 있다.
자세히, 실시예에서 문제추천 애플리케이션(111)은, 소정의 딥러닝 뉴럴 네트워크와 연동하여, 상기 문제 이미지에 대하여 검출된 문제 구성영역을 기초로 상기 문제 이미지에 대한 문제 구성요소를 검출할 수 있다.
보다 상세히, 문제추천 애플리케이션(111)은, 상기 문제 이미지 내 문제설명 영역(20) 및/또는 객관식 답안 영역(30)에 기초한 딥러닝을 수행하여, 상기 문제 이미지 내 텍스트(1) 및/또는 수식(2)을 검출할 수 있다.
도 7은 본 발명의 실시예에 따른 문제 구성요소 중 텍스트(1) 및/또는 수식(2)을 검출하기 위한 딥러닝 모델 구조의 일례이다.
이때, 도 7을 참조하면, 예시적으로 문제추천 애플리케이션(111)은, Transformer* 등과 같은 딥러닝 모델 구조에 기반한 딥러닝 뉴럴 네트워크와 연동하여, 상기 문제 이미지 내 텍스트(1) 및/또는 수식(2)을 검출할 수 있다.
참고적으로, 상기 Transformer* 구조의 딥러닝 모델은, 크게 "SA(self-attention)" 모듈과 "FFN(Feed-Forward-Network)”로 구성될 수 있으며, 인코더와 디코더 모두 트랜스포머 구조를 가지는 Macaron 구조인 "FFN -> SA -> FFN"에 기반하여 구현될 수 있다.
본 예시에서와 같이 위와 같은 Transformer* 구조의 딥러닝 모델을 사용하는 경우 문제추천 애플리케이션(111)은, 상기 문제 이미지 내 텍스트(1)를 검출할 시 상기 모델의 검출 리스트(vocabulary list)를 일반 문자 인식을 위한 토큰들(예컨대, 숫자(예컨대, 0~9), 글자(예컨대, a~z 및/또는 A~Z 등) 및/또는 일반적인 심볼(예컨대, ., ,, :, ;, !, @, #, $, % 및/또는 ^ 등) 등)에 기초하여 구현할 수 있다.
또한, 위와 같은 Transformer* 구조의 딥러닝 모델을 사용하는 경우 문제추천 애플리케이션(111)은, 상기 문제 이미지 내 수식(2)을 검출할 시 상기 모델의 검출 리스트(vocabulary list)를 수식(2) 인식을 위한 토큰들(예컨대, \int, \lim, \infty 및/또는 \sum 등)에 기반하여 구현할 수 있다.
다시 돌아와서, 또한 실시예에서 문제추천 애플리케이션(111)은, 위와 같이 검출된 문제 이미지 내 텍스트(1) 및/또는 수식(2)을 상기 문제 구성영역 즉, 실시예에서 문제설명 영역(20) 및/또는 객관식 답안 영역(30)의 위치에 따라서 조합하여 상기 문제 이미지에 대한 포괄 텍스트를 획득할 수 있다.
여기서, 실시예에 따른 상기 포괄 텍스트란, 소정의 문제 이미지 내 텍스트(1) 및/또는 수식(2)을 상기 문제 이미지 내 문제 구성영역을 기준으로 조합하여 획득되는 텍스트로서, 일반 문자(즉, 실시예에서 상기 텍스트(1))와 수식(2)을 모두 포함하여 구현될 수 있는 텍스트를 의미할 수 있다.
실시예에서, 이러한 포괄 텍스트는, 상기 문제설명 영역(20)으로부터 검출된 텍스트(1) 및/또는 수식(2)을 조합하여 생성되는 문제설명 텍스트 및/또는 상기 객관식 답안 영역(30)으로부터 검출된 텍스트(1) 및/또는 수식(2)을 조합하여 생성되는 객관식 보기 텍스트를 포함할 수 있다.
즉, 실시예에서 문제추천 애플리케이션(111)은, 상기 문제 이미지 내 문제설명 영역(20)으로부터 검출된 텍스트(1) 및/또는 수식(2)을 조합하여 문제설명 텍스트를 생성할 수 있고, 상기 문제 이미지 내 객관식 답안 영역(30)으로부터 검출된 텍스트(1) 및/또는 수식(2)을 조합하여 객관식 보기 텍스트를 생성할 수 있다.
또한, 문제추천 애플리케이션(111)은, 위와 같이 생성된 문제설명 텍스트 및/또는 객관식 보기 텍스트에 기초하여 상기 문제 이미지에 대한 포괄 텍스트를 획득할 수 있다.
한편, 실시예에서 문제추천 애플리케이션(111)은, 상기 문제 이미지 내 도형 영역(40)에 기초한 딥러닝을 수행하여, 상기 문제 이미지 내 도형(3)을 검출할 수 있다.
예를 들어, 문제추천 애플리케이션(111)은, 컨볼루션 뉴럴 네트워크(CNN, Convolution Neural Network), R-CNN(Regions with CNN features), Fast R-CNN, Faster R-CNN 및/또는 Mask R-CNN 등과 같은 딥러닝 뉴럴 네트워크를 이용하여, 상기 문제 이미지 내 도형(3)을 검출할 수 있다.
이때, 실시예에 따라서 문제추천 애플리케이션(111)은, 상기 검출된 도형(3)을 소정의 텍스트로 변환하여 상기 포괄 텍스트에 더 포함시킬 수도 있다.
실시예로, 문제추천 애플리케이션(111)은, 상기 검출된 도형(3)의 속성(예컨대, 꼭지점 개수, 선분 개수, 선분 길이, 내접각 및/또는 외접각 등) 별로 기매칭되어 있는 소정의 텍스트(예컨대, '이등변 삼각형', '직사각형' 또는 '타원' 등)를 메모리(110) 및/또는 외부의 저장 장치 등로부터 검출할 수 있다.
또한, 문제추천 애플리케이션(111)은, 상기 검출된 텍스트를 상술된 문제 이미지에 대한 포괄 텍스트에 더 포함시켜 저장 및 관리할 수 있다.
이와 같이, 문제추천 애플리케이션(111)은, 딥러닝을 이용하여 소정의 문제 이미지 내 텍스트(1), 수식(2) 및/또는 도형(3)을 자동화된 방식으로 추출하고, 이를 상기 문제 이미지가 포함하는 영역 별로 구분하여 관리함으로써, 복수의 문제 이미지들을 유사한 문제 별로 구분하여 저장 및 관리하는 유사문제 데이터베이스를 구축하기 위해 최적화된 기반 데이터를 획득할 수 있다.
또한, 실시예에서 문제추천 애플리케이션(111)은, 3) 상기 제1 문제그룹 내 복수의 문제 이미지 간 유사도를 결정할 수 있다.
도 8은 본 발명의 실시예에 따른 통합 유사도를 획득하는 방법을 설명하기 위한 도면의 일례이다.
자세히, 도 8을 참조하면, 상기 제1 문제그룹 내 복수의 문제 이미지 각각에 대한 문제 구성영역과 문제 구성요소를 검출한 문제추천 애플리케이션(111)은, 상기 제1 문제그룹 내 제1 문제 이미지와, 상기 제1 문제그룹 내 나머지 문제 이미지 간 통합 유사도를 산출할 수 있다.
여기서, 실시예에 따른 상기 통합 유사도는, 상기 복수의 문제 이미지 간 도형 유사도(Image similarity) 및 포괄 텍스트 유사도(text similarity)를 포함할 수 있다. 이때, 실시예에서 상기 통합 유사도는, 소정의 수치(score) 형태로 표현될 수 있다.
보다 상세히, 실시예에서 문제추천 애플리케이션(111)은, 상기 제1 문제 이미지의 문제 구성요소와 상기 나머지 문제 이미지 각각의 문제 구성요소를 상호 비교할 수 있다.
구체적으로, 문제추천 애플리케이션(111)은, 1] 상기 제1 문제 이미지로부터 검출된 제1 도형과, 상기 나머지 문제 이미지 각각으로부터 검출된 각각의 제2 도형을 상호 비교하여, 상기 제1 문제 이미지와 상기 나머지 문제 이미지 별 상기 도형 유사도를 산출할 수 있다.
이때, 실시예에서 문제추천 애플리케이션(111)은, 소정의 딥러닝 뉴럴 네트워크와 연동하여 상기 제1 문제 이미지와 상기 나머지 문제 이미지 별 도형 유사도를 획득할 수 있다.
예를 들면, 문제추천 애플리케이션(111)은, 컨볼루션 뉴럴 네트워크(CNN, Convolution Neural Network), R-CNN(Regions with CNN features), Fast R-CNN, Faster R-CNN 및/또는 Mask R-CNN 등과 같은 이미지 딥러닝 뉴럴 네트워크를 이용하여, 상기 도형 유사도를 획득할 수 있다.
다른 예시로, 문제추천 애플리케이션(111)은, 상기 제1 도형의 속성에 대한 벡터값(A)과 상기 제2 도형의 속성에 대한 벡터값(B)을 기초로 하기와 같은 수식에 따라서 획득되는 코사인 유사도(Cosine similarity)를 이용하여 상기 도형 유사도를 획득할 수도 있다.
[수식 1]
또한, 문제추천 애플리케이션(111)은, 2] 상기 제1 문제 이미지로부터 검출된 제1 텍스트 및/또는 제1 수식을 포함하는 제1 포괄 텍스트와, 상기 나머지 문제 이미지로부터 검출된 제2 텍스트 및/또는 제2 수식을 포함하는 각각의 제2 포괄 텍스트를 상호 비교하여, 상기 제1 문제 이미지와 상기 나머지 문제 이미지 별 포괄 텍스트 유사도를 산출할 수 있다.
실시예로, 문제추천 애플리케이션(111)은, 상기 제1 포괄 텍스트가 포함하는 제1 텍스트 및/또는 제1 수식과 상기 제2 포괄 텍스트가 포함하는 제2 텍스트 및/또는 제2 수식 간의 일치 개수에 기초하여 상기 포괄 텍스트 유사도를 결정할 수 있다.
자세히, 실시예에서 문제추천 애플리케이션(111)은, 상기 일치 개수에 비례하여 상기 포괄 텍스트 유사도를 증가시킬 수 있다.
이와 같이, 문제추천 애플리케이션(111)은, 복수의 문제 이미지 각각이 상호 간에 얼마나 유사한 도형(3)을 가지고 있는지, 얼마나 유사한 텍스트(1) 및/또는 수식(2)을 가지고 있는지를 판단함으로써, 추후 이를 기초로 비슷한 유형의 문제를 가지는 적어도 하나 이상의 문제 이미지를 신뢰할 수 있는 데이터에 근거하여 높은 정확도로 선별할 수 있다.
이때, 실시예에 따라서 문제추천 애플리케이션(111)은, 상기 제1 포괄 텍스트가 포함하는 제1 문제설명 텍스트와 상기 제2 포괄 텍스트가 포함하는 제2 문제설명 텍스트를 상호 비교할 수 있고, 상기 제1 포괄 텍스트가 포함하는 제1 객관식 답안 텍스트와 상기 제2 포괄 텍스트가 포함하는 제2 객관식 답안 텍스트를 상호 비교할 수 있다.
자세히, 문제추천 애플리케이션(111)은, 상기 제1 문제설명 텍스트가 포함하는 제1 텍스트 및/또는 제1 수식과 상기 제2 문제설명 텍스트가 포함하는 제2 텍스트 및/또는 제2 수식 간의 일치 개수에 기초하여 문제설명 텍스트 유사도를 결정할 수 있다.
또한, 문제추천 애플리케이션(111)은, 상기 제1 객관식 답안 텍스트가 포함하는 제1 텍스트 및/또는 제1 수식과 상기 제2 객관식 답안 텍스트가 포함하는 제2 텍스트 및/또는 제2 수식 간의 일치 개수에 기초하여 객관식 답안 텍스트 유사도를 결정할 수 있다.
또한, 문제추천 애플리케이션(111)은, 상기 문제설명 텍스트 유사도 및/또는 상기 객관식 답안 텍스트 유사도에 대하여 기설정된 가중치(예컨대, '문제설명 텍스트 유사도 가중치=2' 및 '객관식 답안 텍스트 가중치=1' 등과 같은 소정의 수치)에 따라서, 상기 포괄 텍스트 유사도를 조정할 수 있다.
예를 들면, 문제추천 애플리케이션(111)은, 객관식 답안 텍스트 유사도에 대비하여 기설정된 가중치가 상대적으로 높은 문제설명 텍스트 유사도가 소정의 기준(예컨대, 기설정된 수치 이하 등)을 충족하면, 상기 포괄 텍스트 유사도를 감소시키는 조정을 수행할 수 있다.
따라서, 문제추천 애플리케이션(111)은, 상기 복수의 문제 이미지 간 포괄 텍스트 유사도를 보다 세밀하게 산출할 수 있고, 그 정확도를 향상시킬 수 있다.
또한, 실시예에서 문제추천 애플리케이션(111)은, 3] 위와 같이 산출된 도형 유사도 및/또는 포괄 텍스트 유사도에 기초하여, 상기 제1 문제 이미지와 상기 나머지 문제 이미지 별 통합 유사도를 획득할 수 있다.
자세히, 문제추천 애플리케이션(111)은, 하기와 같은 수식을 이용하여 상기 도형 유사도 및/또는 포괄 텍스트 유사도에 기초한 통합 유사도를 획득할 수 있다.
[수식 2]
통합 유사도(Similarity score)=a*(도형 유사도)+(1-a)*(포괄 텍스트 유사도)
여기서, 상기 a는, 상기 도형 유사도와 포괄 텍스트 유사도 각각에 소정의 가중치를 부여할 수 있는 기설정된 값으로서, 사용자 설정 등에 따라서 유동적으로 변경될 수 있다.
이를 통해, 문제추천 애플리케이션(111)은, 사용자 설정 등에 따른 가중치를 더 반영하여 사용자 요구사항에 보다 정확하게 부합하는 통합 유사도를 산출할 수 있다.
또한, 실시예에서 문제추천 애플리케이션(111)은, 위와 같이 결정된 유사도를 기초로 유사문제 리스트를 생성 및 저장할 수 있다. (S109)
자세히, 상기 제1 문제그룹이 포함하는 복수의 문제 이미지 각각 간의 통합 유사도를 결정한 문제추천 애플리케이션(111)은, 상기 결정된 통합 유사도에 따라서 상기 복수의 문제 이미지를 유사문제 별로 그룹화한 적어도 하나 이상의 유사문제 리스트(List of similar question)를 생성 및 저장할 수 있다.
보다 상세히, 문제추천 애플리케이션(111)은, 상기 복수의 문제 이미지 간 각각의 통합 유사도(Similarity score) 및 소정의 임계값(threshold)에 기초하여, 상기 복수의 문제 이미지를 유사문제 별로 그룹화할 수 있다.
구체적으로, 실시예에서 문제추천 애플리케이션(111)은, 상기 복수의 문제 이미지 내 소정의 제1 문제 이미지와 제2 문제 이미지 간의 상기 통합 유사도가 상기 소정의 임계값(예컨대, 소정의 수치 등)을 초과하는 경우, 상기 제1 문제 이미지와 제2 문제 이미지를 동일한 유사문제 그룹으로 분류할 수 있다.
또한, 문제추천 애플리케이션(111)은, 위와 같은 방식으로 동일한 유사문제 그룹에 분류된 적어도 하나 이상의 문제 이미지를 리스트화하여 상기 유사문제 리스트를 생성할 수 있다.
또한, 문제추천 애플리케이션(111)은, 위처럼 생성된 적어도 하나 이상의 유사문제 리스트를 데이터베이스화하여 저장 및 관리할 수 있다.
실시예에서, 문제추천 애플리케이션(111)은, 상기 적어도 하나 이상의 유사문제 리스트를 유사문제 데이터베이스에 저장하여 관리할 수 있다.
이와 같이, 문제추천 애플리케이션(111)은, 복수의 문제 이미지 각각이 포함하는 도형(3), 텍스트(1) 및/또는 수식(2) 등의 유사 정도에 따라서 상기 복수의 문제 이미지를 유사문제 별로 그룹화하여 저장 및 관리함으로써, 방대한 양의 문제 이미지들을 체계적으로 정리하여 관리할 수 있고, 특정 문제유형에 대한 다양한 형태의 유사문제들을 제공하기에 최적화된 데이터베이스 구조를 구축할 수 있다.
- 유사문제를 제공하는 방법
이하, 본 발명의 실시예에 따른 단말(100)의 적어도 하나 이상의 프로세서에 의하여 실행되는 문제추천 애플리케이션(111)이 유사문제를 제공하는 방법을 첨부된 도면들을 참조하여 상세히 설명한다.
이때, 이하의 실시예에서는 효과적인 설명을 위하여 상술된 내용과 중복되는 기재가 요약되거나 생략될 수 있다.
도 9는 본 발명의 실시예에 따른 유사문제를 제공하는 방법을 설명하기 위한 흐름도이고, 도 10은 본 발명의 실시예에 따른 기준 문제 이미지를 기초로 유사문제를 제공하는 방법을 설명하기 위한 도면의 일례이다.
도 9 및 도 10을 참조하면, 실시예에서 상기 단말(100)의 적어도 하나 이상의 프로세서에 의하여 실행되거나 백그라운드 상태로 동작하는 문제추천 애플리케이션(111)은, 기준 문제 이미지를 획득할 수 있다. (S201)
여기서, 실시예에 따른 상기 기준 문제 이미지는, 유사문제를 획득하고자 하는 대상이 되는 문제 이미지로서, 소정의 텍스트(1), 수식(2) 및/또는 도형(3)을 포함하는 이미지일 수 있다.
실시예에서, 문제추천 애플리케이션(111)은, 사용자 입력 등에 기초하여 상기 기준 문제 이미지를 획득할 수 있다.
또한, 도 10을 더 참조하면, 실시예예서 문제추천 애플리케이션(111)은, 획득된 기준 문제 이미지에 기초한 유사문제 리스트를 추출할 수 있다. (S203)
자세히, 실시예에서 문제추천 애플리케이션(111)은, 1) 상기 기준 문제 이미지 내 문제를 구성하는 문제 구성영역을 검출할 수 있다.
여기서, 본 발명의 실시예에 따른 상기 문제 구성영역은, 상기 기준 문제 이미지 내 문제 구성요소 전체가 차지하는 영역인 문제 전체영역(10), 상기 문제를 기술하는 영역인 문제설명 영역(20), 상기 문제에 대한 객관식 답안을 표시하는 영역인 객관식 답안 영역(30) 및/또는 상기 문제 내 도형(3)이 존재하는 경우 해당 도형(3)이 차지하는 영역인 도형 영역(40) 등을 포함할 수 있다.
이때, 실시예에서 문제추천 애플리케이션(111)은, 예컨대 YoLo v4, EfficientDet, CRAFT, Mask TextSpotter 및/또는 Text FuseNet 등과 같은, 소정의 딥러닝 뉴럴 네트워크와 연동하여 상기 문제 구성영역을 검출할 수 있다.
또한, 실시예에서 문제추천 애플리케이션(111)은, 2) 상기 기준 문제 이미지 내 문제를 구성하는 문제 구성요소를 검출할 수 있다.
여기서, 본 발명의 실시예에 따른 상기 문제 구성요소는, 상기 기준 문제 이미지 내 문제를 구성하는 소정의 텍스트(1), 수식(2) 및/또는 도형(3)을 포함할 수 있다.
자세히, 실시예에서 문제추천 애플리케이션(111)은, 예컨대 Transformer* 등과 같은, 소정의 딥러닝 뉴럴 네트워크와 연동하여 상기 기준 문제 이미지에 대하여 검출된 문제 구성영역을 기초로 상기 기준 문제 이미지에 대한 문제 구성요소를 검출할 수 있다. 이에 대한 자세한 설명은 상술된 유사문제 데이터베이스(DB)를 구축하는 방법의 문제 구성요소에 대한 설명을 따른다.
또한, 실시예에서 상기 기준 문제 이미지에 대한 문제 구성영역과 문제 구성요소를 검출한 문제추천 애플리케이션(111)은, 3) 상기 기준 문제 이미지와 유사문제 데이터베이스 내 복수의 문제 이미지 간 통합 유사도를 산출할 수 있다.
여기서, 실시예에 따른 상기 통합 유사도는, 상기 기준 문제 이미지와 유사문제 데이터베이스 내 복수의 문제 이미지 각각 간의 도형 유사도(Image similarity)와 포괄 텍스트 유사도(text similarity)를 포함할 수 있다. 이때, 실시예에서 상기 유사도는, 소정의 수치(score) 형태로 표현될 수 있다.
자세히, 실시예에서 문제추천 애플리케이션(111)은, 상기 기준 문제 이미지의 문제 구성요소와 상기 유사문제 데이터베이스 내 복수의 문제 이미지 각각의 문제 구성요소를 상호 비교할 수 있다.
또한, 문제추천 애플리케이션(111)은, 상기 비교를 통하여 상기 기준 문제 이미지와 상기 유사문제 데이터베이스 내 복수의 문제 이미지 별 상기 통합 유사도를 산출할 수 있다. 이에 대한 자세한 설명은 상술된 유사문제 데이터베이스(DB)를 구축하는 방법의 복수의 문제 이미지 간 유사도를 결정하는 방법에 대한 설명을 따른다.
또한, 실시예에서 문제추천 애플리케이션(111)은, 4) 위와 같이 산출된 통합 유사도에 기초하여 상기 기준 문제 이미지에 대한 유사문제 리스트를 추출할 수 있다.
자세히, 문제추천 애플리케이션(111)은, 상술된 바와 같이 산출된 통합 유사도 및 소정의 임계값(threshold)에 기초하여, 상기 유사문제 데이터베이스 내 복수의 문제 이미지 중에서 상기 기준 문제 이미지와 유사한 문제라고 판단되는 문제 이미지인 적어도 하나 이상의 유사 문제 이미지를 선별할 수 있다.
실시예로, 문제추천 애플리케이션(111)은, 상기 기준 문제 이미지와, 상기 유사문제 데이터베이스 내 복수의 문제 이미지 중 소정의 제3 문제 이미지 간의 상기 통합 유사도가 상기 소정의 임계값(예컨대, 소정의 수치 등)을 초과하는 경우, 상기 제3 문제 이미지를 상기 기준 문제 이미지에 대한 유사 문제 이미지로 설정할 수 있다.
또한, 실시예에서 문제추천 애플리케이션(111)은, 위와 같이 설정된 적어도 하나 이상의 유사 문제 이미지를 포함하는 적어도 하나 이상의 유사문제 리스트를 상기 유사문제 데이터베이스로부터 독출할 수 있다.
그리하여 문제추천 애플리케이션(111)은, 상기 기준 문제 이미지에 대한 유사문제 리스트를 유사문제 데이터베이스로부터 추출할 수 있다.
이때, 실시예에서 문제추천 애플리케이션(111)은, 상기 기준 문제 이미지와 상기 선별된 적어도 하나 이상의 유사 문제 이미지 간 통합 유사도가 높은 순으로, 상기 유사문제 리스트를 정렬하여 추출할 수 있다.
또한, 실시예에 따라서 문제추천 애플리케이션(111)은, 상기 선별된 적어도 하나 이상의 유사 문제 이미지를 상기 기준 문제 이미지와의 통합 유사도가 높은 순으로 리스트화하여 상기 유사문제 데이터베이스로부터 추출할 수도 있다.
또한, 도 10을 더 참조하면, 실시예에서 문제추천 애플리케이션(111)은, 위와 같이 추출된 유사문제 리스트를 제공할 수 있다. (S205)
즉, 실시예에서 문제추천 애플리케이션(111)은, 상술된 바와 같이 유사문제 데이터베이스로부터 추출된 적어도 하나 이상의 유사문제 리스트를 소정의 방식(예컨대, 디스플레이 출력 등)에 따라서 사용자에게 제공할 수 있다.
이와 같이, 문제추천 애플리케이션(111)은, 소정의 문제 이미지로부터 검출되는 도형(3), 텍스트(1) 및/또는 수식(2)을 기초로 상기 문제 이미지 내 문제에 대한 적어도 하나 이상의 유사문제를 리스트화하여 제공함으로써, 사용자로부터 특정 문제유형을 가지는 일 문제 이미지를 제공받는 것만으로도 다양한 형태의 유사 문제들을 손 쉽게 검출하여 제공할 수 있다.
도 11은 본 발명의 실시예에 따른 기준 레이블 정보를 기초로 추천문제를 제공하는 방법을 설명하기 위한 도면의 일례이다.
또한, 도 11을 참조하면, 실시예에서 문제추천 애플리케이션(111)은, 기준 레이블 정보를 획득할 수 있다. (S207)
여기서, 실시예에 따른 상기 기준 레이블 정보는, 유사문제 데이터베이스로부터 추출하고자 하는 문제 이미지에 대한 속성 파라미터를 설정한 정보로서, 상기 속성 파라미터는, 학년 파라미터, 범위(즉, 학습 단원) 파라미터 및/또는 난이도 파라미터를 포함할 수 있다.
자세히, 실시예에서 문제추천 애플리케이션(111)은, 사용자 입력 등에 기초하여 상기 기준 레이블 정보를 획득할 수 있다.
또한, 도 11을 더 참조하면, 실시예에서 문제추천 애플리케이션(111)은, 획득된 기준 레이블 정보에 따른 추천문제 리스트를 추출할 수 있다. (S209)
여기서, 실시예에 따른 상기 추천문제 리스트는, 상술된 기준 레이블 정보에 기초하여 유사문제 데이터베이스로부터 추출된 유사문제 리스트를 의미할 수 있다.
자세히, 실시예에서 문제추천 애플리케이션(111)은, 유사문제 데이터베이스 내 복수의 문제 이미지 중에서, 상기 기준 레이블 정보 내 각 속성 파라미터 값과 대응되는 속성 파라미터 값을 가지는 적어도 하나 이상의 문제 이미지를 검출할 수 있다.
예를 들면, 문제추천 애플리케이션(111)은, 상기 기준 레이블 정보의 학년 파라미터 값이 '고3'이고, 범위 파라미터 값이 '미적분'이고, 난이도 파라미터 값이 '상'인 경우, 상기 기준 레이블 정보의 각 속성 파라미터 값과 동일한 속성 파라미터 값을 가지는 적어도 하나 이상의 문제 이미지를 유사문제 데이터베이스로부터 검출할 수 있다.
또한, 문제추천 애플리케이션(111)은, 위와 같이 검출된 적어도 하나 이상의 문제 이미지를 포함하는 적어도 하나 이상의 유사문제 리스트를 상기 유사문제 데이터베이스로부터 독출할 수 있다.
또한, 문제추천 애플리케이션(111)은, 상기 독출된 적어도 하나 이상의 유사문제 리스트를 상기 기준 레이블 정보에 대한 추천문제 리스트로 설정할 수 있다.
그리하여 문제추천 애플리케이션(111)은, 상기 기준 레이블 정보에 대한 추천문제 리스트를 유사문제 데이터베이스로부터 추출할 수 있다.
또한, 도 11을 더 참조하면, 실시예에서 문제추천 애플리케이션(111)은, 추출된 추천문제 리스트를 제공할 수 있다. (S111)
즉, 실시예에서 문제추천 애플리케이션(111)은, 상술된 바와 같이 유사문제 데이터베이스로부터 추출된 적어도 하나 이상의 추출문제 리스트를 소정의 방식(예컨대, 디스플레이 출력 등)에 따라서 사용자에게 제공할 수 있다.
이와 같이, 문제추천 애플리케이션(111)은, 사용자 입력 등에 따라서 획득되는 소정의 레이블 정보(실시예에서, 학년, 범위 및/또는 난이도 등)에 대응되는 적어도 하나 이상의 추천문제를 제공함으로써, 특정 문제 이미지가 부재하더라도 사용자가 원하는 학년, 범위 및/또는 난이도를 가지는 다양한 형태의 문제들을 용이하게 검출하여 제공할 수 있다.
이상의 본 발명의 실시예에 대한 설명에서는, 효과적인 설명을 위하여 문제추천 애플리케이션이 유사문제 데이터베이스를 구축하는 실시예와 유사문제를 제공하는 실시예를 구분하여 설명하였으나, 실시예에 따라서 상기 실시예들에 대한 설명 중 적어도 일부가 상호 유기적으로 결합하여 동작할 수도 있는 등 다양한 실시예 또한 가능할 수 있다.
이상, 본 발명의 실시예에 따른 유사문제 제공 방법 및 그 시스템은, 유사문제 데이터베이스(DB)를 구축하고 이에 기초한 문제 리스트를 제공함으로써, 특정 유형을 따르는 다양한 형태의 유사 문제들을 빠르고 간편하게 취합하여 제공할 수 있는 효과가 있다.
또한, 본 발명의 실시예에 따른 유사문제 제공 방법 및 그 시스템은, 소정의 시험지 내 복수의 문제 이미지를 유사문제 별로 그룹화하여 저장 및 관리함으로써, 방대한 양의 문제들을 체계적으로 정리하여 관리할 수 있고, 특정 유형에 대한 다양한 형태의 유사 문제들을 검색하기에 최적화된 데이터베이스 구조를 구축할 수 있는 효과가 있다.
또한, 본 발명의 실시예에 따른 유사문제 제공 방법 및 그 시스템은, 소정의 문제 이미지에 대한 적어도 하나 이상의 유사문제를 제공함으로써, 사용자가 특정 유형의 문제들을 일일이 찾아보지 않더라도 해당 특정 유형을 가지는 문제 이미지를 제공하는 것만으로 다양한 형태의 유사 문제들을 손 쉽게 획득하도록 할 수 있는 효과가 있다.
또한, 본 발명의 실시예에 따른 유사문제 제공 방법 및 그 시스템은, 소정의 문제 유형에 대응되는 적어도 하나 이상의 추천문제를 제공함으로써, 특정 문제 이미지가 없어도 사용자가 원하는 문제 유형에 대응되는 다양한 형태의 추천 문제들을 검출하여 제공할 수 있는 효과가 있다.
또한, 이상에서 설명된 본 발명에 따른 실시예는 다양한 컴퓨터 구성요소를 통하여 실행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수 있다. 컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등과 같은, 프로그램 명령어를 저장하고 실행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의하여 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용하여 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위하여 하나 이상의 소프트웨어 모듈로 변경될 수 있으며, 그 역도 마찬가지이다.
본 발명에서 설명하는 특정 실행들은 일 실시 예들로서, 어떠한 방법으로도 본 발명의 범위를 한정하는 것은 아니다. 명세서의 간결함을 위하여, 종래 전자적인 구성들, 제어 시스템들, 소프트웨어, 상기 시스템들의 다른 기능적인 측면들의 기재는 생략될 수 있다. 또한, 도면에 도시된 구성 요소들 간의 선들의 연결 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것으로서, 실제 장치에서는 대체 가능하거나 추가의 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들로서 나타내어질 수 있다. 또한, “필수적인”, “중요하게” 등과 같이 구체적인 언급이 없다면 본 발명의 적용을 위하여 반드시 필요한 구성 요소가 아닐 수 있다.
또한 설명한 본 발명의 상세한 설명에서는 본 발명의 바람직한 실시 예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자 또는 해당 기술분야에 통상의 지식을 갖는 자라면 후술할 특허청구범위에 기재된 본 발명의 사상 및 기술 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다. 따라서, 본 발명의 기술적 범위는 명세서의 상세한 설명에 기재된 내용으로 한정되는 것이 아니라 특허청구범위에 의해 정하여져야만 할 것이다.

Claims (13)

  1. 단말의 적어도 하나의 프로세서에 의하여 실행되는 문제추천 애플리케이션이 유사문제를 제공하는 방법으로서,
    복수의 문제 이미지를 포함하는 유사문제 데이터베이스를 구축하는 단계; 및
    상기 구축된 유사문제 데이터베이스를 기초로 유사문제 리스트를 제공하는 단계를 포함하고,
    상기 유사문제 리스트를 제공하는 단계는,
    제1 문제 이미지를 획득하는 단계와,
    상기 제1 문제 이미지에 대한 문제 구성영역을 검출하는 단계와,
    상기 제1 문제 이미지에 대한 문제 구성요소를 검출하는 단계와,
    상기 문제 구성영역 및 상기 문제 구성요소 중 적어도 하나를 기초로 상기 제1 문제 이미지와 상기 복수의 문제 이미지 각각 간의 유사도를 획득하는 단계와,
    상기 획득된 유사도를 기초로 상기 제1 문제 이미지에 대한 적어도 하나의 상기 유사문제 리스트를 제공하는 단계를 포함하고,
    상기 제1 문제 이미지에 대한 문제 구성요소를 검출하는 단계는,
    트랜스포머(Transformer)를 포함하는 제1 딥러닝 뉴럴 네트워크를 기초로 상기 제1 문제 이미지 내 텍스트 및 수식을 검출하는 단계와,
    컨볼루션 뉴럴 네트워크(Convolutional Neural Networks)를 포함하는 제2 딥러닝 뉴럴 네트워크를 기초로 상기 제1 문제 이미지 내 도형을 검출하는 단계를 포함하고,
    상기 제1 문제 이미지에 대한 문제 구성요소를 검출하는 단계는,
    상기 제2 딥러닝 뉴럴 네트워크를 기초로 검출된 도형의 속성을 특정하는 텍스트를 획득하는 단계와,
    상기 획득된 도형의 속성을 특정하는 텍스트를 상기 제1 문제 이미지 내 텍스트에 더 포함시키는 단계를 더 포함하는
    유사문제 제공 방법.
  2. 제1 항에 있어서,
    상기 문제 구성요소는,
    소정의 문제 이미지 내 문제를 구성하는 텍스트, 수식 및 도형 중 적어도 하나를 포함하는
    유사문제 제공 방법.
  3. 제2 항에 있어서,
    상기 문제 구성영역은,
    소정의 문제 이미지 내 문제를 구성하는 상기 문제 구성요소 전체가 차지하는 영역인 문제 전체영역, 상기 문제를 기술하는 영역인 문제설명 영역, 상기 문제에 대한 객관식 답안을 표시하는 영역인 객관식 답안 영역 및 상기 문제 내 상기 도형이 존재하는 경우 상기 도형이 차지하는 영역인 도형 영역 중 적어도 하나의 영역을 포함하는
    유사문제 제공 방법.
  4. 제3 항에 있어서,
    상기 문제 구성요소를 검출하는 단계는,
    상기 텍스트와 상기 수식을 상기 문제 구성영역에 기초하여 조합한 포괄 텍스트를 생성하는 단계를 더 포함하고,
    상기 포괄 텍스트는,
    상기 문제설명 영역으로부터 검출된 텍스트와 수식을 조합하여 생성한 문제설명 텍스트 및 상기 객관식 답안 영역으로부터 검출된 텍스트와 수식을 조합하여 생성한 객관식 보기 텍스트 중 적어도 하나를 포함하는
    유사문제 제공 방법.
  5. 제4 항에 있어서,
    상기 유사문제 데이터베이스를 구축하는 단계는,
    상기 복수의 문제 이미지 각각에 대한 상기 문제 구성영역 및 상기 문제 구성요소를 검출하는 단계와,
    상기 검출된 문제 구성영역 및 상기 검출된 문제 구성요소를 상기 복수의 문제 이미지 각각에 매칭하여 저장하는 단계를 포함하는
    유사문제 제공 방법.
  6. 제5 항에 있어서,
    상기 유사도를 획득하는 단계는,
    상기 제1 문제 이미지로부터 검출된 제1 도형과, 상기 복수의 문제 이미지 내 소정의 제2 문제 이미지로부터 검출된 제2 도형 간의 유사도를 나타내는 도형 유사도를 산출하는 단계를 포함하는
    유사문제 제공 방법.
  7. 제6 항에 있어서,
    상기 유사도를 획득하는 단계는,
    상기 제1 문제 이미지에 대한 제1 포괄 텍스트와, 상기 제2 문제 이미지에 대한 제2 포괄 텍스트 간의 유사도를 나타내는 포괄 텍스트 유사도를 산출하는 단계를 더 포함하는
    유사문제 제공 방법.
  8. 제7 항에 있어서,
    상기 유사도를 획득하는 단계는,
    상기 도형 유사도와 상기 포괄 텍스트 유사도 각각에 소정의 가중치를 부여하여 상기 유사도를 획득하는 단계를 더 포함하는
    유사문제 제공 방법.
  9. 제1 항에 있어서,
    상기 유사문제 리스트를 제공하는 단계는,
    상기 유사도와 소정의 임계값(threshold)에 기초하여 상기 유사문제 데이터베이스로부터 적어도 하나 이상의 문제 이미지를 추출하는 단계와,
    상기 추출된 적어도 하나 이상의 문제 이미지를 상기 유사도 순으로 정렬하여 상기 유사문제 리스트로 제공하는 단계를 포함하는
    유사문제 제공 방법.
  10. 제1 항에 있어서,
    상기 유사문제 데이터베이스를 구축하는 단계는,
    상기 복수의 문제 이미지 각각에 대한 레이블 정보를 획득하는 단계와,
    상기 획득된 레이블 정보를 상기 복수의 문제 이미지 각각에 매칭하여 저장하는 단계를 포함하는
    유사문제 제공 방법.
  11. 제10 항에 있어서,
    상기 레이블 정보는,
    소정의 문제 이미지 내 문제에 대응되는 학년 파라미터, 범위 파라미터 및 난이도 파라미터 중 적어도 하나의 파라미터에 대한 값을 포함하는 정보인
    유사문제 제공 방법.
  12. 제11 항에 있어서,
    상기 유사문제 리스트를 제공하는 단계는,
    상기 제1 문제 이미지에 대한 제1 레이블 정보를 획득하는 단계와,
    상기 획득된 제1 레이블 정보에 대응되는 레이블 정보를 가지는 적어도 하나 이상의 문제 이미지를 상기 유사문제 데이터베이스로부터 추출하는 단계와,
    상기 추출된 적어도 하나 이상의 문제 이미지를 기초로 상기 유사문제 리스트를 제공하는 단계를 더 포함하는
    유사문제 제공 방법.
  13. 유사문제 리스트를 출력하는 적어도 하나 이상의 디스플레이;
    적어도 하나 이상의 메모리; 및
    적어도 하나 이상의 프로세서; 를 포함하고,
    상기 메모리에 저장되고 상기 프로세서에 의해 실행되어 유사문제를 제공하는 적어도 하나의 애플리케이션으로서 상기 적어도 하나의 애플리케이션은,
    복수의 문제 이미지를 포함하는 유사문제 데이터베이스를 구축하고, 상기 구축된 유사문제 데이터베이스를 기초로 상기 유사문제 리스트를 제공하며,
    제1 문제 이미지를 획득하고, 상기 제1 문제 이미지에 대한 문제 구성영역을 검출하고, 상기 제1 문제 이미지에 대한 문제 구성요소를 검출하고, 상기 문제 구성영역 및 상기 문제 구성요소 중 적어도 하나를 기초로 상기 제1 문제 이미지와 상기 복수의 문제 이미지 각각 간의 유사도를 획득하고, 상기 획득된 유사도를 기초로 상기 제1 문제 이미지에 대한 적어도 하나의 상기 유사문제 리스트를 제공하고,
    상기 적어도 하나의 애플리케이션은,
    트랜스포머(Transformer)를 포함하는 제1 딥러닝 뉴럴 네트워크를 기초로 상기 제1 문제 이미지 내 텍스트 및 수식을 검출하고,
    컨볼루션 뉴럴 네트워크(Convolutional Neural Networks)를 포함하는 제2 딥러닝 뉴럴 네트워크를 기초로 상기 제1 문제 이미지 내 도형을 검출하고,
    상기 제2 딥러닝 뉴럴 네트워크를 기초로 검출된 도형의 속성을 특정하는 텍스트를 획득하고,
    상기 획득된 도형의 속성을 특정하는 텍스트를 상기 제1 문제 이미지 내 텍스트에 더 포함시키는
    유사문제 제공 시스템.
KR1020210098870A 2021-07-28 2021-07-28 유사문제 제공 방법 및 그 시스템 KR102718411B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210098870A KR102718411B1 (ko) 2021-07-28 2021-07-28 유사문제 제공 방법 및 그 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210098870A KR102718411B1 (ko) 2021-07-28 2021-07-28 유사문제 제공 방법 및 그 시스템

Publications (2)

Publication Number Publication Date
KR20230017423A KR20230017423A (ko) 2023-02-06
KR102718411B1 true KR102718411B1 (ko) 2024-10-16

Family

ID=85224148

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210098870A KR102718411B1 (ko) 2021-07-28 2021-07-28 유사문제 제공 방법 및 그 시스템

Country Status (1)

Country Link
KR (1) KR102718411B1 (ko)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102004180B1 (ko) * 2016-12-22 2019-10-01 김학현 시험지 인식을 통한 유사 문제 추출 장치 및 그 방법
KR102056822B1 (ko) * 2017-05-04 2019-12-17 주식회사 매스프레소 학습 서비스 제공 방법 및 그 장치
KR101986721B1 (ko) 2019-03-27 2019-06-10 월드버텍 주식회사 신경망 기반 기계번역 및 셈뭉치를 이용한 수학문제 개념유형 예측 서비스 제공 방법

Also Published As

Publication number Publication date
KR20230017423A (ko) 2023-02-06

Similar Documents

Publication Publication Date Title
CN111277706B (zh) 一种应用推荐方法、装置、存储介质及电子设备
US11170035B2 (en) Context based media curation
US10068134B2 (en) Identification of objects in a scene using gaze tracking techniques
JP5980432B2 (ja) 拡張現実見本の生成
US9582913B1 (en) Automated highlighting of identified text
CN111339246A (zh) 查询语句模板的生成方法、装置、设备及介质
CN114375435A (zh) 增强物理活动表面上的有形内容
US20180276896A1 (en) System and method for augmented reality annotations
US20230085791A1 (en) Augmented reality guidance interface
CN109189879B (zh) 电子书籍显示方法及装置
US11915400B2 (en) Location mapping for large scale augmented-reality
Estrada et al. Deep-learning-incorporated augmented reality application for engineering lab training
US10672293B2 (en) Computer system methods for generating combined language content
KR20150121483A (ko) 컨텐트 처리 방법 및 그 전자 장치
CN110555102A (zh) 媒体标题识别方法、装置及存储介质
KR102718411B1 (ko) 유사문제 제공 방법 및 그 시스템
US20210173880A1 (en) Astrological social media interface
Newnham Machine Learning with Core ML: An iOS developer's guide to implementing machine learning in mobile apps
KR20220136938A (ko) 컨텐츠 입력에 기초하여 스티커를 제공하는 전자 장치 및 방법
US11507614B1 (en) Icon based tagging
KR20220140947A (ko) 이미지 기반 트레이닝 데이터 셋 생성 방법 및 시스템
US11775566B2 (en) Electronic device and method for controlling the electronic device thereof
KR102612496B1 (ko) 식별 코드 기반 여행 콘텐츠 메타 미디어 플랫폼 제공 방법
KR102516701B1 (ko) 오답 노트 생성 장치
KR102251513B1 (ko) 기계학습을 이용한 셀럽의 소셜미디어 정보 기반 학습용 콘텐츠 생성 방법 및 장치

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right