Phương pháp đo lường "sự giống nhau" giữa các ngữ pháp của FSA?


10

Tôi đang làm việc với một thuật toán khớp mẫu để tạo ra một máy tự động trạng thái hữu hạn theo chu kỳ chấp nhận một chuỗi văn bản nhất định và tất cả các chuỗi con của nó. Thuật toán FSA đang được chạy trên một biểu tượng tượng trưng của luồng nhạc (ví dụ: dữ liệu MIDI). Luồng âm nhạc đã được xử lý trước để chia mỗi bài hát thành các "phân đoạn" không được gắn nhãn. Một FSA được tạo ra cho từng phân khúc trong mỗi bài hát: nếu tôi có bài hát, mỗi chia thành phân đoạn, tôi sẽ có FSAs riêng biệt.y n ynyny

Tôi muốn so sánh FSA của từng phân khúc với các FSA khác trong kho của tôi. Mục tiêu cuối cùng sẽ là phân cụm trong một không gian tương tự và đưa ra 'các lớp' các phân đoạn theo mức độ tương tự của các số liệu xây dựng của chúng. Do đó, mối quan tâm đặc biệt là các ngữ pháp mà mỗi FSA định nghĩa (tương ứng gần như một số thành phần nhất định của nội dung âm nhạc trong phân khúc). Có kỹ thuật nào có thể tốt để so sánh một cái gì đó như thế này không? Phân kỳ KL xuất hiện trong tâm trí (ví dụ: sử dụng nó để so sánh phân phối trên các chuỗi liên kết với một FSA nhất định), mặc dù có thể có các kỹ thuật tốt hơn / hiệu quả hơn?

Ngoài ra, xin lỗi nếu câu hỏi này là (1) dễ dàng tầm thường hoặc (2) chỉ ra một số hiểu lầm sâu sắc hơn hoặc (3) trả lời ở nơi khác. Tôi là một người thực sự, folks!


3
Bạn sẽ cần cho chúng tôi biết ý của bạn là "tương tự". Bạn phải chọn số liệu; không có một số liệu đúng nào phù hợp cho tất cả các mục đích. Nếu không có thêm thông tin, chúng tôi không thể cho bạn biết nên sử dụng số liệu nào. Tôi đề nghị chỉnh sửa câu hỏi để giải thích lý do tại sao bạn muốn đo độ tương tự, bạn sẽ làm gì với kết quả của số liệu tương tự và nghiên cứu bạn đã thực hiện. Bạn có thể bắt đầu bằng cách xem xét các số đo tương đồng giữa các chuỗi bên dưới, thay vì đo các điểm tương đồng của các FSA có nguồn gốc từ các chuỗi đó. Chỉnh sửa khoảng cách đến với tâm trí.
DW

nhiều số liệu chuỗi ; mà làm việc cho bạn phụ thuộc. (Lưu ý: một số chuỗi "số liệu" được liệt kê trong bài viết đó không thực sự là số liệu theo nghĩa toán học.)
Raphael

Chuỗi số liệu là tốt, nhưng không hoàn toàn những gì tôi sau. Thay vì so sánh các chuỗi cụ thể với nhau, tôi muốn so sánh hệ thống các quy tắc (ngữ pháp chính thức / FSA) có thể tạo ra các chuỗi đó. Tôi nhận ra rằng có vô số ngữ pháp có thể tạo ra bất kỳ chuỗi cụ thể nào, vì vậy tôi đang hạn chế tìm kiếm một ngữ pháp (FSA) được xây dựng bằng một bộ quy tắc cụ thể. Tôi tưởng tượng có thể có trường hợp hai chuỗi riêng lẻ giống nhau theo một số liệu chuỗi đã cho, nhưng các ngữ pháp cần thiết để tạo ra chúng hoàn toàn khác nhau
lật

Từ tuyên bố của vấn đề, mỗi FSA đang chấp nhận một chuỗi và tất cả các chuỗi con của nó. Về cơ bản, FSA này được đặc trưng bởi chuỗi dài nhất mà nó chấp nhận. Toàn bộ cấu trúc của nó bắt nguồn từ nó. Do đó, có rất ít điểm trong việc so sánh FSA thay vì so sánh trực tiếp các chuỗi chúng được xây dựng từ đó. Có thể là kỹ thuật xây dựng FSA của bạn nhấn mạnh một số tính năng mà bạn cho là quan trọng. Sau đó, chúng ta cần biết những gì họ có thể trông như thế nào để hiểu những gì quan trọng. Nó quay trở lại: những gì tương tự, những gì số liệu. Như nó là, câu hỏi này không có ý nghĩa.
babou

Câu trả lời:


1

bạn có thể gặp nhiều may mắn hơn từ một góc độ khác và nghiên cứu về sự tương đồng của âm nhạc, có những nhà nghiên cứu đang nghiên cứu điều đó, và trong khi phương pháp của bạn có thể hoạt động, có những cách tiếp cận khác. có những cơ sở dữ liệu lớn xem xét nhiều yếu tố / tiêu chí như lời bài hát, thể loại, v.v., ví dụ như dự án bộ gen âm nhạc .

đôi khi khi có nhiều thuật toán khác nhau, một cuộc khảo sát có thể giúp ích. đây là hai khảo sát về kết hợp đồ thị


0

Vì các FSA là đồ thị có hướng, nên câu hỏi của bạn có thể được khái quát thành "thuật toán để đo độ tương tự giữa các đồ thị có hướng". Một tìm kiếm google cho "thuật toán tương tự đồ thị" đưa ra các trang và trang lượt truy cập, có thể một trong số đó sẽ phù hợp với mục đích của bạn?

Khi sự khác biệt giữa các FSA và các sơ đồ tổng quát là các nhãn cạnh hoặc các ký hiệu chuyển tiếp trong các FSA, do đó bạn sẽ phải sửa đổi các thuật toán này để tính đến điều đó.


Một phương pháp như thế này sẽ bỏ lỡ một số thuộc tính quan trọng. Ví dụ, bạn có thể muốn các biểu diễn khác nhau của cùng một ngôn ngữ có sự tương đồng hoàn toàn, nhưng so sánh các biểu đồ có thể báo cáo hai automata cho cùng một ngôn ngữ là không giống nhau.
jmite
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.