Đăng ký Đăng nhập
Trang chủ Nghiên cứu công nghệ nhận dạng tiếng nói và ứng dụng xây dựng hệ thống hỗ trợ dị...

Tài liệu Nghiên cứu công nghệ nhận dạng tiếng nói và ứng dụng xây dựng hệ thống hỗ trợ dịch cabin

.PDF
57
454
115

Mô tả:

LỜI CẢM ƠN Trước khi bước vào quá trình trình bày chi tiết về quá trình học tập và thực hiện đồ án tốt nghiệp của bản thân mình trong thời gian qua. Cho phép tôi được gửi lời cảm ơn đến những người đã bên tôi, động viên và giúp đỡ tôi trong quá trình thực hiện nghiên cứu, tìm hiểu về đề tài cũng như quá trình hoàn thiện đề tài, để bản thân tôi có thể hoàn thành đúng thời hạn với đề tài nghiên cứu của bản thân. Cho phép tôi gửi lời cảm ơn tới Ban giám hiệu trường Đại học Công nghệ thông tin và truyền thông và các thầy cô đã và đang tham gia công tác giảng dạy tại trường đã cố gắng nỗ lực để có thể tạo một môi trường học tập tốt nhất cho bản thân tôi và các bạn sinh viên trong trường với những trang thiết bị hỗ trợ luôn được chú ý nâng cấp hiện đại hơn qua mỗi năm. Cho phép tôi gửi lời cảm ơn tới những thầy cô trong bộ môn Hệ thống thông tin – Khoa công nghệ thông tin – Trường đại học Côg nghệ thông tin và truyền thông đã hết mình giảng dạy, truyền đạt kiến thức chuyên ngành và định hướng cho tôi cùng các bạn sinh viên về những hướng đi của bản thân làm sao để phù hợp với năng lực của bản thân. Cho phép tôi gửi lời cảm ơn chân thành tới TS. Nguyễn Văn Tới – người thầy hướng dẫn tôi thực hiện đồ án tốt nghiệp này. Cảm ơn thầy đã tạo điều kiện và xây dựng định hướng kĩ càng hơn cho bản thân tôi để tôi có thể thực hiện đề tài nghiên cứu của mình một các tốt nhất. Tiếp theo cho tôi gửi lời cảm ơn chân thành tới PGS.TS. Nguyễn Ái Việt – người đã tận tình chỉ bảo, định hướng cụ thể để bản thân tôi có được sự chuẩn bị rõ ràng, tiếp thu những ý kiến bổ ích và để bản thân tôi thực hiện đồ án tốt nghiệp này với đề tài: “Nghiên cứu công nghệ nhận dạng tiếng nói và ứng dụng xây dựng hệ thống hỗ trợ dịch Cabin”. Qua đây cũng cho tôi gửi lời cảm ơn tới cô Lê Ngọc Hồng – Chủ tịch HĐQT kiêm Giám đốc Công ty VIEGRID JSC, cùng toàn thể các anh chị nhân viên trong công ty đã tạo điều kiên cho em được làm việc trong môi trường 1 nghiêm túc và hướng dẫn cũng như chỉ bảo tận tình cho bản thân em trong quá trình thực hiện đề tài nghiên cứu của bản thân tại đây. Cuối cùng cho tôi được gửi lời cảm ơn chân thành tới tất cả mọi người, những người thân, bạn bè đã luôn bên cạnh tôi, động viên, giúp đỡ tôi để tôi có thể vững tâm hơn thực hiện đồ án của mình với sự nỗ lực hết mình của bản thân. Xin chân thành cảm ơn! Thái Nguyên, ngày … tháng … năm …… Sinh viên thực hiện Nguyễn Khắc An 2 MỤC LỤC LỜI CẢM ƠN .....................................................................................................1 MỤC LỤC ..........................................................................................................3 DANH MỤC HÌNH ẢNH ...................................................................................5 MỞ ĐẦU ............................................................................................................6 TÓM TẮT NỘI DUNG.......................................................................................8 CHƯƠNG I: SƠ LƯỢC VỀ DỊCH CABIN.........................................................9 1.1 Khái niệm dịch Cabin............................................................................9 1.2 Thành phần cơ bản. ...............................................................................9 1.3 Hiện trạng thực tế................................................................................10 CHƯƠNG II: TỔNG QUAN VỀ NHẬN DẠNG TIẾNG NÓI..........................11 2.1. Tổng quan về nhận dạng tiếng nói......................................................11 2.1.1. Khái niệm ...................................................................................11 2.1.2. Nguyên tắc của nhận dạng tiếng nói ............................................12 2.1.3. Cách tiếp cận...............................................................................12 2.2. Một số công trình nghiên cứu về nhận dạng tiếng nói.........................12 2.2.1. Quốc tế .......................................................................................12 2.2.2. Việt Nam ....................................................................................16 2.3. Ứng dụng của nhận dạng tiếng nói .....................................................16 CHƯƠNG III: CMU SPHINX...........................................................................18 3.1. Giới thiệu ...........................................................................................18 3.1.1 Các tính năng chính......................................................................18 3.1.2 Các lợi ích khi sử dụng Sphinx.....................................................19 3.2. Kiến trúc Sphinx ................................................................................19 3.2.1 Bộ ngoại vi (FontEnd)..................................................................21 3.2.2 Bộ giải mã (Decoder) ...................................................................22 3.2.3 Bộ ngôn ngữ (Linguist) ................................................................23 CHƯƠNG IV: CHƯƠNG TRÌNH DEMO ........................................................26 4.1. Cài đặt................................................................................................26 4.1.1 Tải các gói Sphinx cần thiết .........................................................26 3 4.1.2 Cài đặt..........................................................................................26 4.2. Xây dựng bộ ngôn ngữ .......................................................................28 4.2.1 Xây dựng bộ từ điển.....................................................................28 4.2.2 Xây dựng mô hình ngôn ngữ........................................................29 4.2.3 Xây dựng mô hình âm học ...........................................................32 4.2.4 Tiến hành huấn luyện ...................................................................36 4.2.5 Huấn luyện thích nghi ..................................................................38 4.3. Chương trình Demo............................................................................43 4.3.1. Giao diện chương trình demo: .....................................................43 4.3.2. Đánh giá......................................................................................43 KẾT LUẬN.......................................................................................................53 1. Kết quả đạt được...................................................................................53 2. Những điểm hạn chế. ............................................................................53 3. Hướng nghiên cứu và phát triển. ...........................................................53 TÀI LIỆU THAM KHẢO .................................................................................55 NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN................................................57 4 DANH MỤC HÌNH ẢNH Hình 1.1 : Mô hình dịch Cabin hiện nay ..............................................................9 Hình 2.1: Mô hình tổng quát của nhận dạng tiếng nói........................................11 Hình 3.1: Kiến trúc Sphinx ................................................................................20 Hình 3.2: Kiến trúc tổng quát bộ Ngoại vi .........................................................21 Hình 3.3: Chuỗi các Dataprocessor trong quá trình xử lý...................................22 Hình 3.4: Ví dụ một đồ thị tìm kiếm đơn giản....................................................25 Hình 4.1: cài đặt Sphinx trên Ubuntu.................................................................26 Hình 4.2: Sơ đồ quá trình tạo mô hình ngôn ngữ bằng công cụ CMUcmltk .......29 Hình 4.4: Giao diện ứng dụng nhận dạng trên HDH Window ............................43 Hình 4.5: Blue score – AJHope – Direct............................................................44 Hình 4.6: Accuracy – AJHope – Direct .............................................................45 Hình 4.7: Blue score - Kennedy - Direct............................................................45 Hình 4.8: Accuracy - Kennedy – Direct.............................................................46 Hình 4.9: Blue score - Nicxon – Direct..............................................................46 Hình 4.10: WER – Nicxon – Direct ...................................................................47 Hình 4.11: Accuracy - Nicxon - Direct ..............................................................47 Hình 4.12: Blue score - Kennedy nhận dạng AJHope ........................................48 Hình 4.13: WER – Kennedy nhận dạng AJHope ...............................................48 Hình 4.14: Accuracy - Kennedy nhận dạng AJHope..........................................49 Hình 4.15: Blue score - Kennedy nhận dạng Nicxon .........................................49 Hình 4.16: WER – Kennedy nhận dạng Nicxon.................................................50 Hình 4.17: Accuracy - Kennedy nhận dạng Nicxon ...........................................50 Hình 4.18: Blue score - Kennedy nhận dạng Nicxon .........................................51 Hình 4.19: WER – Kennedy nhận dạng Nicxon.................................................51 Hình 4.20: Accuracy - Kennedy nhận dạng Nicxon ...........................................52 5 MỞ ĐẦU Công nghệ nhận dạng tiếng nói, một trong những lĩnh vực luôn dành được những sự quan tâm hàng đầu của những nhà nghiên cứu trong lĩnh vực Công nghệ thông tin. Ngay từ những năm giữa thế kỉ XX, tức là khi công nghệ thông tin mới bắt đầu được đặt nền móng để phát triển, những đề tài hay ý tưởng về nhận dạng tiếng nói và xử lý ngôn ngữ đã được hình thành. Cùng với quá trình phát triển công nghệ thông tin, và các bước đột phá trong việc nâng cấp phần cứng, cải thiện hiệu năng sử dụng và sự ra đời của các hệ điều hành hỗ trợ người dùng thân thiện hơn; nhận dạng tiếng nói cũng ngày càng nhận được sự quan tâm nhiều hơn để nghiên cứu và ứng dụng vào thực tế, nhằm mục đích hỗ trợ tối đa người dùng thiết bị và tăng thêm hiệu năng sử dụng thiết bị cá nhân cũng như các thiết bị máy móc khác. Ngày nay, khi công nghệ phát triển mạnh mẽ và thay đổi liên tục, khi mà các thiết bị phần cứng, đặc biệt là các thiết bị di động đang rơi vào quá trình bão hoà. Nhận dạng tiếng nói lại trở thành một trong những đề tài được chú ý đến hàng đầu cũng với những công nghệ thực tế ảo, máy tính lượng tử… Các ông lớn trong lĩnh vực công nghệ như Google, Samsung, Apple… đều góp mặt tham gia nghiên cứu và có cho mình những sản phẩm riêng để ứng dụng vào thực tế cho các sản phẩm của mình. Nhận thấy tiềm năng to lớn của lĩnh vực này, cùng với sự định hướng của giáo viên hướng dẫn. Em đã lựa chọn đề tài nghiên cứu: “Nghiên cứu về nhận dạng tiếng nói và ứng dụng để xây dựng hệ thống hỗ trợ dịch Cabin”. Với mục đích nghiên cứu về công nghệ nhận dạng tiếng nói, và tìm các xây dựng ứng dụng công nghệ này vào lĩnh vực thực tế để hỗ trợ cho người dùng những sản phẩm mang tính ứng dụng cao và hữu ích cho cuộc sống. Và hi vọng những đóng góp nhỏ bé trong bài nghiên cứu của bản thân sẽ phần nào được sử dụng vào thực tế. Trong đồ án này, em xin được trình bày về bộ công cụ nhận dạng tiếng nói Sphinx với quá trình cài đặt, huấn luyện và đánh giá mức độ hiệu quả của bộ công cụ này, nhằm có hướng đi thích hợp cho dự án. 6 Trong quá trình nghiên cứu và thực hiện đề tài, bản thân em không thể tránh khỏi những sai sót và những điểm hạn chế. Mong quý thầy cô và các bạn sẽ tham gia đóng góp ý kiến để bản thân em có thể hoàn thiện tốt hơn đề tài của bản thân, cũng như quá trình thực hiện ứng dụng thực tế sau này được tốt hơn nữa. 7 TÓM TẮT NỘI DUNG Bài luận văn được chia làm 3 chương: - Chương I : Sơ lược về dịch Cabin o Giới thiệu về khái niệm dịch Cabin o Các thành phần cấu thành o Tình hình thực tế, đánh giá tính hiệu quả - Chương II: Tổng quan về nhận dạng tiếng nói o Khái niệm về nhận dạng tiếng nói o Giới thiệu một số mô hình liên quan o Tính ứng dụng của mô hình, đánh giá sự hiểu quả và tiềm năng phát triển. Nêu ra khó khăn hạn chế - Chương III: CMU Sphinx o Giới thiệu CMU Sphinx o Các thành phần cấu thành, nguyên lý hoạt động. o Cài đặt chương trình o Xây dựng thư viện mẫu - Chương IV: Demo o Đưa ra lý do chọn đề tài o Các bước thực hiện o Đánh giá tính hiệu quả của sản phẩm. - Kết quả đạt được, hạn chế. - Hướng phát triển. 8 CHƯƠNG I: SƠ LƯỢC VỀ DỊCH CABIN 1.1 Khái niệm dịch Cabin. Dịch Cabin được hiểu đơn giản là quá trình phiên dịch trực tiếp, dịch song song. Nhiệm vụ của người dịch Cabin là lắng nghe người đọc đồng thời phiên dịch lại thành ngôn ngữ mà người nghe yêu cầu. Giúp cho cuộc đối thoại được diễn ra hiệu quả và liên tục hơn. Đây là một công việc khá phức tạp và đòi hỏi phiên dịch viên ngoài việc am hiểu rõ về 2 ngôn ngữ còn phải có khả năng lắng nghe, phản xạ nhanh với tình huống và yêu cầu tính chính xác cao. 1.2 Thành phần cơ bản. Hình 1.1 : Mô hình dịch Cabin hiện nay Thành phần cơ bản của mô hình dịch Cabin thường được sử dụng hiện nay bao gồm một phiên dịch viên và các thiết bị thu phát âm thanh cần thiết. - Phiên dịch viên: đây là người tham gia trực tiếp vào quá trình dịch. Thông thường họ sẽ được ngồi trong một phòng kín được gọi là Cabin, nhiệm vụ của họ sẽ là đeo tai nghe để nghe trực tiếp âm thanh từ người nói, đồng thời dịch song song với quá trình ấy sang ngôn ngữ người nghe yêu cầu và có thể hiểu được cuộc trò chuyện. 9 - Thiết bị thu âm, phát âm: bao gồm tai nghe, mic và một số thiết bị hỗ trợ khác để quá trình phiên dịch diễn ra được dễ dàng hơn với phiên dịch viên. 1.3 Hiện trạng thực tế. Thực tế, công việc này được mệnh danh là dành cho các “quái kiệt” vì mức độ khó, và tính chất phức tạp của công việc. Trong một thời điểm gần như đồng thời, người phiên dịch phải lắng nghe người nói qua tai nghe và dịch song song cùng lúc cho người nghe có thể lắng nghe và nắm bắt được nội dung câu chuyện. Điều này khiến người phiên dịch viên phải tập trung cao độ, lắng nghe, xử lý và ứng biến rất nhanh nhạy để có thể bắt kịp theo câu chuyện, và phản ánh đúng sự truyền đạt của người nói. Chưa hết, ngoài ra khó khăn còn gặp phải đó là trong các cuộc hội thảo mang tính đặc thù về chuyên ngành, việc ngôn ngữ chuyên ngành cũng là một trở ngại không hề nhỏ trong quá trình phiên dịch của người phiên dịch viên. Ngày nay, với sự hội nhập cao, các cuộc đàm phán diễn ra liên tục với mật độ dày đặc, đặt ra một sự cấp bách cho công việc này. Nhân lực để đáp ứng cho mô hình dịch Cabin ngày càng giảm, và chất lượng cũng phần nào bị ảnh hưởng nhiều. Giá nhân công cho mỗi chương trình hội thảo cũng không hề rẻ. Trung bình khoảng từ 200$ - 300$/ngày. Đặc biệt trong những hội thảo mang tính đặc thù giá phải trả cho phiên dịch viên có thể lên tới 1000$/ngày. Điều cấp bách ấy đặt ra cho chúng ta một ý tưởng về ứng dụng các giải pháp của công nghệ thông tin vào phục vụ nhu cầu phiên dịch, nhằm giải quyết bài toán dịch Cabin và giảm đi sự lệ thuộc vào con người như trước đây. 10 CHƯƠNG II: TỔNG QUAN VỀ NHẬN DẠNG TIẾNG NÓI 2.1. Tổng quan về nhận dạng tiếng nói 2.1.1. Khái niệm Nhận dạng tiếng nói là một quá trình nhận dạng mẫu, với mục đích là phân lớp thông tin đầu vào là các tín hiệu tiếng nói thành một dãy tuần tự các mẫu đã được học trước đó và lưu trữ trong bộ nhớ. Các mẫu là các đơn vị nhận dạng, chúng có thể là các từ, hoặc các âm vị. Nếu các mẫu này là bất biến và không thay đồi thì công việc nhận dạng tiếng nói trở nên đơn giản hơn bằng các so sánh các tín hiệu tiếng nói cần nhận dạng với các mẫu đã được học và lưu trữ trong bộ nhớ. Khó khăn cơ bản của nhận dạng tiếng nói đó là tiếng nói luôn biến thiên theo thời gian và có sự khác biệt lớn giữa tiếng nói của những người nói khác nhau, tốc độ nói, ngữ cảnh và môi trường âm học khác nhau. Xác định những thông tin biên thiên nào của tiếng nói là có ích và những thông tin nào là không có ích đối với nhận dạng tiếng nói là rất quan trọng. Đây là một nhiệm vụ rất khó khăn mà ngay cả với những kĩ thuật xác suất thống kê mạnh cũng khó khăn trong việc tổng quát hoá các từ, các mẫu tiếng nói, những biến thiên quan trọng cần thiết trong việc nhận dạng tiếng nói. Hình 2.1: Mô hình tổng quát của nhận dạng tiếng nói 11 2.1.2. Nguyên tắc của nhận dạng tiếng nói Các nghiên cứu về nhận dạng tiếng nói dựa trên 3 nguyên tắc cơ bản: - Tín hiệu tiếng nói được biểu diễn chính xác bởi các giá trị phổ trong một khung thời gian ngắn. Nhờ vậy ta có thể trích ra các đặc điểm tiếng nói từ những khoảng thời gian ngắn và dùng các đặc điểm này là dữ liệu để làm dữ liệu nhận dạng tiếng nói. - Nội dung của tiếng nói được biểu diễn dưới dạng chữ viết là một dãy các ký hiệu ngữ âm. Do đó, ý nghĩa của một từ phát âm được bảo toàn khi chúng ta phiên âm thành dãy các kí hiệu ngữ âm. - Nhận dạng tiếng nói là một quá trình nhận thức. Thông tin về ngữ nghĩa và suy đoán có giá trị trong quá trình nhận dạng tiếng nói, nhất là khi tin về âm học không rõ ràng. 2.1.3. Cách tiếp cận Các tiếp cận nhận dạng tiếng nói bằng thống kê bao gồm: sử dụng mô hình Markov ẩn (HMM), mạng noron, sử dụng cơ sở tri thức,… 2.2. Một số công trình nghiên cứu về nhận dạng tiếng nói 2.2.1. Quốc tế Giao tiếp người-máy là một lĩnh vực nghiên cứu lớn và khó nhưng lại có nhiều ứng dụng thực tiễn. Tiếng nói là một phương tiện giao tiếp tự nhiên nhất của con người và vì vậy, nghiên cứu để máy tính có thể hiểu tiếng nói của con người, hay còn gọi là nhận dạng tiếng nói tự động (Automatic Speech Recognition –ASR), đã trải qua quá trình 70 năm phát triển. Những nỗ lực nghiên cứu đầu tiên về ASR đã được tiến hành trong thập niên 50 với ý tưởng chính là dựa trên ngữ âm. Do kĩ thuật xử lí tín hiệu số cũng như khả năng máy tính còn giới hạn, các hệ thống nhận dạng lúc đó chỉ tập trung khai thác đặc trưng phổ cộng hưởng (spectral resonances) đối với các nguyên âm của tín hiệu, sau khi đi qua các bộ lọc tương tự. Trong giai đoạn này, có các hệ thống đáng chú ý như: hệ thống nhận dạng ký số rời rạc của Bell-lab (1952), bộ nhận dạng 13 âm vị của trường đại học College–Anh (1958) . 12 Trong thập kỉ 1960, điểm đáng ghi nhận nhất là ý tưởng của tác giả người Nga, Vintsyuk khi ông đề xuất phương pháp nhận dạng tiếng nói dựa trên qui hoạch động theo thời gian (Dynamic Time Warping –DTW). Đáng tiếc là mãi đến những năm 1980, phương pháp này mới được thế giới biết đến. Cuối những năm 1960, Reddy ở trường đại học CMU (Mỹ) đã đề xuất những ý tưởng đầu tiên về nhận dạng tiếng nói liên tục bằng kĩ thuật đánh dấu đường đi và truy vết lùi tìm kết quả. Đến những năm 70, nghiên cứu về nhận dạng tiếng nói đã bước đầu thu được các kết quả khích lệ, làm nền tảng cho những phát triển sau này. Trước tiên là bài toán nhận dạng từ rời rạc được giải quyết dựa trên ý tưởng của các nhà khoa học người Nga và Nhật. Velichko và Zagoruyko (ở Nga) là những người đi tiên phong trong việc áp dụng ý tưởng về phân lớp mẫu cho ASR. Sakoe và Chiba (Nhật) đề xuất các kĩ thuật sử dụng phương pháp qui hoạch động. Và Itakura, trong thời gian ở Bell-lab, đã đưa ra phương pháp mã hoá dự báo tuyến tính (Linear Predictive Coding –LPC) làm tiền đề cho việc áp dụng các tham số phổ LPC vào ASR. Các hệ thống ASR đáng chú ý của giai đoạn này gồm: Harpy và Hearsay-II của trường đại học CMU-Mỹ, hệ thống HWIM của BBN. Nghiên cứu về ASR trong thập kỉ 80 đánh dấu phép dịch chuyển trong phương pháp luận: từ cách tiếp cận đối sánh mẫu sang cách tiếp cận sử dụng mô hình thống kê. Ngày nay, hầu hết các hệ thống ASR đều dựa trên mô hình thống kê được phát triển ở thập kỉ này, cùng với những cải tiến ở thập kỉ 90. Một trong những phát minh quan trọng nhất ở thập kỉ 80 là mô hình Markov ẩn (Hidden Markov Model –HMM). Mặc dù HMM được áp dụng thành công ở một số phòng LAB (chủ yếu là IBM và viện nghiên cứuthuộc bộ Quốc phòng Mỹ) nhưng phải đợi đến vài năm sau đó, mô hình này mới được xuất bản và phổ biến trên thế giới. Ngoài ra, hai đề xuất quan trọng khác của giai đoạn này là tổ hợp Cepstrum và mô hình ngôn ngữ: Furui đề xuất sử dụng tổ hợp của các hệ số phổ cùng với đạo hàm bậc 1 và bậc 2 của chúng, như là những đặc trưng cơ sở cho ASR. Phương pháp này dù được đề xuất cuối những năm 70 nhưng đã không được áp dụng suốt một thời 13 gian dài. Ngày nay, hầu hết các hệ thống nhận dạng tiếng nói đều sử dụng tổ hợp đặc trưng này. Những nhà khoa học thuộc công ty IBM là những người đi tiên phong trong việc phát triển mô hình ngôn ngữ (Language Model –LM). Đây là một công cụ hiệu quả trong việc lựa chọn chuỗi từ nhận dạng và đã được áp dụng thành công trong tất cả các hệ thống ASR ngày nay, đặc biệt là các hệ thống nhận dạng tiếng nói liên tục với bộ từ vựng lớn. Các hệ thống ASR ra đời trong thời gian này có thể kể đến: hệ thống Sphinx của trường đại học CMU, Byblos của công ty BBN, Decipher của viện SRI, và các hệ thống khác của Lincoln Labs, MIT và AT&T Bell Labs. Thập niên 90 ghi nhận một số kết quả nghiên cứu mới trong lĩnh vực phân lớp mẫu. Cụ thể, bài toán phân lớp theo mô hình thống kê (dựa trên luật quyết định Bayes), đòi hỏi phương pháp ước lượng các phân bố cho dữ liệu, được chuyển thành bài toán tối ưu, bao gồm phép cực tiểu lỗi phân lớp bằng thực nghiệm. Sự chuyển đổi này về mặt bản chất xuất phát từ ý tưởng sau đây: mục tiêu của phân lớp là cực tiểu lỗi chứ không phải cung cấp hàm phân bố phù hợp với dữ liệu nhận dạng. Khái niệm cực tiểu lỗi này đã làm nảy sinh một số kĩ thuật như phương pháp huấn luyện riêng biệt (Discriminative Training). Hai dạng điển hình của phép huấn luyện này là: CME (Minimum Classification Error) và MMI (Maximum Mutual Information). Kết quả thực nghiệm cho thấy các phương pháp huấn luyện mới đưa ra kết quả nhận dạng tốt hơn so với phương pháp huấn luyện cực đại xác suất trước đó. Ngoài ra, nhận dạng tiếng nói trong môi trường nhiễu cũng rất được quan tâm. Để nâng cao hiệu suất nhận dạng cho dữ liệu nhiễu, một số kỹ thuật đã được đề xuất như: MLLR (Maximum Likelihood Linear Regression), PMC (Parallel Model Combination). Cuối cùng, các ứng dụng được phát triển trong giai đoạn này gồm: hệ thống trả lời thông tin tự động cho các chuyến bay (Air Travel Information Service –ATIS), hệ thống ghi lại các bản tin phát thanh (Broadcast News Transcription System)…. 14 Đến những năm đầu của thế kỷ 21, các nghiên cứu tập trung vào việc nâng cao kết quả nhận dạng tiếng nói, thông qua chương trình có tên gọi EARS (Effective Affordable Reusable Speech-to-Text) . Tới thời điểm này, tiếng nói được giả thiết là đã được thu âm trong môi trường bình thường, không bị ràng buộc bởi bất cứ điều kiện nào (các điều kiện giả thiết trước đây thường bao gồm tiếng nói được thu trong phòng sạch cách âm và do người bản xứ đọc). Đích hướng tới của chương trình này là khả năng nhận dạng, tóm tắt và chuyển ngữ các đoạn audio, giúp cho người đọc hiểu nhanh nội dung của chúng thay vì phải nghe toàn bộ. Hiện nay, với các ngôn ngữ phổ biến như tiếng Anh, tiếng Pháp, tiếng Tây Ban Nha, các công trình nghiên cứu về nhận dạng tiếng nói đã thu được những kết quả rất tốt, có nhiều ứng dụng thực tiễn được triển khai như: - Hệ thống giao tiếp hỏi đáp thông tin tự động qua điện thoại. - Hệ thống truy vấn thông tin thoại. - Hệ thống thông dịch tiếng nói xuyên ngữ tự động. - Các trạm kiểm soát, hệ thống điều khiển sử dụng tiếng nói. - Các ứng dụng tiếng nói trên thiết bị di động. Về mặt kinh tế và thương mại, công nghệ nhận dạng tiếng nói đã thay đổi cách con người tương tác với hệ thống và thiết bị, không còn bó buộc trong cách thức tương tác truyền thống (như thông qua bàn phím của máy tính hay điện thoại) mà chuyển sang tương tác trực tiếp bằng giọng nói. Trong môi trường kinh tế cạnh tranh, các ứng dụng dần dần đã chuyển sang tích hợp tính năng tương tác âm thanh. Việc ứng dụng và khách hàng có thể tương tác với nhau thông qua âm thanh không có nghĩa là loại bỏ giao diện đồ họa truyền thống mà nó cung cấp thêm một cách truy cập thông tin và dịch vụ tiện lợi, tự nhiên hơn. Về mặt nghiên cứu khoa học, các hệ thống nhận dạng tiếng nói hiện tại đều dựa trên phương pháp thống kê và so khớp mẫu. Phương pháp này đòi hỏi các tri thức về ngữ âm và một lượng lớn dữ liệu huấn luyện, bao gồm cả dạng âm thanh và dạng văn bản, để huấn luyện bộ nhận dạng. Lượng dữ liệu huấn luyện càng lớn, bộ dạng dạng càng có nhiều khả năng đưa ra kết quả chính xác hơn. 15 2.2.2. Việt Nam Tại Việt Nam, đây vẫn được coi là một lĩnh vực còn khá mới mẻ và chưa có nhiều công trình nghiên cứu chuyên sâu về lĩnh vực này. Hiện tại, có một số nhóm nghiên cứu chính về bài toán nhận dạng tiếng nói liên tục với bộ từ vựng lớn (LVCSR). Nhóm đầu tiên thuộc Viện Công nghệ Thông tin do PGS. Lương Chi Mai đứng đầu, với phương pháp ANN và công cụ CSLU được sử dụng. Nhóm thứ hai thuộc trường Đại học Khoa học Tự nhiên thành phố HồChí Minh do PGS. Vũ Hải Quân đứng đầu, với phương pháp HMM và công cụ HTK được sử dụng, các nghiên cứu của nhóm tập trung vào bài toán truy vấn thông tin tiếng Việt, nhận dạng tiếng nói, hệ thống giao tiếp giữa người và máy, tìm kiếm bằng giọng nói,... Trong thời gian gần đây, nhóm sinh viên đại học Quốc Gia Hà Nội do TS. Phan Xuân Hiếu làm trưởng nhóm đã cho ra đời ứng dụng “Trợ lý ảo VAV” cũng sử dụng chương trình nhận dạng tiếng nói để hỗ trợ người dùng thực hiện giao tiếp người – máy thông qua quá trình nhận dạng tiếng nói và thực hiện lệnh điều khiển tới thiết bị di động. Hiện tại, chương trình này đang được thử nghiệm trên các thiết bị chạy Hệ điều hành Android. Đây là một ứng dụng khá thú vị, nhằm hỗ trợ cho người dùng các giao tiếp cơ bản như tìm tên trong danh bạ, gọi điện, tìm đường,… thông qua việc điều khiển bằng giọng nói. 2.3. Ứng dụng của nhận dạng tiếng nói Ứng dụng nhận dạng tiếng nói ngày nay đang được sử dụng ngày một rộng rãi và phổ biến. Trên thế giới đã có rất nhiều nghiên cứu về hệ thống nhận dạng tiếng nói (tiếng Anh) đã và đang được ứng dụng hiệu quả như: Via Voice của IBM, Spoken Toolkit của CSLU (Central of Spoken Language Understanding)… nhưng trong tiếng Việt thì còn rất nhiều hạn chế. Công nghệ này trong tương lai sẽ được ứng dụng nhiều trong y tế, dân dụng, quân sự, giáo dục… nhằm tự động hóa các thao tác căn bản, giảm thiếu nhân lực và thời gian như: hệ thống chuyển mạch tự động; ứng dụng Mobile (Siri, trợ lý du lịch, Google Voice, báo nói); hệ thống Robot và trí tuệ nhân tạo (Internet in Car, Cell phone speech, text, Car Navigation Systems…); phần mềm 16 hỗ trợ người khiếm thị… Và hàng ngàn các ứng dụng khác trong tương lai sẽ được sáng chế ra nhằm mục đích hỗ trợ người dùng tốt hơn trên các thiết bị di động. Đây vừa là cơ hội, vừa là thách thức cho các lập trình viên phải luôn học hỏi, nhuần nhuyễn trên các ngôn ngữ, hệ nền và cập nhật công nghệ để viết ra những ứng dụng đa nền tảng và tiện lợi khác. Tuy nhiên cũng có không ít những khó khăn trong vấn đề nghiên cứu và sử dụng công nghệ này vào thực tế, vì vấp phải những rào cản ngôn ngữ, cách phát âm của mỗi người, mỗi vùng miền, từ địa phương, từ đồng âm… Để quá trình này được hoàn thiện hơn, có lẽ phải cần thêm rất nhiều thời gian nghiên cứu cũng như sửa chữa và hoàn thiện để công nghệ này được ứng dụng rộng rãi hơn. 17 CHƯƠNG III: CMU SPHINX 3.1. Giới thiệu CMU Sphinx là bộ công cụ nhận dạng tiếng nói được nghiên cứu và phát triển bởi sự kết hợp giữa nhóm nghiên cứu Sphinx của trường đại học Carnegie Mellon University (CMU), Sun Microsystems Laboratoies, Misubishi Electric Research Labs (MERL), Hewlett Packard (HP), với sự đóng góp của University of California at Santa Cruz (UCSC) và Massachusetts Institute of Technology (MIT). 3.1.1 Các tính năng chính - Nhận dạng tiếng nói ở chế độ trực tiếp và theo lô, có khả năng nhận dạng tiếng nói rời rạc và liên tục. - Kiến trúc ngoại vi tổng quát, có khả năng tháo lắp. Bao gồm khả năng bổ sung các tính năng tiền nhấn (preemphasis), cửa sổ Hamming, biến đổi Fourier nhanh, thang lọc tần số Mel, biến đổi cosine rời rạc, chuẩn hóa cepstral, và trích đặc trưng cepstra, delta cepstra, double delta cepstra. - Kiến trúc mô hình ngôn ngữ tổng quát và có khả năng tháo lắp. Bao gồm hỗ trợ mô hình ngôn ngữ dạng ASCII và các phiên bản nhị phân của unigram, bigram, trigram, Java Speech API Grammar Format (JSGF), và ARPAformat FST grammars. - Kiến trúc mô hình âm tổng quát. Bao gồm hỗ trợ các mô hình âm học của Sphinx3. - Bộ quản lý tìm kiếm tổng quát. Bao gồm hỗ trợ các tìm kiếm breadth first và word pruning. - Các tiện ích cho việc xử lý kết quả sau khi nhận dạng, bao gồm tính điểm số tin cậy, phát sinh các lưới và phát sinh kịch bản ECMA vào thẻ JSGF. Các công cụ độc lập bao gồm các công cụ để hiển thị dạng sóng và ảnh phổ, và trích đặc trưng từ tệp tin âm thanh. Sphinx đã trở thành một framework nhận dạng tiếng nói mạnh mẽ, đã được sử dụng trong nhiều hệ thống nhận dạng bao gồm các chương trình điện đàm như 18 Cairo, Freeswitch, jvoicexml,… các chương trình điều khiển như Gnome-VoiceControl, Voicekey, SpeechLion,… 3.1.2 Các lợi ích khi sử dụng Sphinx Đối với việc nghiên cứu nhận dạng tiếng nói dựa trên HMM (mô hình Markov ẩn): - Sphinx mặc định rằng việc tính toán Gaussian Mixture Model và việc xử lý tìm kiếm là tách biệt nên có thể thực hiện hai loại nghiên cứu khác nhau mà không bị xung đột với nhau. Ví dụ có thể thực hiện một sự quan sát xác suất mới mà không đụng đên mã nguồn thực hiện tìm kiếm. Cùng lúc có thể xây dựng một thuật tìm kiếm mới mà không phải suy nghĩ về tính toán GMM. - Đối với việc huấn luyện, hầu hết thời gian khi ta nghiên cứu mô hình hoá, điều mong muốn thay đổi là thuật toán ước lượng. Thuật toán Baunm – Welch của SphinxTrain giải quyết vấn đề này qua hai giai đoạn: Đưa thống kê xác suất đến sau ra một tập tin riêng biệt và có thể dễ dàng đọc lại bằng các thư viện của SphinxTrain. Bạn có thể chỉ làm việc với các bản thống kê này và khôgn cần phải tự minh thực hiện huấn luyện Baun – Welch. Điều này giúp giảm thời gian nghiên cứu. - Mã nguồn của Sphinx được viết rõ ràng và dễ đọc. Lý do nhiều nhà nghiên cứu muốn sử dụng Sphinx như một công cụ vì nó có thể được thay đổi mã nguồn dễ dàng để phù hợp với mục đích sử dụng của từng đối tượng. 3.2. Kiến trúc Sphinx Sphinx Framework được thiết kế với độ linh hoạt và tính mô đun hóa cao. Hình 3.1 dưới đây biểu diễn bao quát kiến trúc của hệ thống. Mỗi thành phần được gán nhãn biểu diễn một mô đun có thể dễ dàng được thay thế, cho phép các nhà nghiên cứu thử nghiệm một mô đun khác mà không cần phải thay đổi các phần còn lại của hệ thống. 19 Hình 3.1: Kiến trúc Sphinx Có ba thành phần cơ bản cấu tạo nên Sphinx: Bộ ngoại vi (FrontEnd), Bộ giải mã (Decoder) và bộ ngôn ngữ (Linguist). Để dễ hình dung cách hoạt động tổng quát của Sphinx ta sẽ tìm hiểu sơ lược chức năng của các bộ phận trên. Bộ ngoại vi với các công cụ hổ trợ cho việc thu nhận và tiền xử lý các tín hiệu sẽ nhận và thực hiện tham số hóa chúng thành tập hợp các vecto đặc trưng (Feature). Bộ ngôn ngữ sẽ có nhiệm vụ đọc vào các mô hình ngôn ngữ với các thông tin cách phát âm trong từ điển và thông tin cấu trúc của các mô hình âm học rồi mô hình hóa chúng vào mộ đồ thị tìm kiếm (Search Graph). Bộ phận còn lại là bộ giải mã (Decoder) có nhiệm vụ quan trọng nhất kết nối hai bộ phận còn lại. Cụ thể là thành phần quản lý tìm kiếm (Search manager) trong bộ giải mã sẽ lấy các thông tin đặc trưng từ bộ ngoại vi rồi kết hợp với đồ thị tìm kiếm được phát sinh từ bộ ngôn ngữ để giả mã và tính toán ra kết quả nhận dạng. Hệ thống Sphinx có một số lượng lớn các tham số cấu hình để điều chỉnh hiệu suất của hệ thống. Thành phần quản lý cấu hình (ConfigurationManager) được dùng để cấu hình các tham số đó. Bộ quản lý cấu hình còn giúp cho Sphinx có khả năng nạp động và cấu hình các mô đun trong thời gian thực thi, làm cho Sphinx trở nên linh hoạt và có khả năng tháo lắp. Ví dụ Sphinx4 thường được cấu hình với một bộ ngoại vi tạo ra các MFCC (Mel-Frequency 20
- Xem thêm -

Tài liệu liên quan