WO2022180704A1 - 表示制御装置、表示制御方法および表示制御プログラム - Google Patents

表示制御装置、表示制御方法および表示制御プログラム Download PDF

Info

Publication number
WO2022180704A1
WO2022180704A1 PCT/JP2021/006942 JP2021006942W WO2022180704A1 WO 2022180704 A1 WO2022180704 A1 WO 2022180704A1 JP 2021006942 W JP2021006942 W JP 2021006942W WO 2022180704 A1 WO2022180704 A1 WO 2022180704A1
Authority
WO
WIPO (PCT)
Prior art keywords
information
dialogue
gui
display control
unit
Prior art date
Application number
PCT/JP2021/006942
Other languages
English (en)
French (fr)
Inventor
真実 小宮山
明 片岡
英毅 小矢
Original Assignee
日本電信電話株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日本電信電話株式会社 filed Critical 日本電信電話株式会社
Priority to JP2023501732A priority Critical patent/JPWO2022180704A1/ja
Priority to PCT/JP2021/006942 priority patent/WO2022180704A1/ja
Publication of WO2022180704A1 publication Critical patent/WO2022180704A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units

Definitions

  • the present invention relates to a display control device, a display control method, and a display control program.
  • chatbot which enables proxy operations from the dialogue system, mainly automates work such as source code version number management work in software development by inputting commands to the chatbot.
  • the chatbot itself has a program and an interface for automatically executing an application (see Non-Patent Document 1, for example).
  • the dialog system when the dialog system performs a proxy operation for PC (Personal Computer) work, the dialog system internally retains information for performing the proxy operation, but the user wants to check and modify that information.
  • PC Personal Computer
  • one possible countermeasure is to prepare a dedicated screen separate from the chat UI and have the user perform the operations. For example, when accepting redelivery from a shipping company, the user is first notified via a chat UI, linked to a dedicated screen, asked to enter necessary information, and if necessary, the entered information is reflected in the dialogue system. do. In this way, by preparing a dedicated screen separately from the chat UI, the problems related to user input (improved visibility and efficiency) can be solved.
  • a display control device includes a reading unit that reads dialogue scenario information including an utterance text for each dialogue and a transition condition list, and a transition condition list based on the transition condition list.
  • an acquisition unit that acquires information about the dialogue that is currently transitioning, an identification unit that identifies the dialogue that is transitioning based on the information about the dialogue that is currently transitioning, and the dialogue that is currently transitioning a receiving unit that receives the dialog scenario information corresponding to the above; a generating unit that generates GUI (Graphical User Interface) information to be displayed based on the dialog scenario information received by the receiving unit; and a display unit for displaying a GUI representing an internal state of the interactive program based on the generated GUI information to be displayed.
  • GUI Graphic User Interface
  • a display control method is a display control method executed by a display control device, comprising: a reading step of reading dialogue scenario information including an utterance text for each dialogue and a transition condition list; an obtaining step of obtaining information about the dialogue that is currently transitioning based on; an identifying step of identifying the dialogue that is transitioning based on the information about the dialogue that is currently transitioning; a receiving step of receiving the dialogue scenario information corresponding to the existing dialogue; a generating step of generating GUI information to be displayed based on the dialogue scenario information received by the receiving step; and a display step of displaying a GUI representing an internal state of the interactive program based on the information of the GUI to be displayed.
  • the display control program includes a reading step of reading dialogue scenario information including an utterance text for each dialogue and a transition condition list, and acquiring information about the dialogue currently transitioning based on the transition condition list. a identifying step of identifying the dialogue that is transitioning based on the information about the dialogue that is currently transitioning; and a receiving step of receiving the dialogue scenario information corresponding to the dialogue that is currently transitioning a generation step of generating GUI information to be displayed based on the dialogue scenario information received by the receiving step; and a display step of displaying a GUI representing the state.
  • FIG. 1 is a diagram showing a configuration example of a display control system according to the first embodiment.
  • FIG. 2 is a block diagram showing a configuration example of the display control device according to the first embodiment.
  • FIG. 3 is a diagram showing an example of dialogue scenario creation 1 according to the first embodiment.
  • FIG. 4 is a diagram showing an example of dialogue scenario creation 2 according to the first embodiment.
  • FIG. 5 is a diagram showing an example of dialogue scenario information according to the first embodiment.
  • FIG. 6 is a diagram showing an example of a business image according to the first embodiment.
  • FIG. 7 is a diagram showing an example of various data settings 1 according to the first embodiment.
  • FIG. 8 is a diagram showing an example of various data settings 2 according to the first embodiment.
  • FIG. 9 is a diagram showing an example of display control processing 1-1 according to the first embodiment.
  • FIG. 10 is a diagram showing an example of display control processing 1-2 according to the first embodiment.
  • FIG. 11 is a diagram showing an example of display control processing 1-3 according to the first embodiment.
  • FIG. 12 is a diagram showing an example of display control processing 1-4 according to the first embodiment.
  • FIG. 13 is a diagram showing an example of GUI generation processing 1-1 according to the first embodiment.
  • FIG. 14 is a diagram showing an example of GUI generation processing 1-2 according to the first embodiment.
  • FIG. 15 is a diagram showing an example of display control processing 2-1 according to the first embodiment.
  • FIG. 16 is a diagram showing an example of display control processing 2-2 according to the first embodiment.
  • FIG. 17 is a diagram showing an example of display control processing 3 according to the first embodiment.
  • FIG. 18 is a diagram showing an example of GUI control processing 2 according to the first embodiment.
  • FIG. 19 is a flowchart showing an example of the flow of internal status board control processing according to the first embodiment.
  • FIG. 20 is a flowchart showing an example of the flow of GUI control processing according to the first embodiment.
  • FIG. 21 is a diagram showing a computer that executes a program.
  • Embodiments of a display control device, a display control method, and a display control program according to the present invention will be described in detail below based on the drawings. In addition, this invention is not limited by embodiment described below.
  • FIG. 1 is a diagram showing a configuration example of a display control system according to the first embodiment.
  • This system 100 includes a user 20, a chat UI 30 involved in the processing of a display control device 10 (not shown), a dialog program 40, an internal state board 50 which is a GUI representing the internal state of the dialog program, and a dialog scenario information storage unit 14a.
  • the user 20, the chat UI 30, the dialogue program 40, the display control device 10 involved in the internal status board 50, and the dialogue scenario information storage unit 14a are wired or wirelessly connected via a predetermined communication network (not shown). Communicatively connected.
  • the display control system 100 shown in FIG. 1 may include multiple display control devices 10 and multiple users 20 .
  • the user 20 performs operations such as text input on the chat UI 30 used in the interactive system of the display control device 10 (see FIG. 1(1)).
  • Information that is input to the chat UI 30 is circulated and sent to an interactive program 40 such as a chatbot (or "bot" as appropriate) (see FIG. 1(2)).
  • the dialog program 40 responds to the chat UI 30 (see (3) in FIG. 1), and the content of the dialog is displayed from the chat UI 30 to the user 20 (see (4) in FIG. 1).
  • a dialogue scenario necessary for processing the dialogue program 40 is read from the dialogue scenario information storage unit 14a.
  • the internal state of the dialog program is at least the transition state of the dialog and the data values necessary for executing the functions of the dialog system, and is information stored in the internal state storage unit 14b.
  • the internal state is information relating to the flow such as dialogue history and progress status, as well as data values in general necessary for operation of various tasks such as proxy operation, but is not particularly limited.
  • the node indicated as "current position” in the “internal state flow (image) of the dialog program” of the dialog program 40 corresponds to the dialog that is currently transitioning.
  • the node indicated as "node performing proxy operation” in the above “internal state flow (image) of dialog program” represents a dialog capable of performing proxy operation to another system.
  • the image of work such as proxy operation will be described later in (Work image).
  • the internal state stored in the internal state storage unit 14b (not shown) is updated (Fig. 1 (6 )reference).
  • a GUI is generated based on the internal state after the change and the dialogue scenario (see FIG. 1 (7)).
  • an internal state board 50 indicating the internal state after the change is displayed for the user 20 (see FIG. 1(8)).
  • the internal state board 50 is a GUI for presenting the internal state of the dialog program, but the UI and window size are variable, and the context (transition state) of the dialog or user operation on the terminal (e.g. The display contents are switched by pressing a button on another system, etc.). Additionally, the internal state board 50 may initially be blank, transparent, or of size zero.
  • the chat UI 30 is a UI for accessing the interactive program (bot), and may be displayed so as to overlap the window of the internal status board 50, or may be displayed independently.
  • the display control system 100 has a screen (internal state board) 50 for displaying and editing the internal state of the dialogue program, separately from the chat UI 30, and displays the current dialogue transition state and the dialogue scenario or dialogue.
  • the display of the GUI of the internal state board 50 is controlled based on the data associated with the scenario. This makes it easier for the user 20 to understand and edit the internal state of the interactive program. In other words, the internal state of the chatbot 40 is presented to the user 20 so that the user 20 can easily judge whether or not to execute the proxy operation. Make it easy to check and fix. Furthermore, since the GUI of the internal status board is automatically generated when the dialog scenario is generated, there is no need to create a dedicated screen each time. The dialogue scenario will be described later in [Various Setting Processing of Dialogue Scenario, etc.].
  • FIG. 2 is a block diagram showing a configuration example of the display control device according to this embodiment.
  • the display control device 10 has an input unit 11 , an output unit 12 , a communication unit 13 , a storage unit 14 and a control unit 15 .
  • the input unit 11 is in charge of inputting various types of information to the display control device 10.
  • the input unit 11 is, for example, a mouse, a keyboard, or the like, and receives input such as setting information to the display control device 10 .
  • the output unit 12 controls output of various information from the display control device 10 .
  • the output unit 12 is, for example, a display or the like, and outputs setting information or the like stored in the display control device 10 .
  • the communication unit 13 manages data communication with other devices. For example, the communication unit 13 performs data communication with each communication device. Further, the communication unit 13 can perform data communication with an operator's terminal (not shown).
  • the storage unit 14 stores various information referred to when the control unit 15 operates and various information acquired when the control unit 15 operates.
  • the storage unit 14 has a dialogue scenario information storage unit 14a and an internal state storage unit 14b.
  • the storage unit 14 is, for example, a RAM (Random Access Memory), a semiconductor memory device such as a flash memory, or a storage device such as a hard disk or an optical disk.
  • the storage unit 14 is installed inside the display control device 10 in the example of FIG. good.
  • the dialogue scenario storage unit 14a stores dialogue scenario information, display content setting information, GUI configuration information, and the like.
  • the dialogue scenario storage unit 14a stores, as dialogue scenario information, basic node information such as a node ID (identification), node name, node type, speech text, transition condition list, board display control, etc., and settings for substitute operation. etc. is stored.
  • the dialogue scenario storage unit 14a also stores a display list, a GUI configuration list, and the like as display content setting information.
  • the dialogue scenario storage unit 14a also stores information for displaying a GUI such as HTML (Hypertext Markup Language) as GUI configuration information.
  • the internal state storage unit 14b stores transition states of dialogue, data values necessary for executing functions of the dialogue system, and the like.
  • the control unit 15 controls the display control device 10 as a whole.
  • the control unit 15 includes a reading unit 151a, a detection unit 151b, an acquisition unit 151c, a specification unit 151d, a setting unit 151e and a reflection unit 151f as the internal status board control unit 151, and a reception unit 152a and a generation unit 152b as the GUI control unit 152. and a display portion 152c.
  • the control unit 15 is, for example, an electronic circuit such as a CPU (Central Processing Unit) or an MPU (Micro Processing Unit), or an integrated circuit such as an ASIC (Application Specific Integrated Circuit) or an FPGA (Field Programmable Gate Array).
  • the reading unit 151a reads dialogue scenario information including the utterance text for each dialogue and the transition condition list. For example, the reading unit 151a reads dialogue scenario information including settings for node ID, node name, node type, speech text, transition condition list, board display control, and proxy operation. Further, the reading unit 151a reads display content setting information including a display list specifying key information and a GUI configuration list specifying GUI configuration information. Further, the reading unit 151a reads GUI configuration information. For example, the reading unit 151a reads information for displaying a GUI such as HTML as the GUI configuration information.
  • the detection unit 151b detects the operation of the user who conducts the dialogue. For example, the detection unit 151b detects input processing and update processing of text data on the internal state board 50 in the terminal of the user 20 who conducts the dialogue. Further, the detection unit 151b may detect a user operation such as a text data input process or a click to another application such as the chat UI 30 or a business system on the terminal of the user 20 who conducts the dialogue.
  • the acquisition unit 151c acquires information about the currently transitioning dialogue based on the transition condition list. In addition, the acquisition unit 151c acquires information about the currently transitioning dialogue based on the transition condition list and the user's operation. For example, the acquisition unit 151c acquires a transition condition list and a user's operation history as information about the dialogue that is currently transitioning. Further, the obtaining unit 151c obtains the node ID, node name, node type, and board display control corresponding to the currently transitioned dialogue identified by the identifying unit 151d as information about the currently transitioned dialogue.
  • the identifying unit 151d identifies the dialogue that is currently transitioning based on the information about the dialogue that is currently transitioning. For example, the identification unit 151d identifies a transitional dialogue based on the transition condition list and the user's operation history. In addition, the identifying unit 151d identifies the node ID, node name, node type, and board display control corresponding to the currently transiting dialogue. Further, the identifying unit 151d transmits the node ID, node name, node type, and board display control corresponding to the identified current transition dialogue to the acquiring unit 151c.
  • the setting unit 151e sets display or non-display of the GUI representing the internal state of the dialog program, based on the information about the currently transitioning dialog acquired by the acquisition unit 151c. For example, the setting unit 151e sets the display of the GUI representing the internal state of the dialogue program when the board display control corresponding to the currently transitioning dialogue is "display”. On the other hand, the setting unit 151e sets the non-display of the GUI representing the internal state of the dialogue program when the board display control corresponding to the currently transitioning dialogue is "non-display”. Furthermore, the setting unit 151e may set the display method such as the window size and color of the GUI representing the internal state of the dialog program for each node ID, node name, and node type corresponding to the currently transitioning dialog. .
  • the reflecting unit 151f When a change to the GUI representing the internal state of the interactive program is input, the reflecting unit 151f reflects the input change to the internal state of the interactive program. For example, when the detection unit 151b detects input processing of text data on the internal state board 50, the reflection unit 151f stores the input processed text data in the internal state storage unit 14b. Reflect changes.
  • the receiving unit 152a receives dialogue scenario information corresponding to the dialogue that is currently transitioning. In addition, the receiving unit 152a receives display content setting information corresponding to the currently transitioning dialogue. Furthermore, the receiving unit 152a receives GUI configuration information corresponding to the currently transitioning dialogue.
  • the generating unit 152b generates GUI information (GUI drawing information) to be displayed based on the dialogue scenario information received by the receiving unit 152a. For example, the generating unit 152b uses information that matches predetermined key information to generate GUI information to be displayed. Also, the generation unit 152b extracts the corresponding information from the dialogue scenario information using the information specified in the display list included in the display content setting information as a key, and the key name of the extracted information as the label and the data value as the text box. Generate GUI information to be displayed as Furthermore, the generating unit 152b generates information of the GUI to be displayed based on the GUI configuration information received by the receiving unit 152a. For example, when the display content setting information read by the reading unit 151a includes a GUI configuration list, the generation unit 152b selects the information of the GUI to be displayed based on the GUI configuration information specified by the GUI configuration list. Generate.
  • GUI drawing information GUI drawing information
  • the display unit 152c displays a GUI (internal state board) 50 representing the internal state of the interactive program based on the GUI information to be displayed generated by the generation unit 152b.
  • GUI internal state board
  • the display unit 152c displays the key name of the information generated by the generation unit 152b as a label and the data value as a text box. If the data values are a list, the display unit 152c displays them in an enumerated arrangement.
  • the display unit 152c may display a button at the bottom of the internal state board 50 for reflecting the internal state storage unit 14b by the reflecting unit 151f.
  • FIG. 3 and 4 are diagrams showing an example of dialogue scenario creation according to the first embodiment.
  • FIG. 5 is a diagram showing an example of dialogue scenario information according to the first embodiment.
  • FIG. 6 is a diagram showing an example of a business image according to the first embodiment.
  • 7 and 8 are diagrams showing examples of various data settings according to the first embodiment.
  • FIG. 3 shows an image of the internal state flow of the dialogue program, and nodes (a) to (v) correspond to processing such as dialogue. Terminal nodes (f), (j), (n), (q), (u), and (v) represent "nodes returning to the start”. to return to the first dialogue.
  • a dialogue scenario (dialogue scenario information) is configured by setting information for each node. Also, each node has a "speech text" and a "transition condition list", and the dialogue scenario transitions according to the designated transition conditions.
  • node (a) in FIG. 3 Using node (a) in FIG. 3, a specific example of basic node information and transition conditions will be described.
  • the "node id” is "node0000”
  • the "node name” is "start”
  • the "node type” is "normal”
  • the "utterance text” is "Hello!
  • "display” as "board display control”, etc. are expressed using Json (JavaScript (registered trademark) Object Notation) (see FIG. 3(1)).
  • “normal” is a normal node (normal processing)
  • “action” is a surrogate operation node (surrogate operation process).
  • “(id of node 1-1)”, “(id of node 2-1)”, and “id of (node 3-1)” in the “transition condition list” are destination nodes.
  • "Board display control” may be set for each node, with “display” indicating internal status board display and “non-display” indicating internal status board non-display.
  • Dialogue scenario creation 2 is a setting that allows each node to have setting information for "proxy operation" and "acquisition of data necessary for proxy operation".
  • setting examples (1) to (5) of each node are expressed using Json.
  • (information for specifying the UI) is specified by, for example, selector information (HTML), screen layout order (index number), or the like.
  • selector information HTML
  • screen layout order index number
  • FIG. 4 the information is described separately from the basic information of the node described in FIG. 3, but it may be described in the same Json file.
  • proxy operation at the end of the node information, "(proxy operation id)" as “proxy operation id”, "(description of proxy operation)” as “proxy operation name”, and "usage data List” ⁇ “user ID”: “(user ID value)” ⁇ , ⁇ “user name”: “(user name value)” ⁇ , ..., ⁇ “correspondence details”: “(correspondence detail value) ⁇ , ⁇ “remarks”: “(value of remarks)” ⁇ are described (see FIG. 4(4)). Note that the node for which the proxy operation is performed is a node whose node type is "action”.
  • proxy operation execution information "action123456" is described as “agent operation id” and "(function execution program for proxy operation)” is described as “content of proxy operation” (see (5) in FIG. 4).
  • (function execution program for proxy operation) means, for example, the script language itself (example: JavaScript), information for RPA (Robotic Process Automation) application execution (example: exe path, scenario to be read Path), a set of dedicated instructions for operating the substitute operation execution system included in the dialogue system, but is not particularly limited.
  • Dialog scenario information An image of dialogue scenario information according to this embodiment will be described in detail with reference to FIG.
  • An example of proxy operation execution information is expressed using Json.
  • the settings of one file having the structure shown in FIG. 5 correspond to one dialogue scenario, but the file structure is not particularly limited. Also, the description format is not limited to Json, and any format may be used as long as the information can be identified.
  • FIG. 6 shows a concrete business image and the final substitute operation using an image of the internal state flow of the dialogue program. Note that, in the flow of FIG. 6, when a substitute operation is executed, a transition is made to a "return to start node" to return to the initial dialogue.
  • business image 1 is "register customer information to system A”
  • data transfer to system B is executed as a proxy operation.
  • work image 2 is "registration of project information to system B", in work image 2-1, "new registration” is performed, and "progress management table creation” is executed as a substitute operation
  • work image 2-2 "Updating progress management table” is executed as a substitute operation after "Updating project information”
  • “Creation of quotation” is executed as a substitute operation after "Registering order information” in Operation Image 2-3.
  • work image 3 is "ordering of goods to system C”
  • "email sending” is executed as a substitute operation.
  • Various data settings 1 Various data settings 1 according to this embodiment will be described in detail with reference to FIG.
  • the setting 1 of various data enables each setting content to be set by a dedicated editor (GUI) or the like, that is, to be set in low code.
  • GUI dedicated editor
  • Various data setting 1 is an image of setting node properties, and various data can be changed.
  • the detailed setting information of the node is output from the GUI that specifies the data acquisition destination using a dedicated editor (see FIG. 7 (1)).
  • the information specifying the data acquisition destination is the selector information of HTML, the index number of the screen layout, or the like, but is not particularly limited.
  • various information is input to the output display screen (see FIG. 7(2)).
  • the setting example for data acquisition shown in FIG. 7(3) and the setting example of the data acquisition destination shown in FIG. 7(4) can be set.
  • various settings for the node are completed (see (5) in FIG. 7). Note that the above setting process may be executed manually by the user or by another application.
  • Various data settings 2 can be set in low code even for a node (node type: action) that has information about a proxy operation.
  • FIG. 9 to 12 are diagrams showing an example of display control processing 1 according to the first embodiment.
  • the user 20 performs an input operation or the like on the chat UI 30 (see FIG. 9 (1)). Also, the user 20 may perform an input operation or the like on the business system (see (2) in FIG. 9).
  • the transition condition of the dialogue system is satisfied by the operation of the user 20
  • the internal state of the dialogue program transitions (see (3) in FIG. 9).
  • information such as the utterance text included in the basic information of the node shown in FIG. 9(4) of the current transition node is made to correspond to the chat UI 30 (see FIG. 9(5)).
  • the chat UI 30 speaks (see (6) in FIG. 9).
  • the transition state based on the operation of the user 20 is reflected, and the display of the internal state board 50 is updated (see FIG. 9(7)).
  • Display control processing 1-2 is a process of rewriting the data values displayed on the internal state board 50.
  • the user 20 manually inputs data value corrections and unacquired values to the internal status board 50 (see FIG. 10 (1)).
  • the user 20 presses the apply button on the internal status board 50 to complete the input (see FIG. 10(2)).
  • the data corrected and input processed by the user 20 are reflected in the internal state storage unit 14b (see FIG. 10(3)).
  • the user 20 performs an input operation or the like on the chat UI 30 (see FIG. 11 (1)). Also, the user 20 may perform an input operation or the like on the business system (see FIG. 11(2)).
  • the transition condition of the dialogue system is satisfied by the operation of the user 20
  • the internal state of the dialogue program transitions (see FIG. 11(3)).
  • the chat UI 30 speaks based on the information such as the speech text included in the basic information of the nodes shown in FIG.
  • the transition state based on the operation of the user 20 is reflected, and the display of the internal state board 50 is updated (see FIG. 11 (6)).
  • the user 20 performs an input operation on the internal state board 50 and, if necessary, corrects data values (see FIG. 12 (1)). Also, the user 20 performs an input operation or the like on the chat UI 30 (see FIG. 12(2)). At this time, for example, if the chat UI 30 utters, "Do you want to automatically execute the progress management form?" reference). At this time, the control unit 15 reads and executes the information about the proxy operation enclosed by the dashed lines in FIGS. 12(4) and 12(5). On the other hand, if "No" is entered, the process returns to the start. Finally, the internal state transitions and returns to the start (see FIG. 12 (6)).
  • GUI generation processing 1 GUI generation processing 1 according to the present embodiment will be described in detail with reference to FIGS. 13 and 14.
  • FIG. 13 and 14 are diagrams illustrating an example of GUI generation processing according to the first embodiment.
  • GUI generation processing 1-1 The GUI generation processing 1-1 according to this embodiment will be described in detail with reference to FIG.
  • the generation unit 152b has a unique GUI generation logic. If a key name is specified with , the GUI of the internal state board is displayed by the original GUI generation logic.
  • the generation unit 152b displays the key name as a label, displays the data value in a text box, lists the data value if it is an array, acquires the value of the text box from the internal state storage unit 14b, It has a GUI generation logic for displaying buttons reflected in the state storage unit 14b at the bottom of the board.
  • the GUI generation logic described above can also create and modify GUI linking definitions in external files.
  • FIG. 13(4) shows an example of display content setting information that specifies the above information (key value).
  • the node type is "normal"
  • the key name is described in the display list, and the corresponding information is displayed.
  • GUI generation processing 1-2 GUI generation processing 1-2 according to this embodiment will be described in detail with reference to FIG.
  • the information (key value) designated by the display content setting information among the information held by the node that is currently transitioning is displayed on the internal state board 50.
  • FIG. 14 (3) An example of display content setting information that specifies the above information (key value) is shown in FIG. 14 (3). At this time, the node type is "action”, the key name is described in the display list, and the corresponding information is displayed.
  • the "progress management table update" and "usage data list” shown in the display example of the internal state board include the node information shown in FIGS. The information enclosed by the dashed line is displayed.
  • FIG. 15 and 16 are diagrams showing an example of display control processing 2 according to the first embodiment.
  • Display control processing 2-1 Display control processing 2-1 according to the present embodiment will be described in detail with reference to FIG.
  • the display control process 2-1 is basically a process in which the internal status board 50 is not displayed.
  • the user 20 performs an input operation or the like on the business system (see FIG. 15 (1)).
  • the internal state of the dialogue program transitions (see FIG. 15(2)).
  • the chat UI 30 is made to correspond to the information such as the utterance text included in the basic information of the node shown in FIG. 15(3) of the node to which the current transition is made (see FIG. 15(4)).
  • the chat UI 30 speaks (see (5) in FIG. 15).
  • the internal status board 50 is hidden because the "board display control" of the transitioned node is designated as "hidden".
  • the user 20 performs an input operation or the like on the chat UI 30 (see FIG. 16 (1)). Also, the user 20 may perform an input operation or the like on the business system (see FIG. 16(2)).
  • the transition condition of the dialogue system is satisfied by the operation of the user 20
  • the internal state of the dialogue program transitions (see FIG. 16(3)).
  • information such as the utterance text included in the basic information of the node shown in FIG. 16(4) of the current transition node is made to correspond to the chat UI 30 (see FIG. 16(5)).
  • the chat UI 30 speaks (see (6) in FIG. 16).
  • the transition state based on the operation of the user 20 is reflected, and the display of the internal state board 50 is started (see FIG. 16(7)).
  • Display control processing 3 is a diagram showing an example of display control processing 3 according to the first embodiment.
  • the display control process 3 is a process of defining and reading GUI configuration information to display an arbitrary GUI when a sophisticated GUI is to be set.
  • the display control process 3 can also rewrite the internal state itself from the GUI of the internal state board. Processing common to the above-described display control processing 1 and display control processing 2 will be omitted.
  • GUI display inside the internal state board 50 is performed based on the information from the dialogue scenario.
  • the association between interpretation of flow information and GUI display may be defined independently of implementation of the interactive system according to the content to be displayed.
  • the definition information of the association can be held in an external file, and the internal status board control section 151 can interpret and display it (see FIG. 17(1)).
  • a node whose node type is "action" is recursively searched from the nodes in the current transition state, and the information of the matched node is used (Fig. 17 ( 2) See).
  • "update item information" shown in the display example of the internal state in FIG. 17 represents the node name of the current transition state.
  • "Update progress management table” and the like are substitute operation names, and adjacent bars and percentages indicate the calculated fill rate of the usage data list.
  • the candidates for "previous flow” and "next flow” shown in the display example of the internal state in FIG. 17 represent the node name of the previous flow and the node name of the next flow, respectively.
  • the transition state of the flow can be moved and the internal state can be rewritten (see (3) in FIG. 17). Furthermore, by pressing the button "confirm transition condition” shown in the display example of the internal state in FIG. 17, the transition condition can be read and displayed (see FIG. 17 (4)).
  • GUI generation processing 2 GUI generation processing 2 according to the present embodiment will be described in detail with reference to FIG.
  • FIG. 18 is a diagram showing an example of GUI generation processing 2 according to the first embodiment.
  • GUI generation processing 2 is processing for setting an advanced GUI. Processing common to the GUI generation processing 1-1 and GUI generation processing 1-2 described above will be omitted.
  • FIG. 18(1) shows an example of the display content setting information of the internal status board 50.
  • FIG. 18(2) An example of GUI configuration information is shown in FIG. 18(2).
  • GUI configuration IDs of linked GUI configuration information are described as a GUI configuration list.
  • the generation unit 152b of the display control device 10 creates a GUI to be displayed based on the GUI configuration information specified by the GUI configuration list.
  • GUI configuration information shown in FIG. 18(2) describes information for setting a specific GUI (see FIG. 18(3)). For example, if the internal state board 50 has a web-based display engine, HTML, Javascript, etc. are described. Although FIG. 18(3) shows an example of HTML, the node name or the like is retrieved by accessing the internal state storage unit 14b, and the corresponding internal state board 50 is displayed (see FIG. 18(4)). ).
  • the above-described process generates a GUI based on static GUI configuration information (files), but is not particularly limited.
  • dialogue scenario trends e.g. number of branches, hierarchy, number of acquired/used data
  • inference can be made based only on dialogue scenario information (Json), and processes such as dynamically generating GUI configuration information. may be performed and displayed as a GUI on the internal state board.
  • FIG. 19 is a flowchart showing an example of the flow of internal status board control processing according to the first embodiment.
  • the reading unit 151a of the internal state board control unit 151 reads dialogue scenario information and display content setting information from the dialogue scenario information storage unit 14a (step S101). Also, the reading unit 151a reads GUI configuration information if necessary.
  • the detection unit 151b starts monitoring (change detection) of the internal state storage unit 14b (step S102). At this time, the detection unit 151b detects a user's operation and detects a change in the internal state corresponding to the operation. Subsequently, when the information in the internal state storage unit 14b is changed, that is, when a change in the internal state is detected (step S103: Yes), the acquisition unit 151c retrieves the currently transitioned information from the internal state storage unit 14b.
  • the node information (dialogue transition state) is acquired (step S104). At this time, the specifying unit 151d specifies the node to which the transition is currently made. On the other hand, if the information in the internal state storage unit 14b is not changed, that is, if no change in the internal state is detected (step S103: No), the process proceeds to step S103.
  • GUI control processing is performed by the GUI control unit 152, the GUI is displayed on the window of the internal state board 50, and the process proceeds to step S103.
  • the GUI control process is not performed and the process proceeds to step S103.
  • FIG. 20 is a flowchart showing an example of the flow of GUI control processing according to the first embodiment.
  • the reception unit 152a of the GUI control unit 152 receives dialogue scenario information and display content setting information linked to the node currently transited. Also, if necessary, the receiving unit 152a receives the GUI configuration information linked to the node to which the transition is currently made (step S201). At this time, the receiving unit 152a may receive various information from the acquisition unit 151c of the internal state board control unit 151, or may receive various information from the dialogue scenario information storage unit 14a.
  • the generating unit 152b generates information specified in the display list described in the display content setting information. is used as a key to extract corresponding information from the dialogue scenario information (step S203), and generate GUI information (GUI drawing information) displaying the key name of the extracted information as a label and the data value as a text box (step S204). ), the GUI drawing information is updated so that the button to be reflected in the internal state storage unit 14b is displayed at the bottom of the board (step S205).
  • the generation unit 152b creates a GUI to be displayed based on the GUI configuration information linked to the GUI configuration list.
  • information (GUI drawing information) is generated (step S206).
  • the display unit 152c displays the GUI of the internal state board based on the GUI drawing information generated by the generation unit 152b (step S207), and ends the process. At this time, if the information (value value of the key value) corresponding to the GUI to be displayed is stored in the internal state storage unit 14b, the display unit 152c reflects the information as the data value of the GUI.
  • dialogue scenario information including an utterance text for each dialogue and a transition condition list is read, and based on the transition condition list, information regarding the dialogue currently in transition is obtained.
  • identifying the dialogue that is transitioning based on the information about the dialogue that is currently transitioning receiving dialogue scenario information corresponding to the dialogue that is currently transitioning, and displaying based on the received dialogue scenario information GUI information to be displayed is generated, and based on the generated GUI information to be displayed, the GUI representing the internal state of the interactive program is displayed. Therefore, in this process, it is possible to easily perform a proxy operation in a dialogue system using a chat UI.
  • the operation of the user who conducts the dialogue is detected, and information regarding the currently transitioning dialogue is acquired based on the transition condition list and the user's operation. For this reason, in this processing, in a dialogue system using a chat UI, by detecting a user operation, it is possible to perform a substitute operation more easily.
  • display or non-display of the GUI representing the internal state of the dialogue program is set based on the acquired information regarding the dialogue that is currently transitioning. Therefore, in this processing, in a dialogue system using a chat UI, the user can efficiently display and edit the internal state of the dialogue program, thereby making it possible to perform substitute operations more easily.
  • the GUI configuration information is read, the GUI configuration information corresponding to the currently transitioning dialogue is received, and the GUI to be displayed is displayed based on the received GUI configuration information.
  • information matching predetermined key information is used to generate GUI information to be displayed. Therefore, in this processing, in a dialogue system using a chat UI, the user can more efficiently display and edit the internal state of the dialogue program, thereby making it possible to perform substitute operations more easily.
  • each component of each device shown in the drawings according to the above embodiment is functionally conceptual, and does not necessarily need to be physically configured as shown in the drawing.
  • the specific form of distribution and integration of each device is not limited to the one shown in the figure, and all or part of them can be functionally or physically distributed and integrated in arbitrary units according to various loads and usage conditions. Can be integrated and configured.
  • each processing function performed by each device may be implemented in whole or in part by a CPU and a program analyzed and executed by the CPU, or implemented as hardware based on wired logic.
  • ⁇ program ⁇ It is also possible to create a program in which the processing executed by the display control device 10 described in the above embodiment is described in a computer-executable language. In this case, the same effects as those of the above embodiments can be obtained by having the computer execute the program. Further, such a program may be recorded in a computer-readable recording medium, and the program recorded in this recording medium may be read by a computer and executed to realize processing similar to that of the above embodiments.
  • FIG. 21 is a diagram showing a computer that executes a program.
  • computer 1000 includes memory 1010, CPU 1020, hard disk drive interface 1030, disk drive interface 1040, serial port interface 1050, video adapter 1060, and network interface 1070, for example. , and these units are connected by a bus 1080 .
  • the memory 1010 includes a ROM (Read Only Memory) 1011 and a RAM 1012, as illustrated in FIG.
  • the ROM 1011 stores a boot program such as BIOS (Basic Input Output System).
  • Hard disk drive interface 1030 is connected to hard disk drive 1090 as illustrated in FIG.
  • Disk drive interface 1040 is connected to disk drive 1100 as illustrated in FIG.
  • a removable storage medium such as a magnetic disk or optical disk is inserted into the disk drive 1100 .
  • the serial port interface 1050 is connected to, for example, a mouse 1110 and a keyboard 1120, as illustrated in FIG.
  • Video adapter 1060 is connected to display 1130, for example, as illustrated in FIG.
  • the hard disk drive 1090 stores an OS 1091, application programs 1092, program modules 1093, and program data 1094, for example. That is, the above program is stored in, for example, the hard disk drive 1090 as a program module in which instructions to be executed by the computer 1000 are written.
  • the various data described in the above embodiments are stored as program data in the memory 1010 or the hard disk drive 1090, for example. Then, the CPU 1020 reads the program modules 1093 and program data 1094 stored in the memory 1010 and the hard disk drive 1090 to the RAM 1012 as necessary, and executes various processing procedures.
  • program module 1093 and program data 1094 related to the program are not limited to being stored in the hard disk drive 1090. For example, they may be stored in a removable storage medium and read by the CPU 1020 via a disk drive or the like. . Alternatively, the program module 1093 and program data 1094 related to the program are stored in another computer connected via a network (LAN (Local Area Network), WAN (Wide Area Network), etc.), and via the network interface 1070 It may be read by CPU 1020 .
  • LAN Local Area Network
  • WAN Wide Area Network

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

表示制御装置(10)は、対話ごとの発話テキストと遷移条件リストとを含む対話シナリオ情報を読み込む読込部(151a)と、遷移条件リストに基づいて、現在遷移している対話に関する情報を取得する取得部(151c)と、現在遷移している対話に関する情報に基づいて、現在遷移している対話を特定する特定部(151d)と、現在遷移している対話に対応する対話シナリオ情報を受信する受信部(152a)と、受信部(152a)によって受信された対話シナリオ情報に基づいて、表示するGUI(Graphical User Interface)の情報を生成する生成部(152b)と、生成部(152b)によって生成された表示するGUIの情報に基づいて、対話プログラムの内部状態を表わすGUIを表示する表示部(152c)とを備える。

Description

表示制御装置、表示制御方法および表示制御プログラム
 本発明は、表示制御装置、表示制御方法および表示制御プログラムに関する。
 従来、チャットUI(User Interface)を用いた対話システムにおいて、対話の遷移状態(適宜、「コンテキスト」)を管理し、応答内容を制御するシステム構成がある。さらに、対話システムを介して、別のシステムを操作する場合には、操作実行するための情報を取得(スロット充足)、管理する必要があり、対話システムの意図推定、スロット充足のための技術もある。
 一方、対話システムから代行操作を可能とする「ChatOps」は、主にソフトウェア開発におけるソースコードの版数管理作業等の作業をチャットボットへコマンド入力することにより自動化する。ここでは、チャットボット自体がアプリケーションを自動実行するためのプログラムおよびインターフェースを持つ(例えば、非特許文献1参照)。
Storey M and Zagalsky、 "Disrupting Developer Productivity One Bot at a Time"、 2016
 しかしながら、上述した従来技術では、チャットUIを用いた対話システムにおいて、代行操作を容易に行うことができなかった。なぜならば、従来技術では、以下で説明する課題があるためである。
 第1に、対話システムがPC(Personal Computer)作業の代行操作を行う場合、対話システムが代行操作を行うための情報を内部に保持することになるが、ユーザがそれらの情報を確認や修正したいケースが出てくる。例えば、自動操作実行の是非をユーザが判断したい場合や、後から確定した情報があり、対話システム上のデータが古く修正したい場合等に対応できないという課題がある。
 第2に、チャットUIにより、対話システムが保持する情報をテキストベースで提示することは可能だが、対話形式でユーザに提示することに不向きな場合がある。例えば、リスト形式のデータの確認や編集を行う際、一覧性に欠ける、また、データ値を修正するたびに対話を繰り返す必要があり、煩わしい等である。このため、ユーザへの情報提示や入力受付を全てチャットUIで行うのは非効率になるという課題がある。
 上記の第2の課題のように、チャットUIで全てのユーザ操作を行うことが困難な場合、チャットUIとは別の専用画面を用意し、ユーザ操作を行ってもらうことが対策として考えられる。例えば、運送会社の再配達受付では、まず、チャットUIによりユーザに通知し、ユーザに専用画面にリンクさせ、必要な情報を入力させ、必要があれば、入力された情報を対話システム側に反映する。このように、チャットUIとは別に専用画面を用意することで、ユーザ入力に関する課題(一覧性、効率性の向上)は解決される。
 しかしながら、システムを構築するという観点においては、対話システムを介して代行操作を行う用途ごとに専用画面が必要となる。このため、専用画面の開発コストがかさむため、多用途な対話システムを目指す上でネックになる。また、対話シナリオに合わせて専用画面も整備が必要であり、運用コストも増加する。
 上述した課題を解決し、目的を達成するために、本発明に係る表示制御装置は、対話ごとの発話テキストと遷移条件リストとを含む対話シナリオ情報を読み込む読込部と、前記遷移条件リストに基づいて、現在遷移している対話に関する情報を取得する取得部と、前記現在遷移している対話に関する情報に基づいて、前記遷移している対話を特定する特定部と、前記現在遷移している対話に対応する前記対話シナリオ情報を受信する受信部と、前記受信部によって受信された前記対話シナリオ情報に基づいて、表示するGUI(Graphical User Interface)の情報を生成する生成部と、前記生成部によって生成された前記表示するGUIの情報に基づいて、対話プログラムの内部状態を表わすGUIを表示する表示部とを備えることを特徴とする。
 また、本発明に係る表示制御方法は、表示制御装置によって実行される表示制御方法であって、対話ごとの発話テキストと遷移条件リストとを含む対話シナリオ情報を読み込む読込工程と、前記遷移条件リストに基づいて、現在遷移している対話に関する情報を取得する取得工程と、前記現在遷移している対話に関する情報に基づいて、前記遷移している対話を特定する特定工程と、前記現在遷移している対話に対応する前記対話シナリオ情報を受信する受信工程と、前記受信工程によって受信された前記対話シナリオ情報に基づいて、表示するGUIの情報を生成する生成工程と、前記生成工程によって生成された前記表示するGUIの情報に基づいて、対話プログラムの内部状態を表わすGUIを表示する表示工程とを含むことを特徴とする。
 また、本発明に係る表示制御プログラムは、対話ごとの発話テキストと遷移条件リストとを含む対話シナリオ情報を読み込む読込ステップと、前記遷移条件リストに基づいて、現在遷移している対話に関する情報を取得する取得ステップと、前記現在遷移している対話に関する情報に基づいて、前記遷移している対話を特定する特定ステップと、前記現在遷移している対話に対応する前記対話シナリオ情報を受信する受信ステップと、前記受信ステップによって受信された前記対話シナリオ情報に基づいて、表示するGUIの情報を生成する生成ステップと、前記生成ステップによって生成された前記表示するGUIの情報に基づいて、対話プログラムの内部状態を表わすGUIを表示する表示ステップとをコンピュータに実行させることを特徴とする。
 本発明では、チャットUIを用いた対話システムにおいて、代行操作を容易に行うことができる。
図1は、第1の実施形態に係る表示制御システムの構成例を示す図である。 図2は、第1の実施形態に係る表示制御装置の構成例を示すブロック図である。 図3は、第1の実施形態に係る対話シナリオ作成1の一例を示す図である。 図4は、第1の実施形態に係る対話シナリオ作成2の一例を示す図である。 図5は、第1の実施形態に係る対話シナリオ情報の一例を示す図である。 図6は、第1の実施形態に係る業務イメージの一例を示す図である。 図7は、第1の実施形態に係る各種データ設定1の一例を示す図である。 図8は、第1の実施形態に係る各種データ設定2の一例を示す図である。 図9は、第1の実施形態に係る表示制御処理1-1の一例を示す図である。 図10は、第1の実施形態に係る表示制御処理1-2の一例を示す図である。 図11は、第1の実施形態に係る表示制御処理1-3の一例を示す図である。 図12は、第1の実施形態に係る表示制御処理1-4の一例を示す図である。 図13は、第1の実施形態に係るGUI生成処理1-1の一例を示す図である。 図14は、第1の実施形態に係るGUI生成処理1-2の一例を示す図である。 図15は、第1の実施形態に係る表示制御処理2-1の一例を示す図である。 図16は、第1の実施形態に係る表示制御処理2-2の一例を示す図である。 図17は、第1の実施形態に係る表示制御処理3の一例を示す図である。 図18は、第1の実施形態に係るGUI制御処理2の一例を示す図である。 図19は、第1の実施形態に係る内部状態ボード制御処理の流れの一例を示すフローチャートである。 図20は、第1の実施形態に係るGUI制御処理の流れの一例を示すフローチャートである。 図21は、プログラムを実行するコンピュータを示す図である。
 以下に、本発明に係る表示制御装置、表示制御方法および表示制御プログラムの実施形態を図面に基づいて詳細に説明する。なお、本発明は、以下に説明する実施形態により限定されるものではない。
〔第1の実施形態〕
 以下に、第1の実施形態(適宜、本実施形態)に係る表示制御システムの構成、表示制御装置の構成、対話シナリオ等の各種設定処理、表示制御処理およびGUI生成処理、内部状態ボード制御処理の流れ、GUI制御処理の流れを順に説明し、最後に本実施形態の効果を説明する。
[表示制御システムの構成]
 図1を用いて、本実施形態に係る表示制御システム(適宜、本システム)100の構成を詳細に説明する。図1は、第1の実施形態に係る表示制御システムの構成例を示す図である。本システム100は、ユーザ20、表示制御装置10(図示せず)の処理に関与するチャットUI30、対話プログラム40、対話プログラムの内部状態を表わすGUIである内部状態ボード50、対話シナリオ情報記憶部14aを有する。ここで、ユーザ20と、チャットUI30、対話プログラム40、内部状態ボード50に関与する表示制御装置10と、対話シナリオ情報記憶部14aとは、図示しない所定の通信網を介して、有線または無線により通信可能に接続される。なお、図1に示した表示制御システム100には、複数台の表示制御装置10や、複数のユーザ20が含まれてもよい。
(基本的な表示制御処理)
 まず、図1(1)~(4)を用いて、基本的な表示制御処理について説明する。ユーザ20は、表示制御装置10の対話システムで用いるチャットUI30に対して、テキスト入力等の操作を行う(図1(1)参照)。チャットUI30に入力された情報は、情報流通され、チャットボット(適宜、「ボット」)等の対話プログラム40に送信される(図1(2)参照)。一方、対話プログラム40からチャットUI30に対して対話応答が行われ(図1(3)参照)、チャットUI30からユーザ20に対して、対話内容が表示される(図1(4)参照)。なお、対話プログラム40の処理に必要な対話シナリオは、対話シナリオ情報記憶部14aから読み込まれる。
(内部状態ボードを用いた表示制御処理)
 次に、図1(5)~(8)を用いて、内部状態ボード50を用いた表示制御処理について説明する。ユーザ20は、チャットUI30とともに表示された内部状態ボード50に対して、テキスト入力等の操作を行う(図1(5)参照)。このとき、内部状態ボード50は、対話プログラム40で現在遷移している対話に対応する内部状態ボードとして表示される。
 ここで、対話プログラムの内部状態とは、少なくとも対話の遷移状態と対話システムの機能を実行するために必要なデータ値であって、内部状態記憶部14bに記憶される情報である。例えば、内部状態とは、対話の履歴や進捗状況等のフローに関わる情報の他、代行操作等の各種業務の操作のために必要なデータ値全般であるが、特に限定されない。
 図1では、対話プログラム40の「対話プログラムの内部状態フロー(イメージ)」における「現在位置」と示されるノードが、現在遷移している対話に対応する。また、上記の「対話プログラムの内部状態フロー(イメージ)」における「代行操作を行うノード」と示されるノードは、他システムへの代行操作を行うことのできる対話を表わす。なお、代行操作等の業務イメージについては、(業務イメージ)で後述する。
 上記のユーザ操作によって、内部状態ボード50の内容が変更された場合や、追加された場合は、内部状態記憶部14b(図示せず)に記憶された内部状態が更新される(図1(6)参照)。また、上記のユーザ操作によって、対話の遷移等が起こり、内部状態の変更が起こった場合は、変更後の内部状態や対話シナリオをもとにGUIが生成される(図1(7)参照)。そして、ユーザ20に対して、変更後の内部状態を示した内部状態ボード50が表示される(図1(8)参照)。
 また、内部状態ボード50は、対話プログラムの内部状態を提示するためのGUIであるが、UIやウィンドウサイズは可変であり、対話のコンテキスト(遷移状態)、もしくは端末上でのユーザ操作(例:別システムのボタン押下等)で表示内容が切り替わる。さらに、内部状態ボード50は、初期状態では空白であったり、透明であったり、サイズ0であってもよい。一方、チャットUI30は、対話プログラム(ボット)にアクセスするためのUIであり、内部状態ボード50のウィンドウと重複するように表示されてもよいし、独立した構成で表示されてもよい。
 本実施形態に係る表示制御システム100では、チャットUI30とは別に、対話プログラムの内部状態を表示および編集するための画面(内部状態ボード)50を有し、現在の対話遷移状態と対話シナリオもしくは対話シナリオに紐づけられたデータをもとに内部状態ボード50のGUIの表示を制御する。このため、ユーザ20が対話プログラムの内部状態を理解、編集することを容易にする。つまり、ユーザ20にチャットボット40内部の状態を提示し、ユーザ20に代行操作の実行是非を判断しやすくし、また、チャットボット40が代行操作を実行する際に用いる情報(投入データ等)を確認、修正しやすくする。さらに、対話シナリオを生成すれば内部状態ボードのGUIが自動的に生成されるため、専用画面を都度作成する必要がない。なお、対話シナリオについては、[対話シナリオ等の各種設定処理]で後述する。
[表示制御装置の構成]
 図2を用いて、本実施形態に係る表示制御装置10の構成を詳細に説明する。図2は、本実施形態に係る表示制御装置の構成例を示すブロック図である。表示制御装置10は、入力部11、出力部12、通信部13、記憶部14および制御部15を有する。
 入力部11は、当該表示制御装置10への各種情報の入力を司る。入力部11は、例えば、マウスやキーボード等であり、当該表示制御装置10への設定情報等の入力を受け付ける。また、出力部12は、当該表示制御装置10からの各種情報の出力を司る。出力部12は、例えば、ディスプレイ等であり、当該表示制御装置10に記憶された設定情報等を出力する。
 通信部13は、他の装置との間でのデータ通信を司る。例えば、通信部13は、各通信装置との間でデータ通信を行う。また、通信部13は、図示しないオペレータの端末との間でデータ通信を行うことができる。
 記憶部14は、制御部15が動作する際に参照する各種情報や、制御部15が動作した際に取得した各種情報を記憶する。記憶部14は、対話シナリオ情報記憶部14aおよび内部状態記憶部14bを有する。ここで、記憶部14は、例えば、RAM(Random Access Memory)、フラッシュメモリ等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置等である。なお、図2の例では、記憶部14は、表示制御装置10の内部に設置されているが、表示制御装置10の外部に設置されてもよいし、複数の記憶部が設置されていてもよい。
 対話シナリオ記憶部14aは、対話シナリオ情報、表示内容設定情報およびGUI構成情報等を記憶する。例えば、対話シナリオ記憶部14aは、対話シナリオ情報として、ノードID(identification)、ノード名、ノードタイプ、発話テキスト、遷移条件リスト、ボード表示制御等のノードの基本情報や、代行操作のための設定等を記憶する。また、対話シナリオ記憶部14aは、表示内容設定情報として、表示リストやGUI構成リスト等を記憶する。また、対話シナリオ記憶部14aは、GUI構成情報として、HTML(Hypertext Markup Language)等のGUIを表示するための情報等を記憶する。内部状態記憶部14bは、対話の遷移状態、対話システムの機能を実行するために必要なデータ値等を記憶する。
 制御部15は、当該表示制御装置10全体の制御を司る。制御部15は、内部状態ボード制御部151として、読込部151a、検知部151b、取得部151c、特定部151d、設定部151eおよび反映部151f、GUI制御部152として、受信部152a、生成部152bおよび表示部152cを有する。ここで、制御部15は、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等の電子回路やASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路である。
 読込部151aは、対話ごとの発話テキストと遷移条件リストとを含む対話シナリオ情報を読み込む。例えば、読込部151aは、ノードID、ノード名、ノードタイプ、発話テキスト、遷移条件リスト、ボード表示制御、代行操作のための設定を含む対話シナリオ情報を読み込む。また、読込部151aは、キー情報を指定する表示リストとGUI構成情報を指定するGUI構成リストとを含む表示内容設定情報を読み込む。さらに、読込部151aは、GUI構成情報を読み込む。例えば、読込部151aは、GUI構成情報として、HTML等のGUIを表示するための情報を読み込む。
 検知部151bは、対話を行うユーザの操作を検知する。例えば、検知部151bは、対話を行うユーザ20の端末における内部状態ボード50上でのテキストデータの入力処理や更新処理を検知する。また、検知部151bは、対話を行うユーザ20の端末におけるチャットUI30や業務システム等の他アプリケーションに対するテキストデータの入力処理やクリック等のユーザ操作を検知してもよい。
 取得部151cは、遷移条件リストに基づいて、現在遷移している対話に関する情報を取得する。また、取得部151cは、遷移条件リストおよびユーザの操作に基づいて、現在遷移している対話に関する情報を取得する。例えば、取得部151cは、現在遷移している対話に関する情報として、遷移条件リストおよびユーザの操作の履歴を取得する。さらに、取得部151cは、現在遷移している対話に関する情報として、特定部151dによって特定された現在遷移している対話に対応するノードID、ノード名、ノードタイプ、ボード表示制御を取得する。
 特定部151dは、現在遷移している対話に関する情報に基づいて、現在遷移している対話を特定する。例えば、特定部151dは、遷移条件リストおよびユーザの操作の履歴に基づいて、遷移している対話を特定する。また、特定部151dは、現在遷移している対話に対応するノードID、ノード名、ノードタイプ、ボード表示制御を特定する。さらに、特定部151dは、特定した現在遷移している対話に対応するノードID、ノード名、ノードタイプ、ボード表示制御を取得部151cに送信する。
 設定部151eは、取得部151cによって取得された現在遷移している対話に関する情報に基づいて、対話プログラムの内部状態を表わすGUIの表示、または非表示を設定する。例えば、設定部151eは、現在遷移している対話に対応するボード表示制御が「表示」である場合には、対話プログラムの内部状態を表わすGUIの表示を設定する。一方、設定部151eは、現在遷移している対話に対応するボード表示制御が「非表示」である場合には、対話プログラムの内部状態を表わすGUIの非表示を設定する。さらに、設定部151eは、現在遷移している対話に対応するノードID、ノード名、ノードタイプごとに、対話プログラムの内部状態を表わすGUIのウィンドウサイズや色彩等の表示方式を設定してもよい。
 反映部151fは、対話プログラムの内部状態を表わすGUIの変更が入力された場合には、対話プログラムの内部状態に対して、入力された変更を反映する。例えば、反映部151fは、検知部151bによって内部状態ボード50上でのテキストデータの入力処理が検知された場合には、入力処理されたテキストデータを内部状態記憶部14bに格納し、内部状態の変更を反映する。
 受信部152aは、現在遷移している対話に対応する対話シナリオ情報を受信する。また、受信部152aは、現在遷移している対話に対応する表示内容設定情報を受信する。さらに、受信部152aは、現在遷移している対話に対応するGUI構成情報を受信する。
 生成部152bは、受信部152aによって受信された対話シナリオ情報に基づいて、表示するGUIの情報(GUI描画情報)を生成する。例えば、生成部152bは、所定のキー情報に合致する情報を用いて、表示するGUIの情報を生成する。また、生成部152bは、表示内容設定情報に含まれる表示リストで指定された情報をキーに、対話シナリオ情報から該当する情報を抽出し、抽出した情報のキー名をラベル、データ値をテキストボックスとして表示するGUIの情報を生成する。さらに、生成部152bは、受信部152aによって受信されたGUI構成情報に基づいて、表示するGUIの情報を生成する。例えば、生成部152bは、読込部151aによって読み込まれた表示内容設定情報にGUI構成リストが含まれている場合には、GUI構成リストが指定するGUI構成情報に基づいて、表示するGUIの情報を生成する。
 表示部152cは、生成部152bによって生成された表示するGUIの情報に基づいて、対話プログラムの内部状態を表わすGUI(内部状態ボード)50を表示する。例えば、表示部152cは、生成部152bによって生成された情報のキー名をラベル、データ値をテキストボックスとして表示する。また、表示部152cは、上記のデータ値がリストであれば羅列した配置に表示する。さらに、表示部152cは、反映部151fによって内部状態記憶部14bに反映するボタンを内部状態ボード50の最下部に表示してもよい。
[対話シナリオ等の各種設定処理]
 図3~図8を用いて、本実施形態に係る対話シナリオ等の各種設定処理を詳細に説明する。図3、図4は、第1の実施形態に係る対話シナリオ作成の一例を示す図である。図5は、第1の実施形態に係る対話シナリオ情報の一例を示す図である。図6は、第1の実施形態に係る業務イメージの一例を示す図である。図7、図8は、第1の実施形態に係る各種データ設定の一例を示す図である。
(対話シナリオ作成1)
 図3を用いて、本実施形態に係る対話シナリオ作成1を詳細に説明する。図3では、対話プログラムの内部状態フローのイメージが示されており、ノード(a)~(v)が各対話等の処理に対応する。なお、末端のノード(f)、(j)、(n)、(q)、(u)、(v)は、「スタートに戻るノード」を表わし、代行操作を実行した場合には、このノードに遷移して最初の対話に戻る。
 各ノードの情報を設定することにより、対話シナリオ(対話シナリオ情報)が構成される。また、各ノードは「発話テキスト」と「遷移条件リスト」を持ち、対話シナリオは、指定した遷移条件に従い遷移する。
 図3のノード(a)を用いて、ノードの基本情報および遷移条件の具体例について説明する。図3のノード(a)の基本情報では、“ノードid”として“node0000”、“ノード名”として“スタート”、“ノードタイプ”として“normal”、“発話テキスト”として“Hello!”、“遷移条件リスト”として[{“(遷移条件のid)”,“(ノード1-1のid)”},{“(遷移条件のid)”,“(ノード2-1のid)”},{“(遷移条件のid)”,“(ノード3-1)のid”}]、“ボード表示制御”として“表示”等がJson(JavaScript(登録商標) Object Notation)を用いて表現されている(図3(1)参照)。
 ここで、“ノードタイプ”は、“normal”は通常ノード(通常処理)であり、“action”は代行操作ノード(代行操作処理)である。また、“遷移条件リスト”の“(ノード1-1のid)”、“(ノード2-1のid)”、“(ノード3-1)のid”は、宛先ノードである。また、“ボード表示制御”は、“表示”が内部状態ボード表示であり、“非表示”が内部状態ボード非表示であり、ノードごとに設定してもよい。
 また、図3のノード(a)の遷移条件では、“遷移条件id”として”condition1-1”、“遷移条件名”として“○○システムを開き、業務Aを開始”、“遷移条件”として、ユーザ発話=“業務Aを開始”またはURL=“xxx”のページを開く等がJsonを用いて表現されている(図3(2)参照)。なお、対話シナリオの作成は、フローを描画できるようなGUIで作成してもよいし、上記のようなJsonベースでの記載でもよく、特に限定されない。
(対話シナリオ作成2)
 図4を用いて、本実施形態に係る対話シナリオ作成2を詳細に説明する。対話シナリオ作成2は、各ノードに「代行操作」および「代行操作に必要なデータ取得」のための設定情報を持たせることができる設定である。図4では、各ノードの設定例(1)~(5)がJsonを用いて表現されている。
 データ取得のための設定例として、ノードの情報の末尾に、“データ取得リスト”として{“ユーザID”,“(データ取得先のid)”}、{“ユーザ名”,“(データ取得先のid)”}、{“顧客会社名”,“(データ取得先のid)”}、{“顧客担当者名”,“(データ取得先のid)”}等を記載する(図4(1)参照)。また、データ取得先の設定例として、“データ取得先id”として“UI123456”、“データ取得先情報”として“(UIを特定するための情報)”を記載する(図4(2)参照)。ここで、(UIを特定するための情報)とは、例えば、セレクタ情報(HTML)や画面配置順(インデックス番号)等で指定される。なお、上記のデータ取得先の設定例は、音声操作では辞書データに相当する。また、図4では、図3で説明したノードの基本情報と分けて記載しているが、同じJsonファイル中で記載してもよい。
 また、データ取得のための設定例として、ノードの情報の末尾に、“データ取得リスト”として{“日時”,“(データ取得先のid)”}、{“場所”,“(データ取得先のid)”}、{“対応詳細”,“(データ取得先のid)”}、{“備考”,“(データ取得先のid)”}等を記載する(図4(3)参照)。
 一方、代行操作のための設定例として、ノードの情報の末尾に、“代行操作id”として“(代行操作id)”、“代行操作名”として“(代行操作の説明)”、“利用データリスト”として{“ユーザID”:“(ユーザIDの値)”}、{“ユーザ名”:“(ユーザ名の値)”}、…、{“対応詳細”:“(対応詳細の値)”}、{“備考”:“(備考の値)”}が記載されている(図4(4)参照)。なお、代行操作を行うノードは、ノードタイプが“action”のノードである。
 また、代行操作実行情報の例として、“代行操作id”として“action123456”、“代行操作内容として“(代行操作のための機能実行プログラム)”が記載されている(図4(5)参照)。ここで、(代行操作のための機能実行プログラム)とは、例えば、スクリプト言語そのもの(例:JavaScript)、RPA(Robotic Process Automation)アプリ実行のための情報(例:exeのパス、読み込むシナリオのパス)、対話システムが内包する代行操作実行系を動作させるための専用の命令セットであるが、特に限定されない。
(対話シナリオ情報)
 図5を用いて、本実施形態に係る対話シナリオ情報のイメージを詳細に説明する。図5では、(1)ノードごとの情報、(2)ノードの基本情報、(3)データ取得のための設定、(4)代行操作のための設定、(5)データ取得先の情報、(6)代行操作実行情報の例がJsonを用いて表現されている。図5で示す構成の1ファイルの設定で1対話シナリオに対応するが、ファイル構成は特に限定されない。また、記載の形式はJsonに限られず、情報が識別できれば任意の形式で記載してもよい。
(業務イメージ)
 図6を用いて、本実施形態に係る業務イメージを詳細に説明する。図6では、対話プログラムの内部状態フローのイメージを用いて、具体的な業務イメージと最終的な代行操作を示している。なお、図6のフローでは、代行操作を実行した場合には、「スタートに戻るノード」に遷移して最初の対話に戻る。
 業務イメージ1が「システムAへ顧客情報の登録」であった場合、代行操作として「システムBへデータ転記」が実行される。業務イメージ2が「システムBへ案件情報の登録」であった場合、業務イメージ2-1では、「新規登録」を経て、代行操作として「進捗管理表作成」が実行され、業務イメージ2-2では、「案件情報更新」を経て、代行操作として「進捗管理表更新」が実行され、業務イメージ2-3では、「発注情報登録」を経て、代行操作として「見積書作成」が実行される。業務イメージ3が「システムCへ物品の発注処理」であった場合、代行操作として「メール送付」が実行される。
(各種データ設定1)
 図7を用いて、本実施形態に係る各種データ設定1を詳細に説明する。各種データの設定1は、各設定内容は専用エディタ(GUI)等により設定する、つまりローコードで設定することを可能とする。なお、各種データ設定1は、ノードのプロパティ設定を行うイメージで、各種データの変更等を実行することができる。
 まず、例えば、専用エディタ等を利用してデータ取得先を指定するGUIから、ノードの詳細設定情報を出力する(図7(1)参照)。このとき、データ取得先を指定する情報は、HTMLのセレクタ情報、画面配置のインデックス番号等であるが、特に限定されない。次に、出力された表示画面に各種情報を入力する(図7(2)参照)。この結果、図7(3)で示すデータ取得のための設定例や図7(4)で示すデータ取得先の設定例を設定することができる。最後に、出力された表示画面の設定を完了することによって、ノードへの各種設定が完了する(図7(5)参照)。なお、上記の設定処理はユーザの手入力や他アプリによって実行してもよい。
(各種データ設定2)
 図8を用いて、本実施形態に係る各種データ設定2を詳細に説明する。各種データ設定2は、代行操作の情報を持つノード(ノードタイプ:action)の場合にも、ローコードで設定することを可能とする。
 まず、例えば、専用エディタ等を利用して、ノードの詳細設定情報を出力する(図8(1)参照)。ここで出力された表示画面に各種情報を入力する(図8(2)参照)。なお、ここでは、各種情報の入力として、スクリプト言語を用いているが、特に限定されない。また、対象となるアプリ指定に関する情報を入力してもよい。この結果、図8(3)で示す代行操作のための設定例や図8(4)で示す代行操作実行情報の例を設定することができる。最後に、出力された表示画面の設定を完了することによって、ノードへの各種設定が完了する(図8(5)参照)。一方、各種情報の入力は、ローカルアプリ指定によって実行してもよい(図8(6)参照)。なお、上記の設定処理はユーザの手入力によって実行してもよい。
[表示制御処理1]
 図9~図12を用いて、本実施形態に係る表示制御処理1を詳細に説明する。図9~図12は、第1の実施形態に係る表示制御処理1の一例を示す図である。
(表示制御処理1-1)
 図9を用いて、本実施形態に係る表示制御処理1-1を詳細に説明する。表示制御処理1-1は、対話シナリオの内部状態と内部状態ボード50上のGUI表示が連動し、現在の遷移しているノードの情報から、内部状態ボードで表示するGUIが決定される処理である。なお、表示制御処理1-1では、ノードとして“ノードタイプ”=“normal”について説明する。
 まず、ユーザ20は、チャットUI30に対して、入力操作等を実行する(図9(1)参照)。また、ユーザ20は、業務システムに対して、入力操作等を実行してもよい(図9(2)参照)。次に、ユーザ20の操作により、対話システムの遷移条件が満たされたときは、対話プログラムの内部状態が遷移する(図9(3)参照)。このとき、現在遷移しているノードの図9(4)に示すノードの基本情報に含まれる発話テキスト等の情報をチャットUI30に対応させる(図9(5)参照)。そして、発話テキストに基づき、チャットUI30が発話を行う(図9(6)参照)。最後に、ユーザ20の操作に基づく遷移状態が反映され、内部状態ボード50の表示が更新される(図9(7)参照)。
(表示制御処理1-2)
 図10を用いて、本実施形態に係る表示制御処理1-2を詳細に説明する。表示制御処理1-2は、内部状態ボード50で表示されたデータ値を書き換える処理であり、内部状態ボード50上でユーザが書き換えた値、もしくは内部状態として未取得のデータを内部状態記憶部14bへ反映することができる。なお、内部状態ボード50の表示更新時は、初期値として内部状態記憶部14bからデータ値を取得し表示する。また、表示制御処理1-2では、ノードとして“ノードタイプ”=“normal”について説明する。
 まず、ユーザ20は、内部状態ボード50に対して、データ値の修正や未取得だった値を手入力する(図10(1)参照)。次に、ユーザ20は、内部状態ボード50上の適用ボタンを押し、入力を完了する(図10(2)参照)。この結果、ユーザ20によって修正、入力処理されたデータが、内部状態記憶部14bへ反映される(図10(3)参照)。
(表示制御処理1-3)
 図11を用いて、本実施形態に係る表示制御処理1-3を詳細に説明する。表示制御処理1-3は、代行操作の情報を持つノード(“ノードタイプ”=“action”)に遷移したときの処理であり、基本的な流れは、表示制御処理1-1で示した“ノードタイプ”=“normal”のときと同様であるが、内部状態ボード50では、代行操作する際の利用データを表示する処理である。
 まず、ユーザ20は、チャットUI30に対して、入力操作等を実行する(図11(1)参照)。また、ユーザ20は、業務システムに対して、入力操作等を実行してもよい(図11(2)参照)。次に、ユーザ20の操作により、対話システムの遷移条件が満たされたときは、対話プログラムの内部状態が遷移する(図11(3)参照)。このとき、現在遷移しているノードの図11(4)に示すノードの基本情報に含まれる発話テキスト等の情報に基づき、チャットUI30が発話を行う(図11(5)参照)。最後に、ユーザ20の操作に基づく遷移状態が反映され、内部状態ボード50の表示が更新される(図11(6)参照)。
(表示制御処理1-4)
 図12を用いて、本実施形態に係る表示制御処理1-4を詳細に説明する。表示制御処理1-4は、内部状態ボード50で表示されたデータ値を書き換える処理であり、かつ代行操作の情報を持つノード(“ノードタイプ”=“action”)に遷移したときの処理である。基本的な流れは、表示制御処理1-2で示した“ノードタイプ”=“normal”のときと同様であるが、内部状態ボード50では、代行操作する際の利用データを表示する処理である。
 まず、ユーザ20は、内部状態ボード50に対して、入力操作や必要であればデータ値の修正等を実行する(図12(1)参照)。また、ユーザ20は、チャットUI30に対して、入力操作等を実行する(図12(2)参照)。このとき、例えば、チャットUI30によって、「進捗管理票を自動実行しますか?」という発話がされていた場合には、「はい」を入力すると、代行操作が実行される(図12(3)参照)。このとき、図12(4)(5)の破線で囲った代行操作に関する情報を制御部15が読み込み、実行する。一方、「いいえ」を入力すると、処理がスタートに戻る。最後に、内部状態が遷移し、スタートに戻る(図12(6)参照)。
[GUI生成処理1]
 図13、図14を用いて、本実施形態に係るGUI生成処理1を詳細に説明する。図13、図14は、第1の実施形態に係るGUI生成処理の一例を示す図である。
(GUI生成処理1-1)
 図13を用いて、本実施形態に係るGUI生成処理1-1を詳細に説明する。上述の表示制御処理1では、生成部152bに独自のGUI生成ロジックを持つ構成であり、表示制御処理1に係るGUI生成処理1は、ノードの持つ情報(キーバリュー)のうち、表示内容設定情報でキー名を指定すれば独自のGUI生成ロジックにより、内部状態ボードのGUIが表示される。なお、GUI生成処理1-1では、ノードとして“ノードタイプ”=“normal”について説明する。
 まず、図13(1)で示すノードの基本情報の例、図13(2)で示すデータ取得のための設定例は、現在遷移しているノードに設定されている情報である。ここで、現在遷移しているノードの持つ情報のうち、表示内容設定情報で指定した情報(キーバリュー)が内部状態ボード50で表示される(図13(3)参照)。このとき、生成部152bは、キー名をラベルで表示し、データ値をテキストボックスで表示し、データ値が配列であれば羅列し、テキストボックスの値は内部状態記憶部14bから取得し、内部状態記憶部14bに反映するボタンをボードの最下部に表示するためのGUI生成ロジックを持つ。また、上記のGUI生成ロジックは、外部ファイルでGUIの紐づけの定義を作成、修正も可能である。
 また、上記の情報(キーバリュー)を指定する表示内容設定情報の例を図13(4)で示す。このとき、ノードタイプが“normal”であり、表示リストにはキー名が記載され、該当する情報が表示される。
 一方、内部状態等が反映されることにより、内部状態ボードの表示例に示した「案件情報の更新」および「データ取得リスト」には、ノードの情報のうち、図13(1)(2)の破線で囲んだ情報が表示される。また、内部状態ボードの表示例に示した「データ取得リスト」には、データ取得リストのキー名から、内部状態記憶部14bにアクセスすることにより取得されたデータ値が反映される。
(GUI生成処理1-2)
 図14を用いて、本実施形態に係るGUI生成処理1-2を詳細に説明する。GUI生成処理1-2は、代行操作の情報を持つノード(“ノードタイプ”=“action”)に遷移したときの処理であり、基本的な流れは、GUI生成処理1-1で示した“ノードタイプ”=“normal”のときと同様であるが、内部状態ボード50では、代行操作する際の利用データを表示する処理である。
 まず、図14(1)で示すノードの基本情報の例、図14(2)で示す代行操作のための設定例は、現在遷移しているノードに設定されている情報である。ここで、GUI生成処理1-1と同様に、現在遷移しているノードの持つ情報のうち、表示内容設定情報で指定した情報(キーバリュー)が内部状態ボード50で表示される。
 また、上記の情報(キーバリュー)を指定する表示内容設定情報の例を図14(3)で示す。このとき、ノードタイプが“action”であり、表示リストにはキー名が記載され、該当する情報が表示される。
 一方、内部状態等が反映されることにより、内部状態ボードの表示例に示した「進捗管理表更新」「利用データリスト」には、ノードの情報のうち、図14(1)(2)の破線で囲んだ情報が表示される。
[表示制御処理2]
 図15、図16を用いて、本実施形態に係る表示制御処理2を詳細に説明する。図15、図16は、第1の実施形態に係る表示制御処理2の一例を示す図である。
(表示制御処理2-1)
 図15を用いて、本実施形態に係る表示制御処理2-1を詳細に説明する。表示制御処理2-1は、基本的に内部状態ボード50は表示されない処理である。
 まず、ユーザ20は、業務システムに対して、入力操作等を実行する(図15(1)参照)。次に、ユーザ20の操作により、対話システムの遷移条件が満たされたときは、対話プログラムの内部状態が遷移する(図15(2)参照)。このとき、現在遷移しているノードの図15(3)に示すノードの基本情報に含まれる発話テキスト等の情報をチャットUI30に対応させる(図15(4)参照)。そして、発話テキストに基づき、チャットUI30が発話を行う(図15(5)参照)。図15(1)~(5)の処理を通じて、遷移したノードの“ボード表示制御”が“非表示”に指定されているため、内部状態ボード50は非表示となる。
(表示制御処理2-2)
 図16を用いて、本実施形態に係る表示制御処理2-2を詳細に説明する。表示制御処理2-2は、基本的に内部状態ボード50は表示されない処理(“ボード表示制御”=“非表示”)であるが、内部状態ボード50が必要なノード(例:“ノードタイプ”=“action”)に遷移したときに、内部状態ボードを表示する処理である。
 まず、ユーザ20は、チャットUI30に対して、入力操作等を実行する(図16(1)参照)。また、ユーザ20は、業務システムに対して、入力操作等を実行してもよい(図16(2)参照)。次に、ユーザ20の操作により、対話システムの遷移条件が満たされたときは、対話プログラムの内部状態が遷移する(図16(3)参照)。このとき、現在遷移しているノードの図16(4)に示すノードの基本情報に含まれる発話テキスト等の情報をチャットUI30に対応させる(図16(5)参照)。そして、発話テキストに基づき、チャットUI30が発話を行う(図16(6)参照)。最後に、ユーザ20の操作に基づく遷移状態が反映され、内部状態ボード50の表示が開始される(図16(7)参照)。
[表示制御処理3]
 図17を用いて、本実施形態に係る表示制御処理3を詳細に説明する。図17は、第1の実施形態に係る表示制御処理3の一例を示す図である。表示制御処理3は、高度なGUIを設定したい場合、GUI構成情報を定義し、読み込むことで任意のGUIを表示する処理である。また、表示制御処理3は、内部状態ボードのGUIから内部状態そのものを書き換えることもできる。なお、上述した表示制御処理1、表示制御処理2と共通する処理については省略する。
 表示制御処理3では、対話シナリオからの情報をもとに、内部状態ボード50内部のGUI表示を行う。ここで、表示制御処理3では、フローの情報を解釈しGUI表示との対応付けは、表示させたい内容に応じて、対話システムの実装とは独立して定義してもよい。例えば、表示制御処理3では、対応付けの定義情報を外部ファイルで持ち、それを内部状態ボード制御部151が解釈し、表示することもできる(図17(1)参照)。
 また、表示制御処理3では、代行操作の候補として、現在の遷移状態のノードから、ノードタイプ=“action”であるノードを再帰的に検索し、合致したノードの情報を利用する(図17(2)参照)。ここで、図17の内部状態の表示例に示す「案件情報更新」は、現在の遷移状態のノード名を表わす。また、「進捗管理表更新」等は、代行操作名であり、近接するバーやパーセンテージは、計算された利用データリストの充足率を表示したものである。さらに、図17の内部状態の表示例に示す「前のフロー」「次のフロー」の候補は、それぞれ前のフローのノード名、次のフローのノード名を表わす。
 また、図17の内部状態の表示例に示す「進む」のボタンを押すことで、フローの遷移状態を移動させ、内部状態を書き換えることもできる(図17(3)参照)。さらに、図17の内部状態の表示例に示す「遷移条件を確認」のボタンを押すことで、遷移条件を読み込んで表示することもできる(図17(4)参照)。
[GUI生成処理2]
 図18を用いて、本実施形態に係るGUI生成処理2を詳細に説明する。図18は、第1の実施形態に係るGUI生成処理2の一例を示す図である。GUI生成処理2は、高度なGUIを設定する場合の処理である。なお、上述したGUI生成処理1-1、GUI生成処理1-2と共通する処理については省略する。
 まず、内部状態ボード50の表示内容設定情報の例を図18(1)で示す。また、GUI構成情報の例を図18(2)で示す。ここで、表示内容設定情報には、GUI構成リストとして、紐づけされたGUI構成情報のGUI構成IDが記載されている。表示制御装置10の生成部152bは、読込部151aによって読み込まれた表示内容設定情報にGUI構成リストが含まれている場合には、GUI構成リストが指定するGUI構成情報に基づいて、表示するGUIの情報を生成する。
 また、図18(2)で示す(GUI構成情報)には、具体的なGUIを設定するための情報が記載される(図18(3)参照)。例えば、内部状態ボード50がWebベースの表示エンジンを持つのであれば、HTMLやJavascript等が記載される。なお、図18(3)では、HTMLの例を示したが、ノード名等が内部状態記憶部14bへのアクセスにより検索され、対応する内部状態ボード50が表示される(図18(4)参照)。
 上述した処理は、静的なGUI構成情報(ファイル)をもとにGUIを生成するが、特に限定されない。対話シナリオの傾向(例:分岐数、階層、取得/利用データ数)等を用いて、対話シナリオ情報(Json)のみをもとに推論し、動的にGUI構成情報を生成する等の処理を行い、内部状態ボードのGUIとして表示してもよい。
[内部状態ボード制御処理の流れ]
 図19を用いて、本実施形態に係る内部状態ボード制御処理の流れを詳細に説明する。図19は、第1の実施形態に係る内部状態ボード制御処理の流れの一例を示すフローチャートである。
 まず、内部状態ボード制御部151の読込部151aは、対話シナリオ情報記憶部14aから対話シナリオ情報、表示内容設定情報を読み込む(ステップS101)。また、読込部151aは、必要があればGUI構成情報を読み込む。次に、検知部151bは、内部状態記憶部14bの監視(変更検知)を開始する(ステップS102)。このとき、検知部151bは、ユーザの操作を検知し、その操作に対応する内部状態の変更を検知する。続いて、内部状態記憶部14bの情報が変更された場合、つまり内部状態の変更が検知された場合(ステップS103:Yes)、取得部151cは、内部状態記憶部14bから、現在遷移しているノードの情報(対話遷移状態)を取得する(ステップS104)。このとき、特定部151dは、現在遷移しているノードを特定する。一方、内部状態記憶部14bの情報が変更されていない場合、つまり内部状態の変更が検知されない場合(ステップS103:No)、ステップS103に移行する。
 さらに、内部状態記憶部14bから取得したノードの基本情報より、現在遷移しているノードが“ボード表示制御”=“表示”であった場合(ステップS105:Yes)、設定部151eは、内部状態ボード50のウィンドウを表示し、最前面にする(ステップS107)。一方、現在遷移しているノードが“ボード表示制御”=“表示”でなかった場合(ステップS105:No)、設定部151eは、内部状態ボード50のウィンドウを非表示にする(ステップS106)。
 最後に、内部状態ボード50のウィンドウを表示したときは、GUI制御部152によるGUI制御処理を行い、GUIを内部状態ボード50のウィンドウ上に表示し、ステップS103に移行する。一方、内部状態ボード50のウィンドウを非表示にしたときは、GUI制御処理を行わず、ステップS103に移行する。
[GUI制御処理の流れ]
 図20を用いて、本実施形態に係るGUI制御処理の流れを詳細に説明する。図20は、第1の実施形態に係るGUI制御処理の流れの一例を示すフローチャートである。
 まず、GUI制御部152の受信部152aは、現在遷移しているノードに紐づけられた対話シナリオ情報、表示内容設定情報を受信する。また、受信部152aは、必要があれば、現在遷移しているノードに紐づけられたGUI構成情報を受信する(ステップS201)。このとき、受信部152aは、内部状態ボード制御部151の取得部151cから各種情報を受信してもよいし、対話シナリオ情報記憶部14aから各種情報を受信してもよい。
 次に、表示内容設定情報に記載された情報に、GUI構成リストが含まれていない場合(ステップS202:No)、生成部152bは、表示内容設定情報に記載された表示リストで指定された情報をキーに、対話シナリオ情報から該当する情報を抽出し(ステップS203)、抽出した情報のキー名をラベル、データ値をテキストボックスとして表示するGUIの情報(GUI描画情報)を生成し(ステップS204)、内部状態記憶部14bに反映するボタンがボードの最下部に表示されるようGUI描画情報を更新する(ステップS205)。一方、表示内容設定情報に記載された情報に、GUI構成リストが含まれている場合(ステップS202:Yes)、生成部152bは、GUI構成リストに紐づくGUI構成情報をもとに表示するGUIの情報(GUI描画情報)を生成する(ステップS206)。
 最後に、表示部152cは、生成部152bによって生成されたGUI描画情報をもとに、内部状態ボードのGUIを表示し(ステップS207)、処理を終了する。このとき、表示部152cは、表示するGUIに対応する情報(キーバリューのバリュー値)が、内部状態記憶部14bに記憶されていれば、その情報を当該GUIのデータ値として反映する。
[第1の実施形態の効果]
 第1に、上述した本実施形態に係る表示制御処理では、対話ごとの発話テキストと遷移条件リストとを含む対話シナリオ情報を読み込み、遷移条件リストに基づいて、現在遷移している対話に関する情報を取得し、現在遷移している対話に関する情報に基づいて、遷移している対話を特定し、現在遷移している対話に対応する対話シナリオ情報を受信し、受信した対話シナリオ情報に基づいて、表示するGUIの情報を生成し、生成した表示するGUIの情報に基づいて、対話プログラムの内部状態を表わすGUIを表示する。このため、本処理では、チャットUIを用いた対話システムにおいて、代行操作を容易に行うことができる。
 第2に、上述した本実施形態に係る表示制御処理では、対話を行うユーザの操作を検知し、遷移条件リストおよびユーザの操作に基づいて、現在遷移している対話の関する情報を取得する。このため、本処理では、チャットUIを用いた対話システムにおいて、ユーザ操作を検知することにより、代行操作をより容易に行うことができる。
 第3に、上述した本実施形態に係る表示制御処理では、対話プログラムの内部状態を表わすGUIの変更が入力された場合には、対話プログラムの内部状態に対して、GUIの変更を反映する。このため、本処理では、チャットUIを用いた対話システムにおいて、ユーザが対話プログラムの内部状態を容易に表示、編集できることにより、代行操作をより容易に行うことができる。
 第4に、上述した本実施形態に係る表示制御処理では、取得した現在遷移している対話に関する情報に基づいて、対話プログラムの内部状態を表わすGUIの表示、または非表示を設定する。このため、本処理では、チャットUIを用いた対話システムにおいて、ユーザが対話プログラムの内部状態を効率的に表示、編集できることにより、代行操作をより容易に行うことができる。
 第5に、上述した本実施形態に係る表示制御処理では、GUI構成情報を読み込み、現在遷移している対話に対応するGUI構成情報を受信し、受信したGUI構成情報に基づいて、表示するGUIの情報を生成する。このため、本処理では、チャットUIを用いた対話システムにおいて、ユーザが対話プログラムの内部状態を効果的に表示、編集できることにより、代行操作をより容易に行うことができる。
 第6に、上述した本実施形態に係る表示制御処理では、所定のキー情報に合致する情報を用いて、表示するGUIの情報を生成する。このため、本処理では、チャットUIを用いた対話システムにおいて、ユーザが対話プログラムの内部状態をより効率的に表示、編集できることにより、代行操作をより容易に行うことができる。
〔システム構成等〕
 上記実施形態に係る図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示のごとく構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
 また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
〔プログラム〕
 また、上記実施形態において説明した表示制御装置10が実行する処理をコンピュータが実行可能な言語で記述したプログラムを作成することもできる。この場合、コンピュータがプログラムを実行することにより、上記実施形態と同様の効果を得ることができる。さらに、かかるプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータに読み込ませて実行することにより上記実施形態と同様の処理を実現してもよい。
 図21は、プログラムを実行するコンピュータを示す図である。図21に例示するように、コンピュータ1000は、例えば、メモリ1010と、CPU1020と、ハードディスクドライブインタフェース1030と、ディスクドライブインタフェース1040と、シリアルポートインタフェース1050と、ビデオアダプタ1060と、ネットワークインタフェース1070とを有し、これらの各部はバス1080によって接続される。
 メモリ1010は、図21に例示するように、ROM(Read Only Memory)1011及びRAM1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、図21に例示するように、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、図21に例示するように、ディスクドライブ1100に接続される。例えば、磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ1100に挿入される。シリアルポートインタフェース1050は、図21に例示するように、例えば、マウス1110、キーボード1120に接続される。ビデオアダプタ1060は、図21に例示するように、例えばディスプレイ1130に接続される。
 ここで、図21に例示するように、ハードディスクドライブ1090は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、上記のプログラムは、コンピュータ1000によって実行される指令が記述されたプログラムモジュールとして、例えば、ハードディスクドライブ1090に記憶される。
 また、上記実施形態で説明した各種データは、プログラムデータとして、例えば、メモリ1010やハードディスクドライブ1090に記憶される。そして、CPU1020が、メモリ1010やハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出し、各種処理手順を実行する。
 なお、プログラムに係るプログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限られず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ等を介してCPU1020によって読み出されてもよい。あるいは、プログラムに係るプログラムモジュール1093やプログラムデータ1094は、ネットワーク(LAN(Local Area Network)、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶され、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
 上記の実施形態やその変形は、本願が開示する技術に含まれると同様に、請求の範囲に記載された発明とその均等の範囲に含まれるものである。
 10 表示制御装置
 11 入力部
 12 出力部
 13 通信部
 14 記憶部
 14a 対話シナリオ情報記憶部
 14b 内部状態記憶部
 15 制御部
 151 内部状態ボード制御部
 151a 読込部
 151b 検知部
 151c 取得部
 151d 特定部
 151e 設定部
 151f 反映部
 152 GUI制御部
 152a 受信部
 152b 生成部
 152c 表示部
 20 ユーザ
 30 チャットUI
 40 対話プログラム(チャットボット)
 50 内部状態ボード
 100 表示制御システム

Claims (8)

  1.  対話ごとの発話テキストと遷移条件リストとを含む対話シナリオ情報を読み込む読込部と、
     前記遷移条件リストに基づいて、現在遷移している対話に関する情報を取得する取得部と、
     前記現在遷移している対話に関する情報に基づいて、前記遷移している対話を特定する特定部と、
     前記現在遷移している対話に対応する前記対話シナリオ情報を受信する受信部と、
     前記受信部によって受信された前記対話シナリオ情報に基づいて、表示するGUI(Graphical User Interface)の情報を生成する生成部と、
     前記生成部によって生成された前記表示するGUIの情報に基づいて、対話プログラムの内部状態を表わすGUIを表示する表示部と
     を備えることを特徴とする表示制御装置。
  2.  前記対話を行うユーザの操作を検知する検知部をさらに備え、
     前記取得部は、前記遷移条件リストおよび前記操作に基づいて、前記現在遷移している対話に関する情報を取得することを特徴とする請求項1に記載の表示制御装置。
  3.  前記内部状態を表わすGUIの変更が入力された場合には、前記内部状態に対して、前記変更を反映する反映部をさらに備えることを特徴とする請求項1に記載の表示制御装置。
  4.  前記取得部によって取得された現在遷移している対話に関する情報に基づいて、前記内部状態を表わすGUIの表示、または非表示を設定する設定部をさらに備えることを特徴とする請求項1に記載の表示制御装置。
  5.  前記読込部は、GUI構成情報をさらに読み込み、
     前記受信部は、前記現在遷移している対話に対応する前記GUI構成情報をさらに受信し、
     前記生成部は、前記受信部によって受信された前記GUI構成情報に基づいて、前記表示するGUIの情報を生成することを特徴とする請求項1に記載の表示制御装置。
  6.  前記生成部は、所定のキー情報に合致する情報を用いて、前記表示するGUIの情報を生成することを特徴とする請求項1に記載の表示制御装置。
  7.  表示制御装置によって実行される表示制御方法であって、
     対話ごとの発話テキストと遷移条件リストとを含む対話シナリオ情報を読み込む読込工程と、
     前記遷移条件リストに基づいて、現在遷移している対話に関する情報を取得する取得工程と、
     前記現在遷移している対話に関する情報に基づいて、前記遷移している対話を特定する特定工程と、
     前記現在遷移している対話に対応する前記対話シナリオ情報を受信する受信工程と、
     前記受信工程によって受信された前記対話シナリオ情報に基づいて、表示するGUIの情報を生成する生成工程と、
     前記生成工程によって生成された前記表示するGUIの情報に基づいて、対話プログラムの内部状態を表わすGUIを表示する表示工程と
     を含むことを特徴とする表示制御方法。
  8.  対話ごとの発話テキストと遷移条件リストとを含む対話シナリオ情報を読み込む読込ステップと、
     前記遷移条件リストに基づいて、現在遷移している対話に関する情報を取得する取得ステップと、
     前記現在遷移している対話に関する情報に基づいて、前記遷移している対話を特定する特定ステップと、
     前記現在遷移している対話に対応する前記対話シナリオ情報を受信する受信ステップと、
     前記受信ステップによって受信された前記対話シナリオ情報に基づいて、表示するGUIの情報を生成する生成ステップと、
     前記生成ステップによって生成された前記表示するGUIの情報に基づいて、対話プログラムの内部状態を表わすGUIを表示する表示ステップと
     をコンピュータに実行させることを特徴とする表示制御プログラム。
PCT/JP2021/006942 2021-02-24 2021-02-24 表示制御装置、表示制御方法および表示制御プログラム WO2022180704A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2023501732A JPWO2022180704A1 (ja) 2021-02-24 2021-02-24
PCT/JP2021/006942 WO2022180704A1 (ja) 2021-02-24 2021-02-24 表示制御装置、表示制御方法および表示制御プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2021/006942 WO2022180704A1 (ja) 2021-02-24 2021-02-24 表示制御装置、表示制御方法および表示制御プログラム

Publications (1)

Publication Number Publication Date
WO2022180704A1 true WO2022180704A1 (ja) 2022-09-01

Family

ID=83047871

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/006942 WO2022180704A1 (ja) 2021-02-24 2021-02-24 表示制御装置、表示制御方法および表示制御プログラム

Country Status (2)

Country Link
JP (1) JPWO2022180704A1 (ja)
WO (1) WO2022180704A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117573859A (zh) * 2024-01-15 2024-02-20 杭州数令集科技有限公司 自动推进剧情和对话的数据处理方法、系统及设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019004363A1 (ja) * 2017-06-29 2019-01-03 株式会社ビズオーシャン 情報入力方法、情報入力装置、及び情報入力システム
JP2019028783A (ja) * 2017-07-31 2019-02-21 株式会社L is B コールセンタ支援装置、コールセンタ支援システム、コールセンタ支援方法およびコールセンタ支援プログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019004363A1 (ja) * 2017-06-29 2019-01-03 株式会社ビズオーシャン 情報入力方法、情報入力装置、及び情報入力システム
JP2019028783A (ja) * 2017-07-31 2019-02-21 株式会社L is B コールセンタ支援装置、コールセンタ支援システム、コールセンタ支援方法およびコールセンタ支援プログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117573859A (zh) * 2024-01-15 2024-02-20 杭州数令集科技有限公司 自动推进剧情和对话的数据处理方法、系统及设备

Also Published As

Publication number Publication date
JPWO2022180704A1 (ja) 2022-09-01

Similar Documents

Publication Publication Date Title
Nebeling et al. Interactive development of cross-device user interfaces
KR100613052B1 (ko) 레거시 소프트웨어와 스크린 리더 프로그램 간의 상호작동을 위한 방법 및 장치
US8104020B2 (en) Method and system to automate software testing using sniffer side and browser side recording and a toolbar interface
KR101087312B1 (ko) 자동으로 생성된 콘텐츠의 임포테이션
US20150100946A1 (en) Using mock data to validate applications
US8032232B2 (en) Natively retaining project documentation in a controller
JP6514084B2 (ja) 操作支援システム、操作支援方法、および、操作支援プログラム
JP2019525373A (ja) テストケースの生成方法
TWI407425B (zh) 產生使用者介面相關之一物件屬性的方法
US20140033123A1 (en) User interface and method for comparing a local version of a profile to an online update
WO2015075790A1 (ja) シーケンスプログラム作成支援装置
WO2022180704A1 (ja) 表示制御装置、表示制御方法および表示制御プログラム
JP2003208501A (ja) ビジネスプロセス定義表示方法およびプログラム
US9298428B2 (en) Graphical user interface editor that displays live data during editing
JP6097231B2 (ja) プログラム生成装置および方法
JP2019079165A (ja) 編集プログラム、編集装置、及び、編集方法
JP6552162B2 (ja) 情報処理装置、情報処理方法、およびプログラム
JP5657183B2 (ja) 第1のコンピュータ・プログラムが第2のコンピュータ・プログラムのアプリケーション・ロジックを実行することを可能にするための方法および装置、第1のコンピュータ・プログラムと第2のコンピュータ・プログラムとのインターフェースをとるためのコンピュータ・プログラム・コードを生成するための方法および装置、コンピュータ・プログラム、ならびに第1のコンピュータ・プログラムが第2のコンピュータ・プログラムのアプリケーション・ロジックを実行することを可能にするためのソフトウェア・インターフェースを提供するための方法(コンピュータ・プログラム・インターフェース)
US20080243589A1 (en) Questionnaire-driven system configuration
JP2009009212A (ja) 仕様書作成支援装置および支援方法
JP2003303100A (ja) 情報処理システムおよび情報処理システム構築方法並びにこれに用いるプログラム
WO2019240743A1 (en) A method and system for semantic integration approach for field device life cycle management
EP1868099A1 (en) Bug management tool
JP7506339B2 (ja) 情報処理システム、その制御方法及びプログラム
US20240103850A1 (en) Presentation design to background service binding

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21927806

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2023501732

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21927806

Country of ref document: EP

Kind code of ref document: A1