WO2023093909A1 - Workflow node recommendation method and apparatus - Google Patents

Workflow node recommendation method and apparatus Download PDF

Info

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
Application number
PCT/CN2022/135033
Other languages
French (fr)
Chinese (zh)
Inventor
崔晓峰
周轶凡
Original Assignee
杭州数梦工场科技有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 杭州数梦工场科技有限公司 filed Critical 杭州数梦工场科技有限公司
Publication of WO2023093909A1 publication Critical patent/WO2023093909A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical 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

The present application provides a workflow node recommendation method and apparatus. The method comprises: generating a target encoded string sequence corresponding to a target workflow comprising at least one workflow node, the target encoded string sequence comprising at least one encoded string corresponding to the at least one workflow node in the target workflow, and the encoded string respectively corresponding to each workflow node in the at least one workflow node being obtained by encoding each workflow node; and taking the generated target encoded string sequence as input data, and inputting the input data into a trained language model for calculation to obtain a prediction result outputted by the language model for a next encoded string of the target encoded string sequence, the prediction result comprising probability values of encoded strings respectively corresponding to different types of workflow nodes becoming the next encoded string of the target encoded string sequence; and on the basis of the prediction result, determining a recommendation result for a next workflow node of the target workflow.

Description

一种工作流节点推荐方法及装置A workflow node recommendation method and device 技术领域technical field
本申请涉及计算机技术领域,尤其涉及一种工作流节点推荐方法及装置。The present application relates to the field of computer technology, in particular to a workflow node recommendation method and device.
背景技术Background technique
为了方便管理业务流程,通常可以设置一条或多条工作流,用于对业务流程做出抽象化的表达。具体地,每条工作流中可以包括若干工作流节点,其中,各个工作流节点可以用于指示与工作流对应的业务流程中的各个业务事项,并且,各个工作流节点之间的排列关系与各个业务事项之间的执行顺序可以一一对应。因而,工作流通常可以用于指示按照工作流节点的排列顺序,依次执行业务流程中对应的业务事项。In order to facilitate the management of business processes, one or more workflows can usually be set to abstract the business process. Specifically, 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.
在实际应用中,通常可以根据业务需求预先配置不同的工作流节点的类型,以使用户可以从所有预设类型的工作流节点中,按照业务流程中各个业务事项的执行顺序,依次选择与业务事项对应的工作流节点,并将选中的工作流节点添加至用户所创建的工作流中。In practical applications, different types of 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.
发明内容Contents of the invention
本申请提供一种工作流节点推荐方法,所述方法包括:The present application provides a workflow node recommendation method, the method comprising:
生成与包括至少一个工作流节点的目标工作流对应的目标编码串序列;其中,所述目标编码串序列中包括与所述目标工作流中的至少一个工作流节点分别对应的至少一个编码串;与所述至少一个工作流节点中的每个工作流节点分别对应的编码串,是分别针对所述每个工作流节点进行编码而得到的;generating 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 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;
将生成的所述目标编码串序列作为输入数据,输入训练完成的语言模型进行计算,得到所述语言模型输出的、针对所述目标编码串序列的下一个编码串的预测结果;其中,所述预测结果,包括与不同类型的工作流节点分别对应的各个编码串作为所述目标编码串序列的下一个编码串的概率值;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 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;
基于针对所述目标编码串序列的下一个编码串的所述预测结果,确定针对所述目标工作流的下一个工作流节点的推荐结果;其中,所述推荐结果包括至少一个推荐节点。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.
可选的,所述生成与包括至少一个工作流节点的目标工作流对应的目标编码串序列,包括:Optionally, 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;
按照所述至少一个工作流节点分别在所述目标工作流中的位置,将得到的所述至少一个编码串进行排列,得到与所述目标工作流对应的所述目标编码串序列。According to the positions of the at least one workflow node in the target workflow, the obtained at least one code string is arranged to obtain the target code string sequence corresponding to the target workflow.
可选的,不同类型的工作流节点预先配置有不同的索引值;所述生成与包括至少一个工作流节点的目标工作流对应的目标编码串序列,包括:Optionally, different types of workflow nodes are pre-configured with different index values; said generating a target code string sequence corresponding to a target workflow including at least one workflow node includes:
针对为所述目标工作流中的至少一个工作流节点预先配置的索引值分别进行one-hot编码,以得到与所述至少一个工作流节点中的每个工作流节点分别对应的one-hot编码表示,作为与所述每个工作流节点分别对应的编码串;performing one-hot encoding on the index values preconfigured for at least one workflow node in the target workflow, so as to obtain one-hot encoding corresponding to each workflow node in the at least one workflow node Indicates, as a coded string corresponding to each workflow node;
按照所述至少一个工作流节点在所述目标工作流中的排列顺序,对one-hot编码得到的、与所述每个工作流节点分别对应的编码串排序,得到与所述目标工作流对应的所 述目标编码串序列。According to the arrangement order of 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 target encoding string sequence of .
可选的,所述基于针对所述目标编码串序列的下一个编码串的所述预测结果,确定针对所述目标工作流的下一个工作流节点的推荐结果,包括:Optionally, 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:
按照所述预测结果中包括的各个概率值从大到小的顺序,将与预设数量的编码串分别对应的工作流节点,作为所述推荐节点;According to the descending order of each probability value included in the prediction result, the workflow nodes respectively corresponding to the preset number of coded strings are used as the recommended nodes;
将预设数量的所述推荐节点,确定为针对所述目标工作流的下一个工作流节点的所述推荐结果。Determining a preset number of the recommended nodes as the recommendation results for the next workflow node of the target workflow.
可选的,所述基于针对所述目标编码串序列的下一个编码串的所述预测结果,确定针对所述目标工作流的下一个工作流节点的推荐结果,包括:Optionally, 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:
将所述预测结果中包括的各个概率值中大于预设阈值的概率值对应的工作流节点,作为所述推荐节点;Using the workflow node corresponding to the probability value greater than the preset threshold among the various probability values included in the prediction result as the recommendation node;
将所述推荐节点,确定为针对所述目标工作流的下一个工作流节点的所述推荐结果。The recommended node is determined as the recommendation result for the next workflow node of the target workflow.
可选的,响应于所述至少一个工作流节点被添加至一条工作流中,所述工作流被创建,并且所述工作流的创建时刻为所述工作流中的最后一个工作流节点的添加时刻。Optionally, 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.
可选的,根据每条工作流的创建时刻,将最近创建的一条工作流默认为所述目标工作流。Optionally, according to the creation time of each workflow, a newly created workflow is defaulted as the target workflow.
可选的,在生成与包括至少一个工作流节点的目标工作流对应的目标编码串序列之前,所述方法还包括:Optionally, before generating the target code string sequence corresponding to the target workflow including at least one workflow node, the method further includes:
响应于用户在制图界面中创建包括至少一个组件的工作流程图,生成与所述工作流程图对应的所述目标工作流;其中,所述工作流程图中的组件用于指示对应的所述目标工作流中的工作流节点。In response to the user creating a workflow diagram including at least one component in the drawing interface, generating the target workflow corresponding to the workflow diagram; wherein, the components in the workflow diagram are used to indicate the corresponding target A workflow node in a workflow.
可选的,所述方法还包括:Optionally, the method also includes:
基于针对所述目标工作流的下一个工作流节点的所述推荐结果,在所述制图界面中向用户展示与所述至少一个推荐节点对应的至少一个推荐组件。Based on the recommendation result for the next workflow node of the target workflow, at least one recommended component corresponding to the at least one recommended node is displayed to the user in the drawing interface.
可选的,所述制图界面包括预设组件列表和画布区域,所述预设组件列表用于展示预设类型的组件;所述画布区域用于展示所述工作流程图。Optionally, 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.
可选的,所述制图界面还包括推荐区域,所述推荐区域用于展示与所述至少一个推荐节点对应的至少一个推荐组件。Optionally, 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.
可选的,所述语言模型包括基于统计的语言模型,或基于神经网络的语言模型。Optionally, the language model includes a language model based on statistics, or a language model based on a neural network.
可选的,所述基于统计的语言模型,包括n-gram模型;所述基于神经网络的语言模型,包括转换器的双向编码器表示(BERT)模型、词向量(Word2vec)模型、循环神经网络(RNN)模型、卷积神经网络(CNN)模型。Optionally, 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.
可选的,所述语言模型采用所述n-gram模型时,根据已创建的工作流样本,生成对应的编码串序列样本,得到包含所述编码串序列样本的语料库;基于统计,计算出所述编码串序列样本中的前n个编码串分别为w 1、……、w n的情况下,第n+1个编码串为w n+1的概率,并将所述概率表示为P(w n+1|w 1,……,w n)。 Optionally, when the language model adopts the n-gram model, according to the created workflow samples, 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 |w 1 ,..., w n ).
可选的,所述语言模型采用所述BERT模型时,根据已创建的工作流样本,生成对应的编码串序列样本;针对所述编码串序列样本中的编码串进行嵌入处理,得到与每个编码串对应的特征向量;随机地将所述编码串序列样本中的某些编码串进行掩码处理, 并验证所述BERT模型是否能准确地预测出被掩码的编码串。Optionally, when the language model adopts the BERT model, 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 ; 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, 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 .
可选的,所述生成单元,还用于:Optionally, 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;
按照所述至少一个工作流节点分别在所述目标工作流中的位置,将得到的所述至少一个编码串进行排列,得到与所述目标工作流对应的所述目标编码串序列。According to the positions of the at least one workflow node in the target workflow, the obtained at least one code string is arranged to obtain the target code string sequence corresponding to the target workflow.
可选的,所述不同类型的工作流节点预先配置有不同的索引值;所述生成单元,还用于:Optionally, the different types of workflow nodes are pre-configured with different index values; the generating unit is further configured to:
针对为所述目标工作流中的至少一个工作流节点预先配置的索引值分别进行one-hot编码,以得到与至少一个工作流节点中的每个工作流节点分别对应的one-hot编码表示,作为与所述每个工作流节点分别对应的编码串;performing one-hot encoding on the index values preconfigured for at least one workflow node in the target workflow, so as to obtain a one-hot encoded representation corresponding to each workflow node in the at least one workflow node, As a coded string corresponding to each of the workflow nodes;
按照所述至少一个工作流节点在所述目标工作流中的排列顺序,对one-hot编码得到的、与所述每个工作流节点分别对应的编码串排序,得到与所述目标工作流对应的所述目标编码串序列。According to the arrangement order of 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 target encoding string sequence of .
可选的,所述推荐单元,还用于:Optionally, the recommendation unit is also used for:
按照所述预测结果中包括的各个概率值从大到小的顺序,将与预设数量的编码串分别对应的工作流节点,作为所述推荐节点;According to the descending order of each probability value included in the prediction result, the workflow nodes respectively corresponding to the preset number of coded strings are used as the recommended nodes;
将预设数量的所述推荐节点,确定为针对所述目标工作流的下一个工作流节点的所述推荐结果。Determining a preset number of the recommended nodes as the recommendation results for the next workflow node of the target workflow.
可选的,所述推荐单元,还用于:Optionally, the recommendation unit is also used for:
将所述预测结果中包括的各个概率值中大于预设阈值的概率值对应的工作流节点,作为所述推荐节点;Using the workflow node corresponding to the probability value greater than the preset threshold among the various probability values included in the prediction result as the recommendation node;
将所述推荐节点,确定为针对所述目标工作流的下一个工作流节点的所述推荐结果。The recommended node is determined as the recommendation result for the next workflow node of the target workflow.
可选的,响应于所述至少一个工作流节点被添加至一条工作流中,所述工作流被创建,并且所述工作流的创建时刻为所述工作流中的最后一个工作流节点的添加时刻。Optionally, 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.
可选的,根据每条工作流的创建时刻,将最近创建的一条工作流默认为所述目标工作流。Optionally, according to the creation time of each workflow, a newly created workflow is defaulted as the target workflow.
可选的,所述生成单元,还用于:Optionally, the generating unit is also used for:
响应于用户在制图界面中创建包括至少一个组件的工作流程图,生成与所述工作流程图对应的所述目标工作流;其中,所述工作流程图中的组件用于指示对应的所述目标工作流中的工作流节点。In response to the user creating a workflow diagram including at least one component in the drawing interface, generating the target workflow corresponding to the workflow diagram; wherein, the components in the workflow diagram are used to indicate the corresponding target A workflow node in a workflow.
可选的,所述推荐单元,还用于:Optionally, the recommendation unit is also used for:
基于针对所述目标工作流的下一个工作流节点的所述推荐结果,在所述制图界面中向用户展示与所述至少一个推荐节点对应的至少一个推荐组件。Based on the recommendation result for the next workflow node of the target workflow, at least one recommended component corresponding to the at least one recommended node is displayed to the user in the drawing interface.
可选的,所述制图界面包括预设组件列表和画布区域,所述预设组件列表用于展示预设类型的组件;所述画布区域用于展示所述工作流程图。Optionally, 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.
可选的,所述制图界面还包括推荐区域,所述推荐区域用于展示与所述至少一个推荐节点对应的至少一个推荐组件。Optionally, 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.
可选的,所述语言模型包括基于统计的语言模型,或基于神经网络的语言模型。Optionally, the language model includes a language model based on statistics, or a language model based on a neural network.
可选的,所述基于统计的语言模型,包括n-gram模型;所述基于神经网络的语言模型,包括转换器的双向编码器表示(BERT)模型、词向量(Word2vec)模型、循环神经网络(RNN)模型、卷积神经网络(CNN)模型。Optionally, 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.
可选的,所述语言模型采用所述n-gram模型时,根据已创建的工作流样本,生成对应的编码串序列样本,得到包含所述编码串序列样本的语料库;基于统计,计算出所述编码串序列样本中的前n个编码串分别为w 1、……、w n的情况下,第n+1个编码串为w n+1的概率,并将所述概率表示为P(w n+1|w 1,……,w n)。 Optionally, when the language model adopts the n-gram model, according to the created workflow samples, 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 |w 1 ,..., w n ).
可选的,所述语言模型采用所述BERT模型时,根据已创建的工作流样本,生成对应的编码串序列样本;针对所述编码串序列样本中的编码串进行嵌入处理,得到与每个编码串对应的特征向量;随机地将所述编码串序列样本中的某些编码串进行掩码处理,并验证所述BERT模型是否能准确地预测出被掩码的编码串。Optionally, when the language model adopts the BERT model, 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.
通过以上实施例,通过针对目标工作流中包括的每个工作流节点进行编码,得到分别与每个工作流节点对应的编码串,可以生成与所述目标工作流对应的目标编码串序列,由于将生成的所述目标编码串序列输入训练完成的语言模型,可以得到所述语言模型输出的、针对所述目标编码串序列的下一个编码串的预测结果,进而可以得到针对所述目标工作流的下一个工作流节点的推荐结果;因此,在用户尝试为目标工作流选择下一个工作流节点时,可以根据目标工作流中已有的工作流节点,自动推荐下一个工作流节点的类型,以使用户可以直接从推荐节点中选择下一个工作流节点,从而可以提高用户创建工作流的效率。Through the above embodiments, by encoding each workflow node included in the target workflow to obtain a code string corresponding to each workflow node, 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.
附图说明Description of drawings
图1是一示例性的实施例示出的一种工作流节点推荐方法的流程图;Fig. 1 is a flow chart of a workflow node recommendation method shown in an exemplary embodiment;
图2是一示例性的实施例示出的一种制图界面的示意图;Fig. 2 is a schematic diagram of a drawing interface shown in an exemplary embodiment;
图3是一示例性的实施例示出的一种推荐区域的示意图;Fig. 3 is a schematic diagram of a recommended area shown in an exemplary embodiment;
图4是一示例性的实施例示出的一种工作流节点推荐装置所在电子设备的硬件结构图;Fig. 4 is a hardware structural diagram of an electronic device where a workflow node recommending device is shown in an exemplary embodiment;
图5是一示例性的实施例示出的一种工作流节点推荐装置的框图。Fig. 5 is a block diagram of an apparatus for recommending workflow nodes according to an exemplary embodiment.
具体实施方式Detailed ways
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。Reference will now be made in detail to the exemplary embodiments, examples of which are illustrated in the accompanying drawings. When the following description refers to the accompanying drawings, the same numerals in different drawings refer to the same or similar elements unless otherwise indicated. The implementations described in the following exemplary embodiments do not represent all implementations consistent with this application. Rather, they are merely examples of apparatuses and methods consistent with aspects of the present application as recited in the appended claims.
需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。It should be noted that in other embodiments, the steps of the corresponding methods are not necessarily performed in the order shown and described in this specification. In some other embodiments, the method may include more or less steps than those described in this specification. In addition, 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.
为了使本技术领域的人员更好地理解本说明书实施例中的技术方案,下面先对本说明书实施例涉及的创建工作流的相关技术,进行简要说明。In order to enable those skilled in the art to better understand the technical solutions in the embodiments of this specification, the related technologies for creating workflows involved in the embodiments of this specification will be briefly described below.
工作流(workflow),可以用于对业务流程做出抽象化的表达,以便于用户方便、规范化地管理业务流程。具体地,完整的业务流程可以被划分为若干业务事项,并且可以按照一定的顺序执行每个业务事项;与业务流程对应的工作流中可以包括若干工作流节点,其中,各个工作流节点可以用于指示与工作流对应的业务流程中的各个业务事项,并且,各个工作流节点之间的排列顺序与各个业务事项之间的执行顺序可以一一对应。Workflow (workflow) can be used to make an abstract expression of business processes, so that users can manage business processes conveniently and standardizedly. Specifically, 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.
在实际应用中,通常可以根据业务需求预先配置不同类型的工作流节点,以使用户在创建与业务流程对应的工作流时,可以从所有预设类型的工作流节点中,按照所述业务流程中各个业务事项的执行顺序,依次选择与业务事项对应的工作流节点,并将选中的工作流节点添加至用户所创建的工作流中。In practical applications, different types of 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.
例如“业务数据处理”的业务流程,可以被划分为“输入业务数据”、“对输入的业务数据进行预处理”、“通过分类算法计算出针对预处理完成的业务数据的分类结果”、“通过预测算法计算出针对分类结果的预测结果”、“基于预测结果输出针对业务数据的处理结果”等不同类型的业务事项;相应地,根据上述不同类型的业务事项,可以预先配置“数据输入”、“数据预处理”、“分类算法”、“预测算法”、“数据输出”等不同类型的工作流节点。进一步地,假设已创建的工作流为“工作流节点1—>工作流节点2—>工作流节点3”,其中,工作流节点1、工作流节点2、工作流节点3的类型分别为“数据输入”、“数据预处理”、“分类算法”。用户需要为上述已创建的工作流添加下一个工作流节点时,可以从上述预先配置的不同类型的所有工作流节点中,选择出所需的“预测算法”类型的工作流节点,并将其作为下一个工作流节点添加至上述已创建的工作流中,可以理解为,将上述已创建的工作流更新为“工作流节点1—>工作流节点2—>工作流节点3—>工作流节点4”,其中,工作流节点4的类型也即上述选择的“预测算法”类型。For example, 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. Further, assume that the created workflow is "workflow node 1 -> workflow node 2 -> workflow node 3", where the types of workflow node 1, workflow node 2 and workflow node 3 are respectively " Data Input", "Data Preprocessing", "Classification Algorithms". When the user needs to add the next workflow node to the above-mentioned created workflow, he can select the required workflow node of the "forecast algorithm" type from all the different types of workflow nodes pre-configured above, and add As the next workflow node added to the above created workflow, it can be understood that the above created workflow is updated as "workflow node 1—>workflow node 2—>workflow node 3—>workflow Node 4", wherein the type of workflow node 4 is also the type of "prediction algorithm" selected above.
需要说明的是,以上示出的“工作流节点1”、“工作流节点2”等工作流节点的节点名称中的序号,可以用于表示该工作流节点被添加至已创建的工作流中的先后顺序,并不对本说明书做出特殊限定。在实际应用中,由于用户可能会同时创建多条工作流,或者对之前已创建的工作流进行更新,因此,可以理解的是,同一条工作流中的相邻的 工作流节点的序号不一定是连续的。例如,在以上示出的实施例中,用户将“预测算法”类型的工作流节点作为下一个工作流节点,添加至上述已创建的工作流中之后,该工作流可能会更新为“工作流节点1—>工作流节点2—>工作流节点3—>工作流节点6”,其中,工作流节点6的类型也即上述选择的“预测算法”类型,也即,用户在为该工作流添加“工作流节点6”之前,可能还为其他工作流添加过工作流节点。It should be noted that the 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. For example, in the embodiment shown above, after the user adds the workflow node of type "prediction algorithm" as the next workflow node to the workflow created above, 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.
然而,在业务流程复杂、业务事项种类繁多的情况下,用户在创建工作流时,可以选择的工作流节点的类型也很多(如,上百种预设类型的工作流节点);因此,用户往往需要耗费大量的时间,先根据所需的下一个工作流节点的类型,从所有预设类型的工作流节点中,手动找出所需类型的工作流节点,再将找出的工作流节点添加至用户所创建的工作流中。However, in the case of complex business processes and various types of business items, when users create workflows, they can choose from many types of workflow nodes (for example, hundreds of preset types of workflow nodes); therefore, 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.
为了减少用户为工作流添加下一个工作流节点所耗费的时间,在相关技术中,可以通过关键字搜索的方式,在所有预设类型的工作流节点中,查找出与用户输入的关键字对应的工作流节点,并将其作为下一个工作流节点添加至用户所创建的工作流中。In order to reduce the time it takes for the user to add the next workflow node to the workflow, in related technologies, it is possible to search for keywords corresponding to the keywords entered by the user among all preset types of workflow nodes. , and add it as the next workflow node to the workflow created by the user.
由于用户需要明确所需的下一个工作流节点的类型,并且对所有预设类型的工作流节点对应的关键字较为了解,才可以直接输入与所需类型的工作流节点对应的关键字进行搜索,因此,在上述相关技术中,要求创建工作流的用户具备较高的技术水平;而对于技术水平较低的普通用户而言,仍然需要耗费大量时间,在所有预设类型的工作流节点中,手动查找所需类型的工作流节点,导致用户创建工作流的效率较低。Since the user needs to specify the type of the next workflow node required, and has a good understanding of the keywords corresponding to all preset types of workflow nodes, he can directly enter the keyword corresponding to the desired type of workflow node to search , therefore, in the above-mentioned related technologies, users who create workflows are required to have a high technical level; for ordinary users with low technical levels, it still takes a lot of time. Among all preset types of workflow nodes , to manually find the required type of workflow nodes, resulting in low efficiency for users to create workflows.
有鉴于此,本说明书旨在提出一种在创建工作流的场景中,基于语言模型为用户推荐目标工作流的下一个工作流节点的技术方案。In view of this, 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.
其中,所述语言模型(LM,Language Model),属于自然语言处理(NLP,Natural Language Processing)领域的技术,可以用于估计一段文本出现的概率。例如,对于包括n(n为正整数)个词语(word)的句子[w 1,……,w n],可以计算所述句子出现的概率P(w 1,……,w n)。 Wherein, the language model (LM, 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.
在实际应用中,所述语言模型,具体可以用于根据句子中的前n个词语,来预测所述句子的第n+1个词语可能是预设词典中的哪个词语,并计算出预设词典中的每个词语可能作为所述句子的第n+1个词语出现的概率值,也即P(w 1,……,w n,w n+1)=P(w n+1|w 1,……,w n);其中,所述预设词典可以包括语料库的所有语料(也即所有句子样本)中出现过的不同的词语。 In practical applications, 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 Each word in the dictionary may appear as the probability value of the n+1th word in the sentence, that is, P(w 1 ,..., w n , w n+1 )=P(w n+1 |w 1 ,..., w n ); wherein, the preset dictionary may include different words that have appeared in all corpus (that is, all sentence samples) in the corpus.
在本说明书中,由于工作流中上下游的各个工作流节点之间存在逻辑和时序上的关联,类似于自然语言的句子中的各个词语之间的关联;因此,可以基于所述语言模型,根据目标工作流中已有的前n个工作流节点,来预测目标工作流的第n+1个工作流节点可能是哪种预设类型的工作流节点,并计算出每种预设类型的工作流节点可能作为目标工作流的第n+1个工作流节点出现的概率值;进而可以根据所述语言模型输出的预测结果,针对所述目标工作流为用户推荐下一个工作流节点。In this specification, since there is a logical and temporal connection between upstream and downstream workflow nodes in the workflow, it is similar to the connection between words in a natural language sentence; therefore, based on the language model, According to the existing first n workflow nodes in the target workflow, predict which preset type of workflow node the n+1th workflow node of the target workflow may be, and calculate the number of each preset type The workflow node may be the probability value of the n+1th workflow node of the target workflow; furthermore, according to the prediction result output by the language model, the next workflow node can be recommended to the user for the target workflow.
在实现时,由于工作流(workflow)是一种非文本的、抽象化的表达,因此,在基于NLP领域中的语言模型针对目标工作流的下一个工作流节点进行推荐时,首先需要将非文本的目标工作流转换为文本化的表达,再将得到的文本化表达作为所述语言模型的输入,以得到所述语言模型输出的、针对所述文本化表达的预测结果,进而可以根据针对所述文本化表达的预测结果,确定针对非文本的所述目标工作流的推荐结果。In the implementation, since the workflow (workflow) is a non-textual and abstract expression, when recommending the next workflow node of the target workflow based on the language model in the NLP field, 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.
具体地,可以生成与包括至少一个工作流节点的目标工作流对应的目标编码串序列;其中,所述目标编码串序列中包括与所述目标工作流中的至少一个工作流节点分别对应 的至少一个编码串;与所述目标工作流中的每个工作流节点分别对应的编码串,是分别针对所述每个工作流节点进行编码而得到的;进一步地,可以将生成的所述目标编码串序列作为输入数据,输入训练完成的语言模型进行计算,得到所述语言模型输出的、针对所述目标编码串序列的下一个编码串的预测结果;其中,所述预测结果,包括与不同类型的工作流节点分别对应的各个编码串作为所述目标编码串序列的下一个编码串的概率值;进一步地,可以基于针对所述目标编码串序列的下一个编码串的所述预测结果,确定针对所述目标工作流的下一个工作流节点的推荐结果;所述推荐结果包括至少一个推荐节点。Specifically, 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.
需要说明的是,在NLP领域中,针对一段文本进行编码时,需要先针对该文本进行分词处理,再针对分词处理的结果进行编码处理;其中,所述分词处理,也即将文本中的句子划分为若干词语,所述词语可以包括字或词。而在本说明书的技术方案中,无需针对与所述目标工作流对应的所述目标编码串序列进行分词处理,可以直接将所述目标工作流中的每个工作流节点作为最小单位(类似于NLP领域中的“词语”),并针对每个工作流节点进行编码;本领域技术人员可以理解的是,与工作流对应的编码串序列,类似于NLP领域中针对已完成分词的文本进行编码得到的编码结果。It should be noted that, in the field of NLP, when encoding a piece of text, it is necessary to perform word segmentation processing on the text first, and then perform encoding processing on the result of the word segmentation processing; wherein, the word segmentation processing is to divide the sentences in the text is a number of words, which may include words or phrases. However, in the technical solution of this specification, there is no need to perform word segmentation processing on the target code string sequence corresponding to the target workflow, and 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.
由此可见,在本说明书中的技术方案中,通过针对目标工作流中包括的至少一个工作流节点进行编码,得到与至少一个工作流节点中的每个工作流节点分别对应的编码串,可以生成与所述目标工作流对应的目标编码串序列,并将生成的目标编码串序列输入训练完成的语言模型,可以得到所述语言模型输出的、针对所述目标编码串序列的下一个编码串的预测结果,进而可以得到针对所述目标工作流的下一个工作流节点的推荐结果。It can be seen that, in the technical solution in this specification, by encoding at least one workflow node included in the target workflow, 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.
相较于相关技术,在用户尝试确定目标工作流的下一个工作流节点的类型时,由于根据目标工作流中已有的至少一个工作流节点的类型,可以自动为用户推荐目标工作流的下一个工作流节点的类型;因此,普通用户也能直接从推荐节点中选择下一个工作流节点,而无需从所有预设类型的工作流节点中手动查找所需类型的工作流节点,从而可以减少用户选择出目标工作流的下一个工作流节点所耗费的时间,进而可以提高创建工作流的效率。Compared with related technologies, when the user tries to determine the type of the next workflow node of the target workflow, 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.
下面通过具体实施例,并结合具体的应用场景对本申请进行描述。The present application is described below through specific embodiments and in conjunction with specific application scenarios.
请参见图1,图1是一示例性的实施例示出的一种工作流节点推荐方法的流程图,上述方法执行以下步骤:Please refer to FIG. 1. FIG. 1 is a flow chart of a workflow node recommendation method shown in an exemplary embodiment. The above method performs the following steps:
步骤102:生成与包括至少一个工作流节点的目标工作流对应的目标编码串序列;其中,所述目标编码串序列中包括与所述目标工作流中的至少一个工作流节点分别对应的至少一个编码串;与所述至少一个工作流节点中的每个工作流节点分别对应的编码串,是分别针对所述每个工作流节点进行编码而得到的;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;
步骤104:将生成的所述目标编码串序列作为输入数据,输入训练完成的语言模型进行计算,得到所述语言模型输出的、针对所述目标编码串序列的下一个编码串的预测结果;其中,所述预测结果,包括与不同类型的工作流节点分别对应的各个编码串作为所述目标编码串序列的下一个编码串的概率值;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;
步骤106:基于针对所述目标编码串序列的下一个编码串的所述预测结果,确定针对所述目标工作流的下一个工作流节点的推荐结果;其中,所述推荐结果包括至少一个推荐节点。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 .
在本说明书中,所述目标工作流可以包括至少一条工作流。In this specification, the target workflow may include at least one workflow.
例如,可以将由用户选择的一条或多条工作流,作为目标工作流,以获取针对所述 目标工作流的下一个工作流节点的推荐结果。For example, 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.
又例如,响应于用户将至少一个工作流节点添加至某一条工作流中,可以认为该工作流已创建,并且该工作流的创建时刻可以为该工作流中的最后一个工作流节点的添加时刻;因此,也可以根据每条工作流的创建时刻,将用户最近创建(也即创建时刻最近)的一条工作流默认为目标工作流。For another example, in response to the user adding at least one workflow node to a certain workflow, it can be considered that the workflow has been created, and 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.
需要说明的是,关于所述目标工作流中包括的工作流数量,本说明书不做限制;为了使本领域技术人员更好地理解本说明书实施例中的技术方案,下面以所述目标工作流仅包括一条工作流为例,对本申请的技术方案进行描述。It should be noted that this specification does not limit the number of workflows included in the target workflow; in order to enable those skilled in the art to better understand the technical solutions in the embodiments of this specification, the following uses the target workflow Only one workflow is taken as an example to describe the technical solution of this application.
在本说明书中,所述目标工作流中可以包括至少一个工作流节点;与至少一个工作流节点中的每个工作流节点分别对应的编码串,可以是分别针对所述每个工作流节点进行编码而得到的。In this specification, 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.
其中,与工作流节点对应的编码串,就是针对该工作流节点进行编码得到的编码结果;本领域技术人员可知,与工作流节点对应的编码串可以表征该工作流节点的特征信息,也即可以用于区分不同类型的工作流节点。需要说明的是,关于与工作流节点对应的编码串(或编码结果)的长度大小,与针对工作流节点进行编码时采用的具体编码方式、工作流节点的预设类型的数量、特征维度等因素有关,本领域技术人员可以按需设定,在此不做限定;例如,与每个工作流节点对应的编码串,具体可以包括一个或多个字符,是一种文本化的表达。Wherein, 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.
例如,在目标工作流“工作流节点1—>工作流节点2—>工作流节点3”中,工作流节点1、工作流节点2、工作流节点3分别为“数据输入”、“数据预处理”、“分类算法”这三种不同类型的工作流节点,可以分别用于指示“输入业务数据”、“对输入的业务数据进行预处理”、“通过分类算法计算出针对预处理完成的业务数据的分类结果”这三种不同类型的业务事项。进一步地,针对所述工作流节点1、工作流节点2、工作流节点3分别进行编码,可以得到对应的编码串分别为s1、s2、s3;其中,编码串s1、s2、s3是不同的编码串,可以用于区分所述三种不同类型的工作流节点。For example, in the target workflow "workflow node 1—>workflow node 2—>workflow node 3", 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. Further, by encoding the workflow node 1, workflow node 2, and workflow node 3 respectively, 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.
在本说明书中,由于可以针对所述目标工作流中的至少一个工作流节点分别进行编码,得到与所述至少一个工作流节点分别对应的编码串,因此可以生成与所述目标工作流对应的目标编码串序列;其中,所述目标编码串序列中可以包括与所述目标工作流中的至少一个工作流节点分别对应的至少一个编码串。In this specification, since at least one workflow node in the target workflow can be coded separately to obtain the code strings corresponding to the at least one workflow node, the code string corresponding to the target workflow can be generated. A sequence of target code strings; wherein, the sequence of target code strings may include at least one code string respectively corresponding to at least one workflow node in the target workflow.
具体地,可以先针对所述目标工作流中包括的至少一个工作流节点分别进行编码,得到与所述至少一个工作流节点分别对应的编码串,再按照对应的工作流节点在所述目标工作流中的位置,将得到的所述编码串进行排列,得到与所述目标工作流对应的目标编码串序列。Specifically, 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.
例如,目标工作流为“工作流节点1—>工作流节点2—>工作流节点3”,针对工作流节点1、工作流节点2、工作流节点3分别进行编码,得到对应的编码串分别为s1、s2、s3,则可以生成与该目标工作流对应的目标编码串序列,为:[s1,s2,s3]。For example, 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编码的方式,针对所述工作流节点进行编码,以生成与所述目标工作流对应的目标编码串序列。在实现时,可以为不同类型的工作流节点预先配置不同的索引值;所述生成与包括至少一个工作流节点的目标工作流对应的目标编码串序列,具体可以包括:针对为所述目标工作流中的至少一个工作流节点预先配置的索引值分别进行one-hot编码,以得到与至少一个工作流节点中的每个工作流节点分别对应的one-hot编码表示,作为与每个工作流节点分别对应的编码串;按照所述至少一个工作流节点在所述目标工作流中的排列顺序,对one-hot编码得到的、 与每个工作流节点分别对应的编码串排序,得到与所述目标工作流对应的所述目标编码串序列。In an illustrated embodiment, 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. During implementation, 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.
其中,one-hot编码,是一种将类别变量转换为机器学习算法易于利用的一种形式的过程。具体地,可以先为不同类型的工作流节点配置不同的索引值(也称作整数值、类别值),并确定各个索引值在one-hot编码表示中的排列顺序;进一步地,可以根据工作流节点的类型数量,确定one-hot编码表示的长度,并将one-hot编码表示中与待编码的工作流节点的索引值对应的位置记为1,其他位置记为0,作为与该工作流节点对应的编码串。Among them, one-hot encoding is a process of converting categorical variables into a form that can be easily exploited by machine learning algorithms. Specifically, you can first configure different index values (also called integer values, category values) for different types of workflow nodes, and determine the sequence of each index value in the one-hot encoded representation; further, you can The number of types of flow nodes determines the length of the one-hot encoded representation, and the position corresponding to the index value of the workflow node to be encoded in the one-hot encoded representation is recorded as 1, and other positions are recorded as 0, as the The code string corresponding to the stream node.
例如,若预设类型的工作流节点包括“数据输入”、“数据预处理”、“分类算法”、“预测算法”、“数据输出”这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)]。For example, if 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, 0, 1). In the target workflow "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)].
需要说明的是,在以上示出的实施方式中,所述编码串的长度为5仅仅是一种示例性的描述,并不对本说明书做出特殊限制。例如,在实际应用中,工作流节点的预设类型有1000种,则与工作流节点对应的编码串的长度可以为1000。It should be noted that, in the implementation manner shown above, the length of the coded string being 5 is only an exemplary description, and does not impose any special limitation on this specification. For example, in an actual application, if there are 1000 preset types of workflow nodes, the length of the code string corresponding to the workflow nodes may be 1000.
另外,需要说明的是,关于划分不同类型的工作流节点的依据,本领域技术人员可以根据需求设置,在此不做一一赘述。例如,在以上示出的实施例中,可以根据与工作流节点对应的不同业务事项进行区分;又例如,还可以对上述实施例中的预设类型进一步细分,“数据输入”类型,可以进一步细分为“导入excel数据”、“导入mysql数据”、“导入csv数据”、“导入hive数据”等类型,即,工作流节点分别为“导入excel数据”、“导入mysql数据”、“导入csv数据”、“导入hive数据”等不同类型的工作流节点;还可以根据与工作流节点对应的业务事项的执行者进行区分。In addition, it should be noted that the basis for dividing different types of workflow nodes can be set by those skilled in the art according to requirements, and details will not be repeated here. For example, in the embodiment shown above, it 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.
在本说明书中,在生成与所述目标工作流对应的目标编码串序列之后,可以将生成的所述目标编码串序列作为输入数据,输入训练完成的语言模型进行计算,得到所述语言模型输出的、针对所述目标编码串序列的下一个编码串的预测结果;其中,所述预测结果,可以包括与不同类型的工作流节点分别对应的各个编码串作为所述目标编码串序列的下一个编码串的概率值。In this specification, after the target code string sequence corresponding to the target workflow is generated, 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; wherein, the prediction result 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.
其中,所述与不同类型的工作流节点分别对应的各个编码串,可以包括与每种预设类型的工作流节点分别对应的编码串。Wherein, the respective code strings corresponding to different types of workflow nodes may include code strings respectively corresponding to each preset type of workflow nodes.
例如,若预设类型的工作流节点包括“数据输入”、“数据预处理”、“分类算法”、“预测算法”、“数据输出”这5种不同类型的工作流节点,与上述每种预设类型的工作流节点对应的编码串,分别为s1,s2,s3,s4,s5。在生成与目标工作流“工作流节点1—>工作流节点2—>工作流节点3”对应的目标编码串序列[s1,s2,s3]之后,可以将该目标编码串序列作为输入数据,输入已训练完成的语言模型进行计算,得到该语言模型输出的、针对该目标编码串序列的下一个编码串的预测结果,也即,与每种预设类型的工作流节点分别对应的编码串s1,s2,s3,s4,s5,可能作为该目标编码串序列的第4个编码串出现的概率值。For example, if 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. 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.
具体地,该语言模型输出的预测结果可以为:目标编码串序列的第4个编码串是“s1”的概率值为0,“s2”的概率值为10%,“s3”的概率值为10%,“s4”的概率值为50%,“s5”的概率值为30%;本领域技术人员可以理解的是,所述预测结果中包括的各个概率值之和为1。Specifically, 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.
在实际应用中,所述语言模型,可以分为基于统计的语言模型与基于神经网络的语言模型。其中,所述基于统计的语言模型,可以通过对训练样本进行统计,得出在训练样本中的前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)。 In practical applications, the language model can be divided into a language model based on statistics and a language model based on neural network. Wherein, 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 |w 1 ,..., w n ); the language model based on the neural network can perform deep learning on the training samples, that is, use the training The samples train the neural network to obtain 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,卷积神经网络)模型等。需要说明的是,本领域技术人员根据需求,可以选择任意一种或多种语言模型,以实现本说明书的技术方案,在此不做特殊限定。For example, 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. It should be noted that those skilled in the art may select any one or more language models according to requirements, so as to realize the technical solution in this specification, and no special limitation is made here.
其中,所述训练样本,可以包括用于训练上述语言模型的编码串序列样本,具体可以包括由已创建的工作流生成得到的编码串序列。关于利用所述训练样本针对上述语言模型进行训练的具体过程,可以参见NLP领域中对语言模型进行训练与优化的相关技术,在此不再赘述。Wherein, 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. 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.
例如,所述语言模型采用基于统计的n-gram模型时,可以先根据已创建的工作流样本,生成对应的编码串序列样本,得到包含若干编码串序列样本的语料库;进一步地,基于统计,可以计算出在训练样本中的前n个编码串分别为w 1、……、w n的情况下,第n+1个编码串为w n+1的概率,也即P(w n+1|w 1,……,w n)。在实际应用中,还可以利用马尔科夫假设(Markov assumption),来优化针对所述n-gram模型的训练过程,本领域技术人员基于上述训练样本可以灵活实现,在此不再赘述。 For example, when the language model 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 |w 1 ,...,w n ). In practical applications, the Markov assumption (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.
又例如,所述语言模型采用基于神经网络的BERT模型时,由于BERT模型是一种基于词向量进行文本训练的深度学习模型,因此,可以先根据已创建的工作流样本,生成对应的编码串序列样本(也即训练样本),再针对所述训练样本中的编码串进行嵌入(embedding)处理,以得到与每个编码串对应的特征向量(也即词向量);进一步地,可以随机地将所述训练样本中的某些编码串进行掩码(mask)处理,并验证所述BERT模型是否能准确地预测出被mask的编码串。For another example, when the language model uses a neural network-based BERT model, since 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.
需要说明的是,在以上示出的实施方式中,基于所述统计语言模型来预测所述目标编码串序列的下一个编码串,具备易于实现、计算速度快的优点,并且在语料库中的编码串序列样本所涵盖的情况全面、各种情况的比例恰当时,所述预测结果也可以准确地体现出各个编码串样本作为所述目标编码串序列的下一个编码串出现的概率。而基于所述神经网络语言模型来预测所述目标编码串序列的下一个编码串,在同义词、近义词的学习方面具备优势。It should be noted that, in the embodiment shown above, 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.
在本说明书中,在得到所述语言模型输出的、针对所述目标编码串序列的下一个编码串的预测结果之后,可以基于所述预测结果,确定针对所述目标工作流的下一个工作流节点的推荐结果。In this specification, after obtaining the prediction result output by the language model for the next code string of the target code string sequence, the next workflow for the target workflow can be determined based on the prediction result The recommendation result of the node.
其中,所述推荐结果可以包括至少一个推荐节点;所述推荐节点,也即为用户推荐 的工作流节点;所述推荐节点的工作流节点类型,与所述预测结果中包括的编码串相对应。Wherein, 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 .
例如,所述语言模型输出的、针对所述目标编码串序列的下一个编码串的预测结果为:目标编码串序列的第4个编码串是“S1”的概率值为0,“s2”的概率值为10%,“s3”的概率值为10%,“s4”的概率值为50%,“s5”的概率值为30%。基于针对目标编码串序列[s1,s2,s3]的第4个编码串的预测结果,并结合预设的工作流节点推荐策略,可以确定针对目标工作流“工作流节点1—>工作流节点2—>工作流节点3”的第4个工作流节点的推荐结果为:与编码串s4对应的“预测算法”类型的工作流节点、以及与编码串s5对应的“数据输出”类型的工作流节点;也即,所述推荐节点为“预测算法”类型以及“数据输出”类型的工作流节点。For example, 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%, and the probability value of "s5" is 30%. Based on the prediction result of the fourth code string of the target code string sequence [s1, s2, s3], combined with the preset workflow node recommendation strategy, it can be determined that for the target workflow "workflow node 1 -> workflow node 2—>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(即,top N)个不同类型的工作流节点。在实现时,所述基于针对所述目标编码串序列的下一个编码串的所述预测结果,确定针对所述目标工作流的下一个工作流节点的推荐结果,具体可以包括:按照所述预测结果中包括的各个概率值从大到小的顺序,将与预设数量的编码串分别对应的工作流节点,作为所述推荐节点;将预设数量的所述推荐节点,确定为针对所述目标工作流的下一个工作流节点的所述推荐结果。In an illustrated embodiment, when recommending a workflow node for the target workflow, N (that is, top N) that is most likely to appear as the next workflow node of the target workflow may be recommended to the user. different types of workflow nodes. During implementation, 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.
接着以上示出的实施例继续举例说明,将所述语言模型输出的预测结果按照概率值从大到小的顺序排列,可以依次为s4、s5、s2、s3、s1;若只需为用户推荐最有可能作为所述目标工作流的第4个工作流节点出现的1个工作流节点类型,也即预设数量为1,则可以将与编码串“s4”对应的“预测算法”类型的工作流节点作为推荐节点,并将所述推荐节点确定为针对目标工作流“工作流节点1—>工作流节点2—>工作流节点3”的第4个工作流节点的推荐结果。Next, the embodiment shown above continues to illustrate by way of example. 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".
需要说明的是,在以上示出的实施方式中,所述预设数量为1,也即所述推荐节点的数量为1个,仅仅是一种示例性的描述,本说明书中不做限定;在实际应用中,本领域技术人员根据需求可以灵活设置。例如,若预设数量为2,需要为用户推荐最有可能作为所述目标工作流的第4个工作流节点出现的2个工作流节点类型,则可以将与编码串“s4”、“s5”对应的“预测算法”、“数据输出”类型的工作流节点作为推荐节点,在此不再一一赘述。It should be noted that, in the embodiment shown above, 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.
另外,在实际应用中,为了提高所述推荐结果的全面性,尽量使得用户在所述推荐结果中可以直接找到所需的下一个工作流节点,可以设置增加所述推荐节点的数量(比如,为用户推荐top 5个工作流节点类型)。其中,所述推荐节点的数量,可以是远远小于工作流节点的所有预设类型的数量的,以使用户直接根据所述推荐结果来确定所述目标工作流的下一个工作流节点时,能够显著提升查找效率。例如,工作流节点的所有预设类型有上百种,推荐节点的数量只有5个。In addition, in practical applications, in order to improve the comprehensiveness of the recommendation results and make it possible for the user to directly find the next workflow node required in the recommendation results, the number of the recommended nodes can be set to increase (for example, Recommend top 5 workflow node types for users). Wherein, 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.
在示出的另一种实施方式中,为所述目标工作流推荐工作流节点时,可以为用户推荐作为所述目标工作流的下一个工作流节点出现可能性较大的工作流节点。在实现时,所述基于针对所述目标编码串序列的下一个编码串的所述预测结果,确定针对所述目标工作流的下一个工作流节点的推荐结果,具体可以包括:将所述预测结果中包括的各个概率值中大于预设阈值的概率值对应的工作流节点,作为所述推荐节点,并将所述推荐节点确定为针对所述目标工作流的下一个工作流节点的所述推荐结果。In another illustrated implementation manner, when recommending a workflow node for the target workflow, a workflow node that is more likely to appear as the next workflow node of the target workflow may be recommended to the user. During implementation, 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.
接着以上示出的实施例继续举例说明,若所述预设阈值为20%,则目标编码串序列[s1,s2,s3]的第4个编码串为编码串样本“s4”的概率值为50%,为编码串样本“s5”的概率值为30%,均超过了所述预设阈值;那么,可以将与编码串样本“s4”、“s5” 分别对应的“预测算法”、“数据输出”类型的工作流节点作为推荐节点,并将所述推荐节点确定为针对目标工作流“工作流节点1—>工作流节点2—>工作流节点3”的第4个工作流节点的推荐结果。Following the example shown above, if the preset threshold is 20%, the probability that the fourth code string of the target code string sequence [s1, s2, s3] is the code string sample "s4" is 50%, the probability value of code string sample "s5" is 30%, both of which exceed the preset threshold; then, 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.
需要说明的是,在以上示出的实施方式中,由于为用户推荐的工作流节点作为所述目标工作流的下一个工作流节点出现的概率大于所述预设阈值,可以保证所述推荐结果的准确性,提升用户对工作流节点推荐功能的满意度。例如,在以上示出的“最有可能作为下一个工作流节点出现的N个不同类型的工作流节点”的实施方式中,如果预设的推荐节点数量为5个,也即为用户推荐最有可能作为下一个工作流节点出现的5个工作流节点类型,那么所述推荐结果中可能会包含与编码串s2、s3等分别对应的、可能作为所述目标工作流的下一个工作流节点出现的概率值很小的工作流节点,进而所述推荐结果的准确率可能降低,导致用户体验变差。It should be noted that, in the embodiment shown above, since the probability that the workflow node recommended for the user appears as the next workflow node of the target workflow is greater than the preset threshold, the recommendation result can be guaranteed accuracy and improve user satisfaction with the workflow node recommendation function. For example, in the implementation of "N different types of workflow nodes that are most likely to appear as the next workflow node" shown above, if the preset number of recommended nodes is 5, that is, the most recommended nodes are recommended for the user. There are 5 workflow node types that may appear as the next workflow node, then 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.
另外,在实际应用中,为了提高所述推荐结果的全面性,也可以减小所述预设阈值,从而增加所述推荐节点的数量,也即,提高所述推荐结果中包含用户实际需要的下一个工作流节点的概率。In addition, in practical applications, in order to improve the comprehensiveness of the recommendation results, 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.
进一步地,在实际应用中,用户通常可以通过绘制工作流程图的方式,来创建与所述工作流程图对应的工作流。其中,所述“工作流程图”,也可以被称作业务流程图、流程图等,本说明书中不做限定;所述工作流程图可以用于描述业务流程中包含的各个业务事项,以及描述执行业务流程时,所述各个业务事项在时序与逻辑上的关联关系。Further, in practical applications, the user can usually create a workflow corresponding to the workflow diagram by drawing a workflow diagram. Wherein, 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.
需要说明的是,关于绘制工作流程图所使用的制图工具,可以包括任意一种用于绘制工作流程图、或创建工作流的工具;所述制图工具通常可以为用户提供制图界面。在实际应用中,本领域技术人员可以根据需求灵活选择不同的制图工具,本说明书中不做特殊限定;例如,所述制图工具,具体可以包括用于绘制工作流程图的制图软件,也可以包括具备创建工作流功能的IDE(集成开发工具)。It should be noted that the 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. In practical applications, those skilled in the art can flexibly select different drawing tools according to requirements, which are not specifically limited in this specification; IDE (Integrated Development Tool) with workflow creation function.
下面结合图2,对在所述制图界面中为用户推荐工作流节点的技术方案进行描述。请参见图2,图2是一示例性的实施例示出的一种制图界面的示意图。The technical solution of recommending workflow nodes for users in the drawing interface will be described below with reference to FIG. 2 . Please refer to FIG. 2 . FIG. 2 is a schematic diagram of a drawing interface shown in an exemplary embodiment.
制图界面20中,至少可以包括预设组件列表202和画布区域204。其中,预设组件列表202可以用于展示所有预设类型的组件;画布区域204可以用于展示用户已绘制的工作流程图。其中,所述用户已绘制的工作流程图中可以包括用户已添加的若干组件、以及用于连接所述若干组件的有向连线。The drawing interface 20 may at least include a preset component list 202 and a canvas area 204 . Among them, 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. Wherein, the workflow diagram drawn by the user may include several components added by the user and directed connections for connecting the several components.
例如,如图2所示,预设组件列表202可以展示所有预设类型的组件,具体可以包括“数据输入”、“数据输出”、“数据预处理”、“分类算法”、“预测算法”等预设类型的组件;画布区域204可以用于展示用户已绘制的工作流程图,如图2所示的工作流程图中,具体可以包括用户添加的组件1“数据输入”、组件2“数据预处理”、组件3“分类算法”、以及用于连接上述组件的若干条有向连线。For example, as shown in FIG. 2 , 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.
需要说明的是,所述工作流程图通常可以是有向无环图(DAG,Directed Acyclic Graph),也即,所述工作流程图中包含的各个组件之间存在时序和逻辑上的关联。It should be noted that, generally, 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.
在示出的一种实施方式中,在生成与所述目标工作流对应的目标编码串序列之前,所述方法还可以包括:响应于用户在所述制图界面中创建工作流程图,可以生成与所述工作流程图对应的所述目标工作流;其中,所述工作流程图可以包括至少一个组件;所述工作流程图中的组件可以用于指示所述目标工作流中对应的工作流节点。In an illustrated embodiment, before generating the target code string sequence corresponding to the target workflow, 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.
具体地,用户可以将至少一个组件添加至所述制图界面中的画布区域,以创建包含所述至少一个组件的工作流程图,并生成与所述工作流程图对应的一条或多条工作流; 进而可以将与所述工作流程图对应的全部工作流或部分工作流,确定为所述目标工作流,以得到针对所述目标工作流的下一个工作流节点的推荐结果。Specifically, 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.
例如,用户可以依次将组件1“数据输入”、组件2“数据预处理”、和组件3“分类算法”添加至所述制图界面的画布区域中,并利用有向线段连接上述组件,创建出如图2所示的工作流程图;响应于用户在制图界面中创建出如图2所示的工作流程图,可以生成与所述工作流程图对应的目标工作流“工作流节点1—>工作流节点2—>工作流节点3”;其中,所述工作流程图中的组件1、组件2、组件3,可以分别用于指示所述目标工作流中的“工作流节点1、工作流节点2、工作流节点3。For example, 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.
在实际应用中,为了便于用户绘制工作流程图,所述组件的名称通常可以用于指示对应的业务事项。In practical applications, in order to facilitate the user to draw a work flow chart, the name of the component can usually be used to indicate the corresponding business item.
例如,如图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]。For example, 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. Flow node 1, workflow node 2, and workflow node 3; among them, the name of component 1 can be "data input", the name of component 2 can be "data preprocessing", and the name of component 3 can be "classification algorithm". Further, 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. Further, 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].
在示出的一种实施方式中,在确定针对所述目标工作流的下一个工作流节点的所述推荐结果之后,所述方法还可以包括:基于针对所述目标工作流的下一个工作流节点的所述推荐结果,在所述制图界面中向用户展示与所述至少一个推荐节点对应的至少一个推荐组件。In an illustrated embodiment, after determining the recommendation result for the next workflow node of the target workflow, 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.
请参见图3,图3是一示例性的实施例示出的一种推荐区域的示意图。在如图2所示的制图界面20中,还可以包括推荐区域206;推荐区域206可以用于展示与为用户推荐的至少一个推荐节点对应的至少一个推荐组件。关于推荐区域206在制图界面20中展示的具体形式,本说明书中不做限定,本领域技术人员可以根据需求自行设置;例如,推荐区域206可以叠加展示在预设组件列表202和/或画布区域204的上层,或者,响应于确定针对所述目标工作流的下一个工作流节点的推荐结果,可以更新如图2所示的制图界面20,并在更新后的制图界面中为推荐区域206提供单独的展示区域,以使推荐区域206与制图界面20融为一体,也不会对制图界面20中的其他内容造成遮挡。Please refer to FIG. 3 , which is a schematic diagram of a recommended region shown in an exemplary embodiment. In the drawing interface 20 shown in FIG. 2 , 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 .
例如,在确定针对目标工作流“工作流节点1—>工作流节点2—>工作流节点3”的第4个工作流节点的推荐结果为“预测算法”类型以及“数据输出”类型的工作流节点之后,可以在如图3所示的推荐区域206中,向用户展示与上述推荐节点对应的推荐组件,也即,组件“预测算法”和组件“数据输出”。For example, when it is determined that 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" After the flow node, in the recommendation area 206 as shown in FIG. 3 , 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".
需要说明的是,在以上示出的实施方式中,由于可以在上述制图界面中向用户展示与推荐节点对应的推荐组件,用户可以直接从展示的所述至少一个推荐组件中选择需要添加至所述工作流程图中的下一个组件,而无需从预设组件列表202展示的所有预设组件中,耗费大量的时间手动查找所需的组件,从而可以提高用户通过绘制工作流程图创建工作流的效率。It should be noted that, in the embodiment shown above, since the recommended component corresponding to the recommended node can be displayed to the user in the drawing interface, 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.
在相关技术中,通过如图2所示的制图界面20绘制工作流程图来创建工作流时,用户可以先从预设组件列表202展示的所有预设类型的候选组件中,手动选择出需要为工作流程图添加的下一个组件;进一步地,可以将选中的组件“拖拉拽”至画布区域204中,再通过有向连线,将所述选中的组件与画布区域204中已有的一个或多个组件连接 起来,即可将所述选中的组件添加至工作流程图中;进而可以实现将与所述选中的组件对应的工作流节点作为下一个工作流节点,添加至与所述工作流程图对应的目标工作流中。由此可见,在相关技术中,如果所述制图界面的预设组件列表中,为用户提供的预设类型的候选组件数量很多(如上百种可选的组件),则用户需要耗费大量的时间,从预设组件列表向用户展示的所有可选的组件中,手动查找出需要为工作流程图添加的下一个组件,导致用户通过绘制工作流程图来创建工作流的效率较低。In the related art, when creating a workflow by drawing a workflow diagram through the drawing interface 20 shown in FIG. The next component added in the workflow diagram; further, the selected component can be "dragged" into the canvas area 204, and then connected to the selected component with an existing one or When multiple components are connected, the selected component can be added to the workflow flow chart; and then the workflow node corresponding to the selected component can be added to the workflow node as the next workflow node. In the target workflow corresponding to the diagram. It can be seen that, in the related art, if in the preset component list of the drawing interface, the number of candidate components of the preset type provided to the user is very large (such as hundreds of optional components), the user needs to spend a lot of time , manually find out the next component that needs to be added to the workflow diagram from all the optional components displayed to the user from the preset component list, resulting in low efficiency for the user to create the workflow by drawing the workflow diagram.
需要说明的是,在以上示出的实施方式中,由于所述目标工作流中可以包括至少一个工作流节点,也即,所述目标工作流为已创建的工作流,所述方法只能针对已创建的工作流,来进行工作流节点的推荐;因此,在实际应用中,为了改善用户体验,还可以根据各个工作流节点作为工作流中的第一个节点出现的概率,也即,可以根据所述编码串样本集中的每个编码串样本作为编码串序列中的第一个编码串出现的概率值,确定针对工作流中的首个工作流节点的推荐结果。It should be noted that, in the embodiment shown above, since 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.
例如,如果当前并未创建目标工作流或工作流程图,可以将“数据输入”类型的工作流节点作为推荐节点,确定为针对首个工作流节点的推荐结果,或者可以将组件“数据输入”作为推荐组件,确定为针对首个组件的推荐结果。For example, if no target workflow or workflow diagram is currently created, 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.
另外,需要说明的是,在本说明书的各个实施例中,所述语言模型的训练样本可以从不同的应用环境(例如,不同的制图工具)中收集,并可以将利用初步收集到的训练样本所训练出来的语言模型作为初始版本进行使用,为用户推荐工作流节点或组件;随着实际应用中,在当前特定的应用环境中已创建的工作流逐渐增多,还可以获取到在当前应用环境中创建的工作流对应的编码串序列作为训练样本,进一步地对所述初始版本的语言模型进行训练和优化,从而提高所述语言模型在当前特定的应用场景中的推荐结果准确度。In addition, it should be noted that, in each embodiment of this specification, 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.
除了所述目标工作流仅包括一条工作流的情况,所述目标工作流也可以包括多条工作流,本领域技术人员基于以上各实施例中示出的实施方式,不需要付出创造性的劳动,就可以推测出针对包括多条工作流的目标工作流来推荐下一个工作流节点的实现方式,在此不再赘述。例如,所述目标工作流中包括多条工作流时,可以生成与所述目标工作流中的每条工作流分别对应的编码串序列,进一步地,可以通过所述语言模型,得到针对每条工作流分别对应的编码串序列的下一个编码串的预测结果;进一步地,可以基于得到的多个预测结果之和,确定针对所述目标工作流的下一个工作流节点的推荐结果。Except that the target workflow includes only one workflow, the target workflow may also include multiple workflows. Those skilled in the art do not need to pay creative efforts based on the implementations shown in the above embodiments. It can be deduced that the implementation manner of recommending the next workflow node for the target workflow including multiple workflows will not be repeated here. For example, when 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.
通过以上技术方案可知,通过针对目标工作流中包括的每个工作流节点进行编码,得到分别与每个工作流节点对应的编码串,可以生成与所述目标工作流对应的目标编码串序列,由于将生成的所述目标编码串序列输入训练完成的语言模型,可以得到所述语言模型输出的、针对所述目标编码串序列的下一个编码串的预测结果,进而可以得到针对所述目标工作流的下一个工作流节点的推荐结果;因此,在用户尝试为目标工作流选择下一个工作流节点时,可以根据目标工作流中已有的工作流节点,自动推荐下一个工作流节点的类型,以使用户可以直接从推荐节点中选择下一个工作流节点,从而可以提高用户创建工作流的效率。It can be seen from the above technical solutions that by encoding each workflow node included in the target workflow, the code string corresponding to each workflow node is obtained, and the target code string sequence corresponding to the target workflow can be generated, Since the generated target code string sequence is input 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 work can be obtained. The recommendation result of the next workflow node of the flow; 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 based on the existing workflow nodes in the target workflow , so that the user can directly select the next workflow node from the recommended nodes, thereby improving the efficiency of the user's workflow creation.
与上述工作流节点推荐方法的实施例对应的,本说明书还提供了一种工作流节点推荐装置的实施例。Corresponding to the above embodiments of the method for recommending workflow nodes, this specification also provides an embodiment of an apparatus for recommending workflow nodes.
请参见图4,图4是一示例性的实施例示出的一种工作流节点推荐装置所在电子设备的硬件结构图。在硬件层面,该设备包括处理器402、内部总线404、网络接口406、内存408以及非易失性存储器410,当然还可能包括其他业务所需要的硬件。本说明书一个或多个实施例可以基于软件方式来实现,比如由处理器402从非易失性存储器410中读取对应的计算机程序到内存408中然后运行。当然,除了软件实现方式之外,本说 明书一个或多个实施例并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。Please refer to FIG. 4 . FIG. 4 is a hardware structural diagram of an electronic device where a workflow node recommending apparatus is shown in an exemplary embodiment. At the hardware level, 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. One or more embodiments of this specification may be implemented based on software, for example, the processor 402 reads a corresponding computer program from the non-volatile memory 410 into the memory 408 and then executes it. Of course, in addition to software implementations, 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.
请参见图5,图5是一示例性的实施例示出的一种工作流节点推荐装置的框图。该工作流节点推荐装置可以应用于图4所示的电子设备中,以实现本说明书的技术方案。其中,上述工作流节点推荐装置可以包括:Please refer to FIG. 5 , which 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. Wherein, the above-mentioned workflow node recommending device may include:
生成单元502,用于生成与包括至少一个工作流节点的目标工作流对应的目标编码串序列;其中,所述目标编码串序列中包括与所述目标工作流中的至少一个工作流节点分别对应的至少一个编码串;与所述至少一个工作流节点中的每个工作流节点分别对应的编码串,是分别针对所述每个工作流节点进行编码而得到的;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;
预测单元504,用于将生成的所述目标编码串序列作为输入数据,输入训练完成的语言模型进行计算,得到所述语言模型输出的、针对所述目标编码串序列的下一个编码串的预测结果;其中,所述预测结果,包括与不同类型的工作流节点分别对应的各个编码串作为所述目标编码串序列的下一个编码串的概率值;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;
推荐单元506,用于基于针对所述目标编码串序列的下一个编码串的所述预测结果,确定针对所述目标工作流的下一个工作流节点的推荐结果;其中,所述推荐结果包括至少一个推荐节点。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.
在本实施例中,所述生成单元502,还用于:In this embodiment, 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;
按照所述至少一个工作流节点分别在所述目标工作流中的位置,将得到的所述至少一个编码串进行排列,得到与所述目标工作流对应的所述目标编码串序列。According to the positions of the at least one workflow node in the target workflow, the obtained at least one code string is arranged to obtain the target code string sequence corresponding to the target workflow.
在本实施例中,不同类型的工作流节点预先配置有不同的索引值;所述生成单元502,还用于:In this embodiment, different types of workflow nodes are pre-configured with different index values; the generating unit 502 is further configured to:
针对为所述目标工作流中的至少一个工作流节点预先配置的索引值分别进行one-hot编码,以得到与至少一个工作流节点中的每个工作流节点分别对应的one-hot编码表示,作为与所述每个工作流节点分别对应的编码串;performing one-hot encoding on the index values preconfigured for at least one workflow node in the target workflow, so as to obtain a one-hot encoded representation corresponding to each workflow node in the at least one workflow node, As a coded string corresponding to each of the workflow nodes;
按照所述至少一个工作流节点在所述目标工作流中的排列顺序,对one-hot编码得到的、与所述每个工作流节点分别对应的编码串排序,得到与所述目标工作流对应的所述目标编码串序列。According to the arrangement order of 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 target encoding string sequence of .
在本实施例中,所述推荐单元506,还用于:In this embodiment, the recommending unit 506 is further configured to:
按照所述预测结果中包括的各个概率值从大到小的顺序,将与预设数量的编码串分别对应的工作流节点,作为所述推荐节点;According to the descending order of each probability value included in the prediction result, the workflow nodes respectively corresponding to the preset number of coded strings are used as the recommended nodes;
将预设数量的所述推荐节点,确定为针对所述目标工作流的下一个工作流节点的所述推荐结果。Determining a preset number of the recommended nodes as the recommendation results for the next workflow node of the target workflow.
在本实施例中,所述推荐单元506,还用于:In this embodiment, the recommending unit 506 is further configured to:
将所述预测结果中包括的各个概率值中大于预设阈值的概率值对应的工作流节点,作为所述推荐节点;Using the workflow node corresponding to the probability value greater than the preset threshold among the various probability values included in the prediction result as the recommendation node;
将所述推荐节点,确定为针对所述目标工作流的下一个工作流节点的所述推荐结果。The recommended node is determined as the recommendation result for the next workflow node of the target workflow.
在本实施例中,响应于所述至少一个工作流节点被添加至一条工作流中,所述工作 流被创建,并且所述工作流的创建时刻为所述工作流中的最后一个工作流节点的添加时刻。In this embodiment, 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.
在本实施例中,根据每条工作流的创建时刻,将最近创建的一条工作流默认为所述目标工作流。In this embodiment, according to the creation time of each workflow, a newly created workflow is defaulted as the target workflow.
在本实施例中,所述生成单元502,还用于:In this embodiment, the generating unit 502 is further configured to:
响应于用户在制图界面中创建包括至少一个组件的工作流程图,生成与所述工作流程图对应的所述目标工作流;其中,所述工作流程图中的组件用于指示对应的所述目标工作流中的工作流节点。In response to the user creating a workflow diagram including at least one component in the drawing interface, generating the target workflow corresponding to the workflow diagram; wherein, the components in the workflow diagram are used to indicate the corresponding target A workflow node in a workflow.
在本实施例中,所述推荐单元506,还用于:In this embodiment, the recommending unit 506 is further configured to:
基于针对所述目标工作流的下一个工作流节点的所述推荐结果,在所述制图界面中向用户展示与所述至少一个推荐节点对应的至少一个推荐组件。Based on the recommendation result for the next workflow node of the target workflow, at least one recommended component corresponding to the at least one recommended node is displayed to the user in the drawing interface.
在本实施例中,所述制图界面包括预设组件列表和画布区域,所述预设组件列表用于展示预设类型的组件;所述画布区域用于展示所述工作流程图。In this embodiment, 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.
在本实施例中,所述制图界面还包括推荐区域,所述推荐区域用于展示与所述至少一个推荐节点对应的至少一个推荐组件。In this embodiment, 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.
在本实施例中,所述语言模型包括基于统计的语言模型,或基于神经网络的语言模型。In this embodiment, the language model includes a language model based on statistics, or a language model based on a neural network.
在本实施例中,所述基于统计的语言模型,包括n-gram模型;所述基于神经网络的语言模型,包括转换器的双向编码器表示(BERT)模型、词向量(Word2vec)模型、循环神经网络(RNN)模型、卷积神经网络(CNN)模型。In this embodiment, 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.
在本实施例中,所述语言模型采用所述n-gram模型时,根据已创建的工作流样本,生成对应的编码串序列样本,得到包含所述编码串序列样本的语料库;基于统计,计算出所述编码串序列样本中的前n个编码串分别为w 1、……、w n的情况下,第n+1个编码串为w n+1的概率,并将所述概率表示为P(w n+1|w 1,……,w n)。 In this embodiment, when the language model adopts the n-gram model, according to the created workflow sample, 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 |w 1 ,...,w n ).
在本实施例中,所述语言模型采用所述BERT模型时,根据已创建的工作流样本,生成对应的编码串序列样本;针对所述编码串序列样本中的编码串进行嵌入处理,得到与每个编码串对应的特征向量;随机地将所述编码串序列样本中的某些编码串进行掩码处理,并验证所述BERT模型是否能准确地预测出被掩码的编码串。In this embodiment, when the language model adopts the BERT model, 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.
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。For the implementation process of the functions and effects of each unit in the above device, please refer to the implementation process of the corresponding steps in the above method for details, and will not be repeated here.
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例只是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本说明书方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。As for 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.
上述实施例阐明的***、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。The systems, devices, modules, or units described in the above embodiments can be specifically implemented by computer chips or entities, or by products with certain functions. 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.
在一个典型的配置中,计算机包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。In a typical configuration, a computer includes one or more processors (CPUs), input/output interfaces, network interfaces and memory.
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。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.
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带、磁盘存储、量子存储器、基于石墨烯的存储介质或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。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. As defined herein, computer-readable media excludes transitory computer-readable media, such as modulated data signals and carrier waves.
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。It should also be noted that the term "comprises", "comprises" or any other variation thereof is intended to cover a non-exclusive inclusion such that a process, method, article, or apparatus comprising a set of elements includes not only those elements, but also includes Other elements not expressly listed, or elements inherent in the process, method, commodity, or apparatus are also included. Without further limitations, an element defined by the phrase "comprising a ..." does not exclude the presence of additional identical elements in the process, method, article or apparatus comprising said element.
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。The foregoing describes specific embodiments of this specification. Other implementations are within the scope of the following claims. In some cases, the actions or steps recited in the claims can be performed in an order different from that in the embodiments and still achieve desirable results. In addition, the processes depicted in the accompanying figures do not necessarily require the particular order shown, or sequential order, to achieve desirable results. Multitasking and parallel processing are also possible or may be advantageous in certain embodiments.
在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。Terms used in one or more embodiments of this specification are for the purpose of describing specific embodiments only, and are not intended to limit one or more embodiments of this specification. As used in one or more embodiments of this specification and the appended claims, the singular forms "a", "the", and "the" are also intended to include the plural forms unless the context clearly dictates otherwise. It should also be understood that the term "and/or" as used herein refers to and includes any and all possible combinations of one or more of the associated listed items.
应当理解,尽管在本说明书一个或多个实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。It should be understood that although the terms 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."
以上所述仅为本说明书一个或多个实施例的较佳实施例而已,并不用以限制本说明书一个或多个实施例,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例保护的范围之内。The above descriptions are only preferred embodiments of one or more embodiments of this specification, and are not intended to limit one or more embodiments of this specification. Within the spirit and principles of one or more embodiments of this specification, Any modification, equivalent replacement, improvement, etc. should be included in the scope of protection of one or more embodiments of this specification.

Claims (32)

  1. 一种工作流节点推荐方法,所述方法包括:A workflow node recommendation method, the method comprising:
    生成与包括至少一个工作流节点的目标工作流对应的目标编码串序列;其中,所述目标编码串序列中包括与所述目标工作流中的至少一个工作流节点分别对应的至少一个编码串;与所述至少一个工作流节点中的每个工作流节点分别对应的编码串,是分别针对所述每个工作流节点进行编码而得到的;generating 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 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;
    将生成的所述目标编码串序列作为输入数据,输入训练完成的语言模型进行计算,得到所述语言模型输出的、针对所述目标编码串序列的下一个编码串的预测结果;其中,所述预测结果,包括与不同类型的工作流节点分别对应的各个编码串作为所述目标编码串序列的下一个编码串的概率值;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 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;
    基于针对所述目标编码串序列的下一个编码串的所述预测结果,确定针对所述目标工作流的下一个工作流节点的推荐结果;其中,所述推荐结果包括至少一个推荐节点。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.
  2. 根据权利要求1所述的方法,其中,所述生成与包括至少一个工作流节点的目标工作流对应的目标编码串序列,包括:The method according to claim 1, wherein said generating a target code string sequence corresponding to a target workflow comprising at least one workflow node comprises:
    针对所述目标工作流中的至少一个工作流节点分别进行编码,得到与所述至少一个工作流节点分别对应的至少一个编码串;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;
    按照所述至少一个工作流节点分别在所述目标工作流中的位置,将得到的所述至少一个编码串进行排列,得到与所述目标工作流对应的所述目标编码串序列。According to the positions of the at least one workflow node in the target workflow, the obtained at least one code string is arranged to obtain the target code string sequence corresponding to the target workflow.
  3. 根据权利要求1或2所述的方法,其中,所述不同类型的工作流节点预先配置有不同的索引值;The method according to claim 1 or 2, wherein the different types of workflow nodes are pre-configured with different index values;
    所述生成与包括至少一个工作流节点的目标工作流对应的目标编码串序列,包括:The generating a target code string sequence corresponding to a target workflow including at least one workflow node includes:
    针对为所述目标工作流中的至少一个工作流节点预先配置的索引值分别进行one-hot编码,以得到与所述至少一个工作流节点中的每个工作流节点分别对应的one-hot编码表示,作为与所述每个工作流节点分别对应的编码串;performing one-hot encoding on the index values preconfigured for at least one workflow node in the target workflow, so as to obtain one-hot encoding corresponding to each workflow node in the at least one workflow node Indicates, as a coded string corresponding to each workflow node;
    按照所述至少一个工作流节点在所述目标工作流中的排列顺序,对one-hot编码得到的、与所述每个工作流节点分别对应的编码串排序,得到与所述目标工作流对应的所述目标编码串序列。According to the arrangement order of 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 target encoding string sequence of .
  4. 根据权利要求1-3中任一项所述的方法,其中,所述基于针对所述目标编码串序列的下一个编码串的所述预测结果,确定针对所述目标工作流的下一个工作流节点的推荐结果,包括:The method according to any one of claims 1-3, wherein the determination of the next workflow for the target workflow is based on the prediction result for the next codestring of the target codestring sequence The recommendation results of nodes, including:
    按照所述预测结果中包括的各个概率值从大到小的顺序,将与预设数量的编码串分别对应的工作流节点,作为所述推荐节点;According to the descending order of each probability value included in the prediction result, the workflow nodes respectively corresponding to the preset number of coded strings are used as the recommended nodes;
    将预设数量的所述推荐节点,确定为针对所述目标工作流的下一个工作流节点的所述推荐结果。Determining a preset number of the recommended nodes as the recommendation results for the next workflow node of the target workflow.
  5. 根据权利要求1-3中任一项所述的方法,其中,所述基于针对所述目标编码串序列的下一个编码串的所述预测结果,确定针对所述目标工作流的下一个工作流节点的推荐结果,包括:The method according to any one of claims 1-3, wherein the determination of the next workflow for the target workflow is based on the prediction result for the next codestring of the target codestring sequence The recommendation results of nodes, including:
    将所述预测结果中包括的各个概率值中大于预设阈值的概率值对应的工作流节点,作为所述推荐节点;Using the workflow node corresponding to the probability value greater than the preset threshold among the various probability values included in the prediction result as the recommendation node;
    将所述推荐节点,确定为针对所述目标工作流的下一个工作流节点的所述推荐结果。The recommended node is determined as the recommendation result for the next workflow node of the target workflow.
  6. 根据权利要求1-5中任一项所述的方法,其中,响应于所述至少一个工作流节点被添加至一条工作流中,所述工作流被创建,并且所述工作流的创建时刻为所述工作流中的最后一个工作流节点的添加时刻。The method according to any one of claims 1-5, wherein 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 moment when the last workflow node in the workflow was added.
  7. 根据权利要求6所述的方法,其中,根据每条工作流的创建时刻,将最近创建的一条工作流默认为所述目标工作流。The method according to claim 6, wherein, according to the creation time of each workflow, a newly created workflow is defaulted as the target workflow.
  8. 根据权利要求1-7中任一项所述的方法,其中,在生成与包括至少一个工作流 节点的目标工作流对应的目标编码串序列之前,所述方法还包括:The method according to any one of claims 1-7, wherein, before generating a target code string sequence corresponding to a target workflow comprising at least one workflow node, the method further comprises:
    响应于用户在制图界面中创建包括至少一个组件的工作流程图,生成与所述工作流程图对应的所述目标工作流;其中,所述工作流程图中的组件用于指示对应的所述目标工作流中的工作流节点。In response to the user creating a workflow diagram including at least one component in the drawing interface, generating the target workflow corresponding to the workflow diagram; wherein, the components in the workflow diagram are used to indicate the corresponding target A workflow node in a workflow.
  9. 根据权利要求8所述的方法,其中,所述方法还包括:The method according to claim 8, wherein the method further comprises:
    基于针对所述目标工作流的下一个工作流节点的所述推荐结果,在所述制图界面中向用户展示与所述至少一个推荐节点对应的至少一个推荐组件。Based on the recommendation result for the next workflow node of the target workflow, at least one recommended component corresponding to the at least one recommended node is displayed to the user in the drawing interface.
  10. 根据权利要求8或9所述的方法,其中,所述制图界面包括预设组件列表和画布区域,所述预设组件列表用于展示预设类型的组件;所述画布区域用于展示所述工作流程图。The method according to claim 8 or 9, wherein 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.
  11. 根据权利要求10所述的方法,其中,所述制图界面还包括推荐区域,所述推荐区域用于展示与所述至少一个推荐节点对应的至少一个推荐组件。The method according to claim 10, wherein the graphing interface further comprises a recommendation area for displaying at least one recommendation component corresponding to the at least one recommendation node.
  12. 根据权利要求1-11中任一项所述的方法,其中,所述语言模型包括基于统计的语言模型,或基于神经网络的语言模型。The method according to any one of claims 1-11, wherein the language model comprises a language model based on statistics, or a language model based on a neural network.
  13. 根据权利要求12所述的方法,其中,所述基于统计的语言模型,包括n-gram模型;所述基于神经网络的语言模型,包括转换器的双向编码器表示(BERT)模型、词向量(Word2vec)模型、循环神经网络(RNN)模型、卷积神经网络(CNN)模型。The method according to claim 12, wherein, 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, recurrent neural network (RNN) model, convolutional neural network (CNN) model.
  14. 根据权利要求13所述的方法,其中,The method of claim 13, wherein,
    所述语言模型采用所述n-gram模型时,When the language model adopts the n-gram model,
    根据已创建的工作流样本,生成对应的编码串序列样本,得到包含所述编码串序列样本的语料库;Generate a corresponding code string sequence sample according to the created workflow sample, and obtain a corpus containing the code string sequence sample;
    基于统计,计算出所述编码串序列样本中的前n个编码串分别为w 1、……、w n的情况下,第n+1个编码串为w n+1的概率,并将所述概率表示为P(w n+1|w 1,……,w n)。 Based on statistics, when the first n code strings in the code string sequence sample are respectively w 1 , ..., w n , the probability that the n+1th code string is w n+1 is calculated, and the obtained The above probability is expressed as P(w n+1 |w 1 , . . . , w n ).
  15. 根据权利要求13所述的方法,其中,The method of claim 13, wherein,
    所述语言模型采用所述BERT模型时,When the language model adopts the BERT model,
    根据已创建的工作流样本,生成对应的编码串序列样本;According to the created workflow sample, generate the corresponding code string sequence sample;
    针对所述编码串序列样本中的编码串进行嵌入处理,得到与每个编码串对应的特征向量;Embedding processing is performed on the coded strings in the coded string sequence sample to obtain a feature vector corresponding to each coded string;
    随机地将所述编码串序列样本中的某些编码串进行掩码处理,并验证所述BERT模型是否能准确地预测出被掩码的编码串。Randomly mask some code strings in the code string sequence samples, and verify whether the BERT model can accurately predict the masked code strings.
  16. 一种工作流节点推荐装置,所述装置包括: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 ; 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, 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 one Recommended nodes.
  17. 根据权利要求16所述的装置,其中,所述生成单元,还用于:The device according to claim 16, wherein the generating unit 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;
    按照所述至少一个工作流节点分别在所述目标工作流中的位置,将得到的所述至少一个编码串进行排列,得到与所述目标工作流对应的所述目标编码串序列。According to the positions of the at least one workflow node in the target workflow, the obtained at least one code string is arranged to obtain the target code string sequence corresponding to the target workflow.
  18. 根据权利要求16或17所述的装置,其中,所述不同类型的工作流节点预先配置有不同的索引值;所述生成单元,还用于:The device according to claim 16 or 17, wherein the different types of workflow nodes are pre-configured with different index values; the generating unit is further configured to:
    针对为所述目标工作流中的至少一个工作流节点预先配置的索引值分别进行one-hot编码,以得到与至少一个工作流节点中的每个工作流节点分别对应的one-hot编码表示,作为与所述每个工作流节点分别对应的编码串;performing one-hot encoding on the index values preconfigured for at least one workflow node in the target workflow, so as to obtain a one-hot encoded representation corresponding to each workflow node in the at least one workflow node, As a coded string corresponding to each of the workflow nodes;
    按照所述至少一个工作流节点在所述目标工作流中的排列顺序,对one-hot编码得到的、与所述每个工作流节点分别对应的编码串排序,得到与所述目标工作流对应的所述目标编码串序列。According to the arrangement order of 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 target encoding string sequence of .
  19. 根据权利要求16-18中任一项所述的装置,其中,所述推荐单元,还用于:The device according to any one of claims 16-18, wherein the recommendation unit is further configured to:
    按照所述预测结果中包括的各个概率值从大到小的顺序,将与预设数量的编码串分别对应的工作流节点,作为所述推荐节点;According to the descending order of each probability value included in the prediction result, the workflow nodes respectively corresponding to the preset number of coded strings are used as the recommended nodes;
    将预设数量的所述推荐节点,确定为针对所述目标工作流的下一个工作流节点的所述推荐结果。Determining a preset number of the recommended nodes as the recommendation results for the next workflow node of the target workflow.
  20. 根据权利要求16-18中任一项所述的装置,其中,所述推荐单元,还用于:The device according to any one of claims 16-18, wherein the recommendation unit is further configured to:
    将所述预测结果中包括的各个概率值中大于预设阈值的概率值对应的工作流节点,作为所述推荐节点;Using the workflow node corresponding to the probability value greater than the preset threshold among the various probability values included in the prediction result as the recommendation node;
    将所述推荐节点,确定为针对所述目标工作流的下一个工作流节点的所述推荐结果。The recommended node is determined as the recommendation result for the next workflow node of the target workflow.
  21. 根据权利要求16-20中任一项所述的装置,其中,响应于所述至少一个工作流节点被添加至一条工作流中,所述工作流被创建,并且所述工作流的创建时刻为所述工作流中的最后一个工作流节点的添加时刻。The apparatus according to any one of claims 16-20, wherein 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 moment when the last workflow node in the workflow was added.
  22. 根据权利要求21所述的装置,其中,根据每条工作流的创建时刻,将最近创建的一条工作流默认为所述目标工作流。The device according to claim 21, wherein, according to the creation time of each workflow, a newly created workflow is defaulted as the target workflow.
  23. 根据权利要求16-22中任一项所述的装置,其中,所述生成单元,还用于:The device according to any one of claims 16-22, wherein the generating unit is further configured to:
    响应于用户在制图界面中创建包括至少一个组件的工作流程图,生成与所述工作流程图对应的所述目标工作流;其中,所述工作流程图中的组件用于指示对应的所述目标工作流中的工作流节点。In response to the user creating a workflow diagram including at least one component in the drawing interface, generating the target workflow corresponding to the workflow diagram; wherein, the components in the workflow diagram are used to indicate the corresponding target A workflow node in a workflow.
  24. 根据权利要求23所述的装置,其中,所述推荐单元,还用于:The device according to claim 23, wherein the recommendation unit is further configured to:
    基于针对所述目标工作流的下一个工作流节点的所述推荐结果,在所述制图界面中向用户展示与所述至少一个推荐节点对应的至少一个推荐组件。Based on the recommendation result for the next workflow node of the target workflow, at least one recommended component corresponding to the at least one recommended node is displayed to the user in the drawing interface.
  25. 根据权利要求23或24所述的装置,其中,所述制图界面包括预设组件列表和画布区域,所述预设组件列表用于展示预设类型的组件;所述画布区域用于展示所述工作流程图。The device according to claim 23 or 24, wherein 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.
  26. 根据权利要求25所述的装置,其中,所述制图界面还包括推荐区域,所述推荐区域用于展示与所述至少一个推荐节点对应的至少一个推荐组件。The device according to claim 25, wherein the drawing interface further comprises a recommendation area, and the recommendation area is used to display at least one recommendation component corresponding to the at least one recommendation node.
  27. 根据权利要求16-26中任一项所述的装置,其中,所述语言模型包括基于统计的语言模型,或基于神经网络的语言模型。The apparatus according to any one of claims 16-26, wherein the language model comprises a language model based on statistics, or a language model based on a neural network.
  28. 根据权利要求27所述的装置,其中,所述基于统计的语言模型,包括n-gram模型;所述基于神经网络的语言模型,包括转换器的双向编码器表示(BERT)模型、词向量(Word2vec)模型、循环神经网络(RNN)模型、卷积神经网络(CNN)模型。The device according to claim 27, wherein 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, recurrent neural network (RNN) model, convolutional neural network (CNN) model.
  29. 根据权利要求28所述的装置,其中,The apparatus of claim 28, wherein,
    所述语言模型采用所述n-gram模型时,When the language model adopts the n-gram model,
    根据已创建的工作流样本,生成对应的编码串序列样本,得到包含所述编码串序列样本的语料库;Generate a corresponding code string sequence sample according to the created workflow sample, and obtain a corpus containing the code string sequence sample;
    基于统计,计算出所述编码串序列样本中的前n个编码串分别为w 1、……、w n的情况下,第n+1个编码串为w n+1的概率,并将所述概率表示为P(w n+1|w 1,……,w n)。 Based on statistics, when the first n code strings in the code string sequence sample are respectively w 1 , ..., w n , the probability that the n+1th code string is w n+1 is calculated, and the obtained The above probability is expressed as P(w n+1 |w 1 , . . . , w n ).
  30. 根据权利要求28所述的装置,其中,The apparatus of claim 28, wherein,
    所述语言模型采用所述BERT模型时,When the language model adopts the BERT model,
    根据已创建的工作流样本,生成对应的编码串序列样本;According to the created workflow sample, generate the corresponding code string sequence sample;
    针对所述编码串序列样本中的编码串进行嵌入处理,得到与每个编码串对应的特征向量;Embedding processing is performed on the coded strings in the coded string sequence sample to obtain a feature vector corresponding to each coded string;
    随机地将所述编码串序列样本中的某些编码串进行掩码处理,并验证所述BERT模型是否能准确地预测出被掩码的编码串。Randomly mask some code strings in the code string sequence samples, and verify whether the BERT model can accurately predict the masked code strings.
  31. 一种电子设备,包括通信接口、处理器、存储器和总线,所述通信接口、所述处理器和所述存储器之间通过总线相互连接;An electronic device, comprising a communication interface, a processor, a memory, and a bus, wherein the communication interface, the processor, and the memory are connected to each other through the bus;
    所述存储器中存储机器可读指令,所述处理器通过调用所述机器可读指令,执行权利要求1至15中任一项所述的方法。Machine-readable instructions are stored in the memory, and the processor executes the method according to any one of claims 1 to 15 by invoking the machine-readable instructions.
  32. 一种机器可读存储介质,所述机器可读存储介质存储有机器可读指令,所述机器可读指令在被处理器调用和执行时,实现权利要求1至15中任一项所述的方法。A machine-readable storage medium, the machine-readable storage medium stores machine-readable instructions, and when the machine-readable instructions are called and executed by a processor, the method described in any one of claims 1 to 15 is implemented. method.
PCT/CN2022/135033 2021-11-29 2022-11-29 Workflow node recommendation method and apparatus WO2023093909A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202111433798.5 2021-11-29
CN202111433798.5A CN114115878A (en) 2021-11-29 2021-11-29 Workflow node recommendation method and device

Publications (1)

Publication Number Publication Date
WO2023093909A1 true WO2023093909A1 (en) 2023-06-01

Family

ID=80371916

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/135033 WO2023093909A1 (en) 2021-11-29 2022-11-29 Workflow node recommendation method and apparatus

Country Status (2)

Country Link
CN (1) CN114115878A (en)
WO (1) WO2023093909A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114115878A (en) * 2021-11-29 2022-03-01 杭州数梦工场科技有限公司 Workflow node recommendation method and device

Citations (5)

* Cited by examiner, † Cited by third party
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 (en) * 2016-11-02 2019-05-21 英特尔公司 Workflow automatically generates
CN110765353A (en) * 2019-10-16 2020-02-07 腾讯科技(深圳)有限公司 Processing method and device of project recommendation model, computer equipment and storage medium
CN111080170A (en) * 2019-12-30 2020-04-28 北京云享智胜科技有限公司 Workflow modeling method and device, electronic equipment and storage medium
CN114115878A (en) * 2021-11-29 2022-03-01 杭州数梦工场科技有限公司 Workflow node recommendation method and device

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109902222B (en) * 2018-11-30 2022-05-13 华为技术有限公司 Recommendation method and device
CN111027189A (en) * 2019-11-28 2020-04-17 武汉理工大学 Workflow model recommendation method based on design information model
CN111666401B (en) * 2020-05-29 2023-06-30 平安科技(深圳)有限公司 Document recommendation method, device, computer equipment and medium based on graph structure
CN113569143B (en) * 2021-07-20 2024-02-27 上海明略人工智能(集团)有限公司 Recommendation result generation method and device, electronic equipment and computer readable medium

Patent Citations (5)

* Cited by examiner, † Cited by third party
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 (en) * 2016-11-02 2019-05-21 英特尔公司 Workflow automatically generates
CN110765353A (en) * 2019-10-16 2020-02-07 腾讯科技(深圳)有限公司 Processing method and device of project recommendation model, computer equipment and storage medium
CN111080170A (en) * 2019-12-30 2020-04-28 北京云享智胜科技有限公司 Workflow modeling method and device, electronic equipment and storage medium
CN114115878A (en) * 2021-11-29 2022-03-01 杭州数梦工场科技有限公司 Workflow node recommendation method and device

Also Published As

Publication number Publication date
CN114115878A (en) 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
US20210124878A1 (en) On-Device Projection Neural Networks for Natural Language Understanding
US11816439B2 (en) Multi-turn dialogue response generation with template generation
WO2018049960A1 (en) Method and apparatus for matching resource for text information
US11636341B2 (en) Processing sequential interaction data
CN110298019A (en) Name entity recognition method, device, equipment and computer readable storage medium
EP4009219A1 (en) Analysis of natural language text in document using hierarchical graph
CN113591483A (en) Document-level event argument extraction method based on sequence labeling
CN111222305A (en) Information structuring method and device
CN105706092B (en) The method and system of four values simulation
JP7488871B2 (en) Dialogue recommendation method, device, electronic device, storage medium, and computer program
CN113268561A (en) Problem generation method based on multi-task joint training
WO2023093909A1 (en) Workflow node recommendation method and apparatus
US20230315999A1 (en) Systems and methods for intent discovery
CN116304748A (en) Text similarity calculation method, system, equipment and medium
CN115017916A (en) Aspect level emotion analysis method and device, electronic equipment and storage medium
CN114266252A (en) Named entity recognition method, device, equipment and storage medium
WO2023103914A1 (en) Text sentiment analysis method and device, and computer-readable storage medium
US20210034987A1 (en) Auxiliary handling of metadata and annotations for a question answering system
CN116578671A (en) Emotion-reason pair extraction method and device
WO2023137903A1 (en) Reply statement determination method and apparatus based on rough semantics, and electronic device
Chavali et al. A study on named entity recognition with different word embeddings on gmb dataset using deep learning pipelines
US20230229859A1 (en) Zero-shot entity linking based on symbolic information
CN114254642A (en) Entity information processing method, device, electronic equipment and medium

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