Deep learning-based data structured application program interface recommendation method

Through the deep learning-based API recommendation method, the similarity evaluation value is calculated using programming tasks and API tools' description documents, which solves the problem of poor API recommendation results in the existing technology, and achieves higher recommendation accuracy and effect.

CN120196749AInactive Publication Date: 2025-06-24BEIJING BIG DATA ADVANCED TECH RES INST

Patent Information

Application Number
CN202510677764.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-05-26
Publication Date
2025-06-24
Estimated Expiration
Not applicable · inactive patent

AI Technical Summary

Technical Problem

The existing API recommendation methods rely on natural language descriptions, resulting in semantic gaps, resulting in poor recommendation results.

Method used

Using the recommended method of a data structured application program interface based on deep learning, we use the recommendation model to calculate the similarity evaluation value, and select the API tool with the highest matching degree.

Benefits of technology

Effectively overcome the semantic gap between natural language query and API description, improve the accuracy of API recommendations, optimize recommendation results, and solve the problem of poor recommendation quality.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120196749A_ABST
    Figure CN120196749A_ABST
Patent Text Reader

Abstract

The invention discloses a deep learning-based data structured application program interface recommendation method. The method comprises the following steps of: obtaining a task description document and a plurality of tool description documents; inputting the task description document and the plurality of tool description documents into a recommendation model of a data structured application program interface, so as to determine a similarity evaluation value between the task description document and each tool description document through the recommendation model of the data structured application program interface; and determining a target data structured application program interface matched with the programming task from the plurality of data structured application program interfaces according to the plurality of determined similarity evaluation values. Through the semantic representation effect improved by coding the multi-field information of the task and the interface tool through the pre-training model, the problem that the recommendation effect of the interface tool is poor is solved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application belongs to the field of data interface push, and particularly relates to a recommendation method for a data-structured application programming interface based on deep learning, a training method, a device, a storage medium, a device, and a computer program product for a recommendation model of a data-structured application programming interface. Background Art

[0002] With the rapid development of information technology, Application Programming Interfaces (APIs) play an important role in modern software development. Through APIs, developers can efficiently access external functions, services, and resources, improving development efficiency. However, with the diversification of data requirements and the explosion of the number of APIs, developers face huge challenges in solving complex data structuring tasks. How to quickly find a structured application programming interface that fits the task requirements has become an important issue for improving development efficiency and reducing development costs.

[0003] To support API recommendation tasks, the research community has proposed various API recommendation methods based on code and queries: The code-based API recommendation method predicts APIs that match the current task by analyzing the code context; the query-based API recommendation method further optimizes recommendations by matching relevant APIs through natural language description queries.

[0004] However, existing methods only rely on natural language descriptions, and there is a semantic gap between natural language queries and API descriptions, making it difficult to establish an accurate matching relationship, which results in limitations in the semantic recommendation effect of the recommendation model. Summary of the Invention

[0005] This application aims to provide a recommendation method for a data-structured application programming interface based on deep learning, a training method, a device, a storage medium, a device, and a computer program product for a recommendation model of a data-structured application programming interface, and at least solves the problem of poor recommendation effect of application programming interface tools.

[0006] In a first aspect, an embodiment of this application discloses a recommendation method for a data-structured application programming interface based on deep learning, including: Obtain a task description document for a programming task to be matched, and multiple tool description documents for data-structured application programming interfaces to be matched with the programming task; Input the task description document and multiple tool description documents into a recommendation model for a data-structured application programming interface, so as to determine similarity evaluation values between the task description document and each of the tool description documents through the recommendation model for the data-structured application programming interface; Determine a target data structured application programming interface (API) that matches the programming task from multiple data structured APIs according to multiple determined similarity evaluation values.

[0007] In a second aspect, an embodiment of the present application further discloses a training method for a recommendation model of a data structured API, which is used to train the recommendation model of the data structured API as described in the first aspect, including: Obtain multiple programming training tasks and an interface tool set corresponding to each programming training task; each interface tool set respectively includes a data structured data training interface tool that matches the programming training task corresponding to the interface tool set, and multiple data structured data training interface tools that do not match the programming training task. Use the corresponding programming training task and each data structured data training interface tool in the interface tool set as a set of input values and input them into the training set of the recommendation model of the data structured API to obtain a first training similarity evaluation value and multiple second training similarity evaluation values respectively corresponding to each programming training task; the first training similarity evaluation value is the training similarity evaluation value between the mutually matching programming training task and the data structured data training interface tool, and the second training similarity evaluation value is the training similarity evaluation value between the non-matching programming training task and the data structured data training interface tool. Train the recommendation model of the data structured API according to a loss function constructed based on the first training similarity evaluation value and the second training similarity evaluation value respectively corresponding to each programming training task, so as to obtain the trained recommendation model of the data structured API.

[0008] In a third aspect, an embodiment of the present application further discloses a recommendation device for a data structured API based on deep learning, including: A description acquisition module, configured to acquire a task description document of a programming task to be matched, and a tool description document of multiple data structured APIs used to match the programming task. An evaluation module, configured to input the task description document and multiple tool description documents into the recommendation model of the data structured API, so as to determine the similarity evaluation value between the task description document and each tool description document respectively through the recommendation model of the data structured API. A recommendation module, configured to determine a target data structured API that matches the programming task from multiple data structured APIs according to multiple determined similarity evaluation values.

[0009] Fourthly, an embodiment of the present application also discloses a training device for a recommendation model of a data structuring application programming interface, which is used to train the recommendation model of the data structuring application programming interface as described in the first aspect, including: A training set module, configured to obtain a plurality of programming training tasks and an interface tool set corresponding to each programming training task; each interface tool set respectively includes a data structuring data training interface tool that matches the programming training task corresponding to the interface tool set, and a plurality of data structuring data training interface tools that do not match the programming training task; A comparison and evaluation module, configured to use the corresponding programming training task and each data structuring data training interface tool in the interface tool set as a set of input values to input into the training set of the recommendation model of the data structuring application programming interface, so as to obtain a first training similarity evaluation value and a plurality of second training similarity evaluation values respectively corresponding to each programming training task; the first training similarity evaluation value is the training similarity evaluation value between the mutually matching programming training task and the data structuring data training interface tool, and the second training similarity evaluation value is the training similarity evaluation value between the non-matching programming training task and the data structuring data training interface tool; A training module, configured to train the recommendation model of the data structuring application programming interface according to a loss function constructed based on the first training similarity evaluation value and the second training similarity evaluation value respectively corresponding to each programming training task, so as to obtain the trained recommendation model of the data structuring application programming interface.

[0010] Fifthly, an embodiment of the present application also discloses a computer-readable storage medium, on which a computer program is stored, and when the computer program is executed by a processor, the steps described in the first aspect or the second aspect are implemented.

[0011] Sixthly, an embodiment of the present application also discloses an electronic device, including a processor, a memory, and a computer program stored on the memory and executable on the processor, and when the computer program is executed by the processor, the steps described in the first aspect or the second aspect are implemented.

[0012] Seventhly, an embodiment of the present application also discloses a computer program product, on which a computer program is stored, and when the computer program is executed by a processor, the steps described in the first aspect or the second aspect are implemented.

[0013] In summary, in the embodiments of the present application, by using the recommendation model of the data structuring application programming interface, and based on the similarity evaluation value between the task description document of the programming task and the tool description documents of multiple API tools to be matched, the target data structuring application programming interface with the highest matching degree is selected, effectively overcoming the semantic gap problem between natural language queries and API descriptions, improving the accuracy of API recommendation through multi-dimensional similarity evaluation, using the recommendation model based on deep learning to capture the complex semantic associations between programming tasks and application programming interfaces, thereby optimizing the recommendation effect and solving the problem of poor recommendation quality in the prior art; at the same time, by introducing multi-task programming training data, the multi-domain information learning ability of the recommendation model is realized to comprehensively capture the associations between task requirements and API features; finally, a matching list is generated through sorting of similarity scores, so as to quickly and accurately meet the API matching requirements of complex programming tasks. Thus, based on the method of the embodiments of the present application, through the pre-trained model, the multi-domain information of tasks and APIs is encoded to improve the semantic representation effect, and further solves the problem of poor recommendation effect in the process of application programming interface recommendation. In addition, in the embodiments of the present application, by comprehensively considering the interaction of the two evaluation values of matching and non-matching in the matching process during the construction of the loss function, the model training is made more targeted and efficient, ensuring the adaptation ability of the recommendation model to different types of programming tasks. BRIEF DESCRIPTION OF THE DRAWINGS

[0014] By reading the detailed description of the preferred embodiments below, various other advantages and benefits will become clear to those of ordinary skill in the art. The drawings are only for the purpose of showing the preferred embodiments and are not considered to be a limitation of the present application. Moreover, throughout the drawings, the same reference numerals are used to represent the same components. In the drawings: Figure 1 is the step flow of a method for recommending a data structuring application programming interface based on deep learning provided by an embodiment of the present application; Figure 2 is the step flow of another method for recommending a data structuring application programming interface based on deep learning provided by an embodiment of the present application; Figure 3 is the step flow of a method for training a recommendation model of a data structuring application programming interface provided by an embodiment of the present application; Figure 4 is the step flow of another method for training a recommendation model of a data structuring application programming interface provided by an embodiment of the present application; Figure 5 is a complete data processing process under the method of the embodiments of the present application; Figure 6It is the structure of a recommendation device for a data structuring application programming interface based on deep learning provided by an embodiment of the present application; Figure 7 It is the structure of a training device for a recommendation model of a data structuring application programming interface provided by an embodiment of the present application; Figure 8 It is a block diagram of an electronic device provided by an embodiment of the present application; Figure 9 It is a block diagram of another electronic device provided by an embodiment of the present application. Detailed implementation manners

[0015] The exemplary embodiments of the present application will be described in more detail below with reference to the accompanying drawings. Although the exemplary embodiments of the present application are shown in the drawings, it should be understood that the present application can be implemented in various forms and should not be limited by the embodiments set forth herein. On the contrary, these embodiments are provided so that the present application can be more thoroughly understood and the scope of the present application can be fully conveyed to those skilled in the art.

[0016] Figure 1 It is a recommendation method for a data structuring application programming interface based on deep learning provided by an embodiment of the present application, specifically including the following steps: Step 101, obtain a task description document of a programming task to be matched, and tool description documents of multiple data structuring application programming interfaces for matching with the programming task.

[0017] In some embodiments of the present application, in order to create a task description document for a programming task to be matched for subsequent analysis and processing by a recommendation model, it is necessary to obtain the task description document of the programming task and tool description documents of multiple data structuring application programming interfaces. These documents will serve as the basic information for inputting into the recommendation model of the data structuring application programming interface to ensure that the recommendation model can comprehensively understand the task requirements. The task description document is a text information recording task requirements, including domain information such as natural language descriptions and task characteristics, while the tool description document is a text information recording data structuring application programming interfaces, including domain information such as natural language descriptions, task characteristics, and code segments of applications, providing a semantic basis for the subsequent recommendation process. In this way, by comprehensively collecting the task description document and the tool description document, a high-quality input source can be provided for the recommendation of the data structuring application programming interface, thereby improving the analysis ability and matching accuracy of the recommendation model for task characteristics.

[0018] In a specific example, a user needs to find a suitable API tool for a data structuring task. The user first writes a task description document that details the specific requirements of the programming task, including the task objective, input data format, and required functional features. At the same time, the user also writes tool description documents for multiple API tools, each of which details the specific representation of the corresponding API tool, including the task objectives that can be processed, input data formats, databases to be called, and code snippets to be executed, etc. The user provides these documents to the system as input information for processing by the recommendation model of the data structuring application programming interface. According to the above execution process, the system generates a task description document by recording the relevant information of the task and generates multiple tool description documents by the relevant information of each API tool, and sends both into the subsequent model processing flow. Finally, the task description document and the tool description documents become the key inputs for the recommendation model to analyze and match, helping to improve the accuracy and relevance of API recommendations in the subsequent steps.

[0019] Step 102: Input the task description document and multiple tool description documents into the recommendation model of the data structuring application programming interface to determine the similarity evaluation values between the task description document and each tool description document through the recommendation model of the data structuring application programming interface.

[0020] In some embodiments of the present application, it is necessary to analyze the task description document of the programming task to achieve an accurate match between the task requirements and the API tool by using the recommendation model of the data structuring application programming interface. Therefore, the task description document and multiple tool description documents are input into the recommendation model of the data structuring application programming interface together, and the model evaluates the similarity between the task description document and each tool description document respectively to generate similarity evaluation values. These similarity evaluation values are numerical values used to measure the semantic correlation degree between the task description document and the tool description document. In this way, quantitative similarity results can be provided for the subsequent steps, thereby enhancing the matching accuracy between the task requirements and the data structuring API tools.

[0021] In a specific example, a user hopes to find a suitable API tool for a data cleaning task. The user inputs the task description document and the tool description documents of multiple API tools into the recommendation system of the data structuring application interface. The former contains the description of the task, such as data format requirements and processing steps, while the latter contains the descriptions of each API tool respectively, such as the format requirements of the data that can be processed and the program code during processing. The recommendation system performs semantic analysis on the task description document and the tool description documents of multiple API tools stored in the database, and calculates the similarity evaluation values between each pair of documents. According to the execution process, the system generates multiple similarity evaluation values, and these evaluation values are further used for sorting to identify the most suitable target API tool and support subsequent recommendation operations.

[0022] Step 103: Determine the target data structuring application interface that matches the programming task from multiple data structuring application interfaces according to the determined multiple similarity evaluation values.

[0023] In some embodiments of the present application, in order to select the tool that best matches the programming task requirements from multiple alternative data structuring application interfaces through the similarity evaluation values and achieve efficient and accurate recommendation, the APIs will be sorted according to the multiple similarity evaluation values determined in the previous steps, and the target API that matches the programming task will be selected. In this way, the accuracy and efficiency of the recommendation model in task matching can be improved, and the problem of poor recommendation quality in the background technology can be solved.

[0024] In a specific example, a user needs to find a suitable API tool for a data classification task. The system first calculates the similarity evaluation values between the task description document and multiple alternative tool description documents using the previous steps. Subsequently, the alternative tools are sorted in descending order according to these evaluation values, and the tool with the highest similarity is selected as the target recommended tool. According to the above execution process, the system recommends an API tool that best matches the user's task to help the user complete the data classification task. The final result is that the user obtains a highly adaptable recommended tool, which improves the development efficiency and reduces the time for screening suitable tools.

[0025] In summary, in the embodiments of the present application, by using the recommendation model of the data structuring application programming interface (API), and based on the similarity evaluation value between the task description document of the programming task and the tool description documents of multiple APIs to be matched, the target data structuring API with the highest matching degree is selected, effectively overcoming the semantic gap problem between natural language queries and API descriptions, improving the accuracy of API recommendation through multi-dimensional similarity evaluation, using the recommendation model based on deep learning to capture the complex semantic associations between programming tasks and application programming interfaces, thereby optimizing the recommendation effect and solving the problem of poor recommendation quality in the prior art. At the same time, by introducing multi-task programming training data, the multi-domain information learning ability of the recommendation model is realized to comprehensively capture the associations between task requirements and API features. Finally, a matching list is generated through sorting the similarity scores, so as to quickly and accurately meet the API matching requirements of complex programming tasks. Therefore, based on the method of the embodiments of the present application, through the pre-trained model, the multi-domain information of tasks and APIs is encoded to improve the semantic representation effect, and further solve the problem of poor recommendation effect in the process of application programming interface recommendation. In addition, in the embodiments of the present application, by comprehensively considering the interaction between the two evaluation values of matching and non-matching in the matching process during the construction of the loss function, the model training is made more targeted and efficient, ensuring the adaptation ability of the recommendation model to different types of programming tasks.

[0026] Figure 2 This is another recommendation method for data structuring application programming interfaces based on deep learning provided in this embodiment, which specifically includes the following steps: Step 201, obtain the task description document of the programming task to be matched, and the tool description documents of multiple data structuring application programming interfaces for matching with the programming task.

[0027] The method shown in this step has been described in step 101 and will not be elaborated here.

[0028] Step 202, input the task description document and multiple tool description documents into the recommendation model of the data structuring application programming interface to determine the similarity evaluation values between the task description document and each tool description document respectively.

[0029] The following will further explain the data processing process of determining the similarity evaluation values between the task description document and each tool description document through the recommendation model of the data structuring application programming interface: Sub-step 2021, determine multiple task information features of the programming task according to the task description document, and respectively determine multiple interface information features of the data structuring application programming interface corresponding to the tool description document according to each tool description document.

[0030] In some embodiments of the present application, to extract the core feature information in the task and tool description documents, so as to provide accurate data support for subsequent feature fusion and recommendation model analysis, multiple task information features related to programming tasks will be determined by analyzing the task description documents; at the same time, multiple interface information features of the corresponding data-structured application programming interfaces will be extracted from each tool description document respectively. The task information features and the interface information features are the key attributes for specifically describing task requirements and API functions, and usually include natural language descriptions, tags, and relevant code examples. In this way, multi-domain information can be systematically summarized and sorted out to ensure the integrity and adaptability of various types of information, laying a high-quality input foundation for subsequent steps.

[0031] In a specific example, a user is preparing to match a suitable API tool for a data analysis task. The task description document clarifies the task objective, data format requirements, and analysis method description. The system extracts multiple task information features according to the document content, such as the "task objective" being a classification operation, the "input data format" being a Comma-Separated Values (CSV) file, and the "analysis method" being a machine learning model. In addition, the system extracts interface information features from multiple tool description documents respectively, such as the function description of the API, the supported data formats, and sample code. In this way, the system completes the extraction of multi-domain information of tasks and tools, providing key basic data for the matching and recommendation links in subsequent steps.

[0032] Optionally, to determine multiple task information features of a programming task according to the task description document, sub-step 2021 includes the following sub-steps: Sub-step 20211, extract multiple description paragraphs of the programming task from the task description document according to a variety of preset description methods.

[0033] In some embodiments of the present application, to extract multiple description paragraphs of a programming task from the task description document and provide segmented text information input for subsequent steps, multiple description paragraphs related to the programming task will be extracted from the task description document according to a variety of preset description methods to ensure that the task information can be fully expressed. The description paragraph is a natural language text fragment in the task description document, used to clarify the task requirements and objectives. By performing this step, the task description document can be transformed into structured text fragments, laying a foundation for subsequent feature extraction and unified representation, and improving the learning efficiency and information expression ability of the recommendation model.

[0034] In a specific example, a user hopes to extract relevant task information features for a data analysis task. The task description document contains content such as task objectives, data format requirements, and operation steps. The system extracts the task objective description, data format description, and operation steps into multiple description paragraphs according to multiple preset description methods, such as "the objective is to predict user behavior", "the data format is a lightweight data exchange format (JavaScript Object Notation, JSON) file", "the analysis steps include feature engineering and classification algorithms", etc. According to the above execution process, the system completes the operation of extracting multiple description paragraphs from the task description document and provides these paragraphs to the subsequent feature extractor for generating task information features.

[0035] Sub-step 20212: Input the description paragraph into the feature extractor set in the recommendation model of the data structuring application programming interface to obtain an output vector corresponding to the description paragraph, and determine the obtained output vector as the task information feature of the description paragraph.

[0036] In some embodiments of the present application, in order to convert the description paragraph into a task information feature through the feature extractor and provide an input for the subsequent task representation construction, the description paragraph is input into the feature extractor set in the recommendation model of the data structuring application programming interface to obtain an output vector corresponding to the description paragraph, and this output vector is determined as the task information feature of the description paragraph. The feature extractor is a model module used to analyze the content of the input paragraph and extract its core information, and this information is represented as an output vector in a mathematical form. After executing this step, by extracting the task information features of the description paragraph, the representation ability of the recommendation model for task requirements can be enhanced, laying a technical foundation for improving the recommendation effect in the subsequent steps.

[0037] In a specific example, a user constructs a recommendation model for a financial data analysis task. The task description document includes description paragraphs such as "the objective is to predict stock prices" and "the data format is a CSV file". The system inputs these description paragraphs into the feature extractor set in the recommendation model, such as a feature extraction module based on the Transformer architecture, to extract the core information of the paragraph and generate a corresponding output vector. For example, the task information feature vector of "predicting stock prices" is represented as (0.82, 0.64, 0.76). According to the above execution process, the system successfully converts the description paragraph into a task information feature, providing key data support for the unified representation construction of the task and subsequent recommendations.

[0038] Optionally, the description methods for the task description document at least include paragraph description and label description.

[0039] The description methods of the task description document include text description and tag description to enrich the representation of task information. The text description usually refers to the natural language expression in the text, which is used to clearly express the task objectives, requirements or operation steps; the tag description is presented in the form of keywords or phrases to further summarize the core features of the task. This diverse description method can comprehensively cover different levels of task information and provide multi-domain input support for the recommendation model.

[0040] Optionally, in order to determine multiple interface information features of the data-structured application programming interface corresponding to the tool description document according to each tool description document respectively, sub-step 2021 includes the following sub-steps: Sub-step 20213: Extract multiple description paragraphs of the data-structured application programming interface corresponding to the tool description document from the tool description document according to a variety of preset description methods.

[0041] In some embodiments of the present application, in order to extract multiple description paragraphs related to the data-structured application programming interface from the tool description document to provide segmented text input for subsequent feature extraction and recommendation model training, multiple description paragraphs will be extracted from the tool description document according to a variety of preset description methods. These paragraphs cover the function description, tag information, code examples, etc. of the tool. The description paragraph is a natural language fragment in the tool description document, which is used to clearly express the characteristics and uses of the tool. By executing this step, the information in the tool description document can be transformed into structured text fragments, providing data support for the feature extraction module and enhancing the recommendation model's parsing ability of tool characteristics.

[0042] In a specific example, the user processed the documents of multiple data cleaning API tools, and these documents included the tool title, function description, example code, etc. The system extracted multiple description paragraphs according to a variety of preset description methods. For example, text fragments such as "the tool function is format conversion", "supported data types are CSV", and "the example code is the specific implementation of a certain cleaning operation" were separated from the document. According to the above execution process, the system completed the extraction of multiple description paragraphs from the tool description document and provided clear and complete tool information fragments for subsequent steps for further feature extraction and analysis.

[0043] Sub-step 20214: Input the description paragraph into the feature extractor set in the recommendation model of the data-structured application programming interface to obtain the output vector corresponding to the description paragraph, and determine the obtained output vector as the interface information feature of the description paragraph.

[0044] In some embodiments of the present application, in order to extract information from the description paragraphs in the tool description document through a feature extractor to generate the interface information features of the data structured application programming interface, and to assist subsequent unified characterization and matching operations, the tool description paragraphs will be input into the feature extractor set in the recommendation model. The feature extractor processes the description paragraphs, outputs vectors corresponding to the description paragraphs, and defines the obtained output vectors as the interface information features of the description paragraphs. The feature extractor is a module in the recommendation model that can analyze the content of the description paragraphs and extract their important feature information. By executing this step, it can ensure that the information in the tool description paragraphs is accurately transformed into a quantitative feature expression, providing high-quality input for the learning and analysis of the recommendation model.

[0045] In a specific example, the user uses the system to analyze the document of a certain data conversion tool. The tool document contains information such as a title, function description, and example code. The system inputs the extracted tool description paragraphs into the feature extractor of the recommendation model, such as the feature extraction module of a pre-trained language model (BERTOverflow) or a pre-trained code generation model (CodeT5+) based on vertical domain corpus (specifically referring to the vertical corpus for the computer direction in the solution of the present application). The feature extractor processes the description paragraphs "supported data types are JSON" and "provides format conversion function" through an encoding method, and generates corresponding output vectors respectively, such as (0.76, 0.83, 0.92) and (0.88, 0.72, 0.81). According to the above process, the system completes the operation of vectorizing the description paragraphs, generates the interface information features of the description paragraphs, and provides data support for subsequent tool characterization construction and task matching.

[0046] Optionally, the description methods of the tool description document include at least two of paragraph description, label description, code description, and title description.

[0047] The description methods of the tool description document include at least two of paragraph description, label description, code description, and title description to improve the expression coverage of tool information. Paragraph description refers to the detailed description of the functions and uses of the tool in a natural language way; label description summarizes the main characteristics and function labels of the tool; code description provides example code related to the tool; title description briefly indicates the core content and category of the tool. Combining at least two description methods can synthesize the information features of multiple fields and provide richer input for the recommendation model.

[0048] Optionally, in order to input the description paragraphs into the feature extractor set in the recommendation model of the data structured application programming interface to obtain the output vectors corresponding to the description paragraphs, sub-step 20212 and / or sub-step 20214 include the following sub-steps: Sub-step 202101: When the description text is a natural language text, input the description text into the first feature extractor.

[0049] In some embodiments of the present application, in order to extract features of a natural language description text to generate structured task information or interface information features for subsequent steps, the natural language description text will be input into the first feature extractor set in the recommended model of the data structuring application programming interface for processing. The first feature extractor is a language model-based module, such as BERTOverflow, which can perform semantic analysis on the input natural language text and extract its key features, generating an output vector corresponding to the description text. In this way, the semantic representation of the natural language text can be realized, providing high-quality feature input for the training and prediction of the recommended model. According to the above execution process, the system successfully converts the natural language description text into a structured feature vector, laying a technical foundation for subsequent task representation and API matching.

[0050] Sub-step 202102: When the description text is a code language text, input the description text into the second feature extractor.

[0051] In some embodiments of the present application, in order to extract features of a code language description text to generate interface information features of the data structuring application programming interface from the code snippet, supporting the analysis and recommendation operations of subsequent models. The process of executing this step is to input the code language description text into the second feature extractor set in the recommended model. The second feature extractor is a feature extraction module specifically designed for processing code languages, such as an encoder module based on the CodeT5+ architecture, which can efficiently capture the syntax and semantic features of the code language and generate a feature vector corresponding to the code text. By executing this step, the code information in the description text can be converted into structured features, effectively improving the recommended model's ability to understand code semantics. According to the above execution process, the system successfully converts the code language description text into a feature vector, providing core data support for subsequent interface representation construction and recommendation analysis.

[0052] Sub-step 2022: Fuse the obtained multiple task information features to obtain the task fusion features of the programming task, and respectively fuse the obtained multiple interface information features corresponding to each tool description document to respectively obtain the interface fusion features of each tool description document.

[0053] In some embodiments of the present application, in order to create unified task representations and interface representations through the fusion of task information features and interface information features, so as to achieve an accurate match between programming tasks and data-structured application programming interfaces, multiple obtained task information features are fused to generate task fusion features of programming tasks; at the same time, multiple interface information features corresponding to each tool description document are fused to generate interface fusion features of each tool description document. The task fusion features and interface fusion features are uniformly represented by multi-domain features of task information and interface information respectively, and are used to eliminate the differences between different domain features. After performing this step, through the information-rich representation obtained by fusion, high-quality input can be provided for the matching and similarity calculation in the subsequent steps, further improving the accuracy of the recommendation model.

[0054] In a specific example, a user is looking for a suitable API tool for an image processing programming task. The task description document includes information such as image type, processing method, and expected output. After analysis, the system extracts multiple task information features. For example, the image file type is a lossless compressed bitmap graphics format (Portable Network Graphics, PNG), and the processing method is edge detection, etc. At the same time, multiple interface information features in the tool description document include the function description of the API, supported file formats, and example code, etc. The system performs feature fusion on the task information features and tool information features respectively, generating a task fusion feature vector and multiple interface fusion feature vectors. According to the above process, these fused feature vectors provide accurate input for the subsequent matching step between tasks and API tools, helping to improve the quality of the recommendation results.

[0055] Optionally, the recommendation model of the data-structured application programming interface includes a task fully connected processing layer. In order to fuse multiple obtained task information features to obtain task fusion features of programming tasks, sub-step 2022 includes the following sub-steps: Sub-step 20221, concatenate multiple task information features to obtain task concatenation features of programming tasks.

[0056] In some embodiments of the present application, in order to integrate multiple task information features into a task concatenation feature and provide necessary basic input for subsequent feature processing and fusion operations, multiple task information features can be concatenated to form task concatenation features of programming tasks. These task information features may include natural language description features of tasks, task label features, etc., which are respectively represented in vector form. Through direct concatenation operations, each vector is integrated into a high-dimensional vector. The task concatenation feature is a set form of multiple task information features, and its high-dimensional representation can contain more task information dimensions, thus providing a more comprehensive task description ability for subsequent steps.

[0057] In a specific example, a user hopes to perform a splicing operation on the information features of a data analysis task. The system has generated two task information feature vectors. One vector represents the natural language description features of the task, such as (0.75, 0.82, 0.91), and the other vector represents the task label features, such as (0.64, 0.78, 0.85). Through the splicing operation, the system combines these two feature vectors into a task splicing feature, generating a higher-dimensional splicing feature vector, such as (0.75, 0.82, 0.91, 0.64, 0.78, 0.85). According to the above process, the system successfully integrates multiple task information features into a task splicing feature, laying a data foundation for the construction of unified task representation and subsequent model training.

[0058] Sub-step 20222: Input the task splicing feature into the task fully connected processing layer to obtain the task fusion feature.

[0059] In some embodiments of the present application, in order to convert the task splicing feature into a task fusion feature with a unified representation to support semantic matching and recommendation analysis in subsequent steps, the task splicing feature will be input into the task fully connected processing layer set in the recommendation model of the data structuring application programming interface. The task fully connected processing layer is a neural network structure, usually composed of multiple neurons, which can adjust the dimension of the input feature vector and extract deep features through multi-layer linear transformation and non-linear activation functions. After performing this step, the generated task fusion feature has a unified representation form, which can more comprehensively represent the core semantics of the task, laying a data foundation for the matching of the task and the interface tool.

[0060] In a specific example, a user processes the feature information of a data classification task. The system has generated the splicing feature vector of this task, such as (0.75, 0.82, 0.91, 0.64, 0.78, 0.85). The system inputs this task splicing feature into the task fully connected processing layer. The task fully connected processing layer consists of two layers of neural networks. The number of neurons in the first layer is 256, and the number of neurons in the second layer is 64. After processing, the task fully connected processing layer outputs a new task fusion feature vector, such as (…0.68, 0.74, 0.81, 0.77…). According to the above process, the task splicing feature is successfully converted into a task fusion feature, providing high-quality input for the similarity calculation of subsequent task and tool matching.

[0061] Optionally, the recommendation model of the data structuring application programming interface includes an interface fully connected processing layer. In order to fuse the multiple interface information features obtained corresponding to each tool description document respectively to obtain the interface fusion feature of each tool description document, sub-step 2022 includes the following sub-steps: Sub-step 20223: Concatenate the multiple interface information features obtained for each tool description document respectively to obtain the interface concatenation features of each tool description document.

[0062] In some embodiments of the present application, in order to integrate the multiple interface information features corresponding to each tool description document into an interface concatenation feature, so as to provide a basic input for subsequent processing and learning of interface features, the multiple interface information features of the tool description document will be concatenated respectively to obtain rich interface concatenation features. The interface information features include function description features, code features, etc. of the tool, and the specific content of each feature is represented in vector form. By concatenating these vectors into a unified high-dimensional feature, the multi-domain information in the tool description document can be fully integrated, the expression ability of tool information can be enhanced, and multi-dimensional data support can be provided for the training and prediction of subsequent recommendation models.

[0063] In a specific example, a user analyzes the description document of a data processing tool, which contains function label features, example code features, and title features, represented as vectors (0.67, 0.79, 0.88), (0.72, 0.84, 0.91), and (0.65, 0.74, 0.82) respectively. The system combines these feature vectors into an interface concatenation feature according to the concatenation operation, generating a high-dimensional feature vector, such as (0.67, 0.79, 0.88, 0.72, 0.84, 0.91, 0.65, 0.74, 0.82). According to the above execution process, the system successfully integrates the multiple interface information features in the tool description document into an interface concatenation feature, providing the necessary data input for subsequent feature processing.

[0064] Sub-step 20224: Input each interface concatenation feature into the interface fully connected processing layer of the recommendation model of the data structured application interface respectively to obtain interface fusion features.

[0065] In some embodiments of the present application, in order to further learn and optimize each interface concatenation feature through the interface fully connected processing layer of the recommendation model to generate interface fusion features that can uniformly represent interface information, each interface concatenation feature will be input into the interface fully connected processing layer in the recommendation model respectively. The interface fully connected processing layer is a multi-layer neural network structure, which can perform dimensionality compression and deep semantic mining on the input features through linear transformation and non-linear activation functions to achieve unified representation of information. After executing this step, the generated interface fusion features can synthesize multi-domain information in the tool description document and provide high-quality input for subsequent matching and recommendation of tasks and tools.

[0066] In a specific example, a user processes multiple interface information feature vectors of a certain data structuring tool, such as a function label feature vector (0.67, 0.79, 0.88) and an example code feature vector (0.72, 0.84, 0.91). The system has concatenated these features into an interface concatenated feature vector (0.67, 0.79, 0.88, 0.72, 0.84, 0.91). Subsequently, this interface concatenated feature vector is input into the interface fully connected processing layer of the recommendation model, and the processing layer completes dimension adjustment and feature learning through two layers of neural networks. Finally, the system generates an interface fusion feature vector, such as (…0.65, 0.74, 0.80, 0.76…), which provides a unified feature expression for the information representation of the interface tool and is used for similarity calculation in subsequent task matching.

[0067] Sub-step 2023: Determine the similarity evaluation value according to the task fusion feature and the interface fusion feature.

[0068] In some embodiments of the present application, since it is necessary to use the similarity evaluation value of the task fusion feature and the interface fusion feature to quantify the association degree between the task requirements and the API tool and provide a basis for subsequent API recommendation, the similarity evaluation value between the generated task fusion feature and the interface fusion feature of each tool description document will be calculated. These similarity evaluation values are quantified through the semantic matching degree between features and are key indicators for measuring the adaptation degree between the task and the tool. By executing this step, the semantic association between the task requirements and the API tool can be accurately captured, laying a foundation for screening the optimal API tool in the subsequent steps.

[0069] In a specific example, a user uses the system to find a suitable API tool for a data conversion task. The system first generates the task fusion feature of this task, including data format conversion description and function label; then generates the interface fusion feature of the tool description document, covering the title, function description, and example code of each tool. The system calculates the similarity evaluation value of the task fusion feature and the interface fusion feature of each tool through an inner product operation. According to the above process, the system obtains a set of similarity evaluation values, providing a quantitative basis for screening the most matching API tool from numerous tools in the subsequent steps.

[0070] Optionally, when the data dimensions of the output data of the task fully connected processing layer and the interface fully connected processing layer are the same, sub-step 2023 determines the similarity evaluation value by taking the inner product of the task fusion feature and the interface fusion feature.

[0071] In some embodiments of the present application, the data output by the task fully connected processing layer and the interface fully connected processing layer have the same dimension. In order to determine the similarity evaluation value between the task fusion feature and the interface fusion feature, the quantization representation of semantic similarity is completed by calculating their inner product. The task fusion feature and the interface fusion feature are respectively the unified representations of task information and tool information. The inner product operation can measure the matching degree between them in the numerical space and provide an accurate evaluation result for the subsequent steps.

[0072] In a specific example, a user processes the matching problem between a programming task and a certain tool. The task fully connected processing layer outputs a task fusion feature vector (0.65, 0.74, 0.81, 0.77), and the interface fully connected processing layer outputs a tool interface fusion feature vector (0.68, 0.73, 0.79, 0.76). Through inner product calculation, the system obtains the similarity evaluation value of the two as 0.65×0.68 + 0.74×0.73 + 0.81×0.79 + 0.77×0.76 = 2.51. According to the above process, the experimenter obtains the semantic matching degree between the task and the tool, providing a quantitative basis for the subsequent recommendation logic.

[0073] Step 203, according to the determined multiple similarity evaluation values, determine the target data structured application programming interface that matches the programming task from multiple data structured application programming interfaces.

[0074] The method shown in this step has been described in step 103 and will not be elaborated here.

[0075] Figure 3 This is a training method for a recommendation model of a data structured application programming interface provided by an embodiment of the present application, which is used to train the recommendation model of the data structured application programming interface mentioned in the above embodiment, and specifically includes the following steps: Step 301, obtain multiple programming training tasks, and interface tool sets corresponding to each programming training task respectively.

[0076] Among them, each interface tool set respectively includes a data structured data training interface tool that matches the programming training task corresponding to the interface tool set, and multiple data structured data training interface tools that do not match the programming training task.

[0077] In some embodiments of the present application, in order to construct a comprehensive training dataset for training a recommendation model to improve its adaptation ability in data structuring tasks, multiple programming training tasks and their corresponding interface tool sets are obtained. Each interface tool set contains multiple data structuring data training interface tools that match the programming training tasks and multiple non-matching interface tools. The programming training tasks and the interface tool sets provide rich positive and negative sample data, which helps to accurately capture the matching relationship between the tasks and the tools. After performing this step, a high-quality and diverse training dataset can be generated, providing necessary support for model training in subsequent steps, thereby improving the model recommendation accuracy and efficiency.

[0078] In a specific example, the experimenter is preparing to train a data structuring API recommendation model. The system obtains multiple programming tasks. For example, task A involves a data cleaning task, and task B involves an image processing task, etc. At the same time, multiple data structuring interface tools are respectively matched for task A and task B. For example, task A is matched with data structuring interface tool A1 and multiple non-matching data structuring interface tools A2, A3, A4; task B is matched with data structuring interface tool B1 and multiple non-matching data structuring interface tools B2, B3, B4. According to the execution process, the system constructs a training dataset containing multi-domain information by recording these matching and non-matching relationships. The final result is the generation of training data that can richly reflect the relationship between the tasks and the tools, providing a solid foundation for subsequent model training.

[0079] Step 302, use the corresponding programming training task and each data structuring data training interface tool in the interface tool set as a set of input values and input them into the training set of the recommendation model of the data structuring application programming interface to obtain a first training similarity evaluation value and multiple second training similarity evaluation values respectively corresponding to each programming training task.

[0080] Among them, the first training similarity evaluation value is the training similarity evaluation value between the mutually matching programming training task and the data structuring data training interface tool, and the second training similarity evaluation value is the training similarity evaluation value between the non-matching programming training task and the data structuring data training interface tool.

[0081] In some embodiments of the present application, in order to train a recommendation model using the association information between programming training tasks and the interface toolset, so that the model can accurately capture the matching pattern between tasks and tools. The process of performing this step is to use each programming training task and each data-structured data training interface tool in the interface toolset as a set of input values and input them into the training set of the recommendation model of the data-structured application programming interface, thereby obtaining a first training similarity evaluation value and multiple second training similarity evaluation values. The first training similarity evaluation value reflects the semantic association degree between the task and the matching tool, while the second training similarity evaluation value corresponds to the similarity between the task and the non-matching tool. In this way, it is possible to provide discriminative training samples for the recommendation model, enhance its learning ability for matching and non-matching relationships, and ultimately optimize the recommendation effect of the model.

[0082] In a specific example, the experimenter trains a recommendation model for an image classification task. The system selects multiple programming training tasks and matches a set of data-structured interface tools for each task. For example, for the image classification task A, the toolset includes the matching data-structured interface tool A1 and the non-matching data-structured interface tools A2, A3, and A4. The system inputs the image classification task A and the data-structured interface tool A1 into the recommendation model as positive samples respectively, and at the same time inputs the task A and the data-structured interface tools A2, A3, and A4 into the model as negative samples. According to the above process, the system generates the first training similarity evaluation value of the task A and the data-structured interface tool A1 and the second training similarity evaluation values of the task A and the data-structured interface tools A2, A3, and A4. These evaluation values provide a basis for the model to learn the matching relationship between tasks and data-structured interface tools and help the model complete subsequent recommendation tasks more accurately.

[0083] Step 303: Train the recommendation model of the data-structured application programming interface using the loss function constructed based on the first training similarity evaluation value and the second training similarity evaluation value corresponding to each programming training task respectively, so as to obtain a trained recommendation model of the data-structured application programming interface.

[0084] In some embodiments of the present application, in order to optimize and train the recommendation model by constructing a loss function, so that the model can accurately distinguish matching positive samples and non-matching negative samples, and improve the quality and reliability of the recommendation results, a loss function will be constructed based on the first training similarity evaluation value and the second training similarity evaluation value corresponding to the programming training task, and the recommendation model will be iteratively trained using this loss function to continuously optimize the model parameters. By comprehensively considering the similarity of positive samples and negative samples, the loss function ensures that the model can effectively capture the matching relationship between tasks and interface tools, while avoiding biased learning. In this way, the recommendation model has the ability to adapt to different tasks and can achieve high-precision interface tool recommendation, providing effective support for solving the problem of poor recommendation quality in the background technology.

[0085] In a specific example, the experimenter prepares to train a data structuring API recommendation model and introduces a set of programming training tasks and their corresponding interface tool sets. The system calculates the first training similarity evaluation value of a certain task A with the data structuring interface tool A1, and the second training similarity evaluation values with non-matching data structuring interface tools A2, A3, and A4. Subsequently, the system constructs a loss function based on these evaluation values, where the similarity score of the positive sample is relatively high, while the similarity score of the negative sample is relatively low. The value of the loss function gradually converges as the model is trained, enabling the model to effectively distinguish the matching and non-matching relationships between tasks and interface tools. The final result is that the experimenter obtains an optimized recommendation model that can be used for efficient interface tool recommendation for complex programming tasks.

[0086] Considering that a loss function based on negative sampling technology can be used, that is, by randomly selecting APIs that do not correspond to this task as negative samples, and through the similarity score of the positive API and the similarity scores of negative APIs, the task-API similarity prediction task is transformed into a pseudo +1-way classification task, and the above similarity scores are normalized using the normalized exponential (softmax) function, and a posterior similarity probability of a positive sample is calculated accordingly. The formula is: , where is the similarity score of the i-th positive API, and is the similarity score of the j-th negative sampled API obtained when calculating the similarity probability of the i-th positive API, and exp is the exponential function with the natural constant e as the base.

[0087] Then in the model training method, the loss function is the negative log-likelihood of all positive samples, and the formula can be recorded as: , where S is the set of positive training samples.

[0088] Based on the above theoretical derivation, as Figure 4 shown, it is another training method for the recommendation model of the data structuring application interface provided by the embodiment of the present application, which is used to train the recommendation model of the data structuring application interface mentioned in the above embodiment, and specifically includes the following steps: Step 401, obtain multiple programming training tasks and the interface tool sets corresponding to each programming training task respectively.

[0089] Among them, each interface tool set respectively includes the data structuring data training interface tool that matches the programming training task corresponding to the interface tool set, and multiple data structuring data training interface tools that do not match the programming training task.

[0090] The method shown in this step has been described in step 301, and will not be elaborated here.

[0091] Step 402, take the corresponding programming training task and each data structuring data training interface tool in the interface tool set as a group of input values and input them into the training set of the recommendation model of the data structuring application interface respectively, so as to obtain the first training similarity evaluation value and multiple second training similarity evaluation values corresponding to each programming training task respectively.

[0092] Among them, the first training similarity evaluation value is the training similarity evaluation value between the mutually matching programming training task and the data structuring data training interface tool, and the second training similarity evaluation value is the training similarity evaluation value between the non-matching programming training task and the data structuring data training interface tool.

[0093] The method shown in this step has been described in step 302, and will not be elaborated here.

[0094] Step 403, determine the posterior similarity probability of each programming training task pair for the corresponding interface tool set according to the first training similarity evaluation value and the second training similarity evaluation value corresponding to each programming training task respectively.

[0095] In some embodiments of the present application, in order to calculate the posterior similarity probability between the task and the interface tool set through the first training similarity evaluation value and the second training similarity evaluation value, so as to quantify the possibility of matching between the task and the tool, the posterior similarity probability of each programming training task for its corresponding interface tool set will be calculated using a probability model based on the positive samples (the first training similarity evaluation value) and negative samples (the second training similarity evaluation value) corresponding to each programming training task respectively. The posterior similarity probability is a probabilistic representation of the matching relationship between the task and the tool, and generates a normalized probability distribution by softening the similarity score. After performing this step, the recommendation model can more accurately reflect the matching relationship between the task and the tool, providing a robust probabilistic basis for subsequent recommendation logic.

[0096] In a specific example, it is necessary to design and optimize a recommendation model for a data classification task. The system first generates the similarity evaluation values between the task classification description and the tool set. For example, the positive sample similarity score between the task classification and the data structuring interface tool A1 is 0.85, and the negative sample similarity scores with tools A2, A3, and A4 are 0.20, 0.35, and 0.40 respectively. Subsequently, the system calculates the posterior similarity probability between the task classification and the tool set through the softmax function based on these scores, generating the probability distribution of each tool in the tool set. For example, the posterior similarity probability of the data structuring interface tool A1 is 0.45, and the probability of the data structuring interface tool A2 is 0.48, etc. According to the above process, the experimenter obtains the probability distribution result for the subsequent step of screening the optimal tool, thereby improving the accuracy of the recommendation.

[0097] Step 404, determine the negative of the sum of the logarithms of all the posterior similarity probabilities as the loss function, and train the recommendation model for the data structuring application interface according to the loss function to obtain a trained recommendation model for the data structuring application interface.

[0098] In some embodiments of the present application, in order to optimize the performance of the recommendation model through the loss function so that it can better capture the matching relationship between the task and the interface tool, the negative of the sum of the logarithms of all the posterior similarity probabilities will be determined as the loss function, and the recommendation model will be iteratively trained using this loss function to update the model parameters to minimize the training error. The definition of the loss function is based on the negative log-likelihood of the posterior similarity probability, which can effectively enhance the model's ability to identify matching samples while suppressing the misprediction of non-matching samples. In this way, the recommendation model has higher adaptability and robustness, and can thus more accurately complete the recommendation task for the data structuring application interface.

[0099] In a specific example, the experimenter constructs a loss function for training a recommendation model for a data cleaning task. The system first calculates the similarity evaluation values of positive samples (matching API tools) and negative samples (non-matching API tools) to obtain the corresponding posterior similarity probabilities. Subsequently, the system takes the negative logarithm sum of these posterior similarity probabilities to form a loss function. For example, when the positive sample probability is 0.85 and the negative sample probabilities are 0.10 and 0.05 respectively, the value of the loss function is L = -(log0.85 + log0.10 + log0.05). According to the above process, the system uses the loss function to perform multiple iterative optimizations on the model and gradually reduces the training error. Finally, the experimenter obtains an optimized recommendation model that can efficiently support the matching recommendation of interface tools in the data cleaning task.

[0100] As Figure 5 shown, it is a complete data processing process under the method of the embodiment of the present application. In the figure, B represents BERTOverflow, and C represents CodeT5+: Step S11, Task Information Feature Extraction: The task description document is input into two feature extraction models for processing: BERTOverflow Model 1: Used to extract task passage description information, convert natural language type targets, requirements and other texts into vector forms to capture semantic features; BERTOverflow Model 2: Responsible for processing task label descriptions, extracting keywords and label information of tasks, and generating vectorized representations. Through this step, the task description document generates two types of task information features, providing necessary data support for the subsequent feature fusion step.

[0101] Step S12: Task Feature Concatenation and Fusion The task information features enter the concatenation and task fully connected processing layer, which is divided into the following two stages: Stage S121, Task Feature Concatenation: The system performs a concatenation operation on the two task information feature vectors to form a high-dimensional task concatenated feature to integrate multi-domain task information sources; Stage S122, Task Fully Connected Processing Layer: The task concatenated feature is input into the task fully connected processing layer, which optimizes the feature expression through a multi-layer neural network and outputs a unified task fusion feature for subsequent matching operations.

[0102] Step S21: Tool Information Feature Extraction In this step, the tool description document is respectively input into multiple feature extraction models for processing: BERTOverflow Model 3: Responsible for processing tool title information, extracting tool theme features and generating vectorized representations; BERTOverflow Model 4: Used for feature extraction of tool passage description information, converting natural language descriptions into vector form; BERTOverflow Model 5: Processes the label information of the tool, converting keywords and function labels into feature vectors; CodeT5+ Model: Specifically used to process code snippets in tool description documents, extract the features of the code language, and generate syntactic and semantic representations. Through this step, various information features of the tool description document are generated, providing multi-dimensional data support for subsequent splicing and fusion.

[0103] Step S22: Tool feature splicing and fusion. The tool information features enter the splicing and interface fully connected processing layer, which is divided into the following two stages: Stage S221, Tool feature splicing: Splice the vectors of the tool title feature, passage description feature, label feature, and code feature to generate tool splicing features, integrating tool information from multiple domains; Stage S222, Interface fully connected processing layer: The tool splicing features are input into the interface fully connected processing layer, which optimizes the feature expression through deep learning and finally outputs interface fusion features, providing a unified tool semantic representation.

[0104] Step S3, Similarity evaluation value calculation: After the task fusion features and tool interface fusion features are processed, the system calculates the inner product of the two to determine the similarity evaluation value according to the condition that the output data dimensions of the task fully connected processing layer and the interface fully connected processing layer are the same.

[0105] Based on the above process, the following is a preferred architecture of the recommendation model for the data structured application programming interface: For the task feature processing module, use the BERTOverflow model to process natural language type task passage information and label information, generating corresponding feature vectors; Among them, each BERTOverflow model has 12 hidden layers, the hidden state dimension is 768, and 12 self-attention heads are used to capture deep semantic information; the task fully connected processing layer is a two-layer fully connected neural network, the first layer contains 512 neurons, the second layer contains 128 neurons, and the activation function (ReLU) is used for non-linear transformation; For the tool feature processing module: For the tool description document, the BERTOverflow model is used to process the title, text paragraph, and label information respectively, and the CodeT5+ model is used to process the code snippets in the tool document to extract syntactic and semantic features. Among them, the number of hidden layers of CodeT5+ is 24, the dimension of the hidden state is 1024, and the number of self-attention heads is 16. The interface fully connected processing layer uses a two-layer fully connected neural network. The first layer contains 256 neurons, and the second layer contains 64 neurons. The Tanh activation function is used for data mapping.

[0106] For the similarity calculation module: In the model, it is ensured that the task fusion feature and the interface fusion feature have the same vector dimension, which is 128 dimensions here.

[0107] Finally, the inner product operation is used as the similarity evaluation method to calculate the matching degree between the task and the tool.

[0108] Through the design of the above module architecture, the model can effectively extract the semantic information of tasks and tools, and realize efficient and accurate recommendation functions.

[0109] Such as Figure 6 shown, the embodiment of the present application also discloses a recommendation device 50 for a data structured application program interface based on deep learning, including: A description acquisition module 501, configured to acquire a task description document of a programming task to be matched, and tool description documents of multiple data structured application program interfaces for matching with the programming task; An evaluation module 502, configured to input the task description document and multiple tool description documents into a recommendation model of a data structured application program interface, so as to determine a similarity evaluation value between the task description document and each tool description document respectively through the recommendation model of the data structured application program interface; A recommendation module 503, configured to determine a target data structured application program interface that matches the programming task from multiple data structured application program interfaces according to the determined multiple similarity evaluation values.

[0110] Optionally, the evaluation module 502 includes: An information feature sub-module, configured to determine multiple task information features of a programming task according to the task description document, and respectively determine multiple interface information features of a data structured application program interface corresponding to the tool description document according to each tool description document; A fusion feature sub-module, configured to fuse the obtained multiple task information features to obtain a task fusion feature of the programming task, and respectively fuse the obtained multiple interface information features corresponding to each tool description document to respectively obtain an interface fusion feature of each tool description document; An evaluation sub-module, configured to determine a similarity evaluation value according to the task fusion feature and the interface fusion feature.

[0111] Optionally, the information feature sub-module includes: A first description extraction unit, configured to extract multiple description paragraphs of the programming task from the task description document according to a plurality of preset description methods; A task feature extraction unit, configured to input the description paragraph into a feature extractor set in the recommendation model of the data structuring application programming interface, so as to obtain an output vector corresponding to the description paragraph, and determine the obtained output vector as the task information feature of the description paragraph.

[0112] Optionally, the information feature sub-module includes: A second description extraction unit, configured to extract multiple description paragraphs of the data structuring application programming interface corresponding to the tool description document from the tool description document according to a plurality of preset description methods; An interface feature extraction unit, configured to input the description paragraph into a feature extractor set in the recommendation model of the data structuring application programming interface, so as to obtain an output vector corresponding to the description paragraph, and determine the obtained output vector as the interface information feature of the description paragraph.

[0113] Optionally, the task feature extraction unit and / or the interface feature extraction unit includes: A natural language extraction sub-unit, configured to input the description paragraph into a first feature extractor when the description paragraph is a natural language type paragraph; A code language extraction sub-unit, configured to input the description paragraph into a second feature extractor when the description paragraph is a code language type paragraph.

[0114] Optionally, the recommendation model of the data structuring application programming interface includes a task fully connected processing layer and an interface fully connected processing layer, and the fusion feature sub-module includes: A task splicing unit, configured to splice multiple task information features to obtain a task splicing feature of the programming task; A task fusion unit, configured to input the task splicing feature into the task fully connected processing layer to obtain a task fusion feature; An interface splicing unit, configured to splice the obtained multiple interface information features corresponding to each tool description document respectively to obtain an interface splicing feature of each tool description document; An interface fusion unit, configured to input each interface splicing feature into the interface fully connected processing layer of the recommendation model of the data structuring application programming interface respectively to obtain an interface fusion feature.

[0115] Optionally, the output data of the task fully-connected processing layer and the interface fully-connected processing layer have the same data dimension. The evaluation sub-module includes: An inner product calculation unit, configured to determine the inner product of the task fusion feature and the interface fusion feature as the similarity evaluation value.

[0116] Such as Figure 7 As shown, an embodiment of the present application also discloses a training device 60 for a recommendation model of a data structured application programming interface, which is used to train the recommendation model of the data structured application programming interface mentioned in the above embodiment, and includes: A training set module 601, configured to obtain a plurality of programming training tasks and an interface tool set corresponding to each programming training task respectively; each interface tool set respectively includes a data structured data training interface tool that matches the programming training task corresponding to the interface tool set, and a plurality of data structured data training interface tools that do not match the programming training task; A comparison and evaluation module 602, configured to input the corresponding programming training task and each data structured data training interface tool in the interface tool set into the training set of the recommendation model of the data structured application programming interface as a group of input values respectively, so as to obtain a first training similarity evaluation value and a plurality of second training similarity evaluation values corresponding to each programming training task respectively; the first training similarity evaluation value is the training similarity evaluation value between the mutually matching programming training task and the data structured data training interface tool, and the second training similarity evaluation value is the training similarity evaluation value between the non-matching programming training task and the data structured data training interface tool; A training module 603, configured to train the recommendation model of the data structured application programming interface according to a loss function constructed based on the first training similarity evaluation value and the second training similarity evaluation value corresponding to each programming training task respectively, so as to obtain a trained recommendation model of the data structured application programming interface.

[0117] Optionally, the training module 603 includes: A probability calculation sub-module, configured to respectively determine the posterior similarity probability of each programming training task pair corresponding interface tool set according to the first training similarity evaluation value and the second training similarity evaluation value corresponding to each programming training task respectively; A loss training sub-module, configured to determine the negative value of the logarithm sum of all the posterior similarity probabilities as the loss function, and train the recommendation model of the data structured application programming interface according to the loss function, so as to obtain a trained recommendation model of the data structured application programming interface.

[0118] In summary, in the embodiments of the present application, by using the recommendation model of the data structuring application programming interface (API), and based on the similarity evaluation value between the task description document of the programming task and the tool description documents of multiple APIs to be matched, the target data structuring API with the highest matching degree is selected, effectively overcoming the semantic gap problem between natural language queries and API descriptions. The accuracy of API recommendation is improved through multi-dimensional similarity evaluation. The complex semantic association between the programming task and the application programming interface is captured by using the recommendation model based on deep learning, thereby optimizing the recommendation effect and solving the problem of poor recommendation quality in the prior art. At the same time, by introducing multi-task programming training data, the multi-domain information learning ability of the recommendation model is realized to comprehensively capture the association between task requirements and API characteristics. Finally, a matching list is generated through sorting the similarity scores, so as to quickly and accurately meet the API matching requirements of complex programming tasks. Therefore, based on the method of the embodiments of the present application, through the pre-trained model, the multi-domain information of tasks and APIs is encoded to improve the semantic representation effect, and further solve the problem of poor recommendation effect in the process of application programming interface recommendation. In addition, in the embodiments of the present application, by comprehensively considering the interaction between the two evaluation values of matching and non-matching in the matching process during the construction of the loss function, the model training is made more targeted and efficient, ensuring the adaptation ability of the recommendation model to different types of programming tasks.

[0119] The embodiments of the present application further provide a computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, it implements each process of the above-mentioned method for recommending a data structuring application programming interface based on deep learning and the method for training the recommendation model of the data structuring application programming interface, and can achieve the same technical effect. To avoid repetition, it will not be elaborated here. Among them, the computer-readable storage medium includes, for example, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disc, etc.

[0120] Figure 8 FIG. is a block diagram of an electronic device 700 provided by the embodiments of the present application. For example, the electronic device 700 may be a mobile phone, a computer, a digital broadcast terminal, a messaging device, a game console, a tablet device, a medical device, a fitness device, a personal digital assistant, etc.

[0121] Refer to Figure 8 , the electronic device 700 may include one or more of the following components: a processing component 702, a memory 704, a power component 706, a multimedia component 708, an audio component 710, an input / output (I / O) interface 712, a sensor component 714, and a communication component 716.

[0122] The processing component 702 generally controls the overall operation of the electronic device 700, such as operations associated with display, telephone calls, data communication, camera operations, and recording operations. The processing component 702 may include one or more processors 720 to execute instructions to complete all or part of the steps of the above-mentioned recommendation method for the deep learning-based data structuring application interface and the training method for the recommendation model of the data structuring application interface. In addition, the processing component 702 may include one or more modules to facilitate the interaction between the processing component 702 and other components. For example, the processing component 702 may include a multimedia module to facilitate the interaction between the multimedia component 708 and the processing component 702.

[0123] The memory 704 is used to store various types of data to support the operation of the electronic device 700. Examples of such data include instructions for any application or method operating on the electronic device 700, contact data, phone book data, messages, pictures, multimedia, etc. The memory 704 can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic memory, flash memory, magnetic disk, or optical disk.

[0124] The power component 706 provides power to various components of the electronic device 700. The power component 706 may include a power management system, one or more power supplies, and other components associated with generating, managing, and distributing power for the electronic device 700.

[0125] The multimedia component 708 includes a screen that provides an output interface between the electronic device 700 and the user. In some embodiments, the screen may include a liquid crystal display (LCD) and a touch panel (TP). If the screen includes a touch panel, the screen can be implemented as a touch screen to receive input signals from the user. The touch panel includes one or more touch sensors to sense touches, swipes, and gestures on the touch panel. The touch sensors can not only sense the boundaries of touch or swipe actions but also detect the duration and pressure associated with the touch or swipe operation. In some embodiments, the multimedia component 708 includes a front camera and / or a rear camera. When the electronic device 700 is in an operation mode, such as a shooting mode or a multimedia mode, the front camera and / or the rear camera can receive external multimedia data. Each front camera and rear camera can be a fixed optical lens system or have focal length and optical zoom capabilities.

[0126] The audio component 710 is used to output and / or input audio signals. For example, the audio component 710 includes a microphone (MIC) that is used to receive external audio signals when the electronic device 700 is in an operating mode, such as a call mode, a recording mode, and a voice recognition mode. The received audio signal can be further stored in the memory 704 or transmitted via the communication component 716. In some embodiments, the audio component 710 further includes a speaker for outputting audio signals.

[0127] The I / O interface 712 provides an interface between the processing component 702 and a peripheral interface module, and the peripheral interface module may be a keyboard, a click wheel, buttons, etc. The buttons include, but are not limited to: a home button, a volume button, a power button, and a lock button.

[0128] The sensor component 714 includes one or more sensors for providing status assessments of various aspects of the electronic device 700. For example, the sensor component 714 can detect the on / off state of the electronic device 700, the relative positioning of components, such as the display and keypad of the electronic device 700. The sensor component 714 can also detect a change in the position of the electronic device 700 or a component of the electronic device 700, the presence or absence of user contact with the electronic device 700, the orientation or acceleration / deceleration of the electronic device 700, and the temperature change of the electronic device 700. The sensor component 714 may include a proximity sensor configured to detect the presence of nearby objects without any physical contact. The sensor component 714 may also include a light sensor, such as a CMOS or CCD image sensor, for use in imaging applications. In some embodiments, the sensor component 714 may further include an acceleration sensor, a gyroscope sensor, a magnetic sensor, a pressure sensor, or a temperature sensor.

[0129] The communication component 716 is used to facilitate communication between the electronic device 700 and other devices in a wired or wireless manner. The electronic device 700 can access a wireless network based on communication standards, such as WiFi, a carrier network (such as 2G, 3G, 4G, or 7G), or a combination thereof. In an exemplary embodiment, the communication component 716 receives a broadcast signal or broadcast-related information from an external broadcast management system via a broadcast channel. In an exemplary embodiment, the communication component 716 further includes a near field communication (NFC) module to facilitate short-range communication. For example, the NFC module can be implemented based on radio frequency identification (RFID) technology, infrared data association (IrDA) technology, ultra-wideband (UWB) technology, Bluetooth (BT) technology, and other technologies.

[0130] In an exemplary embodiment, the electronic device 700 may be implemented by one or more application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), controllers, microcontrollers, microprocessors, or other electronic components, and is used to implement the recommendation method for the deep learning-based data structured application programming interface and the training method for the recommendation model of the data structured application programming interface provided in the embodiments of the present application.

[0131] In an exemplary embodiment, a non-transitory computer-readable storage medium including instructions is further provided, such as a memory 704 including instructions. The above instructions can be executed by a processor 720 of the electronic device 700 to complete the above-mentioned recommendation method for the deep learning-based data structured application programming interface and the training method for the recommendation model of the data structured application programming interface. For example, the non-transitory storage medium may be a ROM, a random access memory (RAM), a CD-ROM, a magnetic tape, a floppy disk, and an optical data storage device, etc.

[0132] Figure 9 FIG. 800 is a block diagram of an electronic device 800 shown according to an exemplary embodiment. For example, the electronic device 800 may be provided as a server. Referring to Figure 9 , the electronic device 800 includes a processing component 822, which further includes one or more processors, and memory resources represented by a memory 832 for storing instructions executable by the processing component 822, such as application programs. The application programs stored in the memory 832 may include one or more modules each corresponding to a set of instructions. In addition, the processing component 822 is configured to execute instructions to perform the recommendation method for the deep learning-based data structured application programming interface and the training method for the recommendation model of the data structured application programming interface provided in the embodiments of the present application.

[0133] The electronic device 800 may further include a power component 826 configured to perform power management of the electronic device 800, a wired or wireless network interface 850 configured to connect the electronic device 800 to a network, and an input / output (I / O) interface 858. The electronic device 800 may operate based on an operating system stored in the memory 832, such as Windows ServerTM, Mac OS XTM, UnixTM, LinuxTM, FreeBSD TM, or the like.

[0134] The embodiments of the present application further provide a computer program product, including a computer program, and the recommendation method for the deep learning-based data structured application programming interface and the training method for the recommendation model of the data structured application programming interface implemented when the computer program is executed by a processor.

[0135] Those skilled in the art will readily conceive of other embodiments of the present application after considering the specification and practicing the application disclosed herein. The present application is intended to cover any variations, uses, or adaptations of the present application, which follow the general principles of the present application and include the common general knowledge or conventional technical means in the technical field not disclosed in the present disclosure. The specification and examples are only regarded as exemplary, and the true scope and spirit of the present application are pointed out by the following claims.

[0136] It should be understood that the present application is not limited to the exact structures described above and shown in the drawings, and various modifications and changes can be made without departing from its scope. The scope of the present application is only limited by the appended claims.

[0137] Each embodiment in this specification is described in a progressive manner. The key point of each embodiment is to illustrate the differences from other embodiments. The same or similar parts among the various embodiments can be referred to each other.

[0138] It is easy for those skilled in the art to think that any combination application of the above-mentioned various embodiments is feasible. Therefore, any combination among the above-mentioned various embodiments is an embodiment of the present application. However, due to space limitations, this specification will not elaborate on each of them here.

[0139] The recommended method for the data structuring application interface and the training method for the recommended model of the data structuring application interface provided herein are not inherently related to any specific computer, virtual system, or other device. Various general-purpose systems can also be used in conjunction with the teachings herein. According to the above description, the structure required to construct a system with the solution of the present application is obvious. In addition, the present application is not directed to any specific programming language. It should be understood that the content of the present application described herein can be implemented using various programming languages, and the description of the specific language above is to disclose the best implementation mode of the present application.

[0140] In the specification provided herein, a large number of specific details are described. However, it can be understood that the embodiments of the present application can be practiced without these specific details. In some instances, well-known methods, structures, and technologies are not shown in detail so as not to obscure the understanding of this specification.

[0141] Similarly, it should be understood that, to streamline this application and assist in understanding one or more of the various aspects of the application, in the above description of the exemplary embodiments of the application, the features of the application are sometimes grouped together in a single embodiment, figure, or description thereof. However, this disclosed method should not be construed as reflecting an intention that the claimed application requires more features than are expressly recited in each claim. Rather, as reflected by the claims, the aspects of the application lie in less than all of the features of the single embodiments disclosed previously. Thus, the claims following the detailed description hereby expressly incorporate the detailed description, where each claim itself serves as a separate embodiment of the application.

[0142] Those skilled in the art can understand that the modules in the devices in the embodiments can be adaptively changed and disposed in one or more devices different from the embodiments. The modules or units or components in the embodiments can be combined into a module or unit or component, and in addition, they can be divided into multiple sub-modules or sub-units or sub-components. Except that at least some of such features and / or processes or units are mutually exclusive, any combination can be used to combine all the features disclosed in this specification (including the accompanying claims, abstract, and drawings) and all the processes or units of any method or device so disclosed. Unless otherwise expressly stated, each feature disclosed in this specification (including the accompanying claims, abstract, and drawings) can be replaced by an alternative feature that provides the same, equivalent, or similar purpose.

[0143] In addition, those skilled in the art can understand that although some of the embodiments described herein include certain features included in other embodiments rather than other features, the combination of the features of different embodiments means that it is within the scope of this application and forms different embodiments. For example, in the claims, any one of the claimed embodiments can be used in any combination.

[0144] Each component embodiment of the present application can be implemented in hardware, or in software modules running on one or more processors, or in a combination thereof. Those skilled in the art should understand that a microprocessor or a digital signal processor (DSP) can be used in practice to implement some or all of the functions of some or all of the components in the recommendation method of the deep learning-based data structuring application programming interface and the training method of the recommendation model of the data structuring application programming interface according to the embodiments of the present application. The present application can also be implemented as a device or device program (such as a computer program and a computer program product) for executing part or all of the methods described herein. Such a program implementing the present application can be stored on a computer-readable medium, or can be in the form of one or more signals. Such signals can be downloaded from an Internet website, or provided on a carrier signal, or provided in any other form.

[0145] In yet another embodiment provided by the present invention, there is also provided a computer program product containing instructions, which when run on a computer, causes the computer to execute the recommendation method of the deep learning-based data structuring application programming interface and the training method of the recommendation model of the data structuring application programming interface according to the embodiments of the present application.

[0146] In the above embodiments, it can be implemented in whole or in part by software, hardware, firmware, or any combination thereof. When implemented using software, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the processes or functions described according to the embodiments of the present invention are generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices. The computer instructions can be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions can be transmitted from a website, a computer, a server, or a data center to another website, a computer, a server, or a data center by wire (such as coaxial cable, optical fiber, digital subscriber line (DSL)) or wirelessly (such as infrared, wireless, microwave, etc.). The computer-readable storage medium can be any available medium that the computer can access, or a data storage device such as a server or a data center that includes one or more integrated available media. The available medium can be a magnetic medium (such as a floppy disk, a hard disk, a magnetic tape), an optical medium (such as a DVD), or a semiconductor medium (such as a solid-state disk (SSD)).

[0147] It should be noted that the above embodiments are illustrative of the present application rather than restrictive of the present application, and those skilled in the art can design alternative embodiments without departing from the scope of the appended claims. In the claims, any reference signs placed between parentheses shall not be construed as limiting the claim. The word "comprising" does not exclude the presence of elements or steps not listed in the claim. The word "a" or "an" preceding an element does not exclude the presence of a plurality of such elements. The present application can be implemented by means of hardware including several different elements and by means of a suitably programmed computer. In a unit claim listing several devices, several of these devices may be embodied by the same item of hardware. The use of the words first, second, and third, etc. does not denote any order. These words may be interpreted as names.

[0148] It should be noted that for the method embodiments of the present application, for the sake of simple description, they are all expressed as a series of action combinations. However, those skilled in the art should be aware that the embodiments of the present application are not limited by the described order of actions, because according to the embodiments of the present application, certain steps can be performed in other orders or simultaneously. Secondly, those skilled in the art should also be aware that the embodiments described in the specification are all preferred embodiments, and the actions involved are not necessarily essential to the embodiments of the present application.

[0149] Each embodiment in this specification is described in a related manner. For the same or similar parts among the embodiments, reference can be made to each other. Each embodiment focuses on the differences from other embodiments. In particular, for the embodiments of the system or device, since they are basically similar to the method embodiments, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiments.

[0150] The above is only the preferred embodiment of the present invention and is not intended to limit the protection scope of the present invention. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present invention are all included in the protection scope of the present invention.

Claims

1. A recommendation method for a data structuring application programming interface based on deep learning, characterized in that, Including: Obtain a task description document for a programming task to be matched, and multiple tool description documents for data structured application programming interfaces to be matched with the programming task; Input the task description document and the multiple tool description documents into a recommendation model of a data structured application programming interface, so as to determine similarity evaluation values between the task description document and each of the tool description documents through the recommendation model of the data structured application programming interface; Determine a target data structured application programming interface matched with the programming task from the multiple data structured application programming interfaces according to the determined multiple similarity evaluation values.

2. The recommendation method of the data structuring application interface based on deep learning according to claim 1, characterized in that The determining the similarity evaluation values between the task description document and each of the tool description documents through the recommendation model of the data structured application programming interface includes: Determine multiple task information features of the programming task according to the task description document, and respectively determine multiple interface information features of the data structured application programming interface corresponding to the tool description document according to each of the tool description documents; Fuse the obtained multiple task information features to obtain a task fusion feature of the programming task, and respectively fuse the obtained multiple interface information features corresponding to each of the tool description documents to respectively obtain an interface fusion feature of each of the tool description documents; Determine the similarity evaluation value according to the task fusion feature and the interface fusion feature.

3. The recommendation method of the data structuring application interface based on deep learning according to claim 2, characterized in that, The determining the multiple task information features of the programming task according to the task description document includes: Extract multiple description paragraphs of the programming task from the task description document according to a preset variety of description methods; Input the description paragraph into a feature extractor set in the recommendation model of the data structured application programming interface to obtain an output vector corresponding to the description paragraph, and determine the obtained output vector as the task information feature of the description paragraph.

4. The recommendation method for the data structuring application interface based on deep learning according to claim 2, characterized in that, The respectively determining the multiple interface information features of the data structured application programming interface corresponding to the tool description document according to each of the tool description documents includes: Extract multiple description paragraphs of the data structured application programming interface corresponding to the tool description document from the tool description document according to a preset variety of description methods; Input the description paragraph into a feature extractor set in the recommendation model of the data structured application programming interface to obtain an output vector corresponding to the description paragraph, and determine the obtained output vector as the interface information feature of the description paragraph.

5. The recommendation method for a data structuring application interface based on deep learning according to claim 3 or 4, characterized in that, The inputting the description paragraph into a feature extractor set in the recommendation model of the data structured application programming interface to obtain an output vector corresponding to the description paragraph includes: In the case where the description paragraph is a paragraph of natural language type, input the description paragraph into a first feature extractor; In the case where the description paragraph is a paragraph of code language type, input the description paragraph into a second feature extractor.

6. The recommendation method of the data structuring application interface based on deep learning according to claim 2, wherein The recommendation model of the data structured application programming interface includes a task fully connected processing layer and an interface fully connected processing layer. The fusion of the obtained multiple task information features to obtain the task fusion feature of the programming task includes: Concatenating the multiple task information features to obtain the task concatenation feature of the programming task; Inputting the task concatenation feature into the task fully connected processing layer to obtain the task fusion feature; The fusion of the obtained multiple interface information features corresponding to each tool description document to respectively obtain the interface fusion feature of each tool description document includes: Respectively concatenating the obtained multiple interface information features corresponding to each tool description document to respectively obtain the interface concatenation feature of each tool description document; Respectively inputting each interface concatenation feature into the interface fully connected processing layer of the recommendation model of the data structured application programming interface to obtain the interface fusion feature.

7. A training method for a recommendation model of a data structuring application programming interface, characterized in that, For training the recommendation model of the data structured application programming interface according to any one of claims 1 to 6, including: Obtaining a plurality of programming training tasks and interface tool sets respectively corresponding to each programming training task; each interface tool set respectively includes a data structured data training interface tool matching the programming training task corresponding to the interface tool set, and a plurality of data structured data training interface tools not matching the programming training task; Taking the corresponding programming training task and each data structured data training interface tool in the interface tool set as a set of input values and inputting them into the training set of the recommendation model of the data structured application programming interface to obtain a first training similarity evaluation value and a plurality of second training similarity evaluation values respectively corresponding to each programming training task; the first training similarity evaluation value is the training similarity evaluation value between the mutually matching programming training task and the data structured data training interface tool, and the second training similarity evaluation value is the training similarity evaluation value between the non-matching programming training task and the data structured data training interface tool; Training the recommendation model of the data structured application programming interface according to the loss function constructed based on the first training similarity evaluation value and the second training similarity evaluation value respectively corresponding to each programming training task to obtain the trained recommendation model of the data structured application programming interface.

8. The training method of the recommendation model of the data structured application programming interface according to claim 7, characterized in that, The training of the recommendation model of the data structured application programming interface according to the loss function constructed based on the first training similarity evaluation value and the second training similarity evaluation value respectively corresponding to each programming training task to obtain the trained recommendation model of the data structured application programming interface includes: Respectively determining the posterior similarity probability of each programming training task pair for the corresponding interface tool set according to the first training similarity evaluation value and the second training similarity evaluation value respectively corresponding to each programming training task; Determine the negative value of the sum of the logarithms of all the posterior similarity probabilities as the loss function, and train the recommendation model of the data structuring application programming interface according to the loss function to obtain the trained recommendation model of the data structuring application programming interface.

9. A computer-readable storage medium, characterized in that, A computer program is stored on the computer-readable storage medium, and when the computer program is executed by a processor, the method according to any one of claims 1 to 8 is implemented.

10. An electronic device, characterized in that, It includes a processor, a memory, and a computer program stored on the memory and executable on the processor. When the computer program is executed by the processor, the steps of the method according to any one of claims 1 to 8 are implemented.

Citation Information

Patent Citations

  • API recommendation method based on combination of full-text semantic mining and adversarial training

    CN116009953A

  • Code rearrangement method and system based on iterative contrast learning

    CN116048454A

  • Web API recommendation method based on correlation and compatibility fusion

    CN117743678A

  • Application program interface recommendation method and device, equipment, vehicle and storage medium

    CN118466936A

  • Song recommendation model training method, computer equipment and storage medium

    CN118585668A

Cited By

  • Model recommendation method and device

    CN120821976A