Tôi cần tìm một cách khá hiệu quả để phát hiện các âm tiết trong một từ. Ví dụ,
Vô hình -> in-vi-sib-le
Có một số quy tắc âm tiết có thể được sử dụng:
V CV VC CVC CCV CCCV CVCC
* trong đó V là nguyên âm và C là phụ âm. Ví dụ,
Phát âm (5 Pro-nun-ci-a-tion; CV-CVC-CV-V-CVC)
Tôi đã thử một vài phương pháp, trong đó sử dụng regex (chỉ giúp nếu bạn muốn đếm các âm tiết) hoặc định nghĩa quy tắc mã hóa cứng (một cách tiếp cận mạnh mẽ chứng tỏ là rất không hiệu quả) và cuối cùng sử dụng một automata trạng thái hữu hạn (đã làm không có kết quả với bất cứ điều gì hữu ích).
Mục đích của ứng dụng của tôi là tạo ra một từ điển của tất cả các âm tiết trong một ngôn ngữ nhất định. Từ điển này sau đó sẽ được sử dụng cho các ứng dụng kiểm tra chính tả (sử dụng phân loại Bayes) và văn bản để tổng hợp giọng nói.
Tôi sẽ đánh giá cao nếu ai đó có thể cho tôi lời khuyên về một cách khác để giải quyết vấn đề này bên cạnh các phương pháp trước đây của tôi.
Tôi làm việc trong Java, nhưng bất kỳ mẹo nào trong C / C ++, C #, Python, Perl ... đều phù hợp với tôi.