Method of tracking knowledge level of user consuming content and recommending content based on knowledge level of user and computing device performing same
By sensing user reactions and using a knowledge tracking model to track the user's knowledge level, the problem of not considering the user's knowledge level in the existing technology is solved, and personalized content recommendation is achieved.
Patent Information
- Application Number
- CN202480017243.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-07-12
- Filing Date
- 2024-02-29
- Publication Date
- 2025-10-03
AI Technical Summary
Existing content recommendation services fail to consider the user's knowledge level, resulting in poor recommendation results, especially in environments where there is a lack of questions and correct answers.
By sensing the user's reaction to the consumed content, the knowledge tracking model is used to track the user's knowledge level, and content is recommended based on this. The user's reaction is sensed and analyzed using computing devices and servers.
It realizes personalized content recommendation based on the user's knowledge level, improving the accuracy of content recommendation and user experience.
Smart Images

Figure CN120752661A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to a method for tracking the knowledge level of a user who consumes content and recommending content based on the user's knowledge level, and a computing device for executing the method. Background Art
[0002] Nowadays, people are overwhelmed by the vast amount of content. Since the amount of content on the Internet is huge but time is limited, a service can be provided to recommend content based on user interests.
[0003] However, existing content recommendation services consider content type or user interests when making recommendations, but have a limitation: they do not consider the user's knowledge level. If the user's knowledge level related to content comprehension could be measured or predicted, it could be very useful in recommending content.
[0004] To this end, knowledge tracking technology is being used in the field of artificial intelligence for education (AIEd) to provide customized learning for each user. For example, when a user solves a given problem, the user's knowledge level can be updated based on whether the answer is correct, and accordingly, questions with difficulty appropriate to the user's level can be recommended to the user.
[0005] The aforementioned knowledge tracking technology is very useful in candidate courses. However, because existing knowledge tracking technology is developed based on problem-solving learning methods, it has a limitation: it is difficult to expand and apply to environments where there are no questions and correct answers, such as articles and videos. Summary of the Invention
[0006] Technical Solution
[0007] According to an embodiment of the present disclosure, a method for tracking a user's knowledge level based on the user's reaction to consuming content may include: sensing the user's reaction to consuming content; determining an understanding of the content based on the user's reaction; inputting the understanding and information about the content into a knowledge tracking model; and updating the user's knowledge level by using output from the knowledge tracking model.
[0008] According to an embodiment of the present disclosure, a computing device is provided, comprising: a communication interface configured to communicate with an external electronic device; a memory storing a program for tracking a user's knowledge level and recommending content; and at least one processor configured to execute the program to sense a reaction of a user consuming content, determine an understanding of the content based on the user's reaction, input the understanding and information about the content into a knowledge tracking model, and update the user's knowledge level by using output from the knowledge tracking model.
[0009] According to an embodiment of the present disclosure, there is provided a computer-readable recording medium having a program recorded thereon, which, when executed by a computer, performs at least one of the embodiments of the above method.
[0010] According to an embodiment of the present disclosure, a computer program is provided. The program may be stored in a medium, and when executed by a computer, performs at least one of the embodiments of the above method. BRIEF DESCRIPTION OF THE DRAWINGS
[0011] The above and other aspects, features and advantages of certain embodiments of the present disclosure will become more apparent through the following description in conjunction with the accompanying drawings, in which:
[0012] FIG1 is a diagram illustrating a system environment to which one or more embodiments of the present disclosure may be applied;
[0013] FIG. 2 is a block diagram illustrating detailed components included in the server and mobile terminal of FIG. 1 , according to one or more embodiments.
[0014] Figure 3 is a diagram for describing a module for tracking a user's knowledge level by using a knowledge tracking model according to one or more embodiments of the present disclosure;
[0015] Figure 4 is a diagram for describing a module for performing an operation of recommending content to a user based on the user's knowledge level tracked by a knowledge tracking model according to one or more embodiments of the present disclosure;
[0016] Figures 5 to 11 The present invention is used to describe a method in which a server and a mobile terminal use Figure 3 and Figure 4 A diagram of the process by which the modules shown track the user's knowledge level and recommend content to the user;
[0017] Figure 12 and Figure 13 is a diagram for describing a process in which a server and a mobile terminal track the knowledge level of a user who consumes content and then recommend content to the user based on the tracking result according to one or more embodiments of the present disclosure; and
[0018] Figures 14 to 19 is a flowchart for describing a method of tracking the knowledge level of a user who consumes content and recommending content based on the user's knowledge level according to one or more embodiments of the present disclosure. DETAILED DESCRIPTION
[0019] When describing the exemplary embodiments of the present disclosure, descriptions of technical details that are well-known in the art to which the present disclosure belongs and are not directly related to the present disclosure will be omitted. Omitting these unnecessary descriptions is intended to prevent the main idea of the present disclosure from becoming obscured and to convey the main idea more clearly. In addition, the terms described below are defined after considering the functions in the present disclosure and may vary depending on the intention or practice of the user or operator. Therefore, each term should be defined based on the content of the entire specification.
[0020] For the same reason, in the accompanying drawings, some elements may be enlarged, omitted or schematically shown. In addition, the size of each element does not fully reflect the actual size. In the accompanying drawings, the same or corresponding elements are equipped with the same reference numerals.
[0021] The advantages and features of the present disclosure and the manner in which they are achieved will become apparent by reference to the embodiments described in detail below in conjunction with the accompanying drawings. However, the present disclosure may have different forms and should not be construed as being limited to the description set forth herein. The embodiments set forth herein are intended to complete the description of the present disclosure and to provide a complete understanding of the scope of the present disclosure to those skilled in the art to which the present disclosure pertains. One or more embodiments of the present disclosure may be defined according to the claims. Throughout the specification, the same reference numerals represent the same elements. In addition, when describing one or more embodiments of the present disclosure, if it is believed that a related known function or configuration would make the main points of the present disclosure unnecessarily obscure, its detailed description will be omitted. In addition, the terms described below are defined after considering the functions in the present disclosure and may vary depending on the intention or practice of the user, operator. Therefore, each term should be defined based on the content of the entire specification.
[0022] In one or more embodiments of the present disclosure, each block of the flowchart illustration and the combination of blocks in the flowchart illustration can be implemented by computer program instructions. The computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device to produce a machine so that the instructions executed by the processor of the computer or other programmable data processing device create a means for implementing the functions specified in the flowchart block or multiple blocks. The computer program instructions can also be stored in a computer-usable or computer-readable memory that can instruct the computer or other programmable data processing device to operate in a specific manner so that the instructions stored in the computer-usable or computer-readable memory produce an article of manufacture that includes instruction means for implementing the functions specified in the flowchart block or multiple blocks. The computer program instructions can also be stored in a computer-usable or computer-readable memory that can instruct the computer or other programmable data processing device.
[0023] In addition, each block in the flowchart diagram may represent a module, segment, or code portion, which includes one or more executable instructions for implementing the specified (multiple) logical functions. In one or more embodiments of the present disclosure, the functions noted in the blocks may not occur in order. For example, two blocks shown in succession may actually be executed substantially simultaneously, or the blocks may sometimes be executed in reverse order depending on the functions involved.
[0024] The term "unit" used in embodiments of the present disclosure may refer to a software or hardware component, such as a field-programmable gate array (FPGA) or an application-specific integrated circuit (ASIC), and a "unit" performs a specific task. However, "unit" is not always limited to the meaning of software or hardware. A "unit" may be configured to be stored in an addressable storage medium or executed by one or more processors. In one or more embodiments of the present disclosure, a "unit" may include, for example, software components, object-oriented software components, class components, and task components, processes, functions, properties, procedures, subroutines, program code segments, drivers, firmware, microcode, circuits, data, databases, data structures, tables, arrays, and variables. The functionality provided by components and "units" may be combined into fewer components and "units" or further separated into additional components and "units." In one or more embodiments of the present disclosure, a "unit" may include at least one processor.
[0025] First, before describing the embodiments of the present disclosure, the meanings of commonly used terms herein are defined.
[0026] In the present disclosure, the "knowledge level" of a user represents the degree of the user's ability to understand the content, and according to one or more embodiments of the present disclosure, the knowledge level can be expressed as a probability value that the user will understand specific content. The knowledge level of a user can also be referred to as the "degree of understanding", and the higher the knowledge level of the user, the higher the probability of understanding difficult content. In one or more embodiments of the present disclosure, the knowledge level of a user may vary depending on the field of the content. For example, a user may have a higher level of knowledge in the field of economics, but may have a lower level of knowledge in the field of political science. In addition, a user may have a higher level of knowledge in the fields of micro- and macroeconomics, but may have a lower level of knowledge in the field of international economics, that is, the user may have different levels of knowledge according to the sub-fields of economics. Moreover, according to one or more embodiments of the present disclosure, the knowledge level of a user may vary according to the level of the content. For example, for a user, the probability of understanding content with high difficulty may be different from the probability of understanding content with lower difficulty.
[0027] "Knowledge tracking" refers to the operation of continuously evaluating a user's knowledge level based on the user's performance. In one or more embodiments of the present disclosure, the user's performance may indicate whether the user understands the content. In other words, the user's knowledge level may be tracked based on whether the user understands the content.
[0028] The "level" of content indicates the difficulty of the content. Since high-level content is difficult, the user's knowledge level (for example, knowledge level of the content's field or language proficiency) must be high in order to understand high-level content.
[0029] In the present disclosure, a user's "understanding" of content represents a result indicating whether the user consuming the content understands the content. When the user understands the content, it is indicated as "success," and when the user does not understand the content, it is indicated as "failure." According to one or more embodiments of the present disclosure, understanding is not binarized as success or failure, but can be represented as a "degree of understanding" using a real number ranging from 0 to 1.
[0030] Hereinafter, with reference to the accompanying drawings, a method for tracking a user's knowledge level based on the user's reaction after consuming content and a method for recommending content to the user based on the user's knowledge level will be described according to one or more embodiments of the present disclosure.
[0031] FIG1 is a diagram illustrating a system environment to which one or more embodiments of the present disclosure may be applied. Referring to FIG1 , a system according to one or more embodiments of the present disclosure may include a server 100 and a mobile terminal 200. The server 100 and the mobile terminal 200 may communicate with each other via a wired and / or wireless network.
[0032] User 1 may consume content using mobile terminal 200. The content consumed by user 1 may represent one of text, sound, image, or video, or a combination of two or more thereof, or may be implemented in various types (eg, hologram).
[0033] According to one or more embodiments of the present disclosure, server 100 tracks user 1's knowledge level and can recommend content to user 1 based on user 1's knowledge level. Server 100 can track user 1's knowledge level based on user 1's reaction after consuming content. To this end, mobile terminal 200 can sense user 1's reaction during or after consuming content and transmit the sensed user reaction to server 100. Methods for sensing user 1's reaction and tracking user 1's knowledge level based on the sensed reaction will be described in detail below with reference to the accompanying drawings.
[0034] In the present disclosure, as shown in FIG1 , one or more embodiments of the present disclosure will be described in detail below, in which server 100 tracks the knowledge level of user 1 based on the user 1's response, and based on the result, server 100 recommends content to user 1 via mobile terminal 200. However, some or all of the operations performed by server 100 described in the embodiments of the present disclosure may be performed by mobile terminal 200.
[0035] For example, mobile terminal 200 may not transmit user 1's reaction to server 100, but may directly track user 1's knowledge level based on user 1's reaction. Alternatively, when mobile terminal 200 determines user 1's understanding of the content based on user 1's reaction and transmits the determination result to server 100, server 100 may track user 1's knowledge level based on user 1's understanding. Alternatively, content recommendation based on user 1's knowledge level may be performed by mobile terminal 200, rather than server 100.
[0036] One or more embodiments of the present disclosure are described below in which an application (e.g., a content recommendation application) installed on mobile terminal 200 may only provide a user interface (UI) for content reproduction and content recommendation to user 1, while operations such as tracking user 1's knowledge level or selecting content to be recommended may be performed by server 100. However, as described above, some or all of the operations performed by server 100 may be performed by mobile terminal 200, and therefore, the operations performed by server 100 described in the present disclosure may also be performed by mobile terminal 200.
[0037] Furthermore, in the present disclosure, operations are performed by one server 100 , but the operations may be performed respectively by two or more servers.
[0038] Hereinafter, configurations of the server 100 and the mobile terminal 200 for implementing the embodiments of the present disclosure will be described with reference to the accompanying drawings, and processes in which the server 100 and the mobile terminal 200 perform detailed examples will be described in detail below.
[0039] Figure 2 is a block diagram illustrating detailed components of server 100 and mobile terminal 200 in Figure 1, according to one or more embodiments. Server 100 or mobile terminal 200 may include a computing device with wired or wireless communication capabilities. According to one or more embodiments of the present disclosure, server 100 may be a cloud server managed by a provider of content recommendation services, and mobile terminal 200 may be a smartphone or tablet owned by user 1.
[0040] 2 , server 100 may include a communication interface 110, a processor 120, and a memory 130, and mobile terminal 200 may include a communication interface 210, a processor 220, a memory 230, and an input / output interface 240. Input / output interface 240 of mobile terminal 200 may include a camera 241 and a sensor 242. However, the components in server 100 or mobile terminal 200 are not limited to the above examples, and server 100 or mobile terminal 200 may include more or fewer components than those described above.
[0041] According to one or more embodiments of the present disclosure, some or all of the communication interface 110, processor 120, and memory 130 included in server 100 may be implemented as a single chip, and processor 120 may include one or more processors and memory. Similarly, some or all of the communication interface 210, processor 220, memory 230, and input / output interface 240 included in mobile terminal 200 may be implemented as a single chip, and processor 220 may include one or more processors.
[0042] First, the configuration of server 100 will be described. Communication interface 110 may be a component for transmitting and receiving signals (control commands, data, etc.) to and from external devices, and may include a communication chipset supporting various communication protocols. Communication interface 110 may receive signals from the outside and output them to processor 120, described later, or may transmit signals output from processor 120 to the outside.
[0043] The processor 120 may be an element that controls a series of operations that enable the server 100 to operate according to the embodiments of the present disclosure, and may include one or more processors. Similarly, the processor 220 may be an element that controls a series of operations that enable the mobile terminal 200 to operate according to the embodiments of the present disclosure, and may include one or more processors. Here, the one or more processors may include one or more of a central processing unit (CPU), an application processor (AP), an accelerated processing unit (APU), a multi-core integrated circuit (MIC), a field programmable gate array (FPGA), a hardware accelerator, a digital signal processor (DSP), a graphics processing unit (GPU), a visual processing unit (VPU), or a dedicated artificial intelligence processor (such as a neural processing unit (NPU) or a machine learning accelerator). For example, when the one or more processors include an artificial intelligence processor, the artificial intelligence processor may be designed as a hardware structure specifically for processing a specific artificial intelligence model.
[0044] One or more processors may be implemented as one or more multi-core processors, including one or more cores (e.g., homogeneous multi-core or heterogeneous multi-core). When a processor includes multiple cores, each of the cores includes a cache memory, and the processor may include a common cache memory shared by the cores. Each of the cores may independently read and execute program instructions, or each of the cores may read and execute one or more portions of program instructions.
[0045] In an embodiment of the present disclosure, a processor may refer to a system on a chip (SoC) in which one or more cores and other electronic components are integrated, a single-core processor, a multi-core processor, or a core included in a single-core processor or a multi-core processor, where the core may be implemented as a CPU, GPU, APU, MIC, FPGA, DSP, NPU, hardware accelerator, or machine learning accelerator, but the embodiments of the present disclosure are not limited thereto.
[0046] The processor 120 may record data in the memory 130 described later, or read data stored in the memory 130. Specifically, the processor 120 executes the program stored in the memory 130 to process the data according to predefined operating rules or artificial intelligence (AI) models. Therefore, the processor 120 may be configured to perform the operations described in the embodiments of the present disclosure, and in the embodiments of the present disclosure, unless otherwise defined, the operations described as being performed by the server 100 may be performed by the processor 120.
[0047] The memory 130 is an element for storing various programs or data and may include one or more storage media such as ROM, RAM, hard disk, CD-ROM, DVD, etc., or a combination of these storage media. The memory 130 may not be provided separately, but may be included in the processor 120. The memory 130 may include volatile memory, non-volatile memory, or a combination of volatile memory and non-volatile memory. The memory 130 may store programs for performing operations according to the embodiments of the present disclosure. The memory 130 may provide the stored data to the processor 120 in response to a request from the processor 120.
[0048] Next, the configuration of the mobile terminal 200 will be described below.
[0049] Among the various components of the mobile terminal 200, the functions performed by the communication interface 210, the processor 220 and the memory 230 are substantially the same as those of the communication interface 110, the processor 120 and the memory 130 of the server 100, and therefore, their detailed descriptions are omitted here.
[0050] The input / output interface 240 may include an input interface (e.g., a touch screen, hard buttons, a microphone, etc.) for receiving control commands or information from user 1, and an output interface (e.g., a display panel, a speaker, etc.) for displaying the execution result of an operation performed according to the control from user 1 or displaying the status of the mobile terminal 200.
[0051] The input / output interface 240 may also include elements for sensing user 1's reactions. According to one or more embodiments of the present disclosure, the input / output interface 240 may include a camera 241 and a sensor 242, and the mobile terminal 200 may sense user 1's reactions using these elements. For example, the mobile terminal 200 may use the camera 241 to capture an image of user 1 and identify user 1's eye direction or facial expression from the captured image. Furthermore, for example, the mobile terminal 200 may use the sensor 242 to sense various physical reactions of user 1 (e.g., changes in pupil size, brainwaves, heart rate, etc.) and identify changes in user 1's emotions based on the sensed physical reactions.
[0052] The following describes the operations of modules implemented by server 100 or mobile terminal 200 according to one or more embodiments of the present disclosure with reference to FIG3 and FIG4 . FIG3 is a diagram illustrating a module for tracking a user's knowledge level using a knowledge tracking model according to one or more embodiments of the present disclosure. FIG4 is a diagram illustrating a module for performing an operation of recommending content to a user based on the user's knowledge level tracked by the knowledge tracking model according to one or more embodiments of the present disclosure.
[0053] According to one or more embodiments of the present disclosure, Figure 3 and Figure 4 The modules shown in FIG. 1 are units obtained by dividing operations performed by the processor 120 or 220 of the server 100 or the mobile terminal 200 according to their functions or purposes, and may represent software modules. Each module may be configured as independent hardware.
[0054] As described above, according to one or more embodiments of the present disclosure, it is assumed that most operations for knowledge tracking and content recommendation are performed by the server 100. Therefore, unless otherwise specified, Figure 3 and Figure 4 The operations performed by the modules shown in FIG can actually be performed by the processor 120 of the server 100. According to one or more embodiments of the present disclosure, some or all operations performed by the server 100 can be performed by the mobile terminal 200. Figure 3 and Figure 4Some or all of the operations performed by the modules shown in FIG. 2 may actually be performed by the processor 220 of the mobile terminal 200 .
[0055] refer to Figure 3 , the modules for tracking the user's knowledge level may include a content unit extraction module 310 , a user reaction sensing module 320 , a user reaction processing module 330 , a content analysis module 340 , an input generation module 350 and a knowledge tracking model 360 .
[0056] The following briefly describes the Figure 3 Operations performed by the modules shown. When the server 100 determines the understanding of the content based on the response of user 1 who consumed the content and inputs the understanding and information about the content (e.g., information for identifying the content, the domain of the content, the level of the content, etc.) into the knowledge tracking model 360, the knowledge tracking model 360 can output the knowledge level of user 1.
[0057] The following will describe in detail Figure 3 The operations performed by the modules shown.
[0058] The content unit extraction module 310 may divide the content into a plurality of unit contents. According to one or more embodiments of the present disclosure, the server 100 determines the user's understanding of each unit content. To this end, the content unit extraction module 310 may divide the content into specific units.
[0059] The content unit extraction module 310 may divide the content according to various criteria, some examples of which are described below.
[0060] (1) When the content is text data
[0061] The content unit extraction module 310 may divide the content into a plurality of unit contents based on phrases, paragraphs, or chapters. Alternatively, the content unit extraction module 310 may divide the content into a plurality of unit contents based on topics.
[0062] (2) When the content is voice data
[0063] The content unit extraction module 310 may divide the content based on the amplitude or frequency of the voice. For example, the content unit extraction module 310 may separate the content based on the point at which the amplitude or frequency of the voice becomes greater than or less than a preset reference value.
[0064] (3) When the content is image data
[0065] The content unit extraction module 310 may separate content based on the subject of the image (e.g., separating content at points where the subject changes), or may separate content based on objects included in the image (e.g., separating content at points where the main character in the image changes). Alternatively, the content unit extraction module 310 may separate content based on the sound included in the image (e.g., separating content at points where the volume or frequency of the sound is greater than or less than a reference value).
[0066] In addition, the content unit extraction module 310 may divide the content based on a separator included in the content regardless of the kind of the content.
[0067] Figure 5 FIG. 3 shows a case where the content unit extraction module 310 divides text-type content into a plurality of unit contents according to one or more embodiments of the present disclosure. Figure 5 , a piece of content 500 can be divided into first, second, third, fourth and fifth contents 510, 520, 530, 540 and 550 by the content unit extraction module 310. Figure 5 In the example shown, the content unit extraction module 310 separates the content 500 based on paragraphs.
[0068] According to one or more embodiments of the present disclosure, the content unit extraction module 310 may classify the first, second, third, fourth, and fifth unit contents 510, 520, 530, 540, and 550 according to specific criteria. For example, the content unit extraction module 310 may classify unit contents including key contents (e.g., unit contents including main keywords or main phrases) as important contents. Figure 5 In the example shown, when the second unit content 520 and the third unit content 530 include key content, the content unit extraction module 310 may classify the second unit content 520 and the third unit content 530 as important content. As described below, when determining the understanding of the entire content 500, the second and third unit content 520 and 530 classified as important content may be considered in priority over other unit content.
[0069] Furthermore, according to one or more embodiments of the present disclosure, the content unit extraction module 310 may classify a unit of content, for which a reaction of user 1 is sensed, among the plurality of unit contents 510, 520, 530, 540, and 550 as content of interest. For example, when a reaction of user 1 is sensed while or after user 1 consumes the first unit of content 510, the content unit extraction module 310 may classify the first unit of content 510 as content of interest. As described below, the user reaction processing module 330 may determine understanding based on the sensed reaction to the unit of content (content of interest) for which a reaction of user 1 is sensed, and may also determine understanding by using interpolation or prediction models for unit contents for which a reaction of user 1 is not sensed.
[0070] The user reaction sensing module 320 can sense the reaction of user 1 when or after consuming content. According to one or more embodiments of the present disclosure, the user reaction sensing module 320 can be executed in the mobile terminal 200. In other words, the operations performed by the user reaction sensing module 320 described below can actually be executed by the processor 220 of the mobile terminal 200.
[0071] Figure 6 5 shows a case where the mobile terminal 200 senses the reaction of the user 1 who consumes the content 500. According to one or more embodiments of the present disclosure, as Figure 6 As shown, the user reaction sensing module 320 can sense the reaction of user 1 by capturing an image of user 1 via the camera 241 provided in the mobile terminal 200. For example, the user reaction sensing module 320 can sense the location of user 1's gaze focus, the speed or pattern of user 1's eye changes, etc. by tracking user 1's eyes. Alternatively, the user reaction sensing module 320 can sense changes in user 1's facial expression, facial movements (e.g., a nod or tilt of the user's head), and other various reactions displayed on user 1's face (e.g., pupil dilation, etc.) by analyzing an image obtained by capturing an image of user 1's face.
[0072] The user reaction sensing module 320 can sense the reaction of user 1 through various other methods. According to one or more embodiments of the present disclosure, the user reaction sensing module 320 can sense the reaction of user 1 by interacting with user 1 who is consuming content 500. For example, the user reaction sensing module 320 can sense the speed at which user 1 consumes content (e.g., the speed at which text or images are turned over), the number of times user 1 pauses or rewinds during content consumption, the time spent consuming content, whether the content has been consumed to completion, etc.
[0073] According to one or more embodiments of the present disclosure, mobile terminal 200 can sense user 1's reaction via a connected external device. For example, an external device capable of measuring heart rate (e.g., a smartwatch) can measure user 1's heart rate. Alternatively, an external device capable of measuring brain waves (e.g., headphones) can measure user 1's brain waves. In this case, the user reaction sensing module 320 can be implemented in either the mobile terminal 200 or the external device, or in both devices. The external device can transmit the sensed user reaction to the mobile terminal 200 or directly to the server 100.
[0074] The user reaction processing module 330 can determine whether user 1 understands the content based on the sensed user 1's reaction. If it is determined that user 1 understands the content, the user reaction processing module 330 can set user 1's understanding to "success" (successful). If it is determined that user 1 does not understand the content, the user reaction processing module 330 can set user 1's understanding to "failure" (unsuccessful). In other words, the user reaction processing module 330 can indicate user 1's understanding with an integer value of 1 (success) or 0 (failure).
[0075] Alternatively, according to one or more embodiments of the present disclosure, the user reaction processing module 330 may indicate user 1's understanding using a real number (probability value) ranging from 0 to 1. In this case, as the real number indicating user 1's understanding increases, the degree to which user 1 understands the content is higher. For example, when the understanding is 0.9, it can be interpreted that user 1 almost completely understands the content, and when the understanding is 0.2, it can be interpreted that user 1 barely understands the content.
[0076] According to one or more embodiments of the present disclosure, the user reaction processing module 330 can determine the understanding of user 1 by comparing the reaction of user 1 with a preset reference. For example, when user 1 nods while viewing the content, or when user 1's eyes move continuously without staying at a specific location (in the case of text content), the user reaction processing module 330 can determine user 1's understanding as "successful". Alternatively, for example, when user 1 tilts their head or frowns at the content while viewing the content, or when user 1's gaze is focused on a specific location for a specific period of time or longer or keeps returning to the back, the user reaction processing module 330 can determine user 1's understanding as "failed". The user reaction processing module 330 can determine user 1's understanding based on user 1's reaction according to various criteria.
[0077] According to one or more embodiments of the present disclosure, the user reaction processing module 330 may use an artificial neural network to determine understanding based on user 1's reactions. To this end, the user reaction processing module 330 may use a neural network model trained using training data (supervised learning), in which understanding (success or failure) is labeled for one or more combinations of user 1's reactions. Alternatively, the user reaction processing module 330 may use a neural network model trained using unsupervised learning to cluster similar features among combinations of one or more user 1 reactions. Here, each classified cluster may correspond to when user 1 successfully understood the content and when user 1 failed to understand the content. Otherwise, the user reaction processing module 330 may infer user 1's understanding of the content from user 1's reactions using a neural network model trained using various methods.
[0078] When the user response processing module 330 inputs the response of user 1 into the trained neural network model, the neural network model infers the understanding of user 1.
[0079] According to one or more embodiments of the present disclosure, user response processing module 330 can determine user 1's understanding of each unit of content and, based on user 1's understanding of each unit of content, determine user 1's understanding of the entire context of the content (i.e., the entire content). The following describes in detail a method for determining understanding of the entire content based on user 1's understanding of the unit of content, as determined by FIG. 7 .
[0080] As shown in FIG7 , the content 500 is divided into first, second, third, fourth, and fifth unit contents 510, 520, 530, 540, and 550, as described above with reference to FIG5 . When the user reaction sensing module 320 senses the reaction of the user 1 corresponding to each of the first, second, third, fourth, and fifth unit contents 510, 520, 530, 540, and 550 and transmits the sensed reaction to the user reaction processing module 330, the user reaction processing module 330 may determine the understanding of the first, second, third, fourth, and fifth unit contents 510, 520, 530, 540, and 550 based on the reaction of the user 1 corresponding to each of the first, second, third, fourth, and fifth unit contents 510, 520, 530, 540, and 550.
[0081] The user reaction processing module 330 can match the reaction of user 1 sensed when user 1 consumes a specific unit content or within a specific time period after user 1 consumes a specific unit content as a user reaction corresponding to the specific unit content. When there are multiple user reactions to a specific unit content, the user reaction processing module 330 can match multiple user reactions to the specific unit content, or only match some of the multiple user reactions to the specific unit content. According to one or more embodiments of the present disclosure, the user reaction processing module 330 can only match user reactions of pre-specified types based on the type of unit content. For example, when the unit content is text, the changes in the eyes of user 1 are matched to the unit content, and when the unit content is a video, the changes in the facial expressions and facial movements of user 1 are matched to the unit content.
[0082] According to one or more embodiments of the present disclosure, when multiple user reactions correspond to a unit of content, the user reaction processing module 330 may consider the multiple user reactions to determine the understanding of user 1. For example, the user reaction processing module 330 may input the multiple user reactions into the aforementioned neural network model and may determine the understanding of user 1 based on the output from the neural network model.
[0083] Alternatively, according to one or more embodiments of the present disclosure, the user reaction processing module 330 may determine understanding by considering multiple user reactions individually, and then may combine the determination results to determine user 1's understanding of the unit content. For example, the user reaction processing module 330 may calculate an average value of understanding for each of the multiple user reactions, and then may determine user 1's understanding of the unit content based on the calculated average value. For example, when there are three user reactions and the understanding based on each of the user reactions has values of 1, 0, and 1, respectively, the average value of the three values, 0.67, is close to 1. Therefore, the understanding of the unit content is determined to be "successful" (1). In addition, the user reaction processing module 330 may apply a weight set directly by user 1 or a weight set by training a neural network model to each category in the user reactions. The user reaction processing module 330 may calculate a weighted sum or weighted average of the understanding for each of the multiple user reactions by applying a weight to each category of the user reactions, and then may determine user 1's understanding of the unit content based on the calculated value.
[0084] For some unit contents, no corresponding user reaction may be sensed. For example, when user 1 does not show a specific reaction when consuming a specific unit content, or when user 1's reaction is too weak to be sensed by the sensor, the user reaction processing module 330 may determine that there is no user reaction corresponding to the specific unit content.
[0085] For unit content without corresponding user reactions, the user reaction processing module 330 can predict understanding through interpolation or using a prediction model. For example, when there is no user reaction corresponding to a specific unit content, the user reaction processing module 330 can predict understanding of the specific unit content based on user 1's understanding of the unit content before and after the specific unit content.
[0086] refer to Figure 7 , there are user reactions corresponding to the first, second, and third unit contents 510, 520, 530, and the fifth unit content 550, but there is no user reaction corresponding to the fourth unit content 540. For the first, second, and third unit contents 510, 520, and 530, and the fifth unit content 550, the user reaction processing module 330 may determine understanding based on the corresponding user reactions.
[0087] However, there is no corresponding user reaction to the fourth unit content 540, and the user reaction processing module 330 must predict the user 1's understanding of the fourth unit content 540. According to one or more embodiments of the present disclosure, the user reaction processing module 330 may predict the user 1's understanding of the fourth unit content 540 based on the user 1's understanding of the third unit content 530 and the fifth unit content 550 adjacent to the fourth unit content 540. Figure 7 In the illustrated embodiment of the present disclosure, both the user's understanding of the third unit of content 530 and user 1's understanding of the fifth unit of content 550 are "failed." Therefore, user reaction processing module 330 may predict user 1's understanding of the fourth unit of content 540, which is between the third and fifth units of content, as "failed." Of course, if user reaction processing module 330 predicts user 1's understanding of the fourth unit of content 540 based on another criterion or method, a different result may be obtained.
[0088] The user reaction processing module 330 may determine the understanding of the entire content 500 based on the understanding of the reference unit contents 510, 520, 530, 540, and 550. That is, the user reaction processing module 330 may determine whether the user 1 understands the entire context of the content or only some of the content by connecting the understanding of the unit contents.
[0089] According to one or more embodiments of the present disclosure, the user reaction processing module 330 may determine the understanding of the entire content 500 based on the result of comparing the number of unit contents whose understanding is determined to be "successful" with the number of unit contents whose understanding is determined to be "failed". According to one or more embodiments of the present disclosure, when the number of unit contents whose understanding is determined to be "successful" is equal to or greater than a specific ratio of the total number of unit contents, the user reaction processing module 330 may determine the understanding of the entire content 500 as "successful". For example, in Figure 7 In the example shown, the number of unit contents whose comprehension is determined to be "successful" is two (510, 520), while the number of unit contents whose comprehension is determined to be "failed" is three (530, 540, 550). If it is assumed that 60% or more of the comprehension of the content must be "successful" in order to determine the comprehension of the entire content 500 as "successful", the above condition is not met, and therefore, the user reaction processing module 330 may determine the comprehension of the entire content 500 as "failed".
[0090] Alternatively, according to one or more embodiments of the present disclosure, the user reaction processing module 330 may determine the understanding of the entire content 500 by comparing the number of unit contents in which understanding is determined to be "successful" with the number of unit contents in which understanding is determined to be "failed" and applying a weight that varies according to the unit contents. This is because when the user 1 determines that he / she has mainly understood the entire content, the user 1 may not read carefully or skip less important paragraphs.
[0091] The weight applied to the content can be determined based on the importance or quantity of the content, and two or more weights can be applied to each unit content. For example, the user reaction processing module 330 can give a high weight to unit content that includes key content related to the subject of the content, and can give a high weight as the amount of unit content increases. In addition, the user reaction processing module 330 can give a higher weight (interest weight) to unit content in which user 1 is more interested. To this end, the user reaction processing module 330 can identify the degree of interest of user 1 in the unit content based on the reaction of user 1 sensed when user 1 consumes the content. For example, when user 1 quickly skips some of the unit content while reading a text, and then reads a specific unit content carefully, the user reaction processing module 330 can determine that user 1 is highly interested in the specific unit content.
[0092] The user reaction processing module 330 may determine understanding for the entire content by multiplying the weight applied to each unit content by a value indicating understanding (eg, “1” (success) and “0” (failure)), adding the values, and comparing the result with a preset reference value.
[0093] For example, in Figure 7 In the embodiment of FIG. 5 , the user reaction processing module 330 may assign a higher importance weight w to the second unit content 520 and the third unit content 530 including the key content compared to the other unit contents 510 , 540 , and 550 . 12 and w 13 In addition, the weight w assigned to the third unit content 530 is 23 can be greater than the weight w assigned to the fifth unit content 550 25 The user response processing module 330 assigns the weight w to the first unit content 510 that it understands as “successful”. 11 and w 21 Multiply by 1 and add the weights. Similarly, the weight w assigned to the second unit content 520 that it understands as "successful" is 12 and w 22 Multiply by 1 and add the weights. Afterwards, when the result value (w 11 +w 21 +w 12 +w 22 ) is greater than a preset reference value, the user reaction processing module 330 determines the understanding of the entire content 500 as "successful." However, when the result value is equal to or less than the preset reference value, the user reaction processing module 330 may determine the understanding of the entire content 500 as "failed." As described above, the understanding of user 1 may be represented as a real value between 0 and 1, rather than a value of 0 or 1. In this case, the user reaction processing module 330 multiplies the real value between 0 and 1 representing the understanding by the weight, adds the results, and compares the result with the preset reference value to determine the understanding of the entire content 500.
[0094] The content analysis module 340 obtains information about the content and uses this information to generate an embedding vector corresponding to the content. According to one or more embodiments of the present disclosure, the content analysis module 340 can analyze the content to determine its domain and level, and can generate and output an embedding vector that includes information about the content (information used to identify the content, the domain of the content, the level of the content, etc.). The information used to identify the content may include an index value corresponding to the content or one or more phrases contained in the content.
[0095] The content analysis module 340 may convert the information about the content into an embedding vector by using a language model. The content analysis module 340 may generate an embedding vector corresponding to each unit content, or may generate an embedding vector corresponding to the entire content.
[0096] According to one or more embodiments of the present disclosure, the content analysis module 340 analyzes the content and may determine the domain or level of the content based on the analysis results. Alternatively, according to one or more embodiments of the present disclosure, the content analysis module 340 may obtain information about the domain or level of the content without analyzing the content. (For example, information about the domain and level of the content is pre-stored in the metadata of the content.)
[0097] The method by which the content analysis module 340 determines the level of content is described in detail below.
[0098] The content analysis module 340 may determine the “level by field” and “language level” of the content. The level by field of the content indicates the difficulty of the content in terms of the field to which it belongs, and the language level of the content may indicate the difficulty of the vocabulary or phrases included in the content, regardless of the field.
[0099] The content analysis module 340 can determine the domain level of the content based on the difficulty and number of technical terms included in the content. Furthermore, the content analysis module 340 can determine the domain level of the content based on how deeply the content covers specific areas within a particular domain. The content analysis module 340 can determine the language level of the content based on the difficulty of general terms (not technical terms) included in the content, the number of words included in each sentence, the length of the sentences, and the like.
[0100] When the content analysis module 340 obtains information about the content, the content analysis module 340 may generate an embedding vector corresponding to the content by using the information about the content. Figure 8 FIG. 5 shows an example in which the content analysis module 340 generates an embedding vector corresponding to the third unit content 530. Figure 8 The content analysis module 340 may generate a unit content vector 810 , a content domain vector 820 , and a content level vector 830 corresponding to the third unit content 530 . The content level vector 830 may include a field-specific level vector 831 and a language level vector 832 .
[0101] The unit content vector 810 represents an embedding vector corresponding to information for identifying the third unit content 530. According to one or more embodiments of the present disclosure, the content analysis module 340 may generate the unit content vector 810 by converting some or all of the phrases included in the third unit content 530 into an embedding vector.
[0102] The content domain vector 820 represents an embedding vector indicating the domain of the third unit content 530. According to one or more embodiments of the present disclosure, the content analysis module 340 may generate the content domain vector 820 by converting text indicating the domain of the third unit content 530 into an embedding vector.
[0103] The content level vector 830 represents an embedding vector indicating the level of the third unit content 530, and may include a domain-specific level vector 831 and a language level vector 832. According to one or more embodiments of the present disclosure, the content analysis module 340 may generate the domain-specific level vector 831 or the language level vector 832 by converting elements indicating the domain-specific level or language level of the third unit content 530 (e.g., the number and difficulty of technical terms in the domain included in the content, the degree indicating how deeply the specific domain involved in the content is, the difficulty of general terms included in the content, the number of phrases included in the content, etc.) into an embedding vector.
[0104] Figure 8 Only the case in which an embedding vector corresponding to the third unit content 530 is generated is shown, but the content analysis module 340 may generate an embedding vector corresponding to each of the unit contents 510, 520, 530, 540, and 550, or may generate an embedding vector corresponding to the entire content 500.
[0105] The content analysis module 340 may transmit the generated embedding vectors 810 , 820 , 831 , and 832 to the input generation module 350 .
[0106] The input generation module 350 may generate an input to the knowledge tracking model 360 by using the understanding of the content received from the user reaction processing module 330 and the information about the content (corresponding to the embedding vector of the content) received from the content analysis module 340 .
[0107] Figure 9 is a diagram for describing a process in which the knowledge tracking model 360 determines and updates the knowledge level of the user 1 when the input generated by the input generating module 350 is applied to the knowledge tracking model 360. Figure 9 In the embodiment of the present disclosure, it is assumed that the input generation module 350 generates the input by using the above Figure 8 The embedding vectors 810 , 820 , 831 and 832 corresponding to the third unit content 530 generated in the above example are used to generate input to the knowledge tracking model 360 .
[0108] refer to Figure 9, the input generation module 350 can generate an input to the knowledge tracking model 360 by combining at least one of the embedding vectors 810, 820, 831, and 832 corresponding to the third unit content 530 received from the content analysis module 340 with the understanding vector 910 received from the user reaction processing module 330. Here, the understanding vector 910 may indicate the user's understanding of the third unit content 530 ("failure" - see Figure 7 ).
[0109] According to one or more embodiments of the present disclosure, the input generation module 350 may generate a new embedding vector by combining at least one of the embedding vectors 810, 820, 831, and 832 corresponding to the third unit content 530 with the understanding vector 910 corresponding to the third unit content 530 (e.g., generating a one-hot vector by performing one-hot encoding on the generated combination). The embedding vector generated above may be input to the knowledge tracking model 360. For example, the input generation module 350 may combine the content domain vector 820 with the understanding vector 910 and convert it into an embedding vector, and may input the embedding vector into the knowledge tracking model 360. Alternatively, for example, the input generation module 350 may combine all of the unit content vectors 810, the content domain vector 820, the content level vector 830, and the understanding vector 910, convert them into an embedding vector, and input the embedding vector into the knowledge tracking model 360.
[0110] As described above, the embedding vector input to the knowledge tracking model 360 may include information about the content consumed by user 1 (information for identifying the content, the domain of the content, the level of the content, etc.) and information about the user's understanding.
[0111] When user 1 consumes the entire content 500 , the input generation module 350 generates embedding vectors for all of the unit contents 510 , 520 , 530 , 540 , and 550 included in the entire content 500 in the same manner, thereby generating input to the knowledge tracking model 360 .
[0112] Knowledge tracking model 360 is a neural network model used to track user 1's knowledge level based on the results of user 1's content consumption. According to one or more embodiments of the present disclosure, knowledge tracking model 360 can be implemented as a recurrent neural network (RNN) or a long short-term memory (LSTM) suitable for processing time series data, and specifically, can be implemented as a transformer. Knowledge tracking model 360 can also be implemented in various other neural networks.
[0113] According to one or more embodiments of the present disclosure, the knowledge level of user 1 inferred by the knowledge tracking model 360 may include a domain-specific knowledge level 910 and a language knowledge level 920, such as Figure 9 As shown in Figure 9, the domain-specific knowledge level 910 represents the probability that user 1 understands the content of each domain. Figure 9 As shown in domain-specific knowledge level 910, the probability that user 1 understands content in the economics domain is 60%, the probability that user 1 understands content in the social science domain is 80%, and the probability that user 1 understands content in the political science domain is 75%. Language knowledge level 920 represents user 1's overall ability in vocabulary or reading, regardless of the domain. Figure 9 The domain-specific knowledge level 910 and the language knowledge level 920 are shown as percentages, but the domain-specific knowledge level 910 and the language knowledge level 920 can be expressed in various ways. (For example, the level can be represented by a real number between 0 and 1.)
[0114] The knowledge tracking model 360 may receive input of information regarding user 1's activities with respect to content and may infer the knowledge level of user 1. Here, the information regarding the user's activities may include information regarding what content the user has consumed, information regarding whether user 1 understands the content, etc. In other words, the knowledge tracking model 360 may continuously update user 1's knowledge level based on the results of user 1's consumption of content.
[0115] In the following, reference Figure 10 , a process in which the knowledge tracking model 360 is trained based on the results of user 1 sequentially consuming multiple contents.
[0116] Figure 10 A process is shown in which the knowledge tracking model 360 is trained based on the results of sequentially consuming three pieces of content by User 1.
[0117] Figure 10 A table 100 is shown at the upper right end indicating the results of sequentially consuming three pieces of content by user 1. Referring to table 1000, user 1 first consumes content in the field of economics and understands the content, consumes content in the field of society and does not understand the content, and then consumes content in the field of economics and does not understand the content. Figure 10 For ease of description, an index corresponding to each field is assigned (Economics: 1, Sociology: 2, Political Science: 3). Furthermore, a '1' indicates successful understanding of the content, while a '0' indicates failure. When the results of content consumption are expressed as a combination of (field, understanding), the content consumption results shown in Table 100 can be expressed as follows.
[0118] First content consumption (first step): (1, 1)
[0119] Second content consumption (second step): (2, 0)
[0120] Third content consumption (third step): (1, 0)
[0121] The above information can be represented by the content area vector and understanding vector as described above.
[0122] The input generation module 350 can convert information into an embedding vector and input the embedding vector into the knowledge tracking model 360, and the knowledge tracking model 360 can be implemented as follows Figure 10 The RNN shown.
[0123] Figure 10 A first step 1010 and a second step 1020 are shown for tracking the order of the model 360 according to the training knowledge.
[0124] First, the knowledge tracking model 360 may receive input of the result of consuming a piece of content (eg, the domain of the content, the understanding of the content, etc.) and may infer the knowledge level of the user 1. Figure 10 In the first step 1010 , when the input generation module 350 inputs the embedding vector corresponding to (1, 1) (ie, the result of the first content consumption) into the knowledge tracking model 360 , the knowledge tracking model 360 may output a first domain-specific knowledge level 1011 .
[0125] According to one or more embodiments of the present disclosure, when training the knowledge tracking model 360, only the next-order content can be considered for training. For example, the knowledge tracking model 360 can be trained by comparing the predicted understanding (the probability that the user will understand the next content, determined based on the user's knowledge level) with the user 1's actual understanding (label) of the next-order content. In other words, the predicted understanding of the next content is compared with the user 1's actual understanding of the next content, and the parameters of the knowledge tracking model 360 can be adjusted to minimize the difference.
[0126] According to one or more embodiments of the present disclosure, by calculating the loss between the predicted understanding of the next content and the actual understanding of the next content by user 1 and performing backpropagation, the knowledge tracking model 360 can adjust its parameters to minimize the loss. To this end, as the predicted understanding of the next content and the actual understanding of the next content by user 1 approach each other, the loss function outputs a smaller value.
[0127] In summary, the knowledge tracking model 360 predicts the expected understanding for the next content based on the previously inferred knowledge level, and the parameters of the knowledge tracking model 360 can be updated to reduce the loss between the predicted understanding and the actual understanding of the user 1 for the next content.
[0128] exist Figure 10 In the first step 1010, the next content (the second content) is in the social domain. Referring to the first domain-specific knowledge level 1011, the knowledge tracking model 360 may predict an 80% understanding of the next content. The knowledge tracking model 360 may calculate the loss between the expected understanding of the next content (80%) and the actual understanding of the next content (failure, "0") and perform backpropagation to update its parameters to minimize the loss.
[0129] In first step 1010, after first domain-specific knowledge level 1011 is updated by taking into account learning of the second content, second step 1020 is executed. In second step 1020, as in first step 1010, knowledge tracking model 360 may be trained by taking into account the next content (third content). In second step 1020, because the next content (third content) is in the field of economics, knowledge tracking model 360 may predict a 60% understanding of the next content by taking into account second domain-specific knowledge level 1021. Knowledge tracking model 360 may update its parameters to minimize the loss by calculating the loss between the expected understanding of the next content (60%) and the actual understanding of the next content (failure, "0") and performing backpropagation.
[0130] According to the above method, learning is performed by using the results of consuming continuous content to update the parameters of the knowledge tracking model 360. Therefore, according to one or more embodiments of the present disclosure, the user does not need to perform additional operations (e.g., solving problems or answering surveys) to track the level of knowledge. In other words, the knowledge level of user 1 can be tracked as user 1 consumes content and expresses its response.
[0131] So far, it has been described that Figure 3 The module shown tracks the process of user 1's knowledge level. In the following, reference Figure 4 ,The process of recommending content to user 1 based on the result of tracking the knowledge level of user 1 is described in detail below.
[0132] refer to Figure 4 , the module for recommending content may include a knowledge level monitoring module 410 and a content recommendation module 420, and may further include a knowledge loss modeling module 405. According to one or more embodiments of the present disclosure, the knowledge loss modeling module 405 may be included in Figure 3 The knowledge tracking model 360. In this case, Figure 4 The knowledge level of can be the result of applying knowledge loss modeling.
[0133] The knowledge loss modeling module 405 can adjust the knowledge level of user 1 by reflecting the phenomenon that user 1's knowledge level decreases over time. Because human memory decreases over time, user 1's knowledge level will decrease over time. Therefore, according to one or more embodiments of the present disclosure, after the knowledge tracking model 360 infers user 1's knowledge level, the knowledge loss modeling module 405 can adjust the knowledge level to decrease over time.
[0134] The knowledge loss modeling module 405 can adjust the knowledge level over time by using a linear model or a nonlinear model. According to one or more embodiments of the present disclosure, the knowledge loss modeling module 405 can adjust the knowledge level by using a nonlinear model so that the rate of decline of the knowledge level is high shortly after the inference of the knowledge level and then gradually decreases over time.
[0135] The knowledge level monitoring module 410 may monitor the knowledge level of user 1 updated by the knowledge tracking model 360 in order to recommend content to user 1. According to one or more embodiments of the present disclosure, the knowledge level monitoring module 410 may identify at least one of the domain-specific knowledge level or the language knowledge level of user 1 inferred by the knowledge tracking model 360, and then transmit the identified knowledge level to the content recommendation module 420.
[0136] The content recommendation module 420 may recommend content to the user 1 in consideration of the user's interests and knowledge level. The content recommendation module 420 may recommend content to the user 1 in consideration of only one of the user 1's interests and the user 1's knowledge level, and in the present disclosure, an example in which content is recommended in consideration of both the user 1's interests and the user's knowledge level is described below.
[0137] The content recommendation module 420 can identify the interests of user 1 in various ways. According to one or more embodiments of the present disclosure, the content recommendation module 420 can identify the interests of user 1 based on the areas of interest directly input by user 1, or can identify the interests of user 1 based on user 1's content consumption history. According to one or more embodiments of the present disclosure, the content recommendation module 420 identifies the areas of content that user 1 is interested in, selects at least one piece of content in the corresponding area based on user 1's knowledge level, and then recommends the content to user 1. The method of selecting content based on user 1's knowledge level will be described later.
[0138] According to one or more embodiments of the present disclosure, the content recommendation module 420 can identify the interests of user 1 based on the reaction of user 1 when consuming content, which will be referred to later. Figure 11 This is described in more detail.
[0139] According to one or more embodiments of the present disclosure, the content recommendation module 420 can identify the user's interests by analyzing the context of the part in which the user 1 reacts in the content. Figure 11 As shown, when the reaction of the user 1 is sensed in the area 531 in the third unit content 530 , the content analysis module 340 may analyze the context of the area 531 .
[0140] According to one or more embodiments of the present disclosure, the content recommendation module 420 may determine whether the user 1 shows empathy for the region 531 based on the user 1's reaction to the region 531, and when the user 1 shows empathy, the content recommendation module 420 may determine that the user 1 is interested in the theme of the region 531. For example, Figure 11 As shown in the embodiment of the present disclosure, when the reaction of user 1 (e.g., nodding of the user's head) is sensed in area 531 (determined to show resonance) and the context of area 531 is analyzed as describing the "advantages of local policies", the content recommendation module 420 can determine that user 1 is interested in local policies.
[0141] The content recommendation module 420 can recommend content to User 1 based on User 1's interests and knowledge level identified by the above-described method. According to one or more embodiments of the present disclosure, the content recommendation module 420 can recommend content of appropriate difficulty based on User 1's knowledge level, or can recommend content that is expected to improve User 1's knowledge level. For example, the content recommendation module 420 can infer content that is likely to improve User 1's knowledge level through an optimization process using reinforcement learning using a Markov decision process (MDP), and recommend the content to User 1.
[0142] exist Figure 11 In the illustrated embodiment, the content recommendation module 420 determines that User 1 is interested in local policies and therefore recommends new content 1100 related to local policies to User 1. Here, the content recommendation module 420 may select at least one piece of content from a plurality of pieces of content related to local policies based on the knowledge level of User 1. When recommending the selected content 1100 to User 1, the content recommendation module 420 may recommend the new content 1100 immediately after the third unit of content 530 used to identify User 1's interests, or may recommend the new content 1100 after User 1 has consumed all of the content 500.
[0143] Figure 12 and 13 is a diagram for describing a process in which the server 100 and the mobile terminal 200 track the knowledge level of the user consuming the content and then recommend content to the user based on the tracking result according to one or more embodiments of the present disclosure. Figure 3 and Figure 4 The characteristics of the described components may also be equally applicable to one or more embodiments of the disclosure provided below.
[0144] refer to Figure 12 In operation 1201 , the server 100 divides specific content into a plurality of unit contents, and in operation 1202 , may transmit a recommendation of the corresponding content to the mobile terminal 200 .
[0145] In operation 1203, when the content recommendation is displayed on the screen of the mobile terminal 200 and the user selects the corresponding content, the mobile terminal 200 reproduces the content and can sense the user's reaction when the user consumes the content. The mobile terminal 200 can sense the user's reaction by using various devices or sensors, and can sense the user's reaction by using an external device.
[0146] In operation 1204 , the server 100 may obtain information about the content (information for identifying the content, the field of the content, the level of the content, etc.) by analyzing the recommended content.
[0147] In operation 1205, the mobile terminal 200 transmits the result of sensing the user reaction to the server 100, and then, in operation 1206, the server 100 may determine the understanding of the content based on the user reaction. In the server 100, the method of determining the understanding of the content based on the user reaction may be variously implemented as described above.
[0148] In operation 1207, server 100 may determine (or update) the user's knowledge level by using a knowledge tracking model. According to one or more embodiments of the present disclosure, server 100 generates an embedding vector corresponding to a combination of information about the content and the user's understanding and inputs the embedding vector into the knowledge tracking model. The user's knowledge level inferred by the knowledge tracking model is then obtained. As the user consumes content, server 100 can continuously update the user's knowledge level.
[0149] In operation 1208, the server 100 may select content to recommend based on the user's knowledge level. According to one or more embodiments of the present disclosure, the server 100 filters content primarily based on the user's interests and may select at least one piece of content from the filtered content based on the user's knowledge level. According to one or more embodiments of the present disclosure, the server 100 may recommend content with a difficulty appropriate to the user's knowledge level, or may recommend content intended to maintain or improve the user's knowledge level.
[0150] In operation 1209 , the server 100 may transmit a recommendation of the selected content to the mobile terminal 200 .
[0151] When the general Figure 13Examples and Figure 12 When compared with the embodiment of Figure 12 Different from Figure 12 Therefore, only the following describes Figure 12 The difference.
[0152] exist Figure 12 In the embodiment of the present invention, the process starts with the content recommendation of the server 100, but Figure 13 In the embodiment of FIG. 5 , the process begins with the user of the mobile terminal 200 directly selecting content to be consumed and reproducing the content.
[0153] In operation 1301, when a user directly selects content in the mobile terminal 200 and inputs a reproduction command, the mobile terminal 200 reproduces the content and can sense the user's reaction when the user consumes the content. The mobile terminal 200 can sense the user's reaction by using various devices or sensors, and can sense the user's reaction by using an external device.
[0154] In operation 1302 , the mobile terminal 200 may transmit information about content reproduced by a user's selection (ie, content consumed by the user) to the server 100 .
[0155] In operation 1303, the server 100 divides the content reproduced on the mobile terminal 200 into a plurality of unit contents, and in operation 1304, the server 100 analyzes the content reproduced on the mobile terminal 200 to obtain information about the content (information for identifying the content, the field of the content, the level of the content, etc.).
[0156] Operations 1305 to 1309 and Figure 12 Operations 1205 to 1209 are substantially the same, and detailed descriptions are omitted.
[0157] As described above, since some or all of the operations performed by the server 100 may also be performed by the mobile terminal 200, Figure 12 Operation 1201 , operation 1204 , and operations 1206 to 1208 may be at least partially performed by the mobile terminal 200 .
[0158] Figures 14 to 19 This is a flowchart for describing a method for tracking the knowledge level of a user who has consumed content and recommending content based on the user's knowledge level according to one or more embodiments of the present disclosure. The process described below is performed by the server 100 or the mobile terminal 200, and therefore, even when omitted, the description provided in the above embodiments of the present disclosure is also applicable.
[0159] In operation 1401, when a user consumes content on a mobile terminal, the user's reaction to consuming the content can be sensed. According to one or more embodiments of the present disclosure, the mobile terminal 200 can sense the user's reaction by capturing an image of the user via the camera 241 provided thereon. For example, the mobile terminal 200 can sense the position where the user's gaze is focused and the speed or pattern of changes in the user's eyes by tracking the user's eyes. Alternatively, the mobile terminal 200 can sense changes in the user's facial expressions, facial movements (e.g., nodding or tilting the user's head), and other various reactions displayed on the user's face (e.g., pupil dilation, etc.) by analyzing an image obtained by capturing an image of the user's face.
[0160] The mobile terminal 200 may sense user reactions using various other methods. According to one or more embodiments of the present disclosure, the mobile terminal 200 may sense user reactions through interaction with a user consuming content. For example, the mobile terminal 200 may sense the speed at which the user scrolls through text or video, the number of times the user stops or rewinds while viewing the text or video, the time spent consuming the content, whether the user stops viewing the content, etc.
[0161] According to one or more embodiments of the present disclosure, mobile terminal 200 may sense a user reaction via an external device. For example, if the external device is a smartwatch, the smartwatch may measure the user's heart rate. Alternatively, for example, if the external device is a headset, the headset may measure the user's brain waves. The external device may transmit the selected user reaction to mobile terminal 200 or directly to server 100.
[0162] When mobile terminal 200 transmits information about the user's reaction sensed in operation 1401 to server 100, server 100 may determine understanding of the content based on the user's reaction in operation 1402. If it is determined that the user understands the content, server 100 sets the user's understanding to "success," and if it is determined that the user does not understand the content, server 100 may set the user's understanding to "failure." Alternatively, server 100 may express user 1's understanding as a real number (probability value) ranging from 0 to 1. In this case, as the real number indicating user 1's understanding increases, the degree to which user 1 understands the content increases. For example, a comprehension of 0.9 can be interpreted as user 1 almost completely understanding the content, and a comprehension of 0.2 can be interpreted as user 1 barely understanding the content.
[0163] According to one or more embodiments of the present disclosure, the server 100 can determine the user's understanding by comparing the user's reaction with a preset reference. For example, when the user nods while viewing the content, or when the user's eyes move continuously without staying in a specific location (in the case of text content), the server 100 can determine the user's understanding as "successful". Alternatively, for example, when the user tilts their head or frowns at the content while viewing the content, or when the user's gaze is focused on a specific location for a specific period of time or longer or keeps returning to the back, the server 100 can determine the user's understanding as "failed". Otherwise, the server 100 can determine the user's understanding based on the user's reaction according to various criteria.
[0164] According to one or more embodiments of the present disclosure, the server 100 may use an artificial neural network to determine understanding based on the user's reaction. To this end, the server 100 may use a neural network model trained using training data in which understanding (success or failure) for various user reactions is labeled. Alternatively, the server 100 may use a neural network model trained through unsupervised learning to cluster similar features among a combination of one or more users' reactions. Here, each classified cluster may correspond to when the user successfully understood the content and when the user failed to understand the content. Otherwise, the server 100 may infer the user's understanding of the content from the user's reaction using a neural network model trained in various ways. When the server 100 inputs the sensed user reaction into the neural network model trained as above, the neural network model may infer the user's understanding.
[0165] According to one or more embodiments of the present disclosure, the server 100 may determine the user's understanding of each unit content, and may determine the user's understanding of the entire context of the content (ie, the entire content) based on the user's understanding of each unit content. Figure 15 A detailed process performed by the server 100 in order to determine the understanding of the entire content based on the user's understanding of each unit content is shown.
[0166] refer to Figure 15 In operation 1501, the server 100 may match a user reaction with each of a plurality of unit contents included in the content.
[0167] According to one or more embodiments of the present disclosure, the server 100 may match user reactions sensed when a user consumes a specific unit of content or within a specific time period after the user consumes the specific unit of content as user reactions corresponding to the specific unit of content. When there are multiple user reactions regarding a specific unit of content, the server 100 may match the multiple user reactions to the specific unit of content, or only match some of the multiple user reactions to the specific unit of content. According to one or more embodiments of the present disclosure, the server 100 may only match user reactions of pre-specified categories based on the category of the unit of content.
[0168] In operation 1502, the server 100 may determine the understanding of the plurality of units of content based on the matched user reactions. According to one or more embodiments of the present disclosure, when multiple user reactions correspond to a unit of content, the server 100 may consider the multiple user reactions to determine the user's understanding. For example, the server 100 may input the multiple user reactions into the aforementioned neural network model and determine the user's understanding based on the output of the neural network model.
[0169] Alternatively, according to one or more embodiments of the present disclosure, the server 100 may determine understanding by separately considering multiple user responses, and then combine the determination results to determine the user's understanding of the unit content. For example, the server 100 may calculate an average understanding for each of the multiple user responses, and then determine the user's understanding of the unit content based on the calculated average.
[0170] For some unit contents, corresponding user reactions may not be sensed. For example, when the user does not show a specific reaction when consuming a specific unit content, or when the user's reaction is too weak to be sensed by the sensor, the server 100 may determine that there is no user reaction corresponding to the specific unit content.
[0171] For unit content that has no corresponding user reaction, the server 100 can predict understanding by using an interpolation method or a prediction model. For example, when there is no user reaction corresponding to a specific unit content, the server 100 can predict understanding of the specific unit content based on the user's understanding of the unit content before and after the specific unit content.
[0172] In operation 1503, the server 100 may determine the understanding of the entire context of the content based on the understanding of the plurality of unit contents. According to one or more embodiments of the present disclosure, the server 100 may determine the understanding of the entire content (the entire context) based on a result of comparing the number of unit contents for which the understanding is determined to be "successful" with the number of unit contents for which the understanding is determined to be "failed." According to one or more embodiments of the present disclosure, when the number of unit contents for which the understanding is determined to be "successful" is equal to or greater than a specific ratio of the total number of unit contents, the server 100 may determine the understanding of the entire content as "successful."
[0173] Alternatively, according to one or more embodiments of the present disclosure, server 100 can determine comprehension of the entire content by comparing the number of units of content determined to be "successful" with the number of units of content determined to be "failed," and applying weights that vary depending on the unit content. This is because if the user determines that they have primarily understood the entire content, user 1 may not read carefully or skip less important passages. Alternatively, the user may only carefully review the sections of the entire content that they are particularly interested in, and may skip other sections.
[0174] The weight applied to the content can be determined based on the importance or quantity of the content, and two or more weights can be applied to each unit content. For example, the server 100 can assign a higher weight to unit content that includes key context, and can assign a higher weight to unit content with a larger amount. The server 100 can determine the understanding of the entire content by multiplying the weight applied to each unit content by a value indicating understanding (e.g., "1" (success) and "0" (failure)), then adding the sum, and comparing the result with a preset reference value.
[0175] Reference above Figure 7 A detailed method of determining understanding for entire contents based on user understanding determined for unit contents, performed by the server 100 , is described.
[0176] Return Reference Figure 14 In operation 1403, the server 100 may input the user's understanding of the content and information about the content into the knowledge tracking model. According to one or more embodiments of the present disclosure, the information about the content may include information for identifying the content, the domain of the content, the level of the content, etc. The detailed process included in operation 1403 is described in detail. Figure 16 Shown in.
[0177] refer to Figure 16In operation 1601, the server 100 may obtain the domain and level of the content. According to one or more embodiments of the present disclosure, the server 100 may determine the domain and level of the content by analyzing the content. The method for determining the level of the content by the server 100 is described in detail below.
[0178] The server 100 may determine the “level per field” and “language level” of the content. The field level of the content indicates the difficulty of considering the field to which the content belongs, and the language level of the content may indicate the difficulty of words or phrases included in the content regardless of the field.
[0179] The server 100 may determine the domain level of the content based on the difficulty and number of technical terms included in the content. Furthermore, the server 100 may determine the domain level of the content based on how deeply the content covers a specific domain. The server 100 may determine the language level of the content based on the difficulty of general terms (not technical terms) included in the content, the number of words included in each sentence, the length of the sentences, and the like.
[0180] In operation 1602, the server 100 may generate an embedding vector using information for identifying the content, the domain of the content, the level of the content, and the understanding of the content. The server 100 may convert the information about the content into an embedding vector using a language model. The server 100 may generate an embedding vector corresponding to each unit of content, or may generate an embedding vector corresponding to the entire content.
[0181] According to one or more embodiments of the present disclosure, the server 100 may generate a unit content vector, a content domain vector, and a content level vector for a piece of unit content. Figure 8 Description.
[0182] According to one or more embodiments of the present disclosure, the server 100 may generate input to the knowledge tracking model by combining at least one of the embedding vectors (unit content vector, content domain vector, content level vector) generated from information about the content with an understanding vector indicating the user's understanding of the content. For example, the server 100 may generate a new embedding vector by combining at least one of the embedding vectors corresponding to the content information with the understanding vector (e.g., by performing one-hot encoding on the generated combination to generate a one-hot vector).
[0183] In operation 1603 , the server 100 may input the generated embedding vector into the knowledge tracking model.
[0184] Return Reference Figure 14In operation 1404, the server 100 may update the user's knowledge level by using the output from the tracking model. As described above, when receiving input of the result of consuming content from the user, the knowledge tracking model may infer the user's knowledge level (domain-specific knowledge level, language knowledge level).
[0185] When the user's knowledge level is updated by performing the above-described process, the server 100 can recommend content to the user based on the user's knowledge level. Figure 17 is a flowchart for describing a process of recommending content to a user after updating the knowledge level.
[0186] Figure 17 The processes included in the flowchart can be Figure 14 Operation 1404 is performed after that. Figure 17 In operation 1701, the server 100 may reflect changes in the user's knowledge level over time. According to one or more embodiments of the present disclosure, the server 100 may adjust the user's knowledge level by reflecting a phenomenon that the user's knowledge level decreases over time. According to one or more embodiments of the present disclosure, the server 100 may adjust so that after updating the user's knowledge level by using a knowledge tracking model, the user's knowledge level may decrease over time.
[0187] The server 100 may adjust the knowledge level over time by using a linear model or a nonlinear model. According to one or more embodiments of the present disclosure, the server 100 may adjust the knowledge level by using a nonlinear model so that the rate of decrease in the knowledge level is high shortly after the inference of the knowledge level and then gradually decreases over time.
[0188] Operation 1701 is indicated by a dot-dash line, which indicates that operation 1701 can be selectively performed.
[0189] In operation 1702 , the server 100 may monitor the user's knowledge level. According to one or more embodiments of the present disclosure, the server 100 may monitor the user's knowledge level updated by the knowledge tracking model in order to recommend content to the user.
[0190] In operation 1703, the server 100 may recommend content in consideration of the user's interests and the user's knowledge level. The server 100 may identify the user's interests through various methods. According to one or more embodiments of the present disclosure, the server 100 may identify the user's interests based on the areas of interest directly input by the user, or may identify the user's interests based on the user's content consumption history. According to one or more embodiments of the present disclosure, the server 100 identifies the areas of content in which the user is interested, selects at least one content in the corresponding area in consideration of the user's knowledge level, and then recommends the content to the user. Figure 19Describes a method for selecting content that takes into account the user's knowledge level.
[0191] According to one or more embodiments of the present disclosure, the server 100 may identify the user's interests based on the user's reaction when consuming content, which will be referred to later. Figure 18 This is described in more detail.
[0192] Figure 18 The flowchart includes Figure 17 Detailed procedures in operation 1703. Figure 18 In operation 1801 , the server 100 may identify the meaning of at least one portion of the content in which a user's reaction is sensed.
[0193] In operation 1802 , the server 100 may determine whether the user sympathizes with at least one portion in which the user reaction is sensed, based on the user reaction.
[0194] In operation 1803, the server 100 identifies the user's interests based on the meaning identified in operation 1801 and the resonance determined in operation 1802, and may recommend content based on the user's interests and knowledge level. According to one or more embodiments of the present disclosure, the server 100 may recommend content of appropriate difficulty based on the user's knowledge level, or may recommend content that is expected to improve the user's knowledge level.
[0195] Figure 19 Detailed procedures included in operation 1703 are shown. Figure 19 In operation 1901, the server 100 may predict the probability that the user will understand the new content based on the user's current knowledge level. For example, when the server 100 predicts the user's domain-specific knowledge level through the knowledge tracking model and knows the domain of the new content, the server 100 may predict the probability that the user will understand the new content.
[0196] In operation 1902, the server 100 may use an optimization model (e.g., a reinforcement learning model) to recommend content that, when used, is likely to improve the user's knowledge level. According to one or more embodiments of the present disclosure, the server 100 may infer content that is likely to improve the user's knowledge level by optimizing the MDP and then recommend this content to the user. Furthermore, according to one or more embodiments of the present disclosure, the server 100 may use another optimization algorithm to recommend content that is likely to improve the user's knowledge level.
[0197] According to one or more embodiments of the present disclosure, a user's knowledge level is tracked based on the user's reaction after consuming content. Therefore, whenever the user consumes content, the user's knowledge level can be continuously tracked. In addition, the user does not need to perform additional operations for tracking the knowledge level, thereby improving user convenience.
[0198] Furthermore, content is recommended to the user based on the knowledge level that is continuously tracked as the user consumes content, and therefore, more appropriate content can be recommended compared to the content recommendation method according to the related art.
[0199] According to one or more embodiments of the present disclosure, a method for tracking a user's knowledge level based on the user's reaction to consuming content may include sensing the user's reaction to consuming content, determining an understanding of the content based on the user's reaction, inputting the understanding and information about the content into a knowledge tracking model, and updating the user's knowledge level by using an output from the knowledge tracking model.
[0200] According to one or more embodiments of the present disclosure, a user's knowledge level may represent a probability that the user will understand specific content.
[0201] According to one or more embodiments of the present disclosure, determining the understanding of the content may include determining the understanding corresponding to the user's reaction by using at least one of the following: a neural network model trained by using training data in which the user's understanding is labeled with a combination of one or more reactions, or a neural network model trained to cluster combinations of one or more reactions.
[0202] According to one or more embodiments of the present disclosure, when multiple reactions to content are sensed, determining understanding of the content may include selecting at least one of the multiple reactions according to the type of content, and determining understanding of the content based on the selected at least one reaction.
[0203] According to one or more embodiments of the present disclosure, content includes multiple unit contents, and determining understanding may include determining understanding for each of the multiple unit contents based on a user's response, comparing the number of unit contents in which understanding is determined to be "successful" with the number of unit contents in which understanding is determined to be "failed", and determining understanding for the content based on the comparison result.
[0204] According to one or more embodiments of the present disclosure, the comparison may include assigning a weight to each unit content based on at least one of importance or quantity, applying the weight to the number of unit contents in which understanding is determined to be "successful" and the number of unit contents in which understanding is determined to be "failed", and comparing the weighted results.
[0205] According to one or more embodiments of the present disclosure, the information about the content may include at least one of information for identifying the content, a field of the content, or a level of the content.
[0206] According to one or more embodiments of the present disclosure, inputting the embedding vector into the knowledge tracking model may include generating an embedding vector corresponding to a combination of understanding and information about content, and inputting the embedding vector into the knowledge tracking model.
[0207] According to one or more embodiments of the present disclosure, sensing of user reactions may include sensing at least one of: where the user's gaze is focused, the speed or pattern of eye changes, changes in pupil size in the user's eyes, changes in the user's facial expressions, the speed at which the user consumes content, the number of times the user stops watching or rewinds while consuming content, the time the user takes to consume content, whether the user has finished consuming the content, changes in the user's heart rate, or changes in the user's brain waves.
[0208] According to one or more embodiments of the present disclosure, the method may further include monitoring the knowledge level of the user, and recommending content to the user in consideration of the knowledge level.
[0209] According to one or more embodiments of the present disclosure, recommendation of content may include identifying the meaning of at least one portion in the content in which a user's reaction is sensed, determining whether the user resonates with the at least one portion based on the user's reaction, identifying the user's interests based on the meaning and resonance, and recommending content based on the user's interests and knowledge level.
[0210] According to one or more embodiments of the present disclosure, content recommendation may include predicting the probability that a user will understand new content based on the user's current knowledge level, and recommending content by using an optimization model, through which the user's knowledge level can be maximized when consuming the content.
[0211] A computing device according to one or more embodiments of the present disclosure includes: a communication interface for communicating with an external electronic device; a memory for storing a program for tracking a user's knowledge level and recommending content; and at least one processor, wherein the at least one processor is configured to execute the program to sense a reaction of a user consuming content, determine an understanding of the content based on the user reaction, input the understanding and information about the content into a knowledge tracking model, and update the user's knowledge level by using output from the knowledge tracking model.
[0212] According to one or more embodiments of the present disclosure, when determining understanding of content, at least one processor is configured to determine understanding corresponding to a user's reaction by using at least one of: a neural network model trained by using training data in which the user's understanding is labeled with a combination of one or more reactions, or a neural network model trained to cluster combinations of one or more reactions.
[0213] According to one or more embodiments of the present disclosure, when multiple reactions to content are sensed, when determining an understanding of the content, at least one processor is configured to select at least one of the multiple reactions based on the type of content, and determine the understanding of the content based on the at least one selected reaction.
[0214] According to one or more embodiments of the present disclosure, content may include multiple unit contents, and when determining understanding, at least one processor 120 may be configured to determine the understanding for each of the multiple unit contents based on the user's response, compare the number of unit contents in which the understanding is determined to be "successful" with the number of unit contents in which the understanding is determined to be "failed", and determine the understanding for the content based on the result of the comparison.
[0215] According to one or more embodiments of the present disclosure, the information about the content may include at least one of information for identifying the content, a field of the content, or a level of the content.
[0216] According to one or more embodiments of the present disclosure, at least one processor may be configured to, when understanding and information about content are input into a knowledge tracking model, generate an embedding vector corresponding to a combination of understanding and information about content, and input the embedding vector into the knowledge tracking model.
[0217] According to one or more embodiments of the present disclosure, the at least one processor may be further configured to monitor the user's knowledge level and recommend content to the user in consideration of the user's interests and the user's knowledge level.
[0218] Various embodiments of the present disclosure may be implemented or supported by one or more computer programs, each of which is formed of computer-readable program code and contained in a computer-readable medium. The terms "application" and "program" refer to one or more computer programs, software components, instruction sets, procedures, functions, objects, classes, instances, related data, or portions thereof suitable for implementation in suitable computer-readable program code. The phrase "computer-readable program code" includes any type of computer code, including source code, object code, and executable code. The phrase "computer-readable medium" includes any type of medium that can be accessed by a computer, such as read-only memory (ROM), random access memory (RAM), hard drive, compact disc (CD), digital video disc (DVD), or any other type of memory.
[0219] Machine-readable storage media may be provided in the form of non-transitory storage media. A "non-transitory" storage medium is a tangible device and may not include a wired, wireless, optical, or other communication link that transmits temporary electrical or other signals. A "non-transitory" storage medium does not distinguish between one in which data is stored semi-permanently in the storage medium and one in which data is temporarily stored in the storage medium. For example, a "non-transitory storage medium" may include a buffer that temporarily stores data. A computer-readable storage medium may be any available medium that can be accessed by a computer and includes both volatile and non-volatile media, as well as removable and non-removable media. Computer-readable media include media that can store data permanently and media that can store data and later be rewritten, such as a rewritable optical disc or an erasable storage device.
[0220] According to one or more embodiments, the methods according to the various embodiments disclosed herein may be provided as included in a computer program product. The computer program product may be traded as a product between a seller and a buyer. The computer program product may be distributed in the form of a machine-readable storage medium (e.g., a compact disc read-only memory (CD-ROM)), distributed online (e.g., downloaded or uploaded) via an app store, or distributed directly between two user devices (e.g., smartphones). If distributed online, at least a portion of the computer program product (e.g., a downloadable app) may be temporarily generated or at least temporarily stored in a machine-readable storage medium, such as a memory on a manufacturer's server, an app store server, or a relay server.
[0221] The above description of the present disclosure is provided for the purpose of illustration, and it will be understood by those skilled in the art that various changes and modifications may be made without changing the technical concepts and basic features of the present disclosure. For example, the desired results may be obtained according to the present disclosure even if the technology is performed by other methods and procedures than those described above, and / or even if the system, structure, unit and circuit are coupled in other ways than those described above, or substituted or replaced with other components or equivalents. Therefore, the embodiments of the present disclosure set forth herein or shown above will be interpreted as illustrative and not restrictive. For example, each component described as a single type may be implanted in a distributed manner. Similarly, components described as distributed may be implanted in a combined manner.
[0222] The scope of the present disclosure is defined by the following claims rather than by the detailed description of the embodiments of the present disclosure. It should be understood that all modifications and embodiments conceived according to the meaning and scope of the claims and their equivalents are included within the scope of the present disclosure.
Claims
1. A method for tracking a user's knowledge level, the method comprising: sensing reactions of users consuming the content; Determine the user's understanding of the content based on their response; Input understanding and information about the content into the knowledge tracking model; as well as The user's knowledge level is updated based on the output from the knowledge tracking model.
2. The method according to claim 1, wherein The user's knowledge level represents the probability that the user understands specific content.
3. The method according to any one of claims 1 and 2, wherein: Determining the understanding for the content includes determining the understanding corresponding to the user's reaction by using at least one of: a neural network model trained by using training data in which the user's understanding is labeled with a combination of one or more reactions, or a neural network model trained to cluster combinations of one or more reactions.
4. The method according to any one of claims 1 to 3, wherein Determining understanding of the content includes: selecting at least one reaction from the plurality of reactions according to a type of the content based on sensing the plurality of reactions to the content; and An understanding of the content is determined based on the selected at least one reaction.
5. The method according to any one of claims 1 to 4, wherein The content includes multiple units of content, and Among them, confirming understanding includes: determining an understanding of each of the plurality of unit contents based on a user's response; comparing the number of unit contents in which comprehension was determined to be successful to the number of unit contents in which comprehension was determined to be unsuccessful; and An understanding of the content is determined based on the results of the comparison.
6. The method according to any one of claims 1 to 5, wherein Comparisons include: assigning a weight to each of the plurality of unit contents based on at least one of importance or amount; and Weights are applied to the number of unit contents in which comprehension is determined to be successful and the number of unit contents in which comprehension is determined to be unsuccessful, and the weighted results are compared.
7. The method according to any one of claims 1 to 6, wherein The information about the content includes at least one of information for identifying the content, a field of the content, or a level of the content.
8. The method according to any one of claims 1 to 7, wherein Sensing a user's reaction includes sensing at least one of: where the user's gaze is focused, the speed or pattern of changes in gaze, changes in the size of the user's pupils, changes in the user's facial expressions, the speed at which the user consumes content, the number of times the user stops watching or backs away while consuming content, the time the user spends consuming content, whether the user has completely consumed the content, changes in the user's heart rate, or changes in the user's brain waves.
9. The method according to any one of claims 1 to 8, further comprising: Monitor users' knowledge level; as well as Recommend content to users based on their interests and knowledge level.
10. The method according to any one of claims 1 to 9, wherein Recommended content includes: identifying a meaning of at least one portion of the content to which a user reaction is sensed; determining, based on the user's response, whether the user empathizes with at least one portion of the content; Identify user interests based on meaning and resonance; and Recommend content based on interests and knowledge levels.
11. The method according to any one of claims 1 to 10, wherein Recommended content includes: Predicting the probability that a user will understand new content based on their current knowledge level; and By using an optimization model, content is recommended by which the user's knowledge level is maximized when consuming the content.
12. A computing device comprising: a communication interface (110) configured to communicate with an external electronic device; a memory (130) storing a program for tracking a user's knowledge level and recommending content; as well as at least one processor (120) operatively connected to the communication interface (110) and the memory (130), Wherein, at least one processor (120) is configured to execute a program to: Sensing the reactions of users consuming content, Determine the user's understanding of the content based on their response, Input understanding and information about the content into the knowledge tracking model, and The user's knowledge level is updated based on the output from the knowledge tracking model.
13. The computing device of claim 12, wherein: To determine the understanding of the content, the at least one processor is further configured to execute a program to determine the understanding corresponding to the user's reaction by using at least one of: a neural network model trained by using training data in which the user's understanding is labeled with a combination of one or more reactions, or a neural network model trained to cluster combinations of one or more reactions.
14. The computing device according to any one of claims 12 and 13, wherein: To determine understanding of the content, the at least one processor is further configured to execute a program to: selecting at least one reaction from the plurality of reactions according to a type of the content based on sensing the plurality of reactions to the content; and An understanding of the content is determined based on the selected at least one reaction.
15. The computing device according to any one of claims 12 to 14, wherein: The content includes multiple units of content, and Wherein, to determine understanding, at least one processor is further configured to execute a program to: determining an understanding of each of the plurality of unit contents based on a user's response; comparing the number of unit contents in which comprehension was determined to be successful to the number of unit contents in which comprehension was determined to be unsuccessful; and An understanding of the content is determined based on the results of the comparison.