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

Khóa luận tốt nghiệp Kỹ thuật máy tính: Nghiên cứu và thiết kế hệ thống trợ lý ảo tiếng Việt offline trên nền tảng hệ thống nhúng

65 0 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Nội dung

Mô-đun có chức năng chính là chuyển yêu cầu của người dùng từ giọng nói sang văn bản đề có thé xử lý yêu cầu đó, nếunhận dạng không tốt sẽ ảnh hưởng tới kết quả của các mô-đun phía sau,

Trang 1

ĐẠI HỌC QUOC GIA TP HO CHÍ MINH

TRUONG DAI HOC CONG NGHE THONG TIN

KHOA KY THUAT MAY TINH

PHAM TAN KHOA NGUYEN TRUNG NGHIA

KHOA LUAN TOT NGHIEP

NGHIEN CUU VA THIET KE HE THONG

Research and Implement Offline Vietnamese Virtual Voice

Assistant on Embedded Board

KY SU NGANH KY THUAT MAY TINH

TP HO CHi MINH, 2021

Trang 2

ĐẠI HỌC QUOC GIA TP HO CHÍ MINH

TRUONG DAI HOC CONG NGHE THONG TIN

KHOA KY THUAT MAY TINH

PHAM TAN KHOA - 16520602 NGUYEN TRUNG NGHIA - 16520812

KHOA LUAN TOT NGHIEP

NGHIEN CUU VA THIET KE HE THONG

TRO LY AO TIENG VIET OFFLINE TREN NEN TANG

HE THONG NHUNG

Research and Implement Offline Vietnamese Virtual Voice

Assistant on Embedded Board

KY SU NGANH KY THUAT MAY TINH

GIANG VIEN HUONG DAN ThS PHAM MINH QUAN

TP HO CHi MINH, 2021

Trang 3

THÔNG TIN HỘI ĐÒNG CHÁM KHÓA LUẬN TÓT NGHIỆP

Hội đồng chấm khóa luận tốt nghiệp, thành lập theo Quyết định số

70/QD-DHCNTT ngày 27 tháng 01 năm 2021 của Hiệu trưởng Trường Dai học

Công nghệ Thông tin.

Trang 4

LỜI CẢM ƠN

Được sự phân công của quý thầy cô khoa Kỹ thuật máy tính, Trường Đại học

Công nghệ thông tin, sau hơn ba tháng học tập và làm việc, chúng em đã hoàn thành

Khóa luận tốt nghiệp “ Nghiên Cứu Và Thiết Kế Hệ Thống Trợ Lý Ảo Tiếng Việt

Offline Trên Nền Tang Hệ Thống Nhúng” Đề hoàn thành nhiệm vụ được giao,

ngoài sự nỗ lực học hỏi của bản thân còn có sự quan tâm, giúp đỡ tận tình của thầy

cô, gia đình và bạn bè.

Chúng em xin gửi lời cảm ơn quý báu đến quý thầy cô ở Khoa Kỹ thuật máy tính

- Trường Đại học Công nghệ thông tin đã nhiệt tình trong việc truyền đạt vốn kiếnthức quý báu giúp đỡ chúng em rất nhiều trong thời gian học tập tại trường Chúng

em xin chân thành cảm ơn thầy giáo — ThS Phạm Minh Quân, người đã tận tâm

hướng dẫn, chi bảo chúng em qua từng buổi học trên lớp cũng như những buổi nói

chuyện, thảo luận về lĩnh vực sáng tạo trong nghiên cứu khoa học Một lần nữa,chúng em xin chân thành cảm ơn thầy

Mặc dù bài khoá luận không tránh khỏi những thiếu sót, rất mong nhận đượcnhững ý kiến đóng góp quý báu của quý thầy cô giúp bài khoá luận của chúng emhoàn thiện hơn Lời sau cùng, chúng em xin kính chúc quý thay cô trong khoa Kỹthuật máy tính, cô Hiệu trưởng PGS TS Nguyễn Hoàng Tú Anh sức khoẻ, niềmtin, vững bước diu dắt chúng em trưởng thành

Trân trọng!

TP HCM, 05 tháng 03 năm 2021

Trang 5

TOM TAT KHOA LUAN 001157 1(91005 3

Lý do chọn đề tài ¿- 2-52 2S SE EEEEEE12112112112171711111111 11111111111 cv 3

Chương 1 | TONG QUAN HE THONG TRỢ LY ẢO -2- 2 s52 5

1.1 Tổng quan hệ thống trợ lý 0 ecceecessesseessessessesssessessessesssessessessessssssessessesseesseeses 5Chương2 CO SỞ LÝ THUYÉT 2- 22 ++22++2E++Ex++ExtzE+erx+zrxrsrxee 8

2.1 Cấu trúc của một hệ thống phan hồi yêu cầu (chatbot) - 2 2-55: 8

2.1.1 Hiểu ngôn ngữ tự nhiên cssesseseessesssessessesseseessessestesesssssesneaee 11

2.1.2 Cơ sở dữ liệu Chabot - ccc 22 2222111111112 11 1111855111111 xe 15

2.2 Tổng quan hệ thong nhận dạng giọng nói 2-2 2 2+s+x+£++£++£+2 s22 16

2.2.1 Phân loại hệ thong nhận dang ZION nÓI - «+5 ««++s<++v+ssx+ 16

2.2.2 Phân tích giọng nói CUA IBƯỜII - - +1 13+ 1E **EEEEEESEsrersereseeereere 16

2.2.3 Các giải pháp cho nhận dạng giọng nói phổ biến . -:- 19

2.3 Tổng quan hệ thong chuyền văn bản sang giọng nói - 5-5-5: 16

2.3.2 Mô hình Transformer Trong Text To ŠSpeech - - «+ << <c<<++<++ 34

Chương 3 XÂY DỰNG TRỢ LÝ AO TƯ VAN TUYEN SINH 37

3.1 Bai todd oe 37

3.2 Xây dựng hệ thống nhận dang giọng nói End-to-End . - 37

3.2.1 Chuẩn bị dữ liệu - -+-+2++t2E tt tre 37

3.2.2 May ái 00) 0 38

3.3 Xây Dựng chatbot tư van tuyến sinh - 2-2-2 +52+E2+E+EEe£EzErrxerxerreee 40

Trang 6

3.4 Xây dựng hệ thống chuyền văn bản sang giọng nói Transformer và MelGAN

9290 aH((|:LL::-1A 45

3.4.1 Chuẩn bị dit liệu - 2: £ £+SE+EE£EE2EEEEEEEE211211271711211211 11212 re 45

3.4.2 Kay dung m6 hinh 0 45

Chuong 4 Kết Qua - Đánh Giá Thực Nghiệm -2¿©-2 2+cx+cxzzze 41

4.1 Kết quả thực nghiệm ¿- ¿ c©S9SE+SE9EE£EE2EEEEEEEE1EE12212112112171 2111 xe 47

4.1.1 Kết quả thực nghiệm từng mô-đun -2- 2 252+£2+E+zEe£xerxerxsreee 47

4.1.2 Kết quả thực nghiệm tổng thé trên board nhúng TXI - 51

4.2 Đánh giá - s25: 21221 2x21 21122127121121121111211211211112112112111111121 E1 51

6c 0 .rr ccaiiiảảỶÝÝẢ 524.4 Dinh hướng nghiên cứu tiếp theo -2- + +¿+++2x++£x++£x+2zxvzx+srxezrxere 52TÀI LIEU THAM KHẢO - - - St 3 EE2E9E9EEEE2EEE1EE5EEEEEE2EEE1111E1111EE 1xx 53

Trang 7

DANH MỤC HINH VE

Hình 1.1: Cau trúc trợ lý ảo cơ bản - 2 s+2x+2E2EE2EE£EEEEEEEEEEEEEEEEEEEErrrkerreeg 5Hình 2.1: Cấu trúc của một chatbot co bản [ I Ï] << =++++<s++zeezeeeeeess 9

Hình 2.2: Thành phần chính của các chatbot cao cấp hơn [12] - s+ 10

Hình 2.3: Làm sạch text [24] - -< E11 E13 2211111131951 1111111983111 11116821111 ky 12

Hình 2.5: Chuan hóa từ [4] cceccescccccsscsscsssessessesssessessessessssssessessessusssessesssssesessessecsnsees 13

Hình 2.6: Loại bỏ stopwords [4] s11 TH HH 14 I0) :0/201/-uio0i 6017077 — + 14

Hình 2.8: Dữ liệu chatbot dưới dang json [3] .- 555555 *++k++eesseeeeeeeseeers 15

Hình 2.9: Cấu tạo thanh quản [3|] - - 5 5113231131113 1 911191111 11 1n kg 17

Hình 2.10: Mô phỏng các tần số kết hợp tạo ra tần số mới [25] - 19Hình 2.11: Biến đổi Fourier [ ] -: -c¿55++++2£xxttrxttttrrttrrrtrrrrrrtrrrrrrrrr 20Hình 2.12: Đặc trưng một nguyên âm trong miễn tần số [9] - 21Hình 2.13: Phân tích F1, F2, F3 cua một nguyên âm trong miễn tần số [9] 22Hình 2.14: Cửa số trượt trên tín hiệu âm thanh dé trích xuất đặc trưng [7] 23Hình 2.15: Sơ đồ trích xuất đặc trưng MFCC [7] -. ¿-¿©++++2cx+2z++zs+er++ 24Hình 2.16: Biểu đồ liên hệ Mel và tần số tai người nghe [7] -: -: 25Hình 2.17: Tach tần số FO ra khỏi tần số muốn lấy [7] -. : ¿z5+2=5+ 26Hình 2.18: Nhận dạng giọng nói bang s0 0/010 ằằ 27

Hình 2.19: Mô hình Tacotron Speech to Text [25 ] 5-cc + ++ssexssesesers 31

Hình 2.20: Cấu trúc mô-đun CBHG [23] - 2-2 2 SE+EE+E£EE+E£EE+EeEEeEerxererrrrs 32

Hình 2.21: Mang transformer trong text to speech [27] - -cs«c<<<+sxssexses 36

Hình 3.1: Cấu trúc một Chatbot 2552: 22vcctEEEtrrttEktrrtttterrrrirrrrirrree 41

Hình 3.2: Mau data chatbot tư van tuyên Sink ccccceccsscessessesssssessessessessessesseesseees 41Hình 3.3: Lam sạch text bang Regex c.ccccsscssesssesssesssesssssscssecssessusssecssecseessesssecsneess 42Hình 3.4: Bộ từ điển tri-grams — từ ghép bởi 3 chữ cái - 2: se +scczce¿ 43Hình 3.5: Từ điển stopwords tiếng VIiỆP - ¿55c tt E2 2112112121211 11 xe 43

Trang 8

Test một số câu hội thoại - ¿2S t+E+E£EEEE+EEEEEEEEEEEEErEeEererkerereree 48

Đánh giá độ chính xác của mô hình - 55 + + *stsesereerseeeeeeree 48

Giá tri loss bộ dữ liệu 54h nói - <2 <1 + 22311 1E kereesssss 49

thé hiện biểu đồ giá trị train d_loss qua thời gian train . 50Biểu đồ đánh giá điểm MOS -2- 2-52 St E2 2112112121 50

Trang 9

DANH MỤC TỪ VIET TAT

Từ viết Từ chuẩn Diễn giải

tắt

ASR Auto Speech Recognition Nhận dạng giọng nói tự động

CER Character Error Rate Tỉ lệ ký tự lỗi

CNN Convolution Neural Network Mang no-ron tich chap

MFCC | Mel Frequency Cepstral Coefficient | Đặc trưng hệ sô tân số quang phố

NLP Natural Language Processing Xử lý ngôn ngữ tự nhiên

NLU Natural Language Understanding Hiéu ngôn ngữ tự nhiên

PLP Perceptual Linear Prediction Dự đoán tuyên tính

RNN Recurrent Neural Network Mang no-ron

STT Speech to text Giong noi sang van ban

TTS Text to speech Van bản sang giọng nói

WER Word Error Rate Tỉ lệ từ lỗi

TF-IDE Term Frequency — Inverse Tần suất từ - Tan suất tài liệu

Document Frequency nghich

BOW Bag Of Word Túi từ

SVM Vector Support Machine Véc-tơ hỗ trợ máy

DSP Digital Signal Processing Xử lý tin hiệu số

HMM Hidden Markov Model Mô hình Markov ân

DNN Deep Neural Network Mạng nơ-ron sâu

ML Machine Learning Máy học

Trang 10

AI Artificial Intelligence Tri tué nhan tao

Trang 11

TOM TAT KHÓA LUẬN

Trợ lý ảo được sinh ra nhằm hướng tới sự tiện nghỉ của con người, giúp con người

xử lý các tác vụ hằng ngày một cách tự động như: Công thức nấu món ăn, hướngdẫn làm một việc gì đó, chỉ đường, đặt xe, bật tắt các thiết bị thông minh trong nhà,báo thức, cho đến việc hướng dẫn, tra khảo thông tin tại một số địa điểm cụ thê ví

dụ như địa điểm tham quan du lịch, sân ga, và trường học cũng nằm trong số đó.Các tân sinh viên, học sinh tham quan trong khuôn viên trường có câu hỏi về

chương trình đào tạo, chỉ tiêu, điểm chuẩn hoặc vị trí phòng ốc trong trường có thé

hoi truc tiép với một trợ lý ảo được dat đâu đó trong khuôn viên trường Đó là một

ví dụ cho ta thay sự tiện nghi cua trợ ly ảo Ở khóa luận, nhóm thực hiện thiết kếmột trợ ly ảo offline có thé trả lời một số câu hỏi liên quan đến Trường Đại học

Công nghệ thông tin.

Đề có thê thiết kế một trợ ly ảo, trước tiên ta phải phân tích cau tao trợ ly aothành các phan khác nhau Có rất nhiều mô-đun liên quan nhưng với mức độ cơ bảnthì trợ lý ảo thường có ba mô-đun chính: Nhận dạng giọng nói (chuyển văn bản

sang giọng nói), phản hôi yêu câu và chuyên văn bản sang giọng nói.

Đầu tiên là mô-đun nhận dạng giọng nói Mô-đun có chức năng chính là chuyển

yêu cầu của người dùng từ giọng nói sang văn bản đề có thé xử lý yêu cầu đó, nếunhận dạng không tốt sẽ ảnh hưởng tới kết quả của các mô-đun phía sau, từ đó ảnhhưởng tới độ chính xác của toàn bộ hệ thống Có rất nhiều phương pháp mô hìnhhóa đã được sử dụng dé đào tạo như mô hình no-ron và mô hình Markov, tần số cơ

bản FO và mô hình Markov, MFCC (Mel Frequency Cepstral Coefficient) và PLP

(Perceptual Linear Prediction), Ở day nhóm sử dụng một mô hình dễ triển khai đó

là End-to-End với Residual Convolutional Neural Networks (ResCNN) và

Bidirectional Recurrent Neural Networks (BiRNN) dé dao tạo Độ lớn của bộ dữliệu đào tạo anh hưởng rat lớn đến độ chính xác của mô hình Dé có độ chính xáctốt thì vài trăm giờ cho đến vài nghìn giờ nói là cần thiết Nhóm đã thực nghiệm bộ

dữ liệu Vivos 15 giờ nói đạt WER khoảng 45%; bộ đữ liệu 54 giờ nhóm tự tổng hợp

Trang 12

gồm bộ Vivos 15 giờ nói và 39 giờ nói từ bộ đữ liệu của VinBigdata, kết quả WER

đạt 34%, CER đạt 12%.

Sau khi chuyên yêu cầu của người dùng sang văn bản thì ta xử lý và đưa ra hành

động phản hồi cho văn bản yêu cầu đó Mô-đun có thé hiểu là một “chat bot” tathường thấy, nhận văn bản và phản hồi văn bản Nhiệm vụ của nó là tìm ra câu trả

lời hoặc hành động phù hợp nhất với yêu cầu của người dùng Ta có thể dùng một

số kỹ thuật như: Naive Bayes, Decision Tree (Random Forest), Vector Support

Machine (SVM), Convolution Neural Network (CNN), Recurrent Neural Network

(RNN), Long Short-Term Memory (LSTM, Bi-LSTM) Ở mức độ cơ bản ở miềnđóng thì mô-đun là bài toán hồi quy (regression) hoặc cũng có thê là bài toán phân

loại (classification) vì đầu ra là những số nguyên có định tương ứng với câu tra lời

Ở đây nhóm sử dụng bài toán regression được xây dựng trong framework Tflearn.Với dữ liệu đào tạo là bộ 100 câu hỏi và trả lời liên quan đến Trường Đại học Công

Nghệ thông tin thì nhóm đạt độ chính xác 97%.

Mô-đun đầu ra cuối cùng là chuyển văn bản sang giọng nói, chuyên câu trả lời

tới người dùng qua giọng nói Các mô hình đã được áp dụng như Hidden Markov

model (HMM), Tacotron, Tacotron2 đã mang lai một số thành công nhất định Một

mô hình mới xuất hiện gần đây và nhóm quyết định sử dụng mô hình này, đó làTransformer kết hợp vocoder MelGAN Sau 20 ngày train liên tục nhóm đạt MOS

(Mean Opinion Score) ở mức 2.5.

Trang 13

MỞ DAU

Trợ lý ảo là một cụm từ không còn xa lạ đối với nền công nghệ phát triển hiện

nay trên thế ĐIỚI Về cơ bản, trợ lý ảo là một dạng phần mềm, công cụ được xây

dựng dựa trên nền tảng của trí tuệ nhân tạo (AI) Phần mềm này sẽ được tích hợp

sâu vào các thiết bị điện tử như tivi, loa thông minh, máy tính dé hỗ trợ ngườidùng sử dụng thiết bi dé dàng và tiện lợi hơn

Một trợ lý ảo thông minh sẽ giúp bạn làm rất nhiều việc thông qua các câulệnh điều khiển mà không cần động tay, động chân như: Công thức nấu món ăn,hướng dẫn làm một việc gì đó, chỉ đường, đặt xe, bật tắt các thiết bị thông minhtrong nhà, bao thức Đặc biệt hơn, trợ lý ảo có thé phân tích hành động cua conngười dé đưa ra những câu lệnh chuan xác hơn trong tương lai Phan lớn các hãngcông nghệ đều tự tay tạo ra cho mình một trợ lý ảo riêng như: Google Assistant của

Google, Siri trên Iphone cua Apple, Alexa cua Amazon,

Ly do chon dé tai

Voi su bung nô cách mạng 4.0 thì nhu cầu đơn giản hóa mọi việc và tối ưu thờigian thao tác dang dan trở nên phô biến Thử đặt một câu hỏi: Với con người thitrong 3 công việc viết, đánh máy và nói thì chúng ta làm việc gì để tiết kiệm công

sức nhất Tất nhiên là Nói Vì sao? Một người bình thường trong một phút có théviết 30 từ, gõ 60 từ, nhưng có thé nói tới 150 từ [5] Vậy nên dé tối ưu công việc thi

chúng ta sẽ tối ưu việc nói Sự phát triển nhanh chóng của AI và học máy đã giúpphát triển công nghệ nhận dạng giọng nói, công nghệ này ngày càng đi sâu vào mọilĩnh vực trong cuộc sống Từ những điều trên, ta đã thấy rằng tại sao công nghệ điềukhiển giọng nói nên được coi là xu thế công nghệ hiện tại không chỉ bới những ông

lớn về công nghệ hay những người có niềm đam mê với AI mà các doanh nghiệpcũng đang ráo riết nâng cấp, tối ưu hệ thống bằng công nghệ giọng nói hay còn gọi

là trợ lý ảo.

Trang 14

Trợ lý ảo có thê được đặt ở nhiều nơi, nhiều nhiệm vụ khác nhau như ghi nhận

dữ liệu và điều khiển hoạt động của nhà thông minh; ghi chú công việc, lên lịch làm

việc; Ngoài ra trợ lý ảo giúp tìm kiếm thông tin hoặc giải đáp thắc mắc tại các cơ

sở, điểm tham quan hoặc làm việc cũng là một ứng dụng rất có ích Trường Đại học

cũng có thể ứng dụng trợ lý ảo cho mình, phục vụ các bạn tân sinh viên về vấn đềtuyên sinh hoặc các đoàn tham quan giải đáp thắc mắc, tìm kiếm thông tin liên quanđến trường Trường Đại học Công nghệ thông tin là một nơi thích hợp dé triển khaimột hệ thống trợ lý ảo như vậy

Mục đích

Tìm hiểu về cấu trúc và các phần chính trong trợ lý ảo: Nhận dạng giọng nói; Xử

lý ngôn ngữ tự nhiên (NLP,NLU); Chuyển văn ban sang giọng nói; Các mạng

no-ron, mô hình huấn luyện trong học máy,

Nhóm tập trung nghiên cứu các bài toán trong trợ lý ảo ứng dụng trong miềnđóng (close domain) và theo mô hình truy vấn thông tin (Retrieval basedmodels) Mô hình truy xuất thông tin là mô hình trong đó: chatbot đưa ra những

phản hồi được chuẩn bị trước hoặc tuân theo những mô thức nhất định Các hệ

thống chatbot được triển khai trong thực tế phần lớn tuân theo mô hình truy xuấtthông tin và được áp dụng trong những miền ứng dụng nhất định

Sau cùng là phát triển một trợ lý ảo phục vụ cho việc tư vấn tuyên sinh Trường

Đại học.

Trang 15

Chương 1 TONG QUAN HỆ THONG TRỢ LÝ AO

Chương này sé giới thiệu tổng quan về hệ thống tro lý ảo, cấu trúc các thànhphần và những vấn đề khi xây dựng hệ thống trợ lý ảo

1.1 Tổng quan hệ thống trợ lý ảo

Trợ lý ảo được cấu tạo từ rất nhiều mô-đun khác nhau, trong đó nhóm phân ra ba

mô-đun quan trọng nhất của trợ lý ảo, đó là: Nhận dạng giọng nói; Phản hồi yêu

câu; Văn bản sang giọng nói.

Các hệ thống nay đã được các tổ chức và cộng đồng xử lý ngôn ngữ tự nhiên ở

Việt Nam cố gang xây dựng trong nhiều năm qua, trong đó thi Vietnamese

Language and Speech Processing (VLSP) được xem là câu lạc bộ lớn nhất Cácnghiên cứu còn gặp rất nhiều khó khăn vì cấu trúc tiếng Việt rất khác và ít được chútrọng nghiên cứu như các ngôn ngữ phổ biến khác Vì vậy nên rất ít các công trìnhnghiên cứu hoặc tài liệu được công bố Da số các sản pham cũng chỉ dừng ở mức

online chứ chưa có nên tảng offline.

Người dùng có thể tùy chọn tương tác với trợ lý ảo bằng tin nhắn văn bản hoặc

giọng nói Lúc này sơ đô trợ lý ảo sẽ như sau:

iii Giọng nói Văn bản sang > u

F

Hình 1.1 Cấu trúc trợ lý ảo cơ bản

Hình 1.1 miêu tả luông dữ liệu trong trợ lý ảo Trong đó mô-đun quan trọng nhât là

mô-đun có chức năng phản hôi yêu câu người dùng Đâu vào và đâu ra của mô-đun

này đều là văn bản nên nếu không có hai mô-đun còn lại thì ta vẫn có thể tương tác

với trợ lý ảo Trợ lý ảo có thông minh hoặc phức tạp hay không phụ thuộc vào

Trang 16

mô-đun nay Vì mô-mô-đun này nhóm xây dựng chỉ có chức năng phản hồi đoạn hội thoại

nên nó là một chatbot thông thường Nhóm xin phép gọi mô-đun này là mô-đun

Chatbot.

Hệ thống trải qua các bước cơ bản sau: tiền xử lý dataset như làm sạch text

(Regex, ), tách từ (longest matching, maximum matching, ) [14], loại bỏ

stopwords (ttr điển, TF-IDF), vector hóa từ (BOW, one-hot, TF-IDF, ) [21] [20][2] Mục dich là dé tạo dit liệu đầu vào tương ứng với dataset cho bước huấn luyện

mô hình Bước huấn luyện mô hình dùng dé tạo ra mô hình có thé dự đoán câu trả

lời cho các câu hỏi hoặc văn bản từ người dùng, ta có thé dùng một số kỹ thuật như:

Naive Bayes, Decision Tree (Random Forest), Vector Support Machine (SVM),

Convolution Neural Network (CNN), Recurrent Neural Network (RNN) [16], Long

Short-Term Memory (LSTM, Bi-LSTM) [2] Với dataset thi có thé là một tập các

câu hỏi — câu trả lời liên quan đên vân đê tuyên sinh được soạn sẵn.

Nhận dạng giọng nói

Từ trước đến nay, dé giao tiếp với máy tính ta phải sử dụng các thiết bi vật lý

như chuột, bàn phím, màn hình cảm ứng Trong khi đó, giọng nói là phương thức

giao tiếp được con người sử dụng hàng ngày, một phương thức vô cùng đơn giản vàtiện lợi Do là lý do các hệ thống nhận dạng giọng nói (Auto Speech Recognition -ASR) ra đời nhằm tăng sự tiện lợi trong việc giao tiếp người - máy Nhận dạng

giọng nói ghi nhận âm thanh giọng nói và cho ra chuỗi từ tương ứng với câu nói đó.

Xa hơn là khả năng hiểu giọng nói đó và thu thập yêu cầu người dùng

Hệ thống nhận dạng giọng nói giúp việc giao tiếp với người dùng linh động hơn

chứ không chỉ phụ thuộc vào việc nhập văn bản Phương pháp cơ bản cũng giống

như hệ thống trả lời tự động nhưng thay vì mô hình hóa văn bản thì ta mô hình hóa

âm thanh, sử dụng các phương pháp mô hình hóa như mô hình nơ-ron và mô hình

Markov, tần số co bản FO và mô hình Markov, MFCC (Mel Frequency CepstralCoefficient) va PLP (Perceptual Linear Prediction)[7], Trén thế giới có rat nhiều

bộ công cụ hỗ trợ những vấn đề trên trong việc nhận dạng giọng nói như HTK,

Trang 17

Sphinx, Alize, Kaldi [13] Nhưng các mô hình trên thường yêu cầu bước xử lý và

phân tích dữ liệu khá phức tạp, đòi hỏi phải hiểu rõ bản chất ngôn ngữ mình đang

làm việc Hiện nay, một mô hình mới là End-to-end đang được chú ý đến vì sự đơngiản nhưng hiệu suất cũng khá cao Để hệ thống có độ chính xác cao cần yêu cầulượng cực lớn dit liệu âm thanh Thường là vài trăm giờ nói cho đến hàng nghìn giờ

nói.

Văn bản sang giọng nói

Hệ thống chuyển văn bản thành giọng nói (Text to speech - TTS) là một ứngdụng chuyển đôi văn bản thành lời nói, bang cách phân tích và xử lý văn bản sử

dụng Xử lý ngôn ngữ tự nhiên (NLP) và sau đó sử dụng Công nghệ xử lý tín hiệu

kỹ thuật số (DSP) dé chuyên đổi văn bản đã xử lý thành giọng nói tổng hop [6]

Hệ thống chuyển văn bản sang giọng nói giúp phản hồi của trợ lý ảo trở nên thân

thiện hơn chứ không chỉ là văn bản nhàm chán và bắt tiện trong một số tình huống.

Các mô hình được áp dụng như Hidden Markov model , Deep Neural Network

nhưng vẫn còn một vài giới hạn Gần đây, việc sử dụng mô hình sequence kết hợp với neural vocoders như WaveGlow, mô hình TransformerTTSkết hop MelGAN mang lại chất lượng cao hơn [22] Ngoài ra Tacotron cũng làmột mô hình vượt trội được phát triển bởi Google Dataset của hệ thống cũng tương

sequence-to-tự như nhận dạng giọng nói nhưng quy mô nhỏ hơn và đơn giản hơn.

Trang 18

Chuong 2 CƠ SỞ LÝ THUYET

2.1 Cau trúc của một hệ thống phản hồi yêu cầu (chatbot)

Có rất nhiều yếu tố khác nhau để phân loại chatbot nhưng có hai yếu tố quan trọng

đó là loại chatbot và miền chatbot (domain)

Phân loại chatbot

Lĩnh vực trợ lý ảo phụ thuộc vào lõi chatbot của trợ lý ảo Có nhiều cách để phânloại chatbot như phân loại dựa trên dịch vụ, dựa trên nên tảng xây dựng chatbot,

dựa trên chất lượng trải nghiệm người dùng, Ở đây nhóm phân loại dựa trên chất

lượng trải nghiệm người dùng Theo đó, chatbot có thể chia làm 3 loại:

Rule-Based Approach (Scripts Chatbot): Loại cơ bản nhất, trong hầu hết cáctrường hợp, các chatbots này là các hệ thống phân cấp cây quyết định được trình

bày cho người dùng dưới dang các nút (buttons).[11]

Retrieval based models: Loại Truy van, sử dụng một kho được định nghĩatrước các câu trả lời và một vài thuật toán tìm kiếm đề chọn ra câu trả lời thích hợp

từ đầu vào (câu thoại trước hay câu hỏi) và ngữ cảnh (đang tán tỉnh hay hỏi về sảnphẩm điện thoại, ) Thuật toán tìm kiếm có thể đơn giản như là sử dụng các luật,hoặc phức tạp như là kết hợp một vài thuật toán phân lớp machine learning Những

hệ thống này không thê tạo ra bất kỳ từ mới, chúng chỉ lấy một số câu phản hồi (câu

trả lời response) từ một tập có san [11]

Generative models: Loại tự sinh ngữ, những chatbots sử dung Machine

Learnng (ML) và Trí tuệ nhân tạo (AI) dé ghi nhớ các cuộc hội thoại với ngườidùng cụ thé Sử dụng những dữ liệu thu thập được để tìm hiểu va phát triển theothời gian Không giống như các chatbot nhận dạng từ khóa, các chatbot trò chuyện

theo ngữ cảnh đủ thông minh để tự cải thiện dựa trên những gì người dùng yêu cầu

và cách họ yêu cầu [11]

Miền chatbot (Domain): Tức là phạm vi chủ dé các cuộc hội thoại mà chatbot cóthê xử lý, được chia làm hai loại:

Trang 19

Open domain (khó hơn), người dùng có thể tạo cuộc hội thoại bất kỳ lĩnh vực

nào Không cần thiết phải định nghĩa trước mục tiêu hay ý định Các cuộc tròchuyện trên các trang mạng xã hội như Twitter và Reddit là các ví dụ điển hình cho

open domain Chúng có thé đi qua các chủ đề khác nhau Có vô hạn các chủ đề với

nhiều hiểu biết được yêu cầu để tạo ra câu trả lời hợp lý, đây là một vấn đề khó

chắn rồi, người dùng vẫn có thể tạo các cuộc hội thoại ở bất kỳ đâu họ muốn, nhưng

hệ thống sẽ không cần phải xử lý tất cả các trường hợp và người dùng cũng khôngmong mỏi điều đó [11]

Nhóm tập trung nghiên cứu các bài toán trong chatbot ứng dụng trong miền đóng(close domain) và theo mô hình truy vấn thông tin (Retrieval based models)

DATA STORE

Interaction history,

monitoring and analytics (helps make

responses more

effective)

KNOWLEDGE STORE

Your domain specific

source content which the bot accesses and then

determines the correct

knowledge to serve to

the end user.

ACTIONS.

The ability to send

emails, restart crashed

servers, order new parts

and more.

Natural Language Processing

receives message and fetches

appropriate response.

Hình 2.1: Cấu trúc của một chatbot co ban [11]

Hình 2.1 thể hiện cấu trúc của một chatbot, với trung tâm là hệ thống xử lý ngôn

ngữ tự nhiên.

Trang 20

các dạng mà |máy tinh ag thê hiéu được, tffiậitiện Cho

state request food() | 0.01

La các ứng dụng mà người dùng tương tác với

Tở rộng chatbot với các bên khác,

Ngoài ra, trong các chatbot cao cấp hơn còn có nhiều thành phần khác như hiểungôn ngữ tự nhiên (NLU), quản lý hội thoại (DM), thành phan sinh ngôn ngữ(NLG) giúp chatbot thông minh hon và trông có phan tự nhiên hơn [12]

Hình 2.2: Thành phần chính của các chatbot cao cấp hơn [12]

10

Trang 21

NLU: bao gồm việc xử lý ngôn ngữ tự nhiên (NLP) có nhiệm vụ xác định

được ý định câu hoi(intent classification) và trích chọn thông tin (slots filter)

[12]

DM: Quản lý hội thoại có nhiệm vụ xác định được hành động (action) tiếp theo

dựa vào trạng thái hành động trước đó hay ngữ cảnh hội thoại Các ngữ cảnh này

phải được đối chiếu trong các kịch bản dựng sẵn (history) đã đào tạo cho bot.Thanh phan này cũng đảm nhiệm việc lay dữ liệu từ hệ thống khác qua các API

goi trong action

NLG: là thành phan sinh ngôn ngữ dựa vào chính sách (policy) và hành độngđược xác định trong DM thông qua các tập hội thoai.NLG có thể được sinh ra

câu trả lời dựa vào tập mau câu trả lời (pre-defined template) đã đào tạo cho bot.

2.1.1 Hiểu ngôn ngữ tự nhiên

Đây có thé nói là thành phan quan trọng nhất của chatbot Chatbot có thông minhhay không thì đây là thành phần quyết định Mục tiêu của thành phần này là tríchxuất ra 3 thành phần thông tin từ câu nói của người dùng: Đầu tiên là phân loại lĩnh

vực (domain classification); Tiép dén 1a phan loai y dinh (intent classification);Cuối cùng là bước trích xuất thông tin (slot fillter hay entity extraction)

Hiểu ngôn ngữ tự nhiên có 2 thành phần quan trọng là xử lý ngôn ngữ tự nhiên

(NLP) và học máy (Machine learning).

2.1.1.1 Xử lý ngôn ngữ tự nhiên

Xử lý ngôn ngữ tự nhiên trong chatbot là các thao tác với từ ngữ như làm sạch text,

tách từ (Tokenization hay word segmentation), loại bỏ stop word, vector hóa từ,

giúp biến đổi từ ngữ thành các dạng mà máy tính có thé hiểu được, thuận tiện cho

việc hậu xử lý.

Mặc dù đây là lĩnh vực được nghiên cứu rộng rãi và có rất nhiều mã nguồn mởnhưng đa số là áp dụng cho Tiếng Anh hoặc các tiếng phổ biến khác nên khi ápdụng cho tiếng Việt còn gặp nhiều khó khăn

lệ!

Trang 22

Xử lý ngôn ngữ tự nhiên trong tiếng Việt cơ bản gồm các bước:

Làm sạch text: Mục đích bước này là loại bỏ noise trong data Da phan noise là

các thẻ HTML, JavaScript, và đương nhiên nếu cứ dé noise dé tiến hành xử lý sẽ

dẫn đến kết quả xử lý không tốt

Hình 2.3: Lam sạch text [4]

Hình 2.3 ví dụ về quá trình làm sạch text, loại bỏ các ký tự đặc biệt, chỉ dé lại nội

dung cần thiết

Tách từ: Đối với tiếng Anh thì việc này khá dễ dàng vì mỗi từ trong tiếng Anh đều

có ý nghĩa và đa số các trường hợp thì chỉ cần sử dụng khoảng trắng (space) là cóthể tách từ được Tuy nhiên, các ngôn ngữ khác như tiếng Việt thì điều này khôngchính xác vì khoảng trắng không được sử dụng như 1 kí hiệu phân tách từ, nó chỉ có

Z

M nghĩ

Tiền xử lý trong <b> NLP</b> Tiền xử lý trong NLP a

pha

n

tách các âm tiết với nhau Vì thế, dé xử ly tiếng Việt, công đoạn tách từ (wordsegmentation) là 1 trong những bai toán cơ bản va quan trọng bậc nhất Có 2

phương án thường được sử dụng là:

Sử dụng bộ từ điển Vi dụ: Thuật toán so khớp từ dài nhất (longest matching), so

khớp cực đại (Maximum Matching),

Sử dụng học máy, các thuật toán phân lớp Ví dụ: Thuật toán Conditional Random Field (CRF).

lộ

VigtNam vôđịch |

Trang 23

Hình 2.4: Tách từ

Hình 2.4 ví dụ về việc tách từ, tách sao cho từ được tách vẫn giữ ý nghĩa của mình

Chuẩn hóa từ: Mục đích là đưa văn bản từ các dạng không đồng nhất về cùng mộtdạng, ví dụ như viết hoa, viết thường, không đồng nhất về font, Dưới góc độ tối

ưu bộ nhớ lưu trữ và tính chính xác cũng rất quan trọng

——>

Hình 2.5: Chuan hóa từ [4]

Hình 2.5 thể hiện ví dụ về chuẩn hóa từ, chuyền từ bị lỗi font về cùng font

Loại bỏ stopwords: Stopwords là những từ xuất hiện nhiều trong ngôn ngữ tựnhiên, tuy nhiên lại không mang nhiều ý nghĩa Ở tiếng việt Stopwords là những từnhư: để, này, kia Tiếng anh là những từ như: is, that, this Các cách loại bỏstopwords cơ bản như:Sử dụng bộ từ điển, dựa theo tần suất xuất hiện của từ (Tf —Idf, ) Khoa học đã chứng minh những từ xuất hiện nhiều nhất thường là những từkhông mang nhiều ý nghĩa

13

Trang 24

Filter Stopwords

Hình 2.6: Loại bỏ stopwords [4]

Hình 2.6 thé hiện ví dụ về loại bỏ những từ không có ý nghĩa nhiều trong xử lý

ngôn ngữ tự nhiên

Vector hoá từ: Đây là bước quan trọng khi tạo ra một vector tương ứng với mỗi

câu text Từ các vector đó ta mới có thé sử dụng các thuật toán học máy để huấnluyện mô hình chứ không thé sử dụng trực tiếp các câu text được Có nhiều cách

vector hóa từ như one-hot, biểu thi sự phân tán, bag of word, TF — IDF.,

nlp word | one- -hot ah ruby

Hình 2.7: Vector hóa từ [4]

Hình 2.7: thé hiện ví dụ về cách chuyển chuỗi văn bản về vector

14

Trang 25

2.1.1.2 Học máy trong chatbot

Học máy trong chatbot có vai trò quan trọng, nó giúp ta huân luyện và tạo ra các

mô hình, phục vụ cho việc phân loại câu hỏi người dùng, lựa chọn các câu trả lời

liên quan và chọn ra câu trả lời gan đúng nhât có thê.

Sau khi vector hóa từ bộ dir liệu ban đâu, ta có được input của bước huan luyện

(training) dé tạo ra một mô hình (model)

Ở bước này ta có thé dùng một sỐ kỹ thuật như: Naive Bayes, Decision Tree

(Random Forest), SVM , CNN, RNN, LSTM.

2.1.2 Co sé dit liéu chabot

Dữ liệu chuẩn bi cho chatbot chủ yêu là các đoạn hội thoại dựng sẵn với mô hìnhcâu hỏi — câu trả lời Một bộ dữ liệu training đủ nhiều và chuẩn chỉnh có thể nâng

cao độ chính xác lên rất nhiều Thường thì dữ liệu được định nghĩa dưới dạng Json

{"intents": [

{"tag": "greeting",

“patterns”: ["Hi", “How are you", "Is anyone there?", “Hello”,

“responses”: ["Hello, thanks for visiting", “Good to see you ag

“context_set":

}›

{"tag": “goodbye”,

“patterns”: ["Bye", “See you later", "Goodbye"],

“responses”: ["See you later, thanks for visiting", "Have a nic

}›

{"tag": “thanks”,

“patterns”: ["Thanks", "Thank you”, "That's helpful"],

"responses": ["Happy to help!", “Any time!", "My pleasure" ]

he

{"tag": “hours”,

“patterns”: ["“What hours are you open?", “What are your hours?"

Hình 2 8 Dữ liệu chatbot dưới dang json [3]

Hình 2.8: Ví dụ về dé liệu huấn luyện chatbot dưới dạng json[4]

15

Trang 26

2.2 Tổng quan hệ thống nhận dạng giọng nói

2.2.1 Phân loại hệ thống nhận dạng giọng nói

Nhận dạng giọng nói có thé được phân loại thành các loại khác nhau, phụ thuộc

vào giọng nói dau vào của quá trình huân luyện:

Đa dạng người nói: Một hệ thống được coi là đa dạng người nói nếu có thể nhậndạng giọng nói của bất kỳ người nào Hệ thống phải học được đặc trưng giọng nóicủa một lượng lớn người nói Điều đó đòi hỏi phải thu thập một lượng cực kỳ lớn

dữ liệu giọng nói cho quá trình huấn luyện - một bài toán khó cho nhận dạng giọng

nói Ngược lại, có hệ thống chỉ nhận dạng được người nói nếu người đó cung cấp

giọng nói của anh/cô ay cho quá trình huấn luyện [15]

Giọng nói rời rac hoặc liên tục: Hệ thong nhận dạng các từ rời rac là hệ thong màkhi sử dụng yêu cầu người nói phải nói chậm rãi, rõ ràng, ngắt quãng giữa các từ

Hệ thống nhận dạng từ liên tục là hệ thống tương tự như nhận dạng lời nói rời rạcnhưng không yêu cầu ngắt nghỉ giữa các từ, nhưng tốc độ vẫn phải chậm rãi và lời

nói yêu cầu rõ ràng Cuối cùng là nhận dạng giọng nói liên tục, nhận dạng các câu

nói liên tục, tốc độ thông thường như giao tiếp hàng ngày [15]

Kích thước bộ từ vựng: Một hệ thống nhận dạng giọng nói chỉ có thé nhận dạngmột lượng nhỏ các từ, chủ yêu dùng cho các trợ lý ảo kiểu ra lệnh, nhận dạng sỐđiện thoại, học tập và thực nghiệm Hệ thống ở mức trung bình có từ vải trăm từ Hệ

thống lớn được dao tạo với bộ dữ liệu vài nghìn cho tới vài chục nghìn từ vựng

dành cho các ứng dụng lớn như giao tiếp, trò chuyện [15]

2.2.2 Phân tích giọng nói của người

Như đã biết, giọng nói của chúng ta được tao ra từ thanh quản, cụ thé là khôngkhí đi từ phối lên làm đóng mở dây thanh đới theo các tần số khác nhau tạo ra giọng

nói, tần số này trung bình khoảng 125Hz đối với nam và 210Hz đối với nữ.

Giọng nói có thé được phân loại thành hữu thanh và vô thanh Âm hữu thanh là khi

ta nói và dây thanh đới đóng mở, tạo ra độ rung ở cô họng khi ta chạm vào Còn âm

16

Trang 27

vô thanh là khi phát âm dây thanh đới ở trong trạng thái mở và không tạo ra rung động.

Một thành phần quan trọng nữa trong việc nói là thanh quản, bao gồm cả phầnmiệng và phần mũi, hoạt động như một bộ cộng hưởng hoặc bộ lọc Tùy vào cách

hoạt động và vi trí của mũi, môi, lưỡi mà thanh quan biến đổi âm thanh gốc phát ra

từ thanh đới, tạo ra sự khác biệt giữa các từ với nhau Cả âm thanh hữu thanh và vô

thanh đều được điều chỉnh thêm bằng cách ghép nối và tạo ra các âm vang khác

nhau bởi thanh quản.

Đường mũi

Mũi hầu

Miệng hầu

>

Cơ cảm món ' > * Nắp thanh quan

Cầm i a ———— | seg Hau thanh quan

Khoang thanh quan

Thanh môn với thanh

Sone thất và dây thanhSụn giáp

Cơ giáp nhẫn

Sụn nhẫn hoang hạ thanh môn

Khí quản —=s— Thực quan

Hinh 2.9: Cau tao thanh quan [3]

Hình 2.9 mô tả cau tao của thanh quan

17

Trang 28

Phụ âm là âm phát từ thanh quản qua miệng, khi phát âm ra thì luồng khí đi từ

thanh quản lên môi bị cản trở, chăng hạn như bị cản trở bởi răng, lưỡi, môi chạmnhau trong quá trình phát âm Phụ âm chỉ phát ra tiếng trong lúc nói chỉ khi đi với

nguyên âm.

Nguyên âm

Nguyên âm là những dao động của dây thanh đới, luồng khí đi ra ngoài miệng

mà không bị cản trở như phụ âm Nguyên âm có thể đứng riêng biệt hoặc đứng vớiphụ âm dé tạo ra một tiếng [24]

Am vi

Am vi la phan doan nho nhất của âm thanh dùng dé cấu tạo nên sự phân biệt giữa

các cách phát âm Do đó, âm vi là một nhóm các âm thanh với sự khác biệt tương

đối nhỏ cùng đảm nhận một chức năng ý nghĩa tùy theo người nói và phương ngữ.Trong tiếng Anh, có những chữ cái có nhiều cách đọc khác nhau khi nằm trongnhững từ khác nhau Có 44 âm vị trong tiếng Anh, trong đó có 24 phụ âm và 20

nguyên âm Đó là các âm vị riêng biệt trong tiếng Anh nói dé phân biệt từ này với

từ khác Ví dụ: khi chúng ta chuyển đổi / k / trong ‘cat’ với / b /, chúng ta tái tạomột từ khác, ‘bat’ Các âm vị được viết giữa hai dấu gạch chéo Ví dụ từ “she” sẽ

được phân tích thành /fi:/ [24]

18

Trang 29

2.2.3 Các giải pháp cho nhận dạng giọng nói phố biến

là 349.23 Thông qua biểu đồ dạng sóng chúng ta có thé nhận ra được cường độ âm

thanh tại một thời điểm và suy đoán lúc đó có cường độ âm thanh lớn hay nhỏ chứkhông thê biết đặc trưng của âm thanh đó như âm thanh đó là của vật gì, của người

thì là nam hay nữ.

Hình trên cho ta thấy song “A” là sóng cuối cùng ta nghe được, được tập hợp bởisóng “B” và “C” Nếu chỉ dựa vào mỗi dạng sóng của “A” ta không thê biết đượcnhững gì đã tạo nên tín hiệu này Nếu ta có thể phân tích sóng “A” thành các sóngcau thành nên nó thì có thé phân tích được các đặc trưng Vậy nên trong học máy

19

Trang 30

thường sử dụng biểu diễn trong miền tần số hơn là miền thời gian bởi vì âm thanh

được đặc trưng bởi tần số

Phép biến đổi Fourier (Fourier Transform - FT) cho phép ta biến một dạng sóng

từ miền thời gian sang miền tần số và tách sóng hỗn hợp ban đầu thành các sóng

con tạo nên nó.

oA À A

Miền tan so

Hình 2.11: Biến đổi Fourier [1]

Hình trên cho thay dạng sóng ban dau ở miền thời gian đã được phân tách thành

hai tín hiệu có tân sô khác nhau ở miên tân sô.

20

Trang 31

Đặc trưng giọng nói biểu diễn trong miền tần số

Hình 2.12: Đặc trưng một nguyên âm trong miễn tần số [9]

Mỗi nguyên âm sau khi chuyển qua miễn tần số thì ta có thé thấy chúng phânthành ba vùng tần số khác nhau, chúng được gọi là Fl, F2, F3, mang đặc trưng của

nguyên âm đó Sỡ dĩ có các vùng tần số trong cùng một nguyên âm là do thanh

quản của người hoạt động như một bộ lọc hoặc khuếch đại tần số Giống như việc ta

thôi hơi vào một cái chai, tùy vào hình dáng của thân chai và cấu tạo bên trong mà

âm thanh phát ra có sự khác nhau Tan số gốc đi từ dây thanh đới sau khi ra khỏi

thanh quản bi thay đổi di [9]

21

Trang 32

Hình 2.13: Phân tích Fl, F2, F3 của một nguyên âm trong miền tan số [9]

Hình trên cho ta thấy sự biến đổi từ tần số gốc qua thanh quản Đồ thì output có

ba đỉnh tần số tương ứng với Fl, F2, F3 Ngoài ra còn có tan số FO, đây là tan sốgốc và không mang giá trị về đặc trưng âm thanh [9]

22

Ngày đăng: 02/10/2024, 04:10

TRÍCH ĐOẠN

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

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN