IP Library Patent Application 15877016
Patent Application
App. No. 15/877,016

DETERMINING IF AN ACTION CAN BE PERFORMED BASED ON A DIALOGUE

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 None
App. No.
15/877,016
Abstract

A method comprises: receiving input of a dialogue; processing the dialogue by a neural network based system, to output, for each of a plurality of slots, a probability distribution over a range of values associated with the respective slot, the neural network based system being trained using a training dataset comprising a plurality of dialogues and, for each dialogue, a value corresponding to each slot, wherein each dialogue resulted in an action; determining, based at least on the probability distribution for each slot, if an action requiring one of values for at least some of the slots can be performed; if not, causing continuing of the dialogue.

Claims (55)

1 . A method comprising:

receiving input of a dialogue;

processing the dialogue by a neural network based system, to output, for each of a plurality of slots, a probability distribution over a range of values associated with the respective slot, the neural network based system being trained using a training dataset comprising a plurality of dialogues and, for each dialogue, a value corresponding to each slot, wherein each dialogue resulted in an action;

determining, based at least on the probability distribution for each slot, if an action requiring a value for at least some of the slots can be performed;

if not, causing continuing of the dialogue.

2 . The method of claim 1 , wherein the determining if the action can be performed comprises:

determining, for each slot, if one of the values can be selected based at least on the probability distribution and at least one selection criterion;

determining if the action can be performed at least based also on a result of the determining if one of the values can be selected for each slot.

3 . The method of claim 2 , further comprising:

for each of the slots for which a value can be selected, selecting the value for the slot; and

if the required values are selected, causing the action to be performed using the selected values.

4 . The method of claim 3 , wherein, for each slot, if a result of the determining is that no value can be selected for a slot, associating an indication that no value can be selected with the slot.

5 . The method of claim 3 , wherein the selecting the values for the slots comprises selecting the mode value of the probability distribution for the respective slot.

6 . The method of claim 5 , wherein the at least one selection criterion comprises determining if the probability distribution indicates that a probability score for the mode value meets a requirement for the extent to which the probability score for the mode value is greater than the probability score for other of the values.

7 . The method of claim 2 , wherein the at least one selection criterion comprises:

determining, for each slot, a prior distribution of the values for that slot in the training dataset;

determining, for each slot, a divergence value indicative of divergence of the probability distribution from the prior distribution;

comparing the divergence value to a predetermined threshold value;

determining that one of the values can be selected based on a result of the comparing.

8 . The method of claim 7 , wherein the determining, for each slot, the divergence value, comprises evaluating the Kullback-Leibler divergence between the prior distribution and the probability distribution.

9 . The method of claim 1 , wherein the action has parameters, and each slot corresponds to a respective one of the parameters.

10 . The method of claim 9 , wherein the determining if an action requiring at least some of the values can be performed comprises determining if a value is selected for each of the slots.

11 . The method of claim 10 , wherein the action comprises an API routine.

12 . The method of claim 11 , wherein the training dataset comprises API calls data comprising the plurality of dialogues, for each dialogue, information indicative of each parameter, and, for each parameter a respective value, each of the values was recorded by a human agent when such a value was known to the human agent from the corresponding dialogue, and the human agent invoked an API call to the corresponding routine.

13 . The method of claim 1 , wherein the neural network based system comprises a recurrent neural network component and, for each slot, a respective classifier, wherein the processing the input dialogue comprises:

generating word representation vectors for the dialogue;

inputting the vectors into the recurrent neural network component, and outputting a further vector for each slot;

processing, for each slot, the respective further vector, using the respective classifier, to generate the probability distribution for the values of the respective slot.

14 . The method of claim 3 , wherein the determining, for each slot, if an action requiring at least one of the values can be performed comprises:

inputting a selected value or an indication that a value cannot be selected for each slot to a decision module;

determining, by the decision module, to perform at least one of: causing the action to be performed, and the causing continuing of the dialogue by a non-person agent.

15 . The method of claim 1 , further comprising:

determining, using the training dataset, the slots;

determining possible values for each of the slots;

setting the determined values for each slot as a range for that slot.

16 . The method of claim 1 , further comprising:

trained the neural network based system using the training dataset comprising a plurality of dialogues and, for each dialogue, the value corresponding to each slot, wherein each dialogue resulted in the action in the form of an API call invocation.

17 . A system comprising:

a neural network based system configured to:

receive input of a dialogue;

process the dialogue by a neural network based system;

output, for each of a plurality of slots, a probability distribution over a range of values associated with the respective slot, the neural network based system being trained using a training dataset comprising a plurality of dialogues and, for each dialogue, a value corresponding to each slot, wherein each dialogue resulted in an action;

a decision module configured to: determine, based at least on the probability distribution for each slot, if an action requiring a value for at least some of the slots can be performed;

if not, causing continuing of the dialogue.

18 . A computer program product comprising computer program code stored on a computer readable storage medium, wherein, the computer program code is configured to, when run on a processing unit, perform the steps of:

receiving input of a dialogue;

processing the dialogue by a neural network based system, to output, for each of a plurality of slots, a probability distribution over a range of values associated with the respective slot, the neural network based system being trained using a training dataset comprising a plurality of dialogues and, for each dialogue, a value corresponding to each slot, wherein each dialogue resulted in an action;

determining, based at least on the probability distribution for each slot, if an action requiring a value for at least some of the slots can be performed;

if not, causing continuing of the dialogue.

19 . The computer program product of claim 18 , wherein the determining if the action can be performed comprises:

determining, for each slot, if one of the values can be selected based at least on the probability distribution and at least one selection criterion;

determining if the action can be performed at least based also on a result of the determining if one of the values can be selected for each slot.

20 . The computer program product of claim 19 , further comprising:

for each of the slots for which a value can be selected, selecting the value for the slot; and

if the required values are selected, causing the action to be performed using the selected values.

Assignments (2)
SECURITY INTEREST Recorded Sep 23, 2025
From: DIGITAL GENIUS LIMITED
To: PALATINE GC HOLDINGS LIMITED
Reel/Frame 072351/0292 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 5, 2018
From: MINKOVSKY, PAVEL; BACHRACH, YORAM
To: DIGITAL GENIUS LIMITED
Reel/Frame 044829/0322 →