Ontology-based data visualization
A data visualization method, system, and computer program product that includes identifying an intent from a natural language query in a conversation with a conversational system, utilizing verbiage from the natural language query and the intent to determine one or more data columns for visualization of results of the natural language query, and displaying a visualization of the determined one or more data columns.
1 . A computer-implemented method, comprising:
identifying an intent from terminology of a natural language query input by a user in a conversation within a chatbot interface of a conversational system;
receiving a natural language request from the user in the conversation within the conversational system for a data visualization;
utilizing verbiage from the natural language query, the identified intent, and entities identified from the natural language request to determine one or more data columns for the data visualization;
extracting, from the determined one or more data columns, one or more features indicative of a data-type of the determined one or more data columns;
annotating, based on an ontology, the extracted one or more features into a plot-label;
generating, based on the determined one or more data columns, multiple plots, wherein each plot of the generated multiple plots is of a different plot-type;
calculating, based on an amount of information associated with each plot of the generated multiple plots, a respective interestingness score for each plot of the generated multiple plots;
selecting a first plot of the generated multiple plots based on the respective interestingness score of the first plot being highest among interestingness scores of the generated multiple plots, and a plot-type of the first plot corresponding to the annotated plot-label; and
controlling display, in the conversation with the conversational system, of an ontology-based data visualization in a form of a graph that corresponds to the selected first plot, wherein the ontology-based data visualization leverages context of the conversation.
2 . The computer-implemented method of claim 1 , wherein the respective interestingness score of the first plot, that is highest, is less than a predefined threshold value.
3 . The computer-implemented method of claim 1 , further comprising:
requesting a feedback return for a quality of the ontology-based data visualization; and
learning from the feedback return with a trained supervised learning model by creating a threshold for an acceptable value for the highest interestingness score of the first plot based upon the trained supervised learning model trained at least in-part with user feedback.
4 . The computer-implemented method of claim 1 , further comprising:
requesting a feedback return for a quality of the ontology-based data visualization; and
learning from the feedback return by creating a threshold for an acceptable value for the highest interestingness score of the first plot and dynamically adjusting the ontology to change the annotated plot-label.
5 . The computer-implemented method of claim 1 , wherein the computer-implemented method is embodied in a cloud-computing environment.
6 . A computer program product comprising a computer-readable storage medium having program instructions embodied therewith, the program instructions executable by a computer to cause the computer to perform:
identifying an intent from terminology of a natural language query input by a user in a conversation within a chatbot interface of a conversational system;
receiving a natural language request from the user in the conversation within the conversational system for a data visualization;
utilizing verbiage from the natural language query, the identified intent, and entities identified from the natural language request to determine one or more data columns for the data visualization;
extracting, from the determined one or more data columns, one or more features indicative of a data-type of the determined one or more data columns;
annotating, based on an ontology, the extracted one or more features into a plot-label;
generating, based on the determined one or more data columns, multiple plots, wherein each plot of the generated multiple plots is of a different plot-type;
calculating, based on an amount of information associated with each plot of the generated multiple plots, a respective interestingness score for each plot of the generated multiple plots;
selecting a first plot of the generated multiple plots based on the respective interestingness score of the first plot being highest among interestingness scores of the generated multiple plots, and a plot-type of the first plot corresponding to the annotated plot-label; and
controlling display, in the conversation with the conversational system, of an ontology-based data visualization in a form of a graph that corresponds to the selected first plot, wherein the ontology-based data visualization leverages context of the conversation.
7 . The computer program product of claim 6 , wherein the respective interestingness score of the first plot, that is highest, is less than a predefined threshold value.
8 . The computer program product of claim 6 , wherein the program instructions further cause the computer to perform:
requesting a feedback return for a quality of the ontology-based data visualization; and
learning from the feedback return with a trained supervised learning model by creating a threshold for an acceptable value for the highest interestingness score of the first plot based upon the trained supervised learning model trained at least in-part with user feedback.
9 . The computer program product of claim 6 , wherein the program instructions further cause the computer to perform:
requesting a feedback return for a quality of the ontology-based data visualization; and
learning from the feedback return by creating a threshold for an acceptable value for the highest interestingness score of the first plot and dynamically adjusting the ontology to change the annotated plot-label.
10 . A system, comprising:
a processor; and
a memory, the memory storing instructions to cause the processor to:
identify an intent from terminology of a natural language query input by a user in a conversation within a chatbot interface of a conversational system;
receive a natural language request from the user in the conversation within the conversational system for a data visualization;
utilize verbiage from the natural language query, the identified intent, and entities identified from the natural language request to determine one or more data columns for the data visualization;
extract, from the determined one or more data columns, one or more features indicative of a data-type of the determined one or more data columns;
annotate, based on an ontology, the extracted one or more features into a plot-label;
generate, based on the determined one or more data columns, multiple plots, wherein each plot of the generated multiple plots is of a different plot-type;
calculate, based on an amount of information associated with each plot of the generated multiple plots, a respective interestingness score for each plot of the generated multiple plots;
select a first plot of the generated multiple plots based on the respective interestingness score of the first plot being highest among interestingness scores of the generated multiple plots, and a plot-type of the first plot corresponding to the annotated plot-label; and
control display, in the conversation with the conversational system, of an ontology-based data visualization in a form of a graph that corresponds to the selected first plot, wherein the ontology-based data visualization leverages context of the conversation.
11 . The system of claim 10 , wherein the respective interestingness score of the first plot, that is highest, is less than a predefined threshold value.
12 . The system of claim 10 , further cause the processor to:
request a feedback return for quality of the ontology-based data visualization; and
learn from the feedback return by creating a threshold for an acceptable value for the highest interestingness score of the first plot, and dynamically adjusting the ontology to change the annotated plot-label.
13 . The system of claim 10 , further cause the processor to:
request a feedback return with a trained supervised learning model for a quality of the ontology-based data visualization; and
learn from the feedback return by creating a threshold for an acceptable value for the highest interestingness score of the first plot based upon the trained supervised learning model trained at least in-part with user feedback.
14 . The system of claim 10 , wherein the system is embodied in a cloud-computing environment.