Methods and apparatus for automatically providing personalized item reviews

This application relates to apparatus and methods for automatically determining and providing item reviews to users. In some examples, a computing device obtains review data identifying one or more reviews for each of a plurality of items. The computing device determines keywords for each of the items based on parsing the review data corresponding to each of items. The computing device may obtain data identifying engagement of items for a user during a browsing session, such as items a user has clicked on. The computing device may also obtain data identifying previous purchase transactions, or previous review postings, for the user. The computing device then determines, based on the obtained data, which keywords may be of interest the user. In some examples, the keywords are used to identify reviews of an item for the user. In some examples, summaries of the reviews are generated and displayed to the user.

TECHNICAL FIELD

The disclosure relates generally to digital item reviews and, more specifically, to automatically determining and providing digital item review summaries.

BACKGROUND

At least some websites, such as retailer websites, display item reviews. For example, a website may allow a customer to purchase items. The website may display reviews of an item for sale that were posted by previous users of the item. While the website may allow for the selection of a satisfactory score (e.g., 1 to 5 stars), in at least some examples, the website allows a user to input text, such as statements or opinions about the item, and post the text as a review. Each user may provide a review about the item based on their own experiences with the item, for example. While some reviews may indicate a positive experience with an item, other reviews may indicate a negative experience with the item. In some examples, the same review may indicate both a positive and negative experience with the item. Some items may have many reviews.

When a customer is interested in an item, the customer may wish to read through one or more reviews to see what opinions others have had about the item. For example, a customer may wish to read the reviews to determine whether they should purchase the item. The customer, however, may not have enough time to read, or may not have any interest in reading, all of the reviews. In addition, in some examples, the customer may wish to read reviews that describe a particular feature of, or experience with, the item without having to read many or all reviews. In some examples, although a customer may read through many reviews, the customer may find it difficult to analyze and evaluate all of the information provided. As such, there are opportunities to address the presentation of reviews to customers.

SUMMARY

The embodiments described herein are directed to automatically determining and providing digital item review summaries that may be displayed, for example, on a website. The embodiments may allow a customer to be presented with reviews that interest the customer. For example, the embodiments may allow the customer to view reviews that describe a particular feature of, or experience with, the item. In some examples, the embodiments may provide summarizations of reviews, such as reviews describing a particular feature of, or experience with, the item that a customer is interested in. As a result, the embodiments may allow a retailer to present more relevant reviews to each customer. The customer may then more quickly evaluate reviews for an item, which may encourage the customer to purchase the item. In addition, because a customer may now spend less time reviewing an item, the customer may have additional time to consider additional items for purchase. In addition to or instead of these example advantages, persons of ordinary skill in the art would recognize and appreciate other advantages as well.

In accordance with various embodiments, exemplary systems may be implemented in any suitable hardware or hardware and software, such as in any suitable computing device. For example, in some embodiments, a computing device is configured to obtain aspect data identifying a plurality of aspects for a user. The aspects may be keywords the user is associated with, for example. The computing device may also obtain a plurality of reviews for at least one item, such as online reviews posted by users on a website. The computing device may identify portions of the plurality of reviews, such as one or more sentences, based on the obtained aspect data. The computing device may cluster the identified portions of the plurality of reviews, and may generate cluster data identifying the clusters. The computing device may then generate review summary data identifying a review summary based on the generated cluster data. Each review summary may be a summary of a plurality of reviews, for example. In some examples, the computing device may generate the review summary data based on applying a pointer-generator network to the identified portions of the plurality of reviews. In some examples, the computing device receives a message from a second computing device, such as a web server, indicating the user is browsing the at least one item. In response, the computing device may transmit the review summary data to the second computing device.

In some embodiments, a method is provided that includes obtaining aspect data identifying a plurality of aspects for a user. The method also includes obtaining a plurality of reviews for at least one item, such as online reviews posted by users on a website. The method may include identifying portions of the plurality of reviews, such as one or more sentences, based on the obtained aspect data. The method may include clustering the identified portions of the plurality of reviews, and may also include generating cluster data identifying the clusters. The method may further include generating review summary data identifying a review summary based on the generated cluster data. In some examples, the method may include generating the review summary data based on applying a pointer-generator network to the identified portions of the plurality of reviews. In some examples, the method includes receiving a message from a second computing device, such as a web server, indicating the user is browsing the at least one item. The method may include transmitting the review summary data to the second computing device in response.

In yet other embodiments, a non-transitory computer readable medium has instructions stored thereon, where the instructions, when executed by at least one processor, cause a computing device to perform operations that include obtaining aspect data identifying a plurality of aspects for a user. The operations also include obtaining a plurality of reviews for at least one item, such as online reviews posted by users on a website. The operations may include identifying portions of the plurality of reviews, such as one or more sentences, based on the obtained aspect data. The operations may include clustering the identified portions of the plurality of reviews, and may also include generating cluster data identifying the clusters. The operations may further include generating review summary data identifying a review summary based on the generated cluster data. In some examples, the operations include generating the review summary data based on applying a pointer-generator network to the identified portions of the plurality of reviews. In some examples, the operations include receiving a message from a second computing device, such as a web server, indicating the user is browsing the at least one item. The operations may include transmitting the review summary data to the second computing device in response.

DETAILED DESCRIPTION

The description of the preferred embodiments is intended to be read in connection with the accompanying drawings, which are to be considered part of the entire written description of these disclosures. While the present disclosure is susceptible to various modifications and alternative forms, specific embodiments are shown by way of example in the drawings and will be described in detail herein. The objectives and advantages of the claimed subject matter will become more apparent from the following detailed description of these exemplary embodiments in connection with the accompanying drawings.

It should be understood, however, that the present disclosure is not intended to be limited to the particular forms disclosed. Rather, the present disclosure covers all modifications, equivalents, and alternatives that fall within the spirit and scope of these exemplary embodiments. The terms “couple,” “coupled,” “operatively coupled,” “operatively connected,” and the like should be broadly understood to refer to connecting devices or components together either mechanically, electrically, wired, wirelessly, or otherwise, such that the connection allows the pertinent devices or components to operate (e.g., communicate) with each other as intended by virtue of that relationship.

Turning to the drawings,FIG. 1illustrates a block diagram of a digital review customization system100that includes a review customization computing device102(e.g., a server, such as an application server), a server104(e.g., a web server), workstation(s)106, database116, and multiple customer computing devices110,112,114operatively coupled over network118. Review customization computing device102, workstation(s)106, server104, and multiple customer computing devices110,112,114can each be any suitable computing device that includes any hardware or hardware and software combination for processing and handling information. For example, each can include one or more processors, one or more field-programmable gate arrays (FPGAs), one or more application-specific integrated circuits (ASICs), one or more state machines, digital circuitry, or any other suitable circuitry. In addition, each can transmit data to, and receive data from, communication network118.

In some examples, review customization computing device102can be a computer, a workstation, a laptop, a server such as a cloud-based server, or any other suitable device. In some examples, each of multiple customer computing devices110,112,114can be a cellular phone, a smart phone, a tablet, a personal assistant device, a voice assistant device, a digital assistant, a laptop, a computer, or any other suitable device. In some examples, review customization computing device102is operated by a retailer, and multiple customer computing devices112,114are operated by customers of the retailer.

AlthoughFIG. 1illustrates three customer computing devices110,112,114, digital review customization system100can include any number of customer computing devices110,112,114. Similarly, digital review customization system100can include any number of workstation(s)106, review customization computing devices102, servers104, and databases116.

Workstation(s)106are operably coupled to communication network118via router (or switch)108. Workstation(s)106and/or router108may be located at a store109, for example. Workstation(s)106can communicate with review customization computing device102over communication network118. The workstation(s)106may send data to, and receive data from, review customization computing device102. For example, the workstation(s)106may transmit data related to an order purchased by a customer at store109to review customization computing device102. In response, review customization computing device102may transmit an indication of one or more item reviews to provide to the purchasing customer. For example, the item reviews may be displayed on a receipt handed to the customer for the purchase order.

In some examples, server104may be a web server and host one or more web pages, such as a retailer's website. Web server104may transmit data related to an order purchased on the website by a customer to review customization computing device102. In response, review customization computing device102may transmit an indication of one or more item reviews to display on the website to the purchasing customer. For example, the item reviews may be displayed on a webpage dedicated to an item when the customer is browsing that webpage.

First customer computing device110, second customer computing device112, and Nthcustomer computing device114may communicate with web server104over communication network118. For example, each of multiple computing devices110,112,114may be operable to view, access, and interact with webpages of a website hosted by web server104. In some examples, web server104hosts a website for a retailer that allows for the purchase of items. For example, the website may list prices for advertised items. An operator of one of multiple computing devices110,112,114may access the website hosted by web server104, add one or more items to an online shopping cart of the website, and perform an online checkout of the shopping cart to purchase the items.

Review customization computing device102is operable to communicate with database116over communication network118. For example, review customization computing device102can store data to, and read data from, database116. Database116can be a remote storage device, such as a cloud-based server, a memory device on another application server, a networked computer, or any other suitable remote storage. Although shown remote to review customization computing device102, in some examples, database116can be a local storage device, such as a hard drive, a non-volatile memory, or a USB stick.

Communication network118can be a WiFi® network, a cellular network such as a 3GPP® network, a Bluetooth® network, a satellite network, a wireless local area network (LAN), a network utilizing radio-frequency (RF) communication protocols, a Near Field Communication (NFC) network, a wireless Metropolitan Area Network (MAN) connecting multiple wireless LANs, a wide area network (WAN), or any other suitable network. Communication network118can provide access to, for example, the Internet.

Review customization computing device102may generate, for each customer, a ranking of aspects (e.g., keywords of interest in a review) that the customer may be interested in. The aspects may be used to determine which reviews, of a plurality of reviews, may be of interest to the customer. In some embodiments, the reviews are summarized and presented to the customer, thereby reducing the amount of review content a customer is presented with.

In some examples, to determine and represent item aspects, review customization computing device102may obtain review data identifying and characterizing reviews of an item, such as an item offered for purchase on a website hosted by web server104. Review customization computing device102may apply one or more natural language processing algorithms to portions of the review data to parse the review data to identify one or more discrete linguistic elements (e.g., a word, a combination of morphemes, a single morpheme, etc.). Review customization computing device102may generate contextual information that establishes the meaning or a context of one or more of the discrete linguistic elements. For example, review customization computing device102may employ one or more syntactic rules, such as by applying a dependency parser, or a part-of-speech tagger, to identify (e.g., tag) words or phrases of the reviews, such as nominal subjects and corresponding sibling adjectives, as well as nouns with corresponding adjective modifiers. Review customization computing device102may then generate aspects (e.g., words, phrases) identifying these portions of the review data. Similarly, review customization computing device102may generate aspects for reviews of all items offered for purchase on a website hosted by web server104, for example.

Review customization computing device102may then generate word embeddings for the generated aspects. For example, review customization computing device102may generate a word embedding for each word identified by an aspect. To generate the word embeddings, review customization computing device102may apply a model, such as a neural network model (e.g., Word2Vec, GloVe, ELMo), that is trained to reconstruct linguistic contexts of words.

Review customization computing device102may then cluster the word embeddings based on word meaning, e.g., such that words or phrases in a same cluster have similar meanings. For example, customization computing device102may employ one or more machine learning algorithms, such as a k-means algorithm (e.g., k-means clustering), a Gaussian Mixture Model, or a neural network to cluster the word embeddings based on similar meanings of the represented words. As a result, review customization computing device102may generate data identifying cluster representatives (e.g., words or phrases), where each cluster representative identifies a similar meaning of words for that cluster. For example, review customization computing device102may determine each cluster representative based on the number of times a word or phrase appears in the cluster (e.g., term frequency).

In some examples, review customization computing device102applies a weight to each cluster representative. The weights may be based on a term frequency, or based on inverse document frequency (tf-idf) scores (where reviews of a particular item can be considered a document), for each identified aspect, for example. In some examples, review customization computing device102generates, for each of a plurality of items (e.g., all items offered for purchase on a web site), weighted item aspects based on reviews corresponding to each of the plurality of items. In some examples, review customization computing device102may determine cluster representative weights based on the weighted aspects.

Review customization computing device102may also determine user interest inferences based on identifying aspects for a particular customer (e.g., user), where the aspects are determined based on activity for the particular customer. For example, customization computing device102may obtain user session data identifying a user's engagement with a website, such as a website hosted by web server104, during one or more browsing sessions of the website. For example, web server104may store in database116items a user clicks on (e.g., item images clicked on by the user), items a user has added to an online shopping cart, or advertisements viewed or clicked on by the user.

Review customization computing device102may obtain the user session data, and identify aspects based on one or more reviews of items corresponding to the user session data. For example, review customization computing device102may identify an item that was clicked on by the user, and obtain reviews for that item. As another example, review customization computing device102may identify an item for which a user viewed an advertisement for, and obtain reviews for that item. Review customization computing device102may then identify aspects of these reviews, as described above.

In some examples, the user session data identifies keywords which a user engaged (e.g., clicked on, viewed, etc.) to filter reviews displayed to the user. For example, a website may display keywords that, if engaged, limits the displayed reviews to reviews that include or are associated with that keyword. Review customization device102may identify these keywords as aspects.

In some examples, customization computing device102obtains user transaction data identifying prior purchases of that customer. The user may have purchased items either in-store, such as at store109, or online, such as on a website hosted by web server104. Review customization device102may identify the items purchased based on the user transaction data, and may obtain reviews for that item. Review customization device102may then identify aspects of these reviews, as described above.

Similarly, customization computing device102may obtain user review data, which identifies reviews that the user has written and/or read. For example, web server104may store in database116user review data for a user identifying a post that was posted by the user for an item on a website. Based on the user review data, customization computing device102may identify aspects for the reviews posted by the user, as described above.

In some examples, review customization computing device102identifies aspects based on one or more attributes of an item. For example, review customization computing device102may identify an item based on user session data, user transaction data, or user review data. Review customization computing device102may then obtain a product description from a digital catalog for the item, and identify aspects based on the product description (or any other attribute of the item).

Review customization computing device102may then generate word embeddings, and cluster the word embeddings, for any of these identified aspects, as described above. For example, customization computing device102may employ one or more neural network models to generate the word embeddings, and to cluster the generated word embeddings based on similar meanings of their corresponding words. Review customization computing device102may also apply weights to each of the cluster representatives. In some examples, for each of a plurality of users, customization computing device102generates weighted user cluster representatives based on one or more of each user's user session data, user transaction data, or user review data. Review customization computing device102may store each user's weighted cluster representatives in database116, for example.

Review customization computing device102may determine, for a particular user, recommended aspects, such as a personalized aspect ranking, based on item cluster representatives and user cluster representatives for that user. For example, review customization computing device102may determine aspect values based on a weight for each item cluster representative and a weight for each corresponding user cluster representative for a user (e.g., representatives of a same or similar cluster). The weights may be predefined and/or user configurable, for example. In some examples, review customization computing device102determines the aspect values by multiplying the corresponding weights. In some examples, review customization computing device102determines the aspect values based on the application of one or more machine learning algorithms, such as a neural network, to the weighted item cluster representatives and weighted user cluster representatives for the user. The machine learning algorithms may be trained, for example, on aspect engagement feedback. Review customization computing device102may determine the recommended aspects for the user based on the determined aspect values (e.g., items associated with higher aspect values may be ranked higher than items associated with lower aspect values).

Based on each user's personalized aspect ranking, customization computing device102may determine reviews to be displayed to that user when viewing an item. For example, web server104may transmit a message to review customization computing device102indicating that a particular user is viewing a particular item on a website. Based on a personalized aspect ranking for that user, review customization computing device102may determine a subset of all reviews for the item that should be displayed to that user. For example, reviews including aspects with higher probability scores may be displayed to the user before reviews with aspects with lower probability scores. In some examples, reviews including no ranked aspects may not be displayed, or displayed last. In some examples, web server104displays on a webpage keywords that allow the user to filter reviews for the item based on a selected keyword. For example, if a user selects a keyword, only reviews that include an aspect corresponding to the keyword with be displayed.

In some embodiments, review customization computing device102generates summaries of each review, such as of each review to be displayed to a particular user. For example, review customization computing device102may apply one or more natural language processing algorithms to the reviews to identify portions of each review, such as sentences, that include an aspect. For example, review customization computing device102may identify sentences in each review that include an aspect with a corresponding ranking above a minimum threshold. Review customization computing device102may then generate sentence embeddings for each identified sentence (or any portion of the review). To generate a sentence embedding, review customization computing device102may generate a word embedding for each word of the portion of the review. Review customization computing device102may then combine the word embeddings, such as by adding or averaging them, to generate a sentence embedding for that portion of the review. Sentence embeddings may also be generated using other methods such as doc2vec with the pre-trained word embeddings as input.

Review customization computing device102may cluster the sentence embeddings based on, for example, the application of a machine learning algorithm (e.g., unsupervised machine learning algorithm), such as a k-means algorithm or a Gaussian Mixture Model. For example, review customization computing device102may generate a sentence vector for each sentence, and use the generated vectors to find similar sentences. In some examples, review customization computing device102clusters the sentence embeddings based on the average of word vectors identifying values for word embeddings corresponding to each sentence. For example, sentences embeddings where average word vector values lie close to each other (e.g., within a predefined distance) in the embedding space are clustered together.

For each sentence cluster, review customization computing device102identifies (e.g., selects) a representative sentence for that sentence cluster. For example, review customization computing device102may identify a longest sentence of each sentence cluster. In some examples, review customization computing device102randomly selects a sentence for each sentence cluster. In some examples, review customization computing device102identifies the sentence closest to a mean sentence embedding value for all sentences in a given sentence cluster.

Review customization computing device102may then apply one or more text summarization models, such as a pointer-generator network, to the identified sentences to generate summaries. For example, review customization computing device102may generate personalized review summaries corresponding to a particular user based on application of a pointer-generator network to identified sentences based on the personalized aspects generated for an item for that particular user. In some examples, the review summaries are transmitted to web server104for display. In some examples, and in response to a selected keyword, review customization computing device102provides review summaries that include the selected keyword. For example, review customization computing device102may generate natural language review summaries for each aspect (e.g., keyword) that is clicked by the user on an item page of a web site hosted by web server104.

FIG. 2illustrates the review customization computing device102ofFIG. 1. Review customization computing device102can include one or more processors201, working memory202, one or more input/output devices203, instruction memory207, a transceiver204, one or more communication ports207, and a display206, all operatively coupled to one or more data buses208. Data buses208allow for communication among the various devices. Data buses208can include wired, or wireless, communication channels.

Processors201can be configured to perform a certain function or operation by executing code, stored on instruction memory207, embodying the function or operation. For example, processors201can be configured to perform one or more of any function, method, or operation disclosed herein.

Instruction memory207can store instructions that can be accessed (e.g., read) and executed by processors201. For example, instruction memory207can be a non-transitory, computer-readable storage medium such as a read-only memory (ROM), an electrically erasable programmable read-only memory (EEPROM), flash memory, a removable disk, CD-ROM, any non-volatile memory, or any other suitable memory.

Processors201can store data to, and read data from, working memory202. For example, processors201can store a working set of instructions to working memory202, such as instructions loaded from instruction memory207. Processors201can also use working memory202to store dynamic data created during the operation of review customization computing device102. Working memory202can be a random access memory (RAM) such as a static random access memory (SRAM) or dynamic random access memory (DRAM), or any other suitable memory.

Input-output devices203can include any suitable device that allows for data input or output. For example, input-output devices203can include one or more of a keyboard, a touchpad, a mouse, a stylus, a touchscreen, a physical button, a speaker, a microphone, or any other suitable input or output device.

Communication port(s)209can include, for example, a serial port such as a universal asynchronous receiver/transmitter (UART) connection, a Universal Serial Bus (USB) connection, or any other suitable communication port or connection. In some examples, communication port(s)209allows for the programming of executable instructions in instruction memory207. In some examples, communication port(s)209allow for the transfer (e.g., uploading or downloading) of data, such as machine learning algorithm training data.

Display206can display user interface205. User interfaces205can enable user interaction with review customization computing device102. For example, user interface205can be a user interface for an application of a retailer that allows a customer to view and interact with a retailer's webpage. In some examples, a user can interact with user interface205by engaging input-output devices203. In some examples, display206can be a touchscreen, where user interface205is displayed on the touchscreen.

Transceiver204allows for communication with a network, such as the communication network118ofFIG. 1. For example, if communication network118ofFIG. 1is a cellular network, transceiver204is configured to allow communications with the cellular network. In some examples, transceiver204is selected based on the type of communication network118review customization computing device102will be operating in. Processor(s)201is operable to receive data from, or send data to, a network, such as communication network118ofFIG. 1, via transceiver204.

FIG. 3is a block diagram illustrating examples of various portions of the digital review customization system100ofFIG. 1. As indicated in the figure, database116stores user session data320, user transaction data340, and user review data310. Review customization computing device102may receive user session data320from web server104and may identify, for each user, data related to a browsing session, such as when browsing a retailer's webpage hosted by web server104. In this example, user session data320may include a session ID322, item clicks324identifying items which the user clicked (e.g., images of items for purchase, keywords to filter reviews for an item), items added-to-cart326identifying items added to the user's online shopping cart, advertisements viewed328identifying advertisements the user viewed during the browsing session, advertisements clicked330identifying advertisements the user clicked on, search queries332identifying one or more searches conducted by the user during the browsing session, and user ID334ID (e.g., a customer ID, retailer website login ID, etc.).

Review customization computing device102may also receive in-store purchase data302identifying and characterizing one or more purchases from one or more stores109. Similarly, review customization computing device102may receive online purchase data304from web server104, which identifies and characterizes one or more online purchases, such as from a retailer's website. Review customization computing device102may parse in-store purchase data302and online purchase data304to generate user transaction data340. In this example, user transaction data340may include an order number342identifying a purchase order, item IDs343identifying one or more items purchased in the purchase order, item brands344identifying a brand for each item purchased, item prices346identifying the price of each item purchased, item category348identifying a category of each item purchased, a purchase date350identifying the purchase date of the purchase order, and user ID334for the user making the corresponding purchase.

Review customization computing device102may also receive user review data310from web server104. User review data310may identify, for each user, reviews the user has posted or engaged (e.g., viewed, clicked).

Based on one or more of user session data320, user transaction data340, and user review data310, review customization computing device102may identify (e.g., extract) one or more aspects of a review of a corresponding item. In some examples, review customization computing device102may identify one or more aspects of a corresponding attribute, such as a product description, of the item.

Review customization computing device102may then generate word embeddings, and cluster the word embeddings, for any of these identified aspects. For example, customization computing device102may employ one or more neural network models to generate the word embeddings, and to cluster the generated word embeddings based on similar meanings of their corresponding words. Review customization computing device102may generate user cluster data390identifying and characterizing the clustered word embeddings, and may store user cluster data390, for each user, in database116. In some examples, review customization computing device102applies weights to each of the cluster representatives to generate weighted user cluster representatives.

Review customization computing device102may also generate item cluster data380identifying and characterizing clustered word embeddings of reviews for a plurality of items. For example, review customization computing device102may apply a dependency parser, or a part-of-speech tagger, to identify (e.g., tag) words or phrases of the reviews. Review customization device102may then generate aspects identifying portions of the reviews (e.g., words). Review customization computing device102may then generate word embeddings for the generated aspects by applying to the identified portions of the reviews a neural network model that is trained to reconstruct linguistic contexts of words, for example. Review customization computing device102may then cluster the word embeddings based on word meaning to generate item cluster data380.

Based on item cluster data380and user cluster data390, review customization computing device102may determine, for a particular user, recommended aspect data360, which may identify a user ID334, and recommended aspects364(which may be a personalized aspect ranking). For example, review customization computing device102may determine aspect values based on weights associated with the word embeddings identified by item cluster data380and user cluster data390.

FIGS. 4A and 4Billustrate examples of various portions of the review customization computing device102ofFIG. 1. As indicated inFIG. 4A, review customization computing device102includes review aspect extraction engine402, user interest aspect determination engine404, and personalized aspect ranking determination engine406. As illustrated inFIG. 4B, review customization computing device102also includes recommended review determination and extraction engine450, extractive summarization determination engine452, and abstractive summarization determination engine459. In some examples, one or more of review aspect extraction engine402, user interest aspect determination engine404, personalized aspect ranking determination engine406, recommended review determination and extraction engine450, extractive summarization determination engine452, and abstractive summarization determination engine459may be implemented in hardware. In some examples, one or more of review aspect extraction engine402, user interest aspect determination engine404, personalized aspect ranking determination engine406, recommended review determination and extraction engine450, extractive summarization determination engine452, and abstractive summarization determination engine459may be implemented as an executable program maintained in a tangible, non-transitory memory, such as instruction memory207ofFIG. 2, that may be executed by one or processors, such as processor201ofFIG. 2.

Referring toFIG. 4A, review aspect extraction engine402includes a dependency parsing module408, a word embedding determination module410, a clustering module412, and a weighting module414. Dependency parsing module408receives item review data405, which identifies item reviews of a plurality of items, and identifies (e.g., parses and tags) portions of the item reviews as aspects. Dependency parsing module408may include, for example, a dependency parser, or a part-of-speech tagger, to identify (e.g., tag) the words or phrases of the reviews. Dependency parsing module408generates review aspects424identifying and characterizing the identified aspects.

Word embedding determination module410generates word embeddings426based on the review aspects424received from dependency parsing module408. For example, word embedding determination module410may include a neural network model that is trained to reconstruct linguistic contexts of words. Word embedding determination module410provides the word embeddings426to clustering module412, which clusters the word embeddings426based on the meaning of their corresponding words. For example, clustering module412may employ a machine learning method such as a neural network that clusters word embeddings426with similar meanings together. Clustering module412generates clustered word embeddings428identifying word embeddings of various clusters, and provides clustered word embeddings428to weighting module414. In some examples, weighting module414applies a weight to one or more of the word embeddings, for each cluster, identified by clustered word embeddings428. Weighting module414provides item cluster data430, identifying and characterizing the clusters, to personalized aspect ranking determination engine406.

User interest aspect determination engine404includes item attribute determination module416and item review determination module418, each of which receives user session data320, user transmission data340, and user review data310. Item attribute determination module416determines one or more items corresponding user session data320, user transmission data340, and user review data310, and identifies one or more attributes for each determined item. For example, item attribute determination module416may determine a product description for each item which, in some examples, is stored in database116as part of a digital catalog identifying attributes of a plurality of items. Item attribute determination module416generates item attribute data432identifying and characterizing the determined attributes, and provides item attribute data432to dependency parsing module438.

Item review determination module418determines one or more items corresponding user session data320, user transmission data340, and user review data310, and identifies one or more reviews of those items. For example, item review determination module418may obtain from database116, for each identified item, one or more reviews posted by one or more users. Item review determination module418generates user item review data434identifying and characterizing the reviews for the identified items, and provides user item review data434to dependency parsing module438.

Dependency parsing module438receives item attribute data432and user item review data434, and identifies (e.g., parses and tags) portions of the corresponding item attributes and item reviews, respectively, as aspects. Dependency parsing module438may include functionality similar to that of dependency parsing module408, for example. Dependency parsing module438generates review aspects446and provides review aspects446to word embedding determination module440.

Word embedding determination module440generates word embeddings448based on review aspects446, and provides the word embeddings448to clustering module442. Clustering module442clusters word embeddings448based on the meaning of their corresponding words, and generates clustered word embeddings450identifying word embeddings for the various clusters. Clustering module442may include functionality similar to that of clustering module412, for example. In some examples, clustering module442provides the clustered word embeddings450to weighting module444. Weighting module444may apply a weight to one or more of the word embeddings, for each cluster, identified by clustered word embeddings448. Weighting module444provides user cluster data438, identifying and characterizing the clusters, to personalized aspect ranking determination engine406.

Personalized aspect ranking determination engine406generates recommended aspects454based on item cluster data430and user cluster data438. For example, personalized aspect ranking determination engine406may determine recommended aspects454based on weighted word embeddings identified by item cluster data430, and weighted word embeddings identified by user cluster data438. In some examples, recommended aspects454identify a ranking of recommended aspects. Review customization computing device102may provide recommended aspects454to web server104, for example, which may use recommended aspects454to determine what reviews to display when a user is viewing an item.

In some embodiments, and referring toFIG. 4B, personalized aspect ranking determination engine406may provide recommended aspects454to recommended review determination and extraction engine450. Based on recommended aspects454, recommended review determination and extraction engine450may determine one or more reviews for an item. For example, recommended review determination and extraction engine450may obtain item review data405for an item, such as an item being viewed by a user on a website hosted by web server104. Recommended review determination and extraction engine450may generate recommended reviews456identifying and characterizing reviews that include aspects identified by recommended aspects454, and provide recommended reviews456to extractive summarization determination engine452.

Extractive summarization determination engine452includes review parser module460, clustering module462, and clustered sentence embeddings parser module464. Review parser module460may identify portions (e.g., sentences) of recommended reviews456that include recommended aspects454, and generates sentence embeddings461that identify and characterize those portions. Clustering module462receives the sentence embeddings461, and clusters them based on the application of a machine learning algorithm, such as a k-means algorithm. Clustering module462generates clustered sentence embeddings463identifying and characterizing the clusters, and provides clustered sentence embeddings463to clustered sentence embeddings parser module464.

Clustered sentence embeddings parser module464obtains clustered sentence embeddings463and, for each cluster, identifies (e.g., selects) a representative sentence embedding for each sentence cluster. For example, clustered sentence embeddings parser module464may identify the sentence embedding associated with a longest sentence of each sentence embedding cluster. Clustered sentence embeddings parser module464generates selected sentence embeddings458identifying and characterizing each representative sentence embedding for each sentence cluster, and provides selected sentence embeddings458to abstractive summarization determination engine459.

Abstractive summarization determination engine459generates review summaries470based on the application of a pointer-generator network to selected sentence embeddings458. For example, review customization computing device102may apply a pointer-generator network to the representative sentence embeddings identified from each cluster identified by selected sentence embeddings458to generate review summary470. Review summaries470may be provided to web server104for display. Web server104may display review summaries470when a corresponding user is viewing a webpage that displays the corresponding item (e.g., the item for which the review summaries470pertain).

FIG. 5illustrates an example retailer's webpage502hosted by, for example, web server104. Retailer's webpage502displays an item510that includes image512, which may be an image of the item, price514, which may display a price for the purchase of the item, and add to cart icon516that allows a user to add the item to an online shopping cart associated with retailer webpage502. Retailer webpage502also displays reviews530. In this example, there are three reviews displayed including first review532, second review534, and third review536. Each of first review532, second review534, and third review536may be based on an abstractive summary of reviews relevant to a particular user.

For example, review customization computing device102may obtain reviews from a plurality of users for item510. Review customization computing device102may extract aspects (e.g., keywords) from the reviews. Review customization computing device102may then determine which aspects the particular user is interested in, and obtain reviews for item510that include those aspects. Review customization computing device102may then extract portions of the reviews that include the aspects, and generate an abstractive summary of those reviews. Review customization computing device102may transmit the abstractive summaries of the reviews to web server104, which may display the abstractive summaries as first review532, second review534, and third review536.

Retailer webpage502also includes review keywords520, each of which may include one or more words. Each of first keyword522, second keyword524, and third keyword526are icons that may be engaged (e.g., clicked on) by a user. When a user engages a keyword, reviews530are updated to reflect reviews consistent with the engaged keyword. For example, if a user engages first keyword522, web server104updates (e.g., refreshes) reviews530to include a first review532, a second review534, and a third review536that include or are associated with first keyword522. Similarly, if a user engages either second keyword524or third keyword526, web server104updates reviews530accordingly.

FIG. 6is a flowchart of an example method600that can be carried out by the digital review customization system100ofFIG. 1. Beginning at step602, a computing device, such as review customization computing device102, receives review data for an item. The review data may identify and characterize natural language text, for example. At step604, a plurality of keywords are determined based on syntactic rules that are applied to the review data. Proceeding to step606, a word embedding for each of the plurality of keywords are generated. At step608, the word embeddings are clustered based on the meaning of corresponding words. For example, word embeddings representing words with similar meanings are clustered together.

At step610, a plurality of items engaged by a user is determined. For example, web server104may transmit a message to review customization computing device102identifying a plurality of items that the user has viewed or clicked on. Proceeding to step612, a plurality of aspects for the engaged plurality of items is determined. The aspects may be based on attributes of the items, such as a product description, as well as on reviews of the items. At step614, an aspect embedding is generated for each of the plurality of aspects. At step616, a listing of recommended keywords is generated based on the clustered word embeddings and the aspect embeddings. For example, review customization computing device102may apply a weight to each of the word embeddings and aspect embeddings based on predefined weighting values, and determine a ranked list of recommended keywords based on the weights associated with the clustered word embeddings and corresponding weights associated with the aspect embeddings.

At step618, a determination is made as to whether the user is viewing the item. For example, web server104may transmit a message to review customization computing device102indicating that the user is currently viewing the item. If the user is not currently viewing the item, the method remains at step618. Otherwise, if the user is viewing the item, the method proceeds to step620, where the recommended keywords are displayed. For example, the keywords may be displayed as review keywords520including first keyword522, second keyword524, and third keyword526. The method then proceeds to step622.

At step622, a determination is made as to whether a user has clicked on a keyword. If the user has not clicked on a keyword, the method proceeds back to step618, to determine if the user is still viewing the item. Otherwise, if the user did click a keyword, the method proceeds to step624, where reviews for the item are displayed. The displayed reviews are based on the selected keyword. For example, the displayed reviews may include, or otherwise be associated with, the selected keyword. The method then ends.

FIG. 7is a flowchart of an example method700that can be carried out by the digital review customization system100ofFIG. 1. At step702, a computing device, such as review customization computing device102, obtains a listing of recommended keywords for a user. For example, the listing of recommended keywords may be generated as discussed above for method600. At step704, a plurality of reviews for an item are determined based on the recommended keywords. For example, the reviews may include, or otherwise be associated with, the recommended keywords. Proceeding to step706, portions of the plurality of reviews are identified based on the recommended keywords. For example, review customization computing device102may identify sentences that include the keywords, and generate sentence embeddings for those sentences. At step708, the identified portions of the plurality of reviews are clustered based on similar keywords. For example, the portions of the plurality of reviews may be clustered based on an average of word vectors identifying values for word embeddings corresponding to each sentence embedding.

Proceeding to step710, a portion of each cluster is identified based on at least one rule. For example, review customization computing device102may identify a longest sentence of each cluster. At step712, a review summary is generated for each cluster. Each review summary may be generated based on the application of a pointer-generator network algorithm to identified portions of each cluster. The review summaries may then be displayed at step714. For example, web server104may display the review summaries under reviews530as first review532, second review534, and third review536. In some examples, review customization computing device102applies a pointer-generator network to the representative sentence embeddings from each cluster to generate a summary. The method then ends.