Patent Publication Number: US-9836757-B2

Title: Data visualization method and data visualization device

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     This non-provisional application claims priority under 35 U.S.C. §119(a) on Patent Application No(s). 104141828 filed in Taiwan, R.O.C. on Dec. 11, 2015, the entire contents of which are hereby incorporated by reference. 
     TECHNICAL FIELD 
     The disclosure relates to a data visualization method and a data visualization device. 
     BACKGROUND 
     The development of technology has brought in a high-quality and high-speed network communication, and a variety of electronic devices having a network assessing function is being innovated. Therefore, over the years, the market transaction amount in the e-commerce has greatly grown up, and then a great deal of relevant firms has deployed their markets in the e-commerce. 
     However, these firms also face a challenge to the accurate handling of the customer&#39;s tendency in the e-commerce. For example, modern methods used in the art include: gathering statistics of hot produces, gathering statistics of the distribution of customers (including time and positions), calculating the conversion rate in a preset goal stage, analyzing the effect of a specific promotion activity, etc. These modern methods cannot accurately survey the customer&#39;s behavior yet. 
     In addition, modern methods of web analytics usually compute statistics of a complete clickstream. The complete clickstream, however, may have many data sections about a user&#39;s actions. For example, users may browse the contents of web pages purposelessly, compare products, purchase products, or edit their member information. Therefore, the complete clickstream may have a great deal of useless contents. Moreover, a behavior model frequently appearing in the complete clickstream does not mean that it is more useful. 
     Accordingly, it actually requires specialists in data scientist to check the contents of the complete clickstream one by one, so as to find out a more useful behavior model. This conventional way greatly depends on human experiences and thus, has a relatively low efficiency. 
     SUMMARY 
     According to one or more embodiments, the disclosure provides a data visualization method including the following steps. Capture a clickstream, which includes a plurality of click data. Compare a segment pattern with a first sequence segment of each piece of the click data to generate a similarity for each piece of the click data. Capture more than one piece of click data having the maximum similarity, and capture a second sequence segment of each piece of click data having the maximum similarity. Visualize the second sequence segments in a two-dimensional (2D) space, in which the visualized sequence data of each of the second sequence segments is presented and a position of each piece of the click data having the maximum similarity in the visualized sequence data is mapped to a datum point in a first dimension of the 2D space. The first dimension of the 2D space is related to an order of the plurality of click data, and a second dimension of the 2D space is related to an event status of each piece of the click data. 
     According to one or more embodiments, the disclosure also provides a data visualization device including a data capturing module, a similarity determination module and a visualization module. The similarity determination module is coupled to the data capturing module, and the visualization module is coupled to the data capturing module and the similarity determination module. The data capturing module captures a clickstream including a plurality of click data. The similarity determination module compares a segment pattern with a first sequence segment of each piece of the click data to generate a similarity of each piece of the click data. The visualization module captures more than one piece of the click data having the maximum similarity among the plurality of click data and captures a second sequence segment of each piece of the click data having the maximum similarity. The visualization module also visualizes the second sequence segments in a 2D space, in which the visualized sequence data of each of the second sequence segments is presented and a position of each piece of the click data having the maximum similarity in the visualized sequence data is set at a datum point in a first dimension of the 2D space. The first dimension of the 2D space is related to an order of the plurality of click data, and a second dimension of the 2D space is related to an event status of each piece of the click data. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       The patent or application file contains at least one drawing executed in color. Copies of this patent or patent application publication with color drawing(s) will be provided by the Office upon request and payment of the necessary fee. 
       The present disclosure will become more fully understood from the detailed description given hereinbelow and the accompanying drawings which are given by way of illustration only and thus are not limitative of the present disclosure and wherein: 
         FIG. 1  is a block diagram of a data visualization device in an embodiment; 
         FIG. 2  is a flow chart of a data visualization method in an embodiment; 
         FIG. 3  is a schematic view of the sliding window method in an embodiment; 
         FIG. 4  is a flow chart of a data visualization method in another embodiment; 
         FIG. 5  is a schematic view of visualizing polylines in the 2D space in accordance with a clickstream in an embodiment; 
         FIG. 6  is a schematic view of visualizing polylines in the 2D space in accordance with another clickstream in an embodiment; and 
         FIGS. 7A ˜ 7 C are schematic views of visualizing the second sequence segments in the two-dimensional space in another embodiment. 
     
    
    
     DETAILED DESCRIPTION 
     In the following detailed description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the disclosed embodiments. It will be apparent, however, that one or more embodiments may be practiced without these specific details. In other instances, well-known structures and devices are schematically shown in order to simplify the drawing. 
       FIG. 1  is a block diagram of a data visualization device  100  in an embodiment. As shown in  FIG. 1 , the data visualization device  100  includes a data capturing module  110 , a similarity determination module  120 , and a visualization module  130 . The similarity determination module  120  is coupled to the data capturing module  110 , and the visualization module  130  is coupled to the data capturing module  110  and the similarity determination module  120 .  FIG. 2  is a flow chart of a data visualization method in an embodiment. As shown in  FIG. 2 , the data visualization method includes steps S 210 ˜S 240 . The following description relate to  FIG. 1  and  FIG. 2 . 
     For example, the data visualization device  100  is, but not limited to, a personal computer, a portable electronic device, a cloud server or another electronic device with a computing function. For example, the data capturing module  110 , the similarity determination module  120  and the visualization module  130  are carried out by varieties of chips or microprocessors, and the disclosure will not be limited thereto. 
     In step S 210 , the data capturing module  110  captures a clickstream that includes multiple click data. In this embodiment, the data capturing module  110  may capture the clickstream from a weblog. For example, the clickstream is the sequential data based on a user&#39;s clicking on a specific shopping website, and each click action corresponds to one piece of click data. 
     In step S 220 , the similarity determination module  120  compares a segment pattern with a first sequence segment of each click data to generate a similarity for each click data. The first sequence segment is one part of the clickstream. 
     Generally, the above segment pattern is preset sequential data having a specific order, and is used to represent a series of preset clicks done on the shopping website by the user. In this embodiment, the similarity determination module  120  sets the data related to a click (referred to as one piece of click data) and the data related to the n1 sequential pieces of following click to be the first sequence segment, and n1 is a positive integer. In another embodiment, the similarity determination module  120  sets the data related to a click, the data related to the n2 sequential pieces of previous click, and the data related to the n3 sequential pieces of following clicks to be the first sequence segment, and n2 and n3 are positive integers. The disclosure is not restricted to the above instances of the first sequence segment. Moreover, the length of the first sequence segment may be equal to the length of the segment pattern, so as to analyze the similarity between the first sequence segment and the segment pattern. 
     In this embodiment, the similarity determination module  120  performs a sliding window method to the above clickstream to in turn capture the first sequence segment of each click data, and the similarity between each first sequence segment and the segment pattern. A window length used in the sliding window method is equal to a segment length of the segment pattern. In other words, each click data is the first piece of data corresponding to the window, and each first sequence segment is the entire data covered by the related sliding window. 
     For example, when one piece of indicated click data and the 4 sequential pieces of following click data absolutely match the segment pattern, the similarity for the indicated click data is 1; when one piece of indicated click data and the 4 sequential pieces of following click data don&#39;t absolutely match the segment pattern, the similarity for the indicated click data is 0; and if the comparison indicates partial matching, the similarity is between 0 and 1. This will be described in detail below with respect to the figures. 
       FIG. 3  is a schematic view of the sliding window method in an embodiment. As shown in  FIG. 3 , the segment pattern T 1  is ABCDE, and A, B, C, D and E represent different event statuses, respectively; the clickstream S is ABBCDEEB; and the length of the sliding window and the length of the segment pattern T 1  are 5, and the sliding windows W corresponding to the front 4 pieces of click data, i.e. A, B, B and C, in the clickstream S are ABBCD, BBCDE, BCDEE and CDEEB, respectively. In this case, the matched parts of the sliding windows W as compared to the segment pattern T 1  are BCD, BCDE, BCDE and CDE, respectively and thus, have similarities of 0.6, 0.8, 0.8 and 0.6 with respect to the segment pattern T 1 , respectively. 
     In step S 230 , the visualization module  130  captures more than one piece of click data having the maximum similarity, and captures a second sequence segment of each piece of click data having the maximum similarity. Each of the second sequence segments is one part of the clickstream. 
     In this embodiment, the visualization module  130  may set a piece of click data, the n4 sequential pieces of previous click data and the n5 sequential pieces of following click data to be second sequence segments, and n4 and n5 are positive integers. In a second sequence segment, only one piece of click data having the maximum similarity is included. n4 and n5 are set according to actual requirements, that is, the length of the second sequence segment is set according to actual requirements. 
     In another embodiment, the more than one piece of click data having the maximum similarity may be boundary points used to divide the clickstream into multiple second sequence segments. In detail, a second sequence segment includes a single piece of click data having the maximum similarity, multiple sequential pieces of previous click data, and multiple sequential pieces of following click data. The multiple sequential pieces of click data previous to the single click data having the maximum similarity may forwardly cover one piece of click data following another piece of click data having the maximum similarity. Similarly, the multiple sequential pieces of click data following the single click data having the maximum similarity may backwardly cover one piece of click data previous to yet another piece of click data having the maximum similarity. 
     In step S 240 , the visualization module  130  visualizes all second sequence segments in a 2D space to present multiple pieces of visualized sequence data corresponding to the second sequence segments in the 2D space respectively, and a position, related to the click data having the maximum similarity, in each piece of visualized sequence data corresponds to a datum point in the first dimension. In this embodiment, the first dimension of the 2D space is related to a relevant order of multiple pieces of click data, and the second dimension of the 2D space is related to an event status of each piece of click data. 
     In this embodiment, each piece of the above visualized sequence data is one point in the 2D space. For example, these points have their own coordinates (x, y), x indicates the first dimension X, and y indicates the second dimension Y. In other words, each point in the 2D space represents one piece of click data, x indicates the ranking of the click data, and y indicates the event status of the click data. 
     For instance, after steps S 210 ˜S 240  are performed, it may be benefited from the visualized sequence data near the datum point in the 2D space to synthetically present that a user did a series of clicks, which matches the segment pattern the most, on a specific shopping website and present that the user did other clicks previous or next to this series of clicks. In other words, the above visualized sequence data in the 2D space may clearly present which other possible variability exists. The related operation will be described in detail later. 
       FIG. 4  is a flow chart of a data visualization method in another embodiment. As shown in  FIG. 4 , in this embodiment, step S 240  includes steps S 241 ˜S 246 . 
       FIG. 5  is a schematic view of visualizing polylines in the 2D space in accordance with a clickstream in an embodiment.  FIG. 6  is a schematic view of visualizing polylines in the 2D space in accordance with another clickstream in another embodiment. As shown in  FIG. 5 , in this embodiment, various event statuses E 1 ˜E 6  are presented in the second dimension of the 2D space. As shown in  FIG. 6 , various event statuses E 7 ˜E 13  are presented in this embodiment, the second dimension of the 2D space. The data visualization method is described in detail below with respect to  FIG. 1 ,  FIG. 2 ,  FIG. 4 ,  FIG. 5  and  FIG. 6 . 
     In step S 241 , the visualization module  130  further captures the polylines corresponding to the second sequence segments and the endpoints of each of the polylines, and each of the endpoints corresponds to one piece of click data. For example, it is similar to the above embodiment that each of the endpoints has its own coordinate (x, y), x indicates the first dimension, and y indicates the second dimension. That is, each point in the 2D space represents one piece of click data, x is the ranking of the click data, and y represents the event status of the click data. 
     In step S 242 , the visualization module  130  further sets a color for each endpoint of each polyline. In this embodiment, the color of each endpoint of each polyline is related to the event status of the related click data; the endpoints at the same position in the second dimension have the same color; and the endpoints at different positions in the second dimension have different colors, respectively. As shown in  FIG. 5 , the event statuses E 1 ˜E 6  correspond to different colors, respectively. As shown in  FIG. 6 , the event statuses E 7 ˜E 13  correspond to different colors, respectively. 
     In step S 243 , the visualization module  130  further sets a color for the line segment between every two neighboring endpoints of each polyline. In this embodiment, the color of the line segment between every two neighboring endpoints of each polyline is a mixed color of the colors of the two neighboring endpoints. In another embodiment, the color of a part of the line segment between the two neighboring endpoints is more similar to the color of one of the two neighboring endpoints when being closer to this endpoint, but the color of this part of the line segment is more unlike to the other one of the two neighboring endpoints. 
     For instance, when two neighboring endpoints of a line segment in a polyline are red and yellow, respectively, the color of this line segment is substantially a mixed color (i.e. orange) of red and yellow. When a part of the line segment is closer to the red endpoint, this part may be more reddish orange; and when a part of the line segment is closer to the yellow endpoint, this part may be more yellowish orange. 
     In step S 244 , the visualization module  130  further sets a transparency for each endpoint of each polyline. In this embodiment, the transparency of each endpoint of each polyline is related to the similarity of the related click data. When the similarity corresponding to an endpoint is higher, the transparency of this endpoint is smaller. That is, if a certain endpoint is more opaque, it indicates that this endpoint corresponds to a higher similarity. Alternatively, more important data is presented by a more opaque color in the 2D space. 
     In an embodiment, the transparency of an endpoint is presented by an alpha channel in a RGBA color space or by a HSV color space. In the HSV color space, the color of an endpoint and the color of a line segment are represented by hues, and the transparency of an endpoint and the transparency of a line segment are represented by saturations or values (also known as brightness). For example, the transparency of a line segment between every two neighboring endpoints in each of the polylines is obtained by performing an interpolation operation to the transparencies of the two neighboring endpoints by the visualization module; and the transparency of the line segment between every two neighboring endpoints in each of the polylines is an interpolation value of the transparencies of the two neighboring endpoints. For example, when a certain endpoint is more opaque, the saturation or value of this endpoint is higher; and when a certain endpoint is more transparent, the saturation or value of this endpoint is lower. In another embodiment, the transparency of an endpoint may be presented by another visualization method, and the disclosure is not restricted to the above embodiment. 
     In step S 245 , the visualization module  130  further sets a transparency for the line segment between every two neighboring endpoints of each polyline. In this embodiment, the transparency of the line segment between every two neighboring endpoints of each polyline is an interpolation of the transparencies of the two neighboring endpoints. Specifically, the transparency of the line segment between every two neighboring endpoints of each polyline is a linear interpolation of the transparencies of the two neighboring endpoints. 
     In step S 246 , the visualization module  130  further visualizes all polylines in the 2D space in turn and aims the endpoint, corresponding to the click data having the maximum similarity, of each polyline at a datum point in the first dimension. Alternatively, the endpoint, corresponding to the click data having the maximum similarity, in each polyline aims at a datum line in the 2D space. For example, in this embodiment, as shown in  FIG. 5  and  FIG. 6 , the endpoints, corresponding to the click data having the maximum similarity, of all the polylines aim at the datum line (i.e. x=0). 
     Moreover, after the color and transparency of each endpoint and the color and transparency of each line segment are set in the above steps, the visualization module  130  converts them into an endpoint value and a line segment value, respectively. During the visualization process, one or more endpoint values or one or more line segment values at a related position in the 2D space are accumulated in turn. For example, when more than one endpoint is located at the same position, an accumulation value at this position is obtained by in turn accumulating the endpoint values related to this position. 
     Therefore, when the visualization module  130  is visualizing each polyline in the 2D space in respect to the datum line (x=0), a portion having a relatively high frequency and a portion having a relatively high similarity may be highlighted in the 2D space in accordance with the relatively opaque line segments in polylines and the accumulation of more polylines, as shown in  FIGS. 5 and 6 . Generally, a polyline, which is relatively opaque, indicates that a rate of a segment pattern appearing in the clickstream is relatively high, and a different degree of transparency represents a different rate of a segment pattern appearing in the clickstream. 
       FIGS. 7A ˜ 7 C are schematic views of visualizing the second sequence segments in the two-dimensional space in another embodiment. In this embodiment, the event status E 1 ˜E 5  are presented in the second dimension of the 2D space, the segment pattern T 2  has E 1 , E 2 , E 3  and E 4  arranged in order, and the length of the sliding window and the length of the segment pattern are 4. As shown in  FIGS. 7A ˜ 7 C, the similarity corresponding to the click data in each of the second sequence segments C 1 ˜C 12  is calculated, and the position corresponding to the click data (e.g. the click data corresponding to the event status E 1  herein) having the maximum similarity is set at the datum point (i.e. X=0) in the first dimension. Moreover, if more than one piece of click data is visualized at the same point in the 2D space, the similarity at this point may be accumulated. 
     As shown in  FIG. 7A , the second sequence segments C 1 ˜C 4  are captured from the clickstream. In this embodiment with respect to  FIG. 7A , the real sequence appearance (from X=−2 to X=5) in the 2D space may be longer than a given segment pattern. In other words, other event statuses may be presented where X=−2, X=−1, X=4 and X=5. 
     In  FIG. 7B , the second sequence segments C 5 ˜C 8  are captured from the clickstream. In this embodiment with respect to  FIG. 7B , the real sequence appearance in the 2D space may be longer than a given segment pattern (from X=−1 to X=5) and have a variability therein. That is, another event status may also be presented where X=1. 
     In  FIG. 7C , the second sequence segments C 9 ˜C 12  are captured from the clickstream. In this embodiment with respect to  FIG. 7C , the real sequence appearance (from X=1 to X=3) in the 2D space may be shorter than a given segment pattern. 
     As set forth above, the disclosure captures a clickstream from a weblog and compares the clickstream with a segment pattern through the sliding window method to generate a similarity for each piece of click data. Moreover, more than one piece of click data having the maximum similarity and the second sequence segments corresponding to these pieces of click data having the maximum similarity are captured, so as to visualize all second sequence segments in a 2D space and to aim each piece of visualized sequence data at a datum point in the first dimension of the 2D space during the visualization process. Therefore, this 2D space may automatically present the real sequence appearance of a given segment pattern in the clickstream and also present other possible variability, and then data scientists may learn of the actions indicated by the sequence.