Method of determining whether a phone call is answered by a human or by an automated device
First Claim
1. A method of determining whether a phone call is answered by an automated device or a human, the method comprising:
- (a) receiving, at a processor, an audio stream from an application;
(b) performing, at the processor, signal analysis on the audio stream to compute a sequence of events in the audio stream, wherein the audio stream is comprised of sound and, silence, wherein the sequence of events is computed on the sound and silence, wherein the sequence of events identifies a pattern associated with the audio stream, wherein the pattern is comprised of at least two of sound, silence, frequency, magnitude, duration, tone, and Dual Tone Multi Frequency (DTMF);
(c) determining, at the processor, whether the phone call is answered by the automated device by using a library of known audio prints used by known automated devices and by using a heuristic engine comprising a plurality of rules,wherein in using the library of known audio prints used by the known automated devices, the determining comprises;
(c1) determining, at the processor, that the pattern matches a similar pattern of at least two of sound, silence, frequency, magnitude, duration, tone, and DTMF in a known audio print in the library of known audio prints;
(c2) applying, at the processor, a silence constraint to match periods of silence in the sequence of events in the audio stream to periods of silence in the known audio print,wherein the silence constraint is associated with the known audio print; and
(c3) based on the matching of the pattern to the similar pattern and on the application of the silence constraint, determining, at the processor, whether there is a first potential match between the sequence of events in the audio stream and the known audio print;
wherein in using the heuristic engine, the determining comprises;
(c4) providing, at the processor, the sequence of events as input to the heuristic engine;
(c5) applying, at the processor, the plurality of rules in the heuristic engine to the sequence of events; and
(c6) based on the application of the plurality of rules, determining, at the processor, whether there is a second potential match between the sequence of events and the plurality of rules in the heuristic engine;
(d) in response to there being either the first potential match or the second potential match, determining, at the processor, that the phone call is answered by the automated device; and
(e) in response to there being neither the first potential match nor the second potential match, determining, at the processor, that the phone call is answered by human.
2 Assignments
0 Petitions
Accused Products
Abstract
A system receives an audio stream from an application, and performs signal analysis on the audio stream to compute (on sound and silence) a sequence of events. The sequence of events identifies a pattern comprised of at least two of sound, silence, frequency, magnitude, duration, tone, and Dual Tone Multi Frequency (DTMF). The pattern matches a similar pattern of at least two of sound, silence, frequency, magnitude, duration, tone, and DTMF, and the signal analysis is performed on sound and silence within the audio stream. The similar pattern is associated with at least one of an automated device or human answering the call. The system determines whether the sequence of events indicates the phone call is answered by the automated device or the human, based on rules in a heuristic engine and/or a known audio print from a library of known audio prints.
55 Citations
24 Claims
-
1. A method of determining whether a phone call is answered by an automated device or a human, the method comprising:
-
(a) receiving, at a processor, an audio stream from an application; (b) performing, at the processor, signal analysis on the audio stream to compute a sequence of events in the audio stream, wherein the audio stream is comprised of sound and, silence, wherein the sequence of events is computed on the sound and silence, wherein the sequence of events identifies a pattern associated with the audio stream, wherein the pattern is comprised of at least two of sound, silence, frequency, magnitude, duration, tone, and Dual Tone Multi Frequency (DTMF); (c) determining, at the processor, whether the phone call is answered by the automated device by using a library of known audio prints used by known automated devices and by using a heuristic engine comprising a plurality of rules, wherein in using the library of known audio prints used by the known automated devices, the determining comprises; (c1) determining, at the processor, that the pattern matches a similar pattern of at least two of sound, silence, frequency, magnitude, duration, tone, and DTMF in a known audio print in the library of known audio prints; (c2) applying, at the processor, a silence constraint to match periods of silence in the sequence of events in the audio stream to periods of silence in the known audio print, wherein the silence constraint is associated with the known audio print; and (c3) based on the matching of the pattern to the similar pattern and on the application of the silence constraint, determining, at the processor, whether there is a first potential match between the sequence of events in the audio stream and the known audio print;
wherein in using the heuristic engine, the determining comprises;(c4) providing, at the processor, the sequence of events as input to the heuristic engine; (c5) applying, at the processor, the plurality of rules in the heuristic engine to the sequence of events; and (c6) based on the application of the plurality of rules, determining, at the processor, whether there is a second potential match between the sequence of events and the plurality of rules in the heuristic engine; (d) in response to there being either the first potential match or the second potential match, determining, at the processor, that the phone call is answered by the automated device; and (e) in response to there being neither the first potential match nor the second potential match, determining, at the processor, that the phone call is answered by human. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22)
-
-
23. A computer program product for determining whether a phone call is answered by an automated device or a human, the computer program product comprising:
-
a non-transitory computer readable medium having computer readable program code embodied therewith, the program code executable by a computing processor to; receive an audio stream from an application; perform signal analysis on the audio stream to compute a sequence of events in the audio stream, wherein the audio stream is comprised of sound and silence, wherein the sequence of events is computed on the sound and silence, wherein the sequence of events identifies a pattern associated with the audio stream, wherein the pattern is comprised of at least two of sound, silence, frequency, magnitude, duration, tone, and Dual Tone Multi Frequency (DTMF); determine whether the phone call is answered by the automated device by using a library of known audio prints used by known automated devices and by using a heuristic engine comprising a plurality of rules, wherein in using the library of known audio prints used by the known automated devices, the determine comprises; determine that the pattern matches a similar pattern of at least two of sound, silence, frequency, magnitude, duration, tone, and DTMF in a known audio print in the library of known audio prints; apply a silence constraint to match periods of silence in the sequence of events in the audio stream to periods of silence in the known audio print, wherein the silence constraint is associated with the known audio print; and based on the matching of the pattern to the similar pattern and on the application of the silence constraint, determine whether there is a first potential match between the sequence of events in the audio stream and the known audio print; wherein in using the heuristic engine, the determine comprises; provide the sequence of events as input to the heuristic engine; apply the plurality of rules in the heuristic engine to the sequence of events; and based on the application of the plurality of rules, determine whether there is a second potential match between the sequence of events and the plurality of rules in the heuristic engine; in response to there being either the first potential match or the second potential match, determine that the phone call is answered by the automated device; and in response to there being neither the first potential match nor the second potential match, determine that the phone call is answered by the human.
-
-
24. A system comprising:
-
a computing processor; and a non-transitory computer readable medium operationally coupled to the processor, the computer readable medium having computer readable program code embodied therewith to be executed by the computing processor, the computer readable program code configured to; receive an audio stream from an application; perform signal analysis on the audio stream to compute a sequence of events in the audio stream, wherein the audio stream is comprised of sound and silence, wherein the sequence of events is computed on the sound and silence, wherein the sequence of events identifies a pattern associated with the audio stream, wherein the pattern is comprised of at least two of sound, silence, frequency, magnitude, duration, tone, and Dual Tone Multi Frequency (DTMF); determine whether the phone call is answered by the automated device by using a library of known audio prints used by known automated devices and by using a heuristic engine comprising a plurality of rules, wherein in using the library, of known audio prints used by the known automated devices, the determine comprises; determine that the pattern matches a similar pattern of at least two of sound, silence, frequency, magnitude, duration, tone, and DTMF in a known audio print in the library of known audio prints; apply a silence constraint to match periods of silence in the sequence of events in the audio stream to periods of silence in the known, audio print, wherein the silence constraint is associated with the known audio print; and based on the matching of the pattern to the similar pattern and on the application of the silence constraint, determine whether there is a first potential match between the sequence of events in the audio stream and the known audio print; wherein in using the heuristic engine, the determine comprises; provide the sequence of events as input to the heuristic engine; apply the plurality of rules in the heuristic engine to the sequence of events; and based on the application of the plurality of rules, determine whether there is a second potential match between the sequence of events and the plurality of rules in the heuristic engine; in response to there being either the first potential match or the second potential match, determine that the phone call is answered by the automated device; and in response to there being neither the first potential match nor the second potential match, determine that the phone call is answered by a human.
-
Specification