IP Library Granted Patent US 11,144,542
Granted Patent B2
US 11,144,542 · App. 16/177,869 · Granted Oct 12, 2021

Natural language processing system

Inventors: Abhishek Parasnath Yadav (Bangalore, IN); Rahul Singhal (Bangalore, IN); Alok Yadav (Singapore, SG); Rajesh Hanumakonda (Bangalore, IN)
Assignee: Visa International Service Association
G06F16/243G06F16/24578G06F16/9035G06F40/30G06Q10/1095
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 11,144,542
App. No.
16/177,869
Granted
Oct 12, 2021
Kind
B2
Abstract

Provided is a natural language processing system for determining a merchant based on a natural language query. The system may include a processor to receive a natural language query, convert at least one word of the natural language query to a vector using at least one neural network to form a set of vectors, determine a vector distance from the set of vectors to each profile in a set of profiles, rank the set of profiles based on the vector distance of each profile to the set of vectors, communicate merchant data associated with at least one merchant included in the set of profiles to the user device, receive a selection of a first merchant associated with the merchant data from the user device, and schedule an appointment with the first merchant for a user of the user device. A computer program product and method are also disclosed.

Claims (229)

1. A natural language processing (NLP) system for determining a merchant based on a natural language query, comprising:

at least one processor programmed or configured to:

receive a natural language query from a user device, the natural language query comprising at least one word;

convert the at least one word of the natural language query to a vector using at least one neural network to form a set of vectors;

determine a vector distance from the set of vectors to each profile in a set of profiles, each profile associated with a merchant;

rank each profile in the set of profiles based on the vector distance of each profile to the set of vectors;

communicate merchant data associated with at least one merchant included in the set of profiles to the user device, wherein the merchant data is communicated based on the rank of the set of profiles;

receive a selection of a first merchant associated with the merchant data from the user device; and

schedule an appointment with the first merchant for a user of the user device; and

wherein the at least one word of the natural language query is at least one first word, wherein the set of vectors is a first set of vectors, wherein each profile in the set of profiles comprises data associated with the merchant, the data associated with the merchant comprising at least one second word, wherein each profile is associated with a second set of vectors comprising at least one second vector associated with the at least one second word, and wherein, when determining the vector distance from the first set of vectors to each profile in the set of profiles, the at least one processor is programmed or configured to:

determine the vector distance from the first set of vectors to each profile in the set of profiles based on a Euclidean distance from at least one first vector of the first set of vectors to the at least one second vector of the second set of vectors.

2. The NLP system of claim 1 , wherein, when receiving the natural language query, the at least one processor is programmed or configured to:

receive the natural language query from a chat client on the user device.

3. The NLP system of claim 2 , wherein, when communicating the merchant data associated with each merchant included in the set of profiles, the at least one processor is programmed or configured to:

communicate a message to the chat client on the user device, the message comprising a list of each merchant associated with a subset of the set of profiles based on the ranking of each profile.

4. The NLP system of claim 1 , wherein the vector distance comprises

a minimum transformation cost to transform each vector of the first set of vectors to each vector of the second set of vectors according to the formula:

Min

T

0

i

=

1

n

j

=

1

n

T

ij

c

(

i

,

j

)

Subject

to

:

j

=

1

n

T

ij

=

W

1

i

.

where T ij is a transformation cost function of the Euclidean distance, c(i, j), between a vector i in the first set of vectors to a corresponding vector j in the second set of vectors, and where W 1i is the weight of vector i in the first set of vectors.

5. The NLP system of claim 1 , wherein, when ranking each profile in the set of profiles, the at least one processor is programmed or configured to:

rank the profiles in the set of profiles based on at least one of:

a distance of a location of a merchant associated with a profile from the user device;

an offer being provided by a merchant associated with a profile;

a review rating of a merchant associated with a profile;

a size of a merchant associated with a profile; or

any combination thereof.

6. The NLP system of claim 1 , further comprising:

determining a subset of the set of profiles based on the vector distance of each of the profiles to the set of vectors,

wherein, when communicating the merchant data associated with each merchant included in the set of profiles to the user device, the at least one processor is programmed or configured to:

communicate the merchant data associated with each merchant included in the subset of profiles to the user device.

7. A computer program product for determining a merchant based on a natural language query, the computer program product comprising at least one non-transitory computer-readable medium including one or more instructions that, when executed by at least one processor, cause the at least one processor to:

receive a natural language query from a user device, the natural language query comprising at least one word;

convert the at least one word of the natural language query to a vector using at least one neural network to form a set of vectors;

determine a vector distance from the set of vectors to each profile in a set of profiles, each profile associated with a merchant;

rank each profile in the set of profiles based on the vector distance of each profile to the set of vectors;

communicate merchant data associated with at least one merchant included in the set of profiles to the user device, wherein the merchant data is communicated based on the rank of the set of profiles;

receive a selection of a first merchant associated with the merchant data from the user device; and

schedule an appointment with the first merchant for a user of the user device; and

wherein the at least one word of the natural language query is at least one first word, wherein the set of vectors is a first set of vectors, wherein each profile in the set of profiles comprises data associated with the merchant, the data associated with the merchant comprising at least one second word, wherein each profile is associated with a second set of vectors comprising at least one second vector associated with the at least one second word, and wherein the one or more instructions that cause the at least one processor to determine the vector distance from the first set of vectors to each profile in the set of profiles, cause the at least one processor to:

determine the vector distance from the first set of vectors to each profile in the set of profiles based on a Euclidean distance from at least one first vector of the first set of vectors to the at least one second vector of the second set of vectors.

8. The computer program product of claim 7 , wherein the one or more instructions that cause the at least one processor to receive the natural language query, cause the at least one processor to:

receive the natural language query from a chat client on the user device.

9. The computer program product of claim 8 , wherein the one or more instructions that cause the at least one processor to communicate the merchant data associated with the merchant included in the set of profiles, cause the at least one processor to:

communicate a message to the chat client on the user device, the message comprising a list of each merchant associated with a subset of the set of profiles based on the ranking of each profile.

10. The computer program product of claim 7 , wherein the vector distance comprises a minimum transformation cost to transform each vector of the first set of vectors to each vector of the second set of vectors according to the formula:

Min

T

0

i

=

1

n

j

=

1

n

T

ij

c

(

i

,

j

)

Subject

to

:

j

=

1

n

T

ij

=

W

1

i

.

where T ij is a transformation cost function of the Euclidean distance, c(i, j), between a vector i in the first set of vectors to a corresponding vector j in the second set of vectors, and where W 1i is the weight of vector i in the first set of vectors.

11. The computer program product of claim 7 , wherein the one or more instructions that cause the at least one processor to rank each profile in the set of profiles, cause the at least one processor to:

rank the profiles in the set of profiles based on at least one of:

a distance of a location of a merchant associated with a profile from the user device;

an offer being provided by a merchant associated with a profile;

a review rating of a merchant associated with a profile;

a size of a merchant associated with a profile; or

any combination thereof.

12. The computer program product of claim 7 , further comprising:

determining a subset of the set of profiles based on the vector distance of each of the profiles to the set of vectors,

wherein, when communicating the merchant data associated with each merchant included in the set of profiles to the user device, the at least one processor is programmed or configured to:

communicate the merchant data associated with each merchant included in the subset of profiles to the user device.

13. A method for determining a merchant based on a natural language query, comprising:

receiving, with at least one processor, a natural language query from a user device, the natural language query comprising at least one word;

converting, with the at least one processor, the at least one word of the natural language query to a vector using at least one neural network to form a set of vectors;

determining, with the at least one processor, a vector distance from the set of vectors to each profile in a set of profiles, each profile associated with a merchant;

ranking, with the at least one processor, each profile in the set of profiles based on the vector distance of each profile to the set of vectors;

communicating, with the at least one processor, merchant data associated with each merchant included in the set of profiles to the user device, wherein the merchant data is communicated based on ranking each profile in the set of profiles;

receiving, with the at least one processor, a selection of a first merchant associated with the merchant data from the user device; and

scheduling, with the at least one processor, an appointment with the first merchant for a user of the user device; and

wherein the at least one word of the natural language query is at least one first word, wherein the set of vectors is a first set of vectors, wherein each profile in the set of profiles comprises a description of the merchant, the data associated with the merchant comprising at least one second word, wherein each profile is associated with a second set of vectors comprising at least one second vector associated with the at least one second word, and wherein determining the vector distance from the first set of vectors to each profile in the set of profiles comprises:

determining the vector distance from the first set of vectors to each profile in the set of profiles based on a Euclidean distance from at least one first vector of the first set of vectors to the at least one second vector of the second set of vectors.

14. The method of claim 13 , wherein the vector distance comprises a minimum transformation cost to transform each vector of the first set of vectors to each vector of the second set of vectors according to the formula:

Min

T

0

i

=

1

n

j

=

1

n

T

ij

c

(

i

,

j

)

Subject

to

:

j

=

1

n

T

ij

=

W

1

i

.

where T ij is a transformation cost function of the Euclidean distance, c(i, j), between a vector i in the first set of vectors to a corresponding vector j in the second set of vectors, and where W 1i is the weight of vector i in the first set of vectors.

15. The method of claim 13 , further comprising:

training the neural network based on a second set of profiles before converting the at least one word of the natural language query.

16. The method of claim 15 , wherein the neural network comprises a skip-gram model with an input layer, an output layer, and at least one hidden layer connecting the input layer to the output layer, and wherein training the neural network comprises:

iteratively providing a third word of the second set of profiles to the input layer; and

comparing outputs of the output layer to a plurality of words of the second set of profiles, wherein the plurality of words are adjacent the third word.

17. The method of claim 13 , further comprising:

initiating a payment transaction between the merchant and the user of the user device before scheduling the appointment;

receiving user data associated with the user from the user device, the user data comprising user identification data associated with an identification of the user and account identification data associated with an account identifier of a payment account of the user; and

storing a profile associated with the user of the user device based on the user data, wherein initiating the payment transaction comprises:

communicating the account identification data from the profile and merchant identification data associated with the merchant to a transaction service provider system to authorize the payment transaction; and

receiving an indication from the transaction service provider system that the payment transaction is authorized.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 8, 2019
From: SINGHAL, RAHUL; YADAV, ABHISHEK PARASNATH; YADAV, ALOK; HANUMAKONDA, RAJESH
To: VISA INTERNATIONAL SERVICE ASSOCIATION
Reel/Frame 048272/0857 →
Continuity (1)
Related Publication 20200142889A1 · May 7, 2020