# US 2017/0286972 A1 · Article-suggestion system for automatically resolving customer-service requests

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2017/0286972 A1
- Document ID: US20170286972A1
- Status: Published application
- Kind: A1
- Application number: 15/607,318
- Filed: 2017-05-26
- Published: 2017-10-05
- Earliest claimed: 2016-03-31
- Assignees: Zendesk, Inc.
- Applicants: Zendesk, Inc.
- Inventors: Christopher J. Hausler; Michael G. Mortimer; Thomas Pelletier; Arwen Twinkle E. Griffioen; Soon-Ee Cheah; Anh Thien Dinh; Arvind Kunday Anantharaman; Bob Dharmendra Raman; Jason Edward Maynard; Wai Chee Yau; Sean D. Caffery; Jeffrey P. Theobald; Damen Turnbull
- Web page: https://patentgrep.com/patent/US20170286972A1

## CPC

- G06Q 30/016: After-sales
- G06F 16/3347: {using vector based model}
- G06N 3/044: Recurrent networks, e.g. Hopfield networks
- G06N 3/0442: characterised by memory or gating, e.g. long short-term memory [LSTM] or gated recurrent units [GRU]
- G06N 3/0499: Feedforward networks
- G06N 3/09: Supervised learning
- G06N 3/096: Transfer learning
- G06Q 30/0282: Rating or review of business operators or products
- G06Q 10/02: Reservations, e.g. for tickets, services or events
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS

## Abstract

The disclosed embodiments relate to a system that suggests helpful articles to resolve a customer request. During operation, the system receives the customer request, wherein the customer request is associated with a product or a service used by the customer. Next, the system feeds a set of words from the customer request through a model to generate a request vector comprising numerical values representing words in the customer request. The system then compares the request vector against article vectors representing articles in a set of help center articles to determine whether the customer request matches one or more help center articles. If the customer request matches one or more help center articles, the system presents the one or more help center articles to the customer to facilitate automatically resolving the customer request.

## Claims

### Claim 1

A method for automatically suggesting helpful articles to resolve a customer request, comprising:
receiving the customer request, wherein the customer request is associated with a product or a service used by the customer;
feeding words from the customer request through a model to generate a request vector comprising numerical values representing words in the customer request;
comparing the request vector against article vectors representing articles in a set of help center articles to determine whether the customer request matches one or more help center articles; and
if the customer request matches one or more help center articles, presenting the one or more help center articles to the customer to facilitate automatically resolving the customer request.

### Claim 2 (depends on 1)

The method of claim 1, wherein generating the request vector involves:
obtaining a set of words from the customer request;
generating a word vector for each word in the set of words, thereby producing a set of word vectors;
feeding the set of word vectors through a recurrent neural network to produce a preliminary request vector representing the customer request; and
feeding the preliminary request vector through a feed-forward neural network to produce the request vector.

### Claim 3 (depends on 2)

The method of claim 2, wherein obtaining the set of words from the customer request involves:
combining a subject field and a description field from the customer request into a blob of text;
feeding the blob of text through a regex processor to remove text that does not comprise words to produce a refined blob of text; and
selecting the set of words from the refined blob of text.

### Claim 4 (depends on 2)

The method of claim 2, wherein generating the word vector for each word in the set of words involves using the Word2vec technique to generate the word vector for each word.

### Claim 5 (depends on 2)

The method of claim 2, wherein the recurrent neural network comprises a long short-term memory (LSTM) network.

### Claim 6 (depends on 2)

The method of claim 2, wherein the feed-forward neural network modifies the preliminary request vector in a manner that moves request vectors and article vectors for responsive articles closer together.

### Claim 7 (depends on 1)

The method of claim 1, wherein comparing the request vector against the article vectors involves calculating cosine distances between the request vector and the article vectors.

### Claim 8 (depends on 1)

The method of claim 1, wherein prior to receiving the customer request, the method further comprises training the model used to generate the request vector and the article vectors, by:
initially training the model on a first set of customer requests and responsive textual responses from customer support agents that successfully resolved the first set of customer requests; and
refining the initially trained model based on a second set of customer requests and responsive articles that successfully resolved the second set of customer requests.

### Claim 9 (depends on 1)

The method of claim 1, wherein upon receiving notice of a change to an article in the set of help center articles, the method further comprises:
including the changed article in the set of help center articles; and
updating the model used to generate the request vector and the article vectors based on the changed article.

### Claim 10 (depends on 1)

The method of claim 1, wherein upon receiving notice of a new article to be included in the set of help center articles, the method further comprises:
including the new article in the set of help center articles; and
updating the model used to generate the request vector and the article vectors based on the new article.

### Claim 11 (depends on 1)

The method of claim 1, wherein the method further comprises:
receiving feedback from the customer regarding whether the one or more help center articles were helpful in resolving the customer request; and
using the feedback to update the model used to generate the request vector and the article vectors.

### Claim 12 (depends on 1)

The method of claim 1, wherein the customer request includes a question from the customer about the product or the service used by the customer.

### Claim 13 (depends on 1)

The method of claim 1, wherein the customer request comprises a ticket associated with a customer issue in a help center ticketing system.

### Claim 14 (depends on 1)

The method of claim 1, wherein the set of help center articles comprises client-specific articles associated with a client's account.

### Claim 15

A non-transitory computer-readable storage medium storing instructions that when executed by a computer cause the computer to perform a method for automatically suggesting helpful articles to resolve a customer request, comprising:
receiving the customer request, wherein the customer request is associated with a product or a service used by the customer;
feeding words from the customer request through a model to generate a request vector comprising numerical values representing words in the customer request;
comparing the request vector against article vectors representing articles in a set of help center articles to determine whether the customer request matches one or more help center articles; and
if the customer request matches one or more help center articles, presenting the one or more help center articles to the customer to facilitate automatically resolving the customer request.

### Claim 16 (depends on 15)

The non-transitory computer-readable storage medium of claim 15, wherein generating the request vector involves:
obtaining a set of words from the customer request;
generating a word vector for each word in the set of words, thereby producing a set of word vectors;
feeding the set of word vectors through a recurrent neural network to produce a preliminary request vector representing the customer request; and
feeding the preliminary request vector through a feed-forward neural network to produce the request vector.

### Claim 17 (depends on 16)

The non-transitory computer-readable storage medium of claim 16, wherein obtaining the set of words from the customer request involves:
combining a subject field and a description field from the customer request into a blob of text;
feeding the blob of text through a regex processor to remove text that does not comprise words to produce a refined blob of text; and
selecting the set of words from the refined blob of text.

### Claim 18 (depends on 16)

The non-transitory computer-readable storage medium of claim 16, wherein generating the word vector for each word in the set of words involves using the Word2vec technique to generate the word vector for each word.

### Claim 19 (depends on 16)

The non-transitory computer-readable storage medium of claim 16, wherein the recurrent neural network comprises a long short-term memory (LSTM) network.

### Claim 20 (depends on 16)

The non-transitory computer-readable storage medium of claim 16, wherein the feed-forward neural network modifies the preliminary request vector in a manner that moves request vectors and article vectors for responsive articles closer together.

### Claim 21 (depends on 15)

The non-transitory computer-readable storage medium of claim 15, wherein comparing the request vector against the article vectors involves calculating cosine distances between the request vector and the article vectors.

### Claim 22 (depends on 15)

The non-transitory computer-readable storage medium of claim 15, wherein prior to receiving the customer request, the method further comprises training the model used to generate the request vector and the article vectors, by:
initially training the model on a first set of customer requests and responsive textual responses from customer support agents that successfully resolved the first set of customer requests; and
refining the initially trained model based on a second set of customer requests and responsive articles that successfully resolved the second set of customer requests.

### Claim 23 (depends on 15)

The non-transitory computer-readable storage medium of claim 15, wherein upon receiving notice of a change to an article in the set of help center articles, the method further comprises:
including the changed article in the set of help center articles; and
updating the model used to generate the request vector and the article vectors based on the changed article.

### Claim 24 (depends on 15)

The non-transitory computer-readable storage medium of claim 15, wherein upon receiving notice of a new article to be included in the set of help center articles, the method further comprises:
including the new article in the set of help center articles;
updating the model used to generate the request vector and the article vectors based on the new article.

### Claim 25 (depends on 15)

The non-transitory computer-readable storage medium of claim 15, wherein the method further comprises:
receiving feedback from the customer regarding whether the one or more help center articles were helpful in resolving the customer request; and
using the feedback to update the model used to generate the request vector and the article vectors.

### Claim 26 (depends on 15)

The non-transitory computer-readable storage medium of claim 15, wherein the customer request includes a question from the customer about the product or the service used by the customer.

### Claim 27 (depends on 15)

The non-transitory computer-readable storage medium of claim 15, wherein the customer request comprises a ticket associated with a customer issue in a help center ticketing system.

### Claim 28 (depends on 15)

The non-transitory computer-readable storage medium of claim 15, wherein the set of help center articles comprises client-specific articles associated with a client's account.

### Claim 29

A system that suggests helpful articles to automatically resolve a customer request, comprising:
at least one processor and at least one associated memory; and
a request-processing mechanism that executes on the at least one processor, wherein during operation, the request-processing mechanism:
receives the customer request, wherein the customer request is associated with a product or a service used by the customer;
feeds words from the customer request through a model to generate a request vector comprising numerical values representing words in the customer request;
compares the request vector against article vectors representing articles in a set of help center articles to determine whether the customer request matches one or more help center articles; and
if the customer request matches one or more help center articles, presents the one or more help center articles to the customer to facilitate automatically resolving the customer request.
