Метод измерения «сходства» между грамматиками FSA?

10

Я работаю с алгоритмом сопоставления с образцом, который генерирует ациклический конечный автомат, который принимает заданную текстовую строку и все ее подстроки. Алгоритм FSA выполняется на символическом представлении музыкального потока (например, данных MIDI). Музыкальный поток был предварительно обработан, чтобы разделить каждую песню на немеченые «сегменты». FSA генерируется для каждого сегмента в каждой песне: если у меня есть песни, каждая из которых делится на у сегментов, у меня будет п Y отдельные FSAS.nyny

Я хотел бы сравнить FSA каждого сегмента с другими FSA в моем корпусе. Конечной целью было бы создать кластеризацию в пространстве сходства и создать «классы» сегментов в зависимости от того, насколько похожи их метрики построения. Таким образом, особый интерес представляют грамматики, которые определяет каждый FSA (соответствующие примерно определенные компоненты музыкального контента в сегменте). Существуют ли методы, которые могут быть полезны для сравнения чего-то подобного? На ум приходит KL-дивергенция (например, используя ее для сравнения распределения по строкам, связанным с данным FSA), хотя могут быть более эффективные / более эффективные методы?

Кроме того, приносим извинения, если этот вопрос либо (1) тривиально прост, либо (2) свидетельствует о каком-то более глубоком недопонимании, либо (3) ответил в другом месте. Я настоящий нуб, ребята!

кувырок
источник
3
Вам нужно будет сказать нам, что вы подразумеваете под «похожим». Вы должны выбрать метрику; не существует единственной правильной метрики, подходящей для всех целей. Без дополнительной информации мы не можем сказать вам, какой показатель использовать. Я предлагаю отредактировать вопрос, чтобы объяснить, почему вы хотите измерить сходство, что вы будете делать с результатами метрики сходства и какие исследования вы провели. Вы могли бы начать с рассмотрения мер сходства между базовыми строками, а не измерения сходства FSA, полученных из этих строк. Редактировать расстояние приходит на ум.
DW
Есть много строковых метрик ; который работает для вас, зависит. (Примечание: некоторые из строковых «метрик», перечисленных в этой статье, на самом деле не являются метриками в математическом смысле.)
Рафаэль
Строковые метрики хороши, но не совсем то, что мне нужно. Вместо того, чтобы сравнивать конкретные строки друг с другом, я хотел бы сравнить систему правил (формальные грамматики / FSA), которые могли бы создать эти строки. Я признаю, что существует бесконечно много грамматик, которые могут генерировать любую конкретную строку, поэтому я ограничиваю свой поиск грамматикой (FSA), построенной с использованием определенного набора правил. Я предполагаю, что могут быть случаи, когда две отдельные строки формально похожи в соответствии с заданной метрикой строки, но грамматика, необходимая для их создания, совершенно иная
переворот
Из постановки задачи каждый FSA принимает одну строку и все ее подстроки. По сути, этот FSA характеризуется самой длинной строкой, которую он принимает. Вся его структура вытекает из этого. Следовательно, нет смысла сравнивать FSA, а не сравнивать непосредственно строки, из которых они построены. Возможно, ваша техника построения FSA подчеркивает некоторые особенности, которые вы считаете важными. Затем нам нужно знать, как они могут выглядеть, чтобы понять, что имеет значение. Это возвращается к: что похоже, что метрика. Как таковой, этот вопрос не имеет смысла.
Бабу

Ответы:

1

вам, возможно, повезет больше с другой точки зрения, если вы изучаете сходство музыкальных произведений, есть исследователи, которые изучают это, и хотя ваш подход может работать, есть и другие подходы. Существуют большие базы данных, в которых рассматриваются многие элементы / критерии, такие как тексты песен, жанры и т. д. Например, проект «Музыкальный геном» .

иногда, когда есть большое разнообразие алгоритмов, опрос может помочь. Вот два опроса по сопоставлению графиков.

ВЗН
источник
0

Поскольку FSA являются ориентированными графами, ваш вопрос можно обобщить как «алгоритм измерения подобия между ориентированными графами». Поиск в Google по «алгоритму подобия графиков» дает страницы и страницы совпадений, может быть, один из них подойдет для ваших целей?

Как только разница между FSA и общими орграфиками является метками ребер или символами перехода в FSA, вам придется изменить эти алгоритмы, чтобы учесть это.

Майк Оунсворт
источник
Такой метод пропустит некоторые ключевые свойства. Например, вы, вероятно, хотите, чтобы разные представления одного и того же языка имели полное сходство, но сравнение графиков может привести к тому, что два автомата для одного и того же языка будут отличаться.
Jmite