WO2023093909A1 - 一种工作流节点推荐方法及装置 - Google Patents
一种工作流节点推荐方法及装置 Download PDFInfo
- Publication number
- WO2023093909A1 WO2023093909A1 PCT/CN2022/135033 CN2022135033W WO2023093909A1 WO 2023093909 A1 WO2023093909 A1 WO 2023093909A1 CN 2022135033 W CN2022135033 W CN 2022135033W WO 2023093909 A1 WO2023093909 A1 WO 2023093909A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- workflow
- target
- node
- code string
- recommendation
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/34—Graphical or visual programming
Definitions
- the present application relates to the field of computer technology, in particular to a workflow node recommendation method and device.
- each workflow can include several workflow nodes, where each workflow node can be used to indicate each business item in the business process corresponding to the workflow, and the arrangement relationship between each workflow node is the same as
- the execution order of various business items can be in one-to-one correspondence. Therefore, the workflow can generally be used to indicate that the corresponding business items in the business process are executed sequentially according to the order in which the workflow nodes are arranged.
- workflow nodes can usually be pre-configured according to business requirements, so that users can select from all preset types of workflow nodes according to the execution order of each business item in the business process, and then select the The workflow node corresponding to the item, and add the selected workflow node to the workflow created by the user.
- the present application provides a workflow node recommendation method, the method comprising:
- the target code string sequence includes at least one code string respectively corresponding to at least one workflow node in the target workflow;
- the code string corresponding to each workflow node in the at least one workflow node is obtained by coding each workflow node respectively;
- the trained language model for calculation, and obtain the prediction result of the next code string output by the language model for the target code string sequence; wherein, the The prediction result includes each code string corresponding to different types of workflow nodes as the probability value of the next code string of the target code string sequence;
- the generating the target code string sequence corresponding to the target workflow including at least one workflow node includes:
- Encoding is respectively performed on at least one workflow node in the target workflow, to obtain at least one code string respectively corresponding to the at least one workflow node;
- the obtained at least one code string is arranged to obtain the target code string sequence corresponding to the target workflow.
- generating a target code string sequence corresponding to a target workflow including at least one workflow node includes:
- the at least one workflow node in the target workflow sort the coded strings obtained by one-hot encoding and corresponding to each of the workflow nodes, and obtain the code string corresponding to the target workflow.
- the determining the recommendation result for the next workflow node of the target workflow based on the prediction result for the next code string of the target code string sequence includes:
- the workflow nodes respectively corresponding to the preset number of coded strings are used as the recommended nodes;
- the determining the recommendation result for the next workflow node of the target workflow based on the prediction result for the next code string of the target code string sequence includes:
- the recommended node is determined as the recommendation result for the next workflow node of the target workflow.
- the workflow is created in response to the at least one workflow node being added to a workflow, and the creation moment of the workflow is when the last workflow node in the workflow is added time.
- a newly created workflow is defaulted as the target workflow.
- the method before generating the target code string sequence corresponding to the target workflow including at least one workflow node, the method further includes:
- the method also includes:
- At least one recommended component corresponding to the at least one recommended node is displayed to the user in the drawing interface.
- the drawing interface includes a preset component list and a canvas area
- the preset component list is used to display preset types of components
- the canvas area is used to display the work flow chart.
- the drawing interface further includes a recommendation area, and the recommendation area is used to display at least one recommendation component corresponding to the at least one recommendation node.
- the language model includes a language model based on statistics, or a language model based on a neural network.
- the language model based on statistics includes an n-gram model; the language model based on a neural network includes a bidirectional encoder representation (BERT) model of a converter, a word vector (Word2vec) model, a recurrent neural network (RNN) model, convolutional neural network (CNN) model.
- BERT bidirectional encoder representation
- Word2vec word vector
- RNN recurrent neural network
- CNN convolutional neural network
- corresponding code string sequence samples are generated to obtain a corpus containing the code string sequence samples; based on statistics, the calculated When the first n coded strings in the coded string sequence sample are respectively w 1 , ..., w n , the probability that the n+1th coded string is w n+1 , and the probability is expressed as P( w n+1
- a corresponding code string sequence sample is generated according to the created workflow sample; embedding processing is performed on the code string in the code string sequence sample, and each A feature vector corresponding to the code string; randomly mask some code strings in the code string sequence samples, and verify whether the BERT model can accurately predict the masked code string.
- the present application also provides a device for recommending workflow nodes, the device comprising:
- a generating unit configured to generate a target code string sequence corresponding to a target workflow including at least one workflow node; wherein, the target code string sequence includes a sequence corresponding to at least one workflow node in the target workflow respectively. At least one code string; the code string corresponding to each workflow node in the at least one workflow node is obtained by coding each workflow node respectively;
- a prediction unit configured to use the generated target code string sequence as input data, input the trained language model for calculation, and obtain the prediction result of the next code string output by the language model for the target code string sequence ;
- the prediction result includes each code string corresponding to different types of workflow nodes as the probability value of the next code string of the target code string sequence;
- a recommendation unit configured to determine a recommendation result for the next workflow node of the target workflow based on the prediction result for the next code string of the target code string sequence; the recommendation result includes at least one recommended node .
- the generating unit is also used for:
- Encoding is respectively performed on at least one workflow node in the target workflow, to obtain at least one code string respectively corresponding to the at least one workflow node;
- the obtained at least one code string is arranged to obtain the target code string sequence corresponding to the target workflow.
- the different types of workflow nodes are pre-configured with different index values; the generating unit is further configured to:
- the at least one workflow node in the target workflow sort the coded strings obtained by one-hot encoding and corresponding to each of the workflow nodes, and obtain the code string corresponding to the target workflow.
- the recommendation unit is also used for:
- the workflow nodes respectively corresponding to the preset number of coded strings are used as the recommended nodes;
- the recommendation unit is also used for:
- the recommended node is determined as the recommendation result for the next workflow node of the target workflow.
- the workflow is created in response to the at least one workflow node being added to a workflow, and the creation moment of the workflow is when the last workflow node in the workflow is added time.
- a newly created workflow is defaulted as the target workflow.
- the generating unit is also used for:
- the recommendation unit is also used for:
- At least one recommended component corresponding to the at least one recommended node is displayed to the user in the drawing interface.
- the drawing interface includes a preset component list and a canvas area
- the preset component list is used to display preset types of components
- the canvas area is used to display the work flow chart.
- the drawing interface further includes a recommendation area, and the recommendation area is used to display at least one recommendation component corresponding to the at least one recommendation node.
- the language model includes a language model based on statistics, or a language model based on a neural network.
- the language model based on statistics includes an n-gram model; the language model based on a neural network includes a bidirectional encoder representation (BERT) model of a converter, a word vector (Word2vec) model, a recurrent neural network (RNN) model, convolutional neural network (CNN) model.
- BERT bidirectional encoder representation
- Word2vec word vector
- RNN recurrent neural network
- CNN convolutional neural network
- corresponding code string sequence samples are generated to obtain a corpus containing the code string sequence samples; based on statistics, the calculated When the first n coded strings in the coded string sequence sample are respectively w 1 , ..., w n , the probability that the n+1th coded string is w n+1 , and the probability is expressed as P( w n+1
- a corresponding code string sequence sample is generated according to the created workflow sample; embedding processing is performed on the code string in the code string sequence sample, and each A feature vector corresponding to the code string; randomly mask some code strings in the code string sequence sample, and verify whether the BERT model can accurately predict the masked code string.
- the present application also provides an electronic device, including a communication interface, a processor, a memory, and a bus, and the communication interface, the processor, and the memory are connected to each other through the bus;
- the memory stores machine-readable instructions, and the processor executes the above method by invoking the machine-readable instructions.
- the present application also provides a machine-readable storage medium, where the machine-readable storage medium stores machine-readable instructions, and when the machine-readable instructions are called and executed by a processor, the above method is implemented.
- a target code string sequence corresponding to the target workflow can be generated, because Inputting the generated target code string sequence into the trained language model, the prediction result of the next code string output by the language model for the target code string sequence can be obtained, and then the target workflow can be obtained.
- the recommendation result of the next workflow node therefore, when the user tries to select the next workflow node for the target workflow, the type of the next workflow node can be automatically recommended according to the existing workflow nodes in the target workflow, This enables the user to directly select the next workflow node from the recommended nodes, thereby improving the efficiency of the user in creating workflows.
- Fig. 1 is a flow chart of a workflow node recommendation method shown in an exemplary embodiment
- Fig. 2 is a schematic diagram of a drawing interface shown in an exemplary embodiment
- Fig. 3 is a schematic diagram of a recommended area shown in an exemplary embodiment
- Fig. 4 is a hardware structural diagram of an electronic device where a workflow node recommending device is shown in an exemplary embodiment
- Fig. 5 is a block diagram of an apparatus for recommending workflow nodes according to an exemplary embodiment.
- the steps of the corresponding methods are not necessarily performed in the order shown and described in this specification.
- the method may include more or less steps than those described in this specification.
- a single step described in this specification may be decomposed into multiple steps for description in other embodiments; multiple steps described in this specification may also be combined into a single step in other embodiments describe.
- Workflow can be used to make an abstract expression of business processes, so that users can manage business processes conveniently and standardizedly.
- the complete business process can be divided into several business items, and each business item can be executed in a certain order;
- the workflow corresponding to the business process can include several workflow nodes, and each workflow node can be used It is used to indicate each business item in the business process corresponding to the workflow, and the arrangement order of each workflow node and the execution order of each business item can be in one-to-one correspondence.
- workflow nodes can usually be pre-configured according to business requirements, so that when users create a workflow corresponding to a business process, they can follow the business process from all preset types of workflow nodes In order to execute the order of each business item, select the workflow node corresponding to the business item in turn, and add the selected workflow node to the workflow created by the user.
- the business process of "business data processing” can be divided into “input business data”, “preprocess the input business data”, “calculate the classification result of the preprocessed business data through the classification algorithm”, “ Calculate different types of business items such as “forecast results for classification results” and “output processing results for business data based on prediction results” through prediction algorithms; correspondingly, “data input” can be pre-configured according to the above-mentioned different types of business items , “Data Preprocessing”, “Classification Algorithm”, “Prediction Algorithm”, “Data Output” and other different types of workflow nodes.
- workflow node 1 workflow node 2 -> workflow node 3
- types of workflow node 1, workflow node 2 and workflow node 3 are respectively " Data Input”, “Data Preprocessing”, “Classification Algorithms”.
- serial numbers in the node names of workflow nodes such as "workflow node 1" and "workflow node 2" shown above can be used to indicate that the workflow node is added to the created workflow
- the order of the sequence does not make any special limitation on this specification. In practical applications, since users may create multiple workflows at the same time, or update previously created workflows, it is understandable that the sequence numbers of adjacent workflow nodes in the same workflow are not necessarily is continuous.
- the workflow may be updated to "workflow Node 1—>workflow node 2—>workflow node 3—>workflow node 6", where the type of workflow node 6 is also the type of "prediction algorithm” selected above, that is, the user is Workflow nodes may have been added for other workflows before Workflow Node 6 was added.
- workflow nodes for example, hundreds of preset types of workflow nodes
- users It often takes a lot of time to manually find out the required type of workflow node from all preset types of workflow nodes according to the type of the next workflow node required, and then place the found workflow node Added to workflows created by the user.
- this specification aims to propose a technical solution for recommending the next workflow node of a target workflow to a user based on a language model in a workflow creation scenario.
- the language model belongs to the technology in the field of natural language processing (NLP, Natural Language Processing), and can be used to estimate the probability of a piece of text appearing. For example, for a sentence [w 1 , ..., w n ] including n (n is a positive integer) words (word), the probability P(w 1 , ..., w n ) of the sentence can be calculated.
- the language model can specifically be used to predict which word in the preset dictionary the n+1th word of the sentence may be based on the first n words in the sentence, and calculate the preset
- the workflow is a non-textual and abstract expression
- the non-text The target workflow of the text is converted into a textual expression, and then the obtained textual expression is used as the input of the language model to obtain the prediction result output by the language model for the textual expression, and then according to the The prediction result of the textual expression determines the recommendation result for the non-text target workflow.
- a target code string sequence corresponding to a target workflow including at least one workflow node may be generated; wherein, the target code string sequence includes at least one corresponding to at least one workflow node in the target workflow.
- An encoding string; the encoding string corresponding to each workflow node in the target workflow is obtained by encoding each workflow node respectively; further, the generated target encoding can be The string sequence is used as input data, and the language model that has been trained is input for calculation, and the prediction result of the next coding string for the target coding string sequence output by the language model is obtained; wherein, the prediction result includes different types of The code strings corresponding to the workflow nodes are used as the probability values of the next code string of the target code string sequence; further, based on the prediction results for the next code string of the target code string sequence, determine A recommendation result for the next workflow node of the target workflow; the recommendation result includes at least one recommended node.
- the word segmentation processing is to divide the sentences in the text is a number of words, which may include words or phrases.
- each workflow node in the target workflow can be directly used as the smallest unit (similar to "words" in the NLP field), and encode each workflow node; those skilled in the art can understand that the sequence of coded strings corresponding to the workflow is similar to the encoding of text that has completed word segmentation in the NLP field The obtained encoding result.
- the code string corresponding to each workflow node in the at least one workflow node can be obtained, which can Generate a target code string sequence corresponding to the target workflow, and input the generated target code string sequence into the trained language model to obtain the next code string output by the language model for the target code string sequence prediction results, and then a recommendation result for the next workflow node of the target workflow can be obtained.
- the next node of the target workflow can be automatically recommended to the user based on the type of at least one existing workflow node in the target workflow.
- the type of a workflow node therefore, ordinary users can also directly select the next workflow node from the recommended nodes without manually searching for the required type of workflow nodes from all preset types of workflow nodes, thereby reducing
- the time it takes for the user to select the next workflow node of the target workflow can improve the efficiency of workflow creation.
- FIG. 1 is a flow chart of a workflow node recommendation method shown in an exemplary embodiment. The above method performs the following steps:
- Step 102 Generate a target code string sequence corresponding to a target workflow including at least one workflow node; wherein, the target code string sequence includes at least one corresponding to at least one workflow node in the target workflow An encoding string; an encoding string corresponding to each workflow node in the at least one workflow node is obtained by encoding each workflow node respectively;
- Step 104 Using the generated target code string sequence as input data, input the trained language model for calculation, and obtain the prediction result of the next code string output by the language model for the target code string sequence; wherein , the prediction result includes each code string respectively corresponding to different types of workflow nodes as the probability value of the next code string of the target code string sequence;
- Step 106 Based on the prediction result for the next code string of the target code string sequence, determine a recommendation result for the next workflow node of the target workflow; wherein, the recommendation result includes at least one recommended node .
- the target workflow may include at least one workflow.
- one or more workflows selected by the user may be used as a target workflow to obtain a recommendation result for the next workflow node of the target workflow.
- the creation time of the workflow can be the adding time of the last workflow node in the workflow ; Therefore, according to the creation time of each workflow, a workflow created most recently by the user (that is, the latest creation time) can be defaulted as the target workflow.
- the target workflow may include at least one workflow node; the code strings corresponding to each workflow node in the at least one workflow node may be respectively performed for each workflow node obtained by encoding.
- the encoding string corresponding to the workflow node is the encoding result obtained by encoding the workflow node; those skilled in the art know that the encoding string corresponding to the workflow node can represent the characteristic information of the workflow node, that is, Can be used to distinguish different types of workflow nodes. It should be noted that, regarding the length of the encoding string (or encoding result) corresponding to the workflow node, the specific encoding method used when encoding the workflow node, the number of preset types of workflow nodes, and feature dimensions, etc. Factors are related, and those skilled in the art can set as needed, and there is no limitation here; for example, the code string corresponding to each workflow node can specifically include one or more characters, which is a textual expression.
- workflow node 1, workflow node 2, and workflow node 3 are “data input”, “data
- the three different types of workflow nodes, “processing” and “classification algorithm”, can be used to indicate “input business data”, “preprocess the input business data”, “calculate the Classification results of business data” these three different types of business matters.
- the corresponding code strings can be obtained as s1, s2, and s3 respectively; wherein, the code strings s1, s2, and s3 are different The code string can be used to distinguish the three different types of workflow nodes.
- the code string corresponding to the target workflow can be generated.
- At least one workflow node included in the target workflow may be firstly coded to obtain code strings respectively corresponding to the at least one workflow node, and then work on the target according to the corresponding workflow node position in the flow, and arrange the obtained code strings to obtain a target code string sequence corresponding to the target workflow.
- the target workflow is "workflow node 1->workflow node 2->workflow node 3", respectively encode workflow node 1, workflow node 2, and workflow node 3 to obtain corresponding code strings respectively is s1, s2, s3, then the target code string sequence corresponding to the target workflow can be generated, which is: [s1, s2, s3].
- one-hot encoding may be used to encode the workflow nodes, so as to generate a target encoding string sequence corresponding to the target workflow.
- different index values may be pre-configured for different types of workflow nodes; said generating a target code string sequence corresponding to a target workflow including at least one workflow node may specifically include: The pre-configured index value of at least one workflow node in the flow is respectively one-hot encoded to obtain a one-hot encoded representation corresponding to each workflow node in the at least one workflow node, as The code strings corresponding to the nodes respectively; according to the arrangement order of the at least one workflow node in the target workflow, sort the code strings obtained by one-hot coding and corresponding to each workflow node respectively, and obtain the code string corresponding to each workflow node.
- the target code string sequence corresponding to the target workflow is respectively one-hot encoded to obtain a one-hot encoded representation corresponding to each workflow node in the at least one workflow node, as The code strings corresponding to the nodes respectively; according
- one-hot encoding is a process of converting categorical variables into a form that can be easily exploited by machine learning algorithms.
- index values also called integer values, category values
- the preset types of workflow nodes include five different types of workflow nodes: "data input”, “data preprocessing”, “classification algorithm”, “prediction algorithm”, and “data output”, you can respectively Configure index values 0, 1, 2, 3, 4; further, one-hot encoding can be performed on the above five different types of workflow nodes to obtain one-hot corresponding to each type of workflow node Code representation, as (1, 0, 0, 0, 0), (0, 1, 0, 0, 0), (0, 0, 1, 0, 0), (0, 0, 0, 1, 0 ), (0, 0, 0, 1, 0 ), (0, 0, 0, 0, 1).
- workflow node 1 >workflow node 2—>workflow node 3
- workflow node 1, workflow node 2, and workflow node 3 are "data input” and “data preprocessing” respectively , “classification algorithm” these three different types of workflow nodes, so according to the arrangement order of the above-mentioned workflow nodes in the target workflow, the target code string sequence corresponding to the target workflow can be obtained as [(1 , 0, 0, 0, 0), (0, 1, 0, 0, 0), (0, 0, 1, 0, 0)].
- the length of the coded string being 5 is only an exemplary description, and does not impose any special limitation on this specification.
- the length of the code string corresponding to the workflow nodes may be 1000.
- workflow nodes can be distinguished according to different business items corresponding to the workflow nodes; for another example, the preset type in the above embodiment can be further subdivided, the "data input” type can be It is further subdivided into types such as "import excel data”, “import mysql data”, “import csv data”, “import hive data”, that is, the workflow nodes are "import excel data”, “import mysql data”, “ Import csv data”, “import hive data” and other different types of workflow nodes; it can also be distinguished according to the executor of the business item corresponding to the workflow node.
- the generated target code string sequence can be used as input data, input into the trained language model for calculation, and the output of the language model can be obtained
- the prediction result of the next code string of the target code string sequence may include code strings corresponding to different types of workflow nodes as the next code string of the target code string sequence
- the probability value of the encoded string is the probability value of the encoded string.
- the respective code strings corresponding to different types of workflow nodes may include code strings respectively corresponding to each preset type of workflow nodes.
- the preset types of workflow nodes include five different types of workflow nodes: "data input”, “data preprocessing”, “classification algorithm”, “forecasting algorithm”, and “data output”, the same as each of the above
- the code strings corresponding to the preset types of workflow nodes are s1, s2, s3, s4, s5 respectively.
- the target code string sequence After generating the target code string sequence [s1, s2, s3] corresponding to the target workflow “workflow node 1—>workflow node 2—>workflow node 3”, the target code string sequence can be used as input data, Input the trained language model for calculation, and obtain the prediction result of the next code string output by the language model for the target code string sequence, that is, the code string corresponding to each preset type of workflow node s1, s2, s3, s4, s5 may be the probability values of the fourth code string of the target code string sequence.
- the prediction result output by the language model may be: the probability value of the fourth code string of the target code string sequence being "s1" is 0%, the probability value of "s2" is 10%, and the probability value of "s3” is 10%, the probability value of "s4" is 50%, and the probability value of "s5" is 30%; those skilled in the art can understand that the sum of each probability value included in the prediction result is 1.
- the language model can be divided into a language model based on statistics and a language model based on neural network.
- the statistics-based language model can be obtained by performing statistics on the training samples to obtain that when the first n code strings in the training samples are respectively w 1 , ..., w n , the n+1th code The probability that the string is w n+1 , that is, P(w n+1
- the language model based on statistics may specifically include an n-gram model; the language model based on a neural network may specifically include BERT (Bidirectional Encoder Representation from Transformers, a bidirectional encoder of a converter) model, Word2vec (Word to Vecto, r word vector) model, RNN (Recurrent Neural Network, cyclic neural network) model, CNN (Convolutional Neural Network, convolutional neural network) model, etc.
- BERT Bidirectional Encoder Representation from Transformers, a bidirectional encoder of a converter
- Word2vec Word2vec (Word to Vecto, r word vector) model
- RNN Recurrent Neural Network, cyclic neural network
- CNN Convolutional Neural Network, convolutional neural network
- the training samples may include code string sequence samples used for training the above-mentioned language model, and specifically may include code string sequences generated by the created workflow.
- code string sequence samples used for training the above-mentioned language model
- code string sequences generated by the created workflow For the specific process of using the training samples to train the above language model, please refer to related technologies on language model training and optimization in the field of NLP, which will not be repeated here.
- the language model when it adopts a statistics-based n-gram model, it can first generate corresponding code string sequence samples according to the created workflow samples, and obtain a corpus containing several code string sequence samples; further, based on statistics, It is possible to calculate the probability that the n+1th code string is w n+1 when the first n code strings in the training sample are w 1 ,..., w n respectively, that is, P(w n+1
- the Markov assumption can also be used to optimize the training process for the n-gram model, which can be flexibly implemented by those skilled in the art based on the above training samples, and will not be repeated here.
- the language model uses a neural network-based BERT model
- the BERT model is a deep learning model for text training based on word vectors
- the corresponding code string can be generated based on the created workflow sample first. Sequence samples (that is, training samples), and then carry out embedding (embedding) processing for the coding strings in the training samples, to obtain feature vectors (that is, word vectors) corresponding to each coding string; further, can be randomly Some coded strings in the training samples are masked, and it is verified whether the BERT model can accurately predict the masked coded strings.
- predicting the next code string of the target code string sequence based on the statistical language model has the advantages of easy implementation and fast calculation speed, and the coding in the corpus When the conditions covered by the string sequence samples are comprehensive and the ratio of various situations is appropriate, the prediction result can also accurately reflect the probability of each code string sample appearing as the next code string of the target code string sequence. Predicting the next code string of the target code string sequence based on the neural network language model has advantages in learning synonyms and synonyms.
- the next workflow for the target workflow can be determined based on the prediction result The recommendation result of the node.
- the recommendation result may include at least one recommendation node; the recommendation node is a workflow node recommended for the user; the workflow node type of the recommendation node corresponds to the code string included in the prediction result .
- the prediction result of the next code string of the target code string sequence output by the language model is: the probability value of the fourth code string of the target code string sequence is "S1" is 0, and the probability value of "s2" is 0.
- the probability value is 10%
- the probability value of "s3” is 10%
- the probability value of "s4" is 50%
- the probability value of "s5" is 30%.
- the recommendation result of the fourth workflow node of workflow node 3 is: a workflow node of the type "prediction algorithm” corresponding to the code string s4, and a job of the type "data output” corresponding to the code string s5 A flow node; that is, the recommendation node is a workflow node of the "prediction algorithm” type and the "data output” type.
- N that is, top N
- the determining the recommendation result for the next workflow node of the target workflow based on the prediction result for the next code string of the target code string sequence may specifically include: according to the prediction In the order of each probability value included in the result from large to small, the workflow nodes corresponding to the preset number of code strings are used as the recommended nodes; the preset number of recommended nodes are determined as the recommended nodes for the The recommendation result of the next workflow node of the target workflow.
- the prediction results output by the language model are arranged in descending order of probability values, which can be s4, s5, s2, s3, and s1 in sequence;
- One workflow node type that is most likely to appear as the fourth workflow node of the target workflow that is, the preset number is 1, then the "prediction algorithm" type corresponding to the coded string "s4" can be
- a workflow node is used as a recommended node, and the recommended node is determined as a recommendation result for the fourth workflow node of the target workflow "workflow node 1 -> workflow node 2 -> workflow node 3".
- the preset number is 1, that is, the number of the recommended node is 1, which is only an exemplary description and is not limited in this specification; In practical applications, those skilled in the art can flexibly set it according to requirements. For example, if the preset number is 2, and it is necessary to recommend 2 workflow node types that are most likely to appear as the fourth workflow node of the target workflow for the user, then the code strings "s4", "s5 The corresponding workflow nodes of the "prediction algorithm” and "data output” types are recommended nodes, and will not be described here.
- the number of the recommended nodes can be set to increase (for example, Recommend top 5 workflow node types for users).
- the number of recommended nodes may be far less than the number of all preset types of workflow nodes, so that when the user directly determines the next workflow node of the target workflow according to the recommendation result, Can significantly improve the search efficiency. For example, there are hundreds of preset types of workflow nodes, but only five recommended nodes.
- a workflow node that is more likely to appear as the next workflow node of the target workflow may be recommended to the user.
- the determining the recommendation result for the next workflow node of the target workflow based on the prediction result for the next code string of the target code string sequence may specifically include: using the prediction The workflow node corresponding to the probability value greater than the preset threshold among the various probability values included in the result is used as the recommended node, and the recommended node is determined as the next workflow node for the target workflow. Recommended results.
- the "prediction algorithm” and “prediction algorithm” corresponding to code string samples "s4" and "s5" respectively can be Workflow nodes of the "data output” type are used as recommended nodes, and the recommended nodes are determined as the fourth workflow node for the target workflow "workflow node 1—>workflow node 2—>workflow node 3". Recommended results.
- the recommendation result can be guaranteed accuracy and improve user satisfaction with the workflow node recommendation function.
- the preset number of recommended nodes is 5, that is, the most recommended nodes are recommended for the user.
- the recommendation result may include the next workflow node that may be the target workflow corresponding to the code strings s2, s3, etc.
- a workflow node with a very small probability value may reduce the accuracy of the recommendation result, resulting in poor user experience.
- the preset threshold can also be reduced, thereby increasing the number of the recommended nodes, that is, to increase the number of nodes actually needed by the user in the recommendation results. The probability of the next workflow node.
- the user can usually create a workflow corresponding to the workflow diagram by drawing a workflow diagram.
- the "work flow chart” can also be called business flow chart, flow chart, etc., which is not limited in this specification; the work flow chart can be used to describe each business item included in the business process, and to describe When the business process is executed, the relationship between the various business items in timing and logic.
- drawing tool used for drawing the workflow diagram may include any tool for drawing a workflow diagram or creating a workflow; the drawing tool may generally provide a user with a drawing interface.
- IDE Integrated Development Tool
- FIG. 2 is a schematic diagram of a drawing interface shown in an exemplary embodiment.
- the drawing interface 20 may at least include a preset component list 202 and a canvas area 204 .
- the preset component list 202 can be used to display all preset types of components;
- the canvas area 204 can be used to display the workflow diagram drawn by the user.
- the workflow diagram drawn by the user may include several components added by the user and directed connections for connecting the several components.
- the preset component list 202 can display all preset types of components, specifically including “data input”, “data output”, “data preprocessing”, “classification algorithm”, and “prediction algorithm” and other preset types of components;
- the canvas area 204 can be used to display the workflow diagram that the user has drawn, as shown in the workflow diagram in Figure 2, which can specifically include component 1 "data input” and component 2 "data input” added by the user.
- Preprocessing component 3 "classification algorithm”, and several directed connections for connecting the above components.
- the workflow diagram may be a directed acyclic graph (DAG, Directed Acyclic Graph), that is, there is a temporal and logical relationship between components included in the workflow diagram.
- DAG directed acyclic graph
- the method may further include: in response to the user creating a workflow flowchart in the drawing interface, generating a sequence corresponding to the target workflow The target workflow corresponding to the workflow flowchart; wherein, the workflow flowchart may include at least one component; the component in the workflow flowchart may be used to indicate a corresponding workflow node in the target workflow.
- the user may add at least one component to the canvas area in the drawing interface, so as to create a workflow diagram containing the at least one component, and generate one or more workflows corresponding to the workflow diagram; Furthermore, all or part of workflows corresponding to the workflow flowchart may be determined as the target workflow, so as to obtain a recommendation result for the next workflow node of the target workflow.
- the user can sequentially add component 1 "data input”, component 2 "data preprocessing", and component 3 "classification algorithm” to the canvas area of the drawing interface, and use directed line segments to connect the above components to create a
- the workflow diagram shown in Figure 2 in response to the user creating the workflow diagram shown in Figure 2 in the drawing interface, the target workflow "workflow node 1 -> work” corresponding to the workflow diagram can be generated Flow node 2—>workflow node 3”; wherein, component 1, component 2, and component 3 in the workflow diagram can be used to indicate “workflow node 1, workflow node 3” in the target workflow respectively. 2.
- Workflow node 3 is Flow node 2—>workflow node 3
- the name of the component can usually be used to indicate the corresponding business item.
- the workflow diagram shown in Figure 2 includes Component 1, Component 2, and Component 3; Component 1, Component 2, and Component 3 in the workflow diagram can be used to indicate the "work” in the target workflow respectively.
- the target workflow "workflow node 1->workflow node 2->workflow node 3" corresponding to the workflow diagram can be generated; wherein, for workflow node 1, workflow node 2, workflow Node 3 is coded separately, and the corresponding code strings are respectively s1, s2, and s3.
- the target code corresponding to the target workflow "workflow node 1—>workflow node 2—>workflow node 3" can be generated String sequence [s1, s2, s3].
- the method may further include: based on the next workflow node for the target workflow For the recommendation result of the node, at least one recommended component corresponding to the at least one recommended node is displayed to the user in the drawing interface.
- FIG. 3 is a schematic diagram of a recommended region shown in an exemplary embodiment.
- a recommendation area 206 may also be included; the recommendation area 206 may be used to display at least one recommendation component corresponding to at least one recommendation node recommended for the user.
- the specific form of the recommended area 206 displayed in the drawing interface 20 is not limited in this specification, and those skilled in the art can set it according to requirements; for example, the recommended area 206 can be superimposed and displayed on the preset component list 202 and/or the canvas area 204, or, in response to determining the recommendation result for the next workflow node of the target workflow, may update the drawing interface 20 shown in FIG. 2 , and provide the recommendation area 206 in the updated drawing interface
- a separate display area is used to integrate the recommendation area 206 with the drawing interface 20 without blocking other contents in the drawing interface 20 .
- the recommendation result of the fourth workflow node of the target workflow "workflow node 1—>workflow node 2—>workflow node 3 is the work of the type of "prediction algorithm” and the type of "data output”
- the recommended components corresponding to the above recommended node can be displayed to the user, that is, the component "prediction algorithm” and the component "data output”.
- the user can directly select from the displayed at least one recommended component to be added to the
- the next component in the above-mentioned workflow diagram does not need to spend a lot of time manually searching for the required component from all the preset components displayed in the preset component list 202, thereby improving the user's ability to create a workflow by drawing a workflow diagram efficiency.
- the selected component when creating a workflow by drawing a workflow diagram through the drawing interface 20 shown in FIG.
- the target workflow corresponding to the diagram In the target workflow corresponding to the diagram.
- the target workflow may include at least one workflow node, that is, the target workflow is an already created workflow
- the method can only target The created workflow is used to recommend workflow nodes; therefore, in practical applications, in order to improve user experience, the probability of each workflow node appearing as the first node in the workflow can also be used, that is, it can be According to the probability value that each code string sample in the code string sample set appears as the first code string in the code string sequence, the recommendation result for the first workflow node in the workflow is determined.
- a workflow node of type "Data Input” can be used as a recommended node, and it can be determined as the recommended result for the first workflow node, or the component "Data Input” can be As a recommended component, it is determined as the recommendation result for the first component.
- the training samples of the language model may be collected from different application environments (for example, different drawing tools), and the initially collected training samples may be used
- the trained language model is used as the initial version to recommend workflow nodes or components for users; with the actual application, the workflows that have been created in the current specific application environment gradually increase, and the current application environment can also be obtained.
- the code string sequence corresponding to the workflow created in is used as a training sample to further train and optimize the language model of the initial version, so as to improve the accuracy of the recommendation result of the language model in the current specific application scenario.
- the target workflow may also include multiple workflows.
- the implementation manner of recommending the next workflow node for the target workflow including multiple workflows will not be repeated here.
- the target workflow includes multiple workflows
- a code string sequence corresponding to each workflow in the target workflow can be generated, and further, the language model can be used to obtain the The prediction result of the next code string of the code string sequence respectively corresponding to the workflow; further, the recommendation result for the next workflow node of the target workflow can be determined based on the sum of the obtained multiple prediction results.
- this specification also provides an embodiment of an apparatus for recommending workflow nodes.
- FIG. 4 is a hardware structural diagram of an electronic device where a workflow node recommending apparatus is shown in an exemplary embodiment.
- the device includes a processor 402, an internal bus 404, a network interface 406, a memory 408, and a non-volatile memory 410, and of course may also include hardware required by other services.
- the processor 402 reads a corresponding computer program from the non-volatile memory 410 into the memory 408 and then executes it.
- one or more embodiments of this specification do not exclude other implementations, such as logic devices or a combination of software and hardware, etc., that is to say, the execution subject of the following processing flow is not limited to each A logic unit, which can also be a hardware or logic device.
- FIG. 5 is a block diagram of an apparatus for recommending workflow nodes according to an exemplary embodiment.
- the device for recommending workflow nodes can be applied to the electronic device shown in FIG. 4 to implement the technical solution of this specification.
- the above-mentioned workflow node recommending device may include:
- a generating unit 502 configured to generate a target code string sequence corresponding to a target workflow including at least one workflow node; wherein, the target code string sequence includes a sequence corresponding to at least one workflow node in the target workflow at least one encoding string; the encoding string corresponding to each workflow node in the at least one workflow node is obtained by encoding each workflow node respectively;
- the prediction unit 504 is configured to use the generated target code string sequence as input data, input the trained language model for calculation, and obtain the prediction of the next code string output by the language model for the target code string sequence Result; wherein, the prediction result includes each code string corresponding to different types of workflow nodes as the probability value of the next code string of the target code string sequence;
- a recommendation unit 506 configured to determine a recommendation result for the next workflow node of the target workflow based on the prediction result for the next code string of the target code string sequence; wherein the recommendation result includes at least A referral node.
- the generating unit 502 is further configured to:
- Encoding is respectively performed on at least one workflow node in the target workflow, to obtain at least one code string respectively corresponding to the at least one workflow node;
- the obtained at least one code string is arranged to obtain the target code string sequence corresponding to the target workflow.
- the generating unit 502 is further configured to:
- the at least one workflow node in the target workflow sort the coded strings obtained by one-hot encoding and corresponding to each of the workflow nodes, and obtain the code string corresponding to the target workflow.
- the recommending unit 506 is further configured to:
- the workflow nodes respectively corresponding to the preset number of coded strings are used as the recommended nodes;
- the recommending unit 506 is further configured to:
- the recommended node is determined as the recommendation result for the next workflow node of the target workflow.
- the workflow is created in response to the at least one workflow node being added to a workflow, and the creation time of the workflow is the last workflow node in the workflow The moment of addition.
- a newly created workflow is defaulted as the target workflow.
- the generating unit 502 is further configured to:
- the recommending unit 506 is further configured to:
- At least one recommended component corresponding to the at least one recommended node is displayed to the user in the drawing interface.
- the drawing interface includes a preset component list and a canvas area
- the preset component list is used to display preset types of components
- the canvas area is used to display the work flow chart.
- the drawing interface further includes a recommendation area, and the recommendation area is used to display at least one recommendation component corresponding to the at least one recommendation node.
- the language model includes a language model based on statistics, or a language model based on a neural network.
- the language model based on statistics includes an n-gram model; the language model based on a neural network includes a bidirectional encoder representation (BERT) model of a converter, a word vector (Word2vec) model, a loop Neural Network (RNN) model, Convolutional Neural Network (CNN) model.
- BERT bidirectional encoder representation
- Word2vec word vector
- RNN loop Neural Network
- CNN Convolutional Neural Network
- a corresponding code string sequence sample is generated to obtain a corpus containing the code string sequence sample; based on statistics, calculate When the first n coded strings in the coded string sequence sample are respectively w 1 , ..., w n , the probability that the n+1th coded string is w n+1 is expressed as P(w n+1
- the corresponding code string sequence sample is generated according to the created workflow sample; the code string in the code string sequence sample is embedded and processed to obtain the same A feature vector corresponding to each code string; randomly masking some code strings in the code string sequence samples, and verifying whether the BERT model can accurately predict the masked code string.
- the device embodiment since it basically corresponds to the method embodiment, for related parts, please refer to the part description of the method embodiment.
- the device embodiments described above are only illustrative, and the units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in a place, or can also be distributed to multiple network elements. Part or all of the modules can be selected according to actual needs to achieve the purpose of the solution in this specification. It can be understood and implemented by those skilled in the art without creative effort.
- a typical implementing device is a computer, which may take the form of a personal computer, laptop computer, cellular phone, camera phone, smart phone, personal digital assistant, media player, navigation device, e-mail device, game control device, etc. desktops, tablets, wearables, or any combination of these.
- a computer includes one or more processors (CPUs), input/output interfaces, network interfaces and memory.
- processors CPUs
- input/output interfaces network interfaces
- memory volatile and non-volatile memory
- Memory may include non-permanent storage in computer readable media, in the form of random access memory (RAM) and/or nonvolatile memory such as read-only memory (ROM) or flash RAM. Memory is an example of computer readable media.
- RAM random access memory
- ROM read-only memory
- flash RAM flash random access memory
- Computer-readable media including both permanent and non-permanent, removable and non-removable media, can be implemented by any method or technology for storage of information.
- Information may be computer readable instructions, data structures, modules of a program, or other data.
- Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read only memory (ROM), Electrically Erasable Programmable Read-Only Memory (EEPROM), Flash memory or other memory technology, Compact Disc Read-Only Memory (CD-ROM), Digital Versatile Disc (DVD) or other optical storage, Magnetic cassettes, disk storage, quantum memory, graphene-based storage media or other magnetic storage devices or any other non-transmission media that can be used to store information that can be accessed by computing devices.
- computer-readable media excludes transitory computer-readable media, such as modulated data signals and carrier waves.
- first, second, third, etc. may be used in one or more embodiments of the present specification to describe various information, the information should not be limited to these terms. These terms are only used to distinguish information of the same type from one another. For example, without departing from the scope of one or more embodiments of the present specification, first information may also be called second information, and similarly, second information may also be called first information. Depending on the context, the word “if” as used herein may be interpreted as “at” or "when” or "in response to a determination.”
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请提供一种工作流节点推荐方法及装置。所述方法包括:生成与包括至少一个工作流节点的目标工作流对应的目标编码串序列;目标编码串序列中包括与目标工作流中的至少一个工作流节点分别对应的至少一个编码串;与至少一个工作流节点中的每个工作流节点分别对应的编码串,是分别针对每个工作流节点进行编码而得到的;将生成的目标编码串序列作为输入数据,输入训练完成的语言模型进行计算,得到所述语言模型输出的、针对目标编码串序列的下一个编码串的预测结果;所述预测结果,包括与不同类型的工作流节点分别对应的各个编码串作为目标编码串序列的下一个编码串的概率值;基于所述预测结果,确定针对目标工作流的下一个工作流节点的推荐结果。
Description
本申请涉及计算机技术领域,尤其涉及一种工作流节点推荐方法及装置。
为了方便管理业务流程,通常可以设置一条或多条工作流,用于对业务流程做出抽象化的表达。具体地,每条工作流中可以包括若干工作流节点,其中,各个工作流节点可以用于指示与工作流对应的业务流程中的各个业务事项,并且,各个工作流节点之间的排列关系与各个业务事项之间的执行顺序可以一一对应。因而,工作流通常可以用于指示按照工作流节点的排列顺序,依次执行业务流程中对应的业务事项。
在实际应用中,通常可以根据业务需求预先配置不同的工作流节点的类型,以使用户可以从所有预设类型的工作流节点中,按照业务流程中各个业务事项的执行顺序,依次选择与业务事项对应的工作流节点,并将选中的工作流节点添加至用户所创建的工作流中。
发明内容
本申请提供一种工作流节点推荐方法,所述方法包括:
生成与包括至少一个工作流节点的目标工作流对应的目标编码串序列;其中,所述目标编码串序列中包括与所述目标工作流中的至少一个工作流节点分别对应的至少一个编码串;与所述至少一个工作流节点中的每个工作流节点分别对应的编码串,是分别针对所述每个工作流节点进行编码而得到的;
将生成的所述目标编码串序列作为输入数据,输入训练完成的语言模型进行计算,得到所述语言模型输出的、针对所述目标编码串序列的下一个编码串的预测结果;其中,所述预测结果,包括与不同类型的工作流节点分别对应的各个编码串作为所述目标编码串序列的下一个编码串的概率值;
基于针对所述目标编码串序列的下一个编码串的所述预测结果,确定针对所述目标工作流的下一个工作流节点的推荐结果;其中,所述推荐结果包括至少一个推荐节点。
可选的,所述生成与包括至少一个工作流节点的目标工作流对应的目标编码串序列,包括:
针对所述目标工作流中的至少一个工作流节点分别进行编码,得到与所述至少一个工作流节点分别对应的至少一个编码串;
按照所述至少一个工作流节点分别在所述目标工作流中的位置,将得到的所述至少一个编码串进行排列,得到与所述目标工作流对应的所述目标编码串序列。
可选的,不同类型的工作流节点预先配置有不同的索引值;所述生成与包括至少一个工作流节点的目标工作流对应的目标编码串序列,包括:
针对为所述目标工作流中的至少一个工作流节点预先配置的索引值分别进行one-hot编码,以得到与所述至少一个工作流节点中的每个工作流节点分别对应的one-hot编码表示,作为与所述每个工作流节点分别对应的编码串;
按照所述至少一个工作流节点在所述目标工作流中的排列顺序,对one-hot编码得到的、与所述每个工作流节点分别对应的编码串排序,得到与所述目标工作流对应的所 述目标编码串序列。
可选的,所述基于针对所述目标编码串序列的下一个编码串的所述预测结果,确定针对所述目标工作流的下一个工作流节点的推荐结果,包括:
按照所述预测结果中包括的各个概率值从大到小的顺序,将与预设数量的编码串分别对应的工作流节点,作为所述推荐节点;
将预设数量的所述推荐节点,确定为针对所述目标工作流的下一个工作流节点的所述推荐结果。
可选的,所述基于针对所述目标编码串序列的下一个编码串的所述预测结果,确定针对所述目标工作流的下一个工作流节点的推荐结果,包括:
将所述预测结果中包括的各个概率值中大于预设阈值的概率值对应的工作流节点,作为所述推荐节点;
将所述推荐节点,确定为针对所述目标工作流的下一个工作流节点的所述推荐结果。
可选的,响应于所述至少一个工作流节点被添加至一条工作流中,所述工作流被创建,并且所述工作流的创建时刻为所述工作流中的最后一个工作流节点的添加时刻。
可选的,根据每条工作流的创建时刻,将最近创建的一条工作流默认为所述目标工作流。
可选的,在生成与包括至少一个工作流节点的目标工作流对应的目标编码串序列之前,所述方法还包括:
响应于用户在制图界面中创建包括至少一个组件的工作流程图,生成与所述工作流程图对应的所述目标工作流;其中,所述工作流程图中的组件用于指示对应的所述目标工作流中的工作流节点。
可选的,所述方法还包括:
基于针对所述目标工作流的下一个工作流节点的所述推荐结果,在所述制图界面中向用户展示与所述至少一个推荐节点对应的至少一个推荐组件。
可选的,所述制图界面包括预设组件列表和画布区域,所述预设组件列表用于展示预设类型的组件;所述画布区域用于展示所述工作流程图。
可选的,所述制图界面还包括推荐区域,所述推荐区域用于展示与所述至少一个推荐节点对应的至少一个推荐组件。
可选的,所述语言模型包括基于统计的语言模型,或基于神经网络的语言模型。
可选的,所述基于统计的语言模型,包括n-gram模型;所述基于神经网络的语言模型,包括转换器的双向编码器表示(BERT)模型、词向量(Word2vec)模型、循环神经网络(RNN)模型、卷积神经网络(CNN)模型。
可选的,所述语言模型采用所述n-gram模型时,根据已创建的工作流样本,生成对应的编码串序列样本,得到包含所述编码串序列样本的语料库;基于统计,计算出所述编码串序列样本中的前n个编码串分别为w
1、……、w
n的情况下,第n+1个编码串为w
n+1的概率,并将所述概率表示为P(w
n+1|w
1,……,w
n)。
可选的,所述语言模型采用所述BERT模型时,根据已创建的工作流样本,生成对应的编码串序列样本;针对所述编码串序列样本中的编码串进行嵌入处理,得到与每个编码串对应的特征向量;随机地将所述编码串序列样本中的某些编码串进行掩码处理, 并验证所述BERT模型是否能准确地预测出被掩码的编码串。
本申请还提供一种工作流节点推荐装置,所述装置包括:
生成单元,用于生成与包括至少一个工作流节点的目标工作流对应的目标编码串序列;其中,所述目标编码串序列中包括与所述目标工作流中的至少一个工作流节点分别对应的至少一个编码串;与所述至少一个工作流节点中的每个工作流节点分别对应的编码串,是分别针对所述每个工作流节点进行编码而得到的;
预测单元,用于将生成的所述目标编码串序列作为输入数据,输入训练完成的语言模型进行计算,得到所述语言模型输出的、针对所述目标编码串序列的下一个编码串的预测结果;其中,所述预测结果,包括与不同类型的工作流节点分别对应的各个编码串作为所述目标编码串序列的下一个编码串的概率值;
推荐单元,用于基于针对所述目标编码串序列的下一个编码串的所述预测结果,确定针对所述目标工作流的下一个工作流节点的推荐结果;所述推荐结果包括至少一个推荐节点。
可选的,所述生成单元,还用于:
针对所述目标工作流中的至少一个工作流节点分别进行编码,得到与所述至少一个工作流节点分别对应的至少一个编码串;
按照所述至少一个工作流节点分别在所述目标工作流中的位置,将得到的所述至少一个编码串进行排列,得到与所述目标工作流对应的所述目标编码串序列。
可选的,所述不同类型的工作流节点预先配置有不同的索引值;所述生成单元,还用于:
针对为所述目标工作流中的至少一个工作流节点预先配置的索引值分别进行one-hot编码,以得到与至少一个工作流节点中的每个工作流节点分别对应的one-hot编码表示,作为与所述每个工作流节点分别对应的编码串;
按照所述至少一个工作流节点在所述目标工作流中的排列顺序,对one-hot编码得到的、与所述每个工作流节点分别对应的编码串排序,得到与所述目标工作流对应的所述目标编码串序列。
可选的,所述推荐单元,还用于:
按照所述预测结果中包括的各个概率值从大到小的顺序,将与预设数量的编码串分别对应的工作流节点,作为所述推荐节点;
将预设数量的所述推荐节点,确定为针对所述目标工作流的下一个工作流节点的所述推荐结果。
可选的,所述推荐单元,还用于:
将所述预测结果中包括的各个概率值中大于预设阈值的概率值对应的工作流节点,作为所述推荐节点;
将所述推荐节点,确定为针对所述目标工作流的下一个工作流节点的所述推荐结果。
可选的,响应于所述至少一个工作流节点被添加至一条工作流中,所述工作流被创建,并且所述工作流的创建时刻为所述工作流中的最后一个工作流节点的添加时刻。
可选的,根据每条工作流的创建时刻,将最近创建的一条工作流默认为所述目标工作流。
可选的,所述生成单元,还用于:
响应于用户在制图界面中创建包括至少一个组件的工作流程图,生成与所述工作流程图对应的所述目标工作流;其中,所述工作流程图中的组件用于指示对应的所述目标工作流中的工作流节点。
可选的,所述推荐单元,还用于:
基于针对所述目标工作流的下一个工作流节点的所述推荐结果,在所述制图界面中向用户展示与所述至少一个推荐节点对应的至少一个推荐组件。
可选的,所述制图界面包括预设组件列表和画布区域,所述预设组件列表用于展示预设类型的组件;所述画布区域用于展示所述工作流程图。
可选的,所述制图界面还包括推荐区域,所述推荐区域用于展示与所述至少一个推荐节点对应的至少一个推荐组件。
可选的,所述语言模型包括基于统计的语言模型,或基于神经网络的语言模型。
可选的,所述基于统计的语言模型,包括n-gram模型;所述基于神经网络的语言模型,包括转换器的双向编码器表示(BERT)模型、词向量(Word2vec)模型、循环神经网络(RNN)模型、卷积神经网络(CNN)模型。
可选的,所述语言模型采用所述n-gram模型时,根据已创建的工作流样本,生成对应的编码串序列样本,得到包含所述编码串序列样本的语料库;基于统计,计算出所述编码串序列样本中的前n个编码串分别为w
1、……、w
n的情况下,第n+1个编码串为w
n+1的概率,并将所述概率表示为P(w
n+1|w
1,……,w
n)。
可选的,所述语言模型采用所述BERT模型时,根据已创建的工作流样本,生成对应的编码串序列样本;针对所述编码串序列样本中的编码串进行嵌入处理,得到与每个编码串对应的特征向量;随机地将所述编码串序列样本中的某些编码串进行掩码处理,并验证所述BERT模型是否能准确地预测出被掩码的编码串。
本申请还提供一种电子设备,包括通信接口、处理器、存储器和总线,所述通信接口、所述处理器和所述存储器之间通过总线相互连接;
所述存储器中存储机器可读指令,所述处理器通过调用所述机器可读指令,执行上述方法。
本申请还提供一种机器可读存储介质,所述机器可读存储介质存储有机器可读指令,所述机器可读指令在被处理器调用和执行时,实现上述方法。
通过以上实施例,通过针对目标工作流中包括的每个工作流节点进行编码,得到分别与每个工作流节点对应的编码串,可以生成与所述目标工作流对应的目标编码串序列,由于将生成的所述目标编码串序列输入训练完成的语言模型,可以得到所述语言模型输出的、针对所述目标编码串序列的下一个编码串的预测结果,进而可以得到针对所述目标工作流的下一个工作流节点的推荐结果;因此,在用户尝试为目标工作流选择下一个工作流节点时,可以根据目标工作流中已有的工作流节点,自动推荐下一个工作流节点的类型,以使用户可以直接从推荐节点中选择下一个工作流节点,从而可以提高用户创建工作流的效率。
图1是一示例性的实施例示出的一种工作流节点推荐方法的流程图;
图2是一示例性的实施例示出的一种制图界面的示意图;
图3是一示例性的实施例示出的一种推荐区域的示意图;
图4是一示例性的实施例示出的一种工作流节点推荐装置所在电子设备的硬件结构图;
图5是一示例性的实施例示出的一种工作流节点推荐装置的框图。
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。
为了使本技术领域的人员更好地理解本说明书实施例中的技术方案,下面先对本说明书实施例涉及的创建工作流的相关技术,进行简要说明。
工作流(workflow),可以用于对业务流程做出抽象化的表达,以便于用户方便、规范化地管理业务流程。具体地,完整的业务流程可以被划分为若干业务事项,并且可以按照一定的顺序执行每个业务事项;与业务流程对应的工作流中可以包括若干工作流节点,其中,各个工作流节点可以用于指示与工作流对应的业务流程中的各个业务事项,并且,各个工作流节点之间的排列顺序与各个业务事项之间的执行顺序可以一一对应。
在实际应用中,通常可以根据业务需求预先配置不同类型的工作流节点,以使用户在创建与业务流程对应的工作流时,可以从所有预设类型的工作流节点中,按照所述业务流程中各个业务事项的执行顺序,依次选择与业务事项对应的工作流节点,并将选中的工作流节点添加至用户所创建的工作流中。
例如“业务数据处理”的业务流程,可以被划分为“输入业务数据”、“对输入的业务数据进行预处理”、“通过分类算法计算出针对预处理完成的业务数据的分类结果”、“通过预测算法计算出针对分类结果的预测结果”、“基于预测结果输出针对业务数据的处理结果”等不同类型的业务事项;相应地,根据上述不同类型的业务事项,可以预先配置“数据输入”、“数据预处理”、“分类算法”、“预测算法”、“数据输出”等不同类型的工作流节点。进一步地,假设已创建的工作流为“工作流节点1—>工作流节点2—>工作流节点3”,其中,工作流节点1、工作流节点2、工作流节点3的类型分别为“数据输入”、“数据预处理”、“分类算法”。用户需要为上述已创建的工作流添加下一个工作流节点时,可以从上述预先配置的不同类型的所有工作流节点中,选择出所需的“预测算法”类型的工作流节点,并将其作为下一个工作流节点添加至上述已创建的工作流中,可以理解为,将上述已创建的工作流更新为“工作流节点1—>工作流节点2—>工作流节点3—>工作流节点4”,其中,工作流节点4的类型也即上述选择的“预测算法”类型。
需要说明的是,以上示出的“工作流节点1”、“工作流节点2”等工作流节点的节点名称中的序号,可以用于表示该工作流节点被添加至已创建的工作流中的先后顺序,并不对本说明书做出特殊限定。在实际应用中,由于用户可能会同时创建多条工作流,或者对之前已创建的工作流进行更新,因此,可以理解的是,同一条工作流中的相邻的 工作流节点的序号不一定是连续的。例如,在以上示出的实施例中,用户将“预测算法”类型的工作流节点作为下一个工作流节点,添加至上述已创建的工作流中之后,该工作流可能会更新为“工作流节点1—>工作流节点2—>工作流节点3—>工作流节点6”,其中,工作流节点6的类型也即上述选择的“预测算法”类型,也即,用户在为该工作流添加“工作流节点6”之前,可能还为其他工作流添加过工作流节点。
然而,在业务流程复杂、业务事项种类繁多的情况下,用户在创建工作流时,可以选择的工作流节点的类型也很多(如,上百种预设类型的工作流节点);因此,用户往往需要耗费大量的时间,先根据所需的下一个工作流节点的类型,从所有预设类型的工作流节点中,手动找出所需类型的工作流节点,再将找出的工作流节点添加至用户所创建的工作流中。
为了减少用户为工作流添加下一个工作流节点所耗费的时间,在相关技术中,可以通过关键字搜索的方式,在所有预设类型的工作流节点中,查找出与用户输入的关键字对应的工作流节点,并将其作为下一个工作流节点添加至用户所创建的工作流中。
由于用户需要明确所需的下一个工作流节点的类型,并且对所有预设类型的工作流节点对应的关键字较为了解,才可以直接输入与所需类型的工作流节点对应的关键字进行搜索,因此,在上述相关技术中,要求创建工作流的用户具备较高的技术水平;而对于技术水平较低的普通用户而言,仍然需要耗费大量时间,在所有预设类型的工作流节点中,手动查找所需类型的工作流节点,导致用户创建工作流的效率较低。
有鉴于此,本说明书旨在提出一种在创建工作流的场景中,基于语言模型为用户推荐目标工作流的下一个工作流节点的技术方案。
其中,所述语言模型(LM,Language Model),属于自然语言处理(NLP,Natural Language Processing)领域的技术,可以用于估计一段文本出现的概率。例如,对于包括n(n为正整数)个词语(word)的句子[w
1,……,w
n],可以计算所述句子出现的概率P(w
1,……,w
n)。
在实际应用中,所述语言模型,具体可以用于根据句子中的前n个词语,来预测所述句子的第n+1个词语可能是预设词典中的哪个词语,并计算出预设词典中的每个词语可能作为所述句子的第n+1个词语出现的概率值,也即P(w
1,……,w
n,w
n+1)=P(w
n+1|w
1,……,w
n);其中,所述预设词典可以包括语料库的所有语料(也即所有句子样本)中出现过的不同的词语。
在本说明书中,由于工作流中上下游的各个工作流节点之间存在逻辑和时序上的关联,类似于自然语言的句子中的各个词语之间的关联;因此,可以基于所述语言模型,根据目标工作流中已有的前n个工作流节点,来预测目标工作流的第n+1个工作流节点可能是哪种预设类型的工作流节点,并计算出每种预设类型的工作流节点可能作为目标工作流的第n+1个工作流节点出现的概率值;进而可以根据所述语言模型输出的预测结果,针对所述目标工作流为用户推荐下一个工作流节点。
在实现时,由于工作流(workflow)是一种非文本的、抽象化的表达,因此,在基于NLP领域中的语言模型针对目标工作流的下一个工作流节点进行推荐时,首先需要将非文本的目标工作流转换为文本化的表达,再将得到的文本化表达作为所述语言模型的输入,以得到所述语言模型输出的、针对所述文本化表达的预测结果,进而可以根据针对所述文本化表达的预测结果,确定针对非文本的所述目标工作流的推荐结果。
具体地,可以生成与包括至少一个工作流节点的目标工作流对应的目标编码串序列;其中,所述目标编码串序列中包括与所述目标工作流中的至少一个工作流节点分别对应 的至少一个编码串;与所述目标工作流中的每个工作流节点分别对应的编码串,是分别针对所述每个工作流节点进行编码而得到的;进一步地,可以将生成的所述目标编码串序列作为输入数据,输入训练完成的语言模型进行计算,得到所述语言模型输出的、针对所述目标编码串序列的下一个编码串的预测结果;其中,所述预测结果,包括与不同类型的工作流节点分别对应的各个编码串作为所述目标编码串序列的下一个编码串的概率值;进一步地,可以基于针对所述目标编码串序列的下一个编码串的所述预测结果,确定针对所述目标工作流的下一个工作流节点的推荐结果;所述推荐结果包括至少一个推荐节点。
需要说明的是,在NLP领域中,针对一段文本进行编码时,需要先针对该文本进行分词处理,再针对分词处理的结果进行编码处理;其中,所述分词处理,也即将文本中的句子划分为若干词语,所述词语可以包括字或词。而在本说明书的技术方案中,无需针对与所述目标工作流对应的所述目标编码串序列进行分词处理,可以直接将所述目标工作流中的每个工作流节点作为最小单位(类似于NLP领域中的“词语”),并针对每个工作流节点进行编码;本领域技术人员可以理解的是,与工作流对应的编码串序列,类似于NLP领域中针对已完成分词的文本进行编码得到的编码结果。
由此可见,在本说明书中的技术方案中,通过针对目标工作流中包括的至少一个工作流节点进行编码,得到与至少一个工作流节点中的每个工作流节点分别对应的编码串,可以生成与所述目标工作流对应的目标编码串序列,并将生成的目标编码串序列输入训练完成的语言模型,可以得到所述语言模型输出的、针对所述目标编码串序列的下一个编码串的预测结果,进而可以得到针对所述目标工作流的下一个工作流节点的推荐结果。
相较于相关技术,在用户尝试确定目标工作流的下一个工作流节点的类型时,由于根据目标工作流中已有的至少一个工作流节点的类型,可以自动为用户推荐目标工作流的下一个工作流节点的类型;因此,普通用户也能直接从推荐节点中选择下一个工作流节点,而无需从所有预设类型的工作流节点中手动查找所需类型的工作流节点,从而可以减少用户选择出目标工作流的下一个工作流节点所耗费的时间,进而可以提高创建工作流的效率。
下面通过具体实施例,并结合具体的应用场景对本申请进行描述。
请参见图1,图1是一示例性的实施例示出的一种工作流节点推荐方法的流程图,上述方法执行以下步骤:
步骤102:生成与包括至少一个工作流节点的目标工作流对应的目标编码串序列;其中,所述目标编码串序列中包括与所述目标工作流中的至少一个工作流节点分别对应的至少一个编码串;与所述至少一个工作流节点中的每个工作流节点分别对应的编码串,是分别针对所述每个工作流节点进行编码而得到的;
步骤104:将生成的所述目标编码串序列作为输入数据,输入训练完成的语言模型进行计算,得到所述语言模型输出的、针对所述目标编码串序列的下一个编码串的预测结果;其中,所述预测结果,包括与不同类型的工作流节点分别对应的各个编码串作为所述目标编码串序列的下一个编码串的概率值;
步骤106:基于针对所述目标编码串序列的下一个编码串的所述预测结果,确定针对所述目标工作流的下一个工作流节点的推荐结果;其中,所述推荐结果包括至少一个推荐节点。
在本说明书中,所述目标工作流可以包括至少一条工作流。
例如,可以将由用户选择的一条或多条工作流,作为目标工作流,以获取针对所述 目标工作流的下一个工作流节点的推荐结果。
又例如,响应于用户将至少一个工作流节点添加至某一条工作流中,可以认为该工作流已创建,并且该工作流的创建时刻可以为该工作流中的最后一个工作流节点的添加时刻;因此,也可以根据每条工作流的创建时刻,将用户最近创建(也即创建时刻最近)的一条工作流默认为目标工作流。
需要说明的是,关于所述目标工作流中包括的工作流数量,本说明书不做限制;为了使本领域技术人员更好地理解本说明书实施例中的技术方案,下面以所述目标工作流仅包括一条工作流为例,对本申请的技术方案进行描述。
在本说明书中,所述目标工作流中可以包括至少一个工作流节点;与至少一个工作流节点中的每个工作流节点分别对应的编码串,可以是分别针对所述每个工作流节点进行编码而得到的。
其中,与工作流节点对应的编码串,就是针对该工作流节点进行编码得到的编码结果;本领域技术人员可知,与工作流节点对应的编码串可以表征该工作流节点的特征信息,也即可以用于区分不同类型的工作流节点。需要说明的是,关于与工作流节点对应的编码串(或编码结果)的长度大小,与针对工作流节点进行编码时采用的具体编码方式、工作流节点的预设类型的数量、特征维度等因素有关,本领域技术人员可以按需设定,在此不做限定;例如,与每个工作流节点对应的编码串,具体可以包括一个或多个字符,是一种文本化的表达。
例如,在目标工作流“工作流节点1—>工作流节点2—>工作流节点3”中,工作流节点1、工作流节点2、工作流节点3分别为“数据输入”、“数据预处理”、“分类算法”这三种不同类型的工作流节点,可以分别用于指示“输入业务数据”、“对输入的业务数据进行预处理”、“通过分类算法计算出针对预处理完成的业务数据的分类结果”这三种不同类型的业务事项。进一步地,针对所述工作流节点1、工作流节点2、工作流节点3分别进行编码,可以得到对应的编码串分别为s1、s2、s3;其中,编码串s1、s2、s3是不同的编码串,可以用于区分所述三种不同类型的工作流节点。
在本说明书中,由于可以针对所述目标工作流中的至少一个工作流节点分别进行编码,得到与所述至少一个工作流节点分别对应的编码串,因此可以生成与所述目标工作流对应的目标编码串序列;其中,所述目标编码串序列中可以包括与所述目标工作流中的至少一个工作流节点分别对应的至少一个编码串。
具体地,可以先针对所述目标工作流中包括的至少一个工作流节点分别进行编码,得到与所述至少一个工作流节点分别对应的编码串,再按照对应的工作流节点在所述目标工作流中的位置,将得到的所述编码串进行排列,得到与所述目标工作流对应的目标编码串序列。
例如,目标工作流为“工作流节点1—>工作流节点2—>工作流节点3”,针对工作流节点1、工作流节点2、工作流节点3分别进行编码,得到对应的编码串分别为s1、s2、s3,则可以生成与该目标工作流对应的目标编码串序列,为:[s1,s2,s3]。
在示出的一种实施方式中,可以采用one-hot编码的方式,针对所述工作流节点进行编码,以生成与所述目标工作流对应的目标编码串序列。在实现时,可以为不同类型的工作流节点预先配置不同的索引值;所述生成与包括至少一个工作流节点的目标工作流对应的目标编码串序列,具体可以包括:针对为所述目标工作流中的至少一个工作流节点预先配置的索引值分别进行one-hot编码,以得到与至少一个工作流节点中的每个工作流节点分别对应的one-hot编码表示,作为与每个工作流节点分别对应的编码串;按照所述至少一个工作流节点在所述目标工作流中的排列顺序,对one-hot编码得到的、 与每个工作流节点分别对应的编码串排序,得到与所述目标工作流对应的所述目标编码串序列。
其中,one-hot编码,是一种将类别变量转换为机器学习算法易于利用的一种形式的过程。具体地,可以先为不同类型的工作流节点配置不同的索引值(也称作整数值、类别值),并确定各个索引值在one-hot编码表示中的排列顺序;进一步地,可以根据工作流节点的类型数量,确定one-hot编码表示的长度,并将one-hot编码表示中与待编码的工作流节点的索引值对应的位置记为1,其他位置记为0,作为与该工作流节点对应的编码串。
例如,若预设类型的工作流节点包括“数据输入”、“数据预处理”、“分类算法”、“预测算法”、“数据输出”这5种不同类型的工作流节点,可以分别为其配置索引值0、1、2、3、4;进一步地,可以针对上述5种不同类型的工作流节点分别进行one-hot编码,以得到与每种类型的工作流节点分别对应的one-hot编码表示,为(1,0,0,0,0)、(0,1,0,0,0)、(0,0,1,0,0)、(0,0,0,1,0)、(0,0,0,0,1)。在目标工作流“工作流节点1—>工作流节点2—>工作流节点3”中,工作流节点1、工作流节点2、工作流节点3分别为“数据输入”、“数据预处理”、“分类算法”这三种不同类型的工作流节点,因而按照上述工作流节点在所述目标工作流中的排列顺序,可以得到与所述目标工作流对应的目标编码串序列为[(1,0,0,0,0),(0,1,0,0,0),(0,0,1,0,0)]。
需要说明的是,在以上示出的实施方式中,所述编码串的长度为5仅仅是一种示例性的描述,并不对本说明书做出特殊限制。例如,在实际应用中,工作流节点的预设类型有1000种,则与工作流节点对应的编码串的长度可以为1000。
另外,需要说明的是,关于划分不同类型的工作流节点的依据,本领域技术人员可以根据需求设置,在此不做一一赘述。例如,在以上示出的实施例中,可以根据与工作流节点对应的不同业务事项进行区分;又例如,还可以对上述实施例中的预设类型进一步细分,“数据输入”类型,可以进一步细分为“导入excel数据”、“导入mysql数据”、“导入csv数据”、“导入hive数据”等类型,即,工作流节点分别为“导入excel数据”、“导入mysql数据”、“导入csv数据”、“导入hive数据”等不同类型的工作流节点;还可以根据与工作流节点对应的业务事项的执行者进行区分。
在本说明书中,在生成与所述目标工作流对应的目标编码串序列之后,可以将生成的所述目标编码串序列作为输入数据,输入训练完成的语言模型进行计算,得到所述语言模型输出的、针对所述目标编码串序列的下一个编码串的预测结果;其中,所述预测结果,可以包括与不同类型的工作流节点分别对应的各个编码串作为所述目标编码串序列的下一个编码串的概率值。
其中,所述与不同类型的工作流节点分别对应的各个编码串,可以包括与每种预设类型的工作流节点分别对应的编码串。
例如,若预设类型的工作流节点包括“数据输入”、“数据预处理”、“分类算法”、“预测算法”、“数据输出”这5种不同类型的工作流节点,与上述每种预设类型的工作流节点对应的编码串,分别为s1,s2,s3,s4,s5。在生成与目标工作流“工作流节点1—>工作流节点2—>工作流节点3”对应的目标编码串序列[s1,s2,s3]之后,可以将该目标编码串序列作为输入数据,输入已训练完成的语言模型进行计算,得到该语言模型输出的、针对该目标编码串序列的下一个编码串的预测结果,也即,与每种预设类型的工作流节点分别对应的编码串s1,s2,s3,s4,s5,可能作为该目标编码串序列的第4个编码串出现的概率值。
具体地,该语言模型输出的预测结果可以为:目标编码串序列的第4个编码串是“s1”的概率值为0,“s2”的概率值为10%,“s3”的概率值为10%,“s4”的概率值为50%,“s5”的概率值为30%;本领域技术人员可以理解的是,所述预测结果中包括的各个概率值之和为1。
在实际应用中,所述语言模型,可以分为基于统计的语言模型与基于神经网络的语言模型。其中,所述基于统计的语言模型,可以通过对训练样本进行统计,得出在训练样本中的前n个编码串分别为w
1、……、w
n的情况下,第n+1个编码串为w
n+1的概率,也即P(w
n+1|w
1,……,w
n);所述基于神经网络的语言模型,可以通过对训练样本进行深度学习,也即利用训练样本对神经网络进行训练,得出P(w
n+1|w
1,……,w
n)。
例如,所述基于统计的语言模型,具体可以包括n-gram模型;所述基于神经网络的语言模型,具体可以包括BERT(Bidirectional Encoder Representation from Transformers,转换器的双向编码器)模型、Word2vec(Word to Vecto,r词向量)模型、RNN(Recurrent Neural Network,循环神经网络)模型、CNN(Convolutional Neural Network,卷积神经网络)模型等。需要说明的是,本领域技术人员根据需求,可以选择任意一种或多种语言模型,以实现本说明书的技术方案,在此不做特殊限定。
其中,所述训练样本,可以包括用于训练上述语言模型的编码串序列样本,具体可以包括由已创建的工作流生成得到的编码串序列。关于利用所述训练样本针对上述语言模型进行训练的具体过程,可以参见NLP领域中对语言模型进行训练与优化的相关技术,在此不再赘述。
例如,所述语言模型采用基于统计的n-gram模型时,可以先根据已创建的工作流样本,生成对应的编码串序列样本,得到包含若干编码串序列样本的语料库;进一步地,基于统计,可以计算出在训练样本中的前n个编码串分别为w
1、……、w
n的情况下,第n+1个编码串为w
n+1的概率,也即P(w
n+1|w
1,……,w
n)。在实际应用中,还可以利用马尔科夫假设(Markov assumption),来优化针对所述n-gram模型的训练过程,本领域技术人员基于上述训练样本可以灵活实现,在此不再赘述。
又例如,所述语言模型采用基于神经网络的BERT模型时,由于BERT模型是一种基于词向量进行文本训练的深度学习模型,因此,可以先根据已创建的工作流样本,生成对应的编码串序列样本(也即训练样本),再针对所述训练样本中的编码串进行嵌入(embedding)处理,以得到与每个编码串对应的特征向量(也即词向量);进一步地,可以随机地将所述训练样本中的某些编码串进行掩码(mask)处理,并验证所述BERT模型是否能准确地预测出被mask的编码串。
需要说明的是,在以上示出的实施方式中,基于所述统计语言模型来预测所述目标编码串序列的下一个编码串,具备易于实现、计算速度快的优点,并且在语料库中的编码串序列样本所涵盖的情况全面、各种情况的比例恰当时,所述预测结果也可以准确地体现出各个编码串样本作为所述目标编码串序列的下一个编码串出现的概率。而基于所述神经网络语言模型来预测所述目标编码串序列的下一个编码串,在同义词、近义词的学习方面具备优势。
在本说明书中,在得到所述语言模型输出的、针对所述目标编码串序列的下一个编码串的预测结果之后,可以基于所述预测结果,确定针对所述目标工作流的下一个工作流节点的推荐结果。
其中,所述推荐结果可以包括至少一个推荐节点;所述推荐节点,也即为用户推荐 的工作流节点;所述推荐节点的工作流节点类型,与所述预测结果中包括的编码串相对应。
例如,所述语言模型输出的、针对所述目标编码串序列的下一个编码串的预测结果为:目标编码串序列的第4个编码串是“S1”的概率值为0,“s2”的概率值为10%,“s3”的概率值为10%,“s4”的概率值为50%,“s5”的概率值为30%。基于针对目标编码串序列[s1,s2,s3]的第4个编码串的预测结果,并结合预设的工作流节点推荐策略,可以确定针对目标工作流“工作流节点1—>工作流节点2—>工作流节点3”的第4个工作流节点的推荐结果为:与编码串s4对应的“预测算法”类型的工作流节点、以及与编码串s5对应的“数据输出”类型的工作流节点;也即,所述推荐节点为“预测算法”类型以及“数据输出”类型的工作流节点。
在示出的一种实施方式中,为所述目标工作流推荐工作流节点时,可以为用户推荐最有可能作为所述目标工作流的下一个工作流节点出现的N(即,top N)个不同类型的工作流节点。在实现时,所述基于针对所述目标编码串序列的下一个编码串的所述预测结果,确定针对所述目标工作流的下一个工作流节点的推荐结果,具体可以包括:按照所述预测结果中包括的各个概率值从大到小的顺序,将与预设数量的编码串分别对应的工作流节点,作为所述推荐节点;将预设数量的所述推荐节点,确定为针对所述目标工作流的下一个工作流节点的所述推荐结果。
接着以上示出的实施例继续举例说明,将所述语言模型输出的预测结果按照概率值从大到小的顺序排列,可以依次为s4、s5、s2、s3、s1;若只需为用户推荐最有可能作为所述目标工作流的第4个工作流节点出现的1个工作流节点类型,也即预设数量为1,则可以将与编码串“s4”对应的“预测算法”类型的工作流节点作为推荐节点,并将所述推荐节点确定为针对目标工作流“工作流节点1—>工作流节点2—>工作流节点3”的第4个工作流节点的推荐结果。
需要说明的是,在以上示出的实施方式中,所述预设数量为1,也即所述推荐节点的数量为1个,仅仅是一种示例性的描述,本说明书中不做限定;在实际应用中,本领域技术人员根据需求可以灵活设置。例如,若预设数量为2,需要为用户推荐最有可能作为所述目标工作流的第4个工作流节点出现的2个工作流节点类型,则可以将与编码串“s4”、“s5”对应的“预测算法”、“数据输出”类型的工作流节点作为推荐节点,在此不再一一赘述。
另外,在实际应用中,为了提高所述推荐结果的全面性,尽量使得用户在所述推荐结果中可以直接找到所需的下一个工作流节点,可以设置增加所述推荐节点的数量(比如,为用户推荐top 5个工作流节点类型)。其中,所述推荐节点的数量,可以是远远小于工作流节点的所有预设类型的数量的,以使用户直接根据所述推荐结果来确定所述目标工作流的下一个工作流节点时,能够显著提升查找效率。例如,工作流节点的所有预设类型有上百种,推荐节点的数量只有5个。
在示出的另一种实施方式中,为所述目标工作流推荐工作流节点时,可以为用户推荐作为所述目标工作流的下一个工作流节点出现可能性较大的工作流节点。在实现时,所述基于针对所述目标编码串序列的下一个编码串的所述预测结果,确定针对所述目标工作流的下一个工作流节点的推荐结果,具体可以包括:将所述预测结果中包括的各个概率值中大于预设阈值的概率值对应的工作流节点,作为所述推荐节点,并将所述推荐节点确定为针对所述目标工作流的下一个工作流节点的所述推荐结果。
接着以上示出的实施例继续举例说明,若所述预设阈值为20%,则目标编码串序列[s1,s2,s3]的第4个编码串为编码串样本“s4”的概率值为50%,为编码串样本“s5”的概率值为30%,均超过了所述预设阈值;那么,可以将与编码串样本“s4”、“s5” 分别对应的“预测算法”、“数据输出”类型的工作流节点作为推荐节点,并将所述推荐节点确定为针对目标工作流“工作流节点1—>工作流节点2—>工作流节点3”的第4个工作流节点的推荐结果。
需要说明的是,在以上示出的实施方式中,由于为用户推荐的工作流节点作为所述目标工作流的下一个工作流节点出现的概率大于所述预设阈值,可以保证所述推荐结果的准确性,提升用户对工作流节点推荐功能的满意度。例如,在以上示出的“最有可能作为下一个工作流节点出现的N个不同类型的工作流节点”的实施方式中,如果预设的推荐节点数量为5个,也即为用户推荐最有可能作为下一个工作流节点出现的5个工作流节点类型,那么所述推荐结果中可能会包含与编码串s2、s3等分别对应的、可能作为所述目标工作流的下一个工作流节点出现的概率值很小的工作流节点,进而所述推荐结果的准确率可能降低,导致用户体验变差。
另外,在实际应用中,为了提高所述推荐结果的全面性,也可以减小所述预设阈值,从而增加所述推荐节点的数量,也即,提高所述推荐结果中包含用户实际需要的下一个工作流节点的概率。
进一步地,在实际应用中,用户通常可以通过绘制工作流程图的方式,来创建与所述工作流程图对应的工作流。其中,所述“工作流程图”,也可以被称作业务流程图、流程图等,本说明书中不做限定;所述工作流程图可以用于描述业务流程中包含的各个业务事项,以及描述执行业务流程时,所述各个业务事项在时序与逻辑上的关联关系。
需要说明的是,关于绘制工作流程图所使用的制图工具,可以包括任意一种用于绘制工作流程图、或创建工作流的工具;所述制图工具通常可以为用户提供制图界面。在实际应用中,本领域技术人员可以根据需求灵活选择不同的制图工具,本说明书中不做特殊限定;例如,所述制图工具,具体可以包括用于绘制工作流程图的制图软件,也可以包括具备创建工作流功能的IDE(集成开发工具)。
下面结合图2,对在所述制图界面中为用户推荐工作流节点的技术方案进行描述。请参见图2,图2是一示例性的实施例示出的一种制图界面的示意图。
制图界面20中,至少可以包括预设组件列表202和画布区域204。其中,预设组件列表202可以用于展示所有预设类型的组件;画布区域204可以用于展示用户已绘制的工作流程图。其中,所述用户已绘制的工作流程图中可以包括用户已添加的若干组件、以及用于连接所述若干组件的有向连线。
例如,如图2所示,预设组件列表202可以展示所有预设类型的组件,具体可以包括“数据输入”、“数据输出”、“数据预处理”、“分类算法”、“预测算法”等预设类型的组件;画布区域204可以用于展示用户已绘制的工作流程图,如图2所示的工作流程图中,具体可以包括用户添加的组件1“数据输入”、组件2“数据预处理”、组件3“分类算法”、以及用于连接上述组件的若干条有向连线。
需要说明的是,所述工作流程图通常可以是有向无环图(DAG,Directed Acyclic Graph),也即,所述工作流程图中包含的各个组件之间存在时序和逻辑上的关联。
在示出的一种实施方式中,在生成与所述目标工作流对应的目标编码串序列之前,所述方法还可以包括:响应于用户在所述制图界面中创建工作流程图,可以生成与所述工作流程图对应的所述目标工作流;其中,所述工作流程图可以包括至少一个组件;所述工作流程图中的组件可以用于指示所述目标工作流中对应的工作流节点。
具体地,用户可以将至少一个组件添加至所述制图界面中的画布区域,以创建包含所述至少一个组件的工作流程图,并生成与所述工作流程图对应的一条或多条工作流; 进而可以将与所述工作流程图对应的全部工作流或部分工作流,确定为所述目标工作流,以得到针对所述目标工作流的下一个工作流节点的推荐结果。
例如,用户可以依次将组件1“数据输入”、组件2“数据预处理”、和组件3“分类算法”添加至所述制图界面的画布区域中,并利用有向线段连接上述组件,创建出如图2所示的工作流程图;响应于用户在制图界面中创建出如图2所示的工作流程图,可以生成与所述工作流程图对应的目标工作流“工作流节点1—>工作流节点2—>工作流节点3”;其中,所述工作流程图中的组件1、组件2、组件3,可以分别用于指示所述目标工作流中的“工作流节点1、工作流节点2、工作流节点3。
在实际应用中,为了便于用户绘制工作流程图,所述组件的名称通常可以用于指示对应的业务事项。
例如,如图2所示的工作流程图中包括组件1、组件2和组件3;所述工作流程图中的组件1、组件2、组件3,可以分别用于指示目标工作流中的“工作流节点1、工作流节点2、工作流节点3;其中,组件1的名称可以为“数据输入”,组件2的名称可以为“数据预处理”,组件3的名称可以为“分类算法”。进一步地,可以生成与所述工作流程图对应的目标工作流“工作流节点1—>工作流节点2—>工作流节点3”;其中,针对工作流节点1、工作流节点2、工作流节点3分别进行编码,得到对应的编码串分别为s1、s2、s3。进一步地,可以生成与目标工作流“工作流节点1—>工作流节点2—>工作流节点3”对应的目标编码串序列[s1,s2,s3]。
在示出的一种实施方式中,在确定针对所述目标工作流的下一个工作流节点的所述推荐结果之后,所述方法还可以包括:基于针对所述目标工作流的下一个工作流节点的所述推荐结果,在所述制图界面中向用户展示与所述至少一个推荐节点对应的至少一个推荐组件。
请参见图3,图3是一示例性的实施例示出的一种推荐区域的示意图。在如图2所示的制图界面20中,还可以包括推荐区域206;推荐区域206可以用于展示与为用户推荐的至少一个推荐节点对应的至少一个推荐组件。关于推荐区域206在制图界面20中展示的具体形式,本说明书中不做限定,本领域技术人员可以根据需求自行设置;例如,推荐区域206可以叠加展示在预设组件列表202和/或画布区域204的上层,或者,响应于确定针对所述目标工作流的下一个工作流节点的推荐结果,可以更新如图2所示的制图界面20,并在更新后的制图界面中为推荐区域206提供单独的展示区域,以使推荐区域206与制图界面20融为一体,也不会对制图界面20中的其他内容造成遮挡。
例如,在确定针对目标工作流“工作流节点1—>工作流节点2—>工作流节点3”的第4个工作流节点的推荐结果为“预测算法”类型以及“数据输出”类型的工作流节点之后,可以在如图3所示的推荐区域206中,向用户展示与上述推荐节点对应的推荐组件,也即,组件“预测算法”和组件“数据输出”。
需要说明的是,在以上示出的实施方式中,由于可以在上述制图界面中向用户展示与推荐节点对应的推荐组件,用户可以直接从展示的所述至少一个推荐组件中选择需要添加至所述工作流程图中的下一个组件,而无需从预设组件列表202展示的所有预设组件中,耗费大量的时间手动查找所需的组件,从而可以提高用户通过绘制工作流程图创建工作流的效率。
在相关技术中,通过如图2所示的制图界面20绘制工作流程图来创建工作流时,用户可以先从预设组件列表202展示的所有预设类型的候选组件中,手动选择出需要为工作流程图添加的下一个组件;进一步地,可以将选中的组件“拖拉拽”至画布区域204中,再通过有向连线,将所述选中的组件与画布区域204中已有的一个或多个组件连接 起来,即可将所述选中的组件添加至工作流程图中;进而可以实现将与所述选中的组件对应的工作流节点作为下一个工作流节点,添加至与所述工作流程图对应的目标工作流中。由此可见,在相关技术中,如果所述制图界面的预设组件列表中,为用户提供的预设类型的候选组件数量很多(如上百种可选的组件),则用户需要耗费大量的时间,从预设组件列表向用户展示的所有可选的组件中,手动查找出需要为工作流程图添加的下一个组件,导致用户通过绘制工作流程图来创建工作流的效率较低。
需要说明的是,在以上示出的实施方式中,由于所述目标工作流中可以包括至少一个工作流节点,也即,所述目标工作流为已创建的工作流,所述方法只能针对已创建的工作流,来进行工作流节点的推荐;因此,在实际应用中,为了改善用户体验,还可以根据各个工作流节点作为工作流中的第一个节点出现的概率,也即,可以根据所述编码串样本集中的每个编码串样本作为编码串序列中的第一个编码串出现的概率值,确定针对工作流中的首个工作流节点的推荐结果。
例如,如果当前并未创建目标工作流或工作流程图,可以将“数据输入”类型的工作流节点作为推荐节点,确定为针对首个工作流节点的推荐结果,或者可以将组件“数据输入”作为推荐组件,确定为针对首个组件的推荐结果。
另外,需要说明的是,在本说明书的各个实施例中,所述语言模型的训练样本可以从不同的应用环境(例如,不同的制图工具)中收集,并可以将利用初步收集到的训练样本所训练出来的语言模型作为初始版本进行使用,为用户推荐工作流节点或组件;随着实际应用中,在当前特定的应用环境中已创建的工作流逐渐增多,还可以获取到在当前应用环境中创建的工作流对应的编码串序列作为训练样本,进一步地对所述初始版本的语言模型进行训练和优化,从而提高所述语言模型在当前特定的应用场景中的推荐结果准确度。
除了所述目标工作流仅包括一条工作流的情况,所述目标工作流也可以包括多条工作流,本领域技术人员基于以上各实施例中示出的实施方式,不需要付出创造性的劳动,就可以推测出针对包括多条工作流的目标工作流来推荐下一个工作流节点的实现方式,在此不再赘述。例如,所述目标工作流中包括多条工作流时,可以生成与所述目标工作流中的每条工作流分别对应的编码串序列,进一步地,可以通过所述语言模型,得到针对每条工作流分别对应的编码串序列的下一个编码串的预测结果;进一步地,可以基于得到的多个预测结果之和,确定针对所述目标工作流的下一个工作流节点的推荐结果。
通过以上技术方案可知,通过针对目标工作流中包括的每个工作流节点进行编码,得到分别与每个工作流节点对应的编码串,可以生成与所述目标工作流对应的目标编码串序列,由于将生成的所述目标编码串序列输入训练完成的语言模型,可以得到所述语言模型输出的、针对所述目标编码串序列的下一个编码串的预测结果,进而可以得到针对所述目标工作流的下一个工作流节点的推荐结果;因此,在用户尝试为目标工作流选择下一个工作流节点时,可以根据目标工作流中已有的工作流节点,自动推荐下一个工作流节点的类型,以使用户可以直接从推荐节点中选择下一个工作流节点,从而可以提高用户创建工作流的效率。
与上述工作流节点推荐方法的实施例对应的,本说明书还提供了一种工作流节点推荐装置的实施例。
请参见图4,图4是一示例性的实施例示出的一种工作流节点推荐装置所在电子设备的硬件结构图。在硬件层面,该设备包括处理器402、内部总线404、网络接口406、内存408以及非易失性存储器410,当然还可能包括其他业务所需要的硬件。本说明书一个或多个实施例可以基于软件方式来实现,比如由处理器402从非易失性存储器410中读取对应的计算机程序到内存408中然后运行。当然,除了软件实现方式之外,本说 明书一个或多个实施例并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
请参见图5,图5是一示例性的实施例示出的一种工作流节点推荐装置的框图。该工作流节点推荐装置可以应用于图4所示的电子设备中,以实现本说明书的技术方案。其中,上述工作流节点推荐装置可以包括:
生成单元502,用于生成与包括至少一个工作流节点的目标工作流对应的目标编码串序列;其中,所述目标编码串序列中包括与所述目标工作流中的至少一个工作流节点分别对应的至少一个编码串;与所述至少一个工作流节点中的每个工作流节点分别对应的编码串,是分别针对所述每个工作流节点进行编码而得到的;
预测单元504,用于将生成的所述目标编码串序列作为输入数据,输入训练完成的语言模型进行计算,得到所述语言模型输出的、针对所述目标编码串序列的下一个编码串的预测结果;其中,所述预测结果,包括与不同类型的工作流节点分别对应的各个编码串作为所述目标编码串序列的下一个编码串的概率值;
推荐单元506,用于基于针对所述目标编码串序列的下一个编码串的所述预测结果,确定针对所述目标工作流的下一个工作流节点的推荐结果;其中,所述推荐结果包括至少一个推荐节点。
在本实施例中,所述生成单元502,还用于:
针对所述目标工作流中的至少一个工作流节点分别进行编码,得到与所述至少一个工作流节点分别对应的至少一个编码串;
按照所述至少一个工作流节点分别在所述目标工作流中的位置,将得到的所述至少一个编码串进行排列,得到与所述目标工作流对应的所述目标编码串序列。
在本实施例中,不同类型的工作流节点预先配置有不同的索引值;所述生成单元502,还用于:
针对为所述目标工作流中的至少一个工作流节点预先配置的索引值分别进行one-hot编码,以得到与至少一个工作流节点中的每个工作流节点分别对应的one-hot编码表示,作为与所述每个工作流节点分别对应的编码串;
按照所述至少一个工作流节点在所述目标工作流中的排列顺序,对one-hot编码得到的、与所述每个工作流节点分别对应的编码串排序,得到与所述目标工作流对应的所述目标编码串序列。
在本实施例中,所述推荐单元506,还用于:
按照所述预测结果中包括的各个概率值从大到小的顺序,将与预设数量的编码串分别对应的工作流节点,作为所述推荐节点;
将预设数量的所述推荐节点,确定为针对所述目标工作流的下一个工作流节点的所述推荐结果。
在本实施例中,所述推荐单元506,还用于:
将所述预测结果中包括的各个概率值中大于预设阈值的概率值对应的工作流节点,作为所述推荐节点;
将所述推荐节点,确定为针对所述目标工作流的下一个工作流节点的所述推荐结果。
在本实施例中,响应于所述至少一个工作流节点被添加至一条工作流中,所述工作 流被创建,并且所述工作流的创建时刻为所述工作流中的最后一个工作流节点的添加时刻。
在本实施例中,根据每条工作流的创建时刻,将最近创建的一条工作流默认为所述目标工作流。
在本实施例中,所述生成单元502,还用于:
响应于用户在制图界面中创建包括至少一个组件的工作流程图,生成与所述工作流程图对应的所述目标工作流;其中,所述工作流程图中的组件用于指示对应的所述目标工作流中的工作流节点。
在本实施例中,所述推荐单元506,还用于:
基于针对所述目标工作流的下一个工作流节点的所述推荐结果,在所述制图界面中向用户展示与所述至少一个推荐节点对应的至少一个推荐组件。
在本实施例中,所述制图界面包括预设组件列表和画布区域,所述预设组件列表用于展示预设类型的组件;所述画布区域用于展示所述工作流程图。
在本实施例中,所述制图界面还包括推荐区域,所述推荐区域用于展示与所述至少一个推荐节点对应的至少一个推荐组件。
在本实施例中,所述语言模型包括基于统计的语言模型,或基于神经网络的语言模型。
在本实施例中,所述基于统计的语言模型,包括n-gram模型;所述基于神经网络的语言模型,包括转换器的双向编码器表示(BERT)模型、词向量(Word2vec)模型、循环神经网络(RNN)模型、卷积神经网络(CNN)模型。
在本实施例中,所述语言模型采用所述n-gram模型时,根据已创建的工作流样本,生成对应的编码串序列样本,得到包含所述编码串序列样本的语料库;基于统计,计算出所述编码串序列样本中的前n个编码串分别为w
1、……、w
n的情况下,第n+1个编码串为w
n+1的概率,并将所述概率表示为P(w
n+1|w
1,……,w
n)。
在本实施例中,所述语言模型采用所述BERT模型时,根据已创建的工作流样本,生成对应的编码串序列样本;针对所述编码串序列样本中的编码串进行嵌入处理,得到与每个编码串对应的特征向量;随机地将所述编码串序列样本中的某些编码串进行掩码处理,并验证所述BERT模型是否能准确地预测出被掩码的编码串。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例只是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本说明书方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
上述实施例阐明的***、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
在一个典型的配置中,计算机包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带、磁盘存储、量子存储器、基于石墨烯的存储介质或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
以上所述仅为本说明书一个或多个实施例的较佳实施例而已,并不用以限制本说明书一个或多个实施例,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例保护的范围之内。
Claims (32)
- 一种工作流节点推荐方法,所述方法包括:生成与包括至少一个工作流节点的目标工作流对应的目标编码串序列;其中,所述目标编码串序列中包括与所述目标工作流中的至少一个工作流节点分别对应的至少一个编码串;与所述至少一个工作流节点中的每个工作流节点分别对应的编码串,是分别针对所述每个工作流节点进行编码而得到的;将生成的所述目标编码串序列作为输入数据,输入训练完成的语言模型进行计算,得到所述语言模型输出的、针对所述目标编码串序列的下一个编码串的预测结果;其中,所述预测结果,包括与不同类型的工作流节点分别对应的各个编码串作为所述目标编码串序列的下一个编码串的概率值;基于针对所述目标编码串序列的下一个编码串的所述预测结果,确定针对所述目标工作流的下一个工作流节点的推荐结果;其中,所述推荐结果包括至少一个推荐节点。
- 根据权利要求1所述的方法,其中,所述生成与包括至少一个工作流节点的目标工作流对应的目标编码串序列,包括:针对所述目标工作流中的至少一个工作流节点分别进行编码,得到与所述至少一个工作流节点分别对应的至少一个编码串;按照所述至少一个工作流节点分别在所述目标工作流中的位置,将得到的所述至少一个编码串进行排列,得到与所述目标工作流对应的所述目标编码串序列。
- 根据权利要求1或2所述的方法,其中,所述不同类型的工作流节点预先配置有不同的索引值;所述生成与包括至少一个工作流节点的目标工作流对应的目标编码串序列,包括:针对为所述目标工作流中的至少一个工作流节点预先配置的索引值分别进行one-hot编码,以得到与所述至少一个工作流节点中的每个工作流节点分别对应的one-hot编码表示,作为与所述每个工作流节点分别对应的编码串;按照所述至少一个工作流节点在所述目标工作流中的排列顺序,对one-hot编码得到的、与所述每个工作流节点分别对应的编码串排序,得到与所述目标工作流对应的所述目标编码串序列。
- 根据权利要求1-3中任一项所述的方法,其中,所述基于针对所述目标编码串序列的下一个编码串的所述预测结果,确定针对所述目标工作流的下一个工作流节点的推荐结果,包括:按照所述预测结果中包括的各个概率值从大到小的顺序,将与预设数量的编码串分别对应的工作流节点,作为所述推荐节点;将预设数量的所述推荐节点,确定为针对所述目标工作流的下一个工作流节点的所述推荐结果。
- 根据权利要求1-3中任一项所述的方法,其中,所述基于针对所述目标编码串序列的下一个编码串的所述预测结果,确定针对所述目标工作流的下一个工作流节点的推荐结果,包括:将所述预测结果中包括的各个概率值中大于预设阈值的概率值对应的工作流节点,作为所述推荐节点;将所述推荐节点,确定为针对所述目标工作流的下一个工作流节点的所述推荐结果。
- 根据权利要求1-5中任一项所述的方法,其中,响应于所述至少一个工作流节点被添加至一条工作流中,所述工作流被创建,并且所述工作流的创建时刻为所述工作流中的最后一个工作流节点的添加时刻。
- 根据权利要求6所述的方法,其中,根据每条工作流的创建时刻,将最近创建的一条工作流默认为所述目标工作流。
- 根据权利要求1-7中任一项所述的方法,其中,在生成与包括至少一个工作流 节点的目标工作流对应的目标编码串序列之前,所述方法还包括:响应于用户在制图界面中创建包括至少一个组件的工作流程图,生成与所述工作流程图对应的所述目标工作流;其中,所述工作流程图中的组件用于指示对应的所述目标工作流中的工作流节点。
- 根据权利要求8所述的方法,其中,所述方法还包括:基于针对所述目标工作流的下一个工作流节点的所述推荐结果,在所述制图界面中向用户展示与所述至少一个推荐节点对应的至少一个推荐组件。
- 根据权利要求8或9所述的方法,其中,所述制图界面包括预设组件列表和画布区域,所述预设组件列表用于展示预设类型的组件;所述画布区域用于展示所述工作流程图。
- 根据权利要求10所述的方法,其中,所述制图界面还包括推荐区域,所述推荐区域用于展示与所述至少一个推荐节点对应的至少一个推荐组件。
- 根据权利要求1-11中任一项所述的方法,其中,所述语言模型包括基于统计的语言模型,或基于神经网络的语言模型。
- 根据权利要求12所述的方法,其中,所述基于统计的语言模型,包括n-gram模型;所述基于神经网络的语言模型,包括转换器的双向编码器表示(BERT)模型、词向量(Word2vec)模型、循环神经网络(RNN)模型、卷积神经网络(CNN)模型。
- 根据权利要求13所述的方法,其中,所述语言模型采用所述n-gram模型时,根据已创建的工作流样本,生成对应的编码串序列样本,得到包含所述编码串序列样本的语料库;基于统计,计算出所述编码串序列样本中的前n个编码串分别为w 1、……、w n的情况下,第n+1个编码串为w n+1的概率,并将所述概率表示为P(w n+1|w 1,……,w n)。
- 根据权利要求13所述的方法,其中,所述语言模型采用所述BERT模型时,根据已创建的工作流样本,生成对应的编码串序列样本;针对所述编码串序列样本中的编码串进行嵌入处理,得到与每个编码串对应的特征向量;随机地将所述编码串序列样本中的某些编码串进行掩码处理,并验证所述BERT模型是否能准确地预测出被掩码的编码串。
- 一种工作流节点推荐装置,所述装置包括:生成单元,用于生成与包括至少一个工作流节点的目标工作流对应的目标编码串序列;其中,所述目标编码串序列中包括与所述目标工作流中的至少一个工作流节点分别对应的至少一个编码串;与所述至少一个工作流节点中的每个工作流节点分别对应的编码串,是分别针对所述每个工作流节点进行编码而得到的;预测单元,用于将生成的所述目标编码串序列作为输入数据,输入训练完成的语言模型进行计算,得到所述语言模型输出的、针对所述目标编码串序列的下一个编码串的预测结果;其中,所述预测结果,包括与不同类型的工作流节点分别对应的各个编码串作为所述目标编码串序列的下一个编码串的概率值;推荐单元,用于基于针对所述目标编码串序列的下一个编码串的所述预测结果,确定针对所述目标工作流的下一个工作流节点的推荐结果;其中,所述推荐结果包括至少一个推荐节点。
- 根据权利要求16所述的装置,其中,所述生成单元,还用于:针对所述目标工作流中的至少一个工作流节点分别进行编码,得到与所述至少一个工作流节点分别对应的至少一个编码串;按照所述至少一个工作流节点分别在所述目标工作流中的位置,将得到的所述至少一个编码串进行排列,得到与所述目标工作流对应的所述目标编码串序列。
- 根据权利要求16或17所述的装置,其中,所述不同类型的工作流节点预先配置有不同的索引值;所述生成单元,还用于:针对为所述目标工作流中的至少一个工作流节点预先配置的索引值分别进行one-hot编码,以得到与至少一个工作流节点中的每个工作流节点分别对应的one-hot编码表示,作为与所述每个工作流节点分别对应的编码串;按照所述至少一个工作流节点在所述目标工作流中的排列顺序,对one-hot编码得到的、与所述每个工作流节点分别对应的编码串排序,得到与所述目标工作流对应的所述目标编码串序列。
- 根据权利要求16-18中任一项所述的装置,其中,所述推荐单元,还用于:按照所述预测结果中包括的各个概率值从大到小的顺序,将与预设数量的编码串分别对应的工作流节点,作为所述推荐节点;将预设数量的所述推荐节点,确定为针对所述目标工作流的下一个工作流节点的所述推荐结果。
- 根据权利要求16-18中任一项所述的装置,其中,所述推荐单元,还用于:将所述预测结果中包括的各个概率值中大于预设阈值的概率值对应的工作流节点,作为所述推荐节点;将所述推荐节点,确定为针对所述目标工作流的下一个工作流节点的所述推荐结果。
- 根据权利要求16-20中任一项所述的装置,其中,响应于所述至少一个工作流节点被添加至一条工作流中,所述工作流被创建,并且所述工作流的创建时刻为所述工作流中的最后一个工作流节点的添加时刻。
- 根据权利要求21所述的装置,其中,根据每条工作流的创建时刻,将最近创建的一条工作流默认为所述目标工作流。
- 根据权利要求16-22中任一项所述的装置,其中,所述生成单元,还用于:响应于用户在制图界面中创建包括至少一个组件的工作流程图,生成与所述工作流程图对应的所述目标工作流;其中,所述工作流程图中的组件用于指示对应的所述目标工作流中的工作流节点。
- 根据权利要求23所述的装置,其中,所述推荐单元,还用于:基于针对所述目标工作流的下一个工作流节点的所述推荐结果,在所述制图界面中向用户展示与所述至少一个推荐节点对应的至少一个推荐组件。
- 根据权利要求23或24所述的装置,其中,所述制图界面包括预设组件列表和画布区域,所述预设组件列表用于展示预设类型的组件;所述画布区域用于展示所述工作流程图。
- 根据权利要求25所述的装置,其中,所述制图界面还包括推荐区域,所述推荐区域用于展示与所述至少一个推荐节点对应的至少一个推荐组件。
- 根据权利要求16-26中任一项所述的装置,其中,所述语言模型包括基于统计的语言模型,或基于神经网络的语言模型。
- 根据权利要求27所述的装置,其中,所述基于统计的语言模型,包括n-gram模型;所述基于神经网络的语言模型,包括转换器的双向编码器表示(BERT)模型、词向量(Word2vec)模型、循环神经网络(RNN)模型、卷积神经网络(CNN)模型。
- 根据权利要求28所述的装置,其中,所述语言模型采用所述n-gram模型时,根据已创建的工作流样本,生成对应的编码串序列样本,得到包含所述编码串序列样本的语料库;基于统计,计算出所述编码串序列样本中的前n个编码串分别为w 1、……、w n的情况下,第n+1个编码串为w n+1的概率,并将所述概率表示为P(w n+1|w 1,……,w n)。
- 根据权利要求28所述的装置,其中,所述语言模型采用所述BERT模型时,根据已创建的工作流样本,生成对应的编码串序列样本;针对所述编码串序列样本中的编码串进行嵌入处理,得到与每个编码串对应的特征向量;随机地将所述编码串序列样本中的某些编码串进行掩码处理,并验证所述BERT模型是否能准确地预测出被掩码的编码串。
- 一种电子设备,包括通信接口、处理器、存储器和总线,所述通信接口、所述处理器和所述存储器之间通过总线相互连接;所述存储器中存储机器可读指令,所述处理器通过调用所述机器可读指令,执行权利要求1至15中任一项所述的方法。
- 一种机器可读存储介质,所述机器可读存储介质存储有机器可读指令,所述机器可读指令在被处理器调用和执行时,实现权利要求1至15中任一项所述的方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111433798.5 | 2021-11-29 | ||
CN202111433798.5A CN114115878A (zh) | 2021-11-29 | 2021-11-29 | 一种工作流节点推荐方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2023093909A1 true WO2023093909A1 (zh) | 2023-06-01 |
Family
ID=80371916
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2022/135033 WO2023093909A1 (zh) | 2021-11-29 | 2022-11-29 | 一种工作流节点推荐方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN114115878A (zh) |
WO (1) | WO2023093909A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114115878A (zh) * | 2021-11-29 | 2022-03-01 | 杭州数梦工场科技有限公司 | 一种工作流节点推荐方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180308022A1 (en) * | 2015-11-19 | 2018-10-25 | Alcatel Lucent | Method, system and computer readable medium to execute a flexible workflow |
CN109791642A (zh) * | 2016-11-02 | 2019-05-21 | 英特尔公司 | 工作流的自动生成 |
CN110765353A (zh) * | 2019-10-16 | 2020-02-07 | 腾讯科技(深圳)有限公司 | 项目推荐模型的处理方法、装置、计算机设备和存储介质 |
CN111080170A (zh) * | 2019-12-30 | 2020-04-28 | 北京云享智胜科技有限公司 | 一种工作流建模方法、装置、电子设备及存储介质 |
CN114115878A (zh) * | 2021-11-29 | 2022-03-01 | 杭州数梦工场科技有限公司 | 一种工作流节点推荐方法及装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109902222B (zh) * | 2018-11-30 | 2022-05-13 | 华为技术有限公司 | 一种推荐方法及装置 |
CN111027189A (zh) * | 2019-11-28 | 2020-04-17 | 武汉理工大学 | 基于设计信息模型的工作流模型推荐方法 |
CN111666401B (zh) * | 2020-05-29 | 2023-06-30 | 平安科技(深圳)有限公司 | 基于图结构的公文推荐方法、装置、计算机设备及介质 |
CN113569143B (zh) * | 2021-07-20 | 2024-02-27 | 上海明略人工智能(集团)有限公司 | 推荐结果的生成方法、装置、电子设备和计算机可读介质 |
-
2021
- 2021-11-29 CN CN202111433798.5A patent/CN114115878A/zh active Pending
-
2022
- 2022-11-29 WO PCT/CN2022/135033 patent/WO2023093909A1/zh unknown
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180308022A1 (en) * | 2015-11-19 | 2018-10-25 | Alcatel Lucent | Method, system and computer readable medium to execute a flexible workflow |
CN109791642A (zh) * | 2016-11-02 | 2019-05-21 | 英特尔公司 | 工作流的自动生成 |
CN110765353A (zh) * | 2019-10-16 | 2020-02-07 | 腾讯科技(深圳)有限公司 | 项目推荐模型的处理方法、装置、计算机设备和存储介质 |
CN111080170A (zh) * | 2019-12-30 | 2020-04-28 | 北京云享智胜科技有限公司 | 一种工作流建模方法、装置、电子设备及存储介质 |
CN114115878A (zh) * | 2021-11-29 | 2022-03-01 | 杭州数梦工场科技有限公司 | 一种工作流节点推荐方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN114115878A (zh) | 2022-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11347783B2 (en) | Implementing a software action based on machine interpretation of a language input | |
US11948058B2 (en) | Utilizing recurrent neural networks to recognize and extract open intent from text inputs | |
US11816439B2 (en) | Multi-turn dialogue response generation with template generation | |
WO2018049960A1 (zh) | 一种为文本信息匹配资源的方法及装置 | |
US11636341B2 (en) | Processing sequential interaction data | |
EP4009219A1 (en) | Analysis of natural language text in document using hierarchical graph | |
CN113591483A (zh) | 一种基于序列标注的文档级事件论元抽取方法 | |
CN111222305A (zh) | 一种信息结构化方法和装置 | |
CN105706092B (zh) | 四值模拟的方法和*** | |
JP7488871B2 (ja) | 対話推薦方法、装置、電子機器、記憶媒体ならびにコンピュータプログラム | |
CN111159412A (zh) | 分类方法、装置、电子设备及可读存储介质 | |
US20230315999A1 (en) | Systems and methods for intent discovery | |
CN113268561A (zh) | 一种基于多任务联合训练的问题生成方法 | |
WO2023093909A1 (zh) | 一种工作流节点推荐方法及装置 | |
CN116304748A (zh) | 一种文本相似度计算方法、***、设备及介质 | |
CN115017916A (zh) | 方面级情感分析方法、装置、电子设备及存储介质 | |
CN114266252A (zh) | 命名实体识别方法、装置、设备及存储介质 | |
Chavali et al. | A study on named entity recognition with different word embeddings on gmb dataset using deep learning pipelines | |
WO2023103914A1 (zh) | 文本情感分析方法、装置及计算机可读存储介质 | |
US20210034987A1 (en) | Auxiliary handling of metadata and annotations for a question answering system | |
CN116578671A (zh) | 一种情感-原因对提取方法及装置 | |
WO2023137903A1 (zh) | 基于粗糙语义的回复语句确定方法、装置及电子设备 | |
US20230229859A1 (en) | Zero-shot entity linking based on symbolic information | |
CN114254642A (zh) | 实体信息处理方法、装置、电子设备和介质 | |
Ye et al. | A natural language-based flight searching system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 22897990 Country of ref document: EP Kind code of ref document: A1 |