Patent Publication Number: US-2019197041-A1

Title: Answerer extraction system, answerer extraction method, and non-transitory computer-readable medium

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     This application is a continuation of U.S. application Ser. No. 14/534,322, filed Nov. 6, 2014, which is based on and claims priority under 35 USC 119 from Japanese Patent Application No. 2014-117493 filed Jun. 6, 2014. 
    
    
     BACKGROUND 
     Technical Field 
     The present invention relates to an answerer extraction system, an answerer extraction method, and a non-transitory computer-readable medium. 
     SUMMARY 
     According to an aspect of the invention, there is provided an answerer extraction system that includes a receiving unit that receives a question from an asker, a recording unit that records a reference history of the asker&#39;s referencing past questions or answers, and an extraction unit that extracts an answerer who is to answer the question on the basis of the reference history of the asker. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       Exemplary embodiments of the present invention will be described in detail based on the following figures, wherein: 
         FIG. 1  is a schematic module configuration diagram for an exemplary configuration according to an exemplary embodiment; 
         FIG. 2  is an explanatory diagram illustrating exemplary processing according to the exemplary embodiment; and 
         FIG. 3  is an explanatory diagram illustrating an exemplary data structure of an asker attribute table; 
         FIG. 4  is a flowchart illustrating an exemplary process according to an exemplary embodiment; 
         FIG. 5  is a flowchart illustrating an exemplary process according to the exemplary embodiment; 
         FIG. 6  is a flowchart illustrating an exemplary process according to an exemplary embodiment; 
         FIG. 7  is a flowchart illustrating an exemplary process according to an exemplary embodiment; 
         FIG. 8  is a flowchart illustrating an exemplary process according to an exemplary embodiment; 
         FIG. 9  is an explanatory diagram illustrating an example of a search request and results screen; 
         FIG. 10  is an explanatory diagram illustrating an example of a dialog box after pushing a Solved button; 
         FIG. 11  is an explanatory diagram illustrating an example of a created question (before registration) screen; 
         FIG. 12  is an explanatory diagram illustrating an example of a solved question and answer message reply screen; 
         FIG. 13  is an explanatory diagram illustrating an example of a screen displaying a question reported to an answerer; 
         FIG. 14  is an explanatory diagram illustrating an example of an answer entry display screen; 
         FIG. 15  is an explanatory diagram illustrating an example of an answer display screen; 
         FIG. 16  is an explanatory diagram illustrating an example of a screen for a question about an answer (before registration); 
         FIG. 17  is an explanatory diagram illustrating an example of a screen for a question about an answer (before registration); 
         FIG. 18  is an explanatory diagram illustrating an example of a rating entry screen; 
         FIG. 19  is an explanatory diagram illustrating an example of a FAQ update confirmation screen; 
         FIG. 20  is an explanatory diagram illustrating an exemplary data structure of a basic information table; 
         FIG. 21  is an explanatory diagram illustrating an exemplary data structure of a question list; 
         FIG. 22  is an explanatory diagram illustrating an exemplary data structure of an answer list; 
         FIG. 23  is an explanatory diagram illustrating an exemplary data structure of a knowledge level table; 
         FIG. 24  is an explanatory diagram illustrating an exemplary data structure of a knowledge level table; 
         FIG. 25  is an explanatory diagram illustrating an exemplary data structure of a knowledge level table; 
         FIG. 26  is an explanatory diagram illustrating an exemplary data structure of a knowledge level table; 
         FIG. 27  is an explanatory diagram illustrating an exemplary data structure of a message table; 
         FIG. 28  is an explanatory diagram illustrating an exemplary data structure of an important discussion table; 
         FIG. 29  is an explanatory diagram illustrating an exemplary data structure of an important discussion or message reference history table; 
         FIG. 30  is an explanatory diagram illustrating an exemplary data structure of an important discussion or message reference history table; 
         FIGS. 31A to 31C  are explanatory diagrams illustrating an exemplary data structure of a search history table; 
         FIGS. 32A and 32B  are explanatory diagrams illustrating an exemplary data structure of an unanswered question table; 
         FIG. 33  is an explanatory diagram illustrating an exemplary data structure of a category determination table; 
         FIG. 34  is an explanatory diagram illustrating an exemplary data structure of an urgency determination table; 
         FIGS. 35A to 35D  are explanatory diagrams illustrating an exemplary data structure of an unanswered table; 
         FIG. 36  is an explanatory diagram illustrating an exemplary data structure of a message/keyword vector representation table; 
         FIG. 37  is an explanatory diagram illustrating an exemplary data structure of a user/category name vector representation table; and 
         FIG. 38  is a block diagram illustrating an exemplary hardware configuration of a computer that realizes an exemplary embodiment. 
     
    
    
     DETAILED DESCRIPTION 
     Hereinafter, an exemplary embodiment related to realizing the present invention will be described by way of example on the basis of the drawings. 
       FIG. 1  illustrates a schematic module configuration for an exemplary configuration according to the exemplary embodiment. 
     Note that the term module refers to components such as software (computer programs) and hardware which are typically capable of being logically separated. Consequently, the term module in the exemplary embodiment not only refers to modules in a computer program, but also to modules in a hardware configuration. Thus, the exemplary embodiment also serves as a description of a computer program (a program that causes a computer to execute respective operations, a program that causes a computer to function as respective units, or a program that causes a computer to realize respective functions), a system, and a method for inducing functionality as such modules. Note that although terms like “store” and “record” and their equivalents may be used in the description for the sake of convenience, these terms mean that a storage device is made to store information or that control is applied to cause a storage device to store information in the case where the exemplary embodiment is a computer program. Also, while modules may be made to correspond with function on a one-to-one basis, some implementations may be configured such that one program constitutes one module, such that one program constitutes multiple modules, or conversely, such that multiple programs constitute one module. Moreover, multiple modules may be executed by one computer, but one module may also be executed by multiple computers in a distributed or parallel computing environment. Note that a single module may also contain other modules. Also, the term “connection” may be used hereinafter to denote logical connections (such as the transfer of data and referential relationships between instructions and data) in addition to physical connections. The term “predetermined” refers to something being determined prior to the processing in question, and obviously denotes something that is determined before a process according to the exemplary embodiment starts, but may also denote something that is determined after a process according to the exemplary embodiment has started but before the processing in question, according to conditions or states at that time, or according to conditions or states up to that time. In the case of multiple “predetermined values”, the predetermined values may be respectively different values, or two or more values (this obviously also includes the case of all values) which are the same. Additionally, statements to the effect of “B is conducted in the case of A” are used to denote that a determination is made regarding whether or not A holds true, and B is conducted in the case where it is determined that A holds true. However, this excludes cases where the determination of whether or not A holds true may be omitted. 
     Also, the terms “system” and “device” not only encompass configurations in which multiple computers, hardware, or devices are connected by a communication medium such as a network (including connections that support 1-to-1 communication), but also encompass configurations realized by a single computer, hardware, or device. The terms “device” and “system” are used interchangeably. Obviously, the term “system” does not include merely artificially arranged social constructs (social systems). 
     Also, every time a process is conducted by each module or every time multiple processes are conducted within a module, information to be processed is retrieved from a storage device, and the processing results are written back to the storage device after the processing. Consequently, description of the retrieval from a storage device before processing and the writing back to a storage device after processing may be reduced or omitted in some cases. Note that the storage device herein may include a hard disk, random access memory (RAM), an auxiliary or external storage medium, a storage device accessed via a communication link, and a register or the like inside a central processing unit (CPU). 
     An information processing device  100  according to the present embodiment extracts an answerer who is to answer a question and responds to an asker with an answer by that answerer, and as illustrated by the example of  FIG. 1 , includes a communication process module  105 , an analysis module  110 , a response generation module  115 , a matching process module  120 , a question information temporary storage module  125 , a control module  130 , a user information registration/update module  135 , a user information storage module  140 , a message registration/update module  145 , a message storage module  150 , a search module  155 , and an important discussion storage module  160 . 
     In addition, the information processing device  100  is connected to devices such as a communication terminal (asker)  190 A, a communication terminal (answerer)  192 A, and a communication terminal (answerer)  192 B via a communication network  195 . The communication network  195  may be wireless, wired, or a combination of the two, and may use a network such as the Internet or an intranet as a communication infrastructure, for example. The communication terminal (asker)  190 A is a terminal used by an asker to transmit a question to the information processing device  100  and receive an answer to the question from the information processing device  100 , and may be a mobile terminal (such as a smartphone or other mobile phone, or a notebook computer) insofar as the device is able to communicate. The communication terminal (answerer)  192 A and the communication terminal (answerer)  192 B are terminals used by an answerer to receive a question from the information processing device  100  and transmit an answer to the question to the information processing device  100 . The communication terminal (answerer)  192 B is a mobile terminal used by an answerer to transmit an answer to a question to the information processing device  100 . Obviously, there may also be multiple communication terminals (asker)  190 A and the like. 
     The communication process module  105  is connected to the control module  130 , and is also connected to the communication terminal (asker)  190 A, the communication terminal (answerer)  192 A, and the communication terminal (answerer)  192 B via the communication network  195 . The communication process module  105  is positioned between the communication network  195  and the control module  130 , and conducts a message communication process. Specifically, the communication process module  105  communicates with devices such as the communication terminal (asker)  190 A, transmitting information from the control module  130  to the communication terminal (asker)  190 A and the like, and passing information received from the communication terminal (asker)  190 A and the like to the control module  130 . 
     The analysis module  110  is connected to the control module  130 . The analysis module  110  analyzes question content, and extracts an expression pattern. In addition, the analysis module  110  may be configured to conduct an analysis process for conducting matching using a self-solving ability per category and a level per category in order to assign an answerer of suitable level who matches the category of the question. 
     The response generation module  115  is connected to the control module  130 . The response generation module  115  generates data to be displayed to an asker or an answerer. 
     The matching process module  120  is connected to the question information temporary storage module  125  and the control module  130 . The matching process module  120  receives a question from an asker, and subsequently extracts an answerer on the basis of a reference history recorded in the message storage module  150  for that asker. 
     In addition, the matching process module  120  may also be configured to compute, from the asker&#39;s reference history in the message storage module  150 , the degree that indicates the asker&#39;s ability to solve a problem by him- or herself. The matching process module  120  may then extract an answerer who is to answer the question using the computed degree (self-solving ability) and answerer candidates&#39; knowledge information in the user information storage module  140 . The matching process module  120  may also extract an answerer by conducting matching using the computed degree (self-solving ability) and the knowledge information. 
     In addition, the matching process module  120  may also be configured to compute, from the asker&#39;s reference history in the message storage module  150 , the degree that indicates how much the asker researched before posting the question being processed. The matching process module  120  may then extract an answerer using the computed degree (preliminary research history or preliminary research level) and answerer candidates&#39; knowledge information in the user information storage module  140 . The matching process module  120  may also extract an answerer who is to answer the question by conducting matching using the computed degree (preliminary research history) and the knowledge information. Also, a reference history recorded before the question may be used as the reference history. Herein, “before the question” means before receiving the question, and refers to a predetermined period or a predetermined number of searches starting back from when the question was received. 
     For example, the matching process module  120  matches an asker and an answerer using the information in the user information storage module  140  and the message storage module  150 . An answerer at the same or higher level than the asker is assigned according to both the category of the question and a behavioral history of the asker (preliminary research history and/or self-solving ability). 
     The control module  130  is connected to the communication process module  105 , the analysis module  110 , the response generation module  115 , the matching process module  120 , the question information temporary storage module  125 , the user information registration/update module  135 , the message registration/update module  145 , and the search module  155 . The control module  130  controls the modules inside the information processing device  100 . In addition, if the asker&#39;s ability to solve a problem by him- or herself (self-solving ability) or the degree that indicates how much the asker has researched the question before the question is received (preliminary research history) computed by the matching process module  120  is equal to or greater than a predetermined threshold value, the control module  130  may cause at least one of a question and an answer to that question to be stored in the important discussion storage module  160  as an important discussion. 
     The question information temporary storage module  125  is connected to the matching process module  120  and the control module  130 . The question information temporary storage module  125  stores unanswered question messages classified by category, priority, and level. 
     In addition, the matching process module  120  may also be configured to use the information in the question information temporary storage module  125  to group questions by category, urgency, and asker level, and assign a suitable answerer to the first question in each group, rather than assigning one answerer to one question. Furthermore, the control module  130  may also be configured so that when an answer is made for a question or when a question is solved, the control module  130  reports the answer or solution result to the users of questions in the same group as the question. In other words, the question information temporary storage module  125  may also be configured to function as a buffer for answerers when a large number of questions are registered in a short time. 
     The user information registration/update module  135  is connected to the control module  130  and the user information storage module  140 . The user information registration/update module  135  registers and updates user information (including answerer candidate knowledge information and the like) in the user information storage module  140 . 
     The user information storage module  140  is connected to the user information registration/update module  135 . The user information storage module  140  stores information such as answerer candidate knowledge information. For example, besides basic information about a user (such as user identification information (UID) that uniquely identifies a user, and a user name), the user information storage module  140  also stores user information such as a question-and-answer history, categories that the user knows, self-solving ability, and preliminary research history (see  FIGS. 20 to 26 ). In addition, the user information may also include a knowledge level per category. 
     The message registration/update module  145  is connected to the control module  130  and the message storage module  150 . The message registration/update module  145  registers and updates messages such as questions and answers in the message storage module  150 . 
     The message storage module  150  is connected to the message registration/update module  145 , the search module  155 , and the important discussion storage module  160 . The message storage module  150  stores a reference history (a history of an asker&#39;s references to past questions and answers (Q&amp;A)) referenced by the search module  155 . For example, the message storage module  150  stores messages while also including the type, such as question or answer, and the status. 
     The search module  155  is connected to the control module  130 , the message storage module  150 , and the important discussion storage module  160 . The search module  155 , in response to an asker&#39;s search instruction, searches for a past question or answer stored in the important discussion storage module  160  or the message storage module  150 . Subsequently, that reference history (search history) is stored in the message storage module  150 . Note that the searched content may be any of past questions, past answers, or past questions and past answers. The message storage module  150  then treats the search results as answer candidates for the received question. 
     The important discussion storage module  160  is connected to the message storage module  150  and the search module  155 . The important discussion storage module  160  stores important discussions according to a process by the control module  130 . In other words, the important discussion storage module  160  stores questions from users with a high self-solving ability, and/or solved answers to such questions. Note that, instead of the important discussion storage module  160 , the message storage module  150  may also be configured to set and store an important discussion flag. Information such as frequently asked questions (FAQs) may also be stored as important discussions, for example. 
     Note that the question information temporary storage module  125  and the important discussion storage module  160  may be additional (optional) structural elements. 
       FIG. 2  is an explanatory diagram illustrating exemplary processing according to the exemplary embodiment. Note that this description is intended to aid comprehension of the exemplary embodiment. 
     In (Step 1 ), the asker attempts to solve a problem on the basis of search results. In other words, in this phase, the asker attempts to solve the problem by him- or herself before asking (posting) a question, such as by searching for past Q&amp;As or important discussions. For example, according to an operation by the asker, a search result  1  ( 201 ), search result  2  ( 202 ), and the like are filtered, and the search result  1  ( 211 ) and search result  2  ( 212 ) and the like are detected. Additionally, when a search instruction is received, information such as the user ID, search query, search time, result, and session ID are recorded. This information is then used to compute the preliminary research level or determine the category, and used for matching to extract an answerer. 
     In (Step 2 ), the asker gives up on self-solving and asks a question. Note that if the asker solves the problem by him- or herself, the asker&#39;s self-solving ability is calculated on the basis of the record of self-solving. For example, a question is entered into a question field  221  on a question screen  220 , and differences from past search results (such as the reason why the problem was not solved with search result  1  ( 211 ) or the like) are entered into a supplementary field  222  and a supplementary field  223 . For example, “Q: I can&#39;t install X” is entered into the question field  221 , “FAQ1 and result (difference)” is entered into the supplementary field  222 , and “FAQ2 and result (difference)” is entered into the supplementary field  223 . 
     In (Step 3 ), a search is conducted for an answerer matching the question content and/or the asker&#39;s attributes (preliminary research history, self-solving ability). Information about the question and the asker is reported to the answerer. In addition, if there are no preliminary searches, similar FAQs may be returned. Also, similar questions may also be added to an unanswered table. 
     In (Step 4 ), as a result of the asker&#39;s question and the like being reported to the answerer&#39;s communication terminal (answerer)  192 , an asker data presentation area  232  displaying a graph of the asker&#39;s attributes, and the question field  221 , supplementary field  222 , and supplementary field  223  displaying the question content and the like are displayed on a report screen  230 . In the asker data presentation area  232 , a graph representation of data in an asker attribute table  300  exemplified in  FIG. 3  is presented. Obviously, the data presented at this point is data in the asker attribute table  300  related to the user who entered the question into the question screen  220 , and is displayed in order to inform the answerer of the asker&#39;s ability and the like.  FIG. 3  is an explanatory diagram illustrating an exemplary data structure of the asker attribute table  300 . The asker attribute table  300  includes a preliminary research field  310 , a self-solving ability field  320 , and a rating from answerer field  330 . The preliminary research field  310  stores the preliminary research level of that asker. The self-solving ability field  320  stores the self-solving ability of that asker. The rating from answerer field  330  stores a rating for that asker by past answerers. 
     In (Step 5 ), the answerer creates an answer to the question. For example, in response to the question in a question field  241  on an answer entry screen  240 , the answerer enters an answer into an answer field  242 , and enters a rating for the question in a rating field  243 . This content is reported and displayed on the asker&#39;s communication terminal (asker)  190 A. The content of the question field  241  is the same as the question field  221 . For example, “A: Uninstall old version of X first” is entered into the answer field  242 , and “Rating: Problem was clear and easy to understand!” is entered into the rating field  243 . 
     In (Step 6 ), the asker attempts to solve the problem on the basis of the answer. If the asker solves the problem, “update self-solving ability” and “solving process” are conducted. If the problem is still unsolved, the asker may transmit additional questions and the like to the answerer in (Step 7 ) and thereafter. 
     In (Step 7 ), an exchange between the matching answerer and asker is conducted after (Step 6 ). 
       FIG. 4  is a flowchart illustrating an exemplary process according to the exemplary embodiment. The flowchart illustrates a process conducted by the communication terminal (asker)  190 , information processing device  100 , and the communication terminal (answerer)  192 . This applies similarly to  FIGS. 5 to 8  hereinafter. 
     In step S 402 , the communication terminal (asker)  190  inputs a user ID and password and requests authentication from the information processing device  100 . If authentication is successful, the process proceeds to step S 404 . 
     In step S 404 , the communication terminal (asker)  190  decides whether or not to reference a FAQ according to an operation by the asker. In the case of referencing a FAQ, the process proceeds to step S 406 , and in the case of not referencing a FAQ, the process proceeds to step S 426 . 
     In step S 406 , the communication terminal (asker)  190 , according to an operation by the asker, receives a search request for a FAQ, and requests the information processing device  100  to execute the search. 
     In step S 408 , the search request in step S 406  is passed through the communication process module  105 , the control module  130 , and the search module  155  of the information processing device  100 , and the search module  155  executes a similarity search on the question part or answer part of the message storage module  150  and the important discussion storage module  160 . At this point, the search module  155  records the user&#39;s search history as a search history in the message storage module  150  for later rating (see the important discussion or message reference history table  3000  illustrated by the example of  FIG. 30 ). 
     In step S 410 , the communication terminal (asker)  190 , according to a user operation, displays search results returned by the similarity search (see the search request and results screen  900  illustrated by the example of  FIG. 9 ). The user tests whether or not the search results are helpful. By clicking on a FAQID (a URL link) included in the search result, the answer corresponding to the FAQID is displayed. 
     In step S 412 , if the FAQ URL is clicked, the information processing device  100  stores information such as the UID of the user who clicked the FAQ URL, and the reference time. Subsequently, the page content indicated by that URL is transmitted to the communication terminal (asker)  190  and displayed (see the solved question and answer message reply screen  1200  illustrated by the example of  FIG. 12 ). 
     In step S 414 , the communication terminal (asker)  190 , according to an operation by the asker, judges whether or not the problem was solved as a result of testing the search results. If the problem is solved, a Solved button  922  or  924  is pressed on the search results dialog box. Subsequently, an answer dialog box is displayed, and the asker registers information indicating that the problem is solved (see the dialog box  1000  after pushing a Solved button illustrated by the example of  FIG. 10 ). When the Register button  1010  is pressed, the UID, FAQID, degree of self-solving (self-solving ability), and the effectiveness of the answer provided as a search result are passed to the information processing device  100 . If the problem is not solved, the process proceeds to step S 424 . 
     In step S 416 , the information processing device  100  stores the referenced FAQID, reference time, solve time, self-solving ability, and effectiveness in a FAQ reference history (inside the message storage module  150 ) managed for each user (see the important discussion or message reference history table  2900  illustrated by the example of  FIG. 29 ). 
     In step S 418 , the information processing device  100  reports the input performed by the asker who solved the problem to the author of the FAQ (answerer). 
     In step S 420 , the communication terminal (answerer)  192 , according to an operation by the answerer, judges whether or not to update the FAQ. In the case of updating, the process proceeds to step S 422 , while in the case of not updating, the process ends (step S 499 ). 
     In step S 422 , the communication terminal (answerer)  192  updates the FAQ (a FAQ associated with the answerer) with the asker&#39;s input (comment), and the process ends (step S 499 ). 
     In step S 424 , the communication terminal (asker)  190 , according to an operation by the asker, judges whether or not to register a question in the information processing device  100 . In the case of asking a question, the process proceeds to step S 426 , while in the case of looking up a FAQ, the process returns to step S 406  or stops (step S 499 ). 
     In step S 426 , the communication terminal (asker)  190 , according to an operation by the asker, displays a question screen if a Create Question button  932  on the search request and results screen  900  illustrated by the example in  FIG. 9  is pressed (see the created question (before registration) screen  1100  illustrated by the example of  FIG. 11 ). The asker inputs comments about FAQs as appropriate, and presses the Register button  1132 . 
     In step S 428 , the communication terminal (asker)  190  transmits a question message (including the UID, and 0 or more sets of a FAQID and a comment for that FAQ) to the information processing device  100 . 
       FIG. 5  is a flowchart illustrating an exemplary process according to the exemplary embodiment. 
     In step S 502 , the information processing device  100  registers the question message in the message storage module  150  (see the message table  2700  illustrated by the example of  FIG. 27 ). The analysis module  110  extracts a category, and attaches category information to the message. 
     In step S 504 , the information processing device  100  computes the preliminary research level of the asker according to the reference time (reference time field  2920 , reference time field  3020 ) in the message reference history (important discussion or message reference history table  2900 , important discussion or message reference history table  3000 ) illustrated by the examples in  FIGS. 29 and 30 , and temporarily stores the computed result. 
     The preliminary research level is taken to be the number of messages for which the session ID while the user is searching is the same as the session ID in the user&#39;s reference history table. If a session expires due to aborting operation or the like during preliminary searching, after re-login a check is conducted for a session ID in which the date of the reference history is the same as the preliminary searching, and the number of messages with the same session ID is used to calculate the preliminary research level. 
     Alternatively, the preliminary research level may be defined as the number of referenced messages saved in memory of the search module  155  during preliminary searching. In this case, the number of referenced messages is saved in memory in association with the user ID and the session ID. 
     In the important discussion or message reference history table  2900  illustrated by the example of  FIG. 29  or the important discussion or message reference history table  3000  illustrated by the example of  FIG. 30 , there are provided session ID fields  2915  and  3015 , in which the session ID is saved. Although a configuration that stores the number of references in memory is simple, a method that saves the session ID may be selected to accommodate the following cases. 
     (Case 1) The case of verifying preliminary research going back into the past. 
     (Case 2) The case of supporting a situation in which the interval between the preliminary research operation and the question operation is lengthy, and the session expires. 
     In step S 506 , the information processing device  100  computes the self-solving ability of the asker from the history of problems that the asker solved him- or herself in the message reference history illustrated by the examples in  FIGS. 29 and 30  (important discussion or message reference history table  2900 , important discussion or message reference history table  3000 ), and temporarily stores the computed result. 
     The self-solving ability at this point is taken to be the maximum value of the self-solving ability in the user&#39;s reference history table. 
     In step S 508 , the information processing device  100  registers a question message in the unanswered table. Details will be discussed later using the flowchart illustrated by the example of  FIG. 6 . Note that step S 508  is a process that presuppose the question information temporary storage module  125 . 
       FIG. 6  is a flowchart illustrating an exemplary process according to the exemplary embodiment. The processes in each of these steps are processes that presuppose the question information temporary storage module  125 . 
     In step S 602 , the information processing device  100  uses the analysis module  110  to divide the question message into sentences, analyze the sentences, and extract the structural words, such as target keywords (proper nouns), verbs, adjectives, adverbs, interjections, and auxiliary verbs. The structural words are converted to a heading (standard title) by referencing a thesaurus. Also, an expression pattern is extracted (a knowledge representation (KR) expression is extracted). 
     In step S 604 , the information processing device  100  estimates a category from the target keywords (proper nouns) (see the category determination table  3300  illustrated by the example of  FIG. 33 ). 
     In step S 606 , the information processing device  100  estimates an urgency from the expression pattern (see the urgency determination table  3400  illustrated by the example of  FIG. 34 ). 
     In step S 608 , the information processing device  100  specifies an address of a cell in the unanswered table from the category and urgency (see unanswered table  3200  illustrated by the example of  FIGS. 32A and 32B ; the cell of category #001, urgency 1). 
     In step S 610 , the information processing device  100  adds the question message to a list according to the level of the asker (see the aaaaaa1 knowledge level table  2300  illustrated by the example of  FIG. 23 , the cccccc5 knowledge level table  2400  illustrated by the example of  FIG. 24 , the cccccc5 knowledge level table  2500  illustrated by the example of  FIG. 25 , and the dddddd7l knowledge level table  2600  illustrated by the example of  FIG. 26 ). 
       FIG. 7  is a flowchart illustrating an exemplary process according to the exemplary embodiment. Note that step S 702 , step S 704 , and step S 706  are processes that presuppose the question information temporary storage module  125 . 
     In step S 702 , the information processing device  100  executes the following loop process in order of urgency/category for each cell in the unanswered table. For example, in the case of a 2-row, 3-column table, provided that the cell number is expressed as (row number)-(column number), the process proceeds in the order of step S 502 , step S 602 , step S 504 , step S 604 , step S 506 , and step S 606 . 
     In step S 704 , the information processing device  100  checks whether or not the cell currently being processed contains a reference (pointer) to an unanswered list. If so, the process proceeds to step S 706 , and if not, the processing from step S 706  to step S 712  is skipped (see the unanswered table  3500  illustrated by the example of  FIGS. 35A to 35D ). 
     In step S 706 , the information processing device  100  executes the following loop process on the list per level of asker linked in the cell. 
     In step S 708 , the information processing device  100  calculates the distance to past messages, and extracts a nearby answerer at or above the level of the asker. Step S 708  is made up of the following steps. 
     1) The distance is calculated between the question message at the beginning of the list and past messages. For example, specifically, the distance is calculated between vectors whose elements are words extracted from question sentences (see the message/keyword (KW) vector representation table  3600  illustrated by the example of  FIG. 36 ). 
     2) The answerers of past messages whose distance is less than or equal to a predetermined value are temporarily stored. 
     3) The distances between the extracted answerers and the asker are calculated using a vector space model (see the user/category name (CN) vector representation table  3700  illustrated by the example of  FIG. 37 ). At this point, the dimension of the vector is taken to be the category name, and the values are taken to be the level value of each category. The level values are computed according to the following formula, for example. 
       Asker level value=self-solving ability′*0.7+preliminary research level′*0.3(the self-solving ability′ and preliminary research level′ are preprocessed to take a value from 0.0 to 1.0)
 
       Answerer level value=per-category knowledge level of answerer(preprocessed to take a value within a range from 0.0 to 1.0) 
     4) The answerers are sorted according to the distance to the asker. 
     5) The level value of the asker and the level values of the answerers are compared, and the closest answerer with a level value equal to or greater than the level value of the asker is selected. 
     In step S 710 , the information processing device  100  reports the question and the asker&#39;s attribution information to the extracted answerer. 
     In step S 712 , the information processing device  100  reports the discovery of an answerer to the asker. 
     Step S 714  means that the processing from step S 706  to step S 712  is repeated. 
     Step S 716  means that the processing from step S 702  to step S 714  is repeated. 
     Herein, the extraction of an answerer may also use a method other than the method given above. For example, a level value based on the question category and the per-category knowledge level of an answerer may be decided, and an answerer may be additionally selected according to a distance based on this level value. 
       FIG. 8  is a flowchart illustrating an exemplary process according to the exemplary embodiment. 
     In step S 802 , the communication terminal (answerer)  192 , according to an operation by the answerer, displays a report from the information processing device  100 , enabling confirmation of the asker and the question content (see the screen  1300  displaying a question reported to an answerer illustrated by the example of  FIG. 13 ). 
     In step S 804 , on the communication terminal (answerer)  192 , the answerer creates a proposed solution, and presses the Register button  1450  (see the answer entry display screen  1400  illustrated by the example of  FIG. 14 ). 
     In step S 806 , the information processing device  100  registers the received answer message in the message storage module  150  as the next message after the question message (see the message table  2700  illustrated by the example of  FIG. 27 ), and reports the answer to the communication terminal (asker)  190 . For example, a message such as “There&#39;s an answer from an answerer” is transmitted. 
     If the question information temporary storage module  125  is provided, the answer is reported to the current asker as well as users with the same category and urgency. 
     The processing from step S 808  to step S 818  is repeated a number of times equal to the number of question messages. 
     In step S 808 , on the communication terminal (asker)  190 , the asker who received the answer report checks the answer content and a feedback rating (see the answer display screen  1500  illustrated by the example of  FIG. 15 ). 
     In step S 810 , on the communication terminal (asker)  190 , the asker refers to the answer content, and attempts to solve the problem (see the answer display screen  1500  illustrated by the example of  FIG. 15 ). 
     In step S 812 , the communication terminal (asker)  190 , according to an operation by the asker, judges whether or not the problem is solved. If the problem is solved, the Solved button  1634  is pressed, and the solution is registered according to an operation by the asker (see the screen  1600  for a question about an answer (before registration) illustrated by the example of  FIG. 16 ). At this point, the UID, message ID, self-solving ability, and effectiveness are passed to the information processing device  100 . If the problem is not solved, the process proceeds to step S 814 . 
     In step S 814 , the communication terminal (asker)  190 , according to an operation by the asker, judges whether or not to register a question in the information processing device  100 . In the case of asking a question, the process proceeds to step S 816 , while in the case of not asking a question, the use of the information processing device  100  ends. 
     In step S 816 , the communication terminal (asker)  190 , according to an operation by the asker, displays a question screen if a Question button  1538  on the answer display screen  1500  illustrated by the example in  FIG. 15  is pressed (see the screen  1700  for a question about an answer (before registration) illustrated by the example of  FIG. 17 ). The asker inputs comments about the answer as appropriate, and presses the Register button  1744 . 
     In step S 818 , the communication terminal (asker)  190  transmits the question message from the communication terminal (asker)  190  to the information processing device  100 . 
     In step S 820 , the information processing device  100  registers the question message in the message storage module  150  as the next message after the answer message, and reports the message from the asker to the answerer. After that, the process proceeds to step S 802 . 
     In step S 822 , the information processing device  100  searches the message storage module  150  for a question message originating from the ID of the answer message, and records the solve time of the question message registered by the asker. 
     If the question information temporary storage module  125  is provided, the solving of the problem by the answer is reported to the current asker as well as users with the same category and urgency. 
     Furthermore, the unanswered list is checked, and if there are multiple questions in the same group, the original question and the answer message are registered as a proposed FAQ in the important discussion storage module  160 , thereby enabling similar questions occurring later to be primarily answered as a FAQ. 
     In step S 824 , the information processing device  100  informs the answerer that the question was solved. 
     In step S 826 , the communication terminal (answerer)  192 , according to an operation by the answerer, receives a rating related to the self-solving ability of the asker (see the rating entry screen  1800  illustrated by the example of  FIG. 18 ). 
     In step S 828 , the communication terminal (answerer)  192 , according to an operation by the answerer, judges whether or not to update a FAQ associated with that answerer (see the FAQ update confirmation screen  1900  illustrated by the example of  FIG. 19 ). In the case of updating, a Yes button  1910  is pressed, and the process proceeds to step S 830 . In the case of not updating, a No button  1920  is pressed, and the process proceeds to step S 832 . 
     In step S 830 , the communication terminal (answerer)  192 , according to an operation by the answerer, requests the information processing device  100  to update a FAQ associated with the answerer. 
     In step S 832 , the information processing device  100  raises the corresponding category level of the answerer. The process then ends. 
     In step S 834 , the information processing device  100  registers a question by a good asker (a user with a high preliminary research level and high self-solving ability) and the corresponding answer in the important discussion storage module  160 . 
       FIG. 9  is an explanatory diagram illustrating an example of the search request and results screen  900 . The search request and results screen  900  is displayed in steps S 410  and S 414  discussed earlier. On the search request and results screen  900 , there are displayed a search area  910 , a search results area  920 , and a question area  930 . The search area  910  includes a search query field  912 . The search query field  912  receives a user&#39;s search query (question). The search results area  920  includes a Solved button  922  and a Solved button  924 . The question area  930  includes a Create Question button  932 . The results of conducting a search according to the search query field  912  are displayed in the search results area  920 . If the question is solved by the search results, the Solved button  922  or the Solved button  924  is pressed. On the other hand, if the question is not solved even with the search results, the Creation Question button  932  is pressed. 
       FIG. 10  is an explanatory diagram illustrating an example of a dialog box  1000  after pushing a Solved button. The dialog box  1000  is displayed after pushing a Solved button displayed in step S 414  discussed earlier. A Register button  1010  is displayed on the dialog box  1000  after pushing a Solved button. For example, the dialog box  1000  after pushing a Solved button is displayed when the Solved button  922  is pressed on the search request and results screen  900  illustrated by the example of  FIG. 9 . On the dialog box  1000  after pushing a Solved button, the following content is displayed, for example. 
     faq001002 xxx Please answer the following and press the Register button. 
     How did you solve the problem? 
     [X] I followed the answer exactly
 
[ ] I referred to the answer and did the following:
 
     [] 
     [ ] I received help from another person 
     How effective was the answer (0-2)? 
     ∧∨[ ] ∧: +1 point, ∨: −1 point 
     Subsequently, when the Register button  1010  is pressed, the UID, FAQID, self-solving ability, and the answer effectiveness are passed to the information processing device  100 . 
       FIG. 11  is an explanatory diagram illustrating an example of a created question (before registration) screen  1100 . The created question (before registration) screen  1100  is displayed in step S 426  discussed earlier. On the created question (before registration) screen  1100 , there are displayed a question area  1110 , a supplementary area  1120 , and a registration area  1130 . The question area  1110  includes a question field  1112 . The question field  1112  receives a user&#39;s question. The content is similar to the search query received in the search query field  912 . The text string received in the search query field  912  may also be copied into the question field  1112 . The supplementary area  1120  receives comments about the search results. Subsequently, the Register button  1132  in the registration area  1130  is pressed by the user. 
       FIG. 12  is an explanatory diagram illustrating an example of a solved question and answer message reply screen  1200 . The solved question and answer message reply screen  1200  is displayed in step S 412  discussed earlier. On the solved question and answer message reply screen  1200 , there are displayed a question area  1210  and a search results area  1220 . The question area  1210  includes a question field  1212 . A search query input by the user is displayed in the question field  1212 . The search results area  1220  includes a Solved button  1222 . In the search results area  1220 , there is displayed the page content at the URL of a FAQ clicked on the search request and results screen  900  discussed earlier. If the question content is solved with this content, the Solved button  1222  is pressed. 
       FIG. 13  is an explanatory diagram illustrating an example of a screen  1300  displaying a question reported to an answerer. The screen  1300  displaying a question reported to an answerer is displayed in step S 802  discussed earlier. On the screen  1300  displaying a question reported to an answerer, there is displayed an asker data presentation area  1310 , a question area  1320 , and an answer area  1330 . On the screen  1300  displaying a question reported to an answerer, there is displayed a graph of the asker&#39;s attributes (herein, the preliminary research level, self-solving ability, rating by past answerers, and the like). The question area  1320  includes a question field  1321  displaying the question content, a supplementary field  1322 , and a supplementary field  1323 . These fields correspond to the content in the created question (before registration) screen  1100  illustrated by the example of  FIG. 11 . The answer area  1330  includes a Create Answer button  1332 . The Create Answer button  1332  is pressed when answering the question. 
       FIG. 14  is an explanatory diagram illustrating an example of the answer entry display screen  1400 . The answer entry display screen  1400  is displayed in step S 804  discussed earlier. The answer entry display screen  1400  includes a question field  1441 , an answer field  1442 , and a rating field  1443 . The question from the asker is displayed in the question field  1441 . The answer field  1442  receives the answer from the answerer. The rating field  1443  receives a rating of the question by the answerer. 
       FIG. 15  is an explanatory diagram illustrating an example of the answer display screen  1500 . The answer display screen  1500  is displayed in step S 808  discussed earlier. The answer display screen  1500  displays a question area  1510 , a supplementary area  1520 , and an answer area  1530 . In the question area  1510  and the supplementary area  1520 , the question and the like from the asker are displayed. These areas correspond to the content in the created question (before registration) screen  1100  illustrated by the example of  FIG. 11 . The answer area  1530  includes an answer display area  1532 , a Solved button  1534 , a rating display area  1536 , and a Question button  1538 . The answer display area  1532  and the rating display area  1536  display the answer and the like from the answerer. These areas correspond to the content in the answer entry display screen  1400  illustrated by the example of  FIG. 14 . If the problem is solved by the answer, the Solved button  1534  is pressed, whereas if the asker has an additional question, the Question button  1538  is pressed. 
       FIG. 16  is an explanatory diagram illustrating an example of a screen  1600  for a question about an answer (before registration). The screen  1600  for a question about an answer (before registration) is displayed in step S 812  discussed earlier. The screen  1600  for a question about an answer (before registration) is displayed when the Solved button  1534  is pressed on the answer display screen  1500  illustrated by the example of  FIG. 15 . On the screen  1600  for a question about an answer (before registration), there are displayed a question area  1610 , a supplementary area  1620 , an answer area  1630 , and a solution area  1640 . The answer area  1630  includes an answer display area  1632 , a Solved button  1634 , a rating display area  1636 , and a Question button  1638 . The question area  1610 , the supplementary area  1620 , and the answer area  1630  correspond to the question area  1510 , the supplementary area  1520 , and the answer area  1530  on the answer display screen  1500 , respectively. The solution area  1640  includes a Register button  1642 . The content in the solution area  1640  is similar to the content on the dialog box  1000  after pushing a Solved button illustrated by the example of  FIG. 10 , but in the solution area  1640 , a rating is given in response to the current answer to the question, rather than a past answer (FAQ). 
       FIG. 17  is an explanatory diagram illustrating an example of a screen  1700  for a question about an answer (before registration). The screen  1700  for a question about an answer (before registration) is displayed in step S 816  discussed earlier. The screen  1700  for a question about an answer (before registration) is displayed when the Question button  1538  is pressed on the answer display screen  1500  illustrated by the example of  FIG. 15 . On the screen  1700  for a question about an answer (before registration), there are displayed a question area  1710 , a supplementary area  1720 , an answer area  1730 , and a question area  1740 . The answer area  1730  includes an answer display area  1732 , a Solved button  1734 , a rating display area  1736 , and a Question button  1738 . The question area  1710 , the supplementary area  1720 , and the answer area  1730  correspond to the question area  1510 , the supplementary area  1520 , and the answer area  1530  on the answer display screen  1500 , respectively. The question area  1740  includes a question entry area  1742  and a Register button  1744 . The question entry area  1742  receives an additional question from the asker. After the entry of the question is finished, the Register button  1744  is pressed. 
       FIG. 18  is an explanatory diagram illustrating an example of the rating entry screen  1800 . The rating entry screen  1800  is displayed in step S 826  discussed earlier. On the rating entry screen  1800 , the answerer rates the asker. The rating entry screen  1800  includes a Register button  1810 . After the entry of the rating is finished, the Register button  1810  is pressed. 
       FIG. 19  is an explanatory diagram illustrating an example of a FAQ update confirmation screen  1900 . The FAQ update confirmation screen  1900  is displayed in step S 828  discussed earlier. The FAQ update confirmation screen  1900  is for judging whether or not to update a FAQ associated with the answerer, and includes a Yes button  1910  and a No button  1920 . In the case of updating, the Yes button  1910  is pressed, while in the case of not updating, the No button  1920  is pressed. 
       FIG. 20  is an explanatory diagram illustrating an exemplary data structure of a basic information table  2000 . The basic information table  2000  is processed by the user information registration/update module  135 , and stored in the user information storage module  140 . The basic information table  2000  includes a user ID field  2010 , a name field  2020 , an email address field  2030 , a department field  2040 , a reference to category field  2050 , a last update time field  2060 , a question list field  2070 , an answer list field  2080 , and a self-solving ability field  2090 . The user ID field  2010  stores information (a user identification (ID)) for uniquely identifying a user (a person who may become an asker or an answerer candidate). The name field  2020  stores the name of the user. The email address field  2030  stores the email address of the user. The department field  2040  stores the department of the user. The reference to category field  2050  stores a reference to the category (field of knowledge) of the user. The last update time field  2060  stores the last update time for the current row in the basic information table  2000 . The time may be the year, month, day, hour, minute, second, fraction of a second, or some combination thereof. The question list field  2070  stores a pointer to a question list indicating questions asked by the user or answered questions. The answer list field  2080  stores a pointer to an answer list of answers to questions asked by the user. The self-solving ability field  2090  stores the self-solving ability of the user. 
       FIG. 21  is an explanatory diagram illustrating an exemplary data structure of a question list  2100  referenced by aaaaaa1-1. The question list  2100  referenced by aaaaaa1-1 is stored in the user information storage module  140 . The question list  2100  referenced by aaaaaa1-1 is a list indicated by the question list field  2070  of the basic information table  2000 . The question list  2100  referenced by aaaaaa1-1 includes a No. field  2110  and a message ID field  2120 . The No. field  2110  stores the number (No.) of a question in the list. The message ID field  2120  stores information (a message ID) for uniquely identifying a message in the present exemplary embodiment. The question list  2100  referenced by aaaaaa1-1 illustrated by the example of  FIG. 21  is the question list for “Tanaka”. 
       FIG. 22  is an explanatory diagram illustrating an exemplary data structure of an answer list  2200  referenced by cccccc5-3. The answer list  2200  referenced by cccccc5-3 is stored in the user information storage module  140 . The answer list  2200  referenced by cccccc5-3 is a list indicated by the answer list field  2080  of the basic information table  2000 . The answer list  2200  referenced by cccccc5-3 includes a No. field  2210  and a message ID field  2220 . The No. field  2210  stores the number (No.) of an answer in the list. The message ID field  2220  stores a message ID. The answer list  2200  referenced by cccccc5-3 illustrated by the example of  FIG. 22  is the answer list for “Satou”. 
       FIG. 23  is an explanatory diagram illustrating an exemplary data structure of an aaaaaa1 knowledge level table  2300 .  FIG. 24  is an explanatory diagram illustrating an exemplary data structure of a cccccc5 knowledge level table  2400 .  FIG. 25  is an explanatory diagram illustrating an exemplary data structure of a cccccc5 knowledge level table  2500 .  FIG. 26  is an explanatory diagram illustrating an exemplary data structure of a dddddd7l knowledge level table  2600 . The aaaaaa1 knowledge level table  2300 , the cccccc5 knowledge level table  2400 , the cccccc5 knowledge level table  2500 , and the dddddd7l knowledge level table  2600  are stored in the user information storage module  140 . The aaaaaa1 knowledge level table  2300  includes a category field  2310  and a knowledge level  2320 . The category field  2310  stores a category. The knowledge level  2320  stores the knowledge level for that category. The cccccc5 knowledge level table  2400 , the cccccc5 knowledge level table  2500 , and the dddddd7l knowledge level table  2600  also have similar data structures. The aaaaaa1 knowledge level table  2300  stores the per-category knowledge levels for “Tanaka”. The cccccc5 knowledge level table  2400  stores the per-category knowledge levels for “Suzuki”. The cccccc5 knowledge level table  2500  stores the per-category knowledge levels for “Satou”. The dddddd7l knowledge level table  2600  stores the per-category knowledge levels for “Fuji”. 
       FIG. 27  is an explanatory diagram illustrating an exemplary data structure of the message table  2700 . The message table  2700  is used in step S 502 , and is stored in the message storage module  150 . The message table  2700  includes a message ID field  2705 , a registrant ID field  2710 , a registration time field  2715 , registered content  2720 , a type field  2725 , a status field  2730 , a solve time field  2735 , a previous message ID field  2740 , a next message ID field  2745 , a faqID field  2750 , and a category field  2755 . The message ID field  2705  stores the message ID of a question or an answer. The registrant ID field  2710  stores information (a registrant ID) for uniquely identifying a registrant (user) in the present exemplary embodiment. The registration time field  2715  stores the registration time of the message. The registered content  2720  stores the registered content of the message. The type field  2725  stores the type (question or answer) of the message. The status field  2730  stores the status (such as solved or ongoing) of the message. The solve time field  2735  stores the solve time for the message. The previous message ID field  2740  stores the previous message ID before the current message (for example, if the current message is an answer, the previous message is typically a question message). The next message ID field  2745  stores the next message ID after the current message (for example, if the current message is a question, the next message is typically an answer message). The faqID field  2750  stores information (a faqID) for uniquely identifying a FAQ corresponding to the message in the present exemplary embodiment. The category field  2755  stores the category of the message. 
       FIG. 28  is an explanatory diagram illustrating an exemplary data structure of an important discussion table  2800 . The important discussion table  2800  is processed by the search module  155 , and is stored in the important discussion storage module  160 . The important discussion table  2800  includes a faqID field  2805 , a question field  2810 , an answer field  2815 , an original question ID field  2820 , an original answer ID field  2825 , a registration time field  2830 , a reference count field  2835 , and an effectiveness (statistical) field  2840 . The faqIQ field  2805  stores the faqID of a FAQ. This faqID is indicated by the faqID field  2750  of the message table  2700 . The question field  2810  stores the question in that FAQ. The answer field  2815  stores the answer in that FAQ. The original question ID field  2820  stores the original question ID. The original answer ID field  2825  stores the original answer ID. The registration time field  2830  stores the registration time of the FAQ. The reference count field  2835  stores the number of times the FAQ has been referenced. Initially, the reference count is 0. The effectiveness (statistical) field  2840  stores the effectiveness of the FAQ (expressed as a statistical value). Herein, the statistical value may be a value such as the mean, median, or mode of the rating for that FAQ. 
       FIG. 29  is an explanatory diagram illustrating an exemplary data structure of the important discussion or message reference history table  2900 . The important discussion or message reference history table  2900  is used in step S 416 , and is stored in the message storage module  150  (or the important discussion storage module  160 ). The important discussion or message reference history table  2900  includes a No. field  2905 , a faqID field  2910 , a session ID field  2915 , a reference time field  2920 , a solve time  2925 , a self-solving field  2930 , and an effectiveness field  2935 . The No. field  2905  stores the number (No.) of the reference history. The faqID field  2910  stores the faqID of the referenced FAQ. The session ID field  2915  stores the session ID in the FAQ reference. The reference time field  2920  stores the time when the FAQ was referenced. The solve time  2925  stores the time when a problem was solved by the FAQ. The self-solving field  2930  stores the degree of self-solving using the FAQ. In the self-solving field  2930 , an empty field means “unsolved”, a value of “1” means “solved with support”, a value of “2” means “solved exactly according to answer”, and a value of “3” means “self-solved with a supplement to the answer”. The effectiveness field  2935  stores the effectiveness. In the effectiveness field  2935 , an empty field means “not particularly effective”, a value of “1” means “supplementary information is desirable”, a value of “2” means “helpful”, and a value of “3” means “very helpful”. For example, the first row of the important discussion or message reference history table  2900  means that a user referenced faq000012, solved the problem with support, and rated the FAQ as “very helpful”. Note that the entire important discussion or message reference history table  2900  illustrated by the example of  FIG. 29  illustrates the reference history for Tanaka. 
       FIG. 30  is an explanatory diagram illustrating an exemplary data structure of the important discussion or message reference history table  3000 . The important discussion or message reference history table  3000  is used in step S 408 , and is stored in the message storage module  150  (or the important discussion storage module  160 ). The important discussion or message reference history table  3000  has a similar data structure as the important discussion or message reference history table  2900  illustrated by the example of  FIG. 29 . 
       FIGS. 31A to 31C  are explanatory diagrams illustrating an exemplary data structure of a search history table  3100 . The search history table  3100 , answer table  3140 , and answer table  3150  are processed by the message registration/update module  145  and the search module  155 , and are stored in the message storage module  150 .  FIG. 31A  is an explanatory diagram illustrating an exemplary data structure of the search history table  3100 . The search history table  3100  includes a No. field  3105 , a user ID field  3110 , a search time field  3115 , a search parameter field  3120 , and a faqID list field  3130 . The No. field  3105  stores the number (No.) of the search. The user ID field  3110  stores the user ID of the user who conducted the search. The search time field  3115  stores the search time when the search was conducted. The search parameter field  3120  stores the search parameter of the search. The faqID list field  3130  stores a faqID list as a search result. For example, the faqID list field  3130  stores a pointer to the answer table  3140  or the answer table  3150 . Specifically, the first row of the search history table  3100  stores a pointer to the answer table  3140 , while the second row of the search history table  3100  stores a pointer to the answer table  3150 .  FIG. 31B  is an explanatory diagram illustrating an exemplary data structure of the answer table  3140 . The answer table  3140  includes a faqID field  3142  and an answer field  3144 . The faqID field  3142  stores the faqID of a FAQ as a search result. The answer field  3144  stores the answer portion of the content of that FAQ.  FIG. 31C  is an explanatory diagram illustrating an exemplary data structure of the answer table  3150 . The answer table  3150  has a similar data structure as the answer table  3140 . 
       FIGS. 32A and 32B  are explanatory diagrams illustrating an exemplary data structure of the unanswered table  3200 . The unanswered table  3200  is used in step S 608 . The unanswered table  3200  and the asker level table  3250  are stored in the question information temporary storage module  125 .  FIG. 32A  is an explanatory diagram illustrating an exemplary data structure of the unanswered table  3200 . The unanswered table  3200  includes a category field  3210  and an urgency field  3220 . The category field  3210  stores the category. The urgency field  3220  stores the urgency. A list pointed from a cell of the unanswered table  3200  (a cell at an intersection between the category field  3210  and the urgency field  3220 ) is like the asker level table  3250 , for example. 
       FIG. 32B  is an explanatory diagram illustrating an exemplary data structure of the asker level table  3250 . The asker level table  3250  includes an asker level field  3252  and a pointer field  3254 . The asker level field  3252  stores the asker level. The pointer field  3254  stores a pointer. The asker level is defined in three stages, for example. 
       FIG. 33  is an explanatory diagram illustrating an exemplary data structure of the category determination table  3300 . The category determination table  3300  is used in step S 604 . The category determination table  3300  includes a No. field  3310 , a category field  3320 , and a keywords field  3330 . The No. field  3310  stores the number (No.) of the category. The category field  3320  stores the category. The keywords field  3330  stores keywords for that category. A message or the like that includes a keyword is categorized into the category corresponding to that keyword. 
       FIG. 34  is an explanatory diagram illustrating an exemplary data structure of the urgency determination table  3400 . The urgency determination table  3400  is used in step S 606 . The urgency determination table  3400  includes an expression pattern field  3410  and an urgency field  3420 . The expression pattern field  3410  stores an expression pattern, such as a regular expression. The urgency field  3420  stores an urgency corresponding to that expression pattern. 
       FIGS. 35A to 35D  are explanatory diagrams illustrating an exemplary data structure of the unanswered table  3500 . The unanswered table  3500  is used in step S 610 , and is stored in the question information temporary storage module  125 .  FIG. 35A  is an explanatory diagram illustrating an exemplary data structure of the unanswered table  3500 . The unanswered table  3500  includes a category field  3510  and an urgency field  3520 . The category field  3510  stores the category. The urgency field  3520  stores the urgency. A cell at the intersection stores a pointer to the asker level table  3550 .  FIG. 35B  is an explanatory diagram illustrating an exemplary data structure of the asker level table  3550 . The asker level table  3550  includes an asker level field  3552  and a pointer field  3554 . The asker level field  3552  stores the asker level. The pointer field  3554  stores a pointer to a message (question) table  3560 .  FIG. 35C  is an explanatory diagram illustrating an exemplary data structure of the message (question) table  3560 . The message (question) table  3560  includes a message (question) field  3562  and a pointer field  3564 . The message (question) field  3562  stores the message ID of a question asked by the corresponding asker. The pointer field  3564  stores a pointer to a message (question) table  3570 .  FIG. 35D  is an explanatory diagram illustrating an exemplary data structure of the message (question) table  3570 . The message (question) table  3570  includes a message (question) field  3572  and a pointer field  3574 . The message (question) field  3572  stores the message ID of a question asked by the corresponding asker. The pointer field  3574  stores a pointer. A question message is added to the list corresponding to the asker level. If a message already exists at that asker level, the question message is inserted at the end of the pointer. 
       FIG. 36  is an explanatory diagram illustrating an exemplary data structure of a message/keyword (KW) vector representation table  3600 . The message/keyword (KW) vector representation table  3600  is used in step S 708 . The message/keyword (KW) vector representation table  3600  includes a message ID field  3610 , a KW1 field  3621 , a KW2 field  3622 , a KW3 field  3623 , a KW4 field  3624 , a KW5 field  3625 , a KW6 field  3626 , a KW7 field  3627 , a KW8 field  3628 , a KW9 field  3629 , and so on. The message ID field  3610  stores a message ID. The KW1 field  3621  stores the presence or absence of KW1 in that message. The KW2 field  3622  and subsequent fields similarly store the presence or absence of KW2 and so on. In other words, a vector is formed whose elements are the KWn of that message. 
       FIG. 37  is an explanatory diagram illustrating an exemplary data structure of a user/category name (CN) vector representation table  3700 . The user/category name (CN) vector representation table  3700  is used in step S 708 . The user/category name (CN) vector representation table  3700  includes a user ID field  3710 , a CN1 field  3721 , a CN2 field  3722 , a CN3 field  3723 , a CN4 field  3724 , a CN5 field  3725 , a CN6 field  3726 , a CN7 field  3727 , a CN8 field  3728 , a CN9 field  3729 , and so on. The user ID field  3710  stores a user ID. The CN1 field  3721  stores the presence or absence of CN1 for that user. The CN2 field  3722  and subsequent fields similarly store the presence or absence of CN2 and so on. In other words, a vector is formed whose elements are the CNn for that user. 
     Note that a hardware configuration of a computer executing a program that acts as the present exemplary embodiment is a general computer as illustrated by the example of  FIG. 38 , and specifically is a computer or the like that may be a personal computer or a server. In other words, as a specific example, a CPU  3801  is used as a processing unit (computational unit), while RAM  3802 , ROM  3803 , and an HD  3804  are used as storage devices. For the HD  3804 , a hard disk may be used, for example. The computer is made up of the CPU  3801  that executes programs such as the communication process module  105 , the analysis module  110 , the response generation module  115 , the matching process module  120 , the control module  130 , the user information registration/update module  135 , the message registration/update module  145 , and the search module  155 , the RAM  3802  that stores such programs and data, the ROM  3803  that stores programs and the like for activating the computer, the HD  3804  which is an auxiliary storage device (and may also be flash memory or the like) that may function as the question information temporary storage module  125 , the user information storage module  140 , the message storage module  150 , and important discussion storage module  160 , and the like, a receiving device  3806  that receives data on the basis of operations performed by a user with device such as a keyboard, mouse, or touch panel, an image output device  3805  such as a CRT or liquid crystal display, a communication link interface  3807  such as a network interface card for connecting to a communication network, and a bus  3808  for joining and exchanging data with the above components. Multiple such computers may also be connected to each other by a network. 
     Of the foregoing exemplary embodiments, for those made up of a computer program, software in the form of a computer program is made to be read into a system with the above hardware configuration, and the foregoing exemplary embodiments are realized by the cooperative action of the software and hardware resources. 
     Note that the hardware configuration illustrated in  FIG. 38  illustrates a single exemplary configuration, and that the exemplary embodiments are not limited to the configuration illustrated in  FIG. 38  insofar as the configuration still enables execution of the modules described in the exemplary embodiments. For example, some modules may also be realized with special-purpose hardware (such as an ASIC, for example), and some modules may be configured to reside within an external system and be connected via a communication link. Furthermore, it may also be configured such that multiple instances of the system illustrated in  FIG. 38  are connected to each other by a communication link and operate in conjunction with each other. Additionally, besides a personal computer in particular, an exemplary embodiment may also be incorporated into a device such as an information appliance, photocopier, fax machine, scanner, printer, or multi-function device (that is, an image processing device having two or more from among scanning, printing, copying, and faxing functions). 
     Note that the described program may be provided stored in a recording medium, but the program may also be provided via a communication medium. In this case, a computer-readable recording medium storing a program, for example, may also be taken to be an exemplary embodiment of the present invention with respect to the described program. 
     A “computer-readable recording medium storing a program” refers to a computer-readable recording medium upon which a program is recorded, and which is used in order to install, execute, and distribute the program, for example. 
     Potential examples of a recording medium include a Digital Versatile Disc (DVD), encompassing formats such as DVD-R, DVD-RW, and DVD-RAM defined by the DVD Forum and formats such as DVD+R and DVD+RW defined by DVD+RW Alliance, a compact disc (CD), encompassing formats such as read-only memory (CD-ROM), CD Recordable (CD-R), and CD Rewritable (CD-RW), a Blu-ray Disc (registered trademark), a magneto-optical (MO) disc, a flexible disk (FD), magnetic tape, a hard disk, read-only memory (ROM), electrically erasable and programmable read-only memory (EEPROM (registered trademark)), flash memory, random access memory (RAM), and a Secure Digital (SD) memory card. 
     In addition, all or part of the above program may also be recorded to the recording medium and saved or distributed, for example. Also, all or part of the above program may be communicated by being transmitted using a transmission medium such as a wired or wireless communication network used in a local area network (LAN), a metropolitan area network (MAN), a wide area network (WAN), an internet, an intranet, an extranet, or some combination thereof, or alternatively, by being impressed onto a carrier wave and propagated. 
     Furthermore, the above program may be part of another program, and may also be recorded to a recording medium together with other separate programs. The above program may also be recorded in a split manner across multiple recording media. The above program may also be recorded in a compressed, encrypted, or any other recoverable form. 
     The foregoing description of the exemplary embodiments of the present invention has been provided for the purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise forms disclosed. Obviously, many modifications and variations will be apparent to practitioners skilled in the art. The embodiments were chosen and described in order to best explain the principles of the invention and its practical applications, thereby enabling others skilled in the art to understand the invention for various embodiments and with the various modifications as are suited to the particular use contemplated. It is intended that the scope of the invention be defined by the following claims and their equivalents.