Estoy trabajando con un algoritmo de coincidencia de patrones que genera un autómata de estado finito acíclico que acepta una cadena de texto dada y todas sus subcadenas. El algoritmo FSA se ejecuta en una representación simbólica de una transmisión de música (por ejemplo, datos MIDI). La transmisión de música se ha preprocesado para dividir cada canción en 'segmentos' sin etiqueta. Se genera una FSA para cada segmento en cada canción: si tengo canciones, cada una dividida en segmentos, tendré FSA separadas.
Me gustaría comparar la FSA de cada segmento con las otras FSA de mi corpus. El objetivo final sería agrupar dentro de un espacio de similitud y crear 'clases' de segmentos de acuerdo con lo similares que sean sus métricas de construcción. Por lo tanto, de particular interés son las gramáticas que define cada FSA (que corresponden a ciertos componentes del contenido musical en el segmento) ¿Existen técnicas que podrían ser buenas para comparar algo como esto? Me viene a la mente la divergencia de KL (p. Ej., Al usarla, comparar la distribución sobre las cadenas asociadas con una determinada FSA), aunque puede haber técnicas mejores / más eficientes.
Además, disculpas si esta pregunta es (1) trivialmente fácil o (2) indicativa de algún malentendido más profundo o (3) respondida en otra parte. Soy un verdadero nudo, amigos!
fuente
Respuestas:
es posible que tenga más suerte desde otro ángulo y al investigar la similitud de la pieza musical, hay investigadores que lo estudian y, aunque su enfoque puede funcionar, existen otros enfoques. existen grandes bases de datos que analizan muchos elementos / criterios, como letras, géneros, etc., por ejemplo, proyecto de genoma musical .
a veces, cuando hay una gran variedad de algoritmos, una encuesta puede ayudar. Aquí hay dos encuestas sobre correspondencia de gráficos.
Estructura de coincidencia y semántica: una encuesta sobre coincidencia de patrones basados en gráficos Brian Gallagher
Similitud gráfica y correspondencia / Zager
fuente
Dado que los FSA son gráficos dirigidos, su pregunta puede generalizarse como "algoritmo para medir la similitud entre los gráficos dirigidos". Una búsqueda en Google de "algoritmo de similitud de gráficos" proporciona páginas y páginas de resultados, ¿tal vez una de ellas sería adecuada para sus propósitos?
Una vez que la diferencia entre los FSA y los dígrafos generales son las etiquetas de borde, o los símbolos de transición en los FSA, entonces tendría que modificar estos algoritmos para tener eso en cuenta.
fuente