1. Trang chủ
  2. » Cao đẳng - Đại học

đồ án nhận dạng giọng nói bằng ML và ứng dụng

40 269 6

Đ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

Thông tin cơ bản

Tiêu đề Nhận dạng giọng nói bằng ML và ứng dụng
Tác giả Lê Minh Vương, Lương Đình Tường
Người hướng dẫn ThS. Maidẫn Trọng Khang
Trường học Đại học Quốc gia Thành phố Hồ Chí Minh
Chuyên ngành Công nghệ thông tin
Thể loại đồ án
Thành phố Thành phố Hồ Chí Minh
Định dạng
Số trang 40
Dung lượng 1,34 MB

Nội dung

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA CÔNG NGHỆ PHẦN MỀM Tên đồ án: Nhận dạng giọng nói ML ứng dụng Lớp: SE121.L21 Thành viên thực hiện: 18521678 - Lê Minh Vương 18521619 - Lương Đình Tường NHẬN XÉT Giáo viên hướng dẫn: ThS Maidẫn) Trọng Khang (Của giáo viên hướng …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… …………………………………………………………………………………………………… LỜI CẢM ƠN Trước tiên với tình cảm sâu sắc chân thành nhất, cho phép em bày tỏ lòng biết ơn đến tất cá nhân tổ chức tạo điều kiện hỗ trợ, giúp đỡ em suốt trình học tập nghiên cứu đề tài Trong suốt thời gian từ bắt đầu học tập trường đến nay, em nhận nhiều quan tâm, giúp đỡ q Thầy Cơ bạn bè Với lịng biết ơn sâu sắc nhất, em xin gửi đến quý Thầy Cô Khoa Công Nghệ Phần Mềm truyền đạt vốn kiến thức quý báu cho chúng em suốt thời gian học tập trường Nhờ có lời hướng dẫn, dạy bảo thầy cô nên đề tài đồ án em hồn thiện tốt đẹp Một lần nữa, em xin chân thành cảm ơn thầy cô - người trực tiếp giúp đỡ, quan tâm, hướng dẫn em hoàn thành tốt báo cáo thời gian qua Bước đầu vào thực tế em hạn chế nhiều bỡ ngỡ nên khơng tránh khỏi thiếu sót , em mong nhận ý kiến đóng góp q báu q Thầy Cơ để kiến thức em lĩnh vực hoàn thiện đồng thời có điều kiện bổ sung, nâng cao ý thức Em xin chân thành cảm ơn! GIỚI THIỆU Cơng nghệ nhận dạng tiếng nói (Speech Recognition, Speech-to-text hay ASR) hệ thống có khả nhận dịch (hoặc hiểu thực hiện) lệnh thu từ giọng nói người Nó sử dụng nhiều khoảng thời gian gần có lịch sử phát triển lâu đời Một số ví dụ gần gũi ứng dụng sử dụng cơng nghệ kể đến trợ lý ảo Siri (của Apple) hay Google Assistant Việc ứng dụng cơng nghệ nhận dạng tiếng nói đời sống ngày mang lại nhiều lợi ích cho người dùng kể đến tăng suất, thuận tiện tính xác cao Một số ứng dụng khác kể đến điều khiển xe tự hành, nhà thông minh, dịch ngôn ngữ, … thời gian thực có ích quan tâm cao Chính thế, nhóm chúng em ln cố gắng để thực tốt chủ đề đồ án để xây dựng ứng dụng tích hợp cơng nghệ nhận dạng tiếng nói sau tăng tính dễ sử dụng người dùng phần mềm, ứng dụng Với phát triển nhanh chóng cơng nghệ máy học khả tính tốn mạnh mẽ phần cứng thời đại ngày nay, chúng em nhận thức rõ tầm quan trọng nội dung đề tài mà thực tích cực mở rộng tích hợp cơng nghệ vào đời sống ngày để nâng cao chất lượng sống người MỤC TIÊU Mục tiêu chúng nhóm chúng em tìm hiểu lĩnh vực Machine Learning lĩnh vực khơng phần quan trọng Deep Learning Qua đó, áp dụng kiến thức thuật tốn, thư viện, cơng cụ, ngơn ngữ lập trình, thiết kế,… lĩnh vực nêu kèm theo lĩnh vực liên quan xử lý tiếng nói (Speech processing), xử lý sóng (Signal processing),… để viết mơ hình training tập liệu âm mẫu sưu tập Qua cố gắng cải thiện đặc tính tốc độ xử lý hay độ xác mơ hình nêu Cuối cùng, chúng em cố gắng xây dựng ứng dụng áp dụng cơng nghệ xử lý tiếng nói thực tế tích hợp mơ hình pre-trained với mong đợi ứng dụng thực thi hiệu chức đề với độ tin cậy cao TỔNG QUAN Nhìn chúng, nhóm chúng em dự kiến thực đồ án theo giai đoạn quan trọng sau Đầu tiên, nhóm tìm hiểu kiến thức mảng lĩnh vực liên quan đến đồ án Máy học (machine learning), học sâu (deep learning), xử lý tín hiệu, xử lý âm thanh,… tìm kiếm tập liệu mẫu thỏa yếu tố: open-source, đủ lớn để thực training, single word (vì hướng việc training phân loại tiếng nói theo từ), thời lượng phù hợp, gắn nhãn sẵn để training mơ hình để sau sử dụng Như đề cập nhóm chúng em dự kiến sử dụng liệu Tensorflow Speech Recognition Kaggle Tiếp theo, nhóm chúng em áp dụng thuật toán xử lý âm đầu vào, loại bỏ yếu tố không cần thiết tạp âm,… áp dụng phương pháp feature-extraction (cụ thể MFCC) Sử dụng mạng nơ-ron thích hợp (CNN RNN) để train mơ hình cách tối ưu hiệu Thư viện mà nhóm chúng em dự kiến sử dụng bao gồm số thư viện thường gặp máy học Keras kết hợp Tensorflow sử dụng ngôn ngữ Python Hệ điều hành mà nhóm chúng em sử dụng Windows CHƯƠNG 1: Giới thiệu Machine Learning Machine learning lĩnh vực Trí tuệ nhân tạo(Artificial Intelligence) sử dụng thuật tốn cho phép máy tính học từ liệu để thực công việc thay lập trình cách rõ ràng Deep learning phạm trù nhỏ machine learning Deep learning tập trung giải vấn đề liên quan đến mạng thần kinh nhân tạo nhằm nâng cấp cơng nghệ nhận diện giọng nói, tầm nhìn máy tính xử lý ngơn ngữ tự nhiên I/ Mạng nơ-ron (Neural Network) Mạng nơ-ron (Neural Network hay NN) tập hợp dây thần kinh kết nối với Trong Deep Learning, Neural Network để mạng nơ-ron nhân tạo, cấu thành từ lớp nơron Deep Learning xây dựng sở mạng lưới Nơ-ron nhân tạo, tổ chức thành lớp (Layer) Kết lớp lại biểu diễn thuộc tính (features) lớp cao (lớp phía sau) Hình Biểu diễn mạng nơ-ron Theo hình 1, giá trị nhận Layer 1, thông qua lớp đến lớp cuối Layer gọi Input Layer, Layer Output layer, layer lại gọi Hidden Layer 1.1/ Lớp nơ-ron (Layers) 1.1.1/ Dense layers Dense layer hay Fully-connected layer lớp cổ điển mạng nơ-ron nhân tạo Mỗi nơron nhận đầu vào từ tất nơ-ron lớp trước 1.1.2/ Dropout layers Dropout layer Keras kĩ thuật phổ biến sử dụng với mục đích giảm overfitting model học sâu Overfitting tưởng xảy độ xác lúc áp dụng model tập dùng để train cao áp dụng tập liệu test hay unseen data Để đạt chức này, kĩ thuật dropout yêu cầu vài nơ-ron ẩn hay lớp bị dropped cách ngẫu nhiên Các thí nghiệm cho thấy áp dụng kĩ thuật giúp model đạt mục tiêu hạn chế overfitting 1.2/ Mạng nơ-ron 1.2.1/ Mạng nơ-ron nhân tạo (Artificial Neuron Network) Mạng Nơ-ron nhân tạo (Artificial Neural Network, viết tắt ANN) mơ hình xử lý thơng tin mô dựa hoạt động hệ thống thần kinh sinh vật, bao gồm số lượng lớn Nơ-ron gắn kết để xử lý thông tin ANN giống não người, học kinh nghiệm (thơng qua huấn luyện), có khả lưu giữ kinh nghiệm hiểu biết (tri thức) sử dụng tri thức việc dự đốn liệu chưa biết (unseen data) Hình Kiến trúc tổng quát ANN Mạng nơ-ron chia thành nhiều loại dựa layer chúng thuộc tính khác mạng cấu trúc (structure), số lượng nơ-ron sử dụng, mật độ nơ-ron, luồng liệu,… Một mạng nơ-ron sâu (Deep Neural Network, viết tắt DNN) ANN với nhiều lớp ẩn (hidden layer) lớp input lớp output 10 Hình 14 Phương pháp máy học trình classification Bên cạch cịn có hệ thống khác text-to-speech hay hệ thống user-interfaces (bao gồm nhận dạng âm tiếng nói đầu vào phát âm tiếng nói đầu ra),… Nhưng chúng em không đề cập đến chúng để phục vụ cho mục tiêu đồ án 3.2.2/ Processing Pre-processing Một vài ví dụ vấn đề khâu xử lý (processing) tiền xử lý (pre-processing) định sử dụng classifier (chỉ áp dụng có âm đầu vào thơng tin âm phải lời nói người); giải vấn đề tạp âm, nhiễu âm 26 Hình 15 Một số module sử dụng q trình processing pre-processing Bên cạch cịn có hệ thống khác text-to-speech hay hệ thống user-interfaces (bao gồm nhận dạng âm tiếng nói đầu vào phát âm tiếng nói đầu ra),… Nhưng chúng em không đề cập đến chúng để phục vụ cho mục tiêu đồ án 3.3/ Cài đặt 3.3.1/ Giới thiệu tín hiệu âm Âm dao động học (biến đổi vị trí qua lại) phân tử, nguyên tử hay hạt làm nên vật chất lan truyền vật chất sóng Âm thanh, giống nhiều sóng, đặc trưng tần số, bước sóng, chu kỳ, biên độ vận tốc lan truyền (tốc độ âm thanh) Đối với thính giác người, âm thường dao động, dải tần số từ khoảng 16 Hz đến khoảng 20 000 Hz, phân tử khơng khí, lan truyền khơng khí, va đập vào màng nhĩ, làm rung màng nhĩ kích thích não Tuy nhiên âm định nghĩa rộng hơn, tuỳ vào ứng dụng, bao gồm tần số cao hay thấp tần số mà tai người nghe thấy, khơng lan truyền khơng khí mà cịn truyền vật liệu 27 Hình 17 Các thành phần sóng âm Thơng thường thường gặp hai loại tín hiệu khác là: tín hiệu điện tử tín hiệu analog Một tín hiệu âm biểu diễn giá trị độ cao khác liên tục theo thời gian Trong khoảng thời gian giá trị nhỏ, giải thích tín hiệu âm tín hiệu analog Một tín hiệu analog có số lượng mẫu (sample) vơ tận nên việc xử lý chúng vô tốn mặt tín tốn Do đó, cần giải thuật để chuyển tín hiệu analog thành tín hiệu điện tử (digital signals) để xử lý dễ dàng Xử lý mẫu tín hiệu (sampling signal) q trình chuyển từ tín hiệu analog thành tín hiệu điện tử cách chọn số lượng mẫu giây từ tín hiệu analog ban đầu Tần số sampling định nghĩa số lượng mẫu chọn giây 3.3.2/ Trích chọn đặc trưng (Feature Extraction) Bước toán nhận dạng tiếng nói thơng thường bước trích chọn đặc trưng tín hiệu âm mà sử dụng làm input sau Một số biểu diễn âm kể đến sau: Phương pháp phân tích time-domain phương pháp biểu diễn giá trị tín hiệu âm hàm thời gian 28 Phương pháp phân tích frequency-domain phương pháp biểu diễn mối quan hệ hai giá trị biên độ tần số Quang phổ (spectrogram) hình ảnh chiều thể mối liên quan hai giá trị thời gian tần số Trong đó, điểm ảnh thể biên độ tần số định khoảng thời gian tương ứng Hình 18 Một hình ảnh thể quang phổ (spectrogram) MFCC (viết tắt Mel frequency Cepstrum Coefficients) phương pháp biểu diễn âm 29 Hình 19 MFCC 30 CHƯƠNG 3: ỨNG DỤNG GIẢI QUYẾT BÀI TOÁN I/ Thí nghiệm Nhóm chúng em tiến hành huấn luyện model cách sử dụng công cụ đề cập Ngơn ngữ lập trình nhóm chúng em sử dụng Python Bằng cách sử dụng thư viện đề cập Nhóm chúng em tiến hành thí nghiệm theo bước sau: Bước 1: Ở bước tiền xử lý, nhóm chúng em chuyển đổi file dạng wav thành spectrogram dạng ảnh resize chúng kích cỡ định trước (64x64) Bước 2: Từ spectrogram tạo, nhóm chúng em tiến hành xây dựng mạng nơron bao gồm 4096 nơ-ron lớp ban đầu Bước 3: Mỗi âm chuyển thành ảnh 2-D, ảnh sử dụng để huấn luyện cho mạng nêu Điều dẫn đến tăng tốc trình training CNNs thường chọn để giải toán image recognition Để huấn luyện mơ hình mạng nơ-ron, nhóm chúng em chia dataset thành hai tập training test theo tỉ lệ 9:1 Để huấn luyện, nhóm tiến hành sử dụng thư viện keras để xây dựng mơ hình 31 Hình 20 Các thơng số thiết kế mơ hình keras phổ biến cho toán II/ Xây dựng ứng dụng Ứng dụng mà nhóm chúng em chọn để thực cho đồ án ứng dụng đơn giản sử dụng speech recognition phương pháp thay (hay bổ sung) cho thao tác nhập xuất I/O vốn có máy tính (bàn phím, chuột,…) yêu cầu người dùng phải có thiết bị thu âm microphone để thực trình nhập xuất xuyên suốt thời gian sử dụng phần mềm Chính vậy, nhóm em định xây dựng mini-game đơn giản rắn săn mồi kết hợp với việc ứng dụng speech recognition q trình nhập xuất tiếng nói 32 Hình 21 Màn hình chọn 2.1/ Gameplay Game cho phép người chơi điều khiển đối tượng rắn nhiệm vụ người chơi tích lũy nhiều điểm (score) tốt Rắn di chuyển theo bốn chiều (lên, xuống, phải, trái) không ngừng xuyên suốt trình chơi trừ bị chết game tạm dừng Rắn chết tự ăn thân (tự va vào người) lúc người chơi chơi lại từ đầu ngừng chơi Người chơi tích lũy điểm số rắn ăn mồi rắn lúc rắn dài thêm (tăng mức độ khó cho q trình tích lũy điểm sau rắn dài khả tự va vào thân tăng thêm) 33 Hình 22 Giao diện trị chơi q trình thực thi 2.2/ Cơ chế điều khiển Giới thiệu sơ qua chế điều khiển: Tên phím Chức Left arrow Chuyển hướng di chuyển rắn sang bên trái Right arrow Chuyển hướng di chuyển rắn sang bên phải Up arrow Chuyển hướng di chuyển rắn lên Down arrow Chuyển hướng di chuyển rắn xuống Bảng điều khiển rắn Bên cạnh đó, việc sử dụng microphone để giao tiếp với rắn thực sau: Bước 1: Người dùng nói vào microphone trình game thực thi 34 Bước 2: Nếu đoạn âm nhận từ người dùng nói bao gồm từ khóa rắn di chuyển tương tự nút bấm mặc định: Từ khóa: ‘left’ → Left arrow ‘right’ → Right arrow ‘up’ → Up arrow ‘down’ → Down arrow 35 KẾT LUẬN Do lần nhóm chúng em làm đề tài ứng dụng máy học nên nhiều bỡ ngỡ chế thực thi mạng nơ-ron q trình thực thi hay tính tốn thực trình huấn luyện lúc thực thi chương trình Về phương pháp thực nhóm chúng em có huấn luyện mạng nơ-ron để phân biệt từ đơn đơn giản (phân biệt khoảng 30 từ đơn) nên ứng dụng không thực tế (đầu vào bao gồm từ ngữ ,âm đa dạng khác nhau,…) Bên cạnh nhiều khía cạnh chưa thể huấn luyện sử dụng loại mạng khác ngoại trừ CNNs đề cập nên nhóm chưa đánh giá xác mơ hình hay phương pháp hiệu Một số hướng đồ án kể đến huấn luyện tập dataset lớn với số lượng từ vựng nhiều độ xác cao để áp dụng tốn thực tế Bên cạnh ứng dụng demo cải thiện sản phẩm hoàn chỉnh với độ họa cao âm thực tế chẳng hạn Nhóm chúng em xin cảm ơn lắng nghe 36 THAM KHẢO Một số liên kết mà nhóm chúng em tham khảo sử dụng nhiều đồ án kể đến sau: [1] deeplearningbook.org [2] Introduction to Convolution Neural Network: geeksforgeeks.org/introduction-convolutionneural-network [3] librosa.org/doc [4] wiki.aalto.fi/display/ITSP/Cepstrum+and+MFCC 37 MỤC LỤC NHẬN XÉT LỜI CẢM ƠN GIỚI THIỆU .4 MỤC TIÊU TỔNG QUAN CHƯƠNG 1: Giới thiệu Machine Learning I/ Mạng nơ-ron (Neural Network) 1.1/ Lớp nơ-ron (Layers) .8 1.1.1/ Dense layers 1.1.2/ Dropout layers .8 1.2/ Mạng nơ-ron 1.2.1/ Mạng nơ-ron nhân tạo (Artificial Neuron Network) .8 1.2.2/ Mạng nơ-ron truyền thẳng lớp (Single-layer Neural Network) 10 1.2.3/ Mạng nơ-ron truyền thẳng nhiều lớp (Multi-layer feedforward networks) .10 1.2.4/ Mạng nơ-ron tích chập (Convolutional Neural Network) 12 1.2.5/ Mạng nơ-ron quy hồi (Recurrent Neural Network) .13 1.2.6/ Bộ nhớ ngắn-dài hạn (Long short-term memory) 15 1.3/ Nơ-ron 15 II/ Một số thuật toán sử dụng máy học (machine learning) .17 2.1/ Học có giám sát 17 2.2/ Học không giám sát 19 2.3/ Học tăng cường 20 38 2.4/ Sự khác phương pháp học 21 CHƯƠNG 2: GIỚI THIỆU VỀ BÀI TOÁN SPEECH RECOGNITION 22 I/ Speech Recognition (Nhận dạng tiếng nói) .22 II/ Giới thiệu số thư viện 23 2.1/ Tensorflow Keras 23 2.2/ Librosa 23 2.3/ Dataset 23 III/ Thuật toán cài đặt 24 3.1/ Dataset 24 3.2/ Xử lý tiếng nói (Speech processing) 24 3.2.1/ Hệ thống Nhận dạng tiếng nói .24 3.2.2/ Processing Pre-processing 26 3.3/ Cài đặt 27 3.3.1/ Giới thiệu tín hiệu âm 27 Hình 17 Các thành phần sóng âm 28 3.3.2/ Trích chọn đặc trưng (Feature Extraction) 28 Bước tốn nhận dạng tiếng nói thơng thường bước trích chọn đặc trưng tín hiệu âm mà sử dụng làm input sau 28 CHƯƠNG 3: ỨNG DỤNG GIẢI QUYẾT BÀI TOÁN 31 I/ Thí nghiệm 31 II/ Xây dựng ứng dụng 31 2.1/ Gameplay 32 2.2/ Cơ chế điều khiển .33 Giới thiệu sơ qua chế điều khiển: 33 KẾT LUẬN 35 39 THAM KHẢO 36 MỤC LỤC 37 40 ... ghi nhận từ ngữ khác Hệ thống phân tích âm nói đầu vào thực công việc tương ứng để giải toán xác định từ, câu,… đầu vào Qua ứng dụng vào nhiều lĩnh vực khác đời sống Một số ứng dụng Nhận dạng. .. hành sử dụng thư viện keras để xây dựng mơ hình 31 Hình 20 Các thơng số thiết kế mơ hình keras phổ biến cho toán II/ Xây dựng ứng dụng Ứng dụng mà nhóm chúng em chọn để thực cho đồ án ứng dụng đơn... học Học có giám sát thường ứng dụng toán quy hồi (regression) phân loại (classification) Học không giám sát ứng dụng toán clustering Và cuối học tăng cường thường sử dụng để giải tốn Q trình định

Ngày đăng: 05/09/2021, 20:46

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w