nhận dạng tiếng nói việt nam từ vựng lớn

67 283 1
nhận dạng tiếng nói việt nam từ vựng lớn

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Nhận dạng tiếng nói Việt Nam từ vựng lớn Trang - i LỜI MỞ ĐẦU 1. Giới thiệu. Ngày nay, cùng với sự phát triển của ngành điện tử và tin học, các hệ thống máy tự động đã dần thay thế con người trong nhiều công đoạn của công việc. Máy có khả năng làm việc hiệu quả và năng suất cao hơn con người rất nhiều. Song cho đến nay, vấn đề giao tiếp người – máy tuy đã được cải thiện nhiều nhưng vẫn còn rất thủ công: thông qua bàn phím và các thiết bị nhập dữ liệu khác. Giao tiếp với thiết bị máy bằng tiếng nói sẽ là phương thức giao tiếp văn minh và tự nhiên nhất, dấu ấn giao tiếp người – máy sẽ mất đi mà thay vào đó là cảm nhận của sự giao tiếp giữa người với người, nếu hoàn thiện thì đây sẽ là một phương thức giao tiếp tiện lợi và hiệu quả nhất. Do có sự khác biệt về mặt ngữ âm giữa các ngôn ngữ nên ta không thể áp dụng các chương trình nhận dạng khác để nhận dạng tiếng Việt. Một hệ thống nhận dạng tiếng nói ở nước ta phải được xây dựng trên nền tảng của tiếng nói tiếng Việt. Vấn đề nhận dạng tiếng nói tiếng Việt chỉ mới được quan tâm nghiên cứu trong những năm gần đây và chưa có một chương trình nhận dạng hoàn chỉnh nào được công bố. Trên thế giới đã có rất nhiều hệ thống nhận dạng tiếng nói (tiếng Anh) đã và đang được ứng dụng rất hiệu quả như: Via Voice của IBM, Spoken Toolkit của CSLU (Central of Spoken Laguage Under-standing)… nhưng trong tiếng Việt thì còn rất nhiều hạn chế. 2. Mục tiêu của đề tài. Đề tài này nghiên cứu thử nghiệm một hướng nhận dạng tiếng nói - tiếng Việt Nam dựa trên việc trích đặc trưng của tiếng nói bằng phương pháp MFCC (Mel-Frequency Ceptrums Coefficients), và nhận dạng bằng mô hình HMM (Hidden Markov Models). Đồng thời, một mô hình điều khiển bằng tiếng nói – tiếng Việt được xây dựng với bộ từ vựng nhỏ, thiết lập hệ thống điều khiển bằng tiếng nói với một tập lệnh cố định. Tập lệnh này dùng để điều khiển chương trình, cụ thể là chương trình demo đọc số được thực hiện trong đề tài. Nhận dạng tiếng nói Việt Nam từ vựng lớn Trang - ii MỤC LỤC LỜI MỞ ĐẦU i 1. Giới thiệu. i 2. Mục tiêu của đề tài. i LỜI CẢM ƠN Error! Bookmark not defined. NHẬN XÉT Error! Bookmark not defined. MỤC LỤC ii DANH MỤC CÁC HÌNH iv DANH SÁCH CHỮ VIẾT TẮT v CHƯƠNG 1: TỔNG QUAN VỀ NHẬN DẠNG TIẾNG NÓI 1 1.1 Giới thiệu 1 1.2 Công thức cơ bản 3 1.3 Các thành phần của một bộ nhận dạng tiếng nói 4 1.3.1 Xử lý cú âm 4 1.3.2 Mô hình cú âm 5 13.3 Mô hình ngôn ngữ 5 1.3.4 Tìm kiếm giả định 6 1.4. Mô hình Markov ẩn 6 1.4.1 Giới thiệu chuỗi Markov 6 1.4.2 Cơ bản về mô hình Markov ẩn 8 1.4.3 Tìm chuỗi chuyển trạng thái tốt nhất - Thuật toán Viterbi 13 1.4.4 Ước lượng các tham số xác suất cho HMM – Thuật toán Baum- Welch 16 1.5. Biến đổi Fourier rời rạc 19 1.5.1 Giới thiệu 19 1.5.2 Cơ bản về biến đổi Fourier rời rạc 20 1.5.3 Cửa sổ Hamming 23 1.5.4 Biến đổi Fourier nhanh và thuật toán Butterfly: 24 1.5.5 Cài đặt thuật toán biến đổi Fourier nhanh 28 CHƯƠNG 2 :HUẤN LUYỆN TIẾNG VIỆT NAM 30 2.1 Bộ từ điển Lexicom 30 2.2 Dữ liệu 31 Nhận dạng tiếng nói Việt Nam từ vựng lớn Trang - iii 2.2.1 Dữ liệu văn bản 31 2.2.2 Dữ liệu âm thanh 32 2.2.3 Tiếng ồn và nhiễu trong dữ liệu âm thanh 34 2.3 Huấn luyện tiếng Việt 34 2.3.1 Chuẩn bị dữ liệu 34 2.3.2 Các bước trong quá trình học tiếng Việt 38 CHƯƠNG 3: DEMO ĐỌC SỐ 50 3.1.Chương trình demo đọc số liên tục 50 3.2.Zip City 50 CHƯƠNG 4: TẠO MODEL DÙNG CHO SPHINX-4 53 4.1 Tạo model dùng cho sphinx-4. 53 4.2 Audio Tool 57 CHƯƠNG 5: KẾT QUẢ ĐẠT ĐƯỢC 62 Nhận dạng tiếng nói Việt Nam từ vựng lớn Trang - iv DANH MỤC CÁC HÌNH Hình 1.1: Sơ đồ tổng quát hệ thống nhận dạng tiếng nói 2 Hình 1.2: Tổng quan về các thành phần chính trong nhận dạng tiếng nói 2 Hình 1.3: Các thành phần cơ bản của một hệ thống nhận dạng tiếng nói 4 Hình 1.4: Mô hình HMM trái phải với 6 trạng thái 8 Hình 2.3 Câu "tôi đi" khi đọc quá nhanh 33 Hình 2.4 Chữ “tôi” khi đọc ngân dài 33 Hình 2.5 Câu “ba bốn bảy” thu âm bị ồn và nhiễu 34 Hình 3.1: Màn hình ban đầu của demo đọc số 50 Hình 3.2:Màn hình sau khi nhận dạng một câu đọc số 50 Hình 3.3: Màn hình ZipCity khi nhận dạng 52 Hình 4.1 Màn nhìn cấu hình ghi âm 58 Hình 4.2 Màn hình ghi âm 59 Hình 4.3 Màn hình của player khi mới khởi động 60 Hình 4.4 Màn hình kiểm tra dữ liệu 61 Nhận dạng tiếng nói Việt Nam từ vựng lớn Trang - v DANH SÁCH CHỮ VIẾT TẮT HMM Hidden Markov Model. FFT Fast Fourier Transform. Nhận dạng tiếng nói Việt Nam từ vựng lớn Trang - 1 CHƯƠNG 1: TỔNG QUAN VỀ NHẬN DẠNG TIẾNG NÓI 1.1 Giới thiệu 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à tín hiệu tiếng nói thành một dãy các tuần tự các mẫu đã được huấn luyện trước đó và đã được lưu vào 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 thật đơn giản bằng cách so sánh dữ liệu tiếng nói cần nhận dạng với các mẩu đã được huấn luyện và được lưu 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 đổi 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, về 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 các 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á từ các mẫu tiếng nói những biến thiên quan trọng cần thiết trong 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 ba 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 (short-term amplitude spectrum). 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à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 phát âm được bảo toàn khi chúng ta phiên âm phát â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 (semantics) và suy đoán (pragmatics) có giá trị trong quá trình nhận dạng tiếng nói, nhất là khi thông tin về âm học là không rõ ràng. Một hệ thống nhận dạng nói chung thường bao gồm hai phần: phần huấn luyện (training phase) và phần nhận dạng (recognition phase). “Huấn luyện” là quá trình hệ thống “học” những mẫu chuẩn được cung cấp bởi những tiếng khác nhau (từ hoặc âm), để từ đó hình thành bộ từ vựng của hệ thống. “Nhận dạng” là quá trình quyết định xem từ nào được đọc căn cứ vào bộ từ vựng đã được huấn luyện. Sơ đồ tổng quát của hệ thống nhận dạng tiếng nói được thể hiện trên hình 1.1 . Nhận dạng tiếng nói Việt Nam từ vựng lớn Trang - 2 Hình 1.1: Sơ đồ tổng quát hệ thống nhận dạng tiếng nói Để thuận tiện cho việc kiểm tra và đánh giá kết quả, từ sơ đồ trên chúng ta chia chương trình nhận dạng thành ba mô-đun riêng biệt:  Mô-đun 1: Thực hiện việc ghi âm tín hiệu tiếng nói, tách tiếng nói khỏi nền nhiễu và lưu vào cơ sở dữ liệu.  Mô-đun 2: Trích đặc trưng tín hiệu tiếng nói đã thu ở mô-đun 1 bằng phương pháp MFCC, đồng thời thực hiện ước lượng vector các vector đặc trưng này.  Mô-đun 3: Xây dựng mô hình Markov ẩn với 6 trạng thái, tối ưu hóa các hệ số của HMM tương ứng với từng từ trong bộ từ vựng, tiến hành nhận dạng một từ được đọc vào micro. Hình 1.2: Tổng quan về các thành phần chính trong nhận dạng tiếng nói Nhận dạng tiếng nói Việt Nam từ vựng lớn Trang - 3 1.2 Công thức cơ bản Trong phần này sẽ giới thiệu một số ký hiệu sử dụng và một số công thức cơ bản. Gọi A là tập hợp các cú âm để bộ nhận dạng dùng để xác định từ nào đã được nói. A là một chuỗi các kí tự trong bảng alphabet A: A = a 1 , a 2 , …, a m a i  A (1.1) Gọi W = w 1 , w 2 , …, w n w i  W (1.2) là một tập n chữ, những chữ này nằm trong một bộ từ vựng cố định cho trước. P(W|A) là xác suất để tập chữ W được nói khi chuỗi cú âm quan sát được là A. Từ tập chữ W bộ nhận dạng sẽ xác định một chuỗi chữ tốt nhất Ŵ để cho ra chuỗi quan sát là A, tức là: Ŵ = argmax W P(W|A) (1.3) Theo công thức Bayes ta có: (1.4) Trong đó P(W) là xác suất để chuỗi W được nói, P(A|W) là xác suất quan sát được A khi đọc chuỗi W, và P(A) là xác suất trung bình A được quan sát. P(A) được tính theo công thức: (1.5) Vì A là cố định nên từ (1.3) và (1.5) ta có: Ŵ = argmax W P(W)P(A|W) (1.6) Theo công thức 1.6 thì bài toán nhận dạng tiếng nói (nhận ra chuỗi từ Ŵ) chính là phải xác định được các xác suất P(W) và P(A|W). P(W) được tính thông qua mô hình ngôn ngữ, còn xác suất P(A|W) được tính thông qua mô hình cú âm. Ngoài ra còn một số công thức về xác suất khác: Nhận dạng tiếng nói Việt Nam từ vựng lớn Trang - 4 P(x, y|z) = P(x|y, z)P(y|z) (1.7) Công thức Bayes: (1.8) 1.3 Các thành phần của một bộ nhận dạng tiếng nói Hình 1.3: Các thành phần cơ bản của một hệ thống nhận dạng tiếng nói. Ở phần 1.1 đã giới thiệu một quá trình nhận dạng tiếng nói, phần này sẽ giới thiệu về bộ nhận dạng tiếng nói trong quá trình đó. Về cơ bản thì bộ nhận dạng tiếng nói gồm hai phần: xử lý cú âm và giải mã. Trong đó bộ giải mã được cài đặt nhiều thành phần khác nhau. Trong phần này sẽ giới thiệu về mô hình cú âm, mô hình ngôn ngữ và tìm kiếm giả định. 1.3.1 Xử lý cú âm Công việc đầu tiên của một bộ nhận dạng tiếng nói là xác định dữ liệu cú âm được quan sát A. Bộ phận làm việc này gọi là front end, front end sẽ chuyển đổi âm thanh (dưới dạng sóng) thành các ký tự a i . Việc xử lý tín hiệu âm thanh liên quan nhiều đến lĩnh vực vật lý và sẽ không được nói sâu trong phạm vi của đế tài. Nhận dạng tiếng nói Việt Nam từ vựng lớn Trang - 5 1.3.2 Mô hình cú âm Quay trở lại công thức 1.6, bộ nhận dạng cần phải tính được P(A|W) là xác suất khi người nói nói chuỗi từ W thì bộ phân tích cú âm phân tích được chuỗi cú âm A. Để phục vụ công việc nhận dạng, chúng ta cần phải tính P(A|W) của tất cả các cặp A, W có thể. Điều này khó có thể thực hiện được, vì số lượng rất lớn. Và nếu có tính hết được thì cũng rất khó có thể tìm kiếm được cặp A, W phù hợp. Vì vậy để tính P(A|W) chúng ta cần một mô hình xác suất cú âm của chuỗi từ mà người nói đã nói. Số lượng mô hình phụ thuộc vào cách mà người nói nói chuỗi từ đó, vào nhiễu (tiếng ồn, tiếng vọng …), vị trí và các đặc tính của microphone, và việc xử lý cú âm của front end. Mô hình cú âm được sử dụng rộng rãi nhất trong các bộ nhận dạng tiếng nói hiện nay là mô hình Markov ẩn (HMM), sẽ được thảo luận ở chương tiếp. Ngoài ra còn nhiều loại mô hình khác, chúng có thể dựa vào thuật toán mạng nơron (artificial neural networks) hoặc thuật toán qui hoạch động (dynamic time warping). Những phương pháp này không được đề cập tới trong đề tài. 13.3 Mô hình ngôn ngữ Công thức 1.6 cũng yêu cầu phải tính xác suất các chuỗi chữ W để tìm ra chuỗi chữ có xác suất tốt nhất mà người dùng muốn nói chuỗi chữ W. Công thức Bayes cho phép có nhiều cách khác nhau để phân tích P(W). Nhưng bởi vì bộ nhận dạng muốn truyền đạt chuỗi văn bản một cách “tự nhiên” như những gì con người nói, vì thế chúng ta sử dụng cách phân tích: (1.9) Bộ nhận dạng phải ước lượng xác suất P(w i |w 1 ,…, w i-1 ). Chúng ta phải ước lượng bởi vì dù với một giá trị n vừa phải và kích thước từ vựng hợp lý, thì xác suất P(w i |w 1 ,…, w i-1 ) có rất nhiều đối số. [...]... trình Forward và Backward Nhận dạng tiếng nói Việt Nam từ vựng lớn Trang - 17 Hình 1.5 Mô tả quá trình forward Hình 1.6 Mô tả quá trình backward Gọi t(i, j) là xác suất trạng thái Si tại t và Sj tại t+1 trong mô hình HMM tức là: t(i, j) = P(q t=S i, q t+1=Sj|X, M) Hình 1.5 mô tả cho t(i, j) (1.29) Nhận dạng tiếng nói Việt Nam từ vựng lớn Hình 1.7 Mô tả xác suất Trang - 18 t(i, j) Từ hình 1.7 ta thấy: a... Fourier rời rạc trong nhận dạng tiếng nói, chúng tôi lựa chọn thuật toán biến đổi Fourier nhanh với giải thuật Butterfly Quá trình nhận dạng trải qua 3 giai đoạn như sau : Giai đoạn đầu tiên Phân rã tín hiệu tiếng nói miền thời gian N điểm thành N tín hiệu miền thời gian cho mỗi điểm riêng lẻ Nhận dạng tiếng nói Việt Nam từ vựng lớn Trang - 25 Ví dụ : Một tín hiệu tiếng nói gồm 16 điểm được phân rã như... tần số, trục hoành là trục thời gian Bóng tối là độ lớn của tần số tại thời điểm t tương ứng Hình 1.16 Tín hiệu của câu nói "khoa công nghệ thông tin” (kết quả của FFT) Hình 1.17 Phổ tần số của câu nói "khoa công nghệ thông tin” Nhận dạng tiếng nói Việt Nam từ vựng lớn Trang - 30 CHƯƠNG 2 :HUẤN LUYỆN TIẾNG VIỆT NAM 2.1 Bộ từ điển Lexicom Lexicon là bộ từ điển dùng để thể hiện các chữ thành các đơn vị... suất đứng đầu chuỗi πi và: =1 Dựa vào các tài liệu tham khảo và những thông tin về các hệ thống nhận dạng đã xây dựng thành công chúng tôi thấy rằng: đối với nhận dạng tín hiệu tiếng nói Nhận dạng tiếng nói Việt Nam từ vựng lớn Trang - 8 thì mô hình HMM thường được chọn là mô hình trái phải (left-right) có từ 5 đến 6 trạng thái Qua quá trình thử nghiệm, mô hình có 6 trạng thái cho kết quả tốt hơn nên... hiệu tiếng nói có thể thay đổi trong khoảng thời gian từ 10 – 20 ms, do đó kích thước cửa sổ phù hợp là 20 ms, cứ 10 ms thì biến đổi Fourier rời rạc sẽ được cập nhật một lần Nhận dạng tiếng nói Việt Nam từ vựng lớn Trang - 24 Hình 1.9 Cửa Sổ Hamming Hình 1.10 Biến đổi FFT của Hamming Window 1.5.4 Biến đổi Fourier nhanh và thuật toán Butterfly: Để thực hiện được biến đổi Fourier rời rạc trong nhận dạng. .. này không chỉ hữu dụng trong nhận dạng tiếng nói mà còn trong nhiều lĩnh vực khác Trước khi áp dụng nó vào trong mô hình cú âm , chúng ta sẽ xem xét khái niệm tổng quát về mô hình HMM Trước hết là về chuỗi Markov ẩn Gọi Q1, Q2, …, Qn, … là một chuỗi các biến ngẫu nhiên có giá trị được lấy từ tập hữu hạn Q = {1, 2, …, c} Theo Bayes ta có: Nhận dạng tiếng nói Việt Nam từ vựng lớn P(Q1,Q2,….Qn,)=  n i 1... rạc, thường được tạo ra từ một nguồn liên tục Những tín hiệu này thông thường là tín hiệu thời gian thực, và luôn thay đổi đặc điểm trong quá trình nhận dạng, ví dụ như : tiếng nói, tín hiệu sinh học, Vì vậy, cần phải áp dụng kỹ thuật Hamming Window như là bước tiền xử lý của biến đổi Fourier Đây là kỷ thuật để giảm bớt sự rò rỉ của tín hiệu Nhận dạng tiếng nói Việt Nam từ vựng lớn Trang - 20 1.5.2... thay vì trên toàn thời gian nói Cửa sổ này là sản phẩm của việc ứng dụng Hamming Window vào tín hiệu Kết quả trả về là độ lớn phổ của dữ liệu trong cửa sổ Hamming Mỗi giá trị phổ trả về đại diện cho độ lớn của tần số cụ thể cho dữ liệu trong cửa sổ Hamming Hình 1 là tín hiệu kết quả của FTT và hình 3.9 là phổ tần số của câu Nhận dạng tiếng nói Việt Nam từ vựng lớn Trang - 29 nói “khoa công nghệ thông... người miền Nam và miền Bắc phát âm khác nhau Người miền Trung thì phát âm hoặc giống người Bắc hoặc giống người Nam Chính vì thế mà nhóm em chỉ làm lexicon cho hai miền Nam và Bắc Đây là cách phát âm phổ thông theo hai miền chứ không phải cách phát âm địa phương Ví dụ: BÀN B 1 AA NG Phiên âm theo giọng miền Nam BÀN(2) B 1 AA N Phiên âm theo giọng miền Bắc Nhận dạng tiếng nói Việt Nam từ vựng lớn Trang... cụ mạnh mẽ để giải quyết vấn đề này Như đã biết, tiếng nói là một dạng tín hiệu miền thời gian, có phổ tần số rất phức tạp, cho nên không thể nhận dạng được Chỉ khi nào thực hiện phép toán đổi trục, từ miền thời gian sang miền tần số, chúng ta mới tính được phổ tần số của từng điểm tín hiệu Từ đó, kết hợp các phổ tần số này lại để nhận dạng được tiếng nói Biến đổi Fourier rời rạc chuyển đổi một hàm . trình nhận dạng khác để nhận dạng tiếng Việt. Một hệ thống nhận dạng tiếng nói ở nước ta phải được xây dựng trên nền tảng của tiếng nói tiếng Việt. Vấn đề nhận dạng tiếng nói tiếng Việt chỉ. với từng từ trong bộ từ vựng, tiến hành nhận dạng một từ được đọc vào micro. Hình 1.2: Tổng quan về các thành phần chính trong nhận dạng tiếng nói Nhận dạng tiếng nói Việt Nam từ vựng lớn. liệu 61 Nhận dạng tiếng nói Việt Nam từ vựng lớn Trang - v DANH SÁCH CHỮ VIẾT TẮT HMM Hidden Markov Model. FFT Fast Fourier Transform. Nhận dạng tiếng nói Việt Nam từ vựng lớn Trang

Ngày đăng: 21/10/2014, 03:14

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan