Đăng ký Đăng nhập
Trang chủ Cmu sphin...

Tài liệu Cmu sphin

.DOCX
10
218
66

Mô tả:

Mở đầầu: Tiếếng nói là phương tện giao tếếp cơ bản nhấết của con ng ười, s ửd ụng l ời nói là một cách diếễn đạt đơn giản và hiệu quả nhấết. Đã từ lấu,con ng ười luôn m ơ ước đếến các h ệ thôếng máy điếều khi ển t ự động có thể giao tếếp bằềng tếếng nói tựnhiến của con ng ười. Ngày nay, cùng với sự phát triển của khoa học kyễ thuật và công ngh ệ, đ ặc bi ệt trong lĩnh v ực tn h ọc. Các hệ thôếng máy tự động đã dấền thay thếế con ng ười trong nhiếều công vi ệc. Nhu cấều giao tếếp v ới thiếết bị máy bằềng tếếng nói là rấết cấền thiếết, đó là ph ương th ức giao tếếp vằn minh và t ự nhiến nhấết.Nhận dạng tếếng nói là một vấến đếề không mới. Trến thếế gi ới đã và đang có có rấết nhiếều công trình nghiến cứu vếề vấến đếề này v ới rấết nhiếều ph ương pháp nh ận d ạng tếếng nói khác nhau. Và những nghiến cứu đó cũng có những thành công đáng k ể. Có th ể k ể đếến nh ư: h ệ thôếng nh ận dạng tếếng nói tếếng Anh Via Voice của IBM, Spoken T oolkit c ủa CSLU (Central of Spoken Laguage Under-standing), Speech Recogniton Engine của Microsof, Hidden Markov Model toolkit c ủa đ ại h ọc Cambridge, CMU Sphinx của đại học Carnegie Mellon,… ngoài ra, m ột sôế h ệ thôếng nh ận d ạng tếến nói tếếng Pháp, Đức, Trung Quôếc,... cũng khá phát tri ển. Tiếếng Vi ệt thì cũng có m ột sôế công trình c ủa các nhóm như: AILab, Vietvoice, Vspeech… Nhưng đôếi với nước ta, nhận dạng tếếng nói vấễn là m ột lĩnh vực khá m ới m ẻ. Đếến nay tuy đã có nhiếều nghiến cứu vếề nhận dạng tếếng nói tếếng Vi ệt và đã đ ạt đ ược m ột sôế thành t ựu, nh ưng nhìn chung vấễn chưa đạt được kếết quả cấền thiếết đ ể có th ểt ạo ra các s ản ph ẩm mang tnh ứng d ụng cao.Với mong muôến có thể hiểu được cách giao tếếp giữa ng ười và máy tnh, lu ận vằn này nghiến cứu các phương pháp nhận dạng tếếng nói, t ừ đó xấy d ựng m ột ch ương trình demo nh ận d ạng tếếng nói tếếng Việt mà khi con người nói máy tnh có th ể hi ểu được. GIỚI THIÊU VỀỀ SPHINX: Sphinx là (Sphinx là phấền nguôền mở được nhiếều chuyến gia và ng ười s ử d ụng làm công c ụ nh ận dạng giọng nói )một hệthôếng nhận dạng tếếng nói hoàn chirh nhấết đ ược viếết bằềng ngôn ng ữ Java. Sphinx được công bôế và chia sẻ mã nguôền m ở lấền đấều tến vào nằm 2010 do nhóm nghiến c ứu Sphinx cởCarnegie Mellon University (CMU) nghiên cứu và phát triển, Sau đó với sự giúp đỡ của các tổ chức ( Sun Microsystems Laboratories, MERL (Mitsubishi Electric Research Labs) và HP (Hewlet Packard), và với sựđóng góp của các trường đ ại h ọc ở UCSC (University of California at Santa Cruz) và MIT(Massachusets Insttute of Technology). Sphinx tếếp t ục nghiến c ứu và b ổ sung các phiến b ản mới cho sphinx(sphinx 2 , sphinx 3,..) mới nhấết sphinx 4. Các tnh năng chính (đặc điểm ): - Nhận dạng tếếng nói ở chếế độ trực tếếp và theo lô, có kh ả nằng nh ận d ạng tếế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 tnh nằng tếề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à ARPA-format 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ý tm kiếếm tổng quát. Bao gôềm hôễ tr ợ các tm kiếếm breadth frst và word pruning. - Các tện ích cho việc xử lý kếết qu ả sau khi nh ận d ạng, bao gôềm tnh đi ểm sôế tn c ậy, phát sinh các lưới và nhúng kịch bản ECMA vào thẻ JSGF. Các công c ụ 67 đ ộ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 tn ấm thanh. Sphinx đã trở thành một framework nhận dạng tếếng nói m ạnh meễ, đã đ ượ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 ư Cairo, Freeswitch, jvoicexml,…các ch ương trình điếều khiển như Gnome-Voice-Control, Voicekey, SpeechLion,… KIỀẾN TRÚC SPHINX: Sphinx Framework được thiếết kếế với đ ộ linh ho ạt và tnh mô đun hóa cao. Hình 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. Có 3 mố đun chính trong Sphinx Framework: Bộngoại vi (FrontEnd), Bộ giải mã (Decoder) và bộ ngốn ngữ (Linguist). Bộ ngoại vi nhận vào một hay nhiếều tn hiệu sôế và tham sôế hóa chúng thành m ột dãy các đ ặc trưng (Feature). Bộ ngốn ngữ chuyển đổi tấết cả các mô hình ngôn ngữ chuẩn, cùng v ới thông tn cách phát ấm trong từ điển (Dictonary) và thông tn cấếu trúc t ừ m ột hay nhiếều các t ập h ợp các mô hình ấm học (AcoustcModel) vào một đôề th ị tm kiếếm (SearchGraph). B ộ qu ản lý tm kiếếm (SearchManager) trong bộ giải mã sử dụng các đặc trưng t ừ b ộ ngo ại vivà đôề th ị tm kiếếm t ừ b ộ ngôn ngữ để thực hiện việc giải mã, phát sinh các kếết qu ả(Result). T ại bấết kỳ th ời đi ểm tr ước và trong quá trình xử lý nhận dạng, ứng dụng (Applicaton) đ ưa ra các điếều khi ển t ới môễi mô đun, tr ở thành một đôếi tác hiệu quảtrong quá trình x ử lý nh ận d ạng.H ệ thôếng Sphinx4 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 (ConfguratonManager) được dùng để cấếu hình các tham sôế đó. B ộ qu ản lý cấếu hình còn giúp cho Sphinx4 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 Sphinx4 trởnến linh hoạt và có khả nằng tháo lằếp. Bộ ngoại vi - FrontEnd: Đấy là Quá trình trích đặc trưng c ủa b ộ ngo ại vi dùng MFCCM ục đích c ủa b ộ ngo ại vi là tham sôế hóa một tn hiệu đấều vào (ấm thanh) thành một dãy các đặc tr ưng xuấết ra. Bộ ngoại vi bao gốầm một hay nhiêầu chuốễi song song các mố đun xử lý tn hiệu giao têếp có kh ảnăng thay thêế g ọi là các DataProcessor. Việc hôễ trợ nhiếều chuôễi cho phép giảlập tnh toán các lo ại tham sôếkhác nhau trong cùng một hay nhiếều tn hiệu vào. Điếều này cho phép tạo nến các h ệthôếng có th ể gi ải mã cùng m ột lúc sử dụng các loại tham sôếkhác nhau, Hình 4.3. Chuốễi các DataProcessor Môễi DataProcessor trong bộ ngoại vi hôễ trợ một đấều vào và m ột đấều ra có th ể đ ược kếết nôếi v ới DataProcessor khác, cho phép tạo thành dãy các chuôễi dài chuyến bi ệt. Sphinx4 cho phép kh ả nằng phát sinh dãy các đặc trưng song song và cho phép m ột sôế l ượng tùy ý các dòng song song.S ử d ụng ConfguratonManager, người dùng có thể xấu chuôễi các DataProcessor vói nhau theo bấết kỳ cách nào cũng như các bổ sung DataProcessor kếết hợp chặt cheễ trong thiếết kếế riếng c ủa h ọ. Bộ ngốn ngữ - Linguist Bộngôn ngữphát sinh đôềthịtm kiếếm (SearchGraph) đ ểsử d ụng trong b ộgi ải mã trong quá trình tm kiếếm, trong khi ẩn đi các phấền phức tạp bao gôềm phát sinh ra đôềth ịnày. Trong Sphinx4 b ộngôn ng ữ là một module có thể gằến thếm, cho phép ng ười dùng có th ể cấếu hình đ ộng h ệ thôếng v ới các cài đặt khác vào bộ ngôn ngữ. Một bổ sung bộ ngôn ngữ thông thường xấy d ựng nến đôề th ị tm kiếếm s ửd ụng cấếu trúc ngôn ng ữ được mô tả bởi LanguageModel cho trước và cấếu trúc hình học tôpô c ủa mô hình ngôn ng ữ (các HMM cho các đơn vị ấm cơ bản sử dụng b ởi h ệ thôếng). B ộ ngôn ng ữ có th ể cũng s ử d ụng m ột t ừ điển (thường là một từ điển phát ấm) để ánh xạ các t ừ t ừ mô hình ngôn ng ữ vào các chuôễi c ủa các thành phấền mô hình ấm học. Khi phát sinh đôề th ị tm kiếếm, b ộ ngôn ng ữ có th ể còn kếết h ợp các đơn vị từ con (subword) với các ngữ cảnh độ dài tùy ý, nếếu đ ược cung cấếp. Bằềng cách cho phép các bổ sung khác nhau c ủa b ộ ngôn ng ữ đ ược gằến kếết vào trong th ời gian ch ạy, Sphinx4 cho phép các cá nhấn cung cấếp các cấếu hình khác nhau cho các h ệthôếng và các yếu cấều nh ận dạng khác nhau. Bộ giải mã - Decoder: Vai trò chính của bộ giải mã là sử dụng các đặc trưng (Features) t ừ b ộ ngo ại vi kếết h ợp v ới đôề th ị tm kiếếm từ bộ ngôn ngữ để phát sinh các kếết quả (Result). Khôếi b ộ gi ải mã bao gôềm m ột b ộ quản lý tm kiếếm (SearchManager) có khả nằng tháo lằếp và các mã hôễ tr ợ khác đ ể đ ơn gi ản hóa quá trình giải mã cho một ứng dụng. Do vậy, thành phấền đáng quan tấm c ủa b ộ giải mã là b ộ qu ản lý tm kiếếmB ộ gi ải mã ch ỉ đ ơn thuấền bảo bộ quản lý tm kiếếm nhận dạng một tập các cấếu trúc đ ặc tr ưng. T ại môễi b ước x ử lý, B ộ qu ản lý tm kiếếm tạo ra một đôếi tượng kếết quả chứa tấết cả đường dấễn đếến m ột tr ạng thái không phát sinh cuôếi cùng (fnal non-emitng state). Để x ử lý kếết qu ả, Sphinx cung cấếp các t ện ích có kh ả nằng phát sinh một lưới và các đánh giá tn cậy từ kếết qu ả. Không nh ư các h ệ thôếng khác, các ứng d ụng có th ể điếều chỉnh không gian tm kiếếm và đôếi tượng kếết quả giữa các b ước, cho phép ứng d ụng tr ở thành một đôếi tác trong quá trình xử lý.Giôếng bộ ngôn ngữ, bộ quản lý tm kiếếm không b ị ràng bu ộc v ới bấết cứ bổsung cụ thể nào. Quá trình hoạt động: Hình 5.3. Sơ đốầ hoạt động của chương trình demo Đấều tến, tn hiệu tếếng nói qua micro seễ đ ược đ ưa vào b ộ ngo ại vi, ởđấy tn hi ệu đ ược tham sôế hóa thành một dãy đặc trưng và chuyển vào cho b ộ gi ải mã. Bộ ngôn ngữchuyển đổi các mô hình ngôn ngữ, thông tn phát ấm trong t ừ đi ển và thông tn cấếu trúc ấm trong mô hình ấm học vào một đôề th ị tm kiếếm trong b ộ gi ải mã. Bộ giải mã seễ xác định chuôễi đặc trưng gấền giôếng nhấết trong đôề th ị tm kiếếm so v ới đ ặc tr ưng tếếng nói được cung cấếp bởi bộ ngoại vi và phát sinh kếết quả. ------------------------------------------(MÔ HÌNH NGÔN NGỮ) Quá trình so khớp mấễu ấm học và kiếến th ức vếề ngôn ng ữ là quan tr ọng nh ư nhau trong nhận dạng và hiểu tếếng nói t ự nhiến. Trong nh ận d ạng tếếng nói th ực tếễn, có th ể không có khả nằng để tách việc sử dụng c ủa các cấếp đ ộ khác nhau c ủa tri th ức, vì thếế chúng thường được tch hợp chặt cheễ. Chúng ta seễ tm hi ểu vếề lý thuyếết ngôn ng ữ hình th ức và xác suấết mô hình ngôn ngữ. Ngôn ngữ hình thức có 2phấền c ơ b ản: ng ữ pháp và thu ật toán phấn tch cú pháp. Ngữ pháp là sự mô tả hình thức c ủa cấếu trúc đ ược cho phép đôếi v ới ngôn ng ữ. Kyễ thu ật phấn tch cú pháp là phương pháp phấn tch cấu để thấếy nếếu cấếu trúc c ủa nó là tuấn theo ng ữ pháp. Với sự có mặt của khôếi lượng nhiếều vằn bản mà cấếu trúc c ủa nó đ ược chú thích bằềng tay. Môếi quan hệ xác suấết giữa dãy các từ có thể được dấễn suấết trực tếếp và được mô hình t ừ t ập vằn b ản được gọi là mô hình ngôn ngữ Stochastc, như n-gram. Mô hình ngôn ng ữ Stochastc đóng vai trò thiếết yếếu trong xấy dựng hoạt động một h ệ thôếng ngôn ng ữ nói. Mô hình ngôn ngữ của bộ ngôn ngữ cung cấếp cấếu trúc ngôn ng ữ cấếp đ ộ t ừ(word-level), có th ể biểu diếễn bởi bấết cứ sôế lượng các bổ sung có thể gằến thếm. Nh ững b ổ sung này th ường là m ột trong hai mục: các graph-driven grammar và các mô hình Stochastc N-Gram. Các Graph-driven grammar biếễu diếễn một đôề thị từ có hướng trong đó môễi nút bi ểu diếễn m ột t ừ đ ơn và môễi cung biếễu diếễn xác suấết dịch chuyển sang một từ. Các mô hình stochastc N -Gram cung cấếp các xác suấết cho các từ được cho dựa vào việc quan sát n-1 t ừ đ ứng tr ước. MÔ HÌNH ÂM Mô hình ấm học cung cấếp một ánh xạ giữa m ột đ ơn v ị tếếng nói và m ột HMM có th ể đ ược đánh giá dựa vào các đặc trưng được cung cấếp bởi b ộ ngoại vi. Các ánh x ạ có th ể đ ưa thông tn v ị trí c ủa t ừ và ngữ cảnh vào tài khoản. Ví dụ trong tr ường h ợp các triphone, ng ữ c ảnh miếu t ả các ấm v ị đ ơn ở bến trái và bến phải của ấm vị đã cho, và v ị trí c ủa t ừ mô t ả triphone ở v ị trí bằết đấều, ở gi ữa hay ở cuôếi của một từ (hay chính nó là một từ). Đ ịnh nghĩa ng ữ c ảnh này không b ị côế đ ịnh b ởi Sphinx4, Sphinx4 cho phép định nghĩa các mô hình ấm h ọc ch ứa các tha ấm v ị cũng nh ư các mô hình ấm học mà ngữ cảnh của nó không cấền phải sát với đ ơn v ị. Thông thường, bộ ngôn ngữ phấn tch môễi t ừ trong b ộ t ừ v ựng đ ược kích ho ạt thành m ột dãy các đơn vị từ con phụ thuộc ngữ cảnh. Bộ ngôn ng ữ sau đó chuy ển các đ ơn v ị này và các ng ữ c ảnh của nó đếến mô hình ấm học, tm các đôề th ịHMM gằến v ới các đ ơn v ị đó. Sau đó nó dùng các đôề th ị HMM này kếết hợp với mô hình ấm học để xấy d ựng nến đôề th ị tm kiếếm ĐÔỀ THỊ TÌM KIỀẾM Đôề thị tm kiếếm là cấếu trúc dữ liệu chính s ử d ụng trong suôết quá trình gi ải mã.Đó là m ột đôề th ị có hướng trong đó môễi nút, gọi là một Trạng thái tm kiếếm (SearchState), bi ểu diếễn m ột tr ạng thái phát hay không phát (emitng state hay non-emitng state). Các trạng thái phát có th ể đ ược đánh giá dựa trến các đặc trưng ấm học vào (incoming acoustc feature) trong khi các tr ạng thái không phát thông thường được dùng để biểu diếễn các cấếu trúc ngôn ng ữ cấếp đ ộ cao nh ư các t ừ và các ấm v ị không thể đánh giá trực tếếp dựa trến các đ ặc tr ưng đấều vào. Các cung gi ữa các tr ạng thái biếễu diếễn các biếến đổi trạng thái có thể, môễi cung có m ột xác suấết ch ỉ kh ả nằng biếến đ ổi d ọc theo các cung. ĐẶC ĐIỂM CHÍNH CỦA BỘ TÌM KIỀẾM :là việc thực thi của trạng thái tm kiếếm không cấền côế đ ịnh. Như vậy, môễi bổ sung bộ ngôn ngữ thông thường cung cấếp th ực thi cụ thể c ủa SearchState c ủa riếng nó mà có thể dựa trến các đặc trưng khác nhau c ủa b ộ ngôn ng ữ c ụ th ể. LỢI ÍCH Mã nguôền của Sphinx được viếết rõ ràng và dếễ đ ọc. Nhiếều nhà nghiến c ứu không ch ỉ muôến s ử d ụng Sphinx như một công cụ mà còn muôến thay đ ổi mã nguôền đ ể phù h ợp v ới m ục đích c ủa h ọ.
- Xem thêm -

Tài liệu liên quan