Functional model generating device and functional model generating method
Patent Information
- Application Number
- PCT/JP2025/014985
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2025-04-16
- Publication Date
- 2026-10-22
Smart Images

Figure JP2025014985_22102026_PF_FP_ABST
Abstract
Description
Function model generation device and function model generation method
[0001] Embodiments of the present invention relate to a function model generation device and a function model generation method.
[0002] Conventionally, in the operator work of back offices, operational efficiency improvement and automation through DX (Digital Transformation), particularly automation, systematization and efficiency improvement of routine work, have been realized. Amid the declining working population, expectations for work automation through DX are also rising for non-routine work. In non-routine work, processes differ depending on the work content and required requirements, so work analysis is important for efficiency improvement and automation.
[0003] International Publication No. WO / 2024 / 185103
[0004] Wil M. P. van der Aalst, Josep Carmona, "Process Mining Handbook", Lecture Notes in Business Information Processing, vol. 448 https: / / link.springer.com / book / 10.1007 / 978-3-031-08848-3
[0005] For example, when business analysis is performed by automatically converting the order relationship between events using event logs to construct a process model and performing pattern matching with a comparison target event log, the time series is disrupted when the operation order is changed or operations are deleted, making business analysis difficult. In addition, creating a process model with complex pattern branches requires multiple operation logs, and cannot be applied to work with low work frequency.
[0006] The present invention has been made in view of the above circumstances, and its object is to provide a function model generation device and a function model generation method that realize flexible process analysis not dependent on the chronological sequence of operations.
[0007] A functional model generation device according to one aspect of the present invention includes: a functional block generation unit that creates a divided operation log by dividing an operation log into a plurality of operation groups, and defines functional blocks corresponding to the operation groups in the divided operation log; and a mapping unit that associates and registers information relating to at least one element of the functional block based on the divided operation log, extracts a second function that is highly related to a first function corresponding to the functional block using a plurality of functional blocks to which the information is associated, and registers the functional block corresponding to the second function as a precondition for the functional block of the first function.
[0008] A functional model generation method according to one aspect of the present invention involves creating a divided operation log by dividing an operation log into a plurality of operation groups, defining a functional block corresponding to the operation group in the divided operation log, registering information relating to at least one element of the functional block based on the divided operation log, extracting a second function that is highly related to a first function corresponding to the functional block using the plurality of functional blocks to which the information is associated, and registering the functional block corresponding to the second function as a prerequisite for the functional block of the first function.
[0009] According to the present invention, it is possible to provide a functional model generation apparatus and a functional model generation method that enable flexible process analysis that does not depend on the chronological sequence of operations.
[0010] Figure 1 is a schematic diagram showing an example of the functions of a functional model generation device according to one embodiment of the present invention. Figure 2 is a diagram showing an example of a functional model using a representation method that shows the relationships between functions. Figure 3 is a schematic diagram showing one configuration example of a functional model generation device according to one embodiment of the present invention. Figure 4 is a schematic diagram showing an example of user operations processed by a functional model generation device according to one embodiment of the present invention. Figure 5 is a diagram showing an example of an operation log corresponding to a part of the user operations shown in Figure 4. Figure 6 is a diagram for explaining an example of a label rule used in the label assignment unit. Figure 7 is a diagram showing an example of an operation log to which labels have been assigned by the label assignment unit. Figure 8 is a schematic diagram showing an example of the input and output of the functional block generation unit. Figure 9 is a flowchart for explaining an example of the operation of the functional block generation unit. Figure 10 is a schematic diagram showing an example of the input and output when the element mapping unit associates information about resource elements. Figure 11 is a flowchart for explaining an example of the operation of the element mapping unit associating information about resource elements. Figure 12 is a schematic diagram showing an example of the input and output when the element mapping unit associates information about procedure elements. Figure 13 is a flowchart illustrating an example of how the element mapping unit associates information about procedure elements. Figure 14 is a schematic diagram showing an example of input and output when the element mapping unit associates information about input elements. Figure 15 is a flowchart illustrating an example of how the element mapping unit associates information about input elements. Figure 16 is a schematic diagram showing an example of input and output when the element mapping unit associates information about output elements. Figure 17 is a flowchart illustrating an example of how the element mapping unit associates information about output elements. Figure 18 is a schematic diagram showing an example of input and output when the element mapping unit associates information about time elements. Figure 19 is a flowchart illustrating an example of how the element mapping unit associates information about time elements. Figure 20 is a schematic diagram showing an example of input and output when the element mapping unit associates information about prerequisite elements.Figure 21 is a flowchart illustrating an example of how the element mapping unit associates information about precondition elements. Figure 22 is a diagram showing an example of precondition rules. Figure 23 is a schematic diagram showing an example of a functional model generated by a functional model generation device of one embodiment. Figure 24 is a diagram illustrating the effects of a functional model generation device of one embodiment. Figure 25 is a diagram illustrating the effects of a functional model generation device of one embodiment.
[0011] Embodiments relating to this invention will be described below. One embodiment of the present invention, a function model generation device and a function model generation method, automatically generates a function model showing the relationship between a function executed by user operation and other functions (functions highly related to the function) that can be conditions for the function to become executable, based on the operation log of a computer or other equipment used by the user for work. In the function model generated by the function model generation device of this embodiment, functions may be displayed as function blocks, and function blocks may include attribute information called "elements" related to the function.
[0012] Figure 1 is a schematic diagram showing an example of the functions of a functional model generation device according to one embodiment of the present invention. The functional model generation device 100 of this embodiment comprises a functional block generation unit A1, a labeling unit A2, and an element mapping unit A3.
[0013] The function block generation unit A1 is a function processing unit that extracts groups of operations of a functional unit from the operation log and defines them as function blocks.
[0014] Labeling unit A2 is a functional processing unit that determines whether a user operation in each operation log is an input, output, or navigation, and then labels it accordingly.
[0015] The element mapping unit A3 is a function processing unit that extracts information about elements from a set of operations and registers the information in association with the elements.
[0016] The functional model generation device 100 shown in Figure 1 outputs a functional model using a method that expresses resonance relationships between functions (FRAM®: Functional Resonance Analysis Method) as an example of a method used to represent a functional model that shows the relationships between functions. The functional model generated by the functional model generation device 100 in this embodiment is not limited to FRAM; it is a functional model that shows the relationships between functions that are independent of the time series, by extracting a group of operations for each function based on an operation log corresponding to a series of operations by the user, extracting information associated with at least one element of the corresponding function (input, output, prerequisites, etc.), and relating it to other functions that are prerequisites for the function.
[0017] Figure 2 shows an example of a functional model using a representation method that shows the relationships between functions. FRAM is one of the methods used for safety analysis in resilience engineering. In safety analysis, FRAM is used to clarify how multiple functions interact with each other and to identify the advantages and disadvantages related to safety from the relationships between multiple functions.
[0018] In FRAM, a single function can be assigned six elements (input element (I), output element (O), prerequisite element (P), control element (C), resource element (R), and time element (T)). However, a single function does not necessarily need to have all six elements assigned to it.
[0019] The input element (I) associates a trigger for starting the function. In this embodiment, the input element (I) associates, for example, input operations in the operation log (such as data entry or data selection) as input data necessary to execute the function.
[0020] The output element (O) associates the operation result. In this embodiment, the output element (O) associates, for example, the operation log output operation (such as the screen display after clicking) as a result of the function being output.
[0021] A prerequisite element (P) associates the prerequisites for a function to work. In this embodiment, for example, other functions that are prerequisites for the function to be executable are associated with the prerequisite element. For example, the operation "click a button on the UI screen" cannot be executed without the operation "open the UI screen". In this case, the operation "open the UI screen" is a prerequisite (P) element for the operation "click a button on the UI screen". Also, for example, the operation "close screen A" cannot be executed unless the operation "open screen A" has been performed beforehand. In this case, the operation "open screen A" is a prerequisite for the operation "close screen A".
[0022] Resource elements (R) associate the application being used, input data, GUI (Graphical User Interface) information, etc. In this embodiment, for example, the target application, the target window, the GUI used, and the data processed by the operation log are registered as resource information in the operation log, associated with the resource element. Furthermore, by defining resource information as variables and expressing the association of each element, it can be applied to cases where the same function is used but different data is used.
[0023] The control element (C) associates procedures, manuals, etc. In this embodiment, the control device (C) is described as a procedure element in which information on operating procedures is associated and registered.
[0024] The time element (T) associates the function start and end times. In this embodiment, for example, the chronological relationships in the operation log, the start and end times of the operation log, and the operation time of the function are associated with the time element.
[0025] Using functional blocks based on FRAM, functions can be examined from the perspective of six elements. In other words, by using functional blocks based on FRAM, it is possible to describe the rich behavior of a function, not just the relationship between input and output, regarding the conditions under which the function behaves.
[0026] Figure 3 is a schematic diagram showing one example configuration of a functional model generation device according to one embodiment of the present invention. In the example shown in Figure 1, the functional model generation device 100 according to this embodiment is composed of, for example, a server computer or a personal computer, and has a hardware processor 111A such as a CPU (Central Processing Unit). A program memory 111B, a data memory 112, an input / output interface 113, and a communication interface 114 are connected to this hardware processor 111A via a bus 115.
[0027] The communication interface 114 includes, for example, one or more wireless communication interface units, enabling the transmission and reception of information with the communication network. As the wireless interface, for example, an interface employing a low-power wireless data communication standard such as a wireless LAN (Local Area Network) is used.
[0028] The input / output interface 113 is connected to an input device 200 and an output device 300, which are attached to the functional model generation device 100 and used by users or the like.
[0029] The input / output interface 113 can take in operation data entered by a user or the like through an input device 200 such as a keyboard, touch panel, touchpad, or mouse, and can also output output data to an output device 300, including a display device using liquid crystal or organic EL (Electro Luminescence), for display. The input / output interface 113 can, for example, process a function model generated by the function processing unit (function block generation unit A1, labeling unit A2, and element mapping unit A3) of the function model generation device 100, which is implemented by a hardware processor 111A, so that it can be displayed, and can display it on the output device 300 in a visually recognizable manner. The input device 200 and output device 300 may be devices built into the function model generation device 100, or they may be input devices and output devices of other information terminals that can communicate with the function model generation device 100 via a network.
[0030] The program memory 111B is a non-temporary tangible storage medium in which a non-volatile memory that can be written to and read at any time, such as an HDD (Hard Disk Drive) or SSD (Solid State Drive), is used in combination with another non-volatile memory such as ROM (Read Only Memory), and can store programs necessary for executing various control processes, etc., according to one embodiment.
[0031] The data memory 112 is a tangible storage medium that, for example, uses a combination of the above-mentioned non-volatile memory and volatile memory such as RAM (Random Access Memory), and can be used to store various data or information acquired and created during the process of various processing. For example, the data of information registered by the function processing unit (function block generation unit A1, label assignment unit A2, and element mapping unit A3) of the function model generation device 100 can be recorded in the data memory 112.
[0032] In this embodiment, the data memory 112 stores rules and templates used for various processes, such as functional block division rules 112A, label rules 112B, procedure statement templates 112C, precondition rules 112D, thresholds, etc.
[0033] A functional model generation device 100 according to one embodiment of the present invention may be configured as a data processing device having a functional block generation unit A1, a labeling unit A2, and an element mapping unit A3 as software-based processing units.
[0034] The information storage unit used as a work memory by each part of the functional model generation device 100 may be configured using the data memory 112 shown in Figure 1. However, these storage areas are not essential to the functional model generation device 100, and may be, for example, an external storage medium such as a USB (Universal Serial Bus) memory, or an area provided in a storage device such as a database server located in the cloud.
[0035] Each of the processing functions in the above-described section can be implemented by having the hardware processor 111A read and execute a program stored in the program memory 111B. Some or all of these processing functions may be implemented in various other forms, including application-specific integrated circuits (ASICs) or field-programmable gate arrays (FPGAs).
[0036] Furthermore, the methods described in each embodiment can be stored as programs (software means) that can be executed by a computer on recording media such as magnetic disks (floppy disks, hard disks, etc.), optical disks (CD-ROMs, DVDs, MOs, etc.), and semiconductor memories (ROMs, RAMs, flash memories, etc.), and can also be transmitted and distributed via communication media. The programs stored on the media also include configuration programs that configure the computer to run software means (including not only the execution program but also tables or data structures). The computer implementing this device reads the program recorded on the recording media and, if necessary, constructs the software means using the configuration program, and executes the above-described processes by controlling the operation of this software means. Note that the recording media referred to in this specification are not limited to those for distribution, but also include storage media such as magnetic disks or semiconductor memories provided inside the computer or in devices connected via a network.
[0037] Next, the processing functions of the functional model generation apparatus 100 according to one embodiment of the present invention, namely the functional block generation unit A1, the labeling unit A2, and the element mapping unit A3, will be described in detail.
[0038] Figure 4 is a schematic diagram showing an example of user operations processed by a functional model generation device according to one embodiment of the present invention. The user operations used in the description of this embodiment are, for example, a series of operations (1) to (7) below, each consisting of one or more steps.
[0039] (1) Open the work folder in Explorer 1. Open Explorer. 2. Navigate to the folder path C:\Users\AS\Desktop\Work\takagi\PT to display the corresponding folder.
[0040] (2) Launch the browser application 1. Launch the browser application 2. Display a "new tab"
[0041] (3) Search for the Hoge Hoge Train ride search site on a search site 1. Enter "Hoge Hoge Train ride search site" in the browser's search bar and execute the search 2. Confirm the link of "Hoge Hoge Train ride search site - Route Information - Timetable - Operation Information Service" displayed in the search results
[0042] (4) Navigate to the official website of the Hoge Hoge Train ride search site 1. Click the link of "Hoge Hoge Train ride search site" in the search results 2. Access the top page of the official website of the Hoge Hoge Train ride search site
[0043] (5) Enter the train ride search site conditions and execute the search 1. "Departure location" setting: Enter "Mito" 2. "Destination" setting: Enter "Tokyo" 3. "Fare" setting: Select the "Use paper ticket" option 4. "Arrival time" setting: Select the "Arrival time" option 5. "Other options" setting: Enable the "Depart as late as possible" checkbox 6. "Fare type" setting: Select the "Use IC card" option 7. After entering the conditions, click the "Search" button 8. Display the train ride search results from Mito to Tokyo
[0044] (6) Change the display order of search results 1. Change the display order on the search results page as follows ・"Order of latest departure first" ・"Order by number of transfers" ・"Order of lowest fare first" (7) Close the window 1. Close the search results and unnecessary popup windows
[0045] FIG. 5 is a diagram illustrating an example of an operation log corresponding to part of the user operations shown in FIG. 4. Here, the operation logs corresponding to the user operations (1) to (5) shown in FIG. 4 are schematically illustrated. In the following description, an example of creating a functional model using operation logs corresponding to the series of user operations (1) to (7) described above will be described.
[0046] The labeling unit A2 acquires a series of operation logs, and assigns a label to each operation log. The operation log input to the labeling unit A2 is not limited by the type of target operation terminal, as long as it is log data of GUI operations performed by a user, for example. For example, it may be an operation log of a PC or a smartphone, or a log of operations on an apparatus or a mechanical apparatus as long as a GUI is provided.
[0047] In the description of the present embodiment, the operation log includes at least the following information. time: operation time Index: index number in the operation log file app_name: name of the executed application window_type: type of window operation (e.g., open, active, change, close) window_title: window title (e.g., in the case of a browser, the name of the tag page; in the case of a file, information combining the file name and the sheet or page name) win_path: path of the window screen or file name gui_type: type of GUI to be operated (e.g., radio, button, input, pulldown) gui_info: {id: ID for identifying the GUI to be operated} gui_value: value of the operation target action: type of the executed operation (e.g., click, value_change)
[0048] FIG. 6 is a diagram for describing an example of label rules used in the labeling unit. In the present embodiment, the labeling unit A2 assigns one of the labels input, output, and navigate as a label indicating the type of operation to the corresponding one of the plurality of operations included in the operation log.
[0049] "Input" is a label assigned to operations that correspond to processes such as a user entering conditions or other information into an operation screen. "Output" is a label assigned to operations that correspond to processes such as a user viewing (displaying) an operation screen. "Navigate" is a label assigned to operations that correspond to processes such as guiding a user through screen transitions or functions toward a specific objective.
[0050] Labels are defined, for example, in the form of a "conditional statement" as shown in Figure 6, based on the actions of multiple operations included in the operation log, as well as the state of the GUI and window.
[0051] For example, when the GUI (gui_type) of the operation mode is "data input ("input")", "pulldown ("pulldown") or radio button selection ("radio")", and (&&) there is a change in value (action="value_change"), the label assignment unit A2 assigns the label "action_label:"input"" to the corresponding operation in accordance with label rule 112B, as a process in which the user inputs conditions etc. on the operation screen.
[0052] For example, when the type of window operation (window_type) is when the screen is brought to the foreground, when the screen is opened, or when the screen is changed (window_type=”active”||”open”||”change”), the label assignment unit A2, in accordance with label rule 112B, assumes that the user has performed a process of viewing the operation screen and assigns the label “action_label:”output”” to the corresponding operation.
[0053] For example, when the type of operation performed is a click (action="click"), the label assignment unit A2, in accordance with label rule 112B, assigns "action_label:"navigate"" to the corresponding operation, assuming that the user has made a click or navigated to a link on the screen, and that a process has been performed to guide the user toward a specific purpose through screen transitions or functions.
[0054] Figure 7 shows an example of an operation log to which labels have been assigned by the labeling unit. The labeling unit A2 acquires a series of operation logs when a user performs an operation, refers to the label rule 112B in the data memory 112 to determine the type of multiple operations included in the operation log, and assigns a label indicating the type (input, output, navigate) to each operation. In the example shown in Figure 7, the labels assigned to the operations are attached to the end of the description of each operation, but the position in which labels are assigned is not limited to this. The labeling unit A2 outputs the operation log after the labels have been assigned.
[0055] Next, the functional block generation unit A1 will be described. Figure 8 is a schematic diagram showing an example of the input and output of the functional block generation unit. Figure 9 is a flowchart illustrating an example of the operation of the functional block generation unit.
[0056] The functional block generation unit A1 takes, for example, the operation log after labels have been assigned by the label assignment unit A2 as input, and outputs the operation log after it has been divided into a set of functional blocks and into individual blocks. The functional block generation unit A1 may also take the operation log before labels have been assigned as input.
[0057] The functional block generation unit A1 acquires the operation log after (or before) labeling (step SA1), and divides the operation log into block units by referring to the functional block division rule 112A (step SA2).
[0058] The functional block division rule 112A may include, for example, a rule that divides and extracts a series of operations on the same application or screen as a block, or a rule that divides and extracts a set of operations from input to output as a block based on a label assigned to the operation log.
[0059] In this embodiment, an example is described in which the functional block generation unit A1 divides the operation log into blocks according to the rule that "consecutive operations on the same application / screen are treated as blocks." If the functional block generation unit A1 does not generate functional blocks based on labels, it may generate functional blocks using the operation log before labeling.
[0060] The functional block generation unit A1 defines each of the multiple block units of the operation log, which has been divided according to the functional block division rule 112A, as a functional block (step SA3).
[0061] Furthermore, the function block generation unit A1 defines a name for each unit defined as a function block in the operation log (step SA4). The function block name only needs to be able to identify each of the multiple function blocks. For example, it may be generated systematically by combining the meanings of the application, screen, and action in the operation log, or the function name may be defined using LLM or similar from the group of operation logs corresponding to the function block.
[0062] In the example shown in Figure 9, the function block generation unit A1 generates function blocks corresponding to block units of the operation log, such as "Open a working folder in Explorer," "Launch a browser application," etc. At this point, no information is associated with each element of the function block.
[0063] The functional block generation unit A1 assigns a functional block name, and then outputs a collection of multiple functional blocks and an operation log after block division.
[0064] Next, the element mapping unit A3 will be explained. The element mapping unit A3 is a mapping unit that extracts and associates information about each of the multiple elements of a functional block from a set of operations, and registers the information for each of the multiple elements. Figure 10 is a schematic diagram showing an example of the input and output when the element mapping unit associates information about resource elements. Figure 11 is a flowchart to explain an example of the operation in which the element mapping unit associates information about resource elements.
[0065] The element mapping unit A3 first extracts and associates information related to the resource elements (R) of the functional blocks. At this time, the element mapping unit A3 takes as input a set of multiple functional blocks output from the functional block generation unit A1 and operation logs divided into units corresponding to each functional block.
[0066] The element mapping unit A3 extracts information from the operation log, which has been divided into units corresponding to each functional block, as resource information within the operation log, such as the application being operated on, the window being operated on, the GUI being operated on, and the data processed by the operation log (step SB1).
[0067] Next, the element mapping unit A3 registers the extracted information in association with the resource element of the corresponding function block (step SB2). In the example shown in Figure 10, the information "{app: Explorer.exe, w_path: ”C:\Users\MC\Desktop\Working\hoge\PT”}" is registered in association with the resource element of the function block "Open working folder in Explorer".
[0068] Furthermore, the element mapping unit A3 can be applied to cases where different data is handled with the same function by defining resource information as variables and expressing the relationships between each element. For example, the element mapping unit A3 extracts all operation logs with the label "input" from the block-level operation logs corresponding to the function block "Enter and execute conditions for train ride search site" (step SB3).
[0069] The element mapping unit A3 uses the extracted operation log input values as variables and registers the information associated with the resource elements of the corresponding function block (step SB4). For example, the element mapping unit A3 uses input values such as {data:$d1:"Mito",$d2:"Tokyo",$d3:"Ticket Used",$d4:"2024",$d5:"2",$d6"10",$d7:"Depart as late as possible",$d8:true,$d9:"IC Card Used"} as variables to generate resource information when dealing with information such as the application targeted by the operation for the same function, the window targeted by the operation, the GUI operated, and the data processed by the operation log, and registers the resource information associated with the resource elements of the corresponding function block.
[0070] In the example shown in Figure 10, the element mapping unit A3 represents the resource information registered in association with the resource element of the "Enter and execute conditions for train ride search site" function block in a JSON data structure. In this case, the element mapping unit A3 defines variables for each of the following: application name (app), screen path (win_path), GUI object information (gui), and input data value (data), and registers them in association with the resource element as a data structure that can be used for information associated with other elements.
[0071] In this embodiment, the element mapping unit A3 associates and registers the resource information "{app: Browser app, win_path: "https: / / hogehoge.com", gui: gui1: "shuppatsu", gui2: "mokuteki", gui3: "unchin", gui4: "date", gui5: "option1", gui6: "option2", gui7: "norikae_kensaku", data: d1: "Mito", d2: "Tokyo", d3: "Use ticket", d4: "2024", d5: "2", d6 "10", d7: "Depart as late as possible", d8: true, d9: "Use IC card"}" with the resource element of the function block "Enter and execute conditions for train ride search site".
[0072] Next, an example of the operation in which the element mapping unit A3 associates and registers information with the procedure elements (C) of the functional block will be described. Figure 12 is a schematic diagram showing an example of the input and output when the element mapping unit associates information with procedure elements. Figure 13 is a flowchart to explain an example of the operation in which the element mapping unit associates information with procedure elements.
[0073] The element mapping unit A3 acquires operation logs divided into blocks and a set of function blocks, and registers the operation logs divided into blocks as procedure information, associating them with the procedure elements of the corresponding function blocks. The procedure information may also be information converted using variable information (variable information) in the resource information, with variables embedded in it.
[0074] The element mapping unit A3 extracts variable information related to the operation log from the resource information associated with the resource element (step SC1).
[0075] Next, the element mapping unit A3 creates a procedure statement with embedded variables by referring to the procedure statement template (procedure statement creation rule) 112C (step SC2). When the element mapping unit A3 creates a procedure statement based on the procedure statement creation rule, for example, templates containing variable information (information within {}) such as "Use {Application} to {Action} {Data} on {GUI Information} of {Window Title} screen" or "Use {Application} to {Action (Open, Close, Bring to Front, etc.)} {Window Title} screen", are registered in advance in the procedure statement template 112C, and the corresponding items (variables) are identified from the action information in the operation log and applied to the procedure statement template to create the procedure statement.
[0076] The element mapping unit A3 registers the created procedure statement as procedure information, associating it with the procedure elements of the corresponding function block. At this time, the element mapping unit A3 registers the procedure information as associated with the procedure elements in the order in the operation log. The procedure information may be converted into natural language for readability. In addition, the element mapping unit A3 may define the procedure statement in combination with variables, taking into consideration its applicability when combined with other functions.
[0077] For example, in the example shown in Figure 12, the procedure element of the function block "Open working folder in Explorer" has the following procedure information registered: "1. Open $app. 2. Navigate the folder path $win_path and display the corresponding folder." In this procedure information, "$app" refers to the resource information "app: Explorer," and "$win_path" refers to the resource information "win_path: "C:\Users\MC\Desktop\Working\hoge\PT"."
[0078] Furthermore, the procedure element of the "Enter and execute conditions for train ride search site" function block has the following procedure information associated with it: "1. Enter $d1 into $gui1 2. Enter $d2 into $gui2 3. Select $d3 into $gui3 4. Enter $d4 year $d5 month $d6 day into $gui4 5. Change $d7 in $gui5 to $d8 6. Select $d9 in $gui6 7. Click $gui7 8. The results will be displayed." In this procedure information, "$gui1" refers to the resource information "gui1:"shuppatsu"", "$d1" refers to the resource information "$d1:"Mito"", "$gui2" refers to the resource information "gui2:"mokuteki"", "$d2" refers to the resource information "$d2:"Tokyo"", "$gui3" refers to the resource information "gui3:"unchin"", "$d3" refers to the resource information "$d3:"ticket usage"", "$gui4" refers to the resource information "gui4:"date"", and "$d4" refers to the resource information "$d4:"2024" $d5 refers to resource information $d5:"2"; $d6 refers to resource information $d6"10"; $gui5 refers to resource information gui5:"option1"; $d7 refers to resource information $d7:"depart as late as possible"; $d8 refers to resource information $d8:true; $gui6 refers to resource information gui6:"option2"; $d9 refers to resource information $d9:"use IC card"; and $gui7 refers to resource information gui7:"norikae_kensaku"
[0079] Furthermore, the process by which the element mapping unit A3 creates the procedure information may be the process disclosed in Patent Document 1, for example. Also, if variable information is not included in the procedure information, natural language created using LLM may be used as the procedure information, for example.
[0080] Next, an example of the operation in which the element mapping unit A3 associates and registers information with the input element (I) of a functional block will be described. Figure 14 is a schematic diagram showing an example of input and output when the element mapping unit associates information with an input element. Figure 15 is a flowchart to explain an example of the operation in which the element mapping unit associates information with an input element.
[0081] The element mapping unit A3 registers the input operations in the operation log corresponding to the function block (such as data entry and data selection) and the navigation operation immediately preceding the function block as trigger candidates, as input data necessary for the function block's operation, and associates them with input elements.
[0082] The element mapping unit A3 acquires operation logs divided into blocks and a set of function blocks, and extracts all operation logs with the label "input" from the operation logs corresponding to the function blocks (step SD1).
[0083] Next, the element mapping unit A3 registers the input values from the extracted input operation log as input data necessary for the function, associating them with the input elements of the function block (step SD2).
[0084] Furthermore, the element mapping unit A3 extracts the last operation log with the label "navigate" from the operation log corresponding to the block immediately preceding the functional block (step SD3).
[0085] The extracted navigation operation logs are potential triggers for starting the function, and the element mapping unit A3 registers them in association with the input elements of the function block (step SD4).
[0086] In the example shown in Figure 14, the input element of the "Enter and execute conditions for train ride search site" function block is associated with and registered the information "{input:{d1,d2,d3,d4,d5,d6,d7},navigate:{index:18}}". Here, the registration result of the input element is represented in a JSON data structure. Element mapping unit A3 registers the data (variables) that will be the input data for this function in "Input", and estimates and registers the information that will trigger this function in "navigate". In this embodiment, element mapping unit A3 registers the index of the operation log of the related navigation as the trigger information associated with the input element.
[0087] Next, an example of the operation in which the element mapping unit A3 associates and registers information with the output element (O) of a functional block will be described. Figure 16 is a schematic diagram showing an example of input and output when the element mapping unit associates information with an output element. Figure 17 is a flowchart to explain an example of the operation in which the element mapping unit associates information with an output element.
[0088] User operations to display output (such as screen display after clicking) can be either operations that display output results within the same application and screen, or operations that transition to a different screen to display output results. In the latter case, the function block corresponding to the operation log up to the point of displaying the output result may be different from the function block corresponding to the operation log for displaying the output result. In this embodiment, element mapping unit A3 registers operation information for both cases in association with the output elements of the function block.
[0089] The element mapping unit A3 acquires operation logs divided into blocks and a set of function blocks, and extracts operation logs that are labeled as output (step SE1).
[0090] The element mapping unit A3, for example, registers the index information of the extracted output label operation log in association with the output element of the function block (step SE2).
[0091] Next, the element mapping unit A3 extracts the last output operation log with a label from the operation log corresponding to the block immediately following the function block (step SE3).
[0092] The element mapping unit A3 registers the extracted output label operation log as output data, associating it with the output element of the function block (step SE4).
[0093] In the example shown in Figure 16, the index information of the operation log, "output:31", to which the output label is assigned is associated and registered as the output element of the function block "Enter and execute conditions for train ride search".
[0094] Next, an example of the operation in which the element mapping unit A3 associates and registers information with the time element (T) of a functional block will be described. Figure 18 is a schematic diagram showing an example of the input and output when the element mapping unit associates information with the time element. Figure 19 is a flowchart to explain an example of the operation in which the element mapping unit associates information with the time element.
[0095] The element mapping unit A3 acquires operation logs divided into blocks and a set of function blocks, and registers information such as the chronological relationships within the operation logs, the start and end dates of the operation logs, and the operation time of the functions, associating them with time elements. Time elements are important for evaluating the efficiency of the processing time of each function. Furthermore, the information associated with time elements allows for the preservation of the chronological order of the operation logs as a fact.
[0096] The element mapping unit A3 extracts the start and end times of a function from the operation log corresponding to a function block, and registers them in association with the time element of the extracted function block (step SF1).
[0097] Next, the element mapping unit A3 recognizes the chronological order relationship between functions from the operation log and registers the sequence from the output element (O) of any function block to the time element (T) of the function block corresponding to the function that will be started next (step SF2). The chronological order relationship between functions is indicated, for example, by a line of any form (e.g., blue, dashed line, etc.) connecting the output element (O) and the time element (T).
[0098] Next, an example of the operation in which the element mapping unit A3 associates and registers information with the prerequisite elements (P) of the functional block will be described. Figure 20 is a schematic diagram showing an example of the input and output when the element mapping unit associates information with prerequisite elements. Figure 21 is a flowchart to explain an example of the operation in which the element mapping unit associates information with prerequisite elements.
[0099] The element mapping unit A3 obtains a set of functional blocks to which information is associated with at least one element, extracts other functions (second functions) that can be conditions for any function (first function) corresponding to any functional block to become executable, and registers the functional blocks corresponding to the other functions as preconditions for the functional block of the arbitrary function. For example, the element mapping unit A3 weights the degree of relevance between functional blocks based on the precondition rule 112D, and uses the relationship between the weighted information and the information associated with the function name or resource element as an evaluation index to register functional blocks that have an evaluation index of a threshold or higher.
[0100] In this embodiment, the element mapping unit A3 calculates the degree of association between functions s_ij using, for example, the following formula. Herein, i is, for example, the identifier of multiple function blocks included in the function model. j is, for example, the identifier of the function block obtained by removing function X(i) from the multiple function blocks included in the function model.
[0101] The relevance s_ij = w(i,j) × u(i,j) × sum(k: item) fk(i,j) s_ij: Relevance of whether function Y(j) can be a prerequisite for function X(i) u_ij: 1 if function Y(j) is in a preceding process in the time series of function X(i), 0 if function Y(j) is in a subsequent process in the time series of function X(i) w_ij: Value weighted according to the prerequisite determination rule fk(i,j): Function of word similarity between function X(i) and function Y(j) with respect to item k Note that item k in the above formula is, for example, each of the multiple pieces of information associated with a function block (function name, data associated with resource elements (attribute data, resource information), application name, input data, etc.), and the function fk is a calculation formula that calculates the similarity between words and objects, such as cosine similarity.
[0102] Specifically, the element mapping unit A3 processes the functions of multiple functional blocks sequentially as the function X(i) to be processed, and performs the following operations: The element mapping unit A3 extracts all previous functions in chronological order for the function X(i) to be processed (step SG1).
[0103] Next, if the element mapping unit A3 finds that there are identical functions among the extracted functions, it removes the other functions from the extracted functions, leaving only the duplicate function (step SG2). For example, if two identical functions are extracted for function X(i) that appear earlier in time, the element mapping unit A3 may remove the other functions from the extracted functions, leaving only the function that is chronologically close to function X(i). Here, the determination of whether or not functions are the same may be made based on information associated with the elements of the function block corresponding to multiple functions, or it may be made based on the entries in the operation log.
[0104] The element mapping unit A3 refers to the prerequisite rule 112D and calculates a weight w_ij for each of the extracted functions (step SG3).
[0105] Figure 22 shows an example of a precondition rule. Here, as a rule for determining the precondition, for example, when function Y is in a time-series preceding process of function X, a condition (if) for determining the degree of relationship between function X and function Y, and a weight (weight) for when that condition is met are associated and recorded in the data memory 112.
[0106] For example, if the condition "Function X and Function Y have the same URL name" is met, the relationship between Function X and Function Y is high, and the weight of Function Y relative to Function X based on this condition is 10. Also, for example, if the condition "Function X and Function Y have the same app name" is met, the relationship between Function X and Function Y is high, and the weight of Function Y relative to Function X based on this condition is 5. Also, for example, if the condition "Function X's "window_type" is "open" and Function Y's "window_type" is "close"" is met, the relationship between Function X and Function Y is high, and the weight of Function Y relative to Function X based on this condition is 10. Also, for example, if the same data is registered in the information associated with the resource elements of Function X and Function Y, the relationship between Function X and Function Y is high, and the weight of Function Y relative to Function X based on this condition is 10.
[0107] On the other hand, for example, if "function X's 'window_type' is 'close' and function Y's 'window_type' is 'open'", the relationship between function X and function Y is low, and the weight of function Y for function X under this condition is 0. Note that the weights shown in Figure 22 are all numbers greater than or equal to 0, but are not limited to this. It is sufficient that functions with low relevance have small weights and functions with high relevance have large weights, and the weights of functions with low relevance may be negative numbers. For example, if a function Y satisfies multiple conditions of the precondition judgment rule for any function X, the weight of the other function Y for any function X is calculated as the sum of the weights corresponding to the conditions that the other function Y satisfies.
[0108] Next, the element mapping unit A3 calculates the degree of relevance (word similarity) fk(i,j) between an arbitrary function X(i) and the extracted function, including the function name, data associated with resource elements (attribute data, resource information), the application name, and input data (step SG4). The element mapping unit A3 may also calculate the degree of relevance as the degree to which the strings or sequences of numbers contained in the function name or data are common (for example, cosine similarity).
[0109] The element mapping unit A3 uses the relevance score s_ij, calculated using the weight w_ij calculated in step SG3 and the relevance score (word similarity) fk(i,j) calculated in step SG4, to determine which functions from the extracted functions are prerequisites for any function X(i). For example, the element mapping unit A3 compares the relevance score s_ij with a threshold and determines that functions with a relevance score s_ij higher than the threshold are prerequisites for function X(i), and excludes functions with a relevance score s_ij below the threshold from being prerequisites for function X(i) (step SG5).
[0110] The element mapping unit A3 associates an arbitrary function X(i) with a function determined to be a prerequisite in step SG5 and registers it (step SG6).
[0111] For example, in the example shown in Figure 20, the function "Open a working folder in Explorer," which is chronologically earlier than the function "Launch a browser," is extracted as a prerequisite, and the prerequisite element of the function block for "Launch a browser" and the output element of the function "Open a working folder in Explorer" are associated. The association of prerequisite functions is indicated by a line of any kind (e.g., red, solid line) connecting the output element (O) of the function block of the prerequisite function and the prerequisite element (P) of the function block of the function being processed. Here, it is desirable that the lines connecting the elements be displayed in a different manner (color or line type) than the lines indicating the chronological order relationship between the functions.
[0112] Based on the above, information is registered for each element of the functional block. Note that the order in which the element mapping unit A3 associates and registers information for each element is not limited to the order described above. Furthermore, the element mapping unit A3 may associate information for several elements in parallel. Moreover, the element mapping unit A3 only needs to be able to associate any function with its prerequisite functions, and the association of information with other elements of the function should be done to the extent necessary for business analysis, while the association of information not used for business analysis may be omitted.
[0113] Figure 23 is a schematic diagram showing an example of a functional model generated by a functional model generation device of one embodiment. Here, an example of generating a functional model for a user operation "using a browser application to search for a train ticket search site from a web screen and view the results" is shown. In Figure 23, the "flow tracing the operations in simple chronological order" is shown with a solid line, and the "map of relationships with other functions that may be conditions for a "function" to become executable" is shown with a dashed line. The descriptions in the boxes extracted from the elements are examples of information associated with the elements. In this way, the functional model generation device 100 of this embodiment can automatically generate a functional model that maps the relationships between multiple functions included in a user operation using an operation log corresponding to the user operation.
[0114] Figures 24 and 25 are diagrams illustrating the effects of a functional model generation device according to one embodiment. For example, the functional model generation device 100 of this embodiment generates a functional model that maps the relationships between a "function" and other functions that may be conditions for the function to become executable. This makes it possible to analyze the process while considering the effects of changing the order of operations or deleting operations.
[0115] For example, the functional model shown in Figure 24 allows for process analysis that takes into account the impact of changing the order of operations. Figure 24 shows a functional model of a series of operations in which the "change the display order of search results" operation is performed several times with different conditions after the "enter and execute conditions for train ticket search site" function. Focusing on the functions connected by solid lines, the three "change the display order of search results" functional blocks are not connected by solid lines, and the three "change the display order of search results" functional blocks are connected in parallel to the preceding "enter and execute conditions for train ticket search site" functional block in chronological order. From this, by referring to the functional model, it is possible to analyze that the three "change the display order of search results" functions are unaffected even if the processing order is changed.
[0116] On the other hand, referring to the functional model, the "Access Web Links from Search Screen" functional block is a prerequisite for the "Enter and Execute Train Ride Search Site Conditions" functional block, so it can be analyzed that changing the order of operations for these functions will have an impact.
[0117] The example shown in Figure 25 is a functional model based on a series of operations that occur when another application is operated as an interruption operation during the operation of the function "search for a train ticket search site from a web screen using a browser application and view the results" in the functional model shown in Figure 24. In this example, the user views the XX channel for reasons such as a pop-up notification while viewing transfer information on a web screen, and then brings the browser to the foreground and resumes operation. In this case, the functional block "bring the XX channel to the foreground" is unrelated to other functions (it is not connected to other functional blocks with solid lines), so it can be analyzed that even if the function "bring the XX channel to the foreground" is deleted, it will not affect other functions.
[0118] As described above, the functional model generation device 100 of this embodiment can use operation logs to automatically generate a model of the relationship between functions executed by user operations and other functions that may be conditions for a function to become executable. This makes it possible to visualize processes that take into account the effects of changing the order of functions or deleting functions. Furthermore, since it can automatically generate a model showing the relationship between functions of multiple functional blocks and functions that are prerequisites for the activation of those functions using a single operation log, it becomes possible to visualize processes even for tasks that occur infrequently.
[0119] In other words, according to this embodiment, it is possible to provide a functional model generation device 100 and a functional model generation method that realize flexible process analysis that does not depend on the chronological order of operations.
[0120] [Other Embodiments] The functions of the elements disclosed herein may be implemented using circuits or processing circuits that include general-purpose processors, special-purpose processors, integrated circuits, ASICs (Application Specific Integrated Circuits), FPGAs (Field Programmable Gate Arrays), other conventional general circuits, and / or combinations thereof that are programmed using one or more programs stored in one or more memories, or otherwise configured to perform the disclosed functions. A processor is considered a processing circuit or circuit because it includes transistors and other circuits. A processor may be a programmed processor that executes a program stored in memory. In this disclosure, a circuit, unit, or means is hardware that performs the enumerated functions, or hardware programmed to perform the enumerated functions. Hardware may be any hardware disclosed herein that is programmed or configured to perform the enumerated functions.
[0121] Furthermore, the computer instructions contained within the computer program provide logic and routines that enable hardware (e.g., processing circuits or circuits) to perform the methods disclosed herein. This computer program can be implemented in commonly known forms, such as computer-readable storage media, computer program products, memory devices, recording media such as CD-ROMs and DVDs, and / or memory for FPGAs and ASICs.
[0122] The present invention is not limited to the embodiments described above, and can be modified in various ways during implementation without departing from its essence. Furthermore, each embodiment may be combined as appropriate, and in that case, the combined effects can be obtained. Moreover, the above embodiments include various inventions, and various inventions can be extracted by selecting combinations from the multiple constituent elements disclosed. For example, if the problem can be solved and effects obtained even if some constituent elements are deleted from all the constituent elements shown in the embodiment, then the configuration with these deleted constituent elements can be extracted as an invention.
[0123] 100...Functional model generation device 111A...Hardware processor 111B...Program memory 112...Data memory 112A...Functional block division rules 112B...Label rules 112C...Procedure statement template 112D...Prerequisite rules 113...Input / output interface 114...Communication interface 200...Input device 300...Output device A1...Functional block generation unit A2...Label assignment unit A3...Element mapping unit
Claims
1. A functional model generation device comprising: a functional block generation unit that creates a divided operation log by dividing the operation log into a group of operations, and defines functional blocks corresponding to the group of operations in the divided operation log; and a mapping unit that associates and registers information relating to at least one element of the functional block based on the divided operation log, extracts a second function that is highly related to a first function corresponding to the functional block using a group of functional blocks with associated information, and registers the functional block corresponding to the second function as a prerequisite for the functional block of the first function.
2. The functional model generation device according to claim 1, further comprising a labeling unit that assigns a label indicating the type of operation to each of the plurality of operations included in the operation log, wherein the mapping unit associates and registers information relating to at least one element of the functional block based on the label.
3. The function model generation apparatus according to claim 1, wherein the mapping unit calculates the degree of relevance of other functions to the first function using the weight of other functions to the first function, which is calculated based on a rule that associates conditions for determining the degree of relevance between functions with the weight when the conditions are met, and the similarity of the information associated with the function block of the first function and the function block of the other functions, and extracts other functions as the second function when the degree of relevance is higher than a threshold.
4. A method for generating a functional model, comprising: creating a divided operation log by dividing the operation log into multiple operation groups; defining functional blocks corresponding to the operation groups in the divided operation log; registering information relating to at least one element of the functional block based on the divided operation log; extracting a second function that is highly related to a first function corresponding to a functional block using the multiple functional blocks with associated information; and registering the functional block corresponding to the second function as a prerequisite for the functional block of the first function.