Computer systems and programs
The system addresses the inflexibility of existing interview systems by using speculative execution and natural language processing to generate additional questions dynamically, enhancing question adaptability and quality.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-09-09
- Publication Date
- 2026-03-19
AI Technical Summary
Existing interview systems lack flexibility in generating questions, as they rely on predefined question lists, limiting the adaptability to user responses.
A computer system that includes a processor and storage medium, which performs speculative execution to generate additional questions using a natural language processing program, considering user answers and storing these candidates for flexible question presentation.
Enables the system to present flexible additional questions in response to user answers, ensuring high-quality and timely generation of questions during the interview process.
Smart Images

Figure 2026049859000001_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a system for conducting interviews.
Background Art
[0002] As a document that discloses a system for a user to conduct an interview, there is Patent Document 1. Patent Document 1 discloses that "in a mock interview system 10 in which a terminal device 20 and a server device 30 are connected via a network 11, the terminal device 10 includes a collection unit 213 that records the voice of a user who answers questions in a mock interview, a voice recognition unit 214 that converts voice data obtained by recording the user's voice into text data, and a voice input / output unit 24 and a display unit 25 that output questions to the user and also output evaluation information for the user. The server device 30 includes an analysis unit 312 that analyzes the user's voice data and text data, a question determination unit 311 that determines the next question based on the analysis result by the analysis unit corresponding to the previous question, and an evaluation unit 314 that generates evaluation information for the user based on the analysis result by the analysis unit 312."
[0003] Further, Patent Document 1 adopts a question selected from a question list as disclosed in paragraph
[0080] for question generation, that is, "referring to the question DB 321 in the storage unit 32, randomly select one question list other than the question list previously selected for the user from the question list group corresponding to the mock interview course and level transmitted from the terminal device 20 in step S2, and determine the first question based on the selected question list."
Prior Art Documents
Patent Documents
[0004]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0005] The technology disclosed in Patent Document 1 uses questions that exist in a question list, so there is room for improvement in the flexibility of the questions that are generated. [Means for solving the problem]
[0006] A typical example of the invention disclosed in this application is as follows: a computer system comprising a processor and a storage medium connected to the processor, wherein the processor outputs output data for presenting a first question to a user, sequentially receives first stream data from the user including an answer to the first question, performs a speculative execution process for generating a first question candidate one or more times while receiving the first stream data, and when the input of an answer to the first question is completed, generates a second question based on at least one first question candidate generated by the speculative execution process for generating the first question candidate, outputs output data for presenting the second question to the user, and in the speculative execution process for generating the first question candidate, the processor generates a first prompt that causes a natural language processing program to perform the generation of the first question candidate taking into account the answer included in the received first stream data, inputs the first prompt to the natural language processing program, and stores the first question candidate generated by the natural language processing program in the storage medium. [Effects of the Invention]
[0007] According to the present invention, the interview system can present flexible additional questions (second questions) in response to the user's answer to the first question. Other issues, configurations, and effects will be clarified by the following description of the embodiments. [Brief explanation of the drawing]
[0008] [Figure 1] This figure shows an example of the system configuration of Example 1. [Figure 2] This figure shows an example of the data structure of the hypothetical question database in Example 1. [Figure 3]This figure shows an example of the data structure of the question candidate database in Example 1. [Figure 4A] This figure shows an example of the UI of Example 1. [Figure 4B] This figure shows an example of the UI of Example 1. [Figure 5] This is a sequence diagram illustrating the processing flow of the system in Example 1. [Figure 6] This is a flowchart illustrating an example of the processing performed by the audio extraction unit in Example 1. [Figure 7] This is a flowchart illustrating an example of the process performed by the question generation unit in Example 1. [Figure 8] This is a flowchart illustrating an example of the process performed by the question selection unit in Example 1. [Figure 9] This flowchart illustrates an example of the question candidate monitoring process performed by the question selection unit in Example 1. [Figure 10] This flowchart illustrates an example of the additional question selection process performed by the question selection unit in Example 1. [Figure 11] This is a flowchart illustrating an example of the process performed by the question generation unit in Example 2. [Figure 12] This flowchart illustrates an example of the question candidate monitoring process performed by the question selection unit in Example 2. [Figure 13] This flowchart illustrates an example of the process performed by the question generation unit in Example 3. [Figure 14] This flowchart illustrates an example of the additional question selection process performed by the question selection unit in Example 3. [Figure 15] This figure shows an example of the data structure of the question candidate database in Example 4. [Figure 16] This is a flowchart illustrating an example of the process performed by the question generation unit in Example 4. [Figure 17] This flowchart illustrates an example of the question candidate monitoring process performed by the question selection unit in Example 5. [Figure 18A]This is a flowchart for explaining an example of the additional question selection process executed by the question selection unit of Example 6. [Figure 18B] This is a flowchart for explaining an example of the additional question selection process executed by the question selection unit of Example 6.
Embodiment for Carrying Out the Invention
[0009] Hereinafter, embodiments of the present invention will be described with reference to the drawings. However, the present invention is not to be construed as being limited to the description of the embodiments shown below. Those skilled in the art can easily understand that the specific configuration can be changed without departing from the spirit or gist of the present invention.
[0010] In the configuration of the invention described below, the same or similar configurations or functions are denoted by the same reference numerals, and redundant explanations are omitted.
[0011] As examples of various types of information, there may be descriptions in expressions such as "table", "list", "queue", etc., but the various types of information may be represented by other data structures. For example, various types of information such as "XX table", "XX list", "XX queue", etc. may be referred to as "XX information". When explaining identification information, expressions such as "identification information", "identifier", "name", "ID", "number", etc. are used, but these are mutually replaceable.
[0012] The notations such as "first", "second", "third", etc. in this specification and the like are attached to identify components and do not necessarily limit the number or order.
[0013] The positions, sizes, shapes, ranges, etc. of the respective configurations shown in the drawings and the like may not represent the actual positions, sizes, shapes, ranges, etc. in order to facilitate understanding of the invention. Therefore, in the present invention, it is not limited to the positions, sizes, shapes, ranges, etc. disclosed in the drawings and the like.
Examples
[0014] Figure 1 shows an example of the system configuration of Example 1.
[0015] The system consists of an interview system 100, a terminal 101, and a natural language processing system 102. The interview system 100, terminal 101, and natural language processing system 102 are connected via a network such as a LAN (Local Area Network).
[0016] Terminal 101 is a device operated by the user, such as a general-purpose computer, smartphone, or tablet. The interview system 100 provides a UI 130 to Terminal 101. The UI 130 presents questions and transmits the user's answers to the questions to the interview system 100. Possible methods for presenting questions include text display on the screen and audio output. Furthermore, when the UI 130 detects the end of the user's response input, i.e., the end of their speech, it sends a speech completion notification to the question selection unit 110. The answer may also be entered in text format.
[0017] The natural language processing system 102 performs various natural language processing tasks using the natural language processing program 140. The natural language processing program 140 receives prompts containing the task content, such as questions written in natural language, understands the task content, generates response text, and outputs it.
[0018] Possible use cases for the system include users practicing for job interviews and companies conducting recruitment interviews.
[0019] The interview system 100 is a system for conducting interviews and consists of a computer having a processor, a storage medium such as memory, and a communication interface. The interview system 100 may be configured using a single computer. The interview system 100 includes a question selection unit 110, a voice extraction unit 111, and a question generation unit 112, and also holds a hypothetical question database 120 and a question candidate database 121. The question selection unit 110, the voice extraction unit 111, and the question generation unit 112 are realized by the processor executing a program stored in memory. The functional units may be combined into one, or one functional unit may be divided into multiple functional units.
[0020] The program may be installed via a network or via a non-temporary computer-readable medium that can be read by a computer.
[0021] The anticipated question DB120 is a database that stores pre-prepared questions (anticipated questions). The question candidate DB121 is a database that stores candidate additional questions generated by the natural language processing program 140. In the following explanation, unless otherwise distinguished, anticipated questions and additional questions will be referred to simply as "questions."
[0022] The question selection unit 110 selects a hypothetical question from the hypothetical question database 120, or selects an additional question from the question candidate database 121, and sends the selected question to the UI 130 of the terminal 101. The UI 130 displays the received question.
[0023] The voice extraction unit 111 acquires stream data containing the user's voice via the UI 130. The stream data is either video data or audio data. While the user is inputting an answer to a question (while receiving the stream data), the voice extraction unit 111 performs speculative execution processing to extract the voice from the received stream data and convert it into text. Note that "speculative execution" does not refer to the financial securities trading sense, but to a computer optimization technique. It means "to make a computer perform processing that may not be necessary" (excerpted from https: / / ja.wikipedia.org / wiki / %E6%8A%95%E6%A9%9F%E7%9A%84%E5%AE%9F%E8%A1%8C on August 8, 2024) or "a computer system performs some task that may not be needed" (excerpted from https: / / en.wikipedia.org / wiki / Speculative_execution on August 8, 2024).
[0024] The question generation unit 112 performs speculative execution processing to generate candidate questions while the user is inputting an answer to a question (while receiving stream data). Specifically, the question generation unit 112 generates a prompt that includes the text (answer) generated by the speech extraction unit 111 and instructs the natural language processing program 140 to generate additional questions corresponding to the user's answer, and inputs this prompt to the natural language processing program 140. The question generation unit 112 stores the additional questions generated by the natural language processing program 140 in the candidate question database 121.
[0025] Note that the system configuration shown in Figure 1 is just an example and is not limited thereto. For example, the interview system 100 may have a natural language processing program 140.
[0026] Figure 2 shows an example of the data structure of the hypothetical question DB120 in Example 1.
[0027] The hypothetical question DB120 stores, for example, a table 200 as shown in Figure 2. Table 200 stores entries containing ID 201 and hypothetical question 202. There is one entry for each hypothetical question.
[0028] ID201 is a field that stores the ID of the anticipated question. Anticipated question 202 is a field that stores the text corresponding to the anticipated question. In this embodiment, the IDs are set in the order of the questions.
[0029] Figure 3 shows an example of the data structure of the question candidate DB121 in Example 1.
[0030] The question candidate DB121 stores, for example, a table 300 as shown in Figure 3. Table 300 stores entries containing the question number 301, utterance slot 302, answer 303, and question candidate 304. There is one entry for each combination of question number and slot.
[0031] The "Question Count 301" field stores the number of questions asked to the user.
[0032] The speech slot 302 is a field that stores the ID of the slot. Here, a slot is a processing range for stream data, and in this embodiment, slots are defined based on the elapsed time from the start of speech. Specifically, slots are defined in 10-second increments from the start of speech (0 seconds). An ID is set for each slot; a slot with ID "1" targets speech from 0 seconds to 10 seconds, and a slot with ID "2" targets speech from 0 seconds to 20 seconds.
[0033] It should be assumed that a sufficient number of slots are set to capture all of the user's responses. Furthermore, the processing range of the stream data only needs to be defined based on the start of the utterance.
[0034] Response 303 is a field that stores the user's utterances (responses) within a predetermined time period from the start of the utterance. The user's responses are stored in Response 303 as text.
[0035] Question candidate 304 is a field that stores question candidates generated considering the answer stored in answer 303. Question candidate 304 stores the question candidates as text.
[0036] Figures 4A and 4B show an example of UI130 in Example 1.
[0037] UI130 includes a recording button 401, a checkbox 402, an input field 403, a display field 404, and a display field 405.
[0038] The recording button 401 is a button that the user operates to initiate speech. In this embodiment, while the recording button 401 is pressed, the UI 130 sequentially transmits stream data to the interview system 100. When the user speaks, the stream data includes the voice. When the user releases the recording button 401, the UI 130 stops transmitting the stream data and sends a speech completion notification to the interview system 100.
[0039] Checkbox 402 is a box for specifying whether to enable or disable automatic detection of the end of recording. When checkbox 402 is checked, automatic detection of the end of recording is enabled, and the input field 403 for specifying the threshold for detecting the end of recording is enabled. For example, the audio extraction unit 111 determines that recording has ended if it continuously receives silent stream data for a period exceeding the threshold set in the input field 403. Alternatively, the audio extraction unit 111 may determine the end of recording using a silence detection model that accepts stream data as input and determines whether or not speech has ended.
[0040] Display field 404 is a field for displaying the question. In this embodiment, UI130 outputs the question as audio and also displays the question as text in display field 404. Display field 405 is a field for displaying the user's answer.
[0041] Figure 4A shows an example of UI130 when a question is displayed and the user is entering an answer to the question by pressing the record button 401. The display field 405 shows "(Processing)" until the user has finished entering their answer.
[0042] Figure 4B shows an example of the UI 130 when the user releases the recording button 401 and an additional question is displayed. In this case, the display area 405 displays the answer to the question preceding the additional question displayed in display area 404.
[0043] Figure 5 is a sequence diagram illustrating the processing flow of the system in Example 1.
[0044] When the question selection unit 110 detects the start of an interview, it sets the number of questions to "1" and sends the number of questions along with the anticipated questions to the UI 130 (step S101). Specifically, the question selection unit 110 sends data to the UI 130 to prompt the user to present the anticipated questions. The UI 130 then presents the anticipated questions to the user based on the received data.
[0045] When the user starts entering an answer, UI130 sends stream data along with the number of questions to the voice extraction unit 111 (step S102).
[0046] The audio extraction unit 111 stores the received stream data in a storage medium. At predetermined timings, the audio extraction unit 111 extracts audio from the stream data within a predetermined time range, converts the audio to text, and sends the text, along with the question number and slot ID, to the question generation unit 112 (step S103). The audio extraction unit 111 repeatedly performs the process in step S103 while receiving stream data.
[0047] When the question generation unit 112 receives text, it obtains question candidates by inputting a prompt containing the text to the natural language processing program 140, and stores the question candidates in the question candidate DB 121 (step S104). The question generation unit 112 repeatedly executes the process in step S104 while receiving stream data.
[0048] When UI130 detects that the user has finished speaking, it sends a speech completion notification to the question selection unit 110 (step S105).
[0049] When the question selection unit 110 receives a notification that the utterance has ended, it selects an additional question from the list of candidate questions and sends the additional question to the UI 130 (step S106). Specifically, the question selection unit 110 sends data to the UI 130 to prompt the user to present the additional question. The question selection unit 110 may also generate the additional question by modifying the wording of the selected candidate question and performing translation or other processing. The UI 130 presents the additional question to the user based on the received data.
[0050] The processes in steps S102, S103, S104, S105, and S106 are then repeatedly executed.
[0051] If the number of additional questions exceeds a predetermined value, or if it is not necessary to generate additional questions, the question selection unit 110 selects the next hypothetical question from the hypothetical question DB 120 and performs the same process. For example, if answers are obtained for all hypothetical questions, the interview system 100 terminates the interview.
[0052] Figure 6 is a flowchart illustrating an example of the process performed by the audio extraction unit 111 in Embodiment 1.
[0053] When the voice extraction unit 111 detects the start of an interview, it begins the process described below.
[0054] The audio extraction unit 111 monitors the reception of stream data (step S201).
[0055] If stream data is received (step S201: YES), the audio extraction unit 111 stores the received stream data in the storage medium (step S202).
[0056] The audio extraction unit 111 determines whether the stream data is the first stream data for a question corresponding to the question count assigned to the stream data (step S203). For example, the audio extraction unit 111 determines whether an entry with the same question count as the one assigned to the stream data is registered in the question candidate DB 121.
[0057] If the stream data is not the first stream data corresponding to the question with the number of questions assigned to the stream data (step S203: NO), the speech extraction unit 111 proceeds to step S205.
[0058] If the stream data is the first stream data for a question corresponding to the number of questions assigned to the stream data (step S203: YES), the speech extraction unit 111 sets the threshold for the first slot and starts counting the elapsed time (step S204). The speech extraction unit 111 then proceeds to step S205. In this embodiment, the threshold for the first slot is 10 seconds.
[0059] In step S205, the audio extraction unit 111 determines whether or not it is time for audio extraction. Specifically, the audio extraction unit 111 determines whether or not the elapsed time is greater than a threshold. If the elapsed time is greater than the threshold, it is determined that it is time for audio extraction. In addition, if stream data without audio is received continuously for a certain period of time, the audio extraction unit 111 may determine that it is time for audio extraction, assuming that the input of the answer to the question has been completed.
[0060] If it is not the right time to extract audio (step S205: NO), the audio extraction unit 111 proceeds to step S209.
[0061] If it is the audio extraction timing (step S205: YES), the audio extraction unit 111 extracts audio from the stream data received during the period corresponding to the slot and converts it to text (step S206).
[0062] The voice extraction unit 111 registers the text in the question candidate DB 121 (step S207). Specifically, the voice extraction unit 111 sets the text in the question count 301 and the utterance slot 302, and in the answer 303 of the entry where the question count and slot ID are stored.
[0063] The voice extraction unit 111 sends text to the question generation unit 112 (step S207). The text includes the question number and the slot ID.
[0064] The audio extraction unit 111 sets the threshold for the next slot (step S208), and then proceeds to step S209.
[0065] In step S209, the voice extraction unit 111 determines whether the interview has ended (step S209).
[0066] If the interview is not yet complete (step S209: NO), the voice extraction unit 111 returns to step S201. If the interview is complete (step S209: YES), the voice extraction unit 111 terminates processing.
[0067] Figure 7 is a flowchart illustrating an example of the process performed by the question generation unit 112 in Embodiment 1.
[0068] When the question generation unit 112 detects the start of an interview, it begins the process described below. The process shown in Figure 7 is executed a number of times equal to the number of slots. Possible execution methods include executing the process shown in Figure 7 in parallel, or creating threads to execute the process shown in Figure 7 in slot order, and then creating the next thread after the process shown in Figure 7 is completed.
[0069] The question generation unit 112 monitors for the reception of text corresponding to a slot (step S301). The reception of text corresponding to a slot can be determined based on the slot ID assigned to the text.
[0070] If text corresponding to a slot is received (step S301: YES), the question generation unit 112 generates a prompt containing the received text and inputs it to the natural language processing program 140 (step S302).
[0071] The question generation unit 112 retrieves the question candidates generated by the natural language processing program 140 (step S303) and registers the question candidates in the question candidate DB 121 (step S304). Specifically, the question generation unit 112 searches for an entry in the question count 301 and utterance slot 302 in which the question count and slot ID assigned to the text are stored, sets the received text in the answer 303 of the entry, and sets the question candidate in the question candidate 304 of the entry.
[0072] The question generation unit 112 determines whether the interview has ended or not (step S305).
[0073] If the interview is not yet complete (step S305: NO), the question generation unit 112 returns to step S301. If the interview is complete (step S305: YES), the question generation unit 112 terminates processing.
[0074] Figure 8 is a flowchart illustrating an example of the process performed by the question selection unit 110 in Embodiment 1.
[0075] When the question selection unit 110 detects the start of an interview, it begins the process described below.
[0076] The question selection unit 110 sets the number of questions to "1" and sets the variable "additional question" to the initial value "Not Found" (step S401). At this time, the question selection unit 110 adds entries to the question candidate DB 121 equal to the number of slots, sets the number of questions 301 of the added entries to "1", and sets the slot ID to each utterance slot 302 of the added entries.
[0077] The question selection unit 110 selects a hypothetical question from the hypothetical question DB 120 and sends the hypothetical question along with the number of questions to the UI 130 (step S402). Specifically, the question selection unit 110 sends data to the UI 130 to prompt the user to present the hypothetical questions.
[0078] The question selection unit 110 starts the question candidate monitoring process and the additional question selection process (step S403).
[0079] Figure 9 is a flowchart illustrating an example of the question candidate monitoring process performed by the question selection unit 110 in Embodiment 1.
[0080] The question selection unit 110 monitors whether a new question candidate has been added to the question candidate DB 121 (step S501).
[0081] If a new question candidate is added to the question candidate DB121 (S501:YES), the question selection unit 110 determines whether the number of questions asked for the new question candidate matches the current number of questions asked (step S502). Specifically, the question selection unit 110 determines whether the value of the number of questions asked 301 for the entry in which the question candidate is set matches the number of questions asked held by the question selection unit 110.
[0082] If the number of questions for a new candidate question does not match the current number of questions (step S502: NO), the question selection unit 110 proceeds to step S504.
[0083] If the number of questions for a new candidate question matches the current number of questions (step S502: YES), the question selection unit 110 sets the added candidate question in the variable "additional question" (step S503). Then, the question selection unit 110 proceeds to step S504.
[0084] In step S504, the question selection unit 110 determines whether the interview has ended or not (step S504).
[0085] If the interview is not yet complete (Step S504: NO), the question selection unit 110 returns to Step S501. If the interview is complete (Step S504: YES), the question selection unit 110 terminates processing.
[0086] Figure 10 is a flowchart illustrating an example of the additional question selection process performed by the question selection unit 110 in Embodiment 1.
[0087] The question selection unit 110 monitors for the receipt of a speech completion notification (step S601).
[0088] If a notification of the end of speech is received (step S601: YES), the question selection unit 110 determines whether the variable "additional question" is "Not Found" or not (step S602).
[0089] If the variable "additional question" is "Not Found" (step S602: YES), the question selection unit 110 waits for a certain period of time and then returns to step S602.
[0090] If the variable "additional question" is not "Not Found" (step S602: NO), the question selection unit 110 sends the question candidate set in the variable "additional question" to the UI 130 as an additional question (step S603). Specifically, the question selection unit 110 sends data to the UI 130 to prompt the user to present an additional question. At this time, the question selection unit 110 adds 1 to the current question count and assigns this value to the data.
[0091] The question selection unit 110 increments the current question count by 1 and sets the variable "additional question" to "Not Found" (step S604). At this time, the question selection unit 110 adds entries to the question candidate DB 121 equal to the number of slots, sets the updated question count 301 for each entry, and sets the slot ID for each utterance slot 302 of each entry.
[0092] The question selection unit 110 determines whether the interview has ended or not (step S605).
[0093] If the interview is not yet complete (step S605: NO), the question selection unit 110 returns to step S601. If the interview is complete (step S605: YES), the question selection unit 110 terminates processing.
[0094] The interview system 100 of Example 1 can flexibly generate candidate questions in response to answers by using a natural language processing program 140. Furthermore, the interview system 100 can generate, store, and select candidate questions from a portion of the user's utterance while the user is speaking, thereby quickly presenting additional questions after the utterance ends. By performing speculative execution processing of candidate questions, it is possible to generate high-quality candidate questions while ensuring speed. [Examples]
[0095] In Example 2, the interview system 100 determines the validity of the content of the additional questions.
[0096] The hardware configuration of the system in Example 2 is the same as that of Example 1. The software configuration of the system in Example 2 differs in that the interview system 100 holds NG setting information and NG case information, and the question generation unit 112 manages the regeneration flag.
[0097] NG setting information defines undesirable question content or expression, such as a candidate question not being in question form. NG example information is used to manage examples of questions with undesirable content or expression (NG examples).
[0098] The regeneration flag is used to control whether or not to regenerate the candidate questions. The regeneration flag can take either a value of False, which indicates that the candidate questions do not need to be regenerated, or True, which indicates that the candidate questions do need to be regenerated. The regeneration flag is initially set to False.
[0099] The processing flow of the system in Example 2 is the same as in Example 1. Furthermore, the processing performed by the voice extraction unit 111 in Example 2 is the same as in Example 1. However, in Example 2, the voice extraction unit 111 sets the end of response input as the voice extraction timing. In this case, all spoken content is extracted.
[0100] In Example 2, the processing performed by the question generation unit 112 is slightly different. Figure 11 is a flowchart illustrating an example of the processing performed by the question generation unit 112 in Example 2.
[0101] The question generation unit 112 monitors for the reception of text corresponding to the slot (step S301).
[0102] If text corresponding to a slot is received (step S301: YES), the question generation unit 112 retrieves an NG case from the NG case information (step S351).
[0103] The question generation unit 112 generates a prompt including the NG case and the received text, and inputs it to the natural language processing program 140 (step S352).
[0104] The question generation unit 112 obtains the question candidates generated by the natural language processing program 140 (step S303) and registers the question candidates in the question candidate DB 121 (step S304). Subsequently, the question generation unit 112 monitors for updates to the regeneration flag (step S353).
[0105] The question generation unit 112 determines whether the updated regeneration flag is False or not if the regeneration flag has been updated (step S354).
[0106] If the updated regeneration flag is True (step S354: NO), the question generation unit 112 changes the regeneration flag to False (step S355), and then returns to step S351.
[0107] If the updated regeneration flag is False (step S354: YES), the question generation unit 112 determines whether the interview has ended (step S305).
[0108] If the interview is not yet complete (step S305: NO), the question generation unit 112 returns to step S301. If the interview is complete (step S305: YES), the question generation unit 112 terminates processing.
[0109] The additional question selection process in Example 2 is the same as in Example 1. However, the question candidate monitoring process differs slightly in Example 2. Figure 12 is a flowchart illustrating an example of the question candidate monitoring process performed by the question selection unit 110 in Example 2.
[0110] The question selection unit 110 monitors whether a new question candidate has been added to the question candidate DB 121 (step S501).
[0111] If a new candidate question is added to the candidate question DB121 (S501:YES), the question selection unit 110 refers to the NG setting information to determine whether the new candidate question is valid or not (step S551).
[0112] If the new question candidate is valid (step S551: YES), the question selection unit 110 sets the new question candidate in the variable "additional question" (step S503). The question selection unit 110 updates the regeneration flag to False (step S552), and then proceeds to step S504.
[0113] If the new candidate question is not valid (step S551: NO), the question selection unit 110 adds the new candidate question to the NG case information (step S553). The question selection unit 110 updates the regeneration flag to True (step S554), and then proceeds to step S504.
[0114] In step S504, the question selection unit 110 determines whether the interview has ended or not (step S504).
[0115] If the interview is not yet complete (Step S504: NO), the question selection unit 110 returns to Step S501. If the interview is complete (Step S504: YES), the question selection unit 110 terminates processing.
[0116] According to Example 2, by determining the appropriateness of candidate questions in advance, it is possible to prevent the presentation of additional questions with inappropriate content or expressions. [Examples]
[0117] In Example 3, the interview system 100 stops generating candidate questions for questions for which the answer has been entered.
[0118] The hardware configuration of the system in Example 3 is the same as that of Example 1. The software configuration of the system in Example 3 differs in that the question generation unit 112 manages the cancellation trigger. The cancellation flag is a flag used to manage the number of questions for which the answer input has been completed.
[0119] The processing flow of the system in Example 3 is the same as that of Example 1. Furthermore, the processing performed by the voice extraction unit 111 in Example 3 is the same as that in Example 1.
[0120] In Example 3, the processing performed by the question generation unit 112 is slightly different. Figure 13 is a flowchart illustrating an example of the processing performed by the question generation unit 112 in Example 3.
[0121] The question generation unit 112 monitors for the reception of text corresponding to the slot (step S301).
[0122] If text corresponding to a slot is received (step S301: YES), the question generation unit 112 determines whether the current question count matches the cancellation trigger (step S361). Specifically, the question generation unit 112 determines whether the question count attached to the text matches the cancellation trigger.
[0123] If the current number of questions matches the cancellation trigger (step S361: YES), the question generation unit 112 discards the text (step S362) and proceeds to step S304.
[0124] If the current number of questions does not match the cancellation trigger (step S361: NO), the question generation unit 112 generates a prompt containing the received text and inputs it to the natural language processing program 140 (step S302).
[0125] The question generation unit 112 obtains the question candidates generated by the natural language processing program 140 (step S303) and registers the question candidates in the question candidate DB 121 (step S304). After that, the question generation unit 112 proceeds to step S305.
[0126] In step S305, the question generation unit 112 determines whether the interview has ended or not (step S305).
[0127] If the interview is not yet complete (step S305: NO), the question generation unit 112 returns to step S301. If the interview is complete (step S305: YES), the question generation unit 112 terminates processing.
[0128] The question candidate monitoring process in Example 3 is the same as in Example 1. The additional question selection process differs slightly in Example 3. Figure 14 is a flowchart illustrating an example of the additional question selection process performed by the question selection unit 110 in Example 3.
[0129] The question selection unit 110 monitors for the receipt of a speech completion notification (step S601).
[0130] If a notification of the end of speech is received (step S601: YES), the question selection unit 110 determines whether the variable "additional question" is "Not Found" or not (step S602).
[0131] If the variable "additional question" is "Not Found" (step S602: YES), the question selection unit 110 waits for a certain period of time and then returns to step S602.
[0132] If the variable "additional question" is not "Not Found" (step S602: NO), the question selection unit 110 sends the question candidate added to the variable "additional question" to the UI 130 as an additional question (step S603).
[0133] The question selection unit 110 sets the current number of questions as the cancellation trigger (step S651).
[0134] The question selection unit 110 increments the current number of questions by 1 and sets the variable "additional question" to "Not Found" (step S604).
[0135] The question selection unit 110 determines whether the interview has ended or not (step S605).
[0136] If the interview is not yet complete (step S605: NO), the question selection unit 110 returns to step S601. If the interview is complete (step S605: YES), the question selection unit 110 terminates processing.
[0137] According to Example 3, the interview system 100 can suppress the generation of candidate questions for which answers have already been obtained. This is expected to reduce the amount of resources used and the cost required to generate candidate questions. [Examples]
[0138] In Example 4, the interview system 100 includes the selected candidate questions as additional questions in the prompt.
[0139] The hardware and software configurations of the system in Example 4 are the same as those in Example 1. However, the data structure of the question candidate DB121 in Example 1 differs slightly from that of Example 1. Figure 15 shows an example of the data structure of the question candidate DB121 in Example 4.
[0140] The entries stored in table 300 now include a selection flag 305. The selection flag 305 is a field that stores a flag indicating whether or not a candidate question has been selected as an additional question. If the candidate question has not been selected as an additional question, it is set to "0", and if the candidate question has been selected as an additional question, it is set to "1". When a candidate question is generated, the selection flag 305 is set to "0". The interview system 100 controls the system so that candidate questions with a selection flag 305 set to "0" are not used in subsequent processing. When the input of answers to the current question is finished, the interview system 100 may delete entries with a blank selection flag 305 and entries with a selection flag 305 set to "0". This allows for efficient use of the data capacity of the storage medium.
[0141] The processing flow of the system in Example 4 is the same as that of Example 1. Furthermore, the processing performed by the audio extraction unit 111 in Example 4 is the same as that of Example 1.
[0142] In Example 4, the processing performed by the question generation unit 112 is slightly different. Figure 16 is a flowchart illustrating an example of the processing performed by the question generation unit 112 in Example 4.
[0143] The question generation unit 112 monitors for the reception of text corresponding to the slot (step S301).
[0144] If text corresponding to a slot is received (step S301: YES), the question generation unit 112 determines whether the current number of questions is 2 or more (step S371). Specifically, the question generation unit 112 determines whether the number of questions attached to the text is 2 or more.
[0145] If the current number of questions is 1 (step S371: NO), the question generation unit 112 generates a prompt containing the received text and inputs it to the natural language processing program 140 (step S302). The question generation unit 112 then proceeds to step S303.
[0146] If the current question count is 2 or more (step S371: YES), the question generation unit 112 retrieves the answer and additional questions from the previous question count from the question candidate DB 121 (step S372). Specifically, the question generation unit 112 searches for an entry where the question count 301 is set to the question count immediately preceding the current question count, and the selection flag 305 is "1". The question generation unit 112 retrieves the text stored in the answer 303 and question candidate 304 of the retrieved entry. The question generation unit 112 may also retrieve all answers and additional questions prior to the current question count.
[0147] The question generation unit 112 generates a prompt containing the acquired additional questions and answers, as well as the received text, and inputs it into the natural language processing program 140 (step S373). The question generation unit 112 then proceeds to step S303.
[0148] The question generation unit 112 obtains the question candidates generated by the natural language processing program 140 (step S303) and registers the question candidates in the question candidate DB 121 (step S304).
[0149] The question generation unit 112 determines whether the interview has ended or not (step S305).
[0150] If the interview is not yet complete (step S305: NO), the question generation unit 112 returns to step S301. If the interview is complete (step S305: YES), the question generation unit 112 terminates processing.
[0151] The question candidate monitoring process in Example 4 is the same as in Example 1. Also, the flow of the additional question selection process in Example 4 is the same as in Example 1, but the processing content of step S603 is slightly different. Specifically, the question selection unit 110 sets the selection flag 305 of the entry corresponding to the question candidate sent as an additional question to "1".
[0152] According to Example 4, by including previously outputted additional questions and the answers used to generate those additional questions in the prompt, the natural language processing program 140 can generate high-quality question candidates. [Examples]
[0153] In Example 5, the interview system 100 determines the validity of the content of the additional questions.
[0154] The hardware configuration of the system in Example 5 is the same as that of Example 1. The software configuration of the system in Example 2 differs in that the interview system 100 holds NG setting information. NG setting information defines the content or expression of undesirable questions, such as a candidate question not being in question form.
[0155] The processing flow of the system in Example 5 is the same as that of Example 1. Furthermore, the processing performed by the voice extraction unit 111 and the question generation unit 112 in Example 5 is the same as that of Example 1.
[0156] The additional question selection process in Example 5 is the same as in Example 1. In Example 5, the question candidate monitoring process is slightly different. Figure 17 is a flowchart illustrating an example of the question candidate monitoring process performed by the question selection unit 110 in Example 5.
[0157] The question selection unit 110 monitors whether a new question candidate has been added to the question candidate DB 121 (step S501).
[0158] If a new question candidate is added to the question candidate DB121 (S501:YES), the question selection unit 110 determines whether the number of questions for the new question candidate matches the current number of questions (step S502).
[0159] If the number of questions for a new candidate question does not match the current number of questions (step S502: NO), the question selection unit 110 proceeds to step S504.
[0160] If the number of questions for a new candidate question matches the current number of questions (step S502: YES), the question selection unit 110 refers to the NG setting information to determine whether the new candidate question is valid or not (step S561).
[0161] If the new candidate question is determined to be inappropriate (step S561: NO), the question selection unit 110 proceeds to step S504.
[0162] If the new candidate question is deemed valid (step S561: YES), the question selection unit 110 sets the added candidate question in the variable "additional question" (step S503). The question selection unit 110 then proceeds to step S504.
[0163] In step S504, the question selection unit 110 determines whether the interview has ended or not (step S504).
[0164] If the interview is not yet complete (Step S504: NO), the question selection unit 110 returns to Step S501. If the interview is complete (Step S504: YES), the question selection unit 110 terminates processing.
[0165] According to Example 5, by pre-determining the validity of candidate questions, the presentation of additional questions with inappropriate content or expression can be suppressed. Since it is expected that high-quality candidate questions will be generated by using the speech extraction results of subsequent slots, in Example 5, even if a candidate question with inappropriate content or expression is generated, the candidate question is not regenerated. This reduces the cost of regenerating candidate questions and allows for the rapid presentation of additional questions after the end of speech. [Examples]
[0166] In Example 6, the interview system 100 selects additional questions based on the user's answers.
[0167] The hardware and software configurations of the system in Example 6 are the same as those in Example 1.
[0168] The processing flow of the system in Example 6 is the same as that of Example 1. Also, the processing performed by the voice extraction unit 111 and the question generation unit 112 in Example 6 is the same as that of Example 1. The question candidate monitoring process in Example 6 is the same as that of Example 1.
[0169] In Example 6, the additional question selection process differs from that in Example 1. Figures 18A and 18B are flowcharts illustrating an example of the additional question selection process performed by the question selection unit 110 in Example 6.
[0170] The question selection unit 110 monitors for the receipt of a speech completion notification (step S601).
[0171] If a notification of the end of speech is received (step S601: YES), the question selection unit 110 determines whether the variable "additional question" is "Not Found" or not (step S602).
[0172] If the variable "additional question" is "Not Found" (step S602: YES), the question selection unit 110 waits for a certain period of time and then returns to step S602.
[0173] If the variable "additional question" is not "Not Found" (step S602: NO), the question selection unit 110 refers to the question candidate DB 121 and determines whether or not an answer has been obtained for the question candidate set in the variable "additional question" (step S661).
[0174] Specifically, the question selection unit 110 retrieves the answer 303 of the entry in which the current question count is stored in the question count 301, and determines whether or not an answer has been obtained for the candidate question. For example, one possible method is for the question selection unit 110 to perform the determination by executing natural language processing. Alternatively, the question selection unit 110 may generate a prompt that includes the candidate question set in the variable "additional question" and the obtained answer, and includes an instruction to determine whether or not an answer has been obtained for the candidate question, and send it to the natural language processing program 140.
[0175] If no answer has been received for the candidate question set in the variable "additional question" (S661: NO), the question selection unit 110 sends the candidate question set in the variable "additional question" to the UI 130 as an additional question (step S603). The question selection unit 110 then proceeds to step S604.
[0176] If an answer has been obtained for a candidate question set in the variable "additional question" (S661: YES), the question selection unit 110 determines whether or not there are any candidate questions for which an answer has not been obtained among the candidate questions for the current number of questions (step S662).
[0177] Specifically, the question selection unit 110 retrieves the answer 303 and question candidate 304 of the entry in which the current question count is stored in the question count 301, and determines whether or not there are question candidates for which no answer has been obtained. For example, one possible method is for the question selection unit 110 to perform the determination by executing natural language processing. Alternatively, the question selection unit 110 may generate a prompt that includes the obtained answer and question candidates, and includes an instruction to determine whether or not there are question candidates for which no answer has been obtained, and send it to the natural language processing program 140.
[0178] If there are any unanswered question candidates among the current number of questions (step S662: YES), the question selection unit 110 sets one of the identified question candidates in the variable "additional question" and sends the question candidate set in the variable "additional question" to the UI 130 as an additional question (step S663). After that, the question selection unit 110 proceeds to step S604, where the latest question candidate is set.
[0179] If there are no unanswered question candidates among the current number of questions (step S662: NO), the question selection unit 110 waits for the generation of question candidates using the utterance content up to the end of the utterance, and sends the question candidate set in the variable "additional question" to the UI 130 as an additional question (step S664). After that, the question selection unit 110 proceeds to step S604. For example, the question selection unit 110 waits until a predetermined time has elapsed after receiving the utterance end notification.
[0180] In step S604, the question selection unit 110 increments the current number of questions by 1 and sets the variable "additional question" to "Not Found" (step S604).
[0181] The question selection unit 110 determines whether the interview has ended or not (step S605).
[0182] If the interview is not yet complete (step S605: NO), the question selection unit 110 returns to step S601. If the interview is complete (step S605: YES), the question selection unit 110 terminates processing.
[0183] According to Example 6, the interview system 100 can avoid presenting duplicate questions by selecting additional questions other than those for which answers have already been obtained.
[0184] It should be noted that the present invention is not limited to the embodiments described above, and various modifications are included. Furthermore, for example, the embodiments described above are detailed explanations of the configuration in order to clearly illustrate the present invention, and are not necessarily limited to those having all the configurations described. In addition, some of the configurations in each embodiment can be added to, deleted from, or replaced with other configurations.
[0185] Furthermore, each of the above-mentioned configurations, functions, processing units, processing means, etc., may be implemented in hardware, in whole or in part, for example, by designing them as integrated circuits. The present invention can also be implemented by software program code that realizes the functions of the embodiment. In this case, a storage medium on which the program code is recorded is provided to a computer, and the processor of that computer reads the program code stored in the storage medium. In this case, the program code read from the storage medium itself realizes the functions of the embodiment described above, and the program code itself and the storage medium on which it is stored constitute the present invention. Examples of storage media used to supply such program code include flexible disks, CD-ROMs, DVD-ROMs, hard disks, SSDs (Solid State Drives), optical disks, magneto-optical disks, CD-Rs, magnetic tapes, non-volatile memory cards, ROMs, and the like.
[0186] Furthermore, the program code that implements the functions described in this embodiment can be implemented in a wide range of programming or scripting languages, such as assembler, C / C++, Perl, Shell, PHP, Python, and Java (registered trademark).
[0187] Furthermore, the program code for the software that implements the functions of the embodiment may be distributed via a network and stored in a storage means such as a computer's hard disk or memory, or in a storage medium such as a CD-RW or CD-R, and the computer's processor may read and execute the program code stored in the storage means or storage medium.
[0188] In the above-described embodiment, the control lines and information lines shown are those deemed necessary for explanation and do not necessarily represent all control lines and information lines in the actual product. All components may be interconnected. [Explanation of Symbols]
[0189] 100 Interview System 101 terminals 102 Natural Language Processing Systems 110 Question Selection Department 111 Audio Extraction Unit 112 Question generation part 120 Anticipated Question Database 121 Question Candidate Database 122 Question Candidate Database 130 UI 140 Natural Language Processing Programs 401 Record button 402 Checkbox 403 Input field 404, 405 display field
Claims
1. A computer system comprising a processor and a storage medium connected to the processor, The aforementioned processor, Output data to present the first question to the user. The system sequentially receives first stream data from the user, including the answer to the first question. During the reception of the first stream data, the speculative execution process for generating the first candidate question is performed one or more times. When the input of the answer to the first question is completed, a second question is generated based on at least one first question candidate generated by the speculative execution process for generating the first question candidate. Output data is output to present the second question to the user. In the speculative execution process for generating the first candidate question, the processor: A first prompt is generated to cause the natural language processing program to generate the first candidate question, taking into account the answers contained in the received first stream data. The first prompt is input to the natural language processing program, A computer system characterized by storing the first candidate question generated by the natural language processing program in the storage medium.
2. A computer system according to claim 1, The first stream data is either audio data or video data, In the speculative execution process for generating the first candidate question, the processor: The user's voice is extracted from the received first stream data and converted into text. A computer system characterized by generating the first prompt which includes the aforementioned text.
3. A computer system according to claim 2, In the speculative execution process for generating the first question candidate, the processor extracts the user's voice contained in the first stream data within a predetermined time range of the received first stream data. The computer system is characterized in that the predetermined time range is a period determined by a predetermined standard from the start of inputting the answer to the first question.
4. A computer system according to claim 2, The computer system is characterized in that the processor determines that the input of an answer to the first question has ended when it has continuously received the first stream data, which does not include the user's voice, for a predetermined period of time.
5. A computer system according to claim 1, The computer system is characterized in that, when the processor detects the end of inputting an answer to the first question, it terminates the speculative execution process for generating the candidate for the first question.
6. A computer system according to claim 1, The system sequentially receives second stream data from the user, including the answer to the second question. During the reception of the second stream data, the speculative execution process for generating the second question candidate is performed one or more times. When the input of the answer to the second question is completed, a third question is generated based on at least one candidate second question generated by the speculative execution process for generating candidate second questions. Output data is output to present the third question to the user. In the speculative execution process for generating the second candidate question, the processor: A second prompt is generated to cause the natural language processing program to perform the generation of a candidate for the second question, taking into account the first question and the answer to the first question, as well as the second question and the answer contained in the received second stream data. The second prompt is input to the natural language processing program, A computer system characterized by storing the second candidate question generated by the natural language processing program in the storage medium.
7. A computer system according to claim 1, The speculative execution process for generating the first candidate question is performed multiple times. The aforementioned processor, Select the most recent candidate for the first question from among several candidates for the first question. A computer system characterized by generating a second question based on the latest candidate for the first question.
8. A computer system according to claim 1, In the speculative execution process for generating the first candidate question, the processor records data in the storage medium that associates the answer and the first candidate question included in the received first stream data. The aforementioned processor, When new data is recorded on the storage medium, it is determined whether the first candidate question included in the new data is valid. If the first candidate question included in the new data is valid, set the first candidate question as the output candidate. A computer system characterized in that, once the input of an answer to the first question is completed, it generates the second question based on the first question candidate set as the output candidate.
9. A computer system according to claim 1, In the speculative execution process for generating the first candidate question, the processor records data in the storage medium that associates the answer and the first candidate question included in the received first stream data. The aforementioned processor, When new data is recorded on the storage medium, it is determined whether or not an answer to the first candidate question included in the new data has been obtained based on the plurality of data recorded on the storage medium. If no answer has been obtained for the first candidate question included in the new data, the first candidate question is set as an output candidate. If an answer to the first candidate question included in the new data is obtained, select the first candidate question for which no answer has been obtained from the other data, and set the said first candidate question as an output candidate. A computer system characterized in that, once the input of an answer to the first question is completed, it generates the second question based on the first question candidate set as the output candidate.
10. A computer system according to claim 1, In the speculative execution process for generating the first candidate question, the processor records data in the storage medium that associates the answer and the first candidate question included in the received first stream data. The computer system is characterized in that the processor invalidates or deletes the data, including the first question candidates that were not used to generate the second question.
11. A computer system comprising a processor and a storage medium connected to the processor, The aforementioned processor, Output data to present the first question to the user. The user receives response data including the answer to the first question. Using the aforementioned response data, a prompt is generated to cause the natural language processing program to generate candidate questions that take the aforementioned responses into consideration. The prompt is input to the natural language processing program, The candidate questions are obtained from the natural language processing program. Determine whether the aforementioned candidate questions are appropriate or not. A computer system characterized in that, if the candidate question is valid, it generates a second question based on the candidate question and outputs output data to present the second question to the user.
12. A computer system according to claim 11, The computer system is characterized in that, if the candidate question is not valid, the processor generates a new prompt, inputs the prompt to the natural language processing program, and obtains the candidate question from the natural language processing program.
13. A computer system according to claim 12, The aforementioned processor, The candidate questions that were determined to be inappropriate are recorded on the storage medium. A computer system characterized by generating a new prompt that includes the candidate question that was determined to be inappropriate.
14. A program to be executed by a computer having a processor and a storage medium connected to the processor, The aforementioned program, The procedure for outputting data to present the first question to the user, A procedure for sequentially receiving stream data from the user, including the answer to the first question, The procedure involves executing a speculative execution process for generating candidate questions one or more times while receiving the aforementioned stream data. When the input of the answer to the first question is completed, the procedure for generating a second question is to generate a second question based on at least one question candidate generated by the speculative execution process for generating the question candidate, A procedure for outputting output data to present the second question to the user, The computer is made to execute the above, The speculative execution process for generating the aforementioned candidate questions is as follows: A procedure for generating a prompt that causes a natural language processing program to generate candidate questions considering the answers contained in the received stream data, A procedure for inputting the aforementioned prompt into the natural language processing program, A procedure for storing the candidate questions generated by the natural language processing program in the storage medium, A program characterized by including the following.
Citation Information
Patent Citations
Pseudo-interview system, pseudo-interview method, pseudo-interview apparatus, and program
JP2023000937A