Luận văn thạc sĩ: Nhận dạng giọng nói tiếng Việt qua học sâu và mô hình ngôn ngữ

Luận văn thạc sĩ về ứng dụng học sâu và mô hình ngôn ngữ trong nhận dạng giọng nói tiếng Việt, khám phá công nghệ hiện đại và tiềm năng.

Chuyên ngành

Khoa học máy tính

Người đăng

Ẩn danh

Thể loại

luận văn thạc sĩ

2021

76
12
0

Phí lưu trữ

30 Point

Tóm tắt

I. Tổng quan về nhận dạng giọng nói tiếng Việt

Nhận dạng giọng nói tiếng Việt là một trong những lĩnh vực nghiên cứu quan trọng trong công nghệ xử lý ngôn ngữ tự nhiên. Nhu cầu giao tiếp giữa con người và máy tính thông qua giọng nói ngày càng tăng, đặc biệt trong bối cảnh phát triển công nghệ AI. Việc áp dụng học sâu trong nhận dạng giọng nói đã mở ra nhiều cơ hội mới, nhưng cũng đặt ra thách thức lớn do sự đa dạng trong cách phát âm và ngữ điệu của người nói. Các mô hình hiện tại thường gặp khó khăn trong việc nhận diện chính xác khi có sự biến đổi về ngôn ngữ tiếng Việt như giọng địa phương hay âm thanh nhiễu. Do đó, nghiên cứu này nhằm mục đích phát triển các phương pháp nhận dạng giọng nói hiệu quả hơn, sử dụng mô hình ngôn ngữ để cải thiện độ chính xác.

1.1 Ứng dụng của nhận dạng giọng nói

Ứng dụng của nhận dạng giọng nói rất đa dạng, từ các hệ thống hỗ trợ như chatbot, trợ lý ảo đến các công cụ chuyển đổi giọng nói thành văn bản. Việc tích hợp công nghệ này vào các ứng dụng thực tiễn giúp nâng cao trải nghiệm người dùng và tối ưu hóa quy trình làm việc. Đặc biệt, trong lĩnh vực giáo dục và y tế, công nghệ nhận dạng giọng nói có thể hỗ trợ trong việc ghi chú tự động, giúp tiết kiệm thời gian và tăng hiệu suất làm việc. Mô hình này cũng có thể được áp dụng để phát hiện và sửa lỗi văn bản, từ đó cải thiện chất lượng đầu ra của các hệ thống tự động.

II. Các phương pháp học sâu trong nhận dạng giọng nói

Học sâu, một nhánh của công nghệ AI, đã chứng minh được khả năng vượt trội trong việc xử lý các tác vụ phức tạp như nhận dạng giọng nói. Các mô hình như Mạng Nơ-ron Nhân tạo (ANN) và Mạng Nơ-ron Hồi quy (RNN) đã trở thành những công cụ chủ chốt trong việc phát triển các hệ thống nhận diện giọng nói. RNN, với khả năng lưu trữ thông tin theo chuỗi, cho phép mô hình ghi nhớ ngữ cảnh của câu nói, từ đó cải thiện độ chính xác trong việc nhận diện. Đặc biệt, kiến trúc Long Short Term Memory (LSTM) giúp giải quyết vấn đề tiêu biến gradient, cho phép mô hình ghi nhớ thông tin lâu hơn. Việc áp dụng mô hình ngôn ngữ trong quá trình này giúp cải thiện khả năng dự đoán từ và sửa lỗi chính tả cho các dữ liệu đầu ra.

2.1 Mô hình ngôn ngữ và vai trò của nó

Mô hình ngôn ngữ (Language Model) đóng vai trò quan trọng trong việc dự đoán các từ tiếp theo trong câu, từ đó tăng cường độ chính xác cho nhận dạng giọng nói. Bằng cách sử dụng các kỹ thuật như N-gram và mạng nơ-ron hồi quy, mô hình ngôn ngữ có thể học được các quy luật ngữ nghĩa và ngữ pháp trong tiếng Việt. Điều này không chỉ giúp giảm thiểu sai sót trong quá trình nhận diện mà còn hỗ trợ trong việc phát hiện và sửa lỗi chính tả. Sự kết hợp giữa học sâumô hình ngôn ngữ đã tạo ra những bước đột phá trong lĩnh vực này, mở ra nhiều khả năng ứng dụng thực tiễn.

III. Đánh giá và triển vọng tương lai

Đánh giá hiệu quả của các mô hình nhận dạng giọng nói được thực hiện trên nhiều tập dữ liệu khác nhau. Kết quả cho thấy sự cải thiện đáng kể về độ chính xác khi áp dụng các phương pháp sửa lỗi dựa trên mô hình ngôn ngữ. Việc phát triển các ứng dụng thực tiễn như chatbot không chỉ tăng cường khả năng giao tiếp mà còn mở rộng khả năng tương tác của người dùng với máy tính. Trong tương lai, việc nghiên cứu và phát triển thêm các mô hình học sâu mới sẽ tiếp tục thúc đẩy sự tiến bộ trong lĩnh vực này, giúp giải quyết các vấn đề còn tồn tại như độ chính xác và khả năng xử lý trong môi trường thực tế.

3.1 Hướng đi mới trong nghiên cứu

Hướng nghiên cứu tiếp theo có thể tập trung vào việc cải thiện khả năng nhận diện giọng nói trong các điều kiện thực tế phức tạp, như tiếng ồn môi trường hay giọng nói không chuẩn. Việc áp dụng các công nghệ mới như trí tuệ nhân tạohọc máy sẽ giúp tối ưu hóa các mô hình hiện tại, từ đó nâng cao trải nghiệm người dùng. Bên cạnh đó, việc phát triển các ứng dụng tích hợp sẽ tạo ra nhiều cơ hội mới cho nhận dạng giọng nói tiếng Việt, góp phần vào sự phát triển của các công nghệ giao tiếp hiện đại.

05/01/2025

Trích đoạn nội dung tài liệu

Chương 1: Tổng quan về nội dung, mục tiêu và cấu trúc luận văn. Chương 2: Kiến thức nền tảng có liên quan đến đề tài như ANN, RNN, LM… Chương 3: Các công trình nghiên cứu có liên quan đến đề tài. Chương 4: Trình bày các phương pháp sử dụng khi hiện thực luận văn. Chương 5: Mô tả thực tế việc hệ thống và đánh giá kết quả.

Chương 6: Tổng kết lại những kết quả đã đạt được và định hướng trong tương lai. 5 Chương 2 Kiến thức nền tảng 2.1 Mạng nơ-ron nhân tạo – Artificial Neural Network (ANN) 2.1 Tổng quan mạng ANN Mạng nơ-ron nhân tạo (Artificial Neural Network – ANN) là mô hình xử lý thông tin được mô phỏng dựa trên hoạt động của hệ thống thần kinh của sinh vật, bao gồm rất nhiều các node được liên kết với nhau tạo thành một mạng lưới cực kì lớn và phức tạp. ANN hoạt động giống như bộ não của con người, được học bởi kinh nghiệm (thông qua việc huấn luyện), có khả năng lưu giữ những kinh nghiệm hiểu biết (tri thức) và sử dụng những tri thức đó trong việc dự đoán các dữ liệu chưa biết (unseen data). Mạng nơ-ron nhân tạo 6 Kiến trúc chung của một ANN gồm 3 thành phần chính, đó là: Input Layer, Hidden Layer và Output Layer (hình 2.

Trong đó, lớp ẩn (Hidden Layer) gồm các nơ-ron nhận dữ liệu input từ các nơ-ron ở lớp (layer) trước đó và chuyển đổi các input này cho các lớp xử lý tiếp theo. Trong một ANN có thể có nhiều lớp ẩn. Các node xử lý của ANN gọi là nơ-ron. Chúng nhận các dữ liệu vào (inputs), tính toán và cho ra một kết quả (output) duy nhất.

Kết quả xử lý của nơ-ron này có thể làm input cho các nơ- ron khác. Quá trình xử lý thông tin của một ANN: Hình 2. Xử lý thông tin trong ANN Mỗi input tương ứng với 1 thuộc tính (attribute) của dữ liệu. Các giá trị này thường được đưa vào dưới dạng một vector m-chiều.

Output là kết quả đầu ra tương ứng với dữ liệu input. Các trọng số liên kết (Weights) là thành phần rất quan trọng của ANN, nó thể hiện mức độ quan trọng giữa các input đầu vào đối với quá trình xử lý thông tin, chuyển đổi dữ liệu từ layer này sang layer khác. Cuối cùng là bias (hệ số tự do) giúp chuẩn hoá trong quá trình cập nhật trọng trọng số. Quá trình học (Learning Processing) của ANN thực ra là quá trình điều chỉnh các Weights để có được kết quả mong muốn.

Hàm tổng (Summation Function) cho phép tính tổng có trọng số của tất 7 cả các input được đưa vào mỗi nơ-ron và giá trị bias. Hàm tổng của một nơ-ron đối với N input được tính theo công thức sau: " 𝑧 = # 𝑥! 𝜔! + 𝑏 !#$ Kết quả trên sẽ được cho vào một hàm kích hoạt (Activation function) để đánh giá khả năng đi tiếp trong mạng. Có nghĩa là liệu output của nơ-ron này có thể được lan truyền đến layer tiếp theo để làm input hay không? 𝑦 = 𝜑(𝑧) Việc lựa chọn hàm kích hoạt rất quan trọng vì nó có tác động lớn đến kết quả của ANN. Người ta thường sử dụng các hàm phi tuyến để tăng hiệu năng cho mạng.

Một số hàm kích hoạt phổ biến sẽ được trình bày rõ ở phần sau.2 Một số hàm kích hoạt (Activation function) Sigmoid Hàm Sigmoid nhận đầu vào là một số thực và chuyển thành một giá trị trong khoảng (0,1). Hàm có công thức như sau: 𝑒% 𝜎 (𝑥 ) = % 𝑒 +1 Hình 2. Đồ thị hàm sigmoid 8 Tanh Hàm tanh có hình dạng đồ thị khá giống với của sigmoid nhưng giá trị nằm trong khoảng (-1, 1) với công thức: 𝑒 % − 𝑒 &% 𝑡𝑎𝑛ℎ(𝑥 ) = % 𝑒 + 𝑒 &% Hình 2. Đồ thị hàm tanh ReLU Hàm ReLU (Rectified Linear Unit) đang được sử dụng khá nhiều trong những năm gần đây khi huấn luyện các mạng nơ-ron.

ReLU đơn giản lọc các giá trị < 0. Nhìn vào công thức chúng ta dễ dàng hiểu được cách hoạt động của nó: 𝑅𝑒𝐿𝑈(𝑥) = max (0, 𝑥) Hai ưu điểm khá vượt trội của nó so với Sigmoid và Tanh, đó là không xuất hiện vấn đề triệu tiêu gradient và tốc độ tính toán nhanh hơn. Tuy nhiên, ReLU cũng có một nhược điểm là với các node có giá trị nhỏ hơn 0, qua ReLU sẽ trở thành 0. Các node ấy sẽ không có ý nghĩa ở lớp tiếp theo và các hệ số từ node ấy sẽ không được cập nhật.

Hiện tượng này được gọi là “Dying ReLU”. Đồ thị hàm ReLU 2.2 Mạng nơ-ron hồi quy - Recurrent Neural Network (RNN) 2.1 Tổng quan mạng RNN Đối với các mạng ANN truyền thống, đầu vào và đầu ra của mạng đều độc lập với nhau. Các tính toán ở layer này chỉ sử dụng thông tin từ layer liền kề trước đó, tức là chúng không liên kết thành chuỗi với nhau. Trong lĩnh vực xử lý ngôn ngữ tự nhiên (Natural Language Processing – NLP), input của các mô hình thường là một câu gồm nhiều từ, độ dài của câu không cố định và giữa các từ lại có quan hệ ngữ nghĩa với nhau.

Do đó ta không thể chỉ sử dụng ANN để giải quyết các bài toán NLP. Mạng nơ-ron hồi quy (Recurrent Neural Network - RNN) đã được phát triển để giải quyết vấn đề này. Ý tưởng chính của RNN [5] là sử dụng một bộ nhớ để lưu lại những thông tin từ các thời điểm trước, kết hợp cùng với giá trị input tại thời điểm hiện tại để có thể đưa ra được output chính xác nhất. RNN được gọi là hồi quy bởi vì chúng thực hiện cùng một tác vụ cho tất cả các phần tử của một chuỗi với đầu ra phụ thuộc vào cả những phép tính trước đó.

Hay nói cách khác, RNN có khả năng "nhớ" các thông tin được tính toán trước đó. 10 Kiến trúc cơ bản của RNN: Hình 2. Mạng nơ-ron hồi quy trong đó: • 𝑥' là đầu vào tại bước t • U, V, W là các ma trận trọng số • ℎ' là trạng thái ẩn tại bước t. Đây được xem như là bộ nhớ của mạng.

ℎ' được tính toán dựa trên các trạng thái ẩn ở phía trước và input tại bước đó: ℎ' = 𝑓(𝑈𝑥' + 𝑉ℎ'&$ ) Hàm 𝑓 là một activation function như được giới thiệu ở trên, thông thường là hàm Tanh hoặc Relu. Ở bước tính toán đầu tiên, ℎ'&$ chưa có giá trị nên có thể khởi tạo một cách ngẫu nhiên hoặc được gán bằng 0. • 𝑜' là đầu ra tại bước t 𝑜' = 𝑔(𝑊ℎ' ) Hàm 𝑔 cũng là một activation function như hàm 𝑓 và thường là ReLU hoặc Tanh. Trong trường hợp xây dựng mô hình ngôn ngữ, 𝑜' là một vector xác suất các từ trong danh sách từ vựng, hàm 𝑔 được sử dụng lúc này là hàm softmax.2 Long Short Term Memory (LSTM) Một vấn đề khi sử dụng RNN đó là vấn đề phụ thuộc gần xa, tức là RNN không thể nhớ được các thông tin quá dài.

Đối với những chuỗi quá dài, những thông tin ban đầu sẽ bị “lãng quên” dần, bộ nhớ chỉ ghi nhớ những thông tin gần hơn. Nguyên nhân là do khi huấn luyện mạng RNN, việc tính đạo hàm qua quá nhiều bước sẽ dẫn đến việc tiêu biến đạo hàm (gradient vanishing). Vì vậy, Long Short Term Memory (LSTM) ra đời để giải quyết vấn đề này. Long Short Term Memory [6] được giới thiệu bởi Hochreiter và Schmidhuber (1997), và sau đó đã được cải tiến và phổ biến bởi rất nhiều người trong ngành.

Việc nhớ thông tin trong suốt thời gian dài là đặc tính mặc định của chúng, chứ ta không cần phải huấn luyện nó để có thể nhớ được. Tức là bên trong nó đã có thể ghi nhớ được mà không cần bất kì can thiệp nào. Chúng hoạt động cực kì hiệu quả trên nhiều bài toán khác nhau nên dần đã trở nên phổ biến như hiện nay. Kiến trúc LSTM Kiến trúc của LSTM phức tạp hơn RNN rất nhiều.

Để nhớ được nhiều thông tin, LSTM sử dụng các cổng để giữ lại các thông tin quan trọng và bỏ đi những thông tin dư thừa. Thành phần quan trọng nhất của LSTM là cell state, đây chính là bộ nhớ của LSTM, ngoài ra còn một thành phần khác là hidden state. Cell state và hidden state ở 12 thời điểm t được kí hiệu là 𝐶' và ℎ'. Cell state và hidden state sẽ lần lượt được cập nhật ở mỗi thời điểm thông qua các cổng, chi tiết như sau: • Cổng forget: cổng này quyết định xem thông tin nào cần bỏ đi 𝑓' = 𝜎(𝑊( [ℎ'&$ , 𝑥' ] + 𝑏( ) • Cổng input: cổng này quyết định xem thông tin nào cần giữ lại 𝑖' = 𝜎(𝑊! [ℎ'&$ , 𝑥' ] + 𝑏! ) • Cập nhật cell state bằng cách sử dụng cổng input và cổng forget: 𝐶' = 𝑓' ∗ 𝐶'&$ + 𝑖' ∗ tanh(𝑊) [ℎ'&$ , 𝑥' ] + 𝑏) ) • Cổng output: cổng này giúp tính toán các thông tin cần xuất ra ở bước hiện tại 𝑜' = 𝜎(𝑊* [ℎ'&$ , 𝑥' ] + 𝑏* ) • Cập nhật hidden state bằng cách sử dụng cổng output ℎ' = 𝑜' ∗ tanh(𝐶' ) 2.3 Phân loại kiến trúc RNN Để tăng hiệu quả, có thể kết hợp nhiều tầng RNN (hoặc LSTM) với số lượng các đơn vị nhớ lớn hơn để tạo thành một mạng hồi quy có khả năng nhớ được nhiều thông tin hơn, học tốt nhiều ngữ cảnh hơn và độ chính xác cũng sẽ tăng lên.

Sự kết hợp theo nhiều cách tạo ra nhiều kiến trúc khác nhau của bài toán RNN, phù hợp cho nhiều mục đích khác nhau. Ví dụ như các kiến trúc one-to-one, one-to-many, many-to- many,… Hình 2. Các kiến trúc của RNN 13 Các kiến trúc này có nhiều ứng dụng thực tế trong lĩnh vực trí tuệ nhân tạo: • one-to-many: tạo bình luận cho ảnh (Image Captioning), sinh văn bản (Text Generation), sinh âm nhạc (Music Generation). • many-to-one: phân loại văn bản (Text Classification), phân loại sắc thái văn bản (Sentiment Classification).

• many-to-many: nhận biết tên thực thể (Name Entity Recognition), gán nhán từ loại (Part of Speech Tagging), dịch máy (Machine Translation).3 Word Embedding Thành phần cơ bản của một văn bản đó là các từ. Để máy tính có thể hiểu được, việc đầu tiên là cần phải biểu diễn các từ thành các vector thực, các vector này sẽ dược dùng làm input để đưa vào mô hình huấn luyện. Phương pháp đơn giản nhất là gán mỗi từ cho số và biểu diễn dưới dạng One-hot vector, đây là một vector có số chiều bằng với số lượng từ vựng trong từ điển và chỉ có duy nhất một thành phần là 1 ứng với từ được biểu diễn, các thành phần khác đều bằng 0.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ

Bài luận văn thạc sĩ mang tiêu đề Luận văn thạc sĩ: Nhận dạng giọng nói tiếng Việt qua học sâu và mô hình ngôn ngữ của tác giả Nguyễn Đức Huy, dưới sự hướng dẫn của PGS. Quản Thành Thơ tại Đại học Bách Khoa - ĐHQG TP.HCM, nghiên cứu về việc kết hợp học sâu và mô hình ngôn ngữ để cải thiện khả năng nhận dạng giọng nói tiếng Việt. Nghiên cứu này không chỉ mở ra hướng đi mới trong công nghệ nhận diện giọng nói mà còn có thể áp dụng rộng rãi trong các lĩnh vực như giáo dục và dịch vụ khách hàng, giúp tăng cường trải nghiệm người dùng.

Để mở rộng thêm kiến thức về các ứng dụng của công nghệ trong lĩnh vực này, bạn có thể tham khảo các bài viết liên quan như Luận Văn Thạc Sĩ: Ứng Dụng Active Learning trong Lựa Chọn Dữ Liệu Gán Nhãn cho Bài Toán Nhận Diện Giọng Nói, nơi nghiên cứu về việc sử dụng Active Learning trong nhận dạng giọng nói, và Nghiên cứu ứng dụng mô hình ngôn ngữ lớn trong gỡ lỗi phần mềm, tập trung vào ứng dụng mô hình ngôn ngữ lớn trong các lĩnh vực khác nhau. Những tài liệu này sẽ giúp bạn hiểu rõ hơn về sự phát triển công nghệ và ứng dụng của nó trong nhận diện giọng nói và các lĩnh vực liên quan.