Generating explainable product comparisons for online shopping
An essential part of making a purchase decision when shopping is to compare and contrast products based on key differentiating features, but manually examining product features online or with voice assistants can be overwhelming. Automatically generating an informative, natural-sounding, and factually consistent comparative text across multiple product domains and attribute types is a challenging research problem. Prior methods offer only limited product comparison capabilities, e.g., based on a pre-defined set of common attributes which may not be relevant to a particular product or user, or which may not be easy to understand. We describe our approach, HCPC (Human Centered Product Comparison), to tackle two kinds of comparisons for online shopping: (i) product-specific, where we describe and compare products based on their key attributes; and (ii) attribute-specific comparisons, where we compare similar products on a specific attribute. To ensure that comparison text is faithful to the input product data, we introduce a novel multi-decoder, multi-task generative language model. One decoder generates product comparison text, and a second one generates supportive, explanatory text in the form of product attribute names and values. The second task imitates a copy mechanism, improving the comparison generator, and its output is be used to justify the factual accuracy of the generated comparison text, by training a factual consistency model to detect and correct errors in the generated comparative product text. To evaluate HCPC, we create and plan to share a new dataset of about 15K human generated sentences, which compare products based on one or more of their attributes (the first such data we know of for product comparison). We demonstrate on this data that HCPC significantly outperforms strong baselines, with significant performance gains of over 10% for comparative text generation using automatic evaluation metrics, and over 5% using human evaluation.