This disclosure relates generally to telephonic and video communications, and in particular to artificial intelligence (AI) analysis of audio and/or video data.
Artificial Intelligence (AI) is a broad field which uses hardware and software to emulate human intelligence. Machine learning (ML) is a subset of AI and focuses on solving problems by utilizing computers that learn from data without explicit programming. Deep learning is a subset of ML and uses artificial neural networks (ANNs) having many layers, e.g., deep neural networks (DNNs), that learn from large amounts of data. DNNs are a valuable tool for natural language processing (NLP) which involves the processing of text or voice data to understand a person's full meaning or intent in spoken or written language. NLP can be complex, requiring heavy computational loads, and may include tasks related to speech recognition, word disambiguation, natural language understanding and natural language generation. Sentiment analysis, which may reveal a person's true opinions or emotions, is another example of a task included in NLP.
Non-limiting and non-exhaustive embodiments of the invention are described with reference to the following figures, wherein like reference numerals refer to like parts throughout the various views unless otherwise specified.
Embodiments of systems and methods for automatically validating skills are described herein. Embodiments include connecting with a user (e.g., worker for a shift) via telephone or video, analyzing an artificial intelligence (AI) conversation conducted by an AI agent and determining a skills reliability score.
In the following description, numerous specific details are set forth to provide a thorough understanding of the embodiments. One skilled in the relevant art will recognize, however, that the techniques described herein can be practiced without one or more of the specific details, or with other methods, components, materials, etc. In other instances, well-known structures, materials, or operations are not shown or described in detail to avoid obscuring certain aspects.
In the following detailed description, reference is made to the accompanying drawings which form a part hereof, and in which are shown by way of illustration embodiments that may be practiced. It is to be understood that other embodiments may be utilized and structural or logical changes may be made without departing from the scope. Therefore, the following detailed description is not to be taken in a limiting sense, and the scope of embodiments is defined by the appended claims and their equivalents.
Various operations may be described as multiple discrete operations in turn, in a manner that may be helpful in understanding embodiments; however, the order of description should not be construed to imply that these operations are order dependent.
The terms “coupled” and “connected,” along with their derivatives, may be used. It should be understood that these terms are not intended as synonyms for each other. Rather, in particular embodiments, “connected” may be used to indicate that two or more elements are in direct physical contact with each other. “Coupled” may mean that two or more elements are in direct physical contact. However, “coupled” may also mean that two or more elements are not in direct contact with each other, but yet still cooperate or interact with each other.
For the purposes of the description, a phrase in the form “A/B” or in the form “A and/or B” means (A), (B), or (A and B). For the purposes of the description, a phrase in the form “at least one of A, B, and C” means (A), (B), (C), (A and B), (A and C), (B and C), or (A, B and C). For the purposes of the description, a phrase in the form “(A)B” means (B) or (AB) that is, A is an optional element.
The description may use the terms “embodiment” or “embodiments,” which may each refer to one or more of the same or different embodiments. Furthermore, the terms “comprising,” “including,” “having,” and the like, as used with respect to embodiments, are synonymous.
AI is under-utilized in the staffing industry. Efficient deployment of large numbers of workers to jobs (e.g., 70,000-100,000 per day), especially temporary or gig workers, requires radically improved assessment and/or validation of each worker's skill level for a particular task or job. Millions of jobs go unfilled each year as employers seek to find workers with skills that match or could be trained to match in-demand jobs.
Accordingly, embodiments include systems and methods for automatically validating skills of a worker utilizing ML analysis of telephonic and/or video data. In embodiments, a communications interface receives data related to availability for a shift from a network. If the data is positive, a controller is coupled to trigger automatic initiation of the communications session to an available worker based on the data. In embodiments, the communications session includes a conversation between an AI agent and the worker related to the shift. In embodiments, machine learning (ML) is used to perform sentiment analysis of the communication between the AI agent and the worker to determine a skills reliability score for the shift. In embodiments, the skills reliability score includes a measurement or gauge of aptitude for a shift as well as interest in the shift such that the worker attends the shift and is able to perform the skills necessary for an accepted shift.
These and other embodiments are described in detail below with respect to
In embodiments, the conversation is stored in a storage medium coupled to computing device 113. In embodiments, computing device 113 includes ML engine 188 that performs sentiment analysis utilizing a deep neural network (DNN) 123 on the data from the audio signals of the communication session 111 between AI agent 121 and worker 103A to determine a reliability score, e.g., skills reliability score, for matching worker 103A with the shift. In embodiments, the skills reliability score indicates the worker's suitability for the shift and is described in further detail with respect to, at least,
In some embodiments, an AI/ML compute engine, e.g., ML engine 188 is included in computing device 113. In some embodiments, computing device 113 is located at a staffing agency premises. In other embodiments, computing device 113 is located at or partially at a cloud datacenter 122 and includes one or more devices or processors (see, e.g.,
In embodiments, ML engine 188 includes or is coupled with processing resources to perform natural language processing, e.g., involving speech recognition, natural language understanding, sentiment analysis, and natural language generation. In embodiments, AI agent 211 may receive instruction and provide feedback from/to ML engine 188. In some embodiments, AI Agent is provided via cloud data center 122 through an AI or bot service coupled to receive information from ML engine 188.
Referring now to
In some aspects, if the data 107 indicates that worker 203A is available for a shift, initiation of a communications session 211 is triggered by controller 219. In embodiments, communications session 211 is at least one of a phone call or a video call and includes a conversation between AI agent 221 and worker 203A related to skills for the shift. In the illustrated embodiment, if a location of worker 203A is closer in proximity to an edge server 245 than he or she is to a computing device 213 (or cloud data center 222), controller 219 may trigger communications session 111 to be initiated and conducted from edge server 245, rather than computing device 213 or cloud data center 279. In embodiments, edge server 245 assists with the inference that is required to determine whether worker 203A is to be offered the shift.
In embodiments, edge server 245 performs processing on a DNN 223 to perform NLP including sentiment analysis of the worker's answers to assist in determining a next question or action by AI agent 221 (discussed in more detail with respect to
In some embodiments, full or partial results of sentiment analysis of the communications session can be provided to computing device 213 or cloud data center 279 for remaining processing (e.g., see
Note that DNN 123 or 223 is only a simplified depiction of a portion of an example DNN model. In various embodiments, DNN models contemplated may include any suitable fully connected or sparsely connected network, including feed-forward networks, recurrent neural networks, convolutional neural networks, and other variations which are suitable for performing NLP of the worker's responses during the communications session.
For example, method 300 may begin at block 301 where a particular shift for a particular date and/or time in the future is proposed to a worker. In the example of
In the alternative, if the answer received from the worker is NO at block 303, and experience is required for the particular shift, alternative placement may be considered. In some embodiments, the method flows from block 303 to the right to block 304 where the AI agent asks the worker if s/he has experience in a related position, such as, e.g., manually unloading stock or products. If the answer is yes, the method moves upward to block 317 where the worker is further screened for the related shift or other shifts. If the worker is matched to the related shift, method 300 loops back to block 301 to gauge the worker's experience, aptitude, and enthusiasm for the related potential shift.
Returning to block 305, after the worker has indicated s/he has experience, the worker is asked to describe his or her experience. After the worker describes his or her experience, the method may then flow to block 307. In embodiments, at block 307, the worker may be queried as to whether he/she has any formal training, such as certifications or other education for operating a forklift. If the answer is YES at a block 309, the worker is asked follow-up questions. Note that block 309 may represent an exchange between the worker and the AI agent where the AI agent may ask a variety of follow-up questions depending on the answers given by the worker.
In embodiments, each answer provided by the worker at each of above blocks 301-309 including block 304 are provided to an ML engine, e.g., ML engine 403 of
In embodiments, shift decision network 500 performs ML on the communication session (e.g., inputs 401 of
In the alternative, if sentiment analysis/shift decision network 500 determines that the worker will not be offered the shift at block 313, the answer is NO and alternate options may be explored. The alternate options may depend on the reasons why the worker was not offered the shift. In some embodiments, method 300 flows to the right and at a block 315, training options may be offered to the worker, if appropriate. The options may include classes, courses, on-the job training, or otherwise which would enable the worker to qualify for the shift at a later time.
In the alternative or in addition, method 300 flows upwards to a block 317, where in embodiments, the worker may be screened for other shifts that are related or unrelated to the original shift that he or she was considered. Note that in embodiments, inputs to block 317 may be also provided from sentiment analysis/shift decision network of block 311 in order to determine shifts the worker may be considered for. Method 300 may then return to beginning block 301 where the worker may be asked similar questions to gauge a skills reliability score on the new or additional shift.
It is understood that operation of a forklift is merely an example of a proposed job associated with a shift and that in various embodiments, any suitable job that can be matched with a temporary or staff worker is contemplated. Similarly, the content and the order of the questions asked of the worker is only illustrative. In embodiments, any suitable type and order of questions that gauge a worker's qualifications, aptitude, interest, or other relevant factors for being assigned a shift are contemplated. In embodiments, actual outcomes which are fed back into the ML engine (e.g., see
It is understood that the order in which some or all of the process blocks appear in process 300 should not be deemed limiting. Rather, one of ordinary skill in the art having the benefit of the present disclosure will understand that some of the process blocks may be executed in a variety of orders not illustrated, or even in parallel.
For example, a worker that answers YES to the question of whether s/he has experience, without pause (rate of speech), in a firm voice (related to tone), may indicate that the worker has high confidence in his or her skills in the particular area, which may be a factor to be considered or weighted in calculating a skills reliability score. In some embodiments, the tone of voice of the worker may also indicate enthusiasm, interest, or distraction which may impact whether the worker will show up for the shift if it is assigned to him/her.
In embodiments, ML engine 403 may determine a confidence score range (as shown in column 1 of table 303 of
Note that in embodiments, actual outcomes related to offering the shift to the worker are used in training ML engine 403 to further refine the weights and the predictive ability of the ML engine as to the worker's skill and probability that s/he will show up for the shift. It is understood that the above example is a simplified example of a calculation and weighting assignment scheme and that weights, ranges, attributes and inputs as well as biases that are suitable for determining a skills reliability score for a worker based on the communications session are contemplated.
Furthermore, note that various known methods may be used to avoid unconscious bias in the models. In embodiments, training data sets are large enough and representative enough to sufficiently offset ML bias. In embodiments, results should be tested and validated using various tools to examine and inspect models to confirm that unconscious bias is not reflected or perpetuated via the algorithms or selected data sets.
Referring now to
In some embodiments, a skills reliability score related to sentiment analysis is combined and summed with the weighted values of factors 507-513. In some embodiments, if the result of equation 515 exceeds a pre-determined threshold, the worker may be offered the shift. If the result is lower than the threshold, the worker may not be offered the shift (e.g., at block 313 of
Note that in some embodiments, values related to factors 505-513 may be stored in a database 502. In some embodiments, factors 505-513 and their weights may be stored in a relational database or a graph database, as discussed below.
In the example shown, edges which represent the relationships between nodes may include, e.g., proximity 613614, related shifts 615616, interest 617, requirements for licenses/certificates 619, qualifications required by a shift 620621623 education/training 630627, and previous experience 625. In embodiments, the edges may have a plurality of properties, such as but not limited to, weights which may be determined at least in part by sentiment analysis. For example, if the worker expresses a low confidence score for interest for a heavy construction/equipment operator during the communications session, e.g., a relatively lower weight may be applied to interest edge 617. Or in contrast, if s/he expresses confidence in his or her previous experience, a relatively higher weight may be applied to the previous experience. In other embodiments, the sentiment analysis results can be applied to the shift analysis decision network as a separate variable.
In embodiments, graph database 600 is a storage system that includes nodes and edges to store and represent data. Graph database 600 may be stored in a storage medium, e.g., database 502 of
The computing device 700 may further include input/output (I/O) devices 708 (such as a display (e.g., a touchscreen display), keyboard, cursor control, remote control, gaming controller, image capture device, and so forth) and communication interfaces 710 (such as network interface cards, modems, infrared receivers, radio receivers (e.g., Bluetooth), and so forth). The communication interfaces 710 (and, e.g., communications interfaces 114, 214, 117, and 217 of
The above-described computing device 700 elements may be coupled to each other via system bus 712, which may represent one or more buses. In the case of multiple buses, they may be bridged by one or more bus bridges (not shown). Each of these elements may perform its conventional functions known in the art. In particular, memory 704 and mass storage devices 706 may be employed to store a working copy and a permanent copy of the programming instructions for the operation of machine learning engines as described above. The various elements may be implemented by assembler instructions supported by processor(s) 702 or high-level languages that may be compiled into such instructions.
The permanent copy of the programming instructions may be placed into mass storage devices 706 in the factory, or in the field, through, for example, a distribution medium (not shown), such as a compact disc (CD), or through communication interface 710 (from a distribution server (not shown)). That is, one or more distribution media having an implementation of the agent program may be employed to distribute the agent and to program various computing devices.
The number, capability, and/or capacity of the elements 708, 710, 712 may vary, depending on whether computing device 700 is used as a stationary computing device, such as a server computer in a data center, or a mobile computing device, such as a tablet computing device, laptop computer, game console, or smartphone. Their constitutions are otherwise known, and accordingly will not be further described.
In various implementations, the computing device 700 may comprise one or more components of a data center, a laptop, a netbook, a notebook, an ultrabook, a smartphone, a tablet, a personal digital assistant (PDA), an ultra mobile PC, a mobile phone, or a digital camera. In further implementations, the computing device 701 may be any other electronic device that processes data.
Other networks may communicate with network 802. For example, telecommunications network 830 could facilitate the transfer of data between network 802 and mobile or cellular telephone 832 or a PDA-type device 834, by utilizing wireless communication means 836 and receiving/transmitting station 838. Mobile telephone 832 devices may load software (client) that communicates with a backend server 806, 812, 818 that operates a backend version of the software. The software client may also execute on other devices 804, 806, 808, and 810. Client users may come in multiple user classes such as worker users and/or employer users.
Satellite communications network 840 could communicate with satellite signal receiver 842 which receives data signals from satellite 844 which in turn is in remote communication with satellite signal transmitter 846. Terminals, for example further processing system 848, notebook computer 850, or satellite telephone 852, can thereby communicate with network 802. A local network 860, which for example may be a private network, LAN, etc., may also be connected to network 802. For example, network 802 may relate to ethernet 862 which connects terminals 864, server 866 which controls the transfer of data to and/or from database 868, and printer 870. Various other types of networks could be utilized.
The processing device 700 is adapted to communicate with other terminals, for example further processing systems 806, 808, by sending and receiving data, 118, 120, to and from the network 802, thereby facilitating possible communication with other components of the networked communications system 800.
Thus, for example, the networks 802, 830, 840 may form part of, or be connected to, the Internet, in which case, the terminals 806, 812, 818, for example, may be web servers, Internet terminals or the like. The networks 802, 830, 840, 860 may be or form part of other communication networks. Communication channels may include or be routed through one or more wired or wireless communication utilizing IEEE 802.11 protocols, Bluetooth, SPI (Serial Peripheral Interface), I2C (Inter-Integrated Circuit), USB (Universal Serial Port), CAN (Controller Area Network), cellular data protocols (e.g. 3G, 4G, LTE, 5G), optical communication networks, Internet Service Providers (ISPs), a peer-to-peer network, a LAN (e.g., 860), a Wide Area Network (WAN), a public network (e.g. “the Internet”), a private network, a satellite network (e.g., as shown in the Figure), or otherwise.
The above description of illustrated embodiments of the invention, including what is described in the Abstract, is not intended to be exhaustive or to limit the invention to the precise forms disclosed. While specific embodiments of, and examples for, the invention are described herein for illustrative purposes, various modifications are possible within the scope of the invention, as those skilled in the relevant art will recognize.
These modifications can be made to the invention in light of the above detailed description. The terms used in the following claims should not be construed to limit the invention to the specific embodiments disclosed in the specification. Rather, the scope of the invention is to be determined entirely by the following claims, which are to be construed in accordance with established doctrines of claim interpretation.
The term “processing logic” in this disclosure may include one or more processors, microprocessors, multi-core processors, Application-specific integrated circuits (ASIC), and/or Field Programmable Gate Arrays (FPGAs) to execute operations disclosed herein. In some embodiments, memories (not illustrated) are integrated into the processing logic to store instructions to execute operations and/or store data. Processing logic may also include analog or digital circuitry to perform the operations in accordance with embodiments of the disclosure.
A “memory” or “memories described in this disclosure may include one or more volatile or non-volatile memory architectures. The “memory” or “memories” may be removable and non-removable media implemented in any method or technology for storage of information such as computer-readable instructions, data structures, program modules, or other data. Example memory technologies may include RAM, ROM, EEPROM, flash memory, CD-ROM, digital versatile disks (DVD), high-definition multimedia/data storage disks, or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other non-transitory medium that can be used to store information for access by a computing device.
A computing device may include a desktop computer, a laptop computer, a tablet, a phablet, a smartphone, a feature phone, a server computer, high-performance server computer or otherwise. A server computer may be located remotely in a data center or be stored locally.
Number | Name | Date | Kind |
---|---|---|---|
8694305 | Grove | Apr 2014 | B1 |
10162900 | Chatterjee | Dec 2018 | B1 |
11012567 | Paiva | May 2021 | B2 |
11144882 | Olshansky | Oct 2021 | B1 |
11153655 | Germano | Oct 2021 | B1 |
20090216524 | Skubacz | Aug 2009 | A1 |
20130212031 | Barnfield et al. | Aug 2013 | A1 |
20150003603 | Odinak | Jan 2015 | A1 |
20150269529 | Kyllonen | Sep 2015 | A1 |
20160162582 | Chatterjee | Jun 2016 | A1 |
20160198047 | McCormack | Jul 2016 | A1 |
20170249389 | Brovinsky | Aug 2017 | A1 |
20180060307 | Misra | Mar 2018 | A1 |
20180096283 | Wang | Apr 2018 | A1 |
20180276618 | Nichani et al. | Sep 2018 | A1 |
20190066030 | Hancock et al. | Feb 2019 | A1 |
20190114593 | Champaneria | Apr 2019 | A1 |
20190149501 | Bastide | May 2019 | A1 |
20190311331 | Steinhoff | Oct 2019 | A1 |
20190378017 | Kung | Dec 2019 | A1 |
20200082828 | Malpani | Mar 2020 | A1 |
20200252510 | Ghuge | Aug 2020 | A1 |
20200258047 | Randall | Aug 2020 | A1 |
20200302371 | Mathiesen et al. | Sep 2020 | A1 |
20210044697 | Khafizov | Feb 2021 | A1 |
20210056168 | Bull | Feb 2021 | A1 |
20210218844 | Matias | Jul 2021 | A1 |
20210286945 | Nagar | Sep 2021 | A1 |
20210312399 | Asokan et al. | Oct 2021 | A1 |
20210392227 | Li | Dec 2021 | A1 |
20220027837 | D'Attilio | Jan 2022 | A1 |
20220180266 | Guiffre | Jun 2022 | A1 |
Number | Date | Country |
---|---|---|
WO-2019195808 | Oct 2019 | WO |
Entry |
---|
Trueblue, archives org, Jan. 3, 2021 https://web.archive.org/web/20210103095703/https://www.trueblue.com/ (Year: 2021). |
Non-Final Office Action dated Mar. 14, 2023 for U.S. Appl. No. 17/574,543, filed Jan. 12, 2022, 31 pages. |
Final Office Action dated Oct. 4, 2023 for U.S. Appl. No. 17/574,543, filed Jan. 12, 2022, 37 pages. |
Remipeople, How to Boost Visibility of Job Posts on Linkedin, Sep. 24, 2021, https://web.archive.org/web/2021092402022/http://remipeople.com/how-to-boost-visibility-of-job-posts-on-linkedin-free-guaranteed-exposed/ , p. 2-3. |
Non-Final Office Action dated Jan. 18, 2024 for U.S. Appl. No. 17/574,543, filed Jan. 12, 2022, 37 pages. |