Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 97 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
97
Dung lượng
1,82 MB
Nội dung
TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN TRẦN THỊ THANH NHÀN MẠNG NEURON VÀ ỨNG DỤNG TRONG NHẬN DẠNG TIẾNG NÓI KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC Chuyên ngành: Tin học Người hướng dẫn khoa học TS TRỊNH ĐÌNH VINH HÀ NỘI - 2014 LỜI CẢM ƠN Em xin chân thành cảm ơn thầy giáo, cô giáo khoa Công nghệ Thông tin, Trường Đại học Sư phạm Hà Nội tận tình dạy dỗ, truyền đạt cho em nhiều kiến thức quý báu Em xin bày tỏ lòng biết ơn sâu sắc đến thầy TS.Trịnh Đình Vinh, người tận tình giúp đỡ truyền đạt nhiều kinh nghiệm để em hồn thành tốt khóa luận Em xin cảm ơn bạn khoa Công nghệ Thông tin, Trường Đại học Sư phạm Hà Nội giúp đỡ, động viên em nhiều q trình thực khóa luận Em xin chân thành cảm ơn! Hà Nội, Tháng năm 2014 Sinh viên Trần Thị Thanh Nhàn LỜI CAM ĐOAN Tên em Trần Thị Thanh Nhàn, sinh viên lớp K36–Tin học, khoa Cơng nghệ thơng tin, niên khố 2010-2014 Em xin cam đoan luận văn ‘‘Mạng neuron ứng dụng nhận dạng tiếng nói’’ cơng trình nghiên cứu riêng em, số liệu nghiên cứu thu từ thực nghiệm không chép Sinh viên Trần Thị Thanh Nhàn MỤC LỤC MỞ ĐẦU CHƯƠNG 1: TỔNG QUAN VỀ MẠNG NEURON NHÂN TẠO 1.1 Khái niệm 1.2 Đặc trưng mạng neuron 1.2.1 Tính phi tuyến 1.2.2 Tính chất thích nghi .7 1.2.3 Tính chất đưa lời giải có chứng 1.2.4 Tính chất chấp nhận sai sót 1.2.5 Khả cài đặt VLSI (Very-Large-Scale-Intergrated) .8 1.2.6 Tính chất đồng dạng phân tích thiết kế 1.3 Phân loại mạng neuron nhân tạo 1.4 Huấn luyện mạng neuron 11 1.4.1 Phương pháp học 11 1.4.2 Thuật toán học .12 1.5 Thu thập liệu cho mạng neuron .17 1.6 Biểu diễn tri thức cho mạng neuron 18 1.7 Ứng dụng mạng neuron .19 CHƯƠNG 2: NHẬN DẠNG TIẾNG NÓI 21 2.1 Tổng quan nhận dạng tiếng nói .21 2.2 Các nguyên tắc nhận dạng tiếng nói 22 2.3 Các hệ thống nhận dạng tiếng nói 22 2.4 Các q trình nhận dạng tiếng nói .23 2.4.1 Phân tích đặc trưng (tham số) tiếng nói 24 2.4.2 Phân lớp mẫu 26 2.4.3 Xử lý ngôn ngữ 27 2.5 Các tiếp cận nhận dạng tiếng nói 28 2.5.1 Tiếp cận Âm thanh-Ngữ âm 28 2.5.2 Tiếp cận nhận dạng mẫu 29 2.5.3 Tiếp cận trí tuệ nhân tạo 30 2.6 Các phương pháp nhận dạng tiếng nói 32 2.6.1 Mơ hình Fujisaki 32 2.6.2 Mô hình Markvo ẩn 35 2.7 Những thuận lợi khó khăn nhận dạng tiếng Việt 43 2.8 Cấu trúc File “.Wav” 44 CHƯƠNG 3: MẠNG NEURON TRONG NHẬN DẠNG TIẾNG NĨI 47 3.1 Nhận dạng tiếng nói 47 3.2 Nhận dạng tiếng nói mạng neuron 48 3.3 Phân tích tín hiệu tiếng nói 48 3.4 Mô tả mạng neuron nhận dạng 49 3.5 Phương pháp nhận dạng 50 CHƯƠNG 4: XÂY DỰNG CHƯƠNG TRÌNH MƠ PHỎNG 52 4.1 Phát biểu toán 52 4.2 Các bước xây dựng 52 4.3 Thiết kế chương trình 57 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 61 TÀI LIỆU THAM KHẢO 63 DANH MỤC HÌNH Hình 1.1: Mơ hình neuron sinh học Hình 1.2: Mơ hình neuron nhân tạo Hình 1.3: Sơ đồ đơn giản mạng neuron nhân tạo Hình 1.4: Mạng tiến với mức neuron Hình 1.5: Mạng tiến kết nối đầy đủ với mức ẩn mức đầu 10 Hình 1.6: Mạng hồi quy khơng có neuron ẩn 10 Hình 1.7: Mạng hồi quy có neuron ẩn 11 Hình 1.8: Mơ hình mạng neuron lớp đầu 14 Hình 1.9: Mơ hình mạng neuron lớp ẩn 15 Hình 2.1: Các phần tử hệ thống nhận dạng tiếng nói 21 Hình 2.2: Các hệ thống nhận dạng tiếng nói 23 Hình 2.3: Các q trình nhận dạng tiếng nói 24 Hình 2.4: Các băng lọc tam giác theo thang tần số Mel 25 Hình 2.5: Sơ đồ nhận dạng tiếng nói theo Âm học-Ngữ âm học 28 Hình 2.6: Sơ đồ nhận dạng tiếng nói theo phương pháp từ lên 32 Hình 2.7: Xích Markov xác suất chuyển trạng thái 36 Hình 2.8: Mơ hình Markvo ẩn 43 Hình 3.1: Sơ đồ tổng quan hệ thống nhận dạng 48 Hình 3.2: Sơ đồ mơ tả hệ thống nhận dạng tiếng nói 48 Hình 4.1: Sơ đồ hệ thống nhận dạng tiếng nói chữ số tiếng Việt 53 Hình 4.2: Sơ đồ khối cắt khoản lặng file wav 54 Hình 4.3: Sơ đồ mạng neuron thiết kế 56 Hình 4.4: Form chương trình 58 Hình 4.5: Form tạo mạng neuron MLP lớp 59 Hình 4.6: Form huấn luyện mạng MLP 59 Hình 4.7: Form nhận dạng từ file 60 Hình 4.8: Form nhận dạng trực tiếp từ micro 60 DANH MỤC BẢNG Bảng 2.1: Kết phân tích điệu mơ hình Fujisaki 35 Bảng 2.2: Cấu trúc file “.wav” 46 DANH MỤC CÁC TỪ VIẾT TẮT Từ viết tắt Thuật ngữ Ý nghĩa ANN Artifactial Neuron Network Mạng Neuron nhân tạo FFT Fast Fourier Transform Biến đổi Fourier nhanh DCT Dicrette Cosine Transform Biến đổi cosin rời rạc HMM Hidden Markov Model Mơ hình Markov ẩn LPC Linear predictive code Hệ số dự đốn tuyến tính MFCC Mel-Scale Frequency Hệ số cepstral độ đo mel Cepstral Coefficient MLP Multi Layer Perceptron Mạng peceptron truyền thẳng nhiều lớp SR, ASR VLSI Speech Recognition Nhận dạng tiếng nói Very-large-scale-intergrated Học thuật Very-largescale-intergrated DWT Dynamic Time Warping Học thuật Dynamic Time Warping MỞ ĐẦU Lý chọn đề tài Tiếng nói phương tiện giao tiếp rộng rãi nhất, hình thành phát triển song song với q trình tiến hóa lồi người Ưu điểm việc giao tiếp tiếng nói trước tiên tốc độ giao tiếp, tiếng nói từ người nói người nghe hiểu sau phát Đối với người, việc nghe, nghe tiếng mẹ đẻ vấn đề đơn giản Còn máy tính, xác định chuỗi tín hiệu âm phát âm từ hồn tồn khơng đơn giản, khó khăn việc học nghe ngoại ngữ Lĩnh vực nghiên cứu nhận dạng tiếng nói cuối thập kỉ 40, nghiên cứu ứng dụng xử lý ngơn ngữ nói có số thành cơng Đối với tiếng Việt, trình nghiên cứu kết nhiều khiêm tốn Chưa thấy xuất phần mềm nhận dạng tiếng Việt hồn chỉnh thị trường Số cơng trình nghiên cứu nhận dạng tiếng nói tiếng Việt cơng bố hoi kết hạn chế từ vựng, độ xác,… Do việc nghiên cứu nhận dạng tiếng Việt cần thiết Vì ý nghĩa đồng ý hướng dẫn thầy TS Trịnh Đình Vinh, em chọn đề tài “Mạng neuron ứng dụng nhận dạng tiếng nói” thực với mong muốn đóng góp giải pháp lĩnh vực nhận dạng tiếng nói tiếng Việt Mục đích ngiên cứu Nghiên cứu chung vấn đề nhận dạng tiếng nói ứng dụng mơ hình Markov ẩn kết hợp mạng Neuron nhận dạng tiếng nói tiếng Việt Xây dựng chương trình nhận dạng nhằm mục đích kiểm tra giải pháp đánh giá hiệu suất nhận dạng hệ thống Nhiệm vụ nghiên cứu Nghiên cứu tổng quan nhận dạng tiếng nói bao gồm hướng tiếp cận nhận dạng tiếng nói, mơ hình kĩ thuật phân lớp, tiếp đến trình bày bước tiền xử lý tín hiệu tiếng nói, phương pháp phân tích đặc trưng tiếng nói ứng dụng mơ hình mạng Markov ẩn nhận dạng tiếng nói Nghiên cứu phát triển giải thuật cho hệ thống nhận dạng tiếng nói mơi tường Matlab sử dụng cơng cụ có sẵn Toolbox Matlab, Netlab Toolbox, Voice Toolbox Đối tượng phạm vi nghiên cứu Đối tượng nghiên cứu mạng neuron nhân tạo Phạm vi nghiên cứu mạng neuron nhân tạo nhận dạng tiếng nói Ý nghĩa đề tài Chương trình thực nghiệm thành cơng góp phần nhỏ lĩnh vực nhận dạng tiếng nói nhằm tăng từ điển nhận dạng tiếng nói tiếng Việt để người dùng nhận dạng tiếng nói cách nhanh xác Phương pháp nghiên cứu - Phương pháp nghiên cứu lý luận: Nghiên cứu qua việc đọc sách, báo tài liệu liên quan nhằm xây dựng sở lý thuyết đề tài biện pháp cần thiết để giải vấn đề đề tài - Phương pháp chuyên gia: Tham khảo ý kiến chuyên gia để thiết kế chương trình phù hợp với yêu cầu thực tiễn Nội dung xử lý nhanh đáp ứng yêu cầu ngày cao người sử dụng - Phương pháp thực nghiệm: Thông qua quan sát thực tế, yêu cầu sở, lý luận nghiên cứu kết đạt qua phương pháp % cat khoang lang khoi x % n độ dài frame, es ngưỡng lượng x = x - mean(x); %dk: x dã chuẩn hóa if nargin < es = 2E - 3; %mặc định 2e -3 end; if nargin < n = 128; %mặc định 128 mẫu end; y =[]; i = 1; while i es) y = [y t]; end; i= i+ n; end; Sơ đồ giải thuật miêu tả hình 4.2 Các lệnh miêu tả sau: Begin Đọc file wav, chiều dài frame, ngưỡng lượng Chia wav thành Frame, tính nl Frame nl frame>nl ngưỡng Sai Đúng Lưu Frame End Hình 4.2: Sơ đồ khối cắt khoản lặng file wav Mỗi file âm trích chọn đặc trưng MFCC thành dãy vector MFCC hàm wave2mfcc: function mfcc = wave2mfcc(wav, fs, p); if nargin < % mặc định lấy vector MFCC 8pt p =8; end; if nargin < % mặc định tần số lấy mẫu = 8kHz fs = 8000; end; if isstr(wav) % wav tên file đọc [wav fs] = wavread(wav); end; % chuẩn hoá để max(wav)=1 mx = max(wav); wav = wav./mx; % tính vector MFCC p phần tử, gồm lượng mfcc = melcepst(wav,fs,'e',p-1); Vì file wav có độ dài ngắn khác nên dãy vector đặc trưng MFCC tương ứng khơng có số phần tử Nhưng đầu vào mạng neuron MLP lại phải cố định Do em thực biện pháp đơn giản chia dãy đặc trưng thành phần nhau, tính trung bình phần vector ghép lại thành vector Kết đầu vào mạng neuron vector 8x5= 40 thành phần function x = VecAvr(ft, k); % trích ft thành k phần chia trung bình n = length(ft); m = floor(n/k); x=[]; i=0;t=1; while i