TRƯỜ Ạ Ọ ỘNG Đ I H C BÁCH KHOA HÀ N I LUẬN VĂN THẠC SĨ Nghiên c u xây d ng h ng nh n d ng ứ ự ệ thố ậ ạ ti t ế ế ệng nói ti ng Vi ứng d ng cho phụ ần m m ghi biên b n h p ề ả ọ MAI VĂN TUẤN TuanMV CAC[.]
Trang 1Giảng viên hướng d n: PGS TS Nguy n Quẫ ễ ốc Cường
HÀ N I, 10/2020 Ộ
Chữ ký c a GVHD ủ
Trang 2C NG HÒA XÃ H I CH Ộ Ộ Ủ NGHĨA VIỆT NAM
Tác giả, Người hướng d n khoa h c và Hẫ ọ ội đồng ch m luấ ận văn xác
nh n tác gi ậ ả đã sửa ch a, b sung luữ ổ ận văn theo biên bản h p Họ ội đồng ngày 31/10/2020 v i các n i dung sau: ớ ộ
- Sửa các lỗi chính t trong luả ận văn
- Thêm các trích d n ngu n t các hình v ẫ ồ ừ ẽ
- Việt hóa các thuật ng ng anh ữtiế
- Chuẩn hóa l i các công thạ ức và các tham chiếu đến công thức
- Cân đối lạ ội đ dài của các chương
Hà Nội Ngày , tháng năm 2020
Giáo viên hướng d n ẫ Tác gi luả ận văn
CHỦ ỊCH HỘ T I Đ ỒNG
Trang 3Kính gửi : Viện Điện
1 H ọ và tên người hướ ng dẫn chính: Nguy n Quễ ốc Cường H c v : Tiọ ị ến
Chuyên ngành: Đo ờlư ng và các h thệ ống điều khi n ể
a Tên đề tài: Nghiên c u xây d ng h ứ ự ệ thố ng nh n d ng ti ng nói ti ng Viậ ạ ế ế ệt ứ ng
d ng cho ph n m m ghi biên b n h p ụ ầ ề ả ọ
Tên tiếng Anh : Automatic speech recognition for meeting note software
Nghiên cứu các phương pháp xây dựng mô hình ngôn ng phù h p trong ữ ợ
bài toán nh n d ng gi ng hậ ạ ọ ội thoại tự nhiên
Viế t bài báo khoa h cọ
Hà Nội, Ngày tháng năm 2020 Ngườ i hư ớ ng dẫ n
Trang 4Lờ i cảm ơn
Lời đầu tiên tôi xin cảm ơn PGS.TS Nguyễn Quốc Cường, người thầy đã
tận tình hướng d n tôi ngay t nhẫ ừ ững ngày đầu chọn đề tài và th c hi n luự ệ ận văn này
Tôi xin chân thành cảm ơn anh Đỗ Văn Hải, anh Lê Nh t Minh cùng nh ng ậ ữngười đồng nghi p t i nhóm nghiên c u x lý ti ng nói - Trung tâm Không Gian ệ ạ ứ ử ế
Mạng Viettel đã giúp đỡ ạo điề, t u ki n cho tôi r t nhi u trong quá trình th c hi n ệ ấ ề ự ệluận văn
Cuối cùng, tôi mu n g i l i cố ử ờ ảm ơn tới gia đình, bạn bè những người luôn
ở bên và ng h ủ ộ tôi để tôi có th hoàn thành ể được luận văn này
Trang 5TÓM TẮ T LUẬN VĂN THẠC SĨ
Đề tài: Nghiên c u xây d ng h th ng nh n d ng ti ng nói ti ng Vi t ng d ng ứ ự ệ ố ậ ạ ế ế ệ ứ ụcho phần m m ghi biên b n h p ề ả ọ
Người hướng d n: PGS.TS Nguy n Quẫ ễ ốc Cường
T khóa (Keyword): Automatic Speech Recognition, №ise robustness acoustic ừmodel, Coversation Language Model al
N i dung tóm t ộ ắt:
a) Lý do chọn đề tài
Vấn đềthực tế: ệvi c ghi chép, tóm tắt lại văn bản sau mỗi cuộc họ , pcuộc ph ng v n rỏ ấ ất mất th i gian và công s c Trong b i c nh hi n nay, ờ ứ ố ả ệcùng v i s ph ớ ự ổ biến c a trí tu nhân t o, công ngh nh n d ng ti ng ủ ệ ạ ệ ậ ạ ếnói - chuy n t ể ừtiếng nói sang văn bản đã ghi nhận những bước tiến vượt
bậc và đã đạt đến độ chín để có th tích h p vào các s n ph m tr giúp ể ợ ả ẩ ợ
ph n ghi chép cầ ủa con người Trên th giế ới, đã có nhiều doanh nghi p ệcông ngh lệ ớn, đưa công nghệ nhận d ng ti ng nói vào trong các s n ạ ế ả
ph m ghi chép, ghi chú giẩ ọng nói nhưng phầ ớn l n ch h ng Anh ỉ ỗtrợ tiế
Tại Việt Nam, t ừ năm 2018 cũng đã có những s n ph m bóc ả ẩ băng tiếng Việt được đưa ra thị trường và được tri n khai các b ban ngành, các ể ở ộdoanh nghiệp đem lại nh ng ph n h i r t tích cữ ả ồ ấ ực từ phía người dùng
Vì vậy tôi đã lựa chọn đề tài “Nghiên cứu xây d ng h ự ệ thống nhận
d ng ti ng nói ti ng Viạ ế ế ệt ứng d ng cho ph n m m ghi biên b n hụ ầ ề ả ọp” để nghiên c u, xu t các gi i pháp nâng cao chứ đề ấ ả ất lượng c a công ngh ủ ệchuyển đổi t gi ng nói sang ch vi t trong ph n m m ghi biên b n h p ừ ọ ữ ế ầ ề ả ọb) M ục đích nghiên cứu của luận văn, đối tượng và ph m vi nghiên c u ạ ứ
Mô hình nh n d ng tiậ ạ ếng nói được xây d ng trong luự ận văn cần ph i ả
đảm b o v chả ề ất lượng, hoạt động ổn định trong các điều ki n th c t ệ ự ế
Đồng thời mô hình cũng cần phải đáp ứng được các yêu c u v hi u ầ ề ệnăng, tốc độ ối ưu củ ả t a s n ph m ẩ
Trang 6Luận văn này bao gồm 4 chương có nội dung như sau
Chương này mô tả kiến trúc hệ thống của một phần mềm bóc băng
cơ bản, và nhũng khảo sát về việc ứng dụng công nghệ nhận dạng hiện nay
NÓI: Chương này chủ yếu nói về lý thuyết công nghệ nhận dạ tiếng ngnói
DẠNG TIÊNG NÓI: Chương này mô tả các phương pháp đề xuất, thí nghiệm của tác giả trong huấn luyện mô hình nhận dạng
này đề cập đến sự tích hợp của mô hình nhận dạng tiếng nói đã xây dựng ở chương trước vào trong sản phẩm thực tế
H c viên th c hi n ọ ự ệ
Trang 7MỤ C ỤL C
SÁT CÁC S N PHẢ ẨM NHẬN D NG TIẠ ẾNG NÓI 1 1.1 T ng quan ph n m m 1 ổ ầ ề1.1.1 Tính năng của ph n m m 1 ầ ề1.2.2 Ki n trúc c a ph n m m 1 ế ủ ầ ề1.2 Tình hình nghiên c u phát tri n các s n ph m nh n d ng ti ng nói 3 ứ ể ả ẩ ậ ạ ế1.2.1 Các s n ph m trên th gi i 3 ả ẩ ế ớ1.1.2 Tình hình các s n ph m nh n d ng tiả ẩ ậ ạ ếng nói trong nước 5 1.3 T ng k t 5 ổ ế
2.1 Gi i thi u công ngh nh n d ng 6 ớ ệ ệ ậ ạ2.1.1 Lý thuy t 6 ế2.1.2 Phương diện toán h c 7 ọ2.2 Trích xuấ ặc trưngt đ 8 2.2.1 Đặc trưng MFCC 9 2.2.2 Đặ trưng Pitchc 13 2.3 Mô hình âm h c 13 ọ2.3.1 Mô hình HMM-GMM 13 2.3.2 Mô hình lai ghép HMM-DNN 16
2 4 Mô hình ngôn ng 23 ữ2.5 T ng k t 25 ổ ế
TIẾNG NÓI 26 3.1 Lựa chọn công c 27 ụ3.2 Chu n b ẩ ị cơ sở ữ d u 29 liệ3.2.1 t vĐặ ấn đề 29 3.2.2 Phương pháp đề xu t 29 ấ3.3.3 Thực hiện 31 3.3 Hu n luy n mô hình âm h c 32 ấ ệ ọ3.3.1 Đặ ấn đềt v 32 3.3.2 Phương pháp đề xu t 33 ấ3.3.3 Th c nghi m 35 ự ệ
Trang 83.4 Hu n luy n mô hình ngôn ng 41 ấ ệ ữ 3.4.1 Đặ ấn đềt v 41 3.4.2 Phương pháp đề xu t 41 ấ 3.4.3 Thực nghi m 42 ệ 3.5 T ng k t 44 ổ ế CHƯƠNG 4: KẾT QU TÍCH H P VÀO S N PH M 45 Ả Ợ Ả Ẩ 4.1 Giao di n s n ph m 45 ệ ả ẩ 4.2 Đánh giá chất lượng 46 4.3 Đánh giá hiệu năng 46
KẾT LUẬN VÀ HƯỚNG PHÁT TRI N 49 Ể TÀI LIỆU THAM KH O 50 Ả
Trang 9DANH MỤC HÌNH ẢNH
Hình 1-1 Kiến trúc cơ bản của phần mềm bóc băng 2
Hình 2-1 Kiến trúc cơ bản của hệ thống nh n d ng ti ng nói 6 ậ ạ ế Hình 2-2 Kiến trúc ASR trên phương diện toán h c [4] 7 ọ Hình 2-3 Các bước trích xuấ ặc trưng MFCCt đ 9
Hình 2-4 Ảnh hưởng của tiền x ử lý đến tín hi u âm thanh 10 ệ Hình 2-10 Sơ đồ ế ki n trúc HMM-DNN[4] 17
Hình 2-11 Ki n trúc m ng TDNN [4] 19 ế ạ Hình 2-12 Mạng RNN điển hình 20
Hình 2-13 M ng RNN rút g n 21 ạ ọ Hình 2-14 Một đơn vị nh c a m ng LS™ [4] 22 ớ ủ ạ Hình3-1 Quy trình hu n luyấ ện đềxuất 27
Hình 3- 2 Pipline cơ bản trong Kaldi 28
Hình 3-3 Các tầng thư viện trong kaldi 28
Hình 3-4 Quy trình chu n b ẩ ị cơ sở ữ d liệu đề xuất 30
Hình 3-5 Phân b ố theo độ dài trong t p d u 32 ậ ữliệ Hình 3-6 Ph c a tín hi u nhi u 34 ổ ủ ệ ễ Hình 3-7 Ph c a tín hi u có ti ng nói và nhi u 34 ổ ủ ệ ế ễ Hình 3-8 Phân b theo s ố ố lượng c a các lo i noise trong t p d u 36 ủ ạ ậ ữliệ Hình 3-9 Phân b ố SNR thu được 39
Hình 3-10 Phương pháp xây dựng mô hình ngôn ng xu t 41 ữ đề ấ Hình 3-11 PPL c a các mô hình ngôn ng trên t p dev 43 ủ ữ ậ Hình 4-1 Giao di n ghi âm ệ trực tiếp 45
Hình 4 Giao di-2 ện gi i mã file offline 45 ả Hình 4-3 Thời gian đáp ứng streaming theo độ dài audio 47
Hình 4-4 Dung lượng Ram dùng theo worker 47
Hình 4-5 Th i gian tr v ờ ả ềtheo số lượng thread 48
Trang 10DANH M C B NGỤ Ả
B ng 3-1 ả Ví dụ cách thay đổi nhãn 35
B ng 3-2 Thông s trích xuả ố ấ ặc trưngt đ 37
B ng 3-3 Thông tin các t p test 37ả ậ
B ng 3-4 Kả ết quả đo SNR tại các phòng h p khác nhau 38ọ
B ng 3-5 T l l i WER (%) trên các t p test 40ả ỷ ệ ỗ ậ
B ng 3- ả 6 Kích thước của các tập d ữliệu và PPL tương ứng 42
B ng 3-7 T l lả ỷ ệ ỗi WER (%) theo các phương pháp thử nghi m 43ệ
Trang 11DANH MỤ C CÁC T VIÊT T T VÀ THU T NGỮ Ừ Ắ Ậ
Coefficients
K ỹthuật trích trọn đặc trưng dùng
b lộ ọc Mel
Mô hình HMM trong đó hàm mật
độ trong m i tr ng thái là m t hàm ỗ ạ ộ
Gauss MGHMM Mixture Gaussian Hidden Markov Model
Mô hình HMM trong đó hàm mật
độ trong m i tr ng thái là t h p ỗ ạ ổ ợ
các hàm Gauss
VTLN Vocal Track Length Normalisation Phép chuẩn hóa độ dài của bộ máy
phát âm
Trang 12CHƯƠNG 1: TỔNG QUAN PH N M M GHI BIÊN B N H P VÀ KH O Ầ Ề Ả Ọ Ả
số tính năng chính của phần mềm như sau:
● Hỗ trợ chuyển tiếng nói thành văn bản trực tuyến giảm thiểu thời gian ghi chép và đánh máy
● Hỗ trợ chuyển tiếng nói thành văn bản từ các dữ liệu audio và video sẵn có
● Có khả năng chỉnh sửa nội dung một cách nhanh chóng và trích xuất thông tin chính xác phục vụ xuất biên bản họp hoặc tra cứu tức thì
● Tự động chuẩn hóa văn bản trước khi xuất biên bản
● Lưu trữ và đối sánh toàn bộ nội dung họp (audio và biên bản tương ứng) một cách nhanh chóng và an toàn
● Hỗ trợ tìm kiếm nội dung nhanh chóng (nhất là các cuộc họp đã diễn ra nhiều năm trước)
● Có khả năng tạo môi trường làm việc nhóm, hỗ trợ nhiều người cùng tác nghiệp cùng một lúc
● Phát luồng stream cuộc họp trực tuyến tới những máy có cài phần mềm
1.2.2 Kiến trúc của phần mềm
n m
Phầ ềm bóc băng gồm có 2 phần chính đó là phần backend ph n lõi x – ầ ử
lý phía bên trong, ph n giao diầ ện – phần dùng để tương tác với người dùng Cấu
t o cạ ủa phần mềm được mô tả ở b i hình dưới đây
Trang 132
Hình 1-1 Kiến trúc cơ bả ủ n c a ph n m ầ ềm bóc băng
Giải thích các khối trong phần mềm ghi âm cuộc họp
a) Khối điều khiển
- Là phần giao diện tương tác với người dùng Trên giao diện sẽ có một số chức năng chính như sau:
● Đăng nhập, cấu hình tài khoản và phân quyền
● Nghe hoặc xem lại các cuộc họp cùng với văn bản đã được giải mã
● Chỉnh sửa các bản ghi và xuất báo cáo
● Tạo cuộc họp mới và up các audio và video tương ứng
● Tạo luồng stream giải mã các cuộc họp trực tuyến
b Khối nhân xử lý
Module cắt câu VAD
Là module cắt audio thành các đoạn tín hiệu nhỏ hơn dựa vào ác khoảng lặng ccác khoảng ngắt nghỉ của người nói Đây là khâu rất quan trọng, có nhiều lý do để phải cắt nhỏ file âm thanh đầu vào ra có thể kể đến là:
Các file của cuộc họp thường rất dài cỡ 2 3 tiếng Nếu để cả file để giải
-mã thì có thể sẽ gây ra hiện tượng tràn bộ nhớ, hoặc hiệu năng bị giảm đáng kể do không thực hiện song song được Mặt khá , mô hình nhận cdạng tiếng nói dưới huấn luyện dựa trên câu ngắn nên sẽ không thích hợp nếu để giải mã một file âm thanh dài
Hệ thống phân tách người nói yêu cầu đầu vào là các câu đã được cắt nhỏ, để tính toán chính xác vector đặc trưng của từng người nói
Phân tách người nói
Nhận đầu vào là đầu ra của module VAD Module này sẽ tính toán trên các đoạn tiếng nói được phát hiện xem là từng người nói ở những thời điểm nào
Trang 14Phương pháp chính sử dụng trong này là phương pháp trích xuất vector đặc tính người nói trên từng segment và thực hiện phân cụm để xác phân tách
Nhận dạng tiếng nói
Đây có thể coi là phần lõi chính công nghệ của phần mềm Module này nhận đầu vào là các đoạn segment đã được phân người nói ở bước trước và giải mã sang văn bản tương ứng với từng câu
Chuẩn hóa văn bản
Văn bản đầu ra của hệ thống nhận dạng là văn bản không có dấu câu chỉ bao gồm các từ viết liền nhau Vì vậy cần phải có một bộ chuẩn hóa, để thêm dấu câu, ngắt nghỉ và xuống dòng để người dùng có thể theo dõi được Module này sử dụng các kỹ thuật trong xử lý ngôn ngữ tự nhiên tiếng Việt với một số tính năng chính như sau:
Tự động thêm các dấu câu
Viết hoa các danh từ riêng, tên người, tên địa điểm
Chuyển về các định dạng số tương ứng như địa chỉ, ngày tháng, số tiền
Ngắt giữa các câu, các đoạn với nhau theo ngữ nghĩa
Như chúng ta có thể thấy, để tạo thành một sản phẩm phần mềm bóc băng hoàn chỉnh cần phải có sự kết hợp của nhiều công nghệ khác nhau: xây dựng web, nhận dạng tiếng nói, phân tách người nói, chuẩn hóa văn bản Trong khuôn khổ luận văn này, tác giả tập trung vào xây dựng, cải tiến 1 module chính, quan trọng nhất trong phần mềm là module nhận dạng tiếng nói Phần 1.2, tiếp theo sẽ trình bày một số khảo sát về các nghiên cứu và sản phẩm trong lĩnh vực nhận dạng tiếng nói trong nước và ngoài nước
1.2 Tình hình nghiên cứu phát tri các s n ph m nhển ả ẩ ậ n dạng ti ng nói ế
1.2.1 Các sản phẩm trên thế giới
Công nghệ truyền thông đang thúc đẩy các nghiên cứu chuyển tiếng nói thành văn bản (nhận dạng tiếng) hay văn bản thành tiếng nói (tổng hợp tiếng) vào các sản phẩm truyền thông Các hệ thống dịch tiếng nói đa ngôn ngữ ngày được phát triển và đưa vào ứng dụng, cài đặt trên các hệ thống smartphones Các hãng công nghệ lớn như Goggle, Microsoft đều ra các sản phẩm hỗ trợ nhận dạng và dịch tiếng nói, và điều này đã trở thành khá phổ biến cho công chúng
Một số thông tin cụ thể:
a Speech- -to text của Google1
Các đặc trưng của sản phẩm
● Nhận dạng giọng nói tiếng Việt với độ chính xác 80 - 90%
● Nhận dạng giọng nói tiếng Anh với độ chính xác 90 - 95%
Trang 15
4
● Bền vững với nhiễu và tiếng vọng
● Nhận dạng đa người nói, nhận dạng đa kênh
Một số hạn chế của sản phẩm
● Độ chính xác nhận dạng thấp với một số phương ngữ
● Không có tính bảo mật do sử dụng máy chủ đặt tại nước ngoài
b Amazon transcribe2
Các đặc trưng của sản phẩm
● Nhận dạng giọng nói tiếng Anh với độ chính xác 90 - 95%
● Nhận dạng đa người nói
● Bền vững với nhiễu và tiếng vọng
● Nhận dạng đa người nói, nhận dạng đa kênh
Một số hạn chế của sản phẩm
● Không có tính bảo mật do sử dụng máy chủ đặt tại nước ngoài
● Không hỗ trợ tiếng Việt
● Không hỗ trợ chức năng ghi và sửa biên bản cuộc họp
● Không có tính bảo mật do sử dụng máy chủ đặt tại nước ngoài
● Không hỗ trợ tiếng Việt
● Không hỗ trợ nhận dạng được các file audio/video
● Không hỗ trợ chức năng ghi và sửa biên bản cuộc họp
Đối với các ứng dụng đặc thù liên quan đến phần mềm chép biên bản họp, nhu cầu nhận dạng tiếng nói để hỗ trợ biên bản cuộc họp là rất lớn và nhận diện tiếng nói là một phần quan trọng trong hệ thống nhận diện tiếng nói trong cuộc họp Với sự phát triển vượt bậc của công nghệ học sâu, chất lượng của hệ thống nhận dạng tiếng nói gần tiệm cận với khả năng nghe của con người Mặc dù mô hình end- -to end được đề xuất và đạt được những thành tựu nhất định, mô hình lai giữa học sâu và mô hình Markov ẩn hiện tại cho kết quả tốt nhất trong các nghiên cứu gần đây [1] Để biết được các thông tin như ai nói gì vào lúc nào trong một cuộc họp, một số hãng công nghệ lớn như NTT Nhật bản, Tencent Trung Quốc đã
và đang đi đầu trong phát triển công nghệ đặc biệt tiên tiến phục vụ cho việc ghi
và gán nhãn cuộc họp Một số công trình nghiên cứu đã được công bố gần đây [2], [3]
2 https://aws.amazon.com/vi/transcribe/
3 https://speechnotes.co/
Trang 161.1.2 Tình hình các sản phẩm nhận dạng tiếng nói trong nước
Trong vòng 2-3 năm trở lại đây, những công ty công nghệ lớn cũng đã tích cực đầu tư vào nghiên cứu và phát triển sản phẩm trong lĩnh vực ếti ng nói này như: Công ty phần mềm FSoft, Viện nghiên cứu công nghệ thuộc tập đoàn FPT, tập đoàn Viettel với các nghiên cứu và ứng dụng về nhận dạng, tổng hợp tiếng Việt cho tương tác thông minh, phục vụ cho các ứng dụng của tập đoàn Đặc biệt
từ giữa năm 2018, với sự hình thành của Viện AI Research và Viện BigData đã thu hút nhiều nhân lực trong lĩnh vực khoa học máy tính, trí tuệ nhân tạo và học máy, trong đó có những mảng nghiên cứu và ứng dụng về nhận dạng và tổng hợp tiếng Việt, thúc đẩy các nghiên cứu trong lĩnh vực này và cho các phát triển ứng dụng của tập đoàn như VinFAST và VinSMART Các doanh nghiệp khởi nghiệp như VAIS, VBEE, InfoRe cũng tham gia tích cực vào thị trường khi cung cấp các sản phẩm nhận dạng tiếng nói và tổng hợp tiếng nói cho rất nhiều cơ quan từ Trung ương đến địa phương, từ các tập đoàn đến các tổ chức cá nhân sử dụng
Các sản phẩm về nhận dạng tiếng nói tiếng Việt mới trong giai đoạn hình thành Vì vậy vẫn còn nhiều vấn đề về chất lượng cần được giải quyết như:
Khả năng xử lý nhiễu, thích nghi với các môi trường thực tế còn kém Điều này dẫn đến chất lượng của hệ thống nhận dạng giảm đáng kể khi gặp trường hợp thực tế có môi trường nhiều nhiễu, ồn
Chất lượng nhận dạng của mô hình không ổn định đối với các phương ngữ khác nhau, có thể đa phần hệ thống sẽ nhận dạng tiếng miền Trung kém hơn so với giọng 2 miền còn lại
1.3 T ng k t ổ ế
Tổng kết chương 1, chúng ta đã biết được về chức năng, kiến trúc và công nghệ sử dụng bên trong phần mềm bóc băng biên bản họp và tình hình nghiên cứu, ứng dụng các sản phẩm nhận dạng tiếng nói trong nước và trên thế giới Những chương tiếp theo sẽ tập trung vào làm rõ công nghệ nhận dạng tiếng nói và cách
để xây dựng một hệ thống nhận dạng tiếng nói tiếng Việt tích hợp trong phần mềm ghi biên bản họp
Trang 176
CHƯƠNG 2: TỔNG QUAN CÔNG NGH NH N D NG TI NG NÓI Ệ Ậ Ạ Ế
Có rất nhi u cách ti p cề ế ận để giải quy t bài toán nh n d ng tiế ậ ạ ếng nói như là
so sánh m u, xây d ng mô hình h c th ng kê, s d ng mô hình mẫ ự ọ ố ử ụ ạng nơ ron ọc hsâu end to end Ở chương - - 2 này, tác gi tả ập trung trình bày phương pháp nhận xây
d ng mô hình nh n d ng ti ng nói b ng cách xây d ng mô hình th ng kê ự ậ ạ ế ằ ự ố
M c tiêu c a h ụ ủ ệ thống ASR là tìm ra chuỗi văn bản đại di n cho m t chu i âm ệ ộ ỗthanh đầu vào Sơ đồ ệ ố h th ng nh n d ng tiậ ạ ếng nói điển hình được bi u di n b ng ể ễ ằhình 2-1
Hình 2-1 Kiế n trúc cơ bả n c a h ủ ệ thố ng nh n d ng ti ng nói ậ ạ ế
Như hình 2-1, m t h ộ ệ thống nh n d ng ti ng nói g m 5 ph n chính Chúng ta s ậ ạ ế ồ ầ ẽtìm hiểu chức năng và ý nghĩa củ ừa t ng thành phần ngay sau đây:
Trích chọn đặc trưng (Feature Extraction): trích xu t ra nh ng thông tin có ấ ữích và lo i b nhạ ỏ ững thông tin dư thừa Do tín hi u ti ng nói liên t c các ệ ế ụđặc trưng thường được trích xuất dưới d ng các frame V i m i m t frame, ạ ớ ỗ ộ
ta sẽ ọ ch n ra một vector đặc trưng
Mô hình âm h c (Acoustic Model): hoọ ạt động như tai người, đầu vào là đặc trưng của tiếng nói X, đầu ra là xác su t ấ có điều ki n c a t hay âm v ệ ủ ử ịP(X|W) Các tham s c a mô hình âm hố ủ ọc được xác định thông qua quá trình huấn luy n trên t p mệ ậ ẫu có trước
Trang 18 Mô hình ngôn ng ữ (Language Model): lưu trữ thông tin, ki n th c v t ng ế ứ ề ừ ữ
ng pháp Nh ng ki n thữ ữ ế ức này thường được thay đổi theo th i gian do vờ ậy
mô hình ngôn ng ữ cũng cần phải cập nhật thường xuyên
T ừ điển phát âm (Lexicon): Mô hình âm học thường dùng để mô hình hóa
nh ng thành ph n nh nh t c a ti ng nói, g i là âm vữ ầ ỏ ấ ủ ế ọ ị Trong khi đó mô hình ngôn ng l i dùng t mô hình hóa Vì vữ ạ ừ để ậy cần có c u n i gi a 2 mô ầ ố ữhình này g i là t ọ ừ điển T ừ điển mô t cách phát âm c a m t t b ng cách ả ủ ộ ừ ằ
bi u di n t ể ễ ừ đó dưới dạng một chuỗi các âm v ị
B gi i mã M i tín hiộ ả : ỗ ệu X đầu vào, mô hình âm h c s ọ ẽ đưa ra xác suất P(X|W) cho m i gi thuy t khác nhau v ỗ ả ế ềchuỗi text có th ể đúng Mô hình ngôn ng ữ cũng đưa ra giả thuy t c a mình cho chu i text W là P(W) B ế ủ ỗ ộ
gi i mã s tìm tả ẽ ất cả các chu i text có th W, l y P(X|W) t mô hình âm ỗ ểcó ấ ừ
h c, P(W) t mô hình ngôn ng ọ ừ ữ để chọn ra chu i W có xác su t P(W|X) l n ỗ ấ ớ
nhấ ểt đ làm kết quả nh n d ng ậ ạ
2.1.2 Phương diện toán học
Dưới phương diện toán học thống kê, ASR tìm ra chuỗi từ W( , , )w1 w n , dự đoán
từ model đã học sẵn với đầu vào là một chuỗi vector quan sát
Các thành phần chính của một hệ thống ASR theo phương pháp thống kê được miêu tả ở hình 2-2
Hình 2-2 Kiến trúc ASR trên phương diệ n toán h c [4] ọ
Đầu tiên một tín hiệu tiếng nói được biến đổi thành một chuỗi các vector có độ dài
cố định gọi là các vector âm học O [ , , ] o o1 2 ot , sau bước trích xuất đặc trưng
Trang 19Như đã thấy trong hình 2 , mỗi một từ Wn được đại diện cho một chuỗi các đơn -2
vị âm học gọi là phoneme Khi tính đến trường hợp một từ có nhiều cách đọc,
Q
P O W P O Q P Q W (2.4) Trong đó Q ( ,Q Q1 2, ,Q n) là chuỗi các các phát âm cho chuỗi từ W, và mỗi một
Trích chọn đặc trưng đối với nhận dạng tiếng nói là việc tham số hóa chuỗi tín hiệu âm thanh dạng sống đầu vào, biến đổi tín hiệu âm thanh thành một chuỗi các vector đặc trưng n chiều, mỗi chiều là một giá trị thực Hiện nay, có rất nhiều phương pháp trích chọn đặc trưng như: LPC (Linear predictive coding – Dự đoán tuyến tính), AMDF (Average magnitude different function – hàm biên độ trung bình), MFCC (Mel-frequency cepstral coefficients)
Trang 202.2.1 Đặc trưng MFCC
Trong nhận dạng tiếng nói, kỹ thuật trích chọn đặc trưng MFCC là phương
pháp phổ biến nhất MFCC là viết tắt của Mel-frequency cepstral coefficients Kỹ
thuật này dựa trên việc thực hiện biến đổi để chuyển dữ liệu âm thanh đầu vào (đã
được biến đổi Fourier cho phổ) về thang đo tần số Mel, một thang đo diễn tả tốt
hơn sự nhạy cảm của tai người đổi với âm thanh Kỹ thuật trích chọn đặc trưng
này gồm các bước biến đổi liên tiếp, trong đó đầu ra của bước biến đổi trước sẽ là
đầu vào của bước biến đổi sau Đầu vào của quá trình đặc trưng này sẽ là một đoạn
tín hiệu tiếng nói Vì tín hiệu âm thanh sau khi được đưa vào máy tính đã được rời
rạc hóa nên đoạn tín hiệu tiếng nói này bao gồm các mẫu liên tiếp nhau, mỗi mẫu
là một giá trị thực, thể hiện giá trị biên độ của âm thanh tại 1 thời điểm Các bước
của quá trình trích xuất đặc trưng MFCC được thể hiện ở hình 2-3
Hình 2-3 Các bướ c trích xu ất đặc trưng MFCC a) Tiề n x lý ử
Tín hiệu âm thanh thường được thu ở môi trường đời thường, tiếng nói bình
thường của một người cũng không được to, trừ khi nói to có chủ định, do đó nhiễu
của môi trường (tần số thấp) nhiều khi có cường độ lớn bằng một phần đáng kể
(nghe có thể dễ dàng nhận ra) của tiếng nói khi thu âm, bước đầu tiên của quá trình
trích chọn đặc trưng MFCC sẽ xử lý vấn đề này, bằng việc thực hiện tăng cường
độ của những tần số cao lên nhằm làm tăng năng lượng ở vùng có tần số cao –
vùng tần số của tiếng nói, một cách dễ hiểu là làm tiếng nói lớn hơn lên để ảnh
hưởng của các âm thanh môi trường và nhiễu trở thành không đáng kể Việc tăng
cường độ của vùng tần số cao lên đồng thời làm cho thông tin rõ ràng hơn đối với
mẫu tiếng nói Hình 2-4 mô tả trước và sau quá trình Pre emphasis của một đoạn
-tín hiệu âm thanh:
Trang 2110
Hình 2-4 Ảnh hưở ng c ủ a tiề n x ử lý đế n tín hi u âm thanh ệ 4b) Cửa sổ hóa
Tín hiệu âm thanh thay đổi rất nhanh, do đó các thuộc tính như biên độ, chu
kỳ sẽ không ổn định Khi tín hiệu âm thanh được cắt ra thành những đoạn nhỏ thì
ở mỗi đoạn, có thể coi tín hiệu đó là ổn định, các đặc trưng của tín hiệu là không đổi theo thời gian
Để thực hiện việc này, chúng ta sử dụng một cửa sổ (window) chạy dọc tín hiện
âm thanh và cắt ra các đoạn tín hiệu nằm trong cửa sổ đó Một cửa sổ được định nghĩa bằng các thông số:
Frame size: độ rộng của cửa sổ, cũng là độ lớn của frame tín hiệu sẽ được cắt ra
Frame shift: bước nhảy của cửa sổ, là độ dài đoạn mà cửa sổ sẽ trượt để cắt
ra frame tiếp theo
Mỗi frame sau đó sẽ được nhân với một hệ số, giá trị của hệ số này tùy thuộc vào từng loại cửa sổ : y n[ ] w n x n[ ] [ ] (2.6)
Trong đó x n[ ] là giá trị của mẫu thứ n, y n[ ] là giá trị của mẫu thứ n sau khi nhân với hệ số, w n[ ] là hệ số cho mẫu thứ n trong frame đó
Loại cửa sổ đơn giản nhất là cửa sổ Rectangular, giá trị của các hệ số w n[ ] được cho bởi công thức sau:
4 https://viblo.asia/p/feature-extraction-mfcc-cho- - xu ly-tieng-noi-4dbZN2xmZYM
Trang 22Nói cách khác, của sổ Rectangular với bước nhảy là frameshift, ta lấy frame size giá trị liên tiếp của tín hiệu làm một frame
Một loại cửa sổ khác thông dụng hơn trong trích chọn đặc trưng MFCC là cửa sổ Hamming Trong loại cửa sổ này, giá trị của tín hiệu sẽ giảm dần về 0 khi tiến dần ra hai biên của frame Nói cách khác, nếu sử dụng cửa sổ Hamming để lấy
ra các frame, năng lượng của mỗi frame sẽ tập trung ở giữa frame, một ưu điểm nữa là các giá trị biên của cửa sổ Hamming tiến dần về 0 sẽ làm bước biến đổi Fourier ngay sau trở nên dễ dàng hơn (với cửa sổ Rectangular các giá trị giữ nguyên so với mẫu tiếng nói, bên ngoài cửa sổ nhận giá trị 0, các giá trị sẽ bị tăng đột ngột ở hai biên) Biểu thức của cửa sốt Hamming là
d) Bộ lọc Mel
Kết quả của quá trình biến đổi Fourier thể hiện năng lượng của tín hiệu ở những dải tần số khác nhau Tuy nhiên, tai của người lại không có sự nhạy cảm như nhau đối với mọi dải tần số Do đó việc mô hình hóa tính chất này của tai người trong quá trình trích chọn đặc trưng làm tăng khả năng nhận dạng của hệ thống Trong mô hình trích chọn đặc trưng MFCC, tần số sẽ được chuyển sang thang đo tần số mel theo công thức:
Trang 2312
Trong đó f là tần số ở thang đo thường, fmel là tần số ở thang đo mel Người
ta sử dụng các băng lọc để tính các hệ số mel Sử dụng bao nhiêu băng lọc thì sẽ cho ra bấy nhiêu hệ số mel, và các hệ số mel này sẽ là đầu vào cho quá trình tiếp theo của trích chọn đặc trưng MFCC
Cuối cùng của giai đoạn này, ta lấy logarit cơ số tự nhiên của phổ tính theo thang đo Mel, thao tác này có 2 nguyên nhân, một là do tai người nhạy cảm với
âm thanh cường độ thấp hơn, hai là làm các giá trị đặc trưng nhỏ đi, tiện cho việc tính toán
e) Biến đổi DFT ngược
Bước tiếp theo của việc trích chọn đặc trưng MFCC là biến đổi fourier ngược với đầu vào là các hệ số phổ mel của bước trước, đầu ra sẽ là các hệ số
Sau khi thực hiện biến đổi Fourier thì dãy tín hiệu theo thời gian đã được chuyển thành phổ tần số, và việc áp dụng các băng lọc tần số mel giúp cô đọng phổ tần số về một số hệ số nhất định (bằng với số băng lọc) Các hệ số này thể hiện các đặc trưng của nguồn âm thanh như tần số cơ bản, xung âm thanh… Tuy nhiên, các đặc trưng này không quan trọng đối với việc phân biệt các âm khác nhau Thay vào đó, các đặc trưng về bộ máy phát âm (khoang miệng, khoang mũi, thanh quản, hầu) rất cần thiết cho việc nhận dạng các âm Việc thực hiện biến đổi fourier ngược
sẽ giúp tách biệt các đặc trưng về nguồn âm và bộ máy phát âm từ các hệ số (các đặc trưng về bộ máy phát âm là các hệ số đầu tiên)
f) Trích xuất đặc tính
Từ các hệ số Mel thu được từ quá trình trước, ta sẽ lấy n hệ số đầu tiên chọn
để làm đặc trưng Như vậy ta có n đặc trưng đầu tiên
Đặc trưng thứ n+1 là năng lượng của âm Năng lượng của mỗi khung tín hiệu được tính ngay từ sau bước cửa sổ hóa
Với n+1 đặc trưng đó, chúng ta thêm vào n+1 đặc trưng delta thể hiện tốc
độ thay đổi của của âm giữa các khung tín hiệu, được tính bằng công thức:
Trang 24-double delta giống với công thức tính các đặc trưng delta, khi coi c(t) là giá trị của các đặc trưng delta
2.2.2 Đặc trưng Pitch
Pitch là một đặc trưng đại di n cho t n s ệ ầ ố dao động c a dây thanh qu n ủ ảtrong quá trình t o ra ti ng nói trong các ngôn ng ạ ế Ở ữ có thanh điệu như tiếng Việt, tiếng Trung Qu c, pitch ố là đặc trưng mang thông tin v ề thanh điệu và cần được mô hình hóa rõ ràng Để phát hiện được thanh điệu, c n ph i bi t s lên, xu ng và ầ ả ế ự ốđường vi n cề ủa pitch Đặc trưng pitch không đủ để dùng phân bi t gi a các âm v ệ ữ ị
với nhau nhưng là đặc trưng tốt nhất để phân biệt 2 thanh điệu khác nhau Trên thực tế, trong các nghiên c u g n ứ ầ đây, việc sử ụng đặc trưng pitch song song vớ d i đặc trưng MFCC mang lạ ếi k t qu r t t t cho bài toán nh n d ng ti ng nói ti ng ả ấ ố ậ ạ ế ếViệt [5], [6]
Có r t nhi u thuấ ề ật toán đã được đề xuất để trích xuất đặc trưng pitch [7], [8] ,[9], [10] Các thuật toán này đều có ba bưóc chính như sau:
Tiền x lý: lo i b thành ph n DC và chia thành các frame ử ạ ỏ ầ
Xuất ra các ng c ứ ử viên, phương pháp chính đểtính pitch
Cuối cùng ch n ra ng c viên t t nh t và tr l i k t qu u ra ọ ứ ử ố ấ ả ạ ế ả đầ
2.3 Mô hình âm h ọc
Phần này sẽ tập trung vào trình bày các kiến trúc mô hình âm học hay được
Kí hiệu N là s lư ng tr ng thái Ta ký hi u các tr ng thái là ố ợ ạ ệ ạ
1, , , ,2 3 N
S S S S S trạng thái đạt đượ ạc t i thời điểm t là qt M là s ố lượng s ự
ki n có th ệ ể quan sát được trong m i tr ng thái Ta ký hi u s ki n quan sát này là ỗ ạ ệ ự ệ
1, , , ,2 3 M
V O O O O và tín hi u quan sát t i thệ ạ ời điểm t là Ot B ba tham s ộ ố
Trang 2514
Xác suất chuy n gi a các tr ng thái ể ữ ạ A aij trong đó :
aij p q t1 S qj | t Si , 1 , i j N Thỏa mãn r ng bu c ằ ộ
1
1
N ij j
1
1
M j k
Về cơ bản, mô hình GMM xấp xỉ một hàm mật độ xác suất bằng hợp các hàm mật
độ Gauss Một cách hình thức, hàm mật độ xác suất của phân phối Gauss
vector g m D thành ph n, hàm mồ ầ ậ ột đ xác suất của phân phối Gauss ( , , )f x N s ẽ
được cho b i công th c sau : ở ứ
1 /2 1/2
Khi hàm mật độ xác su t trong m i tr ng thái là liên t c ta có mô hình HMM ấ ỗ ạ ụ
liên tục Thông thường có hai d ng chính c a HMM liên t c ạ ủ ụ
Gaussian Hidden Markov Models (GHMM): Hàm mật độ trong m i tr ng ỗ ạ
thái là một hàm Gauss
Mixture of Gaussian Hidden Markov Models (MGHMM): Hàm mật độ
trong m i tr ng thái là t p h p cỗ ạ ậ ợ ủa nhiều hàm Gauss
Phần này trình bày v ề MGHMM, đây là một d ng HMM liên tạ ục, trong đó hàm
mật độ xác suất của vector quan sát O được cho b i mô hình GMM ở
b O p O
(2.18)Trong đó p GMMj chính là xác suất đầu ra c a mô hình GMM trong tr ng thái ủ ạ S j
Như vậy kh ả năng quan sát các vector sẽ được chi ph i b i hàm GMM c a tr ng ố ở ủ ạ
thái đó Hình 2.17 minh họa mô hình MGHMM có 3 tr ng thái ạ
(2.14)
(2.15)
(2.16)
(2.17) (2.13)
Trang 26Cũng như mô hình HMM rờ ạc, mô hình MGHMM cũng có bội r tham s chính ố
{ , , } A B
A a{ }ij , a ij là xác suất chuy n t ạng tháiể ừtr S i
{ } i , i là xác suất khởi tạo trạng thái đầu của trạng thái S j
B{ }, bb j j là hàm mật độ xác su t quan sát trên tr ng tháiấ ạ S i,S j
A, không có gì thay đổi so với mô hình HMM đã đề ậ ở c p công thức
mật độ Gauss th m trong tr ng thái ứ ạ S j v i vector trung bình ớ và ma tr n hi p ậ ệ
phương sai tương ứng, c jm là tr ng s c a phân ph i Gauss th m, thọ ố ủ ố ứ ỏa mãn điều
b) Huận luy n tham s ệ ốmô hình MGHMM
Giải pháp hu n luy n tham s cho mô hình MGHMM là thu t toán Baum-ấ ệ ố ậ
welch [11] Đố ới v i B{ }, bb j j g m ba tham s con ồ ố { ,c jm jm,U jm} thì phương
pháp ước lượng ph c tứ ạp hơn Trước tiên ta định nghĩa t( , ) j k là xác suất quan sát
được vector Ot b i phân ph i Gauss th k trong tr ng thái ở ố ứ ạ S j t i thạ ời điểm t cho
trước và mô hình :
( ) ( ) ( , )
Trong đó t( ) j vàt( ) j là các bi n forward và backward, ế c jk jk và U jk lần
lượt là trọng s , vector trung bình, và ma tr n hiố ậ ệp phương sai của hàm phân ph i ố
Gauss thứ k trong tr ng thái ạ S j T ừ đại lượng t( , ) j k , các thành ph n ầ b j s ẽ được
tính lại như sau:
1 1
( , ) ( , )
T t t
jk T M
t
t k
j k c
Trang 2716
' 1
j k O O U
Giải thuậ t hu n luy n : ấ ệ
- Đầu vào : chuỗi vector đặc trưng O{O ,O , ,O }1 2 T
Việc sử dụng mạng nơ ron như một phương pháp thay thế cho GMM được
đề xuất bởi Bourlard [12][13] , mạng nơ ron truyền thẳng được dùng để tính xác
-trạng thái được tính toán bởi mạng nơ ron
Trang 28Trong mô hình HMM-DNN, đầu ra của mạng nơ ron là xác suất trạng thái, được dùng để biến đỏi thành log likelihoods theo công thức-
Thông thường, âm vị phụ thuộc ngữ cảnh (triphones) được dùng làm đầu
ra của mạng DNN Nỗ lực đưa CD triphones vào trong hệ thống HMM DNN được giới thiệu bởi Bourlard [14], dựa trên mô hình hóa sự phụ thuộc ngữ cảnh:
-( ,i j| )t ( | ) ( |i t i j t) ( | ) ( |i t i j t)
P s c o P s o P c s o P c o P s c o (2.25) trong đó c j { , , }c1 c J là một lớp được phân cụm, s j là một trạng thái trong CD phone hoặc một CD phone ANNs được dùng để tính các xác suất P s o ( | )i t ( hoặc ( | )i t
P c o ) và P c s o( | , )i j t (hoặc P s c o( | , )i j t ) Mô hình CD DNN-HMM cho ra sự cải tiến rõ rệt về chất lượng so với mô hình GMM-HMM được chỉ ra ở các nghiên cứu [15], [16], [17]
Hình 2-5 Sơ đồ ế ki n trúc HMM- DNN [4]
b) Training
Mạng nơ ron sử dụng dầu vào ngữ cảnh là (2T+1) frames liên tiếp nhau như một vector Theo hình 2-10, vector đầu vào của mạng là vector Ot [ , , ] o1 ot
Trang 2918
Trong hệ thống hybrid HMM-DNN, một mạng DNN dùng để mô hình hóa xác suất quan sát trên tất cả các trạng thái HMM, ngược lại với mô hình HMM-GMM, khi mà mỗi đầu ra của trạng thái HMM được mô hình hóa bởi các GMM riêng biệt
Mạng nơ ron có thể được huấn luyện theo phương pháp SGD (Stochastic Gradient Descent) để cưc đại hóa hàm CE (Cross Entropy) Để lấy được nhãn cho mỗi vector quan sát, tiến hành force alignment dữ liệu huấn luyện thường bằng -cách sử dụng mô hình HMM-GMM
Công thức CE được tính toán ở cấp độ từng frame, do đó có thể cải thiện bằng cách dùng hàm crimintative được tổ chức ở cấp độ câu
Trang 30c) Một số mạng nơ-ron dùng trong ASR Hybrid
Hình 2-6 Kiế n trúc m ng TDNN [4] ạ
Ban đầu TDNN (Time Delay Neural Network) models dùng trong việc nhận dạng phoneme [18] sau đó được dùng trong nhận dạng từ riêng lẻ [19] và nhận dạng chữ viết tay [20] Đặc tính của mạng TDNN cho phép mô hình âm học học được sự linh động tạm thời của tiếng nói bằng cách sử dụng các vector đặc trưng ngắn hạn Gần đây, mô hình âm học sử dụng TDNN cho kết quả rất tốt cho nhiềubài toán nhận dạng tiếng nói [21]
Hình 2-11 miêu tả ví dụ kiến trúc của mạng TDNN Mỗi frame ở các tầng cao hơn tương ứng với một ngữ cảnh rộng hơn so với mỗi frame ở tầng dưới Mỗi tầng khác nhau trong mạng TDNN tương ứng với nhiều cấp độ thông tin khác nhau trích xuất từ tín hiệu tiếng nói đầu vào
Theo hình 2-11, tầng đầu tiên (layer 1) hoạt động trên cửa sổ gồm 5 frame
-bình của cửa sổ ngữ cảnh [-17.12]
Trang 3120
Mạng RNN (Recurrent Neural Network) được dùng để xử lý đầu vào dạng chuỗi như tiếng nói hoặc chữ viết Mạng RNN là mạng mở rộng của mạng DNN khi cho phép kết nối giữa các nơ ron khác nhau không phụ thuộc vào vị trí của chúng Trong mạng RNN, các unit ở tầng sau có thể kết nối với các unit ở tầng trước, hoặc có thể có sự tự kết nối trong một unit
hoặc giá trị ngẫu nhiên
Do chỉ có 1 đầu ra nên sẽ được đặt ở state cuối cùng, khi đó s30 học được
thông tin tất cả từ các đầu vào
Ta thấy là ở mỗi state là các hệ số W,U là giống nhau nên model có thể được viết lại thành