# Deducing Energy Consumer Behavior from Smart Meter Data +
## 5 Experimental Validation
### Natural Language Processing and Report Generation  
In order to present the outcomes in a user-friendly manner, the stored disaggregated data of individual homes are translated into a natural language report to be presented to the beneficiaries.  
A Python tool has been built to generate an XML description that conforms to the format used by Eclipse Mode-to-Text Language (MTL). The tool uses RESTful interface to gather the data from the DBCS and generates _.uml_ files that can be visualized using Eclipse Plug-in UML editor tool called Papyrus [50]. The tool's results are shown in Figure 14. The figure shows a UML object diagram that depicts a result of a disaggregated home appliance.  
\begin{table}
\begin{tabular}{c c c c c c c c c c} \hline \hline  & & \multicolumn{8}{c}{**Time of Day**} \\ \cline{3-10}  & & **00–03** & **03–06** & **06–09** & **09–12** & **12–13** & **15–18** & **18–21** & **21–00** \\ \hline \multirow{2}{*}{Monday} & Inferred & 0.12 & 0.00 & 0.66 & 1.19 & 1.02 & 1.31 & 2.39 & 2.08 \\  & True & 0.13 & 0.28 & 0.98 & 0.87 & 0.68 & 1.28 & 2.49 & 1.72 \\ \hline \multirow{2}{*}{Tuesday} & Inferred & 0.13 & 0.28 & 0.98 & 0.87 & 0.68 & 1.28 & 2.49 & 1.72 \\  & True & 0.19 & 0.09 & 0.39 & 0.88 & 0.73 & 1.24 & 2.23 & 2.26 \\ \hline \multirow{2}{*}{Wednesday} & Inferred & 0.19 & 0.09 & 0.39 & 0.88 & 0.73 & 1.24 & 2.23 & 2.26 \\  & True & 0.09 & 0.30 & 0.58 & 0.79 & 0.77 & 1.42 & 2.72 & 2.11 \\ \hline \multirow{2}{*}{Thursday} & Inferred & 0.09 & 0.30 & 0.58 & 0.79 & 0.77 & 1.42 & 2.72 & 2.11 \\  & True & 0.12 & 0.09 & 0.31 & 0.96 & 1.12 & 1.69 & 2.86 & 2.30 \\ \hline \multirow{2}{*}{Friday} & Inferred & 0.12 & 0.09 & 0.31 & 0.96 & 1.12 & 1.69 & 2.86 & 2.30 \\  & True & 0.10 & 0.18 & 0.66 & 0.91 & 0.74 & 1.65 & 3.17 & 2.35 \\ \hline \multirow{2}{*}{Saturday} & Inferred & 0.10 & 0.18 & 0.66 & 0.91 & 0.74 & 1.65 & 3.17 & 2.35 \\  & True & 0.28 & 0.17 & 0.95 & 0.77 & 1.39 & 1.36 & 2.26 & 2.10 \\ \hline \multirow{2}{*}{Sunday} & Inferred & 0.28 & 0.17 & 0.95 & 0.77 & 1.39 & 1.36 & 2.26 & 2.10 \\  & True & 0.12 & 0.00 & 1.01 & 0.96 & 0.96 & 1.33 & 1.93 & 1.65 \\ \hline \hline \end{tabular}
\end{table}
Table 1: Average viewership in a 6 weeks period.  
The last step in the natural language synthesis process is to transform the UML object diagram (_.uml_) into a natural language. This step has been done by developing an Acceleo model-to-text generator to parse and convert the generated UML model into a natural language.The automatically generated natural language report from the parsed UML object diagram (Figure 14):  
\"[PERSON] (_User ID_: 123) _living in XYZ_ (_Home ID_: 2) _was watching TV from 18:00 to 20:45 on 1 May 2015\".  
For service providers, the data of a group of users in a certain zone was refined by using _norm filter_ and the outcome is depicted in the object diagram in Figure 15.  
The automatically generated natural language report from the parsed UML object diagram in Figure 15:  
\"CompanyA (_Service provider of Zone_: 4321) _ran algorithm named_: Norm Filter _on Smart Meters_:  
1, 2, 3, 4, 5 _and detects that the_ TV _was ON from 06:00 to 09:00 on Monday, 4 May 2015\".  
The auto-generated reports can be elaborated further based on the amount of information that is required to be presented. For instance, reports can be sent to third-party applications to deliver them to the beneficiaries (e.g., doctors or utility companies).