Label template generation method, data labeling method and device
By using interactive and service plugins to generate and update data annotation templates, the problem of template generation relying on specific developers in existing technologies has been solved, enabling flexible template generation and rich data annotation capabilities to meet the needs of multiple parties.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-04-08
- Publication Date
- 2026-03-24
AI Technical Summary
In existing technologies, the generation and updating of data annotation templates rely on specific developers, making it difficult to quickly adapt to diverse data annotation needs. Furthermore, they lack flexibility and richness, failing to meet the diverse needs of cloud platforms and private clients.
A method for generating annotation templates is provided. By acquiring interactive plugins and service plugins, the front-end processing logic and back-end processing logic of the target annotation template are respectively represented. The target annotation template is generated by combining the operation of the development user, and data annotation is realized through the interaction between the terminal and the server.
It enables rapid generation and enhanced richness of annotation templates, allowing more users to participate in template development and updates, meeting the data annotation needs of multiple parties, and improving update efficiency and adaptability.
Smart Images

Figure CN114676786B_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of computer technology, and further to the fields of deep learning and artificial intelligence technology, and particularly to methods for generating annotation templates, data annotation methods, and apparatus. Background Technology
[0002] With the continuous development and progress of artificial intelligence, AI development is becoming increasingly important. Data annotation accounts for more than 50% of the workload in the entire AI development process, making annotation tools a crucial component. When using an AI development platform, the first function customers often experience is data annotation; therefore, data annotation functionality is extremely important for AI development platforms.
[0003] Data annotation templates cover a wide range of applications, such as image classification data annotation, object detection data annotation, entity relation extraction data annotation, etc. Against the backdrop of the booming development of the entire artificial intelligence industry, the fields of data to be annotated are also increasing, requiring continuous development of new annotation templates to adapt to various types of data to be annotated. Summary of the Invention
[0004] This disclosure provides a method for generating annotation templates, a data annotation method, an apparatus, an electronic device, a storage medium, and a computer program product.
[0005] According to one aspect of this disclosure, a method for generating annotation templates is provided. The method includes: in response to receiving a development instruction from a developer user for a target annotation template, obtaining an interactive plugin corresponding to the target annotation template, the interactive plugin being used to characterize the front-end processing logic and display logic of the target annotation template; based on the developer user's back-end service development operation on the target annotation template, generating a service plugin corresponding to the target annotation template, the service plugin being used to characterize the back-end processing logic and storage service of the target annotation template; and in response to receiving a generation instruction for the target annotation template, generating the target annotation template based on the interactive plugin and the service plugin.
[0006] According to another aspect of this disclosure, a method for generating a target annotation template is provided. The method includes: responding to receiving an interactive plugin and a service plugin for a target annotation template sent by a terminal; loading the front-end of the target annotation template based on the interactive plugin to obtain a front-end service corresponding to the target annotation template, wherein the front-end service includes a front-end processing service and a display service for the target annotation template; the interactive plugin characterizes the front-end processing logic and display logic of the target annotation template; the service plugin characterizes the back-end processing logic and storage service of the target annotation template; creating a back-end service for the target annotation template based on the service plugin, wherein the back-end service includes a back-end processing service and a storage service for the target annotation template; and associating the front-end service and the back-end service to generate the target annotation template.
[0007] According to another aspect of this disclosure, a data annotation method is provided, comprising: receiving unannotated data uploaded by an annotation user corresponding to a target annotation template; sending the authentication information of the target annotation template and the unannotated data to a server, so that the server performs data judgment on the unannotated data based on the authentication information and a service plugin of the target annotation template, the service plugin being used to characterize the backend processing logic and storage service of the target annotation template; in response to receiving the unannotated data returned by the server that has passed the data judgment, displaying the unannotated data that has passed the data judgment based on an interactive plugin of the target annotation template; and in response to receiving an annotation instruction from an annotation user, generating annotation results corresponding to the unannotated data that has passed the data judgment.
[0008] According to another aspect of this disclosure, an annotation template generation apparatus is provided, the apparatus comprising: an acquisition module configured to, in response to receiving a development instruction from a developer user for a target annotation template, acquire an interactive plugin corresponding to the target annotation template, the interactive plugin being used to characterize the front-end processing logic and display logic of the target annotation template; a first generation module configured to, based on a developer user's back-end service development operation on the target annotation template, generate a service plugin corresponding to the target annotation template, the service plugin being used to characterize the back-end processing logic and storage service of the target annotation template; and a second generation module configured to, in response to receiving a generation instruction for the target annotation template, generate the target annotation template based on the interactive plugin and the service plugin.
[0009] According to another aspect of this disclosure, an annotation template generation apparatus is provided, the apparatus comprising: a front-end loading module configured to respond to receiving an interactive plugin and a service plugin of a target annotation template sent by a terminal, loading the front-end of the target annotation template based on the interactive plugin of the target annotation template to obtain a front-end service corresponding to the target annotation template, wherein the front-end service includes a front-end processing service and a display service of the target annotation template, the interactive plugin is used to characterize the front-end processing logic and display logic of the target annotation template, and the service plugin is used to characterize the back-end processing logic and storage service of the target annotation template; a creation module configured to create a back-end service of the target annotation template based on the service plugin of the target annotation template, wherein the back-end service includes a back-end processing service and a storage service of the target annotation template; and a third generation module configured to associate the front-end service and the back-end service to generate the target annotation template.
[0010] According to another aspect of this disclosure, a data annotation apparatus is provided, comprising: a receiving module configured to receive unannotated data corresponding to a target annotation template uploaded by an annotation user; a sending module configured to send authentication information of the target annotation template and the unannotated data to a server, so that the server performs data judgment on the unannotated data based on the authentication information and a service plugin of the target annotation template, the service plugin being used to characterize the backend processing logic and storage service of the target annotation template; a display module configured to, in response to receiving the unannotated data that has passed the data judgment returned by the server, display the unannotated data that has passed the data judgment based on an interactive plugin of the target annotation template; and a fourth generation module configured to, in response to receiving an annotation instruction from an annotation user, generate annotation results corresponding to the unannotated data that has passed the data judgment.
[0011] According to another aspect of this disclosure, an electronic device is provided, comprising at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, the instructions being executed by the at least one processor to enable the at least one processor to perform the above-described annotation template generation method or the above-described data annotation method.
[0012] According to another aspect of this disclosure, a computer-readable medium is provided that stores computer instructions thereon, which enable a computer to perform the above-described annotation template generation method or the above-described data annotation method.
[0013] According to another aspect of this disclosure, embodiments of this application provide a computer program product, which includes a computer program / instructions, which, when executed by a processor, implement the above-described annotation template generation method or the above-described data annotation method.
[0014] It should be understood that the description in this section is not intended to identify key or essential features of the embodiments of this disclosure, nor is it intended to limit the scope of this disclosure. Other features of this disclosure will become readily apparent from the following description. Attached Figure Description
[0015] The accompanying drawings are provided to better understand this solution and do not constitute a limitation of this disclosure. Wherein:
[0016] Figure 1 This is a flowchart of an embodiment of the annotation template generation method according to the present disclosure;
[0017] Figure 2 This is a flowchart of one embodiment of obtaining a display plugin according to this disclosure;
[0018] Figure 3 This is a flowchart of an embodiment of obtaining a front-end logic plugin according to this disclosure;
[0019] Figure 4 This is a flowchart of one embodiment of the service acquisition plugin according to the present disclosure;
[0020] Figure 5A This is a flowchart of another embodiment of the annotation template generation method according to this disclosure;
[0021] Figure 5B This is a structural diagram of the front-end and back-end services of the annotation template generated according to the annotation template generation method disclosed herein;
[0022] Figure 6 This is a flowchart of an embodiment of a backend service for creating target annotation templates according to this disclosure;
[0023] Figure 7 This is a flowchart of yet another embodiment of the annotation template generation method according to the present disclosure;
[0024] Figure 8 This is a flowchart of an embodiment of the data annotation method according to this disclosure;
[0025] Figure 9 This is a flowchart of another embodiment of the data annotation method according to this disclosure;
[0026] Figure 10 This is a schematic diagram of a structure of an embodiment of the annotation template generation apparatus according to the present disclosure;
[0027] Figure 11 This is a schematic diagram of another embodiment of the annotation template generation apparatus according to the present disclosure;
[0028] Figure 12This is a schematic diagram of a structure of an embodiment of the data annotation apparatus according to the present disclosure;
[0029] Figure 13 This is a block diagram of an electronic device used to implement the annotation template generation method and data annotation method of the embodiments of this disclosure. Detailed Implementation
[0030] The exemplary embodiments of this disclosure are described below with reference to the accompanying drawings, including various details of the embodiments to aid understanding, and should be considered merely exemplary. Therefore, those skilled in the art will recognize that various changes and modifications can be made to the embodiments described herein without departing from the scope and spirit of this disclosure. Similarly, for clarity and brevity, descriptions of well-known functions and structures are omitted in the following description.
[0031] refer to Figure 1 , Figure 1 A flowchart 100 illustrates an embodiment of the annotation template generation method applicable to this disclosure. The annotation template generation method includes the following steps:
[0032] Step 110: In response to receiving the development instructions from the developer user for the target annotation template, obtain the interactive plugin corresponding to the target annotation template.
[0033] In this embodiment, the execution entity of the annotation template generation method (e.g., a terminal device) can present a development interface for the annotation template to the developer user through a screen. This development interface may include a template name field for the annotation template, development controls for the developer user to click, and other information. The developer user can fill in the template name of the target annotation template in the development interface. This template name may correspond to information such as character fields. After filling in the template name, the developer user can click on the development controls in the development interface to generate development instructions for the target annotation template. These development instructions are generated based on the developer user's click operation on the development controls in the development interface and are used to characterize the developer user's development operation on the target annotation template.
[0034] After receiving the development instructions from the developer regarding the target annotation template, the aforementioned execution entity can present the configuration interface of the interactive plugin to the developer through the screen. This interactive plugin corresponds to a specific target annotation template; that is, each annotation template corresponds to one interactive plugin. This plugin represents the front-end processing logic and display logic of the target annotation template. The front-end processing logic represents the processing logic of the target annotation template during the annotation process, including the processing logic of annotation instructions, data caching, and specific annotation scenarios, etc. The display logic represents the display method of the target annotation template, including rendering, etc. The developer can configure the interactive plugin corresponding to the target annotation template in the configuration interface, inputting the configuration file required to generate the interactive plugin. The aforementioned execution entity can then package the configuration file input by the developer into the interactive plugin corresponding to the target annotation template.
[0035] As an example, the aforementioned execution entity can present a general template of the interactive plugin to the development user in the configuration interface of the interactive plugin. This general template can include a general file for multiple plugins and a custom part corresponding to the interactive plugin of the target annotation template. The development user can write configuration files for the interactive plugin of the target annotation template in the custom part, thereby enabling the configuration files written by the development user to be packaged into the interactive plugin corresponding to the target annotation template.
[0036] Step 120: Based on the backend service development operations of the development user on the target annotation template, generate the service plugin corresponding to the target annotation template.
[0037] In this embodiment, the execution entity obtains the interactive plugin based on the configuration file in the configuration interface of the interactive plugin provided by the developer. It can then present the backend service development interface of the target annotation template to the developer. This backend service development interface is used to configure the backend service of the target annotation template. The interface can include a backend processing logic writing module and a storage service writing module. The developer can write the backend processing logic for the target annotation template in the backend processing logic writing module. This backend processing logic represents the processing logic for processing the data to be annotated and the corresponding annotation results. The developer can also write the backend storage service for the target annotation template in the storage service writing module. This backend storage service represents the database that stores the data to be annotated and the corresponding annotation results.
[0038] The aforementioned execution entity packages the backend processing logic and storage service configuration files written by the developer in the backend service development interface into a service plugin corresponding to the target annotation template. This service plugin can then represent the backend processing logic and storage service of the target annotation template.
[0039] Step 130: In response to receiving the generation instruction for the target annotation template, generate the target annotation template based on the interactive plugin and the service plugin.
[0040] In this embodiment, after the developer completes the service plugin for the target annotation template, the execution entity can present the registration interface of the target annotation template to the developer through the screen. This registration interface can include information such as the template name and registration controls. The developer can click the registration controls in the registration interface to generate a generation instruction for the target annotation template. This generation instruction is generated based on the developer's click on the registration controls in the registration interface and signifies that the developer has completed the development operation for the target annotation template and is executing the generation operation. Upon receiving the generation instruction for the target annotation template, the execution entity can package the interactive plugin and service plugin, and send the packaged content to the server, so that the server can generate the target annotation template based on the interactive plugin and service plugin.
[0041] The annotation template generation method provided in this disclosure, in response to receiving a development instruction from a developer for a target annotation template, obtains an interactive plugin corresponding to the target annotation template. The interactive plugin is used to represent the front-end processing logic and display logic of the target annotation template. Then, based on the developer's back-end service development operation on the target annotation template, a service plugin corresponding to the target annotation template is generated. The service plugin is used to represent the back-end processing logic and storage service of the target annotation template. Finally, in response to receiving a generation instruction for the target annotation template, the target annotation template is generated based on the interactive plugin and the service plugin. This allows developers to create the annotation templates they need according to their own requirements, making the annotation templates adaptable to user needs. It can quickly enrich the number and types of annotation templates, improving the richness of annotation templates. Furthermore, the generation process of annotation templates is not limited to existing developers, allowing more users to participate in the generation and updating of annotation templates, improving the update efficiency of annotation templates. Thus, it can meet the data annotation needs of multiple parties, such as cloud platforms and private clients.
[0042] See also Figure 2 , Figure 2 The flowchart illustrates one embodiment of obtaining the display plugin, namely step 110 above, which, in response to receiving a development instruction from a developer user for a target annotation template, obtains the interactive plugin corresponding to the target annotation template, including the following steps:
[0043] The aforementioned interactive plugins may include display plugins for representing the display logic of the target annotation template. The display logic of the target annotation template may include the rendering method, annotation method, etc. of the target annotation template. The display logic of each annotation template may be the same or different. That is, each annotation template can correspond to a display logic and can determine a display plugin.
[0044] Step 210: In response to receiving the development instructions from the developer user for the target annotation template, the first configuration interface for the display plugin is presented.
[0045] In this embodiment, the aforementioned execution entity can present a development interface for the annotation template to the development user via a screen. This development interface may include a template name field for the annotation template, development controls for the development user to click, and other information. The development user can fill in the template name of the target annotation template in the development interface. This template name may correspond to information such as character fields. After filling in the template name of the target annotation template, the development user can click the development controls in the development interface to generate development instructions for the target annotation template.
[0046] After receiving the development instructions from the developer for the target annotation template, the aforementioned execution entity can present the first configuration interface for the display plugin to the developer through the screen. The first configuration interface can include a general template for the display plugin. The general template can include a general file for multiple display plugins and a custom part corresponding to the display plugin of the target annotation template. The developer can write configuration files for the display plugin of the target annotation template in the custom part.
[0047] Step 220: Receive multiple annotation category information and / or corresponding annotation method selection information entered by the developer user in the first configuration interface.
[0048] In this embodiment, the aforementioned execution entity can receive multiple annotation category information and / or corresponding annotation method selection information input by the developer user in the custom part of the first configuration interface for the target annotation template. The annotation category information can be determined according to the annotation task of the target annotation template.
[0049] The user-defined annotation categories can vary depending on the annotation task. For example, when annotating human samples, the user-defined annotation categories could include face location, expression category, gender category, glasses location, glasses category, etc. When annotating vehicle samples, the user-defined annotation categories could include vehicle category, vehicle color, etc. This disclosure does not specifically limit the annotation category information; those skilled in the art can determine it as needed. Furthermore, the annotation method can include at least one of the following: border, polygon, key point, multiple choice, and open-ended question. Different annotation categories can correspond to different annotation methods. For example, when annotating expressions, the annotation method could be a multiple choice question; when annotating the entire face location, the annotation method could be a border. This disclosure does not specifically limit the annotation method; those skilled in the art can set it as needed.
[0050] Step 230: Select information based on multiple annotation category information and / or corresponding annotation methods to obtain the display plugin corresponding to the target annotation template.
[0051] In this embodiment, the aforementioned execution entity obtains multiple annotation category information and their corresponding annotation method selection information customized by the developer user. The general template that inputs multiple annotation category information and / or corresponding annotation method selection information can be packaged into a display plugin corresponding to the target annotation template.
[0052] In this embodiment, by developing multiple annotation category information and / or corresponding annotation method selection information for user-defined target annotation templates, the display plugin for the target annotation template can be written, which simplifies the writing method of the display plugin, improves the writing efficiency of the target annotation template display plugin, and allows more developers to participate in the development and generation process of target annotation templates.
[0053] refer to Figure 3 , Figure 3 The flowchart illustrates an embodiment of obtaining a front-end logic plugin, namely step 110 above, which, in response to receiving a development request from a developer for a target annotation template, obtains the interactive plugin corresponding to the target annotation template, including the following steps:
[0054] The aforementioned interactive plugin may include a front-end logic plugin for characterizing the front-end processing logic of the target annotation template, wherein the front-end processing logic of the target annotation template can characterize the processing logic of the target annotation template during the annotation process.
[0055] Step 310: In response to receiving the development instructions from the developer user for the target annotation template, a second configuration interface for the front-end logic plugin is presented.
[0056] In this embodiment, the aforementioned execution entity can present a development interface for the annotation template to the development user via a screen. This development interface may include a template name field for the annotation template, development controls for the development user to click, and other information. The development user can fill in the template name of the target annotation template in the development interface. This template name may correspond to information such as character fields. After filling in the template name of the target annotation template, the development user can click the development controls in the development interface to generate development instructions for the target annotation template.
[0057] After receiving the development instructions from the developer for the target annotation template, the aforementioned execution entity can present a second configuration interface for the front-end logic plugin to the developer through the screen. This second configuration interface can include a general template for the front-end logic plugin. The general template can include a general file for multiple front-end logic plugins and a custom part corresponding to the front-end logic plugin of the target annotation template. The developer can write configuration files for the front-end logic plugin of the target annotation template in the custom part.
[0058] Step 320: Receive the front-end processing logic configuration file entered by the developer in the second configuration interface.
[0059] In this embodiment, the aforementioned execution entity can receive a front-end processing logic configuration file input by the developer in the custom section of the second configuration interface. The front-end processing logic configuration file can be used to characterize the processing logic of the target annotation template during the annotation process. It can include the processing logic of annotation instructions, the processing logic of data caching, the processing logic of specific annotation scenarios, etc. The annotation scenarios can include, but are not limited to, single-person annotation, multi-person annotation, data import, data export, single data display, multi-data pagination display, data cleaning, data publishing, and other scenarios.
[0060] Step 330: Obtain the front-end logic plugin corresponding to the target annotation template according to the processing logic configuration file.
[0061] In this embodiment, the aforementioned execution entity obtains the front-end processing logic configuration file customized by the developer, and can package the general template of the input front-end processing logic configuration file into a front-end logic plugin corresponding to the target annotation template.
[0062] In this embodiment, by developing a front-end processing logic configuration file for a user-defined target annotation template, the front-end logic plugin for the target annotation template can be written, which simplifies the writing method of the front-end logic plugin, improves the writing efficiency of the front-end logic plugin for the target annotation template, and allows more developers to participate in the development and generation process of the target annotation template.
[0063] refer to Figure 4 , Figure 4The flowchart illustrates one embodiment of obtaining the service plugin, namely step 120 above, which generates the service plugin corresponding to the target annotation template based on the developer's backend service development operations on the target annotation template, including the following steps:
[0064] Step 410: In response to receiving the backend service development operation from the developer user for the target annotation template, a third configuration interface for the service plugin is presented.
[0065] In this embodiment, after the execution entity obtains the interactive plugin based on the configuration file in the configuration interface of the interactive plugin, it can present the backend service development interface of the target annotation template to the developer. After receiving the backend service development operation of the target annotation template by the developer in the backend service development interface, the execution entity can present the third configuration interface of the service plugin to the developer through the screen. This third configuration interface can include a backend processing logic writing module and a storage service writing module. The developer can write the backend processing logic of the target annotation template in the backend processing logic writing module, and can also write the backend storage service of the target annotation template in the storage service writing module.
[0066] Step 420: Receive the backend processing logic configuration file and the database used to store data, which are entered by the developers in the third configuration interface.
[0067] In this embodiment, developers can write backend processing logic in the third configuration interface to generate a backend processing logic configuration file. This configuration file represents the processing logic for the data to be labeled and the labeling results. It may include data judgment on the data type and / or data format of the data to be labeled corresponding to the target labeling template, determining whether the data type and / or data format of the data to be labeled is the specific data type and / or data format corresponding to the target labeling template, and may also include result judgment processing on the labeling results. Each labeling template can correspond to a specific data type and / or data format. Labeling templates can include, but are not limited to, image labeling templates, text labeling templates, video labeling templates, etc. For example, an image labeling template can correspond to image type data, a text labeling template can correspond to text type data, a video labeling template can correspond to video type data, etc. Therefore, the target labeling template can correspond to labeled data of a specific data type and / or data format.
[0068] Developers can also configure storage services in the third configuration interface, selecting the database corresponding to the target annotation template from multiple databases. This database can be used to store data, including the data to be annotated and the annotation results. The aforementioned execution entity can receive the backend processing logic configuration file and the database used for data storage from the developer in the third configuration interface.
[0069] Step 430: Based on the backend processing logic configuration file and the database used to store data, obtain the service plugin corresponding to the target annotation template.
[0070] In this embodiment, the aforementioned execution entity can package the backend processing logic configuration file and the database used to store data, which are input by the developer user in the third configuration interface, into a service plugin corresponding to the target annotation template.
[0071] In this embodiment, by developing a backend processing logic configuration file for user-defined target annotation templates and a database for storing data, service plugins for target annotation templates can be written, which simplifies the writing method of service plugins, improves the writing efficiency of service plugins for target annotation templates, and allows more developers to participate in the development and generation process of target annotation templates.
[0072] As an optional implementation, step 130 above, in response to receiving a generation instruction for the target annotation template, generates the target annotation template based on the interactive plugin and the service plugin, and may include the following steps: in response to receiving a generation instruction for the target annotation template, obtain the authentication information corresponding to the target annotation template; generate the target annotation template based on the interactive plugin, service plugin and authentication information of the target annotation template.
[0073] Specifically, after the developer completes the interactive and service plugins for the target annotation template, the aforementioned execution entity can present the target annotation template's registration interface to the developer via a screen. This registration interface can include information such as the template name and registration controls. The developer can click the registration controls on the registration interface to generate generation instructions for the target annotation template. The aforementioned execution entity can obtain corresponding authentication information from the server based on the target annotation template. This authentication information can represent the target annotation template's authentication information, such as AK (Access KeyId) / SK (Secret Access Key) information, etc. Each annotation template corresponds to one authentication information. Then, the aforementioned execution entity packages the target annotation template's interactive plugins, service plugins, and authentication information, and sends the packaged content to the server, so that the server can generate the target annotation template based on the target annotation template's authentication information, interactive plugins, and service plugins.
[0074] In this implementation, authentication information is obtained for the target annotation template to distinguish the annotation templates, thereby enabling different annotation template access requests to be assigned to the corresponding annotation templates, which improves the targeting of the annotation templates.
[0075] refer to Figure 5A , Figure 5A A flowchart 500 illustrates another embodiment of a method for generating annotation templates. This method may include the following steps:
[0076] Step 510: In response to receiving the target annotation template interaction plugin and service plugin sent by the terminal, load the front-end of the target annotation template based on the target annotation template interaction plugin to obtain the front-end service corresponding to the target annotation template.
[0077] In this embodiment, the execution entity of the annotation template generation method (e.g., a server) can receive the interactive plugin and service plugin of the target annotation template sent by the terminal, distinguish between the interactive plugin and service plugin of the target annotation template, and determine that the interactive plugin should run on the terminal front end and the service plugin should run on the back end. The interactive plugin is used to represent the front end processing logic and display logic of the target annotation template, and the service plugin is used to represent the back end processing logic and storage service of the target annotation template.
[0078] The aforementioned execution entity can load the front-end of the target annotation template based on its interactive plugins, thus obtaining the front-end service corresponding to the target annotation template. This front-end service may include front-end processing and display services for the target annotation template, corresponding to its front-end logic and display plugins. Furthermore, the front-end service may include basic components corresponding to the target annotation template, such as a communication protocol SDK and a template UI library.
[0079] Step 520: Based on the service plugin of the target annotation template, create the backend service of the target annotation template.
[0080] In this embodiment, the aforementioned execution entity can create backend services for the target annotation template based on the service plugin of the target annotation template, parse the service plugin, and publish the configuration file corresponding to the parsed service plugin into a container to obtain multiple container clusters corresponding to the target annotation template, thereby creating the backend services corresponding to the target annotation template. The backend services may include the backend processing service and storage service of the target annotation template, and may correspond to the backend logic plugin of the target annotation template and the database corresponding to the target annotation template.
[0081] Step 530: Associate the front-end service and the back-end service to generate the target annotation template.
[0082] In this embodiment, after the execution entity obtains the front-end and back-end services of the target annotation template, it can associate the front-end and back-end services corresponding to the target annotation template, create an access channel for the front-end and back-end services corresponding to the target annotation template, and generate the target annotation template.
[0083] Furthermore, the aforementioned executing entity can generate a notification of successful target annotation template generation, and can also generate a notification of target annotation template being published online, so that the target annotation template can be accessed and used.
[0084] Continue to refer to Figure 5B , Figure 5B The diagram shows the structure of the front-end and back-end services of the annotation template. Different annotation templates may include front-end and back-end services. For example, annotation template A may include a corresponding display plugin and front-end logic plugin, as well as a corresponding back-end logic plugin, general service plugin and database 1. Annotation template B may include a corresponding display plugin and front-end logic plugin, as well as a corresponding back-end logic plugin, general service plugin and database 2, and so on.
[0085] The annotation template generation method provided in this disclosure responds to the received target annotation template's interactive plugin and service plugin from the terminal. Based on the interactive plugin, the front-end of the target annotation template is loaded to obtain the corresponding front-end service. The front-end service includes a front-end processing service and a display service for the target annotation template. The interactive plugin represents the front-end processing logic and display logic of the target annotation template, and the service plugin represents the back-end processing logic and storage service of the target annotation template. Then, based on the service plugin, a back-end service for the target annotation template is created, including a back-end processing service and a storage service. Finally, the front-end service and the back-end service are associated to generate the target annotation template. This method can automatically generate annotation templates required by developers based on the interactive plugin and service plugin created by the developers, enabling the annotation templates to adapt to user needs. It can quickly enrich the quantity and types of annotation templates, improving their richness. Furthermore, the generation process is not limited to existing developers, allowing more users to participate in the generation and updating of annotation templates, thus improving the efficiency of annotation template updates. This can meet the data annotation needs of multiple parties, including cloud platforms and private clients.
[0086] refer to Figure 6 , Figure 6 The flowchart illustrates an embodiment of the backend service for creating target annotation templates, specifically step 520 above, which involves creating the backend service for target annotation templates based on the target annotation template service plugin, including the following steps:
[0087] Step 610: Based on the service plugin of the target annotation template, generate the backend logic plugin corresponding to the target annotation template, and determine the database corresponding to the target annotation template.
[0088] In this embodiment, the aforementioned execution entity parses the service plugin of the target annotation template to obtain the backend service configuration file corresponding to the target annotation template. The backend service configuration file includes a backend processing logic file and a selected database.
[0089] The aforementioned execution entity can generate the backend logic plugin corresponding to the target annotation template based on the backend processing logic file in the backend service configuration file, and determine the database corresponding to the target annotation template based on the selected database. The backend logic plugin can be used to represent the processing logic of the data to be annotated and the annotation results.
[0090] Step 620: Obtain the general service plugin corresponding to the target annotation template.
[0091] In this embodiment, the aforementioned execution entity can configure a corresponding general service plugin for the target annotation template. This general service plugin can be used to characterize the preset services of the target annotation template. It can include the services provided by the aforementioned execution entity for the annotation template, including service online / offline, scaling up / down, and related operation and maintenance support, such as application monitoring, problem location, initialization, status reporting, log reporting, observability, and other preset services.
[0092] Step 630: Based on the backend logic plugin, database, and general service plugin, obtain the backend service corresponding to the target annotation template.
[0093] In this embodiment, after the execution entity obtains the backend logic plugin, database, and general service plugin of the target annotation template, it can publish the backend logic plugin into a container, add the general service plugin into the container, and associate the container with the database of the target annotation template, thereby obtaining the backend service corresponding to the target annotation template.
[0094] In this embodiment, the backend services corresponding to the target annotation template are obtained based on the backend logic plugin, database and general service plugin, so that the backend services corresponding to the target annotation template can include more service content, thereby improving the service content and usage effect of the target annotation template.
[0095] refer to Figure 7 , Figure 7 A flowchart illustrating another embodiment of the annotation template generation method is shown, which may include the following steps:
[0096] Step 710: In response to receiving the authentication information, interaction plugin and service plugin of the target annotation template sent by the terminal, the front-end of the target annotation template is loaded based on the interaction plugin and authentication information of the target annotation template to obtain the front-end service corresponding to the target annotation template.
[0097] In this embodiment, the aforementioned execution entity can receive the authentication information, interactive plugins, and service plugins of the target annotation template sent by the terminal, distinguish between the interactive plugins and service plugins of the target annotation template, and determine that the interactive plugins should run on the terminal front end and the service plugins should run on the back end.
[0098] The aforementioned execution entity can load the front-end of the target annotation template based on its interactive plugins and authentication information. This loading of the interactive plugins on the front end yields the corresponding front-end service. This front-end service can represent the front-end processing and display logic of the target annotation template and corresponds to its front-end logic and display plugins. The execution entity can then associate the front-end service of the target annotation template with the authentication information to obtain the associated front-end service for the target annotation template.
[0099] Step 720: Based on the service plugin and authentication information of the target annotation template, create the backend service of the target annotation template.
[0100] In this embodiment, the execution entity can create the backend service of the target annotation template based on the service plugin and authentication information of the target annotation template. It parses the service plugin and publishes the configuration file corresponding to the parsed service plugin as a container, thus obtaining multiple container clusters corresponding to the target annotation template, thereby creating the backend service corresponding to the target annotation template. The execution entity can then associate the backend service of the target annotation template with the authentication information to obtain the associated backend service corresponding to the target annotation template.
[0101] Step 730: Associate the front-end service and back-end service corresponding to the target annotation template to generate the target annotation template.
[0102] In this embodiment, after the execution entity obtains the front-end and back-end services of the target annotation template, it can associate the front-end and back-end services corresponding to the target annotation template, create an access channel for the front-end and back-end services corresponding to the target annotation template, and generate the target annotation template.
[0103] Furthermore, the aforementioned executing entity can generate a notification of successful target annotation template generation, and can also generate a notification of target annotation template being published online, so that the target annotation template can be accessed and used.
[0104] In this embodiment, by generating target annotation templates through interactive plugins, authentication information, and service plugins based on target annotation templates, annotation templates can be distinguished, thereby enabling different annotation template access requests to be assigned to the corresponding annotation templates, thus improving the targeting of annotation templates.
[0105] As an optional implementation, the above annotation template generation method may also include the following steps: in response to generating the target annotation template, obtaining the running status information of the target annotation template; and generating the operation and maintenance information of the target annotation template based on the running status information of the target annotation template.
[0106] Specifically, after generating the target annotation template, the aforementioned execution entity can obtain the running status information of the target annotation template in real time during the startup and runtime of the target annotation template's backend service. Then, based on the running status information of the target annotation template, the aforementioned execution entity generates the operation and maintenance information of the target annotation template. This operation and maintenance information can include the running status of the target annotation template, which can include whether it is running normally or has failed.
[0107] In this implementation, the running status information of the target annotation template is obtained in real time, so as to realize the real-time monitoring of the target annotation template and discover the running problems of the target annotation template more quickly.
[0108] refer to Figure 8 , Figure 8 A flowchart 800 illustrates an embodiment of a data annotation method. This data annotation method may include the following steps:
[0109] Step 810: Receive the data to be annotated that corresponds to the target annotation template uploaded by the annotation user.
[0110] In this embodiment, the execution entity of the data annotation method (e.g., a terminal device) can receive an access request from an annotation user for a target annotation template and present a data upload interface to the annotation user. The annotation user can then upload the data to be annotated corresponding to the target annotation template in the data upload interface. Thus, the execution entity can receive the data uploaded by the annotation user that corresponds to the target annotation template.
[0111] Step 820: Send the authentication information of the target annotation template and the data to be annotated to the server so that the server can make data judgments on the data to be annotated based on the authentication information and the service plugin of the target annotation template.
[0112] In this embodiment, after receiving the data to be labeled corresponding to the target labeling template uploaded by the labeling user, the execution entity can send the authentication information of the target labeling template and the data to be labeled to the server.
[0113] The server determines the database corresponding to the target annotation template based on the authentication information and stores the data to be annotated in the corresponding database. Then, the server performs data validation on the data to be annotated based on the service plugin of the target annotation template. This validation may include determining the data type and / or format of the data to be annotated, checking if it matches the specific data type and / or format corresponding to the target annotation template. If the data type and / or format matches, the data to be annotated passes the validation and is returned to the execution entity. If the data type and / or format does not match, the data to be annotated does not meet the requirements of the target annotation template and fails the validation. Instead of returning the data to the execution entity, the server sends a notification to the user indicating that the data to be annotated does not meet the requirements of the target annotation template and is not in the specific data type and / or format corresponding to the target annotation template.
[0114] Step 830: In response to receiving the data to be labeled returned by the server based on the data judgment, the interactive plugin based on the target labeling template displays the data to be labeled based on the data judgment.
[0115] In this embodiment, after receiving the data to be labeled returned by the server, the execution entity can call the interactive plugin of the target labeling template to display the data to be labeled through the data judgment and show it to the labeling user through the screen.
[0116] Step 840: In response to receiving the annotation instruction from the annotation user, generate the annotation result corresponding to the data to be annotated based on the data judgment.
[0117] In this embodiment, the execution entity can receive annotation instructions from the annotation user for the displayed data to be annotated. These annotation instructions may be annotation category information and / or the corresponding annotation method corresponding to the target annotation template. The execution entity can then annotate the data to be annotated based on the annotation user's instructions, thereby generating corresponding annotation results.
[0118] The data annotation method provided in this disclosure receives the data to be annotated corresponding to the target annotation template uploaded by the annotation user, and then sends the authentication information of the target annotation template and the data to be annotated to the server. The server then performs data judgment on the data to be annotated based on the authentication information and the service plugin of the target annotation template. The service plugin is used to represent the backend processing logic and storage service of the target annotation template. After receiving the data to be annotated that has passed the data judgment returned by the server, the interactive plugin of the target annotation template displays the data to be annotated that has passed the data judgment. Finally, in response to receiving the annotation instruction from the annotation user, the annotation result corresponding to the data to be annotated that has passed the data judgment is generated. It can provide rich annotation templates so that the annotation user can select the target annotation template according to his or her own needs and use the target annotation template to annotate the data to be annotated. It enables the annotation user to use the annotation template he or she needs, thereby improving the data annotation efficiency and data annotation effect.
[0119] refer to Figure 9 , Figure 9 A flowchart 900 illustrates another embodiment of the data annotation method. This data annotation method may include the following steps:
[0120] Step 910: Receive the data to be annotated that corresponds to the target annotation template uploaded by the annotation user.
[0121] Step 910 of this embodiment can be performed in accordance with... Figure 8 Step 810 in the illustrated embodiment is performed in a similar manner, and will not be described in detail here.
[0122] Step 920: Send the authentication information of the target annotation template and the data to be annotated to the server so that the server can make data judgments on the data to be annotated based on the authentication information and the service plugin of the target annotation template.
[0123] Step 920 of this embodiment can be performed in accordance with... Figure 8 Step 820 in the illustrated embodiment is performed in a similar manner, and will not be described in detail here.
[0124] Step 930: In response to receiving the data to be labeled returned by the server based on the data judgment, the display plugin based on the target labeling template displays the data to be labeled based on the data judgment.
[0125] The aforementioned interactive plugins may include a display plugin for representing the display logic of the target annotation template and a front-end logic plugin for representing the front-end processing logic of the target annotation template.
[0126] In this embodiment, after receiving the data to be labeled returned by the server, the execution entity can call the display plugin of the target labeling template to display the data to be labeled through the data judgment and show it to the labeling user through the screen.
[0127] Step 940: In response to receiving the annotation instruction from the annotation user, the front-end logic plugin based on the target annotation template performs logical processing on the annotation instruction and determines the processed annotation instruction.
[0128] In this embodiment, the execution entity can receive annotation instructions from the annotation user for the displayed data to be annotated. These annotation instructions can be the annotation category information corresponding to the target annotation template and its corresponding annotation method. The execution entity can call the front-end logic plugin of the target annotation template to perform logical processing on the annotation instructions, determining whether the annotation instructions conform to the processing logic of the front-end logic plugin. If they conform, the annotation instructions are directly determined as the processed annotation instructions. If they do not conform, the front-end logic plugin is called to perform logical processing on the annotation instructions to make them conform to the processing logic of the front-end logic plugin, thus determining the processed annotation instructions.
[0129] Step 950: Based on the processed annotation instructions, generate annotation results corresponding to the data to be annotated as determined by the data.
[0130] In this embodiment, after the execution entity obtains the processed annotation instructions, it can perform data annotation on the data to be annotated based on the data judgment to generate the corresponding annotation results.
[0131] In this embodiment, by displaying the data to be labeled and judging the labeling instructions based on the display plugin and the front-end logic plugin, the labeling instructions are made to fit the target labeling template better, thereby improving the accuracy and effect of data labeling.
[0132] As an optional implementation, the above data annotation method may also include the following steps: in response to generating annotation results for the data to be annotated, sending the annotation results to the server so that the server can process the annotation results based on authentication information and service plugins and store the processed annotation results in the corresponding database.
[0133] Specifically, after the aforementioned executing entity generates the annotation result of the data to be annotated according to the annotation instructions of the annotation user, it can send the annotation result to the server. The annotation result can be the annotated data generated based on the annotation instructions, or it can be the annotation instructions of the annotation user.
[0134] After receiving the annotation results of the data to be annotated, the server can call the service plugin corresponding to the target annotation template to process the annotation results. This data processing may include further verification or calculation of the annotation results, resulting in the processed annotation results. The server can then store the processed annotation results in the corresponding database based on the authentication information of the target annotation template.
[0135] In this implementation, the annotation results are further processed by the service plugin to make the annotation results more accurate, and the processed annotation results are stored in the corresponding database based on the authentication information, so that the annotation results can be stored in the database corresponding to the target annotation template, thus achieving targeted data storage.
[0136] Further reference Figure 10 As an implementation of the methods shown in the above figures, this disclosure provides an embodiment of a label template generation device, which is similar to... Figure 1 Corresponding to the method embodiments shown, this device can be specifically applied to various electronic devices.
[0137] like Figure 10 As shown, the annotation template generation device 1000 of this embodiment includes: an acquisition module 1010, a first generation module 1020, and a second generation module 1030.
[0138] The acquisition module 1010 is configured to, in response to receiving a development instruction from a developer for a target annotation template, acquire an interactive plugin corresponding to the target annotation template. The interactive plugin is used to represent the front-end processing logic and display logic of the target annotation template.
[0139] The first generation module 1020 is configured to generate a service plugin corresponding to the target annotation template based on the backend service development operation of the development user on the target annotation template. The service plugin is used to represent the backend processing logic and storage service of the target annotation template.
[0140] The second generation module 1030 is configured to generate a target annotation template based on the interactive plugin and the service plugin in response to receiving a generation instruction for the target annotation template.
[0141] In some optional embodiments of this example, the interactive plugin includes a display plugin for representing the display logic of the target annotation template; and the acquisition module 1010 is further configured to: in response to receiving a development instruction from a developer user for the target annotation template, present a first configuration interface for the display plugin; receive multiple annotation category information and / or corresponding annotation method selection information input by the developer user in the first configuration interface; and acquire the display plugin corresponding to the target annotation template based on the multiple annotation category information and / or corresponding annotation method selection information.
[0142] In some optional embodiments of this example, the interactive plugin includes a front-end logic plugin for characterizing the front-end processing logic of the target annotation template; and the acquisition module 1010 is further configured to: in response to receiving a development instruction from a developer user for the target annotation template, present a second configuration interface for the front-end logic plugin; receive a front-end processing logic configuration file input by the developer in the second configuration interface, wherein the front-end processing logic configuration file is used to characterize the processing logic of the target annotation template during the annotation process; and acquire the front-end logic plugin corresponding to the target annotation template according to the processing logic configuration file.
[0143] In some optional embodiments of this example, the first generation module 1020 is further configured to: in response to receiving a backend service development operation from a developer for a target annotation template, present a third configuration interface for the service plugin; receive a backend processing logic configuration file and a database for storing data input by the developer in the third configuration interface, wherein the backend processing logic configuration file is used to characterize the processing logic of the data to be annotated and the annotation results; and obtain the service plugin corresponding to the target annotation template based on the backend processing logic configuration file and the database for storing data.
[0144] In some optional embodiments of this example, the second generation module 1030 is further configured to: in response to receiving a generation instruction for the target annotation template, obtain the authentication information corresponding to the target annotation template; and generate the target annotation template based on the interactive plugin, service plugin, and authentication information of the target annotation template.
[0145] The annotation template generation apparatus provided in the embodiments of this disclosure, in response to receiving a development instruction from a developer for a target annotation template, obtains an interactive plugin corresponding to the target annotation template. The interactive plugin is used to represent the front-end processing logic and display logic of the target annotation template. Then, based on the developer's back-end service development operation for the target annotation template, a service plugin corresponding to the target annotation template is generated. The service plugin is used to represent the back-end processing logic and storage service of the target annotation template. Finally, in response to receiving a generation instruction for the target annotation template, the target annotation template is generated based on the interactive plugin and the service plugin. This allows developers to create the annotation templates they need according to their own requirements, enabling the annotation templates to adapt to user needs, quickly enriching the number and types of annotation templates, improving the richness of annotation templates, and making the annotation template generation process not limited to existing developers, allowing more users to participate in the generation and updating of annotation templates, improving the update efficiency of annotation templates, thereby meeting the data annotation needs of multiple parties such as cloud platforms and private clients.
[0146] Those skilled in the art will understand that the above-described apparatus also includes other well-known structures, such as processors and memories. To avoid unnecessarily obscuring the embodiments of this disclosure, these well-known structures are... Figure 10 Not shown in the image.
[0147] Further reference Figure 11 As an implementation of the methods shown in the above figures, this disclosure provides an embodiment of a label template generation device, which corresponds to the method embodiment shown in Figure 5, and the device can be applied to various electronic devices.
[0148] like Figure 11 As shown, the annotation template generation device 1100 of this embodiment includes: a front-end loading module 1110, a creation module 1120 and a third generation module 1130.
[0149] The front-end loading module 1110 is configured to respond to the interaction plugin and service plugin of the target annotation template sent by the terminal. Based on the interaction plugin of the target annotation template, the front-end loading of the target annotation template is performed to obtain the front-end service corresponding to the target annotation template. The front-end service includes the front-end processing service and the display service of the target annotation template. The interaction plugin is used to represent the front-end processing logic and the display logic of the target annotation template, and the service plugin is used to represent the back-end processing logic and the storage service of the target annotation template.
[0150] Create module 1120, which is configured as a service plugin based on the target annotation template, to create a backend service for the target annotation template, wherein the backend service includes a backend processing service and a storage service for the target annotation template;
[0151] The third generation module 1130 is configured to associate the front-end service and the back-end service to generate target annotation templates.
[0152] In some optional embodiments of this example, the creation module 1120 is further configured to: generate a backend logic plugin corresponding to the target annotation template based on the service plugin of the target annotation template, and determine the database corresponding to the target annotation template, wherein the backend logic plugin is used to characterize the processing logic of the data to be annotated and the annotation results; obtain a general service plugin corresponding to the target annotation template, wherein the general service plugin is used to characterize the preset service of the target annotation template; and obtain the backend service corresponding to the target annotation template based on the backend logic plugin, the database and the general service plugin.
[0153] In some optional embodiments of this invention, the apparatus further includes a receiving module configured to receive authentication information corresponding to the target annotation template sent by the terminal; a front-end loading module 1110 further configured to load the front-end of the target annotation template based on the interactive plugin and authentication information of the target annotation template to obtain the front-end service corresponding to the target annotation template; and a creation module 1120 further configured to create the back-end service of the target annotation template based on the service plugin and authentication information of the target annotation template.
[0154] In some optional embodiments of this invention, the apparatus further includes: an acquisition module; the acquisition module is configured to acquire the running status information of the target annotation template in response to generating the target annotation template; and a third generation module 1130 is configured to generate maintenance information of the target annotation template based on the running status information of the target annotation template.
[0155] The annotation template generation apparatus provided in the embodiments of this disclosure, in response to receiving an interactive plugin and service plugin of a target annotation template sent by a terminal, loads the front-end of the target annotation template based on the interactive plugin, and obtains the front-end service corresponding to the target annotation template. The front-end service includes a front-end processing service and a display service for the target annotation template. The interactive plugin represents the front-end processing logic and display logic of the target annotation template, and the service plugin represents the back-end processing logic and storage service of the target annotation template. Then, based on the service plugin of the target annotation template, a back-end service for the target annotation template is created, including a back-end processing service and a storage service. Finally, the front-end service and the back-end service are associated to generate the target annotation template. This apparatus can automatically generate annotation templates required by developers based on the interactive plugin and service plugin created by the developers, enabling the annotation templates to adapt to user needs. It can quickly enrich the quantity and types of annotation templates, improving the richness of annotation templates. Furthermore, the generation process of annotation templates is not limited to existing developers, allowing more users to participate in the generation and updating of annotation templates, thus improving the update efficiency of annotation templates. This can meet the data annotation needs of multiple parties, including cloud platforms and private clients.
[0156] Those skilled in the art will understand that the above-described apparatus also includes other well-known structures, such as processors and memories. To avoid unnecessarily obscuring the embodiments of this disclosure, these well-known structures are... Figure 11 Not shown in the image.
[0157] Further reference Figure 12 As an implementation of the methods shown in the above figures, this disclosure provides an embodiment of a data annotation device, which is similar to... Figure 8 Corresponding to the method embodiments shown, this device can be specifically applied to various electronic devices.
[0158] like Figure 12 As shown, the data annotation device 1200 of this embodiment includes: a receiving module 1210, a sending module 1220, a display module 1230, and a fourth generation module 1240.
[0159] The receiving module 1210 is configured to receive the data to be annotated that corresponds to the target annotation template uploaded by the annotation user;
[0160] The sending module 1220 is configured to send the authentication information and the data to be labeled of the target annotation template to the server, so that the server can make data judgment on the data to be labeled based on the authentication information and the service plugin of the target annotation template. The service plugin is used to represent the backend processing logic and storage service of the target annotation template.
[0161] The display module 1230 is configured to respond to the data to be labeled returned by the server based on the data judgment, and display the data to be labeled based on the target labeling template through an interactive plugin;
[0162] The fourth generation module 1240 is configured to generate annotation results corresponding to the data to be annotated based on data judgment in response to receiving annotation instructions from the annotation user.
[0163] In some optional embodiments of this example, the interactive plugin includes a display plugin for representing the display logic of the target annotation template and a front-end logic plugin for representing the front-end processing logic of the target annotation template; and the display module 1230 is further configured to: in response to receiving the data to be annotated returned by the server based on the data judgment, display the data to be annotated based on the data judgment in the display plugin of the target annotation template; and the fourth generation module 1240 is further configured to: in response to receiving the annotation instruction from the annotation user, perform logical processing on the annotation instruction based on the front-end logic plugin of the target annotation template to determine the processed annotation instruction; and generate the annotation result corresponding to the data to be annotated based on the processed annotation instruction.
[0164] In some optional embodiments of this example, the sending module 1220 is further configured to: in response to the generation of annotation results for the data to be annotated, send the annotation results to the server so that the server can process the annotation results based on the authentication information and service plugins and store the processed annotation results in the corresponding database.
[0165] The data annotation method provided in this disclosure receives the data to be annotated corresponding to the target annotation template uploaded by the annotation user, and then sends the authentication information of the target annotation template and the data to be annotated to the server. The server then performs data judgment on the data to be annotated based on the authentication information and the service plugin of the target annotation template. The service plugin is used to represent the backend processing logic and storage service of the target annotation template. After receiving the data to be annotated that has passed the data judgment returned by the server, the interactive plugin of the target annotation template displays the data to be annotated that has passed the data judgment. Finally, in response to receiving the annotation instruction from the annotation user, the annotation result corresponding to the data to be annotated that has passed the data judgment is generated. It can provide rich annotation templates so that the annotation user can select the target annotation template according to his or her own needs and use the target annotation template to annotate the data to be annotated. It enables the annotation user to use the annotation template he or she needs, thereby improving the data annotation efficiency and data annotation effect.
[0166] Those skilled in the art will understand that the above-described apparatus also includes other well-known structures, such as processors and memories. To avoid unnecessarily obscuring the embodiments of this disclosure, these well-known structures are... Figure 12 Not shown in the image.
[0167] The collection, storage, use, processing, transmission, provision, and disclosure of user personal information involved in the technical solution disclosed herein comply with the provisions of relevant laws and regulations and do not violate public order and good morals.
[0168] According to embodiments of this disclosure, this disclosure also provides an electronic device, a readable storage medium, and a computer program product.
[0169] Figure 13 A schematic block diagram of an example electronic device 1300 that can be used to implement embodiments of the present disclosure is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device may also represent various forms of mobile devices, such as personal digital processors, cellular phones, smartphones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely illustrative and are not intended to limit the implementation of the present disclosure described and / or claimed herein.
[0170] like Figure 13As shown, the electronic device 1300 includes a computing unit 1301, which can perform various appropriate actions and processes according to a computer program stored in a read-only memory (ROM) 1302 or a computer program loaded from a storage unit 1308 into a random access memory (RAM) 1303. The RAM 1303 may also store various programs and data required for the operation of the device 1300. The computing unit 1301, ROM 1302, and RAM 1303 are interconnected via a bus 1304. An input / output (I / O) interface 1305 is also connected to the bus 1304.
[0171] Multiple components in electronic device 1300 are connected to I / O interface 1305, including: input unit 1306, such as keyboard, mouse, etc.; output unit 1307, such as various types of displays, speakers, etc.; storage unit 1308, such as disk, optical disk, etc.; and communication unit 1309, such as network card, modem, wireless transceiver, etc. Communication unit 1309 allows device 1300 to exchange information / data with other devices through computer networks such as the Internet and / or various telecommunications networks.
[0172] The computing unit 1301 can be various general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of the computing unit 1301 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special-purpose artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. The computing unit 1301 performs the various methods and processes described above, such as the annotation template generation method and the data annotation method. For example, in some embodiments, the annotation template generation method and the data annotation method can be implemented as computer software programs tangibly contained in a machine-readable medium, such as storage unit 1308. In some embodiments, part or all of the computer program can be loaded and / or installed on device 1300 via ROM 1302 and / or communication unit 1309. When the computer program is loaded into RAM 1303 and executed by the computing unit 1301, one or more steps of the annotation template generation method and the data annotation method described above can be performed. Alternatively, in other embodiments, the computing unit 1301 may be configured in any other suitable manner (e.g., by means of firmware) to perform the annotation template generation method and the data annotation method.
[0173] Various embodiments of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), application-specific standard products (ASSPs), systems-on-a-chip (SoCs), payload-programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments may include implementations in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which may be a dedicated or general-purpose programmable processor, capable of receiving data and instructions from a storage system, at least one input device, and at least one output device, and transmitting data and instructions to the storage system, the at least one input device, and the at least one output device.
[0174] The program code used to implement the methods of this disclosure may be written in any combination of one or more programming languages. This program code may be provided to a processor or controller of a general-purpose computer, special-purpose computer, or other programmable data processing apparatus, such that when executed by the processor or controller, the program code causes the functions / operations specified in the flowcharts and / or block diagrams to be implemented. The program code may be executed entirely on a machine, partially on a machine, as a standalone software package partially on a machine and partially on a remote machine, or entirely on a remote machine or server.
[0175] In the context of this disclosure, a machine-readable medium can be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, apparatus, or device. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can be, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.
[0176] To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device for displaying information to the user (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor); and a keyboard and pointing device (e.g., a mouse or trackball) through which the user provides input to the computer. Other types of devices can also be used to provide interaction with the user; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including sound input, voice input, or tactile input).
[0177] The systems and technologies described herein can be implemented in computing systems that include backend components (e.g., as a data server), or computing systems that include middleware components (e.g., an application server), or computing systems that include frontend components (e.g., a user computer with a graphical user interface or web browser through which a user can interact with embodiments of the systems and technologies described herein), or any combination of such backend, middleware, or frontend components. The components of the system can be interconnected via digital data communication of any form or medium (e.g., a communication network). Examples of communication networks include local area networks (LANs), wide area networks (WANs), and the Internet.
[0178] Computer systems can include clients and servers. Clients and servers are generally located far apart and typically interact via communication networks. Client-server relationships are created by computer programs running on the respective computers and having a client-server relationship with each other. Servers can be cloud servers, servers in distributed systems, or servers incorporating blockchain technology.
[0179] It should be understood that the various forms of processes shown above can be used to rearrange, add, or delete steps. For example, the steps described in this disclosure can be executed in parallel, sequentially, or in different orders, as long as the desired result of the technical solution disclosed in this disclosure can be achieved, and this is not limited herein.
[0180] The specific embodiments described above do not constitute a limitation on the scope of protection of this disclosure. Those skilled in the art should understand that various modifications, combinations, sub-combinations, and substitutions can be made according to design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of this disclosure should be included within the scope of protection of this disclosure.
Claims
1. A method for generating annotation templates, comprising: In response to receiving a development instruction from a developer for a target annotation template, an interactive plugin corresponding to the target annotation template is obtained. The interactive plugin is used to characterize the front-end processing logic and display logic of the target annotation template. Based on the developer's backend service development operation on the target annotation template, a service plugin corresponding to the target annotation template is generated, including: in response to receiving the developer's backend service development operation on the target annotation template, presenting a third configuration interface for the service plugin; receiving the backend processing logic configuration file and a database for storing data input by the developer in the third configuration interface, wherein the backend processing logic configuration file is used to characterize the processing logic of the data to be annotated and the annotation results; and obtaining the service plugin corresponding to the target annotation template according to the backend processing logic configuration file and the database for storing data, wherein the service plugin is used to characterize the backend processing logic and storage service of the target annotation template. In response to receiving a generation instruction for the target annotation template, the target annotation template is generated based on the interaction plugin and the service plugin. The interaction plugin runs on the terminal front end and is used to create a front end service for the target annotation template. The service plugin runs on the back end and is used to create a back end service for the target annotation template. The target annotation template is generated based on creating an access channel for the front end service and the back end service.
2. The method according to claim 1, wherein, The interactive plugin includes a display plugin for representing the display logic of the target annotation template; And, the step of responding to receiving a development instruction from a developer user for a target annotation template and obtaining an interactive plugin corresponding to the target annotation template includes: In response to receiving a development instruction from a developer user for a target annotation template, a first configuration interface for the display plugin is presented; Receive multiple annotation category information and / or corresponding annotation method selection information input by the developer user in the first configuration interface; Based on the multiple annotation category information and / or the corresponding annotation method selection information, obtain the display plugin corresponding to the target annotation template.
3. The method according to claim 1 or 2, wherein, The interactive plugin includes a front-end logic plugin for characterizing the front-end processing logic of the target annotation template; And, the step of responding to receiving a development instruction from a developer user for a target annotation template and obtaining an interactive plugin corresponding to the target annotation template includes: In response to receiving a development instruction from a developer user for a target annotation template, a second configuration interface for the front-end logic plugin is presented; The system receives a front-end processing logic configuration file input by the developer user in the second configuration interface, wherein the front-end processing logic configuration file is used to characterize the processing logic of the target annotation template during the annotation process; Based on the processing logic configuration file, obtain the front-end logic plugin corresponding to the target annotation template.
4. The method according to claim 1, wherein, The step of generating the target annotation template based on the interactive plugin and the service plugin in response to receiving a generation instruction for the target annotation template includes: In response to receiving a generation instruction for the target annotation template, the authentication information corresponding to the target annotation template is obtained; The target annotation template is generated based on the interactive plugin, the service plugin, and the authentication information.
5. A method for generating annotation templates, comprising: In response to receiving the interactive plugin and service plugin of the target annotation template sent by the terminal, the front-end of the target annotation template is loaded based on the interactive plugin of the target annotation template to obtain the front-end service corresponding to the target annotation template. The front-end service includes the front-end processing service and display service of the target annotation template. The interactive plugin runs on the terminal front-end and is used to represent the front-end processing logic and display logic of the target annotation template. Based on the service plugin of the target annotation template, a backend service for the target annotation template is created. The backend service includes a backend processing service and a storage service for the target annotation template. The service plugin runs in the backend and is used to characterize the backend processing logic and storage service of the target annotation template. The service plugin is generated based on a backend processing logic configuration file that receives input from the development user and a database for storing data. The backend processing logic configuration file is used to characterize the processing logic of the data to be annotated and the annotation results. The front-end service and the back-end service are associated, an access channel is created for the front-end service and the back-end service, and the target annotation template is generated.
6. The method according to claim 5, wherein, The service plugin based on the target annotation template creates a backend service for the target annotation template, including: Based on the service plugin of the target annotation template, a backend logic plugin corresponding to the target annotation template is generated, and the database corresponding to the target annotation template is determined. The backend logic plugin is used to characterize the processing logic of the data to be annotated and the annotation results. Obtain the general service plugin corresponding to the target annotation template, wherein the general service plugin is used to characterize the preset service of the target annotation template; Based on the backend logic plugin, the database, and the general service plugin, the backend service corresponding to the target annotation template is obtained.
7. The method according to claim 5, further comprising: Receive authentication information corresponding to the target annotation template sent by the terminal; as well as, The interactive plugin based on the target annotation template loads the front-end of the target annotation template to obtain the front-end service corresponding to the target annotation template, including: Based on the interactive plugin of the target annotation template and the authentication information, the front-end of the target annotation template is loaded to obtain the front-end service corresponding to the target annotation template; and The service plugin based on the target annotation template creates a backend service for the target annotation template, including: Based on the service plugin of the target annotation template and the authentication information, a backend service for the target annotation template is created.
8. The method according to any one of claims 5-7, further comprising: In response to generating the target annotation template, the running status information of the target annotation template is obtained; Based on the running status information of the target annotation template, the operation and maintenance information of the target annotation template is generated.
9. A data annotation method, comprising: The system receives data to be annotated that corresponds to a target annotation template uploaded by an annotation user, wherein the target annotation template is generated based on the annotation template generation method described in any one of claims 1-8. The authentication information of the target annotation template and the data to be annotated are sent to the server so that the server can perform data judgment on the data to be annotated based on the authentication information and the service plugin of the target annotation template. The service plugin is used to represent the backend processing logic and storage service of the target annotation template. In response to receiving the data to be labeled returned by the server based on the data judgment, the interactive plugin based on the target labeling template displays the data to be labeled based on the data judgment; In response to receiving the annotation instruction from the annotation user, the annotation result corresponding to the data to be annotated is generated based on the data judgment.
10. The method according to claim 9, wherein, The interactive plugin includes a display plugin for representing the display logic of the target annotation template and a front-end logic plugin for representing the front-end processing logic of the target annotation template. as well as, The step of responding to receiving the data to be labeled based on data judgment returned by the server, and displaying the data to be labeled based on data judgment in the interactive plugin of the target labeling template, includes: In response to receiving the data to be labeled returned by the server based on data judgment, the display plugin based on the target labeling template displays the data to be labeled based on data judgment; and The step of responding to receiving the annotation instruction from the annotation user and generating the annotation result corresponding to the data to be annotated as determined by the data includes: In response to receiving the annotation instruction from the annotation user, the front-end logic plugin performs logical processing on the annotation instruction based on the target annotation template to determine the processed annotation instruction; Based on the processed annotation instructions, the annotation results corresponding to the data to be annotated, as determined by the data, are generated.
11. The method according to any one of claims 9-10, further comprising: In response to generating the annotation result of the data to be annotated, the annotation result is sent to the server so that the server processes the annotation result based on the authentication information and the service plugin and stores the processed annotation result in the corresponding database.
12. A labeling template generation device, comprising: The acquisition module is configured to, in response to receiving a development instruction from a developer for a target annotation template, acquire an interactive plugin corresponding to the target annotation template. The interactive plugin is used to characterize the front-end processing logic and display logic of the target annotation template. The first generation module is configured to generate a service plugin corresponding to the target annotation template based on the backend service development operation of the developer user on the target annotation template. The module includes: in response to receiving the backend service development operation of the developer user on the target annotation template, presenting a third configuration interface for the service plugin; receiving a backend processing logic configuration file and a database for storing data input by the developer user in the third configuration interface, wherein the backend processing logic configuration file is used to characterize the processing logic of the data to be annotated and the annotation results; and obtaining the service plugin corresponding to the target annotation template based on the backend processing logic configuration file and the database for storing data, wherein the service plugin is used to characterize the backend processing logic and storage service of the target annotation template. The second generation module is configured to generate the target annotation template based on the interaction plugin and the service plugin in response to receiving a generation instruction for the target annotation template. The interaction plugin runs on the terminal front end and is used to create a front end service for the target annotation template. The service plugin runs on the back end and is used to create a back end service for the target annotation template. The target annotation template is generated based on creating an access channel for the front end service and the back end service.
13. A labeling template generation device, comprising: The front-end loading module is configured to respond to the interactive plugin and service plugin of the target annotation template sent by the terminal. Based on the interactive plugin of the target annotation template, the front-end loading of the target annotation template is performed to obtain the front-end service corresponding to the target annotation template. The front-end service includes the front-end processing service and the display service of the target annotation template. The interactive plugin runs on the terminal front-end and is used to represent the front-end processing logic and display logic of the target annotation template. A creation module is configured to create a backend service for the target annotation template based on the target annotation template. The backend service includes a backend processing service and a storage service for the target annotation template. The service plugin runs on the backend and is used to characterize the backend processing logic and storage service of the target annotation template. The service plugin is generated based on a backend processing logic configuration file that receives input from the development user and a database for storing data. The backend processing logic configuration file is used to characterize the processing logic of the data to be annotated and the annotation results. The third generation module is configured to associate the front-end service and the back-end service, create an access channel for the front-end service and the back-end service, and generate the target annotation template.
14. A data annotation device, comprising: The receiving module is configured to receive the data to be annotated uploaded by the annotation user and corresponding to the target annotation template, wherein the target annotation template is generated based on the annotation template generation method according to any one of claims 1-8; The sending module is configured to send the authentication information of the target annotation template and the data to be annotated to the server, so that the server can perform data judgment on the data to be annotated based on the authentication information and the service plugin of the target annotation template. The service plugin is used to represent the backend processing logic and storage service of the target annotation template. The display module is configured to respond to receiving the data to be labeled based on the data judgment returned by the server, and to display the data to be labeled based on the target labeling template through an interactive plugin; The fourth generation module is configured to generate the annotation result corresponding to the data to be annotated as determined by the data in response to receiving the annotation instruction from the annotation user.
15. An electronic device comprising: At least one processor; as well as A memory communicatively connected to the at least one processor; wherein, The memory stores instructions that can be executed by the at least one processor to enable the at least one processor to perform the method of any one of claims 1-11.
16. A non-transitory computer-readable storage medium storing computer instructions, wherein, The computer instructions are used to cause the computer to perform the method according to any one of claims 1-11.
17. A computer program product comprising a computer program / instructions, characterized in that, When the computer program / instructions are executed by the processor, they implement the steps of the method described in any one of claims 1-11.
Citation Information
Patent Citations
Image annotation method and general image annotation tool
CN108829435A
Data labeling method and device, and equipment
CN110309669A
Method and device for developing target system
CN111381899A
Data labeling method and device, electronic equipment and readable storage medium
CN114217801A