SYSTEM FOR QUESTION ANSWERING

A system includes: a controller; a memory coupled to the controller, wherein the memory is configured to store program instructions executable by the controller; wherein in response to executing the program instructions, the controller is configured to: in response to receiving a request to generate an advisor list, wherein the request includes a topic area value, access a database including a plurality of advisor records, wherein each advisor record includes at least one topic area value, an advisor merit score value, and a recency of registration value; selecting advisor records for use in the advisor list, wherein the selected advisor records include at least three of the advisor records, including a first record selected based on advisor merit score values and a second record based on recency of registration values; and generate the advisor list using the selected advisor records.

DETAILED DESCRIPTION OF THE INVENTION

FIG. 1illustrates an example of a question answering system100through which a questioner30may select an advisor60to answer his or her question from a list of advisors60compiled by the question answering system100from a database50. In the example shown inFIG. 1, the question answering system100includes a question answering platform20including: a controller40adapted to compile a list of advisors60, receive a selection of an advisor60or advisors60, and mediate the asking and answering of a question; a database50; and a user interface70. The user interface70provides one or more screens through which questioner30and advisors60may interact with the question answering system100.

FIG. 2is a flowchart showing the method200of operation as perceived by a user to ask a question or to answer a question using the question answering system100. As shown inFIG. 12at step200, when a user accesses the question answering system100he or she may choose whether he or she wants to be a questioner30and ask a question, or as to whether he or she wants to answer questions and become an advisor60. If the user chooses to ask a question (hereinafter ‘questioner30’), the questioner30is then directed to a series of screens to perform the steps200-207of asking a question, receiving an answer230, and providing feedback240(FIG. 6) using the question answering system100. Alternatively, if the user chooses to be an advisor60(hereinafter ‘advisor60’), the advisor60is then directed to a series of screens to perform the steps208-213of answering a question using the question answering system100. A user may be both a questioner30and an advisor60for different questions, and in embodiments where the advisor60is paid for answering questions; the advisor60may apply any earnings towards payment for future questions.

As shown in step202, the questioner30begins the process of asking a question by agreeing to the terms and conditions of the question answering system100.

As shown inFIG. 3, at step203, after agreeing to the terms and conditions, the questioner30may be prompted by a category selection screen to select a category110and/or subcategories111relating to the topic of the question. The questioner30may select from a list of general categories110or may be allowed to create their own category110.

At step204, as shown inFIG. 4, the questioner30is then presented with an advisor list115and may select from the advisor list115to choose an advisor60to answer his or her question. The advisor list115may have a fixed size regardless of category110. In the embodiment shown, five advisors60are included in the advisor list115. In alternative embodiments, the advisor list115may be other lengths, for example, the advisor list115may include ten advisors60. The advisor list115may be any length that provides a manageable selection of advisors60that includes a sufficient number of advisors60to provide variety for the questioner30to choose from, as will be appreciated by those skilled in the art from the examples provided herein.

For each advisor60in the advisor list115, a summary of that individual's skills, background, etc. may be displayed, so as to enable the questioner30to decide which of the advisors60to choose for answering their question. The questioner30may be permitted to select multiple advisors60, such as a main advisor60and any alternate advisors60who may answer the question if the main advisor60fails to answer within a predetermined time. In a preferred embodiment, the questioner30chooses one advisor60and one alternate advisor60. If the questioner30feels that the advisors60displayed are not adequate to answer their question, they may then select button116to proceed to a further list of advisors60, and if again not satisfied, may continue to proceed through advisor lists115until a sufficient number of advisors60are chosen, as may be determined by the user or predetermined in the question answering system100.

As shown inFIG. 5, the advisor list115drawn from a database50of advisor records65of available advisors60. The database50may include a variety of factors that may be used to assemble a well-suited list of advisors60. The database50may include factors that indicate a likelihood of an advisor60being able to answer a question competently and quickly. The database50may further include factors useful to provide advisors60a fair opportunity to be considered by questioners30.

First, to choose advisors60knowledgeable in the subject of the question, one factor that may be used in assembling the advisor list115is a topic category110and/or sub-category111. As described with reference toFIG. 3, the questioner30may select from a list of general categories110and/or sub-categories111or may be allowed to create their own category110. The questioner30may select multiple categories110and/or sub-categories111to which the question pertains. In an embodiment, the advisors60in the question answering system100are listed as being knowledgeable in the categories110and sub-categories111of their choosing, and advisors60not listed in the categories110and/or sub-categories111of the question chosen may be excluded from the advisor list115for the question.

To encourage better answers, another factor that may be used in assembling the advisor list115is user feedback from questioners30. As will be explained further below with regard toFIG. 6, after receiving an answer to a question, a questioner30may be presented with an opportunity to provide feedback240. In the embodiment shown inFIG. 6, the questioner is asked to rate the answer230. Feedback for an advisor60received from multiple questioners30may be aggregated into a feedback score120for the advisor60. In an embodiment, the ratings received as feedback240may be used to determine a feedback score120that represents a ranking of the advisor60relative to other advisors60.

The feedback score may take into account the total amount of feedback received to prevent advisors60having received a few strong ratings from outranking advisors60with a slightly lower average who have a longer history of excellent ratings. For example, if the advisors60are ranked on a ten point scale, an advisor60having an average of 9.0 with twenty ratings from questioners30may be given a higher feedback score120, all else equal, than an advisor60having an average of 9.5 with only two ratings from questioners30.

In some embodiments, feedback240may be multi-dimensional. For example, the question answering system100may ask for feedback240regarding the correctness of an answer230, the level of useful detail in the answer230, the questioner's satisfaction with the speed of receiving the answer230, etc. It is contemplated that feedback240may include any appraisal of an advisor's activity in the question answering system100, as will be understood by those skilled in the art from the examples provided herein.

An additional factor that may be used in determining an advisor list115may be a timeliness score130reflecting a history of the promptness of an advisor60in answering questions. For many questions, receiving an answer230quickly may be more important than being “correct.” For example, when looking for food, a questioner30might ask “Where are good places to eat in Champaign, Ill.?” For such a question, receiving a quick response may be crucial. The timeliness score130may be a measure of the average time an advisor60has previously taken to respond to a question presented to him or her. The timeliness score130may also be a ranking or rating that ranks an advisor60relative to all advisors60based on the average response time on questions presented to them. Even further, the timeliness score130may include information about the number of times an advisor60has failed to answer a question within a predetermined time limit. It is contemplated that the timeliness score130may include any information about the responsiveness of an advisor to a question, as will be understood by those skilled in the art from the examples provided herein. Further, when asking a question, a questioner30may indicate a preference for increased timeliness for questions that are very time dependent, or may indicate a reduced or lack of preference when timeliness is not important.

An even further factor that may be used in determining an advisor list115may be a measure of the recency of registration of the advisor60in the question answering system100. Since recently registered advisors60have little user feedback240, the feedback240they have received may be insufficient to calculate an accurate feedback score120. Thus, to increase accuracy, the question answering system100may favor new advisors60by preferentially including new advisors60in the advisor list115. For example, in a preferred embodiment, new advisors60may be displayed in the first three positions of the advisor list115during a trial period140for the new advisor60. During the trial period140, a new advisor60may be preferentially included in advisor list115for a set number of times, for example, five times, to permit new advisors60to develop a feedback score120and to encourage their participation in the question answering system100by being asked questions as soon as possible. In the preferred embodiment, after the trial period140, new advisors60will be included in the advisor list115as elsewhere described herein. Alternatively, in other embodiments, advisors60that have a long duration of registration in the question answering system100may be favored since experienced advisor60in a category110are known to often provide useful answers230based on experience. When asking a question, a questioner30may be permitted to indicate a preference for advisors60that have a long duration of registration.

The factors described above may be aggregated into an overall rating150that may be used to select advisors60for inclusion in the advisor list115. In an embodiment, an overall rating150may be used to compile the advisor list115by choosing the advisors60having the highest overall rating150. In an alternative embodiment, the advisors60may be chosen probabilistically from the pool of advisors60in a manner that preferentially favors advisors60having higher overall ratings150. An overall rating150may include further factors, for example, in embodiments where the questioner30is paying an advisor60for the advice, the advisor60may include a minimum payment, suggested payment, or otherwise competitively bid to answer questions in general or on a per-category basis.

Alternatively, the factors may be used to select advisors60for inclusion in the advisor list115on a quota basis. In an preferred embodiment, two of the advisors60are selected on a random basis out of the most recent one hundred advisors60to register, in the respective category110; another two advisors60are selected on a random basis out of the database50of advisors60pertaining to the respective category110; and the advisor60with the highest overall rating150is selected from the top of the merit list maintained for each category110. In further embodiments, the questioner30may indicate preferences that may be used in determining the factors used to select advisors60for inclusion in the advisor list115.

It is a goal of the question answering system100to be fair to advisors60, and provide all advisors60the opportunity to answer questions. Therefore, while a high overall rating150may result in an advisor60being frequently included in advisor lists115, the question answering system100may limit the frequency with which highly ranked advisors60are included in advisors list115to prevent lower-ranked advisors60from being excluded from advisor list115.

As shown at step205, after selecting advisors60, the questioner30may input a question for answering. The questioner30may include any information or media useful to properly describe the question and may include images, video, files, or links along with the question.

As shown in step206, a questioner30may be required to signup and pay before receiving an answer to his or her question. In the example shown, signup requests basic information such as login name, personal name, address, etc. Further, if the question answering system100requires payment, the questioner30may enter payment information. In a preferred embodiment, a questioner30may be permitted to ask a few initial questions for free.

After any required payment, the question may be sent to the advisor60selected. The advisor60may have a predetermined time limit, such as twenty-four hours, to answer the question. If the main advisor60does not answer, then the question is sent to one or more of any alternate advisors60selected, who may then also be required to answer in the predetermined time limit. If the alternate advisors60also do not answer in time, then the question may be sent to an advisor60selected by the question answering system100. Further, any advisor60not answering in time may be penalized with a lower timeliness score130. If the advisor60fails to answer a predetermined amount of questions, the advisor60may be suspended from the question answering system100.

To answer the question, the question answering system100may contact the advisor60by any communications means, such as e-mail, or SMS text message. The advisor60may be required to reply within a predetermined time limit, such as twenty-four hours, or the question is then sent to another alternate advisor60, who has also been selected from among the fixed list by the questioner30. In addition, any advisor60who does not answer may be penalized with a lower timeliness score130, as described above.

Turning toFIG. 6, at step207, once an answer230has been received from an advisor60, it is sent to the questioner30. The questioner30is then prompted to provide feedback240. In an embodiment, the answer230is forwarded to the questioner30via their email. The questioner30may then select a link to access a user interface70of the question answering system100to provide feedback240. For example, the email may include a link asking the questioner30to rate his or her satisfaction on a scale of one to ten. If the questioner does not respond with feedback240, then an average feedback240of five may be assumed and allotted to the advisor60. As described, the feedback240may be used as a factor in determining whether to include the advisor60in future advisor lists115. Further, as described, feedback240may be multi-dimensional and include dimensions such as: correctness of an answer230, the level of useful detail in the answer230, the user's satisfaction with the speed of the answer230, etc.

To provide for questioner30having further questions, additional question answering screens may be provided where more specialized detailed and lengthier information can be exchanged between the questioner30and the advisor60. The additional question answering screens may comprise a premium section, with premium pricing, and where the rules may be stricter. For example, in an embodiment of answering further questions, a rule may prevent any payment to the advisor60until and unless the questioner30reports that they are satisfied with the level of response.

Turning to steps208-213of the method200inFIG. 2, the steps of the method200trace the process of an advisor60registering and answering a question using the example question answering system100. Starting at step208, an advisor60may be presented with terms and conditions that the advisor60must accept to use the question answering system100. The advisor60may further be shown an explanatory screen to explain the process of registering to answer questions, the process of being selected to answer a question, the process of answering a question, etc.

As shown in step209, an advisor60may be prompted to enter personal information into the question answering system100. Personal information may be used to contact an advisor60, provide payment, etc. Further, personal information, such as demographic information, may be used by the question answering system100as a factor when selecting the list of advisors60for display to questioners30. To maintain confidentiality, personal information may be withheld from other users of the question answering system100. Further, any contact information provided may be used by the question answering system100to mediate the interaction between questioners30and the advisor60to further ensure confidentiality. For example, to maintain advisor60or questioner30confidentiality, direct contact between customer and advisor60may be restricted, such as by permitting interaction only through the question answering system100and withholding contact information. In embodiments where advisors60are paid for answering questions, advisors60may further be given the option of answering for free, or may be prompted to enter a minimum price for answering questions, or may otherwise be prompted regarding payment an advisor requires to answer a question.

Turning to step210, the advisor60may be presented with instructions explaining how to market their question answering skills to questioners30. The advisor60may be reminded that the questioner30selects him or her from an advisor list115and that the information requested in subsequent screens will be key to selling their skills to questioners30.

As shown inFIGS. 7 and 8, at step211, the advisor60is prompted to enter areas of expertise on which the advisor60feels qualified to give advice. In the preferred embodiment shown, the areas of expertise may include categories110and subcategories111of subject matter. The advisor60may be permitted to select as many categories110and subcategories111as he or she feels competent to answer questions in. If the advisor60cannot find a desired category110or subcategory111, the advisor60may be permitted to create a new category110or subcategory111. Further, the advisor60may be permitted to update his or her areas of expertise at any time. By selecting a category110or subcategory111of expertise, an advisor60may be added to the pool of advisors60eligible to answer questions in that category110or subcategory111and may be displayed to questioners30in the advisor list115.

At step212, the advisor60may be prompted to provide a personal summary that will be displayed to questioners30to permit a questioner30to evaluate the advisor60when choosing an advisor60to answer a question. The advisor60may be prompted to give a relevant summary of his or her education, life experiences, skill sets, contacts, knowledge base, etc. The question answering system100may further provide advice to help advisors60market their skills or otherwise explain their qualifications. The advisor60may be asked to provide, or may be permitted to provide, any information that may be useful to a questioner30in choosing an advisor60as will be understood by those skilled in the art from the examples provided herein.

At step213, after a questioner30has chosen an advisor60, the advisor60may be contacted and directed to an answer form to answer the question. In an embodiment, the advisor60receives an email directing the advisor60to a question answering screen of the question answering system100. In an alternate embodiment, an email address may be provided that the advisor60may use to respond to the question. In further embodiments, the advisor60may answer via SMS text message, etc. It is understood that the advisor60may be directed to respond to the question using any medium capable of receiving a written answer230as will be understood by those skilled in the art from the examples provided herein.

FIG. 9illustrates an example of a method250performed by the question answering system100. Starting at step251, the controller40receives a request to generate an advisor list including a topic area value. The controller40may then proceed to step252and access a database50including a plurality of advisor records65, wherein each advisor record65may include at least one topic area value, an advisor merit score value, and a recency of registration value.

Turning to step253, the controller40may select advisor records from the database50to form an advisor list115. In an embodiment, the selected advisor records65may include at least three of the advisor records65. To promote accuracy of answers, at least one of the advisor records65may be a record selected based on advisor merit score values. To permit new advisors to develop an advisor merit score value, at least one of the advisor records65may be based on recency of registration values.

Proceeding to step254, the controller40generates the advisor list using the selected advisor records65. The advisor list115may be compiled into a web document for display by the user interface70at step255. Through the user interface70, at step255, the controller40receives a user selection of an advisor60from the advisor list115and a question for the advisor60to answer.

Then, at step257, the controller40forwards the question to the advisor60, and retrieves an answer230from the user selected advisor60, if any. If the user selected advisor60does not respond in a predetermined time limit, at step258, the controller40forwards the question to a second selected advisor60and retrieves an answer230from the second selected advisor60, if any. Step258may be repeated with further selected advisors60until an answer230is retrieved. After retrieving an answer230, the answer230is displayed on the user interface70at step259. The questioner30may be prompted to provide feedback at step259, and at step260, the controller40may receive the user feedback through the user interface70and incorporate the user feedback240into the advisor merit score value corresponding to a user selected advisor.

As described, a controller40controls aspects of the question answering system100described herein. The controller40may be embodied in one or more controllers40that may be adapted run a variety of application programs, access and store data, including accessing and storing data in the associated database50(which may be embodied in one or more databases50), and enable one or more interactions with the other components of the question answering system100. Typically, the one or more controllers40are embodied in one or more programmable data processing devices. The hardware elements, operating systems, and programming languages of such devices are conventional in nature, and it is presumed that those skilled in the art are adequately familiar therewith.

For example, the one or more controllers40may be a PC based implementation of a central control processing system utilizing a central processing unit (CPU), memories and an interconnect bus. The CPU may contain a single microprocessor, or it may contain a plurality of microprocessors for configuring the CPU as a multi-processor system. The memories include a main memory80, such as a dynamic random access memory (DRAM) and cache, as well as a read only memory80, such as a PROM, EPROM, FLASH-EPROM, or the like. The system may also include any form of volatile or non-volatile memory80. In operation, the main memory80stores at least portions of instructions for execution by the CPU and data for processing in accord with the executed instructions.

The one or more controllers40may also include one or more input/output interfaces for communications with one or more processing systems. Although not shown, one or more such interfaces may enable communications via a network, e.g., to enable sending and receiving instructions electronically. The communication links may be wired or wireless.

The one or more controllers40may further include appropriate input/output ports for interconnection with one or more output displays and one or more input mechanisms serving as one or more user interfaces70for the controller40. For example, the one or more controllers40may include a graphics subsystem to drive the output display. The links of the peripherals to the system may be wired connections or use wireless communications.

Although summarized above as a PC-type implementation, those skilled in the art will recognize that the one or more controllers40also encompasses systems such as host computers, servers, workstations, network terminals, and the like. In fact, the use of the term controller40is intended to represent a broad category of components that are well known in the art.

Aspects of the systems and methods provided herein encompass hardware and software for controlling the relevant functions. Software may take the form of code or executable instructions for causing a controller40or other programmable equipment to perform the relevant steps, where the code or instructions are carried by or otherwise embodied in a medium readable by the controller40or other machine. Instructions or code for implementing such operations may be in the form of computer instruction in any form (e.g., source code, object code, interpreted code, etc.) stored in or carried by any tangible readable medium.

As used herein, terms such as computer or machine “readable medium” refer to any medium that participates in providing instructions to a processor for execution. Such a medium may take many forms. Non-volatile storage media include, for example, optical or magnetic disks, such as any of the storage devices in any computer(s) shown in the drawings. Volatile storage media include dynamic memory, such as main memory of such a computer platform. Common forms of computer-readable media therefore include for example: a floppy disk, a flexible disk, hard disk, magnetic tape, any other magnetic medium, a CD-ROM, DVD, any other optical medium, punch cards paper tape, any other physical medium with patterns of holes, a RAM, a PROM and EPROM, a FLASH-EPROM, any other memory chip or cartridge, or any other medium from which a computer can read programming code and/or data. Many of these forms of computer readable media may be involved in carrying one or more sequences of one or more instructions to a processor for execution.