Time tolerant prompt detection
The location of voice prompts within a call waveform is usually conducted by match filtering a snippet of the prompt (approx. 800 ms) to the call waveform. In an enhanced process that can accommodate transmission errors when detecting voice prompts on lower quality transmission lines, a snippet of a voice prompt may be divided into sniplets, typically 100 ms long. The sniplets can be individually detected. If a sufficient number of sniplets are detected within allowed time tolerances, then this subset of detected sniplets can indicate the presence of the snippet, and thus the associated voice prompt.
1. A method comprising:
comparing a call waveform to a database of prompt waveform sniplets to generate a set of timestamped sniplets that indicates prompt waveform sniplets that were identified in the call waveform and where in the call waveform the respective prompt waveform sniplets were identified; and
processing the set of timestamped sniplets to determine subsets of the timestamped sniplets that collectively indicate a presence of prompts in the call waveform;
wherein one or more constraints are applied to a subset of the subsets of the timestamped sniplets to determine if the subset indicates the presence of a prompt.
2. The method of claim 1 comprising forming a subset of sniplets if the difference in timestamps of the respective sniplets agree with indicated offsets of the respective sniplets.
3. The method of claim 2 wherein the one or more constraints comprises a variance parameter that allows for extended difference in timestamps between sniplets of a subset up to a threshold defined by the variance parameter.
4. The method of claim 1 wherein the one or more constraints comprises a count constraint that requires the subset to contain a minimum threshold number of sniplets of a snippet in order for the subset to indicate the presence of a prompt.
5. The method of claim 4 comprising:
processing the set of timestamped sniplets in timestamp order; and
for a sniplet under consideration, when a timestamp difference between the timestamp of the sniplet under consideration and a previous sniplet of the subset is greater than a snippet duration, determining that the subset indicates the presence of a prompt if the subset comprises the minimum threshold number of sniplets.
6. The method of claim 5 comprising, for a first sniplet to be added to a subset, requiring that an offset of the first sniplet relative to the beginning of a snippet allows for the minimum threshold number of sniplets to be subsequently added to the subset.
7. A system comprising:
at least one processer,
at least one memory operatively associated with the at least one processor; and
at least one database; wherein, the at least one database stores a plurality of prompt waveform sniplets;
the at least one processor is programmed to:
compare a call waveform to the plurality of prompt waveform sniplets to generate a set of timestamped sniplets that indicates prompt waveform sniplets that were identified in the call waveform and where in the call waveform the respective prompt waveform sniplets were identified; and
process the set of timestamped sniplets to determine subsets of the timestamped sniplets that collectively indicate a presence of prompts in the call waveform;
wherein one or more constraints are applied to a subset of the subsets of the timestamped sniplets to determine if the subset indicates the presence of a prompt.
8. The system of claim 7 wherein the one or more constraints comprise at least one timing constraint and wherein the at least one processor is programmed to form a subset of sniplets if the difference in timestamps of the respective sniplets agree with indicated offsets of the respective sniplets.
9. The system of claim 8 wherein the at least one timing constraint includes a variance parameter that allows for extended difference in timestamps between sniplets of a subset up to a threshold defined by the variance parameter.
10. The system of claim 7 wherein the one or more constraints comprises a count constraint that requires the subset to contain a minimum threshold number of sniplets of a snippet in order for the subset to indicate the presence of a prompt.
11. The system of claim 10 wherein the at least one processor is programmed to:
process the set of timestamped sniplets in timestamp order; and
for a sniplet under consideration, when a timestamp difference between the timestamp of the sniplet under consideration and a previous sniplet of the subset is greater than a snippet duration, determine that the subset indicates the presence of a prompt if the subset comprises the minimum threshold number of sniplets.
12. The system of claim 11 wherein the at least one processor is programmed to require, for a first sniplet to be added to a subset, an offset of the first sniplet relative to the beginning of a snippet allows for the minimum threshold number of sniplets to be subsequently added to the subset.
13. A non-transitory computer readable medium comprising instructions, that when executed by a processor, cause the processor to perform identifying the presence of prompts in a call waveform comprising:
comparing the call waveform to a database of prompt waveform sniplets to generate a set of timestamped sniplets that indicates prompt waveform sniplets that were identified in the call waveform and where in the call waveform the respective prompt waveform sniplets were identified; and
processing the set of timestamped sniplets to determine subsets of the timestamped sniplets that collectively indicate a presence of prompts in the call waveform;
wherein one or more constraints are applied to a subset of the subsets of the timestamped sniplets to determine if the subset indicates the presence of a prompt.
14. The non-transitory computer readable medium of claim 13 comprising instructions that, when executed, cause the at least one processor to perform forming a subset of sniplets if the difference in timestamps of the respective sniplets agree with indicated offsets of the respective sniplets.
15. The non-transitory computer readable medium of claim 14 wherein the one or more constraints comprises a variance parameter that allows for extended difference in timestamps between sniplets of a subset up to a threshold defined by the variance parameter.
16. The non-transitory computer readable medium of claim 13 wherein the one or more constraints comprises a count constraint that requires the subset to contain a minimum threshold number of sniplets of a snippet in order for the subset to indicate the presence of a prompt.
17. The non-transitory computer readable medium of claim 16 comprising instructions that, when executed, cause the at least one processor to perform:
processing the set of timestamped sniplets in timestamp order; and
for a sniplet under consideration, when a timestamp difference between the timestamp of the sniplet under consideration and a previous sniplet of the subset is greater than a snippet duration, determining that the subset indicates the presence of a prompt if the subset comprises the minimum threshold number of sniplets.