WO2024051146A1 - Methods, systems, and computer-readable media for recommending downstream operator - Google Patents

Methods, systems, and computer-readable media for recommending downstream operator Download PDF

Info

Publication number
WO2024051146A1
WO2024051146A1 PCT/CN2023/082782 CN2023082782W WO2024051146A1 WO 2024051146 A1 WO2024051146 A1 WO 2024051146A1 CN 2023082782 W CN2023082782 W CN 2023082782W WO 2024051146 A1 WO2024051146 A1 WO 2024051146A1
Authority
WO
WIPO (PCT)
Prior art keywords
operator
template
determining
operators
attribute information
Prior art date
Application number
PCT/CN2023/082782
Other languages
French (fr)
Inventor
Jun Yin
Li Wu
Xiangming ZHOU
Peng Huang
Hailin Zhang
Original Assignee
Zhejiang Dahua Technology Co., Ltd.
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 Zhejiang Dahua Technology Co., Ltd. filed Critical Zhejiang Dahua Technology Co., Ltd.
Publication of WO2024051146A1 publication Critical patent/WO2024051146A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/35Creation or generation of source code model driven
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06313Resource planning in a project environment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06315Needs-based resource requirements planning or analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/067Enterprise or organisation modelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/103Workflow collaboration or project management

Definitions

  • the present disclosure relates to the field of artificial intelligence technology, in particular, to methods, systems, and computer readable media for recommending downstream operator.
  • an algorithm scheme In the field of algorithm scheme modeling, an algorithm scheme generally includes one or more different operators (modules) . These operators may compose the algorithm scheme based on certain rules, and these operators may perform their functions and influence each other. In the process of building the algorithm scheme, a user needs to select appropriate operators, and then establish the connection relationship between operators. When there are many operators, the process of building the algorithm scheme may take a lot of time, which is not only error-prone but also inefficient.
  • An aspect of the present disclosure provides a method for recommending at least one downstream operator.
  • the method may include obtaining attribute information relating to a first operator in an algorithm scheme; determining, based on the attribute information relating to the first operator, at least one second operator from an operator set, the at least one second operator being at least one recommended downstream operator to be directly connected with the first operator; and generating, based on the at least one second operator, an operator recommendation list.
  • determining, based on the attribute information relating to the first operator, at least one second operator from an operator set may include: for each of a plurality of template operators in the operator set, determining, based on the attribute information relating to the first operator, a recommended score of the template operator; and determining, based on a plurality of recommended scores of the plurality of template operators, the at least one second operator from the plurality of template operators.
  • determining, based on the attribute information relating to the first operator, a recommended score of the template operators may include: for each of the plurality of template operators, determining at least one target historical algorithm scheme corresponding to the template operator from an algorithm scheme library, each of the at least one target historical algorithm scheme at least including the first operator; determining, based on the at least one target historical algorithm scheme, a correlation degree between the template operator and the first operator; determining, based on the attribute information relating to the first operator, a similarity degree between the first operator and the template operator; and determining, based on the correlation degree and the similarity degree, the recommended score of the template operator.
  • each of the at least one target historical algorithm scheme corresponding to the template operator may further include the template operator, and the template operator is a downstream operator connected with the first operator, and determining, based on the at least one target historical algorithm scheme, a correlation degree between the template operator and the first operator may include: determining a count of the at least one target historical algorithm scheme; and in response to determining that the count does not exceed a threshold count, determining that the correlation degree has a predetermined value; or in response to determining that the count exceeds the threshold count, determining, based on a ratio of the count to a reference count, the correlation degree between the template operator and the first operator.
  • the method may further include determining at least one target template operator in the plurality of template operators, a count of the at least one target historical algorithm scheme corresponding to each of the at least one target template operator exceeding the threshold count; and determining, based on a sum of the count of the at least one target historical algorithm scheme corresponding to each of the at least one target template operator, the reference count.
  • determining, based on the attribute information relating to the first operator, a similarity degree between the first operator and the template operator may include: determining, based on the attribute information relating to the first operator, a first feature vector of the first operator; determining, based on attribute information relating to the template operator, a second feature vector of the template operator; and determining, based on the first feature vector and the second feature vector, the similarity degree between the first operator and the template operator.
  • determining, based on the at least one target historical algorithm scheme, a correlation degree between the template operator and the first operator may include: determining, based on the at least one target historical algorithm scheme, a first count of first target historical algorithm schemes and a second count of second target historical algorithm schemes, the template operator in each first target historical algorithm scheme being a downstream operator directly connected with the first operator, and an upstream operator of the first operator in each second target historical algorithm scheme being the same as an upstream node of the first operator in the algorithm scheme; and determining, based on the first count and the second count, the correlation degree between the template operator and the first operator.
  • determining, based on a plurality of recommended scores of the plurality of template operators, the at least one second operator from the plurality of template operators may include: determining, based on the recommended score of each of the plurality of template operators, a plurality of candidate operators; determining an upstream operator of the first operator in the algorithm scheme, wherein the first operator receives output data of the upstream operator; and determining, based on the upstream operator, the at least one second operator from the plurality of candidate operators.
  • determining, based on the upstream operator, the at least one second operator from the plurality of candidate operators may include: for each of the plurality of candidate operators, generating a candidate group corresponding to the candidate operator, wherein the upstream operator, the first operator, and the candidate operator are sequentially connected in the candidate group; determining, based on historical algorithm schemes, at least one target group from a plurality of candidate groups corresponding to the plurality of candidate operators; and designating the candidate operator in the at least one target group as the at least one second operator.
  • determining, based on historical algorithm schemes, at least one target group from a plurality of candidate groups corresponding to the plurality of candidate operators may include: determining a count of occurrences of each of the plurality of candidate groups in the historical algorithm schemes; and designating at least one candidate group whose the count of occurrences of the least one candidate group meets a predetermined requirement as the at least one target group.
  • determining, based on the attribute information relating to the first operator, a recommended score of the template operator may include: for each of the plurality of template operators, obtaining a trained scoring estimation model; and determining the recommended score of the template operator by processing input data using the trained scoring estimation model, the input data at least including the attribute information relating to the first operator and attribute information relating to the template operator.
  • the input data may further include attribute information relating to an upstream operator of the first operator and attribute information relating to the algorithm scheme, and the attribute information relating to the algorithm scheme may include at least one of an application scenario, an authorized person, or a supporting/selecting platform of the algorithm scheme.
  • determining, based on the attribute information relating to the first operator, a recommended score of the template operator may include: for each of the plurality of template operators, generating, based on historical algorithm schemes, an operator graph, wherein each node in the operator graph represents an operator, attribute of the each node represents attribute information relating to the operator corresponding to the node, and edge attribute of each edge represents a correlation between two nodes connected by the edge; generating, based on the first operator and at least one upstream operator having a connection relationship with the first operator, an operator sub-graph; and determining, based on the operator sub-graph, the recommended score of the template operator.
  • the attribute information of the first operator may include at least one of a type of input data, a type of output data, an application scenario, a maintainer, or a supporting platform of the first operator.
  • the method may further include determining the first operator that needs to determine a downstream operator from at least one operator in the algorithm scheme, wherein the at least one operator may have been selected as operators of the algorithm scheme, and a connection relationship between the at least one operator is determined based on an external input.
  • generating, based on the at least one second operator, an operator recommendation list may include ranking the at least one second operator based on attribute information relating to the algorithm scheme and a weight of each of the at least one second operator; and generating, based on a ranking result, the operator recommendation list.
  • the system may include at least one storage device for storing a set of instructions; and at least one processing device configured to communicate with the at least one storage device, wherein when executing the set of instructions, the at least one processing device is configured to direct the system to perform operations including obtaining attribute information relating to a first operator in an algorithm scheme; determining, based on the attribute information relating to the first operator, at least one second operator from an operator set, the at least one second operator being at least one recommended downstream operator to be directly connected with the first operator; and generating, based on the at least one second operator, an operator recommendation list.
  • the system may include an acquisition module, configured to obtain attribute information relating to a first operator in an algorithm scheme; a determination module, configured to determine, based on the attribute information relating to the first operator, at least one second operator from an operator set, the at least one second operator being at least one recommended downstream operator to be directly connected with the first operator; and a recommendation module, configured to generate, based on the at least one second operator, an operator recommendation list.
  • Another aspect of the present disclosure provides a non-transitory computer readable medium, comprising a set of instructions, wherein when executed by a computing device, the set of instructions direct the computing device to perform a method for recommending at least one downstream operator, the method comprising obtaining attribute information relating to a first operator in an algorithm scheme; determining, based on the attribute information relating to the first operator, at least one second operator from an operator set, the at least one second operator being at least one recommended downstream operator to be directly connected with the first operator; and generating, based on the at least one second operator, an operator recommendation list.
  • FIG. 1 is a schematic diagram illustrating an exemplary application scenario of a system for recommending at least one downstream operator according to some embodiments of the present disclosure
  • FIG. 2 is a schematic diagram illustrating hardware and/or software components of an exemplary computing device according to some embodiments of the present disclosure
  • FIG. 3 is a block diagram illustrating an exemplary processing device according to some embodiments of the present disclosure
  • FIG. 4 is a schematic diagram illustrating an exemplary interface of an artificial intelligence (AI) platform according to some embodiments of the present disclosure
  • FIG. 5 is a flowchart illustrating an exemplary process of recommending at least one downstream operator according to some embodiments of the present disclosure
  • FIG. 6 is a flowchart illustrating an exemplary process of determining a recommended score of a template operator according to some embodiments of the present disclosure.
  • FIG. 7 is a flowchart illustrating an exemplary process of determining at least one second operator according to some embodiments of the present disclosure.
  • system, ” “device, ” “unit, ” and/or “module” used herein are one method to distinguish different components, elements, parts, sections, or assemblies of different levels in ascending order. However, the terms may be displaced by other expressions if they may achieve the same purpose.
  • the flowcharts used in the present disclosure may illustrate operations executed by the system according to embodiments in the present disclosure. It should be understood that a previous operation or a subsequent operation of the flowcharts may not be accurately implemented in order. Conversely, various operations may be performed in inverted order, or simultaneously. Moreover, other operations may be added to the flowcharts, and one or more operations may be removed from the flowcharts.
  • the embodiments of the present disclosure provide a method and a system for recommending at least one downstream operator.
  • the system may determine, based on attribute information relating to a first operator, a recommended score of each template operator of an operator set.
  • the system may determine one or more second operators from a plurality of template operators of the operator set based on the recommended score of each template operator, and designate the one or more second operators as one or more recommended downstream operators of the first operator.
  • the system may generate, based on the one or more second operators, an operator recommendation list relating to the first operator.
  • a user e.g., an algorithm scheme designer
  • FIG. 1 is a schematic diagram illustrating an exemplary application scenario of a system 100 for recommending at least one downstream operator according to some embodiments of the present disclosure.
  • the system 100 for recommending at least one downstream operator is referred to as the system 100.
  • the system 100 may include a processing device 110, a storage device 120, a terminal device 130, and a network 140.
  • the processing device 110, the storage device 120, and the terminal device 130 may be connected to and/or communicate with each other via a wireless connection, a wired connection, or a combination thereof.
  • the processing device 110 may process data and/or information associated with the system 100. For example, the processing device 110 may determine, based on attribute information relating to a first operator in an algorithm scheme, one or more second operators from an operator set as one or more recommended downstream operators to be directly connected with the first operator. As another example, the processing device 100 may generate, based on the second operator (s) , an operator recommendation list.
  • the processing device 110 may be a single server or a server group.
  • the server group may be centralized or distributed.
  • the processing device 110 may be local or remote.
  • the processing device 110 may be implemented on a cloud platform.
  • the cloud platform may include a private cloud, a public cloud, a hybrid cloud, a community cloud, a distributed cloud, an inter-cloud, a multi-cloud, or the like, or any combination thereof.
  • the processing device 110 may be implemented on a computing device 200 including one or more components illustrated in FIG. 2 of the present disclosure.
  • the storage device 120 may store data, instructions, and/or any other information associated with the recommendation of the at least one downstream operator.
  • the storage device 120 may store data obtained from the processing device 110, and/or the terminal device 130.
  • the storage device 120 may store the operator recommendation list relating to the first operator generated by the processing device 110.
  • the storage device 120 may store the plurality of recommended scores of the plurality of template operators determined by the processing device 110.
  • the storage device 120 may store a plurality of operators with a connection relationship input by a user via the terminal device 130.
  • the storage device 120 may store information relating to the plurality of template operators in the operator set, such as a type of input/output data, an application scenario, a builder, or a maintainer of each template operator.
  • the storage device 120 may store data and/or instructions that the processing device 110 may execute or use to perform exemplary methods described in the present disclosure.
  • the storage device 120 may include a mass storage, removable storage, a volatile read-and-write memory, a read-only memory (ROM) , or the like, or any combination thereof.
  • the storage device 120 may be implemented on a cloud platform.
  • the storage device 120 may be integrated into the processing device 110 and/or the terminal device 130.
  • the terminal device 130 may enable user interaction between a user and the system 100.
  • the terminal device 130 may transmit instructions or data input by the user to the processing device 110, and/or display processing results generated by the processing device 110 to the user.
  • the terminal device 130 may include a mobile device 131, a tablet computer 132, a laptop computer 133, or the like, or any combination thereof.
  • the mobile device 131 may include a smart home device, a wearable device, a smart mobile device, a virtual reality device, an augmented reality device, or the like, or any combination thereof.
  • the smart home device may include a smart lighting device, a control device of an intelligent electrical apparatus, a smart monitoring device, a smart television, a smart video camera, an interphone, or the like, or any combination thereof.
  • the wearable device may include a bracelet, a footgear, eyeglasses, a helmet, a watch, clothing, a backpack, a smart accessory, or the like, or any combination thereof.
  • the smart mobile device may include a mobile phone, a personal digital assistant (PDA) , a gaming device, a navigation device, a point of sale (POS) device, a desktop, or the like, or any combination thereof.
  • PDA personal digital assistant
  • the virtual reality device and/or the augmented reality device may include a virtual reality helmet, virtual reality glasses, a virtual reality patch, an augmented reality helmet, augmented reality glasses, an augmented reality patch, or the like, or any combination thereof.
  • the terminal device 130 may be part of the processing device 110.
  • the terminal device 130 may include any device with algorithm processing capability, which may be integrated with an artificial intelligence (AI) platform.
  • the AI platform may refer to a platform used to develop machine learning models.
  • applications APPs
  • plug-in components plug-in components
  • website of the AI platform may be installed on the terminal device 130.
  • the user may build an algorithm scheme based on corresponding task requirements via the terminal device 130. For example, the user may set information relating to an application scenario, a scheme name, an authorized person or others of the algorithm scheme on the user interface of the AI platform via the terminal device 130, select operators from the operator set of the AI platform, and establish the connection relationship between the selected operators, to realize the establishment of the algorithm scheme with specific functions.
  • the network 140 may include any suitable network that may facilitate the exchange of information and/or data for the system 100.
  • one or more components e.g., the processing device 110, the storage device 120, the terminal device 130
  • the processing device 110 may communicate information and/or data with one or more other components of the system 100 via the network 140.
  • the processing device 110 may determine at least one target historical algorithm scheme from the storage device 120 via the network 140.
  • the network 140 may be and/or include a public network (e.g., the Internet) , a private network (e.g., a local area network (LAN) , a wide area network (WAN) ) ) , a wired network (e.g., an Ethernet network) , a wireless network (e.g., an 802.11 network, a Wi-Fi network) , a cellular network (e.g., a Long Term Evolution (LTE) network) , a frame relay network, a virtual private network (VPN) , a satellite network, a telephone network, routers, hubs, switches, server computers, and/or any combination thereof.
  • the network 140 may include one or more network access points.
  • the network 140 may include wired and/or wireless network access points such as base stations and/or internet exchange points through which one or more components of the system 100 may be connected to the network 140 to exchange data and/or information.
  • the system 100 may include one or more additional components and/or one or more components of the system 100 described above may be omitted. Additionally or alternatively, two or more components of the system 100 may be integrated into a single component. A component of the system 100 may be implemented on two or more sub-components.
  • FIG. 2 is a schematic diagram illustrating hardware and/or software components of an exemplary computing device according to some embodiments of the present disclosure.
  • one or more components of the system 100 may be implemented on the computing device 200.
  • the processing device 110 may be implemented on the computing device 200 and configured to perform functions of the processing device 110 disclosed in this disclosure.
  • the computing device 200 may be a device with algorithm processing capacities, such as a computer, a smart phone, or the like, which may be integrated with an AI platform.
  • the computing device 200 may include COM ports 250 connected to and from a network connected thereto to facilitate data communications.
  • the computing device 200 may also include a processor 220, in the form of one or more processors, for executing program instructions.
  • the processor 220 may include interface circuits and processing circuits therein.
  • the interface circuits may be configured to receive electronic signals from a bus 210, wherein the electronic signals encode structured data and/or instructions for the processing circuits to process.
  • the processing circuits may conduct logic calculations, and then determine a conclusion, a result, and/or an instruction encoded as electronic signals. Then the interface circuits may send out the electronic signals from the processing circuits via the bus 210.
  • the computing device 200 may include a program storage and a data storage of different forms, for example, a disk 270, and a read-only memory (ROM) 230, or a random access memory (RAM) 240, for storing various data files to be processed and/or transmitted by the computing device 200.
  • the computing device 200 may also include program instructions stored in the ROM 230, the RAM 240, and/or another type of non-transitory storage medium to be executed by the processor 220.
  • the methods and/or processes of the present disclosure may be implemented as the program instructions.
  • the computing device 200 may also include an I/O component 260, supporting input/output between the computing device 200 and other components.
  • the computing device 200 may also receive programming and data via network communications.
  • processor 220 is described in the computing device 200.
  • the computing device 200 in the present disclosure may also include a plurality of processors, thus operations and/or method steps that are performed by one processor 220 as described in the present disclosure may also be jointly or separately performed by the plurality of CPUs/processors.
  • FIG. 3 is a block diagram illustrating an exemplary processing device according to some embodiments of the present disclosure.
  • the processing device 110 may include an acquisition module 310, a determination module 320, and a recommendation module 330.
  • the acquisition module 310 may be configured to obtain attribute information relating to a first operator in an algorithm scheme.
  • the attribute information of the first operator may include at least one of a type of input data, a type of output data, an application scenario, a maintainer, or a supporting platform of the first operator.
  • the acquisition module 310 may determine the first operator that needs to determine a downstream operator from at least one operator in the algorithm scheme. The at least one operator may have been selected as operators of the algorithm scheme, and a connection relationship between the at least one operator may be determined based on an external input.
  • the determination module 320 may be configured to determine at least one second operator from an operator set based on the attribute information relating to the first operator.
  • the at least one second operator may be at least one recommended downstream operator to be directly connected with the first operator.
  • the determination module 320 may determine a recommended score of the template operator based on the attribute information relating to the first operator; and determine the at least one second operator from the plurality of template operators based on a plurality of recommended scores of the plurality of template operators.
  • the determination module 320 may determine at least one target history algorithm scheme corresponding to the template operator from an algorithm scheme library, each of the at least one target history algorithm scheme at least including the first operator; determine a correlation degree between the template operator and the first operator based on the at least one target history algorithm scheme; determine a similarity degree between the first operator and the template operator based on the attribute information relating to the first operator; and determine the recommended score of the template operator based on the correlation degree and the similarity degree.
  • the determination module 320 may determine a first feature vector of the first operator based on the attribute information relating to the first operator; determine a second feature vector of the template operator based on attribute information relating to the template operator; and determine the similarity degree between the first operator and the template operator based on the first feature vector and the second feature vector.
  • the determination module 320 may determine a plurality of candidate operators based on the recommended score of each of the plurality of template operators; determine an upstream operator of the first operator in the algorithm scheme, wherein the first operator may receive output data of the upstream operator; and determining the at least one second operator from the plurality of candidate operators based on the upstream operator.
  • the determination module 320 may obtain a trained scoring estimation model; and determine the recommended score of the template operator by processing input data using the trained scoring estimation model, the input data at least may include the attribute information relating to the first operator and attribute information relating to the template operator.
  • the recommendation module 330 may be configured to generate an operator recommendation list based on the at least one second operator. In some embodiments, the recommendation module 330 may rank the at least one second operator based on attribute information relating to the algorithm scheme and a weight of each of the at least one second operator; and generate the operator recommendation list based on a ranking result.
  • modules of the processing device 110 may be found elsewhere in the present disclosure, for example, FIG. 5 and the descriptions thereof.
  • the above description of the processing device 110 and its modules is only for the convenience of description, and cannot limit the present disclosure to the scope of the examples cited. It can be understood that for those skilled in the art, after understanding the principle of the system, it is possible to combine various modules arbitrarily, or form a subsystem to connect with other modules without departing from this principle.
  • the acquisition module 310, the determination module 320, and the recommendation module 330 may be different modules in one system, or one module may realize the functions of the above-mentioned two or more modules.
  • each module may share one storage module, or each module may have its own storage module. Variations such as these are within the scope of protection of the present disclosure.
  • a user may utilize a plurality of algorithm components to build a corresponding algorithm scheme on an AI platform based on actual requirements.
  • Each of the plurality of algorithm components may contain information such as one or more models with specific algorithm functions, modeling codes of each model, data sets used for training the model (s) , deployment codes of the model (s) , or the like.
  • These algorithm components are called operators in the present disclosure. For example, target detection function, target tracking function, or target recognition function may be realized through one or more operators.
  • FIG. 4 is a schematic diagram illustrating an exemplary interface of an AI platform according to some embodiments of the present disclosure.
  • FIG. 4 shows a pull-type AI platform.
  • a scheme creation instruction may be input by the user to enter a creation interface 400 shown in FIG. 4.
  • the creation interface 400 may be presented to the user via a terminal device (e.g., the terminal device 130) .
  • the creation interface 400 may include an information configuration area 410, an operator list area 420, and an operator building area 430.
  • the user may configure scheme information and/or operator information of the algorithm scheme.
  • the scheme information (also referred to as attribute information of the algorithm scheme) may include a scheme name, an application scenario of the algorithm scheme, a supporting/selecting platform of the algorithm scheme, an authorized person of the algorithm scheme, or any combination thereof.
  • the application scenarios of the algorithm scheme may include entrance and exit detection, attendance checking, or smart community.
  • the supporting platform of the algorithm scheme may be a platform on which the algorithm scheme can apply.
  • the selecting platform of the algorithm scheme may be a platform on which the algorithm scheme is going to apply.
  • the authorized person of the algorithm scheme may refer to a person who are allowed to use is algorithm scheme, also known as the user, such as an administrator, a manager, or the like.
  • operator information also referred to as attribute information of one or more operators
  • operator information may include a developer, a maintainer, an application scenario, a type of input data, a type of output data, or other information of the operator (s) .
  • a corresponding name of the current algorithm scheme may be input into an input box of the scheme name, and a corresponding supporting platform of the current algorithm scheme may be input into the input box of the device name.
  • other information of the algorithm scheme may also be configured, such as a creator of the algorithm scheme, which is not limited in the present disclosure.
  • An operator list may be displayed in the operator list area 420.
  • the operator list may include all operators, or merely include operators that can be run on the selecting platform or supporting platform of the algorithm scheme.
  • the operators in the operator list may be classified according to the functions of the operators.
  • the operator list includes five groups of operators, each of which may realize different functions, such as: target detection, target tracking, target recognition, target segmentation, and target optimization. Operators 1, 2, and 3 may be used to realize the function of target tracking.
  • the operator building area 430 may display the operators selected by the user and the connection relationship between the selected operators. For example, when building an algorithm scheme, the user may sequentially select multiple operators from the operator list area 420, and drag the operators needed in the algorithm scheme to the operator building area 430. Further, after each time an operator is dragged to the operator building area 430, the user may establish a connection relationship between the currently dragged operator and a previously dragged operator, that is, an operator from which the currently dragged operator receives output data may be determined. It should be noted that after dragging the operator from the operator list area 420 to the operator building area 430, abouthe operator may still be displayed in the operator list area 420.
  • the user may drag the operator from the operator list area 420 to the operator building area 430 again.
  • the user may edit the selected operator in the operator building area 430, for example, save the selected operator and the connection relationship between operators, update an operator library, delete an operator connection line, and export operators with the established connection relationship.
  • the user may build the algorithm scheme as following process: in step 1, selecting an operator from the operator list area 420, dragging the operator to the operator building area 430, and using the operator as a starting node of the algorithm scheme, that is, the operator may receive input data of the algorithm scheme; in step 2, selecting a next operator from the operator list area 420; in step 3, dragging the selected operator to the operator building area 430, and establishing a connection relationship between the operator and the operator already in the operator building area 430, that is, determining an operator from which the currently selected operator receives output data.
  • connection relationship may be established between the operators by way of serial, parallel, or serial-parallel combination; in step 4, the step 2 and step 3 may be repeated until all operators are dragged and connected to construct a complete algorithm scheme. At this time, the last operator may output data of the algorithm scheme.
  • the user may package a file including all operators in the algorithm scheme and the connection relationships among all operators established by the user.
  • the user may send the packaged file to a corresponding service device, such as a camera.
  • the service device may run the file to make the algorithm scheme run on the service device, and then realize corresponding functions.
  • the user may need to select an operator from the operator list area and drag it each time. When there are many operators displayed in the operator list area, the user may need to spend more time to find an appropriate operator, which may not be only time-consuming, but also error-prone.
  • the method for recommending at least one downstream operator provided in the embodiments of the present disclosure may determine at least one second operator from an operator set as at least one recommended downstream operator to be directly connected with a first operator; and generate an operator recommendation list for the first operator.
  • the user may select at least one downstream operator from the operator recommendation list, which may not only help the user quickly locate a possible downstream operator, but also save the selection time, thus improving the construction efficiency of the algorithm scheme.
  • FIG. 5 is a flowchart illustrating an exemplary process of recommending at least one downstream operator according to some embodiments of the present disclosure.
  • process 500 may be executed by the system 100.
  • the process 500 may be implemented as a set of instructions stored in a storage device (e.g., the storage device 120) .
  • the processing device 110 e.g., the processor 220 of the computing device 200 and/or one or more modules illustrated in FIG. 3 may execute the set of instructions and may accordingly be directed to perform the process 500.
  • the processing device 110 may obtain attribute information relating to a first operator in an algorithm scheme.
  • the algorithm scheme may refer to an algorithm scheme that the user is building and has not yet been completed.
  • the first operator may refer to an operator that the user has selected whose downstream operator needs to be determined, such as an operator that the user has recently dragged into the operator building area 430.
  • the processing device 110 may determine the first operator whose downstream operator needs to be determined from at least one operator with a known connection relationship.
  • the downstream operator may be used to receive output data of the first operator.
  • the at least one operator may have been selected as operators of the algorithm scheme, and a connection relationship between the at least one operator may have been determined based on an external input.
  • the at least one operator may include multiple operators dragged into the operator building area 430 from the operator list area 420 by the user, and the user may establish a connection relationship (e.g., serial relationship, parallel relationship, or serial-parallel relationship) for the multiple operators already in the operator building area 430.
  • the at least one operator may include one or more types of operators. A count of each type of operators may be one or more.
  • the at least one operator that has established a connection relationship in the operator building region 430 may include two operators 1, one operator 2, or the like.
  • attribute information of an operator may include at least one of a type of input data, a type of output data, an application scenario, a maintainer, or a supporting platform of the operator.
  • the type of input/output data may indicate the meaning of the input/output data. For example, if the input/output data represents a target box on an image, the input/output data may belong to a target box type. If the input/output data represents a probability that a target object in the image is a person, the input/output data may belong to a confidence type. If the input/output data represents feature information of a target object in the image, the input/output data may belong to a target feature type.
  • the application scenario of the operator may refer to functions that the operator may realize and/or functions of which the operator undertakes in the algorithm scheme. For example, the application scenario of the operator may include target detection, target tracking, target recognition, or the like.
  • the maintainer of the operator may refer to a user who configures and adjusts the parameters of the operator.
  • the supporting platform of the operator may refer to a platform that can run the operator.
  • a count of first operators whose downstream operator needs to be determined may be one or more.
  • operation 520 and operation 530 may be performed for each of the first operators, that is, an operator recommendation list may be generated for each first operator.
  • one first operator may be taken as an example hereinafter.
  • the processing device 110 may determine, based on the attribute information relating to the first operator, at least one second operator from an operator set.
  • the at least one second operator may be at least one recommended downstream operator to be directly connected with the first operator.
  • the operator set may refer to a set including a plurality of available operators.
  • the operator set may refer to a set including all operators displayed in the operator list area 420, and the operators displayed in the operator list area 420 may also be called template operators.
  • a second operator may be a recommended downstream operator to be directly connected with the first operator, that is, the second operator may be used to receive the output data of the first operator.
  • the processing device 110 may determine a recommended score of the template operator based on the attribute information of the first operator. Further, the processing device 110 may determine, based on a plurality of recommended scores of the plurality of template operators, the at least one second operator from the plurality of template operators. For example, the processing device 110 may filter out a template operator whose recommended score exceeds a score threshold, or one or more template operators with the highest recommended score, and designate the filtered template operator (s) as the second operator.
  • a recommended score of a template operator may reflect a degree that the template operator is recommended as the downstream operator of the first operator. The higher the recommended score of the template operator is, the higher degree the template operator is recommended as the downstream operator of the first operator. In some embodiments, the recommended score of the template operator may reflect a probability that the template operator receives the output data of the first operator in the current algorithm scheme. The higher the recommended score of the template operator is, the higher the probability that the template operator receives the output data of the first operator in the current algorithm scheme is. Based on the plurality of recommended scores, template operators with high probability of receiving the output data of the first operator may be determined.
  • the processing device 110 may determine a correlation degree between the template operator and the first operator and/or a similarity degree between the first operator and the template operator; and determine the recommended score of the template operator based on the correlation degree and the similarity degree. More descriptions regarding the determination of the recommended score may be found elsewhere in the present disclosure, for example, FIG. 6 and the related descriptions, which are not repeated here.
  • the processing device 110 may determine the recommended score of the template operator using a trained scoring estimation model. Specifically, the processing device 110 may obtain the trained scoring estimation model, and determine the recommended score of the template operator by processing input data using the trained scoring estimation model, wherein the input data may include the attribute information relating to the first operator and attribute information relating to the template operator. In some embodiments, the input data of the trained scoring estimation model may also include attribute information relating to an upstream operator of the first operator and/or attribute information of the algorithm scheme.
  • the upstream operator may refer to an operator in front of the first operator, and the first operator may be directly connected with the upstream operator and receive output data of the upstream operator.
  • the processing device 110 may input related information of a type of input data, a type of output data, the supporting platform of the first operator, the upstream operator of the first operator, and the template operator, as well as the application scenario, the user, and the creator of the current algorithm scheme (e.g., the algorithm scheme under construction) into the trained scoring estimation model.
  • the trained scoring estimation model may process the input data, and output the recommended score of the template operator.
  • the trained scoring estimation model may be obtained by model training using training data.
  • the training data may include a plurality of training samples and their corresponding training labels.
  • a training sample may include attribute information of a sample first operator and attribute information of a sample template operator, and a corresponding training label may include a gold standard recommended score for the sample template operator to be the downstream operator of the sample first operator.
  • the gold standard recommended score may be input or confirmed by a user.
  • the training sample may also include attribute information of a sample algorithm scheme and/or attribute information of one or more sample upstream operators of the sample first operator of the training sample.
  • the processing device 110 may generate the training data based on a historical algorithm scheme in the algorithm scheme library, where the attribute information of a first operator (i.e., the sample first operator) in the historical algorithm scheme, the attribute information of the historical algorithm scheme (i.e., the sample algorithm scheme) , and the attribute information of one or more upstream operators (i.e., the sample upstream operators) of the first operator in the historical algorithm scheme may be used as the training samples.
  • the corresponding training label may be determined by the user by evaluating whether the sample template operator is suitable as the downstream operator of the sample first operator based on the historical algorithm scheme.
  • the trained scoring estimation model may be obtained.
  • the trained scoring estimation model may include a click-through rate (CTR) estimation model.
  • CTR click-through rate
  • the processing device 110 may use a graph neural network to determine the recommended score of a template operator. Specifically, the processing device 110 may generate an operator graph based on historical algorithm schemes; generate an operator sub-graph based on the first operator and at least one upstream operator having a connection relationship with the first operator; and determine the recommended score of the template operator based on the operator sub-graph.
  • Each node in the operator graph may represent an operator, an attribute of each node may represent attribute information relating to the operator corresponding to the node, and an edge attribute of each edge may represent a correlation degree between two nodes connected by the edge.
  • the processing device 110 may designate a plurality of different operators contained in the historical algorithm schemes as the plurality of nodes and designate the attribute information of the plurality of different operators as the attribute of the plurality of nodes based on the historical algorithm scheme. If two operators are directly connected in the historical algorithm schemes, an edge may be added between two nodes corresponding to the two operators. A count of connection times of the two operators in the historical algorithm scheme may be the attribute of the edge between the two nodes corresponding to the two operators. Optionally, the attribute of the edge may also reflect a connection type of the two operators connected by the edge.
  • the attribute of the edge between a first node and a second node may include a count of times that an operator corresponding to the first node is designated as a direct upstream operator of an operator corresponding to the second node, a count of times that the operator corresponding to the first node is designated as a direct downstream operator of the operator corresponding to the second node, or the like.
  • the processing device 110 may select a target node corresponding to at least one upstream operator of the first operator and the first operator from the operator graph.
  • the target node and the node directly connected to the target node may be designated as nodes of the operator sub-graph, and the attributes of the edges in the operator sub-graph may also be determined based on the operator graph.
  • the processing device 110 may query a plurality of nodes corresponding to the plurality of template operators in the operator sub-graph. If the operator sub-graph contains a node corresponding to a template operator, and there is an edge between the node corresponding to the template operator and the node corresponding to the first operator, the recommended score of the template operator may be determined based on the attribute of the edge.
  • a higher recommended score may be assigned to the template operator if the edge attribute reflects that the connection times is high. If the operator sub-graph does not contain the node corresponding to the template operator, or there is no edge between the node corresponding to the template operator and the node corresponding to the first operator, the recommended score corresponding to the template operator may be determined as 0.
  • the processing device 110 may directly determine the recommended score of the template operator based on the operator graph. The method of determining the recommended score of the template operator based on the operator graph may be similar to the method of determining the recommended score of the template operator based on the operator sub-graph.
  • the processing device 110 may directly determine the at least one second operator from the plurality of template operators based on the recommended score of each template operator.
  • at least one second operator may include template operators with top N recommended scores.
  • the processing device 110 may determine a plurality of template operators meeting a preset condition based on the recommended score of each of the plurality of template operators, and designate the plurality of template operators meeting a preset condition as a plurality of candidate operators.
  • the processing device 110 may further determine, based on the upstream operator of the first operator in the algorithm scheme, the at least one second operator from the plurality of candidate operators. More description of determining the at least one second operator may be found elsewhere in the present disclosure, for example, FIG. 7 and the relevant descriptions, which are not repeated here.
  • the processing device 110 may generate, based on the at least one second operator, an operator recommendation list.
  • the operator recommendation list may include information about the at least one recommended downstream operator to be directly connected with the first operator (i.e., the at least one second operator) .
  • the processing device 110 may rank the at least one second operator based on attribute information relating to the algorithm scheme and a weight of each of the at least one second operator, and generate the operator recommendation list based on the ranking result.
  • the weight of a second operator may reflect a correlation degree between the second operator and the first operator and/or a correlation degree between the second operator and the current algorithm scheme. For example, if the application scenario of the second operator is the same as the application scenario of the first operator, the weight of the second operator may be high. As another example, if the supporting platform of the second operator is the same as the supporting platform of the first operator and the current algorithm scheme, the weight of the second operator may be high.
  • the processing device 110 may rank the at least one second operator based on a recommended score of each second operator in the order from high to low, and generate the operator recommendation list based on the ranking result. In some embodiments, for a second operator that is finally added to the operator recommendation list, if the second operator has different versions, the processing device 110 may add the version of the second operator with the best testing performance to the operator recommendation list.
  • the processing device 110 may output the generated operator recommendation list to the user, for example, in the interface shown in FIG. 4.
  • the user may select an appropriate second operator from the operator recommendation list, and drag the selected second operator to the operator building area 430 as the downstream operator of the first operator to build the algorithm scheme.
  • the recommendation score corresponding to each second operator and/or the attribute information of each second operator may also be displayed in the operator recommendation list.
  • the application scenario of the second operator the type of input data, the type of output data, the developer, the maintainer, the supporting platform of each second operator may be displayed.
  • an appropriate template operator may be selected from the operator set. That is, the users may still select other suitable template operators from the operator list area 420 in FIG. 4 and drag the selected template operators to the operator building area 430.
  • the operator recommendation list is generated based on the template operator selected from the operator set (i.e., the at least one second operator) , so the count of operators in the operator recommendation list may be less than the count of operators in the operator set.
  • the difficulty to select the appropriate downstream operator from the operator recommendation list may be lower than the difficulty to select the appropriate downstream operator from the operator set, and it is less likely to make mistakes when searching for downstream operators from the operator recommendation list, thus the efficiency and accuracy of algorithm scheme construction may be improved.
  • the processing device 110 may store information and/or data (e.g., the recommended score of a template operator) associated with the first operator in a storage device (e.g., the storage device 120) disclosed elsewhere in the present disclosure.
  • FIG. 6 is a flowchart illustrating an exemplary process of determining a recommended score of a template operator according to some embodiments of the present disclosure.
  • process 600 may be executed by the system 100.
  • the process 600 may be implemented as a set of instructions stored in a storage device (e.g., the storage device 120) .
  • the processing device 110 e.g., the processor 220 of the computing device 200 and/or one or more modules illustrated in FIG. 3
  • the processing device 110 may execute the set of instructions and may accordingly be directed to perform the process 600.
  • operation 520 may be achieved by performing the process 600.
  • the processing device 110 may execute process 600 to determine the recommended score of the template operator.
  • the implementation of the process 600 for one template operator is described below.
  • the processing device 110 may determine at least one target historical algorithm scheme corresponding to the template operator from an algorithm scheme library.
  • the algorithm scheme library may include one or more historical algorithm schemes that have been created, and each historical algorithm scheme may meet business requirements.
  • the at least one target historical algorithm scheme corresponding to the template operator may include one or more target historical algorithm schemes filtered from the algorithm scheme library based on a specific rule.
  • each selected target historical algorithm scheme may include the first operator.
  • each target historical algorithm scheme corresponding to the template operator may also include the template operator.
  • the template operator may be a downstream node directly connected with the first operator. That is, in each target historical algorithm scheme corresponding to the template operator, the template operator may receive output data of the first operator.
  • the processing device 110 may determine, based on the at least one target historical algorithm scheme, a correlation degree between the template operator and the first operator.
  • the correlation degree between a template operator and the first operator may reflect a probability that the template operator and the first operator are used to build the same algorithm scheme.
  • the processing device 110 may determine a count of at least one target historical algorithm scheme corresponding to the template operator, and determine the correlation degree between the template operator and the first operator based on the count of at least one target historical algorithm scheme corresponding to the template operator.
  • the processing device 110 may determine a count of the at least one target historical algorithm scheme corresponding to the template operator. In response to determining that the count of the at least one target historical algorithm scheme corresponding to the template operator exceeds a threshold count, the processing device 110 may determine the correlation degree between the template operator and the first operator based on a ratio of the count to a reference count.
  • the reference count may be a default setting of the system, set manually, or determined by the processing device 110 based on the actual situation.
  • the correlation degree may be proportional to the ratio of the count to the reference count.
  • the processing device 110 may determine at least one target template operator in the plurality of template operators, wherein a count of the at least one target historical algorithm scheme corresponding to each of the at least one target template operator exceeds a threshold count.
  • the processing device 110 may determine the reference count based on a sum of the count of the at least one target historical algorithm scheme corresponding to each of the at least one target template operator. For example, the processing device 110 may add the count of at least one target historical algorithm scheme corresponding to each of the at least one target template operator to obtain the reference count. That is to say, the reference count is the sum of the count of all target historical algorithm schemes of the target template operator whose count of target historical algorithm schemes exceeds the count threshold.
  • the processing device 110 may determine that the correlation degree has a predetermined value.
  • the predetermined value may be set based on actual requirements.
  • the predetermined value may be any value less than the correlation degree between the first operator and any target template operator (the count of at least one target historical algorithm scheme corresponding to the target template operator exceeds the count threshold) .
  • the predetermined value may be set manually.
  • the processing device 110 may designate the ratio of the count of at least one target historical algorithm scheme corresponding to the template operator to the reference count as the correlation degree between the template operator and the first operator. In some embodiments, when the count of at least one target historical algorithm scheme corresponding to the template operator exceeds the count threshold, the processing device 110 may calculate the ratio of the count of at least one target historical algorithm scheme corresponding to the template operator to the reference count to obtain the correlation degree between the template operator and the first operator. The higher the ratio is, the higher the correlation degree is.
  • the correlation degree between the first operator and the template operator may be determined as the predetermined value. If the count of at least one target historical algorithm scheme corresponding to the template operator exceeds the count threshold, it may be considered that in the current algorithm scheme, the probability of the template operator receiving the output data of the first operator is high, so the correlation degree between the template operator and the first operator may be determined based on the ratio of the count of at least one target historical algorithm scheme corresponding to the template operator to the reference count.
  • the count threshold may be determined based on actual requirements.
  • the processing device 110 may determine the correlation degree between the template operator and the first operator based on the first operator and the upstream operator of the first operator. For example, the processing device 110 may determine, based on the at least one target historical algorithm scheme, a first count of first target historical algorithm schemes and a second count of second target historical algorithm schemes.
  • the template operator in each first target historical algorithm scheme may be a downstream operator directly connected with the first operator, and an upstream operator of the first operator in each second target historical algorithm scheme may be the same as an upstream node of the first operator in the algorithm scheme. Further, the processing device 110 may determine, based on the first count and the second count, the correlation degree between the template operator and the first operator.
  • the processing device 110 may determine first target historical algorithm scheme (s) in the at least one target historical algorithm scheme and determine the first count of the first target historical algorithm scheme (s) .
  • Each first target historical algorithm scheme may include the first operator A and the template operator C, and the template operator C may receive the output data of the first operator A.
  • the processing device 110 may determine second target historical algorithm scheme (s) in the at least one target historical algorithm scheme and determine the second count of the second target historical algorithm scheme (s) .
  • Each second target historical algorithm scheme may include the first operator A, the upstream operator B and the template operator C.
  • the first operator A may receive the output data of the upstream operator B, and the template operator C may receive the output data of the first operator A.
  • the processing device 110 may determine the correlation degree between the template operator C and the first operator A based on the first count and the second count, for example, determine the correlation degree based on a ratio of the second count to the first count.
  • one or more upstream nodes of the first operator in a second target historical algorithm scheme may be the same as one or more upstream nodes of the first operator in the algorithm scheme.
  • the second target historical algorithm scheme and the algorithm scheme both contain the first operator A, the upstream operator B, and the upstream operator D.
  • the first operator A may receive the output data of the upstream operator B
  • the upstream operator B may receive the output data of the upstream operator D.
  • the correlation degree determined based on the count of at least one target historical algorithm scheme corresponding to the template operator may accurately represent the probability of the template operator receiving the output data of the first operator in the current algorithm scheme, thus determining the recommended downstream operator of the first operator more accurately.
  • the upstream node of the first operator may reflect the upstream environment information of the first operator in the algorithm scheme.
  • the first target historical algorithm scheme (s) and the second target historical algorithm scheme (s) corresponding to the template operator may both contain the first operator and the template operator, and the upstream node of the first operator in the second target historical algorithm scheme (s) may be the same as the upstream node of the first operator in the algorithm scheme.
  • the correlation degree between the template operator and the first operator may be determined based on the first count of the first target historical algorithm scheme (s) and the second count of the second target historical algorithm scheme (s) , thus the context information of the first operator may be taken into account, the probability of the template operator and the first operator both being operators of the algorithm scheme may be more accurately determined, thus helping to determine the recommended downstream operator of the first operator more accurately.
  • the processing device 110 may determine, based on the attribute information relating to the first operator, a similarity degree between the first operator and the template operator.
  • the similarity degree between the template operator and the first operator may reflect a probability that the template operator receives the output data of the first operator.
  • the processing device 110 may determine a first feature vector of the first operator based on the attribute information relating to the first operator, determine a second feature vector of the template operator based on attribute information relating to the template operator, and determine the similarity degree between the first operator and the template operator based on the first feature vector and the second feature vector. For example, the processing device 110 may determine the first feature vector of the first operator based on the type of output data of the first operator, and determine the second feature vector of the template operator based on the type of input data of the template operator.
  • a corresponding vector may be preset for each data type.
  • vector 1 may represent a target box type
  • vector 2 may represent a feature type
  • vector 3 may represent an image type, or the like.
  • the processing device 110 may obtain a vector corresponding to each data type, and then fuse the vectors corresponding to all data types to obtain the first feature vector of the first operator (or the second feature vector of the template operator) .
  • a length of the vector obtained by fusion and a length of each vector before fusion may be consistent.
  • a base vector with a fixed-length may be determined in advance.
  • the processing device 110 may modify the base vectors of the first operator and the template operator respectively to determine the corresponding feature vectors of the first operator and the template operator. For example, when generating the first feature vector of the first operator, the processing device 110 may modify a value of a preset position in the base vector of the first operator to a value corresponding to the type of output data of the first operator based on the type of output data of the first operator.
  • the processing device 110 may modify a value of a preset position in the base vector of the template operator to a value corresponding to the type of input data of the template operator based on the type of input data of the template operator.
  • a feature vector (e.g., the first feature vector and the second feature vector) of an operator may also be determined based on an application scenario, a maintainer, a designer, a supporting platform and other parameters of the operator. If the attribute information relating to the first operator further includes parameters of other types, the attribute information relating to the template operator may also need to further include parameters of this type. For example, if the attribute information relating to the first feature vector of the first operator includes the application scenario of the first operator, the attribute information relating to the second feature vector of the template operator may also include the application scenario of the template operator.
  • the processing device 110 may determine the similarity degree between the first operator and the template operator based on a Euclidean distance or a cosine value between the first feature vector and the second feature vector, which is not limited in the present disclosure. It can be understood that the length of the first feature vector and the second feature vector should be the same.
  • the downstream operator that can receive the output data of the first operator may have a certain similarity degree with the first operator.
  • the type of input data of the downstream operator is the same as the type of output data of the first operator (such as the target box type) , or the application scenarios of the downstream operator and the first operator are similar, or the developers or maintainers of the downstream operator and the first operator are similar. Therefore, the higher the similarity degree between the first operator and the template operator is, the higher the possibility of the template operator receiving the output data of the first operator in the current algorithm scheme.
  • the similarity degree between the first operator and the template operator may represent the probability of the template operator receiving the output data of the first operator in the current algorithm scheme.
  • the processing device 110 may determine, based on the correlation degree and the similarity degree, the recommended score of the template operator.
  • the processing device 110 may perform weighting and summing operations on the correlation degree and the similarity degree of the template operator to obtain the recommended score of the template operator. At this time, weights corresponding to the correlation degree and the similarity degree may be determined based on the actual requirements. In some embodiments, the processing device 110 may perform other operations, such as averaging, on the correlation degree and the similarity degree corresponding to the template operator to obtain the recommended score of the template operator, which is not limited in the present disclosure.
  • the corresponding correlation degree and similarity degree may both represent the probability of the template operator receiving the output data of the first operator in the current algorithm scheme. Therefore, the recommended score determined based on the similarity degree and the correlation degree corresponding to the template operator may also represent the probability of the template operator receiving the output data of the first operator in the current algorithm scheme. The higher the recommended score of the template operator is, the higher the probability of the template operator receiving the output data of the first operator in the current algorithm scheme is.
  • the template operator may be evaluated based on the correlation degree and the similarity degree corresponding to the template operator, so that the generated recommended score may show various aspects of the template operator and ensure accurate recommendations.
  • FIG. 7 is a flowchart illustrating an exemplary process of determining at least one second operator according to some embodiments of the present disclosure.
  • process 700 may be executed by the system 100.
  • the process 700 may be implemented as a set of instructions stored in a storage device (e.g., the storage device 120) .
  • the processing device 110 e.g., the processor 220 of the computing device 200 and/or one or more modules illustrated in FIG. 3 may execute the set of instructions and may accordingly be directed to perform the process 700.
  • operation 520 may be achieved by performing the process 700.
  • the processing device 110 may further select the at least one second operator from the plurality of candidate operators based on one or more upstream operators of the first operator.
  • the processing device 110 may determine, based on the recommended score of each of the plurality of template operators, a plurality of candidate operators.
  • the processing device 110 may rank the plurality of template operators based on the plurality of recommended scores from high to low, and determine the plurality of candidate operators based on a ranking result. For example, the top 10 template operators may be determined as the candidate operators. In some embodiments, the processing device 110 may filter out a plurality of template operators whose recommended scores exceed a score threshold, and determine the selected template operators as the plurality of candidate operators.
  • the processing device 110 may determine an upstream operator of the first operator in the algorithm scheme, wherein the first operator may receive output data of the upstream operator.
  • the processing device 110 may determine the upstream operator directly connected with the first operator in the algorithm scheme from at least one operator whose connection relationship has been established, wherein the first operator may receive the output data of the upstream operator. For example, the processing device 110 may determine the upstream operator directly connected with the first operator based on the connection relationship between the operators established by the user in the operator building area 430 shown in FIG. 4.
  • the processing device 110 may determine, based on the upstream operator, the at least one second operator from the plurality of candidate operators.
  • the processing device 110 may generate a candidate group corresponding to the candidate operator, wherein the upstream operator, the first operator, and the candidate operator may be sequentially connected in the candidate group. That is, in each of the plurality of candidate groups corresponding to the plurality of candidate operators, the first operator may receive the output data of the upstream operator, and the candidate operator may receive the output data of the first operator.
  • the current algorithm scheme may include the candidate group corresponding to the candidate operator.
  • the processing device 110 may determine, based on historical algorithm schemes, at least one target group from a plurality of candidate groups corresponding to the plurality of candidate operators, and designate the candidate operator in the at least one target group as the at least one second operator. For example, the processing device 110 may determine a count of occurrences of each of the plurality of candidate groups in the historical algorithm schemes, and designate at least one candidate group whose the count of occurrences meets a predetermined requirement as the at least one target group. Merely by way of example, the processing device 110 may determine the candidate group whose the count of occurrence exceeds a preset threshold as a target group.
  • the processing device 110 may rank the plurality of candidate groups based on the count of occurrences of the candidate groups from high to low, filter out a preset count (e.g., 3, 5, 6, etc. ) of candidate groups in the front, and determine the filtered candidate groups as target groups.
  • a preset count e.g. 3, 5, 6, etc.
  • target group (s) with high probability may be selected.
  • the template operator in the selected target group (s) may be designated as the selected template operator, which may realize more accurate recommendation of the at least one downstream operator.
  • the processing device 110 may count the latest date that each candidate group is used based on the algorithm scheme library, and then rank the plurality of candidate groups based on an order of time interval between the current time and the latest date that each candidate group is used from short to long, filter out a preset count of candidate groups in the front, and determine the filtered candidate group (s) as the target group (s) .
  • the target group (s) may be determined simultaneously based on the count of occurrences of each candidate group and the latest date that each candidate group used.
  • a candidate group whose number of occurrences in the historical algorithm scheme library exceeds a threshold, and a time interval between the latest date that the candidate group is used and the current time is less than a threshold interval may be filtered out, and the filtered candidate group may be determined as the target group.
  • the processing device 110 may directly determine the template operator (s) selected from the candidate operators as the second operator (s) and add the selected second operator (s) to the operator recommendation list. In some embodiments, the processing device 110 may further filter the template operator (s) selected from the candidate operators, for example, filter the template operator (s) based on the upstream operator D directly connected with the upstream operator B to determine the second operator (s) , wherein the upstream operator B may be directly connected with the first operator. For another example, for each selected candidate operator, the processing device 110 may determine the number of times that the upstream operator and the candidate operator simultaneously appear in the same historical algorithm scheme in the algorithm scheme library. Based on the number of times corresponding to each candidate operator, the processing device 110 may filter the selected candidate operator again to determine the second operator (s) .
  • the upstream operator may show an upstream environment of the first operator. Therefore, filtering the filtered template operator again based on the upstream operator of the first operator may further improve the recommendation accuracy of the second operator (s) .
  • One of the embodiments of the present disclosure may provide a system for recommending at least one downstream operator.
  • the system may include at least one storage device for storing a set of instructions, and at least one processing device configured to communicate with the at least one storage device, wherein when executing the set of instructions, the at least one processing device is configured to direct the system to perform operations of the method for recommending at least one downstream operator described in the embodiments of the present disclosure (e.g., the process 500-process 700) .
  • One of the embodiments of the present disclosure may provide a non-transitory computer readable medium for recommending at least one downstream operator.
  • the non-transitory computer readable medium may include a set of instructions, wherein when executed by a computing device, the set of instructions may direct the computing device to perform a method for recommending at least one downstream operator described in the embodiments of the present disclosure (e.g., the process 500-process 700) .
  • aspects of the present disclosure may be illustrated and described herein in any of a number of patentable classes or context including any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof. Accordingly, aspects of the present disclosure may be implemented entirely hardware, entirely software (including firmware, resident software, micro-code, etc. ) or combining software and hardware implementation that may all generally be referred to herein as a “unit, ” “module, ” or “system. ” Furthermore, aspects of the present disclosure may take the form of a computer program product embodied in one or more computer-readable media having computer-readable program code embodied thereon.
  • a non-transitory computer-readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated signal may take any of a variety of forms, including electro-magnetic, optical, or the like, or any suitable combination thereof.
  • a computer-readable signal medium may be any computer-readable medium that is not a computer-readable storage medium and that may communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.
  • Program code embodied on a computer-readable signal medium may be transmitted using any appropriate medium, including wireless, wireline, optical fiber cable, RF, or the like, or any suitable combination of the foregoing.
  • Computer program code for carrying out operations for aspects of the present disclosure may be written in any combination of one or more programming languages, including an object-oriented programming language such as Java, Scala, Smalltalk, Eiffel, JADE, Emerald, C++, C#, VB. NET, Python or the like, conventional procedural programming languages, such as the "C" programming language, Visual Basic, Fortran 2003, Perl, COBOL 2002, PHP, ABAP, dynamic programming languages such as Python, Ruby, and Groovy, or other programming languages.
  • the program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server.
  • the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN) , or the connection may be made to an external computer (e.g., through the Internet using an Internet Service Provider) or in a cloud computing environment or offered as a service such as a Software as a Service (SaaS) .
  • LAN local area network
  • WAN wide area network
  • SaaS Software as a Service
  • the numbers expressing quantities, properties, and so forth, used to describe and claim certain embodiments of the application are to be understood as being modified in some instances by the term “about, ” “approximate, ” or “substantially. ”
  • “about, ” “approximate, ” or “substantially” may indicate ⁇ 20%variation of the value it describes, unless otherwise stated.
  • the numerical parameters set forth in the written description and attached claims are approximations that may vary depending upon the desired properties sought to be obtained by a particular embodiment.
  • the numerical parameters should be construed in light of the number of reported significant digits and by applying ordinary rounding techniques. Notwithstanding that the numerical ranges and parameters setting forth the broad scope of some embodiments of the application are approximations, the numerical values set forth in the specific examples are reported as precisely as practicable.

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Theoretical Computer Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Economics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Tourism & Hospitality (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Operations Research (AREA)
  • Development Economics (AREA)
  • Educational Administration (AREA)
  • General Engineering & Computer Science (AREA)
  • Game Theory and Decision Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Medical Informatics (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

A method for recommending at least one downstream operator, the method may include obtaining attribute information relating to a first operator in an algorithm scheme (510); determining, based on the attribute information relating to the first operator, at least one second operator from an operator set, the at least one second operator being at least one recommended downstream operator to be directly connected with the first operator (520); and generating, based on the at least one second operator, an operator recommendation list (530).

Description

METHODS, SYSTEMS, AND COMPUTER-READABLE MEDIA FOR RECOMMENDING DOWNSTREAM OPERATOR
CROSS-REFERENCE TO RELATED APPLICATIONS
This application claims priority to Chinese Patent Application No. 202211091774.0 filed on September 7, 2022, the entire contents of which are incorporated herein by reference.
TECHNICAL FIELD
The present disclosure relates to the field of artificial intelligence technology, in particular, to methods, systems, and computer readable media for recommending downstream operator.
BACKGROUND
In the field of algorithm scheme modeling, an algorithm scheme generally includes one or more different operators (modules) . These operators may compose the algorithm scheme based on certain rules, and these operators may perform their functions and influence each other. In the process of building the algorithm scheme, a user needs to select appropriate operators, and then establish the connection relationship between operators. When there are many operators, the process of building the algorithm scheme may take a lot of time, which is not only error-prone but also inefficient.
Therefore, it is desirable to provide methods and systems for recommending at least one downstream operator, which can improve the efficiency of algorithm scheme construction.
SUMMARY
An aspect of the present disclosure provides a method for recommending at least one downstream operator. The method may include obtaining attribute information relating to a first operator in an algorithm scheme; determining, based on the attribute information relating to the first operator, at least one second operator from an operator set, the at least one second operator being at least one recommended downstream operator to be directly connected with the first operator; and generating, based on the at least one second operator, an operator recommendation list.
In some embodiments, determining, based on the attribute information relating to the first operator, at least one second operator from an operator set may include: for each of a plurality of template operators in the operator set, determining, based on the attribute information relating to the first operator, a recommended score of the template operator; and determining, based on a plurality of recommended scores of the plurality of template operators, the at least one second operator from the plurality of template operators.
In some embodiments, for each of a plurality of template operators in the operator set, determining, based on the attribute information relating to the first operator, a recommended score of the template operators may include: for each of the plurality of template operators, determining at least one target historical algorithm scheme corresponding to the template operator from an algorithm scheme library, each of the at least one target historical algorithm scheme at least including the first operator; determining, based on the at least one target historical algorithm scheme, a correlation degree between the template operator and the first operator; determining, based on the attribute  information relating to the first operator, a similarity degree between the first operator and the template operator; and determining, based on the correlation degree and the similarity degree, the recommended score of the template operator.
In some embodiments, each of the at least one target historical algorithm scheme corresponding to the template operator may further include the template operator, and the template operator is a downstream operator connected with the first operator, and determining, based on the at least one target historical algorithm scheme, a correlation degree between the template operator and the first operator may include: determining a count of the at least one target historical algorithm scheme; and in response to determining that the count does not exceed a threshold count, determining that the correlation degree has a predetermined value; or in response to determining that the count exceeds the threshold count, determining, based on a ratio of the count to a reference count, the correlation degree between the template operator and the first operator.
In some embodiments, the method may further include determining at least one target template operator in the plurality of template operators, a count of the at least one target historical algorithm scheme corresponding to each of the at least one target template operator exceeding the threshold count; and determining, based on a sum of the count of the at least one target historical algorithm scheme corresponding to each of the at least one target template operator, the reference count.
In some embodiments, determining, based on the attribute information relating to the first operator, a similarity degree between the first operator and the template operator may include: determining, based on the attribute information relating to the first operator, a first feature vector of the first operator; determining, based on attribute information relating to the template operator, a second feature vector of the template operator; and determining, based on the first feature vector and the second feature vector, the similarity degree between the first operator and the template operator.
In some embodiments, determining, based on the at least one target historical algorithm scheme, a correlation degree between the template operator and the first operator may include: determining, based on the at least one target historical algorithm scheme, a first count of first target historical algorithm schemes and a second count of second target historical algorithm schemes, the template operator in each first target historical algorithm scheme being a downstream operator directly connected with the first operator, and an upstream operator of the first operator in each second target historical algorithm scheme being the same as an upstream node of the first operator in the algorithm scheme; and determining, based on the first count and the second count, the correlation degree between the template operator and the first operator.
In some embodiments, determining, based on a plurality of recommended scores of the plurality of template operators, the at least one second operator from the plurality of template operators may include: determining, based on the recommended score of each of the plurality of template operators, a plurality of candidate operators; determining an upstream operator of the first operator in the algorithm scheme, wherein the first operator receives output data of the upstream operator; and determining, based on the upstream operator, the at least one second operator from the plurality of candidate operators.
In some embodiments, determining, based on the upstream operator, the at least one second operator from the plurality of candidate operators may include: for each of the plurality of candidate operators, generating a candidate group corresponding to the candidate operator, wherein the upstream operator, the first operator, and the candidate operator are sequentially connected in the candidate group; determining, based on historical algorithm schemes, at least one target group from a plurality of candidate groups corresponding to the plurality of candidate operators; and designating the candidate operator in the at least one target group as the at least one second operator.
In some embodiments, determining, based on historical algorithm schemes, at least one target group from a plurality of candidate groups corresponding to the plurality of candidate operators may include: determining a count of occurrences of each of the plurality of candidate groups in the historical algorithm schemes; and designating at least one candidate group whose the count of occurrences of the least one candidate group meets a predetermined requirement as the at least one target group.
In some embodiments, for each of a plurality of template operators in the operator set, determining, based on the attribute information relating to the first operator, a recommended score of the template operator may include: for each of the plurality of template operators, obtaining a trained scoring estimation model; and determining the recommended score of the template operator by processing input data using the trained scoring estimation model, the input data at least including the attribute information relating to the first operator and attribute information relating to the template operator.
In some embodiments, the input data may further include attribute information relating to an upstream operator of the first operator and attribute information relating to the algorithm scheme, and the attribute information relating to the algorithm scheme may include at least one of an application scenario, an authorized person, or a supporting/selecting platform of the algorithm scheme.
In some embodiments, or each of a plurality of template operators in the operator set, determining, based on the attribute information relating to the first operator, a recommended score of the template operator may include: for each of the plurality of template operators, generating, based on historical algorithm schemes, an operator graph, wherein each node in the operator graph represents an operator, attribute of the each node represents attribute information relating to the operator corresponding to the node, and edge attribute of each edge represents a correlation between two nodes connected by the edge; generating, based on the first operator and at least one upstream operator having a connection relationship with the first operator, an operator sub-graph; and determining, based on the operator sub-graph, the recommended score of the template operator.
In some embodiments, the attribute information of the first operator may include at least one of a type of input data, a type of output data, an application scenario, a maintainer, or a supporting platform of the first operator.
In some embodiments, the method may further include determining the first operator that needs to determine a downstream operator from at least one operator in the algorithm scheme, wherein the at least one operator may have been selected as operators of the algorithm scheme, and a connection relationship between the at least one operator is determined based on an external input.
In some embodiments, generating, based on the at least one second operator, an operator  recommendation list may include ranking the at least one second operator based on attribute information relating to the algorithm scheme and a weight of each of the at least one second operator; and generating, based on a ranking result, the operator recommendation list.
Another aspect of the present disclosure provides a system for recommending at least one downstream operator. The system may include at least one storage device for storing a set of instructions; and at least one processing device configured to communicate with the at least one storage device, wherein when executing the set of instructions, the at least one processing device is configured to direct the system to perform operations including obtaining attribute information relating to a first operator in an algorithm scheme; determining, based on the attribute information relating to the first operator, at least one second operator from an operator set, the at least one second operator being at least one recommended downstream operator to be directly connected with the first operator; and generating, based on the at least one second operator, an operator recommendation list.
Another aspect of the present disclosure provides a system for recommending at least one downstream operator. The system may include an acquisition module, configured to obtain attribute information relating to a first operator in an algorithm scheme; a determination module, configured to determine, based on the attribute information relating to the first operator, at least one second operator from an operator set, the at least one second operator being at least one recommended downstream operator to be directly connected with the first operator; and a recommendation module, configured to generate, based on the at least one second operator, an operator recommendation list.
Another aspect of the present disclosure provides a non-transitory computer readable medium, comprising a set of instructions, wherein when executed by a computing device, the set of instructions direct the computing device to perform a method for recommending at least one downstream operator, the method comprising obtaining attribute information relating to a first operator in an algorithm scheme; determining, based on the attribute information relating to the first operator, at least one second operator from an operator set, the at least one second operator being at least one recommended downstream operator to be directly connected with the first operator; and generating, based on the at least one second operator, an operator recommendation list.
Additional features will be set forth in part in the description which follows, and in part will become apparent to those skilled in the art upon examination of the following and the accompanying drawings or may be learned by the production or operation of the examples. The features of the present disclosure may be realized and attained by practice or use of various aspects of the methodologies, instrumentalities, and combinations set forth in the detailed examples discussed below.
BRIEF DESCRIPTION OF THE DRAWINGS
The present disclosure is further illustrated in terms of exemplary embodiments, and these exemplary embodiments are described in detail with reference to the drawings. These embodiments are not restrictive. In these embodiments, the same number indicates the same structure, wherein:
FIG. 1 is a schematic diagram illustrating an exemplary application scenario of a system for recommending at least one downstream operator according to some embodiments of the present disclosure;
FIG. 2 is a schematic diagram illustrating hardware and/or software components of an exemplary computing device according to some embodiments of the present disclosure;
FIG. 3 is a block diagram illustrating an exemplary processing device according to some embodiments of the present disclosure;
FIG. 4 is a schematic diagram illustrating an exemplary interface of an artificial intelligence (AI) platform according to some embodiments of the present disclosure;
FIG. 5 is a flowchart illustrating an exemplary process of recommending at least one downstream operator according to some embodiments of the present disclosure;
FIG. 6 is a flowchart illustrating an exemplary process of determining a recommended score of a template operator according to some embodiments of the present disclosure; and
FIG. 7 is a flowchart illustrating an exemplary process of determining at least one second operator according to some embodiments of the present disclosure.
DETAILED DESCRIPTION
In order to illustrate the technical solutions related to the embodiments of the present disclosure, a brief introduction of the drawings referred to in the description of the embodiments is provided below. Obviously, drawings described below are only some examples or embodiments of the present disclosure. Those having ordinary skills in the art, without further creative efforts, may apply the present disclosure to other similar scenarios according to these drawings. Unless stated otherwise or obvious from the context, the same reference numeral in the drawings refers to the same structure and operation.
It will be understood that the terms “system, ” “device, ” “unit, ” and/or “module” used herein are one method to distinguish different components, elements, parts, sections, or assemblies of different levels in ascending order. However, the terms may be displaced by other expressions if they may achieve the same purpose.
As shown in the present disclosure and claims, unless the context clearly indicates exceptions, the words “a, ” “an, ” “one, ” and/or “the” do not specifically refer to the singular, but may also include the plural. The terms "including" and "comprising" only suggest that the steps and elements that have been clearly identified are included, and these steps and elements do not constitute an exclusive list, and the method or device may also include other steps or elements.
The flowcharts used in the present disclosure may illustrate operations executed by the system according to embodiments in the present disclosure. It should be understood that a previous operation or a subsequent operation of the flowcharts may not be accurately implemented in order. Conversely, various operations may be performed in inverted order, or simultaneously. Moreover, other operations may be added to the flowcharts, and one or more operations may be removed from the flowcharts.
The embodiments of the present disclosure provide a method and a system for recommending at least one downstream operator. The system may determine, based on attribute information relating to a first operator, a recommended score of each template operator of an operator set. The system may determine one or more second operators from a plurality of template operators of the operator set  based on the recommended score of each template operator, and designate the one or more second operators as one or more recommended downstream operators of the first operator. The system may generate, based on the one or more second operators, an operator recommendation list relating to the first operator.
By using the method and system disclosed herein, a user (e.g., an algorithm scheme designer) may preferentially search at least one downstream operator of the first operator in the algorithm scheme from the operator recommendation list, thus the user’s workload may be reduced, errors in the process of searching may be avoided, and the efficiency of algorithm scheme construction may be improved.
FIG. 1 is a schematic diagram illustrating an exemplary application scenario of a system 100 for recommending at least one downstream operator according to some embodiments of the present disclosure. For brevity, the system 100 for recommending at least one downstream operator is referred to as the system 100. As illustrated in FIG. 1, the system 100 may include a processing device 110, a storage device 120, a terminal device 130, and a network 140. In some embodiments, the processing device 110, the storage device 120, and the terminal device 130 may be connected to and/or communicate with each other via a wireless connection, a wired connection, or a combination thereof.
The processing device 110 may process data and/or information associated with the system 100. For example, the processing device 110 may determine, based on attribute information relating to a first operator in an algorithm scheme, one or more second operators from an operator set as one or more recommended downstream operators to be directly connected with the first operator. As another example, the processing device 100 may generate, based on the second operator (s) , an operator recommendation list.
In some embodiments, the processing device 110 may be a single server or a server group. The server group may be centralized or distributed. In some embodiments, the processing device 110 may be local or remote. In some embodiments, the processing device 110 may be implemented on a cloud platform. Merely by way of example, the cloud platform may include a private cloud, a public cloud, a hybrid cloud, a community cloud, a distributed cloud, an inter-cloud, a multi-cloud, or the like, or any combination thereof. In some embodiments, the processing device 110 may be implemented on a computing device 200 including one or more components illustrated in FIG. 2 of the present disclosure.
The storage device 120 may store data, instructions, and/or any other information associated with the recommendation of the at least one downstream operator. In some embodiments, the storage device 120 may store data obtained from the processing device 110, and/or the terminal device 130. For example, the storage device 120 may store the operator recommendation list relating to the first operator generated by the processing device 110. As another example, the storage device 120 may store the plurality of recommended scores of the plurality of template operators determined by the processing device 110. As another example, the storage device 120 may store a plurality of operators with a connection relationship input by a user via the terminal device 130. As another example, the storage device 120 may store information relating to the plurality of template operators in the operator set, such as a type of input/output data, an application scenario, a builder, or a maintainer of each  template operator.
In some embodiments, the storage device 120 may store data and/or instructions that the processing device 110 may execute or use to perform exemplary methods described in the present disclosure. In some embodiments, the storage device 120 may include a mass storage, removable storage, a volatile read-and-write memory, a read-only memory (ROM) , or the like, or any combination thereof. In some embodiments, the storage device 120 may be implemented on a cloud platform. In some embodiments, the storage device 120 may be integrated into the processing device 110 and/or the terminal device 130.
The terminal device 130 may enable user interaction between a user and the system 100. For example, the terminal device 130 may transmit instructions or data input by the user to the processing device 110, and/or display processing results generated by the processing device 110 to the user. The terminal device 130 may include a mobile device 131, a tablet computer 132, a laptop computer 133, or the like, or any combination thereof. In some embodiments, the mobile device 131 may include a smart home device, a wearable device, a smart mobile device, a virtual reality device, an augmented reality device, or the like, or any combination thereof. In some embodiments, the smart home device may include a smart lighting device, a control device of an intelligent electrical apparatus, a smart monitoring device, a smart television, a smart video camera, an interphone, or the like, or any combination thereof. In some embodiments, the wearable device may include a bracelet, a footgear, eyeglasses, a helmet, a watch, clothing, a backpack, a smart accessory, or the like, or any combination thereof. In some embodiments, the smart mobile device may include a mobile phone, a personal digital assistant (PDA) , a gaming device, a navigation device, a point of sale (POS) device, a desktop, or the like, or any combination thereof. In some embodiments, the virtual reality device and/or the augmented reality device may include a virtual reality helmet, virtual reality glasses, a virtual reality patch, an augmented reality helmet, augmented reality glasses, an augmented reality patch, or the like, or any combination thereof. In some embodiments, the terminal device 130 may be part of the processing device 110.
In some embodiments, the terminal device 130 may include any device with algorithm processing capability, which may be integrated with an artificial intelligence (AI) platform. The AI platform may refer to a platform used to develop machine learning models. For example, applications (APPs) , plug-in components, and/or website of the AI platform may be installed on the terminal device 130. In some embodiments, the user may build an algorithm scheme based on corresponding task requirements via the terminal device 130. For example, the user may set information relating to an application scenario, a scheme name, an authorized person or others of the algorithm scheme on the user interface of the AI platform via the terminal device 130, select operators from the operator set of the AI platform, and establish the connection relationship between the selected operators, to realize the establishment of the algorithm scheme with specific functions.
The network 140 may include any suitable network that may facilitate the exchange of information and/or data for the system 100. In some embodiments, one or more components (e.g., the processing device 110, the storage device 120, the terminal device 130) of the system 100 may communicate information and/or data with one or more other components of the system 100 via the network 140. For example, the processing device 110 may determine at least one target historical  algorithm scheme from the storage device 120 via the network 140.
In some embodiments, the network 140 may be and/or include a public network (e.g., the Internet) , a private network (e.g., a local area network (LAN) , a wide area network (WAN) ) ) , a wired network (e.g., an Ethernet network) , a wireless network (e.g., an 802.11 network, a Wi-Fi network) , a cellular network (e.g., a Long Term Evolution (LTE) network) , a frame relay network, a virtual private network (VPN) , a satellite network, a telephone network, routers, hubs, switches, server computers, and/or any combination thereof. In some embodiments, the network 140 may include one or more network access points. For example, the network 140 may include wired and/or wireless network access points such as base stations and/or internet exchange points through which one or more components of the system 100 may be connected to the network 140 to exchange data and/or information.
It should be noted that the above description is merely provided for the purposes of illustration, and is not intended to limit the scope of the present disclosure. For persons having ordinary skills in the art, a plurality of variations and modifications may be made under the teachings of the present disclosure. However, those variations and modifications do not depart from the scope of the present disclosure. In some embodiments, the system 100 may include one or more additional components and/or one or more components of the system 100 described above may be omitted. Additionally or alternatively, two or more components of the system 100 may be integrated into a single component. A component of the system 100 may be implemented on two or more sub-components.
FIG. 2 is a schematic diagram illustrating hardware and/or software components of an exemplary computing device according to some embodiments of the present disclosure. In some embodiments, one or more components of the system 100 may be implemented on the computing device 200. For example, the processing device 110 may be implemented on the computing device 200 and configured to perform functions of the processing device 110 disclosed in this disclosure. As another example, the computing device 200 may be a device with algorithm processing capacities, such as a computer, a smart phone, or the like, which may be integrated with an AI platform.
The computing device 200, for example, may include COM ports 250 connected to and from a network connected thereto to facilitate data communications. The computing device 200 may also include a processor 220, in the form of one or more processors, for executing program instructions. For example, the processor 220 may include interface circuits and processing circuits therein. The interface circuits may be configured to receive electronic signals from a bus 210, wherein the electronic signals encode structured data and/or instructions for the processing circuits to process. The processing circuits may conduct logic calculations, and then determine a conclusion, a result, and/or an instruction encoded as electronic signals. Then the interface circuits may send out the electronic signals from the processing circuits via the bus 210.
The computing device 200 may include a program storage and a data storage of different forms, for example, a disk 270, and a read-only memory (ROM) 230, or a random access memory (RAM) 240, for storing various data files to be processed and/or transmitted by the computing device 200. The computing device 200 may also include program instructions stored in the ROM 230, the RAM 240, and/or another type of non-transitory storage medium to be executed by the processor 220.  The methods and/or processes of the present disclosure may be implemented as the program instructions. The computing device 200 may also include an I/O component 260, supporting input/output between the computing device 200 and other components. The computing device 200 may also receive programming and data via network communications.
Merely for illustration, only one processor 220 is described in the computing device 200. However, it should be noted that the computing device 200 in the present disclosure may also include a plurality of processors, thus operations and/or method steps that are performed by one processor 220 as described in the present disclosure may also be jointly or separately performed by the plurality of CPUs/processors.
FIG. 3 is a block diagram illustrating an exemplary processing device according to some embodiments of the present disclosure. In some embodiments, the processing device 110 may include an acquisition module 310, a determination module 320, and a recommendation module 330.
The acquisition module 310 may be configured to obtain attribute information relating to a first operator in an algorithm scheme. In some embodiments, the attribute information of the first operator may include at least one of a type of input data, a type of output data, an application scenario, a maintainer, or a supporting platform of the first operator. In some embodiments, the acquisition module 310 may determine the first operator that needs to determine a downstream operator from at least one operator in the algorithm scheme. The at least one operator may have been selected as operators of the algorithm scheme, and a connection relationship between the at least one operator may be determined based on an external input.
The determination module 320 may be configured to determine at least one second operator from an operator set based on the attribute information relating to the first operator. The at least one second operator may be at least one recommended downstream operator to be directly connected with the first operator. In some embodiments, for each of a plurality of template operators in the operator set, the determination module 320 may determine a recommended score of the template operator based on the attribute information relating to the first operator; and determine the at least one second operator from the plurality of template operators based on a plurality of recommended scores of the plurality of template operators.
In some embodiments, the determination module 320 may determine at least one target history algorithm scheme corresponding to the template operator from an algorithm scheme library, each of the at least one target history algorithm scheme at least including the first operator; determine a correlation degree between the template operator and the first operator based on the at least one target history algorithm scheme; determine a similarity degree between the first operator and the template operator based on the attribute information relating to the first operator; and determine the recommended score of the template operator based on the correlation degree and the similarity degree.
In some embodiments, the determination module 320 may determine a first feature vector of the first operator based on the attribute information relating to the first operator; determine a second feature vector of the template operator based on attribute information relating to the template operator; and determine the similarity degree between the first operator and the template operator based on the first feature vector and the second feature vector.
In some embodiments, the determination module 320 may determine a plurality of candidate operators based on the recommended score of each of the plurality of template operators; determine an upstream operator of the first operator in the algorithm scheme, wherein the first operator may receive output data of the upstream operator; and determining the at least one second operator from the plurality of candidate operators based on the upstream operator.
In some embodiments, the determination module 320 may obtain a trained scoring estimation model; and determine the recommended score of the template operator by processing input data using the trained scoring estimation model, the input data at least may include the attribute information relating to the first operator and attribute information relating to the template operator.
The recommendation module 330 may be configured to generate an operator recommendation list based on the at least one second operator. In some embodiments, the recommendation module 330 may rank the at least one second operator based on attribute information relating to the algorithm scheme and a weight of each of the at least one second operator; and generate the operator recommendation list based on a ranking result.
More detailed descriptions regarding the modules of the processing device 110 may be found elsewhere in the present disclosure, for example, FIG. 5 and the descriptions thereof.
It should be noted that the above description of the processing device 110 and its modules is only for the convenience of description, and cannot limit the present disclosure to the scope of the examples cited. It can be understood that for those skilled in the art, after understanding the principle of the system, it is possible to combine various modules arbitrarily, or form a subsystem to connect with other modules without departing from this principle. In some embodiments, the acquisition module 310, the determination module 320, and the recommendation module 330 may be different modules in one system, or one module may realize the functions of the above-mentioned two or more modules. For example, each module may share one storage module, or each module may have its own storage module. Variations such as these are within the scope of protection of the present disclosure.
In some embodiments, a user may utilize a plurality of algorithm components to build a corresponding algorithm scheme on an AI platform based on actual requirements. Each of the plurality of algorithm components may contain information such as one or more models with specific algorithm functions, modeling codes of each model, data sets used for training the model (s) , deployment codes of the model (s) , or the like. These algorithm components are called operators in the present disclosure. For example, target detection function, target tracking function, or target recognition function may be realized through one or more operators.
FIG. 4 is a schematic diagram illustrating an exemplary interface of an AI platform according to some embodiments of the present disclosure. FIG. 4 shows a pull-type AI platform. When a user (e.g., a designer of an algorithm scheme) needs to build the algorithm scheme on the AI platform, a scheme creation instruction may be input by the user to enter a creation interface 400 shown in FIG. 4. In some embodiments, the creation interface 400 may be presented to the user via a terminal device (e.g., the terminal device 130) .
In some embodiments, the creation interface 400 may include an information configuration area 410, an operator list area 420, and an operator building area 430.
In the information configuration area 410, the user may configure scheme information and/or operator information of the algorithm scheme. In some embodiments, the scheme information (also referred to as attribute information of the algorithm scheme) may include a scheme name, an application scenario of the algorithm scheme, a supporting/selecting platform of the algorithm scheme, an authorized person of the algorithm scheme, or any combination thereof. For example, the application scenarios of the algorithm scheme may include entrance and exit detection, attendance checking, or smart community. The supporting platform of the algorithm scheme may be a platform on which the algorithm scheme can apply. The selecting platform of the algorithm scheme may be a platform on which the algorithm scheme is going to apply. The authorized person of the algorithm scheme may refer to a person who are allowed to use is algorithm scheme, also known as the user, such as an administrator, a manager, or the like. In some embodiments, operator information (also referred to as attribute information of one or more operators) may include a developer, a maintainer, an application scenario, a type of input data, a type of output data, or other information of the operator (s) . For example, as shown in the information configuration area 410 in FIG. 4, when the user selects the “scheme information” column to configure the scheme information, a corresponding name of the current algorithm scheme may be input into an input box of the scheme name, and a corresponding supporting platform of the current algorithm scheme may be input into the input box of the device name. It should be noted that in some embodiments, other information of the algorithm scheme may also be configured, such as a creator of the algorithm scheme, which is not limited in the present disclosure.
An operator list may be displayed in the operator list area 420. The operator list may include all operators, or merely include operators that can be run on the selecting platform or supporting platform of the algorithm scheme. In some embodiments, the operators in the operator list may be classified according to the functions of the operators. For example, in the creation interface 400 shown in FIG. 4, the operator list includes five groups of operators, each of which may realize different functions, such as: target detection, target tracking, target recognition, target segmentation, and target optimization. Operators 1, 2, and 3 may be used to realize the function of target tracking.
The operator building area 430 may display the operators selected by the user and the connection relationship between the selected operators. For example, when building an algorithm scheme, the user may sequentially select multiple operators from the operator list area 420, and drag the operators needed in the algorithm scheme to the operator building area 430. Further, after each time an operator is dragged to the operator building area 430, the user may establish a connection relationship between the currently dragged operator and a previously dragged operator, that is, an operator from which the currently dragged operator receives output data may be determined. It should be noted that after dragging the operator from the operator list area 420 to the operator building area 430, abouthe operator may still be displayed in the operator list area 420. In the process of algorithm scheme construction, the user may drag the operator from the operator list area 420 to the operator building area 430 again. In some embodiments, the user may edit the selected operator in the operator building area 430, for example, save the selected operator and the connection relationship between operators, update an operator library, delete an operator connection line, and export operators with the established connection relationship.
Merely by way of example, in combination with FIG. 4, the user may build the algorithm scheme as following process: in step 1, selecting an operator from the operator list area 420, dragging the operator to the operator building area 430, and using the operator as a starting node of the algorithm scheme, that is, the operator may receive input data of the algorithm scheme; in step 2, selecting a next operator from the operator list area 420; in step 3, dragging the selected operator to the operator building area 430, and establishing a connection relationship between the operator and the operator already in the operator building area 430, that is, determining an operator from which the currently selected operator receives output data. For example, the connection relationship may be established between the operators by way of serial, parallel, or serial-parallel combination; in step 4, the step 2 and step 3 may be repeated until all operators are dragged and connected to construct a complete algorithm scheme. At this time, the last operator may output data of the algorithm scheme.
When all operators are connected with the connection relationship in the operator building area 430 to construct the algorithm scheme, the user may package a file including all operators in the algorithm scheme and the connection relationships among all operators established by the user. The user may send the packaged file to a corresponding service device, such as a camera. After receiving the file, the service device may run the file to make the algorithm scheme run on the service device, and then realize corresponding functions.
In the process of constructing the algorithm scheme above, the user may need to select an operator from the operator list area and drag it each time. When there are many operators displayed in the operator list area, the user may need to spend more time to find an appropriate operator, which may not be only time-consuming, but also error-prone. The method for recommending at least one downstream operator provided in the embodiments of the present disclosure may determine at least one second operator from an operator set as at least one recommended downstream operator to be directly connected with a first operator; and generate an operator recommendation list for the first operator. Thus, the user may select at least one downstream operator from the operator recommendation list, which may not only help the user quickly locate a possible downstream operator, but also save the selection time, thus improving the construction efficiency of the algorithm scheme.
FIG. 5 is a flowchart illustrating an exemplary process of recommending at least one downstream operator according to some embodiments of the present disclosure. In some embodiments, process 500 may be executed by the system 100. For example, the process 500 may be implemented as a set of instructions stored in a storage device (e.g., the storage device 120) . In some embodiments, the processing device 110 (e.g., the processor 220 of the computing device 200 and/or one or more modules illustrated in FIG. 3) may execute the set of instructions and may accordingly be directed to perform the process 500.
In 510, the processing device 110 (e.g., the acquisition module 310, or the processor 220) may obtain attribute information relating to a first operator in an algorithm scheme.
In the embodiment, the algorithm scheme may refer to an algorithm scheme that the user is building and has not yet been completed. The first operator may refer to an operator that the user has selected whose downstream operator needs to be determined, such as an operator that the user has recently dragged into the operator building area 430.
In some embodiments, the processing device 110 may determine the first operator whose downstream operator needs to be determined from at least one operator with a known connection relationship. The downstream operator may be used to receive output data of the first operator. The at least one operator may have been selected as operators of the algorithm scheme, and a connection relationship between the at least one operator may have been determined based on an external input. For example, the at least one operator may include multiple operators dragged into the operator building area 430 from the operator list area 420 by the user, and the user may establish a connection relationship (e.g., serial relationship, parallel relationship, or serial-parallel relationship) for the multiple operators already in the operator building area 430. In some embodiments, the at least one operator may include one or more types of operators. A count of each type of operators may be one or more. For example, the at least one operator that has established a connection relationship in the operator building region 430 may include two operators 1, one operator 2, or the like.
In some embodiments, attribute information of an operator may include at least one of a type of input data, a type of output data, an application scenario, a maintainer, or a supporting platform of the operator.
The type of input/output data may indicate the meaning of the input/output data. For example, if the input/output data represents a target box on an image, the input/output data may belong to a target box type. If the input/output data represents a probability that a target object in the image is a person, the input/output data may belong to a confidence type. If the input/output data represents feature information of a target object in the image, the input/output data may belong to a target feature type. The application scenario of the operator may refer to functions that the operator may realize and/or functions of which the operator undertakes in the algorithm scheme. For example, the application scenario of the operator may include target detection, target tracking, target recognition, or the like. The maintainer of the operator may refer to a user who configures and adjusts the parameters of the operator. The supporting platform of the operator may refer to a platform that can run the operator.
In some embodiments, a count of first operators whose downstream operator needs to be determined may be one or more. When a count of the first operators is more than one, operation 520 and operation 530 may be performed for each of the first operators, that is, an operator recommendation list may be generated for each first operator. For ease of understanding, one first operator may be taken as an example hereinafter.
In 520, the processing device 110 (e.g., the determination module 310, or the processor 220) may determine, based on the attribute information relating to the first operator, at least one second operator from an operator set. The at least one second operator may be at least one recommended downstream operator to be directly connected with the first operator.
The operator set may refer to a set including a plurality of available operators. For example, the operator set may refer to a set including all operators displayed in the operator list area 420, and the operators displayed in the operator list area 420 may also be called template operators. A second operator may be a recommended downstream operator to be directly connected with the first operator, that is, the second operator may be used to receive the output data of the first operator.
In some embodiments, for each of a plurality of template operators in the operator set, the processing device 110 may determine a recommended score of the template operator based on the attribute information of the first operator. Further, the processing device 110 may determine, based on a plurality of recommended scores of the plurality of template operators, the at least one second operator from the plurality of template operators. For example, the processing device 110 may filter out a template operator whose recommended score exceeds a score threshold, or one or more template operators with the highest recommended score, and designate the filtered template operator (s) as the second operator.
In some embodiments, a recommended score of a template operator may reflect a degree that the template operator is recommended as the downstream operator of the first operator. The higher the recommended score of the template operator is, the higher degree the template operator is recommended as the downstream operator of the first operator. In some embodiments, the recommended score of the template operator may reflect a probability that the template operator receives the output data of the first operator in the current algorithm scheme. The higher the recommended score of the template operator is, the higher the probability that the template operator receives the output data of the first operator in the current algorithm scheme is. Based on the plurality of recommended scores, template operators with high probability of receiving the output data of the first operator may be determined.
In some embodiments, for each of the plurality of template operators, the processing device 110 may determine a correlation degree between the template operator and the first operator and/or a similarity degree between the first operator and the template operator; and determine the recommended score of the template operator based on the correlation degree and the similarity degree. More descriptions regarding the determination of the recommended score may be found elsewhere in the present disclosure, for example, FIG. 6 and the related descriptions, which are not repeated here.
In some embodiments, for each of the plurality of template operators, the processing device 110 may determine the recommended score of the template operator using a trained scoring estimation model. Specifically, the processing device 110 may obtain the trained scoring estimation model, and determine the recommended score of the template operator by processing input data using the trained scoring estimation model, wherein the input data may include the attribute information relating to the first operator and attribute information relating to the template operator. In some embodiments, the input data of the trained scoring estimation model may also include attribute information relating to an upstream operator of the first operator and/or attribute information of the algorithm scheme. The upstream operator may refer to an operator in front of the first operator, and the first operator may be directly connected with the upstream operator and receive output data of the upstream operator. For example, the processing device 110 may input related information of a type of input data, a type of output data, the supporting platform of the first operator, the upstream operator of the first operator, and the template operator, as well as the application scenario, the user, and the creator of the current algorithm scheme (e.g., the algorithm scheme under construction) into the trained scoring estimation model. The trained scoring estimation model may process the input data, and output the recommended score of the template operator.
In some embodiments, the trained scoring estimation model may be obtained by model training using training data. The training data may include a plurality of training samples and their corresponding training labels. For example, a training sample may include attribute information of a sample first operator and attribute information of a sample template operator, and a corresponding training label may include a gold standard recommended score for the sample template operator to be the downstream operator of the sample first operator. The gold standard recommended score may be input or confirmed by a user. As another example, the training sample may also include attribute information of a sample algorithm scheme and/or attribute information of one or more sample upstream operators of the sample first operator of the training sample. In some embodiments, the processing device 110 may generate the training data based on a historical algorithm scheme in the algorithm scheme library, where the attribute information of a first operator (i.e., the sample first operator) in the historical algorithm scheme, the attribute information of the historical algorithm scheme (i.e., the sample algorithm scheme) , and the attribute information of one or more upstream operators (i.e., the sample upstream operators) of the first operator in the historical algorithm scheme may be used as the training samples. The corresponding training label may be determined by the user by evaluating whether the sample template operator is suitable as the downstream operator of the sample first operator based on the historical algorithm scheme. Using the plurality of training samples and training labels to train a preliminary machine learning model, the trained scoring estimation model may be obtained. In some embodiments, the trained scoring estimation model may include a click-through rate (CTR) estimation model.
In some embodiments, the processing device 110 may use a graph neural network to determine the recommended score of a template operator. Specifically, the processing device 110 may generate an operator graph based on historical algorithm schemes; generate an operator sub-graph based on the first operator and at least one upstream operator having a connection relationship with the first operator; and determine the recommended score of the template operator based on the operator sub-graph. Each node in the operator graph may represent an operator, an attribute of each node may represent attribute information relating to the operator corresponding to the node, and an edge attribute of each edge may represent a correlation degree between two nodes connected by the edge.
Merely by way of example, the processing device 110 may designate a plurality of different operators contained in the historical algorithm schemes as the plurality of nodes and designate the attribute information of the plurality of different operators as the attribute of the plurality of nodes based on the historical algorithm scheme. If two operators are directly connected in the historical algorithm schemes, an edge may be added between two nodes corresponding to the two operators. A count of connection times of the two operators in the historical algorithm scheme may be the attribute of the edge between the two nodes corresponding to the two operators. Optionally, the attribute of the edge may also reflect a connection type of the two operators connected by the edge. For example, the attribute of the edge between a first node and a second node may include a count of times that an operator corresponding to the first node is designated as a direct upstream operator of an operator corresponding to the second node, a count of times that the operator corresponding to the first node is designated as a direct downstream operator of the operator corresponding to the second node, or the  like.
Then, the processing device 110 may select a target node corresponding to at least one upstream operator of the first operator and the first operator from the operator graph. The target node and the node directly connected to the target node may be designated as nodes of the operator sub-graph, and the attributes of the edges in the operator sub-graph may also be determined based on the operator graph. Further, the processing device 110 may query a plurality of nodes corresponding to the plurality of template operators in the operator sub-graph. If the operator sub-graph contains a node corresponding to a template operator, and there is an edge between the node corresponding to the template operator and the node corresponding to the first operator, the recommended score of the template operator may be determined based on the attribute of the edge. For example, a higher recommended score may be assigned to the template operator if the edge attribute reflects that the connection times is high. If the operator sub-graph does not contain the node corresponding to the template operator, or there is no edge between the node corresponding to the template operator and the node corresponding to the first operator, the recommended score corresponding to the template operator may be determined as 0. In some embodiments, the processing device 110 may directly determine the recommended score of the template operator based on the operator graph. The method of determining the recommended score of the template operator based on the operator graph may be similar to the method of determining the recommended score of the template operator based on the operator sub-graph.
In some embodiments, the processing device 110 may directly determine the at least one second operator from the plurality of template operators based on the recommended score of each template operator. For example, at least one second operator may include template operators with top N recommended scores.
In some embodiments, the processing device 110 may determine a plurality of template operators meeting a preset condition based on the recommended score of each of the plurality of template operators, and designate the plurality of template operators meeting a preset condition as a plurality of candidate operators. The processing device 110 may further determine, based on the upstream operator of the first operator in the algorithm scheme, the at least one second operator from the plurality of candidate operators. More description of determining the at least one second operator may be found elsewhere in the present disclosure, for example, FIG. 7 and the relevant descriptions, which are not repeated here.
In 530, the processing device 110 (e.g., the recommendation module 330, or the processor 220) may generate, based on the at least one second operator, an operator recommendation list.
The operator recommendation list may include information about the at least one recommended downstream operator to be directly connected with the first operator (i.e., the at least one second operator) .
In some embodiments, the processing device 110 may rank the at least one second operator based on attribute information relating to the algorithm scheme and a weight of each of the at least one second operator, and generate the operator recommendation list based on the ranking result. The weight of a second operator may reflect a correlation degree between the second operator and the first  operator and/or a correlation degree between the second operator and the current algorithm scheme. For example, if the application scenario of the second operator is the same as the application scenario of the first operator, the weight of the second operator may be high. As another example, if the supporting platform of the second operator is the same as the supporting platform of the first operator and the current algorithm scheme, the weight of the second operator may be high.
In some embodiments, the processing device 110 may rank the at least one second operator based on a recommended score of each second operator in the order from high to low, and generate the operator recommendation list based on the ranking result. In some embodiments, for a second operator that is finally added to the operator recommendation list, if the second operator has different versions, the processing device 110 may add the version of the second operator with the best testing performance to the operator recommendation list.
In some embodiments, the processing device 110 may output the generated operator recommendation list to the user, for example, in the interface shown in FIG. 4. After generating the operator recommendation list, the user may select an appropriate second operator from the operator recommendation list, and drag the selected second operator to the operator building area 430 as the downstream operator of the first operator to build the algorithm scheme.
In some embodiments, the recommendation score corresponding to each second operator and/or the attribute information of each second operator may also be displayed in the operator recommendation list. For example, the application scenario of the second operator, the type of input data, the type of output data, the developer, the maintainer, the supporting platform of each second operator may be displayed. By displaying the recommended score and the attribute information of each second operator in the operator recommendation list, the user may select the appropriate downstream operator from the operator recommendation list more quickly.
It is understandable that when the user cannot select the appropriate template operator from the operator recommendation list, an appropriate template operator may be selected from the operator set. That is, the users may still select other suitable template operators from the operator list area 420 in FIG. 4 and drag the selected template operators to the operator building area 430.
It can be understood that the operator recommendation list is generated based on the template operator selected from the operator set (i.e., the at least one second operator) , so the count of operators in the operator recommendation list may be less than the count of operators in the operator set. For the user, the difficulty to select the appropriate downstream operator from the operator recommendation list may be lower than the difficulty to select the appropriate downstream operator from the operator set, and it is less likely to make mistakes when searching for downstream operators from the operator recommendation list, thus the efficiency and accuracy of algorithm scheme construction may be improved.
It should be noted that the above description of the process 500 is merely provided for the purposes of illustration, and is not intended to limit the scope of the present disclosure. For persons having ordinary skills in the art, plurality of variations or modifications may be made under the teachings of the present disclosure. However, those variations and modifications do not depart from the scope of the present disclosure. For example, one or more other optional operations (e.g., a storing operation)  may be added elsewhere in the process 500. In the storing operation, the processing device 110 may store information and/or data (e.g., the recommended score of a template operator) associated with the first operator in a storage device (e.g., the storage device 120) disclosed elsewhere in the present disclosure.
FIG. 6 is a flowchart illustrating an exemplary process of determining a recommended score of a template operator according to some embodiments of the present disclosure. In some embodiments, process 600 may be executed by the system 100. For example, the process 600 may be implemented as a set of instructions stored in a storage device (e.g., the storage device 120) . In some embodiments, the processing device 110 (e.g., the processor 220 of the computing device 200 and/or one or more modules illustrated in FIG. 3) may execute the set of instructions and may accordingly be directed to perform the process 600. In some embodiments, operation 520 may be achieved by performing the process 600. For example, for each of the plurality of template operators in the operator set, the processing device 110 may execute process 600 to determine the recommended score of the template operator. For illustration purposes, the implementation of the process 600 for one template operator is described below.
In 610, the processing device 110 (e.g., the determination module 320, or the processor 220) may determine at least one target historical algorithm scheme corresponding to the template operator from an algorithm scheme library.
The algorithm scheme library may include one or more historical algorithm schemes that have been created, and each historical algorithm scheme may meet business requirements. In some embodiments, the at least one target historical algorithm scheme corresponding to the template operator may include one or more target historical algorithm schemes filtered from the algorithm scheme library based on a specific rule. For example, each selected target historical algorithm scheme may include the first operator. As another example, each target historical algorithm scheme corresponding to the template operator may also include the template operator. Optionally, in each target historical algorithm scheme, the template operator may be a downstream node directly connected with the first operator. That is, in each target historical algorithm scheme corresponding to the template operator, the template operator may receive output data of the first operator.
In 620, the processing device 110 (e.g., the determination module 320, or the processor 220) may determine, based on the at least one target historical algorithm scheme, a correlation degree between the template operator and the first operator.
The correlation degree between a template operator and the first operator may reflect a probability that the template operator and the first operator are used to build the same algorithm scheme. In some embodiments, the processing device 110 may determine a count of at least one target historical algorithm scheme corresponding to the template operator, and determine the correlation degree between the template operator and the first operator based on the count of at least one target historical algorithm scheme corresponding to the template operator.
For example, the processing device 110 may determine a count of the at least one target historical algorithm scheme corresponding to the template operator. In response to determining that the count of the at least one target historical algorithm scheme corresponding to the template operator  exceeds a threshold count, the processing device 110 may determine the correlation degree between the template operator and the first operator based on a ratio of the count to a reference count. The reference count may be a default setting of the system, set manually, or determined by the processing device 110 based on the actual situation. For example, the correlation degree may be proportional to the ratio of the count to the reference count. The processing device 110 may determine at least one target template operator in the plurality of template operators, wherein a count of the at least one target historical algorithm scheme corresponding to each of the at least one target template operator exceeds a threshold count. The processing device 110 may determine the reference count based on a sum of the count of the at least one target historical algorithm scheme corresponding to each of the at least one target template operator. For example, the processing device 110 may add the count of at least one target historical algorithm scheme corresponding to each of the at least one target template operator to obtain the reference count. That is to say, the reference count is the sum of the count of all target historical algorithm schemes of the target template operator whose count of target historical algorithm schemes exceeds the count threshold.
In response to determining that the count of the at least one target historical algorithm scheme corresponding to the template operator does not exceed the threshold count, the processing device 110 may determine that the correlation degree has a predetermined value. In some embodiments, the predetermined value may be set based on actual requirements. For example, the predetermined value may be any value less than the correlation degree between the first operator and any target template operator (the count of at least one target historical algorithm scheme corresponding to the target template operator exceeds the count threshold) . As another example, the predetermined value may be set manually.
In some embodiments, when the count of at least one target historical algorithm scheme corresponding to the template operator exceeds the count threshold, the processing device 110 may designate the ratio of the count of at least one target historical algorithm scheme corresponding to the template operator to the reference count as the correlation degree between the template operator and the first operator. In some embodiments, when the count of at least one target historical algorithm scheme corresponding to the template operator exceeds the count threshold, the processing device 110 may calculate the ratio of the count of at least one target historical algorithm scheme corresponding to the template operator to the reference count to obtain the correlation degree between the template operator and the first operator. The higher the ratio is, the higher the correlation degree is.
If the count of at least one target historical algorithm scheme corresponding to the template operator does not exceed the count threshold, it may be considered that in the current algorithm scheme, a probability of the template operator receiving the output data of the first operator is low. Therefore, in order to reduce the amount of calculation, the correlation degree between the first operator and the template operator may be determined as the predetermined value. If the count of at least one target historical algorithm scheme corresponding to the template operator exceeds the count threshold, it may be considered that in the current algorithm scheme, the probability of the template operator receiving the output data of the first operator is high, so the correlation degree between the template operator and the first operator may be determined based on the ratio of the count of at least  one target historical algorithm scheme corresponding to the template operator to the reference count.
In some embodiments, the count threshold may be determined based on actual requirements.
In some embodiments, the processing device 110 may determine the correlation degree between the template operator and the first operator based on the first operator and the upstream operator of the first operator. For example, the processing device 110 may determine, based on the at least one target historical algorithm scheme, a first count of first target historical algorithm schemes and a second count of second target historical algorithm schemes. The template operator in each first target historical algorithm scheme may be a downstream operator directly connected with the first operator, and an upstream operator of the first operator in each second target historical algorithm scheme may be the same as an upstream node of the first operator in the algorithm scheme. Further, the processing device 110 may determine, based on the first count and the second count, the correlation degree between the template operator and the first operator.
Merely by way of example, for the first operator A, the upstream operator B directly connected with the first operator and the template operator C in the algorithm scheme, the processing device 110 may determine first target historical algorithm scheme (s) in the at least one target historical algorithm scheme and determine the first count of the first target historical algorithm scheme (s) . Each first target historical algorithm scheme may include the first operator A and the template operator C, and the template operator C may receive the output data of the first operator A. The processing device 110 may determine second target historical algorithm scheme (s) in the at least one target historical algorithm scheme and determine the second count of the second target historical algorithm scheme (s) . Each second target historical algorithm scheme may include the first operator A, the upstream operator B and the template operator C. The first operator A may receive the output data of the upstream operator B, and the template operator C may receive the output data of the first operator A. Finally, the processing device 110 may determine the correlation degree between the template operator C and the first operator A based on the first count and the second count, for example, determine the correlation degree based on a ratio of the second count to the first count.
In some embodiments, one or more upstream nodes of the first operator in a second target historical algorithm scheme may be the same as one or more upstream nodes of the first operator in the algorithm scheme. For example, the second target historical algorithm scheme and the algorithm scheme both contain the first operator A, the upstream operator B, and the upstream operator D. The first operator A may receive the output data of the upstream operator B, and the upstream operator B may receive the output data of the upstream operator D.
The correlation degree determined based on the count of at least one target historical algorithm scheme corresponding to the template operator may accurately represent the probability of the template operator receiving the output data of the first operator in the current algorithm scheme, thus determining the recommended downstream operator of the first operator more accurately. The upstream node of the first operator may reflect the upstream environment information of the first operator in the algorithm scheme. The first target historical algorithm scheme (s) and the second target historical algorithm scheme (s) corresponding to the template operator may both contain the first operator and the template operator, and the upstream node of the first operator in the second target  historical algorithm scheme (s) may be the same as the upstream node of the first operator in the algorithm scheme. Therefore, the correlation degree between the template operator and the first operator may be determined based on the first count of the first target historical algorithm scheme (s) and the second count of the second target historical algorithm scheme (s) , thus the context information of the first operator may be taken into account, the probability of the template operator and the first operator both being operators of the algorithm scheme may be more accurately determined, thus helping to determine the recommended downstream operator of the first operator more accurately.
In 630, the processing device 110 (e.g., the determination module 320, or the processor 220) may determine, based on the attribute information relating to the first operator, a similarity degree between the first operator and the template operator.
The similarity degree between the template operator and the first operator may reflect a probability that the template operator receives the output data of the first operator.
In some embodiments, the processing device 110 may determine a first feature vector of the first operator based on the attribute information relating to the first operator, determine a second feature vector of the template operator based on attribute information relating to the template operator, and determine the similarity degree between the first operator and the template operator based on the first feature vector and the second feature vector. For example, the processing device 110 may determine the first feature vector of the first operator based on the type of output data of the first operator, and determine the second feature vector of the template operator based on the type of input data of the template operator.
In some embodiments, a corresponding vector may be preset for each data type. For example, vector 1 may represent a target box type, vector 2 may represent a feature type, vector 3 may represent an image type, or the like. In some embodiments, when a count of the types of output data of the first operator (or the types of input data of the template operator) is more than one, the processing device 110 may obtain a vector corresponding to each data type, and then fuse the vectors corresponding to all data types to obtain the first feature vector of the first operator (or the second feature vector of the template operator) . A length of the vector obtained by fusion and a length of each vector before fusion may be consistent.
In some embodiments, for the first operator and the template operator, a base vector with a fixed-length may be determined in advance. The processing device 110 may modify the base vectors of the first operator and the template operator respectively to determine the corresponding feature vectors of the first operator and the template operator. For example, when generating the first feature vector of the first operator, the processing device 110 may modify a value of a preset position in the base vector of the first operator to a value corresponding to the type of output data of the first operator based on the type of output data of the first operator. When generating the second feature vector of the template operator, the processing device 110 may modify a value of a preset position in the base vector of the template operator to a value corresponding to the type of input data of the template operator based on the type of input data of the template operator.
It should be noted that in other embodiments, in addition to the type of input data and the type of output data, a feature vector (e.g., the first feature vector and the second feature vector) of an  operator may also be determined based on an application scenario, a maintainer, a designer, a supporting platform and other parameters of the operator. If the attribute information relating to the first operator further includes parameters of other types, the attribute information relating to the template operator may also need to further include parameters of this type. For example, if the attribute information relating to the first feature vector of the first operator includes the application scenario of the first operator, the attribute information relating to the second feature vector of the template operator may also include the application scenario of the template operator.
In some embodiments, the processing device 110 may determine the similarity degree between the first operator and the template operator based on a Euclidean distance or a cosine value between the first feature vector and the second feature vector, which is not limited in the present disclosure. It can be understood that the length of the first feature vector and the second feature vector should be the same.
The downstream operator that can receive the output data of the first operator may have a certain similarity degree with the first operator. For example, the type of input data of the downstream operator is the same as the type of output data of the first operator (such as the target box type) , or the application scenarios of the downstream operator and the first operator are similar, or the developers or maintainers of the downstream operator and the first operator are similar. Therefore, the higher the similarity degree between the first operator and the template operator is, the higher the possibility of the template operator receiving the output data of the first operator in the current algorithm scheme. In other words, the similarity degree between the first operator and the template operator may represent the probability of the template operator receiving the output data of the first operator in the current algorithm scheme. By determining the similarity degree between the template operator and the first operator, and determining the recommended score of the template operator based on the similarity degree, the recommended downstream operator may be determined more accurately.
In 640, the processing device 110 (e.g., the determination module 320, the processor 220) may determine, based on the correlation degree and the similarity degree, the recommended score of the template operator.
In some embodiments, the processing device 110 may perform weighting and summing operations on the correlation degree and the similarity degree of the template operator to obtain the recommended score of the template operator. At this time, weights corresponding to the correlation degree and the similarity degree may be determined based on the actual requirements. In some embodiments, the processing device 110 may perform other operations, such as averaging, on the correlation degree and the similarity degree corresponding to the template operator to obtain the recommended score of the template operator, which is not limited in the present disclosure.
For each template operator, the corresponding correlation degree and similarity degree may both represent the probability of the template operator receiving the output data of the first operator in the current algorithm scheme. Therefore, the recommended score determined based on the similarity degree and the correlation degree corresponding to the template operator may also represent the probability of the template operator receiving the output data of the first operator in the current algorithm scheme. The higher the recommended score of the template operator is, the higher the probability of  the template operator receiving the output data of the first operator in the current algorithm scheme is. In addition, the template operator may be evaluated based on the correlation degree and the similarity degree corresponding to the template operator, so that the generated recommended score may show various aspects of the template operator and ensure accurate recommendations.
FIG. 7 is a flowchart illustrating an exemplary process of determining at least one second operator according to some embodiments of the present disclosure. In some embodiments, process 700 may be executed by the system 100. For example, the process 700 may be implemented as a set of instructions stored in a storage device (e.g., the storage device 120) . In some embodiments, the processing device 110 (e.g., the processor 220 of the computing device 200 and/or one or more modules illustrated in FIG. 3) may execute the set of instructions and may accordingly be directed to perform the process 700. In some embodiments, operation 520 may be achieved by performing the process 700.
As shown in FIG. 7, in some embodiments, after determining a plurality of candidate operators based on the recommended score of each of the plurality of template operators, the processing device 110 may further select the at least one second operator from the plurality of candidate operators based on one or more upstream operators of the first operator.
In 710, the processing device 110 (e.g., the determination module 320, or the processor 220) may determine, based on the recommended score of each of the plurality of template operators, a plurality of candidate operators.
In some embodiments, the processing device 110 may rank the plurality of template operators based on the plurality of recommended scores from high to low, and determine the plurality of candidate operators based on a ranking result. For example, the top 10 template operators may be determined as the candidate operators. In some embodiments, the processing device 110 may filter out a plurality of template operators whose recommended scores exceed a score threshold, and determine the selected template operators as the plurality of candidate operators.
In 720, the processing device 110 (e.g., the determination module 320, or the processor 220) may determine an upstream operator of the first operator in the algorithm scheme, wherein the first operator may receive output data of the upstream operator.
In some embodiments, the processing device 110 may determine the upstream operator directly connected with the first operator in the algorithm scheme from at least one operator whose connection relationship has been established, wherein the first operator may receive the output data of the upstream operator. For example, the processing device 110 may determine the upstream operator directly connected with the first operator based on the connection relationship between the operators established by the user in the operator building area 430 shown in FIG. 4.
In 730, the processing device 110 (e.g., the determination module 320, or the processor 220) may determine, based on the upstream operator, the at least one second operator from the plurality of candidate operators.
In some embodiments, for each of the plurality of candidate operators, the processing device 110 may generate a candidate group corresponding to the candidate operator, wherein the upstream operator, the first operator, and the candidate operator may be sequentially connected in the candidate  group. That is, in each of the plurality of candidate groups corresponding to the plurality of candidate operators, the first operator may receive the output data of the upstream operator, and the candidate operator may receive the output data of the first operator.
It can be understood that if the user selects a template operator (i.e., the second operator) from the plurality of candidate operators as a next operator to be dragged, the current algorithm scheme may include the candidate group corresponding to the candidate operator.
In some embodiments, the processing device 110 may determine, based on historical algorithm schemes, at least one target group from a plurality of candidate groups corresponding to the plurality of candidate operators, and designate the candidate operator in the at least one target group as the at least one second operator. For example, the processing device 110 may determine a count of occurrences of each of the plurality of candidate groups in the historical algorithm schemes, and designate at least one candidate group whose the count of occurrences meets a predetermined requirement as the at least one target group. Merely by way of example, the processing device 110 may determine the candidate group whose the count of occurrence exceeds a preset threshold as a target group. As another example, the processing device 110 may rank the plurality of candidate groups based on the count of occurrences of the candidate groups from high to low, filter out a preset count (e.g., 3, 5, 6, etc. ) of candidate groups in the front, and determine the filtered candidate groups as target groups.
The higher the count of occurrences of the candidate group in the historical algorithm scheme library, the higher the probability of the occurrence of the candidate group in the current algorithm scheme, and the higher the probability of the template operator corresponding to the candidate group receiving the output data of the first operator will be. By analyzing the possibility that the candidate group corresponding to each of the plurality of candidate operators appears in the current algorithm scheme, target group (s) with high probability may be selected. Finally, the template operator in the selected target group (s) may be designated as the selected template operator, which may realize more accurate recommendation of the at least one downstream operator.
In some embodiments, the processing device 110 may count the latest date that each candidate group is used based on the algorithm scheme library, and then rank the plurality of candidate groups based on an order of time interval between the current time and the latest date that each candidate group is used from short to long, filter out a preset count of candidate groups in the front, and determine the filtered candidate group (s) as the target group (s) . In some embodiments, the target group (s) may be determined simultaneously based on the count of occurrences of each candidate group and the latest date that each candidate group used. For example, a candidate group whose number of occurrences in the historical algorithm scheme library exceeds a threshold, and a time interval between the latest date that the candidate group is used and the current time is less than a threshold interval may be filtered out, and the filtered candidate group may be determined as the target group.
In some embodiments, the processing device 110 may directly determine the template operator (s) selected from the candidate operators as the second operator (s) and add the selected second operator (s) to the operator recommendation list. In some embodiments, the processing device 110 may further filter the template operator (s) selected from the candidate operators, for example, filter the template operator (s) based on the upstream operator D directly connected with the upstream operator B  to determine the second operator (s) , wherein the upstream operator B may be directly connected with the first operator. For another example, for each selected candidate operator, the processing device 110 may determine the number of times that the upstream operator and the candidate operator simultaneously appear in the same historical algorithm scheme in the algorithm scheme library. Based on the number of times corresponding to each candidate operator, the processing device 110 may filter the selected candidate operator again to determine the second operator (s) .
The upstream operator may show an upstream environment of the first operator. Therefore, filtering the filtered template operator again based on the upstream operator of the first operator may further improve the recommendation accuracy of the second operator (s) .
One of the embodiments of the present disclosure may provide a system for recommending at least one downstream operator. The system may include at least one storage device for storing a set of instructions, and at least one processing device configured to communicate with the at least one storage device, wherein when executing the set of instructions, the at least one processing device is configured to direct the system to perform operations of the method for recommending at least one downstream operator described in the embodiments of the present disclosure (e.g., the process 500-process 700) .
One of the embodiments of the present disclosure may provide a non-transitory computer readable medium for recommending at least one downstream operator. The non-transitory computer readable medium may include a set of instructions, wherein when executed by a computing device, the set of instructions may direct the computing device to perform a method for recommending at least one downstream operator described in the embodiments of the present disclosure (e.g., the process 500-process 700) .
It should be understood that the operations of the process (e.g., the process 500, the process 600, the process 700) presented above are intended to be illustrative. In some embodiments, the process may be accomplished with one or more additional operations not described and/or without one or more of the operations discussed. Additionally, the order of the operations of process illustrated in figures and described above is not intended to be limiting.
Having thus described the basic concepts, it may be rather apparent to those skilled in the art after reading this detailed disclosure that the foregoing detailed disclosure is intended to be presented by way of example only and is not limiting. Various alterations, improvements, and modifications may occur and are intended to those skilled in the art, though not expressly stated herein. These alterations, improvements, and modifications are intended to be suggested by this disclosure and are within the spirit and scope of the exemplary embodiments of this disclosure.
Moreover, certain terminology has been used to describe embodiments of the present disclosure. For example, the terms “one embodiment, ” “an embodiment, ” and/or “some embodiments” mean that a particular feature, structure or characteristic described in connection with the embodiment is included in at least one embodiment of the present disclosure. Therefore, it is emphasized and should be appreciated that two or more references to “an embodiment” or “one embodiment” or “an alternative embodiment” in various portions of the present disclosure are not necessarily all referring to the same embodiment. Furthermore, the particular features, structures or characteristics may be combined as suitable in one or more embodiments of the present disclosure.
Further, it will be appreciated by one skilled in the art, aspects of the present disclosure may be illustrated and described herein in any of a number of patentable classes or context including any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof. Accordingly, aspects of the present disclosure may be implemented entirely hardware, entirely software (including firmware, resident software, micro-code, etc. ) or combining software and hardware implementation that may all generally be referred to herein as a “unit, ” “module, ” or “system. ” Furthermore, aspects of the present disclosure may take the form of a computer program product embodied in one or more computer-readable media having computer-readable program code embodied thereon.
A non-transitory computer-readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated signal may take any of a variety of forms, including electro-magnetic, optical, or the like, or any suitable combination thereof. A computer-readable signal medium may be any computer-readable medium that is not a computer-readable storage medium and that may communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. Program code embodied on a computer-readable signal medium may be transmitted using any appropriate medium, including wireless, wireline, optical fiber cable, RF, or the like, or any suitable combination of the foregoing.
Computer program code for carrying out operations for aspects of the present disclosure may be written in any combination of one or more programming languages, including an object-oriented programming language such as Java, Scala, Smalltalk, Eiffel, JADE, Emerald, C++, C#, VB. NET, Python or the like, conventional procedural programming languages, such as the "C" programming language, Visual Basic, Fortran 2003, Perl, COBOL 2002, PHP, ABAP, dynamic programming languages such as Python, Ruby, and Groovy, or other programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN) , or the connection may be made to an external computer (e.g., through the Internet using an Internet Service Provider) or in a cloud computing environment or offered as a service such as a Software as a Service (SaaS) .
Furthermore, the recited order of processing elements or sequences, or the use of numbers, letters, or other designations therefore, is not intended to limit the claimed processes and methods to any order except as may be specified in the claims. Although the above disclosure discusses through various examples what is currently considered to be a variety of useful embodiments of the disclosure, it is to be understood that such detail is solely for that purpose and that the appended claims are not limited to the disclosed embodiments, but, on the contrary, are intended to cover modifications and equivalent arrangements that are within the spirit and scope of the disclosed embodiments. For example, although the implementation of various components described above may be embodied in a hardware device, it may also be implemented as a software-only solution, e.g., an installation on an  existing server or mobile device.
Similarly, it should be appreciated that in the foregoing description of embodiments of the present disclosure, various features are sometimes grouped together in a single embodiment, figure, or description thereof for the purpose of streamlining the disclosure aiding in the understanding of one or more of the various inventive embodiments. This method of disclosure, however, is not to be interpreted as reflecting an intention that the claimed subject matter requires more features than are expressly recited in each claim. Rather, inventive embodiments lie in less than all features of a single foregoing disclosed embodiment.
In some embodiments, the numbers expressing quantities, properties, and so forth, used to describe and claim certain embodiments of the application are to be understood as being modified in some instances by the term “about, ” “approximate, ” or “substantially. ” For example, “about, ” “approximate, ” or “substantially” may indicate ±20%variation of the value it describes, unless otherwise stated. Accordingly, in some embodiments, the numerical parameters set forth in the written description and attached claims are approximations that may vary depending upon the desired properties sought to be obtained by a particular embodiment. In some embodiments, the numerical parameters should be construed in light of the number of reported significant digits and by applying ordinary rounding techniques. Notwithstanding that the numerical ranges and parameters setting forth the broad scope of some embodiments of the application are approximations, the numerical values set forth in the specific examples are reported as precisely as practicable.
Each of the patents, patent applications, publications of patent applications, and other material, such as articles, books, specifications, publications, documents, things, and/or the like, referenced herein is hereby incorporated herein by this reference in its entirety for all purposes, excepting any prosecution file history associated with same, any of same that is inconsistent with or in conflict with the present document, or any of same that may have a limiting effect as to the broadest scope of the claims now or later associated with the present document. By way of example, should there be any inconsistency or conflict between the description, definition, and/or the use of a term associated with any of the incorporated material and that associated with the present document, the description, definition, and/or the use of the term in the present document shall prevail.
In closing, it is to be understood that the embodiments of the application disclosed herein are illustrative of the principles of the embodiments of the application. Other modifications that may be employed may be within the scope of the application. Thus, by way of example, but not of limitation, alternative configurations of the embodiments of the application may be utilized in accordance with the teachings herein. Accordingly, embodiments of the present application are not limited to that precisely as shown and described.

Claims (20)

  1. A method for recommending at least one downstream operator, comprising:
    obtaining attribute information relating to a first operator in an algorithm scheme;
    determining, based on the attribute information relating to the first operator, at least one second operator from an operator set, the at least one second operator being at least one recommended downstream operator to be directly connected with the first operator; and
    generating, based on the at least one second operator, an operator recommendation list.
  2. The method of claim 1, wherein determining, based on the attribute information relating to the first operator, at least one second operator from an operator set includes:
    for each of a plurality of template operators in the operator set, determining, based on the attribute information relating to the first operator, a recommended score of the template operator; and
    determining, based on a plurality of recommended scores of the plurality of template operators, the at least one second operator from the plurality of template operators.
  3. The method of claim 2, wherein for each of a plurality of template operators in the operator set, determining, based on the attribute information relating to the first operator, a recommended score of the template operators includes:
    for each of the plurality of template operators,
    determining at least one target historical algorithm scheme corresponding to the template operator from an algorithm scheme library, each of the at least one target historical algorithm scheme at least including the first operator;
    determining, based on the at least one target historical algorithm scheme, a correlation degree between the template operator and the first operator;
    determining, based on the attribute information relating to the first operator, a similarity degree between the first operator and the template operator; and
    determining, based on the correlation degree and the similarity degree, the recommended score of the template operator.
  4. The method of claim 3, each of the at least one target historical algorithm scheme corresponding to the template operator further includes the template operator, and the template operator is a downstream operator connected with the first operator, and
    determining, based on the at least one target historical algorithm scheme, a correlation degree between the template operator and the first operator includes:
    determining a count of the at least one target historical algorithm scheme; and
    in response to determining that the count does not exceed a threshold count, determining that the correlation degree has a predetermined value; or
    in response to determining that the count exceeds the threshold count, determining, based on a ratio of the count to a reference count, the correlation degree between the template operator and  the first operator.
  5. The method of claim 4, further comprising:
    determining at least one target template operator in the plurality of template operators, a count of the at least one target historical algorithm scheme corresponding to each of the at least one target template operator exceeding the threshold count; and
    determining, based on a sum of the count of the at least one target historical algorithm scheme corresponding to each of the at least one target template operator, the reference count.
  6. The method of any one of claims 3-5, wherein determining, based on the attribute information relating to the first operator, a similarity degree between the first operator and the template operator includes:
    determining, based on the attribute information relating to the first operator, a first feature vector of the first operator;
    determining, based on attribute information relating to the template operator, a second feature vector of the template operator; and
    determining, based on the first feature vector and the second feature vector, the similarity degree between the first operator and the template operator.
  7. The method of claim 3, wherein determining, based on the at least one target historical algorithm scheme, a correlation degree between the template operator and the first operator includes:
    determining, based on the at least one target historical algorithm scheme, a first count of first target historical algorithm schemes and a second count of second target historical algorithm schemes, the template operator in each first target historical algorithm scheme being a downstream operator directly connected with the first operator, and an upstream operator of the first operator in each second target historical algorithm scheme being the same as an upstream node of the first operator in the algorithm scheme; and
    determining, based on the first count and the second count, the correlation degree between the template operator and the first operator.
  8. The method of any one of claims 2-7, wherein determining, based on a plurality of recommended scores of the plurality of template operators, the at least one second operator from the plurality of template operators includes:
    determining, based on the recommended score of each of the plurality of template operators, a plurality of candidate operators;
    determining an upstream operator of the first operator in the algorithm scheme, wherein the first operator receives output data of the upstream operator; and
    determining, based on the upstream operator, the at least one second operator from the plurality of candidate operators.
  9. The method of claim 8, wherein determining, based on the upstream operator, the at least one second operator from the plurality of candidate operators includes:
    for each of the plurality of candidate operators, generating a candidate group corresponding to the candidate operator, wherein the upstream operator, the first operator, and the candidate operator are sequentially connected in the candidate group;
    determining, based on historical algorithm schemes, at least one target group from a plurality of candidate groups corresponding to the plurality of candidate operators; and
    designating the candidate operator in the at least one target group as the at least one second operator.
  10. The method of claim 9, wherein determining, based on historical algorithm schemes, at least one target group from a plurality of candidate groups corresponding to the plurality of candidate operators includes:
    determining a count of occurrences of each of the plurality of candidate groups in the historical algorithm schemes; and
    designating at least one candidate group whose the count of occurrences of the least one candidate group meets a predetermined requirement as the at least one target group.
  11. The method of claim 2, wherein for each of a plurality of template operators in the operator set, determining, based on the attribute information relating to the first operator, a recommended score of the template operator includes:
    for each of the plurality of template operators,
    obtaining a trained scoring estimation model; and
    determining the recommended score of the template operator by processing input data using the trained scoring estimation model, the input data at least including the attribute information relating to the first operator and attribute information relating to the template operator.
  12. The method of claim 11, the input data further includes attribute information relating to an upstream operator of the first operator and attribute information relating to the algorithm scheme, and the attribute information relating to the algorithm scheme includes at least one of an application scenario, an authorized person, or a supporting/selecting platform of the algorithm scheme.
  13. The method of claim 2, wherein for each of a plurality of template operators in the operator set, determining, based on the attribute information relating to the first operator, a recommended score of the template operator includes:
    for each of the plurality of template operators,
    generating, based on historical algorithm schemes, an operator graph, wherein each node in the operator graph represents an operator, attribute of the each node represents attribute information relating to the operator corresponding to the node, and edge attribute of each edge represents a correlation between two nodes connected by the edge;
    generating, based on the first operator and at least one upstream operator having a connection relationship with the first operator, an operator sub-graph; and
    determining, based on the operator sub-graph, the recommended score of the template operator.
  14. The method of any one of claims 1-13, the attribute information of the first operator includes at least one of a type of input data, a type of output data, an application scenario, a maintainer, or a supporting platform of the first operator.
  15. The method of any one of claims 1-14, further comprising:
    determining the first operator that needs to determine a downstream operator from at least one operator in the algorithm scheme, wherein
    the at least one operator has been selected as operators of the algorithm scheme, and a connection relationship between the at least one operator is determined based on an external input.
  16. The method of any one of claims 1-14, wherein generating, based on the at least one second operator, an operator recommendation list includes:
    ranking the at least one second operator based on attribute information relating to the algorithm scheme and a weight of each of the at least one second operator; and
    generating, based on a ranking result, the operator recommendation list.
  17. A system for recommending at least one downstream operator, comprising:
    at least one storage device for storing a set of instructions; and
    at least one processing device configured to communicate with the at least one storage device, wherein when executing the set of instructions, the at least one processing device is configured to direct the system to perform operations including:
    obtaining attribute information relating to a first operator in an algorithm scheme;
    determining, based on the attribute information relating to the first operator, at least one second operator from an operator set, the at least one second operator being at least one recommended downstream operator to be directly connected with the first operator; and
    generating, based on the at least one second operator, an operator recommendation list.
  18. The system of claim 17, wherein the determining, based on the attribute information relating to the first operator, at least one second operator from an operator set includes:
    for each of a plurality of template operators in the operator set, determining, based on the attribute information relating to the first operator, a recommended score of the template operator; and
    determining, based on a plurality of recommended scores of the plurality of template operators, the at least one second operator from the plurality of template operators.
  19. A system for recommending at least one downstream operator, comprising:
    an acquisition module, configured to obtain attribute information relating to a first operator in an  algorithm scheme;
    a determination module, configured to determine, based on the attribute information relating to the first operator, at least one second operator from an operator set, the at least one second operator being at least one recommended downstream operator to be directly connected with the first operator; and
    a recommendation module, configured to generate, based on the at least one second operator, an operator recommendation list.
  20. A non-transitory computer readable medium, comprising a set of instructions, wherein when executed by a computing device, the set of instructions direct the computing device to perform a method for recommending at least one downstream operator, the method comprising:
    obtaining attribute information relating to a first operator in an algorithm scheme;
    determining, based on the attribute information relating to the first operator, at least one second operator from an operator set, the at least one second operator being at least one recommended downstream operator to be directly connected with the first operator; and
    generating, based on the at least one second operator, an operator recommendation list.
PCT/CN2023/082782 2022-09-07 2023-03-21 Methods, systems, and computer-readable media for recommending downstream operator WO2024051146A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202211091774.0 2022-09-07
CN202211091774.0A CN115167846B (en) 2022-09-07 2022-09-07 Recommendation method of downstream operator, electronic device and computer-readable storage medium

Publications (1)

Publication Number Publication Date
WO2024051146A1 true WO2024051146A1 (en) 2024-03-14

Family

ID=83482071

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2023/082782 WO2024051146A1 (en) 2022-09-07 2023-03-21 Methods, systems, and computer-readable media for recommending downstream operator

Country Status (2)

Country Link
CN (1) CN115167846B (en)
WO (1) WO2024051146A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115167846B (en) * 2022-09-07 2022-12-20 浙江大华技术股份有限公司 Recommendation method of downstream operator, electronic device and computer-readable storage medium

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9569178B1 (en) * 2015-08-28 2017-02-14 International Business Machines Corporation Fusion recommendation for performance management in streams
US10025827B1 (en) * 2017-01-17 2018-07-17 International Business Machines Corporation Operator fusion management in a stream computing environment
CN113204702A (en) * 2021-04-23 2021-08-03 Oppo广东移动通信有限公司 Recommendation method, recommendation system and storage medium
CN113591934A (en) * 2021-07-07 2021-11-02 浙江大华技术股份有限公司 Method, device and equipment for arranging business analysis model and storage medium
CN114117206A (en) * 2021-11-09 2022-03-01 北京达佳互联信息技术有限公司 Recommendation model processing method and device, electronic equipment and storage medium
CN114547428A (en) * 2022-03-07 2022-05-27 北京达佳互联信息技术有限公司 Recommendation model processing method and device, electronic equipment and storage medium
CN115167846A (en) * 2022-09-07 2022-10-11 浙江大华技术股份有限公司 Recommendation method of downstream operator, electronic device and computer-readable storage medium

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180082002A1 (en) * 2016-09-19 2018-03-22 Exxonmobil Research And Engineering Company Systems and methods for online model validation
CN112364290B (en) * 2020-11-18 2022-09-02 中睿信数字技术有限公司 Method and system for constructing visual calculation model based on stream-oriented calculation
CN112330080B (en) * 2021-01-07 2021-04-02 平安科技(深圳)有限公司 Factor screening method, device, equipment and medium based on connectivity graph

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9569178B1 (en) * 2015-08-28 2017-02-14 International Business Machines Corporation Fusion recommendation for performance management in streams
US10025827B1 (en) * 2017-01-17 2018-07-17 International Business Machines Corporation Operator fusion management in a stream computing environment
CN113204702A (en) * 2021-04-23 2021-08-03 Oppo广东移动通信有限公司 Recommendation method, recommendation system and storage medium
CN113591934A (en) * 2021-07-07 2021-11-02 浙江大华技术股份有限公司 Method, device and equipment for arranging business analysis model and storage medium
CN114117206A (en) * 2021-11-09 2022-03-01 北京达佳互联信息技术有限公司 Recommendation model processing method and device, electronic equipment and storage medium
CN114547428A (en) * 2022-03-07 2022-05-27 北京达佳互联信息技术有限公司 Recommendation model processing method and device, electronic equipment and storage medium
CN115167846A (en) * 2022-09-07 2022-10-11 浙江大华技术股份有限公司 Recommendation method of downstream operator, electronic device and computer-readable storage medium

Also Published As

Publication number Publication date
CN115167846A (en) 2022-10-11
CN115167846B (en) 2022-12-20

Similar Documents

Publication Publication Date Title
CN109165249B (en) Data processing model construction method and device, server and user side
CN113657465B (en) Pre-training model generation method and device, electronic equipment and storage medium
US11521221B2 (en) Predictive modeling with entity representations computed from neural network models simultaneously trained on multiple tasks
CN115917535A (en) Recommendation model training method, recommendation device and computer readable medium
KR102468827B1 (en) Method, device and system for sourcing products based on artificial intelligence and providing category-customized review analysis service
US20190188760A1 (en) Dynamic Pricing of Application Programming Interface Services
US10825071B2 (en) Adaptive multi-perceptual similarity detection and resolution
CN113656587B (en) Text classification method, device, electronic equipment and storage medium
CN108255706A (en) Edit methods, device, terminal device and the storage medium of automatic test script
WO2024051146A1 (en) Methods, systems, and computer-readable media for recommending downstream operator
CN113657087A (en) Information matching method and device
CN110059172A (en) The method and apparatus of recommendation answer based on natural language understanding
US10762089B2 (en) Open ended question identification for investigations
CN113569162A (en) Data processing method, device, equipment and storage medium
CN114492601A (en) Resource classification model training method and device, electronic equipment and storage medium
CN118093801A (en) Information interaction method and device based on large language model and electronic equipment
US20230267379A1 (en) Method and system for generating an ai model using constrained decision tree ensembles
CN114372580A (en) Model training method, storage medium, electronic device, and computer program product
CN107729424B (en) Data visualization method and equipment
CN112199715B (en) Object generation method based on block chain and cloud computing and digital financial service center
US20210304042A1 (en) Data Filtering With Fuzzy Attribute Association
CN113591934A (en) Method, device and equipment for arranging business analysis model and storage medium
CN114374595B (en) Event node attribution analysis method, device, electronic equipment and storage medium
CN116956204A (en) Network structure determining method, data predicting method and device of multi-task model
CN114357242A (en) Training evaluation method and device based on recall model, equipment and storage 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: 23861854

Country of ref document: EP

Kind code of ref document: A1