1. Trang chủ
  2. » Luận Văn - Báo Cáo

Học sâu nhận dạng tiếng việt 319542

58 24 1

Đ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

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI LUẬN VĂN THẠC SĨ Học sâu nhận dạng tiếng Việt LÊ TRỌNG THỊNH victoriavinky@gmail.com Ngành Công nghệ thông tin Giảng viên hướng dẫn: PGS TS Trịnh Văn Loan Viện: Công nghệ thông tin truyền thông HÀ NỘI, 06/2020 Chữ ký GVHD ĐỀ TÀI LUẬN VĂN HỌC SÂU NHẬN DẠNG TIẾNG VIỆT Giáo viên hướng dẫn Ký ghi rõ họ tên Lời cảm ơn Đầu tiên, xin gửi lời cảm ơn sâu sắc tới Phó Giáo sư, Tiến sĩ Trịnh Văn Loan – Giảng viên cao cấp mơn Kỹ thuật Máy tính, Viện Cơng nghệ thơng tin Truyền thông, Trường Đại học Bách khoa Hà Nội Thầy tận tình hướng dẫn cho tơi lời khuyên quý báu trình thực luận văn Tiếp theo, xin chân thành cảm ơn thầy cô Viện Công nghệ Thông tin Truyền thông, phận đào tạo sau đại học – phòng đào tạo, Trường Đại học Bách khoa Hà Nội tạo điều kiện cho tơi q trình học tập nghiên cứu trường Cuối cùng, xin bày tỏ lòng cảm ơn tới người thân gia đình, bạn bè động viên giúp đỡ tơi hồn thành luận văn Tóm tắt nội dung luận văn Xây dựng hệ thống nhận dạng tiếng Việt nói dựa kỹ thuật sử dụng mạng nơron lấy chập CNN Từ xây dựng ứng dụng phân lớp, nhận dạng tiếng nói số đếm tiếng Việt từ khơng đến chín người nói Chương 1: Giới thiệu toán nhận dạng phân loại tiếng nói, hướng tiếp cận giải toán nhiệm vụ luận văn Chương 2: Giới thiệu lý thuyết âm tiếng nói, giới thiệu xử lý tiếng nói, nhận dạng tiếng nói nhận dạng tiếng Việt nói Chương 3: Tìm hiểu tổng quan mạng nơ-ron, vấn đề cần phải thực cài đặt, huấn luyện mạng nơ-ron Giới thiệu mạng nơ-ron lấy chập Chương 4: Tiến hành phân tích tốn, đưa tiêu chí đánh giá Trình bày khâu tiền xử lý tiếng nói, xây dựng mơ hình huấn luyện chạy kết thử nghiệm đánh giá Chương 5: Đưa kết luận kết đạt luận văn định hướng phát triển cho toán tương lai HỌC VIÊN Ký ghi rõ họ tên Lê Trọng Thịnh MỤC LỤC CHƯƠNG TỔNG QUAN ĐỀ TÀI 1.1 Giới thiệu chung đề tài 1.2 Các hướng tiếp cận giải 1.3 1.2.1 Tiếp cận âm thanh-ngữ âm 1.2.2 Tiếp cận nhận dạng mẫu 1.2.3 Tiếp cận trí tuệ nhân tạo Nhiệm vụ luận văn CHƯƠNG CƠ SỞ LÝ THUYẾT XỬ LÝ TIẾNG NÓI 2.1 Lý thuyết âm tiếng nói 2.1.1 Nguồn gốc âm tiếng nói 2.1.2 Quá trình tạo tiếng nói 2.1.3 Phân loại tiếng nói 2.1.4 Các đặc tính vật lý tiếng nói 2.1.5 Biểu diễn tín hiệu tiếng nói 2.2 Giới thiệu xử lý tiếng nói 10 2.3 Nhận dạng tiếng nói 11 2.4 2.3.1 Tổng quan toán nhận dạng tiếng nói 11 2.3.2 Một số hệ thống nhận dạng tiếng nói 12 2.3.3 Các trình nhận dạng tiếng nói 13 Nhận dạng tiếng Việt 16 2.4.1 Một số đặc điểm ngữ âm tiếng Việt 16 2.4.2 Những thuận lợi khó khăn nhận dạng tiếng Việt 18 CHƯƠNG MẠNG NƠ-RON VÀ MẠNG NƠ-RON LẤY CHẬP 20 3.1 3.2 Tổng quan mơ hình mạng nơ-ron 20 3.1.1 Giới thiệu mạng nơ-ron nhân tạo 20 3.1.2 Kiến trúc mạng nơ-ron 21 3.1.3 Mạng nơ-ron lan truyền ngược MLP 22 Mạng nơ-ron lấy chập (Convolutional Neural Network – CNN) 24 3.2.1 Tổng quan mạng nơ-ron lấy chập CNN 24 3.2.2 Cách thức hoạt động mạng CNN 25 CHƯƠNG ỨNG DỤNG MẠNG NƠ-RON LẤY CHẬP ĐỂ NHẬN DẠNG CÁC SỐ ĐẾM TIẾNG VIỆT 30 4.1 Phân tích toán 30 4.2 Tiêu chí đánh giá 30 4.3 Tiền xử lý tín hiệu tiếng nói 30 4.3.1 Phân tách tập liệu 30 4.3.2 Trích chọn đặc trưng MFCC 31 4.3.3 Tính tần số F0 35 4.4 Xây dựng mơ hình huấn luyện 35 4.5 Kết thử nghiệm đánh giá 39 4.5.1 Kết huấn luyện đánh giá 39 4.5.2 Kết kiểm thử 41 CHƯƠNG KẾT LUẬN 44 5.1 Kết luận 44 5.2 Hướng mở rộng đề tài 44 5.2.1 Xây dựng liệu huấn luyện lớn 44 5.2.2 Xây dựng phần mềm nhận dạng dựa kết nghiên cứu 44 5.2.3 Nâng cao mức độ nhận dạng tiếng nói 45 TÀI LIỆU THAM KHẢO 46 DANH MỤC HÌNH VẼ Hình 1.1 Sơ đồ khối nhận dạng tiếng nói theo âm học-ngữ âm học [1] Hình 1.2 Sơ đồ khối hệ thống nhận dạng mẫu [2] Hình 1.3 Sơ đồ khối hệ thống tiếp cận trí tuệ nhân tạo [2] Hình 2.1 Bộ máy phát âm người [3] Hình 2.2 Biểu diễn tín hiệu tiếng nói dạng sóng theo thời gian (âm sáu) Hình 2.3 Biểu diễn tín hiệu tiếng nói dạng phổ tín hiệu (âm sáu) 10 Hình 2.4 Biểu diễn tín hiệu tiếng nói ảnh phổ - Spectrogram (âm bốn) 10 Hình 2.5 Ứng dụng xử lý tiếng nói 11 Hình 2.6 Các hệ thống nhận dạng tiếng nói 13 Hình 2.7 Các bước q trình nhận dạng tiếng nói [1] 13 Hình 2.8 Các băng lọc tam giác theo thang tần số Mel [1] 14 Hình 2.9 Mơ hình âm tiết tiếng Việt 16 Hình 2.10 Biểu đồ điệu tiếng Việt [4] 18 Hình 3.1 Cấu tạo nơ-ron 20 Hình 3.2 Kiến trúc mạng nơ-ron truyền thẳng [2] 22 Hình 3.3 Kiến trúc mạng nơ-ron phản hồi [2] 22 Hình 3.4 Mạng nơ-ron lan truyền ngược MLP [2] 22 Hình 3.5 Kiến trúc mạng CNN [7] 24 Hình 3.6 Ví dụ biểu diễn ảnh màu kích thước 28*28 pixel [8] 26 Hình 3.7 Một số lọc thông dụng 26 Hình 3.8 Ví dụ lấy chập với lọc kích thước 3*3 27 Hình 3.9 Ví dụ stride=1 stride=2 28 Hình 3.10 Ví dụ hai loại cửa sổ gộp: max pooling average pooling [9] 29 Hình 4.1 Biểu đồ phân bố lớp tập Train, Validation, Test 31 Hình 4.2 Ví dụ mơ hình CNN đơn giản 36 Hình 4.3 Kiến trúc mơ hình VGGNet 16 [10] 36 Hình 4.4 Mơ hình huấn luyện MiniVGGNet 38 Hình 4.5 Biểu đồ Accuracy Loss tập Train Validation MFCC 40 Hình 4.6 Biểu đồ Accuracy Loss tập Train Validation MFCC + F0 41 DANH MỤC BẢNG BIỂU Bảng 4.1 Tổng mẫu lớp tập Train, Validation, Test 31 Bảng 4.2 Một số kết sau tính lại độ dịch khung 34 Bảng 4.3 Tham số mơ hình huấn luyện 39 Bảng 4.4 Kết huấn luyện đánh giá chạy với tập liệu 40 Bảng 4.5 Ví dụ ma trận nhầm lẫn với đơn vị tính theo % – epoch 41 Bảng 4.6 Ví dụ ma trận nhầm lẫn với đơn vị tính số lượng mẫu – epoch 42 Bảng 4.7 Bảng so sánh kết kiểm thử với tập liệu 42 Bảng 4.8 Ma trận nhầm lẫn kiểm thử có độ xác cao 43 tệp âm Để đơn giản, ta dùng chung kích thước khung cho tất tệp âm (25ms) thay đổi độ dịch khung ứng với tệp 4.3.2.1 Tính số khung trung bình Trước tiên, sử dụng khung có độ rộng lấy 25ms, độ dịch khung (overlap) 10ms Do tần số lấy mẫu 𝐹𝑠 16000 Hz => 𝑇𝑠 = 1000/16000 nên ta tính được: • Độ dịch khung overlap tương ứng với: 𝑜𝑣𝑒𝑟𝑙𝑎𝑝 𝑠𝑎𝑚𝑝𝑙𝑒_𝑜𝑣𝑒𝑟 = 𝑇𝑠 𝑜𝑣𝑒𝑟𝑙𝑎𝑝 = 1000� 𝐹𝑠 = PT 4.2 10 1000� 16000 = 160 𝑚ẫ𝑢 • Độ rộng khung tương ứng với: 𝑓𝑓𝑟𝑎𝑚𝑒𝑡𝑖𝑚𝑒 PT 4.3 𝑠𝑎𝑚𝑝𝑙𝑒𝑓𝑟𝑎𝑚𝑒 = = 400 𝑇𝑠 Từ xác định số khung cần thiết cho tập âm tương ứng: 𝑤𝑤𝑎𝑣𝑒_𝑙𝑒𝑛𝑔𝑡ℎ − 𝑠𝑎𝑚𝑝𝑙𝑒_𝑓𝑓𝑟𝑎𝑚𝑒 PT 4.4 � 𝑛𝑏𝑏𝐹𝑟𝑎𝑚𝑒 = 𝑖𝑛𝑡 � 𝑠𝑎𝑚𝑝𝑙𝑒_𝑜𝑣𝑒𝑟 Sau xác định số khung cho tệp âm thanh, tính số khung trung bình: PT 4.5 ∑800 𝑖=1 𝑛𝑏𝑏𝐹𝑟𝑎𝑚𝑒𝑖 𝑎𝑣𝑒𝑟𝑁𝑏𝑏𝐹𝑟𝑎𝑚𝑒 = 800 Đoạn mã tính số khung trung bình ngơn ngữ Python thư viện Librosa: Fs = 16000 # Hz Ts = 1000.0/Fs # ms overlap = 10 # ms sample_over = overlap/Ts frame_time = 25 # ms sample_frame = int(frame_time/Ts) def calculate_average_number_frame(wave_files): numFrameTotal = for wave_file in wave_files.keys(): wave, _ = librosa.load(DATA_PATH+wave_file, mono=True, sr=16000) nbFrame = int((len(wave) – sample_frame)/sample_over) + numFrameTotal += nbFrame averNbFrame = int(numFrameTotal / len(wave_files)) return averNbFrame 32 Với liệu đầu vào, ta tính số khung cho tệp âm Từ ta tính số khung trung bình tính 45 4.3.2.2 Tính lại độ dịch khung Từ số khung trung bình tính được, ta tính lại số MFCC cho tệp âm theo nguyên tắc: • Số hệ số MFCC = số khung trung bình • Cố định số khung cho tệp = số khung trung bình Muốn phải thay đổi độ dịch khung cho tệp âm Tệp âm dài độ dịch khung lớn ngược lại để đảm bảo số khung tệp âm số hệ số MFCC chọn def recalculate_overlap(wave_files, averNbFrame): for wave_file in wave_files.keys(): wave, _ = librosa.load(DATA_PATH+wave_file, mono=True, sr=16000) sample_over = int((len(wave) – sample_frame)/(averNbFrame – 1)) overlap = int(sample_over * Ts) wave_files[wave_file] = overlap 33 Bảng 4.2 Một số kết sau tính lại độ dịch khung File khong001.wav khong002.wav khong003.wav khong004.wav khong005.wav khong006.wav khong007.wav khong008.wav khong009.wav khong010.wav File nam001.wav nam002.wav nam003.wav nam004.wav nam005.wav nam006.wav nam007.wav nam008.wav nam009.wav nam010.wav overla p 10 10 14 16 13 14 12 15 overla p 10 11 10 11 11 10 File mot001.wav mot002.wav mot003.wav mot004.wav mot005.wav mot006.wav mot007.wav mot008.wav mot009.wav mot010.wav File sau001.wav sau002.wav sau003.wav sau004.wav sau005.wav sau006.wav sau007.wav sau008.wav sau009.wav sau010.wav overla p 6 6 File hai001.wav hai002.wav hai003.wav hai004.wav hai005.wav hai006.wav hai007.wav hai008.wav hai009.wav hai010.wav overla p 10 11 11 14 13 14 14 13 11 10 overla p File 10 10 11 11 9 13 overla p bay001.wav bay002.wav bay003.wav bay004.wav bay005.wav bay006.wav bay007.wav bay008.wav bay009.wav bay010.wav 10 8 11 14 File ba001.wav ba002.wav ba003.wav ba004.wav ba005.wav ba006.wav ba007.wav ba008.wav ba009.wav ba010.wav File tam001.wav tam002.wav tam003.wav tam004.wav tam005.wav tam006.wav tam007.wav tam008.wav tam009.wav tam010.wav overla p 13 9 10 11 11 13 10 11 11 overla p 10 10 10 9 11 File bon001.wav bon002.wav bon003.wav bon004.wav bon005.wav bon006.wav bon007.wav bon008.wav bon009.wav bon010.wav File chin001.wav chin002.wav chin003.wav chin004.wav chin005.wav chin006.wav chin007.wav chin008.wav chin009.wav chin010.wav overla p 10 11 10 10 overla p 10 9 8 10 10 11 11 4.3.2.3 Trích chọn đặc trưng MFCC Sau xác định số hệ số MFCC, số khung độ dịch khung cho tệp âm thanh, ta sử dụng thư viện librosa.feature.mffc() để thực trích chọn đặc trưng cho khung tệp âm Ta thu ma trận vng có kích thước 𝑎𝑣𝑒𝑟𝑁𝑏𝑏𝐹𝑟𝑎𝑚𝑒 ∗ 𝑎𝑣𝑒𝑟𝑁𝑏𝑏𝐹𝑟𝑎𝑚𝑒 Với liệu đầu vào, ma trận có kích thước 45 ∗ 45 Với ma trận liệu ta xem ảnh đơn kênh quy toán nhận dạng ảnh Tạm lưu tệp tham số (các hệ số MFCC) tệp âm vào tệp tương ứng với quy ước: • Số cột số hệ số MFCC • Số dịng ứng với số khung 34 def write_mfcc_file(wave_files): for wave_f in wave_files.keys(): overlap_ = wave_files[wave_f] sample_over_ = overlap_/Ts wave, _ = librosa.load(DATA_PATH + wave_f, mono=True, sr=16000) with open(MFCC_PATH+wave_f[:wave_f.index(".")]+".txt","wt") as f: for i in range(averNbFrame): start = i * sample_over_ end = min(start + sample_frame, len(wave)) wave_frame = wave[start:end] mfcc = librosa.feature.mfcc( wave_frame, sr=16000, n_mfcc=averNbFrame) for j in range(len(mfcc)): f.write(str(mfcc[j][0])) f.write("\t") if (i < averNbFrame - 1): f.write("\n") 4.3.3 Tính tần số F0 Ngồi hệ số MFCC trích chọn trên, bổ sung thêm đặc trưng âm vào liệu đầu vào trước tiến hành huấn luyện với mạng nơ-ron lấy chập Ở đây, tác giả bổ sung thêm giá trị tần số F0 vào liệu đầu vào Giá trị tần số tính cho khung tương tự tính hệ số MFCC Tức với liệu tác giả, chương trình tính 45 giá trị tần số tương ứng với 45 khung tệp âm Tác giả sử dụng phần mềm Praat hệ điều hành Window để thực việc tính tần số lưu vào file có định dạng: nhãn_của_âm_cần_nhận_dạng-lần_phát_âm.f0 Tổng cộng ta có 800 tệp liệu tần số bản, tệp có 45 dịng 4.4 Xây dựng mơ hình huấn luyện Với tập liệu gồm 800 tệp liệu hệ số MFCC tệp âm tương ứng với giá trị tần số bản, bước xây dựng mơ hình huấn luyện theo mơ hình mạng nơ-ron lấy chập Mơ hình xây dựng ngôn ngữ Python hệ điều hành Ubuntu 18.04 sử dụng thư viện Tensorflow Có nhiều loại layers dùng để xây dựng mơ hình CNN, đặc biệt layers sử dụng phổ biến nhất: • • • • • • Convolutional (CONV) Activation (ACT RELU) Pooling (POOL) Full-connected (FC) Batch Normalization (BN) Dropout (DO) 35 Xây dựng tập layer theo cách thức xác định có mơ hình CNN Một mơ hình CNN từ đơn giản đến phức tạp tuỳ thuộc vào tham số mà mơ hình sử dụng Input CONV RELU FC SOFTMAX Hình 4.2 Ví dụ mơ hình CNN đơn giản Cho đến nay, khn mẫu chung cho mơ hình CNN tập vài CONV, RELU kèm theo POOL cuối, sau lặp mẫu thứ tự thu height width liệu đủ nhỏ áp dụng FC Vì vậy, tóm gọn lại kiến trúc chung cho mơ hình CNN sau: 𝐼𝑁𝑃𝑈𝑇 => �[𝐶𝑂𝑁𝑉 => 𝑅𝐸𝐿𝑈] ∗ 𝑁 => 𝑃𝑂𝑂𝐿? � ∗ 𝑀 => [𝐹𝐶 => 𝑅𝐸𝐿𝑈] ∗ 𝐾 => 𝐹𝐶 Trong đó, ∗ ngụ ý nhiều 1; ? lựa chọn không bắt buộc; 𝑁, 𝑀, 𝐾 xác định sau: • ≤ 𝑁 ≤ • 𝑀 ≥ • ≤ 𝐾 ≤ Trong luận văn này, tác giả xây dựng mơ hình theo hướng kiến trúc VGGNet với cửa sổ lọc kích thức 3𝑥𝑥3 cho lớp Conv2D hàm kích hoạt ReLU Hình 4.3 Kiến trúc mơ hình VGGNet 16 [10] Sơ đồ mơ hình sử dụng luận văn: 36 37 Hình 4.4 Mơ hình huấn luyện MiniVGGNet 38 Bảng 4.3 Tham số mơ hình huấn luyện Layer Output Shape Param # Conv2D (45, 46, 32) 320 BN (45, 46, 32) 180 Conv2D (45, 46, 32) 9248 BN (45, 46, 32) 128 Conv2D (22, 23, 64) 18 496 BN (22, 23, 64) 256 Conv2D (22, 23, 64) 36 928 BN (22, 23, 64) 256 FC (7744, 512) 965 440 BN (512) 048 FC (512, 10) 130 038 430 4.5 Kết thử nghiệm đánh giá 4.5.1 Kết huấn luyện đánh giá Môi trường thử nghiệm: • • • • • Hệ điều hành: Ubuntu 18.04 GPU: Nvidia GeForce GTX 850M 4GB CUDA 10.1 Python 3.6.9 Thư viện Tensorflow 2.1 Mơ hình MiniVGGNet chạy thử tập liệu gồm 400 tệp huấn luyện 200 tệp đánh giá 250 epoch với batch size Tác giả chạy lần thử nghiệm: • Với tập liệu gồm tham số MFCC • Với tập liệu tham số MFCC bổ sung thêm tần số F0 Đầu trình huấn luyện 250 tệp mơ hình 250 tệp chứa trọng số tương ứng Kết chạy với tập liệu: có MFCC gồm MFCC + F0 39 Bảng 4.4 Kết huấn luyện đánh giá chạy với tập liệu Tiêu chí MFCC MFCC + F0 467 giây 470 giây Độ xác cao huấn luyện 100% 100% Độ xác cao đánh giá 100% 100% Thời gian huấn luyện Hình 4.5 Biểu đồ Accuracy Loss tập Train Validation MFCC 40 Hình 4.6 Biểu đồ Accuracy Loss tập Train Validation MFCC + F0 4.5.2 Kết kiểm thử Với 250 tệp mơ hình 250 tệp chứa trọng số thu trên, ta tiến hành kiểm thử với liệu 200 tệp âm phân đố cho số đếm Kết kiểm thử lưu ma trận nhầm lẫn 𝐶 với kích thước 10 ∗ 10 Ma trận tổng số mẫu nhãn Từ đưa phương pháp nhằm cải thiện liệu đầu vào tăng độ xác cho mơ hình Tại giá trị 𝐶[𝑖, 𝑗] với 𝑖 = 𝑗 số mẫu với lớp nó, cịn với 𝑖 ≠ 𝑗 giá trị 𝐶[𝑖, 𝑗] thể mẫu lớp 𝑗 bị nhầm với mẫu lớp 𝑖 Bảng 4.5 Ví dụ ma trận nhầm lẫn với đơn vị tính theo % – epoch Khong Khong Mot Hai Ba Bon Nam Sau Bay Tam Chin Mot 20 0 0 0 0 Hai 0 40 0 0 0 Ba 100 80 60 100 25 100 60 100 90 Bon 0 0 65 0 0 Nam 0 0 0 0 0 Sau 0 0 0 40 0 Bay 0 0 0 0 0 Tam 0 0 10 0 100 10 Chin 0 0 0 0 0 41 Bảng 4.6 Ví dụ ma trận nhầm lẫn với đơn vị tính số lượng mẫu – epoch Khong Khong Mot Hai Ba Bon Nam Sau Bay Tam Chin Mot 0 0 0 0 Hai 0 0 0 0 Ba 20 16 12 20 20 12 20 18 Bon 0 0 13 0 0 Nam 0 0 0 0 0 Sau 0 0 0 0 Bay 0 0 0 0 0 Tam 0 0 0 20 Chin 0 0 0 0 0 Kết thu kiểm thử tập liệu: Bảng 4.7 Bảng so sánh kết kiểm thử với tập liệu Tiêu chí MFCC MFCC + F0 Độ xác cao 100% 100% 100% 100% 100% 100% 100% 100% 100% 100% Bốn 100% 100% Năm 100% 100% Sáu 100% 100% Bảy 100% 100% Tám 100% 100% Chín 100% 100% Epoch nhận dạng xác Tỉ Khơng lệ nhận Một dạng Hai Ba Do tập liệu, độ xác cao 100% nên ma trận nhầm lẫn kiểm thử tập liệu nhau: 42 Bảng 4.8 Ma trận nhầm lẫn kiểm thử có độ xác cao Khong Mot Hai Ba Bon Nam Sau Bay Tam Chin Khong 100 0 0 0 0 Mot Hai 0 100 0 100 0 0 0 0 0 0 0 Ba 0 100 0 0 0 Bon 0 0 100 0 0 Nam 0 0 100 0 0 Sau 0 0 0 100 0 Bay 0 0 0 100 0 Tam 0 0 0 0 100 Chin 0 0 0 0 100 Khong Mot Hai Ba Bon Nam Sau Bay Tam Chin Khong 20 0 0 0 0 Mot 20 0 0 0 0 Ba 0 20 0 0 0 Bon 0 0 20 0 0 Nam 0 0 20 0 0 Sau 0 0 0 20 0 Bay 0 0 0 20 0 Tam 0 0 0 0 20 Chin 0 0 0 0 20 Hai 0 20 0 0 0 Từ kết trên, ta có nhận xét sau: • Mơ hình đề đạt kết tốt đạt tỉ lệ cao nhận diện chuẩn xác âm kiểm thử • Khi bổ sung thêm tần số F0 giúp mô hình nhận chuẩn xác tồn số đếm sớm so với tập liệu có tham số đặc trưng MFCC 43 CHƯƠNG KẾT LUẬN 5.1 Kết luận Với việc xây dựng hệ thống nhận dạng mạng nơ-ron lấy chập đạt kết độ xác nhận dạng trình bày CHƯƠNG 4, luận văn tạm thời đạt mục tiêu đề ra: • Tiến hành thu âm tổng cộng 800 tệp âm số đếm tiếng Việt từ khơng đến chín Mỗi số gồm 80 tệp âm • Xử lý tín hiệu tiếng nói, trích chọn đặc trưng MFCC tính tần số F0 tương ứng đưa vào mạng nơ-ron để tiến hành huấn luyện • Xây dựng mơ hình mạng nơ-ron lấy chập để giải tốn nhận dạng tiếng nói Kết thử nghiệm tương đối khả quan cho thấy việc áp dụng phương pháp tiếp cận nhận dạng mẫu mơ hình mạng nơ-ron lấy chập nhận dạng tiếng Việt nói hồn tồn khả thi Nếu đầu tư nghiên cứu nhiều phương pháp đem lại hiệu cao Tác giả luận văn thử nghiệm sử dụng thêm tần số F0 – đặc trưng cho điệu tiếng Việt làm liệu đầu vào Khi bổ sung thêm F0 mạng nơ-ron lấy chập nhận dạng đạt tỉ lệ xác cao sớm tỉ lệ xác đơn lẻ số đếm cao so với tập liệu có tham số MFCC Do thời gian làm luận văn chưa có nhiều nên tác giả chưa có điều kiện để tìm hiểu sâu hơn, kỹ nhiều phương hướng tiếp cận nhận dạng tiếng nói Hy vọng thời gian tới, tác giả luận văn hồn thiện nội dung đề 5.2 Hướng mở rộng đề tài 5.2.1 Xây dựng liệu huấn luyện lớn Bộ liệu đầu vào thành phần quan trọng toán nhận dạng, đặc biệt tốn nhận dạng tiếng nói theo hướng tiếp cận nhận dạng mẫu Hiện liệu dùng luận văn dùng microphone thu âm trực tiếp người nói máy tính gồm 400 tệp âm để huấn luyện (training), 200 tệp để thẩm định (validation) 200 tệp để thử nghiệm sở 10 số đếm tiếng Việt từ khơng đến chín Con số thực khiêm tốn Để có kết nghiên cứu tốt hơn, cần mở rộng liệu: tăng số người nói, số từ, đa dạng hố mơi trường ghi âm, sử dụng hệ thống thu âm chuẩn đại để có chất lượng âm tốt 5.2.2 Xây dựng phần mềm nhận dạng dựa kết nghiên cứu Hệ thống nhận dạng luận văn thử nghiệm hệ điều hành Ubuntu với ngôn ngữ python thư viện Tensorflow, có khả nhận dạng tệp âm ghi âm sẵn Trong để hệ nhận dạng ứng dụng tốt thực tế phải hoạt động dạng trực tiếp liên tục, tức vừa ghi âm vừa nhận dạng Mục tiêu tác giả luận văn sau thử nghiệm hệ thống cho kết cao xây dựng công cụ nhận dạng tiếng nói mà có 44 thể gắn vào phần mềm ứng dụng ví dụ quay số điện thoại giọng nói 5.2.3 Nâng cao mức độ nhận dạng tiếng nói Bài tốn nhận dạng tiếng nói có nhiều mức độ Đề tài thực luận toán đơn giản, bước khởi đầu loại tốn nhận dạng tiếng nói Hướng phát triển nâng cao mức độ nhận dạng: • • • • • Nhận dạng từ phát âm liên tục/rời rạc Nhận dạng tiếng nói phụ thuộc người nói/khơng phụ thuộc người nói Nhận dạng từ điển cỡ nhỏ (dưới 20 từ)/từ điển cỡ lớn (hàng nghìn từ) Nhận dạng tiếng nói mơi trường có nhiễu thấp/cao Nhận dạng người nói 45 TÀI LIỆU THAM KHẢO [1] “Chương 3: Lý thuyết nhận dạng tiếng nói,” Nhận dạng tiếng nói - Mơ Matlab, 2009 [2] Ngô Văn Cường, “Nghiên cứu kỹ thuật nhận dạng tiếng nói tiếng Việt ứng dụng,” Học viện kỹ thuật quân sự, 2015 [3] Bài giảng Xử lý tiếng nói – khoa CNTT, trường Đại học Hàng Hải, 2011 [4] Mai Ngọc Chừ, Vũ Đức Nghiệu, Hoàng Trọng Phiến, Cơ sở ngôn ngữ học tiếng Việt, NXB Giáo dục, 1997 [5] Nguyễn Việt Anh, “Các hàm kích hoạt (activation function) neural network,” [Trực tuyến] Available: https://blog.vietanhdev.com/posts/201909-23-cac-ham-kich-hoat-activation-function-trong-neural-networks/ [6] “CS231n: Convolutional Neural Networks for Visual Recognition,” [Trực tuyến] Available: https://cs231n.github.io/neural-networks-1/ [7] Hồ Sỹ Phương, Phan Văn Dư, Lê Văn Chương, Tạ Hùng Cường, “Ứng dụng mạng nơ-ron, mạng nơ-ron xoắn sử dụng kết hợp CPU-GPU để tăng hiệu tính tốn phân loại ảnh,” Tạp chí khoa học, tập 47, pp 64-76, 2018 [8] Berton Earnshaw, “A brief survey of tensors,” 2017 [Trực tuyến] Available: https://www.slideshare.net/BertonEarnshaw/a-brief-survey-oftensors [9] “Deep Learning bản,” 2019 [Trực tuyến] https://nttuan8.com/bai-6-convolutional-neural-network/ Available: [10] Nguyễn Văn Đạt, “Building CNN model, Layer Patterns and Rules!,” 2019 [Trực tuyến] Available: https://viblo.asia/p/building-cnn-model-layerpatterns-and-rules-Do754qXQKM6 [11] Trịnh Văn Loan, Tài liệu xử lý tiếng nói, 2013 46 ... dạng tiếng nói 11 2.4 2.3.1 Tổng quan toán nhận dạng tiếng nói 11 2.3.2 Một số hệ thống nhận dạng tiếng nói 12 2.3.3 Các trình nhận dạng tiếng nói 13 Nhận dạng tiếng Việt. .. thống nhận dạng Trong hệ thống nhận dạng với kích thước lớn 2.4 Nhận dạng tiếng Việt 2.4.1 Một số đặc điểm ngữ âm tiếng Việt Tiếng Việt ngôn ngữ đơn âm tiết khác với ngôn ngữ khác tiếng Anh, tiếng. .. âm Tổng hợp tiếng nói Xử lý tiếng nói Mã hố tiếng nói Phân tích giọng nói Hình 2.5 Ứng dụng xử lý tiếng nói 2.3 Nhận dạng tiếng nói 2.3.1 Tổng quan tốn nhận dạng tiếng nói Nhận dạng tiếng nói hệ

Ngày đăng: 08/12/2021, 22:13

Xem thêm:

TỪ KHÓA LIÊN QUAN

Mục lục

    TÀI LIỆU THAM KHẢO

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w