METHOD OF RECOMMENDING SIMILAR QUESTION, AND COMPUTING DEVICE FOR PERFORMING THE SAME

A method of recommending a similar question includes receiving a question from a user, setting a search range for searching for a question similar to the received question, searching for at least one question similar to the received question within the set search range, and recommending the at least one searched question to the user.

CROSS-REFERENCE TO RELATED APPLICATION

This application is based on and claims priority under 35 U.S.C. § 119 to Korean Patent Application No. 10-2022-0132727, filed on Oct. 14, 2022, and Korean Patent Application No. 10-2022-0171902, filed on Dec. 9, 2022, in the Korean Intellectual Property Office, the disclosures of which are incorporated by reference herein in their entirety.

BACKGROUND

Embodiments disclosed herein relate to a method of recommending a similar question and a computing device for performing the method.

2. Description of the Related Art

An online platform service that provides users (students) with educational services, such as lectures at universities or academies, are widely used. A user may access information uploaded by an administrator (a professors or so on) through the online platform, may communicate with people (a professor and other students taking the same lecture) related to a lecture in the online platform, and may ask a question related to a lecture and get an answer as necessary.

A system in which a user registers a question in an online platform and another person (an administrator or another user) registers an answer to the registered question has a disadvantage in that the user has to wait for someone else to answer after the question is registered, the administrator has to register answers one by one to all questions registered by users, and particularly, when there are many duplicate or similar questions among the questions of the users, the administrator has to register the same answer multiple times unnecessarily.

In addition, the background art described above may be technical information that the inventor has for derivation of the present disclosure or acquires during derivation of the present disclosure, and may not be said to be disclosed to the general public prior to filing the present disclosure.

SUMMARY

Embodiments disclosed herein provide a method of recommending a similar question in an online platform that provides educational services and a computing device for performing the method.

According to an aspect of the present disclosure, a method includes receiving a question from a user, setting a search range for searching for a question similar to the received question, searching for at least one question similar to the received question within the set search range, and recommending the at least one searched question to the user.

According to another aspect of the present disclosure, there is provided a computer program for performing a method of recommending a similar question, the method including receiving a question from a user, setting a search range for searching for a question similar to the received question, searching for at least one question similar to the received question within the set search range, and recommending the at least one searched question to the user.

According to another aspect of the present disclosure, there is provided a computer-readable medium in which a program for performing a method of recommending a similar question is recorded, the method including receiving a question from a user, setting a search range for searching for a question similar to the received question, searching for at least one question similar to the received question within the set search range, and recommending the at least one searched question to the user.

According to another aspect of the present disclosure, a computing device that recommends a similar question includes an input/output interface configured to receive a question from a user and configured to recommend at least one question similar to the received question to the user, a memory configured to store a program for searching for and recommending the similar question, and at least one processor, wherein the at least one processor executes the program to receive a question from a user, set a search range for searching for a question similar to the received question, search for at least one question similar to the received question within the set search range, and recommend the at least one searched question to the user.

DETAILED DESCRIPTION

Hereinafter, various embodiments will be described in detail with reference to the accompanying drawings. Embodiments to be described below may also be modified and implemented in various different forms. In order to more clearly describe characteristics of the embodiments, detailed descriptions of matters widely known to those skilled in the art to which the following embodiments belong are omitted. In the drawings, parts irrelevant to the descriptions of the embodiments are omitted, and similar reference numerals are attached to similar parts throughout the specification.

Throughout the specification, when a component is described to be “connected” to another component, this includes not only a case of being “directly connected”, but also a case of being “connected thereto with another component therebetween”. In addition, when a certain component “includes” a certain component, this means that other components may be further included therein without excluding other components unless otherwise stated.

Prior to describing embodiments of the present disclosure, meanings of terms frequently used in the present disclosure are first defined.

An ‘online platform’ refers to a platform that provides an educational service online, and a method of recommending a similar question according to embodiments of the present disclosure may be implemented in an online platform. According to an embodiment, the online platform may provide a plurality of classes, and a user may participate in (for example, take) at least one of a plurality of classes (for example, lectures). According to an embodiment, a main purpose of the online platform is to provide an education-related service to users, and during the process, when a user inputs a question (a target question), a service that recommends a question (a similar question) similar thereto may be provided.

A “class” indicates a unit obtained by dividing an educational service provided through an online platform. Classes may be classified according to a subject of education to be provided, a person providing education, a period in which education is provided, and so on. According to an embodiment, a lecture in a certain semester provided by a certain professor may correspond to one class.

A “target question” indicates a question that a user registers in an online platform in the embodiments of the present disclosure, and a “similar question” indicates a question searched for as a question similar to a target question registered by a user in the embodiments of the present disclosure.

A term “search range” indicates a range for searching for a similar question to the target question. According to an embodiment, the search range includes a plurality of questions, and when a user inputs a target question, a similar question may be searched for among the plurality of questions included in the search range.

FIG.1is a diagram illustrating a system for that performs a method of recommending a similar question, according to an embodiment of the present disclosure. The system ofFIG.1may provide an online platform and perform a method of recommending a similar question in the online platform.

Referring toFIG.1, a system that performs a method of recommending a similar question, according to an embodiment, may include a user terminal10and a server100, and the user terminal10and the server100may be connected to each other through a network to perform wired and wireless communications.

The user terminal10refers to a computing device that a user1directly operates to receive a service provided by the online platform. According to one embodiment, the user terminal10may be any one of various types of computing devices having calculation and communication functions, such as a desktop computer, a laptop computer, a smartphone, and a tablet computer. The user1may receive an education service (for example, taking an online lecture) provided by the online platform through the user terminal10, input a target question, and check a similar question recommended according thereto.

The server100refers to a computing device that performs an actual operation for operating an online platform. According to one embodiment, when the user1inputs a request (for example, a request to reproduce an online lecture, a request to register a target question, and so on) related to a service through the user terminal10, the server100may perform operations according to the request and transmit a result of the operations to the user terminal10.

It is assumed that operations for recommending a similar question according to the embodiments described in the present disclosure are basically performed by the server100. In other words, the user1may access an online platform through the user terminal10and receive an education service and a similar question recommendation service included therein, but the actual operations required to provide the service may be performed by the server100, and the user terminal10may provide only a user interface (UI) to the user1. However, the present disclosure is not limited thereto, and some or all of the operations described as performed by the server100in the present disclosure may also be performed by the user terminal10. That is, according to one embodiment, a system that performs a method of recommending a similar question may include only the user terminal10without the server100, and all operations described as performed by the server100in the present disclosure may also be performed by the user terminal10.

FIG.2is a block diagram illustrating a configuration of a computing device that performs a method of recommending a similar question, according to an embodiment of the present disclosure. As described above, it is assumed that operations for recommending a similar question according to one embodiment are performed by the server100, and accordingly, the computing device illustrated inFIG.2corresponds to the server100ofFIG.1.

Referring toFIG.2, the server100may include an input/output interface110, a memory120and a processor130.

The input/output interface110may receive a request of the user1or a control command from the user1and output a result of processing according thereto. The input/output interface110may directly receive a request or a control command from the user1, but may also receive a request or a control command from the user1through the user terminal10. Likewise, the input/output interface110may directly output a result of processing according to the request of the user1or the control command from the user1, but may also output the request or the control command through the user terminal10.

According to one embodiment, the input/output interface110of the server100may receive a request of the user1or a control command from the user1through communication with the user terminal10, and transmit a result of processing according thereto to the user terminal10, and accordingly, the input/output interface110may have a configuration for performing wired/wireless communication. For example, the input/output interface110may include a communication chipset supporting various communication protocols.

The memory120may store various programs or data and may be composed of a storage medium, such as read only memory (ROM), random access memory (RAM), a hard disk, a compact disk (CD)-ROM, or a digital video disk (DVD), or a combination thereof. The memory120may be included in the processor130without being provided separately. The memory120may include a volatile memory, a nonvolatile memory, or a combination thereof. The memory120may store a program for performing operations according to embodiments to be described below. The memory120may provide the stored data to the processor130according to a request of the processor130.

The processor130may control a series of processes such that the server100operates according to embodiments to be described below and may include one or more processors. In this case, the one or more processors may include a general-purpose processor, such as a central processing unit (CPU), an application processor (AP), or a digital signal processor (DSP), a graphics-only processor, such as a graphics processing unit (GPU) or a vision processing unit (VPU), or an artificial intelligence-only processor, such as a neural network processing unit (NPU). For example, when one or more processors are processors dedicated to artificial intelligence, the processors dedicated to artificial intelligence may each be designed as a hardware structure specialized for processing a certain artificial intelligence model.

The processor130may write data to the memory120or read data stored in the memory120, and in particular may execute a program stored in the memory120to process data according to a predefined operation rule or an artificial intelligence model. Accordingly, the processor130may perform operations described in the following embodiments, and operations described as being performed by the server100in the following embodiments may be performed by the processor130unless otherwise stated.

FIG.3is a diagram illustrating a process of searching for and recommending a similar question similar to a target question input by a user, according to an embodiment of the present disclosure.

The processing operations performed inFIG.3, such as vector embedding310, a first search330, and a second search340, may be performed as the processor130of the server100executes a program stored in the memory120.

Referring toFIG.3, when a target question31is input, the server100may perform vector embedding310for the target question31to convert the target question31into a vector, and then may store the converted vector in a document store320.

According to one embodiment, when the user1accesses an online platform provided by the server100through the user terminal10and inputs a target question31, the server100may receive the target question31from the user terminal10and convert the target question31into a vector by performing vector embedding310therefor. The server100may store the converted vector from the target question31in the document store320of the memory120.

The vector converted from the target question31and stored in the document store320may be included in a search range for searching for a similar question therefor when the user1registers other questions in the online platform later. In other words, all questions registered by users using the online platform may be converted into vectors and stored in the document store320, and when a new question is registered in the online platform thereafter, the server100may search for a similar question from at least some of the vectors (questions) stored in the document store320.

According to the embodiment of the present disclosure, all questions registered in the online platform may be embedded and stored in the document store320in the form of vectors, and whenever a new question is registered or a previously registered question is inquired, similarity may be measured by using the previously stored vectors, and thus, a processing speed may be increased.

In processes to be described below, operations of searching for similar questions based on keywords and measuring similarity between questions may all be performed by processing “vectors” converted from the questions, but may be described as processing (for example, extracting questions, assigning a rankings to the questions, and so on) “question” for the sake of ease of description.

The server100may check questions included in a search range for the target question31among questions previously stored in the document store320, and may perform the first search330for the questions included in the search range. A specific method for setting a search range for the target question31by using the server100will be described in detail with reference toFIG.7below.

According to one embodiment, the first search330may correspond to the form of a sparse retrieval for performing a search based on keywords. The server100may extract at least one keyword from the target question31and may extract (extract, for example, a question including some keywords or some words similar to the keywords) at least one of similar questions similar to the target question31among questions stored in the document store320, based on the extracted keywords. According to one embodiment, the user1may intervene in selecting keywords when registering the target question31, which will be described in detail with reference toFIG.8below.

In the embodiment illustrated inFIG.3, it is assumed that the server100extracts five similar questions (similar question1to similar question5) from the document store320as a result of performing the first search330. According to one embodiment, the server100may extract, as similar questions, all questions including at least one keyword extracted from the target question31from among the questions stored in the document store320. Alternatively, according to one embodiment, the server100may check the number of times that the keyword extracted from the target question31appears for each of the questions stored in the document store320, and extract, as similar questions, the preset number of questions in the order of the number of times. In addition, the server100may perform the first search330based on keywords in various ways.

In the embodiment illustrated inFIG.3, a first search result32may include five similar questions. According to one embodiment, the server100may perform the second search340for some of the similar questions (similar question1to similar question3) included in the first search result32, and similar questions that are targets of the second search340may be selected in the order of high keyword-based similarity (for example, the more the number of keywords, the higher the similarity). According to one embodiment, the server100may also perform the second search340for all similar questions included in the first search result32.

According to one embodiment, the second search340may be a dense retrieval for measuring similarity between questions based on a neural network. According to one embodiment, a neural network model learned to infer similarity between questions may be stored in the memory120of the server100and executed by the processor130. When the second search340is executed for similar question1to similar question3of the first search result32, the processor130of the server100may execute a neural network model to measure (infer) similarities between similar question1to similar question3and the target question31and may assign rankings to the similar questions in the order of the measured similarities. It can be seen from the second search result33that rankings according to similarities with the target question31are assigned to similar question1to similar question3.

The server100may transmit similar questions (similar question1to similar question3) searched for the target question31to the user terminal10along with corresponding rankings, and the user terminal10may display a UI screen representing and recommending rankings of the similar questions. When the user1selects one of the similar questions included in the second search result33through an input/output interface (for example, a keyboard, a mouse, or so on) of the user terminal10, the server100may cause a previously registered answer to the selected similar question to be displayed on a screen of the user terminal10.

According to the embodiment described above, when inputting the target question31through the user terminal10, the user1may receive a recommendation for at least one similar question similar to the target question31along with rankings from the server100, and when selecting one of the recommended similar questions, the user1may be provided a previously registered answer to the selected similar question Accordingly, the user1may immediately resolve his curiosity by checking the previously registered answers to the similar question similar to the target question31even before an online platform manager registers an answer to the registered target question31.

Hereinafter, a method of recommending a similar question according to embodiments of the present disclosure will be described with reference to flowcharts.FIGS.4to7are flowcharts illustrating a method of recommending a similar question according to embodiments of the present disclosure. The flow charts ofFIGS.4to7include operations performed by the server100and the user terminal10described above. Accordingly, the operations described above with reference toFIGS.1to3may be equally applied to the embodiments according to the flowcharts ofFIGS.4to7even when details are omitted below.

Referring toFIG.4, the server100may receive a question (a target question) input by the user1in step401. When the user1accesses an online platform through the user terminal10and inputs the target question, the user terminal10may transmit the input target question to the server100. An example in which the user1inputs (registers) the target question to the online platform through the UI screen displayed on the user terminal10is illustrated inFIG.8.

Referring toFIG.8, when the user1accesses the online platform provided by the server100through the user terminal10and moves to a menu for inputting a question, a first UI screen800may appear on the user terminal10.

The user1may input a target question (“what is a correct answer to No. 1 of this task?”) through an input window810of a first UI screen800and select a registration button820to register the target question in an online platform. According to one embodiment, the server100may show an expected keyword list (a keyword candidate list)830to the user1while the user1inputs the target question and support a function of allowing the user1to add or delete a keyword. The user1may check keywords included in the expected keyword list830and remove unwanted keywords therefrom. For example, when the user1wants to be recommended various similar questions related to No. 1 of a task without being limited to a “correct answer”, the user1may remove the “correct answer” from the expected keyword list830. In addition, when there is a keyword to be added during searching for a similar question, the user1may select a keyword addition button840and input a new keyword.

As described above, according to an embodiment of the present disclosure, the user1may directly adjust a keyword to be used during searching for a similar question in the process of inputting a target question, and accordingly, a question that may be of practical help to the user1may be searched.

Referring again toFIG.4, in step402, the server100may set a search range for searching for a question (a similar question) similar to the received question (a target question). A method for the server100to set a search range for a target question will be described in detail with reference toFIGS.7and9.

FIG.7illustrates detailed steps included in step402ofFIG.4. Step703and step704of the steps included in the flowchart ofFIG.7may be selectively included. In other words, a process of setting a search range may include only step701and step702according to one embodiment or may include all of step701to step704according to another embodiment.

Referring toFIG.7, in step701, the server100may check a class connected to the received question (a target question). According to one embodiment, the server100may identify a class, in which the user1who registered the target question participates in an online platform, as a class connected to the target question. In one specific example, when the user1taking an A-lecture registers a target question while taking a certain lecture through an online platform, the server100may connect the target question with the A-lecture.

In addition, according to one embodiment, the server100may identify a class designated when the user1inputs a target question with a class connected to the target question. In one specific example, when the user1designates a B-lecture as a lecture related to the target question while registering a target question, the server100may connect the target question with the B-lecture.

In step702, the server100may set a plurality of questions connected to the class identified as being connected to the target question as a search range. The questions previously registered by users that use the online platform may all be connected to at least one class, and accordingly, there may be a plurality of questions connected to each class. This will be described in more detail with reference toFIG.9below.

According to one embodiment, the server100may expand a search range for a target question by connecting classes to each other. Because questions connected to classes (for example, classes having similar subjects and classes of which providers are similar) related to each other may be similar to each other, similar questions may be searched well by expanding a search range to questions connected to related classes.

In step703, the server100may connect a class connected to the received question (a target question) to at least one of other classes, and in step704, the server100may add a plurality of questions connected to at least one other class to the search range.

A method of connecting classes to each other by using the server100may be performed in various ways. According to one embodiment, when a manager of an online platform selects a class to be connected to expand a search range, the server100may connect the class selected by the manager to a class connected to the target question.

According to one embodiment, the server100may automatically connect classes to each other according to a preset algorithm. For example, when a user (for example, a student) participating in a class (for example, a lecture) (a first class) connected to a target question overlaps a user participating in a certain class (a second class) at a certain rate or more, the server100may connect the first class to the second class. In addition, for example, when the number of times that questions connected to the second class are recommended as similar questions or the number of times that the questions connected to the second class are selected by a user after being recommended as the similar questions is greater than a reference value compared to the questions connected to the first class, the server100may connect the first class to the second class. When the server100connects the first class (a class connected to a target question) to the second class, a search range for searching for similar questions to a target question may expand to include both questions connected to the first class and questions connected to the second class.

A specific embodiment in which a search range for a target question is expanded by connecting classes to each other by the server100will be described in detail with reference toFIG.9. InFIG.9, description will be made by assuming that a class is a “lecture”.

Referring toFIG.9, when the user1taking the first lecture (a “communication theory in the first semester of 2022”)910registers a target question901in an online platform, the server100may connect the target question901to the first lecture910. As described above, according to one embodiment, even when not taking the first lecture910, the user1may designate the first lecture910when registering the target question901, and accordingly, the server100may connect the target question901to the first lecture910.

When the target question901is connected to the first lecture910, a search range for the target question901may be set to a first question group911including questions connected to the first lecture910.

As described above, the server100may expand the search range by connecting classes (lectures) to each other.

For example, when an administrator (for example, a professor for the first lecture) selects the second lecture (“communication theory in the first semester in 2021”)920, which is a lecture in another semester on the same topic, as a lecture to be connected to the first lecture910, the server100may connect the lecture910to the lecture920. Questions connected to the second lecture920may be included in a second question group921. When the first lecture910is connected to the second lecture920, a search range for the target question901may be expanded to include the first question group911and the second question group921. That is, the server100may search for a question similar to the target question901among questions included in the first question group911and the second question group921.

In addition, for example, when students of the first lecture910overlap students of a third lecture (“basics of ultrawide band (UWB) communication”)930by a certain ratio (for example 50%) or more, the server100may connect the first lecture910to the third lecture930. Questions connected to the third lecture930may be included in a third question group931. In this way, when the second lecture920and the third lecture930are connected to the first lecture910, a search range for the target question901may be extended to include all of the first question group911to the third question group931.

Referring again toFIG.4, in step403, the server100may search for at least one question similar to the received question within the set search range.

According to one embodiment of the present disclosure, a search may be performed after performing pre-processing for excluding in advance terms and so on frequently appearing in questions from target questions may be performed to increase search efficiency and accuracy of search.FIG.5is a flowchart illustrating a process of performing the pre-processing before search, and steps included inFIG.5may be detailed steps included in step403ofFIG.4.

Referring toFIG.5, in step501, the server100may exclude at least a part of text included in the received question according to a preset criterion. For example, there may be terms that frequently appear in common in most questions, and the server100may extract keywords after first excluding the terms from a target question. In addition, for example, the target question may include a source code for programming in the form of text. The server100may extract keywords after first excluding commands, phrases, or so on that frequently appear repeatedly in the source code from the target question. Terms or phrases to be excluded from the target question during pre-processing may be stored in advance in the memory120of the server100.

In step502, the server100may extract at least one keyword from the remaining texts from which at least a part is excluded. Because keywords are extracted in a state in which frequently appearing terms or phrases are excluded through the pre-processing in step501, keywords that well represent characteristics of the target question may be extracted.

In step503, the server100may search for at least one question based on the extracted keyword.

According to one embodiment of the present disclosure, the server100may search for similar questions through a two-step search (the first search and the second search), and thus, search accuracy is increased, and the server100may provide even priority (ranking) of similar questions to the user1.FIG.6is a flowchart illustrating a process of performing a two-step search, and steps included inFIG.6may be detailed steps included in step403ofFIG.4.

Referring toFIG.6, in step601, the server100may perform a first search for selecting a plurality of questions within a search range based on at least one keyword included in the received question (a target question).

In step602, the server100may perform a second search for assigning a priority (a ranking) to a plurality of questions selected as a result of the first search by inferring similarity between the received question and the plurality of selected questions by using a neural network model learned to perform similarity inference.

Referring again toFIG.4, in step404, the server100may recommend at least one searched question to a user. According to one embodiment, the server100may recommend a preset number of similar questions in the order of highest assigned priority, and may display the assigned priority in each similar question that is recommended. For example, the server100may transmit information on a plurality of similar questions for the target question and rankings of the similar questions to the user terminal10, and the user terminal10may display a UI screen including the similar questions and the rankings. The user1may check the similar questions and the rankings through the UI screen, and select a similar question to check a previously registered answer to the corresponding similar question. A specific example of the UI screen for recommending similar questions will be described in detail with reference toFIG.10.

FIG.10is a diagram illustrating a UI screen for recommending a similar questions for a target question, according to an embodiment of the present disclosure. Referring toFIG.10, when the server100searches for a similar question to the target question registered by the user1and transmits the similar question to the user terminal10, the user terminal10may display a second UI screen1000.

A target question1010may be displayed on the left of the second UI screen1000, and first and second similar question boxes1100and1200may be displayed on the right thereof.

A first similar question “I want to know an answer to the first question” may be displayed in the first similar question box1100, and a ranking (the first level) of the first similar question may be displayed in a region1110. The user1may evaluate satisfaction on the recommendation of the first similar question through evaluation buttons1120included in the first similar question box1100. When the user1determines that similarity between the first similar question and the target question1010is high, the user1may evaluate a result of the recommendation as “satisfactory” by selecting a left icon (a smile icon) among the evaluation buttons1120. When the user1evaluates the result of recommendation as “satisfactory”, the server100may register and manage the target question1010and the first similar question as “a pair of close questions”. According to one embodiment, when any one of questions included in the pair of close questions is searched for as a similar question to a certain target question, the server100may recommend the other question included in the pair of close questions as the similar question.

The first similar question box1100may include a movement button1130, and when the user1selects the movement button1130, the user1may move to a page in which a registered answer to the first similar question may be checked. Accordingly, the user1may easily check registered answers to the recommended similar questions.

The second similar question box1200may be displayed in the same format as the first similar question box1100. A second similar question “where is the correct answer uploaded?” is displayed in the second similar question box1200, and a ranking (a second level) of the second similar question is displayed in a region1210. The user1may evaluate satisfaction on recommendation of the second similar question through evaluation buttons1220included in the second similar question box1200. The user1may move to a page in which a registered answer to the second similar question may be checked by selecting a movement button1230included in the second similar question box1200.

According to the embodiments described above, when a user registers a question in an online platform, a question similar to the registered question is recommended to the user, and the user may resolve his or her curiosity through the previously registered answer to the recommended similar question. Therefore, there is an advantage in that a user may quickly check answers to questions and an administrator may eliminate the hassle of answering to similar questions one by one.

A term “˜unit” or “˜portion” used in the above embodiments indicates software or a hardware component, such as a field programmable gate array (FPGA) or an application-specific integrated circuit (ASIC), and a “unit” or a “˜portion” performs a certain role. However, a “˜unit” or a “˜portion” is not limited to software or hardware. A “˜unit” or a “˜portion” may be configured to be in an addressable storage medium and may be configured to reproduce one or more processors. Therefore, a “˜unit” or a “˜portion” may include, for example, components, such as software components, object-oriented software components, class components, and task components, and processes, functions, properties, and procedures, subroutines, segments of a program patent code, drivers, firmware, microcode, circuitry, data, databases, data structures, tables, arrays, and variables.

Functions provided within components and a “˜unit” or a “˜portion” may be combined into smaller numbers of components and a “˜unit” or a “˜portion” or may be separated from additional components and a “˜unit” or a “˜portion”.

In addition, components and a “˜unit” or a “˜portion” may be implemented to reproduce one or more central processing units in a device or a secure multimedia card.

The method of recommending a similar question according to the embodiments described with reference toFIGS.4to7may also be implemented in the form of a computer-readable medium storing instructions and data executable by a computer. In this case, instructions and data may be stored in the form of program codes, and when executed by a processor, a preset program module may be generated to perform a preset operation. In addition, a computer-readable medium may be any available medium that may be accessed by a computer and includes both volatile and nonvolatile media, removable and non-removable media. In addition, a computer-readable medium may be a computer recording medium, which may include volatile and non-volatile media and removable and non-removable media implemented in any method or technology for storing information, such as computer-readable instructions, data structures, program modules, or other data. For example, the computer recording medium may be a magnetic storage medium, such as a hard disk drive (HDD) or a solid-state drive (SSD), an optical recording medium, such as a compact disk (CD), a digital video disk (DVD), or a Blu-ray disc, or a memory included in a server accessible through a network.

In addition, the method of recommending a similar question according to the embodiments described with reference toFIGS.4to7may be implemented as a computer program (or a computer program product) including instructions executable by a computer. A computer program includes programmable machine instructions processed by a processor and may be implemented in a high-level programming language, an object-oriented programming language, an assembly language, or a machine language. In addition, the computer program may be recorded on a tangible computer-readable recording medium (for example, a memory, a hard disk, a magnetic/optical medium, or an SSD).

Accordingly, the method of recommending a similar question according to the embodiments described with reference toFIGS.4to7may be implemented by executing a computer program by using a computing device as described above. A computing device may include at least some of a processor, a memory, a storage device, a high-speed interface connected to the memory and a high-speed expansion port, and a low-speed interface connected to a low-speed bus and the storage device. The components may be connected to each other through various buses and may be mounted on a common motherboard or mounted in any other suitable manner.

Here, a processor in a computing device may process commands, for example, commands stored in a memory or storage device to display graphic information for providing a graphic user interface (GUI) on an external input/output device, such as a display connected to a high-speed interface. In another example, multiple processors and/or multiple buses may be used along with multiple memories and memory types as appropriate. In addition, a processor may be implemented as a chipset including chips including a plurality of independent analog and/or digital processors.

In addition, a memory in a computing device may store information. In one example, the memory may include a volatile memory unit or a collection of volatile memory units. In another example, the memory may include a non-volatile memory unit or a collection of non-volatile memory units. The memory may also be another form of computer readable medium, such as, a magnetic disk or an optical disk.

In addition, a storage device may provide a large amount of storage space to a computing device. The storage device may be a computer-readable medium or a component that includes the computer-readable medium and may include, for example, devices in a storage area network (SAN) or other components and may be a floppy disk device, a hard disk device, an optical disk device, a tape device, a flash memory device, another semiconductor memory device similar thereto, or a device array.

According to any one of the above-described object achievement devices, when a user registers a question in an online platform, questions similar to the registered question are recommended to a user, and the user may satisfy his or her curiosity through previously registered answers to the recommended similar questions. Therefore, form a user's point of view, there is an advantage in quickly checking an answer to a question, and from an administrator's point of view, there is an effect of reducing the hassle of individually answering similar questions.

Effects that may be obtained from the present embodiments are not limited to the effect described above, and other effects not described will be understood clearly to those skilled in the art from the description below to which the present embodiments belong.