IP Library Granted Patent US 10,659,403
Granted Patent B2
US 10,659,403 · App. 15/919,987 · Granted May 19, 2020

Systems and methods for navigating nodes in channel based chatbots using natural language understanding

Inventors: Richard Smullen (New York, NY); Rahul S. Garg (Holden, MA); Minjun Kim (Stamford, CT); Matin Kamali (New York, NY); Jatin Patel (Sammamish, WA)
Assignee: Pypestream, Inc.
H04L51/046H04L51/02H04L51/04H04L63/18H04L67/02H04L67/306H04L67/322H04L69/14H04L12/185H04L67/42Y02D50/30
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,659,403
App. No.
15/919,987
Granted
May 19, 2020
Kind
B2
Abstract

The disclosed systems and methods join a user to a primary communication channel that is associated with an automated human interface module. The automated human interface module includes a plurality of nodes. A message including a text communication is posted by the user and sent to a decision module associated with a plurality of classifiers. The decision module is configured to identify a node that best matches the text communication in accordance with the plurality of classifiers. Each respective classifier produces a respective classifier result thereby producing a plurality of classifier results. Each respective classifier result identifies a respective node of the plurality of nodes best matching the text communication. The plurality of classifier results is collectively considered, and the node best matching the text communication is identified and the text communication is sent to the identified node.

Claims (65)

1. A method, comprising:

at a server system comprising one or more processors and memory:

A) joining a first user to a primary communication channel that is associated with an automated human interface module, the automated human interface module including a plurality of nodes, wherein the primary communication channel facilitates electronic communication between a corresponding enterprise data source and a remote user device associated with the first user;

B) receiving a first message that is posted by the first user, wherein the first message comprises a first text communication;

C) responsive to receiving the first message, sending the first text communication to a decision module associated with a plurality of classifiers, the decision module configured to identify a first node within the plurality of nodes, wherein the first node is a node that best matches with the first text communication in accordance with the plurality of classifiers;

D) processing, with each respective classifier of the plurality of classifiers, the first text communication thereby producing a respective classifier result for each respective classifier of the plurality of classifiers, and thereby producing a plurality of classifier results, wherein each respective classifier result of the plurality of classifier results identifies a respective node of the plurality of nodes that best matches with the first text communication in accordance with a corresponding classifier in the plurality of classifiers;

E) collectively considering, with the decision module, the plurality of classifier results thereby identifying the first node within the plurality of nodes; and

F) sending the first message comprising the first text communication to the first node of the plurality of nodes.

2. The method of claim 1 , wherein collectively considering the plurality of classifier results E) includes determining a majority vote among the plurality of classifier results.

3. The method of claim 1 , wherein collectively considering the plurality of classifier results E) includes determining a weighed vote among the plurality of classifier results.

4. The method of claim 1 , wherein the plurality of classifiers includes two or more classifiers.

5. The method of claim 4 , wherein the plurality of classifiers includes six classifiers.

6. The method of claim 1 , wherein each classifier in the plurality of classifiers is independently selected from the group consisting of: Naïve Bayes, decision tree, logistic regression, support vector machine, random forest, and artificial neural network.

7. The method of claim 1 , wherein a classifier in the plurality of classifiers is a support vector machine, a clustering algorithm, a neural network, a decision tree, a logistic regression, a linear regression module, or a k-nearest neighbor classifier.

8. The method of claim 1 , wherein processing the first text communication D) includes processing the first text communication to (a) identify one or more named entities in the first text communication and (b) identify one or more intents in the first text communication.

9. The method of claim 1 , wherein the processing the first text communication D) includes processing the first text communication for identifying a language of the first text communication in a plurality of languages.

10. The method of claim 1 , wherein processing the first text communication D) includes a first processing step that comprises:

processing the first text communication with each respective classifier of a first subset of the plurality of classifiers;

producing a respective first classifier result, with each respective classifier of the first subset of the plurality of classifiers, thereby producing a first subset of the plurality of first classifier results;

collectively considering, with the decision module, the first subset of the first classifier results; and

identifying, based on the collectively considering the first subset of the first classifier results, a first parameter associated with the first text communication.

11. The method of claim 10 , wherein processing the first text communication D) further includes a second processing step that comprises:

processing the first text communication with each respective classifier of a second subset of the plurality of classifiers in accordance with the first parameter associated with the first text communication; and

producing a respective second classifier result, with each respective classifier of the second subset of the plurality of classifiers, thereby producing a second subset of the plurality of second classifier results, and wherein

the collectively considering the plurality of classifier results E) comprises considering the second subset of the respective second classifier results thereby identifying the first node within the plurality of nodes.

12. The method of claim 1 , wherein the automated human interface module prepares a second message responsive to the first message, and the method further comprises:

G) receiving the second message that is posted by the automated human interface module, wherein the second message includes a second communication responsive to the first message; and

H) sending the second message to the first user.

13. The method of claim 12 , wherein the first message includes an application programming interface token identifying the first user, the second message includes the first application programming interface token identifying the first user, and the method further comprises:

H) using the application programming interface token to send the second message to the first user within the automated human interface module thereby facilitating a secure bidirectional conversation between the remote user device associated with the first user and the corresponding enterprise data source associated with the primary communication channel.

14. The method of claim 13 , further including presenting to the user, in addition to sending the second message, one or more labels associated with the second message.

15. A non-transitory computer readable storage medium, wherein the non-transitory computer readable storage medium stores instructions, which when executed by a computer system, cause the computer system to perform a method comprising:

A) joining a first user to a primary communication channel that is associated with an automated human interface module, the automated human interface module including a plurality of nodes, wherein the primary communication channel facilitates electronic communication between a corresponding enterprise data source and a remote user device associated with the first user;

B) receiving a first message that is posted by the first user, wherein the first message comprises a first text communication;

C) responsive to receiving the first message, sending the first text communication to a decision module associated with a plurality of classifiers, the decision module configured to identify a first node within the plurality of nodes, wherein the first node is a node that best matches with the first text communication in accordance with the plurality of classifiers;

D) processing, with each respective classifier of the plurality of classifiers, the first text communication thereby producing a respective classifier result for each respective classifier of the plurality of classifiers, and thereby producing a plurality of classifier results, wherein each respective classifier result of the plurality of classifier results identifies a respective node of the plurality of nodes that best matches with the first text communication in accordance with a corresponding classifier in the plurality of classifiers;

E) collectively considering, with the decision module, the plurality of classifier results thereby identifying the first node within the plurality of nodes; and

F) sending the first message comprising the first text communication to the first node of the plurality of nodes.

16. The non-transitory computer readable storage medium of claim 15 , wherein processing the first text communication D) includes a first processing step that comprises:

processing the first text communication with each respective classifier of a first subset of the plurality of classifiers;

producing a respective first classifier result, with each respective classifier of the subset of the plurality of classifiers, thereby producing a first subset of the plurality of first classifier results;

collectively considering, with the decision module, the first subset of the first classifier results; and

identifying, based on the collectively considering the first subset of the first classifier results, a first parameter associated with the first text communication.

17. The non-transitory computer readable storage medium of claim 16 , wherein processing the first text communication D) further includes a second processing step that comprises:

processing the first text communication with each respective classifier of a second subset of the plurality of classifiers in accordance with the first parameter associated with the first text communication; and

producing a respective second plurality of classifier results, with each respective classifier of the second subset of the plurality of classifiers, thereby producing a second subset of the plurality of second classifier results, and wherein

the collectively considering the plurality of classifier results E) comprises considering the second subset of the respective second classifier results thereby identifying the first node within the plurality of nodes.

18. A server system, comprising:

one or more processors;

memory; and

one or more programs, wherein the one or more programs are stored in the memory and are configured to be executed by the one or more processors, the one or more programs including instructions for:

A) receiving a first message that is posted by the first user, wherein the first message comprises a first text communication;

B) responsive to receiving the first message, sending the first text communication to a decision module associated with a plurality of classifiers, the decision module configured to identify a first node within the plurality of nodes, wherein the first node is a node that best matches with the first text communication in accordance with the plurality of classifiers;

C) processing, with each respective classifier of the plurality of classifiers, the first text communication thereby producing a respective classifier result for each respective classifier of the plurality of classifiers, and thereby producing a plurality of classifier results, wherein each respective classifier result of the plurality of classifier results identifies a respective node of the plurality of nodes that best matches with the first text communication in accordance with a corresponding classifier in the plurality of classifiers;

D) collectively considering, with the decision module, the plurality of classifier results thereby identifying the first node within the plurality of nodes; and

E) sending the first message comprising the first text communication to the first node of the plurality of nodes.

19. The server system of claim 18 , wherein processing the first text communication C) includes a first processing step that comprises:

processing the first text communication with each respective classifier of a first subset of the plurality of classifiers;

producing a respective first classifier result, with each respective classifier of the subset of the plurality of classifiers, thereby producing a first subset of the plurality of first classifier results;

collectively considering, with the decision module, the first subset of the first classifier results; and

identifying, based on the collectively considering the first subset of the first classifier results, a first parameter associated with the first text communication.

20. The server system of claim 19 , wherein processing the first text communication C) further includes a second processing step that comprises:

processing the first text communication with each respective classifier of a second subset of the plurality of classifiers in accordance with the first parameter associated with the first text communication; and

producing a respective second classifier result, with each respective classifier of the second subset of the plurality of classifiers, thereby producing a second subset of the plurality of second classifier results, and wherein

the collectively considering the plurality of classifier results D) comprises considering the second subset of the respective second classifier results thereby identifying the first node within the plurality of nodes.

Assignments (3)
RELEASE OF SECURITY INTEREST Recorded Mar 12, 2026
From: GREAT AMERICAN INSURANCE COMPANY
To: PYPESTREAM INC.
Reel/Frame 074059/0022 →
SECURITY INTEREST Recorded Aug 29, 2023
From: PYPESTREAM INC.
To: GREAT AMERICAN INSURANCE COMPANY
Reel/Frame 064737/0812 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 17, 2018
From: SMULLEN, RICHARD; GARG, RAHUL A.; KIM, MINJUN; KAMALI, MATIN; PATEL, JATIN
To: PYPESTREAM INC.
Reel/Frame 045561/0056 →
Continuity (9)
Continuation In Part 15452486 · Mar 7, 2017
Continuation In Part 15294368 · Oct 14, 2016
Continuation In Part 15269697 · Sep 19, 2016
Continuation 15081766 · Mar 25, 2016
Provisional Application 62407873 · Oct 13, 2016
Provisional Application 62265988 · Dec 11, 2015
Provisional Application 62264850 · Dec 8, 2015
Provisional Application 62137843 · Mar 25, 2015
Related Publication 20180212904A1 · Jul 26, 2018
Cited By (4)
US 12,265,571 US 12,284,148 US 12,307,268 US 12,423,519