10. An apparatus according to claim 7 , wherein the user-selected item is compared to a plurality of comparison items, the software program is further structured to cause the processing unit to: retrieve the specifications for the plurality of comparison items from one of the memory device and the storage medium; merge the specifications for the plurality of comparison items into specifications defining a composite virtual comparison item; compare the specifications for the user-selected item to the specifications for the composite virtual comparison item; and generate a plurality of natural language sentences describing the user-selected item, wherein the text of the natural language sentences is determined based on the outcome of the comparisons of the specifications of the user-selected item to the specifications of the composite virtual comparison item.
7. An apparatus structured to generate a natural language description of a user-selected item comparing the user-selected item to at least one comparison item, wherein the characteristics of both the user-selected item and the comparison item are defined by a plurality of specifications, the apparatus comprising: a processing unit; and a memory device operatively coupled to the processing unit, the memory device storing a software program structured to cause the processing unit to: retrieve the specifications for the user-selected item and the at least one comparison item from one of the memory device and a storage medium operatively coupled to the processing unit, each specification including a comparison function that compares the specification for the user-selected item to the specification for the comparison item and a plurality of sentence templates each having a recursive phrase structure including a plurality of coded phrases using one or more of the specification for the user-selected item or the specification for the comparison item, compare the specifications for the user-selected item to the specifications for the at least one comparison item by evaluating each comparison function to determine a comparison function result, assign a textual representation to each comparison function result; evaluate the plurality of sentence templates to generate a plurality of natural language sentences describing the user-selected item by recursively expanding the recursive phrase structure, wherein the natural language sentences include each assigned textual representation and a recursive expansion result explains the outcome of the comparisons in natural language, and combine the generated natural language sentences into a natural language document describing the user-selected item.