This application is based upon and claims the benefit of priority from Japanese Patent Application No. 2018-120158, filed on Jun. 25, 2018; the entire contents of which are incorporated herein by reference.
Embodiments described herein relate generally to a display system, a program, and a storage medium.
There is known a system capable of automatically generating a chart from prescribed data. Further improvement in convenience is desired for this system.
According to one embodiment, a display system includes a processing device. The processing device is operable for, upon receiving a sentence inputted by a user, extracting a keyword from the sentence, and generating a chart related to the keyword from prescribed data and displaying the chart on a first screen.
According to one embodiment, a display system includes a processing device. The processing device is operable for, upon receiving a first sentence inputted by a user, extracting a first keyword from the first sentence, referring to a learned table and generating a first chart related to the first keyword from prescribed data, and displaying the first chart on a first screen. In learning of the table, the processing device updates the table based on a second sentence inputted by the user, a second chart displayed based on the second sentence, and an evaluation of the second chart inputted by the user.
According to one embodiment, a program is configured to cause a processing device to perform, upon input of a sentence by a user, extracting a keyword from the sentence, generating a chart related to the keyword from prescribed data, and displaying the chart on a first screen.
According to one embodiment, a storage medium is the storage medium on which the program is stored.
Various embodiments are described below with reference to the accompanying drawings.
In the specification and drawings, components similar to those described previously or illustrated in an antecedent drawing are marked with like reference numerals, and a detailed description is omitted as appropriate.
The display system 1 according to the embodiment is used when a user creates a chart based on certain data. Specifically, the display system 1 automatically generates a chart suitable for the user's analysis objective and displays the chart to the user.
As shown in
The reception part 11 receives information inputted by an input device 20. The input device 20 includes at least one of e.g. a keyboard, mouse, microphone (audio input), and touch panel. The user inputs the objective of creating a chart (analysis objective) to the processing device 10 using the input device 20. The extraction part 12 extracts a keyword (first keyword) from the sentence (first sentence) indicating the analysis objective.
After the keyword is extracted, the generation part 13 generates a chart (first chart) related to the keyword from prescribed data based on the keyword. For instance, the generation part 13 accesses a database 40 and generates a chart from the data stored in the database 40. The database 40 is stored in e.g. a hard disk drive attached to the processing device 10, or e.g. a file server or network hard disk connected to the processing device 10 through a network. Alternatively, the generation part 13 may generate a chart from the data stored in a storage medium specified by the user.
The generation part 13 accesses a storage device 50 when generating a chart. The storage device 50 stores information (table) used to generate a chart. The generation part 13 refers to the information and generates a chart. The storage device 50 is stored in e.g. a hard disk drive attached to the processing device 10, or e.g. a file server or network hard disk connected to the processing device 10 through a network. The storage device 50 may store the database 40.
The output part 14 externally outputs and displays the generated chart. For instance, the output part 14 displays the chart on a display device 30. The display device 30 is e.g. a display or a touch panel.
The output part 14 displays e.g. a screen (user interface) 100 (first screen) shown in
For instance, as shown in
The keyword display area 103 displays the extracted keyword. In this example, “operation rate” and “line” are extracted as keywords. The chart display area 104 displays the chart related to the keyword. When a plurality of keywords are extracted, related charts are generated for each keyword and combinations of the keywords.
The chart display area 104 displays one or more charts.
For instance, the image file of the chart and the data used to generate the chart can be downloaded by using a double click to select one of the displayed charts. When the user clicks the button 104a, still another chart is displayed. The other chart may be displayed on the screen 100, or may be displayed on another screen switched from the screen 100.
The output part 14 may further display a numerical value 104b indicating the relevance of the chart to the sentence of the input field 101. The numerical value 104b indicates e.g. how much each chart is matched with the user's analysis objective. This numerical value is referred to as advisability. For instance, when generating a chart, the generation part 13 calculates the advisability of each chart. The output part 14 displays the charts in the chart display area 104 in the descending order of advisability.
For instance, the keyword display area 103 displays a plurality of tabs. Tabs 103a-103d are displayed in the example shown in
When the user intends to change the range used to generate a chart for the data specified in the item 102, the user sets the item 105. The item 105 includes a table 105a for setting a filtering condition. In the filtering condition, the user can specify which range is used to generate a chart in each column of the data.
As the item 105, e.g. the table 105a shown in
For instance, in the item 105, a blank row is added to the table 105a by the “Add row” button 105b. Upon clicking the symbol 105c of the “Column name” cell, a list of selectable items is displayed. In selection, the specified value or range is selected. In response to this selection, one of the cells is grayed out so as to disable input of the specified value or input of the maximum and minimum. Upon checking the checkbox 105d to the right of the table 105a and clicking the “Delete row” button 105e, the row is deleted. The filtering condition is enabled by clicking the “Redisplay chart” button 105f. Upon clicking the button 105f, a chart based on the filtering condition can be redisplayed in the chart display area 104.
The display system 1 may be provided with only the processing device 10, or may be further provided with at least one of the input device 20, the display device 30, the database 40, and the storage device 50. The processing device 10 is connected to the input device 20 and the display device 30 through a wired or wireless connection. The processing device 10 may be connected to the database 40 and the storage device 50 through a wired or wireless connection, or through a network. In the example shown in
When a sentence indicating the analysis objective is inputted by the user, the reception part 11 receives the input (step S1). The extraction part 12 extracts a keyword from the sentence (step S2). The generation part 13 refers to prescribed data (step S3). The generation part 13 generates a chart related to the keyword from the data (step S4). The output part 14 displays the generated chart (step S5).
The effect of the embodiment is described.
In general, a chart is often created in analyzing data. For instance, the correlation of certain information with other information contained in the data can be analyzed by creating a chart. On the other hand, there are various kinds of charts such as a bar chart, line chart, area chart, pie chart, percentage bar chart, and scatter diagram. The data may contain a large amount of information. When creating a chart, an effective analysis based on the chart is difficult unless the information used is displayed by a suitable kind of chart. When a person with a small experience in analysis creates a chart, the person creates a chart unstable for analysis, or takes much time to create a suitable chart.
In the display system 1 according to the embodiment, when the user inputs a sentence indicating the analysis objective, the processing device 10 extracts a keyword from the sentence. Furthermore, the processing device 10 automatically generates a chart related to the keyword from prescribed data and displays the chart. The user does not need to create a chart in person. The user can easily obtain a chart adapted to the analysis objective. The embodiment can improve convenience of the display system 1.
In the display system 1, as shown in
Furthermore, when a plurality of keywords are extracted from the sentence of the input field 101, a tab is displayed for each keyword in the keyword display area 103. The user can display a chart based on one of the plurality of extracted keywords by selecting one of a plurality of tabs.
Furthermore, when a plurality of keywords are extracted from the sentence of the input field 101, a tab regarding a combination of keywords is displayed in the keyword display area 103. The user can display a chart based on a combination of keywords by selecting the tab. As shown in
The user can select the range of data used to generate a chart by setting the item 105. For instance, to analyze data within a specific time period, the range of the time period can be specified by setting the item 105. Thus, the user can create a chart suitable for the intended analysis objective more easily.
A specific operation of the display system 1 according to the embodiment is described.
Before the user uses the display system 1 to generate a chart, data registration and learning are performed in the display system 1. The operation of the display system 1 in data registration and learning is described below.
As shown in
Upon registration of data in the database 40, the aggregate part 15 accesses the database 40. The aggregate part 15 reads the registered data and aggregates the summary of columns contained in the data (step S12). Specifically, the aggregate part 15 classifies the input content contained in each column of the registered data into several types.
The storage device 50 stores the name of column attributes and the type of the column attributes in advance.
The data includes e.g. columns 1-5 as shown in
After classifying the type of each column contained in the data, the aggregate part 15 aggregates the classification result. The aggregate part 15 updates the column attribute table based on the aggregated result (step S13). The column attribute table indicates the likelihood that each column of the data has a particular column attribute.
For the date type and char type, when the type is matched, the point in the table is incremented by 1. For the int type and float type, when the type is matched and the numerical range of data is contained in the preset numerical range, the point in the table is incremented by 1. For the int type and float type, furthermore, the char type is also incremented by 0.1. This is because even when a column is classified as the int or float type, it may be used as a character string.
The output part 14 displays e.g. a screen 110 shown in
As shown in
The user inputs a sentence indicating the analysis objective in the input field 121 (step S21). Furthermore, the user sets the items 122-125 and causes the display system 1 to generate a chart (step S22). The generation part 13 generates a chart based on the information of the input field 121 and the items 122-125. The output part 14 displays the chart in the chart display area 126.
The item 122 is inputted with information specifying the data for use from among the read data. For instance, when the read data contains a plurality of sheets, a sheet used to generate a chart is specified in the item 122. The item 123 is inputted with the kind of a chart to be created. The items 124 and 125 are specified with the column used for the X-axis and the Y-axis, respectively, from among the columns included in the data specified in the item 122. In the items 122-125, for instance, upon clicking the left-side symbol, a list of selectable items is displayed as a drop-down list.
When the chart is displayed, the user inputs evaluation of the chart in the item 127 (step S23). The evaluation is determined by selecting the number of stars in the item 127. A larger number of stars correspond to a higher evaluation and indicate that the displayed chart is more suitable for the analysis objective. The user inputs the evaluation of the chart in the item 127 and clicks the box 127a to register the evaluation.
The screen 120 may further display an item 128. The item 128 includes a table 128a for setting a filtering condition. Upon clicking the “Add row” button 128b, a blank row is added to the bottom of the table 128a. Upon clicking the symbol 128c of the “Column name” cell, a list of selectable columns is displayed. In “Selection”, “Specified value” or “Range” is selected. In response to this selection, the specified value or the maximum/minimum is grayed out so as to disable input. Upon checking the right-side checkbox 128d and clicking the “Delete row” button 128e, the row is deleted. The filtering condition is enabled by clicking the “Redisplay chart” button 128f. Upon clicking the button 128f, a chart reflecting the filtering condition is redisplayed in the chart display area 126.
When the box 127a is clicked, the reception part 11 receives input of the sentence of the input field 121 (second sentence), the displayed chart (second chart), and the evaluation and collects information thereof (step S24). The extraction part 12 extracts a keyword (second keyword) from the sentence (step S25). The keyword is extracted using e.g. the named entity extraction technique.
The update part 16 updates the table stored in the storage device 50 based on the collected information and the keyword. For instance, the storage device 50 stores a main table, a column attribute table, an X-axis table, a Y-axis table, and a chart kind table. The update part 16 first incorporates the collected information and the keyword into the main table. The update part 16 stores the updated main table in the storage device 50.
As an example, as shown in
After updating the main table, the update part 16 further updates the column attribute table (step S26), the X-axis table (step S27), the Y-axis table (step S28), and the chart kind table (step S29).
As shown in
In the example shown in
When calculating the similarity, the update part 16 refers to a database related to synonyms. This database stores a word, a sememe possessed by the word, and other words (synonyms) possessing the sememe. This database may be stored in the storage device 50. When the synonyms of the keyword include the name of a column attribute, the keyword is likely to be similar to that column attribute.
For instance, when the extracted keyword is matched with the name of a column attribute, the update part 16 increments the corresponding point in the table by 2. When the keyword is not completely matched with the name but at least part of the keyword is matched with at least part of the name, the point in the table is incremented by 1. When the sememe or synonym of the keyword is matched with the sememe or synonym of the name, the point in the table is incremented by 1. When the sememe is not completely matched but at least part of the sememe of the keyword is matched with at least part of the sememe of the name, the point in the table is incremented by 0.5. Likewise, when the synonym is not completely matched but at least part of the synonym of the keyword is matched with at least part of the synonym of the name, the point in the table is incremented by 0.5. In any of the above cases, the point is not updated for locations where the data type is not matched (locations where the point is 0).
The update part 16 updates the column attribute table shown in
The X-axis table stores the probability that each column is used for the X-axis when a particular keyword is used. The probability is represented in e.g. points as shown in
In updating the X-axis table, the update part 16 may further add a point to another column that can have the same column attribute as the column used for the X-axis. This is described with reference to
A method for calculating the probability is described with reference to a specific example. The proportion of the point of each column attribute to the total point of the column attribute is calculated for each column. In the example of
When the update part 16 adds P1 to the point of column 1 for a keyword in updating the X-axis table, the update part 16 adds point P1′ expressed by the following equation 2 to the point of column 3 for that keyword.
P1′=P1×P(C1,C3) (Equation 2)
For instance, as in the example of
This processing can suppress that the point is unevenly added only to a particular combination of a keyword and a column. This can suppress biasing of the evaluation of charts due to e.g. user's preference and tendency.
Consequently, the update of the X-axis table by the update part 16 is completed. The update part 16 performs processing similar to the aforementioned processing for the X-axis table also on the Y-axis table.
Finally, the update part 16 updates the chart kind table. The update of the chart kind table is described with reference to
The update part 16 updates the chart kind table based on the information of the main table and the information of the column attribute table. Specifically, the point P2′ added to the chart kind table by the update part 16 is expressed by the following equation 3.
P2′=P2×P(bi|x)×P(bj|y) (Equation 3)
P2 is the evaluation (score) of the chart registered by the user in the screen shown in
The aforementioned equation is used to calculate a point for each combination of column attributes. For instance, the additional point for the combination of the X-axis column attribute “timestamp” and the Y-axis column attribute “equipment ID” is 1×0.7×0.2=0.14. As the result of calculation, the update part 16 adds the point to the chart kind table as shown in
Consequently, the column attribute table, the X-axis table, the Y-axis table, and the chart kind table are updated. Thus, learning in the display system 1 is completed.
When the user causes the display system 1 to display a chart, the generation part 13 refers to each table stored in the storage device 50. The generation part 13 calculates advisability based on the information of each table and the extracted keyword. The advisability is calculated for a combination of the column used for the X-axis, the column used for the Y-axis, the kind of chart, and the keyword.
The advisability is calculated by e.g. the following equation 4.
f(x,y,g|W)=P(x|W)×P(y|W)×P(x,Y)×P(g|x,y) (Equation 4)
f(x,y,g|W) represents advisability for a combination of the column used for the X-axis (x), the column used for the Y-axis (y), the kind of chart (g), and the keyword (W).
P(x|W) represents the probability that each column is used for the X-axis when a keyword (W) is extracted. P(x|W) is expressed by the following equation 5.
P(x|W)=Tx(x,W)/ΣiTx(i,W) (Equation 5)
Tx(x,W) represents the point of the X-axis column (x) set for a keyword (W) in the X-axis table (Tx). Σi represents summation of the points of the first to i-th columns set for a keyword (W).
Likewise, P(y|W) represents the probability that each column is used for the Y-axis when a keyword (W) is extracted. P(y|W) is expressed by the following equation 6.
P(x|W)=Tx(x,W)/ΣiTY(i,W) (Equation 6)
Tx(x,W) represents the point of the Y-axis column (y) set for a keyword (W) in the Y-axis table (Ty). Σi represents summation of the points of the first to i-th columns set for a keyword (W).
P(x,y) represents whether or not the column used for the X-axis (x) and the column used for the Y-axis (y) are included in the same table. When they are included in the same table, P(x,y) is 1. When they are included in different tables, the chart combining these columns cannot be drawn. Thus, P(x,y) is 0.
P(g|x,y) represents whether or not each kind of chart (g) is used for a combination of the column used for the X-axis (x) and the column used for the Y-axis (y). P(g|x,y) is expressed by the following equation 7.
P(g|x,y)=ΣΣi,jP(g|bi,bj)×P(bi|x)×P(bj|y) (Equation 7)
P(g|bi,bj) represents the point for the combination of the attribute of the column used for the X-axis (bi) and the attribute of the column used for the Y-axis (bj) set for the kind of chart (g) in the chart kind table. P(g|bi,bj) is expressed by the following equation 8.
P(g|bi,bj)=Tg(g,bi,bj)/Σi,jTg(gi,bi,bj) (Equation 8)
Tg(g,bi,bj) represents the point for the combination of the attribute of the column used for the X-axis (bi) and the attribute of the column used for the Y-axis (bj) set for a kind of chart (g) in the chart kind table. Σi,jTg(gi,bi,bj) represents the total point for all the kinds of chart (g) set for the combination of the column attribute used for the X-axis (bi) and the column attribute used for the Y-axis (bj).
P(bi|x) represents the point for the column used for the X-axis (x) set for a column attribute (bi) in the column attribute table. P(bj|y) represents the point for the column used for the Y-axis (y) set for a column attribute (bj) in the column attribute table.
Consequently, the advisability is calculated. An example of the calculation of advisability is described with reference to
Based on the X-axis table shown in
Based on the Y-axis table shown in
The column attribute table shown in
Based on the chart kind table shown in
Here, in the column attribute table (Tb), the point below 0 is regarded as 0 in this calculation.
The advisability is calculated as the product of the value calculated by equation 9, the value calculated by equation 10, and the value calculated by equation 11. By the foregoing calculation, the advisability is calculated as 0.0025.
The generation part 13 calculates advisability also for other combinations. The generation part 13 generates one or more charts based on the calculated advisability. For instance, the generation part 13 generates several charts in the descending order of advisability, and the output part 14 displays these charts. When the advisability is displayed on the screen as shown in
Reinforcement learning may be performed in the display system 1. For instance, as shown in
Upon clicking the button 106a, the update part 16 updates the main table based on the evaluation. For instance, as shown in
After the main table is updated, the update part 16 updates the column attribute table, the X-axis table, the Y-axis table, and the chart kind table similarly to the learning step and stores them in the storage device 50. This enables the display system 1 to display a chart more suitable for the analysis objective when the user uses it subsequently.
In extracting the keyword, the display system 1 may use an ontology (conceptual system). An ontology is a dictionary describing various relations between words such as synonym, hypernym/hyponym, antonym, causality, method, and subject/predicate of a sentence. Use of an ontology enables execution of semantic processing between components as opposed to simple comparison between strings representing the components. The ontology may be stored in the storage device 50, or may be stored in another storage device.
For instance, as shown in
Use of an ontology enables generation of a chart adapted to the intent of the sentence even when the sentence of the input field 101 uses a word of narrower concept (subordinate concept).
When the extraction part 12 changes the keyword by referring to the ontology, an annotation 107 is displayed on the screen 100 e.g. as shown in
A chart suitable for the user's analysis objective can be easily obtained by using the display system and the display method according to the embodiment described above. Likewise, a program for operating a computer as a display system can be used to cause the computer to generate a chart suitable for the user's analysis objective.
For instance, the display system according to the above embodiment includes the following configurations.
A display system comprising:
a processing device operable for:
in learning of the table, the processing device updating the table based on a second sentence inputted by the user, a second chart displayed based on the second sentence, and an evaluation of the second chart inputted by the user.
The display system according to configuration 1, wherein
the processing device can receive an evaluation of the first chart by the user in the first screen, and
upon receiving the evaluation of the first chart, the processing device updates the table based on the first sentence, the first chart, and the evaluation of the first chart.
The display system according to configuration 1 or 2, wherein the processing device extracts a second keyword from the second sentence and updates the table.
The display system according to configuration 3, wherein
the table includes a main table, and
the processing device incorporates the second keyword, a first column of the data used for an X-axis of the second chart, a second column of the data used for a Y-axis of the second chart, a kind of the second chart, and an evaluation of the second chart into the main table.
The display system according to configuration 3 or 4, wherein
the table includes a column attribute table related to a plurality of column attributes, and
the column attribute table indicates a probability that one of columns of the data is one of the plurality of column attributes.
The display system according to any one of configurations 3 to 5, wherein
the table includes an X-axis table, and
the X-axis table indicates a probability that each column of the data is used for an X-axis when the second keyword is used.
The display system according to any one of configurations 3 to 6, wherein
the table includes a Y-axis table, and
the Y-axis table indicates a probability that each column of the data is used for a Y-axis when the second keyword is used.
The display system according to any one of configurations 3 to 7, wherein
the table includes a chart kind table related to a plurality of chart kinds, and
the chart kind table indicates a probability that a combination of a column attribute of a column used for an X-axis and a column attribute of a column used for a Y-axis is one of the plurality of chart kinds.
The display system according to any one of configurations 1 to 8, wherein the processing device is operable for:
calculating each advisability of a plurality of charts based on the first keyword and the table; and
based on the calculated advisability, providing part of the plurality of charts as the first chart.
While certain embodiments have been described, these embodiments have been presented by way of example only, and are not intended to limit the scope of the inventions. Indeed, the novel embodiments described herein may be embodied in a variety of other forms; furthermore, various omissions, substitutions and changes in the form of the embodiments described herein may be made without departing from the spirit of the inventions. The accompanying claims and their equivalents are intended to cover such forms or modifications as would fall within the scope and spirit of the invention.
Number | Date | Country | Kind |
---|---|---|---|
2018-120158 | Jun 2018 | JP | national |