KR20230040565A - 운영변환 기반 실시간 협업 편집 서비스 제공이 가능한 맞춤형 콘텐츠 제공 시스템 및 그 방법 - Google Patents
운영변환 기반 실시간 협업 편집 서비스 제공이 가능한 맞춤형 콘텐츠 제공 시스템 및 그 방법 Download PDFInfo
- Publication number
- KR20230040565A KR20230040565A KR1020210123863A KR20210123863A KR20230040565A KR 20230040565 A KR20230040565 A KR 20230040565A KR 1020210123863 A KR1020210123863 A KR 1020210123863A KR 20210123863 A KR20210123863 A KR 20210123863A KR 20230040565 A KR20230040565 A KR 20230040565A
- Authority
- KR
- South Korea
- Prior art keywords
- learner
- terminal
- editing
- unit
- information
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 41
- 238000006243 chemical reaction Methods 0.000 title claims description 29
- 238000004458 analytical method Methods 0.000 claims abstract description 73
- 230000009466 transformation Effects 0.000 claims abstract description 32
- 238000001914 filtration Methods 0.000 claims abstract description 12
- 230000005540 biological transmission Effects 0.000 claims description 20
- 238000012545 processing Methods 0.000 claims description 12
- 238000000605 extraction Methods 0.000 claims description 6
- 230000002996 emotional effect Effects 0.000 description 26
- 239000000284 extract Substances 0.000 description 12
- 230000008859 change Effects 0.000 description 11
- 238000004891 communication Methods 0.000 description 11
- 230000008451 emotion Effects 0.000 description 10
- 238000013528 artificial neural network Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 9
- 238000003058 natural language processing Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 7
- 238000004422 calculation algorithm Methods 0.000 description 6
- 238000007621 cluster analysis Methods 0.000 description 5
- 150000001875 compounds Chemical class 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 238000011156 evaluation Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 210000002569 neuron Anatomy 0.000 description 3
- 230000009897 systematic effect Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000003745 diagnosis Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 230000007935 neutral effect Effects 0.000 description 2
- 241000284156 Clerodendrum quadriloculare Species 0.000 description 1
- 241001465754 Metazoa Species 0.000 description 1
- 241001520299 Phascolarctos cinereus Species 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 244000240602 cacao Species 0.000 description 1
- 230000009193 crawling Effects 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000000556 factor analysis Methods 0.000 description 1
- 239000010437 gem Substances 0.000 description 1
- 229910001751 gemstone Inorganic materials 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000000877 morphologic effect Effects 0.000 description 1
- 238000000491 multivariate analysis Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002250 progressing effect Effects 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 210000002966 serum Anatomy 0.000 description 1
- 238000011524 similarity measure Methods 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
- G06Q50/20—Education
- G06Q50/205—Education administration or guidance
- G06Q50/2057—Career enhancement or continuing education service
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2462—Approximate or statistical queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
-
- G06F9/3855—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3854—Instruction completion, e.g. retiring, committing or graduating
- G06F9/3856—Reordering of instructions, e.g. using queues or age tags
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/101—Collaborative creation, e.g. joint development of products or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/01—Social networking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Resources & Organizations (AREA)
- Databases & Information Systems (AREA)
- Strategic Management (AREA)
- Tourism & Hospitality (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- General Health & Medical Sciences (AREA)
- Economics (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Entrepreneurship & Innovation (AREA)
- Educational Administration (AREA)
- Primary Health Care (AREA)
- Educational Technology (AREA)
- Computational Linguistics (AREA)
- Probability & Statistics with Applications (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Fuzzy Systems (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Computing Systems (AREA)
- Electrically Operated Instructional Devices (AREA)
Abstract
본 발명은 운영변환 기반 실시간 협업 편집 서비스 제공이 가능한 맞춤형 콘텐츠 제공 시스템 및 그 방법에 관한 것으로, 콘텐츠 기반 필터링을 통해 학습 콘텐츠의 내용을 분석하며, 서로 유사한 학습 콘텐츠를 학습자에게 리스트 형식으로 제공할 수 있고, 학습자와 교습자 간 문서의 협업 편집 서비스를 제공하여 멘토링을 가능하게 하는 운영변환 기반 실시간 협업 편집 서비스 제공이 가능한 맞춤형 콘텐츠 제공 시스템 및 그 방법에 관한 것이다. 본 발명에 따른 운영변환 기반 실시간 협업 편집 서비스 제공이 가능한 맞춤형 콘텐츠 제공 시스템은, 학습자의 정보를 수집하는 정보수집부, 유저프로파일(user profile)을 생성하는 학습자분석부, 복수개의 학습 콘텐츠가 저장되는 데이터베이스부, 아이템프로파일(item profile)을 생성하는 콘텐츠분석부, 학습자가 학습하도록 추천되는 학습 콘텐츠 정보를 생성하는 매칭부, 상기 학습 콘텐츠 정보를 상기 학습자단말기로 송신하는 추천부, 통계 정보를 생성하고, 생성된 상기 통계 정보를 상기 학습자단말기로 제공하는 통계부, 및 상기 학습자단말기 및 상기 교습자단말기 간 문서의 협업 편집 서비스를 제공하는 협업편집부를 포함한다.
Description
본 발명은 운영변환 기반 실시간 협업 편집 서비스 제공이 가능한 맞춤형 콘텐츠 제공 시스템 및 그 방법에 관한 것으로, 더욱 상세하게는 콘텐츠 기반 필터링을 통해 학습 콘텐츠의 내용을 분석하며, 서로 유사한 학습 콘텐츠를 학습자에게 리스트 형식으로 제공할 수 있고, 학습자와 교습자 간 문서의 협업 편집 서비스를 제공하여 멘토링을 가능하게 하는 운영변환 기반 실시간 협업 편집 서비스 제공이 가능한 맞춤형 콘텐츠 제공 시스템 및 그 방법에 관한 것이다.
최근 스마트폰, 태블릿 PC와 같은 이동 통신 단말기의 보급이 대중화되고 소셜 네트워크 서비스(SNS, Social Network Service), 사물 네트워크(M2M, Machine To Machine), 센서 네트워크(Sensor Network) 등의 사용이 증가함에 따라 데이터의 양, 생성 속도 및 그 다양성이 기하급수적으로 증가하고 있다.
이처럼 다양하고 방대한 규모를 가지는 빅데이터를 분석하면 지능형 로봇, 차세대 PC, 텔레매틱스, 홈네트워크, 고객 관계 관리, 인공 지능, 검색 엔진 등의 다양한 기술 분야에 활용될 수 있다는 점에서 빅데이터 분석 기술에 대한 연구가 활발하게 진행되고 있다.
한편, 고교, 대학교 등의 입시 전형에서 자기 주도 학습전형이 증가하면서 그에 관련된 인터넷 강의 및 교재가 범람하고 있는 반면에, 정작 수험생 입장에서는 전략적인 커리큘럼 생산 및 강의 선택 능력이 부재함에 따라 사교육을 이용 중인 학생의 대다수가 학습 스케줄링 및 목표 관리 서비스에 대한 필요성을 느끼고 있다.
또한, 다양한 학습 콘텐츠의 증가로 인해 스스로 학습하는 학습 유형이 증가하고, 학습자에게 특화된 커리큘럼의 추천 및 지속성 유지를 위한 관리가 절실해짐에 따라, 학습량의 많고 적음보다 어떻게 무엇을 공부할 것인지에 관련된 학습 전략이 중요해지고 있다. 이러한 교육 환경의 변화에 따라 개인별 코칭 학습의 전략이 요구되는 실정이다. 특히, 교육용 서비스는 개개인의 경험에 의존하기 보다는 다수의 학습 패턴을 분석하여 이를 빅데이터로 활용할 필요가 있는데, 아직까지 사용자에게 최적화된 콘텐츠 추천 및 학습 관리를 위한 시스템은 제시되지 못한 한계가 있다. 또한 학습자와 교습자 간 멘토링을 제공할 수 있는 협업 편집 서비스를 위한 운영변환 기반 실시간 협업 편집 서비스 제공이 가능한 맞춤형 콘텐츠 제공 시스템은 제시되지 못하고 있다.
한편, 최근에는 컴퓨터나 스마트폰 또는 태블릿 PC 등과 같은 전자 단말 장치가 널리 보급됨에 따라 이러한 전자 단말 장치를 이용하여 전자 문서를 열람, 작성, 편집할 수 있도록 하는 다양한 종류의 전자 문서 관련 프로그램들이 출시되고 있다. 이러한 전자 문서 관련 프로그램들로는 기본적인 문서의 작성, 편집 등을 지원하는 워드프로세서, 데이터의 입력, 산술연산, 데이터 관리를 보조하는 스프레드시트, 발표자의 발표를 보조하기 위한 프레젠테이션 프로그램들이 있다. 기존에는 사용자가 전자 단말 장치를 활용해서 전자 문서를 열람, 작성, 편집하기 위해서는 전자 단말 장치에 직접 앞서 언급한 전자 문서 관련 프로그램들을 설치한 후 전자 문서 관련 프로그램들을 구동시켜 전자 문서를 열람하거나 작성 및 편집해야 했었다. 하지만, 최근에는 초고속 인터넷 환경이 구축되고, 언제 어디에서든지 인터넷에 접속할 수 있도록 하는 무선 인터넷 환경이 구축됨에 따라, 원격지의 서버를 통해서, 클라이언트 단말인 전자 단말 장치에 전자 문서 관련 서비스를 제공함으로써, 사용자가 전자 단말 장치에 소정의 전자 문서 관련 프로그램을 설치하지 않더라도 언제 어디에서든지 전자 문서를 열람, 작성, 편집할 수 있도록 하는 웹 기반의 전자 문서 서비스가 등장하고 있으며, 운영변환 기술을 이용한 문서를 협업 편집할 수 있는 서비스도 등장하고 있다.
그러나 학습 콘텐츠를 추천하는 시스템과 연계되어, 학습 콘텐츠를 생성 및 강의하는 교습자와 그 학습 콘텐츠를 추천받아 학습하는 학습자 간 동일한 문서를 통해 멘토링할 수 있는 문서 협업 시스템은 제시되지 못하고 있다.
상술한 문제점을 해결하기 위한 본 발명의 목적은 콘텐츠 기반 필터링을 통해 학습 콘텐츠의 내용을 분석하며, 서로 유사한 학습 콘텐츠를 학습자에게 리스트 형식으로 제공할 수 있는 운영변환 기반 실시간 협업 편집 서비스 제공이 가능한 맞춤형 콘텐츠 제공 시스템 및 그 방법을 제공하는 것이다.
상술한 문제점을 해결하기 위한 본 발명의 목적은 학습자와 교습자 간 문서의 협업 편집 서비스를 제공하여 멘토링을 가능하게 하는 운영변환 기반 실시간 협업 편집 서비스 제공이 가능한 맞춤형 콘텐츠 제공 시스템 및 그 방법을 제공하는 것이다.
상술한 목적을 달성하기 위하여, 본 발명의 일 실시예에 따른 운영변환 기반 실시간 협업 편집 서비스 제공이 가능한 맞춤형 콘텐츠 제공 시스템은, 학습자가 소지한 학습자단말기로부터 학습자의 정보를 수집하는 정보수집부, 상기 학습자의 정보를 분석하여 상기 학습자의 학습 콘텐츠 선호 정보가 포함된 유저프로파일(user profile)을 생성하는 학습자분석부, 교습자단말기 또는 외부서버로부터 수신한 복수개의 학습 콘텐츠가 저장되는 데이터베이스부, 상기 학습 콘텐츠를 분석하여 상기 학습 콘텐츠의 정보가 포함된 아이템프로파일(item profile)을 생성하는 콘텐츠분석부, 상기 아이템프로파일 및 상기 유저프로파일에 기반하여 상기 데이터베이스부에 저장된 복수개의 학습 콘텐츠 중 상기 학습자가 학습하도록 추천되는 학습 콘텐츠 정보를 생성하는 매칭부, 상기 학습 콘텐츠 정보를 상기 학습자단말기로 송신하는 추천부, 상기 학습자단말기로부터 상기 학습 콘텐츠를 학습한 정보를 수신 및 분석하여 통계 정보를 생성하고, 생성된 상기 통계 정보를 상기 학습자단말기로 제공하는 통계부, 및 상기 학습자단말기 및 상기 교습자단말기 간 문서의 협업 편집 서비스를 제공하는 협업편집부를 포함하며, 상기 협업편집부는, 상기 학습자단말기 및 상기 교습자단말기로부터 상기 문서에 대해서 인가된 편집 명령들을 수신하는 편집 명령 수신부 및 상기 학습자단말기 및 상기 교습자단말기로부터 수신된 상기 편집 명령들을 수신 순서에 따라 하나씩 상기 학습자단말기 및 상기 교습자단말기로 순차적으로 전송하되, 상기 학습자단말기 및 상기 교습자단말기에 전송될 현재 순번의 편집 명령에 대해서 상기 현재 순번의 편집 명령보다 먼저 수신된 이전 순번의 편집 명령이 존재하는 경우, 상기 이전 순번의 편집 명령의 상기 문서 상에서 적용 위치와 연관된 좌표 값을 기초로 상기 현재 순번의 편집 명령이 상기 문서 상에서 적용될 위치에 대한 좌표 값에 대해 운영변환(Operational Transformation)을 수행한 후 운영변환이 완료된 상기 현재 순번의 편집 명령을 상기 학습자단말기 및 상기 교습자단말기로 전송하는 편집 명령 처리부를 포함하고, 상기 편집 명령 처리부는, 상기 학습자단말기 및 상기 교습자단말로부터 수신된 상기 편집 명령들을 수신 순서에 기초하여 버퍼의 큐(Queue)에 저장하는 편집 명령 저장부, 상기 버퍼의 큐에 상기 편집 명령들이 저장되면, 상기 버퍼의 큐로부터 상기 편집 명령들을 상기 버퍼의 큐에서의 저장 순서에 따라 추출하는 편집 명령 추출부 및 상기 버퍼의 큐에서 상기 편집 명령들이 추출될 때, 추출된 상기 편집 명령들을 상기 학습자단말기 및 상기 교습자단말기로 전송하되, 상기 학습자단말기 및 상기 교습자단말기에 전송될 상기 현재 순번의 편집 명령에 대해서 상기 현재 순번의 편집 명령보다 먼저 상기 버퍼의 큐에 저장된 상기 이전 순번의 편집 명령이 존재하는 경우, 상기 이전 순번의 편집 명령의 상기 문서 상에서 적용 위치와 연관된 좌표 값을 기초로 상기 현재 순번의 편집 명령이 상기 문서 상에서 적용될 위치에 대한 좌표 값에 대해 운영변환을 수행한 후 운영변환이 완료된 상기 현재 순번의 편집 명령을 상기 학습자단말기 및 상기 교습자단말기로 전송하는 편집 명령 전송부를 포함한다.
상기 매칭부는, 콘텐츠 기반 필터링(Content-based filtering)을 기반으로 상기 학습 콘텐츠 정보를 생성하되, 상기 매칭부는, 상기 유저프로파일에 기반하여 상기 학습자가 학습하도록 추천되는 제1 학습 콘텐츠 정보를 생성하고, 상기 매칭부는, 상기 제1 학습 콘텐츠에 대한 제1 아이템프로파일에 기반하여 상기 제1 학습 콘텐츠와 유사한 제2 학습 콘텐츠 정보를 생성하고, 상기 추천부는, 상기 제1 학습 콘텐츠 정보 및 상기 제2 학습 콘텐츠 정보를 상기 학습자단말기로 송신하되, 상기 추천부는, 상기 학습 콘텐츠 정보가 상기 학습자단말기로 송신될 때, 복수개의 학습 콘텐츠를 리스트 형식으로 송신한다.
상기 정보수집부는, 상기 학습자단말기로 진단문항을 제공하고, 상기 학습자단말기로부터 상기 진단문항에 대한 답변을 수신하며, 상기 학습자분석부는, 상기 진단문항에 대한 답변을 기반으로 상기 유저프로파일을 생성한다.
상기 정보수집부는, 상기 학습자단말기로부터 상기 학습자의 SNS(Social Network Service) 계정 정보를 수신하고, 상기 계정을 기반으로 SNS 서버에서 상기 학습자의 비정형 데이터를 수집하며, 상기 학습자분석부는, 상기 비정형 데이터를 기반으로 상기 학습자의 상기 유저프로파일을 생성한다.
상술한 목적을 달성하기 위하여, 본 발명의 일 실시예에 따른 운영변환 기반 실시간 협업 편집 서비스 제공이 가능한 맞춤형 콘텐츠 제공 방법은, 정보수집부가 학습자가 소지한 학습자단말기로부터 학습자의 정보를 수집하는 단계, 학습자분석부가 상기 학습자의 정보를 분석하여 상기 학습자의 콘텐츠 선호 정보가 포함된 유저프로파일(user profile)을 생성하는 단계, 데이터베이스부에 교습자단말기 또는 외부서버로부터 수신한 복수개의 학습 콘텐츠가 저장되는 단계, 콘텐츠분석부가 상기 학습 콘텐츠를 분석하여 상기 학습 콘텐츠의 정보가 포함된 아이템프로파일(item profile)을 생성하는 단계, 매칭부가 상기 아이템프로파일 및 상기 유저프로파일을 비교하여 상기 데이터베이스부에 저장된 복수개의 학습 콘텐츠 중 상기 학습자가 학습하도록 추천되는 학습 콘텐츠 정보를 생성하는 단계, 추천부가 상기 학습 콘텐츠 정보를 상기 학습자단말기로 송신하는 단계, 통계부가 상기 학습자단말기로부터 상기 학습 콘텐츠를 학습한 정보를 수신 및 분석하여 통계 정보를 생성하고, 생성된 상기 통계 정보를 상기 학습자단말기로 제공하는 단계 및 상기 협업편집부가 상기 학습자단말기 및 상기 교습자단말기 간 문서의 동시 편집을 지원하는 단계를 포함한다.
본 발명인 운영변환 기반 실시간 협업 편집 서비스 제공이 가능한 맞춤형 콘텐츠 제공 시스템 및 그 방법에 따르면, 콘텐츠 기반 필터링을 통해 학습 콘텐츠의 내용을 분석하며, 서로 유사한 학습 콘텐츠를 학습자에게 리스트 형식으로 제공하는 것이 가능한 효과가 있다.
본 발명인 운영변환 기반 실시간 협업 편집 서비스 제공이 가능한 맞춤형 콘텐츠 제공 시스템 및 그 방법에 따르면, 학습자와 교습자 간 문서의 협업 편집 서비스를 제공하여 멘토링을 가능하게 하는 운영변환 기반 실시간 협업 편집 서비스 제공이 가능한 효과가 있다.
도 1은 본 발명에 따른 운영변환 기반 실시간 협업 편집 서비스 제공이 가능한 맞춤형 콘텐츠 제공 시스템의 구성이 도시된 블록도이다.
도 2는 본 발명에 따른 학습 콘텐츠 제공 서버가 포함하는 구성이 도시된 블록도이다.
도 3은 본 발명에 따른 매칭부가 학습 콘텐츠 정보를 생성하는 과정이 도시된 블록도이다.
도 4는 본 발명에 따른 영상서비스부의 각 구성이 도시된 블록도이다.
도 5는 본 발명에 따른 운영변환 기반 실시간 협업 편집 서비스 제공이 가능한 맞춤형 콘텐츠 제공 방법의 흐름을 보여주는 흐름도이다.
도 2는 본 발명에 따른 학습 콘텐츠 제공 서버가 포함하는 구성이 도시된 블록도이다.
도 3은 본 발명에 따른 매칭부가 학습 콘텐츠 정보를 생성하는 과정이 도시된 블록도이다.
도 4는 본 발명에 따른 영상서비스부의 각 구성이 도시된 블록도이다.
도 5는 본 발명에 따른 운영변환 기반 실시간 협업 편집 서비스 제공이 가능한 맞춤형 콘텐츠 제공 방법의 흐름을 보여주는 흐름도이다.
이하, 본 발명의 일부 실시예들을 예시적인 도면을 통해 상세하게 설명한다. 각 도면의 구성 요소들에 참조 부호를 부가함에 있어서, 동일한 구성 요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다.
그리고 본 발명의 실시예를 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 실시예에 대한 이해를 방해한다고 판단되는 경우에는 그 상세한 설명은 생략한다.
또한, 본 발명의 실시예의 구성 요소를 설명하는 데 있어서, 제1, 제2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다.
본 명세서에서 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 “포함한다” 및/또는 “포함하는” 은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다.
본 명세서에서 학습 콘텐츠는, 강의 모습이 영상의 방식으로 생성된 영상형 학습 콘텐츠 및 텍스트와 이미지가 포함된 카드 방식으로 생성된 카드형 학습 콘텐츠를 포함한다.
본 발명에 따른 운영변환 기반 실시간 협업 편집 서비스 제공이 가능한 맞춤형 콘텐츠 제공 시스템(1000) 및 그 방법에서, 학습 콘텐츠 제공 서버(100)가 학습자단말기(200)로 제공하는 일련의 과정은 각 단말기 상에서 동작하는 어플리케이션의 형태로서 학습자단말기(200)로 제공될 수 있다.
이하, 첨부된 도면을 참조하여 본 발명을 보다 상세하게 설명하고자 한다.
도 1은 본 발명에 따른 운영변환 기반 실시간 협업 편집 서비스 제공이 가능한 맞춤형 콘텐츠 제공 시스템(1000)의 구성이 도시된 블록도이다.
본 발명에 따른 운영변환 기반 실시간 협업 편집 서비스 제공이 가능한 맞춤형 콘텐츠 제공 시스템(1000)(이하, ‘시스템(1000)’)은, 학습자가 소지하는 학습자단말기(200), 학습자단말기(200)로 맞춤형 학습 콘텐츠를 제공하는 학습 콘텐츠 제공 서버(100), 생성 또는 저작한 학습 콘텐츠를 학습 콘텐츠 제공 서버(100)로 송신하는 교습자단말기(300) 및/또는 저장된 학습 콘텐츠를 학습 콘텐츠 제공 서버(100)로 송신하는 외부서버(400)를 포함한다. 또한 본 발명에 따른 시스템(1000)은, 학습 콘텐츠 제공 서버(100)를 관리하는 관리자단말기(500)를 더 포함할 수 있다.
본 발명에 따른 학습자단말기(200), 학습 콘텐츠 제공 서버(100), 교습자단말기(300), 관리자단말기(500) 및/또는 외부서버(400)는 각각 서로 통신망을 통해 연결된다. 한편 학습자단말기(200) 및 교습자단말기(300)는 서로 운영변환 기반의 실시간 협업 편집 서비스를 통해 동일한 문서를 통해 멘토링을 주고 받는 것이 가능하다.
도 2는 본 발명에 따른 학습 콘텐츠 제공 서버(100)가 포함하는 구성이 도시된 블록도이다.
본 발명에 따른 학습 콘텐츠 제공 서버(100)는, 도 2를 참조하면, 정보수집부(110), 학습자분석부(120), 데이터베이스부(130), 콘텐츠분석부(140), 매칭부(150), 추천부(160), 통계부(170) 및 협업편집부(180)를 포함한다.
정보수집부(110)는, 학습자가 소지한 학습자단말기(200)로부터 학습자의 정보를 수집한다.
학습자분석부(120)는, 정보수집부(110)가 수집한 학습자의 정보를 분석하여 학습자의 학습 콘텐츠 선호 정보가 포함된 유저프로파일(user profile)을 생성한다.
유저프로파일에는 학습자의 학습 콘텐츠 선호도 정보 외에도 학습자의 목표직업, 성별, 나이, 학습자의 학습 수준, 학습 목적, 강의에 대한 평가, 수강한 강의 정보, 수강 기간 정보, 시험에 대한 응답율, 정답율, 순간 최대 이용량, 일 평균 접속 시간 등의 정보가 포함될 수 있다.
정보수집부(110)는, 학습자분석부(120)가 학습자의 유저프로파일을 생성하는 데 기초가 되는 정형 데이터를 수집하기 위해 학습자단말기(200)로 복수개의 문항이 포함된 진단문항을 송신한다. 학습자는 학습자단말기(200)로 수신된 진단문항에 대한 답변을 수행하고, 학습자단말기(200)는 그 진단문항에 대한 답변을 정보수집부(110)로 송신한다. 학습자분석부(120)는 수신한 진단문항에 대한 답변을 기반으로 유저프로파일을 생성한다. 정보수집부(110)가 학습자단말기(200)로 제공하는 진단문항은 전술한 유저프로파일에 포함된 정보들에 대한 문항을 포함한다.
학습자분석부(120)는 학습자의 특정 학습에 대한 수준 정보를 획득할 수 있으며, 정보수집부(110)는 이를 위해 학습자가 수강한 강의와 관련한 질문지를 생성하여 학습자단말기(200)로 송신할 수 있다. 정보수집부(110)는, 학습자단말기(200)가 송신한 질문지에 대한 답변을 기초로 학습자의 특정 학습에 대한 수준 정보를 획득할 수 있다.
한편, 정보수집부(110)는, 학습자분석부(120)가 학습자의 유저프로파일을 생성할 때, 그 기초가되는 정보를 수집하기 위해 정형 데이터가 아닌 비정형 데이터를 수집할 수 있다. 이때의 비정형 데이터는 공지의 SNS 서버에서 수집될 수 있다. 진단문항에 의한 답변, 즉 정형 데이터는 학습자에게 특정 문항에 대한 답변을 하도록 강요 또는 유도된 것으로, 정확한 또는 진실된 답변이 수신된 것으로 기대하기 어려울 수 있다. 반면에 학습자가 특정 문항에 대한 답변이 강요 또는 유도되지 않는 상태에서 작성한 글에는 더 정확한 또는 진실된 정보가 담겨있을 수 있다. 즉, 트위터, 블로그, 커뮤니티, 인스타그램 등과 같은 SNS(Social Network Service) 서버로부터 수집된 비정형 데이터는 소비자 스스로 입력한 것이어서 ‘디지털 자백약(truth serum)’이라 불릴 정도로 소비자의 솔직한 감성이 반영되어 있다는 특성을 갖는다. 정보수집부(110)가 수집하는 비정형 데이터는 전술한 진단문항의 답변에 의해 수집한 정형 데이터와 함께 유저프로파일을 생성하는 기초가 될 수 있다.
정보수집부(110)는, 학습자단말기(200)로부터 학습자의 SNS(Social Network Service) 계정 정보를 수신한다. 정보수집부(110)는 수신한 계정을 기반으로 카카오스토리, 페이스북(facebook), 트위터(twitter) 등 공지의 SNS 서버에서 학습자의 비정형 데이터를 수집한다. 학습자분석부(120)는, 수집한 비정형 데이터를 기반으로 학습자의 유저프로파일을 생성한다. 정보수집부(110)가 수신하는 계정 정보는, SNS 주소, 팔로어 수, 접속 지역 및 SNS 개설일을 포함한다.
정보수집부(110)는, 데이터베이스부(130)에 저장된 특정 학습 콘텐트의 명칭과, 긍정 또는 부정 등의 감정 상태를 표현하는 단어가 동일한 피드 내 기재된 경우 그 명칭과 감정 상태 단어를 수집할 수 있다. 정보수집부(110)는 SNS 서버에서 학습자 계정에 속한 피드 데이터를 모두 수집한 후, 상술한 그 명칭과 감성 상태 단어를 추출할 수 있다.
학습자분석부(120)는, 계정 정보에 따라 가중치를 주어 유저프로파일을 생성할 수 있다. 예를 들어, 학습자분석부(120)는, 수신한 계정의 SNS 개설일이 최근(예를 들어, 현재부터 1개월 이하)인 경우 해당 SNS 계정에서 수집한 비정형 데이터에 의한 값을 최소화하고, SNS 개설일이 오래된 과거(예를 들어, 현재부터 1개월 초과)인 경우 수집한 비정형 데이터에 의한 값에 충분한 가중치를 주어 생성된 유저프로파일을 변경할 수 있다. 즉, 진단문항에 의한 정형 데이터에 기반하여 생성된 유저프로파일이 SNS 계정 정보에 의한 비정형 데이터에 따라 변경될 때, SNS 계정 정보에 의해 변경되는 유저프로파일 값에 변화를 줄 수 있다. 예를 들어, 학습자분석부(120)는 학습자가 특정 과목의 특정 강사의 학습 콘텐츠를 진단문항에 의해 부정적으로 평가하는 것으로 유저프로파일을 생성한 상태에서, SNS 계정에 의해 수집된 정보에 의해 긍정적으로 평가하는 것으로 유저프로파일을 변경된다면, 후술하게 될 매칭부(150)는 학습자단말기(200)로 송신될 유저프로파일에 포함된 특정 강사의 다른 학습 콘텐츠 정보 또는 그 특정 강사와 유사한 강사에 대한 학습 콘텐츠 정보를 생성할 수 있다. 그러나 SNS 개설일이 최근인 경우 SNS 계정에 의해 수집된 정보는 진단문항에 의해 생성된 유저프로파일을 변경하지 않을 수 있다. 학습자분석부(120)가 추출한 학습자의 정보 및 유저프로파일은 데이터베이스부(130)에 저장된다.
본 발명에 따른 데이터베이스부(130)에는, 교습자단말기(300) 또는 외부서버(400)로부터 수신한 복수개의 학습 콘텐츠가 저장된다. 교습자단말기(300)는, 학습 콘텐츠를 생성하는 교습자 또는 강사가 소지하는 단말기이다. 교습자단말기(300)는 생성한 학습 콘텐츠를 데이터베이스부(130)에 송신하여 저장한다. 외부서버(400)에는 기 생성된 학습 콘텐츠가 저장된다. 외부서버(400)는 기 생성된 학습 콘텐츠를 본 발명에 따른 학습 콘텐츠 제공 서버(100)의 데이터베이스부(130)에 송신하여 저장한다. 외부서버(400)는, 인터넷 강의를 서비스하는 학교 서버, 학원 서버 등일 수 있다. 학습 콘텐츠가 데이터베이스부(130)에 저장되어 교육용 빅데이터를 구축할 수 있다.
본 발명에 따른 콘텐츠분석부(140)는, 데이터베이스부(130)에 저장된 학습 콘텐츠를 분석하여 그 학습 콘텐츠의 정보가 포함된 아이템프로파일(item profile)을 생성한다. 콘텐츠분석부(140)는 학습 콘텐츠의 내용을 분석한다. 콘텐츠분석부(140)는 학습 콘텐츠의 내용을 분석하여 학습 콘텐츠의 종류, 과목, 단원, 난이도, 강사에 대한 정보 등을 추출하여 아이템프로파일을 생성한다. 콘텐츠분석부(140)가 학습 콘텐츠의 내용을 분석하기 위하여 공지된 군집분석(cluster analysis), 인공신경망(Artificial Neural Network) 또는 tf-idf(Term Frequency-Inverse Document Frequency)의 알고리즘이 이용될 수 있다.
군집분석은 관찰대상인 개체들을 유사성에 근거하여 보다 유사한 동류집단으로 분류하는 다변량분석 기법이다. 군집분석을 통하여 동일집단으로 분류된 개체들은 공유하는 특성이 유사한 것으로 해석되며, 통계학적 방법은 집단 내 개체들간의 유사성을 개체내 변수들간의 상관계수, 개체간의 거리, 확률적 유사성 측정치 등을 활용하여 측정하고, 이에 기초하여 개체들을 유사한 동류집단으로 분류하는 것이다. 통상적으로 군집분석은 많은 개체들을 소수의 군집으로 분류하는 Q분석에 속하며, 개체들의 소속집단이 알려진 다음에 소속집단을 결정하는 변수를 탐색하는 판별분석과는 달리, 개체들의 다양한 특성(즉, 변수)들 사이의 관계를 분석하여 동류의 집단들로 분류하는 기능을 한다. 또한 요인분석이 다양한 변수들을 소수의 변수 묶음으로 단순화하는 반면에, 군집분석은 변수가 아니라 개체를 소수의 집단으로 분류한다.
인공신경망은 사람 또는 동물 두뇌의 신경망에 착안하여 구현된 컴퓨팅 시스템의 총칭이며, 기계 학습(machine learning)의 세부 방법론 중 하나로, 신경 세포인 뉴런(neuron)이 여러 개 연결된 망의 형태이다. 구조 및 기능에 따라 여러 종류로 구분되며, 가장 일반적인 인공 신경망은 한 개의 입력층과 출력층 사이에 다수의 은닉층(hidden layer)이 있는 다층 퍼셉트론(multilayer perceptron)이다. 인공신경망은 하드웨어로 구현될 수도 있으나, 주로 컴퓨터 소프트웨어로 구현된다. 인공신경망은 기초 컴퓨팅 단위인 뉴런 여러 개가 가중된 링크(weighted link)로 연결된 형태이다. 가중된 링크(weighted link)는 주어진 환경에 적응할 수 있도록 가중치를 조정할 수 있다. 인공 신경망은 자기 조직화 지도(SOM: Self-Organizing Map), 순환 신경망(RNN: Recurrent Neural Network), 콘볼루션 신경망(CNN: Convolutional Neural Network)과 같은 다양한 모델에 대한 총칭으로, 그 종류는 수십 가지에 이른다. 인공신경망은 컴퓨터 하드웨어 및 학습 알고리즘의 발달로 수십 개의 은닉층(hidden layer)이 있는 심층 신경망(DNN: Deep Neural Network)이 널리 사용되게 되었다. 바둑을 비롯해 이미지 및 자연어 처리, 음성 인식 등의 분야에서 기존의 기계 학습 방법의 성능을 뛰어 넘는 결과를 보이고 있다.
본 발명에 따른 콘텐츠분석부(140)가, 데이터베이스부(130)에 저장된 학습 콘텐츠를 분석하여 그 학습 콘텐츠의 정보가 포함된 아이템프로파일(item profile)을 생성할 때 TF-IDF(Term Frequency-Inverse Document Frequency)의 알고리즘을 이용하는 경우, 콘텐츠분석부(140)는 데이터베이스부(130)에 저장된 학습 콘텐츠들을 TF-IDF 값에 기초하여 복수의 클러스터로 분류한다. 콘텐츠분석부(140)는, 복수의 학습 콘텐츠 각각의 메타 데이터(Metadata)에 기초하여 TF-IDF 값을 산출하고, 산출된 TF-IDF 값을 기반으로 다수의 콘텐츠를 복수의 클러스터로 분류한다. 콘텐츠분석부(140)는 다수의 콘텐츠를 복수의 클러스터로 분류한 후, 데이터베이스부(130)에 저장된 각 콘텐츠의 카테고리 및 키워드 정보에 서로 다른 가중치를 부여하고, 그 가중치가 부여된 키워드들의 TF-IDF 값을 각각 산출하며, 콘텐츠분석부(140)가 산출된 키워드들의 TF-IDF 값을 연산하여 각 콘텐츠의 TF-IDF 값을 산출하고, 각 콘텐츠의 TF-IDF 값을 기 설정된 임계값과 비교하고, 그 비교결과에 따라 복수의 학습 콘텐츠를 복수의 클러스터로 분류한다. 각 학습 콘텐츠의 분류된 정보는 아이템프로파일에 포함된다. 후술하게 될 매칭부(150)는, 분류된 클러스터에 기반하여 학습 콘텐츠를 학습자단말기(200)로 추천할 수 있다.
본 발명에 따른 매칭부(150)는, 콘텐츠분석부(140)가 생성한 아이템프로파일 및 학습자분석부(120)가 생성한 유저프로파일에 기반하여 데이터베이스부(130)에 저장된 복수개의 학습 콘텐츠 중 학습자가 학습하도록 추천되는 학습 콘텐츠 정보를 생성한다. 학습 콘텐츠 정보에는 학습 콘텐츠가 구비하는 일련번호 정보가 포함될 수 있으며, 그 학습 콘텐츠의 과목, 단원 및 강사 정보가 포함될 수 있다. 학습 콘텐츠 정보에는 복수개의 학습 콘텐츠가 포함될 수 있다.
매칭부(150)는, 콘텐츠 기반 필터링을 기반으로 학습자에게 학습을 추천할 학습 콘텐츠 정보를 생성한다.
콘텐츠 기반 필터링(Contents Based Filtering; CBF)은 콘텐츠를 추천하는 정보를 생성하는데 개인화 수준을 목표로 하고 학습자의 선호도와 학습 콘텐츠의 내용을 고려하여 추천하는 방법이다. 콘텐츠 기반 필터링은, 콘텐츠 내용에 대한 분석을 기반으로 추천을 구현하는 기술이다. 콘텐츠를 분석한 아이템프로파일(item profile)과 사용자의 선호도 정보가 포함된 유저프로파일(user profile)를 추출하고 유사성 분석을 통해 추천을 수행한다. 콘텐츠 기반 필터링은, 일반적으로, 콘텐츠의 고유 정보를 바탕으로 콘텐츠 간 유사성을 파악하여 사용자가 선호할 수 있는 콘텐츠를 사용자에게 추천할 수 있는 기술을 의미한다. 콘텐츠 기반 필터링은, 콜드 스타트, 계산 효율 저하 및 롱테일 문제 등을 해결한다.
도 3은 본 발명에 따른 매칭부(150)가 학습 콘텐츠 정보를 생성하는 과정이 도시된 블록도이다.
먼저 매칭부(150)는, 학습자의 선호도 정보가 포함된 유저프로파일에 기반하여 학습자가 학습하도록 추천되는 제1 학습 콘텐츠 정보를 생성한다. 유저프로파일은, 전술한 바와 같이, 학습자분석부(120)가 생성한다. 학습자분석부(120)는 정보수집부(110)가 수집한 학습자의 정보를 분석하여 유저프로파일을 생성한다. 매칭부(150)가 생성하는 제1 학습 콘텐츠 정보는 유저프로파일이 포함하는 학습자의 정보를 기초로 추천되는 학습 콘텐츠를 포함한다. 즉 제1 학습 콘텐츠 정보는 학습자의 선호도에 기반한 것이다.
본 발명에 따른 추천부(160)는, 매칭부(150)가 생성한 학습 콘텐츠 정보를 학습자단말기(200)로 송신하여 추천된 학습 콘텐츠를 학습자가 학습할 수 있도록 한다. 학습 콘텐츠 정보는 학습자의 선호도 정보에 기초하여 생성된 제1 학습 콘텐츠 정보 및 제1 학습 콘텐츠 정보에 기초하여 새롭게 생성되는 제2 학습 콘텐츠 정보를 포함한다.
매칭부(150)는 제1 학습 콘텐츠 정보를 생성한 후, 제1 학습 콘텐츠 정보에 포함된 학습 콘텐츠의 아이템프로파일에 기초하여 제2 학습 콘텐츠 정보를 생성한다. 제2 학습 콘텐츠 정보에는, 일 실시예로서, 제1 학습 콘텐츠 정보에 포함된 학습 콘텐츠와 유사한 학습 콘텐츠가 포함된다. 매칭부(150)가 생성하는 제1 학습 콘텐츠 정보 및 제2 학습 콘텐츠 정보는 각각 복수개의 학습 콘텐츠를 포함할 수 있다.
추천부(160)는, 전술한 바와 같이, 매칭부(150)가 생성한 제1 학습 콘텐츠 정보 및 제2 학습 콘텐츠 정보를 학습자단말기(200)로 송신한다. 추천부(160)는 제1 학습 콘텐츠 정보 및 제2 학습 콘텐츠 정보를 학습자단말기(200)로 송신할 때 제1 학습 콘텐츠 정보 및 제2 학습 콘텐츠 정보가 포함하는 복수개의 학습 콘텐츠를 리스트 형식으로 가공하여 송신할 수 있다. 학습자는 학습자단말기(200)가 수신한 학습 콘텐츠 리스트 중 원하는 학습 콘텐츠를 선택하여 학습할 수 있으며 학습 중 또는 학습이 완료된 학습 콘텐츠는 리스트 내 표시될 수 있다. 또한 학습 중 또는 학습이 완료된 정보는 후술하게 될 통계부(170)로 송신된다. 추천부(160)가 송신하는 리스트는 to-do-list로서, 학습자의 목표 진척도 확인 및 학습 방향의 제시의 역할을 수행한다.
본 발명에 따른 통계부(170)는, 추천부(160)가 송신한 리스트에 대한 학습 중 또는 학습이 완료된 학습 콘텐츠에 대한 정보를 학습자단말기(200)로부터 수신 및 분석하여 통계 정보를 생성한다. 통계부(170)가 생성하는 통계 정보는 학습 시작 일시, 날짜, 학습 달성률(達成率) 등을 포함한다. 통계부(170)가 생성하는 통계 정보는 막대 그래프, 벤 다이어그램 등으로 가공될 수 있다. 통계부(170)가 생성하는 통계 정보는 학습자단말기(200)로 송신되고, 학습자는 학습자단말기(200)를 통해 생성된 통계 정보를 확인할 수 있다.
전술한 바와 같이, 정보수집부(110)는 SNS 서버에서 학습자의 비정형 데이터를 수집하고, 학습자분석부(120)는 수집한 비정형 데이터를 기반으로 학습자의 유저프로파일을 생성 또는 변경한다. 학습자분석부(120)가 유저프로파일을 생성 또는 변경할 때 사용되는 비정형 데이터는 학습자의 감정 상태를 나타내는 단어를 포함할 수 있다. 학습자분석부(120)는 학습자의 감정분석을 통해 학습 콘텐츠의 추천의 정확도를 향상시키도록 유저프로파일을 생성 또는 변경한다. 학습자분석부(120)가 학습자의 감정 상태를 분석함에 따라 학습 콘텐츠의 추천 서비스를 제공받을 때 추천된 학습 콘텐츠에 따른 긍정 또는 부정의 감정 상태를 기반하여 긍정의 감정상태를 가졌을 때 현재 추천 방식을 유지하고, 부정의 감정 상태를 가졌을 때에는 다른 카테고리의 학습 콘텐츠를 추천하도록 한다.
빅데이터는 일반적으로 양적으로 방대한 데이터를 의미하며, 설문조사 등을 통해 연구자의 계획에 의해 만들어진 데이터(made data)와는 달리 연구자의 개입 없이 자연스럽게 발견된 데이터(found data)로, 데이터의 형태도 텍스트, 이미지, 위치정보 등 다양한 특성을 갖는다(Connelly, Playford, Gayle & Dibben, 2016). 그리고 빅데이터 중 트위터, 블로그, 커뮤니티, 인스타그램, 뉴스와 같은 소셜 네트워크 (social network)를 통해 수집된 데이터를 SNS(Social Network Service) 빅데이터 혹은 소셜(social) 빅데이터라 칭하며 텍스트 형태를 갖는다. 특히 소셜 네트워크 중 뉴스를 제외한 트위터, 블로그 등으로부터 수집된 SNS 빅데이터는 소셜 네트워크 이용자가 스스로 입력한 것이기 때문에 이용자의 솔직한 감성 즉, 이용자의 심리적 특성이 반영된 자료를 얻을 수 있다는 장점이 있다
빅데이터의 감성분석(sentiment analysis)은 오피니언 마이닝(opinion mining)이라고도 불리며, 텍스트에 나타난 사람들의 주관적인 감정이나 생각을 분석하는 자연어 처리기술이다. 감성분석은 크게 3단계를 거치며, 첫 단계는 데이터 수집(data crawling) 단계로 각종 블로그, 게시판, 제품평가란 등 공개적인 데이터 소스 뿐만 아니라 트위터, 페이스북과 같은 개인적인 소셜 네트워크 사이트에서도 데이터 끌어올 수 있다. 그 다음은 주관성 탐지(subjectivity detection) 단계를 거치게 되며, 이는 수집한 데이터(텍스트) 중 개인정보를 걸러내고 감성분석에 사용될 텍스트 요소만 추출하는 작업과정을 의미한다. 그리고 마지막으로 극성탐지 단계를 거치게 되는데, 이는 추출된 텍스트 요소가 긍정, 부정, 혹은 중립인지를 판단하는 작업이 이루어지는 것을 의미하며, 미리 만들어 놓은 사전(dictionary)에 기초하여 감성분류가 이루어진다.
한국어 텍스트 분석은 어렵고 복잡하여 높은 전문성이 필요한 것으로 알려져 있으나, 현재는 기성 프로그램을 통하여 비전문인도 비교적 쉽게 분석을 할 수 있다. 현재 시중에 나와 있는 프로그램은 다음 소프트(Daum soft)에서 개발한 썸트렌드 비즈(Sometrend Biz)를 비롯하여 KoALA, R 등이 있다.
SNS 빅데이터의 감성분석에 기초한 선행연구는 매우 다양한 분야에서 나타나고 있으며, 크게 2가지 방법으로 감성분석 결과를 활용할 수 있다. 그 2가지 방법은 각각 감성어가 갖고 있는 의미자체에 기초한 방법과 감성유형(긍정, 부정 등)별 감성어 빈도(수)에 기초한 방법을 포함한다. 특히 감성유형별 감성어 빈도는 전체 감성어 빈도 중 긍정, 부정 감성어 빈도의 비율을 각각 산출하여 활용한다.
정보수집부(110)는, 현재 또는 과거 본 발명에 따른 매칭부(150)에 의해 추천된 학습 콘텐츠를 학습하고 있는 학습자의 계정에서 SNS 피드 정보를 수집한다. 학습자분석부(120)는 학습자의 피드에서 추천 학습 콘텐츠의 명칭 등 아이템프로파일에 포함된 단어가 포함된 경우, 동일한 피드에 포함된 감성어를 추출한다. 한편, 학습자분석부(120)는 현재 학습자가 초, 중, 고등학교 학생 또는 그에 준하는 학습(수능, 자격증, 대학원 진학 등을 위한 학습을 포함한다)을 하는 성인인 경우, 그 피드에 ‘학교’, ‘학원’ 이라는 단어가 포함된 경우에만 그 피드에서 감성어를 추출하도록 할 수 있다. 이는 초, 중, 고등학교 학생 또는 그에 준하는 학습을 하는 성인인 경우에 추출한 감성어와 학습 콘텐츠 간의 매칭 정확도를 높이기 위한 것이다.
학습자분석부(120)는 추출한 감성어를 감성어 수(빈도), 감성 유형별(긍정, 부정, 중립, 기타) 감성어 수 또는 감성 유형별 감성어 비율을 분석할 수 있다. 특히 긍정, 부정 감성어들 중 동일한 단어별로 빈도수가 높은 감성어와 감성어 수를 분석할 수 있다. 다만, ‘즐겁다’, ‘즐거운’과 같이 동일한 의미이지만 어미가 달라 서로 다른 단어로 인식되는 경우, 이들을 동일한 감성어로 다시 정리하여 분석할 수 있다.
초중고보습학원, 성인교습학원, 인터넷교육 등 교육서비스의 대표 긍정 감성은 ‘체계적’을 선택할 수 있고, 부정감성은 ‘어렵다’라는 감성어를 대표 부정 감성어로 선택할 수 있다. 즉 다른 감성어와 비교하여 ‘체계적’이라는 감성어가 추출된 경우, 현재 또는 과거 추천된 학습 콘텐츠가 정확히 추천되었다는 것을 파악할 수 있고, 만일 ‘어렵다’라는 감성어가 추출된 경우 추천된 학습 콘텐츠보다 난이도가 더 낮은 학습 콘텐츠를 추천하도록 유저프로파일을 변경하도록 한다.
긍정 감성어의 ‘체계적’ 외의 다른 예로는, 좋은, 도움, 가능한, 효율적, 열정, 성공하다, 우수한, 쉬운 을 포함하며 부정 감성어의 ‘어렵다’ 외의 다른 예로는 부족한, 고민, 힘들다, 걱정, 고민, 걱정, 지루하다, 한계있다, 아쉽다 를 포함한다.
학습자분석부(120)는 긍정 감성어에는 + 점수를, 부정 감성어에는 - 점수를 주어 연산할 수 있다. 또한 학습자분석부(120)는 추출된 감성어에 따라 가중치를 적용하여 각각 연산하고, 최종 점수에 따라 추천된 학습 콘텐츠의 추천도를 평가할 수 있다. 평가된 추천도에 따라 유저프로파일을 생성 또는 변경할 수 있다.
본 발명에 따른 시스템(1000)은, 스마트 워치 등을 포함하는 웨어러블 장치(미도시)를 더 포함할 수 있다. 웨어러블 장치는 학습 콘텐츠 정보를 추천받았을 때 학습자의 감정상태를 수집한다. 이때의 감정상태는 긍정 또는 부정의 감정상태를 포함한다. 공지된 웨어러블 장치는 착용자의 감정상태 및 스트레스 등의 데이터를 수집할 수 있다.
학습자분석부(120)는 웨어러블 장치와 연결되고, 웨어러블 장치로부터 감정상태 정보를 수신한다. 학습자분석부(120)는 학습자가 학습자단말기(200)를 통해 추천된 학습 콘텐츠를 학습할 때 학습자의 감정상태를 파악할 수 있다. 이때의 감정상태가 전술한 바와 같은 긍정 감정상태 또는 부정 감정상태인 여부를 파악하여 학습 콘텐츠의 추천을 위한 유저프로파일을 생성 또는 변경할 수 있다.
한편, 학습자분석부(120)는 학습자가 선호하는 색을 SNS 서버에서 추출할 수 있다. 학습자분석부(120)는 학습자의 계정에서 학습자가 선호하는 색을 추출하여 유저프로파일에 포함시킨다. 매칭부(150)는 학습 콘텐츠 정보를 생성할 때 학습자가 선호하는 색을 포함하는 학습 콘텐츠에 가중치를 줄 수 있다. 예를 들어 학습자가 선호하는 색으로 이루어진 카드형 학습 콘텐츠를 포함하도록 학습 콘텐츠 정보를 생성할 수 있다.
본 발명에 따른 콘텐츠분석부(140)는 학습 콘텐츠의 내용을 분석하여 아이템프로파일을 생성한다. 콘텐츠분석부(140)는 학습 콘텐츠의 내용을 분석할 때, 학습 콘텐츠가 카드형 학습 콘텐츠인 경우, 학습 콘텐츠 내 포함된 단어를 자연어 처리하여 추출할 수 있다. 또한 콘텐츠분석부(140)는 학습 콘텐츠가 영상형 학습 콘텐츠인 경우, 학습 콘텐츠 내 포함된 음성을 자연어 처리하여 텍스트화 하고, 텍스트화 된 단어를 추출 및 분석할 수 있다. 즉, 콘텐츠분석부(140)는 데이터베이스부(130)에 저장된 복수개의 학습 콘텐츠에서 각 학습 콘텐츠가 포함하는 단어를 추출할 수 있다. 추출된 각 단어는 아이템프로파일에 포함된다. 매칭부(150)는 아이템프로파일과 유저프로파일을 비교하여 서로 유사도를 파악하고, 유사한 학습 콘텐츠를 추출하여 학습 콘텐츠 정보를 생성하여, 학습자단말기(200)로 학습자의 선호도에 따른 학습 콘텐츠를 더 정확히 추천할 수 있다.
콘텐츠분석부(140)가 학습 콘텐츠 내 포함된 단어를 추출할 때 사용되는 음성 추출, 자연어 처리, 단어 추출 등에 사용되는 알고리즘은 공지된 알고리즘이 사용될 수 있다.
자연어 처리(Natural Language Processing)에 대해 부가적으로 설명하자면, 자연어 처리는 일반적으로 인간이 발화하는 언어 현상을 기계적으로 분석해서 컴퓨터가 이해할 수 있는 형태로 만드는 자연어(자연 언어) 이해 혹은 그러한 형태를 다시 인간이 이해할 수 있는 언어로 표현하는 제반 기술을 의미한다.
이러한 자연어 처리는 형태소 분석 및 품사 부착을 통해 이루어 질 수 있다. 형태소 분석은 예를 들어 '복합 명사'는 '복합+명사', '복+합명사', '복합명+사' 등등의 다양한 방식으로 쪼개질 수 있는 데 이들 중에서 가장 적합한 분해 결과를 선택하는 것인데, 다양하게 쪼개지는 분석 결과들 중에서 적합한 결과를 선택하기 위해, 테이블 파싱이라는 동적 프로그래밍 방법을 사용한다. 구체적으로 '복합+명사'로 쪼개질 확률이 그 외로 분석될 확률보다 더 크면 그걸로 선택하도록 하는 알고리즘이다
품사 부착은 형태소 분석을 통해 나온 결과 중 가장 적합한 형태의 품사를 부착하는 것을 말한다. 보통 태거라고 하는 모듈이 이 기능을 수행한다. 이는 형태소 분석기가 출력한 다양한 분석 결과 중에서 문맥에 적합한 하나의 분석 결과를 선택하는 모듈이라 할 수 있다. 분석 시 문맥 좌우에 위치한 중의성 해소의 힌트가 되는 정보를 이용해서 적합한 분석 결과를 선택한다. 보통 태거는 대규모의 품사부착을 이용해서 구현하는데 은닉 마르코프 모델(HMM)이 널리 사용되고 있다. 본 발명에서는 위와 방식의 자연어 처리를 통해 학습자분석부(120) 및 콘텐츠분석부(140)는 텍스트를 분석 및 처리할 수 있다.
본 발명에 따른 매칭부(150)는, 수집된 학습자의 목표 직업과, SNS 서버에 저장된 기 학습자의 현재 직업을 비교하고, 학습자의 목표 직업과 기 학습자의 현재 직업이 일치하는 경우, 기 학습자가 학습한 학습 콘텐츠를 포함하는 학습 콘텐츠 정보를 생성한다. 학습자의 목표 직업과 일치하는 직업을 현재 갖고 있는 기 학습자가 복수명인 경우, 학습자의 유저프로파일과 기 학습자의 유저프로파일의 유사도를 연산하여 가장 유사한 유저프로파일을 가진 기 학습자를 추출하고, 추출된 기 학습자가 학습한 학습 콘텐츠에 기반하여 학습 콘텐츠 정보를 생성하고, 생성한 학습 콘텐츠 정보를 학습자단말기(200)로 제공할 수 있다.
본 발명에 따른 협업편집부(180)는, 학습자와 교습자 간 문서의 협업 편집 서비스를 제공하여 멘토링을 가능하게 하는 운영변환 기반 실시간 협업 편집 서비스를 제공한다.
문서의 협업 환경에서는 복수개의 사용자들이 하나의 문서에 대해 동시 편집을 수행하기 때문에 각 사용자로부터 입력되는 편집 명령들 간에 충돌이 발생할 수 있는데, 이러한 충돌을 해결하기 위한 기술로 운영변환(Operational Transformation)이라는 기술이 존재한다.
운영변환은 복수개의 사용자들이 하나의 문서에 동시 편집을 수행함에 따라 상기 문서 상에서 서로 양립할 수 없는 상황인 편집 명령들 간의 충돌(conflict)이 발생하는 경우, 이러한 충돌을 해결함으로써, 각 편집 명령들이 모두 문서에 적용될 수 있도록 문서 상에서의 각 편집 명령들의 반영 위치 등을 조정하는 기법이다.
예컨대, "abc"라고 하는 텍스트가 삽입되어 있는 문서가 존재하고, 사용자 1과 사용자 2가 각자 자신의 클라이언트 단말을 통해 상기 문서에 대한 협업 세션에 참가하여, 사용자 1은 자신의 클라이언트 단말을 통해서 "ab"와 "c" 사이에 "e"를 삽입하는 편집을 수행하고, 사용자 2는 "c"를 삭제하는 편집을 동시에 수행한다고 한다고 가정하자.
이때, 상기 운영변환 기술은 상기 사용자 1의 클라이언트 단말과 상기 사용자 2의 클라이언트 단말에서 발생한 편집을 상기 사용자 1의 클라이언트 단말을 통해 표시되고 있는 문서와 상기 사용자 2의 클라이언트 단말에 표시되고 있는 문서에 동시에 반영함으로써, 상기 사용자 1의 클라이언트 단말을 통해 표시되는 문서와 상기 사용자 2의 클라이언트 단말을 통해 표시되는 문서가 모두 "abe"라고 하는 동일한 편집 상태로 유지될 수 있도록 하여 문서의 동시 편집을 지원하는 기술이다.
이러한 운영변환 기술은 하나의 문서에서 충돌되는 편집 명령들이 동시에 발생한 경우, 상기 편집 명령들 중 어느 하나의 편집 명령을 중심으로 다른 편집 명령의 상기 문서 상에서의 적용 위치를 변경하는 기법이라는 점에서, 문서 협업 환경에서 상기 운영변환 기술을 활용하여 문서의 동시 편집을 지원하기 위해서는 하나의 문서에서 동시에 편집 명령들이 발생하였을 때, 어떠한 편집 명령에 대해 운영변환을 수행할지 여부를 결정하고, 이를 기초로 적절한 운영변환을 수행함으로써, 협업 대상 문서에 서로 충돌되는 편집 명령들이 모두 적절하게 적용될수 있도록 하는 편집 명령 처리 알고리즘이 필요하다.
도 4는 본 발명에 따른 협업편집부의 각 구성이 도시된 블록도이다.
본 발명에 따른 협업편집부(180)는 학습자단말기(200) 및 교습자단말기(300)간 문서의 동시 편집을 지원한다. 본 발명의 일실시예에 따른 문서의 동시 편집을 지원하는 협업편집부(180)는, 도 4를 참조하면, 편집 명령 수신부(181) 및 편집 명령 처리부(182)를 포함하고, 편집 명령 처리부(182)는 편집 명령 저장부(1821), 편집 명령 추출부(1822) 및 편집 명령 전송부(1823)을 포함한다.
편집 명령 수신부(181)는 문서에 대한 협업 세션에 참가한 복수개의 학습자단말기(200) 및 교습자단말기(300)에 의해 상기 문서에 대한 편집과 연관된 편집 명령들이 동시에 인가되면, 복수개의 학습자단말기(200) 및 교습자단말기(300) 각각으로부터 상기 문서에 대해서 동시에 인가된 각 편집 명령들을(상기 각 편집 명령들에는 상기 각 편집 명령들의 상기 문서 상에서의 적용 위치와 연관된 좌표 값이 정의되어 있음)수신한다.
편집 명령 처리부(182)는 복수개의 학습자단말기(200) 및 교습자단말기(300) 각각으로부터 수신된 상기 각 편집 명령들을 그 수신 순서에 따라 하나씩 복수개의 학습자단말기(200) 및 교습자단말기(300)에 순차적으로 전송하되, 복수개의 학습자단말기(200) 및 교습자단말기(300)에 전송될 현재 순번의 편집 명령에 대해서 상기 현재 순번의 편집 명령보다 먼저 수신된 이전 순번의 편집 명령이 존재하는 경우, 상기 이전 순번의 편집 명령의 상기 문서 상에서 적용 위치와 연관된 좌표 값을 기초로 상기 현재 순번의 편집 명령이 상기 문서 상에서 적용될 위치에 대한 좌표 값에 대해 운영변환(Operational Transformation)을 수행한 후 운영변환이 완료된 상기 현재 순번의 편집 명령을 상기 복수개의 학습자단말기(200) 및 교습자단말기(300)들에 전송한다.
이때, 본 발명의 일실시예에 따르면, 편집 명령 처리부(182)는 편집 명령 저장부(1821), 편집 명령 추출부(1822) 및 편집 명령 전송부(1823)를 포함할 수 있다.
편집 명령 저장부(1821)는 복수개의 학습자단말기(200) 및 교습자단말기(300) 각각으로부터 수신된 상기 각 편집 명령들을 그 수신 순서에 기초하여 버퍼의 큐(Queue)에 저장한다.
편집 명령 추출부(1822)는 상기 버퍼의 큐에 상기 각 편집 명령들이 모두 저장되면, 상기 버퍼의 큐로부터 상기 각 편집 명령들을 상기 버퍼의 큐에서의 저장 순서에 따라 하나씩 추출한다.
편집 명령 전송부(1823)는 상기 버퍼의 큐에서 상기 각 편집 명령들이 하나씩 추출될 때마다, 상기 하나씩 추출된 상기 각 편집 명령들을 복수개의 학습자단말기(200) 및 교습자단말기(300)에 전송하되, 복수개의 학습자단말기(200) 및 교습자단말기(300)에 전송될 상기 현재 순번의 편집 명령에 대해서 상기 현재 순번의 편집 명령보다 먼저 상기 버퍼의 큐에 저장된 상기 이전 순번의 편집 명령이 존재하는 경우, 상기 이전 순번의 편집 명령의 상기 문서 상에서 적용 위치와 연관된 좌표 값을 기초로 상기 현재 순번의 편집 명령이 상기 문서 상에서 적용될 위치에 대한 좌표 값에 대해 운영변환을 수행한 후 운영변환이 완료된 상기 현재 순번의 편집 명령을 복수개의 학습자단말기(200) 및 교습자단말기(300)에 전송한다.
본 발명의 일실시예에 따르면, 복수개의 학습자단말기(200) 및 교습자단말기(300)는 복수개의 학습자단말기(200) 및 교습자단말기(300) 내에 각각 상기 문서를 저장하고 있고, 문서의 동시 편집을 지원하는 협업편집부(180)로부터 상기 각 편집 명령들이 순차적으로 하나씩 수신되면, 상기 수신된 각 편집 명령들 내에 정의되어 있는 상기 문서 상에서의 적용 위치와 연관된 좌표 값을 기초로 상기 수신된 각 편집 명령들에 따른 편집 사항을 복수개의 학습자단말기(200) 및 교습자단말기(300) 내에서 각각 저장하고 있는 상기 문서 상에 적용할 수 있다.
이때, 본 발명의 일실시예에 따르면, 복수개의 학습자단말기(200) 및 교습자단말기(300)는 복수개의 학습자단말기(200) 및 교습자단말기(300) 각각에 저장되어 있는 상기 문서에 대해서 복수개의 학습자단말기(200) 및 교습자단말기(300) 각각의 소지자(즉, 학습자 및 교습자)에 의해 상기 각 편집 명령들이 동시에 인가되면, 복수개의 학습자단말기(200) 및 교습자단말기(300)마다 상기 소지자에 의해 인가된 각각의 편집 명령에 따른 편집 사항을 복수개의 학습자단말기(200) 및 교습자단말기(300) 각각에 저장되어 있는 상기 문서 상에 자체적으로 적용한 후 복수개의 학습자단말기(200) 및 교습자단말기(300) 각각에서 상기 소지자에 의해 인가된 각각의 편집 명령을 문서의 동시 편집을 지원하는 협업편집부(180)로 전송할 수 있다.
이때, 본 발명의 일실시예에 따르면, 복수개의 학습자단말기(200) 및 교습자단말기(300)는 문서의 동시 편집을 지원하는 협업편집부(180)로부터 상기 각 편집 명령들이 순차적으로 하나씩 수신되면, 상기 수신된 각 편집 명령들 중 복수개의 학습자단말기(200) 및 교습자단말기(300) 각각에 저장되어 있는 상기 문서 상에 이미 자체적으로 적용되어 있는 편집 명령과 동일한 편집 명령이 존재하는지 여부를 판단하고, 상기 동일한 편집 명령이 존재하는 것으로 판단되면, 상기 수신된 각 편집 명령들에서 상기 동일한 편집 명령을 제외한 후 상기 수신된 각 편집 명령들 내에 정의되어 있는 상기 문서 상에서의 적용 위치와 연관된 좌표 값을 기초로 상기 수신된 각 편집 명령들에 따른 편집 사항을 복수개의 학습자단말기(200) 및 교습자단말기(300) 내에 각각 저장되어 있는 상기 문서 상에 적용할 수 있다.
이하에서는 본 발명에 따른 문서의 동시 편집을 지원하는 협업편집부(180)의 동작에 대해 예를 들어 상세히 설명하기로 한다.
먼저, 설명의 편의를 위해 학습자단말기의 소지자는 복수명으로 사용자 1 및 사용자 2라 하고, 교습자단말기의 소지자는 사용자 3이라 한다. 또한, 사용자 1 및 사용자 2는 각각 제1 학습자단말기(200) 및 제2 학습자단말기(200)를 소지하고, 사용자 3은 제1 교습자단말기(300)를 소지한 것으로 가정한다. 사용자 1의 제1 학습자단말기(200)와 사용자 2의 제2 학습자단말기(200) 및 사용자 3의 제1 교습자단말기(300)는 문서의 동시 편집을 지원하는 협업편집부(180)에 접속하여 문서에 대한 동시 편집을 수행하는 상황으로 가정한다. 또한, 각 학습자단말기(200) 및 교습자단말기(300)가 각 학습자단말기(200) 및 교습자단말기(300)에 탑재되어 있는 브라우저를 통해서 웹을 기반으로 문서에 대한 동시 편집을 수행하는 환경을 가정하기로 한다.
우선, 문서의 동시 편집을 지원하는 협업편집부(180)는 사용자 1의 제1 학습자단말기(200)와 사용자 2의 제2 학습자단말기(200) 및 사용자 3의 제1 교습자단말기(300)로부터 소정의 문서 스토리지에 저장되어 있는 협업 대상이 되는 원본 문서의 편집을 위한 액세스 요청이 수신되면, 상기 원본 문서를 마크업 언어(Markup Language) 기반 문서로 변환하여 상기 마크업 언어 기반 문서를 사용자 1의 제1 학습자단말기(200)와 사용자 2의 제2 학습자단말기(200) 및 사용자 3의 제1 교습자단말기(300)로 전송할 수 있다. 본 실시예에서 상기 원본 문서에는 "1234"라고 하는 텍스트가 삽입되어 있는 것으로 가정한다.
그리고, 마크업 언어 기반 문서란 HTML(Hypertext Markup Language)이나 XML(eXtensible Markup Language)과 같은 클라이언트 단말에 설치되어 있는 브라우저를 통해서 열람이 가능한 마크업 언어로 구성된 문서를 의미한다.
예컨대, 소정의 문서 스토리지에 "hwp"나 "docx" 등의 확장자를 갖는 원본 문서가 저장되어 있는 상태에서 사용자 1의 제1 학습자단말기(200)와 사용자 2의 제2 학습자단말기(200) 및 사용자 3의 제1 교습자단말기(300)로부터 상기 원본 문서에 대한 액세스 요청이 수신되면, 문서의 동시 편집을 지원하는 협업편집부(180)는 상기 문서 스토리지로부터 상기 원본 문서를 추출하여 상기 원본 문서를 HTML 등과 같은 마크업 언어 기반 문서로 변환한 후 상기 변환된 마크업 언어 기반 문서를 사용자 1의 제1 학습자단말기(200)와 사용자 2의 제2 학습자단말기(200) 및 사용자 3의 제1 교습자단말기(300)로 전송할 수 있다.
이때, 본 발명의 일실시예에 따르면, 상기 원본 문서가 저장되어 있는 상기 문서 스토리지는 문서의 동시 편집을 지원하는 협업편집부(180) 내부에 탑재되어 있을 수도 있고, 문서의 동시 편집을 지원하는 협업편집부(180)와 별도로 분리된 스탠드 어론(stand alone) 기반의 장치로 구성될 수도 있다.
이때, 사용자 1의 제1 학습자단말기(200)는 문서의 동시 편집을 지원하는 협업편집부(180)로부터 상기 마크업 언어 기반 문서가 수신되면, 사용자 1의 제1 학습자단말기(200)에 탑재되어 있는 브라우저 1을 통해 상기 마크업 언어 기반 문서를 표시할 수 있다.
이와 유사하게, 사용자 2의 제2 학습자단말기(200)는 문서의 동시 편집을 지원하는 협업편집부(180)로부터 상기 마크업 언어 기반 문서가 수신되면, 사용자 2의 제2 학습자단말기(200)에 탑재되어 있는 브라우저 2를 통해 상기 마크업 언어 기반 문서를 표시할 수 있다.
그리고, 사용자 3의 제1 교습자단말기(300)는 문서의 동시 편집을 지원하는 협업편집부(180)로부터 상기 마크업 언어 기반 문서가 수신되면, 사용자 3의 제1 교습자단말기(300)에 탑재되어 있는 브라우저 3을 통해 상기 마크업 언어 기반 문서를 표시할 수 있다.
이때, 사용자 1의 제1 학습자단말기(200)에서 상기 브라우저 1을 통해 표시되고 있는 상기 마크업 언어 기반 문서에 대해 "1234"의 가장 좌측 지점에 "a"라는 텍스트가 삽입되도록 하는 편집 명령 1이 입력되고, 동시에 사용자 2의 제2 학습자단말기(200)에서 상기 브라우저 2를 통해 표시되고 있는 상기 마크업 언어 기반 문서에 대해 "1234"의 가장 좌측 지점에 "b"라는 텍스트가 삽입되도록 하는 편집 명령 2가 입력되었으며, 사용자 3의 제1 교습자단말기(300)에서 상기 브라우저 3을 통해 표시되고 있는 상기 마크업 언어 기반 문서에 대해 "1234"의 가장 좌측 지점에 "c"라는 텍스트가 삽입되도록 하는 편집 명령 3이 입력된 경우, 사용자 1의 제1 학습자단말기(200)는 상기 브라우저 1을 통해 표시되고 있는 상기 마크업 언어 기반 문서에 대해 상기 편집 명령 1에 따른 편집 사항을 적용함으로써, "1234"의 가장 좌측 지점에 "a"라는 텍스트를 삽입한 후 상기 편집 명령 1을 문서의 동시 편집을 지원하는 협업편집부(180)로 전송할 수 있고, 사용자 2의 제2 학습자단말기(200)는 상기 브라우저 2를 통해 표시되고 있는 상기 마크업 언어 기반 문서에 대해 상기 편집 명령 2에 따른 편집 사항을 적용함으로써, "1234"의 가장 좌측 지점에 "b"라는 텍스트를 삽입한 후 상기 편집 명령 2를 문서의 동시 편집을 지원하는 협업편집부(180)로 전송할 수 있으며, 사용자 3의 제1 교습자단말기(300)는 상기 브라우저 3을 통해 표시되고 있는 상기 마크업 언어 기반 문서에 대해 상기 편집 명령 3에 따른 편집 사항을 적용함으로써, "1234"의 가장 좌측 지점에 "c"라는 텍스트를 삽입한 후 상기 편집 명령 3을 문서의 동시 편집을 지원하는 협업편집부(180)로 전송할 수 있다.
이때, 편집 명령 수신부(181)는 사용자 1의 제1 학습자단말기(200)와 사용자 2의 제2 학습자단말기(200) 및 사용자 3의 제1 교습자단말기(300)에 의해서 동시에 발생한 상기 편집 명령 1, 2, 3을 각 학습자단말기(200) 및 교습자단말기(300)로부터 수신할 수 있다.
이때, 본 발명의 일실시예에 따르면, 상기 편집 명령 1, 2, 3에는 각 편집 명령의 상기 마크업 언어 기반 문서 상에서의 적용 위치와 연관된 좌표 값이 정의되어 있을 수 있다.
예컨대, 편집 명령이 상기 마크업 언어 기반 문서 상에서 적용되는 위치에 대한 좌표 값을 [x, y]로 정의하기로 하고, 여기서, x를 텍스트의 시작 지점에 대한 좌표, y를 텍스트의 끝 지점에 대한 좌표라 가정하자.
이때, 상기 마크업 언어 기반 문서에서 텍스트가 위치하는 가장 좌측 지점으로부터 우측 방향으로 좌표가 0에서 시작하여 1씩 증가하는 방식으로 할당되어 있다고 가정하면, 상기 편집 명령 1, 2, 3은 각각 상기 마크업 언어 기반 문서에서 가장 좌측 부분에 "a", "b", "c"를 삽입하도록 하는 편집 명령이므로, 각 편집 명령이 적용되는 상기 마크업 언어 기반 문서에서의 시작 지점과 끝 지점의 좌표는 모두 0이 된다.
이로 인해, 상기 편집 명령 1, 2, 3에는 모두 [0, 0]이라고 하는 좌표 값이 정의되어 있을 수 있다.
이렇게, 편집 명령 수신부(181)가 각 학습자단말기(200) 및 교습자단말기(300)로부터 상기 편집 명령 1, 2, 3을 수신하게 되면, 편집 명령 처리부(182)에 포함되어 있는 편집 명령 저장부(1821)는 각 학습자단말기(200) 및 교습자단말기(300)로부터 수신된 상기 편집 명령 1, 2, 3을 그 수신 순서에 기초하여 버퍼의 큐에 순차적으로 저장할 수 있다.
예컨대, 편집 명령 2가 가장 먼저 수신되었고, 그 다음에 편집 명령 1이, 마지막으로 편집 명령 3이 편집 명령 수신부(181)에 수신되었다면, 편집 명령 저장부(1821)는 "b"를 삽입하라는 편집 명령 2를 상기 버퍼의 큐에 가장 먼저 저장할 수 있고, "a"를 삽입하라는 편집 명령 1을 그 다음 순서로 저장할 수 있으며, "c"를 삽입하라는 편집 명령 3을 마지막 순서로 저장할 수 있다.
이렇게, 상기 버퍼의 큐에 상기 편집 명령 1, 2, 3이 모두 저장되면, 편집 명령 추출부(1822)는 상기 편집 명령1, 2, 3이 상기 버퍼의 큐에 저장된 순서에 따라, 상기 버퍼의 큐로부터 편집 명령 2, 1, 3을 순차적으로 하나씩 추출할 수 있다.
이때, 편집 명령 전송부(1823)는 상기 버퍼의 큐로부터 편집 명령 2가 가장 먼저 추출되면, 상기 버퍼의 큐 상에 상기 편집 명령 2보다 먼저 저장된 이전 순번의 편집 명령이 존재하는지 여부를 판단할 수 있다.
상기 편집 명령 2는 상기 버퍼의 큐에 가장 먼저 저장된 편집 명령이므로, 편집 명령 전송부(1823)는 상기 버퍼의 큐 상에 상기 편집 명령 2보다 먼저 저장된 이전 순번의 편집 명령이 존재하지 않는 것으로 판단할 수 있고, 이 경우, 편집 명령 전송부(1823)는 상기 편집 명령 2에 대해 운영변환(Operational Transformation)을 수행하지 않고, 상기 편집 명령 2를 그대로 각 학습자단말기(200) 및 교습자단말기(300)에 전송할 수 있다.
이때, 사용자 1의 제1 학습자단말기(200)는 상기 편집 명령 2가 수신되면, "a1234"라는 편집이 적용되어 있는 상기 마크업 언어 기반 문서 상에서 상기 편집 명령 2와 동일한 편집 명령이 이미 적용되어 있는지 여부를 판단할 수 있다.
사용자 1의 제1 학습자단말기(200)의 상기 브라우저 1을 통해 표시되고 있는 상기 마크업 언어 기반 문서에는 상기 편집 명령 2와 동일한 편집 명령이 적용되어 있지 않기 때문에 사용자 1의 제1 학습자단말기(200)는 상기 편집 명령 2에 정의되어 있는 상기 마크업 언어 기반 문서 상에서의 상기 편집 명령 2의 적용 위치와 연관된 좌표 값을 기초로 상기 편집 명령 2에 따른 편집 사항을 적용하여 상기 브라우저 1을 통해 표시되고 있는 상기 마크업 언어 기반 문서를 "ba1234"로 변경할 수 있다.
즉, 상기 편집 명령 2에 정의되어 있는 좌표 값은 [0, 0]으로 상기 편집 명령 2는 가장 좌측 지점에 "b"를 삽입하도록 하는 편집 명령이므로, 사용자 1의 제1 학습자단말기(200)는 상기 브라우저 1을 통해 표시되고 있는 "a1234"에서 가장 좌측 지점에 "b"를 삽입함으로써, 상기 브라우저 1을 통해 표시되고 있는 상기 마크업 언어 기반 문서의 편집 상태를 "ba1234"로 변경할 수 있다.
한편, 사용자 2의 제2 학습자단말기(200)는 상기 편집 명령 2가 수신되면, "b1234"라는 편집이 적용되어 있는 상기 마크업 언어 기반 문서 상에서 상기 편집 명령 2과 동일한 편집 명령이 이미 적용되어 있는지 여부를 판단할 수 있다.
사용자 2의 제2 학습자단말기(200)의 상기 브라우저 2를 통해 표시되고 있는 상기 마크업 언어 기반 문서에는 이미 상기 편집 명령 2와 동일한 편집 명령이 자체적으로 적용되어 있기 때문에 상기 마크업 언어 기반 문서에 대해 상기 수신된 편집 명령 2를 다시 적용할 필요가 없으므로, 사용자 2의 제2 학습자단말기(200)는 상기 수신된 편집 명령 2를 폐기함으로써, "b1234"라는 편집 상태를 그대로 유지할 수 있다.
마지막으로, 사용자 3의 제1 교습자단말기(300)는 상기 편집 명령 2가 수신되면, "c1234"라는 편집이 적용되어 있는 상기 마크업 언어 기반 문서 상에서 상기 편집 명령 2와 동일한 편집 명령이 이미 적용되어 있는지 여부를 판단할 수 있다.
사용자 3의 제1 교습자단말기(300)의 상기 브라우저 3을 통해 표시되고 있는 상기 마크업 언어 기반 문서에는 상기 편집 명령 2와 동일한 편집 명령이 적용되어 있지 않기 때문에 사용자 3의 제1 교습자단말기(300)는 상기 편집 명령 2에 정의되어 있는 상기 마크업 언어 기반 문서 상에서의 상기 편집 명령 2의 적용 위치와 연관된 좌표 값을 기초로 상기 편집 명령 2에 따른 편집 사항을 적용하여 상기 브라우저 3을 통해 표시되고 있는 상기 마크업 언어 기반 문서를 "bc1234"로 변경할 수 있다.
즉, 상기 편집 명령 2에 정의되어 있는 좌표 값은 [0, 0]으로 상기 편집 명령 2는 가장 좌측 지점에 "b"를 삽입하도록 하는 편집 명령이므로, 사용자 3의 제1 교습자단말기(300)는 상기 브라우저 3을 통해 표시되고 있는 "c1234"에서 가장 좌측 지점에 "b"를 삽입함으로써, 상기 브라우저 3을 통해 표시되고 있는 상기 마크업 언어 기반 문서의 편집 상태를 "bc1234"로 변경할 수 있다.
이때, 본 발명의 일실시예에 따르면, 각 학습자단말기(200) 및 교습자단말기(300)는 각 학습자단말기(200) 및 교습자단말기(300)에서 소정의 편집 명령이 인가될 때마다 해당 편집 명령에 대응하는 고유 시리얼 번호를 생성할 수 있다.
이를 통해, 각 학습자단말기(200) 및 교습자단말기(300)는 문서의 동시 편집을 지원하는 협업편집부(180)로부터 상기 편집 명령 2가 수신되면, 각 학습자단말기(200) 및 교습자단말기(300)의 브라우저를 통해 표시되고 있는 각각의 마크업 언어 기반 문서 상에 이미 적용되어 있는 편집 명령들에 대한 고유 시리얼 번호와 상기 수신된 편집 명령 2에 대한 고유 시리얼 번호를 서로 비교하여 각각의 마크업 언어 기반의 문서 상에 상기 수신된 편집 명령 2와 동일한 편집 명령이 이미 적용되어 있는 여부를 판단할 수 있다.
상기 편집 명령 2가 상기 버퍼의 큐에서 가장 먼저 추출되어 각 학습자단말기(200) 및 교습자단말기(300)에 전송된 이후 상기 버퍼의 큐에서 상기 편집 명령 1이 두 번째로 추출되면, 편집 명령 전송부(1823)는 상기 버퍼의 큐 상에 상기 편집 명령 1보다 먼저 저장된 이전 순번의 편집 명령이 존재하는지 여부를 판단할 수 있다.
상기 버퍼의 큐 상에는 상기 편집 명령 1 이전에 상기 편집 명령 2가 먼저 저장되어 있었기 때문에 편집 명령 전송부(1823)는 상기 버퍼의 큐 상에 상기 편집 명령 1보다 먼저 저장된 이전 순번의 편집 명령이 존재하는 것으로 판단할 수 있고, 이 경우, 편집 명령 전송부(1823)는 상기 편집 명령 1에 대해, 이전 순번의 편집 명령인 상기 편집 명령 2의 상기 마크업 문서 상에서의 적용 위치와 연관된 좌표 값을 기초로 상기 편집 명령 1이 상기 마크업 언어 기반 문서에 적용될 좌표 값을 변경하는 운영변환을 수행할 수 있다. 관련해서, 상기 편집 명령 2에 정의되어 있는 좌표 값은 [0, 0]이고, 상기 [0069] 편집 명령 1에 정의되어 있는 좌표값도 [0, 0]으로 상기 편집 명령 2와 상기 편집 명령 1이 적용되는 좌표 값은 서로 중복되기 때문에, 편집 명령 전송부(1823)는 상기 편집 명령 1에 대해 상기 편집 명령 1이 적용되는 좌표 값을 우측 방향으로 한 칸 이동시켜[1, 1]이라는 좌표 값으로 변경할 수 있다.
즉, 상기 마크업 언어 기반 문서 상에서 가장 좌측 지점에 "b"를 삽입하라는 상기 편집 명령 2와 가장 좌측 지점에 "a"를 삽입하라는 상기 편집 명령 1의 적용 지점이 동일하기 때문에 편집 명령 전송부(1823)는 상기 버퍼의 큐에 뒤늦게 저장된 상기 편집 명령 1에 대해 적용 지점을 가장 좌측 지점에서 한 칸 우측으로 이동한 지점으로 변경하는 운영변환을 수행할 수 있다.
그러고 나서, 편집 명령 전송부(1823)는 상기 운영변환이 완료된 상기 편집 명령 1을 각 학습자단말기(200) 및 교습자단말기(300)로 전송할 수 있다.
이때, 사용자 1의 제1 학습자단말기(200)는 상기 편집 명령 1이 수신되면, "ba1234"라는 편집이 적용되어 있는 상기 마크업 언어 기반 문서 상에서 상기 편집 명령 1과 동일한 편집 명령이 이미 적용되어 있는지 여부를 판단할 수 있다.
이때, 사용자 1의 제1 학습자단말기(200)는 상기 편집 명령 1에 대응하는 고유 시리얼 번호를 확인하여 "ba1234"라는 편집이 적용되어 있는 상기 마크업 언어 기반 문서 상에서 상기 편집 명령 1과 동일한 편집 명령이 이미 적용되어 있는지 여부를 판단할 수 있다.
사용자 1의 제1 학습자단말기(200)의 상기 브라우저 1을 통해 표시되고 있는 상기 마크업 언어 기반 문서에는 이미 상기 편집 명령 1과 동일한 편집 명령이 자체적으로 적용되어 있기 때문에 상기 마크업 언어 기반 문서에 대해 상기 수신된 편집 명령 1을 다시 적용할 필요가 없으므로, 사용자 1의 제1 학습자단말기(200)는 상기 수신된 편집 명령 1을 폐기함으로써, "ba1234"라는 편집 상태를 그대로 유지할 수 있다.
한편, 사용자 2의 제2 학습자단말기(200)는 상기 편집 명령 1이 수신되면, "b1234"라는 편집이 적용되어 있는 상기 마크업 언어 기반 문서 상에서 상기 편집 명령 1과 동일한 편집 명령이 이미 적용되어 있는지 여부를 판단할 수 있다.
이때, 사용자 2의 제2 학습자단말기(200)는 상기 편집 명령 1에 대응하는 고유 시리얼 번호를 확인하여 "b1234"라는 편집이 적용되어 있는 상기 마크업 언어 기반 문서 상에서 상기 편집 명령 1과 동일한 편집 명령이 이미 적용되어 있는지 여부를 판단할 수 있다.
사용자 2의 제2 학습자단말기(200)의 상기 브라우저 2를 통해 표시되고 있는 상기 마크업 언어 기반 문서에는 상기 편집 명령 1과 동일한 편집 명령이 적용되어 있지 않기 때문에 사용자 2의 제2 학습자단말기(200)는 상기 편집 명령 1에 정의되어 있는 상기 마크업 언어 기반 문서 상에서의 상기 편집 명령 1의 적용 위치와 연관된 좌표 값을 기초로 상기 편집 명령 1에 따른 편집 사항을 적용하여 상기 브라우저 2를 통해 표시되고 있는 상기 마크업 언어 기반 문서를 "ba1234"로 변경할 수 있다.
즉, 상기 편집 명령 1에 정의되어 있는 좌표 값은 [1, 1]로 상기 편집 명령 1는 두 번째 좌측 지점에 "a"를 삽입하도록 하는 편집 명령이므로, 사용자 2의 제2 학습자단말기(200)는 상기 브라우저 2를 통해 표시되고 있는 "b1234"에서 두 번째 좌측 지점에 "a"를 삽입함으로써, 상기 브라우저 2를 통해 표시되고 있는 상기 마크업 언어 기반 문서의 편집 상태를 "ba1234"로 변경할 수 있다.
마지막으로, 사용자 3의 제1 교습자단말기(300)는 상기 편집 명령 1이 수신되면, "bc1234"라는 편집이 적용되어 있는 상기 마크업 언어 기반 문서 상에서 상기 편집 명령 1과 동일한 편집 명령이 이미 적용되어 있는지 여부를 판단할 수 있다.
이때, 사용자 3의 제1 교습자단말기(300)는 상기 편집 명령 1에 대응하는 고유 시리얼 번호를 확인하여 "bc1234"라는 편집이 적용되어 있는 상기 마크업 언어 기반 문서 상에서 상기 편집 명령 1과 동일한 편집 명령이 이미 적용되어 있는지 여부를 판단할 수 있다.
사용자 3의 제1 교습자단말기(300)의 상기 브라우저 3을 통해 표시되고 있는 상기 마크업 언어 기반 문서에는 상기 편집 명령 1과 동일한 편집 명령이 적용되어 있지 않기 때문에 사용자 3의 제1 교습자단말기(300)는 상기 편집 명령 1에 정의되어 있는 상기 마크업 언어 기반 문서 상에서의 상기 편집 명령 1의 적용 위치와 연관된 좌표 값을 기초로 상기 편집 명령 1에 따른 편집 사항을 적용하여 상기 브라우저 3을 통해 표시되고 있는 상기 마크업 언어 기반 문서를 "bac1234"로 변경할 수 있다.
즉, 상기 편집 명령 1에 정의되어 있는 좌표 값은 [1, 1]로 상기 편집 명령 1는 두 번째 좌측 지점에 "a"를 삽입하도록 하는 편집 명령이므로, 사용자 3의 제1 교습자단말기(300)는 상기 브라우저 3을 통해 표시되고 있는 "bc1234"에서 두 번째 좌측 지점에 "a"를 삽입함으로써, 상기 브라우저 3을 통해 표시되고 있는 상기 마크업 언어 기반 문서의 편집 상태를 "bac1234"로 변경할 수 있다.
상기 편집 명령 1이 상기 버퍼의 큐에서 두 번째로 추출되어 각 학습자단말기(200) 및 교습자단말기(300)에 전송된 이후 상기 버퍼의 큐에서 상기 편집 명령 3이 마지막으로 추출되면, 편집 명령 전송부(1823)는 상기 버퍼의 큐 상에 상기 편집 명령 3보다 먼저 저장된 이전 순번의 편집 명령이 존재하는지 여부를 판단할 수 있다.
상기 버퍼의 큐 상에는 상기 편집 명령 3 이전에 상기 편집 명령 2와 상기 편집 명령 1이 먼저 저장되어 있었기 때문에 편집 명령 전송부(1823)는 상기 버퍼의 큐 상에 상기 편집 명령 3보다 먼저 저장된 이전 순번의 편집 명령이 존재하는 것으로 판단할 수 있고, 이 경우, 편집 명령 전송부(1823)는 상기 편집 명령 3에 대해 이전 순번의 편집 명령인 상기 편집 명령 2와 상기 편집 명령 1의 상기 마크업 문서 상에서의 적용 위치와 연관된 좌표 값을 기초로 상기 편집 명령 3이 상기 마크업 언어 기반 문서에 적용될 좌표 값을 변경하는 운영변환을 수행할 수 있다.
관련해서, 상기 편집 명령 2에 정의되어 있는 좌표 값은 [0, 0]이고, 상기 편집 명령 1에 정의되어 있는 좌표값은 운영변환이 수행됨으로 인해 [1, 1]인 상황에서, 상기 편집 명령 3에 정의되어 있는 좌표 값은 [0, 0]이기 때문에 상기 편집 명령 3에 대해 상기 편집 명령 2와 1에 정의된 좌표 값과 중복되지 않도록 하기 위해서, 편집 명령 전송부(1823)는 상기 편집 명령 3에 대해 상기 편집 명령 3이 적용되는 좌표 값을 우측 방향으로 두 번 이동시켜 [2, 2]라는 좌표 값으로 변경할 수 있다.
즉, 상기 마크업 언어 기반 문서 상에서 가장 좌측 지점에 "b"를 삽입하라는 상기 편집 명령 2, 두 번째 좌측지점에 "a"를 삽입하라는 상기 편집 명령 1과, 가장 좌측 지점에 "c"를 삽입하라는 상기 편집 명령 3의 적용 지점을 중복되지 않도록 하기 위해서, 편집 명령 전송부(1823)는 상기 버퍼의 큐에 가장 늦게 저장된 상기 편집 명령 3에 대해 적용 지점을 가장 좌측 지점에서 두 칸 우측 이동한 지점으로 변경하는 운영변환을 수행할 수 있다.
그러고 나서, 편집 명령 전송부(1823)는 상기 운영변환이 완료된 상기 편집 명령 3을 각 학습자단말기(200) 및 교습자단말기(300)로 전송할 수 있다.
이때, 사용자 1의 제1 학습자단말기(200)는 상기 편집 명령 3이 수신되면, "ba1234"라는 편집이 적용되어 있는 상기 마크업 언어 기반 문서 상에서 상기 편집 명령 3과 동일한 편집 명령이 이미 적용되어 있는지 여부를 판단할 수 있다.
이때, 사용자 1의 제1 학습자단말기(200)는 상기 편집 명령 3에 대응하는 고유 시리얼 번호를 확인하여 "ba1234"라는 편집이 적용되어 있는 상기 마크업 언어 기반 문서 상에서 상기 편집 명령 3과 동일한 편집 명령이 이미 적용되어 있는지 여부를 판단할 수 있다.
사용자 1의 제1 학습자단말기(200)의 상기 브라우저 1을 통해 표시되고 있는 상기 마크업 언어 기반 문서에는 상기 편집 명령 3과 동일한 편집 명령이 적용되어 있지 않기 때문에 사용자 1의 제1 학습자단말기(200)는 상기 편집 명령 3에 정의되어 있는 상기 마크업 언어 기반 문서 상에서의 상기 편집 명령 3의 적용 위치와 연관된 좌표 값을 기초로 상기 편집 명령 3에 따른 편집 사항을 적용하여 상기 브라우저 1을 통해 표시되고 있는 상기 마크업 언어 기반 문서를 "bac1234"로 변경할 수 있다.
즉, 상기 편집 명령 3에 정의되어 있는 좌표 값은 [2, 2]로 상기 편집 명령 3는 세 번째 좌측 지점에 "c"를 삽입하도록 하는 편집 명령이므로, 사용자 1의 제1 학습자단말기(200)는 상기 브라우저 1을 통해 표시되고 있는 "ba1234"에서 세 번째 좌측 지점에 "c"를 삽입함으로써, 상기 브라우저 1을 통해 표시되고 있는 상기 마크업 언어 기반 문서의 편집 상태를 "bac1234"로 변경할 수 있다.
한편, 사용자 2의 제2 학습자단말기(200)는 상기 편집 명령 3이 수신되면, "ba1234"라는 편집이 적용되어 있는 상기 마크업 언어 기반 문서 상에서 상기 편집 명령 3과 동일한 편집 명령이 이미 적용되어 있는지 여부를 판단할 수 있다.
이때, 사용자 2의 제2 학습자단말기(200)는 상기 편집 명령 3에 대응하는 고유 시리얼 번호를 확인하여 "ba1234"라는 편집이 적용되어 있는 상기 마크업 언어 기반 문서 상에서 상기 편집 명령 3과 동일한 편집 명령이 이미 적용되어 있는지 여부를 판단할 수 있다.
사용자 2의 제2 학습자단말기(200)의 상기 브라우저 2를 통해 표시되고 있는 상기 마크업 언어 기반 문서에는 상기 편집 명령 3과 동일한 편집 명령이 적용되어 있지 않기 때문에 사용자 2의 제2 학습자단말기(200)는 상기 편집 명령 3에 정의되어 있는 상기 마크업 언어 기반 문서 상에서의 상기 편집 명령 3의 적용 위치와 연관된 좌표 값을 기초로 상기 편집 명령 3에 따른 편집 사항을 적용하여 상기 브라우저 2를 통해 표시되고 있는 상기 마크업 언어 기반 문서를 "bac1234"로 변경할 수 있다.
즉, 상기 편집 명령 3에 정의되어 있는 좌표 값은 [2, 2]로 상기 편집 명령 3은 세 번째 좌측 지점에 "c"를 삽입하도록 하는 편집 명령이므로, 사용자 2의 제2 학습자단말기(200)는 상기 브라우저 2를 통해 표시되고 있는 "ba1234"에서 세 번째 좌측 지점에 "c"를 삽입함으로써, 상기 브라우저 2를 통해 표시되고 있는 상기 마크업 언어 기반 문서의 편집 상태를 "bac1234"로 변경할 수 있다.
마지막으로, 사용자 3의 제1 교습자단말기(300)는 상기 편집 명령 3이 수신되면, "bac1234"라는 편집이 적용되어 있는 상기 마크업 언어 기반 문서 상에서 상기 편집 명령 3과 동일한 편집명령이 이미 적용되어 있는지 여부를 판단할 수 있다.
이때, 사용자 3의 제1 교습자단말기(300)는 상기 편집 명령 3에 대응하는 고유 시리얼 번호를 확인하여 "bac1234"라는 편집이 적용되어 있는 상기 마크업 언어 기반 문서 상에서 상기 편집 명령 3과 동일한 편집 명령이 이미 적용되어 있는지 여부를 판단할 수 있다.
사용자 3의 제1 교습자단말기(300)의 상기 브라우저 3을 통해 표시되고 있는 상기 마크업 언어 기반 문서에는 이미 상기 편집 명령 3과 동일한 편집 명령이 자체적으로 적용되어 있기 때문에 상기 마크업 언어 기반 문서에 대해 상기 수신된 편집 명령 3을 다시 적용할 필요가 없으므로, 사용자 3의 제1 교습자단말기(300)는 상기 수신된 편집 명령 3을 폐기함으로써, "bac1234"라는 편집 상태를 그대로 유지할 수 있다.
이렇게, 본 발명에 따른 문서의 동시 편집을 지원하는 협업편집부(180)는 각 학습자단말기(200) 및 교습자단말기(300)로부터 동시에 발생한 각 편집 명령들이 수신되면, 각 편집 명령들의 수신 순서에 기초하여 각 편집 명령들을 각 학습자단말기(200) 및 교습자단말기(300)에 대해 순차적으로 전송하되, 수신 순서가 늦은 편집 명령들에 대해서 운영변환을 수행함으로써, 각 학습자단말기(200) 및 교습자단말기(300)가 문서의 동시 편집을 지원하는 협업편집부(180)로부터 순차적으로 수신되는 각 편집 명령들을 각 학습자단말기(200) 및 교습자단말기(300) 내에 저장되어 있는 마크업 언어 기반 문서에 적용하게 되면, 각 학습자단말기(200) 및 교습자단말기(300)의 각 브라우저를 통해 표시되고 있는 각각의 마크업 언어 기반 문서의 편집 상태가 모두 동일한 "bac1234"가 되기 때문에, 사용자 1, 사용자 2, 사용자 3은 하나의 문서에 대해 동시 편집을 수행할 수 있게 된다.
본 발명의 일 실시예에서는 각 학습자단말기(200) 및 교습자단말기(300)가 각 학습자단말기(200) 및 교습자단말기(300)에 탑재되어 있는 브라우저를 통해서 웹을 기반으로 문서에 대한 동시 편집을 수행하는 환경을 가정하였기 때문에 각 학습자단말기(200) 및 교습자단말기(300)들이 문서의 동시 편집을 지원하는 협업편집부(180)로부터 마크업 언어 기반 문서를 수신하여 상기 마크업 언어 기반 문서에 대해 동시 편집을 수행하는 상황을 예로 설명하였다. 하지만, 상기 마크업 언어 기반 문서를 이용하여 동시 편집 처리를 수행하는 실시예는 본 발명의 일실시예에 불과한 것일 뿐, 본 발명은 마크업 언어 기반 문서에 한정되지 않고, "docx", "hwp"와 같은 확장자를 갖는 일반 설치형 문서 작성 프로그램에서 활용되는 문서 등과 같이 전자적 형태의 문서에 대해서 모두 적용이 가능하다.
본 발명에 따른 협업편집부(180)가 학습자단말기(200) 및 교습자단말기(300) 간 문서 상의 동시 편집을 지원하는 단계는 아래와 같다.
제1 단계에서는 문서에 대한 협업 세션에 참가한 복수개의 학습자단말기(200) 및 교습자단말기(300)들에 의해 상기 문서에 대한 편집과 연관된 편집 명령들이 동시에 인가되면, 상기 복수개의 학습자단말기(200) 및 교습자단말기(300)들 각각으로부터 상기 문서에 대해서 동시에 인가된 각 편집 명령들을(상기 각 편집 명령들에는 상기 각 편집 명령들의 상기 문서 상에서의 적용 위치와 연관된 좌표 값이 정의되어 있음)수신한다.
제2 단계에서는 상기 복수개의 학습자단말기(200) 및 교습자단말기(300)들 각각으로부터 수신된 상기 각 편집 명령들을 그 수신 순서에 따라 하나씩 상기 복수개의 학습자단말기(200) 및 교습자단말기(300)들에 순차적으로 전송하되, 상기 복수개의 학습자단말기(200) 및 교습자단말기(300)들에 전송될 현재 순번의 편집 명령에 대해서 상기 현재 순번의 편집 명령보다 먼저 수신된 이전 순번의 편집 명령이 존재하는 경우, 상기 이전 순번의 편집 명령의 상기 문서 상에서 적용 위치와 연관된 좌표 값을 기초로 상기 현재 순번의 편집 명령이 상기 문서 상에서 적용될 위치에 대한 좌표 값에 대해 운영변환을 수행한 후 운영변환이 완료된 상기 현재 순번의 편집 명령을 상기 복수개의 학습자단말기(200) 및 교습자단말기(300)들에 전송한다.
이때, 본 발명의 일실시예에 따르면, 제2 단계에서는 상기 복수개의 학습자단말기(200) 및 교습자단말기(300)들 각각으로부터 수신된 상기 각 편집 명령들을 그 수신 순서에 기초하여 버퍼의 큐에 저장하는 단계, 상기 버퍼의 큐에 상기 각 편집 명령들이 모두 저장되면, 상기 버퍼의 큐로부터 상기 각 편집 명령들을 상기 버퍼의 큐에서의 저장 순서에 따라 하나씩 추출하는 단계 및 상기 버퍼의 큐에서 상기 각 편집 명령들이 하나씩 추출될 때마다, 상기 하나씩 추출된 상기 각 편집 명령들을 상기 복수개의 학습자단말기(200) 및 교습자단말기(300)들에 전송하되, 상기 복수개의 학습자단말기(200) 및 교습자단말기(300)들에 전송될 상기 현재 순번의 편집 명령에 대해서 상기 현재 순번의 편집 명령보다 먼저 상기 버퍼의 큐에 저장된 상기 이전 순번의 편집 명령이 존재하는 경우, 상기 이전 순번의 편집 명령의 상기 문서 상에서 적용 위치와 연관된 좌표 값을 기초로 상기 현재 순번의 편집 명령이 상기 문서 상에서 적용될 위치에 대한 좌표 값에 대해 운영변환을 수행한 후 운영변환이 완료된 상기 현재 순번의 편집 명령을 상기 복수개의 학습자단말기(200) 및 교습자단말기(300)들에 전송하는 단계를 포함할 수 있다.
도 5는 본 발명에 따른 운영변환 기반 실시간 협업 편집 서비스 제공이 가능한 맞춤형 콘텐츠 제공 방법의 흐름을 보여주는 흐름도이다.
본 발명에 따른 운영변환 기반 실시간 협업 편집 서비스 제공이 가능한 맞춤형 콘텐츠 제공 방법(이하, ‘방법’)은, 정보수집부(110)가 학습자가 소지한 학습자단말기(200)로부터 학습자의 정보를 수집하는 단계(S101), 학습자분석부(120)가 상기 학습자의 정보를 분석하여 상기 학습자의 콘텐츠 선호 정보가 포함된 유저프로파일(user profile)을 생성하는 단계(S102), 데이터베이스부(130)에 교습자단말기(300) 또는 외부서버(400)로부터 수신한 복수개의 학습 콘텐츠가 저장되는 단계(S103), 콘텐츠분석부(140)가 상기 학습 콘텐츠를 분석하여 상기 학습 콘텐츠의 정보가 포함된 아이템프로파일(item profile)을 생성하는 단계(S104), 매칭부(150)가 상기 아이템프로파일 및 상기 유저프로파일을 비교하여 상기 데이터베이스부(130)에 저장된 복수개의 학습 콘텐츠 중 상기 학습자가 학습하도록 추천되는 학습 콘텐츠 정보를 생성하는 단계(S105) 추천부(160)가 상기 학습 콘텐츠 정보를 상기 학습자단말기(200)로 송신하는 단계(S106), 통계부(170)가 상기 학습자단말기(200)로부터 상기 학습 콘텐츠를 학습한 정보를 수신 및 분석하여 통계 정보를 생성하고, 생성된 상기 통계 정보를 상기 학습자단말기(200)로 제공하는 단계(S107) 및 전술한 바와 같이, 협업편집부(180)가 상기 학습자단말기 및 상기 교습자단말기 간 문서의 동시 편집을 지원하는 단계(S108)를 포함한다. 각 단계별 상세한 내용은 전술한 바와 같다.
본 발명에 따른 학습자단말기(200), 교습자단말기(300) 및 관리자단말기(500)는 키보드, 마우스, 터치패드, 터치 스크린 등의 입력수단과, 디스플레이 화면을 구비한 데스크탑 PC, 노트북 PC, 태블릿 PC, 스마트폰 등의 단말기로서, 이에 한정되는 것은 아니고, 통신망을 통해 학습 콘텐츠 제공 서버(100)에 접속할 수 있으며, 검색 정보 및 선택 정보의 입력과, 검색된 결과 정보를 디스플레이할 수 있는 애플리케이션 프로그램의 설치가 가능한 디지털 정보의 처리가 가능한 구성이면 모두 포함될 수 있다. 본 발명에 따른 학습자단말기(200), 교습자단말기(300) 및 관리자단말기(500)는 학습 콘텐츠 제공 서버(100)에 통신망을 통해 접속하여 정보를 송수신하는 구성요소로서, 예를 들면 스마트폰(smartphone), 태블릿 PC(tablet personalcomputer), 이동 전화기(mobile phone), 영상 전화기, 데스크탑 PC(desktoppersonal computer), 랩탑 PC(laptop personal computer), 넷북 컴퓨터(netbook computer), PDA(personal digital assistant), PMP(portable multimedia player), 웨어러블 장치(wearable device)(예: 스마트 안경, 머리 착용형 장치(head-mounted-device(HMD) 등), 무인단말기(kiosk) 또는 스마트 와치(smart watch)) 중 적어도 하나를 포함할 수 있다.
본 발명에 따른 학습자단말기(200), 교습자단말기(300) 및 관리자단말기(500)와 학습 콘텐츠 제공 서버(100)는 각각이 구비한 통신부 및 통신망을 통해 통신할 수 있다. 통신망은 단말들 및 서버들과 같은 각각의 노드 상호간에 정보 교환이 가능한 연결구조를 의미하는 것으로, 이러한 통신망의 일 예에는, 3GPP(3rd Generation Partnership Project) 네트워크, LTE(Long Term Evolution) 네트워크, 5G 네트워크, 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), wifi 네트워크, 블루투스(Bluetooth) 네트워크, 위성 방송 네트워크, 아날로그 방송 네트워크, DMB(Digital Multimedia Broadcasting) 네트워크 등이 포함되나 이에 한정되지는 않는다. 학습자단말기(200), 교습자단말기(300) 및 관리자단말기(500)와 학습 콘텐츠 제공 서버(100)가 각각 구비한 통신부는, 전술한 통신망을 통한 유무선 데이터 통신을 수행할 수 있도록 상기 통신망을 위해 구비된 전자 부품을 포함할 수 있다.
본 발명에 따른 데이터베이스부(130)는 데이터베이스 관리 시스템(1000)(이하, DBMS)을 포함할 수 있다. DBMS는 다수의 사용자들이 데이터베이스부(130) 내의 데이터에 접근할 수 있도록 해주는 소프트웨어 도구의 집합이다. DBMS는 IMS, CODASYL DB, DB2, ORACLE, INFORMIX, SYBASE, INGRES, MS-SQL, Objectivity, O2, Versanat, Ontos, Gemstone, Unisql, Object Store, Starburst, Postgres, Tibero, MySQL 또는 MS-access등을 포함할 수 있다. DBMS는 특정 명령어의 입력에 따라 해당하는 특정 데이터에 접근하는 것이 가능하다.
본 명세서에서 학습 콘텐츠 제공 서버(100) 및 학습 콘텐츠 제공 서버(100)가 포함하는 각 구성은 메모리에 저장된 연속된 수행과정들을 실행하는 프로세서들일 수 있다. 또는, 프로세서에 의해 구동되고 제어되는 소프트웨어 모듈들로서 동작할 수 있다. 나아가, 프로세서는 하드웨어 장치일 수 있다.
참고로, 본 발명의 일 실시예에 따른 운영변환 기반 실시간 협업 편집 서비스 제공이 가능한 맞춤형 콘텐츠 제공 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독가능매체에 기록될 수 있다. 상기 컴퓨터 판독가능매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용가능한 것일 수도 있다. 컴퓨터 판독가능매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체, 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함될 수 있다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급언어코드를 포함한다. 상술한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
본 명세서에 있어서 '부(部)'란, 하드웨어에 의해 실현되는 유닛(unit), 소프트웨어에 의해 실현되는 유닛, 양방을 이용하여 실현되는 유닛을 포함한다. 또한, 1개의 유닛이 2개 이상의 하드웨어를 이용하여 실현되어도 되고, 2개 이상의 유닛이 1개의 하드웨어에 의해 실현되어도 된다.
본 발명의 보호범위가 이상에서 명시적으로 설명한 실시예의 기재와 표현에 제한되는 것은 아니다. 또한, 본 발명이 속하는 기술분야에서 자명한 변경이나 치환으로 말미암아 본 발명이 보호범위가 제한될 수도 없음을 다시 한 번 첨언한다.
100 : 학습 콘텐츠 제공 서버
110 : 정보수집부
120 : 학습자분석부 130 : 데이터베이스부
140 : 콘텐츠분석부 150 : 매칭부
160 : 추천부 170 : 통계부
180 : 협업편집부 181 : 편집 명령 수신부
182 : 편집 명령 처리부 1821 : 편집 명령 저장부
1822 : 편집 명령 추출부 1823 : 편집 명령 전송부
200 : 학습자단말기 300 : 교습자단말기
400 : 외부서버 500 : 관리자단말기
1000 : 운영변환 기반 실시간 협업 편집 서비스 제공이 가능한 맞춤형 콘텐츠 제공 시스템
120 : 학습자분석부 130 : 데이터베이스부
140 : 콘텐츠분석부 150 : 매칭부
160 : 추천부 170 : 통계부
180 : 협업편집부 181 : 편집 명령 수신부
182 : 편집 명령 처리부 1821 : 편집 명령 저장부
1822 : 편집 명령 추출부 1823 : 편집 명령 전송부
200 : 학습자단말기 300 : 교습자단말기
400 : 외부서버 500 : 관리자단말기
1000 : 운영변환 기반 실시간 협업 편집 서비스 제공이 가능한 맞춤형 콘텐츠 제공 시스템
Claims (5)
- 학습자가 소지한 학습자단말기로부터 학습자의 정보를 수집하는 정보수집부;
상기 학습자의 정보를 분석하여 상기 학습자의 학습 콘텐츠 선호 정보가 포함된 유저프로파일(user profile)을 생성하는 학습자분석부;
교습자단말기 또는 외부서버로부터 수신한 복수개의 학습 콘텐츠가 저장되는 데이터베이스부;
상기 학습 콘텐츠를 분석하여 상기 학습 콘텐츠의 정보가 포함된 아이템프로파일(item profile)을 생성하는 콘텐츠분석부;
상기 아이템프로파일 및 상기 유저프로파일에 기반하여 상기 데이터베이스부에 저장된 복수개의 학습 콘텐츠 중 상기 학습자가 학습하도록 추천되는 학습 콘텐츠 정보를 생성하는 매칭부;
상기 학습 콘텐츠 정보를 상기 학습자단말기로 송신하는 추천부;
상기 학습자단말기로부터 상기 학습 콘텐츠를 학습한 정보를 수신 및 분석하여 통계 정보를 생성하고, 생성된 상기 통계 정보를 상기 학습자단말기로 제공하는 통계부; 및
상기 학습자단말기 및 상기 교습자단말기 간 문서의 협업 편집 서비스를 제공하는 협업편집부를 포함하며,
상기 협업편집부는,
상기 학습자단말기 및 상기 교습자단말기로부터 상기 문서에 대해서 인가된 편집 명령들을 수신하는 편집 명령 수신부; 및
상기 학습자단말기 및 상기 교습자단말기로부터 수신된 상기 편집 명령들을 수신 순서에 따라 하나씩 상기 학습자단말기 및 상기 교습자단말기로 순차적으로 전송하되, 상기 학습자단말기 및 상기 교습자단말기에 전송될 현재 순번의 편집 명령에 대해서 상기 현재 순번의 편집 명령보다 먼저 수신된 이전 순번의 편집 명령이 존재하는 경우, 상기 이전 순번의 편집 명령의 상기 문서 상에서 적용 위치와 연관된 좌표 값을 기초로 상기 현재 순번의 편집 명령이 상기 문서 상에서 적용될 위치에 대한 좌표 값에 대해 운영변환(Operational Transformation)을 수행한 후 운영변환이 완료된 상기 현재 순번의 편집 명령을 상기 학습자단말기 및 상기 교습자단말기로 전송하는 편집 명령 처리부를 포함하고,
상기 편집 명령 처리부는,
상기 학습자단말기 및 상기 교습자단말로부터 수신된 상기 편집 명령들을 수신 순서에 기초하여 버퍼의 큐(Queue)에 저장하는 편집 명령 저장부;
상기 버퍼의 큐에 상기 편집 명령들이 저장되면, 상기 버퍼의 큐로부터 상기 편집 명령들을 상기 버퍼의 큐에서의 저장 순서에 따라 추출하는 편집 명령 추출부; 및
상기 버퍼의 큐에서 상기 편집 명령들이 추출될 때, 추출된 상기 편집 명령들을 상기 학습자단말기 및 상기 교습자단말기로 전송하되, 상기 학습자단말기 및 상기 교습자단말기에 전송될 상기 현재 순번의 편집 명령에 대해서 상기 현재 순번의 편집 명령보다 먼저 상기 버퍼의 큐에 저장된 상기 이전 순번의 편집 명령이 존재하는 경우, 상기 이전 순번의 편집 명령의 상기 문서 상에서 적용 위치와 연관된 좌표 값을 기초로 상기 현재 순번의 편집 명령이 상기 문서 상에서 적용될 위치에 대한 좌표 값에 대해 운영변환을 수행한 후 운영변환이 완료된 상기 현재 순번의 편집 명령을 상기 학습자단말기 및 상기 교습자단말기로 전송하는 편집 명령 전송부를 포함하는 것을 특징으로 하는, 운영변환 기반 실시간 협업 편집 서비스 제공이 가능한 맞춤형 콘텐츠 제공 시스템. - 청구항 1에 있어서,
상기 매칭부는, 콘텐츠 기반 필터링(Content-based filtering)을 기반으로 상기 학습 콘텐츠 정보를 생성하되,
상기 매칭부는, 상기 유저프로파일에 기반하여 상기 학습자가 학습하도록 추천되는 제1 학습 콘텐츠 정보를 생성하며,
상기 매칭부는, 상기 제1 학습 콘텐츠에 대한 제1 아이템프로파일에 기반하여 상기 제1 학습 콘텐츠와 유사한 제2 학습 콘텐츠 정보를 생성하고,
상기 추천부는, 상기 제1 학습 콘텐츠 정보 및 상기 제2 학습 콘텐츠 정보를 상기 학습자단말기로 송신하되,
상기 추천부는, 상기 학습 콘텐츠 정보가 상기 학습자단말기로 송신될 때, 복수개의 학습 콘텐츠를 리스트 형식으로 송신하는 것을 특징으로 하는, 운영변환 기반 실시간 협업 편집 서비스 제공이 가능한 맞춤형 콘텐츠 제공 시스템. - 청구항 2에 있어서,
상기 정보수집부는, 상기 학습자단말기로 진단문항을 제공하고, 상기 학습자단말기로부터 상기 진단문항에 대한 답변을 수신하며,
상기 학습자분석부는, 상기 진단문항에 대한 답변을 기반으로 상기 유저프로파일을 생성하는 것을 특징으로 하는, 운영변환 기반 실시간 협업 편집 서비스 제공이 가능한 맞춤형 콘텐츠 제공 시스템. - 청구항 3에 있어서,
상기 정보수집부는, 상기 학습자단말기로부터 상기 학습자의 SNS(Social Network Service) 계정 정보를 수신하고, 상기 계정을 기반으로 SNS 서버에서 상기 학습자의 비정형 데이터를 수집하며,
상기 학습자분석부는, 상기 비정형 데이터를 기반으로 상기 학습자의 상기 유저프로파일을 생성하는 것을 특징으로 하는, 운영변환 기반 실시간 협업 편집 서비스 제공이 가능한 맞춤형 콘텐츠 제공 시스템. - 정보수집부가 학습자가 소지한 학습자단말기로부터 학습자의 정보를 수집하는 단계;
학습자분석부가 상기 학습자의 정보를 분석하여 상기 학습자의 콘텐츠 선호 정보가 포함된 유저프로파일(user profile)을 생성하는 단계;
데이터베이스부에 교습자단말기 또는 외부서버로부터 수신한 복수개의 학습 콘텐츠가 저장되는 단계;
콘텐츠분석부가 상기 학습 콘텐츠를 분석하여 상기 학습 콘텐츠의 정보가 포함된 아이템프로파일(item profile)을 생성하는 단계;
매칭부가 상기 아이템프로파일 및 상기 유저프로파일을 비교하여 상기 데이터베이스부에 저장된 복수개의 학습 콘텐츠 중 상기 학습자가 학습하도록 추천되는 학습 콘텐츠 정보를 생성하는 단계;
추천부가 상기 학습 콘텐츠 정보를 상기 학습자단말기로 송신하는 단계;
통계부가 상기 학습자단말기로부터 상기 학습 콘텐츠를 학습한 정보를 수신 및 분석하여 통계 정보를 생성하고, 생성된 상기 통계 정보를 상기 학습자단말기로 제공하는 단계; 및
협업편집부가 상기 학습자단말기 및 상기 교습자단말기 간 문서의 동시 편집을 지원하는 단계를 포함하는 것을 특징으로 하는, 운영변환 기반 실시간 협업 편집 서비스 제공이 가능한 맞춤형 콘텐츠 제공 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210123863A KR102599370B1 (ko) | 2021-09-16 | 2021-09-16 | 운영변환 기반 실시간 협업 편집 서비스 제공이 가능한 맞춤형 콘텐츠 제공 시스템 및 그 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210123863A KR102599370B1 (ko) | 2021-09-16 | 2021-09-16 | 운영변환 기반 실시간 협업 편집 서비스 제공이 가능한 맞춤형 콘텐츠 제공 시스템 및 그 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20230040565A true KR20230040565A (ko) | 2023-03-23 |
KR102599370B1 KR102599370B1 (ko) | 2023-11-07 |
Family
ID=85799437
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210123863A KR102599370B1 (ko) | 2021-09-16 | 2021-09-16 | 운영변환 기반 실시간 협업 편집 서비스 제공이 가능한 맞춤형 콘텐츠 제공 시스템 및 그 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102599370B1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102706481B1 (ko) * | 2023-09-26 | 2024-09-12 | 주식회사 엠투소프트 | 서버가 전자문서의 복수 클라이언트 수정 정보 저장 방법 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101826625B1 (ko) * | 2016-08-04 | 2018-02-07 | 주식회사 한글과컴퓨터 | 문서의 동시 편집을 지원하는 문서 협업 지원 장치 및 그 동작 방법 |
KR20180102786A (ko) | 2017-03-08 | 2018-09-18 | 김동희 | 학습 관련 빅데이터 기반의 맞춤형 학습 서비스 제공 방법 |
KR20190038207A (ko) * | 2017-09-29 | 2019-04-08 | 주식회사 더케이플랫폼 | 개인 맞춤화 학습 큐레이션 시스템 및 이의 동작 방법 |
KR20190081543A (ko) * | 2017-12-29 | 2019-07-09 | 주식회사 엔씨소프트 | 교육 커리큘럼 관리 방법 및 시스템 |
KR101975880B1 (ko) | 2017-11-30 | 2019-08-28 | 부경대학교 산학협력단 | 메모리 절약을 지원하는 실시간 협업 편집방법 |
KR102203048B1 (ko) * | 2019-11-20 | 2021-01-14 | 곽제일 | 유사도를 이용한 교육 프로그램 추천방법 및 그 시스템 |
KR20210036184A (ko) * | 2019-09-25 | 2021-04-02 | 이미진 | 사용자 취향정보 파악 방법 및 사용자 취향 정보에 기반한 아이템 추천 모듈 |
-
2021
- 2021-09-16 KR KR1020210123863A patent/KR102599370B1/ko active IP Right Grant
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101826625B1 (ko) * | 2016-08-04 | 2018-02-07 | 주식회사 한글과컴퓨터 | 문서의 동시 편집을 지원하는 문서 협업 지원 장치 및 그 동작 방법 |
KR20180102786A (ko) | 2017-03-08 | 2018-09-18 | 김동희 | 학습 관련 빅데이터 기반의 맞춤형 학습 서비스 제공 방법 |
KR20190038207A (ko) * | 2017-09-29 | 2019-04-08 | 주식회사 더케이플랫폼 | 개인 맞춤화 학습 큐레이션 시스템 및 이의 동작 방법 |
KR101975880B1 (ko) | 2017-11-30 | 2019-08-28 | 부경대학교 산학협력단 | 메모리 절약을 지원하는 실시간 협업 편집방법 |
KR20190081543A (ko) * | 2017-12-29 | 2019-07-09 | 주식회사 엔씨소프트 | 교육 커리큘럼 관리 방법 및 시스템 |
KR20210036184A (ko) * | 2019-09-25 | 2021-04-02 | 이미진 | 사용자 취향정보 파악 방법 및 사용자 취향 정보에 기반한 아이템 추천 모듈 |
KR102203048B1 (ko) * | 2019-11-20 | 2021-01-14 | 곽제일 | 유사도를 이용한 교육 프로그램 추천방법 및 그 시스템 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102706481B1 (ko) * | 2023-09-26 | 2024-09-12 | 주식회사 엠투소프트 | 서버가 전자문서의 복수 클라이언트 수정 정보 저장 방법 |
Also Published As
Publication number | Publication date |
---|---|
KR102599370B1 (ko) | 2023-11-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Neumann et al. | Chatbots as a tool to scale mentoring processes: Individually supporting self-study in higher education | |
Dowell et al. | Language and discourse analysis with Coh-Metrix: Applications from educational material to learning environments at scale | |
Onwuegbuzie et al. | On Qualitizing. | |
Stoszkowski et al. | Using Flipgrid to improve reflection: A collaborative online approach to coach development | |
Park et al. | Systematic review on chatbot techniques and applications | |
Lee et al. | Development research on an AI English learning support system to facilitate learner-generated-context-based learning | |
Follmer et al. | What predicts adult readers’ understanding of STEM texts? | |
Zeng | Application of flipped classroom model driven by big data and neural network in oral English teaching | |
Spatiotis et al. | Sentiment analysis of teachers using social information in educational platform environments | |
Juan et al. | Particle swarm optimization neural network for research on artificial intelligence college English classroom teaching framework | |
Liebert | Communicative strategies of popularization of science (including science exhibitions, museums, magazines) | |
Henrickson et al. | The hermeneutics of computer-generated texts | |
Ajodhia et al. | Can arts-informed pedagogy facilitate communities of learning and belonging for minoritised early years children? An integrative review of research | |
KR102149935B1 (ko) | 8품사 및 문장 내 사용역할로 성분을 구분하는 단순도해법을 이용한 영어문장 학습 서비스 제공 방법 | |
Zhang et al. | [Retracted] Analysis of Multimedia Combination‐Assisted English Teaching Mode Based on Computer Platform | |
Xu et al. | The design of personalized learning resource recommendation system for ideological and political courses | |
Kaufhold | Interdisciplinary postgraduate writing: Developing genre knowledge. | |
Li | A Recommendation Model for College English Digital Teaching Resources Using Collaborative Filtering and Few‐Shot Learning Technology | |
Kim et al. | IoT-based personalized NIE content recommendation system | |
Bragg et al. | Exploring collection of sign language videos through crowdsourcing | |
KR102599370B1 (ko) | 운영변환 기반 실시간 협업 편집 서비스 제공이 가능한 맞춤형 콘텐츠 제공 시스템 및 그 방법 | |
Vlasenko et al. | Features of designing and implementing an information system for studying and determining the level of foreign language proficiency | |
Chen et al. | Integration of Big Data and Artificial Intelligence in Constructing Learners' Individualized Feedback System | |
Brook O’Donnell et al. | Linking neuroimaging with functional linguistic analysis to understand processes of successful communication | |
Chen et al. | Deep neural networks for the automatic understanding of the semantic content of online course reviews |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |