Method and apparatus for providing a conversational agent using a call sequence
By generating a call sequence for conversational AI systems using pre-trained language models and optimizing through global optimization, the method addresses inefficiencies in existing systems, reducing costs and improving response accuracy and interaction experience.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2025-08-19
- Publication Date
- 2026-03-05
AI Technical Summary
Existing conversational AI systems require multiple language model input/output processes to generate responses, leading to inefficiencies in execution time and cost, and rely on local optimization rather than global optimization, resulting in a low likelihood of meeting user objectives.
A method and apparatus that generate a call sequence based on passenger input using a pre-trained first language model, acquire interest information by executing the call sequence, and generate output text using a pre-trained second language model, optimizing the call sequence through global optimization and reducing the number of input/output processes.
This approach reduces the cost and execution time of generating responses by optimizing the call sequence for global optimization, improving interaction experience and response accuracy.
Smart Images

Figure 2026036680000001_ABST
Abstract
Description
[Technical Field]
[0001] The present disclosure relates to a method and apparatus for providing a conversational agent using a calling sequence. [Background technology]
[0002] In recent years, the automotive industry has been developing rapidly, and vehicles have evolved beyond simple means of transportation into platforms incorporating various digital functions. In particular, in-vehicle infotainment systems have evolved from simple radios and cassette players to systems offering a wide range of functions, including multimedia, navigation, internet-based services, and smartphone connectivity. These systems have become essential elements for improving driver convenience and safety.
[0003] Furthermore, advances in natural language processing (NLP) technology have enabled services that provide natural conversations between human users and AI agents. These conversational AI services, such as chatbots and voice-activated secretaries, are being integrated into various technology fields, including the automotive industry.
[0004] In particular, task-oriented dialogue systems, which use AI agents to satisfy specific user requirements, are becoming increasingly important. AI agents process user input using a large language model (LLM) and generate responses tailored to the user's goals. However, when the internal knowledge of the language model alone cannot satisfy the user's goals, information must be collected from outside the language model, for example, via API calls.
[0005] In the prior art, information is collected by performing multiple language model input / output processes to process complex user inputs and generating and executing the calls required for each input / output process. However, the prior art requires multiple language model input / output processes to generate calls, which results in inefficiencies in execution time and cost. Furthermore, the prior art relies on local optimization rather than global optimization because the calls required for response generation are not generated all at once but sequentially, resulting in a relatively low likelihood that the response will meet the user's objectives.
[0006] The above-mentioned background art is technical information that the inventor possessed for the purpose of deriving the present invention or that he acquired in the process of deriving the present invention, and is not necessarily publicly known art that was made public to the general public prior to the filing of the present invention. Summary of the Invention [Problem to be solved by the invention]
[0007] The present disclosure provides a method and apparatus for providing a conversational agent using a calling sequence. The problems to be solved by the present disclosure are not limited to the problems described above, and other problems and advantages of the present disclosure not mentioned above can be understood from the following description and will be more clearly understood in the embodiments of the present disclosure. Furthermore, it will be understood that the problems and advantages to be solved by the present disclosure can be achieved by the means and combinations thereof set forth in the claims. [Means for solving the problem]
[0008] As a technical means for achieving the aforementioned technical problem, a first aspect of the present disclosure can provide a method for providing a conversational agent, the method including the steps of: generating a call sequence based on an input text of a passenger using a pre-trained first language model; acquiring interest information by executing the call sequence; and generating output text corresponding to the input text based on the interest information using a pre-trained second language model, wherein the call sequence includes a plurality of calls.
[0009] A second aspect of the present disclosure can provide an apparatus that provides a conversational agent using a call sequence including a communication module that performs communication, a memory that stores at least one program, and a processor that operates by executing the at least one program, wherein the processor controls the communication module to generate a call sequence based on an input text of a passenger using a pre-trained first language model, acquire interest information by executing the call sequence, and generate output text corresponding to the input text based on the interest information using a pre-trained second language model, and the call sequence includes a plurality of calls.
[0010] A third aspect of the present disclosure can provide a computer-readable recording medium having a program recorded thereon for causing a computer to execute the method of the first aspect of the present disclosure.
[0011] Other aspects, features, and advantages, in addition to those described above, will become apparent from the following drawings, claims, and detailed description of the invention. [Effects of the Invention]
[0012] According to the above-mentioned means for solving the problems disclosed herein, the generation of the call sequence used to generate a response of a conversational agent can be realized by a single input / output process for a language model, thereby reducing the cost of using a language model and shortening the execution time of the conversational agent required to respond.
[0013] Furthermore, according to the problem-solving means of the present disclosure, by realizing the generation of a call sequence through a single input / output process for a language model, the types of calls that make up the call sequence and the structure of the call sequence can be optimized according to global optimization.
[0014] Furthermore, according to the means for solving the problems of the present disclosure, by visualizing the call sequence used to generate a response from a conversational agent, the response generation process of the conversational agent can be intuitively conveyed to the user.
[0015] Furthermore, according to the solution to the problem of the present disclosure, by updating the call sequence used to generate a response of a conversational agent based on user input, the user can manipulate the call sequence to obtain a desired response, thereby improving the interaction experience with the conversational agent.
[0016] The effects of the embodiments of the present disclosure are not limited to the effects mentioned above, and other effects not mentioned will be clearly understood by those skilled in the art from the description in this specification. [Brief explanation of the drawings]
[0017] [Figure 1] FIG. 1 is a schematic diagram of a system including a generating device. [Figure 2] FIG. 2 is an example of how a generator operates to provide a conversational agent using a calling sequence. [Figure 3] FIG. 3 is an exemplary diagram illustrating a generating device including a first generating unit, an executing unit, and a second generating unit. [Figure 4] FIG. 4 is an exemplary diagram for explaining in general terms the process of generating a calling sequence based on an input text. [Figure 5] FIG. 5 is an exemplary diagram illustrating a process of generating a first input prompt as an input to a first language model based on an input text. [Figure 6] FIG. 6 is an exemplary diagram illustrating a process of generating a calling sequence based on the output of the first language model. [Figure 7] FIG. 7 is an exemplary diagram for explaining the process of structuring the output of the first language model. [Figure 8] FIG. 8 is an exemplary diagram for explaining various data used to generate a calling sequence. [Figure 9] FIG. 9 is an exemplary diagram illustrating a process of generating an output text using a second language model. [Figure 10] FIG. 10 is an example of how the generator operates to visualize the invocation sequence of a conversational agent. [Figure 11] FIG. 11 is an exemplary diagram for explaining unit executions included in a calling sequence. [Figure 12] FIG. 12 is an exemplary diagram for explaining visual elements corresponding to a unit run. [Figure 13] FIG. 13 is an exemplary diagram illustrating an interface that displays the hierarchical structure of a call sequence. [Figure 14] FIG. 14 is an exemplary diagram illustrating the process by which an interface displaying a call sequence interacts with a user. [Figure 15] FIG. 15 is a block diagram of an apparatus according to one embodiment. DETAILED DESCRIPTION OF THE INVENTION
[0018] The advantages and features of the present disclosure, as well as methods for achieving them, will become apparent from the detailed description of the embodiments accompanied by the accompanying drawings. However, the present disclosure is not limited to the embodiments presented below, and may be realized in different forms, and should be understood to include all modifications, equivalents, and alternatives within the spirit and technical scope of the present disclosure. The embodiments presented below are provided to complete the disclosure and fully convey the scope of the invention to those skilled in the art to which the disclosure pertains. In describing the present disclosure, if it is determined that a detailed description of related publicly known technology may hinder the gist of the present invention, such a detailed description will be omitted.
[0019] The terms used in this specification are merely used to describe particular embodiments and are not intended to limit the present disclosure. Unless otherwise defined, all terms used in this specification have the same meaning as commonly understood by a person of ordinary skill in the art to which this disclosure belongs.
[0020] As used herein, the singular includes the plural unless the context clearly dictates otherwise. Furthermore, terms such as "comprise" or "have" specify the presence of features, numbers, steps, operations, components, parts, or combinations thereof described herein, and should be understood as not precluding the possible presence or addition of one or more other features, numbers, steps, operations, components, parts, or combinations thereof.
[0021] Furthermore, terms including ordinal numbers such as "first" or "second" used herein may be used to describe various components, but the components should not be limited by the terms. The terms are used only to distinguish one component from another.
[0022] In this specification, phrases such as "in one embodiment," "according to one embodiment," "pertaining to one embodiment," or "by implementing one embodiment" do not necessarily all refer to the same embodiment. Furthermore, throughout the specification, "embodiment" is an arbitrary category for easily describing the present disclosure, and the embodiments are not necessarily mutually exclusive. For example, a configuration mentioned for the purpose of describing one embodiment may be applied to and / or implemented in other embodiments, and may be modified, applied to, and / or implemented without departing from the scope of the present disclosure.
[0023] Some embodiments of the present disclosure may be represented by functional blocks and various processing steps. Some or all of these functional blocks may be implemented by various hardware and / or software components that perform specific functions. For example, the functional blocks of the present disclosure may be implemented by one or more microprocessors, or by circuitry for a given function.
[0024] For example, the functional blocks of the present disclosure may be implemented in various programming or scripting languages. The functional blocks may be implemented as algorithms executed on one or more processors. Furthermore, the present disclosure may employ conventional techniques for electronic configuration, signal processing, and / or data processing. Terms such as "mechanism," "element," "means," and "component" may be used broadly and are not limited to mechanical and physical configurations. Furthermore, terms such as "unit," "module," and the like refer to a unit that processes at least one function or operation, which may be implemented in hardware or software, or a combination of hardware and software.
[0025] Furthermore, the connecting lines or members between components shown in the figures are merely exemplary functional and / or physical or circuit connections, and in an actual device the connections between components may be represented by various alternative or additional functional, physical, or circuit connections.
[0026] In addition, the size and proportion of some components in the drawings may be slightly exaggerated. Furthermore, components shown in one drawing may not be shown in another drawing.
[0027] In the following, "vehicle" can mean any kind of transport means having engine such as a car, bus, motorcycle, scooter, or truck, used to move people or goods.
[0028] The present disclosure will now be described in detail with reference to the accompanying drawings.
[0029] FIG. 1 is a schematic diagram of a system including a generating device.
[0030] 1, system 10 may include a generating device 100. In this disclosure, generating device 100 refers to an electronic device used to provide a conversational agent to a user. In one embodiment, generating device 100 may include a device that provides a conversational agent utilizing an invocation sequence and may include a device that visualizes the invocation sequence of the conversational agent. In this case, the conversational agent may include a conversational artificial intelligence agent used in a conversational artificial intelligence service.
[0031] In this disclosure, a conversational AI agent is an interaction interface that uses an AI model to provide a conversational AI service to a user. In this case, a conversational AI service refers to an AI-based service that allows a machine and a user to communicate in natural language. A conversational AI service can be realized as a chatbot, a virtual assistant, a customer support system, or the like that answers a user's questions or processes a user's commands.
[0032] In one embodiment, providing a conversational agent may include providing a conversational agent response to a user's input by providing an interaction interface of the conversational artificial intelligence service to the user.
[0033] In one embodiment, the system 10 may include a vehicle system, and the generator 100 may be implemented as a component of the vehicle system. The vehicle system may be implemented as at least one electronic device used to provide various functions and / or information, such as conversational artificial intelligence services, to a user in the vehicle.
[0034] In one embodiment, the generator 100 can acquire input (e.g., voice utterances or text input) from a user in a vehicle and generate a conversational agent response based on the acquired input. The generator 100 can provide the conversational artificial intelligence agent response to the user by displaying an in-vehicle interface including the response via a display device (not shown) that constitutes a vehicle system. In this case, the in-vehicle interface can include a graphical user interface (GUI).
[0035] Meanwhile, the specific process by which the generating device 100 generates conversation information will be described later with reference to FIGS. 2 to 9 and the like.
[0036] The display device according to one embodiment refers to a device that displays an interaction between the user and the conversational agent to the user. In one embodiment, the display device may include a device that visually displays a response of the conversational agent generated by the generation device 100. The display device according to one embodiment is provided in a position visible to the user, such as near the driver's seat of a vehicle, and can visually display the interaction between the user and the conversational agent.
[0037] For example, the display device may include, but is not limited to, a center information display, a cluster display, and / or a head-up display mounted in the vehicle.
[0038] Meanwhile, the generating device 100 according to one embodiment can be realized as a device installed in a vehicle to provide a conversational agent, a server device that manages conversational artificial intelligence services outside the vehicle, a device that can be carried by a user, or a combination thereof.
[0039] For example, the generating device 100 may be realized as, but is not limited to, a computing device installed in a vehicle, a server device that provides or manages in-vehicle software, a user's smartphone, a tablet PC, a GPS (global positioning system) device, or other mobile or non-mobile computing device.
[0040] In one embodiment, the generator 100 can obtain a user input and generate a response based on the user input. For example, the generator 100 can use an artificial intelligence model to generate a response based on the user input and corresponding to the user input. The generator 100 can utilize information accessible within the vehicle system and / or external information in the process of generating the response.
[0041] In one embodiment, system 10 may further include an external device 200. In this disclosure, external device 200 refers to a device that provides external information when generating device 100 is unable to generate a response to a user input using only the information accessible within the vehicle system.
[0042] In one embodiment, the external information may include, but is not limited to, various search results, information about real-time traffic conditions, information about specific locations, and / or weather information.
[0043] In one embodiment, the generating device 100 can transmit and receive information by communicating with the external device 200 using a network. Furthermore, components of a vehicle system including the generating device 100 can transmit and receive information by communicating with each other using a network.
[0044] In this context, the term "network" refers to a comprehensive data communication network that enables different entities to communicate smoothly with each other, and can include wired Internet, wireless Internet, and mobile wireless communication networks. For example, the term "network" can include a local area network (LAN), a wide area network (WAN), a value-added network (VAN), a mobile radio communication network, a satellite communication network, and any combination thereof.
[0045] Wired communication may include Ethernet, a fiber optic network, etc. Wireless communication may include, but is not limited to, wireless LAN (wi-fi), Bluetooth, Bluetooth low energy, ZigBee, wi-fi Direct (WFD), ultra wideband (UWB), infrared data association (IrDA), near field communication (NFC), etc.
[0046] For example, the generating device 100 can exchange information with the external device 200 using wireless communication, and information can be exchanged between the generating device 100 and components of the vehicle system, such as the display device, using wired communication, but this is not limited to this.
[0047] In one embodiment, the generating device 100 can communicate the conversational agent's response and / or an in-vehicle interface including the response to a display device by communicating using a network, and the display device can display data obtained from the generating device 100.
[0048] In addition, in one embodiment, the generation device 100 can acquire various external information from the external device 200 to fulfill the user's purpose predicted from the user input by communicating using a network.
[0049] FIG. 2 is an example of how a generator operates to provide a conversational agent using a calling sequence.
[0050] 2, in step 210, the generating device 100 may generate a call sequence based on the passenger's input text using a pre-trained first language model, where the call sequence may include multiple calls.
[0051] In one embodiment, the calling sequence may include multiple calls with a nested structure.
[0052] In one embodiment, the generator 100 can generate a call sequence based on the input text and the passenger's conversation history.
[0053] In one embodiment, the generator 100 can preprocess the input text based on at least one of entity search, conversation example search, and prompt template application.
[0054] For example, the generating device 100 can use a pre-generated entity database to generate a first search result including entities corresponding to at least one character string constituting the input text, and can also use a pre-generated conversation example database to generate a second search result including at least one conversation example having a similarity to the input text equal to or greater than a threshold.
[0055] Then, the generating device 100 can determine at least one call used in at least one conversation example included in the second search result as a target call. The generating device 100 can also generate a first input prompt for the first language model by applying a first prompt template generated in advance to the input text, the first search result, and the target call.
[0056] In one embodiment, the generator 100 may post-process the output of the first language model based on at least one of parsing and slot normalization.
[0057] For example, the generating device 100 can generate a structured output representing the structure of the string by parsing the output of the first language model, which is a string representation. Then, the generating device 100 can generate a calling sequence by converting at least one string included in the structured output into a normalized representation using a pre-generated slot normalization database.
[0058] In step 220, the generator 100 may obtain the interest information by executing a call sequence.
[0059] In one embodiment, the generating device 100 may obtain interest information by performing at least some of the calls sequentially according to a preset order or by performing at least some of the calls in parallel.
[0060] For example, the generating device 100 can obtain the interest information by sequentially executing multiple calls based on a depth-first search.
[0061] In step 230, the generating device 100 can generate output text corresponding to the input text based on the interest information using a pre-trained second language model.
[0062] In one embodiment, the calling sequence may include all calls to generate the output text.
[0063] In one embodiment, the generator 100 can generate output text based on the input text and interest information.
[0064] In one embodiment, the generator 100 can update the conversation history by adding the input text to the conversation history, and then generate output text based on the updated conversation history and interest information.
[0065] In one embodiment, the generator 100 can generate a second input prompt for the second language model by applying a pre-generated second prompt template to the updated conversation history and interest information.
[0066] FIG. 3 is an exemplary diagram illustrating a generating device including a first generating unit, an executing unit, and a second generating unit.
[0067] Referring to FIG. 3, the generating device 100 may include a memory 101, a first generating unit 110, an executing unit 120, and a second generating unit .
[0068] In one embodiment, the generator 100 may obtain input text from a user, such as a passenger. For example, the generator 100 may obtain user input, such as voice utterances and / or text input, from the user via an input interface provided in the vehicle, such as a microphone, a keypad, and / or a touchscreen.
[0069] In one embodiment, the generator 100 may obtain the input text directly in the form of text input. In another embodiment, the generator 100 may obtain the input text by converting audio signals corresponding to speech utterances into text using a speech recognition model to generate the input text.
[0070] In one embodiment, the first generator 110 may generate a call sequence based on the input text. The execution unit 120 may acquire interest information by executing the call sequence generated by the first generator 110. The second generator 130 may generate output text corresponding to the input text based on the interest information.
[0071] In one embodiment, the first generator 110 may generate a call sequence based on a user's input text using a pre-trained first language model. In this case, the first language model may include a language model pre-trained to perform natural language processing (NLP) tasks. The first language model may be implemented using various language models, such as, but not limited to, BERT, GPT, Transformer, LSTM, and XLNet. In one embodiment, the first language model may include a large language model (LLG) trained based on a large text dataset.
[0072] In this disclosure, a call sequence refers to a set of instructions consisting of at least one call. In one embodiment, a call sequence may include multiple calls. Meanwhile, in one embodiment, a call may include obtaining various data from the memory 101 of the generation device 100, other devices in the vehicle system, or the external device 200, or requesting a specific task from the memory 101, other devices in the vehicle system, or the external device 200, so that the generation device 100 can generate a response corresponding to the input text.
[0073] As one example, the call may include calling an API endpoint of external device 200 to obtain data from external device 200. As another example, the call may include a system command call to control at least a portion of the hardware or software configuration of a vehicle system including generator 100. As another example, the call may include, but is not limited to, a database query call that executes a predetermined query to query or modify information from a database accessible to generator 100.
[0074] In one embodiment, the call may include a request for a task to accomplish various objectives, such as searching for a particular search term, verifying that a particular restaurant offers a particular menu item, calling a particular person, scheduling an alarm, opening and closing a vehicle window, or turning the vehicle's air conditioning on and off.
[0075] In one embodiment, the execution unit 120 can obtain the interest information by executing a call sequence. In this disclosure, interest information refers to information necessary to generate a conversational agent response corresponding to the input text. In one embodiment, the interest information can include a specific type of information determined from the first generation unit 110 based on the input text.
[0076] Additionally, in one embodiment, the interest information may include external information obtained from the external device 200. The external information obtained from the external device 200 according to one embodiment may include, but is not limited to, text in a structured format (e.g., JSON or XML).
[0077] For example, if the passenger's input text indicates "Tell me the current weather here," the first generation unit 110 can determine that the interest information required to generate a response is the vehicle's location information and the current weather information at that location, and generate a call sequence to obtain the vehicle's location information and the current weather information at that location.
[0078] For example, the first generating unit 110 may generate a call sequence including a first call for requesting vehicle position information from a position sensor in the vehicle system or a first external device that provides vehicle position information in order to obtain vehicle position information. The first generating unit 110 may also generate a call sequence further including a second call for requesting weather information corresponding to the current vehicle position from a second external device that provides weather information in order to obtain current weather information for the corresponding position.
[0079] Thereafter, the execution unit 120 executes the call sequence generated by the first generation unit 110, thereby obtaining the vehicle's location information and the current weather information at that location as information of interest.
[0080] In one embodiment, the execution unit 120 may obtain the information of interest by executing at least some of the calls sequentially according to a preset order or by executing at least some of the calls in parallel.
[0081] In one embodiment, if a data dependency exists among certain calls that make up multiple calls, the execution unit 120 can obtain interest information by sequentially executing the certain calls in a preset order so that the results of the previous call are utilized in the next call.
[0082] For example, if the passenger's input text indicates "Tell me the current weather here," the current location information of the vehicle can be first obtained and then a weather information inquiry can be made based on the determined location, so that the execution unit 120 can execute a call for a location information inquiry before a call for a weather information inquiry.
[0083] In one embodiment, the execution unit 120 can obtain the information of interest by sequentially executing multiple calls based on a depth-first search, which means that, for tree-structured data to be searched, all nodes are searched by descending as deeply as possible from the node where the search starts, searching child nodes until there are no more child nodes remaining, and if there are no more child nodes, returning to the previous stage and searching along a different path.
[0084] That is, in one embodiment, the execution unit 120 can acquire the information of interest by executing all calls constituting a call sequence having a tree structure in the order of depth-first search.
[0085] For example, if the passenger's input text indicates "Tell me the current weather here," the start node may correspond to a vehicle location query, and the child nodes of the start node may correspond to a location-based weather information query. The execution unit 120 may execute the call related to the vehicle location query first, and then execute the call related to the location-based weather information query later, according to the order of searching the child nodes from the start node.
[0086] In another embodiment, if there is no data dependency between the given calls that make up the multiple calls, the execution unit 120 can obtain the information of interest by executing the given calls in parallel for efficient tasks.
[0087] For example, if the passenger's input text indicates "Tell me today's weather and news headlines," there is no data dependency between the weather information query and the news information query, so the execution unit 120 can execute the calls related to the weather information query and the calls related to the news information query in parallel, regardless of order.
[0088] In one embodiment, the second generation unit 130 may generate output text corresponding to the input text based on the interest information using a pre-trained second language model, which may include, but is not limited to, the same language model as the first language model.
[0089] In one embodiment, the second language model may include a language model pre-trained to perform natural language processing tasks. The second language model may be implemented using various language models, such as, but not limited to, BERT, GPT, Transformer, LSTM, and XLNet. In one embodiment, the second language model may include a large language model (LLG) trained based on a large text dataset.
[0090] Alternatively, the calling sequence may include all calls to the second language model to generate output text.
[0091] In one embodiment, the first generation unit 110 can generate a call sequence including all calls necessary to generate output text using a single input / output process of the first language model, instead of repeating the input / output process of the first language model several times. Then, the execution unit 120 can obtain interest information by executing all calls included in the call sequence, and the second generation unit 130 can generate output text based on the interest information.
[0092] According to one embodiment of the present disclosure, by reducing the number of input / output processes of the language model used to generate a call compared to a method of generating the next call to be executed based on information obtained after executing one call, the time required to generate output text from input text can be reduced and unnecessary waste of computing resources can be prevented.
[0093] Furthermore, while the method of generating the next call to be executed based on information obtained after executing one call may result in a relatively low accuracy of the output text because the process of generating each call is based on local optimum, the above-described embodiment can improve the accuracy of the output text by generating a call sequence based on global optimum through a single input / output process of the language model.
[0094] On the other hand, the memory 101 is hardware that stores various data to be processed within the generation device 100. The memory 101 can store various programs used for the operation, processing, and control of the first generation unit 110, the execution unit 120, and the second generation unit 130, including program code for realizing the first language model or the second language model. The memory 101 can also store various data used or generated by the generation device 100, such as input text, a call sequence, and output text.
[0095] In one embodiment, the generating device 100 can generate a conversation history based on the input text. The conversation history according to one embodiment can include at least one input text and a response corresponding to each input text. For example, if the generating device 100 generates a first response corresponding to a first input text, the generated first input text and the generated first response can be stored in the memory 101.
[0096] In one embodiment, the first generation unit 110 can generate a call sequence based on the input text and the passenger's conversation history. For example, the first generation unit 110 may generate a call sequence based on a conversation history including the first input text and the first response, as well as the second input text. That is, the first generation unit 110 can generate a call sequence suitable for the user by taking into account the conversation pattern with the user by referring to the conversation history other than the input text.
[0097] For example, the conversation history may include a number of input texts indicating "Tell me the weather," responses to the input texts including weather information based on the current location, and input texts indicating "Tell me the weather at my workplace, not at my current location." The first generation unit 110 can generate a call sequence for querying weather information based on the workplace for the input text indicating "Tell me the weather." by generating a call sequence by reflecting previous conversation contexts and conversation patterns that appear in the conversation history.
[0098] In one embodiment, the generation device 100 can update the conversation history by adding input text to the conversation history. For example, if the memory 101 stores a conversation history including a first input text and a first response, the generation device 100 can update the conversation history by adding the second input text to the conversation history based on obtaining the second input text.
[0099] FIG. 4 is an exemplary diagram for explaining in general terms the process of generating a calling sequence based on an input text.
[0100] 4, the generating device 100 can generate a calling sequence 400 based on the input text 300. As described above with reference to FIG. 3, the first generating unit 110 of the generating device 100 can generate the calling sequence 400 based on the input text 300.
[0101] In one embodiment, the generating device 100 can generate a call sequence 400 including at least one call based on the passenger input text 300 using a pre-trained first language model.
[0102] For example, the generating device 100 can configure input data for a first language model based on an input text 300. The generating device 100 can then input the input data to the first language model and obtain an output of the first language model. The generating device 100 can then generate a calling sequence 400 based on the output of the first language model.
[0103] Meanwhile, a specific process for configuring input data for the first language model and a specific process for generating the calling sequence 400 based on the output of the first language model will be described later with reference to FIGS. 5 to 7 and the like.
[0104] 4 illustrates an example of an input text and an example of an output of a first language model corresponding to the input text. As an example, in response to acquiring a first input text 301, the generation device 100 can input first input data to a first language model configured based on the first input text 301 and acquire a first output 302 as an output of the first language model.
[0105] As another example, in response to obtaining the second input text 303, the generating device 100 can input second input data to a first language model constructed based on the second input text 303 and obtain a second output 304 as an output of the first language model.
[0106] In one embodiment, a call sequence may include multiple calls with a nested structure, where a nested structure means that one call contains another call.
[0107] For example, if first input text 301 indicates "Looking for a quick charging station near Seoul Station," first output 302, which is an output of the first language model corresponding to first input text 301, may represent a nested structure in which a call related to a charging station search includes a call related to a location search. In this case, the call related to a charging station search may have a charging speed condition and a proximity location condition as search condition parameters, and the call related to a location search may be understood as a call executed before the call related to a charging station search to set the proximity location condition.
[0108] The generation device 100 can use the first output 302 of the first language model that represents the nested structure to generate a calling sequence 400 that reflects the nested structure shown in the first output 302.
[0109] FIG. 5 is an exemplary diagram illustrating a process of generating a first input prompt as an input to a first language model based on an input text.
[0110] 5, the generation device 100 can preprocess the input text 300 based on at least one of entity search, conversation example search, and prompt template application. That is, the generation device 100 can configure input data for the first language model 340 by performing preprocessing on the input text 300.
[0111] In one embodiment, the generating device 100 can use a pre-generated entity database 310 to generate a first search result 311 that includes entities corresponding to at least one string that makes up the input text 300.
[0112] In one embodiment, entity database 310 may represent a database containing entity information such as real-world names and attributes that users may mention, including, but not limited to, locality or place names.
[0113] For example, if the input text 300 includes "Seoul City," the generating device 100 can identify "Cities in Korea" as an entity corresponding to the string "Seoul City" through a search of the input text 300 against the entity database 310, and generate a first search result 311 based on the identified result.
[0114] In one embodiment, the first search results 311 may include the results of a search of the generator 100 against the entity database 310. Using a search against the entity database 310, an understanding of the intent and context of the input text 300 may be performed accurately, thereby increasing the likelihood that the call sequence and response will match the user's intent.
[0115] In one embodiment, the generating device 100 can use a pre-generated dialogue example database 320 to generate a second search result 321 including at least one dialogue example that has a similarity to the input text 300 above a threshold.
[0116] In another embodiment, the generation device 100 can use the conversation example database 320 to generate a second search result 321 that includes a predetermined number of conversation examples selected based on their similarity to the input text 300.
[0117] In one embodiment, the conversation example database 320 may represent a database containing conversation examples that are illustrative of conversations between a user and an agent. According to one embodiment, one conversation example may include an input text and an example of a call sequence corresponding to the input text. Furthermore, one conversation example may further include an example of a response generated based on the call sequence and additional input text.
[0118] In one embodiment, the generation device 100 can search for at least one conversation example that has a similarity to the input text 300 that is equal to or greater than a threshold value by performing a vector similarity search on the conversation example database 320. In another embodiment, the generation device 100 can search for a preset number of conversation examples that are selected based on their similarity to the input text 300 by performing a vector similarity search on the conversation example database 320.
[0119] In one embodiment, each conversation example may be converted into the form of an embedding vector via sentence embedding and stored in the conversation example database 320. That is, the conversation example database 320 may store each conversation example in a mapped format with its corresponding embedding vector. Here, sentence embedding refers to representing the meaning of a sentence using a quantified embedding vector.
[0120] The generation device 100 can then generate an embedding vector corresponding to the input text 300 through sentence embedding. The generation device 100 can search for at least one conversation example from the conversation example database 320 by searching for an embedding vector having a similarity equal to or greater than a threshold with the embedding vector corresponding to the input text 300, or by searching for a predetermined number of conversation examples based on having a high similarity with the embedding vector corresponding to the input text 300. The generation device 100 can generate a second search result 321 including the searched conversation example.
[0121] In this case, the similarity between the embedding vectors can be calculated as a cosine similarity, and the similarity equal to or greater than the threshold can be determined based on a value in the range of 0.7 to 0.9. The similarity can also be calculated using the Euclidean distance, but is not limited to this.
[0122] In one embodiment, the second search result 321 may include a search result of the generation device 100 against the conversation example database 320. By using the conversation example database 320, the generation device 100 may search for conversation examples that are relevant to the context of the input text 300 and may use the searched conversation examples to generate call sequences and / or responses appropriate to the conversation context.
[0123] In one embodiment, the generation device 100 can determine at least one call used in at least one conversation example included in the second search result 321 as the target call 322. For example, the generation device 100 can determine all calls used in all conversation examples included in the second search result 321 as the target calls 322.
[0124] In another example, the generation device 100 may determine, as the target call 322, at least one call selected based on frequency of use from among all calls used in all conversation examples included in the second search result 321. For example, if the second search result 321 includes multiple conversation examples, the remaining calls excluding calls used in only one conversation example may be determined as the target call 322.
[0125] In one embodiment, the generating device 100 can generate a first input prompt 331 for a first language model 340 by applying a pre-generated first prompt template 330 to the input text 300, the first search results 311, and the target invocation 322.
[0126] In this case, the first prompt template 330 is a template for generating input data to be provided to the first language model 340, and may be realized as a structured document or data structure pre-designed to configure a prompt for the first language model 340. In one embodiment, the first prompt template 330 may be defined as, but is not limited to, JSON, YAML, or other structured data format.
[0127] In one embodiment, the generation device 100 can generate input data in a format that the language model can understand by combining each element that makes up the input data of the first language model 340 using the first prompt template 330. That is, the first input prompt 331 according to one embodiment can represent the input data of the first language model 340 generated by the generation device 100.
[0128] The first prompt template 330 may include a slot for each element that constitutes the first input prompt 331, such as the input text 300, the first search result 311, and / or the target invocation 322. The generation device 100 may generate the first input prompt 331 by inserting each element into each slot of the first prompt template 330.
[0129] Meanwhile, the first prompt template 330 may further include instructions for generating an invocation necessary to fulfill the user's objective predicted from the input text 300. Furthermore, the first input prompt 331 may further include a description of the target invocation 322.
[0130] 5, the generation device 100 can generate the first input prompt 331 for the first language model 340 without performing preprocessing including entity search, conversation example search, or application of a prompt template. For example, the generation device 100 can generate the first input prompt 331 consisting of the input text 300 and an instruction indicating "generate the calls necessary to generate a response using the input text."
[0131] As another example, the generation device 100 may generate the first input prompt 331 by performing preprocessing consisting of entity search and conversation example search, or by performing preprocessing consisting of entity search and prompt template application, or by performing preprocessing consisting of conversation example search and prompt template application.
[0132] FIG. 6 is an exemplary diagram illustrating a process of generating a calling sequence based on the output of the first language model.
[0133] 6, the generating device 100 can post-process the output 341 of the first language model 340 based on at least one of parsing and slot normalization. That is, the generating device 100 can generate the calling sequence 400 by performing post-processing on the output 341 of the first language model 340.
[0134] In one embodiment, the generation device 100 can input a first input prompt 331 to a first language model 340 and obtain an output 341 of the first language model 340. The first output 302 and the second output 304 shown in FIG. 4 are examples of the output 341 of the first language model 340.
[0135] 6, the generation device 100 can generate a structured output 342 representing the structure of the character string by parsing the output 341 of the first language model 340, which is a character string representation. Meanwhile, a specific process by which the generation device 100 generates the structured output 342 from the output 341 will be described later with reference to FIG.
[0136] In one embodiment, the generator 100 may generate the calling sequence 400 by using a pre-generated slot normalization database 350 to convert at least one string included in the structured output 342 into a normalized representation.
[0137] Slot normalization can be understood as synonym and / or thesaurus processing through the standardization of string representations. Because users can refer to the same concept in a variety of ways, the output 341 of the first language model 340 and / or the structured output 342 can include the various terms mentioned by the user via the input text 300.
[0138] The slot normalization database 350 is a database used to convert various expressions into a unified format according to certain rules. For example, expressions representing "gas station," "a place to put oil," and "a place to refuel" can all be normalized into a single format called "gas_station." In this case, the slot normalization database 350 can map various expressions that can be understood to be the same as "gas_station" to the "gas_station" item and store them.
[0139] The generating device 100 can perform slot normalization of the output 341 or the structured output 342 by changing any of the corresponding expressions to "gas_station" if any of the corresponding expressions are found in the output 341 or the structured output 342.
[0140] That is, the generating device 100 can replace at least one string that is a non-normalized expression with a normalized expression by referring to the slot normalization database 350. In this way, by configuring the calling sequence 400 with a normalized expression, the generating device 100 can reduce ambiguity that may arise from various expression methods, improve the accuracy of data processing, and improve the consistency and clarity of responses generated based on the calling sequence 400.
[0141] On the other hand, unlike that shown in FIG. 6, the generating device 100 can generate the call sequence 400 from the output 341 itself without performing any additional post-processing, or can generate the call sequence 400 by performing only post-processing based on either parsing or slot normalization on the output 341.
[0142] FIG. 7 is an exemplary diagram for explaining the process of structuring the output of the first language model.
[0143] Referring to FIG. 7, the generating device 100 can generate a structured output 342 that represents the structure of the string by parsing the output 341 of the first language model 340, which is a string representation.
[0144] In one embodiment, the output 341 of the first language model 340 may include a string expressed in text format to represent at least one call to be executed. For example, the output 341 of the first language model 340 corresponding to the input text indicating "Find a fast charging station near Seoul Station" may be a string expressed as "search_ev_charging_station(charge_speed="fast", area=search_place(name="Seoul Station"))".
[0145] In one embodiment, the generating device 100 can generate a structured output 342 that represents the structure of the string by parsing the output 341. Here, representing the structure of the string means defining the relationship between each component that appears in the string, such as calls and parameters.
[0146] In one embodiment, the generating device 100 analyzes the string data constituting the output 341 by parsing the output 341 to identify the structure of the output 341, and separates each component included in the output 341 according to the identified structure.
[0147] For example, the output 341 may be expressed as "search_ev_charging_station(charge_speed="highway", area=search_place(name="Seoul Station"))". The generating device 100 may define "search_ev_charging_station" as a first call function representing an electric vehicle charging station search through parsing.
[0148] Furthermore, the generating device 100 may define "charge_speed" and "area" as the first parameter and the second parameter of the first calling function, respectively. The generating device 100 may also define "search_place" as the second calling function used as an argument of the second parameter. The generating device 100 may also define "name" as the parameter of the second calling function. In this case, the second calling function can be understood as being superimposed on the first calling function via the second parameter.
[0149] Furthermore, the generating device 100 may define "Expressway" as an argument value of a first parameter of a first calling function, and may define "Seoul Station" as an argument value of a parameter of a second calling function.
[0150] That is, in one embodiment, the generating device 100 can grasp the structure of the output 341 expressed as a string, as in the above example, and can generate the structured output 342 by defining each component of the output 341 according to the grasped structure. In this case, the structured output 342 can be expressed in a data format such as JSON or XML, and can be expressed in a tree structure having each component of the output 341, such as a call and a parameter, as a node, but is not limited to this.
[0151] FIG. 8 is an exemplary diagram for explaining various data used to generate a calling sequence.
[0152] Referring to FIG. 8, in the process of generating a call sequence 400 based on an input text 300, at least one of an entity database 310, a conversation example database 320, a first prompt template 330, a slot normalization database 350, and a description 360 can be used.
[0153] Figure 8 shows entity information 315 that constitutes entity database 310, conversation examples 325 that constitute conversation example database 320, an implementation example 335 of first prompt template 330, normalization information 355 that constitutes slot normalization database 350, and an implementation example 365 of description 360.
[0154] In one embodiment, the entity database 310 may be configured with pre-collected entity information 315. The entity information 315 may be configured with specific items and various character strings that the items can represent. For example, the entity information 315 may include an item called "Korean Holidays," and character strings that the "Korean Holidays" item can represent may include "Lunar New Year" and "Chuseok."
[0155] If the input text 300 contains "Lunar New Year" or "Chuseok," the generating device 100 can refer to the entity database 310 and generate a first search result 311 that contains "Korean Holiday" as an attribute mapped to the corresponding string.
[0156] Furthermore, in one embodiment, the conversation example database 320 may be comprised of conversation examples 325 for various conversation situations that have been collected in advance. For example, the conversation example 325 may include an example of input text and a corresponding example output of the first language model 340. Meanwhile, the conversation example 325 may further include an example of a response generated from the output of the first language model 340.
[0157] The generation device 100 can generate a second search result 321 including at least one conversation example by searching the conversation example database 320 for conversation examples similar to the input text 300 through a similarity-based search.
[0158] Additionally, in one embodiment, the first prompt template 330 may be used to configure input data for the first language model 340 .
[0159] For example, the first prompt template 330 may consist of an instruction indicating "use the input text to generate the call necessary to generate a response" and a slot for the input text 300. The generation device 100 may generate the first input prompt 331 by inserting the input text 300 into the slot for the input text 300.
[0160] In another example, the first prompt template 330 may further include at least one of an inference method and an output format, where the inference method may define an algorithm, rule, or the like that the first language model 340 applies to generate the output 341, and the output format may specify the expression format of the output 341.
[0161] As yet another example, the first prompt template 330 may further include slots for at least one of various reference data, such as the first search result 311, the second search result 321, the target call 322, and a description of the target call 322. The generating device 100 may generate the first input prompt 331 by inserting the respective reference data into each slot.
[0162] Furthermore, in one embodiment, slot normalization database 350 may be configured with pre-collected normalization information 355. Normalization information 355 may be configured with a normalized expression and various character strings that the expression can represent. For example, normalization information 355 may include an item "@ac_3" as a normalized expression for AC power having three phases, and may include character strings that the "@ac_3" item can represent, such as "ac 3 phase," "7 pin," and "ac 3 phase 7 pin."
[0163] If the output 341 or the structured output 342 includes “ac 3 phase,” “7 pin,” or “ac 3 phase 7 pin,” the generating device 100 can generate the calling sequence 400 by referring to the slot normalization database 350 and changing the corresponding string to “@ac_3.”
[0164] Additionally, in one embodiment, description 360 may include comprehensive information about the calls, such as the definition, purpose, function, call method, available parameter types, and format and / or content of returned response data for each of the multiple calls.
[0165] For example, description 360 may include the names of the calling functions and information describing the purpose and functionality of each calling function. Additionally, description 360 may include names for the parameters that can be used as arguments to the calling functions, along with a description of the function and usage of each parameter.
[0166] In one embodiment, the generator 100 can insert into the first input prompt 331 descriptions of all invocations that can be generated from the first language model 340 to form the invocation sequence 400. The first language model 340 can reference the descriptions for all invocations along with the input text 300 to generate an output 341 consisting of at least one invocation that matches the input text 300.
[0167] In another embodiment, the generating device 100 can insert a description of a target call 322 selected from the second search results 321 into the first input prompt 331 as a result of referencing the conversation example database 320. The first language model 340 can refer to the description of the selected target call 322 together with the input text 300 to generate an output 341 consisting of at least one call that matches the purpose of the input text 300.
[0168] FIG. 9 is an exemplary diagram illustrating a process of generating an output text using a second language model.
[0169] 9, the generating device 100 may generate an output text 600 corresponding to an input text 300 based on interest information 500 using a pre-trained second language model 520. In this case, the interest information 500 may be the same as the interest information acquired by the generating device 100 through the process of acquiring interest information described above with reference to FIG. 3, etc.
[0170] For example, the generating device 100 can acquire the interest information 500 by executing at least one call constituting the call sequence 400. As an example, in the first call and the second call constituting the call sequence 400, the generating device 100 can acquire first external information from a first external device by executing the first call, and acquire second external information from a second external device by executing the second call. In this case, the interest information may include the first external information and the second external information.
[0171] 3, the call sequence 400 used to obtain the interest information 500 may include all the calls for generating the output text 600. This allows the generation device 100 to generate the call sequence 400 that includes all the calls necessary to generate the output text 600 using a single input / output process of the first language model 340, rather than repeating the input / output process of the first language model 340 several times.
[0172] The generating device 100 then executes all the calls included in the call sequence 400 to obtain all the interest information 500 necessary to generate the output text 600, and can generate the output text 600 based on the obtained interest information 500.
[0173] In one embodiment, the generator 100 can generate output text based on the input text 300 and the interest information 500. For example, the generator 100 can construct input data for the second language model 520 based on the input text 300 and the interest information 500, input the input data to the second language model 520, and generate output text 600 as an output of the second language model 520.
[0174] In one embodiment, the generator 100 can generate the second input prompt 511 based on the input text 300 and the interest information 500. Furthermore, in one embodiment, the generator 100 can generate the second input prompt 511 based on the input text 300, the calling sequence 400, and the interest information 500. In this case, the second input prompt 511 can be understood as input data for the second language model 520.
[0175] In one embodiment, the generating device 100 can generate a second input prompt 511 for the second language model 520 by applying a pre-generated second prompt template 510 to at least one of the input text 300, the call sequence 400, and the interest information 500.
[0176] The second prompt template 510 is a template for generating a second input prompt 511 to be provided to the second language model 520, and may be implemented as a structured document or data structure pre-designed to constitute input data for the second language model 520. In one embodiment, the second prompt template 510 may be defined as, but is not limited to, JSON, YAML, or other structured data format.
[0177] In one embodiment, the generation device 100 can generate input data in a format that can be understood by the language model by combining each element that makes up the second input prompt 511 using the second prompt template 510.
[0178] The second prompt template 510 may include a slot for each element that constitutes the second input prompt 511, such as the input text 300, the call sequence 400, and the interest information 500. The generation device 100 may generate the second input prompt 511 by inserting each element into each slot of the second prompt template 510. Meanwhile, the second prompt template 510 may further include instructions to generate an answer to the input text 300 using the interest information 500.
[0179] In one embodiment, the second prompt template 510 may be composed of an instruction indicating "to generate a natural language answer corresponding to the input text using the interest information," a slot for the input text 300, and a slot for the interest information 500. The generation device 100 may generate the second input prompt 511 by inserting the input text 300 and the interest information 500 into each slot.
[0180] In another example, the second prompt template 510 may further include at least one of an inference method and an output format. In this case, the inference method may define an algorithm or rule that the second language model 520 applies to generate the output text 600, and the output format may specify the expression format of the output text 600. For example, the output format may include, but is not limited to, whether to use honorific language, a maximum character limit, etc.
[0181] As yet another example, the second prompt template 510 may further include a slot for at least one of various reference data, such as the call sequence 400. The generating device 100 may generate the second input prompt 511 by inserting reference data, such as the call sequence 400, into each slot.
[0182] By the generation device 100 generating the second input prompt 511 reflecting the call sequence 400, the second language model 520 can reflect the process of obtaining the interest information 500 that leads to the call sequence 400 and the interest information 500 from the input text 300 in the generation process of the output text 600, thereby improving the relevance between the input text 300 and the output text 600.
[0183] In one embodiment, the generating device 100 may update the conversation history by adding the input text 300 to the conversation history. Thereafter, the generating device 100 may generate the call sequence 400 based on the input text 300, obtain the interest information 500 based on the call sequence 400, and generate the output text 600 based on the updated conversation history and the interest information 500. In this case, the conversation history may represent the conversation history described above with reference to FIG. 3 .
[0184] In one embodiment, the generator 100 can generate the second input prompt 511 based on the conversation history and interest information 500 supplemented with the input text 300 .
[0185] As an example, the generation device 100 can generate a second input prompt 511 for the second language model 520 by applying a pre-generated second prompt template 510 to the updated conversation history and interest information 500. The second prompt template 510 according to one embodiment can include a slot for each of the conversation history and interest information 500, including the input text 300. The generation device 100 can generate the second input prompt 511 by inserting each element into each slot of the second prompt template 510.
[0186] By generating second input prompts 511 for the second language model 520 based on the conversation history and interest information 500, the second language model 520 can generate output text 600 that reflects previous conversational context and conversational patterns that appeared in the conversation history.
[0187] In one embodiment, generating device 100 can provide generated output text 600 to a user via a display device. For example, generating device 100 can provide output text 600 via a display device by communicating generated output text 600 to the display device or by generating an interface (e.g., a GUI) that includes the output text and communicating it to the display device.
[0188] As an example, the vehicle system may include a generating device 100 and a display device. The generating device 100 generates output text 600 based on input text 300 of a user in the vehicle, generates an in-vehicle interface including the output text 600, and transmits the output text 600 to the display device, thereby providing the output text 600 to the user in the vehicle.
[0189] FIG. 10 is an example of how the generator operates to visualize the invocation sequence of a conversational agent.
[0190] Referring to FIG. 10, in step 1010, the generating device 100 may generate a first output text corresponding to the input text based on the input text of the passenger using a pre-trained language model.
[0191] In step 1020, the generating device 100 may generate an interface that displays the calling sequence used to generate the first output text, where the interface may display each of the multiple unit executions included in the calling sequence.
[0192] In one embodiment, each of the multiple unit executions may represent one call or one parameter.
[0193] An interface according to one embodiment may display a visual element corresponding to each of the plurality of unit executions, and the visual element according to one embodiment may include at least one of an icon and text.
[0194] An interface according to one embodiment may use multiple visual elements to display the calling sequence in a tree structure, and each unit execution according to one embodiment may be a node in the tree structure.
[0195] In one embodiment, the generating device 100 generates an interface that displays a higher-level node among a plurality of unit executions, and can modify the interface to further display lower-level nodes for the higher-level node based on receiving an extension input for the higher-level node.
[0196] In one embodiment, each of the plurality of visual elements may be determined based on at least one of a per-node description and a per-node argument value.
[0197] In one embodiment, a predetermined unit execution included in the plurality of unit executions may represent a predetermined type of information access, and the generating device 100 may generate an interface that further displays a visual effect corresponding to the predetermined type of information access on a visual element representing the predetermined unit execution.
[0198] In one embodiment, the generating device 100 generates an interface that displays a specific unit execution included in a call sequence, and can modify the interface to display detailed information about the specific unit execution based on receiving detailed information providing input for a specific node.
[0199] In this case, the detailed information may include at least one of information relating to the description of the predetermined unit execution, information relating to argument values of the predetermined unit execution, and information relating to the execution result of the predetermined unit execution.
[0200] In one embodiment, generating device 100 can update the calling sequence based on user input, generate second output text corresponding to the input text based on the updated calling sequence, and modify the interface to display the second output text and the updated calling sequence.
[0201] In one embodiment, the generating device 100 may generate an interface that displays a first visual element representing a given unit execution included in a calling sequence. The generating device 100 may then update the calling sequence by changing argument values for the given unit execution based on receiving a change input for the given unit execution. The generating device 100 may then modify the interface to display a second visual element representing the given unit execution with the changed argument values. The second visual element may be different from the first visual element.
[0202] Furthermore, in one embodiment, the generating device 100 may provide at least one modification suggestion for the given unit execution based on receiving a first modification input for the given unit execution, and may update the calling sequence by modifying argument values for the given unit execution based on receiving a second modification input that selects one of the at least one modification suggestion.
[0203] Furthermore, in one embodiment, the generating device 100 can generate an interface that displays a predetermined unit execution included in the calling sequence, and the generating device 100 can update the calling sequence by deleting the predetermined unit execution from the calling sequence based on receiving a delete input for the predetermined unit execution.
[0204] Additionally, in one embodiment, the generator 100 may update the calling sequence by adding a given unit execution to the calling sequence based on receiving additional input for the given unit execution.
[0205] FIG. 11 is an exemplary diagram for explaining unit executions included in a calling sequence.
[0206] In one embodiment, the generating device 100 may use a pre-trained language model to generate a first output text corresponding to the input text 300 based on the input text 300 of a user. In one embodiment, the user may include a passenger.
[0207] Meanwhile, the process by which the generating device 100 generates the first output text may be similar to the process by which the generating device 100 generates the output text 600 based on the input text 300 described above with reference to Figures 3 to 9. Furthermore, the language model used to generate the first output text may include at least one of the first language model 340 and the second language model 520.
[0208] For example, the generating device 100 can generate the calling sequence 400 based on the input text 300 , obtain the interest information 500 based on the calling sequence 400 , and generate the first output text based on the interest information 500 .
[0209] In one embodiment, the generation device 100 may generate an interface that displays a call sequence 400 used to generate the first output text. In this case, the interface may display each of a plurality of unit executions 1100 included in the call sequence 400. In one embodiment, each of the plurality of unit executions 1100 may represent one call or one parameter. In this case, the call sequence 400 may be the same as the call sequence 400 described above with reference to, for example, FIGS. 3 to 9.
[0210] Each of the multiple unit executions 1100 may represent one call or one parameter. In one embodiment, a call as a unit execution may include obtaining various data from the memory of the generation device 100 or the external device 200, or requesting a specific task from the memory or the external device 200, in order for the generation device 100 to generate a response corresponding to the input text 300. In one embodiment, one call may represent a calling function corresponding to one function.
[0211] As one example, the call may include calling an API endpoint of external device 200 to obtain data from external device 200. As another example, the call may include a system command call to control at least a portion of the hardware or software configuration of a given system (e.g., a vehicle system) that includes generating device 100. As another example, the call may include, but is not limited to, a database query call that executes a given query to inquire about or modify information from a database accessible to generating device 100.
[0212] On the other hand, in one embodiment, parameters for a unit execution may include variables or constants used as input values for calls implemented, such as calling functions.
[0213] As one example, the parameters may include parameters for conveying conditions for filtering specific data when calling an API endpoint of the external device 200. As another example, the parameters may include parameters for adjusting the manner in which a specific algorithm executed in a given system including the generating device 100 operates. As another example, the parameters may include parameters for specifying search conditions when calling a database query.
[0214] In one embodiment, the generating device 100 can call the calling sequence 400, classify the parameters and argument values of the parameters, and select multiple unit executions 1100 to display among the calls and parameters according to the classification results.
[0215] For example, the generating device 100 may select all calls and all parameters as a plurality of unit executions 1100, or may select a plurality of unit executions 1100 according to a preset criterion. In this case, the preset criterion may be appropriately set within a range that achieves the purpose of intuitive visualization, such as importance per call, importance per parameter, or the maximum number of selections.
[0216] In one embodiment, the generation device 100 can visualize the process of generating the first output text by generating an interface that displays a plurality of unit executions 1100 included in the call sequence 400 used to generate the first output text. That is, the generation device 100 can visualize the call sequence 400 used in the process of the conversational agent generating a response to a user input.
[0217] Referring to FIG. 11, the generation device 100 can generate an output 341 using a pre-trained first language model 340 and generate a calling sequence 400 based on the output 341 of the first language model 340.
[0218] 11 illustrates the call sequence 400 in a tree structure for ease of explanation, the call sequence 400 may be implemented in a specific text format such as JSON or XML. Furthermore, the call sequence 400 according to one embodiment may be the same as the output 341 or may be generated by performing post-processing such as structuring and / or slot normalization on the output 341.
[0219] The generation device 100 can select, from the multiple unit executions 1100 to be visualized, the following calls and parameters included in the call sequence 400: a first call represented by "search_ev_charging_station" indicating a search for electric vehicle charging stations, a first parameter represented by "charge_speed" indicating a condition related to charging speed, a second parameter represented by "area" indicating a search criteria location condition, and a third parameter represented by "name" indicating a location search term condition related to the second parameter.
[0220] FIG. 12 is an exemplary diagram for explaining visual elements corresponding to a unit run.
[0221] 12 , the generating device 100 can generate an interface that displays visual elements 1200 corresponding to each of the plurality of unit executions 1100. That is, the interface according to one embodiment can display visual elements 1200 corresponding to each of the plurality of unit executions 1100, and the visual elements 1200 according to one embodiment can include at least one of an icon 1210 and text 1220.
[0222] In one embodiment, the calling sequence 400 may represent a hierarchical structure including a parallel structure and / or a nested structure. By analyzing the structure of the calling sequence 400, the generating device 100 may interpret the calling sequence 400 as a tree structure consisting of multiple nodes. In this case, the multiple nodes constituting the tree structure may correspond to respective unit executions.
[0223] For example, if the first call described above with reference to FIG. 11 is referred to as the top node, the first parameter and the second parameter can be understood as subnodes of the first call having a mutually parallel structure, and the third parameter can be understood as a subnode of the second parameter.
[0224] In one embodiment, the generator 100 can generate an interface that displays a tree structure having a node for each of the multiple unit executions 1100. That is, an interface according to one embodiment can display the call sequence 400 in a tree structure using multiple visual elements 1200, and each of the unit executions according to one embodiment can be a node in the tree structure.
[0225] In one embodiment, each of the plurality of visual elements 1200 may be determined based on at least one of a node-specific description and a node-specific argument value. For example, an icon 1210 corresponding to a node may be determined based on at least one of the node's description and the node's argument value. Further, for example, text 1220 corresponding to a node may be determined based on at least one of the node's description and the node's argument value.
[0226] The example described below with reference to FIG. 12 is an example of a visualization process for a call sequence 400 having a first call, a first parameter, a second parameter, and a third parameter as nodes.
[0227] In this case, the call sequence 400 is generated in the process of generating a conversational agent response based on the input text 300 indicating "Find a quick charging station near Seoul Station." The first call, the first parameter, the second parameter, and the third parameter correspond to the first to fourth nodes.
[0228] The description corresponding to the first node may include "electric vehicle charging station search," and the argument value of the first node may include the second to fourth nodes. In this case, the icon 1210 corresponding to the first node may be realized as an icon that intuitively represents the electric vehicle charging station search. Furthermore, the text 1220 corresponding to the first node may be realized as "charging station search," which intuitively represents the function of searching for electric vehicle charging stations.
[0229] By generating an interface that displays a visual element 1200 corresponding to the first node, the generation device 100 can intuitively indicate that a search for electric vehicle charging stations has been performed in response generation corresponding to the input text 300.
[0230] Furthermore, the description corresponding to the second node may include "charging speed," and the argument value of the second node may include "fast" or "standard," etc. In this case, the icon 1210 corresponding to the second node may be realized as an icon that intuitively represents fast charging by further reflecting the argument value in the description of the second node. Furthermore, the text 1220 corresponding to the second node may be realized as "fast charging," etc., which intuitively represents fast charging as a charging station search condition.
[0231] By generating an interface that displays a visual element 1200 corresponding to the second node, the generating device 100 can intuitively display that the charging speed condition has been taken into consideration in generating a response corresponding to the input text 300, and that the condition has been set to fast charging.
[0232] Furthermore, the description corresponding to the third node may include a "search reference location," and the argument value of the third node may include a fourth node. In this case, the icon 1210 corresponding to the third node may be implemented as an icon that intuitively indicates that the area around a specific location has been set as the search target. Furthermore, the text 1220 corresponding to the third node may be implemented as "location search," which intuitively indicates the location condition for searching for charging stations.
[0233] By generating an interface that displays visual element 1200 corresponding to the third node, generation device 100 can intuitively display that the location conditions of the charging station search were taken into consideration in generating a response corresponding to input text 300.
[0234] Furthermore, the description corresponding to the fourth node may include a "location search term," and the argument value of the fourth node may include a location name such as "Seoul Station." In this case, the icon 1210 corresponding to the fourth node may be implemented as an icon that intuitively represents the search term condition. Furthermore, the text 1220 corresponding to the fourth node may be implemented as a "location search term" that indicates a search term for setting a location condition for searching for charging stations.
[0235] By generating an interface that displays a visual element 1200 corresponding to the fourth node, the generation device 100 can intuitively display that the search location conditions to which the specified location search term is applied have been reflected in the response generation corresponding to the input text 300.
[0236] Meanwhile, in another embodiment, for input text 300 indicating "Considering my schedule, recommend food to eat while charging my vehicle's battery at the next service area," the generation device 100 can generate a call sequence 400 that includes a search for the user's schedule, a search for favorite places on the navigation route, a check of the vehicle's battery level, and a search for restaurants.
[0237] At this time, the generation device 100 can obtain the interest information 500 by executing the call sequence 400 and generate a first output text indicating, "Shall we reserve an order for some simple French fries so we don't miss our schedule? Parking space with charging is in space A."
[0238] The generation device 100 can determine each unit execution that constitutes the call sequence 400 used to generate the first output text, i.e., searching for a user's schedule, searching for favorite places on a navigation route, checking charging stations within a favorite place, and searching for restaurants within a favorite place, as multiple unit executions 1100 to be visualized.
[0239] By generating an interface that displays visual elements 1200 corresponding to each of the multiple unit executions 1100, the generation device 100 can take the user's schedule into consideration, confirm that the service area to be visited is a favorite location on the route, confirm whether charging is available within the service area, and intuitively display that it has been confirmed that available restaurants within the service area are open.
[0240] According to one embodiment, the generation device 100 can convey to the user the specific process of response generation, such as what information was used in the conversational agent's response and what conditions were set, through visualization of multiple unit executions 1100.
[0241] By generating an interface that displays visual elements 1200 for each of the multiple unit executions 1100, the generation device 100 allows the user to intuitively confirm the process by which the conversational agent's response was generated, thereby improving the user's ability to interpret the conversational agent's task.
[0242] This will improve the problem of conventional conversational agents functioning as black boxes whose operational processes cannot be interpreted, thereby hindering the analyzability of responses and blocking attempts to improve errors.
[0243] Meanwhile, in one embodiment, the generation device 100 may generate an interface that displays all of the visual elements 1200 corresponding to each of the plurality of unit runs 1100. For example, the generation device 100 may display an interface that displays the visual elements 1200 corresponding to each of the plurality of unit runs 1100 arranged in a predetermined direction around the display position of the first output text. This allows the user to intuitively check each of the unit runs used to generate the first output text.
[0244] FIG. 13 is an exemplary diagram illustrating an interface that displays the hierarchical structure of a call sequence.
[0245] 13 , the call sequence 400 may represent a hierarchical structure. For example, the call sequence 400 may represent a tree structure. In one embodiment, the generator 100 may visualize the hierarchical structure of the call sequence 400 by generating an interface that displays structured visual elements 1300.
[0246] In one embodiment, the multiple unit executions 1100 that make up the call sequence 400 may include a unit execution corresponding to at least one upper node 1311 and a unit execution corresponding to a lower node 1321 relative to the upper node. In this case, the generation device 100 may generate an interface that displays the upper node 1311 of the multiple unit executions 1100, and may change the interface to further display the lower node 1321 relative to the upper node 1311 based on receiving an extension input for the upper node 1311.
[0247] For example, the generating device 100 can generate an interface that displays a structured visual element 1300 among a plurality of unit executions 1100, which includes a first visual element 1310 corresponding to an upper node 1311 and does not include a second visual element 1320 corresponding to a lower node 1321.
[0248] Thereafter, the generating device 100 may receive an extension input for the upper node 1311. For example, the generating device 100 may receive an extension input in a preset manner, such as selecting the first visual element 1310 corresponding to the upper node 1311 through a user gesture such as clicking or touching.
[0249] For example, structured visual element 1300 may display a fold icon in parallel with first visual element 1310 corresponding to higher-level node 1311. Generating device 100 may receive a user extension input to select the fold icon. In this case, generating device 100 may change the selected fold icon to an expand icon based on receiving the user extension input.
[0250] Thereafter, in response to receiving the augmented input, the generating device 100 can generate an interface that displays a structured visual element 1300 that includes a first visual element 1310 together with a second visual element 1320 that corresponds to a subordinate node 1321.
[0251] As an example, a parameter represented by "name" can be included as an argument value of a parameter represented by "area". Here, the parameter represented by "area" may be a unit execution corresponding to the upper node 1311 of the parameter represented by "name", and the parameter represented by "name" may be a unit execution corresponding to the lower node 1321 of the parameter represented by "area". Meanwhile, the parameter represented by "area" may represent a search criteria location condition, and the parameter represented by "name" may represent a location search term.
[0252] First, the generating device 100 can generate an interface that displays a structured visual element 1300 that includes a first visual element 1310 that indicates a search reference location and does not include a second visual element 1320 that represents a location search term.
[0253] Then, based on receiving a user's augmented input for a first visual element 1310 corresponding to a search criteria location, the generating device 100 can generate an interface that displays a structured visual element 1300 that includes, together with the first visual element 1310, a second visual element 1320 that represents a location search term that is a subordinate node of the search criteria location.
[0254] This allows the user to first check the simplified hierarchical structure of multiple unit executions 1100, and then expand the upper nodes that require specific confirmation as needed to check the expanded hierarchical structure, and then check the lower nodes.
[0255] FIG. 14 is an exemplary diagram illustrating the process by which an interface displaying a call sequence interacts with a user.
[0256] Referring to FIG. 14, as examples of interfaces generated by the generating device 100, a first interface 1410 corresponding to a first output text 1411 and a second interface 1420 corresponding to a second output text 1421 can be seen.
[0257] In the embodiment described below, the interface generated by the generating device 100 may represent the first interface 1410 .
[0258] In one embodiment, a predetermined unit execution included in the plurality of unit executions 1100 may represent a preset type of information access. For example, the preset type of information access may include a query for personal information based on query target information, or a query for a specific database based on a query target database.
[0259] As another example, the pre-defined types of information access may include information access distinguishable by a particular type, such as location-based information access, such as a current or past location query, financial information access, such as an e-commerce transaction history, medical information access, such as a medication record query, or social media information access, such as a user-created post query.
[0260] Meanwhile, when a predetermined type of information access occurs, the user may request that the corresponding type of information access be displayed to the user. In one embodiment, the entity providing the conversational AI service or the user himself / herself may preset the type of information access to be displayed to the user.
[0261] If the multiple unit executions 1100 include a predetermined unit execution indicating a predetermined type of information access, the generating device 100 can generate an interface that further displays a visual effect 1413 corresponding to the predetermined type of information access on the visual element 1412 indicating the predetermined unit execution.
[0262] In this case, the visual effect 1413 can be set differently for each preset type of information access. According to one embodiment, the visual effect 1413 may include displaying an additional object around the visual element 1412 with a specific size, shape, color, and / or animation effect.
[0263] For example, a first visual effect corresponding to a first type of information access may include displaying a border of a first color around visual element 1412, and a second visual effect corresponding to a second type of information access may include displaying a border of a second color around visual element 1412. In this case, the first type may correspond to a personal information query and the second type may correspond to a query to a particular database, but is not limited to this.
[0264] In one embodiment, the generating device 100 can generate an interface that displays a given unit execution included in a call sequence, and can modify the interface to display detailed information 1414 for the given unit execution based on receiving an input providing detailed information for the given unit execution.
[0265] According to an embodiment, the detailed information input may include a user input in a preset manner for a predetermined node corresponding to a predetermined unit execution. In this case, the detailed information input may be, but is not limited to, a short click or a short touch on the visual element 1412.
[0266] According to one embodiment, the detailed information 1414 may include at least one of information regarding a description of the given unit execution, information regarding argument values of the given unit execution, and information regarding the execution result of the given unit execution.
[0267] According to an embodiment, the information relating to the description of a given unit execution may include a description of the purpose and / or function of the unit execution. Further, according to an embodiment, the information relating to argument values of a given unit execution may include a description of parameters or parameter values included in the unit execution. Furthermore, according to an embodiment, the information relating to the execution result of a given unit execution may include a description of at least a portion of information obtained as a result of the executed unit execution.
[0268] For example, detailed information 1414 according to one embodiment may include search provider information as information related to a description or argument value of a given unit execution, which may include information about a search provider that provides search services using a search engine, such as a web search provider, a specific database search provider, or a geographic search provider.
[0269] The generating device 100 can make the user aware of the source of the information by indicating, via the detailed information 1414, which search provider the unit execution representing the search will use.
[0270] As an example of providing detailed information, a specific execution unit may represent a call to query a user's photo album database for photos taken with the user's passport. In this case, the description of the call may be "query personal photo album," the argument value of the execution unit may include a search condition for the photo (e.g., a photo taken with the ID card), and the execution result of the execution unit may include information about the searched photo (e.g., the date of the photo) and the passport number.
[0271] In this case, in response to receiving a detailed information providing input that selects visual element 1412 indicating a call to query the photo of the user's passport taken from the user's photo album, the generating device 100 can modify the interface to display detailed information 1414, including the fact that the passport number was extracted from a photo contained in the personal photo album and the date the photo used to extract the passport number was taken.
[0272] Meanwhile, in the embodiment described below, the interface generated by the generating device 100 may represent the second interface 1420.
[0273] In one embodiment, generating device 100 can update calling sequence 400 based on user input. Generating device 100 can generate second output text corresponding to input text 300 based on updated calling sequence 1430 and modify the interface to display the second output text and updated calling sequence 1430.
[0274] In this case, the second interest information used to generate the second output text may differ from the first interest information used to generate the first output text, and the second output text may differ from the first output text.
[0275] On the other hand, the update may include at least one of adding, deleting, and modifying a predetermined unit execution. That is, the generating device 100 may generate an updated calling sequence 1430 by modifying and / or deleting at least one unit execution constituting the calling sequence 400 based on user input, or by adding at least one unit execution to the calling sequence 400.
[0276] In this case, a user input method corresponding to addition, deletion, and modification of a predetermined unit execution may be preset. For example, the user input method corresponding to addition, deletion, and modification of a predetermined unit execution may be appropriately set from various input methods such as tap, long press, double tap, triple tap, swipe, pinch zoom in / out, click, double click, and drag, taking into consideration the user experience.
[0277] As another example, in response to receiving user input selecting a predetermined unit execution (e.g., user input selecting a visual element corresponding to the predetermined unit execution), generation device 100 can generate an interface that displays a menu area indicating "add," "delete," "change," etc. Thereafter, generation device 100 can obtain user input corresponding to any of adding, deleting, and changing the predetermined unit execution by receiving user input selecting any of "add," "delete," and "change" displayed in the menu area.
[0278] Meanwhile, after the updated calling sequence 1430 is generated, the generating device 100 may acquire the interest information 500 by executing the updated calling sequence 1430, and generate a second output text based on the acquired interest information 500. In this case, since the updated calling sequence 1430 may be different from the pre-update calling sequence 400, the interest information 500 acquired by executing the pre-update calling sequence 400 may be different from the interest information 500 acquired by executing the updated calling sequence 1430.
[0279] In one embodiment, the calling sequence 1430 may be generated to include a single input / output process of the first language model 340. In this case, the generating device 100 can generate an updated calling sequence 1430 by adding, deleting, and / or modifying specific unit executions in response to user input, and thus can generate a second output text based on the updated calling sequence 1430 using only the second language model 520 without using additional input / output processes of the first language model 340.
[0280] This adds controllability to the conversational agent's response generation process, allowing the user to directly manipulate the calls used to generate the answer to obtain the desired response, improving the user experience of interacting with the conversational agent.
[0281] In one embodiment, the generating device 100 can generate an interface that displays a first visual element 1422 that represents a given unit execution included in the calling sequence 400. The generating device 100 can then update the calling sequence 400 by changing argument values of the given unit execution in the calling sequence 400 based on receiving a change input for the given unit execution.
[0282] Generator 100 may then modify the interface to display a second visual element that indicates the given unit execution with the changed argument value, where the second visual element may be different from first visual element 1422.
[0283] For example, the unit execution corresponding to the first visual element 1422 may include "fast charging" as a search condition for searching charging stations as an argument value, and the unit execution corresponding to the second visual element, i.e., the modified unit execution, may include "slow charging" as an argument value. In this case, the first visual element 1422 may include an icon indicating fast charging, and the second visual element may include an icon indicating buffer charging.
[0284] According to an embodiment, the change input may be, but is not limited to, a specific gesture such as a long press on the first visual element 1422, or a voice utterance requesting a change. For example, the change input may be a user's voice utterance indicating, "Find a slow charging station instead of a fast charging station." In another example, the change input may be a user's voice utterance indicating, "Find the area around Gangnam Station instead of Seoul Station."
[0285] Furthermore, in one embodiment, the generating device 100 can provide at least one modification suggestion 1423 for the given unit execution based on receiving a first modification input for the given unit execution, and can update the calling sequence 400 by modifying argument values for the given unit execution based on receiving a second modification input that selects one of the at least one modification suggestions 1423.
[0286] Meanwhile, according to one embodiment, the first change input method may be set to a specific gesture such as a long press on a visual element corresponding to a predetermined unit execution, or may be set to a voice utterance input requesting a change, but is not limited thereto.
[0287] Furthermore, in one embodiment, the method of second change input can be set to, but is not limited to, a click, a touch, and / or a voice utterance input to select one of at least one proposed change candidate.
[0288] For example, the call sequence 400 may include a predetermined unit execution including a first argument value. The generation device 100 may receive a first change input from a user selecting a visual element 1422 corresponding to the predetermined unit execution, and in response to receiving the first change input, generate an interface that displays the first argument value and the second argument value as a change suggestion 1423 for the predetermined unit execution. As an example, the first argument value may represent "fast charging" and the second argument value may represent "slow charging" for the charging station search criteria.
[0289] The generation device 100 can receive a second modification input from the user to select a second argument value, and in response to receiving the second modification input, modify the first argument value of the call sequence 400 to the second argument value, thereby generating an updated call sequence 1430. The generation device 100 acquires interest information 500 through execution of the updated call sequence 1430, and generates second output text based on the interest information 500, thereby reflecting the modification of the unit execution and providing a response that more closely matches the user's intention.
[0290] Thereafter, the generating device 100 can change the interface that displays the visual element 1422 that indicates the first argument value to an interface that displays a visual element that indicates the second argument value.
[0291] Furthermore, in one embodiment, the generating device 100 can generate an interface that displays a predetermined unit execution included in the calling sequence 400. In this case, the generating device 100 can update the calling sequence 400 by deleting the predetermined unit execution from the calling sequence 400 based on receiving a delete input for the predetermined unit execution.
[0292] According to an embodiment, the deletion input may be, but is not limited to, a gesture such as a double tap on a visual element corresponding to a predetermined unit execution, or a voice utterance requesting deletion. For example, the deletion input may be a user's voice utterance indicating "it doesn't matter whether it's fast or slow."
[0293] In one embodiment, the generation device 100 receives a deletion input for a predetermined unit execution, and in response to receiving the deletion input, the generation device 100 can delete the predetermined unit execution from the call sequence 400 to generate an updated call sequence 1430. The generation device 100 obtains interest information 500 through execution of the updated call sequence 1430, and generates second output text based on the interest information 500 to reflect the deletion of the unit execution, thereby providing a response that more closely matches the user's intention.
[0294] Additionally, in one embodiment, the generator 100 may update the calling sequence by adding a given unit execution to the calling sequence based on receiving additional input for the given unit execution.
[0295] According to an embodiment, the additional input may be, but is not limited to, a user's voice utterance requesting the addition of a unit execution, such as clicking or touching a specific area of the interface where the call sequence 400 is displayed, such as a display area of the first output text. For example, the additional input may be a user's voice utterance stating, "Search for charging stations that provide food."
[0296] In one embodiment, the generation device 100 may receive additional input for a predetermined unit execution, and in response to receiving the additional input, add the predetermined unit execution to the call sequence 400 to generate an updated call sequence 1430. The generation device 100 obtains interest information 500 through execution of the updated call sequence 1430, and generates second output text based on the interest information 500 to reflect the addition of the unit execution, thereby providing a response that more closely matches the user's intention.
[0297] 15 is a block diagram of an apparatus according to one embodiment. The apparatus 1500 shown in FIG. 15 may correspond to the generating apparatus 100 shown in FIG.
[0298] 15, an apparatus 1500 may include a communication module 1510, a processor 1520, and a memory 1530. Only components relevant to the embodiment are shown in the apparatus 1500 of FIG. 15. Therefore, it may be understood by those skilled in the art that the apparatus 1500 may further include other general-purpose components in addition to the components shown in FIG.
[0299] The communication module 1510 may include at least one component that enables the device 1500 to perform wired / wireless communication with other devices. For example, the communication module 1510 may include a wired communication unit for implementing Ethernet, serial communication, or optical communication and / or a wireless communication unit for implementing Wi-Fi, Bluetooth, or cellular network-based communication.
[0300] The device 1500 can communicate with other devices that make up the system 10 by using a communication module 1510 to perform wired and / or wireless communication.
[0301] The processor 1520 controls the overall operation of the device 1500. For example, the processor 1520 can overall control the communication module 1510, the memory 1530, the input unit (not shown) and / or the output unit (not shown), etc. by executing a program stored in the memory 1530. The processor 1520 can control the operation of the device 1500 by executing a program stored in the memory 1530.
[0302] Processor 1520 can control at least a portion of the operation of device 1500 described above with reference to Figures 1 to 14. For example, processor 1520 can generate a call sequence based on an input text of a passenger using a pre-trained first language model, control communication module 1510 to acquire interest information by executing the call sequence, and generate output text corresponding to the input text based on the interest information using a pre-trained second language model.
[0303] As another example, the processor 1520 may use a pre-trained language model to generate a first output text corresponding to an input text based on the input text of a passenger, and generate an interface that displays the call sequence used to generate the first output text.
[0304] Meanwhile, specific examples of the operation of processor 1520 are the same as those described above with reference to Figures 1 to 14. Therefore, in the following, a specific description of the operation of processor 1520 will be omitted.
[0305] The processor 1520 may be implemented using at least one of ASICs (Application Specific Integrated Circuits), DSPs (Digital Signal Processors), DSPDs (Digital Signal Processing Devices), PLDs (Programmable Logic Devices), FPGAs (Field Programmable Gate Arrays), controllers, microcontrollers, microprocessors, and other electrical units for performing functions.
[0306] On the other hand, the operation of at least some of the functional modules constituting the generation device 100, such as the first generation unit 110, the execution unit 120, and the second generation unit 130 shown in FIG. 3, etc., can be realized by the processor 1520 performing arithmetic processing corresponding to each functional module.
[0307] Memory 1530 is hardware that stores various data to be processed within device 1500, and can store programs for various operations, processing, and control of processor 1520. Meanwhile, memory 1530 shown in Fig. 15 may be the same as memory 101 shown in Fig. 3.
[0308] The memory 1530 may include RAM (Random Access Memory), such as DRAM (Dynamic Random Access Memory), SRAM (Static Random Access Memory), ROM (Read-Only Memory), EEPROM (Electrically Erasable Programmable Read-Only Memory), CD-ROM, Blu-ray or other optical disc storage, HDD (Hard Disk Drive), SSD (Solid State Drive), or flash memory.
[0309] In one embodiment, device 1500 may be a mobile electronic device. For example, device 1500 may be implemented as a smartphone, tablet PC, PC, smart TV, personal digital assistant (PDA), laptop, media player, camera-equipped device, or other mobile electronic device. Device 1500 may also be implemented as a wearable device, such as a watch, glasses, headband, or ring, that has communication and data processing capabilities.
[0310] In another embodiment, device 1500 may be an electronic device that is integrated into a vehicle. For example, device 1500 may be an electronic device that is inserted into a vehicle during production or coupled to a vehicle after production via tuning.
[0311] In yet another embodiment, device 1500 may be a server located outside the vehicle. The server may be embodied in at least one computing device that communicates over a network to provide instructions, code, files, content, services, etc.
[0312] In one embodiment, the processes executed by device 1500 may be executed by at least a portion of a mobile electronic device, an electronic device embedded within a vehicle, and a server located outside the vehicle.
[0313] Meanwhile, embodiments of the present disclosure may be realized in the form of a computer program executable on a computer via various components, and such a computer program may be recorded on a computer-readable medium, which may include, but is not limited to, magnetic media such as hard disks, floppy disks, and magnetic tapes, optical media such as CD-ROMs and DVDs, magneto-optical media such as floptical disks, and hardware devices specially configured to store and execute program instructions, such as ROMs, RAMs, flash memories, etc.
[0314] Meanwhile, the computer program may be specially designed and constructed for the present disclosure, or it may be one that is well known and available to those skilled in the art of computer software. Examples of the computer program may include not only machine language code, such as that produced by a compiler, but also high-level language code that can be executed by a computer using an interpreter, etc.
[0315] According to one embodiment, methods according to various embodiments of the present disclosure may be provided in a computer program product. The computer program product may be traded between sellers and buyers as a commodity. The computer program product may be distributed in the form of a device-readable storage medium (e.g., a compact disc read-only memory (CD-ROM)) or may be distributed online (e.g., downloaded or uploaded) via an application store (e.g., Play Store™) or directly between two user devices. In the case of online distribution, at least a portion of the computer program product may be at least temporarily stored or temporarily generated in a device-readable storage medium, such as the memory of a manufacturer's server, an application store server, or an intermediary server.
[0316] Unless explicitly stated or contradictory to the order of steps constituting a method according to the present disclosure, the steps may be performed in any suitable order. The present disclosure is not necessarily limited to the order of the steps. The use of all examples or exemplary terms (e.g., etc.) in this disclosure is merely for the purpose of illustrating the present disclosure in detail, and the scope of the present disclosure is not limited by such examples or exemplary terms unless otherwise limited by the claims. Furthermore, those skilled in the art will understand that various modifications, combinations, and variations may be made depending on design conditions and factors within the scope of the appended claims or their equivalents.
[0317] Therefore, the spirit of the present disclosure should not be limited to the above-described embodiments, and it can be said that not only the scope of the claims described below, but also all scopes equivalent to or modified equivalently from the scope of the claims belong to the scope of the spirit of the present disclosure.
Claims
1. generating a call sequence based on a passenger input text using a pre-trained first language model; obtaining information of interest by executing the calling sequence; and generating an output text corresponding to the input text based on the interest information using a pre-trained second language model; Including, A method of providing a conversational agent using a call sequence comprising a plurality of calls.
2. The method of claim 1 , wherein the call sequence includes all calls for generating the output text.
3. The method of claim 1 , wherein the calling sequence includes multiple calls having a nested structure.
4. The step of generating a calling sequence comprises: Preprocessing the input text based on at least one of entity search, conversation example search, and prompt template application. The method of claim 1 further comprising:
5. The preprocessing step includes: generating a first search result using a pre-generated entity database, the first search result including entities corresponding to at least one string comprising the input text; generating a second search result including at least one example conversation having a similarity to the input text equal to or greater than a threshold value using a pre-generated database of example conversations; determining at least one call used in at least one example conversation included in the second search result as a target call; and generating a first input prompt for the first language model by applying a pre-generated first prompt template to the input text, the first search results, and the target invocation; The method of claim 4, comprising:
6. The step of generating a calling sequence comprises: post-processing the output of the first language model based on at least one of parsing and slot normalization; The method of claim 1 , comprising:
7. The post-processing step includes: generating a structured output representing the structure of the string by parsing the output of the first language model, the output being a string representation; and generating the calling sequence by converting at least one string included in the structured output into a normalized representation using a pre-generated slot normalization database; The method of claim 6, comprising:
8. The step of obtaining information of interest includes: The method of claim 1 , wherein the information of interest is obtained by performing at least some of the calls sequentially according to a preset order or by performing at least some of the calls in parallel.
9. The step of obtaining information of interest includes:
9. The method of claim 8, wherein the interest information is obtained by sequentially executing the plurality of calls based on a depth-first search.
10. The step of generating a calling sequence comprises: The method of claim 1 , wherein the call sequence is generated based on the input text and the passenger's conversation history.
11. The step of generating the output text comprises: The method of claim 10 , further comprising generating the output text based on the input text and the interest information.
12. The step of generating a calling sequence comprises: updating the conversation history by adding the input text to the conversation history. Including, The step of generating the output text comprises: The method of claim 11 , further comprising generating the output text based on the updated conversation history and the interest information.
13. The step of generating the output text comprises: generating a second input prompt for the second language model by applying a pre-generated second prompt template to the updated conversation history and the interest information; The method of claim 12 further comprising:
14. a communication module for performing the communication; a memory having at least one program stored therein; and a processor that operates by executing said at least one program; Including, The processor: generating a call sequence based on the passenger's input text using the pre-trained first language model; controlling the communication module to obtain information of interest by executing the call sequence; generating an output text corresponding to the input text based on the interest information using a pre-trained second language model; An apparatus for providing a conversational agent utilizing a calling sequence, wherein the calling sequence includes a plurality of calls.
15. A computer-readable recording medium having recorded thereon a program for causing a computer to execute the method of claim 1.