Saya sedang bekerja dengan algoritma pencocokan pola yang menghasilkan otomat keadaan terbatas asiklik yang menerima string teks yang diberikan dan semua substringnya. Algoritma FSA sedang dijalankan pada representasi simbolis dari aliran musik (misalnya, data MIDI). Aliran musik telah diproses untuk membagi setiap lagu menjadi 'segmen' tanpa label. FSA dihasilkan untuk setiap segmen di setiap lagu: jika saya memiliki lagu, masing-masing dibagi menjadi segmen, saya akan memiliki FSA yang terpisah.
Saya ingin membandingkan masing-masing FSA segmen dengan FSA lainnya di corpus saya. Tujuan utamanya adalah melakukan pengelompokan dalam ruang kesamaan dan menghasilkan 'kelas' segmen berdasarkan seberapa mirip metrik konstruksinya. Dengan demikian, yang menarik adalah tata bahasa yang mendefinisikan masing-masing FSA (sesuai kira-kira komponen tertentu dari konten musik di segmen). Apakah ada teknik yang mungkin baik untuk membandingkan sesuatu seperti ini? Divergensi-KL muncul dalam pikiran (misalnya, menggunakannya membandingkan distribusi lebih dari string yang terkait dengan OJK tertentu), meskipun mungkin ada teknik yang lebih baik / lebih efisien?
Juga, minta maaf jika pertanyaan ini mudah (1) mudah atau (2) menunjukkan kesalahpahaman yang lebih dalam atau (3) dijawab di tempat lain. Aku benar-benar gila, kawan!
Jawaban:
Anda mungkin memiliki lebih banyak keberuntungan dari sudut lain & melihat ke dalam penelitian tentang kesamaan karya musik, ada peneliti yang mempelajarinya, dan sementara pendekatan Anda dapat berhasil, ada beberapa pendekatan lain. ada database besar yang melihat banyak elemen / kriteria seperti lirik, genre, dll. misalnya proyek genom Musik .
kadang-kadang ketika ada berbagai macam algoritma, survei dapat membantu. berikut adalah dua survei tentang pencocokan grafik.
Struktur dan Semantik yang Cocok: Survei tentang Pola yang Sesuai Dengan Grafik Brian Gallagher
Grafik Kesamaan dan Pencocokan / Zager
sumber
Karena FSA adalah grafik berarah, pertanyaan Anda dapat digeneralisasi sebagai "algoritma untuk mengukur kesamaan antara grafik berarah". Pencarian google untuk "algoritma kesamaan grafik" memberikan halaman dan halaman hit, mungkin salah satu dari mereka akan cocok untuk tujuan Anda?
Setelah perbedaan antara FSA dan digraf umum adalah label tepi, atau simbol transisi dalam FSA, jadi Anda harus memodifikasi algoritma ini untuk memperhitungkannya.
sumber