Design support apparatus, program, and design support method

The design support device uses a trained language model to analyze software and generate GUI structures, addressing the challenge of diverse user needs in user interface design by improving intuitive operation and reducing the effort to identify improvements.

JP2025131250APending Publication Date: 2025-09-09WINGARC 1ST
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2024028865
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-02-28
Publication Date
2025-09-09

AI Technical Summary

Technical Problem

Current user interface design systems struggle to effectively support diverse user needs and improve intuitive operation.

Method used

A design support device and method utilizing a trained language model to analyze software source code, generate GUI structures, and provide answers to questions about software operations and functions, identifying areas for improvement.

Benefits of technology

Enhances user interface design by providing accurate and intuitive operation support, reducing the effort required to identify and improve GUI elements.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025131250000001_ABST
    Figure 2025131250000001_ABST
Patent Text Reader

Abstract

To provide a design support apparatus, a program, and a design support method capable of supporting designing a user interface more effectively.SOLUTION: A design support apparatus includes an answer acquisition unit. The answer acquisition unit acquires a first answer to a question about at least one of the function and operation of software, the question being output from a language model, by inputting a prompt including the question and a structure of a GUI of the software to the trained language model.SELECTED DRAWING: Figure 3
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to a design support device, a program, and a design support method. [Background technology]

[0002] Current user interface design emphasizes intuitive operation. However, it is difficult to meet the needs of diverse users. Therefore, there is a need for user interface design support. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] Japanese Patent Application Publication No. 2020-71690 Summary of the Invention [Problem to be solved by the invention]

[0004] The problem to be solved by the embodiments of the present invention is to provide a design support device, a program, and a design support method that can support the design of a user interface more effectively than conventional methods. [Means for solving the problem]

[0005] According to an embodiment, the design support device includes an answer acquisition unit that inputs a prompt including a question about at least one of a function and an operation of software and a GUI structure of the software into a trained language model, and acquires a first answer to the question output from the language model. [Brief explanation of the drawings]

[0006] [Figure 1] FIG. 1 is a block diagram showing an example of a configuration of a main part of a design support apparatus according to an embodiment. [Figure 2] 2 is a flowchart showing an example of processing by a processor in FIG. 1; [Figure 3] 2 is a flowchart showing an example of processing by a processor in FIG. 1; DETAILED DESCRIPTION OF THE INVENTION

[0007] Hereinafter, a design support system according to an embodiment will be described with reference to the drawings. Note that the scale of each part in each drawing used in the following description of the embodiment may be changed as appropriate. Also, for the sake of explanation, each drawing used in the following description of the embodiment may omit configurations. Also, in each drawing and in this specification, the same reference numerals indicate similar elements.

[0008] 1 is a block diagram showing an example of the configuration of the main parts of a design support device 100 according to an embodiment. Note that each component may be built-in or external.

[0009] The design support device 100 is a device having a design support function. The design support function is a function that supports the design of a software user interface (UI) using a large language model (LLM). The design support device 100 includes, for example, a processor 110, a read-only memory (ROM) 120, a random-access memory (RAM) 130, an auxiliary storage device 140, an input device 150, and a display device 160. A bus 170 and the like connect these components.

[0010] The processor 110 is a central part of a computer that performs various calculations and processes, such as calculations and controls, necessary for the operation of the design support device 100. The processor 110 is, for example, a central processing unit (CPU), a microprocessing unit (MPU), a system on a chip (SoC), a digital signal processor (DSP), a graphics processing unit (GPU), an application-specific integrated circuit (ASIC), a programmable logic device (PLD), or a field-programmable gate array (FPGA). Alternatively, the processor 110 may be a combination of several of these. The processor 110 may also be a combination of these with a hardware accelerator or the like. The processor 110 controls each component to realize various functions of the design support device 100 based on programs such as firmware, system software, and application software stored in the ROM 120 or the auxiliary storage device 140. The processor 110 also executes the processes described below based on the programs. Note that some or all of the programs may be incorporated into the circuitry of the processor 110.

[0011] The ROM 120 and RAM 130 are the main storage devices of the computer centered around the processor 110. The ROM 120 is a non-volatile memory used exclusively for reading data. The ROM 120 stores, for example, firmware among the above programs. The ROM 120 also stores data used by the processor 110 when it performs various processes.

[0012] The RAM 130 is a memory used for reading and writing data. The RAM 130 is used as a work area for storing data that is temporarily used when the processor 110 performs various processes. The RAM 130 is typically a volatile memory.

[0013] The auxiliary storage device 140 is an auxiliary storage device of a computer centered around the processor 110. The auxiliary storage device 140 is, for example, an EEPROM (electric erasable programmable read-only memory), an HDD (hard disk drive), or a flash memory. The auxiliary storage device 140 stores, for example, system software and application software among the above programs. The auxiliary storage device 140 also stores data used by the processor 110 when performing various processes, data generated by the processes in the processor 110, various setting values, and the like.

[0014] The data stored in the auxiliary storage device 140 includes an LLM 141 and a GUI (graphical user interface) structure 142. The LLM 141 is a trained AI model. The LLM 141 is a language model capable of natural language processing. The LLM 141 may be similar to a well-known LLM. Therefore, a detailed description of the LLM 141 will be omitted. The target software may include the LLM 141.

[0015] The programs stored in the auxiliary storage device 140 include software for which GUI design is to be performed (hereinafter referred to as "target software"). The target software may be incomplete. The target software may be system software or application software. The type of target software is not important. Examples of types of software include various types such as operating systems, word processing software, graphics software, programming tools, web browsers, and game software.

[0016] The GUI structure 142 is data that indicates the structure of the GUI of the target software. GUI elements targeted by the GUI structure 142 include, for example, menus, buttons, toolbars, taskbars, ribbons, and dialog boxes. The GUI elements targeted by the GUI structure 142 may also include other controls. There are various types of menus, for example, menu bars, context menus, and pop-up menus. The GUI structure 142 includes, for example, UI component information, items, and operation instructions. The GUI structure 142 is preferably data in a format that can be input as a prompt to the LLM 141. Therefore, the GUI structure 142 is, for example, text data.

[0017] The GUI structure 142 may be created by a human or may be automatically created by a computer, or may be a mixture of parts that are automatically generated by a computer and parts that are created by a human.

[0018] A method by which the processor 110 automatically generates the GUI structure 142 will be described with reference to Fig. 2. Fig. 2 is a flowchart showing an example of processing by the processor 110 of the design support device 100. The processor 110 executes the processing of Fig. 2 based on a program stored in the ROM 120, the auxiliary storage device 140, or the like, for example.

[0019] In step ST11 of FIG. 2, the processor 110 of the design support device 100 acquires the source code of the target software.

[0020] In step ST12, the processor 110 analyzes the source code acquired in step ST11 to identify GUI elements from the source code.

[0021] In step ST13, processor 110 extracts the hierarchical relationships of the GUI elements identified in step ST12. To indicate the hierarchical relationships, processor 110 uses a structure that clearly shows the hierarchical relationships, such as a tree structure. By extracting the hierarchical relationships, processor 110 can organize the GUI elements into a format that is easy for LLM to analyze.

[0022] In step ST14, processor 110 extracts attributes for each GUI element identified in step ST12. The attributes of a GUI element include, for example, a label name, a caption, a shortcut key, a position, information related to appearance, and reference information.

[0023] In step ST15, the processor 110 formats the contents extracted in steps ST13 and ST14 into a data format that is easy for the LLM to analyze, and outputs the format.

[0024] In step ST16, the processor 110 stores the data output in step ST15 in the auxiliary storage device 140 or the like as the GUI structure 142. After the processing of step ST16, the processor 110 ends the processing shown in FIG.

[0025] Although the design support device 100 has been described as generating the GUI structure 142, the design support device 100 may use a GUI structure 142 generated by a device other than the design support device 100.

[0026] The processor 110 may change the method of analyzing the source code of the target software depending on the software type of the target software. The processor 110 may automatically determine the software type of the target software. Alternatively, the operator may input the software type of the target software into the design support device 100. This allows the processor 110 to generate a more accurate GUI structure 142 depending on the software type of the target software.

[0027] An example of GUI structure 142 when the target software is memo application software is shown in " " below. However, the following example is partially omitted. Note that the method of describing GUI structure 142 is not limited to the following example.

[0028] " - Menu bar: - File: - New `Ctrl+N` - Open... `Ctrl+O` - Save `Ctrl+S` - Save As `F12` - Page Setup / / Display the Page Setup dialog - Print `Ctrl+P` - Exit `Alt+F4` - edit: - Undo `Ctrl+Z` - Redo `Ctrl+Y` - Cut `Ctrl+X` (..omission..) - Additional loading - Format: - Enable automatic line breaks - Font... - Display: - Show status bar - Help: - Display Help `F1` - About this app - Page Setup: dialog / / Displayed in [File]-[Page Setup] - Paper: group - Size: dropdown (items=[A3,A4,...]) - Orientation: radiobutton (items=[portrait,landscape]) - OK: button - Cancel: button "

[0029] In the above example, each item is indented with zero or more spaces, followed by a delimiter and a label name. In the above example, the hierarchical structure is indicated by the indentation count. The indentation count indicates the number of specified spaces, such as spaces or tabs, at the beginning. In the above example, the spaces are full-width spaces. For example, "Menu Bar" and "Page Setup" have an indentation count of 0. For example, "File" and "Edit" have an indentation count of 1. For example, "New" and "Open" have an indentation count of 2. An item with an indent count of n indicates that it is directly below the item that is closest to it and has an indent count of (n-1). Note that n is an integer greater than or equal to 1. For example, "File" has an indent count of 1, so it is directly below the item that is closest to it and has an indent count of 0. Such an item with an indent count of 0 is the "Menu Bar." "New" has an indent count of 2, so it is directly below the item that is closest to it and has an indent count of 1. Such an item with an indent of 1 is "File". Also, "Save" has an indent of 2, so it is directly below the nearest item with an indent of 1 that precedes "Save". Such an item with an indent of 1 is "File". In other words, "Create New" and "Save" are both directly below "File". Note that items that have subordinate items have a ":" at the end of the line.

[0030] In the above example, "-" is used as a delimiter before the label name.

[0031] In the above examples, shortcut keys may be listed after the label name. In the above examples, shortcut keys are enclosed in `` to make it clear that they are shortcut keys. In addition, in the above examples, the type of control may be listed after the label name. In the above examples, the type of control is listed after a ``:'' with no line break. For example, in the above example, "dialog" is listed as the type of control for page setup. "dialog" indicates a dialog box. In other words, page setup is set using a dialog box. In the above example, "radiobutton" is listed as the type of control for print orientation. "radiobutton" indicates a radio button. In other words, print orientation is set using a radio button. In the above example, details are also listed for some controls. These details include, for example, options that can be selected using radio buttons and options that can be selected using a drop-down list. These details are listed in parentheses after the control type. For example, for print orientation, the control details include "items=[portrait,landscape]". Of these, "items" indicates that the details describe the options that can be selected using the control. The contents of the [] following the "=" after "items" indicate the options. The options use "," as a separator. Therefore, in this example, the options are "vertical" and "horizontal".

[0032] The above example includes a comment. In the above example, the part from " / / " to the newline is a comment. The comment displays, for example, an explanation of the item.

[0033] The GUI structure 142 may include attributes other than the label name, caption, shortcut key, control type, and control details.

[0034] The data stored in the auxiliary storage device 140 may also include a glossary 143 and a vectorized glossary 144. The glossary 143 is data containing terms used in the target software and explanations of those terms. The terms may include terms specific to the target software. The terms may include commonly used terms. The glossary 143 is, for example, a database. The vectorized glossary 144 is a vectorized glossary 143. The vectorized glossary 144 is, for example, a vector database. The processor 110 generates the vectorized glossary 144 by vectorizing the glossary 143. Note that the glossary 143 and the vectorized glossary 144 are each an example of data indicating software terms.

[0035] The input device 150 accepts operations by an operator (hereinafter simply referred to as "operator") of the design support apparatus 100. The input device 150 is, for example, a keyboard, a keypad, a touchpad, a mouse, or a controller. The input device 150 may also be a device for voice input.

[0036] The display device 160 displays a screen for notifying an operator or the like of various pieces of information. The display device 160 is, for example, a display such as a liquid crystal display or an organic EL (electro-luminescence) display. A touch panel can also be used as the input device 150 and the display device 160. That is, a display panel provided in a touch panel can be used as the display device 160, and a pointing device provided in the touch panel that allows touch input can be used as the input device 150.

[0037] The bus 170 includes a control bus, an address bus, a data bus, and the like, and transmits signals exchanged among the various components of the design support device 100 .

[0038] The operation of the design support device 100 according to the embodiment will be described below with reference to FIG. 3 and other figures. Note that the content of the processing in the following operation description is an example, and various processing that can obtain similar results can be used as appropriate. FIG. 3 is a flowchart showing an example of processing by the processor 110 of the design support device 100. The processor 110 executes the processing of FIG. 3 based on a program stored in, for example, the ROM 120 or the auxiliary storage device 140. The processing of the target software includes, for example, the processing of FIG. 3. The processor 110 starts the processing of FIG. 3 upon launching the target software, for example.

[0039] In step ST21 of FIG. 3, the processor 110 of the design support device 100 determines whether to start accepting input of a question. When the operator wants to ask the design support device 100 a question about how to use the target software, the operator uses the input device 150 to perform an operation indicating that the operator will ask the question. The processor 110 determines to start accepting input of a question in response to the operation. If the processor 110 does not determine to start accepting input of a question, the processor 110 determines No in step ST21 and repeats the processing of step ST21. On the other hand, if the processor 110 determines to start accepting input of a question, the processor 110 determines Yes in step ST21 and proceeds to step ST22.

[0040] In step ST22, processor 110 generates an image corresponding to the input screen. Then, processor 110 instructs display device 160 to display the generated image. Upon receiving the display instruction, display device 160 displays the input screen.

[0041] The input screen is a screen that accepts input of a question. The input screen includes, as an example, an input field for inputting the question. The operator inputs the question into the input field using, for example, the input device 150. The operator inputs the question in, for example, natural language. The question is, for example, content related to the target software. The content related to the target software is, for example, a question about how to operate the target software and a question about the functions of the target software. The question about how to operate the target software includes, for example, the operation method and operation procedure of the target software. The question about the functions of the target software includes, for example, a question about the functions indicated by the items displayed by the GUI.

[0042] The input screen also includes a confirm button, which the operator operates to confirm the content of the question. The operator operates the confirm button after entering the content of the question in the input field.

[0043] Processor 110 may accept input of the question content by voice. In this case, processor 110 does not need to display an input screen.

[0044] As described above, processor 110 cooperates with input device 150 to accept input of question content, thereby functioning as an example of an input unit that accepts input of a question.

[0045] In step ST23, processor 110 waits for the question to be determined. That is, processor 110 waits for a predetermined operation, such as operating the enter button, to be performed after the question has been input. If the question is input by voice, processor 110 considers the question to have been determined when it is determined that the question has been spoken. If the question has been determined, processor 110 determines Yes in step ST23 and proceeds to step ST24.

[0046] In step ST24, the processor 110 inputs a prompt and a vectorization glossary 144 to the LLM 141. The prompt includes the question entered by the operator, a sentence instructing the operator to answer the question, and a GUI structure 142. The processor 110 executes the LLM 141 to which the prompt and vectorization glossary 144 have been input. The LLM 141 executed by the processor 110 generates an output for the input. That is, the LLM 141 generates and outputs an answer to the question. The processor 110 may input a glossary 143 to the LLM 141 instead of the vectorization glossary 144. The processor 110 may also input the prompt multiple times. When the prompt is input multiple times, the LLM 141 generates an output for each input. An example of a prompt input to the LLM 141 in step ST24 is shown in the following quotation marks. In this example, the processor 110 inputs the prompt twice.

[0047] First prompt: " You are a user of the "Notes app." I will now ask you for an explanation of the operation procedures and functions, so please answer as specifically as possible. The app has the following GUI structure: --- {GUI hierarchy structure} "

[0048] Second prompt: " {User question} "

[0049] In the above example, {GUI hierarchical structure} contains the GUI structure 142. In addition, in the above example, {user question} contains the question input by the operator.

[0050] In response to the first prompt, LLM141 generates output such as, "This note-taking app appears to have a user-friendly GUI structure... (omitted)."

[0051] Here are two examples of {user question} that can be entered in the second prompt. The first example of {user question} is, "Please wrap the text within the window." This question is about how to operate the target software.

[0052] For the first example {user question}, LLM141 generates the following output, for example:

[0053] " To wrap text within a window, use the "Enable Automatic Line Wrapping" feature in the "Format" menu. Follow these steps: 1. Look at the menu bar at the top of the app and find the "Format" menu. 2. Click the Format menu to open it. 3. Find "Enable automatic line breaks" in the menu and select it. "

[0054] The second example of {user question} is, "Please explain what the 'Additional Load' in the menu does." This question is about the function indicated by the item displayed in the GUI of the target software.

[0055] For the second example {user question}, LLM141 generates the following output, for example:

[0056] " The "Append" menu option allows you to add another file to an already open note or document. It provides the ability to load additional content. This section explains the main uses and operation procedures for this function. ### Functions and uses of additional loading 1. **Add content to an existing note**: - This option allows you to insert the contents of another file (e.g. another note or a text file) into the note you are currently editing. - This is useful if you want to combine information from multiple notes or sources into one document. 2. **Merging files**: - It can also be used to organize multiple documents into one order. - For example, if different parts of your project are in separate files, you can combine them into one file. ### Operation Procedure 1. **Open current note**: - First, open the note where you want to insert additional content. 2. **Select additional loading**: - Select "Import More" from the "Edit" section of the menu bar. 3. **Select File**: - A file selection dialog will open where you can select the file you want to add. 4. **Inserting content**: - The contents of the selected file will be added to the currently open note. The content is usually inserted at the end of the document, but some apps let you specify the insertion position. "

[0057] The LLM 141 analyzes the operator's question and generates an answer based on the prompts described above.

[0058] The prompt preferably includes a character string indicating the type of software the target software is, allowing the LLM 141 to output a more appropriate response depending on the type of software the target software is.

[0059] In step ST25, the processor 110 waits for the LLM 141 to output an answer to the question. When the LLM 141 outputs an answer, the processor 110 acquires the answer.

[0060] The answer acquired in step ST25 is an example of a first answer. Therefore, by performing the processes of steps ST24 and ST25, processor 110 functions as an example of an answer acquisition unit that acquires a first answer to the question output from the language model by inputting a prompt including a question regarding at least one of the functions and operations of the software and the GUI structure of the software into the trained language model.

[0061] In step ST26, processor 110 generates an image corresponding to the first output screen. Furthermore, processor 110 instructs display device 160 to display the generated image. In response to the display instruction, display device 160 displays the first output screen.

[0062] The first output screen is a screen for notifying the operator of the answer content acquired in step ST24. The first output screen includes the answer content.

[0063] In step ST26, processor 110 may notify the operator of the answer content by a method other than displaying it on the screen, such as by reading it out loud.

[0064] As described above, processor 110 cooperates with display device 160 to notify the content of the answer in step ST26, thereby functioning as an example of a notifying section that notifies the first answer.

[0065] In step ST27, the processor 110 checks whether there is room for improvement in the operation and function indicated by the answer content acquired in step ST26. To this end, the processor 110 inputs a prompt to the LLM 141. For example, the prompt instructs the LLM 141 to indicate any ambiguity in the answer content. For example, the prompt instructs the LLM 141 to compare the answer content with actual user operations and indicate any differences from the actual user operations. For example, the prompt instructs the LLM 141 to indicate any unintuitive or inefficient elements in the answer content. Examples of prompts input in step ST27 are shown in the following quotation marks.

[0066] " Please check your previous answer to see if there are any ambiguities in the functional specifications or results explanation of this app. Output example) Difference or no difference {List relevant differences in bullet points} "

[0067] The LLM 141 executed by the processor 110 analyzes the content of the input prompt, generates a response, and outputs it.

[0068] For the example prompt above, the LLM 141 will generate the following output, for example, with and without differences:

[0069] If there is no difference: " No difference There is no ambiguity in the answers you provided regarding the app's functional specifications and results explanation. The steps and explanations were clear and provided the necessary information. "

[0070] If there are differences: " There is a difference Clarification of insertion location: The answer states that "The content is usually inserted at the end of the document, but some apps allow you to specify the insertion position," but it is not clear how the specific insertion position works or whether it can be set. This part needs to be confirmed based on the specifications of the app. "

[0071] In step ST28, the processor 110 waits for an answer to be output by the LLM 141. When the LLM 141 outputs an answer, the processor 110 acquires the answer.

[0072] Ambiguous points, differences from actual user operations, unintuitive elements, and low-efficiency elements are elements that can be improved. The answer acquired in step ST28 is an example of a second answer. By performing the processes of steps ST27 and ST28, processor 110 inputs a prompt to the language model, instructing the language model to indicate elements that can be improved in the first answer, thereby functioning as an example of an answer acquisition unit that acquires a second answer that indicates elements that can be improved and is output from the language model. By performing the processes of steps ST27 and ST28, processor 110 inputs a prompt to the language model, instructing the language model to indicate whether or not there are elements that can be improved in the first answer, thereby functioning as an example of an answer acquisition unit that acquires a second answer that indicates whether or not there are elements that can be improved and is output from the language model.

[0073] In step ST29, processor 110 generates an image corresponding to the second output screen. Furthermore, processor 110 instructs display device 160 to display the generated image. In response to the display instruction, display device 160 displays the second output screen. After processing step ST29, processor 110 returns to step ST22.

[0074] The second output screen is a screen for notifying the operator of the answer content acquired in step ST27. The second output screen includes the answer content. The second output screen may include the same content as the first output screen.

[0075] In step ST29, processor 110 may notify the operator of the answer content by a method other than displaying it on the screen, such as by reading it out loud.

[0076] As described above, processor 110 cooperates with display device 160 to notify the content of the answer in step ST29, thereby functioning as an example of a notifying section that notifies the second answer.

[0077] The design support system of the embodiment inputs a prompt including a question about the operation and functions of the target software and a GUI structure 142 to the LLM 141. The design support system of the embodiment then obtains an answer to the question as an output of the LLM 141. The operator can use the answer as a reference for GUI design of the target software. Therefore, the design support system of the embodiment can support the GUI design. For example, the operator can use the answer to check whether there is room for improvement and use it in GUI design of the target software.

[0078] Furthermore, the design support system of the embodiment inputs a prompt to the LLM 141 instructing the LLM 141 to indicate elements that can be improved in the answers to questions about the operation and functions of the target software obtained from the LLM 141. The design support system of the embodiment then obtains answers to the instructions as an output from the LLM 141. The operator can use the answers as a reference for GUI design of the target software. The answers may include elements that can be improved. This reduces the operator's effort in searching for areas for improvement in the target software.

[0079] Furthermore, the design support system of the embodiment inputs a prompt to the LLM 141 instructing the operator to indicate whether or not there are any elements that can be improved based on the answers to questions about the operation and functions of the target software obtained from the LLM 141. The design support system of the embodiment then obtains answers to the instructions as an output from the LLM 141. The operator can use the answers as a reference for GUI design of the target software. The answers include whether or not there are any elements that can be improved. This reduces the operator's effort in searching for areas for improvement in the target software.

[0080] The operator can determine how to improve the GUI by, for example, performing a heuristic analysis on an operation or function that includes elements that could be improved.

[0081] As described above, the design support device according to the embodiment can support GUI design more effectively than conventional devices.

[0082] Furthermore, the computer-aided design system according to the embodiment regards elements including at least one of ambiguity, discrepancy with actual user operation, non-intuitive elements, and low efficiency elements as elements that have room for improvement, and therefore, the computer-aided design system according to the embodiment is capable of extracting such elements.

[0083] The design support device 100 of the embodiment also receives input of a question from an operator. The design support device 100 of the embodiment also inputs the question to the LLM 141 and notifies the operator of the answer obtained. This allows the operator to ask a question regarding the operation of the target software and to receive the answer.

[0084] The above embodiment can be modified as follows.

[0085] In the above embodiment, the design support device 100 uses the glossary 143 or the vectorized glossary 144 as external data available to the LLM 141. However, the design support device 100 may use an LLM trained on the glossary 143 instead of the LLM 141. In this case, the processor 110 of the design support device 100, for example, causes the LLM 141 to additionally train the glossary 143.

[0086] In the above embodiment, the design support system 100 uses the glossary 143 or the vectorized glossary 144 as external data available to the LLM 141. However, the processor 110 of the design support system 100 may input the glossary 143 as a prompt to the LLM 141. For this purpose, the processor 110 converts the glossary 143 into data that can be input as a prompt and stores it in the auxiliary storage device 140.

[0087] The design support device 100 does not need to use the glossary 143 and the vectorization glossary 144 .

[0088] The processor 110 of the design support device 100 may generate the GUI structure 142 by analyzing compiled target software instead of the source code of the target software. In this case, the processor 110 may reverse engineer the target software.

[0089] The target software may be embedded software.

[0090] The design support device of the embodiment may be composed of multiple devices. The design support device of the embodiment may be realized using cloud computing. As an example, the design support device includes a terminal device and a server device. The server device is a server in cloud computing. The server device executes LLM141. The terminal device sends a prompt to the server device via a communication network such as the Internet or a local area network (LAN). The processor of the server device uses the prompt to perform the processes of steps ST24, ST25, ST27, and ST28. The server device then sends the acquired answer to the terminal device via the communication network. The terminal device uses the answer to perform the process of step ST26 or step ST29.

[0091] The processor 110 may implement some or all of the processes implemented by the programs in the above embodiments by a hardware circuit configuration.

[0092] A program for implementing the processes of the embodiments may be transferred in a state where it is stored in a non-transitory computer-readable storage medium within the device. However, the device may also be transferred without the program stored therein. The program may then be transferred separately and written to the device. In this case, the program may be transferred by, for example, recording it on a removable non-transitory computer-readable storage medium or by downloading it via a network such as the Internet or a local area network (LAN).

[0093] Although the embodiments of the present invention have been described above, they are merely examples and are not intended to limit the scope of the present invention. The embodiments of the present invention can be implemented in various forms without departing from the spirit of the present invention. [Explanation of symbols]

[0094] 100 Design support equipment 110 processors 120 ROM 130 RAM 140 Auxiliary storage 141 LLM 142 GUI structure 143 Glossary 144 Vectorization Glossary 150 input devices 160 Display Devices 170 Bus

Claims

1. A design support device comprising an answer acquisition unit that inputs a prompt including a question regarding at least one of the functions and operations of software and the GUI structure of the software into a trained language model, and acquires a first answer to the question output from the language model.

2. 2. The design support device according to claim 1, wherein the answer acquisition unit acquires a second answer indicating the element output from the language model by inputting a prompt to the language model instructing the language model to indicate an element that can be improved in the first answer.

3. 2. The design support device according to claim 1, wherein the answer acquisition unit acquires a second answer indicating the presence or absence of the element output from the language model by inputting a prompt to the language model instructing the language model to indicate the presence or absence of an element that can be improved in the first answer.

4. 4. The design support device according to claim 2, wherein the elements that have room for improvement are elements that include at least one of ambiguity, differences from actual user operations, non-intuitive elements, and low efficiency elements.

5. an input unit for receiving the question; 4. The design support device according to claim 2, further comprising: a notification unit that notifies the first answer and the second answer.

6. The processor in the design support device is A program that functions as an answer acquisition unit that inputs a prompt including a question regarding at least one of the software's functions and operations and the GUI structure of the software into a trained language model, and acquires a first answer to the question output from the language model.

7. A design support method that inputs a prompt including a question regarding at least one of the functions and operations of software and the GUI structure of the software into a trained language model, thereby obtaining a first answer to the question output from the language model.

Citation Information

Patent Citations

  • Pattern recognition model and pattern learning device, generation method for pattern recognition model, FAQ extraction method using the same and pattern recognition device, and program

    JP2020071690A