CN114115878A - 一种工作流节点推荐方法及装置 - Google Patents
一种工作流节点推荐方法及装置 Download PDFInfo
- Publication number
- CN114115878A CN114115878A CN202111433798.5A CN202111433798A CN114115878A CN 114115878 A CN114115878 A CN 114115878A CN 202111433798 A CN202111433798 A CN 202111433798A CN 114115878 A CN114115878 A CN 114115878A
- Authority
- CN
- China
- Prior art keywords
- workflow
- target
- node
- coding
- recommendation
- Prior art date
- Legal status (The legal status 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 status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 63
- 238000004364 calculation method Methods 0.000 claims abstract description 9
- 238000010586 diagram Methods 0.000 claims description 57
- 238000013528 artificial neural network Methods 0.000 claims description 10
- 230000004044 response Effects 0.000 claims description 8
- 238000004891 communication Methods 0.000 claims description 4
- 238000012163 sequencing technique Methods 0.000 claims description 4
- 230000008569 process Effects 0.000 description 23
- 238000012549 training Methods 0.000 description 21
- 238000004422 calculation algorithm Methods 0.000 description 17
- 238000007635 classification algorithm Methods 0.000 description 12
- 238000007781 pre-processing Methods 0.000 description 12
- 238000013507 mapping Methods 0.000 description 9
- 238000012545 processing Methods 0.000 description 8
- 238000003058 natural language processing Methods 0.000 description 7
- 230000011218 segmentation Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000008676 import Effects 0.000 description 4
- 239000013598 vector Substances 0.000 description 4
- 230000009471 action Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 230000004069 differentiation Effects 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/34—Graphical or visual programming
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请提供一种工作流节点推荐方法及装置,所述方法包括:生成与包括至少一个工作流节点的目标工作流对应的目标编码串序列;目标编码串序列中包括与目标工作流中的至少一个工作流节点分别对应的至少一个编码串;与每个工作流节点分别对应的编码串,是分别针对每个工作流节点进行编码而得到的;将生成的目标编码串序列作为输入数据,输入训练完成的语言模型进行计算,得到所述语言模型输出的针对目标编码串序列的下一个编码串的预测结果;所述预测结果,包括与不同类型的工作流节点分别对应的各个编码串作为目标编码串序列的下一个编码串的概率值;基于所述预测结果,确定针对目标工作流的下一个工作流节点的推荐结果。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种工作流节点推荐方法及装置。
背景技术
为了方便管理业务流程,通常可以设置一条或多条工作流,用于对业务流程做出抽象化的表达。具体地,每条工作流中可以包括若干工作流节点,其中,各个工作流节点可以用于指示与工作流对应的业务流程中的各个业务事项,并且,各个工作流节点之间的排列关系与各个业务事项之间的执行顺序可以一一对应。因而,工作流通常可以用于指示按照工作流节点的排列顺序,依次执行业务流程中对应的业务事项。
在实际应用中,通常可以根据业务需求预先配置不同的工作流节点的类型,以使用户可以从所有预设类型的工作流节点中,按照业务流程中各个业务事项的执行顺序,依次选择与业务事项对应的工作流节点,并将选中的工作流节点添加至用户所创建的工作流中。
发明内容
本申请提供一种工作流节点推荐方法,所述方法包括:
生成与包括至少一个工作流节点的目标工作流对应的目标编码串序列;其中,所述目标编码串序列中包括与所述目标工作流中的至少一个工作流节点分别对应的至少一个编码串;与每个工作流节点分别对应的编码串,是分别针对所述每个工作流节点进行编码而得到的;
将生成的所述目标编码串序列作为输入数据,输入训练完成的语言模型进行计算,得到所述语言模型输出的针对所述目标编码串序列的下一个编码串的预测结果;其中,所述预测结果,包括与不同类型的工作流节点分别对应的各个编码串作为所述目标编码串序列的下一个编码串的概率值;
基于针对所述目标编码串序列的下一个编码串的所述预测结果,确定针对所述目标工作流的下一个工作流节点的推荐结果;所述推荐结果包括至少一个推荐节点。
可选的,不同类型的工作流节点预先配置有不同的索引值;所述生成与包括至少一个工作流节点的目标工作流对应的目标编码串序列,包括:
针对为所述目标工作流中的至少一个工作流节点预先配置的索引值分别进行one-hot编码,以得到与每个工作流节点分别对应的one-hot编码表示,作为与每个工作流节点分别对应的编码串;
按照所述至少一个工作流节点在所述目标工作流中的排列顺序,对one-hot编码得到的与每个工作流节点分别对应的编码串排序,得到与所述目标工作流对应的所述目标编码串序列。
可选的,所述基于针对所述目标编码串序列的下一个编码串的所述预测结果,确定针对所述目标工作流的下一个工作流节点的推荐结果,包括:
按照所述预测结果中包括的各个概率值从大到小的顺序,将与预设数量的编码串分别对应的工作流节点,作为所述推荐节点;
将预设数量的所述推荐节点,确定为针对所述目标工作流的下一个工作流节点的所述推荐结果。
可选的,所述基于针对所述目标编码串序列的下一个编码串的所述预测结果,确定针对所述目标工作流的下一个工作流节点的推荐结果,包括:
将所述预测结果中包括的各个概率值中大于预设阈值的概率值对应的工作流节点,作为所述推荐节点;
将所述推荐节点,确定为针对所述目标工作流的下一个工作流节点的所述推荐结果。
可选的,在生成与包括至少一个工作流节点的目标工作流对应的目标编码串序列之前,所述方法还包括:
响应于用户在制图界面中创建包括至少一个组件的工作流程图,生成与所述工作流程图对应的所述目标工作流;其中,所述工作流程图中的组件用于指示对应的所述目标工作流中的工作流节点。
可选的,所述方法还包括:
基于针对所述目标工作流的下一个工作流节点的所述推荐结果,在所述制图界面中向用户展示与所述至少一个推荐节点对应的至少一个推荐组件。
可选的,所述语言模型包括基于统计的语言模型,或基于神经网络的语言模型。
本申请还提供一种工作流节点推荐装置,所述装置包括:
生成单元,用于生成与包括至少一个工作流节点的目标工作流对应的目标编码串序列;其中,所述目标编码串序列中包括与所述目标工作流中的至少一个工作流节点分别对应的至少一个编码串;与每个工作流节点分别对应的编码串,是分别针对所述每个工作流节点进行编码而得到的;
预测单元,用于将生成的所述目标编码串序列作为输入数据,输入训练完成的语言模型进行计算,得到所述语言模型输出的针对所述目标编码串序列的下一个编码串的预测结果;其中,所述预测结果,包括与不同类型的工作流节点分别对应的各个编码串作为所述目标编码串序列的下一个编码串的概率值;
推荐单元,用于基于针对所述目标编码串序列的下一个编码串的所述预测结果,确定针对所述目标工作流的下一个工作流节点的推荐结果;所述推荐结果包括至少一个推荐节点。
本申请还提供一种电子设备,包括通信接口、处理器、存储器和总线,所述通信接口、所述处理器和所述存储器之间通过总线相互连接;
所述存储器中存储机器可读指令,所述处理器通过调用所述机器可读指令,执行上述方法。
本申请还提供一种机器可读存储介质,所述机器可读存储介质存储有机器可读指令,所述机器可读指令在被处理器调用和执行时,实现上述方法。
通过以上实施例,通过针对目标工作流中包括的每个工作流节点进行编码,得到分别与每个工作流节点对应的编码串,可以生成与所述目标工作流对应的目标编码串序列,由于将生成的所述目标编码串序列输入训练完成的语言模型,可以得到所述语言模型输出的针对所述目标编码串序列的下一个编码串的预测结果,进而可以得到针对所述目标工作流的下一个工作流节点的推荐结果;因此,在用户尝试为目标工作流选择下一个工作流节点时,可以根据目标工作流中已有的工作流节点,自动推荐下一个工作流节点的类型,以使用户可以直接从推荐节点中选择下一个工作流节点,从而可以提高用户创建工作流的效率。
附图说明
图1是一示例性的实施例示出的一种工作流节点推荐方法的流程图;
图2是一示例性的实施例示出的一种制图界面的示意图;
图3是一示例性的实施例示出的一种推荐区域的示意图;
图4是一示例性的实施例示出的一种工作流节点推荐装置所在电子设备的硬件结构图;
图5是一示例性的实施例示出的一种工作流节点推荐装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。
为了使本技术领域的人员更好地理解本说明书实施例中的技术方案,下面先对本说明书实施例涉及的创建工作流的相关技术,进行简要说明。
工作流(workflow),可以用于对业务流程做出抽象化的表达,以便于用户方便、规范化地管理业务流程。具体地,完整的业务流程可以被划分为若干业务事项,并且可以按照一定的顺序执行每个业务事项;与业务流程对应的工作流中可以包括若干工作流节点,其中,各个工作流节点可以用于指示与工作流对应的业务流程中的各个业务事项,并且,各个工作流节点之间的排列顺序与各个业务事项之间的执行顺序可以一一对应。
在实际应用中,通常可以根据业务需求预先配置不同类型的工作流节点,以使用户在创建与业务流程对应的工作流时,可以从所有预设类型的工作流节点中,按照所述业务流程中各个业务事项的执行顺序,依次选择与业务事项对应的工作流节点,并将选中的工作流节点添加至用户所创建的工作流中。
例如,某个业务流程“业务数据处理”,可以被划分为“输入业务数据”、“对输入的业务数据进行预处理”、“通过分类算法计算出针对预处理完成的业务数据的分类结果”、“通过预测算法计算出针对分类结果的预测结果”、“基于预测结果输出针对业务数据的处理结果”等不同类型的业务事项;相应地,根据上述不同类型的业务事项,可以预先配置“数据输入”、“数据预处理”、“分类算法”、“预测算法”、“数据输出”等不同类型的工作流节点。进一步地,假设已创建的工作流为“工作流节点1—>工作流节点2—>工作流节点3”,其中,工作流节点1、工作流节点2、工作流节点3的类型分别为“数据输入”、“数据预处理”、“分类算法”。用户需要为上述已创建的工作流添加下一个工作流节点时,可以从上述预先配置的不同类型的所有工作流节点中,选择出所需的“预测算法”类型的工作流节点,并将其作为下一个工作流节点添加至上述已创建的工作流中,可以理解为,将上述已创建的工作流更新为“工作流节点1—>工作流节点2—>工作流节点3—>工作流节点4”,其中,工作流节点4的类型也即上述选择的“预测算法”类型。
需要说明的是,以上示出的“工作流节点1”“工作流节点2”等工作流节点的节点名称中的序号,可以用于表示该工作流节点被添加至已创建的工作流中的先后顺序,并不对本说明书做出特殊限定。在实际应用中,由于用户可能会同时创建多条工作流,或者对之前已创建的工作流进行更新,因此,可以理解的是,同一条工作流中的相邻的工作流节点的序号不一定是连续的。例如,在以上示出的实施例中,用户将“预测算法”类型的工作流节点作为下一个工作流节点,添加至上述已创建的工作流中之后,该工作流可能会更新为“工作流节点1—>工作流节点2—>工作流节点3—>工作流节点6”,其中,工作流节点6的类型也即上述选择的“预测算法”类型,也即,用户在为该工作流添加“工作流节点6”之前,可能还为其他工作流添加过工作流节点。
然而,在业务流程复杂、业务事项种类繁多的情况下,用户在创建工作流时,可以选择的工作流节点的类型也很多(如,上百种预设类型的工作流节点);因此,用户往往需要耗费大量的时间,先根据所需的下一个工作流节点的类型,从所有预设类型的工作流节点中,手动找出所需类型的工作流节点,再将找出的工作流节点添加至用户所创建的工作流中。
为了减少用户为工作流添加下一个工作流节点所耗费的时间,在相关技术中,可以通过关键字搜索的方式,在所有预设类型的工作流节点中,查找出与用户输入的关键字对应的工作流节点,并将其作为下一个工作流节点添加至用户所创建的工作流中。
由于用户需要明确所需的下一个工作流节点的类型,并且对所有预设类型的工作流节点对应的关键字较为了解,才可以直接输入与所需类型的工作流节点对应的关键字进行搜索,因此,在上述相关技术中,要求创建工作流的用户具备较高的技术水平;而对于技术水平较低的普通用户而言,仍然需要耗费大量时间,在所有预设类型的工作流节点中,手动查找所需类型的工作流节点,导致用户创建工作流的效率较低。
有鉴于此,本说明书旨在提出一种在创建工作流的场景中,基于语言模型为用户推荐目标工作流的下一个工作流节点的技术方案。
其中,所述语言模型(LM,Language Model),属于自然语言处理(NLP,NaturalLanguage Processing)领域的技术,可以用于估计一段文本出现的概率。例如,对于包括n(n为正整数)个词语(word)的句子[w1,……,wn],可以计算所述句子出现的概率P(w1,……,wn)。
在实际应用中,所述语言模型,具体可以用于根据句子中的前n个词语,来预测所述句子的第n+1个词语可能是预设词典中的哪个词语,并计算出预设词典中的每个词语可能作为所述句子的第n+1个词语出现的概率值,也即P(w1,……,wn,wn+1)=P(wn+1|w1,……,wn);其中,所述预设词典可以包括语料库的所有语料(也即所有句子样本)中出现过的不同的词语。
在本说明书中,由于工作流中上下游的各个工作流节点之间存在逻辑和时序上的关联,类似于自然语言的句子中的各个词语之间的关联;因此,可以基于所述语言模型,根据目标工作流中已有的前n个工作流节点,来预测目标工作流的第n+1个工作流节点可能是哪种预设类型的工作流节点,并计算出每种预设类型的工作流节点可能作为目标工作流的第n+1个工作流节点出现的概率值;进而可以根据所述语言模型输出的预测结果,针对所述目标工作流为用户推荐下一个工作流节点。
在实现时,由于工作流(workflow)是一种非文本的、抽象化的表达,因此,在基于NLP领域中的语言模型针对目标工作流的下一个工作流节点进行推荐时,首先需要将非文本的目标工作流转换为文本化的表达,再将得到的文本化表达作为所述语言模型的输入,以得到所述语言模型输出的针对所述文本化表达的预测结果,进而可以根据针对所述文本化表达的预测结果,确定针对非文本的所述目标工作流的推荐结果。
具体地,可以生成与包括至少一个工作流节点的目标工作流对应的目标编码串序列;其中,所述目标编码串序列中包括与所述目标工作流中的至少一个工作流节点分别对应的至少一个编码串;与每个工作流节点分别对应的编码串,是分别针对所述每个工作流节点进行编码而得到的;进一步地,可以将生成的所述目标编码串序列作为输入数据,输入训练完成的语言模型进行计算,得到所述语言模型输出的针对所述目标编码串序列的下一个编码串的预测结果;其中,所述预测结果,包括与不同类型的工作流节点分别对应的各个编码串作为所述目标编码串序列的下一个编码串的概率值;进一步地,可以基于针对所述目标编码串序列的下一个编码串的所述预测结果,确定针对所述目标工作流的下一个工作流节点的推荐结果;所述推荐结果包括至少一个推荐节点。
需要说明的是,在NLP领域中,针对一段文本进行编码时,需要先针对该文本进行分词处理,再针对分词处理的结果进行编码处理;其中,所述分词处理,也即将文本中的句子划分为若干词语,所述词语可以包括字或词。而在本说明书的技术方案中,无需针对与所述目标工作流对应的所述目标编码串序列进行分词处理,可以直接将所述目标工作流中的每个工作流节点作为最小单位(类似于NLP领域中的“词语”),并针对每个工作流节点进行编码;本领域技术人员可以理解的是,与工作流对应的编码串序列,类似于NLP领域中针对已完成分词的文本进行编码得到的编码结果。
由此可见,在本说明书中的技术方案中,通过针对目标工作流中包括的至少一个工作流节点进行编码,得到与每个工作流节点分别对应的编码串,可以生成与所述目标工作流对应的目标编码串序列,并将生成的目标编码串序列输入训练完成的语言模型,可以得到所述语言模型输出的针对所述目标编码串序列的下一个编码串的预测结果,进而可以得到针对所述目标工作流的下一个工作流节点的推荐结果。
相较于相关技术,在用户尝试确定目标工作流的下一个工作流节点的类型时,由于根据目标工作流中已有的至少一个工作流节点的类型,可以自动为用户推荐目标工作流的下一个工作流节点的类型;因此,普通用户也能直接从推荐节点中选择下一个工作流节点,而无需从所有预设类型的工作流节点中手动查找所需类型的工作流节点,从而可以减少用户选择出目标工作流的下一个工作流节点所耗费的时间,进而可以提高创建工作流的效率。
下面通过具体实施例,并结合具体的应用场景对本申请进行描述。
请参见图1,图1是一示例性的实施例示出的一种工作流节点推荐方法的流程图,上述方法执行以下步骤:
步骤102:生成与包括至少一个工作流节点的目标工作流对应的目标编码串序列;其中,所述目标编码串序列中包括与所述目标工作流中的至少一个工作流节点分别对应的至少一个编码串;与每个工作流节点分别对应的编码串,是分别针对所述每个工作流节点进行编码而得到的;
步骤104:将生成的所述目标编码串序列作为输入数据,输入训练完成的语言模型进行计算,得到所述语言模型输出的针对所述目标编码串序列的下一个编码串的预测结果;其中,所述预测结果,包括与不同类型的工作流节点分别对应的各个编码串作为所述目标编码串序列的下一个编码串的概率值;
步骤106:基于针对所述目标编码串序列的下一个编码串的所述预测结果,确定针对所述目标工作流的下一个工作流节点的推荐结果;其中,所述推荐结果包括至少一个推荐节点。
在本说明书中,所述目标工作流可以包括至少一条工作流。
例如,可以将由用户选择的一条或多条工作流,作为目标工作流,以获取针对所述目标工作流的下一个工作流节点的推荐结果。
又例如,响应于用户将至少一个工作流节点添加至某一条工作流中,可以认为该工作流已创建,并且该工作流的创建时刻可以为该工作流中的最后一个工作流节点的添加时刻;因此,也可以根据每条工作流的创建时刻,将用户最近创建(也即创建时刻最近)的一条工作流默认为目标工作流。
需要说明的是,关于所述目标工作流中包括的工作流数量,本说明书不做限制;为了使本技术领域的人员更好地理解本说明书实施例中的技术方案,下面以所述目标工作流仅包括一条工作流为例,对本申请的技术方案进行描述。
在本说明书中,所述目标工作流中可以包括至少一个工作流节点;与每个工作流节点分别对应的编码串,可以是分别针对所述每个工作流节点进行编码而得到的。
其中,与工作流节点对应的编码串,就是针对该工作流节点进行编码得到的编码结果;本领域技术人员可知,与工作流节点对应的编码串可以表征该工作流节点的特征信息,也即可以用于区分不同类型的工作流节点。需要说明的是,关于与工作流节点对应的编码串(或编码结果)的长度大小,与针对工作流节点进行编码时采用的具体编码方式、工作流节点的预设类型的数量、特征维度等因素有关,本领域技术人员可以按需设定,在此不做限定;例如,与每个工作流节点对应的编码串,具体可以包括一个或多个字符,是一种文本化的表达。
例如,在目标工作流“工作流节点1—>工作流节点2—>工作流节点3”中,工作流节点1、工作流节点2、工作流节点3分别为“数据输入”、“数据预处理”、“分类算法”这三种不同类型的工作流节点,可以分别用于指示“输入业务数据”、“对输入的业务数据进行预处理”、“通过分类算法计算出针对预处理完成的业务数据的分类结果”这三种不同类型的业务事项。进一步地,针对所述工作流节点1、工作流节点2、工作流节点3分别进行编码,可以得到对应的编码串分别为s1、s2、s3;其中,编码串s1、s2、s3是不同的编码串,可以用于区分所述三种不同类型的工作流节点。
在本说明书中,由于可以针对所述目标工作流中的至少一个工作流节点分别进行编码,得到与所述至少一个工作流节点分别对应的编码串,因此可以生成与所述目标工作流对应的目标编码串序列;其中,所述目标编码串序列中可以包括与所述目标工作流中的至少一个工作流节点分别对应的至少一个编码串。
具体地,可以先针对所述目标工作流中包括的至少一个工作流节点分别进行编码,得到与所述至少一个工作流节点分别对应的编码串,再按照对应的工作流节点在所述目标工作流中的位置,将得到的所述编码串进行排列,得到的与所述目标工作流对应的目标编码串序列。
例如,目标工作流为“工作流节点1—>工作流节点2—>工作流节点3”,针对工作流节点1、工作流节点2、工作流节点3分别进行编码,得到对应的编码串分别为s1、s2、s3,则可以生成与该目标工作流对应的目标编码串序列,为:[s1,s2,s3]。
在示出的一种实施方式中,可以采用one-hot编码的方式,针对所述工作流节点进行编码,以生成与所述目标工作流对应的目标编码串序列。在实现时,可以为不同类型的工作流节点预先配置不同的索引值;所述生成与包括至少一个工作流节点的目标工作流对应的目标编码串序列,具体可以包括:针对为所述目标工作流中的至少一个工作流节点预先配置的索引值分别进行one-hot编码,以得到与每个工作流节点分别对应的one-hot编码表示,作为与每个工作流节点分别对应的编码串;按照所述至少一个工作流节点在所述目标工作流中的排列顺序,对one-hot编码得到的与每个工作流节点分别对应的编码串排序,得到与所述目标工作流对应的所述目标编码串序列。
其中,one-hot编码,是一种将类别变量转换为机器学习算法易于利用的一种形式的过程。具体地,可以先为不同类型的工作流节点配置不同的索引值(也称作整数值、类别值),并确定各个索引值在one-hot编码表示中的排列顺序;进一步地,可以根据工作流节点的类型数量,确定one-hot编码表示的长度,并将one-hot编码表示中与待编码的工作流节点的索引值对应的位置记为1,其他位置记为0,作为与该工作流节点对应的编码串。
例如,例如,若预设类型的工作流节点包括“数据输入”、“数据预处理”、“分类算法”、“预测算法”、“数据输出”这5种不同类型的工作流节点,可以分别为其配置索引值0、1、2、3、4;进一步地,可以针对上述5种不同类型的工作流节点分别进行one-hot编码,以得到与每种类型的工作流节点分别对应的one-hot编码表示,为(1,0,0,0,0)、(0,1,0,0,0)、(0,0,1,0,0)、(0,0,0,1,0)、(0,0,0,0,1)。在目标工作流“工作流节点1—>工作流节点2—>工作流节点3”中,工作流节点1、工作流节点2、工作流节点3分别为“数据输入”、“数据预处理”、“分类算法”这三种不同类型的工作流节点,因而按照上述工作流节点在所述目标工作流中的排列顺序,可以得到与所述目标工作流对应的目标编码串序列为[(1,0,0,0,0),(0,1,0,0,0),(0,0,1,0,0)]。
需要说明的是,在以上示出的实施方式中,所述编码串的长度为5仅仅是一种示例性的描述,并不对本说明书做出特殊限制。例如,在实际应用中,工作流节点的预设类型有1000种,则与工作流节点对应的编码串的长度可以为1000。
另外,需要说明的是,关于划分不同类型的工作流节点的依据,本领域技术人员可以根据需求设置,在此不做一一赘述。例如,在以上示出的实施例中,可以根据与工作流节点对应的不同业务事项进行区分;又例如,还可以对上述实施例中的预设类型进一步细分,“数据输入”类型,可以进一步细分为“导入excel数据”、“导入mysql数据”、“导入csv数据”、“导入hive数据”等;还可以根据与工作流节点对应的业务事项的执行者进行区分。
在本说明书中,在生成与所述目标工作流对应的目标编码串序列之后,可以将生成的所述目标编码串序列作为输入数据,输入训练完成的语言模型进行计算,得到所述语言模型输出的针对所述目标编码串序列的下一个编码串的预测结果;其中,所述预测结果,可以包括与不同类型的工作流节点分别对应的各个编码串作为所述目标编码串序列的下一个编码串的概率值。
其中,所述与不同类型的工作流节点分别对应的各个编码串,可以包括与每种预设类型的工作流节点分别对应的编码串。
例如,若预设类型的工作流节点包括“数据输入”、“数据预处理”、“分类算法”、“预测算法”、“数据输出”这5种不同类型的工作流节点,与上述每种预设类型的工作流节点对应的编码串,分别为s1,s2,s3,s4,s5。在生成与目标工作流“工作流节点1—>工作流节点2—>工作流节点3”对应的目标编码串序列[s1,s2,s3]之后,可以将该目标编码串序列作为输入数据,输入已训练完成的语言模型进行计算,得到该语言模型输出的针对该目标编码串序列的下一个编码串的预测结果,也即,与每种预设类型的工作流节点分别对应的编码串s1,s2,s3,s4,s5,可能作为该目标编码串序列的第4个编码串出现的概率值。
具体地,该语言模型输出的预测结果可以为:目标编码串序列的第4个编码串是“s1”的概率值为0,“s2”的概率值为10%,“s3”的概率值为10%,“s4”的概率值为50%,“s5”的概率值为30%;本领域技术人员可以理解的是,所述预测结果中包括的各个概率值之和为1。
在实际应用中,所述语言模型,可以分为基于统计的语言模型与基于神经网络的语言模型。其中,所述基于统计的语言模型,可以通过对训练样本进行统计,得出在训练样本中的前n个编码串分别为w1、……、wn的情况下,第n+1个编码串为wn+1的概率,也即P(wn+1|w1,……,wn);所述基于神经网络的语言模型,可以通过对训练样本进行深度学习,也即利用训练样本对神经网络进行训练,得出P(wn+1|w1,……,wn)。
例如,所述基于统计的语言模型,具体可以包括n-gram模型;所述基于神经网络的语言模型,具体可以包括BERT(Bidirectional Encoder Representation fromTransformers)模型、Word2vec(Word to Vector)模型、RNN(Recurrent Neural Network,循环神经网络)模型、CNN(Convolutional Neural Network,卷积神经网络)模型等。需要说明的是,本领域技术人员根据需求,可以选择任意一种或多种语言模型,以实现本说明书的技术方案,在此不做特殊限定。
其中,所述训练样本,可以包括用于训练上述语言模型的编码串序列样本,具体可以包括由已创建的工作流生成得到的编码串序列。关于利用所述训练样本针对上述语言模型进行训练的具体过程,可以参见NLP领域中对语言模型进行训练与优化的相关技术,在此不再赘述。
例如,所述语言模型采用基于统计的n-gram模型时,可以先根据已创建的工作流样本,生成对应的编码串序列样本,得到包含若干编码串序列样本的语料库;进一步地,基于统计,可以计算出在训练样本中的前n个编码串分别为w1、……、wn的情况下,第n+1个编码串为wn+1的概率,也即P(wn+1|w1,……,wn)。在实际应用中,还可以利用马尔科夫假设(Markovassumption),来优化针对所述n-gram模型的训练过程,本领域技术人员基于上述训练样本可以灵活实现,在此不再赘述。
又例如,所述语言模型采用基于神经网络的BERT模型时,由于BERT模型是一种基于词向量进行文本训练的深度学习模型,因此,可以先根据已创建的工作流样本,生成对应的编码串序列样本(也即训练样本),再针对所述训练样本中的编码串进行embedding,以得到与每个编码串对应的特征向量(也即词向量);进一步地,可以随机地将所述训练样本中的某些编码串mask,并验证所述BERT模型是否能准确地预测出被mask的编码串。
需要说明的是,在以上示出的实施方式中,基于所述统计语言模型来预测所述目标编码串序列的下一个编码串,具备易于实现、计算速度快的优点,并且在语料库中的编码串序列样本所涵盖的情况全面、各种情况的比例恰当时,所述预测结果也可以准确地体现出各个编码串样本作为所述目标编码串序列的下一个编码串出现的概率。而基于所述神经网络语言模型来预测所述目标编码串序列的下一个编码串,在同义词、近义词的学习方面具备优势。
在本说明书中,在得到所述语言模型输出的针对所述目标编码串序列的下一个编码串的预测结果之后,可以基于所述预测结果,确定针对所述目标工作流的下一个工作流节点的推荐结果。
其中,所述推荐结果可以包括至少一个推荐节点;所述推荐节点,也即为用户推荐的工作流节点;所述推荐节点的工作流节点类型,与所述预测结果中包括的编码串相对应。
例如,所述语言模型输出的针对所述目标编码串序列的下一个编码串的预测结果为:目标编码串序列的第4个编码串是“S1”的概率值为0,“s2”的概率值为10%,“s3”的概率值为10%,“s4”的概率值为50%,“s5”的概率值为30%。基于针对目标编码串序列[s1,s2,s3]的第4个编码串的预测结果,并结合预设的工作流节点推荐策略,可以确定针对目标工作流“工作流节点1—>工作流节点2—>工作流节点3”的第4个工作流节点的推荐结果为:与编码串s4对应的“预测算法”类型的工作流节点、以及与编码串s5对应的“数据输出”类型的工作流节点;也即,所述推荐节点为“预测算法”类型以及“数据输出”类型的工作流节点。
在示出的一种实施方式中,为所述目标工作流推荐工作流节点时,可以为用户推荐所述目标工作流的下一个工作流节点最有可能出现的top N个不同类型的工作流节点。在实现时,所述基于针对所述目标编码串序列的下一个编码串的所述预测结果,确定针对所述目标工作流的下一个工作流节点的推荐结果,具体可以包括:按照所述预测结果中包括的各个概率值从大到小的顺序,将与预设数量的编码串分别对应的工作流节点,作为所述推荐节点;将预设数量的所述推荐节点,确定为针对所述目标工作流的下一个工作流节点的所述推荐结果。
接着以上示出的实施例继续举例说明,将所述语言模型输出的预测结果按照概率值从大到小的顺序排列,可以依次为s4、s5、s2、s3、s1;若只需为用户推荐最有可能作为所述目标工作流的第4个工作流节点出现的top 1的工作流节点类型,也即预设数量为1,则可以,将与编码串“s4”对应的“预测算法”类型的工作流节点作为推荐节点,并将所述推荐节点确定为针对目标工作流“工作流节点1—>工作流节点2—>工作流节点3”的第4个工作流节点的推荐结果。
需要说明的是,在以上示出的实施方式中,所述预设数量为1,也即所述推荐节点的数量为1个,仅仅是一种示例性的描述,本说明书中不做限定;在实际应用中,本领域技术人员根据需求可以灵活设置。例如,若预设数量为2,需要为用户推荐可能作为所述目标工作流的第4个工作流节点出现的top 2,则可以将与编码串“s4”、“s5”对应的“预测算法”、“数据输出”类型的工作流节点作为推荐节点,在此不再一一赘述。
另外,在实际应用中,为了提高所述推荐结果的全面性,尽量使得用户在所述推荐结果中可以直接找到所需的下一个工作流节点,可以设置增加所述推荐节点的数量(比如,为用户推荐top5)。其中,所述推荐节点的数量,可以是远远小于工作流节点的所有预设类型的数量的,以使用户直接根据所述推荐结果来确定所述目标工作流的下一个工作流节点时,能够显著提升查找效率。例如,工作流节点的所有预设类型有上百种,推荐节点的数量只有5个。
在示出的另一种实施方式中,为所述目标工作流推荐工作流节点时,可以为用户推荐所述目标工作流的下一个工作流节点出现可能性较大的工作流节点。在实现时,所述基于针对所述目标编码串序列的下一个编码串的所述预测结果,确定针对所述目标工作流的下一个工作流节点的推荐结果,具体可以包括:将所述预测结果中包括的各个概率值中大于预设阈值的概率值对应的工作流节点,作为所述推荐节点,并将所述推荐节点确定为针对所述目标工作流的下一个工作流节点的所述推荐结果。
接着以上示出的实施例继续举例说明,若所述预设阈值为20%,则目标编码串序列[s1,s2,s3]的第4个编码串为编码串样本“s4”的概率值为50%,为编码串样本“s5”的概率值为30%,均超过了所述预设阈值;那么,可以将与编码串样本“s4”、“s5”分别对应的“预测算法”、“数据输出”类型的工作流节点作为推荐节点,并将所述推荐节点确定为针对目标工作流“工作流节点1—>工作流节点2—>工作流节点3”的第4个工作流节点的推荐结果。
需要说明的是,在以上示出的实施方式中,由于为用户推荐的工作流节点作为所述目标工作流的下一个工作流节点出现的概率大于所述预设阈值,可以保证所述推荐结果的准确性,提升用户对工作流节点推荐功能的满意度。例如,在以上示出的“最有可能出现的top N个不同类型的工作流节点”的实施方式中,如果预设的推荐节点数量为5个,也即为用户推荐最有可能出现的top 5,那么所述推荐结果中可能会包含与编码串s2、s3等分别对应的、可能作为所述目标工作流的下一个工作流节点出现的概率值很小的工作流节点,进而所述推荐结果的准确率可能降低,导致用户体验变差。
另外,在实际应用中,为了提高所述推荐结果的全面性,也可以减小所述预设阈值,从而增加所述推荐节点的数量,也即,提高所述推荐结果中包含用户实际需要的下一个工作流节点的概率。
进一步地,在实际应用中,用户通常可以通过绘制工作流程图的方式,来创建与所述工作流程图对应的工作流。其中,所述“工作流程图”,也可以被称作业务流程图、流程图等,本说明书中不做限定;所述工作流程图可以用于描述业务流程中包含的各个业务事项,以及描述执行业务流程时,所述各个业务事项在时序与逻辑上的关联关系。
需要说明的是,关于绘制工作流程图所使用的制图工具,可以包括任意一种用于绘制工作流程图、或创建工作流的工具;所述制图工具通常可以为用户提供制图界面。在实际应用中,本领域技术人员可以根据需求灵活选择不同的制图工具,本说明书中不做特殊限定;例如,所述制图工具,具体可以包括用于绘制工作流程图的制图软件,也可以包括具备创建工作流功能的IDE(集成开发工具)。
下面结合图2,对在所述制图界面中为用户推荐工作流节点的技术方案进行描述。请参见图2,图2是一示例性的实施例示出的一种制图界面的示意图。
制图界面20中,至少可以包括预设组件列表202和画布区域204。其中,预设组件列表202可以用于展示所有预设类型的组件;画布区域204可以用于展示用户已绘制的工作流程图。其中,所述用户已绘制的工作流程图中可以包括用户已添加的若干组件、以及用于连接所述若干组件的有向连线。
例如,如图2所示,预设组件列表202可以展示所有预设类型的组件,具体可以包括“数据输入”、“数据输出”、“数据预处理”、“分类算法”、“预测算法”等预设类型的组件;画布区域204可以用于展示用户已绘制的工作流程图,如图2所示的工作流程图中,具体可以包括用户添加的组件1“数据输入”、组件2“数据预处理”、组件3“分类算法”、以及用于连接上述组件的若干条有向连线。
需要说明的是,所述工作流程图通常可以是有向无环图(DAG,Directed AcyclicGraph),也即,所述工作流程图中包含的各个组件之间存在时序和逻辑上的关联。
在示出的一种实施方式中,在生成与所述目标工作流对应的目标编码串序列之前,所述方法还可以包括:响应于用户在所述制图界面中创建工作流程图,可以生成与所述工作流程图对应的所述目标工作流;其中,所述工作流程图可以包括至少一个组件;所述工作流程图中的组件可以用于指示所述目标工作流中对应的工作流节点。
具体地,用户可以将至少一个组件添加至所述制图界面中的画布区域,以创建包含所述至少一个组件的工作流程图,并生成与所述工作流程图对应的一条或多条工作流;进而可以将与所述工作流程图对应的全部工作流或部分工作流,确定为所述目标工作流,以得到针对所述目标工作流的下一个工作流节点的推荐结果。
例如,用户可以依次将组件1“数据输入”、组件2“数据预处理”、和组件3“分类算法”添加至所述制图界面的画布区域中,并利用有向线段连接上述组件,创建出如图2所示的工作流程图;响应于用户在制图界面中创建出如图2所示的工作流程图,可以生成与所述工作流程图对应的目标工作流“工作流节点1—>工作流节点2—>工作流节点3”;其中,所述工作流程图中的组件1、组件2、组件3,可以分别用于指示所述目标工作流中的“工作流节点1、工作流节点2、工作流节点3。
在实际应用中,为了便于用户绘制工作流程图,所述组件的名称通常可以用于指示对应的业务事项。
例如,如图2所示的工作流程图中包括组件1、组件2和组件3;所述工作流程图中的组件1、组件2、组件3,可以分别用于指示目标工作流中的“工作流节点1、工作流节点2、工作流节点3;其中,组件1的名称可以为“数据输入”,组件2的名称可以为“数据预处理”,组件3的名称可以为“分类算法”。进一步地,可以生成与所述工作流程图对应的目标工作流“工作流节点1—>工作流节点2—>工作流节点3”;其中,针对工作流节点1、工作流节点2、工作流节点3分别进行编码,得到对应的编码串分别为s1、s2、s3。进一步地,可以生成与目标工作流“工作流节点1—>工作流节点2—>工作流节点3”对应的目标编码串序列[s1,s2,s3]。
在示出的一种实施方式中,在确定针对所述目标工作流的下一个工作流节点的所述推荐结果之后,所述方法还可以包括:基于针对所述目标工作流的下一个工作流节点的所述推荐结果,在所述制图界面中向用户展示与所述至少一个推荐节点对应的至少一个推荐组件。
请参见图3,图3是一示例性的实施例示出的一种推荐区域的示意图。在如图2所示的制图界面20中,还可以包括推荐区域206;推荐区域206可以用于展示与为用户推荐的至少一个推荐节点对应的至少一个推荐组件。关于推荐区域206在制图界面20中展示的具体形式,本说明书中不做限定,本领域技术人员可以根据需求自行设置;例如,推荐区域206可以叠加展示在预设组件列表202和/或画布区域204的上层,或者,响应于确定针对所述目标工作流的下一个工作流节点的推荐结果,可以更新如图2所示的制图界面20,并在更新后的制图界面中为推荐区域206提供单独的展示区域,以使推荐区域206与制图界面20融为一体,也不会对制图界面20中的其他内容造成遮挡。
例如,在确定针对目标工作流“工作流节点1—>工作流节点2—>工作流节点3”的第4个工作流节点的推荐结果为“预测算法”类型以及“数据输出”类型的工作流节点之后,可以在如图3所示的推荐区域206中,向用户展示与上述推荐节点对应的推荐组件,也即,组件“预测算法”和组件“数据输出”。
需要说明的是,在以上示出的实施方式中,由于可以在上述制图界面中向用户展示与推荐节点对应的推荐组件,用户可以直接从展示的所述至少一个推荐组件中选择需要添加至所述工作流程图中的下一个组件,而无需从预设组件列表202展示的所有预设组件中,耗费大量的时间手动查找所需的组件,从而可以提高用户通过绘制工作流程图创建工作流的效率。
在相关技术中,通过如图2所示的制图界面20绘制工作流程图来创建工作流时,用户可以先从预设组件列表202展示的所有预设类型的候选组件中,手动选择出需要为工作流程图添加的下一个组件;进一步地,可以将选中的组件“拖拉拽”至画布区域204中,再通过有向连线,将所述选中的组件与画布区域204中已有的一个或多个组件连接起来,即可将所述选中的组件添加至工作流程图中;进而可以实现将与所述选中的组件对应的工作流节点作为下一个工作流节点,添加至与所述工作流程图对应的目标工作流中。由此可见,在相关技术中,如果所述制图界面的预设组件列表中,为用户提供的预设类型的候选组件数量很多(如上百种可选的组件),则用户需要耗费大量的时间,从预设组件列表向用户展示的所有可选的组件中,手动查找出需要为工作流程图添加的下一个组件,导致用户通过绘制工作流程图来创建工作流的效率较低。
需要说明的是,在以上示出的实施方式中,由于所述目标工作流中可以包括至少一个工作流节点,也即,所述目标工作流为已创建的工作流,所述方法只能针对已创建的工作流,来进行工作流节点的推荐;因此,在实际应用中,为了改善用户体验,还可以根据各个工作流节点作为工作流中的第一个节点出现的概率,也即,可以根据所述编码串样本集中的每个编码串样本作为编码串序列中的第一个编码串出现的概率值,确定针对工作流中的首个工作流节点的推荐结果。
例如,如果当前并未创建目标工作流或工作流程图,可以将“数据输入”类型的工作流节点作为推荐节点,确定为针对首个工作流节点的推荐结果,或者可以将组件“数据输入”作为推荐组件,确定为针对首个组件的推荐结果。
另外,需要说明的是,在本说明书的各个实施例中,所述语言模型的训练样本可以从不同的应用环境(例如,不同的制图工具)中收集,并可以将利用初步收集到的训练样本所训练出来的语言模型作为初始版本进行使用,为用户推荐工作流节点或组件;随着实际应用中,在当前特定的应用环境中已创建的工作流逐渐增多,还可以获取到在当前应用环境中创建的工作流对应的编码串序列作为训练样本,进一步地对所述初始版本的语言模型进行训练和优化,从而提高所述语言模型在当前特定的应用场景中的推荐结果准确度。
除了所述目标工作流仅包括一条工作流的情况,所述目标工作流也可以包括多条工作流,本领域技术人员基于以上各实施例中示出的实施方式,不需要付出创造性的劳动,就可以推测出针对包括多条工作流的目标工作流来推荐下一个工作流节点的实现方式,在此不再赘述。例如,所述目标工作流中包括多条工作流时,可以生成与所述目标工作流中的每条工作流分别对应的编码串序列,进一步地,可以通过所述语言模型,得到针对每条工作流分别对应的编码串序列的下一个编码串的预测结果;进一步地,可以基于得到的多个预测结果之和,确定针对所述目标工作流的下一个工作流节点的推荐结果。
通过以上技术方案可知,通过针对目标工作流中包括的每个工作流节点进行编码,得到分别与每个工作流节点对应的编码串,可以生成与所述目标工作流对应的目标编码串序列,由于将生成的所述目标编码串序列输入训练完成的语言模型,可以得到所述语言模型输出的针对所述目标编码串序列的下一个编码串的预测结果,进而可以得到针对所述目标工作流的下一个工作流节点的推荐结果;因此,在用户尝试为目标工作流选择下一个工作流节点时,可以根据目标工作流中已有的工作流节点,自动推荐下一个工作流节点的类型,以使用户可以直接从推荐节点中选择下一个工作流节点,从而可以提高用户创建工作流的效率。
与上述工作流节点推荐方法的实施例对应的,本说明书还提供了一种工作流节点推荐装置的实施例。
请参见图4,图4是一示例性的实施例示出的一种工作流节点推荐装置所在电子设备的硬件结构图。在硬件层面,该设备包括处理器402、内部总线404、网络接口406、内存408以及非易失性存储器410,当然还可能包括其他业务所需要的硬件。本说明书一个或多个实施例可以基于软件方式来实现,比如由处理器402从非易失性存储器410中读取对应的计算机程序到内存408中然后运行。当然,除了软件实现方式之外,本说明书一个或多个实施例并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
请参见图5,图5是一示例性的实施例示出的一种工作流节点推荐装置的框图。该工作流节点推荐装置可以应用于图4所示的电子设备中,以实现本说明书的技术方案。其中,上述工作流节点推荐装置可以包括:
生成单元502,用于生成与包括至少一个工作流节点的目标工作流对应的目标编码串序列;其中,所述目标编码串序列中包括与所述目标工作流中的至少一个工作流节点分别对应的至少一个编码串;与每个工作流节点分别对应的编码串,是分别针对所述每个工作流节点进行编码而得到的;
预测单元504,用于将生成的所述目标编码串序列作为输入数据,输入训练完成的语言模型进行计算,得到所述语言模型输出的针对所述目标编码串序列的下一个编码串的预测结果;其中,所述预测结果,包括与不同类型的工作流节点分别对应的各个编码串作为所述目标编码串序列的下一个编码串的概率值;
推荐单元506,用于基于针对所述目标编码串序列的下一个编码串的所述预测结果,确定针对所述目标工作流的下一个工作流节点的推荐结果;所述推荐结果包括至少一个推荐节点。
在本实施例中,不同类型的工作流节点预先配置有不同的索引值;所述生成单元502,具体用于:
针对为所述目标工作流中的至少一个工作流节点预先配置的索引值分别进行one-hot编码,以得到与每个工作流节点分别对应的one-hot编码表示,作为与每个工作流节点分别对应的编码串;
按照所述至少一个工作流节点在所述目标工作流中的排列顺序,对one-hot编码得到的与每个工作流节点分别对应的编码串排序,得到与所述目标工作流对应的所述目标编码串序列。
在本实施例中,所述推荐单元506,具体用于:
按照所述预测结果中包括的各个概率值从大到小的顺序,将与预设数量的编码串分别对应的工作流节点,作为所述推荐节点;
将预设数量的所述推荐节点,确定为针对所述目标工作流的下一个工作流节点的所述推荐结果。
在本实施例中,所述推荐单元506,具体用于:
将所述预测结果中包括的各个概率值中大于预设阈值的概率值对应的工作流节点,作为所述推荐节点;
将所述推荐节点,确定为针对所述目标工作流的下一个工作流节点的所述推荐结果。
在本实施例中,所述生成单元502,还用于:
响应于用户在制图界面中创建包括至少一个组件的工作流程图,生成与所述工作流程图对应的所述目标工作流;其中,所述工作流程图中的组件用于指示对应的所述目标工作流中的工作流节点。
在本实施例中,所述推荐单元506,还用于:
基于针对所述目标工作流的下一个工作流节点的所述推荐结果,在所述制图界面中向用户展示与所述至少一个推荐节点对应的至少一个推荐组件。
在本实施例中,所述语言模型包括基于统计的语言模型,或基于神经网络的语言模型。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例只是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本说明书方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
在一个典型的配置中,计算机包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带、磁盘存储、量子存储器、基于石墨烯的存储介质或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
以上所述仅为本说明书一个或多个实施例的较佳实施例而已,并不用以限制本说明书一个或多个实施例,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例保护的范围之内。
Claims (10)
1.一种工作流节点推荐方法,其特征在于,所述方法包括:
生成与包括至少一个工作流节点的目标工作流对应的目标编码串序列;其中,所述目标编码串序列中包括与所述目标工作流中的至少一个工作流节点分别对应的至少一个编码串;与每个工作流节点分别对应的编码串,是分别针对所述每个工作流节点进行编码而得到的;
将生成的所述目标编码串序列作为输入数据,输入训练完成的语言模型进行计算,得到所述语言模型输出的针对所述目标编码串序列的下一个编码串的预测结果;其中,所述预测结果,包括与不同类型的工作流节点分别对应的各个编码串作为所述目标编码串序列的下一个编码串的概率值;
基于针对所述目标编码串序列的下一个编码串的所述预测结果,确定针对所述目标工作流的下一个工作流节点的推荐结果;所述推荐结果包括至少一个推荐节点。
2.根据权利要求1所述的方法,其特征在于,不同类型的工作流节点预先配置有不同的索引值;
所述生成与包括至少一个工作流节点的目标工作流对应的目标编码串序列,包括:
针对为所述目标工作流中的至少一个工作流节点预先配置的索引值分别进行one-hot编码,以得到与每个工作流节点分别对应的one-hot编码表示,作为与每个工作流节点分别对应的编码串;
按照所述至少一个工作流节点在所述目标工作流中的排列顺序,对one-hot编码得到的与每个工作流节点分别对应的编码串排序,得到与所述目标工作流对应的所述目标编码串序列。
3.根据权利要求1所述的方法,其特征在于,所述基于针对所述目标编码串序列的下一个编码串的所述预测结果,确定针对所述目标工作流的下一个工作流节点的推荐结果,包括:
按照所述预测结果中包括的各个概率值从大到小的顺序,将与预设数量的编码串分别对应的工作流节点,作为所述推荐节点;
将预设数量的所述推荐节点,确定为针对所述目标工作流的下一个工作流节点的所述推荐结果。
4.根据权利要求1所述的方法,其特征在于,所述基于针对所述目标编码串序列的下一个编码串的所述预测结果,确定针对所述目标工作流的下一个工作流节点的推荐结果,包括:
将所述预测结果中包括的各个概率值中大于预设阈值的概率值对应的工作流节点,作为所述推荐节点;
将所述推荐节点,确定为针对所述目标工作流的下一个工作流节点的所述推荐结果。
5.根据权利要求1所述的方法,其特征在于,在生成与包括至少一个工作流节点的目标工作流对应的目标编码串序列之前,所述方法还包括:
响应于用户在制图界面中创建包括至少一个组件的工作流程图,生成与所述工作流程图对应的所述目标工作流;其中,所述工作流程图中的组件用于指示对应的所述目标工作流中的工作流节点。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
基于针对所述目标工作流的下一个工作流节点的所述推荐结果,在所述制图界面中向用户展示与所述至少一个推荐节点对应的至少一个推荐组件。
7.根据权利要求1所述的方法,其特征在于,所述语言模型包括基于统计的语言模型,或基于神经网络的语言模型。
8.一种工作流节点推荐装置,其特征在于,所述装置包括:
生成单元,用于生成与包括至少一个工作流节点的目标工作流对应的目标编码串序列;其中,所述目标编码串序列中包括与所述目标工作流中的至少一个工作流节点分别对应的至少一个编码串;与每个工作流节点分别对应的编码串,是分别针对所述每个工作流节点进行编码而得到的;
预测单元,用于将生成的所述目标编码串序列作为输入数据,输入训练完成的语言模型进行计算,得到所述语言模型输出的针对所述目标编码串序列的下一个编码串的预测结果;其中,所述预测结果,包括与不同类型的工作流节点分别对应的各个编码串作为所述目标编码串序列的下一个编码串的概率值;
推荐单元,用于基于针对所述目标编码串序列的下一个编码串的所述预测结果,确定针对所述目标工作流的下一个工作流节点的推荐结果;所述推荐结果包括至少一个推荐节点。
9.一种电子设备,其特征在于,包括通信接口、处理器、存储器和总线,所述通信接口、所述处理器和所述存储器之间通过总线相互连接;
所述存储器中存储机器可读指令,所述处理器通过调用所述机器可读指令,执行权利要求1至7任一项所述的方法。
10.一种机器可读存储介质,其特征在于,所述机器可读存储介质存储有机器可读指令,所述机器可读指令在被处理器调用和执行时,实现权利要求1至7任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111433798.5A CN114115878A (zh) | 2021-11-29 | 2021-11-29 | 一种工作流节点推荐方法及装置 |
PCT/CN2022/135033 WO2023093909A1 (zh) | 2021-11-29 | 2022-11-29 | 一种工作流节点推荐方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111433798.5A CN114115878A (zh) | 2021-11-29 | 2021-11-29 | 一种工作流节点推荐方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114115878A true CN114115878A (zh) | 2022-03-01 |
Family
ID=80371916
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111433798.5A Pending CN114115878A (zh) | 2021-11-29 | 2021-11-29 | 一种工作流节点推荐方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN114115878A (zh) |
WO (1) | WO2023093909A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023093909A1 (zh) * | 2021-11-29 | 2023-06-01 | 杭州数梦工场科技有限公司 | 一种工作流节点推荐方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109902222A (zh) * | 2018-11-30 | 2019-06-18 | 华为技术有限公司 | 一种推荐方法及装置 |
CN110765353A (zh) * | 2019-10-16 | 2020-02-07 | 腾讯科技(深圳)有限公司 | 项目推荐模型的处理方法、装置、计算机设备和存储介质 |
CN111027189A (zh) * | 2019-11-28 | 2020-04-17 | 武汉理工大学 | 基于设计信息模型的工作流模型推荐方法 |
CN111080170A (zh) * | 2019-12-30 | 2020-04-28 | 北京云享智胜科技有限公司 | 一种工作流建模方法、装置、电子设备及存储介质 |
WO2021114810A1 (zh) * | 2020-05-29 | 2021-06-17 | 平安科技(深圳)有限公司 | 基于图结构的公文推荐方法、装置、计算机设备及介质 |
CN113569143A (zh) * | 2021-07-20 | 2021-10-29 | 上海明略人工智能(集团)有限公司 | 推荐结果的生成方法、装置、电子设备和计算机可读介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3171303A1 (en) * | 2015-11-19 | 2017-05-24 | Alcatel Lucent | Method, system and computer readable medium to execute a flexible workflow |
US20190205792A1 (en) * | 2016-11-02 | 2019-07-04 | Intel Corporation | Automated generation of workflows |
CN114115878A (zh) * | 2021-11-29 | 2022-03-01 | 杭州数梦工场科技有限公司 | 一种工作流节点推荐方法及装置 |
-
2021
- 2021-11-29 CN CN202111433798.5A patent/CN114115878A/zh active Pending
-
2022
- 2022-11-29 WO PCT/CN2022/135033 patent/WO2023093909A1/zh unknown
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109902222A (zh) * | 2018-11-30 | 2019-06-18 | 华为技术有限公司 | 一种推荐方法及装置 |
CN110765353A (zh) * | 2019-10-16 | 2020-02-07 | 腾讯科技(深圳)有限公司 | 项目推荐模型的处理方法、装置、计算机设备和存储介质 |
CN111027189A (zh) * | 2019-11-28 | 2020-04-17 | 武汉理工大学 | 基于设计信息模型的工作流模型推荐方法 |
CN111080170A (zh) * | 2019-12-30 | 2020-04-28 | 北京云享智胜科技有限公司 | 一种工作流建模方法、装置、电子设备及存储介质 |
WO2021114810A1 (zh) * | 2020-05-29 | 2021-06-17 | 平安科技(深圳)有限公司 | 基于图结构的公文推荐方法、装置、计算机设备及介质 |
CN113569143A (zh) * | 2021-07-20 | 2021-10-29 | 上海明略人工智能(集团)有限公司 | 推荐结果的生成方法、装置、电子设备和计算机可读介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023093909A1 (zh) * | 2021-11-29 | 2023-06-01 | 杭州数梦工场科技有限公司 | 一种工作流节点推荐方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2023093909A1 (zh) | 2023-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11816438B2 (en) | Context saliency-based deictic parser for natural language processing | |
CN110188362B (zh) | 文本处理方法及装置 | |
US11636341B2 (en) | Processing sequential interaction data | |
CN110298019A (zh) | 命名实体识别方法、装置、设备及计算机可读存储介质 | |
US20140351228A1 (en) | Dialog system, redundant message removal method and redundant message removal program | |
CN111222305A (zh) | 一种信息结构化方法和装置 | |
CN113591483A (zh) | 一种基于序列标注的文档级事件论元抽取方法 | |
US20190286978A1 (en) | Using natural language processing and deep learning for mapping any schema data to a hierarchical standard data model (xdm) | |
CN111159412A (zh) | 分类方法、装置、电子设备及可读存储介质 | |
CN113407677B (zh) | 评估咨询对话质量的方法、装置、设备和存储介质 | |
CN115017916A (zh) | 方面级情感分析方法、装置、电子设备及存储介质 | |
CN113158687A (zh) | 语义的消歧方法及装置、存储介质、电子装置 | |
WO2023093909A1 (zh) | 一种工作流节点推荐方法及装置 | |
CN116975400B (zh) | 一种数据分类分级方法、装置、电子设备及存储介质 | |
CN116450813B (zh) | 文本关键信息提取方法、装置、设备以及计算机存储介质 | |
JP2019128925A (ja) | 事象提示システムおよび事象提示装置 | |
CN116308738B (zh) | 一种模型训练的方法、业务风控的方法及装置 | |
CN112685452A (zh) | 企业案例检索方法、装置、设备和存储介质 | |
CN110851600A (zh) | 基于深度学习的文本数据处理方法及装置 | |
CN113688232B (zh) | 招标文本分类方法、装置、存储介质及终端 | |
CN115809313A (zh) | 一种文本相似度确定方法及设备 | |
CN115796984A (zh) | 物品推荐模型的训练方法、存储介质及相关设备 | |
CN110347813A (zh) | 一种语料处理方法、装置、存储介质及电子设备 | |
CN116738973B (zh) | 一种搜索意图识别方法、构建预测模型的方法和电子设备 | |
CN117520545A (zh) | 对话文本的分类方法、装置、存储介质和电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |