Storage and retrieval of unstructured data in conversational artificial intelligence applications
Unstructured data storage and retrieval methods in conversational AI systems address inflexibility by using classifiers and question-answering models, facilitating dynamic updates and improved user interactions.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- NVIDIA CORP
- Filing Date
- 2022-04-11
- Publication Date
- 2026-06-24
AI Technical Summary
Conversational AI systems face inflexibility and slow updates due to reliance on structured data schemas, limiting their ability to handle new information and user inputs effectively.
Implementing unstructured storage and retrieval of data using classifiers and extractive question-answering models to analyze user inputs, allowing for flexible storage and retrieval of information in natural language format, enabling dynamic updates without retraining models.
Enables frequent and natural updates to conversational AI systems, enhancing flexibility and usability by allowing new information to be easily added and retrieved without strict schema conformity.
Smart Images

Figure 0007879732000001 
Figure 0007879732000002 
Figure 0007879732000003
Abstract
Description
Background Art
[0001] The dialogue environment may include a conversational artificial intelligence system that receives user input such as voice input or text input and then infers an intention to provide a response to the input. These systems are generally trained on large datasets, and each intention is trained according to a specific entity, so a model that is generally inflexible and difficult to handle is created. For example, the system may deploy various different models specially trained for each task, and when a slight change is introduced, the model is then retrained with newly annotated data. Usually, data related to these systems, such as intention / slot datasets, is stored in a structured data schema, so further problems regarding addition or modification occur. As a result, the system may lack flexibility with respect to new information or may be slow to update, and the usability of the system may be limited.
Summary of the Invention
Means for Solving the Problems
[0002] Various embodiments according to the present disclosure will be described while referring to the drawings.
Brief Description of the Drawings
[0003] [Figure 1] A diagram showing an example dialogue environment according to at least one embodiment. [Figure 2] A diagram showing an example pipeline for classification, storage, and acquisition of input according to at least one embodiment. [Figure 3] A diagram showing an example environment for classification, storage, and acquisition according to at least one embodiment. [Figure 4] A diagram showing an example interface for a dialogue environment according to at least one embodiment. [Figure 5A] An example flowchart of a process for classification of input according to at least one embodiment. [Figure 5B] This is an example flowchart of a process for classifying and acquiring inputs, based on at least one embodiment. [Figure 6] This is an example flowchart of a process for generating a response in response to an input, according to at least one embodiment. [Figure 7] This figure shows an example data center system according to at least one embodiment. [Figure 8] This figure shows a computer system according to at least one embodiment. [Figure 9] This figure shows a computer system according to at least one embodiment. [Figure 10] This figure shows at least a portion of a graphics processor according to one or more embodiments. [Figure 11] This figure shows at least a portion of a graphics processor according to one or more embodiments. [Modes for carrying out the invention]
[0004] The methods, as described in various embodiments, provide systems and methods for unstructured storage and retrieval of information, such as information used in conversational environments. In at least one embodiment, the systems and methods are used in conjunction with chatbots or conversational artificial intelligence (AI) systems to store and retrieve data that can be stored using different storage schemas and / or without structured storage schema responses to queries. Various embodiments may include one or more classifiers for analyzing user input, determining whether the input is related to an information-based request, and then directing the input along an appropriate pipeline for analysis and response. In at least one embodiment, an information-based request may be evaluated using one or more extractive question-answering models to identify one or more features in the input and determine information from a set of unstructured data that responds to the input. The information may then be presented to the user or used to perform one or more actions, among other options. Furthermore, the systems and methods may be used to store user input as unstructured text, such as storing it in a natural language manner for later retrieval. In this way, the dataset can be easily updated and maintained without the strictness of fitting each piece of information to a request schema.
[0005] Various embodiments may be used in part with a conversational AI system that provides information or executes commands in response to one or more user inputs. In at least one embodiment, the user may provide inputs to the environment, such as a request for information or a request for the execution of one or more tasks. The system may process the inputs, such as by processing audio inputs using one or more natural language recognition systems or speech recognition systems, or by evaluating text inputs and classifying them as belonging to one or more categories. In at least one embodiment, the categories may be associated with information-based inputs, intent / slot inputs, declarative inputs, and others. Different processing pipelines may be used for the inputs depending on the classification. As just one example, information-based inputs may be evaluated against a data store of unstructured data by one or more extractive question answering models, which may determine one or more features from the inputs to generate a response to the inputs. As another example, intent / slot classification may be directed towards a pipeline in which a trained extractive question answering model evaluates the inputs against various intent / slot information to populate the slots with appropriate values to provide a response. As a further example, declarative input may be classified, then added to an unstructured data repository, and then the declarative input may be used or made available for subsequent user queries.
[0006] Various embodiments can be used to provide responses to user input, which may take the form of auditory input, text input, selective input (e.g., selection of content elements), or command input such as a data file that performs one or more actions within the interactive environment. The system and method may store relevant information as natural text in unstructured memory and, based on that information, not only answer flexible questions but also retrieve information to be used in commands. For example, the result may be associated with a text or audio response to the user, and / or additionally, with the performance of one or more actions linked to the result. As an example, one or more meta-commands may be added to the response output associated with the input, the command itself not being provided to the user, and the command triggering one or more additional actions.
[0007] As shown in Figure 1, the conversational environment 100 may be presented within a display area 102 containing one or more content elements. In at least one embodiment, the conversational environment 100 may be associated with a conversational AI system that enables a user to interact with different content elements based at least in part on one or more inputs, such as voice input, text input, area selection, or selection of one or more content elements. The display area 102 may form part of an electronic device such as a smartphone, personal computer, smart TV, virtual reality system, or conversational kiosk. In this example, a display element 104 containing an object 106 corresponding to an automobile is shown. The object 106 is shown in a rear view with the bumper visible. As described below, various embodiments enable a user to provide input commands, such as voice commands, to modify one or more aspects of the object 106 within the conversational environment 100 and / or to perform one or more supported actions, as well as to present one or more queries, such as questions relating to information within the environment.
[0008] The illustrated system further includes selectable content elements, which may include an input content element 108, a save content element 110, an exit content element 112, and a property content element 114. It should be noted that these selectable content elements are provided as examples only, and other embodiments may include more or fewer content elements. Furthermore, different types of content elements may be available, along with different types of interaction properties, such as voice commands and manual input. Additionally, the interaction environment may receive one or more scripts containing a set of actions used to initiate different commands associated with the selectable content elements. In operation, the user may interact with one or more of the content elements to perform one or more tasks or actions related to the environment, such as changing the properties of object 106. For example, the user may select the input content element 108 by clicking on it (e.g., using a mouse or finger-controlled cursor), providing a verbal command, etc. The user's command may then be received, and one or more systems may classify the input, determine an appropriate response to the input, and then execute the appropriate response.
[0009] The system and method may be intended for storing, retrieving, and updating unstructured text. An embodiment includes storing information about a transform AI, where the user presents a query, which is evaluated to determine if it is information-based, and then a question-answering neural network model is used to extract facts from the query to determine a response from the unstructured text. Answers or data to various queries may be stored naturally as unstructured text rather than intent / slot schemas, which may be difficult to generate and / or update. During operation, input queries are directed towards a classifier that determines whether the query is a question. Furthermore, questions are split into information-based queries or intent / slot queries and directed towards the appropriate pipeline. Responses to information-based queries can be provided by training an extractive QA model, and then using that extractive QA model to search unstructured text to identify answers to input queries, for example. This system enables the development of conversational AI supported by unstructured memory, which may increase the number of custom facts associated with the system.
[0010] The embodiments of this disclosure can provide one or more improvements to existing systems that store, update, and retrieve information using structured data schemas. For example, the unstructured natural language storage of this embodiment can provide an improvement to intent / slot schemas, where specific responses or intents are preloaded and defined for use in the system. Thus, typically, intent / slot schemas are generated by examining a variety of different inputs and desired outputs to create a combination of intents / slots that are identified and executed in response to the input. Generation in these systems can be time-consuming and inflexible for user inputs that do not correspond to preloaded intents and slots. Similarly, the system provides an improvement to variable dictionaries and knowledge graphs, which may require strict classification of information rather than storage and retrieval of unstructured text.
[0011] As shown in Figure 2, the architecture 200 may include one or more processing units, which may be locally hosted or part of one or more distributed systems. In this example, the input 200 is provided to a classifier 204, which may be part of a distributed system or a locally hosted classifier, among other options. The classifier 204 may include one or more trained machine learning systems that evaluate one or more aspects of the input to determine whether the input is related to a question. For example, one or more punctuation models, which may be part of one or more natural language processing (NLP) models, may be used to predict whether a word is followed by punctuation, and further, whether the input sentence or phrase is a question. In addition, at least part of the classifier 204 may incorporate one or more natural language understanding (NLU) systems that enable humans to interact naturally with the device. The NLU system may be used to interpret the context and intent of the input and generate a response. For example, the input may be preprocessed, and preprocessing may include tokenization, lemmatization, stemming, and other processes. Additionally, the NLU system may include one or more deep learning models, such as the BERT model, to enable functions such as entity recognition, intent recognition, and sentiment analysis. Furthermore, various embodiments may further include automatic speech recognition (ASR), text-to-speech processing, and the like.
[0012] During operation, the input 202 is evaluated by the classifier 204, and based at least in part on the classification of the input 202, the data may be transferred along one or more pipelines for further processing. In this example, the question environment 206 may include evaluation based on both an information-based query 208 and an intent / slot query 210, among other options. For example, the classifier 204 may first determine that the input 202 corresponds to a question and direct the data along an appropriate pipeline towards the question environment 206. However, within the question environment, one or more additional analyses or decisions may be performed to determine whether appropriate processing is performed by the information-based system 208 or the intent / slot system 210, which is an example of the possibility of additional systems being used within the question environment 206 as described above. Just as an example, one or more functions can be used to evaluate the input and determine how to process the input, as shown below. For questions (queries): Response = Question_Answer (Query) If it's not a response: Intent, Score = Recognized_Intent(Query) Intent and score > If threshold is met: #Intent is recognized slot = recognize_slot(query, slot_question) slot = check_slot_value(slot, supported_slot_value) Response, command = execute_command(intention, slot) tts.say (response)
[0013] In this example, if the query is a question and such a query can be processed by the system, the initial query is evaluated and processed using a trained extractive question-answer network. However, in other examples, the intent / slot system 210 may proceed to identify the intent, identify the relevant slot, populate the slot, and then provide the response.
[0014] Additionally, input 202 may be further classified as a declarative statement and may be directed towards information storage system 212. For example, the user may provide an affirmative statement such as "My favorite color is green" or "Set this as the default display setting" as input 202. This information may then be provided to information storage system 212 for storage and retention as unstructured natural language and may then be utilized as a response to another query. As recognized, by storing input 202 as unstructured natural language, real-time and near real-time storage and retrieval are enabled, such that the system-related data can be updated at runtime without retraining the model by adding new intents or modifying intent / slot classification. In this way, the conversational AI can be updated more frequently and in a more natural way using natural language rather than requiring information to conform to a specific data structure.
[0015] As shown in FIG. 3, environment 300 may be utilized with one or more conversational AIs. It should be recognized that environment 300 may include more or fewer components and that the various components of environment 300 may be incorporated into a single system but are shown as separate modules for convenience and clarity. In this example, input 302 is transmitted to conversational system 304 via one or more networks 306. Network 306 may be a wired or wireless network including one or more intermediate systems such as user devices, server components, switches, etc. Further, it should be recognized that one or more functions of conversational system 304 may be pre-loaded or otherwise stored on the user device such that at least a portion of the data transmission can be performed locally on the device without utilizing network 306.
[0016] In this example, the input processor 308 may receive the input 308 and perform one or more pre-processing or post-processing steps. For example, the input processor 308 may include one or more NLP systems that evaluate the auditory input and extract one or more features from the input, among other options. Furthermore, in the embodiment, the input processor 308 may include a text processing system for pre-processing (e.g., tokenization, punctuation removal, stop word removal, stemming, lemmatization, etc.), feature extraction, etc. It should be noted that the input processor 308 may utilize one or more trained machine learning systems and may be further incorporated into other components of the conversational system 304.
[0017] A classifier 310 may be used to determine whether the input corresponds to a question, statement, or other label. For example, the classifier 310 may utilize one or more trained machine learning systems, such as a punctuation model among other possible models, to evaluate whether the input is in the form of a question. As described above, the classifier 310 may then direct the input along different paths according to each classification, and to determine the response, questions may be further evaluated against one or more databases, and statements may be evaluated and added to a corpus of unstructured text.
[0018] As described above, the question may be directed towards a question environment that determines a response to the input using one or more extractive question answering models 312. As an example, the extractive question answering model 312 may be a trained neural network that extracts one or more portions of an input sequence and is utilized to answer natural language questions related to such a sequence. As described above, in the case of an input such as "What colors can I paint my car?", unstructured text may be evaluated to identify possible colors of the car, and then those colors may be presented to the user. For example, if the structured text contains natural language information such as "The colors of the car are white, black, red, yellow, and gray", the response to the question would be "white, black, red, yellow, and gray". Additionally, it should be recognized that the model 312 can also be utilized in intent / slot evaluation. In various embodiments, the extractive question answering model may be a trained neural network system such as Megatron of NVIDIA Corporation.
[0019] In various embodiments, training data 314 may be utilized to train the model 312, and the data includes a corpus of information such as a multi-QA dataset. As a result, the model 312 may be able to directly extract relevant facts from a corpus 316 of unstructured text corresponding to the information provided to the conversational system 304. As an example, the corpus 316 may include information presented as natural language such as sentences, paragraphs, CSV data, etc. Further, the corpus 316 may further include one or more structured data sets.
[0020] The illustrated embodiment also includes a runtime dialogue module 318 for identifying and incorporating different statements or facts that may be used to update the corpus 316. For example, the classifier 310 may determine that the input is not related to the question and may provide the input to the runtime dialogue module 318 for evaluation using, for example, one or more machine learning systems. To update the corpus 316, one or more features may be identified and / or extracted from the input. For example, the input may correspond to user preferences, such as an utterance that the user prefers a particular color or camera angle. In that case, this information may be used to update the corpus 316 so that future commands or requests can incorporate the user preferences. In at least one embodiment, a data modifier 320 may be used to update the corpus 316, such as formatting the input in a natural language format.
[0021] Various embodiments may also perform one or more actions related to the input. For example, action module 322 may be used to implement one or more meta-commands related to natural language text, enabling connection to appropriate commands related to the text. In various embodiments, the meta-command may be a symbol or call to a machine learning system to ignore or not treat certain characters related to the action. In various embodiments, the action may be performed in parallel or semi-parallel with the response to the input. In at least one embodiment, the meta-command may be a separate sentence or string following the symbol or call. For example, if the user asks, "What side dishes come with this meal?", the related action may not only provide the user with an oral or textual response to answer the question, but also provide a picture or display a list. As a result, within unstructured text, the symbol or call may also follow the unstructured text related to the response, and consequently, one or more actions may also be performed when a response to user input is identified.
[0022] As described herein, various embodiments enable the storage and retrieval of information as unstructured text in natural language. Therefore, new information can be easily added to the corpus of information without formatting it into a specific schema. As shown in Figure 4, the storage system 400 may include an information set 402. The information set 402 is stored as free text in natural language format, in this case as a series of sentences. It should be noted that various unstructured memory schemas may be used, such as lists (e.g., colors are white, black, red, yellow, and gray) and key-value pairs (e.g., colors: white, black, red, yellow, gray). Furthermore, it should be noted that various structured schemas may be used in conjunction with the storage system 400 within the information set 402. In other words, various schemas may be combined as the information set 402 within the storage system 400, thereby providing increased flexibility for storing and updating information.
[0023] In this example, input 404 represents an example of a user query provided to system 400, in this case being a voice input converted to text using, for example, one or more NLP systems. It should be noted that input 404 is provided as an example to illustrate a process evaluated by system 400, and that in the embodiment, the user utilizing system 400 does not visualize the information set 402 and / or input 404. That is, system 400 may run in the background while the user is presented with a different user interface. In this example, input 404 corresponds to a question that may be identified by one or more classifiers as described above. Furthermore, in various embodiments, the question may be further analyzed to determine whether it is an information-based question. In this case, the query relates to a question about the capabilities of the system and may correspond to an information-based question.
[0024] In at least one embodiment, a generative response 408 may be available so that the response 406 is provided to the user in sentence structure. For example, a generative neural network may be used to receive the response 406 as input and then determine an appropriate response incorporating the response 406. In this example, the generative response 408 provides the response 406 to the user in sentence format. By using the generative response 408 so as to be recognized, an improved conversational experience is provided to the user, allowing the user to feel as if they are having a conversation with the system rather than simply receiving information. Thus, the user may be more inclined to use the system for a wider range of purposes.
[0025] In at least one embodiment, one or more actions may be associated with different user inputs as described above, and the actions may include markers or calls. The action set 410 may include a list or set of related actions with different answers 406. In the example in Figure 4, there are no actions associated with the user's request to learn about color choices. However, in various embodiments, actions such as displaying a panel or swatch of color choices may be associated with the request. Thus, different calls or functions may be listed. In at least one embodiment, the provider may access the system 400 to perform changes or updates. For example, different information may be added to the information set 402, and / or different actions may correlate with different questions or situations. In this way, dynamic changes to the system may be provided at runtime without retraining the system.
[0026] Figure 5A shows an example process 500 for determining user intent and performing an action within a conversational environment. It should be understood that, with respect to the above process and other processes presented herein, additional, fewer, or alternative steps may exist within the scope of various embodiments, unless otherwise noted, performed in a similar or alternative order, or at least partially in parallel. In this example, input is received in the conversational environment 502. In various embodiments, the input may be voice input, text input, commands from a software program script, selection of content elements, etc. For example, one or more machine learning systems may be used to determine the classification of the input 504, or one or more machine learning systems may determine whether the input is a question or a declarative statement 506. As described above, the determination may include at least in part one or more models, such as a punctuation model.
[0027] If the information is a declarative statement, such as information provided by the user, the input may be stored in natural language format.508 Storing the input may allow for the identification and retrieval of information later, for example, if the user provides information that may be useful to the interaction environment, such as confirming one or more preferences. Furthermore, as described herein, storing information in natural language format provides flexibility to the system, potentially eliminating the need for specific storage schemas and enabling faster, automated storage of newly provided information.
[0028] In at least one embodiment, the input is a question, and one or more text sequences may be extracted from the input 510. The extracted portion of the text sequence may be provided to one or more machine learning systems, such as an extractive question answering model, to determine a response based at least partially on the sequence 512. The response may provide an answer to a question posed by the input, and the response may be identified within a set of information stored in an unstructured format, such as a natural language format. The response may then be used to generate a response to the input, such as providing additional information, performing an action, or a combination thereof 514.
[0029] Figure 5B shows an example process 520 for responding to user input. In this example, input is received within a conversational environment 522. As previously stated, the input may include one or more queries provided through audio interaction, text input, selection of content elements, or other choices. In the last embodiment, the input may include an information-based question 524. For example, the input may be a question about the potential capabilities of a conversational AI system. To determine a response to the input, information from the input may be used to evaluate data stored as unstructured natural language 526. For example, an extractive question-answering model may take one or more features from the input as input and determine whether the information in the stored data corresponds to the input. The response may then be used to generate a response 528.
[0030] Figure 6 shows an example process 600 for performing an action based on input. In this example, the information set is stored as unstructured natural language 602. For example, the information may be stored as a series of sentences, among other options. An action is determined corresponding to a portion of the information 604. The action may include one or more capabilities of the interactive environment, such as providing a visual representation in response to a user query. A call function may be assigned to a portion of the information, and the call function is used to perform the action 606. In various embodiments, the call function may include symbols or indicators such that the call function is neither counted nor included in the information set.
[0031] In various embodiments, an input is received and a portion is obtained in response to the input 608. A response to the input may be generated using the portion 610, and one or more related actions may be performed based on the response 612. Thus, calls related to the portion may be performed in parallel with providing the response.
[0032] Data center Figure 7 shows an exemplary data center 700 in which at least one embodiment may be used. In at least one embodiment, the data center 700 includes a data center infrastructure layer 710, a framework layer 720, a software layer 730, and an application layer 740.
[0033] As shown in Figure 7, in at least one embodiment, the data center infrastructure layer 710 may include a resource orchestrator 712, grouped computing resources 714, and node computing resources ("node CRs") 716(1) to 716(N), where "N" represents any positive integer. In at least one embodiment, the node CRs 716(1) to 716(N) may include, but are not limited to, any number of central processing units ("CPUs") or other processors (including accelerators, field-programmable gate arrays (FPGAs), graphics processors, etc.), memory devices (e.g., dynamic read-only memory), storage devices (e.g., semiconductor drives or disk drives), network input / output ("NW I / O") devices, network switches, virtual machines ("VMs"), power modules, and cooling modules. In at least one embodiment, one or more of the nodes CR716(1) to 716(N) may be servers having one or more of the computing resources described above.
[0034] In at least one embodiment, the grouped computing resources 714 may include separate groups of node CRs housed in one or more racks (not shown), or a number of racks housed in a data center in various graphical locations (also not shown). Separate groups of node CRs within the grouped computing resources 714 may include grouped compute resources, network resources, memory resources, or storage resources that are configured or allocated to support one or more workloads. In at least one embodiment, several node CRs, including CPUs or processors, may be grouped in one or more racks to provide compute resources to support one or more workloads. In at least one embodiment, one or more racks may also include any number of power modules, cooling modules, and network switches in any combination.
[0035] In at least one embodiment, the resource orchestrator 712 may constitute or otherwise control one or more nodes CR716(1) to 716(N) and / or grouped computing resources 714. In at least one embodiment, the resource orchestrator 712 may include a software design infrastructure ("SDI") management entity for the data center 700. In at least one embodiment, the resource orchestrator may include hardware, software, or any combination thereof.
[0036] In at least one embodiment shown in Figure 7, the framework layer 720 includes a job scheduler 722, a configuration manager 724, a resource manager 726, and a distribution file system 728. In at least one embodiment, the framework layer 720 may include a framework for supporting software 732 of the software layer 730 and / or one or more applications 742 of the application layer 740. In at least one embodiment, the software 732 or application 742 may each include web-based service software or applications, such as those provided by Amazon Web Services, Google Cloud, and Microsoft Azure. In at least one embodiment, the framework layer 720 may be, but is not limited to, a type of free, open-source software web application framework, such as Apache Spark® ("Spark"), which can use the distribution file system 728 for large-scale data processing (e.g., "big data"). In at least one embodiment, the job scheduler 722 may include a Spark driver to facilitate scheduling of workloads supported by various layers of the data center 700. In at least one embodiment, the configuration manager 724 may be capable of configuring different layers, such as the software layer 730 and the framework layer 720, which includes Spark and a distribution file system 728 to support large-scale data processing. In at least one embodiment, the resource manager 726 may be capable of managing clustered or grouped computing resources that are mapped or allocated to support the distribution file system 728 and the job scheduler 722. In at least one embodiment, the clustered or grouped computing resources may include grouped computing resources 714 located in the data center infrastructure layer 710.In at least one embodiment, the resource manager 726 may work in conjunction with the resource orchestrator 712 to manage these mapped or allocated computing resources.
[0037] In at least one embodiment, the software 732 included in the software layer 730 may include software used by at least a portion of the nodes CR716(1) to 716(N), the grouped computing resources 714, and / or the distribution file system 728 of the framework layer 720. One or more types of software may include, but are not limited to, internet web page search software, email virus scanning software, database software, and streaming video content software.
[0038] In at least one embodiment, application 742 included in application layer 740 may include one or more types of applications used by at least a portion of nodes CR716(1) to 716(N), grouped computing resources 714, and / or distribution file system 728 of framework layer 720. One or more types of applications may include, but are not limited to, any number of genomics applications, recognition compute, and machine learning applications including training or inference software, machine learning framework software (e.g., PyTorch, TensorFlow, Caffe, etc.), or other machine learning applications used in conjunction with one or more embodiments.
[0039] In at least one embodiment, any of the configuration manager 724, resource manager 726, and resource orchestrator 712 may implement any number and type of self-correcting measures based on any amount and type of data obtained in any technically feasible manner. In at least one embodiment, the self-correcting measures may enable the data center operator of data center 700 to avoid determining potentially faulty configurations and to eliminate underutilized and / or underperforming portions of the data center.
[0040] In at least one embodiment, the data center 700 may include tools, services, software, or other resources for training one or more machine learning models or for predicting or inferring information using one or more machine learning models according to one or more embodiments described herein. For example, in at least one embodiment, a machine learning model may be trained by computing weight parameters according to a neural network architecture using the software and computing resources described above with respect to the data center 700. In at least one embodiment, a trained machine learning model corresponding to one or more neural networks may be used to infer or predict information using the resources described above with respect to the data center 700 by using weight parameters computed by one or more techniques described herein.
[0041] In at least one embodiment, the data center may use a CPU, application-specific integrated circuit (ASIC), GPU, FPGA, or other hardware to perform training and / or inference using the resources described above. Furthermore, one or more of the software and / or hardware resources described above may be configured as a service to enable users to perform training or inference on information such as image recognition, speech recognition, or other artificial intelligence services.
[0042] These components can be used to store and retrieve information within an interactive environment.
[0043] Computer system Figure 8 is a block diagram showing an exemplary computer system, which may be a system having interconnected devices and components, a system-on-a-chip (SoC), or any combination thereof, formed with a processor which may include an execution unit for executing instructions, according to at least one embodiment. In at least one embodiment, the computer system 800 may include, without limitation, components such as a processor 802 for using an execution unit which includes logic for executing algorithms for processing data in accordance with the disclosure, such as in the embodiments described herein. In at least one embodiment, the computer system 800 may include a processor such as the PENTIUM® processor family, Xeon™, Itanium®, XScale™ and / or StrongARM™, Intel® Core®, or Intel® Nervana® microprocessors, available from Intel Corporation in Santa Clara, California, but other systems may be used (including PCs with other microprocessors, engineering workstations, set-top boxes, etc.). In at least one embodiment, the computer system 800 may run a version of the WINDOWS® operating system available from Microsoft Corporation in Redmond, Washington, but other operating systems (e.g., UNIX® and Linux®), embedded software, and / or graphical user interfaces may be used.
[0044] The embodiments may be used in other devices, such as portable devices and embedded applications. Some examples of portable devices include cellular phones, Internet Protocol devices, digital cameras, personal digital assistants ("PDAs"), and portable PCs. In at least one embodiment, the embedded application may include a microcontroller, a digital signal processor ("DSP"), a system-on-a-chip, a network computer ("NetPC"), an edge computing device, a set-top box, a network hub, a wide area network ("WAN") switch, or any other system capable of executing one or more instructions according to at least one embodiment.
[0045] In at least one embodiment, the computer system 800 may include, without limitation, a processor 802 which may include, without limitation, one or more execution units 808 for training and / or inference of machine learning models using the techniques described herein. In at least one embodiment, the computer system 800 is a single-processor desktop or server system, but in another embodiment, the computer system 800 may be a multi-processor system. In at least one embodiment, the processor 802 may include, without limitation, a complex instruction set computer ("CISC") microprocessor, a reduced instruction set computing ("RISC") microprocessor, a very long instruction word ("VLIW") microprocessor, a processor implementing a combination of instruction sets, or any other processor device, such as a digital signal processor. In at least one embodiment, the processor 802 may be coupled to a processor bus 810 which may transmit data signals between the processor 802 and other components in the computer system 800.
[0046] In at least one embodiment, the processor 802 may include, without limitation, a level 1 ("L1") internal cache memory ("cache") 804. In at least one embodiment, the processor 802 may have a single internal cache or multiple levels of internal caches. In at least one embodiment, the cache memory may be external to the processor 802. Other embodiments may include a combination of both internal and external caches, depending on the specific implementation and requirements. In at least one embodiment, the register file 806 may store different types of data in various registers, including, without limitation, integer registers, floating-point registers, state registers, and instruction pointer registers.
[0047] In at least one embodiment, the processor 802 also includes an execution unit 808 which includes, without limitation, logic for performing integer and floating-point arithmetic. In at least one embodiment, the processor 802 may also include a microcode ("u-code") read-only memory ("ROM") for storing microcode for certain macro instructions. In at least one embodiment, the execution unit 808 may include logic for handling a packed instruction set 809. In at least one embodiment, by including the packed instruction set 809, along with the associated circuitry for executing the instructions, in the instruction set of the general-purpose processor, arithmetic used by many multimedia applications can be performed using the packed data of the general-purpose processor 802. In one or more embodiments, many multimedia applications can be accelerated and run more efficiently by performing arithmetic on packed data using the full width of the processor's data bus, thereby eliminating the need to transfer smaller units of data across the processor's data bus to perform one or more arithmetic operations on a single data element at a time.
[0048] In at least one embodiment, the execution unit 808 may also be used in a microcontroller, embedded processor, graphics device, DSP, and other types of logic circuits. In at least one embodiment, the computer system 800 may include, without limitation, memory 820. In at least one embodiment, memory 820 may be implemented as a dynamic random access memory ("DRAM") device, a static random access memory ("SRAM") device, a flash memory device, or other memory device. In at least one embodiment, memory 820 may store instructions 819 and / or data 821, which may be represented by data signals executed by the processor 802.
[0049] In at least one embodiment, a system logic chip may be coupled to a processor bus 810 and memory 820. In at least one embodiment, the system logic chip may include, without limitation, a memory controller hub ("MCH") 816, and the processor 802 may communicate with the MCH 816 via the processor bus 810. In at least one embodiment, the MCH 816 may provide a high-bandwidth memory path 818 to memory 820 for storing instructions and data, and for storing graphics commands, data, and textures. In at least one embodiment, the MCH 816 may lead data signals between the processor 802, memory 820, and other components of the computer system 800, and may bridge data signals between the processor bus 810, memory 820, and system I / O interface 822. In at least one embodiment, the system logic chip may provide a graphics port for coupling to a graphics controller. In at least one embodiment, the MCH816 may be coupled to memory 820 via a high-bandwidth memory path 818, and the graphics / video card 812 may be coupled to the MCH816 via an Accelerated Graphics Port ("AGP") interconnect 814.
[0050] In at least one embodiment, the computer system 800 may use a system I / O 822, which is a proprietary hub interface bus, to connect the MCH 816 to the I / O controller hub ("ICH") 830. In at least one embodiment, the ICH 830 may provide direct connectivity to several I / O devices via a local I / O bus. In at least one embodiment, the local I / O bus may include, without limitation, a high-speed I / O bus for connecting peripherals to memory 820, a chipset, and a processor 802. Examples may include, without limitation, an audio controller 829, a firmware hub ("Flash BIOS") 828, a wireless transceiver 826, data storage 824, a legacy I / O controller 823 including a user input and keyboard interface 825, a serial expansion port 827 such as a Universal Serial Bus ("USB"), and a network controller 834. The data storage 824 may include a hard disk drive, a floppy disk drive, a CD-ROM device, a flash memory device, or other mass storage device.
[0051] In at least one embodiment, Figure 8 shows a system including interconnected hardware devices or “chips,” while in other embodiments, Figure 8 may show an exemplary system-on-a-chip (“SoC”). In at least one embodiment, devices may be interconnected by proprietary interconnects, standard interconnects (e.g., PCIe), or any combination thereof. In at least one embodiment, one or more components of the computer system 800 may be interconnected using a compute express link (CXL) interconnect.
[0052] These components can be used to store and retrieve information within an interactive environment.
[0053] Figure 9 is a block diagram showing an electronic device 900 for utilizing a processor 910, according to at least one embodiment. In at least one embodiment, the electronic device 900 may be, for example, a notebook, a tower server, a rack server, a blade server, a laptop, a desktop, a tablet, a mobile device, a telephone, an embedded computer, or any other suitable electronic device, without limitation.
[0054] In at least one embodiment, the system 900 may include, without limitation, a processor 910 communicatively coupled to any number or type of preferred components, peripherals, modules, or devices. In at least one embodiment, the processor 910 is coupled using a bus or interface such as an I°C bus, a System Management Bus ("SMBus"), a Low Pin Count (LPC) bus, a Serial Peripheral Interface ("SPI"), a High Definition Audio ("HDA") bus, a Serial Advance Technology Attachment ("SATA") bus, a Universal Serial Bus ("USB") (versions 1, 2, or 3), or a Universal Asynchronous Receiver / Transmitter ("UART") bus. In at least one embodiment, Figure 9 shows a system including interconnected hardware devices or “chips,” while in other embodiments, Figure 9 may show an exemplary system-on-a-chip (“SoC”). In at least one embodiment, the devices shown in Figure 9 may be interconnected by proprietary interconnects, standard interconnects (e.g., PCIe), or any combination thereof. In at least one embodiment, one or more components of Figure 9 may be interconnected using a Compute Express Link (CXL) interconnect.
[0055] In at least one embodiment, Figure 9 shows a display 924, a touch screen 925, a touch pad 930, a Near Field Communications unit ("NFC") 945, a sensor hub 940, a thermal sensor 946, an Express Chipset ("EC") 935, a Trusted Platform Module ("TPM") 938, a BIOS / firmware / flash memory ("BIOS, FW flash") 922, a DSP 960, a drive such as a Solid State Disk ("SSD") or Hard Disk Drive ("HDD") 920, a Wireless Local Area Network Unit ("WLAN") 950, a Bluetooth unit 952, a Wireless Wide Area Network Unit ("WWAN") 956, and a Global Positioning System (GPS). The system may include a System) unit 955, a camera such as a USB 3.0 camera ("USB 3.0 Camera") 954, and / or a Low Power Double Data Rate ("LPDDR") memory unit ("LPDDR3") 915, for example, implemented in accordance with the LPDDR3 standard. Each of these components may be implemented in any preferred manner.
[0056] In at least one embodiment, other components may be communicatively coupled to the processor 910 via the components described above. In at least one embodiment, the accelerometer 941, ambient light sensor ("ALS") 942, compass 943, and gyroscope 944 may be communicatively coupled to the sensor hub 940. In at least one embodiment, the thermal sensor 939, fan 937, keyboard 946, and touchpad 930 may be communicatively coupled to the EC 935. In at least one embodiment, the speaker 963, headphones 964, and microphone ("mic") 965 may be communicatively coupled to an audio unit (audio codec and class D amplifier) 962, which may be communicatively coupled to the DSP 960. In at least one embodiment, the audio unit 964 may include, for example, an audio coder / decoder ("codec") and a class D amplifier, without limitation. In at least one embodiment, the SIM card ("SIM") 957 may be communicatively coupled to the WWAN unit 956. In at least one embodiment, components such as the WLAN unit 950 and the Bluetooth unit 952, as well as the WWAN 956, may be implemented in a Next Generation Form Factor ("NGFF").
[0057] These components can be used to store and retrieve information within an interactive environment.
[0058] Figure 10 is a block diagram of a processing system according to at least one embodiment. In at least one embodiment, system 1000 includes one or more processors 1002 and one or more graphics processors 1008, and may be a single-processor desktop system, a multi-processor workstation system, or a server system or data center having a large number of processors 1002 or processor cores 1007 managed collectively or separately. In at least one embodiment, system 1000 is a processing platform embedded in a system-on-a-chip (SoC) integrated circuit for use in a mobile device, portable device, or embedded device.
[0059] In at least one embodiment, system 1000 may include, or be incorporated into, a server-based gaming platform, a cloud computing host platform, a virtualization computing platform, a game console including a game and media console, a portable game console, a handheld game console, or an online game console. In at least one embodiment, system 1000 is a mobile phone, a smartphone, a tablet computing device, or a mobile internet device. In at least one embodiment, processing system 1000 may also include, or be coupled to, or integrated into, wearable devices such as a smartwatch wearable device, a smart eyewear device, an augmented reality device, an edge device, an Internet of Things ("IoT") device, or a virtual reality device. In at least one embodiment, processing system 1000 is a television or set-top box device having one or more processors 1002 and a graphical interface generated by one or more graphics processors 1008.
[0060] In at least one embodiment, each of the one or more processors 1002 includes one or more processor cores 1007 for processing instructions that, when executed, perform actions for the system and user software. In at least one embodiment, each of the one or more processor cores 1007 is configured to process a particular instruction set 1009. In at least one embodiment, the instruction set 1009 may facilitate computing via composite instruction set computing (CISC), reduced instruction set computing (RISC), or very long instruction words (VLIW). In at least one embodiment, each of the processor cores 1007 may process a different instruction set 1009, which may include instructions that facilitate emulation of other instruction sets. In at least one embodiment, the processor cores 1007 may also include other processing devices, such as a digital signal processor (DSP).
[0061] In at least one embodiment, the processor 1002 includes a cache memory 1004. In at least one embodiment, the processor 1002 may have a single internal cache or multiple levels of internal caches. In at least one embodiment, the cache memory is shared among various components of the processor 1002. In at least one embodiment, the processor 1002 also uses an external cache (e.g., a Level 3 (L3) cache or a Last Level Cache (LLC)) (not shown), which may be shared among processor cores 1007 using known cache coherence techniques. In at least one embodiment, the processor 1002 further includes a register file 1006, which may contain different types of registers for storing different types of data (e.g., integer registers, floating-point registers, state registers, and instruction pointer registers). In at least one embodiment, the register file 1006 may contain general-purpose registers or other registers.
[0062] In at least one embodiment, one or more processors 1002 are coupled to one or more interface buses 1010 to transmit communication signals, such as addresses, data, or control signals, between the processors 1002 and other components in the system 1000. In at least one embodiment, the interface bus 1010 may be a processor bus, such as a version of a Direct Media Interface (DMI) bus. In at least one embodiment, the interface 1010 is not limited to a DMI bus and may include one or more peripheral component interconnect buses (e.g., PCI, PCI Express), a memory bus, or other types of interface buses. In at least one embodiment, the processor 1002 includes an integrated memory controller 1016 and a platform controller hub 1030. In at least one embodiment, the memory controller 1016 facilitates communication between memory devices and other components of the system 1000, while the platform controller hub (PCH) 1030 provides connectivity to I / O devices via a local I / O bus.
[0063] In at least one embodiment, the memory device 1020 may be a dynamic random-access memory (DRAM) device, a static random-access memory (SRAM) device, a flash memory device, a phase-change memory device, or any other memory device having performance suitable for acting as process memory. In at least one embodiment, the memory device 1020 may operate as system memory for system 1000 and store data 1022 and instructions 1021 for use by one or more processors 1002 when executing applications or processes. In at least one embodiment, the memory controller 1016 may also be coupled to an optional external graphics processor 1012, which may communicate with one or more graphics processors 1008 within processor 1002 to perform graphics and media operations. In at least one embodiment, a display device 1011 may be connected to processor 1002. In at least one embodiment, the display device 1011 may include one or more internal display devices, such as a mobile electronic device or laptop device, or external display devices that are attached via a display interface (e.g., a DisplayPort). In at least one embodiment, the display device 1011 may include a head-mounted display (HMD), such as a stereoscopic display device for use in a virtual reality (VR) application or an augmented reality (AR) application.
[0064] In at least one embodiment, the platform controller hub 1030 allows peripheral devices to connect to the memory device 1020 and the processor 1002 via a high-speed I / O bus. In at least one embodiment, the I / O peripheral devices include, but are not limited to, an audio controller 1046, a network controller 1034, a firmware interface 1028, a wireless transceiver 1026, a touch sensor 1025, and a data storage device 1024 (e.g., a hard disk drive, flash memory, etc.). In at least one embodiment, the data storage device 1024 may be connected via a storage interface (e.g., SATA) or via a peripheral bus such as a peripheral component interconnect bus (e.g., PCI, PCI Express). In at least one embodiment, the touch sensor 1025 may include a touch screen sensor, a pressure sensor, or a fingerprint sensor. In at least one embodiment, the wireless transceiver 1026 may be a WiFi transceiver, a Bluetooth transceiver, or a mobile network transceiver such as a 3G, 4G, or Long Term Evolution (LTE) transceiver. In at least one embodiment, the firmware interface 1028 may enable communication with system firmware, which may be, for example, a Unified Extensible Firmware Interface (UEFI). In at least one embodiment, the network controller 1034 may enable network connectivity to a wired network. In at least one embodiment, a high-performance network controller (not shown) may couple with the interface bus 1010. In at least one embodiment, the audio controller 1046 is a multi-channel high-definition audio controller. In at least one embodiment, the system 1000 may include an optional legacy I / O controller 1040 for coupling legacy (e.g., Personal System 2 (PS / 2)) devices to the system.In at least one embodiment, the platform controller hub 1030 can also connect to one or more connected input devices of the Universal Serial Bus (USB) controller 1042, such as a keyboard and mouse combination 1043, a camera 1044, or other USB input devices.
[0065] In at least one embodiment, instances of the memory controller 1016 and the platform controller hub 1030 may be integrated with a separate external graphics processor, such as an external graphics processor 1012. In at least one embodiment, the platform controller hub 1030 and / or the memory controller 1016 may be external to one or more processors 1002. For example, in at least one embodiment, the system 1000 may include an external memory controller 1016 and a platform controller hub 1030, which may be configured as a memory controller hub and peripheral controller hub within a system chipset that communicate with the processor 1002.
[0066] These components can be used to store and retrieve information within an interactive environment.
[0067] Figure 11 is a block diagram of a processor 1100 having one or more processor cores 1102A-1102N, an integrated memory controller 1114, and an integrated graphics processor 1108, according to at least one embodiment. In at least one embodiment, the processor 1100 may include no more than a number of additional cores, including additional cores 1102N represented by dashed rectangles. In at least one embodiment, each of the processor cores 1102A-1102N includes one or more internal cache units 1104A-1104N. In at least one embodiment, each processor core also has access to one or more shared cache units 1106.
[0068] In at least one embodiment, the internal cache units 1104A-1104N and the shared cache unit 1106 represent a cache memory hierarchy within the processor 1100. In at least one embodiment, the cache memory units 1104A-1104N may include at least one level of instruction and data cache within each processor core, as well as one or more levels of shared intermediate level caches such as Level 2 (L2), Level 3 (L3), Level 4 (L4), or other levels of cache, where the highest level cache prior to external memory is classified as LLC. In at least one embodiment, cache coherence logic maintains coherence among the various cache units 1106 and 1104A-1104N.
[0069] In at least one embodiment, the processor 1100 may also include one or more bus controller units 1116 and a system agent core 1110. In at least one embodiment, one or more bus controller units 1116 manage a set of peripheral buses, such as one or more PCI or PCI Express buses. In at least one embodiment, the system agent core 1110 provides management functions for various processor components. In at least one embodiment, the system agent core 1110 includes one or more integrated memory controllers 1114 for managing access to various external memory devices (not shown).
[0070] In at least one embodiment, one or more of the processor cores 1102A to 1102N include support for simultaneous multithreading. In at least one embodiment, the system agent core 1110 includes components for coordinating and operating the cores 1102A to 1102N during multithreaded processing. In at least one embodiment, the system agent core 1110 may further include a power control unit (PCU) which includes logic and components for coordinating the power states of one or more of the processor cores 1102A to 1102N and the graphics processor 1108.
[0071] In at least one embodiment, the processor 1100 further includes a graphics processor 1108 for performing graphics processing operations. In at least one embodiment, the graphics processor 1108 is coupled to a system agent core 1110 which includes a shared cache unit 1106 and one or more integrated memory controllers 1114. In at least one embodiment, the system agent core 1110 also includes a display controller 1111 for directing the graphics processor's output to one or more coupled displays. In at least one embodiment, the display controller 1111 may also be a separate module coupled to the graphics processor 1108 via at least one interconnection, or it may be integrated within the graphics processor 1108.
[0072] In at least one embodiment, a ring-based interconnect unit 1112 is used to connect the internal components of the processor 1100. In at least one embodiment, alternative interconnect units such as point-to-point interconnects, switch interconnects, or other techniques may be used. In at least one embodiment, the graphics processor 1108 is connected to the ring interconnect 1112 via an I / O link 1113.
[0073] In at least one embodiment, the I / O link 1113 represents at least one of a variety of I / O interconnects, including on-package I / O interconnects that facilitate communication between various processor components and a high-performance embedded memory module 1118, such as an eDRAM module. In at least one embodiment, each of the processor cores 1102A to 1102N and the graphics processor 1108 use the embedded memory module 1118 as a shared last-level cache.
[0074] In at least one embodiment, the processor cores 1102A to 1102N are homogeneous cores that execute a common instruction set architecture. In at least one embodiment, the processor cores 1102A to 1102N are heterogeneous in terms of instruction set architecture (ISA), where one or more of the processor cores 1102A to 1102N execute a common instruction set, while the other cores of one or more of the processor cores 1102A to 1102N execute a subset of the common instruction set or a different instruction set. In at least one embodiment, the processor cores 1102A to 1102N are heterogeneous in terms of microarchitecture, where one or more cores with relatively high power consumption are coupled with one or more cores with lower power consumption. In at least one embodiment, the processor 1100 can be implemented on one or more chips or as a SoC integrated circuit.
[0075] These components can be used to store and retrieve information within an interactive environment.
[0076] Other variations are within the scope of this disclosure. Thus, while the disclosed techniques can be modified and configured in various ways, certain exemplary embodiments are shown in the drawings and described in detail above. However, there is no intention to limit this disclosure to any particular one or more disclosed forms; on the contrary, it is intended to cover all modifications, alternative configurations, and equivalents that fall within the spirit and scope of the disclosure as defined in the claims.
[0077] In the context describing the disclosed embodiments (particularly in the context of the following claims), the terms “a,” “an,” and “the,” and similar demonstrative pronouns, should be interpreted as encompassing both singular and plural, and not as definitions of terms, unless otherwise stated herein or clearly refuted by the context. The terms “comprising,” “having,” “including,” and “containing” should be interpreted as open-ended terms (meaning “including, but not limited to”), unless otherwise stated herein. The term “connected,” when unqualified and referring to a physical connection, should be interpreted as being partially or completely housed, fitted, or joined to one another, even if there is something intervening. The detailing of ranges of values herein is merely intended to serve as a concise way of individually referring to each separate value that falls within a range, unless otherwise stated herein and unless each separate value is incorporated into the specification as if it were individually detailed herein. The terms “set” (for example, “set of items”) or “subset” should be interpreted as a non-empty set comprising one or more members, unless otherwise stated or denied by the context. Furthermore, unless otherwise stated or denied by the context, the term “subset” of a corresponding set does not necessarily refer to a strict subset of the corresponding set, and the subset and the corresponding set may be equivalent.
[0078] Combinations such as “at least one of A, B, and C” or “at least one of A, B, and C” are generally understood in contexts where they indicate that an item, term, etc., is either A, B, or C, or a non-empty subset of any of the sets A, B, and C, unless otherwise specifically stated or explicitly denied by the context. For example, in a descriptive example of a set having three members, the combinations “at least one of A, B, and C” and “at least one of A, B, and C” refer to any of the following sets: {A}, {B}, {C}, {A, B}, {A, C}, {B, C}, {A, B, C}. Thus, such combinations do not collectively imply that a particular embodiment requires the presence of at least one A, at least one B, and at least one C. Furthermore, unless otherwise stated or negated by the context, the term “plural” indicates a state of being multiple (for example, “a plurality of items” indicates multiple items). Plural means at least two items, but may be more if explicitly stated or indicated by the context. Furthermore, unless otherwise stated or made clear from the context, the phrase “based on” means “at least partially based on” and does not mean “based solely on.”
[0079] The operation of the processes described herein may be performed in any preferred order unless otherwise stated herein or expressly rejected by the context. In at least one embodiment, a process such as the process described herein (or its variations and / or combinations thereof) is executed under the control of one or more computer systems consisting of executable instructions and is implemented as code (e.g., executable instructions, one or more computer programs, or one or more applications) that is executed collectively on one or more processors, by hardware, or by a combination thereof. In at least one embodiment, the code is stored on a computer-readable storage medium in the form of a computer program comprising, for example, multiple instructions executable by one or more processors. In at least one embodiment, the computer-readable storage medium is a non-temporary computer-readable storage medium that excludes temporary signals (e.g., transient electrical or electromagnetic transmissions that propagate) but includes non-temporary data storage circuits (e.g., buffers, caches, and queues) within a transceiver for temporary signals. In at least one embodiment, code (e.g., executable code or source code) is stored in a set of one or more non-temporary computer-readable storage media which, when executed by one or more processors of the computer system (i.e., as a result of execution), causes the computer system to perform the operations described herein (or has other memory for storing executable instructions). In at least one embodiment, the set of non-temporary computer-readable storage media comprises a plurality of non-temporary computer-readable storage media which one or more of the individual non-temporary storage media of the plurality of non-temporary computer-readable storage media do not contain all of the code, but the plurality of non-temporary computer-readable storage media collectively contain all of the code.In at least one embodiment, executable instructions are executed such that different instructions are executed by different processors, for example, a non-temporary computer-readable storage medium stores the instructions, the main central processing unit ("CPU") executes some instructions, and the graphics processing unit ("GPU") and / or data processing unit ("DPU") execute other instructions. In at least one embodiment, different components of a computer system have separate processors, and different processors execute different subsets of instructions.
[0080] Accordingly, in at least one embodiment, a computer system is configured to implement one or more services that perform the operations of the processes described herein individually or collectively, and such a computer system consists of applicable hardware and / or software that enables the performance of the operations. Furthermore, a computer system implementing at least one embodiment of the present disclosure is a single device, and in another embodiment, a distributed computer system comprising multiple devices operating in different ways, thereby enabling the distributed computer system to perform the operations described herein in such a way that a single device does not perform all of the operations.
[0081] Any examples or illustrative language provided herein (e.g., "etc.") is intended solely to further illustrate the embodiments of this disclosure and, unless otherwise asserted, does not limit the scope of this disclosure. Nothing in this specification should be construed as indicating any unclaimed element as essential to the practice of this disclosure.
[0082] All references cited herein, including publications, patent applications, and patents, are incorporated herein by reference to the same extent as if each reference were included herein in whole, as if it were clearly indicated individually that it is incorporated by reference.
[0083] In the specification and claims, the terms “joined” and “connected” may be used together with their derivatives. It should be understood that these terms may not be intended to be synonymous with each other. Rather, in certain examples, “connected” or “joined” may be used to indicate that two or more elements are in direct or indirect physical or electrical contact with each other. Also, “joined” may mean that two or more elements are not in direct contact with each other but are interlocked or interacting with each other.
[0084] Unless otherwise specifically stated, throughout this specification, terms such as “process,” “compute,” “calculate,” or “determine” refer to the actions and / or processes of a computer or computing system, or similar electronic computing device, that manipulate and / or convert data represented as electronic or other physical quantities in the registers and / or memory of a computing system into other data similarly represented as physical quantities in the memory, registers, or other such information storage devices, transmitting devices, or display devices of a computing system.
[0085] Similarly, the term “processor” may refer to any device or part of a device that processes electronic data from registers and / or memory and converts that electronic data into other electronic data that can be stored in registers and / or memory. In non-limiting terms, “processor” may be any general-purpose processor such as a CPU, GPU, or DPU. In non-limiting terms, “processor” may be any microcontroller, or a dedicated processing unit such as a DSP, image signal processor ("ISP"), arithmetic logic unit ("ALU"), vision processing unit ("VPU"), tree traversal unit ("TTU"), ray tracing core, tensor tracing core, tensor processing unit ("TPU"), or embedded control unit ("ECU"). As an unrestricted example, “processor” may also include hardware accelerators such as PVA (programmable vision accelerator) and DLA (deep learning accelerator). As an unrestricted example, “processor” may also include one or more virtual instances of CPUs, GPUs, etc., hosted on an underlying hardware component that runs one or more virtual machines. A “computing platform” may comprise one or more processors. As used herein, “software” processes may include software and / or hardware entities that perform work over time, such as tasks, threads, and intelligent agents. Each process may also refer to multiple processes for executing instructions sequentially or in parallel, continuously or intermittently.The terms “system” and “method” are used interchangeably herein only when a system can embody one or more methods, and a method may be considered a system.
[0086] This specification may refer to obtaining, acquiring, receiving, or inputting analog or digital data into a subsystem, computer system, or computer-implemented machine. Obtaining, acquiring, receiving, or inputting analog or digital data can be achieved in various ways, such as receiving data as a parameter to a function call or an application programming interface call. In some implementations, the process of obtaining, acquiring, receiving, or inputting analog or digital data can be achieved by transferring data via a serial or parallel interface. In other implementations, the process of obtaining, acquiring, receiving, or inputting analog or digital data can be achieved by transferring data from a providing entity to a receiving entity via a computer network. It may also refer to providing, outputting, transmitting, sending, or presenting analog or digital data. In various examples, the process of providing, outputting, transmitting, sending, or presenting analog or digital data can be achieved by transferring data as an input or output parameter to a function call, an application programming interface, or a parameter to an inter-process communication mechanism.
[0087] The above discussion describes exemplary implementations of the techniques described, but other architectures may be used to implement the described functions, and these other architectures are intended to be within the scope of this disclosure. Furthermore, while specific role allocations are defined for the purposes of discussion, various functions and roles may be allocated and divided in different ways depending on the context.
[0088] Furthermore, while the subject matter has been described in language specific to its structural features and / or methodological behavior, it should be understood that the subject matter claimed in the attached claims is not necessarily limited to the specific features or behaviors described. Rather, the specific features and behaviors are disclosed as exemplary forms that implement the claims.
Claims
1. Receive input to the dialogue environment, Classify whether the input is a question or a declarative statement. If the input is a declarative statement, the input is stored in unstructured memory as a natural language statement. If the input is a question, Extract a text sequence from the aforementioned input, Based at least partially on a portion of the extracted text sequence, the response to the input is determined. Provides the response to the input. A processor comprising one or more processing units.
2. The processor according to claim 1, wherein the response is identified in the unstructured memory.
3. The aforementioned one or more processing units further The response is received using a trained generative neural network model. Based at least partially on the aforementioned response and the extracted text sequence, the trained generative neural network model is used to generate a response. The processor according to claim 1.
4. The aforementioned one or more processing units further Upon receiving a second input to the aforementioned dialogue environment, If the second input is a question, Determine whether the second input is related to a declarative statement stored in the unstructured memory. If the second input relates to a declarative statement stored in the unstructured memory, then one or more tasks are performed based at least partially on the declarative statement stored in the unstructured memory. The processor according to claim 1.
5. The processor according to claim 1, wherein the one or more processing units further perform a task in response to the input, at least in part, based on the response, when the input is a question.
6. The aforementioned one or more processing units further Determine the call related to the above response, Based at least partially on the aforementioned call, one or more actions are performed. The processor according to claim 1.
7. The processor according to claim 1, wherein one or more processing units further execute an extractive question answer model, and the one or more processing units determine the response to the input using the extractive question answer model when the input is a question.
8. The processor according to claim 1, wherein the input is at least one of auditory input, text input, or selection of content elements.
9. A method performed by one or more processing units provided in a processor, The steps include storing multiple facts as unstructured plain text within a dataset, A step of receiving user input to the dialogue environment, The user input is classified as either a question or a declarative statement. If the user input is a declarative statement, the user input is stored in the dataset in natural language format. If the user input is a question, The steps include extracting a text sequence from the user input, The steps include determining one or more selected facts related to the text sequence within the dataset, A step of generating a response based at least partially on one or more of the selected facts: Methods that include...
10. The method according to claim 9, wherein the one or more selected facts are determined using a trained extractive question answering model.
11. The method according to claim 9, wherein the response is a natural language response that is at least partially based on the output of a generative neural network model.
12. The steps include receiving a second user input, If the second user input is a question, The steps include: obtaining one or more parts of a declarative statement stored in the dataset; A step of performing one or more tasks based at least partially on one or more of the aforementioned parts: The method according to claim 9, further comprising:
13. A step of determining one or more calls related to the text sequence, wherein the one or more calls correspond to an action; A step of causing the action to be performed based at least in part on the response: The method according to claim 9, further comprising:
14. A method performed by a computer, Steps include receiving input from the user, A step to classify whether the input is a question or a declarative statement, If the input is a declarative statement, the steps include storing the input as natural language in an unstructured dataset, The steps include receiving a second input from the user, When the second input is a user query for executing a task, The steps include extracting a text sequence related to the task from the user query, The steps include obtaining at least a portion of the declarative statement based at least partially on a portion of the extracted text sequence, A step of performing the task based at least partially on at least a part of the declarative statement and Methods that include...
15. The steps include determining one or more actions related to the aforementioned declarative statement, The steps include assigning one or more calling functions to the declarative statement in order to perform one or more of the aforementioned actions, The method according to claim 14, further comprising:
16. The method according to claim 14, wherein an extractive question answering model determines at least a portion of the declarative statement.
17. The steps include inputting at least a portion of the declarative statement into a trained generative neural network model, The steps include: generating a calling function related to at least a portion of the declarative statement using the trained generative neural network model; The method according to claim 14, further comprising: