WO2020240757A1 - 分析支援プログラム、分析支援方法および情報処理装置 - Google Patents

分析支援プログラム、分析支援方法および情報処理装置 Download PDF

Info

Publication number
WO2020240757A1
WO2020240757A1 PCT/JP2019/021435 JP2019021435W WO2020240757A1 WO 2020240757 A1 WO2020240757 A1 WO 2020240757A1 JP 2019021435 W JP2019021435 W JP 2019021435W WO 2020240757 A1 WO2020240757 A1 WO 2020240757A1
Authority
WO
WIPO (PCT)
Prior art keywords
nodes
talk
chat
edge
node corresponding
Prior art date
Application number
PCT/JP2019/021435
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 PCT/JP2019/021435 priority Critical patent/WO2020240757A1/ja
Priority to JP2021521675A priority patent/JP7272429B2/ja
Publication of WO2020240757A1 publication Critical patent/WO2020240757A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software

Definitions

  • the present invention relates to an analysis support program, an analysis support method, and an information processing device.
  • Sankey diagram a chart called a Sankey diagram has been used as a method for analyzing the flow line of a website.
  • Sankey diagrams are useful for analyzing things that are tree-structured, such as websites.
  • a predetermined clues that can be used when analyzing the degree of relevance between each utterance sentence from the utterance sentence of the chat log are acquired, and the acquired clues and heuristics are used for the predetermined utterance sentence.
  • Some give points indicating the strength of relevance to each of a plurality of other utterance sentences.
  • the present invention aims to support chat flow line analysis.
  • a plurality of nodes including a node corresponding to the talk processing and a node corresponding to an analysis viewpoint different from the talk processing are set with reference to the script information defining the chat processing. Then, based on the script information and the chat log related to the talk processing, a directed edge for connecting the nodes included in the set plurality of nodes is set, and the set including the plurality of nodes.
  • An analysis support program is provided that changes and displays the display mode of the edge based on the chat log related to the talk process when displaying the network graph connecting the nodes by the edge.
  • the present invention has the effect of being able to support the flow line analysis of chat.
  • FIG. 1 is an explanatory diagram showing a system configuration example of the analysis support system 100.
  • FIG. 2 is a block diagram showing a hardware configuration example of the information processing device 101.
  • FIG. 3 is an explanatory diagram showing a specific example of script information.
  • FIG. 4 is an explanatory diagram showing an example of the stored contents of the chat log DB 120.
  • FIG. 5 is a block diagram showing a functional configuration example of the information processing device 101.
  • FIG. 6 is an explanatory diagram showing a display example of a network graph.
  • FIG. 7 is an explanatory diagram showing an example of a loop structure in a network graph.
  • FIG. 8 is a flowchart showing an example of the analysis support processing procedure of the information processing apparatus 101.
  • the analysis support system 100 is a computer system including the information processing device 101 according to the embodiment, and is used, for example, for flow line analysis of a FAQ (Freequently Asked Questions) system using a chatbot.
  • FAQ Freequently Asked Questions
  • FIG. 1 is an explanatory diagram showing a system configuration example of the analysis support system 100.
  • the analysis support system 100 includes an information processing device 101 and a client device 102.
  • the information processing device 101 and the client device 102 are connected via a wired or wireless network 110.
  • the network 110 is, for example, a LAN (Local Area Network), a WAN (Wide Area Network), the Internet, or the like.
  • the information processing device 101 is a computer that has a chat log DB (DataBase) 120 and supports the flow line analysis of chat.
  • Chat is a system for having conversations between chatbots and humans and between humans. For example, a chatbot displays (speaks) a fixed message, displays options, and has a conversation with a human being.
  • Chat flow line analysis is to analyze what kind of conversation was held on the chat and how often.
  • the information processing device 101 is, for example, a server.
  • the stored contents of the chat log DB 120 will be described later with reference to FIG. Further, in the following explanation, it is assumed that a chatbot and a human have a conversation.
  • the client device 102 is a computer used by the user of the analysis support system 100.
  • the user of the analysis support system 100 is, for example, an analyst who analyzes the flow line of chat.
  • the client device 102 is, for example, a PC (Personal Computer), a tablet-type PC, a smartphone, or the like.
  • a chart called a Sankey diagram is known as a method for analyzing the flow line of a website.
  • the Sankey diagram is an effective analysis method for things that have a tree structure such as websites, it is difficult to use it for chat flow line analysis.
  • chat scripts do not have a tree structure, and after talking to a certain point, a loop that returns to the place where you said before often occurs.
  • the Sankey diagram is not suitable for chat flow line analysis that includes a loop structure instead of a tree structure.
  • the user's movement on the chat including a complicated structure and a loop structure that is not a tree structure is visualized, and the chat movement is performed.
  • An analysis support method that supports line analysis will be described.
  • FIG. 2 is a block diagram showing a hardware configuration example of the information processing device 101.
  • the information processing device 101 includes a CPU (Central Processing Unit) 201, a memory 202, a disk drive 203, a disk 204, a communication I / F (Interface) 205, and a portable recording medium I / F 206. , And a portable recording medium 207. Further, each component is connected by a bus 200.
  • CPU Central Processing Unit
  • the CPU 201 controls the entire information processing device 101.
  • the CPU 201 may have a plurality of cores.
  • the memory 202 includes, for example, a ROM (Read Only Memory), a RAM (Random Access Memory), a flash ROM, and the like.
  • the flash ROM stores the OS (Operating System) program
  • the ROM stores the application program
  • the RAM is used as the work area of the CPU 201.
  • the program stored in the memory 202 is loaded into the CPU 201 to cause the CPU 201 to execute the coded process.
  • the disk drive 203 controls data read / write to the disk 204 according to the control of the CPU 201.
  • the disk 204 stores the data written under the control of the disk drive 203. Examples of the disk 204 include a magnetic disk and an optical disk.
  • the communication I / F 205 is connected to the network 110 through a communication line, and is connected to an external computer (for example, the client device 102 shown in FIG. 1) via the network 110. Then, the communication I / F 205 controls the interface between the network 110 and the inside of the device, and controls the input / output of data from an external computer.
  • an external computer for example, the client device 102 shown in FIG. 1
  • the communication I / F 205 controls the interface between the network 110 and the inside of the device, and controls the input / output of data from an external computer.
  • a modem, a LAN adapter, or the like can be adopted for the communication I / F 205.
  • the portable recording medium I / F 206 controls data read / write to the portable recording medium 207 according to the control of the CPU 201.
  • the portable recording medium 207 stores data written under the control of the portable recording medium I / F 206.
  • Examples of the portable recording medium 207 include a CD (Compact Disc) -ROM, a DVD (Digital Any Disk), and a USB (Universal Serial Bus) memory.
  • the information processing device 101 may include, for example, an SSD (Solid State Drive), an input device, a display, or the like, in addition to the above-described components. Further, the information processing device 101 does not have to have, for example, a disk drive 203, a disk 204, a portable recording medium I / F 206, and a portable recording medium 207 among the above-described components. Further, the client device 102 shown in FIG. 1 can also be realized by the same hardware configuration as the information processing device 101. However, the client device 102 includes an input device, a display, and the like in addition to the above-described components.
  • an SSD Solid State Drive
  • script information (Specific example of script information) Next, a specific example of the script information used by the information processing apparatus 101 will be described.
  • FIG. 3 is an explanatory diagram showing a specific example of script information.
  • the script information 300 is information that defines the chat processing of the chat, and corresponds to the information that defines the conversation flow of the chatbot. However, in FIG. 3, a part of the script information 300 is excerpted and displayed.
  • the talk process is a process for realizing the operation (behavior) of the chatbot.
  • the talk process includes a process of speaking, a process of displaying options, a process of selecting an option according to a user operation, a process of performing a procedure according to the selected option, a process of ending the talk process, and the like.
  • the script information 300 includes step information 310, 320, 330.
  • label indicates the name of the step of the talk processing.
  • seq_id indicates the ID of the step.
  • step indicates the type of step.
  • the types of steps include, for example, text, select, option, and end.
  • the step type "ext” represents the process of speaking.
  • the step type "select” represents a process for displaying options.
  • the step type "option” represents a process of selecting an option.
  • the step type "end” represents a process of ending the talk process.
  • nextSeqs indicates the ID of the next step.
  • the next step is determined according to the options selected according to the user operation.
  • the chat log DB 120 is realized by, for example, a storage device such as the memory 202 and the disk 204 shown in FIG.
  • FIG. 4 is an explanatory diagram showing an example of the stored contents of the chat log DB 120.
  • the chat log DB 120 has fields for room ID, time stamp, seq_id, previous seq_id, label and message.
  • chat logs (for example, chat logs 400-1 to 400-7) are stored as records.
  • the room ID indicates the ID of the room in which the chat is performed. According to the room ID, a series of conversations with the chatbot can be identified.
  • the time stamp indicates the date and time when the step was executed.
  • seq_id indicates the ID of the step executed.
  • the previous seq_id indicates the ID of the step executed immediately before.
  • label indicates the name of the step performed.
  • the message indicates the text spoken at the step performed or the selected choice.
  • chat log 400-1 for the room with the room ID "R1”, the steps of sex_id "0001" and label “TXT-1" are executed at 0:10 on January 8, 2019, and a message is sent. it is possible to specify that the "Hello.” is displayed.
  • chat log 400-2 for the room with the room ID "R1", the steps of sex_id "0002" and label “SLC-1" are executed at 0:10 on January 8, 2019, and a message is sent. It can be identified that "Please select one from the following options” is displayed. Further, it can be specified that the step of seq_id "0001" was executed immediately before.
  • FIG. 5 is a block diagram showing a functional configuration example of the information processing device 101.
  • the information processing apparatus 101 includes an acquisition unit 501, a generation unit 502, and a display control unit 503.
  • the acquisition unit 501 to the display control unit 503 are functions that serve as control units.
  • a program stored in a storage device such as the memory 202, the disk 204, or the portable recording medium 207 shown in FIG. 2 can be stored.
  • the function is realized by causing the CPU 201 to execute the function or by using the communication I / F 205.
  • the processing result of each functional unit is stored in a storage device such as a memory 202 or a disk 204, for example.
  • the Acquisition unit 501 acquires script information related to chat.
  • the script information is information (scenario) that defines the chat process of chat.
  • the talk process is a process for realizing the operation (behavior) of the chatbot, and includes, for example, a process of speaking, a process of displaying an option, a process of selecting an option, a process of ending the talk process, and the like.
  • the acquisition unit 501 acquires the received script information 300 by receiving the script information 300 as shown in FIG. 3 from the client device 102 shown in FIG. Further, the acquisition unit 501 may acquire the script information 300 by the operation input of the user using an input device (not shown).
  • the acquisition unit 501 acquires a chat log related to chat talk processing.
  • the chat log is a log about a conversation actually held on the chat, and is information that can identify what kind of conversation was held and when.
  • the chat log includes a room ID, a time stamp, a seq_id, a previous seq_id, a label and a message, as shown in FIG.
  • the acquisition unit 501 acquires the received chat log by receiving the chat log from the client device 102. Further, the acquisition unit 501 may acquire the chat log by the operation input of the user using an input device (not shown). Further, the acquisition unit 501 may acquire the chat log from the FAQ system using the chatbot.
  • the acquired chat log is stored in, for example, the chat log DB 120 shown in FIG.
  • the generation unit 502 generates a network graph.
  • the network graph is a graph composed of a set of nodes and a set of directed edges connecting the nodes.
  • the generation unit 502 includes a first setting unit 504, a second setting unit 505, and a determination unit 506.
  • the first setting unit 504 refers to the acquired script information and sets a plurality of nodes including a node corresponding to the talk processing and a node corresponding to an analysis viewpoint different from the talk processing.
  • the node corresponding to the talk processing is a node corresponding to the processing for realizing the operation (behavior) performed by the chatbot.
  • the node corresponding to the talk process is a node corresponding to the process of speaking, a node corresponding to the process of displaying the option, a node corresponding to the process of selecting the option, a node corresponding to the process of ending the talk process, and the like. is there.
  • the node corresponding to the viewpoint to be analyzed is a node set according to the viewpoint from which the flow line analysis is performed.
  • the node corresponding to the viewpoint of analysis is a node corresponding to the end of the chat process of chat, and is set as a new node corresponding to none of the processes defined in the script information.
  • the end of the talk process includes not only the case where the conversation ends normally but also the case where the conversation is forcibly terminated in the middle of the conversation.
  • the node corresponding to the viewpoint to be analyzed may be referred to as "specific node”. It should be noted that what kind of node is to be a specific node corresponding to the viewpoint to be analyzed may be determined in advance, or may be specified by the client device 102.
  • the first setting unit 504 refers to the script information 300, and a node corresponding to the process of speaking, a node corresponding to the process of displaying the option, and a node corresponding to the process of selecting the option. , And set the node corresponding to the process to end the talk process. In addition, the first setting unit 504 sets a specific node corresponding to the end of the chat process.
  • the second setting unit 505 sets a directed edge that connects the nodes included in the set plurality of nodes based on the acquired script information and the acquired chat log related to the talk process. Specifically, for example, the second setting unit 505 refers to the script information 300 and specifies a transition from a certain step (process) to another step to identify a directed edge connecting the nodes. Set.
  • the second setting unit 505 sets a directed edge between the specific node and another node by referring to the chat log DB 120, for example.
  • a specific node is a node corresponding to the end of chat talk processing.
  • the second setting unit 505 refers to the chat log DB 120 and sets a directed edge from the node corresponding to the process for ending the chat process to the specific node.
  • the process of ending the chat talk process is specified, for example, from the chat log in which the step ID of the step type "end" is set in seq_id (a pattern in which the conversation ends normally). Further, the process of ending the chat talk process is specified from the last chat log (chat log with the latest time stamp) among the chat logs in which the same room ID is set (the conversation is forcibly terminated). pattern).
  • any node of the nodes corresponding to the talk processing may be a specific node. That is, the first setting unit 504 may set the node corresponding to any processing of the talk processing to the specific node corresponding to the viewpoint of analysis.
  • the second setting unit 505 refers to the chat log DB 120, for example, and detects a transition from a process corresponding to another node to a process corresponding to a specific node, thereby moving between the nodes.
  • Set the directed edge to connect However, the edge that overlaps with the edge set based on the script information 300 is excluded from the setting target so that the edge is not set in duplicate. This makes it easier to analyze, for example, how often a particular action performed by a chatbot was performed.
  • the determination unit 506 determines the display mode of the set edge based on the acquired chat log related to the talk process. Specifically, for example, the determination unit 506 may determine the thickness or color of the edge according to the number of transitions between the nodes connected by the edge, which is specified from the chat log related to the talk process. Good.
  • the determination unit 506 refers to the chat log DB 120 and counts the number of transitions between the nodes connected by the edge for each set edge. For example, taking chat log 400-2 as an example, the determination unit 506 detects the transition from the node corresponding to the step of seq_id "0001" to the node corresponding to the step of seq_id "0002", and between the nodes. Increments the number of transitions of.
  • the determination unit 506 refers to the chat log DB 120 and identifies the last chat log among the chat logs in which the same room ID is set. Then, the determination unit 506 detects the transition from the node corresponding to the step of sex_id "0001" of the specified chat log to the specific node, and increments the number of transitions between the nodes.
  • the determination unit 506 determines the thickness or color of the edge according to the number of transitions counted for each edge. For example, the determination unit 506 may determine the thickness of the edge so that the number of transitions counted increases. Further, the determination unit 506 may determine the shade of the edge color so that the number of transitions counted increases.
  • the determination unit 506 may set a period when counting the number of transitions between nodes.
  • the period can be specified, for example, from the client device 102.
  • the determination unit 506 counts the number of transitions between the nodes by referring to the chat log whose time stamp is within the period.
  • the generation unit 502 includes, for example, a plurality of nodes set by the first setting unit 504 and the edges set by the second setting unit 505, and the edge display mode is determined by the determination unit 506. Generate a network graph with the displayed mode.
  • the display control unit 503 controls to display the network graph generated by the generation unit 502. Specifically, for example, when displaying a network graph including a plurality of nodes and edges connecting the nodes, the display control unit 503 displays the edges in a display mode determined for each edge.
  • the display mode of the edge connecting the nodes can be changed and displayed according to the display mode determined based on the chat log.
  • the network graph is displayed on, for example, a display (not shown) of the information processing device 101 or a client device 102.
  • the display control unit 503 may display the specific node in a size different from that of other nodes when displaying the network graph. Specifically, for example, the display control unit 503 may display the specific node larger than the other nodes.
  • the icon corresponding to each node is predetermined, for example, according to the type of step corresponding to each node.
  • the display control unit 503 may display the specific node in a shape different from that of other nodes when displaying the network graph. Specifically, for example, the display control unit 503 may use a specific node as a quadrangular icon and another node as a round icon.
  • FIG. 6 is an explanatory diagram showing a display example of a network graph.
  • FIG. 7 is an explanatory diagram showing an example of the loop structure in the network graph.
  • the network graph 600 is a graph including a set of nodes (for example, nodes N1 to N10) and a set of directed edges connecting the nodes (for example, edges e1 to e11).
  • a part of the network graph 600 is excerpted and displayed.
  • the nodes N1 to N9 are nodes set based on the script information 300 (see FIG. 3) and corresponding to the talk processing.
  • the node N1 is a node corresponding to the step represented by the step information 310 (see FIG. 3) (label: TXT-1, seq_id: 0001).
  • the node N2 is a node corresponding to the step represented by the step information 320 (see FIG. 3) (label: SLC-1, seq_id: 0002).
  • the node N3 is a node corresponding to the step represented by the step information 330 (see FIG. 3) (label: OPT-1, seq_id: 0003).
  • Node N10 is a specific node corresponding to the viewpoint to be analyzed.
  • the node N10 is a node corresponding to the end of the talk process (chat). Further, the node N10 is represented by an icon larger than other nodes.
  • the edges e1 to e8 are edges that connect the nodes, which are set based on the script information 300 (see FIG. 3). Further, the edges e9 to e11 are edges that connect the node N10 (specific node) and the nodes N7 to N9, which are set based on the chat log DB 120.
  • each edge e1 to e11 is displayed with a thickness corresponding to the number of transitions between the nodes connected by each edge e1 to e11, which is specified from the chat log in the chat log DB 120. ..
  • the transition from the node N1 connected by the edge e1 to the node N2 is detected, and the number of transitions is incremented.
  • the transition from the node N2 connected by the edge e2 to the node N3 is detected, and the number of transitions is incremented.
  • the transition from the node N3 connected by the edge e5 to the node N6 is detected, and the number of transitions is incremented.
  • the chat log 400-7 is the last chat log among the chat logs in which the same room ID "R10" is set, and is a chat log in which the step ID of the step type "end" is set. is there.
  • the transition from the node N9 connected by the edge e11 to the node N10 is detected from the chat log 400-7, and the number of transitions is incremented.
  • the transition from the node N7 connected by the edge e9 to the node N10 is detected, and the number of transitions is incremented. Will be done.
  • the sex_id of the last chat log in the chat log in which the same room ID is set is "0008"
  • the transition from the node N8 connected by the edge e10 to the node N10 is detected, and the number of transitions is incremented. Will be done.
  • an analyst for example, a user of the client device 102 can perform a chat flow line analysis. For example, according to the network graph 600, the analyst can determine what kind of conversation was held and how often in the chat from the thickness of each edge.
  • the analysis can be performed from the viewpoint of the user leaving. For example, from the thickness of the edge e10, it can be seen that many forced terminations occur in the processing corresponding to the node N8. Once the location where the user leaves is high is known, the cause can be investigated and some measures can be taken.
  • the node N10 corresponding to the end of the talk processing as a specific node corresponding to the viewpoint of analysis different from the talk processing, all conversations will be connected to the node N10. Therefore, even if the number of nodes in the network graph 600 increases, the nodes N10 are displayed at the center, and an axis that becomes a viewpoint of analysis is created, which is easy for the user to see.
  • the analyst can identify, for example, a place where a loop that frequently returns to the place where the previous statement was made occurs, and analyze whether there is a problem with the chatbot's statement content or options. it can.
  • FIG. 8 is a flowchart showing an example of the analysis support processing procedure of the information processing device 101.
  • the information processing device 101 acquires script information related to chat (step S801).
  • the information processing apparatus 101 refers to the acquired script information and sets a plurality of nodes including a node corresponding to the talk processing and a specific node corresponding to an analysis viewpoint different from the talk processing (step). S802).
  • the information processing device 101 sets a directed edge that connects the nodes included in the set plurality of nodes based on the acquired script information and the chat log in the chat log DB 120 (step S803).
  • the information processing apparatus 101 refers to the chat log DB 120 and counts the number of transitions between the nodes connected by the edge for each set edge (step S804).
  • the information processing device 101 determines the thickness of the edge according to the number of transitions between the nodes counted for each edge (step S805).
  • the information processing apparatus 101 generates a network graph including a plurality of set nodes and set edges, and using the edge thickness as the determined thickness (step S806).
  • the information processing apparatus 101 displays the generated network graph (step S807), and ends a series of processes according to this flowchart. As a result, it is possible to visualize the movement of the user on the chat including a complicated structure or a loop structure that is not a tree structure.
  • the node corresponding to the talk process and the node corresponding to the talk process are analyzed differently from the talk process by referring to the script information defining the chat process.
  • Multiple nodes can be set, including the corresponding specific node.
  • the node corresponding to the talk process is, for example, a node corresponding to the process of speaking, a node corresponding to the process of displaying options, a node corresponding to the process of ending the talk process, and the like.
  • the display mode of the edge is changed based on the chat log related to the talk process. Can be displayed.
  • a node corresponding to the end of the talk processing can be set as a specific node corresponding to an analysis viewpoint different from the talk processing.
  • the thickness or color of the edge can be changed and displayed according to the number of transitions between the nodes connected by the edge, which is specified from the chat log related to the talk processing. ..
  • the specific node corresponding to the viewpoint to be analyzed can be displayed in a size different from that of other nodes.
  • this analysis support method is also effective for flow line analysis of content that includes a loop structure instead of a tree structure, as in chat. For example, it is effective when you want to analyze online games, smartphone games, smartphone applications, etc. from the viewpoint of user withdrawal.
  • the analysis support method described in the present embodiment can be realized by executing a program prepared in advance on a computer such as a personal computer or a workstation.
  • This analysis support program is executed by being recorded on a computer-readable recording medium such as a hard disk, a flexible disk, a CD-ROM, a DVD, or a USB memory, and read from the recording medium by the computer.
  • this analysis support program may be distributed via a network such as the Internet.
  • the information processing device 101 described in the present embodiment can also be realized by a standard cell, an IC for a specific purpose such as a structured ASIC (Application Specific Integrated Circuit), or a PLD (Programmable Logic Device) such as an FPGA.
  • a structured ASIC Application Specific Integrated Circuit
  • PLD Programmable Logic Device
  • Analysis support system 101 Information processing device 102 Client device 110 Network 120 Chat log DB 200 bus 201 CPU 202 Memory 203 Disk drive 204 Disk 205 Communication I / F 206 Portable recording medium I / F 207 Portable recording medium 300 Script information 501 Acquisition unit 502 Generation unit 503 Display control unit 504 First setting unit 505 Second setting unit 506 Decision unit 600 Network graph 700 Loop

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

ネットワークグラフ(600)において、ノード(N1~N9)は、トーク処理に対応するノードである。ノード(N10)は、トーク処理とは異なる分析する観点に対応する特定ノードである。ここでは、ノード(N10)は、トーク処理の終了に対応するノードである。ネットワークグラフ(600)において、各エッジ(e1~e11)は、各エッジ(e1~e11)で接続されたノード間の遷移回数に応じた太さで表示されている。ネットワークグラフ(600)によれば、分析者は、チャット上でどのような会話がどのような頻度で行われたかを、各エッジの太さから判断することができる。また、分析する観点に対応する特定ノードとして、トーク処理の終了に対応するノード(N10)を設定することで、ユーザの離脱という観点で分析することができる。

Description

分析支援プログラム、分析支援方法および情報処理装置
 本発明は、分析支援プログラム、分析支援方法および情報処理装置に関する。
 従来、ウェブサイトの動線分析を行う手法として、サンキー・ダイアグラム(Sankey diagram)という図表が利用されている。サンキー・ダイアグラムは、ウェブサイトのようにツリー構造になっているものの分析に有効である。
 先行技術としては、例えば、チャットログの発話文から各発話文間の関連度を分析する際に利用可能な所定の手がかりを取得し、取得した手がかりとヒューリスティックスを利用して、所定の発話文に対する複数の他の発話文それぞれに対して関連度の強弱を表すポイントを付与するものがある。
特開2004-295834号公報
 しかしながら、従来技術では、ループ構造を含むチャットの動線分析を行うことが難しい。
 一つの側面では、本発明は、チャットの動線分析を支援することを目的とする。
 1つの実施態様では、チャットのトーク処理を定義したスクリプト情報を参照して、前記トーク処理に対応するノードと、前記トーク処理とは異なる分析する観点に対応するノードとを含む複数のノードを設定し、前記スクリプト情報と、前記トーク処理に関するチャットログとに基づいて、設定した前記複数のノードに含まれるノード間を接続する有向なエッジを設定し、前記複数のノードを含み、設定した前記エッジによりノード間を接続したネットワークグラフを表示する際に、前記トーク処理に関するチャットログに基づいて、前記エッジの表示態様を変更して表示する、分析支援プログラムが提供される。
 本発明の一側面によれば、チャットの動線分析を支援することができるという効果を奏する。
図1は、分析支援システム100のシステム構成例を示す説明図である。 図2は、情報処理装置101のハードウェア構成例を示すブロック図である。 図3は、スクリプト情報の具体例を示す説明図である。 図4は、チャットログDB120の記憶内容の一例を示す説明図である。 図5は、情報処理装置101の機能的構成例を示すブロック図である。 図6は、ネットワークグラフの表示例を示す説明図である。 図7は、ネットワークグラフ内のループ構造の一例を示す説明図である。 図8は、情報処理装置101の分析支援処理手順の一例を示すフローチャートである。
 以下に図面を参照して、本発明にかかる分析支援プログラム、分析支援方法および情報処理装置の実施の形態を詳細に説明する。
(実施の形態)
 まず、分析支援システム100のシステム構成例について説明する。分析支援システム100は、実施の形態にかかる情報処理装置101を含むコンピュータシステムであり、例えば、チャットボットを利用したFAQ(Frequently Asked Questions)システムの動線分析に利用される。
 図1は、分析支援システム100のシステム構成例を示す説明図である。図1において、分析支援システム100は、情報処理装置101と、クライアント装置102と、を含む。分析支援システム100において、情報処理装置101およびクライアント装置102は、有線または無線のネットワーク110を介して接続される。ネットワーク110は、例えば、LAN(Local Area Network)、WAN(Wide Area Network)、インターネットなどである。
 ここで、情報処理装置101は、チャットログDB(DataBase)120を有し、チャットの動線分析を支援するコンピュータである。チャットは、チャットボットと人間との間や、人間同士で会話を行うためのシステムである。例えば、チャットボットが決められたメッセージを表示(発話)したり、選択肢を表示したりして、人間との会話が行われる。
 チャットの動線解析は、チャット上でどのような会話がどのような頻度で行われたかなどを分析するものである。情報処理装置101は、例えば、サーバである。チャットログDB120の記憶内容については、図4を用いて後述する。また、以下の説明では、チャットボットと人間との間で会話を行う場合を想定する。
 クライアント装置102は、分析支援システム100のユーザが使用するコンピュータである。分析支援システム100のユーザは、例えば、チャットの動線分析を行う分析者である。クライアント装置102は、例えば、PC(Personal Computer)、タブレット型PC、スマートフォンなどである。
 ここで、ウェブサイトの動線分析を行う手法として、サンキー・ダイアグラムという図表が知られている。しかし、サンキー・ダイアグラムは、ウェブサイトのようにツリー構造になっているものには有効な分析方法であるが、チャットの動線分析に利用することは難しい。
 例えば、チャットのスクリプトは、ツリー構造になっておらず、また、あるところまで話した後に、前に発言したところに戻るようなループが発生することが多い。このような、ツリー構造ではなく、ループ構造を含むチャットの動線分析には、サンキー・ダイアグラムは不向きである。
 そこで、本実施の形態では、チャットの動線分析にネットワークグラフを用いることで、ツリー構造になっていない複雑な構造やループ構造を含むチャット上でのユーザの動きを可視化して、チャットの動線解析を支援する分析支援方法について説明する。
(情報処理装置101のハードウェア構成例)
 つぎに、情報処理装置101のハードウェア構成例について説明する。
 図2は、情報処理装置101のハードウェア構成例を示すブロック図である。図2において、情報処理装置101は、CPU(Central Processing Unit)201と、メモリ202と、ディスクドライブ203と、ディスク204と、通信I/F(Interface)205と、可搬型記録媒体I/F206と、可搬型記録媒体207と、を有する。また、各構成部は、バス200によってそれぞれ接続される。
 ここで、CPU201は、情報処理装置101の全体の制御を司る。CPU201は、複数のコアを有していてもよい。メモリ202は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)およびフラッシュROMなどを有する。具体的には、例えば、フラッシュROMがOS(Operating System)のプログラムを記憶し、ROMがアプリケーションプログラムを記憶し、RAMがCPU201のワークエリアとして使用される。メモリ202に記憶されるプログラムは、CPU201にロードされることで、コーディングされている処理をCPU201に実行させる。
 ディスクドライブ203は、CPU201の制御に従ってディスク204に対するデータのリード/ライトを制御する。ディスク204は、ディスクドライブ203の制御で書き込まれたデータを記憶する。ディスク204としては、例えば、磁気ディスク、光ディスクなどが挙げられる。
 通信I/F205は、通信回線を通じてネットワーク110に接続され、ネットワーク110を介して外部のコンピュータ(例えば、図1に示したクライアント装置102)に接続される。そして、通信I/F205は、ネットワーク110と装置内部とのインターフェースを司り、外部のコンピュータからのデータの入出力を制御する。通信I/F205には、例えば、モデムやLANアダプタなどを採用することができる。
 可搬型記録媒体I/F206は、CPU201の制御に従って可搬型記録媒体207に対するデータのリード/ライトを制御する。可搬型記録媒体207は、可搬型記録媒体I/F206の制御で書き込まれたデータを記憶する。可搬型記録媒体207としては、例えば、CD(Compact Disc)-ROM、DVD(Digital Versatile Disk)、USB(Universal Serial Bus)メモリなどが挙げられる。
 なお、情報処理装置101は、上述した構成部のほかに、例えば、SSD(Solid State Drive)、入力装置、ディスプレイ等を有することにしてもよい。また、情報処理装置101は、上述した構成部のうち、例えば、ディスクドライブ203、ディスク204、可搬型記録媒体I/F206、可搬型記録媒体207を有していなくてもよい。また、図1に示したクライアント装置102についても、情報処理装置101と同様のハードウェア構成により実現することができる。ただし、クライアント装置102は、上述した構成部のほかに、入力装置、ディスプレイ等を有する。
(スクリプト情報の具体例)
 つぎに、情報処理装置101が用いるスクリプト情報の具体例について説明する。
 図3は、スクリプト情報の具体例を示す説明図である。図3において、スクリプト情報300は、チャットのトーク処理を定義した情報であり、チャットボットの会話の流れを定義したものに相当する。ただし、図3では、スクリプト情報300の一部を抜粋して表示している。
 トーク処理は、チャットボットの動作(挙動)を実現するための処理である。例えば、トーク処理は、発話する処理、選択肢を表示する処理、ユーザ操作に応じて選択肢を選択する処理、選択された選択肢に応じた手続を行う処理、トーク処理を終了する処理などを含む。
 具体的には、例えば、スクリプト情報300は、ステップ情報310,320,330を含む。各ステップ情報310,320,330において、labelは、トーク処理のステップの名前を示す。seq_idは、ステップのIDを示す。stepは、ステップの種類を示す。
 ステップの種類としては、例えば、text、select、option、endなどがある。ステップの種類「text」は、発話する処理を表す。ステップの種類「select」は、選択肢を表示する処理を表す。ステップの種類「option」は、選択肢を選択する処理を表す。ステップの種類「end」は、トーク処理を終了する処理を表す。
 textは、チャットボットが発話する文章、または、ユーザ操作に応じて選択された選択肢を示す。nextSeqsは、次のステップのIDを示す。nextSeqsに、複数のIDが設定されている場合は、ユーザ操作に応じて選択された選択肢に応じて次のステップが決まる。
(チャットログDB120の記憶内容)
 つぎに、情報処理装置101が有するチャットログDB120の記憶内容について説明する。チャットログDB120は、例えば、図2に示したメモリ202、ディスク204などの記憶装置により実現される。
 図4は、チャットログDB120の記憶内容の一例を示す説明図である。図4において、チャットログDB120は、ルームID、タイムスタンプ、seq_id、前のseq_id、labelおよびメッセージのフィールドを有する。各フィールドに情報を設定することで、チャットログ(例えば、チャットログ400-1~400-7)がレコードとして記憶される。
 ここで、ルームIDは、チャットを行うルームのIDを示す。ルームIDによれば、チャットボットとの一連の会話を特定することができる。タイムスタンプは、ステップが実行された日時を示す。seq_idは、実行されたステップのIDを示す。前のseq_idは、直前に実行されたステップのIDを示す。labelは、実行されたステップの名前を示す。メッセージは、実行されたステップで発話された文章、または、選択された選択肢を示す。
 例えば、チャットログ400-1によれば、ルームID「R1」のルームについて、2019年1月8日0時10分に、seq_id「0001」およびlabel「TXT-1」のステップが実行されてメッセージ「こんにちは。」が表示されたことを特定することができる。
 また、チャットログ400-2によれば、ルームID「R1」のルームについて、2019年1月8日0時10分に、seq_id「0002」およびlabel「SLC-1」のステップが実行されてメッセージ「以下の選択肢から1つ選んでください。」が表示されたことを特定することができる。さらに、seq_id「0001」のステップが直前に実行されたことを特定することができる。
(情報処理装置101の機能的構成例)
 図5は、情報処理装置101の機能的構成例を示すブロック図である。図5において、情報処理装置101は、取得部501と、生成部502と、表示制御部503と、を含む。取得部501~表示制御部503は制御部となる機能であり、具体的には、例えば、図2に示したメモリ202、ディスク204、可搬型記録媒体207などの記憶装置に記憶されたプログラムをCPU201に実行させることにより、または、通信I/F205により、その機能を実現する。各機能部の処理結果は、例えば、メモリ202、ディスク204などの記憶装置に記憶される。
 取得部501は、チャットに関するスクリプト情報を取得する。ここで、スクリプト情報は、チャットのトーク処理を定義した情報(シナリオ)である。トーク処理は、チャットボットの動作(挙動)を実現するための処理であり、例えば、発話する処理、選択肢を表示する処理、選択肢を選択する処理、トーク処理を終了する処理などを含む。
 具体的には、例えば、取得部501は、図1に示したクライアント装置102から、図3に示したようなスクリプト情報300を受信することにより、受信したスクリプト情報300を取得する。また、取得部501は、不図示の入力装置を用いたユーザの操作入力により、スクリプト情報300を取得することにしてもよい。
 また、取得部501は、チャットのトーク処理に関するチャットログを取得する。ここで、チャットログは、チャット上で実際に行われた会話についてのログであり、どのような会話がいつ行われたのかを特定可能な情報である。例えば、チャットログは、図4に示したように、ルームID、タイムスタンプ、seq_id、前のseq_id、labelおよびメッセージを含む。
 具体的には、例えば、取得部501は、クライアント装置102からチャットログを受信することにより、受信したチャットログを取得する。また、取得部501は、不図示の入力装置を用いたユーザの操作入力により、チャットログを取得することにしてもよい。また、取得部501は、チャットボットを利用したFAQシステムから、チャットログを取得することにしてもよい。取得されたチャットログは、例えば、図4に示したチャットログDB120に記憶される。
 生成部502は、ネットワークグラフを生成する。ここで、ネットワークグラフとは、ノードの集合と、ノード間をつなぐ有向なエッジの集合とからなるグラフである。具体的には、生成部502は、第1の設定部504と、第2の設定部505と、決定部506と、を含む。
 第1の設定部504は、取得されたスクリプト情報を参照して、トーク処理に対応するノードと、トーク処理とは異なる分析する観点に対応するノードとを含む複数のノードを設定する。ここで、トーク処理に対応するノードは、チャットボットが行う動作(挙動)を実現する処理に対応するノードである。例えば、トーク処理に対応するノードは、発話する処理に対応するノード、選択肢を表示する処理に対応するノード、選択肢を選択する処理に対応するノード、トーク処理を終了する処理に対応するノードなどである。
 分析する観点に対応するノードは、どのような観点で動線分析を行うかに応じて設定されるノードである。例えば、分析する観点に対応するノードは、チャットのトーク処理の終了に対応するノードであり、スクリプト情報に定義されたいずれの処理にも対応しない新たなノードとして設定される。なお、トーク処理の終了には、会話が正常に終了した場合だけでなく、会話の途中で強制終了した場合も含まれる。
 以下の説明では、分析する観点に対応するノードを「特定ノード」と表記する場合がある。なお、どのようなノードを、分析する観点に対応する特定ノードとするかは、予め決められていてもよく、また、クライアント装置102から指定されることにしてもよい。
 具体的には、例えば、第1の設定部504は、スクリプト情報300を参照して、発話する処理に対応するノード、選択肢を表示する処理に対応するノード、選択肢を選択する処理に対応するノード、および、トーク処理を終了する処理に対応するノードを設定する。また、第1の設定部504は、チャットのトーク処理の終了に対応する特定ノードを設定する。
 第2の設定部505は、取得されたスクリプト情報と、取得されたトーク処理に関するチャットログとに基づいて、設定した複数のノードに含まれるノード間をつなぐ有向なエッジを設定する。具体的には、例えば、第2の設定部505は、スクリプト情報300を参照して、あるステップ(処理)から他のステップへの遷移を特定することにより、ノード間をつなぐ有向なエッジを設定する。
 また、第2の設定部505は、例えば、チャットログDB120を参照して、特定ノードと他のノードとの有向なエッジを設定する。例えば、特定ノードを、チャットのトーク処理の終了に対応するノードとする。この場合、第2の設定部505は、チャットログDB120を参照して、チャットのトーク処理を終了した処理に対応するノードから、特定ノードへの有向なエッジを設定する。
 チャットのトーク処理を終了した処理は、例えば、seq_idに、ステップの種類が「end」のステップのIDが設定されたチャットログから特定される(会話が正常終了したパターン)。また、チャットのトーク処理を終了した処理は、例えば、同一のルームIDが設定されたチャットログのうち、最後のチャットログ(タイムスタンプが最新のチャットログ)から特定される(会話が強制終了したパターン)。
 なお、上述した説明では、特定ノードとして、チャットのトーク処理の終了に対応するノードを例に挙げて説明したが、これに限らない。例えば、トーク処理に対応するノードのうちのいずれかのノードを、特定のノードとしてもよい。すなわち、第1の設定部504は、トーク処理のいずれかの処理に対応するノードを、分析する観点に対応する特定ノードに設定してもよい。この場合、第2の設定部505は、例えば、チャットログDB120を参照して、特定のノードに対応する処理への他のノードに対応する処理からの遷移を検出することにより、そのノード間をつなぐ有向なエッジを設定する。ただし、スクリプト情報300をもとに設定されるエッジと重複するエッジについては、重複してエッジが設定されないように、設定対象から除外する。これにより、例えば、チャットボットが行う特定の動作がどのような頻度で行われたかといったことを分析し易くなる。
 決定部506は、取得されたトーク処理に関するチャットログに基づいて、設定されたエッジの表示態様を決定する。具体的には、例えば、決定部506は、トーク処理に関するチャットログから特定される、エッジで接続されたノード間の遷移回数に応じて、当該エッジの太さまたは色を決定することにしてもよい。
 より詳細に説明すると、例えば、決定部506は、チャットログDB120を参照して、設定されたエッジごとに、当該エッジで接続されたノード間の遷移回数を計数する。例えば、チャットログ400-2を例に挙げると、決定部506は、seq_id「0001」のステップに対応するノードから、seq_id「0002」のステップに対応するノードへの遷移を検出し、そのノード間の遷移回数をインクリメントする。
 また、特定ノードを、チャットのトーク処理の終了に対応するノードとする。この場合、決定部506は、チャットログDB120を参照して、同一のルームIDが設定されたチャットログのうち、最後のチャットログを特定する。そして、決定部506は、特定したチャットログのseq_id「0001」のステップに対応するノードから、特定ノードへの遷移を検出し、そのノード間の遷移回数をインクリメントする。
 そして、決定部506は、エッジごとに計数した遷移回数に応じて、当該エッジの太さまたは色を決定する。例えば、決定部506は、計数した遷移回数が多くなるほど太くなるように、エッジの太さを決定してもよい。また、決定部506は、計数した遷移回数が多くなるほど濃くなるように、エッジの色の濃淡を決定してもよい。
 なお、決定部506は、ノード間の遷移回数を計数するにあたり、期間を設定することにしてもよい。期間は、例えば、クライアント装置102から指定することができる。期間が設定された場合、決定部506は、タイムスタンプが期間内のチャットログを参照して、ノード間の遷移回数を計数する。
 そして、生成部502は、例えば、第1の設定部504によって設定された複数のノードと、第2の設定部505によって設定されたエッジとを含み、エッジの表示態様を、決定部506によって決定された表示態様とするネットワークグラフを生成する。
 表示制御部503は、生成部502によって生成されたネットワークグラフを表示する制御を行う。具体的には、例えば、表示制御部503は、複数のノードと、ノード間を接続するエッジとを含むネットワークグラフを表示する際に、エッジごとに決定された表示態様で当該エッジを表示する。
 これにより、ネットワークグラフを表示する際に、チャットログに基づき決定された表示態様により、ノード間を接続するエッジの表示態様を変更して表示することができる。ネットワークグラフは、例えば、情報処理装置101の不図示のディスプレイ、または、クライアント装置102に表示される。
 ネットワークグラフの表示例については、図6を用いて後述する。
 また、表示制御部503は、ネットワークグラフを表示する際に、特定ノードを、他のノードと異なる大きさで表示することにしてもよい。具体的には、例えば、表示制御部503は、特定ノードを、他のノードに比べて大きく表示することにしてもよい。なお、各ノードに対応するアイコンは、例えば、各ノードに対応するステップの種類に応じて予め決められている。
 また、表示制御部503は、ネットワークグラフを表示する際に、特定ノードを、他のノードと異なる形状で表示することにしてもよい。具体的には、例えば、表示制御部503は、特定ノードを四角形のアイコンとし、他のノードを丸型のアイコンとしてもよい。
(ネットワークグラフの表示例)
 つぎに、ネットワークグラフの表示例について説明する。
 図6は、ネットワークグラフの表示例を示す説明図である。また、図7は、ネットワークグラフ内のループ構造の一例を示す説明図である。図6において、ネットワークグラフ600は、ノードの集合(例えば、ノードN1~N10)と、ノード間をつなぐ有向なエッジの集合(例えば、エッジe1~e11)とからなるグラフである。ただし、図6では、ネットワークグラフ600の一部を抜粋して表示している。
 ネットワークグラフ600において、ノードN1~N9は、スクリプト情報300(図3参照)をもとに設定された、トーク処理に対応するノードである。例えば、ノードN1は、ステップ情報310(図3参照)が表すステップに対応するノードである(label:TXT-1、seq_id:0001)。
 また、ノードN2は、ステップ情報320(図3参照)が表すステップに対応するノードである(label:SLC-1、seq_id:0002)。ノードN3は、ステップ情報330(図3参照)が表すステップに対応するノードである(label:OPT-1、seq_id:0003)。
 ノードN10は、分析する観点に対応する特定ノードである。ここでは、ノードN10は、トーク処理(チャット)の終了に対応するノードである。また、ノードN10は、他のノードよりも大きいアイコンで表現されている。
 また、ネットワークグラフ600において、エッジe1~e8は、スクリプト情報300(図3参照)をもとに設定された、ノード間を接続するエッジである。また、エッジe9~e11は、チャットログDB120をもとに設定された、ノードN10(特定ノード)とノードN7~N9とを接続するエッジである。
 また、ネットワークグラフ600において、各エッジe1~e11は、チャットログDB120内のチャットログから特定される、各エッジe1~e11で接続されたノード間の遷移回数に応じた太さで表示されている。例えば、チャットログ400-2から、エッジe1で接続されたノードN1からノードN2への遷移が検出され、遷移回数がインクリメントされる。
 また、チャットログ400-3から、エッジe2で接続されたノードN2からノードN3への遷移が検出され、遷移回数がインクリメントされる。また、チャットログ400-4から、エッジe5で接続されたノードN3からノードN6への遷移が検出され、遷移回数がインクリメントされる。
 また、チャットログ400-7は、同一のルームID「R10」が設定されたチャットログのうちの最後のチャットログであり、ステップの種類が「end」のステップのIDが設定されたチャットログである。この場合、チャットログ400-7から、エッジe11で接続されたノードN9からノードN10への遷移が検出され、遷移回数がインクリメントされる。
 また、同一のルームIDが設定されたチャットログのうちの最後のチャットログのseq_idが「0007」の場合、エッジe9で接続されたノードN7からノードN10への遷移が検出され、遷移回数がインクリメントされる。また、同一のルームIDが設定されたチャットログのうちの最後のチャットログのseq_idが「0008」の場合、エッジe10で接続されたノードN8からノードN10への遷移が検出され、遷移回数がインクリメントされる。
 ネットワークグラフ600によれば、分析者(例えば、クライアント装置102のユーザ)は、チャットの動線分析を行うことができる。例えば、ネットワークグラフ600によれば、分析者は、チャット上でどのような会話がどのような頻度で行われたかを、各エッジの太さから判断することができる。
 また、トーク処理とは異なる分析する観点に対応する特定ノードとして、トーク処理の終了に対応するノードN10を設定することで、ユーザの離脱という観点で分析することができる。例えば、エッジe10の太さから、ノードN8に対応する処理において強制終了が多く発生していることがわかる。ユーザが離脱する割合が高い箇所がわかれば、その原因を究明して、何らかの対策を講じることができる。
 また、トーク処理とは異なる分析する観点に対応する特定ノードとして、トーク処理の終了に対応するノードN10を設定することで、全ての会話はノードN10につながることになる。このため、ネットワークグラフ600内のノード数が多くなったとしても、ノードN10が中心となって表示され、分析の観点になる軸ができて、ユーザにとって見やすいものとなる。
 また、ネットワークグラフ600によれば、図7に示すループ700(ノードN1⇒ノードN2⇒ノードN3⇒ノードN6⇒ノードN1)のような、ループ構造についても表現することができる。このため、分析者は、例えば、前に発言したところに戻るようなループが頻繁に発生している箇所を特定して、チャットボットの発言内容や選択肢などに問題がないかを分析することができる。
(情報処理装置101の分析支援処理手順)
 つぎに、情報処理装置101の分析支援処理手順について説明する。ここでは、チャットのトーク処理に関するチャットログは、チャットログDB120に記憶されているものとする。
 図8は、情報処理装置101の分析支援処理手順の一例を示すフローチャートである。図8のフローチャートにおいて、まず、情報処理装置101は、チャットに関するスクリプト情報を取得する(ステップS801)。つぎに、情報処理装置101は、取得したスクリプト情報を参照して、トーク処理に対応するノードと、トーク処理とは異なる分析する観点に対応する特定ノードとを含む複数のノードを設定する(ステップS802)。
 そして、情報処理装置101は、取得したスクリプト情報と、チャットログDB120内のチャットログとに基づいて、設定した複数のノードに含まれるノード間をつなぐ有向なエッジを設定する(ステップS803)。つぎに、情報処理装置101は、チャットログDB120を参照して、設定したエッジごとに、当該エッジで接続されたノード間の遷移回数を計数する(ステップS804)。
 そして、情報処理装置101は、エッジごとに計数したノード間の遷移回数に応じて、当該エッジの太さを決定する(ステップS805)。つぎに、情報処理装置101は、設定した複数のノードと、設定したエッジとを含み、エッジの太さを、決定した太さとするネットワークグラフを生成する(ステップS806)。
 そして、情報処理装置101は、生成したネットワークグラフを表示して(ステップS807)、本フローチャートによる一連の処理を終了する。これにより、ツリー構造になっていない複雑な構造やループ構造を含むチャット上でのユーザの動きを可視化することができる。
 以上説明したように、実施の形態にかかる情報処理装置101によれば、チャットのトーク処理を定義したスクリプト情報を参照して、トーク処理に対応するノードと、トーク処理とは異なる分析する観点に対応する特定ノードとを含む複数のノードを設定することができる。トーク処理に対応するノードは、例えば、発話する処理に対応するノード、選択肢を表示する処理に対応するノード、トーク処理を終了する処理に対応するノードなどである。また、情報処理装置101によれば、スクリプト情報と、トーク処理に関するチャットログとに基づいて、設定した複数のノードに含まれるノード間を接続する有向なエッジを設定することができる。そして、情報処理装置101によれば、設定した複数のノードを含み、設定したエッジによりノード間を接続したネットワークグラフを表示する際に、トーク処理に関するチャットログに基づいて、エッジの表示態様を変更して表示することができる。
 これにより、ツリー構造になっていない複雑な構造やループ構造を含むチャット上でのユーザの動きを可視化して、チャットの動線分析を支援することができる。例えば、チャット上で行われた実際の会話の記録に基づいて、動線(スクリプトの経路)の流量を可視化することができる。
 また、情報処理装置101によれば、トーク処理とは異なる分析する観点に対応する特定ノードとして、トーク処理の終了に対応するノードを設定することができる。
 これにより、ユーザの離脱という観点でチャットの動線分析を行うことができる。また、ネットワークグラフ内のノード数が多くなったとしても、全ての会話が特定ノードにつながるため、特定ノードが中心となって表示されて、分析の観点になる軸ができ、ネットワークグラフの視認性を高めることができる。
 また、情報処理装置101によれば、トーク処理に関するチャットログから特定される、エッジで接続されたノード間の遷移回数に応じて、当該エッジの太さまたは色を変更して表示することができる。
 これより、ノード間の遷移回数が多いほど、エッジを太く描画したり、濃い色で描画したりすることができ、動線(スクリプトの経路)の流量を直感的に理解しやすい態様で可視化することができる。
 また、情報処理装置101によれば、ネットワークグラフを表示する際に、分析する観点に対応する特定ノードを、他のノードと異なる大きさで表示することができる。
 これより、分析する観点に対応する特定ノードを判別しやすくさせることができる。
 なお、本分析支援方法は、チャットのように、ツリー構造ではなく、ループ構造を含むコンテンツについての動線分析にも有効である。例えば、オンラインゲーム、スマホゲーム、スマホ向けアプリなどについて、ユーザの離脱という観点で分析したい場合に有効である。
 また、本実施の形態で説明した分析支援方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本分析支援プログラムは、ハードディスク、フレキシブルディスク、CD-ROM、DVD、USBメモリ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本分析支援プログラムは、インターネット等のネットワークを介して配布してもよい。
 また、本実施の形態で説明した情報処理装置101は、スタンダードセルやストラクチャードASIC(Application Specific Integrated Circuit)などの特定用途向けICやFPGAなどのPLD(Programmable Logic Device)によっても実現することができる。
 100 分析支援システム
 101 情報処理装置
 102 クライアント装置
 110 ネットワーク
 120 チャットログDB
 200 バス
 201 CPU
 202 メモリ
 203 ディスクドライブ
 204 ディスク
 205 通信I/F
 206 可搬型記録媒体I/F
 207 可搬型記録媒体
 300 スクリプト情報
 501 取得部
 502 生成部
 503 表示制御部
 504 第1の設定部
 505 第2の設定部
 506 決定部
 600 ネットワークグラフ
 700 ループ

Claims (8)

  1.  チャットのトーク処理を定義したスクリプト情報を参照して、前記トーク処理に対応するノードと、前記トーク処理とは異なる分析する観点に対応するノードとを含む複数のノードを設定し、
     前記スクリプト情報と、前記トーク処理に関するチャットログとに基づいて、設定した前記複数のノードに含まれるノード間を接続する有向なエッジを設定し、
     前記複数のノードを含み、設定した前記エッジによりノード間を接続したネットワークグラフを表示する際に、前記トーク処理に関するチャットログに基づいて、前記エッジの表示態様を変更して表示する、
     処理をコンピュータに実行させることを特徴とする分析支援プログラム。
  2.  前記分析する観点に対応するノードは、前記トーク処理の終了に対応するノードである、ことを特徴とする請求項1に記載の分析支援プログラム。
  3.  前記表示する処理は、
     前記トーク処理に関するチャットログから特定される、前記エッジで接続されたノード間の遷移回数に応じて、前記エッジの太さまたは色を変更して表示する、ことを特徴とする請求項2に記載の分析支援プログラム。
  4.  前記表示する処理は、
     前記ネットワークグラフを表示する際に、前記分析する観点に対応するノードを、他のノードと異なる大きさで表示する、ことを特徴とする請求項3に記載の分析支援プログラム。
  5.  前記トーク処理に関するチャットログに基づいて、前記エッジの表示態様を決定する、処理を前記コンピュータに実行させ、
     前記表示する処理は、
     前記複数のノードを含み、前記エッジによりノード間を接続したネットワークグラフを表示する際に、決定した前記表示態様で前記エッジを表示する、ことを特徴とする請求項4に記載の分析支援プログラム。
  6.  前記トーク処理は、発話する処理と、選択肢を表示する処理と、前記トーク処理を終了する処理と、を含む、ことを特徴とする請求項1~5のいずれか一つに記載の分析支援プログラム。
  7.  チャットのトーク処理を定義したスクリプト情報を参照して、前記トーク処理に対応するノードと、前記トーク処理とは異なる分析する観点に対応するノードとを含む複数のノードを設定し、
     前記スクリプト情報と、前記トーク処理に関するチャットログとに基づいて、設定した前記複数のノードに含まれるノード間を接続する有向なエッジを設定し、
     前記複数のノードを含み、設定した前記エッジによりノード間を接続したネットワークグラフを表示する際に、前記トーク処理に関するチャットログに基づいて、前記エッジの表示態様を変更して表示する、
     処理をコンピュータが実行することを特徴とする分析支援方法。
  8.  チャットのトーク処理を定義したスクリプト情報を参照して、前記トーク処理に対応するノードと、前記トーク処理とは異なる分析する観点に対応するノードとを含む複数のノードを設定し、
     前記スクリプト情報と、前記トーク処理に関するチャットログとに基づいて、設定した前記複数のノードに含まれるノード間を接続する有向なエッジを設定し、
     前記複数のノードを含み、設定した前記エッジによりノード間を接続したネットワークグラフを表示する際に、前記トーク処理に関するチャットログに基づいて、前記エッジの表示態様を変更して表示する、
     制御部を有することを特徴とする情報処理装置。
PCT/JP2019/021435 2019-05-29 2019-05-29 分析支援プログラム、分析支援方法および情報処理装置 WO2020240757A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/JP2019/021435 WO2020240757A1 (ja) 2019-05-29 2019-05-29 分析支援プログラム、分析支援方法および情報処理装置
JP2021521675A JP7272429B2 (ja) 2019-05-29 2019-05-29 分析支援プログラム、分析支援方法および情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/021435 WO2020240757A1 (ja) 2019-05-29 2019-05-29 分析支援プログラム、分析支援方法および情報処理装置

Publications (1)

Publication Number Publication Date
WO2020240757A1 true WO2020240757A1 (ja) 2020-12-03

Family

ID=73553141

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/021435 WO2020240757A1 (ja) 2019-05-29 2019-05-29 分析支援プログラム、分析支援方法および情報処理装置

Country Status (2)

Country Link
JP (1) JP7272429B2 (ja)
WO (1) WO2020240757A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112506967A (zh) * 2020-12-07 2021-03-16 中国平安人寿保险股份有限公司 Ai面试的数据流量分析方法、装置和计算机设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004157815A (ja) * 2002-11-07 2004-06-03 Hitachi Ltd 医用画像報告書入力システム
JP2006154724A (ja) * 2004-10-28 2006-06-15 Fujitsu Ltd 対話システム、対話方法、及びコンピュータプログラム
JP2009223720A (ja) * 2008-03-18 2009-10-01 Yahoo Japan Corp 自然言語対話エージェントのためのスクリプト作成支援方法及びプログラム
WO2012127646A1 (ja) * 2011-03-23 2012-09-27 株式会社日立製作所 計算機システム及び計算機システムを用いた情報提示方法
JP2016045574A (ja) * 2014-08-20 2016-04-04 ヤフー株式会社 情報処理装置、情報処理方法及び情報処理プログラム
JP2018157439A (ja) * 2017-03-17 2018-10-04 Kddi株式会社 情報処理装置、情報処理方法およびプログラム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004157815A (ja) * 2002-11-07 2004-06-03 Hitachi Ltd 医用画像報告書入力システム
JP2006154724A (ja) * 2004-10-28 2006-06-15 Fujitsu Ltd 対話システム、対話方法、及びコンピュータプログラム
JP2009223720A (ja) * 2008-03-18 2009-10-01 Yahoo Japan Corp 自然言語対話エージェントのためのスクリプト作成支援方法及びプログラム
WO2012127646A1 (ja) * 2011-03-23 2012-09-27 株式会社日立製作所 計算機システム及び計算機システムを用いた情報提示方法
JP2016045574A (ja) * 2014-08-20 2016-04-04 ヤフー株式会社 情報処理装置、情報処理方法及び情報処理プログラム
JP2018157439A (ja) * 2017-03-17 2018-10-04 Kddi株式会社 情報処理装置、情報処理方法およびプログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112506967A (zh) * 2020-12-07 2021-03-16 中国平安人寿保险股份有限公司 Ai面试的数据流量分析方法、装置和计算机设备
CN112506967B (zh) * 2020-12-07 2024-05-03 中国平安人寿保险股份有限公司 Ai面试的数据流量分析方法、装置和计算机设备

Also Published As

Publication number Publication date
JP7272429B2 (ja) 2023-05-12
JPWO2020240757A1 (ja) 2021-11-18

Similar Documents

Publication Publication Date Title
CN110659091B (zh) 会话代理对话流用户界面
US10832002B2 (en) System and method for scoring performance of chatbots
CN108564966B (zh) 语音测试的方法及其设备、具有存储功能的装置
US11164574B2 (en) Conversational agent generation
CN108897691A (zh) 基于接口模拟服务的数据处理方法、装置、服务器和介质
US8752023B2 (en) System, method and program product for executing a debugger
CN107562637B (zh) 一种用于软件测试的方法、设备、系统及存储介质
JP2016161823A (ja) 音響モデル学習支援装置、音響モデル学習支援方法
CN111052749A (zh) 用于计量对话的机制和工具
CN113055751B (zh) 数据处理方法、装置、电子设备和存储介质
CN112685672B (zh) 页面会话行为轨迹的回溯方法、装置及电子设备
WO2020240757A1 (ja) 分析支援プログラム、分析支援方法および情報処理装置
CN113778849A (zh) 用于测试代码的方法、装置、设备以及存储介质
CN113495843B (zh) 用于测试视频播放器的起播性能的方法和装置
WO2019227633A1 (zh) 建立用户画像和建立状态信息分析模型的方法和装置
CN114546830A (zh) 回归测试方法、装置、电子设备及存储介质
WO2021218339A1 (zh) 基于人工智能的话题挖掘方法、装置、电子设备及介质
Dong et al. Towards enabling residential virtual-desktop computing
CN110716789A (zh) 数据配置方法、可读存储介质和电子设备
GB2397905A (en) Method for automatically generating and ordering test scripts
WO2020054201A1 (ja) 応答文作成装置
CN107066444B (zh) 基于多轮交互的语料生成方法和装置
JP2021089576A (ja) 情報処理装置、情報処理方法およびプログラム
KR101976183B1 (ko) 게임 서비스를 모니터링 하는 방법 및 그 방법을 수행하는 서버
CN110798385B (zh) 广域网访问设置功能的测试方法、装置、设备及介质

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: 19930333

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2021521675

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: 19930333

Country of ref document: EP

Kind code of ref document: A1