ES2367521T3 - Programa informático para análisis estadístico de la voz. - Google Patents

Programa informático para análisis estadístico de la voz. Download PDF

Info

Publication number
ES2367521T3
ES2367521T3 ES03770545T ES03770545T ES2367521T3 ES 2367521 T3 ES2367521 T3 ES 2367521T3 ES 03770545 T ES03770545 T ES 03770545T ES 03770545 T ES03770545 T ES 03770545T ES 2367521 T3 ES2367521 T3 ES 2367521T3
Authority
ES
Spain
Prior art keywords
pattern
alternatives
alternative
data
word
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
ES03770545T
Other languages
English (en)
Inventor
Jeffrey A. Gallino
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
CallMiner Inc
Original Assignee
CallMiner Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=32043373&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=ES2367521(T3) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by CallMiner Inc filed Critical CallMiner Inc
Application granted granted Critical
Publication of ES2367521T3 publication Critical patent/ES2367521T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • G10L15/063Training
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/26Speech to text systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/14Speech classification or search using statistical models, e.g. Hidden Markov Models [HMMs]
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • G10L15/063Training
    • G10L2015/0635Training updating or merging of old and new templates; Mean values; Weighting
    • G10L2015/0636Threshold criteria for the updating

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Artificial Intelligence (AREA)
  • Machine Translation (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Telephonic Communication Services (AREA)
  • Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)
  • Complex Calculations (AREA)

Abstract

Un método de determinación de la presencia de conceptos para un sistema que comprende una herramienta de reconocimiento de voz y una memoria de ficheros electrónicos, siendo la herramienta de reconocimiento de voz utilizable para procesar datos de voz que comprenden una frase reconociendo una pluralidad de alternativas para la frase, comprendiendo dicha frase al menos una palabra, almacenado la memoria de ficheros electrónicos al menos una parte de la pluralidad de alternativas y comprendiendo dicho método las etapas de: (A) la recepción de un patrón que comprende una estructura de datos que representa al menos una palabra a compararse con las alternativas almacenadas en la memoria de ficheros electrónicos; (B) la comparación del patrón con las alternativas almacenadas en la memoria de ficheros electrónicos y (C) una vez realizada una comparación satisfactoria entre el patrón y una de las alternativas, el almacenamiento de una indicación de una coincidencia entre el patrón y la alternativa correspondiente a la comparación satisfactoria, caracterizado porque la etapa (A) comprende, además, la recepción de una puntuación de ponderación que corresponde al patrón, comprendiendo la etapa (C), además, después de una comparación satisfactoria entre el patrón y una de las alternativas, la asignación de la puntuación de ponderación a la alternativa y en donde el método comprende, además, las etapas de: (D) proporcionar un cesto operativo, correspondiente a un concepto, teniendo el cesto operativo una puntuación de umbral y (E) almacenar una indicación de una relación entre la alternativa y el cesto cuando la puntuación de ponderación asignada a la alternativa cumple o excede la puntuación umbral.

Description

CAMPO DE LA INVENCIÓN
La presente invención se refiere a programas informáticos y más en particular, a programas informáticos para facilitar el reconocimiento del contenido de datos de voz.
ANTECEDENTES DE LA INVENCIÓN
El reconocimiento de la voz es un campo en el que ha tenido lugar importantes actividades de investigación y desarrollo. El Departamento de Defensa de los Estados Unidos comenzó a patrocinar estudios a finales de los años 1940 y dichos estudios fueron seguidos, inmediatamente después, por avances a nivel comercial, por compañías tales como Bell Laboratories e IBM. Actualmente, las herramientas de reconocimiento de la voz existen para una amplia gama de aplicaciones, incluyendo la asistencia para la sordera, órdenes de voz para dispositivos electrónicos tales como ordenadores y para identificar palabras que comprenden interacciones comerciales basadas en la voz (tal como en las actividades de apoyo al cliente o de comercialización a distancia).
Las técnicas convencionales de reconocimiento de la voz funcionan identificando una “mejor” coincidencia única para una frase o palabra pronunciada. Una herramienta de reconocimiento de la voz convencional recibe una frase o palabra pronunciada, la convierte en un formato electrónico, hace coincidir sus sonidos componentes con un conjunto de datos de referencia (un “léxico”, que puede incluir hasta decenas de miles de palabras que la herramienta ha sido configurada para su reconocimiento), identifica un conjunto de coincidencias posibles (“alternativas”) para la palabra o frase pronunciada y asigna a cada alternativa una probabilidad de que represente la palabra o frase real que fue pronunciada. Cualquiera de entre numerosas técnicas se puede utilizar para identificar alternativas para la palabra o frase pronunciada y/o asignar a cada una de las alternativas una probabilidad correspondiente de que sea correcta. Una técnica dominante es el método de modelización matemática conocido como el Patrón de Markov Oculto (HMM). En resumen, HMM construye un árbol de decisiones con nodos para cada una de las alternativas que identifica y basándose en las características de la combinación de palabras en cada nodo, determina la probabilidad de corrección de cada nodo en relación con los demás nodos. Una vez que el método de HMM asigna una probabilidad a cada alternativa, las herramientas de reconocimiento de la voz convencionales seleccionan la alternativa a la que se ha asignado la más alta probabilidad como la alternativa correcta.
Los esfuerzos destinados al reconocimiento de la voz están plagados por obstáculos técnicos importantes, causados por la naturaleza muy variable de los patrones de voz. En particular, la identificación de alternativas y las probabilidades correspondientes para palabras o frases pronunciadas se complica por la observancia variable de la corrección gramatical, contexto, acentos y otras variables lingüísticas muy diversas. Estas dificultades han hecho del reconocimiento preciso de una palabra o frase, de entre decenas de miles de posibilidades, que constituyó un objetivo muy difícil de conseguir durante décadas. En realidad, el reconocimiento de la voz sigue siendo muy problemático y propenso al error.
El artículo “The TREC Spoken Document Retrieval Track: a Success Store”, Garfolo J.S. RIAO 2000, da a conocer la recuperación de documentos hablados combinando las tecnologías de reconocimiento de la voz y de recuperación de la información. El documento WO –A- 01/74042 da a conocer el análisis de conversaciones en centros de llamadas con reconocimiento de la voz.
SUMARIO DE LA INVENCIÓN
En conformidad con una forma de realización de la invención, se da a conocer un método para analizar la comunicación oral según se establece en la reivindicación 1. La reivindicación 10 reivindica un medio de soporte legible por ordenador correspondiente; formas de realización preferidas se establecen en las reivindicaciones subordinadas.
BREVE DESCRIPCIÓN DE LOS DIBUJOS
La Figura 1 es un diagrama de bloques de un sistema de ordenador en donde se pueden poner en práctica formas de realización de la invención;
La Figura 2 es un diagrama de bloques de un sistema de almacenamiento de datos en donde se pueden poner en práctica formas de realización de la invención;
La Figura 3 es un diagrama de bloques de un sistema para procesar datos de comunicación de voz en conformidad con una forma de realización de la presente invención;
La Figura 4 es un diagrama de flujo que ilustra un proceso para procesar datos de comunicación de voz en conformidad con una forma de realización de la presente invención;
La Figura 5 ilustra una interfaz de usuario gráfica (GUI) a modo de ejemplo, que se puede utilizar para determinar el contenido de datos de comunicación de voz, según una forma de realización de la invención;
La Figura 6 ilustra una interfaz GUI, a modo de ejemplo, que se puede utilizar para definir un patrón y/o segmento para establecer la coincidencia de una parte de datos de comunicación de voz, según una forma de realización de la invención;
La Figura 7 es un diagrama de flujo que ilustra un proceso para determinar si una parte de datos de comunicación de voz coincide con un patrón, según una forma de realización de la invención;
La Figura 8 ilustra una interfaz GUI, a modo de ejemplo, que puede visualizar una parte de datos de comunicación de voz que coincide con un patrón, según una forma de realización de la invención y
La Figura 9 es un diagrama de bloques que ilustra una estructura de datos, a modo de ejemplo, utilizada por algunas formas de realización de la invención.
DESCRIPCIÓN DETALLADA DE LA INVENCIÓN
Las dificultades técnicas asociadas con las técnicas de reconocimiento de la voz convencionales se pueden reducir utilizando, más completamente, la información generada durante los procesos de reconocimiento convencionales. En particular, mientras que las herramientas de reconocimiento de la voz convencionales determinan un conjunto de alternativas para cada palabra pronunciada y determinan cuál de las alternativas tiene la más alta probabilidad de ser realmente la palabra pronunciada, identificando, de este modo, una “mejor” coincidencia única para una palabra o frase pronunciada, estas herramientas desechan, entonces, el resto de las alternativas. Estas alternativas, y los datos estadísticos correspondientes generados por ellas, pueden tener un valor importante en la determinación del contenido de un cuerpo de datos de voz.
En consecuencia, una forma de realización de la presente invención da a conocer un método para recoger y analizar datos de voz, en donde una muestra de palabras pronunciadas se recoge y convierte a una forma electrónica, se identifica una pluralidad de alternativas para cada palabra en los datos de voz, se determina la probabilidad de que cada alternativa represente la palabra pronunciada, al menos una parte de las alternativas y las probabilidades correspondientes se cargan en una memoria de ficheros electrónicos y se realiza un análisis sobre la parte de alternativas y probabilidades para determinar el contenido de los datos de voz. De este modo, en lugar de intentar identificar definitivamente cada palabra o frase que fue pronunciada, un aspecto de la presente invención está orientado a identificar las palabras que podrían haberse pronunciado, de modo que las palabras que realmente fueron pronunciadas puedan ser amplificadas, desde el punto de vista estadístico, a través de una muestra de datos de voz.
El análisis de los datos recogidos de esta forma pueden revelar características que puedan no haber sido identificables utilizando las técnicas de reconocimiento de la voz convencionales. Por ejemplo, se puede determinar la frecuencia con la que aparecen alternativas en los datos dentro de un periodo de tiempo concreto, lo que significa que las palabras o frases, más frecuentemente pronunciadas en ese periodo, se pueden aproximar (p.e., en función de las alternativas) sin requerir un conocimiento previo del contenido de los datos. Además, los datos se pueden hacer coincidir con respecto a uno o más “patrones” o construcciones de datos configurables, preparadas por un usuario, para representar varias formas de comunicación de un concepto, con el fin de determinar la ocurrencia de ese concepto en los datos. Los datos de un solo periodo de tiempo se pueden comparar con datos recogidos en otros periodos de tiempo con el fin de identificar tendencias y/o compararse con la ocurrencia de hechos concretos para determinar la correlación entre los temas conversacionales y esos hechos. Además, los datos se pueden segmentar en función de su contenido para conseguir cualquiera de numerosos objetivos. Varias formas de análisis de datos, que pueden realizarse, se dan a conocer a continuación, con detalle.
Varios aspectos de la invención se pueden poner en práctica en uno o más sistemas informáticos, tal como el sistema informático ejemplo 100 representado en la Figura 1. El sistema informático 100 comprende dispositivos de entrada 102, dispositivos de salida 101, un procesador 103, un sistema de memoria 104 y almacenamiento 106, todos los cuales están acoplados, de forma directa o indirecta, a través del mecanismo de interconexión 105, que puede comprender un bus o un conmutador. Los dispositivos de entrada 102 reciben entrada desde un usuario o máquina (p.e., un operador humano o receptor telefónico) y los dispositivos de salida 101 visualizan o transmiten información a un usuario o máquina (p.e., una pantalla de cristal líquido).
El procesador 103 ejecuta un programa, llamado sistema operativo, que controla la ejecución de otros programas informáticos y proporciona elementos de programación, entrada/salida y otro control de dispositivos, contabilización, compilación, asignación de almacenamiento, gestión de datos, gestión de memoria, comunicación y control de flujos de datos. El procesador y el sistema operativo definen la plataforma informática para la que se escriben los programas de aplicación en otros lenguajes de programación de ordenadores.
El procesador 103 puede ejecutar también uno o más programas para poner en práctica varias funciones, tales como las que materializan aspectos de la invención. Estos programas se pueden escribir en un lenguaje de programación de ordenador, tal como un lenguaje de programación procedural, lenguaje de programación orientado al objeto, lenguaje de macros o sus combinaciones.
Estos programas se pueden guardar en un sistema de almacenamiento 106. El sistema de almacenamiento puede mantener información sobre un medio de soporte volátil o no volátil y pueden ser fijos o extraíbles. El sistema de almacenamiento se representa, con gran detalle, en la Figura 2. Suele incluir un medio de registro 201 no volátil con posible lectura y escritura por ordenador, en donde se almacenan señales que definen el programa o la información a utilizarse por el programa. El medio de soporte puede, por ejemplo, ser una unidad de disco o una memoria instantánea. En condiciones normales, en funcionamiento, el procesador 103 hace posible la lectura de datos desde el medio de registro no volátil 201 en una memoria volátil 202 (p.e., una memoria de acceso aleatorio o memoria RAM) que permite el acceso más rápido a la información por el procesador 103 que el que realiza el medio de soporte 201. Esta memoria 202 puede estar situada en el sistema de almacenamiento 106, según se representa en la Figura 2 o en el sistema de memoria 104, según se representa en la Figura 1. El procesador 103 manipula, en general, los datos dentro de la memoria de circuitos integrados 104, 202 y a continuación, copia los datos en el medio de soporte 201 una vez terminado su procesamiento. Una amplia gama de mecanismos son conocidos para gestionar el desplazamiento de datos entre el medio de soporte 201 y el elemento de memoria de circuitos integrados 104, 202 y la invención no está limitada a este ámbito. La invención tampoco está limitada a un sistema de memoria particular 104 o sistema de almacenamiento 106 concreto.
El sistema ejemplo 301, representado en la Figura 3, se puede poner en práctica, en su totalidad o en parte, en un sistema informático 100. El sistema 301 facilita la recogida, almacenamiento y análisis de datos de voz. El sistema 301 comprende un registrador de llamadas 305, que puede ser cualquier dispositivo adecuado utilizado para registrar conversaciones, tal como un dispositivo que sea convencionalmente empleado en un “centro de llamadas”, en donde se realizan las funciones de servicio al cliente y/o comercialización a distancia (telemarketing). En una forma de realización, el registrador de llamadas 305 registra la conversión, el tiempo, la duración, el número de origen y el receptor asociado con cada llamada. Los datos, que comprenden la conversación, pueden almacenarse en cualquier formato de fichero de sonido adecuado, tal como WAV, AVI u otro formato, o cualquiera de sus combinaciones.
En la forma de realización mostrada, el registrador de llamadas 305 transmite partes de datos de llamadas a componentes dentro de un motor de núcleo 340, más concretamente, el registrador de llamadas 305 transmite una primera parte de los datos que comprenden las conversaciones registradas (es decir, los ficheros de sonido) a una instalación de conversión 310 y una segunda parte de los datos que describen la conversación, tal como el tiempo, la duración, número de origen y receptor, a la instalación de almacenamiento 330. Esta transmisión al motor de núcleo 340 puede ocurrir en cualquier frecuencia adecuada y utilizando cualquier infraestructura de comunicaciones apropiada.
En una forma de realización, la instalación de conversión 310 está configurada para convertir los ficheros de sonido, que comprenden los datos de conversación, a los formatos previstos por la instalación de reconocimiento 320. Por ejemplo, si la instalación de reconocimiento 320 está configurada para procesar ficheros de sonido AVI, entonces, la instalación de conversión 310 convierte los datos de conversación a este formato. Algunos ficheros de sonido pueden proporcionarse en un formato que sirve como un “contenedor” para uno o más de otros formatos. Por ejemplo, los ficheros de sonido proporcionados en el formato WAV pueden servir como un contenedor para múltiples ficheros de sonidos subyacentes, que pueden cada uno existir potencialmente en diferentes formatos. En consecuencia, en una forma de realización, la instalación de conversión 310 está configurada para convertir cada uno de los ficheros individuales mantenidos por un contenedor, a los formatos previstos por la instalación de reconocimiento 320. Los expertos en esta materia apreciarán que lo anterior se puede realizar en numerosas modalidades y la invención no está limitada a una forma de realización particular.
La instalación de reconocimiento 320 está configurada para identificar las alternativas y probabilidades correspondientes para las palabras contenidas en los datos de conversación. En una forma de realización, la instalación de reconocimiento 320 comprende una herramienta de reconocimiento de voz “genérica” configurada para esta finalidad. En la forma de realización mostrada, la instalación de reconocimiento 320 emplea un léxico 325 para determinar las alternativas y probabilidades, que pueden estar provistas de una herramienta “genérica” o construida para conseguir un objetivo concreto. Tal como se describió anteriormente, el léxico 325 es un conjunto de palabras pre-programadas que son reconocibles para la instalación de reconocimiento 320. La instalación de reconocimiento puede generar una salida que incluye datos alfanuméricos que representan las alternativas identificadas, probabilidades y otras estadísticas. El procesamiento realizado por la instalación de reconocimiento 320 se describe, con mucho mayor detalle a continuación, haciendo referencia a la Figura 4.
La instalación de reconocimiento 320 transmite su salida a la instalación de almacenamiento 330. En una forma de realización, la instalación de almacenamiento 330 está configurada para organizar esta información así como la información recibida desde el registrador de llamadas 305 y la carga en un dispositivo de almacenamiento de ficheros electrónicos, tal como una base de datos. Aunque cualquier forma adecuada de almacenamiento de ficheros electrónicos se puede emplear para almacenar datos generados por un registrador de llamadas 305 y una instalación de reconocimiento 320, puede ser conveniente, en particular en instalaciones en donde se recogen grandes cantidades de datos, utilizar un sistema de bases de datos escalables, tal como un sistema de bases de datos orientadas al objeto o relacionales.
Una versión simplificada de una estructura de datos, que se utiliza con un Sistema de Gestión de Bases de Datos Relacionales (RDBMS) para soportar una o más de las funciones aquí examinadas, se ilustra en la Figura 9. Como es frecuente, con una base de datos relacional, la Figura 9 ilustra varias tablas, cada una de las cuales contiene varias columnas. La estructura de datos, representada en la Figura 9, comprende una tabla de muestras 910, una tabla de palabras 920 y una tabla de muestras-palabras 930. A un alto nivel, la tabla de muestras 910 almacena información relacionada con distintas muestras de datos de voz, tales como partes de llamadas telefónicas. La tabla de palabras 920 almacena las palabras que son reconocibles para el sistema, tal como una versión (p.e., una copia) del léxico 325 (Figura 3). La tabla de muestras-palabras 930 almacena relaciones entre partes de datos de voz descritos en la tabla de muestras 910 y las palabras almacenadas en la tabla de palabras 920. De esta manera, cada fila en la tabla de muestras-palabras identifica una alternativa para una parte de datos de voz que se describe en la tabla de muestras 910. La tabla de muestras-palabras 930 incluye, además, una columna en la que se almacena una evaluación 931 de cada alternativa (p.e., una probabilidad de que la alternativa coincida con la palabra en la tabla de palabras 920).
La tabla de muestras 910 y la tabla de palabras 920 incluyen una columna que está designada como una clave primaria (“PK”), lo que significa que la columna almacena un valor único en cada fila de su tabla respectiva. Además, la tabla de muestras-palabras 930 contiene columnas que son designadas como claves foráneas externas (“FK”), lo que significa que las columnas tienen una asociación lógica con una columna en otra tabla. Esta asociación lógica se indica por las flechas 901 representadas en la Figura 9. Se puede establecer una asociación lógica para cualquiera de numerosos motivos, tales como para mantener una integridad relacional entre las tablas. Por ejemplo, la tabla de muestras-palabras 910 tiene una columna que almacena un identificador ID de muestra para cada fila en la tabla. Este identificador de muestra tiene una clave foránea externa para el identificador de muestra en la tabla de muestras 910, de modo que la tabla de muestras-palabras 930 nunca pueda almacenar un identificador ID de muestra que no se almacene también en la tabla de muestras 910. De esta manera, se mantiene la compatibilidad entre columnas en varias tablas.
Debe apreciarse que la estructura de datos representada en la Figura 9, es simplemente un ejemplo de una memoria de archivos electrónicos que se puede utilizar. La invención no está limitada a ninguna realización particular y se pueden utilizar, de forma alternativa, numerosas estructuras de datos. Una estructura de datos adecuada puede incluir diferentes tablas, o ninguna tabla en absoluto, si la estructura de datos no es una base de datos relacional.
Haciendo referencia de nuevo a la Figura 3, en la forma de realización mostrada, una instalación de almacenamiento 330 es accesible para las herramientas de análisis 335, que se pueden utilizar para realizar cualquiera de las numerosas formas de análisis guardadas en una instalación de almacenamiento 330. Las herramientas de análisis 335 pueden incluir cualquiera de entre numerosas interfaces de usuario configurables para acceder a datos almacenados en el formato elegido para la instalación de almacenamiento 330. Por ejemplo, si la instalación de almacenamiento 330 comprende una base de datos relacional, las herramientas de análisis 335 pueden comprender una interfaz de usuario configurada para emitir órdenes de consulta en Lenguaje de Consultas Estructurado (SQL). Una parte del análisis que puede realizarse utilizando herramientas de análisis 335 se describe, con mayor detalle, a continuación, haciendo referencia a las Figuras 5 y 6.
La Figura 4 ilustra un proceso, que se puede realizar por el sistema representado en la Figura 3, para capturar, catalogar y analizar datos de voz según una forma de realización de la presente invención. Al inicio del proceso representado en la Figura 4, datos de voz se capturan y preparan para su procesamiento en la etapa 405. Según se describió anteriormente, estos datos se pueden capturar por un registrador de llamadas convencional, tal como un registrador de llamadas 305, en un formato electrónico (esto es, como uno o más ficheros de sonido). Para preparar los datos para su procesamiento, los ficheros se pueden convertir a un formato electrónico que está previsto por una herramienta de reconocimiento de voz, tal como una instalación de reconocimiento 320.
A la terminación de la etapa 405, el proceso prosigue con la etapa 410, en donde los datos se procesan para identificar alternativas para palabras y/o frases en los datos. Según se indicó con anterioridad, en una forma de realización, este procesamiento se realiza por una herramienta de reconocimiento de voz genérica (‘off-the-shelf’) configurada para este objetivo. Sin embargo, la invención no está limitada a una herramienta genérica, puesto que la herramienta puede estar dispuesta y realizada en cualquier manera adecuada, tal como una herramienta construida para esta finalidad particular o con una herramienta que combina componentes convencionales y personalizados.
Según se describió anteriormente, numerosas herramientas de reconocimiento de voz convencionales tratan de identificar una palabra o frase haciéndola coincidir con una o más entradas proporcionadas en un léxico. Para una palabra o frase dada, se pueden identificar varias alternativas, junto con una probabilidad de que cada alternativa representa la palabra o frase real pronunciada. La probabilidad asignada a cada palabra o frase puede depender, al menos en parte, de las palabras que le rodean, de modo que las palabras más frecuentemente incluidas en una expresión, se consideren como más probablemente correctas que las demás alternativas. Por ejemplo, una frase puede considerarse más probable que sea, en inglés “take me to the ballgame” que la de “take me tooth a ballgame” en este ámbito del idioma inglés y a esta frase se le puede asignar a una más alta probabilidad de ser correcta como resultado. No obstante, estos conjuntos de palabras se identifican como posibles alternativas para la palabra o frase pronunciada y se requieren para su posterior análisis. Habida cuenta que múltiples alternativas se generan para cada palabra o frase, una gran cantidad de datos se puede generar durante el proceso de reconocimiento, en particular cuando se recoge una gran cantidad de datos de voz (p.e., una muestra de llamadas de servicio al cliente o de telemarketing).
En una forma de realización, el número de alternativas proporcionadas por una herramienta, para cada palabra o frase pronunciada por la herramienta, es susceptible de modificación. Por ejemplo, una herramienta puede ser configurable para proporcionar solamente las alternativas que cumplen o superan una probabilidad umbral de coincidencia de las palabras pronunciadas, tales como alternativas que puedan tener al menos una probabilidad del 10 % de coincidencia de las palabras pronunciadas. La configuración se puede realizar de cualquier manera adecuada, tal como con una entrada proporcionada por un usuario a través de una interfaz de usuario gráfica. Dicha configuración puede facilitar su procesamiento posterior, reduciendo al mínimo la cantidad de alternativas a solamente aquellas que cumplan normas mínimas.
En una forma de realización, una herramienta puede comprender un léxico modificable. Por ejemplo, la herramienta puede estar provista de medios (p.e., un kit de desarrollo de software o SDK) mediante los cuales se pueden añadir, suprimir o modificar palabras en el léxico, en una forma automatizada o semiautomatizada. En un ejemplo, un SDK se puede utilizar para proporcionar acceso al léxico por una rutina automatizada que, cuando se ejecuta, personaliza el léxico para incluir material específico para un contexto particular. Por ejemplo, el léxico se puede modificar para adaptar las necesidades de un negocio específico incorporando material desde los manuales de formación de la empresa, manuales de soporte técnico, bases de conocimiento y/o sitios web. La rutina automatizada puede incluir procedimientos que incorporen y agreguen palabras en los materiales e incluyan al menos una parte de ellos en el léxico. Además, la rutina puede estar configurada para incluir solamente una parte del material, tal como las palabras más frecuentemente encontradas en los materiales.
De forma similar, una rutina automatizada o semi-automatizada se puede proporcionar para eliminar palabras de un léxico, tales como las palabras que no se suelen utilizar en un contexto particular. De nuevo, la eliminación de palabras puede hacer que se generen menos alternativas por la herramienta de reconocimiento de voz para cada palabra o frase, con lo que se facilita potencialmente su procesamiento posterior en la forma anteriormente descrita.
A la terminación de la etapa 410, el proceso prosigue con la etapa 415, en donde las alternativas y las probabilidades correspondientes se cargan en un dispositivo de almacenamiento de ficheros electrónicos. En una forma de realización, los datos proporcionados por la herramienta de reconocimiento de voz se cargan en una base de datos, tal como una base de datos orientada al objeto o relacional. La carga de los datos en un dispositivo de almacenamiento de ficheros electrónicos se puede realizar de cualquier manera adecuada, tal como ejecutando los denominados scripts de dispositivos de carga, creando un fichero “plano” que comprende los datos recogidos o utilizando cualquier otra técnica adecuada. Los datos se pueden organizar en cualquier forma adecuada, puesto que la invención no está limitada a una forma de realización particular. Por ejemplo, los datos se pueden organizar de modo que se ordenen alternativas en función de la probabilidad correspondiente, tiempo de captura, cualquier otro criterio, o su combinación o bien, ningún criterio en absoluto.
A la terminación de la etapa 415, el proceso prosigue con la etapa 420, en donde se analizan los datos en el almacenamiento de ficheros electrónicos. Puesto que los datos residen en un almacenamiento de ficheros electrónicos (p.e., una base de datos), el análisis se puede realizar en cualquier momento que sea conveniente. A diferencia de las herramientas de reconocimiento de voz convencionales, que cargan un pequeño número de alternativas y de las probabilidades correspondientes en una memoria temporal volátil, mientras se intenta identificar definitivamente una palabra o frase pronunciada y luego, se desecha esa información, la presente invención carga la información en un almacenamiento permanente (p.e., una base de datos), de modo que la información se pueda examinar “después del hecho”. Como resultado, se puede examinar un mayor volumen de datos (p.e., un mayor número de llamadas telefónicas) y se puede realizar un análisis más profundo.
El análisis puede adoptar cualquiera de numerosas formas. En una forma de realización, el análisis se puede realizar con la ayuda de una o más interfaces de usuario gráficas (GUIs), que se puede configurar para permitir a un usuario humano emitir órdenes para consultar los datos en un almacenamiento de ficheros electrónicos. Sin embargo, el análisis no necesita involucrar una intervención humana, o el uso de una interfaz GUI, puesto que las rutinas automatizadas se pueden ejecutar también para realizar análisis de datos.
El análisis se puede realizar sobre una cantidad de datos para determinar la ocurrencia y/o frecuencia de alternativas en el mismo. De esta manera, el contenido de un cuerpo de datos de voz se puede determinar sin necesidad de un conocimiento previo de las palabras o frases contenidas en los datos. Esto puede tener cualquiera de numerosos usos. Por ejemplo, una empresa puede analizar un conjunto de llamadas telefónicas recibidas por su departamento de servicio al cliente para encontrar una o más alternativas imprevistas en esas llamadas que, después de una investigación adicional, indica que los clientes han encontrado un uso imprevisto para el producto de la empresa. Este descubrimiento puede influir en la manera en la que la empresa comercializa el producto. En otro ejemplo, una alternativa imprevista encontrada en un conjunto de llamadas puede indicar el uso de una palabra o concepto indeseable por representantes de telemarketing de una empresa, con la identificación consiguiente de una oportunidad de formación profesional.
La Figura 5 ilustra una interfaz gráfica (GUI), a modo de ejemplo, que visualiza información relacionada con la ocurrencia de alternativas de palabras en un cuerpo de datos de voz. Más en particular, la interfaz, representada en la Figura 5, muestra un diagrama de barras, en donde las barras individuales representan la ocurrencia de una alternativa de palabra específica en un periodo de tiempo. De este modo, utilizando la interfaz de la Figura 5, un usuario puede comparar la predominancia de una alternativa de palabra con la de las demás durante múltiples periodos, con lo que se pueden identificar, con más facilidad, las tendencias.
La Figura 5 representa una interfaz 500, que cumple la norma de Microsoft Windows bien conocida en esta técnica. La interfaz 500 incluye la parte 510. El diagrama de barras, en la parte 510, visualiza información que representa la ocurrencia de seis alternativas de palabras durante tres periodos de tiempo separados, aunque la invención no está limitada a este respecto, puesto que se puede visualizar cualquier número adecuado de alternativas y/o periodos de tiempo. Además, cualquier periodo de tiempo adecuado se puede definir para comparación, incluyendo minutos, horas, días y/o otros periodos.
En la parte 510, la frecuencia de una alternativa específica, en el primer periodo de tiempo (p.e., 17/4/2002) se representa por la barra 515A, la frecuencia de la alternativa en el segundo periodo de tiempo se representa por la barra 515B y la frecuencia de la alternativa en el tercer periodo de tiempo se representa por la barra 515C. De forma similar, las barras 520A-C, 525A-C, 530-A-C y 535A-C representan la frecuencia de otras alternativas de palabras dentro de cada uno de los tres periodos de tiempo. De este modo, utilizando la interfaz 500, un usuario puede identificar relaciones entre la ocurrencia de una alternativa de palabra y otra durante un periodo de tiempo. Por ejemplo, un usuario puede descubrir que una ocurrencia frecuente de un primer nombre de producto, durante un periodo, está en correlación con una frecuente ocurrencia de un segundo nombre de producto.
Además de determinar la frecuencia con la que se producen palabras individuales en un conjunto de datos, la presencia de conceptos particulares se puede determinar haciendo coincidir los datos con uno o más “patrones” que representan varias formas de comunicar dichos conceptos. Un patrón puede ser una construcción de datos que materializa una o más alternativas de palabras, que representan una forma de comunicar el concepto. Por ejemplo, para determinar si una muestra de datos contiene, o no, una oferta de un vehículo de alquiler a un cliente, los patrones se pueden construir de modo que proporcionen las frases “¿Puedo ofrecerle un vehículo de alquiler? y ¿Le gustaría disponer de un vehículo con ello?”.
Los patrones se pueden construir por medios manuales, en forma semi-automatizada, en forma automatizada o en una de sus combinaciones. Cualquier número adecuado de patrones se puede construir y cada patrón puede contener cualquier combinación adecuada y cantidad de palabras o frases.
La Figura 6 ilustra una interfaz GUI, a modo de ejemplo, que se puede emplear para construir un patrón y para definir uno o más “cestos” operativos a los que se puede asignar un segmento de los datos basándose en una coincidencia con uno o más de los patrones. Como en el caso de la interfaz ilustrada en la Figura 5, la interfaz 600 cumple la norma de Microsoft Windows. La interfaz 600 incluye una parte 620, en la que un usuario puede acceder seleccionando la pestaña 615 en función de la convención metafórica de pestañas de selección bien conocida en este ámbito.
La caja 640 muestra un conjunto de patrones existentes. Proporcionando entrada a las cajas 631, 633 y 639, un usuario puede añadir un nuevo patrón o eliminar uno ya existente, de entre los patrones mostrados en la caja 640. Para crear un nuevo patrón, un usuario puede especificar un nombre en la caja 631 y especificar una expresión (esto es, una secuencia específica que incluya una o más palabras) para definir el patrón en la caja 633. Utilizando la caja 639, un usuario puede especificar una “ponderación” para un patrón que, en la forma de realización representada, se utiliza para determinar si una coincidencia con un patrón significa, o no, que un segmento de datos se asigna a un cesto operativo, según se describe con mayor detalle a continuación.
Cuando un usuario desea crear un patrón basado en la entrada proporcionada en las cajas 631, 633 y 639, el usuario pulsa el botón 635 para añadir el patrón al conjunto mostrado en la caja 640. Cuando un usuario desea eliminar un patrón del conjunto representado en la caja 640, el usuario selecciona un patrón mediante una pulsación del ratón del ordenador y realiza una pulsación del ratón en la caja 637 para eliminar el patrón desde la caja 640.
La caja 640 está dividida en columnas 640A-C, que contienen datos proporcionados en las cajas 631, 633 y 639, respectivamente. Para cada patrón, la expresión mostrada en la caja 640B comprende una secuencia de palabras que se hace coincidir con respecto a los datos para determinar si los datos contienen, o no, dicho patrón. Por ejemplo, el patrón que tiene un nombre de “CC Please” se expresa como la secuencia “número de tarjeta de crédito, por favor”. Cuando un segmento de datos incluye esas cuatro palabras en secuencia, los datos coinciden con el patrón.
Los patrones pueden expresarse de tal manera que permitan una variabilidad de secuencias de palabras. Por ejemplo, el patrón que tiene un nombre de “vuelo de reserva” se expresa como “vuelo reserva \ w {0.3}”. En la forma de realización ilustrada, cuando un segmento de datos contiene las palabras “reserva” y “vuelo” separadas por entre cero y tres palabras, se satisface la expresión y los datos coinciden con el patrón. Debe apreciarse que esta expresión, a modo de ejemplo, representa solamente una forma de transportar un patrón de palabras, puesto que se puede emplear cualquier manera adecuada de articular expresiones lógicas para definir un patrón variable de palabras.
La caja 621 permite a un usuario especificar un nombre para un cesto operativo y la caja 623 permite a un usuario especificar una ponderación de umbral para el cesto. En la forma de realización ilustrada, un segmento de datos se asigna a un cesto operativo basándose en la presencia y ponderación global de uno o más patrones mostrados en la caja 640. Por ejemplo, en la forma de realización mostrada, para un segmento de datos a asignarse al cesto “Venta realizada” que presenta una ponderación de umbral de 1.0, el segmento debe coincidir con uno o más patrones cuya ponderación global alcance o supere el valor de 1.0. De este modo, si un segmento de datos coincidiera solamente con el patrón “Mastercard”, que tiene una ponderación de 0.7, según se muestra en la caja 640, el segmento no se hubiera asignado al cesto “Venta realizada”. Sin embargo, si un segmento de datos coincidiera con los patrones de “Mastercard” y “Tarjeta de crédito”, que tienen una ponderación global de 1.1, el segmento de datos se asignaría al cesto “Venta realizada”.
La caja desplegable 625 permite que se considere un segmento de datos para asignación a un cesto operativo solamente si se cumple un requisito previo. Más en particular, el segmento de datos se considera para la asignación al cesto solamente si el segmento de datos está asignado a otro cesto operativo. Debe apreciarse que cualquier requisito previo adecuado, o una combinación de requisitos previos, se puede suministrar para su consideración. Por ejemplo, en otra forma de realización, un segmento de datos se puede considerar para la asignación a un cesto operativo si se asigna otro cesto con una puntuación de umbral mínima.
La caja 651 permite a un usuario almacenar, en memoria permanente, las selecciones de patrones asociadas con un cesto particular y el botón 653 permite a un usuario reestablecer los parámetros de configuración para un cesto particular para los que existían antes de la manipulación por el usuario de las selecciones permitidas por partes de interfaz 620.
El proceso ilustrado en la Figura 7 se puede realizar para determinar si un cuerpo de datos de voz contiene, o no, los patrones especificados. Al inicio del proceso, comienza la etapa 710, en donde los datos que han de compararse con los patrones se recuperan desde el almacenamiento de ficheros electrónicos. En una forma de realización, se recuperan las alternativas identificadas para cada palabra o frase en los datos. La recuperación se puede realizar en cualquiera de numerosas formas, tales como mediante la extracción de las alternativas desde una bases de datos. Se puede utilizar cualquier método de acceso adecuado, tal como la ejecución de una consulta de base de datos, para recuperar los datos adecuados desde el dispositivo de almacenamiento.
A la conclusión de la etapa 710, el proceso prosigue con la etapa 720, en donde las alternativas se comparan con el primero de entre una pluralidad de patrones. El patrón utilizado para comparación se puede seleccionar de cualquier forma adecuada, incluyendo de modo arbitrario. La comparación entre las alternativas y el patrón se puede realizar también en cualquier modo adecuado, tal como con una comparación estricta entre las alternativas y las palabras incluidas en el patrón, con una comparación ayudada, al menos en parte, mediante lógica difusa (fuzzy) o utilizando otra técnica.
A la conclusión de la etapa 720, el proceso prosigue con la etapa 725, en donde se realiza una determinación en cuanto a si existe una coincidencia, o no, entre los datos y el patrón. Esta operación se puede realizar en cualquiera de numerosas formas. Por ejemplo, se puede realizar una determinación de que existe una coincidencia si cualquiera de las alternativas en los datos coincide con el patrón, si al menos una alternativa, que tiene una probabilidad mínima de representar las palabras reales pronunciadas, coincide con el patrón o utilizando otra técnica.
Si se determina, en la etapa 725, que no existe ninguna coincidencia, el proceso prosigue con la etapa 730, en donde se realiza una determinación en cuanto a si la probabilidad de patrones está agotada o no (p.e., si existen otros patrones con los que no han sido comparadas las alternativas). Si se determina, en la etapa 730, que los patrones están agotados, el proceso prosigue con la etapa 750, en donde se realiza una determinación en cuanto a si los datos están agotados (es decir, si existen otros datos con los que no se han comparado los patrones. Si se determina, en la etapa 750, que los datos no están agotados, el proceso prosigue con la etapa 710, en donde un siguiente segmento de datos se recupera desde el dispositivo de almacenamiento de ficheros electrónicos y el siguiente segmento de datos se compara con un patrón según se describió anteriormente. Si se determina, en la etapa 750, que los datos están agotados, finaliza el proceso.
Si se determina, en la etapa 730, que los patrones no están agotados, el proceso prosigue con la etapa 735, en donde el siguiente patrón en el conjunto obtenido en la etapa 705, se recupera desde el dispositivo de almacenamiento de ficheros electrónicos. A la conclusión de la etapa 735, el proceso retorna a la etapa 720, en donde los datos se hacen coincidir con el patrón recuperado, según se describió anteriormente.
Si se determina, en la etapa 725, que existe una coincidencia, el proceso prosigue con la etapa 740, en donde una indicación de una coincidencia se almacena en una memoria de ficheros electrónicos. Esta operación se puede realizar de cualquier manera adecuada, tal como almacenando la indicación en la memoria de ficheros electrónicos ilustrada en la Figura 3.
A la terminación de la etapa 740, el proceso prosigue con la etapa 745, en donde se determina una probabilidad de que la coincidencia entre las alternativas y el patrón indique que fue comunicado el concepto deseado. En una forma de realización, a cada patrón se le puede asignar una probabilidad de que representa el concepto deseado que se comunica. Volviendo a la oferta de vehículos de alquiler, a modo de ejemplo, se puede asignar a un patrón que incluye la pregunta “¿Le puedo ofrecer un vehículo de alquiler?” una más alta probabilidad de representar el concepto materializado por la oferta de vehículo de alquiler que un patrón que contiene la pregunta “¿Le gustaría disponer de un vehículo?”.
A la conclusión de la etapa 745, el proceso prosigue con la etapa 730, en donde se realiza una determinación en cuanto a si los patrones están agotados, o no, según se describió anteriormente. En este modo operativo, el proceso se repite hasta que se hayan comparado todos los patrones y datos considerados.
El análisis de datos, en esta manera, puede adoptar cualquiera de numerosas formas. Evidentemente, una forma puede ser la de determinar la tasa de transmisión en la que un concepto específico fue comunicado en un conjunto de llamadas telefónicas. Determinando la presencia de un patrón en las llamadas, y asignando a cada uno de dichos patrones una probabilidad de coincidencia con el concepto deseado, se puede determinar una estimación de la frecuencia con la que el concepto fue comunicado en las llamadas. De este modo, una empresa puede determinar, por ejemplo, con qué frecuencia se ofreció un vehículo de alquiler por sus representantes de telemarketing. Además, la empresa puede determinar con qué frecuencia cada representante hizo la oferta, proporcionando una oportunidad para evaluar el rendimiento del representante.
Una manifestación ejemplo de este tipo de análisis se ilustra en la Figura 8. La Figura 8 incluye una interfaz de informe 801, que se genera para visualizar la tasa en la que segmentos de datos cumplen los patrones específicos. La interfaz de informes 801 incluye entradas 805 y 810, que visualizan la tasa en la que segmentos de datos específicos (p.e., llamadas telefónicas) se asignan a cestos operativos, tales como los cestos que puedan construirse o modificarse con la interfaz 600 (Figura 6).
La entrada 805 visualiza un porcentaje de segmentos de datos que se asignan al cesto operativo “Venta realizada” especificada en la caja 621 (Figura 6) y aquellos en las que no se realizó ninguna venta. Los segmentos de datos categorizados como “venta no realizada” pueden representar segmentos de datos que no coincidieron con el cesto “Venta realizada” (es decir, no coinciden con los criterios establecidos en la interfaz 600) o pueden representar segmentos de datos que coinciden con otro cesto no ilustrado en la interfaz 600. De forma similar, la entrada 810 muestra segmentos de datos que se asignan a los cestos operativos “E-TKT aceptada”, “E-TKT declinada” y “E-TKT no ofrecida”. De este modo, un usuario puede determinar el porcentaje de segmentos de datos que cumplen uno o más criterios. Cualquier número adecuado y combinación de criterios se podrá proporcionar a este respecto.
Otra forma de análisis de datos puede incluir la determinación de una parte de datos que sea adecuada para una evaluación más estricta. Por ejemplo, en numerosos centros de llamadas, unos supervisores escuchan las llamadas después de que ocurran para obtener un conocimiento del tono de la comunicación en curso con los clientes. Sin embargo, numerosos centros de llamadas emplean un número relativamente pequeño de supervisores dado el volumen de llamadas que soporta el centro, por lo que una preselección de un subconjunto de llamadas de interés, para el escrutinio del supervisor, que puede ser de gran valor. Al determinar cuáles de las llamadas coinciden con los patrones que presentan la más alta probabilidad de representar un concepto específico, se puede determinar las llamadas que pueden ser adecuadas para el escrutinio de un supervisor. Como alternativa, determinando cuáles de las llamadas no coinciden con cualquier patrón, se pueden identificar también las llamadas que sean definitivamente no adecuadas para el escrutinio de un supervisor.
Otra forma de análisis de datos puede incluir el discernimiento de las relaciones entre cestos operativos. Numerosos centros de llamadas de servicio al cliente buscan identificar las cuestiones particulares que hicieron que los clientes se pusieran en contacto, de modo que la empresa pueda resolver esas cuestiones en el transcurso del tiempo. Si un gran porcentaje de llamadas, por ejemplo, están dirigidas a un componente de producto proporcionado por un proveedor particular, puede ser de utilidad conocer que un gran porcentaje de estas llamadas se relacionan también con la compra del producto desde un minorista particular. Estudiando las relaciones entre características semejantemente dispares, una empresa puede ser capaz de resolver cuestiones con mayor rapidez.
Otra forma de análisis de datos puede incluir la calibración de la evaluación de llamadas. Numerosos centros de llamadas evalúan a los representantes escuchando sus conversaciones con los clientes, con el fin de proporcionar una realimentación informativa sobre su tono y la manera en que proporcionaron información al cliente. Con frecuencia, se asigna una puntuación a un representante para la llamada en función de esta evaluación. Las puntuaciones conseguidas por el representante, en el transcurso del tiempo, se suelen utilizar para determinar la retribución del representante. Sin embargo, diferentes supervisores pueden puntuar una llamada dada de forma distinta, lo que significa que los rendimientos de los representantes se pueden evaluar de forma incoherente. En términos generales, se conoce que supervisores más expertos tienden a emitir puntuaciones muy similares para una llamada dada, lo que significa que las disparidades se suelen deber a una falta de formación profesional del supervisor. Con el seguimiento de la puntuación, por supervisores expertos, de llamadas en el transcurso del tiempo y estableciendo una correlación de la presencia de patrones particulares en las llamadas con las puntuaciones particulares, se puede crear una herramienta de formación profesional para supervisores menos expertos. Comparando las puntuaciones que los supervisores menos expertos emiten con las puntuaciones basadas en la presencia de patrones, un centro de llamadas puede calibrar la evaluación de las llamadas en el transcurso del tiempo.
Las formas de realización antes descritas de la presente invención se pueden poner en práctica en cualquiera de numerosas formas. Por ejemplo, la funcionalidad antes examinada se puede poner en práctica utilizando hardware, software o una de sus combinaciones. Cuando se pone en práctica en software, el código de software puede ejecutarse en cualquier procesador o conjunto de procesadores adecuado, si se proporciona por un ordenador único o se distribuye entre múltiples ordenadores. A este respecto, debe apreciarse que las funciones anteriormente examinadas del agente se pueden distribuir entre múltiples procesos y/o sistemas. Debe apreciarse, además, que cualquier componente o conjunto de componentes que realicen las funciones aquí descritas se pueden considerar genéricamente como uno o más controladores que regulan las funciones anteriormente examinadas. Uno o más controladores se pueden poner en práctica en numerosas maneras, tales como un hardware dedicado o empleando uno o más procesadores que se programen utilizando microcódigo o software para desempeñar las funciones anteriormente citadas. En donde un controlador almacena o proporciona datos para la operación del sistema, dichos datos se pueden almacenar en un depósito central, en una pluralidad de depósitos o en una de sus combinaciones.
Debe apreciarse que una puesta en práctica de las formas de realización de la presente invención comprende al menos un medio legible por ordenador (p.e., una memoria de ordenador, un disco flexible, un disco compacto, una cinta, etc.) codificado con un programa informático (esto es, una pluralidad de instrucciones) que, cuando se ejecutan en un procesador, realiza las funciones antes descritas de las formas de realización de la presente invención. El soporte legible por ordenador puede ser susceptible de transporte, de modo que el programa que almacena se pueda cargar en cualquier recurso de sistema informático para poner en práctica los aspectos de la presente invención aquí examinados. Además, debe apreciarse que la referencia a un programa informático que, cuando se ejecuta, realiza las funciones antes descritas, no está limitado a un programa de aplicación que se ejecuta en un ordenador central. Por el contrario, el término de programa informático se utiliza aquí, en un sentido genérico, para referencia a cualquier tipo de código de ordenador (p.e., microcódigo o software) que pueda emplearse para programar un procesador para poner en práctica los aspectos antes descritos de la presente invención.
Una vez descritas varias formas de realización de la invención con detalle, a los expertos de esta materia se les ocurrirán varias modificaciones y mejoras con facilidad. Dichas modificaciones y mejoras están previstas que estén dentro del alcance de protección de la invención. En consecuencia, la descripción anterior es solamente a modo de ejemplo y no está prevista como limitadora. La invención está limitada solamente según se define por las reivindicaciones siguientes.

Claims (10)

  1. REIVINDICACIONES
    1. Un método de determinación de la presencia de conceptos para un sistema que comprende una herramienta de reconocimiento de voz y una memoria de ficheros electrónicos, siendo la herramienta de reconocimiento de voz utilizable para procesar datos de voz que comprenden una frase reconociendo una pluralidad de alternativas para la frase, comprendiendo dicha frase al menos una palabra, almacenado la memoria de ficheros electrónicos al menos una parte de la pluralidad de alternativas y comprendiendo dicho método las etapas de:
    (A)
    la recepción de un patrón que comprende una estructura de datos que representa al menos una palabra a compararse con las alternativas almacenadas en la memoria de ficheros electrónicos;
    (B)
    la comparación del patrón con las alternativas almacenadas en la memoria de ficheros electrónicos y
    (C)
    una vez realizada una comparación satisfactoria entre el patrón y una de las alternativas, el almacenamiento de una indicación de una coincidencia entre el patrón y la alternativa correspondiente a la comparación satisfactoria, caracterizado porque la etapa (A) comprende, además, la recepción de una puntuación de ponderación que corresponde al patrón, comprendiendo la etapa (C), además, después de una comparación satisfactoria entre el patrón y una de las alternativas, la asignación de la puntuación de ponderación a la alternativa y en donde el método comprende, además, las etapas de:
    (D)
    proporcionar un cesto operativo, correspondiente a un concepto, teniendo el cesto operativo una puntuación de umbral y
    (E)
    almacenar una indicación de una relación entre la alternativa y el cesto cuando la puntuación de ponderación asignada a la alternativa cumple o excede la puntuación umbral.
  2. 2. El método según la reivindicación 1, en donde la etapa (A) comprende, además, la recepción de una pluralidad de patrones, teniendo cada uno de la pluralidad de patrones una puntuación de ponderación correspondiente, comprendiendo la etapa (B), además, la comparación de cada uno de la pluralidad de patrones con las alternativas almacenadas en una memoria de ficheros electrónicos comprendiendo, además, la etapa (C):
    (C1) después de una comparación satisfactoria entre cualquiera de los patrones y una de las alternativas, la asignación de la puntuación de ponderación correspondiente al patrón para la alternativa y
    (C2) la determinación de una puntuación de ponderación acumulativa para cada alternativa, representando la puntuación de ponderación acumulativa, para cada alternativa, una suma de puntuaciones de ponderación asignadas a la alternativa después de una comparación satisfactoria entre la alternativa y uno de los patrones y
    en donde la etapa (E) comprende, además, el almacenamiento de una indicación de una relación entre una de las alternativas y un cesto operativo cuando la puntuación de ponderación acumulativa, para la alternativa, cumple o excede la puntuación umbral.
  3. 3.
    El método según la reivindicación 1, en donde el sistema comprende, además, una interfaz de usuario gráfica (GUI) y en donde la etapa (A) comprende, además, la recepción del patrón de un usuario a través de la interfaz GUI.
  4. 4.
    El método según la reivindicación 1, en donde el sistema comprende, además, una interfaz GUI, comprendiendo la etapa (A), además, la recepción del patrón y la puntuación de ponderación que corresponde al patrón de un usuario a través de la interfaz GUI y la etapa (D) comprende, además, proporcionar un cesto operativo que se define por el usuario a través de la interfaz GUI.
  5. 5.
    El método según las reivindicaciones 1 o 2, en donde la etapa (C) comprende, además, el almacenamiento de la indicación de la coincidencia entre el patrón y la alternativa en la memoria de ficheros electrónicos.
  6. 6.
    El método según la reivindicación 1, en donde la memoria de ficheros electrónicos comprende una base de datos.
  7. 7.
    El método según la reivindicación 6, en donde la base de datos es una base de datos relacional y en donde la etapa
    (B) se realiza incluyendo una representación del patrón en una orden de consulta en Lenguaje de Consulta Estructurado (SQL) y la ejecución de la orden de consulta en SQL con respecto a la base de datos relacional.
  8. 8.
    El método según la reivindicación 1, en donde los datos de voz comprenden un registro de la frase.
  9. 9.
    El método según la reivindicación 8, en donde el registro se proporciona en un formato de fichero electrónico.
  10. 10.
    Al menos un medio de soporte legible por ordenador que tiene instrucciones registradas, cuyas instrucciones, cuando se ejecutan por al menos un ordenador, realizan el método según cualquiera de las reivindicaciones 1 a 9.
ES03770545T 2002-09-27 2003-09-26 Programa informático para análisis estadístico de la voz. Expired - Lifetime ES2367521T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US41428602P 2002-09-27 2002-09-27
US414286P 2002-09-27

Publications (1)

Publication Number Publication Date
ES2367521T3 true ES2367521T3 (es) 2011-11-04

Family

ID=32043373

Family Applications (1)

Application Number Title Priority Date Filing Date
ES03770545T Expired - Lifetime ES2367521T3 (es) 2002-09-27 2003-09-26 Programa informático para análisis estadístico de la voz.

Country Status (8)

Country Link
US (2) US7346509B2 (es)
EP (1) EP1556854B1 (es)
AT (1) ATE508455T1 (es)
AU (1) AU2003279037B2 (es)
CA (1) CA2499268C (es)
DE (1) DE60337022D1 (es)
ES (1) ES2367521T3 (es)
WO (1) WO2004029773A2 (es)

Families Citing this family (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9620082D0 (en) 1996-09-26 1996-11-13 Eyretel Ltd Signal monitoring apparatus
US7617094B2 (en) * 2003-02-28 2009-11-10 Palo Alto Research Center Incorporated Methods, apparatus, and products for identifying a conversation
US7738637B2 (en) * 2004-07-24 2010-06-15 Massachusetts Institute Of Technology Interactive voice message retrieval
US20060085414A1 (en) * 2004-09-30 2006-04-20 International Business Machines Corporation System and methods for reference resolution
WO2007084146A2 (en) * 2005-01-28 2007-07-26 Knowme, Inc. Call monitoring system
US20070094270A1 (en) * 2005-10-21 2007-04-26 Callminer, Inc. Method and apparatus for the processing of heterogeneous units of work
US8510109B2 (en) 2007-08-22 2013-08-13 Canyon Ip Holdings Llc Continuous speech transcription performance indication
US7856095B2 (en) * 2006-05-04 2010-12-21 Interactive Intelligence, Inc. System and method for providing a baseline for quality metrics in a contact center
US7562811B2 (en) 2007-01-18 2009-07-21 Varcode Ltd. System and method for improved quality management in a product logistic chain
WO2007129316A2 (en) 2006-05-07 2007-11-15 Varcode Ltd. A system and method for improved quality management in a product logistic chain
US7752043B2 (en) 2006-09-29 2010-07-06 Verint Americas Inc. Multi-pass speech analytics
US8031857B2 (en) * 2006-12-19 2011-10-04 Scenera Technologies, Llc Methods and systems for changing a communication quality of a communication session based on a meaning of speech data
US9973450B2 (en) 2007-09-17 2018-05-15 Amazon Technologies, Inc. Methods and systems for dynamically updating web service profile information by parsing transcribed message strings
US8528808B2 (en) 2007-05-06 2013-09-10 Varcode Ltd. System and method for quality management utilizing barcode indicators
US8914278B2 (en) * 2007-08-01 2014-12-16 Ginger Software, Inc. Automatic context sensitive language correction and enhancement using an internet corpus
EP2218042B1 (en) 2007-11-14 2020-01-01 Varcode Ltd. A system and method for quality management utilizing barcode indicators
US8676577B2 (en) * 2008-03-31 2014-03-18 Canyon IP Holdings, LLC Use of metadata to post process speech recognition output
US11704526B2 (en) 2008-06-10 2023-07-18 Varcode Ltd. Barcoded indicators for quality management
US9626968B2 (en) 2008-06-25 2017-04-18 Verint Systems Ltd. System and method for context sensitive inference in a speech processing system
US8719016B1 (en) 2009-04-07 2014-05-06 Verint Americas Inc. Speech analytics system and system and method for determining structured speech
GB2470606B (en) * 2009-05-29 2011-05-04 Paul Siani Electronic reading device
US20110044447A1 (en) * 2009-08-21 2011-02-24 Nexidia Inc. Trend discovery in audio signals
US9275640B2 (en) * 2009-11-24 2016-03-01 Nexidia Inc. Augmented characterization for speech recognition
CN102884518A (zh) 2010-02-01 2013-01-16 金格软件有限公司 尤其用于小键盘装置的使用互联网语料库的自动的上下文相关的语言校正
US10440402B2 (en) * 2011-01-26 2019-10-08 Afterlive.tv Inc Method and system for generating highlights from scored data streams
JP6066354B2 (ja) * 2011-07-01 2017-01-25 日本電気株式会社 信頼度計算の方法及び装置
US20130325451A1 (en) * 2012-05-31 2013-12-05 Elwha LLC, a limited liability company of the State of Delaware Methods and systems for speech adaptation data
US9495966B2 (en) * 2012-05-31 2016-11-15 Elwha Llc Speech recognition adaptation systems based on adaptation data
US20130325459A1 (en) * 2012-05-31 2013-12-05 Royce A. Levien Speech recognition adaptation systems based on adaptation data
US20130325474A1 (en) * 2012-05-31 2013-12-05 Royce A. Levien Speech recognition adaptation systems based on adaptation data
US20130325449A1 (en) * 2012-05-31 2013-12-05 Elwha Llc Speech recognition adaptation systems based on adaptation data
US9899040B2 (en) * 2012-05-31 2018-02-20 Elwha, Llc Methods and systems for managing adaptation data
US10431235B2 (en) * 2012-05-31 2019-10-01 Elwha Llc Methods and systems for speech adaptation data
US9620128B2 (en) * 2012-05-31 2017-04-11 Elwha Llc Speech recognition adaptation systems based on adaptation data
US20130325453A1 (en) * 2012-05-31 2013-12-05 Elwha LLC, a limited liability company of the State of Delaware Methods and systems for speech adaptation data
US8807422B2 (en) 2012-10-22 2014-08-19 Varcode Ltd. Tamper-proof quality management barcode indicators
US10452660B2 (en) * 2013-05-31 2019-10-22 International Business Machines Corporation Generation and maintenance of synthetic context events from synthetic context objects
WO2015105994A1 (en) 2014-01-08 2015-07-16 Callminer, Inc. Real-time conversational analytics facility
JP6649472B2 (ja) 2015-05-18 2020-02-19 バーコード リミティド 活性化可能な品質表示ラベルのための熱変色性インク証印
US20160358115A1 (en) * 2015-06-04 2016-12-08 Mattersight Corporation Quality assurance analytics systems and methods
JP6898298B2 (ja) 2015-07-07 2021-07-07 バーコード リミティド 電子品質表示指標
US9760838B1 (en) 2016-03-15 2017-09-12 Mattersight Corporation Trend identification and behavioral analytics system and methods
EP3613044A1 (en) * 2017-04-20 2020-02-26 Semantic Machines, Inc. Automated assistant data flow
US10623557B2 (en) * 2018-05-30 2020-04-14 International Business Machines Corporation Cognitive telephone fraud detection
CN110895936B (zh) * 2018-09-13 2020-09-25 珠海格力电器股份有限公司 基于家用电器的语音处理方法和装置
KR20190113693A (ko) * 2019-09-18 2019-10-08 엘지전자 주식회사 단어 사용 빈도를 고려하여 사용자의 음성을 인식하는 인공 지능 장치 및 그 방법
JP2022062874A (ja) * 2020-10-09 2022-04-21 ヤマハ株式会社 話者予測方法、話者予測装置、およびコミュニケーションシステム

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3931638A1 (de) 1989-09-22 1991-04-04 Standard Elektrik Lorenz Ag Verfahren zur sprecheradaptiven erkennung von sprache
US5660255A (en) * 1994-04-04 1997-08-26 Applied Power, Inc. Stiff actuator active vibration isolation system
US5828991A (en) * 1995-06-30 1998-10-27 The Research Foundation Of The State University Of New York Sentence reconstruction using word ambiguity resolution
US5852801A (en) * 1995-10-04 1998-12-22 Apple Computer, Inc. Method and apparatus for automatically invoking a new word module for unrecognized user input
US6073103A (en) * 1996-04-25 2000-06-06 International Business Machines Corporation Display accessory for a record playback system
US5864805A (en) * 1996-12-20 1999-01-26 International Business Machines Corporation Method and apparatus for error correction in a continuous dictation system
JP3402100B2 (ja) * 1996-12-27 2003-04-28 カシオ計算機株式会社 音声制御ホスト装置
US5909667A (en) * 1997-03-05 1999-06-01 International Business Machines Corporation Method and apparatus for fast voice selection of error words in dictated text
GB2323693B (en) * 1997-03-27 2001-09-26 Forum Technology Ltd Speech to text conversion
US6018708A (en) * 1997-08-26 2000-01-25 Nortel Networks Corporation Method and apparatus for performing speech recognition utilizing a supplementary lexicon of frequently used orthographies
US6198808B1 (en) * 1997-12-31 2001-03-06 Weblink Wireless, Inc. Controller for use with communications systems for converting a voice message to a text message
US20030154072A1 (en) * 1998-03-31 2003-08-14 Scansoft, Inc., A Delaware Corporation Call analysis
US6112172A (en) * 1998-03-31 2000-08-29 Dragon Systems, Inc. Interactive searching
US7043426B2 (en) * 1998-04-01 2006-05-09 Cyberpulse, L.L.C. Structured speech recognition
US6823307B1 (en) * 1998-12-21 2004-11-23 Koninklijke Philips Electronics N.V. Language model based on the speech recognition history
US6363346B1 (en) 1999-12-22 2002-03-26 Ncr Corporation Call distribution system inferring mental or physiological state
AU2001245927A1 (en) 2000-03-24 2001-10-08 Dragon Systems, Inc. Lexical analysis of telephone conversations with call center agents
GB0011798D0 (en) * 2000-05-16 2000-07-05 Canon Kk Database annotation and retrieval
WO2001097213A1 (en) * 2000-06-12 2001-12-20 L & H Holdings Usa, Inc. Speech recognition using utterance-level confidence estimates
US6856956B2 (en) 2000-07-20 2005-02-15 Microsoft Corporation Method and apparatus for generating and displaying N-best alternatives in a speech recognition system
US7243069B2 (en) * 2000-07-28 2007-07-10 International Business Machines Corporation Speech recognition by automated context creation
US20020087310A1 (en) * 2000-12-29 2002-07-04 Lee Victor Wai Leung Computer-implemented intelligent dialogue control method and system
US7191133B1 (en) * 2001-02-15 2007-03-13 West Corporation Script compliance using speech recognition
US7664641B1 (en) * 2001-02-15 2010-02-16 West Corporation Script compliance and quality assurance based on speech recognition and duration of interaction
US20020184019A1 (en) 2001-05-31 2002-12-05 International Business Machines Corporation Method of using empirical substitution data in speech recognition
US6970818B2 (en) * 2001-12-07 2005-11-29 Sony Corporation Methodology for implementing a vocabulary set for use in a speech recognition system
US20040204939A1 (en) * 2002-10-17 2004-10-14 Daben Liu Systems and methods for speaker change detection
FR2848688A1 (fr) * 2002-12-17 2004-06-18 France Telecom Identification de langue d'un texte
KR100668297B1 (ko) * 2002-12-31 2007-01-12 삼성전자주식회사 음성인식방법 및 장치
US8335688B2 (en) * 2004-08-20 2012-12-18 Multimodal Technologies, Llc Document transcription system training
US20080221882A1 (en) * 2007-03-06 2008-09-11 Bundock Donald S System for excluding unwanted data from a voice recording
US7831427B2 (en) * 2007-06-20 2010-11-09 Microsoft Corporation Concept monitoring in spoken-word audio

Also Published As

Publication number Publication date
EP1556854B1 (en) 2011-05-04
AU2003279037B2 (en) 2010-09-02
US7346509B2 (en) 2008-03-18
WO2004029773A3 (en) 2005-05-12
US20080208582A1 (en) 2008-08-28
CA2499268C (en) 2012-07-10
CA2499268A1 (en) 2004-04-08
EP1556854A2 (en) 2005-07-27
US8583434B2 (en) 2013-11-12
ATE508455T1 (de) 2011-05-15
US20040064316A1 (en) 2004-04-01
DE60337022D1 (de) 2011-06-16
WO2004029773A2 (en) 2004-04-08
EP1556854A4 (en) 2007-08-15
AU2003279037A1 (en) 2004-04-19

Similar Documents

Publication Publication Date Title
ES2367521T3 (es) Programa informático para análisis estadístico de la voz.
JP4880258B2 (ja) 信頼性スコアを使用した自然言語コール・ルーティングのための方法および装置
US7058565B2 (en) Employing speech recognition and key words to improve customer service
US7286978B2 (en) Creating a language model for a language processing system
US7383170B2 (en) System and method for analyzing automatic speech recognition performance data
US10157609B2 (en) Local and remote aggregation of feedback data for speech recognition
US20060004572A1 (en) Homonym processing in the context of voice-activated command systems
ES2394726T3 (es) Extracción automática de contenido semántico y generación de un documento estructurado a partir del habla
US7177817B1 (en) Automatic generation of voice content for a voice response system
US20040120472A1 (en) Voice response system
US20080319753A1 (en) Technique for training a phonetic decision tree with limited phonetic exceptional terms
CN105408890A (zh) 基于声音输入执行与列表数据有关的操作
US20090144051A1 (en) Method of providing personal dictionary
JP2009501942A (ja) 音声認識技術を利用した録音した音声内の選択的セキュリティマスキング
US7624010B1 (en) Method of and system for improving accuracy in a speech recognition system
US6285980B1 (en) Context sharing of similarities in context dependent word models
Lee et al. On natural language call routing
Cassani et al. Not just form, not just meaning: Words with consistent form-meaning mappings are learned earlier
KR20040086842A (ko) 문법 저작에서의 세그먼테이션 모호성의 자동 해결
Broux et al. An active learning method for speaker identity annotation in audio recordings
Farkhadov et al. Application of speech analytics in information space monitoring systems
US20140172859A1 (en) Method and apparatus for trade interaction chain reconstruction
WO2023238439A1 (ja) 分析装置、分析方法、および分析プログラム
Cox Speech and language processing for a constrained speech translation system.
OUKAS et al. A Novel Dataset for Arabic Speech Recognition Recorded by Tamazight Speakers