A self-learning natural-language generation (NLG) system receives raw data from Internet-of-Things sensors or other data sources and a set of natural-language reports previously generated from the raw data by a legacy report-generation mechanism. The system divides the reports into two groups that are distinguished by differences in temporal characteristics of the reports or of the raw data from which each report is generated. The system performs a diachronic linguistic analysis that correlates values of the temporal characteristics with differences between linguistic features of each report group's natural-language text. The system creates translation rules that instruct the NLG system how to reproduce these differences and uses the rules to translate the raw data into its own natural-language reports. The system then compares the new and legacy reports and, if the new reports do not accurately reproduce the linguistic differences, analyzes more reports to improve its ability to accurately generate natural-language text.
展开▼