CÔNG NGHỆ Tập san SINH VIÊN NGHIÊN CỨU KHOA HỌC Số 13.2023
156
KHOA H
ỌC
NGHIÊN CỨU MỘT SỐ THUẬT TOÁN AI, ỨNG DỤNG NHẬN DIỆN GIỌNG NÓI
RESEARCHING SOME AI ALGORITHM AND VOICE RECOGNITION APPLICATIONS Nguyễn Tiến Hùng1,*, Phạm Anh Tuấn1, Chu Thị Quyên2 TÓM TẮT Nhận diện giọng nói một ứng dụng máy tính tự động xác định phân lo
ại
nguồn âm thanh thành các đặc trưng giọng nói. Quá trình này thường đư
ợc sử dụng
để xác định người nói và nhn dạng các tvà u đư
ợc phát ra tgiọng nói. Một trong
những cách để thực hiện việc y là sử dụng các thuật toán và mô hình h
ọc máy để
phân tích và trích xuất các đặc trưng từ giọng nói. Các đặc trưng này có th
ể bao gồm
tần số, thời lượng, âm sắc và các thông số khác của âm thanh. Quá trình nh
giọng nói t
ờng bắt đầu bằng việc thu thập một tập dữ liệu giọng nói lớn từ nhiều
nguồn người nói khác nhau. Dữ liệu này được sử dụng để huấn luyện hình nh
n
diện giọng nói. Khi có một đoạn giọng nói cần nhận diện, quá trình xác định ngư
ời nói
và phân tích các từ và câu được thực hiện bằng cách so sánh các đặc trưng c
ủa giọng
nói với các mẫu đã được lưu trữ trong cơ sở dữ liệu. Công nghệ nhận diện giọng nói l
à
một công nghệ sinh trắc học có tác động thấp đối với người dùng. Nó có thể đư
ợc s
dụng trong nhiều lĩnh vực, bao gồm hệ thống bảo mật và giao ti
ếp với y tính thông
qua giọng nói. m lại, nhận diện giọng nói là quá trình sử dụng thuật toán v
à
hình học máy để xác định và phân loại giọng nói. Nó mang l
ại nhiều ứng dụng trong
việc xác định người nóinhận biếtc từ câu được phát ra từ giọng nói. Từ khóa: Nhận dạng giọng nói, hình Markov ẩn, hóa d
đoán tuyến
tính, mạng thần kinh, mô hình hỗn hợp Gaussian. ABSTRACT
Speech recognition is a computer application that automatically identifies and
categorizes audio sources into speech features. This process is commonly used to
determine the speaker and recognize the words and sentences spoken in a given
speech. One of the
ways to accomplish this is by utilizing algorithms and machine
learning models to analyze and extract speech features from the audio. These
features may include frequency, duration, pitch, and other acoustic parameters. The
process of speech recognition t
ypically begins with collecting a large dataset of
speech from various sources and speakers. This data is used to train the speech
recognition model. When a speech segment needs to be recognized, the process of
speaker identification and analysis of the sp
oken words and sentences is carried out
by comparing the speech features with the stored patterns in the database. Speech
recognition technology is a
biometric technology with minimal impact on users. It
can be applied in various fields, including security
systems and computer interaction
through speech. In summary, speech recognition is the process of using algorithms
and machine learning models to determine and categorize speech. It has numerous
applications in speaker identification and word/sentence recognition from speech. Keywords:
Speech recognition, Hidden Markov Model, Linear Predictive
Coding, Neural Network, Gaussian Mixture Model . 1Lớp Kỹ thuật phần mềm 01 - K16, Khoa CNTT, Trường Đại học Công nghiệp Hà Nội2Khoa CNTT, Trường Đại học Công nghiệp Hà Nội *Email: tienhung203n@gmail.com 1. GIỚI THIỆU Trong thời đại hiện tại, sự phát triển của hệ thống trí tuệ nhân tạo (AI) đã tạo ra khả năng tương tác tự nhiên giữa con người và máy móc. Các hệ thống này có thể tương tác thông qua giọng nói, giao tiếp, cử chỉ nét mặt, đã trở nên ngày ng phổ biến. Một trong những hướng phát triển quan trọng là hướng tương tác, dựa trên khả năng máy móc hiểu ngôn ngữ tự nhiên của con người. Thay con người học cách tương tác với y móc, ngày nay máy móc học cách tương tác với con người, hiểu hành động, thói quen và hành vi của họ, và cố gắng trở thành trợ lý được nhân hóa. Công việc tạo ra phát triển các trợ nhân như vậy đã được tiến hành trong một thời gian dài. Các hệ thống này liên tục được cải tiến và phát triển, không chỉ tồn tại trên y nh nhân còn trên c thiết bị di động các ứng dụng khác. Trợ lý ảo (còn được gọi là trợ lý kỹ thuật số, trợ lý giọng nói hoặc trợ lý AI) là một ứng dụng có nhiệm vụ nhận dạng giọng nói của con người thực hiện các lệnh được người ng phát âm. Nền tảng của trợ ảo trí tuệ nhân tạo và hiệu suất của phụ thuộc vào việc lưu trữ hàng triệu từ cụm từ. Khác với các hệ thống nhận dạng giọng nói đầu tiên được nghiên cứu vào những năm 1940-1950, các trợ ảo hiện đại không bị hạn chế bởi một mẫu ngôn ngữ hoặc từ vựng cố định. Đến những năm đầu của thế kỷ 21, các nghiên cứu tập trung vào việc nâng cao kết quả nhận dạng tiếng nói, thông qua chương trình tên gọi EARS (Effective Affordable Reusable Speech-to-Text). Tới thời điểm này, tiếng nói được giả thiết đã được thu âm trong môi trường bình thường, không bị ràng buộc bởi bất cứ điều kiện nào (các điều kiện giả thiết trước đây thường bao gồm tiếng nói được thu trong phòng sạch cách âm do người bản xứ đọc). Đích hướng tới của chương trình này khả năng nhận dạng, m tắt và chuyển ngữ các đoạn audio, giúp cho người đọc hiểu nhanh nội dung của chúng thay vì phải nghe toàn bộ. Hiện nay, với các ngôn ngữ phổ biến như tiếng Anh, tiếng Pháp, tiếng Tây Ban Nha, các công trình nghiên cứu về nhận dạng tiếng nói đã thu được những kết quả rất tốt, nhiều ứng dụng thực tiễn được triển khai như: Hệ thống giao tiếp hỏi đáp thông tin tự động qua điện thoại. Hệ thống truy vấn thông tin thoại.
SCIENCE - TECHNOLOGY Số 13.2023 Tập san SINH VIÊN NGHIÊN CỨU KHOA HỌC 157
Hệ thống thông dịch tiếng nói xuyên ngữ tự động. Các trạm kiểm soát, hệ thống điều khiển sử dụng tiếng nói. Các ứng dụng tiếng nói trên thiết bị di động. Về mặt kinh tế thương mại, ng nghnhận dạng tiếng i đã thay đổi ch con nời tương c với hệ thống thiết bị, không còn buc trong cách thức ơngc truyền thống (như tng qua bàn phím của máy nh hay điện thoại) chuyển sang ơng tác trực tiếp bằng giọng nói. Trong i trường kinh tế cạnh tranh, các ứng dụng dần dần đã chuyển sang ch hợp tính năng tương tác âm thanh. Việc ng dụng và khách ng thể tương c với nhau thông qua âm thanh kng nghĩa là loại bỏ giao diện đồ họa truyền thống cung cấp thêm một ch truy cập thông tin dịch vụ tiện lợi, tự nhn hơn. Về mặt khoa học, các hệ thống nhận dạng tiếng nói hiện tại đều dựa trên phương pháp thống kê và so khớp mẫu. Pơng pháp y đòi hỏi các tri thức về ngâm và một lượng lớn dữ liệu huấn luyện, bao gồm cả dạng âm thanh và dạng n bản, để huấn luyện bộ nhận dạng. ợng dliệu huấn luyện càng lớn, bộ dạng dạng ng có nhiều khng đưa ra kết quả cnh c n. Tại Việt Nam, hai nhóm nghiên cứu chính về bài toán nhận dạng tiếng nói liên tục với bộ từ vựng lớn (LVCSR). Nhóm đầu tiên thuộc Viện Công nghệ Thông tin do PGS. Lương Chi Mai đứng đầu, với phương pháp ANN công cụ CSLU [3] được sử dụng. Nhóm thứ hai thuộc trường Đại học Khoa học Tự nhiên thành phố Hồ Chí Minh do PGS. Hải Quân đứng đầu, với phương pháp HMM công cụ HTK được sử dụng, các nghiên cứu của nhóm tập trung vào bài toán truy vấn thông tin tiếng Việt, nhận dạng tiếng nói, hệ thống giao tiếp giữa người máy, tìm kiếm bằng giọng nói,... Ngoài ra, gần đây nghiên cứu của LIG (Laboratoire Informatique de Grenoble) hợp tác với phòng thí nghiệm MICA Nội về sự khả chuyển của các hình ngữ âm (acoustic model portability). trong nước còn các đề tài liên quan như: “Chương trình đọc chính tả”, sử dụng lượng hóa vector VQ, hạn chế về nhận dạng tiếng nói liên tục. “Phát triển các kết quả tổng hợp, nhận dạng câu lệnh, chuỗi stiếng Việt liên tục trên môi trường điện thoại di động”, “Tăng cường độ chính xác của hệ thống mạng neuron nhận dạng tiếng Việt”, “Chương trình nhận dạng lệnh 10 chữ số liên tục qua điện thoại” của Viện công nghệ thông tin sử dụng công cụ CSLU, phương pháp hình Artificial neural network - ANN, giải mã bằng thuật toán Viterbi, sở dữ liệu mẫu âm học của CSLU. 2. NGUYÊN LÝ CHUNG Các hệ thống trợ lý ảo chung đều dựa trên phương pháp học máy và sử dụng một lượng lớn dữ liệu được thu thập từ nhiều nguồn khác nhau. Dữ liệu này sau đó được đào tạo để cung cấp kiến thức cho hệ thống. Nguồn dữ liệu chơi một vai trò quan trọng và có thể bao gồm hệ thống tìm kiếm, các nguồn thông tin khác nhau hoặc mạng hội. Số lượng thông tin từ các nguồn khác nhau ảnh hưởng đến hiệu quả của trợ lý, chúng thể chính xác hoặc không chính xác tùy thuộc vào nguồn dữ liệu. một số cách tiếp cận phương pháp đy dựng các hệ thống trợ ảo. Điều này thể bao gồm việc tự huấn luyện từ nguồn dữ liệu thông qua nghiên cứu xây dựng, hoặc sử dụng các module thư viện nguồn mở. Mỗi hệ thống trợ ảo các phương pháp học tập, thuật toán kỹ thuật khác nhau, nhưng nguyên tắc xây dựng các hệ thống này vẫn tương tự nhau. c công nghệ được sử dụng để tạo ra c hệ thống trợ ảo thông minh khả năng tương tác với con người bằng ngôn ngữ tự nhiên bao gồm giọng nói kích hoạt, nhận dạng giọng nói tđộng, dạy từ giọng nói (Teach-To-Speech), sinh trắc học giọng nói (Voice biometrics), trình quản lý hộp thoại (Dialog manager), hiểu ngôn ngữ tự nhiên (Natural language understanding) công nhận thực thể được đặt tên (Named entity recognition). 3. XÂY DỰNG HỆ THỐNG 3.1. Cấu trúc hệ thống Hình 1. Cấu trúc hoạt động hệ thống Nhận dạng giọng nói hệ thống sử dụng hệ thống nhận dạng giọng nói trực tuyến sử dụng thư viện Speech_recognition để chuyển đổi đầu vào bằng giọng nói thành văn bản. Người dùng có thể lấy văn bản từ kho tài liệu đặc biệt được tổ chức trên máy chủ mạng máy tính tại trung tâm thông tin từ micrô được lưu trữ tạm thời trong hệ thống, sau đó được gửi đến đám mây của Google để nhận dạng giọng nói. Văn bản tương đương sau đó được nhận và đưa đến bộ xử lý trung tâm. Đây là não bộ của trợ lý ảo sử dụng robot brain. Phần hỗ trợ Python nhận đầu ra từ đun nhận dạng giọng nói sau đó xác định xem lệnh hay giọng nói đầu ra một lệnh gọi API, trích xuất ngữ cảnh và lệnh gọi hệ thống. Đầu ra sau đó được gửi trở lại chương trình phụ trợ python để đưa ra yêu cầu xuất cho người dùng. Trích xuất ngữ cảnh: Trích xuất ngữ cảnh (CE) là nhiệm vụ trích xuất tự động thông tin có cấu trúc từ không có cấu trúc / hoặc bán cấu trúc tài liệu thể đọc được bằng máy. Trong hầu hết các trường hợp, hoạt động này liên quan đến việc xử các văn bản ngôn ngữ của con người bằng c phương thức tự nhiên xử lý ngôn ngữ (NLP). 3.2. Thiết kế hệ thống Hệ thống trợ ảo giọng nói khởi chạy trên nền tảng window với ngôn ngữ python. Để khởi chạy hệ thống nghe, hiểu, nói nghiên cứu sử dụng các thư viện hỗ trợ như hình 2.
CÔNG NGHỆ Tập san SINH VIÊN NGHIÊN CỨU KHOA HỌC Số 13.2023
158
KHOA H
ỌC
Điển hình là thư viện speech_recognition để nhận dạng âm thanh giọng nói thư viên Playsound để phát âm thanh ra loa. Ngoài ra hệ thống còn sử dụng các thư viện thời gian, thời tiết… Hình 2. Thư viện hỗ trợ Xử ngôn ngữ tự nhiên là một trong những mảng nghiên cứu khó nhất liên quan đến việc phải hiểu ý nghĩa ngôn ngữ duy giao tiếp chưa kể dạng tiếng việt. Nghiên cứu thể xử ngôn ngữ tiếng việt nhiều vùng miền, cả nam lẫn nữ, tương đối phức tạp. Nghiên cứu này nhóm sử dụng thư viện tiếng việt tích hợp hỗ trợ trên hệ thống “language = 'vi-VN'”. Tuy chất lượng xử tiếng việt chưa thực sự tuyệt vời với tất cả các giọng vùng miền nhưng với giọng điệu ngôn ngữ phổ thông xử lý hoàn toàn tốt. Hình 3. Thuật toán tìm kiếm dữ liệu Nghe: Với thư viện speech_recognition (sr) có chức năng là nhận dạng giọng nói để chuyển âm thanh thành văn bản. Âm thanh được đọc vào microphone của máy tính sau đó được xử qua hàm listen của sr.Recognition rồi lưu dữ liệu âm thanh vào biến audio. Dữ liệu âm thanh audio thu được sẽ được nhận dạng ngôn ngữ tiếng việt trong hàm r.recognize_google để chuyển thành dạng văn bản rồi lưu dữ liệu vào biến text. Nếu dữ liệu âm thanh audio không lỗi tức là hàm r.recognize_google có thể nhận dạng được audio để chuyển thành text thì hàm get_audio() sẽ được trả về giá trị text còn nếu dữ liệu audio bị lỗi hàm r.recognition_google không nhận dạng được thì m get_audio() sẽ được trả về giá trị là 0. Hiểu: Robot_Brain sau khi nhận tín hiệu nghe được sẽ truy suất vào các thư viện được hỗ trợ trong chương trình như thư viện ngày, giờ, duyệt web, truy suất hệ thống, khởi chạy ứng dụng... Ưu điểm của sử dụng thư viện tích hợp sgiúp hệ thống bớt cồng kềnh về việc lưu trữ dữ liệu đám mây, không cần cung cấp dữ liệu dạy học cho hệ thống mà sử dụng nền tảng sẵn. nh 3 thuật toán truy suất dữ liệu trên hệ thống qua các thư viện hỗ trợ và kho dữ liệu trực tuyến của hệ thống. Hình 4. Tập lệnh nhận diện giọng nói của trợ lý ảo 4. KẾT QUẢ NGHIÊN CỨU VÀ THẢO LUẬN Tiến hành thử nghiệm giao tiếp ngẫu nhiên với Trợ lý ảo mỗi lần 50 câu lấy kết quả. Bảng 1. Kết quả đánh giá Thử nghiệm Số câu đúng Số câu sai Chính xác 1 23/50 27/50 46% 2 31/50 19/50 62% 3 24/50 26/50 48% 4 39/50 11/50 78% 5 71/80 9/80 88,75% Đánh giá kết quả thử nghiệm: Dựa trên bảng 1 cho thấy độ chính xác sẽ tăng dần. thể giải thích vì: Lần 1: Thực hiện nhận diện trong môi trường tiếng ồn. Vì thế độ chính xác sẽ thấp. Lần 2: Đã thêm o câu lệnh để giảm tiếng ồn adjust_for_ambient_noise”. thế độ chính xác sẽ tăng thêm. Lần 3: Khi tiếng ồn lớn phần nghe sẽ thự hiện nghe mãi. Vì thế độ chính xác cũng thấp. Lần 4: Đã thêm giới hạn thời gian nghe thời gian bắt đầu. Vì thế cải thiện được độ chính xác Lần 5: Đã thực hiện cho máy nghe liên tục nhiều lần đến bao giờ nhận được chữ tạm biệt mới dừng chương trình cài thời gian giảm tiếng ồn cho chương trình. thế cải thiện được số lần test và độ chính xác được tăng thêm.
SCIENCE - TECHNOLOGY Số 13.2023 Tập san SINH VIÊN NGHIÊN CỨU KHOA HỌC 159
5. KẾT LUẬN Trong bài báo này, nhóm nghiên cứu đưa ra thiết kế bằng mã nguồn mở mô đun phần mềm với sự hỗ trợ của thư viện python. Hướng nghiên cứu này giúp xây dựng hệ thống đơn giản hơn, dễ dàng thêm các tính năng bổ sung không làm ảnh hưởng đến các chức năng hiện tại của hệ thống. Nó không chỉ hoạt động theo lệnh của con người mà còn đưa ra văn bản cho người dùng trên cơ sở truy vấn nghe được. Với kết quả thực nghiệm hình hệ thống qua 50 câu hỏi bất kỳ các nội dung có kết quả thống kê: Thời gian phản hồi 2 giây; độ chính xác thông tin trả về khoảng 89%; Phạm vi thông tin ưu tiên kết quả trả lời phụ thuộc thuật toán google. Tuy nhiên, trong quá trình nhận dạng giọng nói sẽ gặp phải sự phức tạp do nhiễu. rất nhiểu yếu tố khác thđóng một vai trò gây nhiễu làm ảnh hưởng tới kết quả nhận dạng cũng như chạy thuật toán gây sai số sấp x10%. Tiếng ồn xung quanh thể dễ dàng khiến thiết bị nhận dạng giọng nói đi chệch hướng. Hay giọng đặc trưng vùng miền mà thư viện với dữ liệu chưa được huấn luyện kỹ. TÀI LIỆU THAM KHẢO [1]. Rabiner Lawrence, Juang Bing-Hwang, 1993. Fundamentals of Speech Recognition. Prentice Hall, New Jersey, ISBN 0-13-015157-2 [2] . Hayes H. Monson, 1996. Statistical Digital Signal Processing and Modeling. John Wiley & Sons Inc. , Toronto, ISBN 0-471-59431-8 [3]. Proakis John G., Manolakis Dimitris G., 1996. Digital Signal Processing, principles, algorithms, and applications. Third Edition, Prentice Hall, New Jersey, ISBN 0-13-394338-9 [4]. Baum L.E., Eagon J. A., 1967. An inequality with applications to statistical estimation for probabilistic functions of Markov processe and to model for ecology. Bulletin of American Mathematical Society, 73:360-363. [5]. Baum L.E., 1972. An inequality and associated maximisation technique in statistical estimation for probabilistic functions of Markov processes. Inequalities 3:1-8. [6]. Young Steve, 1996. A Review of Large-vocabulary Continuous-speech Recognition. IEEE SP Magazine, 13:45-57, ISSN 1053-5888. [7]. Mammone Richard J., Zhang Xiaoyu, Ramachandran Ravi P., 1996. Robust Speaker Recognition. IEEE SP Magazine, 13:58-71, ISSN 1053-5888.