2012-01-25 44 views
5

Tôi hiện đang làm việc trên một dự án mà tôi nghĩ rằng có thể đưa ra các biểu diễn ngữ âm của các từ bằng nhiều ngôn ngữ khác nhau sẽ thực sự hữu ích. Tôi biết Aspell làm điều này khá tốt, nhưng tôi không nghĩ rằng có một cách rất dễ dàng để có được biểu diễn ngữ âm của họ, vì vậy tôi hỏi: có một số gói tốt khác cho việc biểu diễn ngữ âm của một từ cho từ và ngôn ngữ không/phương ngữ/giọng/bất kể nó đến từ đâu?Gói tốt cho Đại diện ngữ âm cho các ngôn ngữ của con người là gì?

Điều này không cần phải bằng bất kỳ ngôn ngữ cụ thể nào, nhưng nếu đó là ngôn ngữ Perl, điều đó sẽ tốt nhất.

Tôi đã thử Soundex, Metaphone, DoubleMetaphone và mọi thứ khác trong Text::Phonetic và không công cụ nào trong số đó là rất tốt - chắc chắn không ở đâu tốt bằng các thứ trong Aspell.

+0

Sản xuất phát âm theo ngữ âm mục tiêu cuối cùng hoặc phương tiện để kết thúc khác? – Schwern

+0

Các phương tiện để kết thúc khác. Cuối cùng, mục tiêu là sử dụng điều này trong việc thực hiện thuật toán tự động hoàn thành mờ. – Eli

+0

Ôi trời, thật là khó. Không phải là ít nhất là bởi vì một phần từ có thể âm thanh rất khác nhau. "t", "th", "thro", "throu", "throug", "through". Tôi nghi ngờ nó sẽ mất rất nhiều đào tạo một AI cho xác suất hơn là sử dụng ngữ âm học. Bạn có thể muốn tìm một dịch vụ cung cấp dịch vụ đó. – Schwern

Trả lời

1

Điều đầu tiên cần lưu ý là Soundex. Tất nhiên, cũng có một mô-đun Perl Soundex. Trong khi điều này được thiết kế để tạo ra một "key" âm thanh từ đầu vào nó có thể hữu ích trong việc ánh xạ các biến thể khác nhau cho một khóa chung.

+0

Xin lỗi, tôi nên đề cập đến, tôi đã thử mọi thứ trong Văn bản :: Ngữ âm, bao gồm Soundex – Eli

+4

Với tư cách là tác giả của Text :: Metaphone, tôi có thể nói rằng nó không phải là một sự thể hiện rất tốt về cách mọi thứ được phát âm như thế nào. từ nghe phát âm đến loo vua lên những gì từ nó có thể được. – Schwern

1

Có một gói văn bản :: Aspell trong CPAN. Có thể hữu ích.

+0

Tôi nhận thấy rằng trước đây, nhưng tôi không thể tìm ra cách để giao tiếp trực tiếp với các biểu diễn ngữ âm của Aspell thông qua nó: - \ – Eli

0

Tôi đang cố gắng tạo một hệ thống đề xuất/chỉnh sửa kiểu google, nó không chỉ dựa trên ngữ âm hoặc AI mà còn dựa trên số lượng lớn người dùng nhập vào. Khi người dùng thực hiện tìm kiếm và không nhấp vào bất kỳ liên kết nào nhưng sửa lại đầu vào và tìm kiếm một lần nữa, nó cung cấp cho google rất nhiều dữ liệu về văn bản "chính xác" so với thử nghiệm ngữ âm hoặc đối sánh từ điển. Vấn đề chính là ngôn ngữ của con người, không phải là mọi người nói hoặc viết một cách xác định, hãy để một mình bằng nhiều ngôn ngữ. Tất nhiên, tôi có thể sai, nhưng nếu bạn cần một thư viện mà cho phép của bạn làm điều này:

getLanguage(string); 

Tôi muốn nhìn thấy làm việc đó, thực sự.

+0

Yup. Có rất nhiều dữ liệu người dùng cũng quan trọng. Tôi đã có nó, và nó là một phần quan trọng của hệ thống. Biểu diễn ngữ âm là một phần quan trọng, và đó là phần tôi không có ngay bây giờ. – Eli

+0

Vâng, bạn được thiết lập cho một khởi đầu tốt, đi theo cách khác xung quanh chỉ là đau đớn. – AlfredoVR

Các vấn đề liên quan