Mạng neuron và ứng dụng trong nhận dạng tiếng nói (2014)

71 22 0
  • Loading ...
1/71 trang

Thông tin tài liệu

Ngày đăng: 16/04/2018, 15:17

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 Ứ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 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) 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 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 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 - Phân tích tự tương quan: Các khung phân tích tự tương quan, kết ta giá trị tương quan cao gọi bậc phân tích LPC Thông thường nhận giá trị từ đến 16 - Phân tích LPC: Sử dụng thuật tốn Durbin để chuyển đổi hệ số tự tương quan thành tập tham số LPC - Chuyển đổi tham số LPC thành hệ số phân tích phổ Trong thực nghiệm ta chọn 12 hệ số cepstral để làm đặc trưng tín hiệu 3.4 Mô tả mạng neuron nhận dạng - Phương án lựa chọn số nút lớp mạng: theo kinh nghiệm chuyên gia mạng neuron tốn phân lớp có sử dụng mạng lan truyền ngược hướng, sử dụng lớp tính toán lớp mạng Kohonen làm lớp ẩn Ta xác định số neuron cho lớp + Số neuron lớp vào số chiều vector vào, ta chọn 12 hệ số cepstral đặc trưng mẫu, mẫu xử lý L khung tiếng nói, số neuron lớp vào 12*L, ví dụ sử dụng frames/mẫu số neuron lớp vào 60 + Số neuron lớp Kohonen số giá trị tập trả lời Ví dụ cần nhận dạng 10 từ từ mô tả vector vào 60 thành phần, lớp ẩn cần lưu trữ lời giải 600, cần số neuron lớp ẩn 625 neuron (ma trận neuron kích thước 25x25) + Số neuron lớp số lượng kết đầu ra, sử dụng phương pháp mã hoá số bit biểu diễn số lượng kết quả, ví dụ cần nhận dạng 128 từ cần neuron lớp ra, neuron cho phép mã hoá 27 = 128 giá trị - Phương pháp học cạnh tranh lớp ẩn trình học có đạo lớp mạng theo bước sau: + Khởi tạo trọng số: thành phần ma trận trọng số khởi tạo giá trị ngẫu nhiên 49 + Đọc tín hiệu vào cho mạng: liệu file mẫu chứa thông tin mẫu học cho kết gồm thành phần: mảng chiều chứa vector tín hiệu vào mảng chiều chứa ma trận trọng số liên kết ban đầu lớp Kohonen + Hiệu chỉnh ma trận trọng số lớp Kohonen: hiệu chỉnh trọng số liên kết neuron lớp ẩn Kohonen cho mạng học mẫu tốt Từ mảng chiều chứa vector tín hiệu vào, mảng hai chiều chứa ma trận trọng số liên kết lớp ẩn số học amin, amax, tmax chức phải xác định mảng hai chiều chứa ma trận trọng số liên kết lớp ẩn theo công thức: HidWeightijnew= HidWeightijold + rate(t)topo(Winner,i)(InVec(j)-HidWeightijold + Hiệu chỉnh ma trận trọng số lớp ra: hiệu chỉnh trọng số liên kết neuron lớp để tạo bảng tra cứu Từ mảng chiều chứa vector tín hiệu mảng hai chiều chứa ma trận trọng số liên kết lớp chức phải xác định mảng hai chiều chứa ma trận trọng số liên kết lớp cách hiệu chỉnh ma trận trọng số liên kết lớp theo công thức: OutWeightjknew = OutVec(k) 3.5 Phương pháp nhận dạng - Đầu vào: File wave chứa liệu tín hiệu tiếng nói cần nhận dạng file dat chứa thông tin trọng số liên kết neuron lớp ẩn lớp Ngoài đầu vào nguồn âm từ micro thơng qua sound card để làm, lúc liệu tiếng nói đọc buffer liệu Windows - Đầu ra: kết cần nhận dạng - Q trình nhận dạng tiếng nói thực qua bước: + Đọc tín hiệu vào: đọc liệu từ file wav từ buffer liệu âm + Xử lý tín hiệu giống chức phân tích LPC + Đọc ma trận trọng số liên kết lớp ẩn lớp mạng + Xác định neuron trung tâm 50 + Tra cứu kết quả: tra cứu đồ topo mạng neuron để đưa giá trị cần nhận dạng Quá trình nhận dạng mẫu (cả pha huấn luyện hay pha nhận dạng) trải qua bước giai đoạn trích chọn đặc trưng (feature extraction) Bước thực phân tích phổ (spectral analysis) nhằm xác định thông tin quan trọng, đặc trưng, ổn định tín hiệu tiếng nói, tối thiểu hố ảnh hưởng nhiễu; xúc cảm, trạng thái, cách phát âm người nói; giảm khối lượng liệu cần xử lí, Mặc dù khơng mang tính định giai đoạn trích chọn đặc trưng ảnh hưởng lớn đến hiệu nhận dạng Vì việc lựa chọn đặc trưng cho tín hiệu tiếng nói quan trọng Có nhiều phương pháp trích chọn đặc trưng sử dụng (FBA, MFCC, LPC, PLP, ) Mỗi phương pháp có ưu điểm nhược điểm riêng Hiện MFCC (Mel-scale Frequency Cepstral Coefficient) sử dụng phổ biến Vì vậy, em sử dụng MFCC làm đặc trưng hệ nhận dạng trình bày khố luận 51 CHƯƠNG 4: XÂY DỰNG CHƯƠNG TRÌNH MƠ PHỎNG 4.1 Phát biểu toán Thiết kế mạng Neuron lan truyền ngược để xây dựng hệ thống nhận dạng âm tiếng Việt, xây dựng chương trình nhận dạng tiếng nói cho số người nói hữu hạn tập từ nhận dạng chữ số 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 Hệ thống nhận dạng mười chữ số tiếng Việt xây dựng với đặc trưng sau: • Phương pháp: nhận dạng từ đơn (Isolate Word Recognition) • Input: file wav, file chứa từ ghi âm trực tiếp • Output: chữ số nhận dạng file đầu vào • Bộ từ vựng: 11 từ đơn âm chữ số tiếng Việt ("không", "một", "hai", , "mười")  Ý tưởng toán:  Thu thập tiền xử lý:  Cắt vùng khơng chứa tín hiệu tiếng nói  Mỗi file âm trích chọn đặc trưng MFCC thành dãy vector MFCC hàm Wave2mfcc  Xây dựng mạng neuron MLP lớp để nhận dạng tiếng nói với đầy đủ thơng số:  Số neuron lớp vào  Số neuron lớp ẩn  Số neuron lớp  Hàm kích hoạt  Ngưỡng giá trị  Huấn luyện mạng 4.2 Các bước xây dựng Sơ đồ khối hệ thống nhận dạng tiếng nói chữ số tiếng Việt 52 mạng neuron MLP mơi trường Matlab mơ tả hình 4.1 Chức khối mô tả sau: Trích chọn đặc trưng MFCC Xây dựng CSDL huấn luyện mạng Chia liệu phân lớp Nguồn vào(tiếng nói) CSDL huấn luyện Độ xác DL huấn luyện Thu thập tiền xử lý (cắt từ, lọc nhiễu) Mạng neuron MLP Xây dựng huấn luyện mạng Trích chọn đặc trưng MFCC Tính đầu vào cho mạng Thử nghiệm mang DL thử nghiệm Truyền qua mạng để tính xác suất phân lớp Lựa chọn lớp có xác suất Chữ số nhận dạng cao Hình 4.1: Sơ đồ hệ thống nhận dạng tiếng nói chữ số tiếng Việt Thu thập tiền xử lí: Tín hiệu tiếng nói giai đoạn huấn luyện thực phương pháp thủ công: sử dụng phần mềm ghi âm, lọc nhiễu cắt thành từ riêng rẽ, từ ghi vào file (tên file ghi từ tương ứng) Bộ liệu em tự xây dựng gồm:  File wav 16 bit kHz, file phát âm từ  Từ chữ số tiếng Việt từ đến 10 (Mặc dù "mười" có chữ số cần hệ nhận dạng chữ số "10" phát âm âm tiết số phát âm trở sau âm tiết: "mười một", "mười hai", ) Việc thu thập tiền xử lí (cắt vùng khơng chứa tín hiệu tiếng nói) thực lệnh sau: x = wavrecord(10000,8000); %tần số lấy mẫu 8kHz, ghi âm chừng 1s x = x'; %chuyển x thành ma trận dòng y = endcut(x, 64, 1.5E-3); %cắt khoản lặng Hàm endcut dùng cắt khoảng lặng không chứa tín hiệu âm: function y = endcut(x, n, es) 53 % 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 - 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 Sai nl frame>nl ngưỡng Đúng Lưu Frame End Hình 4.2: Sơ đồ khối cắt khoản lặng file wav 54 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
- Xem thêm -

Xem thêm: Mạng neuron và ứng dụng trong nhận dạng tiếng nói (2014) , Mạng neuron và ứng dụng trong nhận dạng tiếng nói (2014) , CHƯƠNG 1: TỔNG QUAN VỀ MẠNG NEURON NHÂN TẠO, Hình 1.3: Sơ đồ đơn giản về một mạng neuron nhân tạo,  Các mạng dẫn tiến (feedforward) đa mức, a. Thuật toán học của mạng neuron một lớp, Những hạn chế của phương pháp lan truyền ngược, CHƯƠNG 2: NHẬN DẠNG TIẾNG NÓI, CHƯƠNG 3: MẠNG NEURON TRONG NHẬN DẠNG TIẾNG NÓI, CHƯƠNG 4: XÂY DỰNG CHƯƠNG TRÌNH MÔ PHỎNG

Mục lục

Xem thêm

Gợi ý tài liệu liên quan cho bạn

Nhận lời giải ngay chưa đến 10 phút Đăng bài tập ngay