Program and Information Processing Method
Patent Information
- Application Number
- JP2025049644
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2025-02-10
- Filing Date
- 2025-03-25
- Publication Date
- 2026-08-27
- Estimated Expiration
- 2045-03-25
AI Technical Summary
【0008】 本発明によれば、ユーザが自然言語で指示した印刷設定の対象のファイルが特定されやすくなる。
Smart Images

Figure 0007912104000001_ABST
Abstract
Description
Technical Field
[0004] , ,
[0006] , , , ,
[0005] , , ,
[0003] , , ,
[0001] The present invention relates to a program and an information processing method.
Background Art
[0002] In Patent Document 1, a technique for instructing print settings and executing printing by a user conversing with a chatbot in natural language is disclosed.
Prior Art Documents
Patent Documents
[0003]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0004] There are cases where a user wants to specify detailed print settings when printing a file using natural language. When making print settings using the technique described in Patent Document 1, it is possible to make print settings by specifying the settings for each setting item through chatting with the chatbot for each setting item. The same can be done when the user makes print settings in natural language using AI (Artificial Intelligence).
[0005] However, since AI can communicate various information with the user, not limited to print settings, there are cases where it is difficult to identify what the natural language input by the user is an instruction for. As a specific example, even when the user specifies print settings in natural language to change the print settings of a file that has already been uploaded and print it, AI may not be able to identify which file the user specified the print settings for.
[0006] This invention was made in view of the above problems, and aims to make it easier to identify the target file for print settings specified by the user in natural language. [Means for solving the problem]
[0007] The program of the present invention includes an acquisition step of acquiring a file; an acceptance step of accepting a first setting based on the natural language entered by the user into a first input field, which is used when the acquired file is printed; a display step of displaying an object that does not include the first input field, which includes information about the acquired file and a second input field that accepts natural language from the user for setting a second setting used when the file is printed; and a setting step of setting a second setting based on the natural language entered by the user into the second input field, which is used when the acquired file is printed. Let the information processing device execute it It is characterized by the following. [Effects of the Invention]
[0008] According to the present invention, it becomes easier to identify the target file for print settings specified by the user in natural language. [Brief explanation of the drawing]
[0009] [Figure 1] A diagram showing an example of a network configuration according to the present invention. [Figure 2A] A diagram showing an example of the hardware configuration of computer 1000. [Figure 2B] Diagram showing an example hardware configuration of Plugin Server 6000. [Figure 2C] This diagram shows an example of the hardware configuration of the AI Assistant Server 4000. [Figure 2D] Diagram showing an example hardware configuration of the external system server 7000. [Figure 3A]Diagram showing an example of the software configuration of Application 2000 [Figure 3B] Diagram showing an example of the software configuration of AI Assistant 3000 [Figure 3C] Diagram showing an example of the software configuration of Plugin 5000 [Figure 3D] Diagram showing an example of a plugin manifest [Figure 3E] Diagram showing an example of the software configuration of Plugin Server 6000 [Figure 4A] Diagram showing an example of a card to be submitted [Figure 4B] Diagram showing an example of a card to be submitted [Figure 4C] Diagram showing an example of a card to be submitted [Figure 4D] Diagram showing an example of a card to be submitted [Figure 5A] Diagram showing an example of a card to be submitted [Figure 5B] Diagram showing an example of a card to be submitted [Figure 5C] Diagram showing an example of a card to be submitted [Figure 5D] Diagram showing an example of a card to be submitted [Figure 5E] [[ID=३९]]Diagram showing an example of a card to be submitted [Figure 5F] Diagram showing an example of a card to be submitted [Figure 6A] Sequence diagram showing an example of plugin call processing [Figure 6B] Flowchart showing an example of card creation processing [Figure 6C] Sequence diagram showing an example of plugin call processing when a card is updated [Figure 7] Diagram showing an example of an instruction for generating print settings [Figure 8A] Diagram showing an example of a card template [Figure 8B] Diagram showing an example of a definition used for parameter passing [Figure 9] Diagram showing an example of the network configuration in the second embodiment [Figure 10]This figure shows an example of the software configuration of the application in the second embodiment. [Figure 11] Sequence diagram showing an example of application plugin calling processing in the second embodiment. [Figure 12A] Diagram showing a card when the file content search is successful in the third embodiment. [Figure 12B] Diagram showing a card displayed when the file content search fails in the third embodiment. [Figure 13A] Plugin call sequence diagram in the third embodiment [Figure 13B] Flowchart showing an example of the card creation process in the third embodiment. [Modes for carrying out the invention]
[0010] The embodiments for carrying out the present invention will be described below with reference to the drawings. Note that the following embodiments are not intended to limit the invention as defined in the claims, and not all combinations of features described in the embodiments are necessarily essential to the solution of the invention.
[0011] In this embodiment, Generative AI refers to a technology that automatically generates various types of content such as text, images, music, and videos, similar to those created by humans. Furthermore, Generative AI does not execute processes according to predetermined rules like conventional AI, but generates these based on knowledge learned using deep learning.
[0012] Simultaneously, in this embodiment, the AI assistant refers to a system that accepts natural language input, for example, through the application's chat field (input field), and displays a response to that input, generated using generative AI, in the application's chat field.
[0013] In this embodiment, natural language input may be referred to as prompt 3100. The specifications of this prompt are not particularly limited and will depend on the specifications of each AI assistant, but for example, the user may attach image files or document files.
[0014] In this embodiment, natural language form refers to a form similar to everyday conversations between people, such as "Tell me the weather in Tokyo tomorrow." Natural language form has the advantage of being easier to use because it does not require the use of word-separated input, such as "Tokyo weather tomorrow" as used in web searches.
[0015] In this embodiment, a card is a form of post (display) that includes information such as text and images, and an object for the user to instruct further actions after viewing the generated content. The displayed content is updated according to the user's actions. This information and object are displayed, for example, within the same area.
[0016] In this embodiment, LLM is an abbreviation for Large Language Model.
[0017] [First Embodiment] <System Configuration> The following describes a first embodiment of the present invention.
[0018] Figure 1 shows an example of the system configuration in this embodiment. The network configuration diagram according to this embodiment includes a terminal device, a computer 1000, an AI assistant server 4000, a plug-in server 6000, and an external system server 7000. Furthermore, these are connected by the internet 8000 and can communicate with each other. The computer 1000 has an application 2000, and the application 2000 has an AI assistant 3000 and a plug-in 5000.
[0019] Computer 1000 is located, for example, within an office and is connected to the external internet 8000 via an internal network (not shown) and a router (not shown). Here, computer 1000, AI assistant server 4000, plug-in server 6000, and external system server 7000 are examples of information processing devices. Computer 1000 is also an example of a user terminal.
[0020] Application 2000 is an application that runs on Computer 1000 and includes AI Assistant 3000. Furthermore, the functionality of Application 2000 can be extended by adding Plugin 5000.
[0021] In this invention, the plugin 5000 refers to a function that communicates with the plugin server 6000 and performs arbitrary processing, and primarily uses a generating AI in its processing process, although it is not necessarily required that a generating AI be used in the processing process. Furthermore, the plugin 5000 can be called not only by user operation in the application 2000 but also by the AI assistant 3000. In addition, the plugin 5000 can also provide the AI assistant server 4000 with information acquired via the plugin server 6000 as an additional source of information for generating an answer.
[0022] The AI assistant server 4000 has the function of generating a response to prompt 3100, which is input to the AI assistant 3000 on application 2000, using generative AI models specialized in natural language processing, such as LLM.
[0023] The plug-in server 6000 has the function of performing arbitrary operations on the external system server 7000 according to the content of communication with the application 2000. Furthermore, the plug-in server 6000 has the function of generating products using arbitrary generating AI according to the content of the prompt 3100, and the function of posting information including at least the products of the generating AI as a card 3200 to the AI assistant 3000.
[0024] In this embodiment, card 3200 is an example of an object, and card 3200 displays various information using objects such as display fields, input fields, and buttons. Furthermore, the user can instruct the execution of the process corresponding to the selected button by selecting a button displayed on card 3200.
[0025] The external system server 7000 is connected to the plug-in server 6000 via the Internet 8000 and has the function of receiving operations from the plug-in server 6000.
[0026] Furthermore, application 2000 may be a client application residing on computer 1000, or a web application accessible via the internet 8000. Similarly, plugin 5000 may be deployed on computer 1000, on a web application, or on the AI assistant server 4000.
[0027] Furthermore, the function by which computer 1000 communicates with AI assistant server 4000 and plug-in server 6000 may be a function included in application 2000, or a function possessed by AI assistant 3000 and plug-in 5000. AI assistant 3000 and plug-in 5000 are called by application 2000.
[0028] <Hardware Configuration> Referring to Figure 2, an example of the hardware configuration of each device constituting the system according to this embodiment will be described.
[0029] Figure 2A shows an example hardware configuration of computer 1000. Figure 2B shows an example hardware configuration of plug-in server 6000. Figure 2C shows an example hardware configuration of AI assistant server 4000. Figure 2D shows an example hardware configuration of external system server 7000.
[0030] The hardware configuration of the AI assistant server 4000 shown in Figure 2C is the same as that of the plug-in server 6000 shown in Figure 2B. Furthermore, the hardware configuration of the external system server 7000 shown in Figure 2D is the same as that of the computer 1000 shown in Figure 2A. Therefore, a detailed explanation is omitted.
[0031] As shown in Figure 2A, the computer 1000 has a display unit 110, an operation unit 120, a storage unit 130, a control unit 140, and a network communication unit 150, which are connected to each other so as to be able to communicate with one another. The computer 1000 is, for example, a desktop or notebook personal computer (PC), a tablet terminal, or a smartphone. The control unit 140 is composed of a CPU (Central Processing Unit) 141 and memory 142, and controls the entire computer 1000.
[0032] The display unit 110 is composed of a display such as an LCD panel and can display images and various screens. The operation unit 120 is composed of a mouse or keyboard and can accept input operations from the user. Alternatively, it may be composed of a touch panel or the like that has the functions of both the display unit 110 and the operation unit 120.
[0033] The storage unit 130 is composed of a storage medium such as a hard disk or SSD (Solid State Drive), and stores various programs (software) necessary for the operation of the computer 1000. The programs are loaded into memory 142 as needed and executed by the CPU 141. The programs include those that cause the CPU 141 to execute various parts and functions of application 2000.
[0034] This program is not limited to being stored on computer 1000. For example, the program may be stored on an external device that can communicate with computer 1000, which runs application 2000, such as the AI assistant server 4000, the plug-in server 6000, or the external system server 7000. In that case, computer 1000 communicates with the external device when executing the program, accesses the program, and performs the processing.
[0035] The network communication unit 150 performs data input and output with external devices via an external network. This allows the computer 1000 to exchange information with external devices such as the AI assistant server 4000 or the plug-in server 6000 via a network such as the Internet 8000.
[0036] As shown in Figure 2B, the plug-in server 6000 has a display unit 610, an operation unit 620, a storage unit 630, a control unit 640, and a network communication unit 650, which are connected to each other so as to be able to communicate with one another.
[0037] The control unit 640 comprises a CPU 641, memory 642, and a GPU (Graphics Processing Unit) 643, and controls the entire plug-in server 6000.
[0038] Detailed explanations of the hardware configuration of Plugin Server 6000, which is the same as that of Computer 1000, will be omitted.
[0039] The GPU643 is a processing unit composed of image processing processors. For example, the GPU643 performs calculations to transform input image and text data using a Large-Scale Language Model (LLM) according to control commands given by the CPU641.
[0040] Furthermore, while it is preferable that the plug-in server 6000 and AI assistant server 4000, which perform processing using the generated AI, have a GPU 643, the effects of the present invention can still be achieved even in a configuration without a GPU 643.
[0041] <Software Configuration> Referring to Figure 3, an example of the software configuration for each device according to this embodiment will be described.
[0042] Figure 3A shows an example configuration of software modules related to the processing of AI Assistant 3000 and Plugin 5000 in Application 2000. Figure 3B shows an example configuration of software modules related to the response generation process in AI Assistant 3000, including the execution of Plugin 5000. Figure 3C shows an example software configuration of Plugin 5000.
[0043] Figure 3D shows an example of a plugin manifest 5010 in plugin 5000. Figure 3E shows an example of the software configuration of plugin server 6000.
[0044] <Software configuration of Application 2000> As shown in Figure 3A, application 2000 includes at least an AI assistant 3000, a plugin 5000, a plugin index 2100, and a card processing unit 2200. The names and number of these parts are not limited to these, and any configuration that enables the functions of the present invention is acceptable. Examples of applications 2000 include communication tools, email systems, and document editing software.
[0045] The AI assistant 3000 provides a function to return a response to the prompt 3100 when a prompt 3100 is entered. In addition, as shown in the following explanation and diagrams, the AI assistant 3000 provides a function to display interactions using cards 3200, etc.
[0046] Plugin 5000 is software added to extend the functionality of Application 2000, providing features such as the ability to operate various storage services and core business systems through Application 2000. Multiple Plugin 5000 installations are possible with Application 2000, and the maximum number of installable Plugin 5000 installations is subject to the specifications of Application 2000.
[0047] Furthermore, in addition to being called from application 2000, plugin 5000 can also be called from AI assistant 3000, and is used as reference information for AI assistant 3000 to generate a response to prompt 3100. Note that a single plugin 5000 may contain multiple commands, and AI assistant 3000 may determine and call the appropriate command.
[0048] Furthermore, the method of calling Plugin 5000 is not particularly limited. Plugin 5000 may be configured to be called only from Application 2000, or only from AI Assistant 3000. Alternatively, Plugin 5000 may be configured to support calls from both Application 2000 and AI Assistant 3000.
[0049] The plugin index 2100 manages a list of plugin information for each plugin installed in the application 2000. Note that the plugin index 2100 may simply be a database. The plugin information is metadata including the name, description (explanation in natural language form), parameters, etc. of the plugin 5000 described in the plugin manifest 5010 in the plugin 5000. In addition, the plugin information can register an ID assigned by the application 2000 side, etc. for managing the plugin 5000. Based on this plugin information, the AI assistant 3000 determines the plugin 5000 to be executed.
[0050] The card processing unit 2200 provides a communication function for causing the plugin server 6000 to perform an operation based on an instruction input by the user via the operation button 3250 on the card 3200.
[0051] <Software configuration of the AI assistant 3000> As shown in FIG. 3B, the AI assistant 3000 includes a chat input / output control unit 3010, an external data acquisition control unit 3020, a log management unit 3030, and an answer generation unit 3040. In addition, the external data acquisition control unit 3020 includes a web search control unit 3021, a business data acquisition control unit 3022, and a plugin data acquisition control unit 3023.
[0052] The chat input / output control unit 3010 has a function of receiving (accepting input) the prompt 3100 from the application 2000 and a function of transmitting the output generated via the AI assistant server 4000 to the application 2000.
[0053] The external data acquisition control unit 3020 has a function of acquiring additional information for the AI model unit 6020 in the answer generation unit 3040 to generate an answer.
[0054] The Web search control unit 3021 provides the function of acquiring information that exists on the Web via a search engine. The business data acquisition unit provides the function of acquiring documents and information created in daily operations from cloud storage and core business systems linked with application 2000. The plug-in data acquisition control unit 3023 provides the function of acquiring information on external systems, either in conjunction with or in conjunction with application 2000. Details of the processing of the plug-in data acquisition control unit 3023 will be described below based on an example.
[0055] The log management unit 3030 has the function of saving and providing as an operation log the prompts 3100 previously entered by the user and the responses output by the AI assistant 3000 in the AI assistant 3000. The operation logs saved by the log management unit 3030 are used as information for determining parameters when calling the plug-in server 6000 and for the AI assistant server 4000 to generate responses.
[0056] The response generation unit 3040 communicates with the AI assistant server 4000 and provides a function to generate a response to the prompt 3100 using LLM. In doing so, it is possible to use information acquired by the external data acquisition control unit 3020, the history of conversations conducted on the AI assistant 3000, and information that can be obtained from other applications as additional information. Information that can be obtained from other applications includes, for example, user / other users' posts in communication tools, and information about file creators and update history in presentation software.
[0057] <Software configuration of Plugin 5000> As shown in Figure 3C, the plugin 5000 has at least a plugin manifest 5010 as an information providing means that provides parameters for executing processing. The plugin manifest 5010 is a file that describes information about the plugin 5000, is registered in the plugin index 2100, and is used as information for the AI assistant 3000 to determine which plugin 5000 should be executed.
[0058] Figure 3D shows an example of a plugin manifest 5010. The plugin manifest 5010 shown in Figure 3D is a file content in JSON (JavaScript Object Notation) format and contains the information from 5011 to 5018.
[0059] Information 5011 contains settings indicating the name of the plugin. Information 5012 contains a description (natural language description) of the plugin, and is primarily referenced when the AI assistant 3000 determines which plugin to execute.
[0060] Specifically, when prompt 3100 is entered, the system may determine whether plugin 5000 can be executed by performing a keyword or conceptual search against the description. For example, if prompt 3100 is "Print Sample1.pdf in 5 copies / save printing", the system will search against the description "A plugin that takes the file name and print settings as input, sets the print settings, and prints the specified file".
[0061] Information 5013 is a component of the plugin and includes the commands in the plugin shown in Information 5014. Information 5014 is the commands implemented in the plugin and, in the example in Figure 3D, includes the ID, description, and parameters of each command. Information 5016 is the definition of the parameters for each command and, in Figure 3D, includes the parameter name, description, and input format.
[0062] Information 5015, 5017, and 5018 are descriptions of commands and parameters, respectively, which are primarily referenced by the AI Assistant 3000 when determining parameters for creating requests to the plugin server. Multiple commands can be set for a single plugin, but the maximum number of commands is subject to the specifications of Application 2000.
[0063] The above is merely an example, and the contents of Plugin Manifest 5010 are not limited to this. For example, developer information, sample prompts, plugin API definitions, and authentication methods may be described in Plugin Manifest 5010. Furthermore, the software configuration of Plugin 5000 is not particularly limited and may include, for example, an icon image and an API definition file for performing operations on Plugin Server 6000. Note that API is an abbreviation for Application Programming Interface.
[0064] <Software configuration of Plugin Server 6000> As shown in Figure 3E, the plug-in server 6000 includes a card creation processing control unit 6010, a generation AI model unit 6020, a card template 6030, and a content management unit 6040.
[0065] The card creation processing control unit 6010 has the function of controlling the processing performed by the plug-in server 6000 when it is called from the AI assistant 3000 using the plug-in 5000. Details of the processing performed by the AI assistant server 4000 will be described later based on an embodiment. For example, the card creation process of the card 3200 is performed based on the card template 6030 using operations on external systems other than the plug-in server 6000, operations on the generation AI model unit 6020, and the results of operations on the external systems and the generation AI model unit 6020. Furthermore, processing such as sending the created card 3200 to the application 2000 or the AI assistant 3000 is performed.
[0066] The generative AI model unit 6020 is the control unit for machine learning models trained using large datasets. These machine learning models include, for example, generative AI models such as LLMs suitable for natural language processing and GANs (Generative Adversarial Networks) suitable for image processing.
[0067] Furthermore, the plug-in server 6000 may be configured to include other generation AI models. Also, the generation AI model unit 6020 is not limited to being located within the plug-in server 6000, but may be included for use in an external system server 7000 located outside the plug-in server 6000.
[0068] The card template 6030 is a template for the card 3200 that will be sent to the AI assistant 3000. By applying the parameters generated during processing in the card creation processing control unit 6010 to the card template 6030, it is possible to create the card 3200 to be posted to the AI assistant 3000. Furthermore, the card template 6030 not only displays the output results of the plug-in server 6000, but can also accept user input on the application 2000 or the AI assistant 3000.
[0069] For example, a user can perform an operation on the plug-in server 6000 from a card 3200 displayed on the AI assistant 3000, and the CPU 441 can update the card 3200 based on the result. The card template 6030 may be a single file or multiple files, and the card template 6030 to be used may be selected depending on the prompt 3100.
[0070] In addition to existing on the plug-in server 6000, card template 6030 may also exist as part of plug-in 5000 installed in application 2000. In the latter case, instead of the plug-in server 6000, application 2000 or AI assistant 3000 itself would need to process the parameters received from plug-in server 6000 and apply them to card template 6030 to create card 3200.
[0071] The content management unit 6040 has the function of managing file content on the plug-in server 6000. The file content managed by the content management unit 6040 is not particularly limited. For example, it manages attached files 3130 attached to input prompts 3100, files obtained by the card creation processing control unit 6010 from the external system server 7000 using plug-in information, and files generated by the generation AI model unit 6020.
[0072] <Example of card posting UI> Referring to Figure 4, an example of the UI for card posting according to this embodiment will be explained. The screen of the AI assistant 3000 shown in Figure 4 displays a prompt 3100, a card 3200, and a chat sending field 3300. The prompt 3100 is posted by the user to the AI assistant 3000, and the card 3200 is returned to the AI assistant 3000 by the plug-in server 6000.
[0073] Furthermore, the chat message field 3300 is an example of an input field, and is used by the user to post a prompt 3100 to the AI assistant 3000. The user enters natural language into the chat message field 3300 to set the settings to be used when the file is printed, and the AI assistant 3000 accepts this.
[0074] Furthermore, users can post files in the chat message field 3300, and the AI assistant 3000 will retrieve them. When specifying a file, users can post only the file, attach the file to a text message, or post a string indicating the file's location, such as a URL.
[0075] From here on, we will explain using a plugin 5000 as an example, which provides a function that allows the user to set print settings via the AI assistant 3000 and print the file content specified by the user. However, the display of card 3200 and other elements necessary for this process are not particularly limited.
[0076] Plugin 5000 requests at least two parameters from Plugin Server 6000 as input: File name 3110 and print settings 3120. File name 3110 is the file name of the file content to be printed, and print settings 3120 are specific (or abstract) print settings such as the number of copies, paper type, and whether or not to print double-sided.
[0077] The plugin server 6000, which can communicate via plugin 5000, has the function of retrieving file content to be printed from an external system server 7000, such as cloud storage. It also has the function of generating print settings 3120, creating a preview image by applying the generated print settings 3120 to the retrieved file content, and returning a card 3200 containing the generated print settings 3120 and the preview image.
[0078] Plugin 5000 creates a card 3200 containing print settings and a preview image based on a prompt 3100 that includes a file name 3110 and print settings 3120, and posts it to the AI assistant 3000. The user can then interact with the AI assistant 3000 via the card 3200, using the information stored in the card to change print settings, change the print target, and issue print execution commands.
[0079] In this process, the results of each interaction and process are displayed not by posting a new card 3200, but by updating an already posted card 3200. This prevents an increase in the number of unnecessary chats posted through multiple interactions. As a result, the usability and visibility of the user's application 2000 are improved.
[0080] Furthermore, if the user wants to print a different item with different settings, they can enter prompt 3100 again into the chat message field 3300 and invoke plugin 5000, which will post a new card. The user can then engage in a new exchange through the newly posted card 3200. Hereafter, plugin 5000 may be referred to as the "print plugin," plugin server 6000 as the "print plugin server," and external system server 7000 as "cloud storage."
[0081] In this embodiment, the card 3200 includes an input content display 3210, a generation reason display 3220, a print settings display 3230, a preview image display 3240, and operation buttons 3250. The operation buttons 3250 also include a print settings change button 3251, a file change button 3252, and a print execution button 3253.
[0082] Card 3200 is an object that is displayed when a file is retrieved and when settings are accepted based on natural language entered in the chat message field 3300. As is clear from the diagram, card 3200 does not contain the chat message field 3300; each is displayed independently in a separate area.
[0083] This section describes prompt 3100, which was submitted by the user to AI Assistant 3000. In Figure 4A, the user entered the natural language instruction "Print Sample1.pdf in 5 copies / save printing" as prompt 3100 (Figure 4B shows the same prompt 3100).
[0084] The AI assistant 3000 analyzes the prompt 3100 entered (posted) by the user and, if it determines that executing the print plugin is appropriate, it calls the print plugin server. At that time, the AI assistant 3000 extracts the file name "Sample1.pdf" 3110 and the print setting "5 copies / economy printing" 3120 information from the prompt 3100 based on the parameter specifications described in the plugin manifest 5010. These two pieces of information are passed from the AI assistant 3000 to the print plugin server and used in the processing of the card creation processing control unit 6010.
[0085] Note that the user's input prompt 3100 is not limited to the example above. For example, the user may call the print plugin by specifying the print target with an abstract file specification, such as "Print 5 copies of tomorrow's meeting materials (saving on printing costs)," as shown in Figure 4C. In that case, the business data acquisition control unit 3022 in the AI assistant 3000 searches for the document corresponding to "tomorrow's meeting materials" and passes it to the print plugin server when calling. Alternatively, the card creation processing control unit 6010 of the print plugin server may need to perform processing such as searching for the document corresponding to "tomorrow's meeting materials" from cloud storage.
[0086] Alternatively, as shown in Figure 4D, the user may attach a file to the prompt 3100 and input a combination of natural language and file content, such as "Print this file in 5 copies / saving prints." Furthermore, if the application 2000 equipped with the AI assistant 3000 provides file editing functions such as document editing software or presentation software, the following processing may be performed. The AI assistant 3000 may accept the instruction "Print this file itself in 5 copies / saving prints" and pass the information that the application 2000 possesses to identify "this file itself" to the print plug-in server for processing.
[0087] The information used for identification includes the file name 3110 and the file ID.
[0088] Next, we will describe the card 3200 returned (posted) by the print plugin server. In the examples in Figures 4A to 4D, the card 3200 displays the input content 3210, the reason for generation 3220, the print settings 3230, the preview image 3240, and the operation buttons 3250.
[0089] The input content display 3210 shows the prompt that the user entered and posted in the chat message field 3300. In other words, when the print plugin is called, the content sent from the AI assistant 3000 to the print plugin server is displayed, allowing the user to confirm it.
[0090] In the example in Figure 4A, the prompt 3100 posted by the user, "Input prompt: Print Sample1.pdf 5 times / save printing," is displayed directly in the input content display 3210. However, the content displayed in the input content display 3210 is not limited to the above.
[0091] For example, as shown in Figure 4B, the parameters extracted from prompt 3100 and sent to the print plugin server may be displayed instead of the actual prompt 3100 entered, such as "File name: Sample1.pdf Print settings: 5 copies / economy printing". Alternatively, as shown in Figure 4C, the file name 3110, which has been searched and estimated based on an abstract file specification, may be displayed, such as "Input prompt: Print tomorrow's meeting materials in 5 copies / economy printing File name: Sample1.pdf". Note that the display of input content 3210 is not mandatory, and the configuration may be such that the input content display 3210 is not displayed.
[0092] The generation reason display 3220 and the print settings display 3230 show the parameters generated by the print plugin server using the generation AI model unit 6020.
[0093] In the example in Figure 4A, the reason for generation display 3220 shows "You can save on printing costs by selecting recycled paper as the paper type and performing double-sided printing," and the print settings display 3230 shows "Number of copies: 5 Paper type: Recycled paper Double-sided printing: Yes Do you want to print with these settings?"
[0094] The content displayed in the generation reason display 3220 and the print settings display 3230 is not limited to the above content. For example, as shown in the example in Figure 4C, in addition to the reason for generating the print settings 3120, the basis for the estimation from the abstract file specification may be shown, such as, "The meeting scheduled for tomorrow is the XX meeting at 13:00. Sample1.pdf is attached as a document in the scheduler."
[0095] The preview image display 3240 shows an image (preview image) in which the print settings 3120 generated by the generation AI model unit 6020 have been applied to the print target file specified by the file name 3110, etc., as shown in the example in Figure 4A. This allows the user to confirm whether the print settings and other content instructed by the user via prompt 3100 have been reflected as intended by the user.
[0096] Thus, the card 3200 can not only display the generated products using the AI model unit 6020 on the plug-in server 6000, but can also display the results of further processing performed using those products.
[0097] The operation button 3250 displays buttons for the user to perform additional operations after reviewing the generated output. In the example in Figure 4A, there is a print settings change button 3251, a file change button 3252, and a print execution button 3253.
[0098] The print settings change button 3251, when pressed, allows the CPU 141 to accept additional user prompts 3100 and regenerate the print settings 3120 (described later in Figure 5A). The file change button 3252, when pressed, allows the CPU 141 to accept user re-selection of a file and change the print target. The print execution button 3253, when pressed, allows the CPU 141 to submit a print job to the printer with the contents displayed on the card 3200.
[0099] Note that there may be only one operation button 3250 per card 3200, or multiple buttons may be displayed, and the upper limit of the number of buttons that can be displayed is in accordance with the specifications of application 2000.
[0100] The above shows examples of the screen when card 3200 is posted, referring to Figures 4A to 4D. As shown above, even when printing the same file with the same settings, the elements and display methods on card 3200 may differ depending on how prompt 3100 is written. In the example figures, the same file "Sample1.pdf" is printed with the same settings: "Number of copies: 5, Paper type: Recycled paper, Double-sided printing: Yes". On the other hand, it is also possible to have a configuration where the display is always performed in one pattern as shown above.
[0101] Furthermore, although Figure 4 was explained under the assumption that one prompt 3100 posts one card 3200 associated with one print job, the number of cards 3200 that the plug-in server 6000 can post at once is not particularly limited.
[0102] For example, a prompt 3100 such as "Suggest optimal print settings 3120 for Sample1.pdf / Sample2.pptx" may be configured to post individual cards 3200 for each file. In this case, the user can set print settings for each corresponding file in each card 3200.
[0103] <Example of card update UI> Referring to Figure 5, an example of the screen (UI) when updating card 3200 according to this embodiment will be explained. For the sake of explanation, Figure 5 assumes that the prompt 3100 and card 3200 shown in Figure 4A have been posted. In the following explanation, the selection of the operation button 3250 associated with updating the card refers to a general user operation to perform any operation, such as clicking the mouse or pressing the Enter key on the keyboard to select a button.
[0104] <Example of UI for updating cards when print settings are changed> If a user wants to change the print settings 3120 generated by the print plugin server, they can select the print settings change button 3251 on the card 3200 to generate different print settings.
[0105] Figure 5A shows an example of card 3200 where the prompt input field 3254 and the card update button 3255 are displayed because the print settings change button 3251 has been selected. The prompt input field 3254 and the card update button 3255 are elements that are not displayed when the card is first submitted (Figure 4A), but are displayed when the print settings change button 3251 is selected.
[0106] The prompt input field 3254 is a field where the user can input a prompt 3100 in natural language format. The user can input the prompt using the operation unit 120 or software keys (not shown) that appear when selected. The AI assistant 3000 receives the natural language input from the user in the prompt input field 3254 and uses it to configure settings when the file is printed.
[0107] For example, Figure 5A shows a state where the user has entered the prompt "Print in 2-in-1". There are no particular limitations on the content of the prompt 3100 that can be entered in the prompt input field 3254, but the number of characters that can be entered and whether or not files can be attached are subject to the limitations of Plugin 5000 and Application 2000.
[0108] Once the user has finished entering prompts in the prompt input field 3254, they select the card update button 3255. When the card update button 3255 is selected, a request is sent to the print plugin server containing the current print settings 3120 and file name 3110 held by card 3200, as well as the prompt 3100 entered in the prompt input field 3254. As a result, the generation AI model unit 6020 is used to regenerate the print settings 3120, and card 3200 is updated based on the result.
[0109] In other words, at this time, a new card is not posted; rather, the content of the already posted card 3200 is updated according to the user's prompt. Alternatively, the configuration may include displaying print settings and other information corresponding to the user's prompts in the new card.
[0110] Figure 5B shows an example of a card 3200 that has been updated as a result of selecting the card update button 3255 in Figure 5A. In Figure 5B, the input content display 3210, the generation reason display 3220, the print settings display 3230, and the preview image display 3240 have been updated based on the prompt 3100, "Print in 2-in-1," entered in Figure 5A. In addition, a highlight 3260 indicating the content of the operation performed, "Print settings 3120 have been changed!", has been added as an element of the new card 3200.
[0111] At this point, the preview image has been updated, and the preview image with the settings based on the initial prompt entered by the user is no longer displayed. However, to show the difference between before and after the update, the pre-update preview image may continue to be displayed.
[0112] Naturally, if the user enters "Print in 4-in-1" in the prompt input field 3254, the input content display 3210, the generation reason display 3220, the print settings display 3230, and the preview image display 3240 will be updated based on this prompt 3100. In addition to print settings, if the user specifies, for example, the number of copies to print, the item corresponding to the specified number of copies will be updated.
[0113] For example, if the user enters "Print 6 copies" in the prompt input field 3254, the highlighting 3260 will display something like "Number of copies changed!". Additionally, the input content display 3210 will display something like "Input prompt: Print 6 copies", and the generation reason display 3220 will display something like "The number of copies was specified, so the setting value for the number of copies has been changed". Furthermore, regarding the print settings display 3230, as shown in Figure 5A, the content "Number of copies: 5 copies" that was displayed before the user selected the card update button 3255 will be updated to "Number of copies: 6 copies" (not shown).
[0114] In this case, the string "6 copies" may be displayed instead of "5 copies." That is, if the user changes the print settings as described above, the print settings before the change may not be displayed, and the print settings after the change may be displayed. Alternatively, both the print settings before and after the change may be displayed. Furthermore, the display of print settings here may refer to all of the multiple setting items, or only the setting item that has been changed.
[0115] <Example UI for updating cards when files are changed> If a user has entered the wrong filename (3110) and wants to change the print target, they can select the file change button (3252) on card (3200). This allows the currently displayed print settings (3120) to be applied to the next selected file. Since the print target can be changed while the print settings (3120) remain the same, the user does not need to reconfigure the same print settings (3120) from scratch every time they change the print target, thus reducing their workload.
[0116] Figure 5C shows an example of card 3200 in which a scrollable file selection field 3256 and a card update button 3255 are displayed after the file change button 3252 is selected. Note that the process of obtaining each file displayed in this file selection field 3256 is not particularly limited. For example, the print plugin server may access an external service and display the obtained information, or the card 3200 may display the information in conjunction with the business data acquisition function of application 2000 (or AI assistant 3000) as a function of card 3200.
[0117] The files displayed as suggestions here may include, for example, files recently used by the user, files in the same directory as the initially selected file, files with the same extension, frequently used files, and files with a print history.
[0118] Alternatively, instead of the file selection field 3256, a prompt input field 3254 similar to that in Figure 5A may be displayed, or both the scrollable file selection field 3256 and the prompt input field 3254 may be displayed.
[0119] Furthermore, the user does not necessarily have to select the file change button 3252 to change the print target. For example, as mentioned above, the user may change the print target and update the display on card 3200 by typing "Change to Sample2.pptx" in the prompt input field 3254 that appears when the print setting change button 3251 is selected.
[0120] <Example of card update UI during printing> If the user confirms the print settings display 3230 and preview image display 3240 shown on card 3200 and is satisfied with the various settings and wishes to proceed with printing, the user selects the print execution button 3253. By selecting the print execution button 3253, the user can submit a print job to the printer through the processing of the print plugin server. As a result, the file specified by the user (the target of printing) is printed with the settings specified by the user.
[0121] Figure 5D shows a card 3200 indicating that a print job has been submitted to the printer or server because the print execution button 3253 has been selected. In addition to the highlighting 3260 and preview image display 3240, Figure 5D also shows a job details display 3270 which shows the print settings of the print job that was finally submitted to the printer. The print settings of the print job that was finally submitted are the settings that were set when the user selected the print execution button 3253.
[0122] Furthermore, even without user interaction with card 3200, card 3200 can be updated by processing by the plug-in server 6000. Figure 5E shows how card 3200 is updated triggered by the printing of a job submitted as described above. In the state shown in Figure 5E, the highlighting 3260 and job content display 3270 have been updated from the state shown in Figure 5D. In this embodiment, if the user is satisfied with the settings initially entered based on the user's prompt, the update process may not be performed, and printing may be performed with these settings.
[0123] Furthermore, the display examples in Figures 5D and 5E show card 3200 displayed when a print job has been submitted and the processing has been transferred to the print plug-in server and the connected printer, so the operation buttons 3250 are not displayed. However, this is not limited to this, and for example, an operation button 3250 such as "Print another file with the same settings" may be displayed to allow the user to submit a new card 3200 or to prompt the user for input. Alternatively, operation buttons 3250 such as "Print again" or "Cancel print job" may be displayed, and when a button is selected, the process corresponding to the selected button is executed.
[0124] <Example UI for card update when an error occurs> If the print settings 3120 specified in prompt 3100 are inappropriate, the CPU 141 displays a card 3200 indicating that prompt 3100 is inappropriate. Figure 5F shows an example of the card 3200 displayed when the inappropriate prompt 3100 "Increase the number of copies to 500" is entered in the prompt input field 3254 in Figure 5A.
[0125] The card 3200 shown in Figure 5F displays highlighting 3260, input content display 3210, error content display 3280, prompt input field 3254, and card update button 3255. The error content display 3280 shows an explanation of the cause of the error and how to deal with it, such as "Error: The specified number of copies cannot be set. Please specify the number of copies as an integer in the range of 1 to 99."
[0126] Furthermore, a characteristic of Figure 5F is that, as shown in Figures 5A to 5E, the preview image display 3240 does not exist on the card 3200. For example, if the prompt instructs 64in1 when it is possible to set (support) up to 16in1, this setting cannot be made, and therefore the preview image is not generated (cannot be generated). As a result, the preview image display 3240 is not displayed on the card 3200. Note that, for example, an image indicating an error may be displayed on the preview image display 3240.
[0127] In the case of an error related to specifying the number of copies, as described in this embodiment, since the print setting itself is not an error, a preview image can be generated and displayed as preview image display 3240, and such a configuration is also acceptable. However, if the prompt is inappropriate (there is an error), having a difference in display compared to when there is no error can help the user notice the error more easily.
[0128] Therefore, in the following explanation, a card 3200 that has a preview image display 3240 will be referred to as a preview card, and a card 3200 that does not have a preview image display 3240 will be referred to as an error card.
[0129] These preview cards and error cards may be created from different card templates 6030 or from the same card template 6030. Furthermore, even within the preview cards and error cards themselves, multiple card templates 6030 may be used depending on their purpose or the type of error, and each card may be generated accordingly.
[0130] The conditions under which an error card is generated are not particularly limited. Examples include situations where the process does not proceed normally or properly, such as when the specified file content does not exist, or when a prompt 3100 unrelated to printing is entered.
[0131] The above describes examples of UI screens for creating and updating cards, referring to Figures 4 and 5. However, the card UI is not limited to these examples and may take various forms in accordance with the specifications of Application 2000 and Plugin 5000.
[0132] For example, if a user enters the prompt "Print @Sample1.pptx" without specifying any print settings, frequently used print buttons and settings such as "Economical Printing," "Meeting Materials," and "Poster Printing" may be displayed. In this way, the display of card 3200 may change in response to the user's input / generated AI response.
[0133] Furthermore, since the display unit 110 may be small on mobile devices, the display of the card may be changed depending on the device running the application 2000, such as by adjusting the size of the preview image display 3240.
[0134] <Example Sequence> Referring to Figure 6, the processing flow from the CPU 141 of the computer 1000 to the submission of card 3200 will be explained in this embodiment. In the following, "S" indicates a processing step, and the following number indicates the step number. Note that application 2000 operates under the control of the CPU 141 of the computer 1000.
[0135] <Plugin call sequence when creating a card> Using Figure 6A, the sequence from when the CPU 141 controls each part to when it calls the plug-in 5000 and posts the card 3200 will be explained. Note that the application 2000 and the AI assistant 3000 execute their respective functions using the CPU 141. In addition, the computer 1000, the AI assistant server 4000, and the plug-in server 6000 each have their own CPUs that control each device, and their respective network communication units enable communication between the devices.
[0136] In S101, the CPU 141, which controls application 2000, accepts user input at prompt 3100.
[0137] In S102, the AI assistant 3000, controlled by the CPU 141, requests a list of the 5000 plugins registered in application 2000 from the plugin index 2100.
[0138] In S103, the plugin index 2100 controlled by the CPU 141 returns a list of plugins 5000 requested by the AI assistant 3000, allowing the AI assistant to receive (obtain) the list of plugins 5000. Alternatively, if the plugin index 2100 is a database, the AI assistant 3000 may obtain the list of plugins 5000 by referencing the plugin index 2100.
[0139] In S104, the AI assistant 3000, controlled by the CPU 141, determines which plugin 5000 to execute in response to the user's instructions entered as prompt 3100. The AI assistant 3000 makes this determination, for example, by referring to the description of each plugin (a natural language description of each plugin) based on the prompt 3100 entered by the user, and performing keyword searches or AI-based conceptual searches.
[0140] Let's explain with another concrete example. The AI assistant 3000, controlled by the CPU 141, first performs a conceptual search between the prompt 3100 entered by the user in S101 and the description of the print plugin, as exemplified in information 5012 in Figure 3D. If there are multiple candidates, it searches and evaluates each plugin 5000, and if it meets certain conditions such as ranking or score, the AI assistant 3000 can determine that it is appropriate to execute the print plugin.
[0141] Furthermore, if multiple suitable plugins 5000 exist, the AI Assistant 3000 may process each plugin individually, or it may process only one of the selected plugins 5000. On the other hand, if no suitable plugin 5000 exists, it does not need to process any plugins 5000.
[0142] Furthermore, a single plugin 5000 may have multiple commands, and the AI assistant 3000 may refer to the description set for each command to determine which plugin 5000 is which on a command-by-command basis. Once the AI assistant 3000 controlled by the CPU 141 has determined which plugin and which commands of plugin 5000 will execute the processing, the process moves to S105.
[0143] In S105, the AI assistant 3000, controlled by CPU 141, determines the parameters for executing Plugin 5000. The AI assistant 3000 determines the parameters based on, for example, the prompt 3100, the operation log, and other information that the AI assistant 3000 can obtain. At this time, the AI assistant 3000 also refers to the description of each parameter and performs parameter extraction or parameter generation using the generated AI. The operation log is, for example, a log managed by the AI assistant 3000.
[0144] For example, in this parameter determination, the AI generates parameters from prompt 3100 based on prompt 3100 and the descriptions of the "fileName" and "printConfig" parameters, as exemplified in information 5015. This allows the AI assistant 3000 to determine that the appropriate value for the "fileName" parameter is "Sample1.pdf" and the appropriate value for the "printConfig" parameter is "5 copies / economy printing". Specifically, in this case, the determination is based on the "filename of the file content to be printed" and the "specific (or abstract, such as economy settings) print settings, including the number of copies, paper type, and whether or not to print on both sides."
[0145] Alternatively, as shown in Figure 4C, if the user specifies the printing target with an abstract file specification, such as "Print 5 copies of tomorrow's meeting materials using a cost-saving method," the AI Assistant 3000 may retrieve the relevant file by referring to the schedule management function of Application 2000. Specifically, for example, the AI Assistant 3000 retrieves the user's schedule for the next day and then retrieves the relevant file by searching for files or folders that contain the string "meeting appointment." If a file is attached to the schedule, the AI Assistant 3000 can also retrieve that file.
[0146] Additionally, the AI Assistant 3000 obtains the next date (as a string) based on the current date, and then searches for files and folders containing that string to retrieve the relevant files.
[0147] Furthermore, the process of referencing the schedule management function of this application 2000 may also be handled in the same way as the determination of plugins and parameters, by application 2000 referring to prompt 3100 and using a generating AI or the like to determine whether or not to execute the process.
[0148] In S106, the AI assistant 3000 sends a request to the plug-in server 6000 to generate card 3200. Upon receiving the request, the plug-in server 6000 starts the card generation process for card 3200 in the card creation processing control unit 6010 controlled by the CPU 641.
[0149] In S107, the card creation processing control unit 6010, controlled by the CPU 641, instructs the generation AI model unit 6020 to generate the product. For example, the print plug-in server inputs the "printConfig" parameter specified in S105 from the information received from the AI assistant 3000 into the generation AI model (generation AI model unit 6020) and instructs it to generate print settings in JSON format.
[0150] In S108, the card creation processing control unit 6010 receives the generated product from the generation AI model unit 6020 and generates the card 3200 based on the received information. Details of the card generation process will be explained using Figure 6B.
[0151] In S109, the card creation processing control unit 6010, controlled by the CPU 641, sends (returns) the card 3200, which was created in S108, to the AI assistant 3000 of the computer 1000.
[0152] In S110, the AI assistant 3000, having received the card 3200 generated by the plug-in server 6000, sends a request to the AI assistant server 4000 to generate an answer, using the prompt 3100 and the card 3200 as input. Upon receiving this, the CPU 441 of the assistant server 4000 controls an LLM unit (not shown) to generate an answer corresponding to the received request. This answer will later be the answer that the AI assistant 3000 provides to the prompt entered by the user in S101.
[0153] In S111, CPU441 sends (returns) the answer generated using the LLM unit to computer1000.
[0154] In S112, the AI assistant 3000, controlled by the CPU 141, displays its response on the display unit 110 of the computer 1000. This displays a card 3200 as shown in Figure 4, allowing the user to perform operations on the plug-in server 6000 via the operation buttons 3250.
[0155] Note that the processing in S110 and S111 may be omitted. For example, if both the card 3200 returned by the plug-in server 6000 and the summary of the card 3200 generated by the LLM unit are displayed in response to the user's prompt 3100, content duplication may occur. On the other hand, the user may want to see many elements at once in the card 3200 returned by the plug-in server 6000. In that case, the user experience can be improved by not omitting these processes and generating and displaying a summary of the card 3200 generated by the LLM unit.
[0156] The above is an example of a basic Plugin 5000 call sequence, but the order of the Plugin 5000 call sequence is not limited to this, and other processes may be included in the sequence. Furthermore, some of the processes may be omitted as long as the effects of the present invention can be achieved.
[0157] <Card creation process in the plugin execution control unit> Next, using Figure 6B, an example of the card creation process will be explained using the print plugin described in the Card Submission UI section. Note that the process shown in this flowchart is executed by the CPU 641 of the plugin server 6000 controlling the card creation processing control unit 6010 and the generation AI model unit 6020.
[0158] Furthermore, this process details the card generation process described before and after S108. This process begins when the AI assistant 3000 sends a request to the plug-in server 6000 to generate card 3200 (S106). At this time, the card creation processing control unit 6010 starts the card 3200 generation process.
[0159] As mentioned above, the print plugin shall input at least two parameters, the file name 3110 and the print settings 3120, to the print plugin server. Furthermore, each device shall communicate via its own network communication unit.
[0160] In S201, the card creation processing control unit 6010, controlled by the CPU 641, performs authentication processing against the cloud storage used by the user in order to obtain the file content of the file the user wants to print. Here, for example, it is assumed that the user's authentication information is entered when the user adds Plugin 5000 to Application 2000, or when Plugin 5000 is executed for the first time, and this information is used when executing the authentication process.
[0161] In S202, the card creation processing control unit 6010, controlled by the CPU 641, instructs the cloud storage to search for the items to be printed. At this time, the CPU 641 can instruct the search by sending signals, such as commands, to the cloud service that manages the cloud storage. The cloud storage, upon receiving this, executes the search according to the received instructions. Once the search is complete, it sends (returns) the search results to the plug-in server 6000.
[0162] In S203, CPU641 determines whether or not there is a print target in the cloud storage. Specifically, for example, if the cloud storage successfully searches and identifies the print target, CPU641 receives information to that effect. On the other hand, if the cloud storage fails to search and does not identify the print target, CPU641 receives a signal to that effect. Based on the received information, CPU641 then determines whether or not there is a print target. Note that CPU641 may also be configured to determine that there is no print target if there is no response from the cloud storage after a predetermined time has elapsed.
[0163] Based on the signals received by CPU641, if it determines that there is a print target, the process proceeds to S204; otherwise, it proceeds to S212.
[0164] In S204, CPU641 receives the file to be printed following the signal from S203. This allows CPU641 to retrieve the file content. Alternatively, if the system determines that there is a file to be printed in the cloud storage, CPU641 may receive the file itself instead of a signal indicating this. In this case, in S203, CPU641 determines that there is a file to be printed based on the file it received.
[0165] In S212, the card creation processing control unit 6010, controlled by the CPU 641, creates an error card (card 3200), for example, as described in Figure 5F. Note that the design of the error card is not limited to that shown in Figure 5F; an appropriate design or text will be displayed depending on the nature of the error.
[0166] In S205, the card creation processing control unit 6010, controlled by the CPU 641, executes an instruction statement creation process to generate the print settings 3120. This creates the instruction statement.
[0167] The content of the instruction text created here is not particularly limited, and as illustrated in Figure 7, it may be a natural language string consisting of the instruction content, the user's print command, the output format, the print configurable items, an example response, and an example of error output.
[0168] In S206, the card creation processing control unit 6010, controlled by the CPU 641, sends the instruction text created in S205 to the generation AI model unit 6020 for input. Upon receiving the instruction text, the generation AI model unit 6020, controlled by the CPU 641, generates print settings according to the instruction text. Once the generation of print settings is complete, the generation AI model unit 6020 returns the generated print settings to the card creation processing control unit 6010.
[0169] In S207, the card creation processing control unit 6010, controlled by the CPU 641, receives the print settings 3120 generated by the generation AI model unit 6020.
[0170] In S208, the card creation processing control unit 6010, controlled by the CPU 641, determines whether or not an error has occurred in the print settings. The CPU 641 checks the generated print settings 3120, and if it determines that an error has occurred, the process moves to S212. In S212, the card creation processing control unit 6010, controlled by the CPU 641, creates an error card.
[0171] The decision process in S208 is based on whether or not a JSON file containing only the key value "error" has been output, as shown in the example error output in Figure 7. If CPU 641 determines that there are no errors in the generated print settings 3120, the process proceeds to S209.
[0172] In S209, the card creation processing control unit 6010, controlled by the CPU 641, generates a preview image based on the file content acquired in S204 and the print settings 3120 generated in S207. Specifically, for example, the preview image generated here is an image with the acquired file content and the generated print settings applied. The preview image creation process may be performed using a rule-based method or by generating an image using a generation AI model.
[0173] In S210, the card creation processing control unit 6010, controlled by the CPU 641, creates a preview card using the card template 6030.
[0174] In addition, in S210 and S212, the card creation processing control unit 6010 may perform pre-processing to adjust the appearance of the card 3200. For example, instead of displaying the print settings as text, the print settings may be displayed as a bulleted list as shown in the print settings display 3230 in Figure 4A. To perform such a display, the CPU 641 may create a string including escape characters from the JSON format data.
[0175] Additionally, the CPU 641 may change the size of images and text displayed on the generated card depending on the execution terminal of application 2000 equipped with AI assistant 3000, that is, depending on the size of the display unit 110.
[0176] This process can be executed either by CPU641 adjusting the parameters, or by using different card templates 6030.
[0177] In S211, the card creation processing control unit 6010, controlled by the CPU 641, sends the card 3200 created in S210 to the computer 1000 and returns it to the AI assistant 3000 of application 2000.
[0178] <Plugin call sequence during card renewal> Next, Figure 6C will be used to explain the plugin call sequence during card updates. Unlike the sequence during card creation, the plugin server 6000 is called during card updates without going through the AI assistant 3000.
[0179] In S301, the CPU 141 of computer 1000 accepts user prompt 3100 input via card 3200. At this time, the user enters instructions into the prompt input field 3254 that appears when the print setting change button 3251 of card 3200 is selected, and then selects the card update button 3255. Alternatively, the user selects a file from the file selection field 3256 that appears when the file change button 3252 is selected, and then selects the card update button 3255.
[0180] However, these examples are not limited to those mentioned above, as long as the system is compatible with card 3200 and can accept user prompts.
[0181] In S302, the card processing unit 2200, controlled by CPU 641 in application 2000, sends a request to the plug-in server 6000 to update card 3200. At this time, CPU 641 of the plug-in server 6000 receives this request. The card processing unit 2200 may also send information other than the input prompt 3100 to the plug-in server 6000.
[0182] For example, in the case of a print plugin, information such as the currently set print settings 3120, file content information, or operation logs performed in the past via the AI Assistant 3000 or card 3200 may be sent to the plugin server 6000.
[0183] Therefore, card 3200 may have this information as parameters that are not displayed on card 3200. Alternatively, this information may be managed on the plug-in server 6000 side. In addition, card 3200 may have information to identify the return destination of card 3200, such as card 3200 ID or chat ID in AI assistant 3000.
[0184] In S303, the card creation processing control unit 6010, controlled by CPU 641, determines the parameters for CPU 141 of computer 1000 to execute plug-in 5000. This is because the card processing unit 2200 of application 2000 running on computer 1000 does not have the function to extract parameters from prompt 3100, so the card creation processing control unit 6010 performs this task. If the card creation processing control unit 6010 has this function, it may perform the parameter extraction process. In this case, the transmission in S302 and the return in S306 described later are unnecessary.
[0185] In this process, the method for determining the parameters is not particularly limited, similar to S105. For example, the CPU 641 may make a determination based on the prompt 3100, the information transmitted from the card 3200, and other information managed by the plug-in server. In this case, the CPU 641 may also refer to the description of each parameter (a natural language description of the plug-in 5000) held by the plug-in server 6000 and perform parameter extraction or parameter generation using AI.
[0186] The following steps, S304, S305, and S307, perform the same processing as S107, S305, and S307, respectively, so their explanations will be omitted.
[0187] In S306, the card creation processing control unit 6010 controlled by the CPU 641 may refer to the information contained in the card 3200 received in S302 as information to determine the destination for transmission (return). The rest of the process is the same as in S109. The sequence of processes performed between the computer 1000 equipped with application 2000, the AI assistant server 4000, and the plug-in server 6000 in this embodiment has been described with reference to Figure 6. However, the above is merely an example, and the sequence of processes is not limited thereto. Processes may be increased, decreased, or their order changed as long as the effects of the present invention can be obtained.
[0188] <Card Template> Referring to Figure 8A, an example of card template 6030 is shown using the preview card in the print plugin as an example. The card template 6030 shown in Figure 8A is a JSON file content and contains information 6031 to 6038.
[0189] Furthermore, the card template 6030 is user-modifiable. That is, the user can select the content of the information displayed on card 3200 and rearrange the order of the displayed information. In addition, the user can set conditions for the display of objects such as input fields and buttons.
[0190] Information 6031 describes the settings that indicate the name of the card. Information 6032 is a data structure enclosed by the key "body". Information 6032 also describes settings for displaying elements such as text, images, or input fields on the card UI, such as input content display 3210, generation reason display 3220, print settings display 3230, preview image display 3240, and highlighting 3260.
[0191] In the example in Figure 8A, there is a description enclosed in ${}, such as "${Input}", and by replacing the parameter in the card creation processing control unit 6010 of the plug-in server 6000, a card corresponding to the processing content is created.
[0192] Information 6033 is a data structure enclosed by the key "actions," and it describes the settings for the operation button 3250, which is provided as a button on the card UI.
[0193] Information 6034 describes the settings for displaying the prompt input field 3254 and the card update button 3255, which are elements that are not displayed (hidden) by default and are displayed when the print settings change button 3251 is pressed, as shown in Figure 5A. In Figure 8A, information 6034 describes the settings for displaying hidden elements by including a data structure enclosed by the "body" key and the "actions" key. The method of description follows the specifications of Application 2000 and the rules of the language being described.
[0194] Information 6035 describes the settings for the card creation processing control unit 6010, controlled by the CPU 641, to determine which button on the card has been selected by the user.
[0195] Information 6036 describes the settings for displaying the prompt input field 3254 on card 3200.
[0196] Information 6037 describes the definitions of parameters that are passed to the plug-in server 6000 when the card update button 3255 is selected as a parameter transfer method. In the example shown in Figure 8A, information 6037 describes the settings for parameters related to file content, parameters related to print settings, and parameters related to operation logs.
[0197] In fact, Figure 8B shows a partial example of information 6037 on card 3200 with parameters filled in according to this parameter definition. In this figure, information 60371 contains the current file name, and information 60372 contains the current print settings. In addition, information 60373 contains an array of logs of operations previously performed via the chat message field 3300 or the operation button 3250. By inheriting such parameters, it is possible to appropriately change print settings, change the print target, and issue print execution instructions.
[0198] Note that the parameter transfer method is not limited to the example in information 6037, and various notations may be used. Alternatively, a database for managing parameters may be maintained within the plug-in server 6000. Information 6038 describes the settings for displaying the file selection field 3256. Information 6039 describes the settings for displaying the print execution button 3253.
[0199] These descriptions define a card template, and the use of this card template in the above process generates and displays card 3200.
[0200] The above is just one example for the print plugin; the content of the card template is not limited to this and is subject to the specifications of the application and plugin.
[0201] [Second Embodiment] A second embodiment of the present invention will be described below. In the second embodiment, unlike the first embodiment, the application 2000 communicates directly with the application server 9000, which includes the generated AI model unit 6020, without going through the AI assistant 3000.
[0202] The advantages of this second embodiment are as follows: The first advantage is that the plugin judgment process (S104) that was performed by the AI assistant 3000 in the first embodiment is no longer executed, so plugins that the user did not intend to call will not be called.
[0203] The second advantage is that, instead of the parameter determination process (S105) performed by the AI assistant 3000 in the first embodiment, it can be performed by a purpose-specific parameter determination process prepared within the application server 9000. For example, a specially fine-tuned AI model can be used for this purpose. This specialized parameter determination process can also be used in the parameter determination process (S303) during card updates in the first embodiment.
[0204] Due to the two advantages described above, the second embodiment generates responses that better reflect the user's intent. Note that the card posting UI example, the card update UI example, and the card template are the same as in the first embodiment, so their explanation will be omitted. The following explanation will focus specifically on the differences from the first embodiment.
[0205] <System Configuration> As shown in Figure 9, the network configuration diagram according to this embodiment includes a terminal device, a computer 1000, an external system server 7000, and an application server 9000. Furthermore, the computer 1000 and the application server 9000, and the application server 9000 and the external system server 7000 are connected via the Internet 8000.
[0206] The hardware configuration of application server 9000 is identical to that of plug-in server 6000, so its description is omitted. Furthermore, application 2000 runs on computer 1000.
[0207] <Software Configuration> A software configuration example of the second embodiment will now be described. Note that the software configuration of the application server 9000 is the same as that of the plug-in server 6000 in the first embodiment, so its description will be omitted.
[0208] As shown in Figure 10, application 2000 includes at least a chat input / output control unit 3010, a plug-in data acquisition control unit 3023, a log management unit 3030, and a card processing unit 2200. The functions provided by each software component of the application are the same as in the first embodiment, so their description is omitted.
[0209] <Example Sequence> Referring to Figure 11, the sequence of calling Plugin 5000 during card creation in the second embodiment will be described. Note that Application 2000 is executed by CPU 141.
[0210] The CPU 141, which controls application 2000 in S401, accepts user prompt input.
[0211] In S402, CPU 141 sends a request to the card creation processing control unit 6010 to create card 3200. At this time, CPU 141 may add information other than the prompt, which is predetermined in application 2000. For example, it may also send information held by the log management unit 3030 in application 2000, such as past chat exchanges that took place on the chat input / output control unit 3010.
[0212] In S403, CPU 641 of application server 9000 performs parameter determination processing for executing application 2000, similar to S303. In S404, CPU 641 of application server 9000 instructs the generation AI model unit 6020 to perform processing, and in S405, it receives the processing result returned by the generation AI model unit 6020.
[0213] In S406, CPU 641 of application server 9000 sends (returns) the card to application 2000. In S407, CPU 141 displays card 3200 on display unit 110 of computer 1000.
[0214] Thus, the plugin 5000 call sequence during card creation in the second embodiment is very similar to the plugin call sequence during card update shown in Figure 6C.
[0215] In the second embodiment, the card creation sequence in the card creation processing control unit and the application call sequence during card update are the same as the application call sequence in the first embodiment, so their explanation will be omitted.
[0216] As described above, in the second embodiment, in order to generate a response that aligns with the user's intent, the application interacts directly with the application server 9000, which includes the generated AI model, without going through the AI assistant 3000.
[0217] [Third Embodiment] A third embodiment of the present invention will be described below. Unlike the first and second embodiments, the third embodiment provides a card UI that has a function to display a list of file contents searched based on keywords included in the prompt 3100, and a function to accept the user's selection of file contents.
[0218] The advantages of this type of card UI are as follows. In the first and second embodiments, we primarily described a card UI that requires the input of information uniquely specifying the file content to be printed. For example, in Figure 4A, a prompt 3100 containing the file name 3110 "Sample1.pdf" is entered. This input method allows printing to be performed in fewer steps if the user recognizes the file name of the file content they want to work with. On the other hand, if the user does not recognize the file name, it is necessary to search for the file content existing on the cloud storage and identify the file name 3110 "Sample1.pdf", which presents the challenge of requiring user operation both inside and outside the AI assistant 3000. In contrast, in the third embodiment, the process of searching for the file content is handled by the plugin server 6000. As a result, the user does not need to work on the cloud storage, and the process from searching for the file content to printing can be seamlessly executed within the AI assistant 3000.
[0219] Furthermore, the first and second embodiments also provide examples of card UIs that accept instructions without uniquely specifying file content. For example, Figure 4C accepts an abstract file specification 3111, "Tomorrow's meeting materials," and it is stated that the business data acquisition control unit 3022 in the AI assistant 3000 needs to search for a document corresponding to "Tomorrow's meeting materials" and pass it to the print plugin server when calling. However, a problem with this card UI is that there may be cases where multiple search results are found for "Tomorrow's meeting materials," such as "Sample1.pdf," "Sample2.pptx," and "Sample3.docx," and further, there may be cases where only one of the multiple search results, "Sample1.pdf," is actually the file content to be printed. The above cases are just examples, but when accepting an abstract file specification 3111 and the system handles the process of searching for file content, a means is needed to select the appropriate file content from the search results. As one example of such a means, in the third embodiment, a card UI is provided that has a function to accept the user's selection of file content, thereby making it possible to reflect the user's intentions in the selection of file content.
[0220] Based on the above advantages, the third embodiment provides a card UI that has a function to display a list of file contents searched based on keywords included in the prompt 3100, and a function to accept the user's selection of file contents. The system configuration, hardware configuration, software configuration, example card update UI, and card template are the same as in the first and second embodiments, so their descriptions are omitted. The following description will focus on the parts that differ particularly from the first and second embodiments.
[0221] <Example of card posting UI> Referring to Figure 12, an example of a card UI in the third embodiment, which has a function to display a list of file contents searched based on keywords included in prompt 3100 and a function to accept the user's selection of file contents, will be described.
[0222] Figure 12A shows the card UI when the plug-in server 6000 successfully searches for appropriate file content. In this example, the prompt 3100 accepts the input "Print 5 copies of the document on autonomous driving AI in a cost-saving manner." At that time, prompt 3100 requests two parameters: a search keyword 3140 such as "autonomous driving AI" and a print setting 3120 such as "5 copies in a cost-saving manner." However, these two parameters do not necessarily have to be entered by the user and may be handled by the plug-in server 6000's processing. For example, if the search keyword is empty, the system may search for recently operated files instead of file names. Alternatively, if the print setting 3120 is empty, a string such as "normal print" may be entered as the print setting parameter and treated as input to the generated AI model unit 6020.
[0223] Card 3200 includes an input content display 3210 that displays information extracted from the prompt 3100, "Search keyword: Autonomous driving AI / Print settings: 5 copies / Economical printing", a file list 3290 that shows the results of a search of cloud storage based on the search keyword "Autonomous driving AI" 3140, and an operation button 3250 for accepting the user's next action.
[0224] The file list 3290 is a tabular display with rows showing up to three file contents, and has a file selection column 3291 displaying checkboxes, a file information display column 3292 displaying the file name as text, and a file content display column 3293 displaying a preview of up to three pages of the file content as images. The content and order displayed in the file list 3290 are not particularly limited. For example, rows with more than three file contents may be displayed, or additional columns such as operation buttons associated with the file contents may be displayed. Alternatively, a scrolling function that is activated according to the number of rows and columns may be provided, or a function that allows the user to filter based on the last modified date and time or file extension may be provided. Furthermore, elements displayed in cells may be given the ability to perform arbitrary actions, for example, by selecting the file name string, it may be possible to launch a client application that can execute the file content, or by selecting the preview image, it may be possible to enlarge the image to display details or display pages that could not be displayed in the file list 3290.
[0225] The file selection field 3291 is a column that displays checkboxes for accepting the user's selection of file content, and when the preview display button 3258 is selected, information on whether the checkboxes are on or off is provided to the plugin server 6000. In addition, there is no particular limit to the number of checkboxes that can be selected at one time in the file selection field 3291; one can select multiple checkboxes simultaneously or leave none checked. Furthermore, the content of subsequent processing may be changed depending on the number of checkboxes selected; for example, the preview display button 3258 may be disabled while no checkboxes are selected. Alternatively, if the preview display button 3258 is selected while multiple checkboxes are selected, an additional card may be posted for the purpose of controlling each file content as a separate card. Moreover, the means for selecting file content is not limited to checkboxes; for example, an operation button 3250 associated with the file content may be displayed directly in the cell, and the selection of file content and the display of the preview may be performed in a single step.
[0226] The file information display column 3292 is a column that displays information associated with file content obtained from application 2000 or external system server 7000, and the type and number of pieces of information displayed here are not particularly limited. For example, it may display the last modified date and time of the file content, the creator's name, and a file icon based on the file extension. Alternatively, multiple elements as described above may be displayed in different columns or in any arrangement within a single cell.
[0227] The file content display field 3293 is a column for displaying supplementary information created by the plug-in server 6000 to assist the user in selecting file content, and the type and number of pieces of information displayed are not particularly limited. For example, a summary of the file content created by the plug-in server 6000 may be displayed as a string. Also, similar to the file information display field 3292, multiple elements may be displayed in different columns or in any arrangement within a single cell.
[0228] The operation buttons 3250 include a search keyword change button 3257 and a preview display button 3258. The arrangement and content of the buttons displayed as operation buttons are not particularly limited; for example, buttons providing functions to display other search results that could not be displayed on card 3200 may also be displayed.
[0229] The search keyword change button 3257 provides a function to re-search the file content using the new search keyword as input and update the card 3200. The UX when the search keyword change button is executed is not particularly limited; for example, as shown in Figure 5A, when the search keyword change button 3257 is selected, the prompt input field 3254 and the card update button 3255 may be displayed, and when the card update button 3255 is selected, the prompt entered in the prompt input field 3254 may be used as the new search keyword to perform the search process.
[0230] The preview button 3258 provides a function to update the card 3200 to display the result by applying the print settings 3120, such as "5 copies / economical printing" in the prompt 3100, to the file content selected by the user in the file selection field 3291. The UI of the card displayed after the execution of the preview button 3258 is not particularly limited, and a card including, for example, an input content display 3210, a generation reason display 3220, a print setting display 3230, a preview image display 3240, and an operation button 3250, as shown in Figure 4A, may be displayed.
[0231] Furthermore, Figure 12B illustrates the UI of a card when the plugin server 6000 fails to find suitable file content. In this figure, card 3200 displays input content 3210, highlighting 3260, file list 3290, prompt input field 3254, and card update button 3255. In this case, the file list 3290 does not display a row showing file content to indicate that no files matching the search were found, but the UI of the file list 3290 and card 3200 is not limited to this.
[0232] <Example Sequence> Referring to Figure 13, the plug-in 5000 call sequence during card creation and the card creation sequence in the card creation processing control unit in the third embodiment will be described. Note that application 2000 is executed by CPU 141, and the card creation processing control unit 6010 is executed by CPU 641. Furthermore, the application call sequence during card update in the third embodiment is the same as the application call sequences in the first and second embodiments, so its description will be omitted.
[0233] Figure 13A will be used to explain the plugin 5000 call sequence during card creation in the third embodiment. However, the sequence shown in Figure 13A is largely the same as the sequence of the first embodiment shown in Figure 6A in terms of processing content. In this regard, the difference between the third embodiment and the first embodiment is that the generation AI model unit 6020 is not used to create the file list 3290 in the plugin 5000 call sequence, so there is no exchange between the card creation processing control unit 6010 and the generation AI model unit 6020 that takes place in S107 and S108. Therefore, in the third embodiment, the sequence from S501 to S506 performs the same processing as the sequence from S101 to S106, and the sequence from S507 to S510 performs the same processing as the sequence from S109 to S112 (description of the processing content in each sequence is omitted).
[0234] In this example, the differences between the first and third embodiments were explained assuming that the application 2000 communicates with the plug-in server 6000 via the AI assistant 3000, as in the first embodiment. However, even if the application 2000 communicates directly with the application server 9000, including the generation AI model unit 6020, without going through the AI assistant 3000, as in the second embodiment, the difference from the plug-in 5000 call sequence in the third embodiment is the presence or absence of communication with the generation AI model unit 6020.
[0235] Next, the card creation sequence in the card creation processing control unit of the third embodiment will be described using Figure 13B. In the third embodiment, unlike the first and second embodiments, a card is created that has the function of displaying a list of file contents searched based on the keywords contained in the prompt 3100, and the function of accepting the user's selection of file contents. Hereafter, a card having these functions, as shown in Figure 12A, will be referred to as a file search card. At the same time, a card indicating that the search for file contents failed, as shown in Figure 12B, will be referred to as a file search error card. The process shown in this flowchart is executed by the CPU 641 in the plug-in server 6000 controlling the card creation processing control unit 6010 and the content management unit 6040.
[0236] Furthermore, this process is a detailed description of the card generation process explained in S506. This process begins when the AI assistant 3000 sends a request to the plug-in server 6000 to generate card 3200 (S506). At this time, the card creation processing control unit 6010 starts the card 3200 generation process.
[0237] As described in the example of the card posting UI in the third embodiment, at least two parameters, the search keyword 3140 and the print setting 3120, shall be input to the print plugin server. In addition, each device communicates via the network communication unit it has.
[0238] In S601, the card creation processing control unit 6010, controlled by the CPU 641, performs authentication processing on the cloud storage used by the user in order to obtain a list of file contents that match the search keyword 3140 entered by the user. Here, for example, it is assumed that the user's authentication information is entered when the user adds Plugin 5000 to Application 2000, or when Plugin 5000 is executed for the first time, and this information is used when executing the authentication process.
[0239] Next, in S602, CPU641 sends a request to the cloud storage to obtain a list of files that match the search keywords. The format of the file list will be in accordance with the specifications of the requested cloud storage, such as JSON format. In this sequence diagram, it is assumed that information such as the file name displayed in the file information display field 3292 is obtained in S602, but there may be a separate request to obtain more detailed information such as the last modified date and creator name, in addition to the request sent in S602.
[0240] In S603, CPU641 filters the list of files obtained in S602 based on whether they match a printable file format. Examples of printable file formats include files with extensions such as .docx, .pptx, and .xlsx (office format), .pdf (PDF format), and .jpeg and .png (image format). The filtering performed in S603 is subject to the plugin's specifications and may also be based on criteria such as file size, access restrictions, or the formats supported by the printer.
[0241] In S604, CPU641 checks if there is any file content that has passed the filtering performed in S603. If file content exists, in S605, CPU641 repeats the content acquisition process until the number of file contents to be displayed at once on the file list 3290 is reached. Specifically, in S606, CPU641 first acquires the actual file content from cloud storage. Next, in S607, CPU641 repeats image processing until the number of pages to be displayed in the file content display area 3293 is reached. Specifically, in S608, CPU641 creates a preview for the page being processed to confirm the contents of the file content. This preview image is saved in the content management unit 6040 on the plug-in server 6000. Furthermore, the method of selecting the pages for which to create preview images is not limited to this; for example, CPU641 may be used to determine semantic boundaries in the file content and the first page of each chapter may be converted into a preview image. Then, in S609, the content management unit 6040, controlled by the CPU 641, creates a shared link for the preview image to be referenced by the card 3200.
[0242] After the iterations defined in S607 and S605 are completed, in S610, the card creation processing control unit 6010 controlled by the CPU 641 creates a file search card. Then, in S611, the CPU 641 returns the created card to the AI assistant 3000. Alternatively, in S604, if no file content has passed the filtering, the CPU 641 creates a file search error card in S612 and returns the created card to the AI assistant 3000 in S611.
[0243] As described above, the third embodiment solves the problems of the first and second embodiments by providing a card that has a function to display a list of file contents searched based on keywords included in the prompt 3100 and a function to accept the user's selection of file contents.
[0244] <Other Embodiments> The present invention can also be realized by supplying a program that implements one or more of the functions of the above-described embodiments to a system or device via a network or storage medium, and by having one or more processors in the computer of that system or device read and execute the program. It can also be realized by a circuit (e.g., an ASIC) that implements one or more functions.
Claims
1. The process of obtaining the file, A receiving step in which a user enters natural language into a first input field, and a first setting based on the entered natural language is received, which is used when the acquired file is printed. A display step in which, in accordance with the acquisition of the aforementioned file and the acceptance of the first setting, an object is displayed which does not include the first input field, and which includes information of the acquired file and a second input field that accepts natural language from the user for setting a second setting to be used when the file is printed. A setting used when the acquired file is printed, comprising a setting step of making the second setting based on the natural language entered by the user in the second input field. A program characterized by causing an information processing device to execute it.
2. The first setting is established when the natural language entered by the user in the first input field is input to the generating AI. The second setting is configured when the natural language entered by the user in the second input field is input to the generating AI. The program according to feature 1.
3. An input step of inputting the natural language entered in the first input field to the generating AI, The information processing device is further made to perform a receiving step, which involves receiving information generated by the generation AI, which is first information for which the first setting is performed by the setting step, The setting step involves setting the first settings, which are used when the acquired file is printed, based on the received first information. The program according to feature 1.
4. In the input step, the natural language entered in the second input field is input to the generating AI. In the receiving step, information generated by the generating AI is received, which is second information for which the second setting is performed in the setting step. The setting step involves making the second setting based on the received second information. The program according to feature 3.
5. The information processing device is further instructed to perform a generation process that generates the object based on the acquired file, the natural language entered in the first input field, and the received first information. In the display step, the object generated in the generation step is displayed. The program according to feature 4.
6. The program according to claim 1, wherein the object further displays a string indicating the first setting.
7. The program according to claim 6, characterized in that, in the display step, a second object is displayed on which a string indicating the second setting is shown, as the second setting has been made by the setting step.
8. The program according to claim 1, characterized in that, in the display step, a string indicating the second setting is displayed on the object as a result of the second setting being made in the setting step.
9. The program according to claim 8, characterized in that when the string indicating the second setting is displayed on the object, the string indicating the first setting is not displayed.
10. The program according to claim 1, wherein the object further displays a first image indicating the file.
11. The program according to claim 10, characterized in that the displayed first image is an image based on the first setting and is a preview image of the file.
12. The program according to claim 11, characterized in that, as a result of the second setting, a second image, which is an image based on the second setting and is a preview image of the file, is displayed on the object.
13. The program according to claim 12, characterized in that when the second image is displayed on the object, the first image is not displayed.
14. The program according to claim 1, characterized in that the aforementioned file is printed based on the second setting.
15. The program according to claim 14, characterized in that when the aforementioned file is printed, a string indicating that the aforementioned file has been printed is displayed on the object.
16. The program according to claim 1, characterized in that, if the second setting could not be made by the setting step, a string indicating that the second setting could not be made is displayed on the object.
17. The program according to claim 16, wherein the object further displays the reason why the second setting could not be made.
18. The program according to claim 1, characterized in that the first input field and the second input field are displayed on the same screen.
19. The program according to claim 1, characterized in that the object is displayed in the area where the natural language is displayed when the user enters the natural language into the first input field.
20. An information processing method performed by an information processing device, The process of obtaining the file, A receiving step in which a user enters natural language into a first input field, and a first setting based on the entered natural language is received, which is used when the acquired file is printed. A display step in which, in accordance with the acquisition of the aforementioned file and the acceptance of the first setting, an object is displayed which does not include the first input field, and which includes information of the acquired file and a second input field that accepts natural language from the user for setting a second setting to be used when the file is printed. A setting used when the acquired file is printed, comprising a setting step of making the second setting based on the natural language entered by the user in the second input field. An information processing method characterized by having the following features.
Citation Information
Patent Citations
Information processor and its method
JP1998240550A
Printing assistance system and chatbot device
JP2019207513A
Print control apparatus and print control program
JP2020052507A
Control apparatus and control program
JP2020052581A
Information processing device, printing system, method for controlling information processing device and program
JP2021114218A