IP Library Granted Patent US 10,824,679
Granted Patent B2
US 10,824,679 · App. 16/791,209 · Granted Nov 3, 2020

Intelligent customer services based on a vector propagation on a click graph model

Inventors: Wangshu Zhang (Hangzhou, CN); Zhiwei Shi (Hangzhou, CN); Junhong Liu (Hangzhou, CN); Jie Cai (Hangzhou, CN); Xiang Hu (Hangzhou, CN); Defeng Mao (Hangzhou, CN)
Assignee: Alibaba Group Holding Limited
G06F16/90332G06F16/9035G06F16/90344G06Q30/016
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,824,679
App. No.
16/791,209
Granted
Nov 3, 2020
Kind
B2
Abstract

A query is received from a user at a data service engine. The query includes a string of characters. A number of candidate topics are identified by the data service engine based on the query. A similarity score is determined between the query and each of the plurality of candidate topics based on a Vector Propagation On a Click Graph (VPCG) model trained based on user click data. A number of candidate topics are ranked based on the similarity scores. One or more topics are selected from the ranked candidate topics. The selected topics are outputted via a user interface (UI).

Claims (305)

1. A computer-implemented method, comprising:

receiving, at a data service engine, a query from a user, wherein the query comprises a string of characters;

identifying, by the data service engine, a plurality of candidate topics based on the query;

identifying a plurality of queries from a plurality of users in user click data;

determining a similarity score between the query and each of the plurality of candidate topics based on a Vector Propagation On a Click Graph (VPCG) model trained based on the user click data, wherein the VPCG model comprises:

a vector representation of each of the plurality of candidate topics based on a first vector representation of each of the plurality of queries; and

a second vector representation of each of the plurality of queries based on the vector representation of each of the plurality of candidate topics; and

wherein the VPCG model is trained by:

iteratively calculating the vector representation of each of the plurality of candidate topics at a current iteration based on the first vector representation of each of the plurality of queries at a previous iteration; and

iteratively calculating the second vector representation of each of the plurality of queries at the current iteration based on the vector representation of each of the plurality of candidate topics at the current iteration; and

wherein the determining the similarity score between the query and each of the plurality of candidate topics based on the VPCG model trained based on the user click data comprises:

determining a vector representation of the query from the user in terms of a plurality of word elements in a vocabulary, wherein determining the vector representation of the query from the user in terms of the plurality of word elements in the vocabulary comprises representing the query from the user based on a set of ngrams trained based on the user click data;

determining a vector representation of each of the plurality of candidate topics in terms of the plurality of word elements in the vocabulary; and

calculating the similarity score between a vector representation of the query and the vector representation of each of the plurality of candidate topics; and

ranking the plurality of candidate topics based on the similarity scores;

selecting one or more topics from the ranked candidate topics; and

outputting the topics via a user interface (UI).

2. The computer-implemented method of claim 1 , further comprising:

before determining the similarity score between the query and each candidate topic based on the VPCG model trained based on the user click data, performing a first ranking to select a second one or more topics from the plurality of candidate topics;

in response to determining that each of the second one or more topics does not meet a specified criterion, performing a second ranking based on the VPCG model trained based on the user click data, wherein performing the second ranking comprises:

the determining the similarity score between the query and each candidate topic based on the VPCG model trained based on the user click data; and

the ranking the plurality of candidate topics based on the similarity scores.

3. The computer-implemented method of claim 1 , wherein the user click data comprise a plurality of user selections in response to the plurality of queries from the plurality of users, wherein each of the plurality of user selections comprises a respective user's selection of a relevant topic to the user's query among a plurality of candidate topics provided to the user based on the user's query.

4. The computer-implemented method of claim 1 , VPCG model is trained by:

identifying a plurality of user selections in response to the plurality of queries from the plurality of users in the user click data;

determining a vector representation of each of the plurality of queries in terms of a plurality of word elements in a vocabulary; and

determining a vector representation of each of the plurality of candidate topics in terms of the plurality of word elements in the vocabulary.

5. The computer-implemented method of claim 4 , wherein:

the determining a vector representation of each of the plurality of queries in terms of a plurality of word elements in a vocabulary comprises representing the each of the plurality of queries using the plurality of candidate topics; and

the determining a vector representation of each of the plurality of candidate topics in terms of the plurality of word elements in the vocabulary comprises representing the each of the plurality of candidate topics using the plurality of queries.

6. The computer-implemented method of claim 1 , wherein:

the vector representation of each of the plurality of candidate topics based on the first vector representation of each of the plurality of queries comprises a representation of each of the plurality of candidate topics by a weighted sum of the plurality of queries according to equation:

d

j

(

n

)

=

1

i

=

1

Q

C

i

,

j

·

q

i

(

n

-

1

)

2

i

=

1

Q

C

i

,

j

·

q

i

(

n

-

1

)

;

and

the second vector representation of each of the plurality of queries based on the vector representation of each of the plurality of candidate topics comprises a representation of each of the plurality of queries according to equation:

q

i

(

n

)

=

1

j

=

1

D

C

i

,

j

·

q

j

(

n

-

1

)

2

j

=

1

D

C

i

,

j

·

d

j

(

n

)

,

wherein:

d j (n) represents a vector representation of topic d j in the (n)th interation;

q i (n-1) represents a vector representation of query q i in the (n−1) th interation;

C i,j represents a total number of user clicks or selections of the topic d j for the query q i in the user click data;

Q represents a total number of user queries in the user click data, i.e., q i , i=1, 2, . . . , Q; and

D represents a total number of topics in the user click data, i.e., d i , j=1, 2, . . . , D.

7. The computer-implemented method of claim 1 , wherein the set of ngrams comprises a vector representation of each ngram in the set of ngrams in terms of the plurality of word elements in the vocabulary based on the vector representation of each of a plurality of queries in the user click data.

8. The computer-implemented method of claim 1 , wherein the representing the query from the user based on a set of ngrams trained based on the user click data comprises representing the query from the user as a weighted sum the set of ngrams based on a vector representation of each ngram in the set of ngrams, and a weight corresponding to the vector representation of each ngram.

9. The computer-implemented method of claim 1 , further comprising:

identifying the set of ngrams; and

calculating a vector representation of each ngram in the set of ngrams based on a vector representation of each of the plurality of queries at a last iteration.

10. A computer-implemented system comprising:

one or more computers; and

one or more computer memory devices interoperably coupled with the one or more computers and having tangible, non-transitory, machine-readable media storing instructions, that when executed by the one or more computers, perform operations comprising:

receiving, at a data service engine, a query from a user, wherein the query comprises a string of characters;

identifying, by the data service engine, a plurality of candidate topics based on the query;

identifying a plurality of queries from a plurality of users in user click data;

determining a similarity score between the query and each of the plurality of candidate topics based on a Vector Propagation On a Click Graph (VPCG) model trained based on the user click data, wherein the VPCG model comprises:

a vector representation of each of the plurality of candidate topics based on a first vector representation of each of the plurality of queries; and

a second vector representation of each of the plurality of queries based on the vector representation of each of the plurality of candidate topics; and

wherein the VPCG model is trained by:

iteratively calculating the vector representation of each of the plurality of candidate topics at a current iteration based on the first vector representation of each of the plurality of queries at a previous iteration; and

iteratively calculating the second vector representation of each of the plurality of queries at the current iteration based on the vector representation of each of the plurality of candidate topics at the current iteration; and

wherein the determining the similarity score between the query and each of the plurality of candidate topics based on the VPCG model trained based on the user click data comprises:

determining a vector representation of the query from the user in terms of a plurality of word elements in a vocabulary, wherein determining the vector representation of the query from the user in terms of the plurality of word elements in the vocabulary comprises representing the query from the user based on a set of ngrams trained based on the user click data;

determining a vector representation of each of the plurality of candidate topics in terms of the plurality of word elements in the vocabulary; and

calculating the similarity score between a vector representation of the query and the vector representation of each of the plurality of candidate topics; and

ranking the plurality of candidate topics based on the similarity scores;

selecting one or more topics from the ranked candidate topics; and

outputting the topics via a user interface (UI).

11. The computer-implemented system of claim 10 , the operations further comprising:

before determining the similarity score between the query and each candidate topic based on the VPCG model trained based on the user click data, performing a first ranking to select a second one or more topics from the plurality of candidate topics;

in response to determining that each of the second one or more topics does not meet a specified criterion, performing a second ranking based on the VPCG model trained based on the user click data, wherein performing the second ranking comprises:

the determining the similarity score between the query and each candidate topic based on the VPCG model trained based on the user click data; and

the ranking the plurality of candidate topics based on the similarity scores.

12. The computer-implemented system of claim 10 , wherein the user click data comprise a plurality of user selections in response to the plurality of queries from the plurality of users, wherein each of the plurality of user selections comprises a respective user's selection of a relevant topic to the user's query among a plurality of candidate topics provided to the user based on the user's query.

13. The computer-implemented system of claim 10 , wherein the VPCG model is trained by:

identifying a plurality of user selections in response to the plurality of queries from the plurality of users in the user click data;

determining a vector representation of each of the plurality of queries in terms of a plurality of word elements in a vocabulary; and

determining a vector representation of each of the plurality of candidate topics in terms of the plurality of word elements in the vocabulary.

14. The computer-implemented system of claim 13 , wherein:

the determining a vector representation of each of the plurality of queries in terms of a plurality of word elements in a vocabulary comprises representing the each of the plurality of queries using the plurality of candidate topics; and

the determining a vector representation of each of the plurality of candidate topics in terms of the plurality of word elements in the vocabulary comprises representing the each of the plurality of candidate topics using the plurality of queries.

15. The computer-implemented system of claim 10 , the operations further comprise:

identifying the set of ngrams; and

calculating a vector representation of each ngram in the set of ngrams based on a vector representation of each of the plurality of queries at a last iteration.

16. The computer-implemented system of claim 10 , wherein:

the vector representation of each of the plurality of candidate topics based on the first vector representation of each of the plurality of queries comprises a representation of each of the plurality of candidate topics by a weighted sum of the plurality of queries according to equation:

d

j

(

n

)

=

1

i

=

1

Q

C

i

,

j

·

q

i

(

n

-

1

)

2

i

=

1

Q

C

i

,

j

·

q

i

(

n

-

1

)

;

and

the second vector representation of each of the plurality of queries based on the vector representation of each of the plurality of candidate topics comprises a representation of each of the plurality of queries according to equation:

q

i

(

n

)

=

1

j

=

1

D

C

i

,

j

·

q

j

(

n

-

1

)

2

j

=

1

D

C

i

,

j

·

d

j

(

n

)

,

wherein:

d j (n) represents a vector representation of topic d i in the (n)th interation;

q i (n-1) represents a vector representation of query q i in the (n−1) th interation;

C i,j represents a total number of user clicks or selections of the topic d j for the query q i in the user click data;

Q represents a total number of user queries in the user click data, i.e., q i , i=1, 2, . . . , Q; and

D represents a total number of topics in the user click data, i.e., d j , j=1, 2, . . . , D.

17. A non-transitory, computer-readable medium storing one or more instructions executable by a computer-implemented system to perform operations comprising:

receiving, at a data service engine, a query from a user, wherein the query comprises a string of characters;

identifying, by the data service engine, a plurality of candidate topics based on the query;

identifying a plurality of queries from a plurality of users in user click data;

determining a similarity score between the query and each of the plurality of candidate topics based on a Vector Propagation On a Click Graph (VPCG) model trained based on the user click data, wherein the VPCG model comprises:

a vector representation of each of the plurality of candidate topics based on a first vector representation of each of the plurality of queries; and

a second vector representation of each of the plurality of queries based on the vector representation of each of the plurality of candidate topics; and

wherein the VPCG model is trained by:

iteratively calculating the vector representation of each of the plurality of candidate topics at a current iteration based on the first vector representation of each of the plurality of queries at a previous iteration; and

iteratively calculating the second vector representation of each of the plurality of queries at the current iteration based on the vector representation of each of the plurality of candidate topics at the current iteration; and

wherein the determining the similarity score between the query and each of the plurality of candidate topics based on the VPCG model trained based on the user click data comprises:

determining a vector representation of the query from the user in terms of a plurality of word elements in a vocabulary, wherein determining the vector representation of the query from the user in terms of the plurality of word elements in the vocabulary comprises representing the query from the user based on a set of ngrams trained based on the user click data;

determining a vector representation of each of the plurality of candidate topics in terms of the plurality of word elements in the vocabulary; and

calculating the similarity score between a vector representation of the query and the vector representation of each of the plurality of candidate topics; and

ranking the plurality of candidate topics based on the similarity scores;

selecting one or more topics from the ranked candidate topics; and

outputting the topics via a user interface (UI).

18. The non-transitory, computer-readable medium of claim 17 , the operations further comprising:

before determining the similarity score between the query and each candidate topic based on the VPCG model trained based on the user click data, performing a first ranking to select a second one or more topics from the plurality of candidate topics;

in response to determining that each of the second one or more topics does not meet a specified criterion, performing a second ranking based on the VPCG model trained based on the user click data, wherein performing the second ranking comprises:

the determining the similarity score between the query and each candidate topic based on the VPCG model trained based on the user click data; and

the ranking the plurality of candidate topics based on the similarity scores.

19. The non-transitory, computer-readable medium of claim 17 , wherein the user click data comprise a plurality of user selections in response to a plurality of queries from a plurality of users, wherein each of the plurality of user selections comprises a respective user's selection of a relevant topic to the user's query among a plurality of candidate topics provided to the user based on the user's query.

20. The non-transitory, computer-readable medium of claim 17 , wherein the VPCG model is trained by:

identifying a plurality of user selections in response to the plurality of queries from the plurality of users in the user click data;

determining a vector representation of each of the plurality of queries in terms of a plurality of word elements in a vocabulary; and

determining a vector representation of each of the plurality of candidate topics in terms of the plurality of word elements in the vocabulary.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 10, 2020
From: ADVANTAGEOUS NEW TECHNOLOGIES CO., LTD.
To: ADVANCED NEW TECHNOLOGIES CO., LTD.
Reel/Frame 053754/0625 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 31, 2020
From: ALIBABA GROUP HOLDING LIMITED
To: ADVANTAGEOUS NEW TECHNOLOGIES CO., LTD.
Reel/Frame 053743/0464 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 2, 2020
From: ZHANG, WANGSHU; SHI, ZHIWEI; LIU, JUNHONG; CAI, JIE; HU, XIANG; MAO, DEFENG
To: ALIBABA GROUP HOLDING LIMITED
Reel/Frame 051980/0704 →