The present disclosure relates to a computer system that supports real-time peer-to-peer interactions among interview candidates, capture of interactions and review data from those candidates, and evaluation of such candidates.
The accessibility of a large number of candidates to an online posted job complicates the process of reviewing applicants' credentials and identifying suitable talents. The review of a large number of candidates for a position may be a time-consuming process and may be inaccurate if done without personal interactions with individual candidates. Automated systems that provide recruiters with applicants' pre-recorded videos to be reviewed off-line lack the benefit of interactive review sessions. Systems are needed that provide scalable mechanisms for interactive reviews of candidates with means to calibrate interactions during ongoing review sessions.
Systems and methods are disclosed for capture and evaluation of interactive peer-to-peer reviews in an online environment. The system may assign participants, set to interact with each other via a communication system, into groups; each group may comprise participants set to interact in a group session as a reviewer or as a reviewee. The system may provide instructions to each participant in a session that determine how the participant interacts within the session. As the participants perform their instructions during a session, the system may receive feedback data, including reviews provided by the participants and video/audio captures of the interactions among the participants. The system may calibrate its instructions to each participant based on the feedback data. The system may apply feedback data dynamically to the sessions by, for example, selecting new instructions or altering instructions provided to a participant within an ongoing session. Further, the system may apply the feedback data to consecutive rounds of sessions by, for example, controlling the manner in which participants may be assigned to groups and the role each participant is assigned to in each round.
In an aspect, participants engaged by the review system 130 may be candidates for a position offered by a company. In such a scenario, the company may provide the system 130 with input data 110, including data representing a pool of candidates 115 and information related to the subject matter under review 105—e.g., a description of an offered position, including the required skills, background, and experience for the offered position, and/or specific topics each candidate should be evaluated against. The review system 130 may schedule and orchestrate multiple rounds 150.1-150.n of interactive sessions 140 among the candidates; in each round, the system may assign the candidates to different group sessions—e.g., sessions 140.1-140.2 in round 150.1 and sessions 140.3-140.n in round 150.n—wherein, in each session 140.1, 140.2, . . . , 140.n, one candidate will assume a role of a reviewer and another candidate a role of a reviewee. Furthermore, during a session, the system 130 may control (calibrate) the interactions among the candidates in real-time, as explained in detail below. In an aspect, a subset of the participants that are engaged by the review system 130 may be employees of the company that offers the position, serving as benchmark-participants. Such benchmark-participants may be assigned a reviewee role, a reviewer role, or a combination thereof. In another aspect, the benchmark-participants may be independent experts in the subject matter under review 105.
Thus, in the span of several rounds 150.1-150.n, a single participant may act as a reviewer across multiple sessions of 140.1-140.n, interacting with (e.g., interviewing) other participants that act as reviewees. Similarly, the same participant may act as a reviewee in other sessions of 140.1-140.n, providing interview responses to questions posed by the reviewers of those sessions. As explained in detail below, during the multiple sessions, the system 130 may collect feedback data, comprising reviews provided by the sessions' participants—each review scores the response(s) to interaction(s) with respect to a certain tested skill. Based on these reviews, the system 130 computes for each candidate skill-scores, measuring the candidate's performance with respect to subject matter competency (e.g., responses' completeness and accuracy) as well as communication skills. The system 130 may generate output data 120, providing to the company each candidate's computed skill-scores. The system 130 may also compute each candidate's judgement-score and may use this score to determine the assignment of the candidate into future group sessions and the role each participant will assume in these sessions. An aspect for computing a participant's skill-score and judgement-score with respect to a certain skill is described in detail with respect to
The review system 210 may comprise a hub 230, a prompter 240, a moderator 250, a feedback data repository 260, a video/audio buffer 270, and a video/audio analyzer 280. The hub 230 may control the scheduling of rounds 150.1-150.n of review sessions. The hub, 230 may be fed with log-in data of participants to be reviewed and may output assignment data, specifying the assignment of participants into the review sessions and the assignment of roles—a reviewer or a reviewee—to each participant. The hub 230 may include a communication manager to establish teleconferences between client devices 220.1-220.N of participants in each group session. For example, in round 150.1, the hub may assign participant 1 and 2 to session 140.1 and participants 3 and 4 to session 140.2, wherein participants 1 and 3 will be assigned with the role of a reviewer and participants 2 and 4, will be assigned with the role of a reviewee. Likewise, in round 150.n, the hub may assign participant 4 and 1 to session 140.3 and participants 2 and 3 to session 140.n, wherein participants 2 and 4 will be assigned with the role of a reviewer and participants 1 and 3, will be assigned with the role of a reviewee.
Once the hub 230 connects participants' client devices (e.g., 220.1 and 220.2) according to their respective assigned groups, the prompter 240 may control the review sessions of the groups in real-time. The prompter 240, may be fed with the assignment data generated by the hub 230 and may output instructions 222 to the participants' client devices, based on which the participants may interact, each in her respective ongoing session. Such instructions may be drawn from a list of instructions 242. The instructions 222 may include, for example, questions that a participant acting as a reviewer is to ask a participant acting as a reviewee in order to collect desired subject matter responses, for example, information regarding a skill desired from reviewees. Based on the reviewee's response, the reviewer may score the skill level of the reviewee. Additionally, the prompter 240 may provide further instructions to a reviewer, e.g., based on responses of the reviewee to questions presented to her by the reviewer, guiding the reviewer to initiate a follow-up interaction. Likewise, the prompter 240 may provide further instructions to a reviewee, guiding her interactions with the reviewer. In an aspect, the prompted instructions may be based on calibration data generated by the moderator component 250.
The moderator 250 may access feedback data from the repository 260, associated with the participants' interactions and may output calibration data generated based on the feedback data. The feedback data may be collected based on reviews 224 provided by the participants during respective ongoing sessions. Feedback data 224 may also include features extracted from video and/or audio 226, exchanged between the client devices 220.1-220.N during respective sessions. The exchanged video and/or audio 226 may be buffered in the video/audio buffer 270. The video/audio analyzer 280 may analyze the buffered video and/or audio content and may convert such content to data for analysis. Analyses of video and/or audio content may include extracting features indicative of the quality of the interaction it captures. For example, the analyzer 280 may apply speech-to-text conversion applications to develop audio transcription of a reviewee's responses to posed questions, which may be stored in the feedback data repository 260 as the reviewee's feedback data. Similarly, the analyzer 280 may apply speech-to-text conversion applications to develop audio transcription of questions posed by reviewers, which may be stored in the feedback data repository 260 as a reviewer's feedback data. Further analyses may include extracting features—key-phrases or keywords—from the audio transcriptions that may also be stored in the repository.
In an aspect, the moderator 250 may access the keywords (and/or key-phrases) extracted from the transcription of an audio that captures a reviewee's response to a currently posed question and may compare these extracted keywords (and/or key-phrases) to keywords (and/or key-phrases) that are relevant to the currently posed question. As illustrated in
Thus, in an aspect, the moderator 250 may compare keywords extracted from an audio transcription with a list of keywords (e.g., 1160.1) associated with the currently posed question (e.g., 1140.1) and may measure the degree of match, for example by employing semantic matching. Based on the degree of match, the moderator 250 may conclude to what degree the interviewee's response is complete—that is whether calibration is needed to improve the interactions in the session. Thus, based on the comparison, the moderator 250 may generate calibration data that may trigger the prompter 240 to issue further instructions to the reviewer to initiate follow-up questions 1142 to the reviewee. The calibration data may include the measured degree of match or keywords in the list 1160.1 that are missing from the extracted keywords (i.e., from the transcription of the audio that captures the reviewee's response to the currently posed question 1140.1). Based on the calibration data, the prompter may decide what further instructions to provide the reviewer, e.g., what further follow-up questions from an available list of questions 1142 the reviewer should be prompted with. The concepts described above with respect to the keywords in
The feedback data repository 260 may store review data 224 provided by the participants during the review sessions (e.g., 1040 and 1050 of
The system 900 may comprise a hub 930, a prompter 940, a moderator 950, a feedback data repository 960, a video/audio buffer 970, and a video/audio analyzer 980. The hub 930 may control the scheduling of rounds 150.1-150.n of review sessions 140; in each round, the hub may assign participants into groups 140.1-140.n, as disclosed with respect to
Once participants are connected according to their respective assigned groups, the prompter 940 may control the review process in real-time. The promoter 940 may present the participants 920.1-920.4 with instructions 945 guiding interactions among participants in each group session. Such instructions may include, for example, questions a reviewer may ask a reviewee in order to review a certain skill. Further, the instructions provided by the prompter 940 may be according to a predefined number of instructions at a predefined rate. For example, instructions 945 provided by the prompter 940 during an ongoing session may be based on responses of the reviewee (e.g., as captured in video and/or audio 935) to questions presented by the reviewer, guiding the reviewer to initiate a follow-up interaction. In an aspect, the prompted instructions 945 may be based on calibration data generated by the moderator 950.
The moderator 950 may generate calibration data based on analyses of feedback data 960 collected in real time during an ongoing session. Video and/or audio 935 that may be recorded and buffered 970 during a session may be used to guide the interactions of the participants in the session. For example, the system 900 may buffer 970 the teleconferencing video and/or audio 935 of an ongoing session and may analyze 980 the video and/or audio 935 content during a time-window that corresponds to a reviewee's response to a posed question. Such analyses may include extracting features, such as phrases or keywords. The extracted phrases or keywords may be stored in the repository 960. The moderator 950 may then access the extracted phrases or keywords and may compare them with phrases or keywords that are relevant to the currently posed question, as explained with respect to
The feedback data repository 960 may store the review data 925 provided by the participants 920.1-920.4 during the review sessions (e.g., 1040 and 1050 of
The hub 930, may connect the participants 920.1-920.4 into groups and may access the video/audio data 935 that capture the participants' interactions, according to aspects disclosed herein. In an aspect, the hub 930 may provide each of the participants' client devices 920.1-920.4 with information enabling it to connect to a third party's video chat service and may instruct the third party's platform to stream to the hub the video/audio data that capture the interactions of the participants via the third party's platform. In another aspect, the hub 930 may instruct the participants' client devices 920.1-920.4 to connect to the third party's platform and, simultaneously, the hub may connect to the same chatroom as the client devices and “listen” to the audio/video channels in that chatroom. In yet another aspect, the hub 930 itself may provide a video chat service 935, in which case, the video/audio exchange between the participants may flow from a client device (e.g., 920.1) to the hub 930 and may then be retransmitted by the hub to another client device (e.g., 920.3). A client device may use WebRTC to transmit the video/audio to the hub (which the hub then may retransmit to the other clients). The hub may comprise platform components that may share data by using a shared data layer (e.g. AWS S3, Redis), using message queues (e.g. RabbitMQ, Redis), using WebRTC or other video streaming protocol, using remote procedure calls (RPC), or a combination thereof.
As illustrated in
In an aspect, method 400 may carry out assignments of participants 115 into group sessions 140 in multiple rounds. Various assignment conditions may be set (Box 420 and Box 490). For example, according to a first condition, participants may not be assigned with the same role in two consecutive rounds. A second condition may require that participants may not interact with the same participant more than once (e.g., a reviewer may review another reviewee only once). A third condition may require that all participants have to serve as a reviewer and as a reviewee a certain number of times or within a range of a number of times. A fourth condition may be that in each round at least a certain number of, or all, participants are assigned into groups. Other conditions may be used to constrain the manner in which the participants are grouped into sessions and in what role, in accordance with method 400.
The reviews of a certain reviewee, for example Alice in
For example, the audio capture may be transcribed into text, and, then, phrases or keywords related to the tested skill (e.g., Python) may be detected. The frequency of the sought-after phrases or keywords in the text may suggest the intensity or relevancy of the discussion (e.g., a feature measuring the time spent by a participant discussing certain keywords may be measured). In an aspect, in response to the absence (or presence) of certain phrases or keywords in the transcription, a participant may be presented with instructions to ask follow-up questions about the keywords, as further explained with respect to
Once questions (both initial questions 640 and follow up questions) asked with respect to a certain tested skill have been answered (or at the end of an allotted time), the interviewer may be asked to provide a review. For example, as shown in
In an aspect, some sessions may be carried out in which, instead of presenting to participants each other's video image, the review system 210 may replace a participant's image with an avatar. The avatar may be either a static figure or an animated figure, e.g., animated based on the video image of the participant it represents. In an aspect, each participant may select whether the participant wishes that an avatar be used to replace the participant's video image. In another aspect, the system 210 may randomly determine a subset of sessions in which avatars may be used, and compare reviews provided by participants in sessions in which avatars were used and in sessions in which avatars were not used.
The method 800 may proceed to find the optimization parameters P(j), w(j), and q in an iterative process described with respect to Box 830 and 840. Thus, the method 800 may compute an estimate for the skill-score provided in each review Ri, that is an estimate Si of rsi (Box 830). The estimate Si may be a function of P=(j=ri), P(j=ci), and q, as follows:
S
i=ƒ(P(ri),P(ci),q), (1)
where the function ƒ(⋅) may be a functional, i.e., mapping the vectors P(ri), P(ci), and q into the scalar Si.
In an aspect, q may be the set {α, β, γ} and Si may be a linear combination, such as:
S
i
=βP(ri)+γP(ci)+α, (2)
where β and γ are vectors, and α is a scalar.
In an aspect, a vector P(j) of a participant j may be defined as: P(j)=[b(j), s(j)], where b(j) may be a parameter representing the bias of participant j with respect to the skill being tested d, and s(j) may be a parameter representing a score attributed to participant j with respect to the skill being tested d. Thus, where P(j)=[b(j), s(j)] and q=α, for example, equation (2) translates to
S
i
=b(j=ri)+s(j=ci)+α. (3)
Then, in Box 840, parameters P(j) and q may be found to be those parameters that minimize a function L that measures the error in the estimation of the skill-score. For example, L may be defined as:
where R may be a regularization function. Once parameters P(j) and q that minimize L are found, the weights may be updated. For example, w(j) may be updated by w(j)=α/(MSE(j)+b), where α and b are predetermined parameters and MSE(j) is the mean square error associated with the reviews made by participant j, as follows:
where Ω is the set of M reviews for which participant j is a reviewer, that are Ri={ri=j, ci, di, rsi}. Then, according to the method 800, the optimization process in Boxes 830 and 840 may be repeated until the weights w(j) converge into a stable level or until a predetermined number of iterations is reached.
The method 800 may conclude with the computation of a skill-score 850 and a judgement-score 860 for each participant. In Box 850, the overall performance of a participant j with respect to a skill d may be computed based on the estimate Si, including only those reviews i for which participant j served as a reviewee, ci=j, as follows,
where Ω is the set of M reviews for which participant j is a reviewee, i.e., Ri={ri, ci=j, d, rsi}.
In an aspect, S(j) may be computed also as
where Ω is the set of M reviews for which participant j is a reviewee, i.e., Ri={ri, ci=j, d, rsi}.
In Box 860, the reliability R(j) of a participant j when serving as a reviewer, namely a participant's judgement-score, may be computed as a function of the weight associated with participant j, w(j). For example, the judgement-score may be computed as a linear combination of w(j), as follows,
R(j)=c*w(j)+b. (8)
In an aspect, the function ƒ(⋅) of equation (1) may be modeled by a neural network. For example, the parameter vector P(j) may be defined as an embedding-vector, wherein the dimensionality of the vector may be determined through cross-validation. The global parameter q may be defined as the weights of the neural network.
In another aspect, the function ƒ(⋅) of equation (1) may be factored into two functions, as follows,
S
i
=g(P(ci),q)+h(P(ri),q). (9)
In yet another aspect, function g(⋅) and/or function h(⋅) may be modeled by a neural network, as described above with respect to function ƒ(⋅).
Video and/or audio 226 recordings of sessions, that may be buffered 270 and may be analyzed 280 by the review system 210, may be used to train a machine learning system, according to aspects of the present disclosure. Accordingly, video/audio analysis data that may be generated and stored 260 during operations of the review system 210 and corresponding review data 1040, 1050 may be used as a training set for machine learning models that may be used to predict future participants' evaluation results based on data collected when these future participants interact via the review system 210.
In an aspect, a training set may comprise any of the data in (a) or (b) and any of the corresponding data in (c), (d), (e), or (f):
Hence, in an aspect, S(j) and R(j) may be predicted based on a machine learning based model that may be trained based on a training set, as the one described above. In such a case, predictions of S(j) and R(j) for future sessions may be computed based on data extracted from these future sessions, for example any of the data described in sections (c)-(f) above.
In an aspect, a machine learning model may be used to estimate the skill-score of a certain review rsi—denoted as SMLi. Thus, a hybrid may be used wherein equation (1) may be augmented as follows:
S
i=ƒ(P(ri),P(ci),SMLi,q). (10)
Aspects disclosed herein are described above with respect to group sessions comprising participants acting in roles of a reviewer and a reviewee. However, aspects of this invention are not so limited. In further aspects, the review system disclosed herein with respect to
During the operation of the review system 210, across consecutive rounds, the system may accumulate information about each participant's knowledge of the subject matter under review and each participant's reliability as a reviewer. As disclosed above, such information may be derived from analyses of the feedback data—e.g., based on the computed participants' skill-scores and judgement scores. The system may use the accumulated information about the participants to control the assignment of participants into groups at the beginning of each round and to control calibration of ongoing sessions within each round. In an aspect, the system 210 may affect the manner in which, for each round, the assignment to groups is made and the role of each participant is assigned. Thus, the creation of groups in a current round may be affected by analyses of feedback data generated in prior rounds. For example, reviewers may be matched with reviewees of a similar skill level, or highly reliable reviewers may be matched with reviewees that in previous rounds were reviewed by less reliable reviewers. The system may also utilize its knowledge of participants' performances in previous rounds (e.g., their skill-scores and judgement-scores) to determine what instructions may be issued to each participant in a current round, so that each participant may be more likely to successfully perform the issued instructions.
The system 210 may also affect the instructions each participant may receive during ongoing sessions within a round. Such instructions may be altered based on timing. Alternatively, or in addition, such instructions may be altered based on analysis of the interactions in the ongoing session, for example, based on the detection of keywords or based on speech pattern detection. Based on the detection of keywords, the system may issue further instructions to the participants. For example, if certain keywords are not detected in the transcription of audio capturing a participant's ongoing response, after a certain amount of time the participant may be prompted to discuss these keywords, or the other participant may be prompted to inquire about these keywords. Likewise, if a specific keyword of high importance is detected, the participant may be prompted to provide more detail, or the other participant may be prompted to further inquire about the important keyword. Based on speech pattern detection, the system may further control the amount of time a participant may talk before the participant may be instructed to let the other participant respond or before the other participant may be instructed to interject. For example, if a reviewer is talking more time than a certain time threshold, the system may suggest that the reviewer give the reviewee more time to answer the question.
In an aspect, instructions provided by the system 210 may be presented to each participant in the form of images, video, audio, or text. For example, an instruction may be a directive such as “your partner is going off on a tangent, try to interrupt them and get them back on track.” The instruction may be providing a hint to a participant responding to a question, such as “the elements of a good answer include . . . ” An instruction may be a specific follow up question, such as “ask about topic X.” Further, the system may prompt each participant to interject into a discussion or to pose and let the other initiate or respond to an interaction to maintain balanced interactions, ensuring that each participant is provided with enough opportunities to respond to a question or demonstrate her contribution.
In an aspect, embodiments of systems described herein may include computer software. For example, systems 200, 900 of
Several aspects of the disclosure are specifically illustrated and/or described herein. However, it will be appreciated that modifications and variations of the disclosure are covered by the above teachings and within the purview of the appended claims without departing from the spirit and intended scope of the disclosure.
This application claims to U.S. Provisional Patent Application No. 63/054,497, filed on Jul. 21, 2020, entitled “Interactive Peer-To-Peer Review System”, the disclosure of which is incorporated herein by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
63054497 | Jul 2020 | US |