System and method for developing low-touch custom datasets and models

The system addresses the limitations of traditional data augmentation by using seed-based and retrieval-based methods to generate task-specific datasets, reducing costs and improving resource efficiency and sensitivity handling in LLMs, enabling tailored model training.

WO2025260319A1PCT designated stage Publication Date: 2025-12-26MICROSOFT TECHNOLOGY LICENSING LLC +11
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2024/100374
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-06-20
Publication Date
2025-12-26

AI Technical Summary

Technical Problem

Traditional data augmentation techniques face challenges in generating diverse and task-specific datasets, particularly with large language models (LLMs), leading to high computational costs, time consumption, and difficulty in handling sensitive topics while maintaining consistency with evolving guidelines.

Method used

A system and method for data augmentation using seed-based and retrieval-based data generation, leveraging user-provided data and prompts to create a customized training corpus, enabling efficient and task-specific model training by distilling LLMs into smaller, more accessible models.

Benefits of technology

This approach reduces computational and deployment costs while ensuring high-quality, diverse, and contextually accurate data generation, allowing users to create models tailored to their specific needs, overcoming limitations of traditional LLMs in resource efficiency and sensitivity handling.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024100374_26122025_PF_FP_ABST
    Figure CN2024100374_26122025_PF_FP_ABST
Patent Text Reader

Abstract

A computing system and method for data augmentation. A method includes receiving first data examples, each in one of a particular category associated with a label; receiving a definition for each label, resulting in label definitions, the label definitions describing subject matter of the associated category; generating second data examples from the first data examples, each in one of the particular categories; generating third data examples from the first data examples based on a data repository; merging the second and third data examples to form a corpus; and training a language model with the corpus.
Need to check novelty before this filing date? Find Prior Art

Description

System and Method for Developing Low-Touch Custom Datasets and ModelsBackground

[0001] Traditional data augmentation techniques commonly rely on a seed-based approach, where user-provided data serves as the seed for generating additional, semantically similar data. While the seed-based method ensures the creation of closely related examples, the resulting datasets may not be diverse enough to generate a broad enough to ensure the needed training model coverage. Retrieval-based data generation enhances the diversity of the generated data, thereby providing a richer, more varied dataset, but may not provide adequate examples closely related to the user-provided data.

[0002] Further, a prevalent challenge encountered by many users lies in the realization of task-specific models. Many users are faced with the challenge of having clear ideas for task-specific models but lack the necessary data to bring these models to fruition. Advanced users, with their complex and nuanced requirements, frequently discover that the direct application of Large Language Models (LLMs) or models that have not undergone fine-tuning, inadequately cater to the intricate demands of their particular scenarios. Both types of users are in search of a solution that is not only lightweight and easy to use but also simple to maintain. Essentially, a framework is needed that enables the generation of task-specific data that aligns seamlessly with business objectives.Brief Description of the Drawings

[0003] FIG. 1 is a flow chart of an implementation of a data augmentation process for example-driven operations according to implementations of the disclosure;

[0004] FIG. 2 is a flow chart of an implementation of a prompt generation process included in the data augmentation process according to implementations of the disclosure;

[0005] FIG. 3 is a diagrammatic view of the data augmentation process according to implementations of the disclosure;

[0006] FIG. 4 is a flow chart of an implementation of the data augmentation process for conceptual and / or policy-based operations according to implementations of the disclosure;

[0007] FIGs. 5 –9 are diagrammatic views of processes included in the data augmentation  process according to implementations of the disclosure; and

[0008] FIG. 10 is a diagrammatic view of a computer system and the data augmentation process coupled to a distributed computing network.

[0009] Like reference symbols in the various drawings indicate like elements.Detailed Description

[0010] Task-Specific Model Customization

[0011] As will be discussed in greater detail below, implementations of the present disclosure are directed to a system and method for data augmentation using seed-based and retrieval-based data generation. This approach involves mining similar data from universal datasets, which is then employed as a new seed to generate synthetic data. The synthetic data is used in connection with a retrieval-based data generation process to generate non-synthetic data which is then merged with the synthetic data to form a corpus that is used to train a language model. Embodiments of the disclosure leverage a user prompt or automatically generated prompt based on user data to distill a LLM by using the prompt to generate data for training task-specific models.

[0012] This approach achieves the following two key objectives:

[0013] Maintaining the quality of a LLM while reducing its computational and deployment costs; and

[0014] Enabling users to create customized models that align with their specific use cases by using a prompt with definitions and examples (user data) that provide a task-specific training corpus.

[0015] Customized models benefit from task-specific training data generated from the prompt, providing users with fine-tuned models tailored to their particular needs. This empowers users to create models that perform optimally for their specific tasks, eliminating the need for complex and resource-intensive fine-tuning processes. Additionally, by distilling the LLM, its knowledge is extracted and a more lightweight and efficient model is created that can be easily deployed in production systems. By reducing the computational cost and latency associated with deploying LLMs, and by enabling users to leverage prompts for model creation, embodiments of the  disclosure enable users to harness the power of NLP models in real-world scenarios. In an example embodiment, data examples with labels are used to generate data that is task specific to the needs of the user. As described below, by using data examples and labels to generate data, the resulting corpus that is generated enables tuning of the language model to be specific to topics desired by the user.

[0016] Distilling a large language model (LLM) involves creating a smaller, more efficient version of the model that retains much of the original model’s capabilities but requires fewer computational resources for inference and deployment. This process is akin to compressing the knowledge and skills of the large model into a more compact form, making it more practical for real-world applications where computational power and memory are limited. The primary goal of distilling an LLM is to make it more accessible and usable in environments with limited resources. This is achieved by training a smaller “student” model to mimic the behavior of a larger “teacher” model. The resulting distilled model is faster and more efficient while maintaining a high level of performance. In this way, distilling an LLM involves creating a more compact and efficient version of the model through a process of knowledge transfer from a larger, more powerful model. This allows the distilled model to perform well while being more resource-efficient and faster, facilitating broader and more practical applications of advanced language technologies.

[0017] Referring to FIG. 1 and Tables 1 and 2, an example embodiment of the disclosure will be described. FIG. 1 illustrates a flow diagram 100 depicting an example embodiment of the disclosure. The embodiment receives first data examples in a number of categories 102. Each category has a label associated with it, 106. In an embodiment, the data examples and labels are received from the user, 110. Table 1 shows instances of data examples and associated labels. For instance, the first data example in Table 1 is a Reuters article regarding grounded aircraft. The associated label is “Business, ” since the article relates to business activities. The second data example is an article about supersized IBM storage arrays with the associated label “Sci_Tech. ” The third data example is a football article with the associated label “Sports, ” and the fourth data example is an article about fast food restaurants with the associated label “World. ”

[0018] TABLE 1

[0019] A definition for each label is either received from the user or generated by the system, 114. Table 2 shows a label description for each label included in Table 1. For example, Table 2 indicates that the definition of the label “Business” is “News and information related to commerce, trade, industry, and economic activities. ” Definitions for the labels “Sci_Tech, ” “Sports’ ” and “World” are also included in Table 2.

[0020] TABLE 2

[0021] A prompt is then generated using the labels, label definitions, and data examples, 126. The prompt includes an “Instructions” section including the labels and label definitions and an “Examples” section including data examples, associated labels, and a reason for assigning the label to the provided data example. An example prompt is as follows:

[0022] Instructions:

[0023] #Label Annotation Guideline

[0024] ##World

[0025] The News is about countries, governments, political developments, international relations, and major events that have a significant impact on the global stage.

[0026] ##Sports

[0027] The News is related to sports events, teams, athletes, scores, and any other sports-related activities. It encompasses a wide range of sports, from football and basketball to tennis and motorsport, covering both domestic and international competitions.

[0028] ##Business

[0029] The News covers topics such as the economy, stock market, companies, startups, business strategies, mergers and acquisitions, and significant appointments or resignations within corporations.

[0030] ##Sci_Tech

[0031] The News is focused on advancements in science and technology, including new discoveries, tech product launches, updates in the tech industry, scientific research findings, and discussions on the impact of technology on society.

[0032] Examples:

[0033] Text: Rocky Mountain Heads Toward Highs High-powered profit growth has investors dipping into this mall-based confectioner.

[0034] Label: Business

[0035] Reasoning: Food and Confectionery Industry

[0036] Text: Sony-Led Group to Buy MGM in \$2.9B Deal The agreement to aquire the venerable Hollywood studio and its valuable film library was reached after Time Warner Inc. dropped out of the bidding.

[0037] Label: Sci_Tech

[0038] Reasoning: Business and Finance

[0039]

[0040] For example, as shown above, the data example text “Rocky Mountain Heads Toward Highs High-powered profit growth has investors dipping into this mall-based confectioner. ” Is assigned the label “Business” with the Reasoning specifying that the “Business” label is appropriate because the data example is directed to the Food and Confectionary Industry.

[0041] This prompt is used to generate second data examples from the first data examples, 118. The generation of the second data examples is performed through a seed-based data generation process, 122. In other words, the prompt generated at 126 is input to the LLM to generate synthetic data associated with the first data examples provided by the user. Third data examples are then generated from the first data examples, 130, using a retrieval-based data generation process, 134. The retrieval-based data generation process generates data similar to the first data examples based on nearest neighbors and / or semantic similarity, 138. Fourth data examples are generated using a retrieval-based data generation process, 140, using the third data examples as seed data. The second, third, and fourth data examples are merged to form a corpus, 142, which is then used to train the language model, 146. FIG. 3 is a high-level block diagram 300 illustrating the process components used in tasks 118 through 142. Data generator 302 generates the second data examples using seed-based data generation 306 and the third data examples using retrieval-based data generation 310, which incorporates an index 314, which may include public and / or private datasets. The second and third data examples are merged at 318 to form the corpus used to train the LLM.

[0042] For seed-based retrieval, consider the four sample sentences provided in Table 1 as seed data. This seed data will be used by our data generator module 302 which in turn will provide more sentences that are similar to the seed. To be “similar, ” , the lexical or semantic content of these sentences are like each other. Examples are shown in Table 3: .

[0043] Seed data (from Table 1) :

[0044] Table 3

[0045] The third data examples are generated using retrieval-based data generation by performing retrieval-based data generation process 310 using index 314. The third data examples are used as seed data to generate fourth data examples using retrieval-based generation process 310. Each generation of the second, third, and fourth data examples cause the resulting data to be fine-tuned to the first data examples provided by the user. When merged, the second, third, and fourth data examples form a corpus that is used to train the model.

[0046] FIG. 2 illustrates a flow diagram 200 depicting tasks included in generating the prompt (task 126, FIG. 1) . As described above, the first data example and label definition is received, 202. Each data example provided by the user is provided with a label and a reasoning for selecting the label, 206. Each example / reasoning / label group is analyzed and examples most representative of the desired task are selected, 210. In tasks 214, 218, and 222, prompt candidates are created based on information available to the process. At 214, the LLM is leveraged to create prompt candidates based on the provided user data examples if label definitions are not provided. At 218, the LLM is leveraged to create prompt candidates based on the provided user data examples and the label definitions. At 222, a default template prompt is created based on the label definition and data examples provided by the user. The prompts created at 214, 218, and 222, the best prompt is selected, 226, by evaluating each prompt based on the user-provided data examples.

[0047] Based on the foregoing, an embodiment of the disclosure enables a user to create a corpus to fine tune a model to a specific task, based on data examples and label information provided by the user. By performing both seed-based data generation and retrieval-based data generation on the user-provided data examples, a corpus is generated for training task-specific models.

[0048] Data Augmentation Using Definitions and Examples

[0049] When employing large language models (LLMs) , such as GPT-4, for the purpose of data generation, a number of substantial limitations are discernible.

[0050] Time-Consuming Nature: A paramount limitation lies in the extensive time commitment necessitated by the data generation process. This challenge is frequently magnified due to the constraints imposed by a finite number of accessible Graphics Processing Units (GPUs) and the token rate limits when calling GPT models via API.

[0051] High Costs: Leveraging cutting-edge models like GPT-4 for real-time data annotation can be very expensive.

[0052] Lack of Diversity: A critical issue is the lack of diversity in the data produced, which is particularly problematic when generating data at scale.

[0053] Inconsistency with Guidelines: Ensuring data consistency with evolving guidelines is challenging. When guidelines are updated, the data often requires relabeling or regeneration to comply with the new rules, adding to the complexity and workload.

[0054] Handling Sensitive Topics: When targeting sensitive topics such as sex slavery, Child Sexual Exploitation and Abuse Imagery (CSEAI) , pedophilia, etc., LLMs like GPT often have built-in safeguards that reject generating content or sanitize outputs to avoid creating offensive, rude, or vulgar content. This can result in a dataset that lacks the real-world complexity and nuance needed for certain applications.

[0055] To address the above challenges, embodiments of the disclosure are directed to a retrieval-based data augmentation technique that incorporates user definitions and / or examples in the dataset creation, thereby offering a practical and diversified alternative to conventional data generation techniques.

[0056] One of the unique aspects of this approach is its capacity to adeptly handle sensitive issues. While traditional Large Language Model (LLM) often struggles to accurately reflect complex and delicate topics, the present embodiment circumvents these limitations by retrieving realistic and contextually accurate examples from the real-world. Moreover, this process is easily adaptable to changing definitions. This ensures that the dataset stays updated with the latest guidelines. It effectively eliminates the need for laborious and cost-intensive relabeling or regeneration processes.

[0057] In the realm of synthetic data generation, an objective is to produce varied datasets for both asymmetric and symmetric embedding tasks to bolster the performance of text embeddings in a range of applications, such as semantic retrieval and textual similarity. The methodology employs sophisticated Language Models like GPT-4 to generate a wide array of synthetic examples, utilizing a two-step prompt template approach. This approach is particularly beneficial for asymmetric tasks, as it significantly improves the quality and diversity of the data.

[0058] For those sensitive domains, embodiments of the disclosure utilize not only synthetic data, but also incorporate definitions and authentic data as positive examples. These serve as  seed data for generating corresponding negative examples, specifically designed to address areas where GPT-4 struggles to produce content. Furthermore, the data generation encompasses a diverse range of aspects, including various lengths, languages, and domains as well as writing style, text type, tone, and emotion, and incorporating cultural and regional nuances.

[0059] An embodiment utilizes instruction-following capabilities within the search domain to augment training data. By utilizing this process, synthetic data can be generated rapidly, effectively overcoming the commonly faced challenges associated with using large language models (LLMs) for data generation, such as high computational costs, time constraints, and limited processing resources. Moreover, this technique enables a dynamic solution for maintaining consistency between user-defined criteria and the underlying data. This ensures that as user definitions evolve, the dataset can be seamlessly updated to reflect these changes.

[0060] FIG. 4 illustrates a flow diagram 400 depicting an example embodiment of the task-specific training dataset generation process. At 402, data files are input to the system. These files can contain annotated documents, guidelines, scenarios, example documents, community standards, and policies, 406. The goal is to provide the LLM with seed data that will enable the system to generate training data focused on the seed data provided thereto. Once provided with the input files, the LLM will identify target labels and / or entities specific to the topic of the input files, 410. As described below, the target labels and / or entities are categories of information parsed from the input files that are used by the LLM to generate data specific to the user task. Once all labels and / or entities have been parsed from the input file, the labels and / or entities are used by the LLM to create the task-specific training dataset, 418. If, at 414, each label and / or entity has not yet been extracted and processed, rules, guidelines, and policies associated with each label and / or entity are extracted from the input files, 422. Once extracted, the LLM retrieves both positive and negative examples from indexed datasets based on each rule, guideline, policy, etc., 426. The process then returns to 414 to check if all labels and / or entities have been processed.

[0061] FIG. 5 illustrates an example input file 502 and target labels 506a, 506b, 506c, and 506d that are extracted from the file 502. In this example, the file 502 is the ABC Community Standards document which specifies that rules and regulations governing use of the ABC platform. The user-provided guidelines are parsed by the LLM to identify actionable items, such as labels for particular classes of information. In the example of FIG. 5, the labels extracted  include the platform objective 506a, community of creators example, 506b, safety, creativity, and diversity, 506c, and threat, bullying, and harassment policy, 506d. These labels are provided to the LLM to enable it to identify specific content of the file when prompted by a user.

[0062] FIG. 6 depicts a data retrieval process on the file 502. User interface 602 includes a definition field 604 that enables a user to input text related to data that it needs to retrieve. In this example, the user has input as the definition, “ABC prohibits content that recreates specific real-world sensitive events. ” In this example, the definition is an identification of requested information. In other instances, data retrieval can be effected by specifying in the data field 604 user definitions and combinations of user definitions and examples. Further, using language identification box 606, cross-lingual data can be retrieved, in which the definition is input in a first language and the output data is in a second language. A specific example of the retrieval of cross-lingual data is described with reference to FIG. 9. The definition used in definition field 604 can be in different media types, such as documents, conversations, scripts, etc.

[0063] When the definition is provided in field 604 and the output language specified in field 606, the input file 502 can then be searched to retrieve the specified data. The retrieved data is shown at 610a, 610b, and 610c. Once all the data is retrieved, it is combined (either added together or some discarded based on quality control) to create the final training dataset specific to this custom problem domain. This results in the final dataset or corpus.

[0064] FIG. 7 depicts another example of the data retrieval process of an embodiment. In FIG. 7, the input file 702 is the section regarding “Community Interaction Guidelines” in the ABC Community Standards policy. In task 410, the LLM is used to search for examples shown at 706a, 706b, 706c, and 706d, 706e . Each of these examples are definitions provided by the user to enable the creation of a training dataset specific to the needs of the user. FIG. 8 depicts how the use of a definition “Conversation between a couple” , in combination with an example “The beauty of our love grows every day” provided by the user (both shown at 802b) enables data to be retrieved for the formulation of the final dataset. The desired language of the output data is specified at 802a. With the definition and example specified at 802b, outputs 806 are generated, which include data retrieved based on the information provided. When both a definition and example are provided, the search results will be more targeted, aligning with both criteria, eliminating the need to explicitly detail user requirements.

[0065] FIG. 9 depicts the use of definition “Conversation between a couple” to generate output data in the Chinese language. As shown, in field 902b, the language is specified as Chinese. This enables the input of the definition in English while providing the output 906 in Chinese. As specified above, once all the data is retrieved, it is combined (either added together or some discarded based on quality control) to create the final training dataset specific to this custom problem domain. This results in our final dataset.

[0066] Policies and guidelines used as the input file may change or become invalid. Such situations can be addressed by removing the corresponding data from the training dataset (via search as explained) . Similarly, when new policies and guidelines are introduced, they can be added via search and then the data can be augmented to include new cases. Since this process enables an input file to be input to the system by the user, updates or revisions to the input file are addressed by the operation of the process and continuous evolution of the dataset is effected.

[0067] Accordingly, embodiments of the disclosure utilize user text –which could be community guidelines or data definitions with labels or any text, and generate a datastore that could be used to train or finetune machine learning models. It is important to note that every time we the input file or definitions are changed, the datastore is seamlessly upgraded.

[0068] System Overview:

[0069] Referring to FIG. 10, there is shown a data augmentation process 10. Data augmentation process 10 may be implemented as a server-side process, a client-side process, or a hybrid server-side  / client-side process. For example, data augmentation process 10 may be implemented as a purely server-side process via computational cost reduction process 10s. Alternatively, data augmentation process 10 may be implemented as a purely client-side process via one or more of data augmentation process 10c1, data augmentation process 10c2, data augmentation process 10c3, and data augmentation process 10c4. Alternatively still, data augmentation process 10 may be implemented as a hybrid server-side  / client-side process via data augmentation process 10s in combination with one or more of data augmentation process 10c1, data augmentation process 10c2, data augmentation process 10c3, and data augmentation process 10c4.

[0070] Accordingly, data augmentation process 10 as used in this disclosure may include any  combination of data augmentation process 10, data augmentation process 10c1, data augmentation process 10c2, data augmentation process 10c3, and data augmentation process 10c4.

[0071] Data augmentation process 10s may be a server application and may reside on and may be executed by a computer system 1000, which may be connected to network 1002 (e.g., the Internet or a local area network) . Computer system 1000 may include various components, examples of which may include but are not limited to: a personal computer, a server computer, a series of server computers, a mini computer, a mainframe computer, one or more Network Attached Storage (NAS) systems, one or more Storage Area Network (SAN) systems, one or more Platform as a Service (PaaS) systems, one or more Infrastructure as a Service (IaaS) systems, one or more Software as a Service (SaaS) systems, a cloud-based computational system, and a cloud-based storage platform.

[0072] A SAN includes one or more of a personal computer, a server computer, a series of server computers, a minicomputer, a mainframe computer, a RAID device and a NAS system. The various components of computer system 1000 may execute one or more operating systems.

[0073] The instruction sets and subroutines of computational cost reduction process 10s, which may be stored on storage device 1004 coupled to computer system 1000, may be executed by one or more processors (not shown) and one or more memory architectures (not shown) included within computer system 1000. Examples of storage device 1004 may include but are not limited to: a hard disk drive; a RAID device; a random-access memory (RAM) ; a read-only memory (ROM) ; and all forms of flash memory storage devices.

[0074] Network 1002 may be connected to one or more secondary networks (e.g., network 1004) , examples of which may include but are not limited to: a local area network; a wide area network; or an intranet, for example.

[0075] Various IO requests (e.g., IO request 1008) may be sent from data augmentation process 10s, data augmentation process 10c1, data augmentation process 10c2, data augmentation process 10c3 and / or data augmentation process 10c4 to computer system 1000. Examples of IO request 1008 may include but are not limited to data write requests (i.e., a request that content be written to computer system 1000) and data read requests (i.e., a request that content be read from computer system 1000) .

[0076] The instruction sets and subroutines of data augmentation process 10c1, data  augmentation process 10c2, data augmentation process 10c3 and / or computational cost reduction process 10c4, which may be stored on storage devices 1010, 1012, 1014, 1016 (respectively) coupled to client electronic devices 1018, 1020, 1022, 1024 (respectively) , may be executed by one or more processors (not shown) and one or more memory architectures (not shown) incorporated into client electronic devices 1018, 1020, 1022, 1024 (respectively) . Storage devices 1010, 1012, 1014, 1016 may include but are not limited to: hard disk drives; optical drives; RAID devices; random access memories (RAM) ; read-only memories (ROM) , and all forms of flash memory storage devices. Examples of client electronic devices 1018, 1020, 1022, 1024 may include, but are not limited to, personal computing device 1018 (e.g., a smart phone, a personal digital assistant, a laptop computer, a notebook computer, and a desktop computer) , audio input device 1020 (e.g., a handheld microphone, a lapel microphone, an embedded microphone (such as those embedded within eyeglasses, smart phones, tablet computers and / or watches) and an audio recording device) , display device 1022 (e.g., a tablet computer, a computer monitor, and a smart television) , a hybrid device (e.g., a single device that includes the functionality of one or more of the above-references devices; not shown) , an audio rendering device (e.g., a speaker system, a headphone system, or an earbud system; not shown) , and a dedicated network device (not shown) .

[0077] Users 1026, 1028, 1030, 1032 may access computer system 1000 directly through network 1002 or through secondary network 1006. Further, computer system 1000 may be connected to network 1002 through secondary network 1006, as illustrated with link line 1034.

[0078] The various client electronic devices (e.g., client electronic devices 1018, 1020, 1022, 1024) may be directly or indirectly coupled to network 1002 (or network 1006) . For example, personal computing device 1018 is shown directly coupled to network 1002 via a hardwired network connection. Further, machine vision input device 1024 is shown directly coupled to network 1006 via a hardwired network connection. Audio input device 1022 is shown wirelessly coupled to network 1002 via wireless communication channel 1036 established between audio input device 1020 and wireless access point (i.e., WAP) 1038, which is shown directly coupled to network 1002. WAP 1038 may be, for example, an IEEE 802.11a, 802.11b, 802.11g, 802.11n, Wi-Fi, and / or any device that is capable of establishing wireless communication channel 1036 between audio input device 1020 and WAP 1038. Display device 1022 is shown wirelessly coupled to network 1002 via wireless communication channel 1040 established  between display device 1022 and WAP 1042, which is shown directly coupled to network 1002.

[0079] The various client electronic devices (e.g., client electronic devices 1018, 1020, 1022, 1024) may each execute an operating system, wherein the combination of the various client electronic devices (e.g., client electronic devices 1018, 1020, 1022, 1024) and computer system 1000 may form modular system 1044.

[0080] General:

[0081] As will be appreciated by one skilled in the art, the present disclosure may be embodied as a method, a system, or a computer program product. Accordingly, the present disclosure may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc. ) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “circuit, ” “module” or “system. ” Furthermore, the present disclosure may take the form of a computer program product on a computer-usable storage medium having computer-usable program code embodied in the medium.

[0082] Any suitable computer usable or computer readable medium may be used. The computer-usable or computer-readable medium may be, for example but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, device, or propagation medium. More specific examples (anon-exhaustive list) of the computer-readable medium may include the following: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM) , a read-only memory (ROM) , an erasable programmable read-only memory (EPROM or Flash memory) , an optical fiber, a portable compact disc read-only memory (CD-ROM) , an optical storage device, a transmission media such as those supporting the Internet or an intranet, or a magnetic storage device. The computer-usable or computer-readable medium may also be paper or another suitable medium upon which the program is printed, as the program can be electronically captured, via, for instance, optical scanning of the paper or other medium, then compiled, interpreted, or otherwise processed in a suitable manner, if necessary, and then stored in a computer memory. In the context of this document, a computer-usable or computer-readable medium may be any medium that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device.  The computer-usable medium may include a propagated data signal with the computer-usable program code embodied therewith, either in baseband or as part of a carrier wave. The computer usable program code may be transmitted using any appropriate medium, including but not limited to the Internet, wireline, optical fiber cable, RF, etc.

[0083] Computer program code for carrying out operations of the present disclosure may be written in an object-oriented programming language. However, the computer program code for carrying out operations of the present disclosure may also be written in conventional procedural programming languages, such as the “C” programming language or similar programming languages. The program code may execute entirely on the user’s computer, partly on the user’s computer, as a stand-alone software package, partly on the user’s computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user’s computer through a local area network  / a wide area network  / the Internet.

[0084] The present disclosure is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the disclosure. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, may be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general-purpose computer  / special purpose computer  / other programmable data processing apparatus, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions / acts specified in the flowchart and / or block diagram block or blocks.

[0085] These computer program instructions may also be stored in a computer-readable memory that may direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function / act specified in the flowchart and / or block diagram block or blocks.

[0086] The computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process  such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions / acts specified in the flowchart and / or block diagram block or blocks.

[0087] The flowcharts and block diagrams in the figures may illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function (s) . It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, not at all, or in any combination with any other flowcharts depending upon the functionality involved. It will also be noted that each block of the block diagrams and / or flowchart illustrations, and combinations of blocks in the block diagrams and / or flowchart illustrations, may be implemented by special purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.

[0088] The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the disclosure. As used herein, the singular forms “a” , “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises” and / or “comprising, ” when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and / or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof.

[0089] The corresponding structures, materials, acts, and equivalents of all means or step plus function elements in the claims below are intended to include any structure, material, or act for performing the function in combination with other claimed elements as specifically claimed. The description of the present disclosure has been presented for purposes of illustration and description but is not intended to be exhaustive or limited to the disclosure in the form disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the disclosure. The embodiment was chosen and described  in order to best explain the principles of the disclosure and the practical application, and to enable others of ordinary skill in the art to understand the disclosure for various embodiments with various modifications as are suited to the particular use contemplated.

[0090] A number of implementations have been described. Having thus described the disclosure of the present application in detail and by reference to embodiments thereof, it will be apparent that modifications and variations are possible without departing from the scope of the disclosure defined in the appended claims.

Claims

1.A computer-implemented method, executed on a computing device, comprising:receiving first data examples, each in one of a particular category associated with a label;receiving a definition for each label, resulting in label definitions, the label definitions describing subject matter of the associated category;generating second data examples from the first data examples, each in one of the particular categories;generating third data examples from the first data examples based on a data repository;merging the second and third data examples to form a corpus; andtraining a language model with the corpus.2.The method of claim 1 wherein the first data examples are received from a customer.3.The method of claim 2 wherein the second data examples are generated by a seed-based data generation process on the first data examples.4.The method of claim 3 wherein the third data examples are generated by a retrieval-based generation process on the second data examples.5.The method of claim 4 further including generating fourth data examples from the third data examples.6.The method of claim 5 wherein the fourth data examples are generated by a seed-based data generation process on the third data examples.7.The method of claim 4 further comprising using nearest neighbors and / or semantic similarity in the retrieval-based generation process.8.The method of claim 1 further including generating prompt candidates based on at least one of the first data examples and the label definitions.9.The method of claim 8, further comprising evaluating the prompt candidates based on the first data examples to select a best prompt.10.The method of claim 9 further comprising using the best prompt to generate the second data examples.11.The method of claim 9 further comprising assigning a label to each second data example and generating reasoning to support assigning the label to the second data example.12.The method of claim 11 wherein the best prompt further comprises at least the second data examples, associated labels, and the reasoning for assigning the associated label to the second data example.13.A computing system comprising:a memory; anda processor for:receiving first data examples, each in one of a particular category associated with a label;receiving a definition for each label, resulting in label definitions, the label definitions describing subject matter of the associated category;generating second data examples from the first data examples, each in one of the particular categories;generating third data examples from the first data examples based on a data repository;merging the second and third and fourth data examples to form a corpus; andtraining a language model with the corpus.14.The system of claim 13 wherein the first data examples are received from a customer.15.The system of claim 14 wherein the second data examples are generated by a seed-based data generation process on the first data examples.16.The system of claim 15 wherein the third data examples are generated by a retrieval-based generation process on the second data examples.17.The system of claim 16 further including generating fourth data examples from the third data examples.18.The system of claim 17 wherein the fourth data examples are generated by a seed-based data generation process on the third data examples.19.The system of claim 16 further comprising using nearest neighbors and / or semantic similarity in the retrieval-based generation process.20.The method of claim 1 further including generating prompt candidates based on at least one of the first data examples and the label definitions.21.The method of claim 20, further comprising evaluating the prompt candidates based on the first data examples to select a best prompt.22.The method of claim 21 further comprising using the best prompt to generate the second data examples.23.The method of claim 21 further comprising assigning a label to each second data example and generating reasoning to support assigning the label to the second data example.24.The method of claim 23 wherein the best prompt further comprises at least the second data examples, associated labels, and the reasoning for assigning the associated label to the second data example.25.A computer program product residing on a non-transitory computer readable medium having a plurality of instructions stored thereon which, when executed by a processor, cause the processor to perform operations comprising:receiving first data examples each in one of a particular category associated with a label;receiving a definition for each label, resulting in label definitions, the label definitions describing subject matter of the associated category;generating second data examples from the first data examples, each in one of the particular categories;generating third data examples from the first data examples based on a data repository;merging the second and third and fourth data examples to form a corpus; andtraining a language model with the corpus.26.The computer program product of claim 25 wherein the first data examples are received from a customer.27.The computer program product of claim 26 wherein the second data examples are generated by a seed-based data generation process on the first data examples.28.The computer program product of claim 27 wherein the third data examples are generated by a retrieval-based generation process on the second data examples.29.The computer program product of claim 28 further including generating fourth data examples from the third data examples.30.The computer program product of claim 29 wherein the fourth data examples are generated by a seed-based data generation process on the third data examples.31.The computer program product of claim 28 further comprising using nearest neighbors and / or semantic similarity in the retrieval-based generation process.32.The method of claim25 further including generating prompt candidates based on at least one of the first data examples and the label definitions.33.The method of claim 32, further comprising evaluating the prompt candidates based on the first data examples to select a best prompt.34.The method of claim 33 further comprising using the best prompt to generate the second data examples.35.The method of claim 33 further comprising assigning a label to each second data example and generating reasoning to support assigning the label to the second data example.36.The method of claim 35 wherein the best prompt further comprises at least the second data examples, associated labels, and the reasoning for assigning the associated label to the second data example.37.A computer program product residing on a non-transitory computer readable medium having a plurality of instructions stored thereon which, when executed by a processor, cause the processor to perform operations comprising:receiving a text description of a topic of interest;processing the text description to generate a number of action topics;generating data associated with the action topics using a data retrieval process resulting in generated data; andcreating a training dataset from the generated data to train a machine learning model.38.The computer program product of claim 37 further comprising updating the text description and performing the processing task to generate a number of updated action topics.39.The computer program product of claim 37 wherein the text description of a topic of interest comprises at least one of a policy document, guidelines, data definitions, and text associated with the topic of interest.40.The computer program product of claim 37 wherein the generating task comprises retrieving data from at least one of a public and private data repository.41.The computer program product of claim 37 wherein creating the training dataset includes performing quality control on the generated data to tune the training dataset to a target domain.42.The computer program product of claim 37 wherein the generating data task is cross-lingual.43.The computer program product of claim 42 wherein, in the generating task, an action topic is specified in one language and the generated data in another language.44.A computer-implemented method, executed on a computing device, comprising:receiving a text description of a topic of interest;processing the text description to generate a number of action topics;generating data associated with the action topics using a data retrieval process resulting in generated data; andcreating a training dataset from the generated data to train a machine learning model.45.The computer program product of claim 44 further comprising updating the text description and performing the processing task to generate a number of updated action topics.46.The computer program product of claim 44 wherein the text description of a topic of interest comprises at least one of a policy document, guidelines, data definitions, and text associated with the topic of interest.47.The computer program product of claim 44 wherein the generating task comprises retrieving data from at least one of a public and private data repository.48.The computer program product of claim 44 wherein creating the training dataset includes performing quality control on the generated data to tune the training dataset to a target domain.49.The computer program product of claim 44 wherein the generating data task is cross-lingual.50.The computer program product of claim 49 wherein, in the generating task, an action topic is specified in one language and the generated data in another language.51.A computing system comprising:a memory; anda processor for:receiving a text description of a topic of interest;processing the text description to generate a number of action topics;generating data associated with the action topics using a data retrieval process resulting in generated data; andcreating a training dataset from the generated data to train a machine learning model.52.The computer program product of claim 51 further comprising updating the text description and performing the processing task to generate a number of updated action topics.53.The computer program product of claim 51 wherein the text description of a topic of interest comprises at least one of a policy document, guidelines, data definitions, and text associated with the topic of interest.54.The computer program product of claim 51 wherein the generating task comprises retrieving data from at least one of a public and private data repository.55.The computer program product of claim 51 wherein creating the training dataset includes performing quality control on the generated data to tune the training dataset to a target domain.56.The computer program product of claim 51 wherein the generating data task is cross-lingual.57.The computer program product of claim 56 wherein, in the generating task, an action topic is specified in one language and the generated data in another language.