2011-12-05 60 views
9

Tại sao nhận dạng giọng nói lại khó khăn như vậy? Thách thức cụ thể là gì? Tôi đã đọc qua một số question on speech recognition, một phần đã trả lời một số câu hỏi của tôi, nhưng câu trả lời phần lớn là giai thoại hơn là kỹ thuật. Nó cũng vẫn không thực sự trả lời tại sao chúng ta vẫn không thể ném thêm phần cứng vào vấn đề.Tại sao nhận dạng giọng nói lại khó?

Tôi đã thấy các công cụ thực hiện giảm nhiễu tự động bằng lưới thần kinh và phân tích FFT xung quanh với kết quả xuất sắc, vì vậy tôi không thể thấy lý do tại sao chúng tôi vẫn đang vật lộn với tiếng ồn ngoại trừ các trường hợp khó khăn như tiếng ồn nền ồn ào hoặc nhiều nguồn giọng nói.

Ngoài việc này, không phải chỉ là trường hợp sử dụng lưới thần kinh rất lớn, phức tạp, được đào tạo tốt để xử lý, sau đó ném phần cứng vào nó để làm cho nó hoạt động đủ nhanh?

Tôi hiểu rằng dấu trọng âm là một vấn đề và tất cả chúng ta đều có các từ thông tục, nhưng các công cụ nhận dạng này vẫn nhận được những điều cơ bản sai khi người đó nói bằng giọng Mỹ hoặc Anh chậm và rõ ràng.

Vì vậy, thỏa thuận là gì? Những vấn đề kỹ thuật nào khiến cho máy tính của tôi vẫn khó hiểu?

+0

Đối với người đánh dấu để đóng này là tắt chủ đề/không xây dựng: Tôi không thấy lý do của bạn. Tôi yêu cầu một câu trả lời cụ thể, không phải là một danh sách hoặc phản ứng chủ quan. Nó cũng là một thách thức được gắn kết chặt chẽ trong lĩnh vực lập trình, vì nó là một thách thức lập trình cụ thể đã tồn tại trong một thời gian dài, tức là "làm cho một số mã lắng nghe lời tôi và hiểu chúng". Bạn có thể giải thích lý do tại sao bạn đã bỏ phiếu để đóng? – Polynomial

+0

Nó không phải là. Bạn có cần gặp chuyên gia trị liệu ngôn ngữ không? (Họ thậm chí có nhận dạng giọng nói không?) –

+0

Tôi chưa đánh dấu để đóng, nhưng tôi có thể thấy lý do tại sao những người khác có. Nó có thể phù hợp với: * câu hỏi này sẽ có khả năng thu hút ý kiến, tranh luận, tranh luận, bỏ phiếu, hoặc thảo luận mở rộng. * –

Trả lời

11

Một số lý do kỹ thuật:

  • Bạn cần rất nhiều dữ liệu huấn luyện tagged , có thể khó đạt được khi bạn tham gia vào ount tất cả các điểm nhấn khác nhau, âm thanh, vv ..
  • Mạng nơron và độ dốc tương tự các thuật toán không mở rộng tốt - chỉ làm cho chúng lớn hơn (nhiều lớp, nhiều nút hơn, nhiều kết nối hơn) không đảm bảo rằng chúng sẽ học để giải quyết vấn đề của bạn trong một thời gian hợp lý. Mở rộng quy mô học máy để giải quyết các nhiệm vụ phức tạp vẫn là một vấn đề khó giải quyết.
  • Nhiều phương pháp tiếp cận máy học yêu cầu dữ liệu đã chuẩn hóa (ví dụ: điểm bắt đầu đã xác định, bước chuẩn, tốc độ chuẩn). Chúng không hoạt động tốt khi bạn di chuyển ra ngoài các thông số này. Có những kỹ thuật như mạng thần kinh xoắn ốc vv để giải quyết những vấn đề này, nhưng tất cả chúng đều thêm độ phức tạp và đòi hỏi rất nhiều chuyên gia tinh chỉnh.
  • Kích thước dữ liệu cho lời nói có thể khá lớn - kích thước của dữ liệu làm cho các vấn đề kỹ thuật và yêu cầu tính toán khó khăn hơn một chút.
  • Dữ liệu lời nói thường cần phải là được diễn giải trong ngữ cảnh để hiểu đầy đủ - bộ não con người rất tốt ở "điền vào chỗ trống" dựa trên ngữ cảnh đã hiểu. Thiếu thông tin và giải thích khác nhau được điền vào với sự giúp đỡ của các phương thức khác (như tầm nhìn). Các thuật toán hiện tại không hiểu ngữ cảnh nên chúng không thể sử dụng thuật ngữ này để giúp diễn giải dữ liệu lời nói. Điều này đặc biệt có vấn đề vì nhiều âm/từ không rõ ràng trừ khi được đưa vào ngữ cảnh.

Nhìn chung, nhận dạng giọng nói là một nhiệm vụ phức tạp. Không khó giải quyết được, nhưng đủ cứng đến nỗi bạn không nên mong đợi bất kỳ phép lạ đột ngột nào và chắc chắn sẽ khiến nhiều người tìm kiếm lại bận rộn trong nhiều năm nữa .....

+0

Đây là loại thông tin tôi đang tìm kiếm. Rất thú vị. Bạn có bất kỳ trích dẫn nào tôi có thể đọc không? – Polynomial

+0

Không có bất kỳ tham chiếu cụ thể nào, nhưng tôi nghĩ rằng một chút Googling sẽ giúp bạn tìm thấy một số chi tiết về hầu hết các chủ đề này. Đáng chú ý là rất nhiều vấn đề thường gặp với máy học nói chung, không chỉ là lời nói. – mikera

2

Con người sử dụng nhiều hơn tai của mình khi nghe, họ sử dụng kiến ​​thức mà họ có về loa và chủ thể. Các từ không được tự ý sắp xếp theo thứ tự , có cấu trúc ngữ pháp và dự phòng mà con người sử dụng để dự đoán các từ chưa được nói. Hơn nữa, thành ngữ và cách chúng ta thường ' nói mọi thứ làm cho dự đoán dễ dàng hơn.

Trong Nhận dạng giọng nói, chúng tôi chỉ có tín hiệu lời nói. Tất nhiên chúng ta có thể xây dựng một mô hình cho cấu trúc ngữ pháp và sử dụng một số kiểu thống kê để cải thiện dự đoán, nhưng vẫn còn vấn đề làm thế nào để mô hình kiến ​​thức thế giới , kiến ​​thức của người nói và kiến ​​thức bách khoa. Chúng tôi, tất nhiên, có thể không mô hình kiến ​​thức thế giới đầy đủ, nhưng một câu hỏi thú vị là số lượng chúng tôi thực sự cần trong ASR để đo lường mức độ hiểu biết của con người đối với con người .

Speech được thốt ra trong một môi trường âm thanh, một chiếc đồng hồ tích tắc, một ồn ào máy tính , một đài phát thanh chơi đâu đó dọc theo hành lang, một loa con người trong nền vv Điều này thường được gọi là tiếng ồn, tức là, không mong muốn thông tin trong tín hiệu lời nói. Trong Nhận dạng giọng nói, chúng tôi phải xác định và lọc ra những tiếng ồn này từ tín hiệu lời nói. ngôn ngữ được nói = Viết ngôn ngữ

1: Liên tục bài phát biểu

2: Kênh biến

3: Loa biến

4: Nói kiểu

5: Tốc độ ngôn luận

6: Sự mơ hồ

Tất cả các điểm này phải được xem xét khi xây dựng nhận dạng giọng nói, Đó là lý do tại sao nó khá khó khăn.

------------- Refered từ http://www.speech.kth.se/~rolf/gslt_papers/MarkusForsberg.pdf

2

Rất nhiều vấn đề quan trọng trong nhận dạng giọng nói không liên quan trực tiếp đến ngôn ngữ riêng của mình:

  • khác người (phụ nữ , nam giới, trẻ em, người già, vv) có giọng nói khác nhau
  • đôi khi cùng một người có vẻ khác nhau ví dụ như khi người đó có bị cảm lạnh
  • nền khác nhau tiếng ồn
  • bài phát biểu hàng ngày đôi khi có chứa các từ từ các ngôn ngữ khác (như bạn có từ tiếng Đức Kindergarden ở Hoa Kỳ/tiếng Anh)
  • một số người không phải từ quốc gia đó đã học ngôn ngữ (chúng thường khác nhau)
  • một số người nói nhanh hơn, người khác nói chậm
  • chất lượng của microphone
    , vv

Giải quyết những điều này luôn được khá khó khăn ... trên đầu trang của rằng bạn có ngôn ngữ/cách phát âm để chăm sóc ...

Để tham khảo, hãy xem bài viết trên Wikipedia http://en.wikipedia.org/wiki/Speech_recognition - nó có một cái nhìn tổng quan tốt bao gồm một số liên kết và tài liệu tham khảo cuốn sách là một điểm khởi đầu tốt ...

Từ POV kỹ thuật "xử lý âm thanh" chỉ là một bước dài quá trình ... chúng ta hãy nói rằng âm thanh là "crytal rõ ràng", sau đó một số các khía cạnh được đề cập ở trên (như có lạnh, có một sự pha trộn trong ngôn ngữ vv) vẫn cần phải được giải quyết. Tất cả điều này có nghĩa là để nhận dạng giọng nói tốt, bạn cần phải có một mô hình ngôn ngữ đủ để tính các khác biệt nhỏ (như "ăn" so với "tám") thường liên quan đến một số phân tích ngữ cảnh (tức là ngữ nghĩa và thực tế/kiến ​​thức thế giới, xem http://en.wikipedia.org/wiki/Semantic%5Fgap) v.v.

Vì hầu như tất cả các ngôn ngữ liên quan đã phát triển và không được thiết kế như mô hình toán học, về cơ bản bạn cần phải "đảo ngược kỹ năng" một mô hình là một thách thức lớn IMHO. Đã làm việc với lưới thần kinh, tôi có thể đảm bảo với bạn rằng trong khi chúng cung cấp kết quả tốt trong một số trường hợp chúng không phải là "công cụ ma thuật" ... gần như luôn luôn là một mạng thần kinh tốt được thiết kế và tối ưu hóa một cách cẩn thận cho các yêu cầu cụ thể. .. trong bối cảnh này nó cần cả kinh nghiệm/kiến ​​thức về ngôn ngữ và mạng lưới thần kinh PLUS đào tạo mở rộng để đạt được kết quả có thể sử dụng ...

+0

Chỉ cần chỉnh sửa nhỏ; trên đoạn thứ 4 bạn đã viết sai chính tả "tinh thể rõ ràng". – ozanmuyes

2

Tôi nghi ngờ bạn quan tâm đến nhận dạng giọng nói 'liên tục', người nói nói câu (không phải từ đơn) ở tốc độ bình thường.

Vấn đề không đơn giản là phân tích tín hiệu, nhưng cũng có một thành phần ngôn ngữ tự nhiên lớn. Hầu hết chúng ta hiểu ngôn ngữ nói không phải bằng cách phân tích mọi thứ mà chúng ta nghe, vì điều đó sẽ không bao giờ hoạt động bởi vì mỗi người nói khác nhau, âm vị bị đàn áp, cách phát âm khác nhau, v.v. Chúng ta chỉ giải thích một phần những gì chúng ta nghe và phần còn lại là 'nội suy' bởi bộ não của chúng ta khi bối cảnh của những gì đang được nói được thiết lập. Khi bạn không có bối cảnh, rất khó để hiểu ngôn ngữ nói.

1

Đã một thập kỷ kể từ khi tôi học một lớp ngôn ngữ ở đại học, nhưng từ những gì tôi nhớ lại ngôn ngữ có thể được chia thành phonemes. Bộ xử lý ngôn ngữ làm hết sức mình để xác định các âm vị này, nhưng chúng là duy nhất cho mỗi cá nhân. Ngay cả khi chúng bị phá vỡ, chúng phải được tập hợp lại thành một cấu trúc có ý nghĩa.

Ví dụ này, con người hoàn toàn có khả năng đọc mà không có dấu chấm câu và không có chữ cái viết hoa và không có dấu cách. Phải mất một giây, nhưng chúng tôi có thể làm điều đó khá dễ dàng. Đây là loại máy tính phải xem xét khi nó nhận được một khối âm vị. Tuy nhiên, các máy tính gần như không phân tích tốt dữ liệu này. Một trong những lý do là rất khó cho các máy tính có ngữ cảnh. Con người thậm chí có thể hiểu trẻ sơ sinh mặc dù thực tế rằng âm vị của chúng có thể hoàn toàn sai.

Ngay cả khi bạn có tất cả các âm vị chính xác, sau đó sắp xếp chúng thành một đơn hàng có ý nghĩa cũng rất khó.

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