Systems and methods for managing organizational structures

Systems and methods are provided for managing organizational or corporate structures, including the employee roles or activities administered by human resources. A portion of the role datasets received within human resource records may be used to generate role tokens comprising unique datasets that have been truncated and deduped. Such tokens may be extracted based on assigned prioritization scores, and further assigned training labels representing categorical levels. Predictive labels may be assigned to a remaining portion of the extracted tokens via a logistic regression classifier, and a model organizational dataset may be generated based on the assigned training labels and the assigned predictive labels. The prediction certainty of the role tokens in the model organizational dataset may be used to map the identified role tokens to the roles represented in the human resource records.

TECHNICAL FIELD

This disclosure relates to management systems and methods, and, more particularly, to systems and methods for managing organizational structures.

BACKGROUND

Employee information stored in organizational systems frequently fail to identify the specific activities and tasks performed by the employees. Although organization charts illustrate high-level relationships between departments and employees, such diagrams are often silent about their routine or daily duties. Systems for managing employee records may suffer from inaccurate data classification and the inability to benchmark organizational structures, analyze alternative design models, and detect hidden relationships between employee activities.

Basic techniques and equipment for machine learning and natural language processing are known in the art. While enterprise systems have access to large volumes of information, existing analytical applications and data warehousing systems may not be able to fully utilize human resource records in a reasonable amount of time. Employee information is often aggregated into large data warehouses without the inclusion of an added layer of relationship data connecting the information. Such aggregation of large amounts of data, without contextual or relational information, are data dumps that are not useful.

Information stored in their original format in data warehouses often require large amounts of computing resources to transform the information into searchable data in order to respond to queries. Such conventional approaches are limited in their ability to identify and return queried data, and most of the stored data is not easily configured for machine learning analytics to provide a complete picture of knowledge and data in the enterprise. A machine learning architecture is desired to more efficiently and effectively identify predict optimal organizational structures.

DETAILED DESCRIPTION

The present disclosure may be embodied in various forms, including a system, a method, a computer readable medium, or a platform-as-a-service (PaaS) product for managing organizational structures. As shown inFIG. 1, organizational datasets101may be received by a system100, in accordance with certain embodiments. The received organizational datasets101may represent an organizational structure for an organization, corporation or enterprise102. The received organizational datasets101may be received from the enterprise102and may include human resource records103. Each human resource record103may include a role dataset104, which may represent an enterprise role105for the enterprise102, as well as additional historic information concerning the represented enterprise role105.

In some embodiments, each role dataset104of the human resource records103may have an enterprise taxonomy or format that may be defined by a role matrix schema107. In an embodiment, each role dataset104of the human resource record103, or a portion thereof, may correspond to the role matrix schema107. The role matrix schema107may include role datafields108. The role datafields108may include, for example: a role title109, a role family110, a role description111, a role activity112, a business function113, a sub-function114, an outsource location115, a role time116, a role budget117, or a role compensation118. In accordance with certain embodiments, the role matrix schema107may include any combination of such role datafields108, as indicated by the three-dot ellipsis shown inFIG. 1.

Role tokens119may be generated based on a designated portion120of the role dataset104. The designated portion120of the role dataset104may correspond to a designated set of the role datafields108. In an embodiment, the designated set of role datafields108may be designated via a user interface. In some embodiments, the designated set of role datafields108may be predetermined. The generated role tokens119may include adjusted unique role datasets123, which may include text124or values125contained in the designated portion120of the role dataset104that are truncated and deduped.

In certain embodiments, as illustrated inFIG. 2, the presently disclosed method or system100may truncate the text124or values125contained in the designated portion120of the role dataset104that corresponds to the designated set of role datafields108. See block201inFIG. 2. The truncated text124or values125may have a format configured to match the standard taxonomy127. The text124or values125may be truncated via a natural language processing method implemented by the processor129. The natural language processing method may be a spaCy method, a natural language toolkit (NLTK), or a regular expressions (Re) method. The truncated text124or values125may be stored as a truncated role dataset104. See block202. The presently disclosed method or system100may further dedupe the truncated text124or values125that are stored within the truncated role dataset104. See block203. The deduped text124or values125may be stored as the adjusted unique role datasets123contained in the generated role tokens119. See block204.

Referring back toFIG. 1, the designated set of role datafields108of the role matrix schema107may be associated with, or mapped to, role classifications130of a standard taxonomy127. In an embodiment, each of the role classifications130may include a predetermined prediction certainty131. Associations are illustrated by a double-headed arrow inFIG. 1. Each role datafield108may have a corresponding prediction certainty131, which may be based on the predetermined prediction certainty131for a corresponding role classification130.

In some embodiments, prioritization scores132may be assigned to the generated role tokens119using a hierarchical clustering method and a statistical modelling method. In certain embodiments, the hierarchical clustering method may be a Hierarchical Density-Based Spatial Clustering of Applications with Noise (HDBSCAN) method, and the statistical modelling method may be a topic modelling method. In an embodiment, the prioritization score132for each of the generated role tokens119may be based on role occurrences in the human resource record103of the role datasets104. The prioritization score132for each of the generated role tokens119may be further based on the predetermined prediction certainties131.

In certain embodiments, the presently disclosed method or system100may include an user interface configured to receive a training sample size, a training cycle count, a threshold prediction certainty, and a prediction iterations count. Combination of such information may be received via the user interface, in accordance with certain embodiments. In some embodiments, this information may be predetermined by the system100.

The generated role tokens119that have threshold prioritization scores132may be extracted. In some embodiments, the generated role tokens119having the threshold prioritization scores132may include the role tokens119generated from the role datasets104that have one of the role occurrences in the human resource record103above a threshold role occurrence, which may be predetermined. In certain embodiments, the generated role tokens119having the threshold prioritization scores132may include the role tokens119corresponding to the associated role datafields108with the corresponding prediction certainties132below the threshold prediction certainty. In an embodiment, the extracted tokens141may include those generated tokens119that satisfy both of these criteria.

Training labels142may be assigned to a training portion143of the extracted tokens141, in accordance with certain embodiments. In some embodiments, the training labels142may be assigned to the extracted tokens141in the training portion143based on the prioritization score132assigned to the generated role tokens119. This training process may repeat for a predetermined number of training cycles. In an embodiment, the training process may depend on the hierarchical clustering method and the statistical modelling method that is used to assign the prioritization scores132to the role tokens119. The training labels142may represent a categorical level144associated with the extracted tokens141in the training portion143. The training portion143may be defined by the training sample size. The training labels142may be repeatedly assigned to the training portion143in one or more training cycles. The training cycles may be defined by the training cycle count.

In some embodiments, a matrix146may be generated based on the training portion143of the extracted tokens141. The matrix146may be a sparse matrix146. The assigned training labels142for the training portion143may be assigned to token elements in the sparse matrix. Predictive labels148may be assigned to a remaining portion149of the extracted tokens141via a logistic regression classifier (LRC)150based on model parameters and the sparse matrix146.

In an embodiment, each of the predictive labels148may represent the categorical level144associated with the extracted tokens141in the remaining portion149. Each of the predictive labels148may include an assigned prediction certainty131, which may be generated by the logistic regression classifier150. The predictive labels148may be repeatedly assigned by the logistic regression classifier150to each one of the extracted tokens141in the remaining portion149, for one or more prediction iterations. The prediction iterations may be based on the prediction iterations count. The prediction iterations for an extracted token141may terminate if the assigned prediction certainty131for the extracted token141is above the threshold prediction certainty. In an embodiment, the model parameter of the logistic regression classifier150may be adjusted after each of the prediction iterations.

A model organizational dataset153may be generated based on the assigned training labels142and the assigned predictive labels148. The model organizational dataset153may include the extracted tokens141. Each of the extracted tokens141may be associated with one or more categorical level144. In certain embodiments, the presently disclosed method or system100may adjust the extracted tokens141in the model organizational dataset153that are associated with more than one categorical levels144and a flagged categorical level144. The flagged categorical level144of an extracted token141may be different from the first categorical level144that was associated with the extracted token141. The adjusted token141may have an adjusted categorical level144. The model organizational dataset153may be stored in a memory154, which may be adapted to communicate with the processor129of the system100. In an embodiment, the memory154may also store the received organizational dataset101, the role matrix schema107, the standard taxonomy127, the generated role tokens119, and the extracted tokens141.

A prediction certainty median may be determined based on the assigned prediction certainties131of the extracted tokens141in the model organizational dataset153. In accordance with certain embodiments, the presently disclosed method or system100may identify the extracted tokens141in the model organizational dataset153having assigned prediction certainties131greater than the prediction certainty median. Further, each of the enterprise roles105represented in the human resource records103may be mapped to, or associated with, the identified role tokens156. In an embodiment, the identified role tokens156may include a role activity for the associated enterprise roles105. The role activity may represent activities, routine tasks or daily duties performed by the enterprise role105.

FIG. 3illustrates a flowchart illustrating exemplary steps of a process or method for managing organizational structures, as implemented in accordance with certain embodiments. The processes described herein may be implemented by the system100shown inFIG. 1, a computer readable medium, a PaaS product, and/or circuitry components as described herein. In such embodiments, the method may include the step of receiving an organizational dataset101that represents an organizational structure for an enterprise102. See block301inFIG. 3. The received datasets101may include human resource records103. Each human resource record103may include a role dataset104that represents an enterprise role105for the enterprise102.

In certain embodiments, the method may include the step of generating role tokens119based on at least a designated portion120of the role dataset104. See block302. The generated role tokens119may include adjusted unique role datasets123having text124and/or values125contained in the designated portion120of the role dataset104that are truncated and deduped. The method may further include the following steps: assigning prioritization scores132to the generated role tokens119using a hierarchical clustering method and a statistical modelling method (block303); receiving, via a user interface, a training sample size, a training cycle count, a threshold prediction certainty, and a prediction iterations count (block304); extracting the generated role tokens119having threshold prioritization scores132(block305); and, assigning training labels142to a training portion143of the extracted tokens141(block306).

In some embodiments, the training labels142may represent a categorical level144associated with the extracted tokens141in the training portion143. The training portion143may be defined by the training sample size. The training labels142may be repeatedly assigned to the training portion143in one or more training cycles. The training cycles may be defined by the training cycle count. In certain embodiments, the training labels142may assigned to the extracted tokens141in the training portion143based on the hierarchical clustering method and the statistical modelling method used to assign the prioritization score132assigned to the generated role tokens119.

The method may include the step of generating a matrix146based on the training portion143of the extracted tokens119, in accordance with certain embodiments. See block307. The assigned training labels142for the training portion143may be assigned to token elements in the matrix146. In addition, the method may include the step of assigning predictive labels148to a remaining portion149of the extracted tokens119via a logistic regression classifier150. See block308. This may be based on model parameters and/or the matrix146. In an embodiment, the matrix146may be a sparse matrix146.

Each of the predictive labels148may represent the categorical level144associated with the extracted tokens141in the remaining portion149. Each of the predictive labels148may include an assigned prediction certainty131generated by the logistic regression classifier150. The predictive labels148may be repeatedly assigned by the logistic regression classifier150to each one of the extracted tokens141in the remaining portion149for one or more prediction iterations. The prediction iterations may be based on the prediction iterations count. The prediction iterations for at least one of the extracted tokens141may terminate if the assigned prediction certainty131for the at least one of the extracted tokens141is above the threshold prediction certainty.

The method may further include the step of adjusting the model parameter of the logistic regression classifier150after each of the prediction iterations. See block309. In certain embodiments, the method may include the generation of a model organizational dataset153based on the assigned training labels142and the assigned predictive labels148. See block310. The model organizational dataset153may include the extracted tokens141. Each of the extracted tokens141may be associated with one or more categorical levels144. In some embodiments, the method may include the step of adjusting the extracted tokens141in the model organizational dataset153that are associated with more than one of the one or more categorical levels144and at least one flagged categorical level144. See block311. The flagged categorical level144of one of the extracted tokens141may be different from the first categorical level144associated with the one of the extracted tokens141. Accordingly, the adjusted token141may have an adjusted categorical level144.

In certain embodiments, a prediction certainty median may be determined based on the assigned prediction certainties131of the extracted tokens141in the model organizational dataset153. See block312. The method may further include the step of identifying the extracted tokens141in the model organizational dataset153having assigned prediction certainties131greater than the prediction certainty median. See block313. In addition, the method may include the step of mapping or associating the identified role tokens156to the enterprise roles105represented in the human resource records103. See block314. The identified role tokens156may include a role activity for the associated enterprise roles105. The mapping process may include the association of the identified role tokens156to the role datasets104in the received organizational datasets101, which represent the enterprise roles105for the enterprise102. In an embodiment, the mapping process may also include the transmission of the identified role tokens156, and/or the entire model organizational dataset153, to the enterprise102via an user interface.

In certain embodiments, the presently disclosed method or system100may identify human resources cost savings associated with an associated enterprise role105based on a compensation comparison of a role dataset104in the human resource records103of the received organizational datasets101with the associated enterprise role105. The compensation comparison may be based on the role compensation118for the role dataset104and the associated enterprise roles105. Similarly, the present disclosure may enable the identification of human resources budget reductions associated with the associated enterprise role105based on a budget comparison of the role dataset104with the associated enterprise role105. The budget comparison may be based on the role budget117for the role dataset104and the associated enterprise role105. The disclosed system may also be configured to identify human resources outsource savings associated with the associated enterprise role105based on an outsource comparison of the role dataset104with the associated enterprise roles105. The outsource comparison may be based on the outsource location115for the role dataset104and the associated enterprise role105.

In an embodiment, an accountability matrix may be generated based on the associated enterprise roles105. A role ownership may be identified for each of the enterprise roles105based on the accountability matrix. The role ownership may include the role family110for the identified role tokens156. An employee identifier may be assigned to one of the role ownership. The employee identifier may represent an employee of the enterprise102. Each of the enterprise roles105represented in the human resource records103may be mapped to, associated with, the identified role ownership156. In some embodiments, a time-distribution categorical level may be mapped to, associated with, the extracted tokens141. Time-distribution labels representing the time-distribution categorical levels may be assigned to the extracted tokens141.

An optimization lever may be assigned to the extracted tokens141, in accordance with certain embodiments. The optimization lever may be contained in the standard taxonomy127. In an embodiment, the optimization lever may be one of the role classifications130of a standard taxonomy127. The optimization lever may include a demand management lever, an automation lever, an operating model lever, an organization lever, or a reinvest lever. In some embodiments, a lever dataset may be assigned to the assigned optimization lever. The lever dataset may be received via the user interface. In some embodiments, the lever dataset may be predetermined. A lever-optimized sparse matrix may generated based on the lever-optimized tokens, i.e. the extracted token141that were assigned an optimization lever. Lever labels may be assigned to the lever-optimized tokens via the logistic regression classifier150based on the lever-optimized sparse matrix.

A lever-optimized organizational dataset may be generated based on the assigned lever labels. The lever-optimized organizational dataset may include the lever-optimized tokens. Each of the extracted tokens141may be associated with the optimization lever. In certain embodiments, the presently disclosed method or system100may map or associate each of the enterprise roles105represented in the human resource records103to the lever-optimized tokens. Further, the disclosed system100may identify lever-optimization savings associated with the optimization lever based on a lever-optimization comparison of a role dataset104in the human resource records103of the received organizational datasets101with the associated enterprise roles105. The lever-optimization comparison may be based on the role compensation118for the role dataset104and the associated enterprise role105. The enterprise roles105represented in the human resource records103may be adjusted based on the lever-optimized tokens.

The presently disclosed system100may be implemented in many different ways, using various components and modules, including any combination of circuitry described herein, such as hardware, software, middleware, application program interfaces (APIs), and/or other components for implementing the corresponding features of the circuitry. In an embodiment, the system100may include a computing device, which may include a memory154and a processor129. The system100may also include generated graphical user interfaces (GUIs). As discussed below, users and administrators (admins) may interface with the system via these user interfaces. In some embodiments, the memory154may include the modules of the system100.

In some embodiments, the computer device may include communication interfaces, system circuitry, input/output (I/O) interface circuitry, and display circuitry. The GUIs displayed by the display circuitry may be representative of GUIs generated by the system100to present a query to an application or end user. The GUIs displayed by the display circuitry may also be representative of GUIs generated by the system100to receive query inputs. The GUIs may be displayed locally using the display circuitry, or for remote visualization, e.g., as HTML, JavaScript, audio, and video output for a web browser running on a local or remote machine. The GUIs and the I/O interface circuitry may include touch sensitive displays, voice or facial recognition inputs, buttons, switches, speakers and other user interface elements. Additional examples of the I/O interface circuitry includes microphones, video and still image cameras, headset and microphone input/output jacks, Universal Serial Bus (USB) connectors, memory card slots, and other types of inputs. The I/O interface circuitry may further include magnetic or optical media interfaces (e.g., a CDROM or DVD drive), serial and parallel bus interfaces, and keyboard and mouse interfaces.

The communication interfaces may include wireless transmitters and receivers (herein, “transceivers”) and any antennas used by the transmit-and-receive circuitry of the transceivers. The transceivers and antennas may support WiFi network communications, for instance, under any version of IEEE 802.11, e.g., 802.11n or 802.11ac, or other wireless protocols such as Bluetooth, Wi-Fi, WLAN, cellular (4G, LTE/A). The communication interfaces may also include serial interfaces, such as universal serial bus (USB), serial ATA, IEEE 1394, lighting port, I2C, slimBus, or other serial interfaces. The communication interfaces may also include wireline transceivers to support wired communication protocols. The wireline transceivers may provide physical layer interfaces for any of a wide range of communication protocols, such as any type of Ethernet, Gigabit Ethernet, optical networking protocols, data over cable service interface specification (DOCSIS), digital subscriber line (DSL), Synchronous Optical Network (SONET), or other protocol.

The system circuitry may include any combination of hardware, software, firmware, APIs, and/or other circuitry. The system circuitry may be implemented, for example, with one or more systems on a chip (SoC), servers, application specific integrated circuits (ASIC), field programmable gate arrays (FPGA), microprocessors, discrete analog and digital circuits, and other circuitry. The system circuitry may implement any desired functionality of the system100. As just one example, the system circuitry may include one or more instruction processor129and memory154.

The processor129may be one or more devices operable to execute logic. The logic may include computer executable instructions or computer code embodied in the memory154or in other memory that when executed by the processor129, cause the processor129to perform the features implemented by the logic. The computer code may include instructions executable with the processor129. Logic, such as programs or circuitry, may be combined or split among multiple programs, distributed across several memories154and processors129, and may be implemented in a library, such as a shared library (e.g., a dynamic link library or DLL).

The memory stores, for example, control instructions for executing the features of the disclosed system100, as well as the operating system. Examples of the memory154may include non-volatile and/or volatile memory, such as a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM), or flash memory. Alternatively or in addition, the memory154may include an optical, magnetic (hard-drive) or any other form of data storage device. In one implementation, the processor129executes the control instructions and the operating system to carry out any desired functionality for the disclosed system100. The control parameters may provide and specify configuration and operating options for the control instructions, operating system, and other functionality of the computer device.

The computer device may further include various data sources, as described herein. Each of the databases that are included in the data sources may be accessed by the system100to obtain data for consideration during any one or more of the processes described herein. All of the discussion, regardless of the particular implementation described, is exemplary in nature, rather than limiting. For example, although selected aspects, features, or components of the implementations are depicted as being stored in memories, all or part of the system100may be stored on, distributed across, or read from other computer readable storage media, for example, secondary storage devices such as hard disks, flash memory drives, floppy disks, and CD-ROMs. Moreover, the various modules and screen display functionality is but one example of such functionality and any other configurations encompassing similar functionality are possible.

The respective logic, software or instructions for implementing the processes, methods and/or techniques discussed above may be provided on computer readable storage media. The functions, acts or tasks illustrated in the figures or described herein may be executed in response to one or more sets of logic or instructions stored in or on computer readable media. The functions, acts or tasks are independent of the particular type of instructions set, storage media, processor or processing strategy and may be performed by software, hardware, integrated circuits, firmware, micro code and the like, operating alone or in combination. Likewise, processing strategies may include multiprocessing, multitasking, parallel processing and the like. In one embodiment, the instructions are stored on a removable media device for reading by local or remote systems. In other embodiments, the logic or instructions are stored in a remote location for transfer through a computer network or over telephone lines. In yet other embodiments, the logic or instructions are stored within a given computer, central processing unit (“CPU”), graphics processing unit (“GPU”), or the system100.

A second action may be said to be “in response to” a first action independent of whether the second action results directly or indirectly from the first action. The second action may occur at a substantially later time than the first action and still be in response to the first action. Similarly, the second action may be said to be in response to the first action even if intervening actions take place between the first action and the second action, and even if one or more of the intervening actions directly cause the second action to be performed. For example, a second action may be in response to a first action if the first action includes setting a Boolean variable to true and the second action is initiated if the Boolean variable is true.

While the present disclosure has been particularly shown and described with reference to an embodiment thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the present disclosure. Although some of the drawings illustrate a number of operations in a particular order, operations that are not order-dependent may be reordered and other operations may be combined or broken out. While some reordering or other groupings are specifically mentioned, others will be apparent to those of ordinary skill in the art and so do not present an exhaustive list of alternatives.