CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự do – Hạnh phúc BẢN XÁC NHẬN CHỈNH SỬA LUẬN VĂN THẠC SĨ Họ và tên tác giả luận văn : Mai Văn Tuấn Đề tài luận văn: Nghiên cứu xây dựng h
Trang 1TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
Ngành Kỹ thuật Điều khiển và Tự động hóa
HÀ NỘI, 10/2020
Chữ ký của GVHD
Trang 2CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập – Tự do – Hạnh phúc
BẢN XÁC NHẬN CHỈNH SỬA LUẬN VĂN THẠC SĨ
Họ và tên tác giả luận văn : Mai Văn Tuấn
Đề tài luận văn: 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
Chuyên ngành: Kỹ thuật Điều khiển và Tự động hóa
Mã số SV: CAC19008
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ữ tiếng anh
- 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
CHỦ TỊCH HỘI ĐỒNG
Trang 3Kính gửi : Viện Điện
PHIẾU ĐĂNG KÝ HƯỚNG DẪN ĐỀ TÀI(*)
sĩ Học hàm: PGS
2 Cơ quan: Bộ môn Kỹ thuật đo và Tin học Công nghiệp - Viện Điện - Trường
Đại học Bách khoa Hà Nội
38696233 NR :
4 Nội dung:
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
b Mục tiêu chính của đề tài:
Xây dựng mô hình nhận dạng tiếng nói tiếng Việt ứng dụng được vào sản
phẩm bóc băng cuộc họp
c Nội dung của đề tài, các vấn đề cần được giải quyết:
Xây dựng bộ dữ liệu lớn tiếng nói tiếng Việt
Nghiên cứu các phương pháp nâng cao chất lượng mô hình âm học trong
điều kiện chạy thực tế
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 đỡ, tạo điề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, Noise robustness acoustic model, Coversational Language Model
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ọp, cuộ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ỗ trợ tiếng Anh 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 độ tối ưu của sản phẩm
Trang 6c) Tóm tắt những đóng góp mới của tác giả
- Quy trình thu thập dữ liệu cho hệ thống nhận dạng tiếng nói dữ liệu lớn
- Các phương pháp xây dựng mô hình âm học ổn định với nhiễu thực tế
- Các phương pháp xây dựng mô hình ngôn ngữ hội thoại thích hợp với bài toán ghi âm trong cuộc họp
d) Bố cục của luận văn
Luận văn này bao gồm 4 chương có nội dung như sau
- CHƯƠNG 1: TỔNG QUAN PHẦN MỀM GHI BIÊN BẢN HỌP
VÀ KHẢO SÁT CÁC SẢN PHẨM NHẬN DẠNG TIẾNG NÓI: 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
- CHƯƠNG 2: TỔNG QUAN CÔNG NGHỆ NHẬN DẠNG TIẾNG NÓI: Chương này chủ yếu nói về lý thuyết công nghệ nhận dạngtiếng nói
- CHƯƠNG 3: XÂY DỰNG VÀ CẢI THIỆN HỆ THỐNG NHẬN 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
- CHƯƠNG 4: KẾT QUẢ TÍCH HỢP VÀO SẢN PHẨM:Chươ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
CHƯƠNG 1: TỔNG QUAN PHẦN MỀM GHI BIÊN BẢN HỌP VÀ KHẢO
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
CHƯƠNG 2: TỔNG QUAN CÔNG NGHỆ NHẬN DẠNG TIẾNG NÓI 6
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ất đặc trưng 8
2.2.1 Đặc trưng MFCC 9
2.2.2 Đặc trưng Pitch 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
CHƯƠNG 3: XÂY DỰNG VÀ CẢI THIỆN HỆ THỐNG NHẬN DẠNG TIẾNG NÓI 26
3.1 Lựa chọn công cụ 27
3.2 Chuẩn bị cơ sở dữ liệu 29
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 Đặt vấn đề 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 Đặt vấn đề 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ất đặc trưng MFCC 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 LSTM [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ữ liệu 32
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ữ liệu 36
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-2 Giao diệ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ất đặc trưng 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Ữ
VAD Voice Activity Detection Phát hiện tiếng nói
ASR Automatic Speech Recognition Nhận dạng tiếng nói tự động
DFT Discrete Fourier Transform Biến đổi Fourier rời rạc IDFT Inverse Discrete Fourier Trans-
MFCC Mel-Frequency Cepstral
Coefficients
Kỹ thuật trích trọn đặc trưng dùng
bộ lọc Mel
GHMM Gaussian Hidden Markov Model
RNN Reccurrent Neural Network Mạng nơ ron truy hồi
fMLLR Feature space Maximum
Likeli-hood Regression Phương pháp biến đổi đặc trưng
VTLN Vocal Track Length Normalisation Phép chuẩn hóa độ dài của bộ máy
phát âm PLP Perceptual Linear Prediction Mã nhận thức tuyến tính
mạng nơ ron SGD Stochastic Gradient Descent Thuật toán tối ưu hóa giảm dần
gradient RIR Room Impulse Response Đáp ứng xung trong phòng
Trang 12CHƯƠNG 1: TỔNG QUAN PHẦN MỀM GHI BIÊN BẢN HỌP VÀ KHẢO
SÁT CÁC SẢN PHẨM NHẬN DẠNG TIẾNG NÓI 1.1 Tổng quan phần mềm
1.1.1 Tính năng của phần mềm
Phần mềm ghi biên bản họp đúng như tên gọi là phần mềm hỗ trợ ghi âm cuộc họp, cuộc nói chuyện và tự động chuyển các cuộc họp đó thành văn bản Một
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
Phần mề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ác khoảng lặng cá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ác, mô hình nhận dạ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ển các sản phẩm nhậ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
● Không hỗ trợ chức năng ghi và sửa biên bản cuộc họp
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 học sâ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ê
2.1 Giới thiệu công nghệ nhận dạng
2.1.1 Lý thuyết
Nhận dạng tiếng nói bắt đầu xuất hiện từ năm 1960 và đến nay đã đạt được rất nhiều thành tựu Chính sự thành công này đã dẫn đến sự ra đời của hàng loạt ứng dụng thực tế như giao tiếp người-máy qua lời nói, tự động ghi chép lời nói, hệ thống học ngôn ngữ
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ể có W, lấy P(X|W) từ mô hình âm 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-2, mỗi một từ Wn được đại diện cho một chuỗi các đơn
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, P(O|W) có thể được tính theo công thứ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 cách phát âm của một từ là một chuỗi các phone ( ) ( )
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 thanh4b) 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:
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 24double 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ử dụng đặc trưng pitch song song vớ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
sử dụng trong phương pháp thống kê là mô hình HMM-GMM, HMM-DNN
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ố
cơ bản của mô hình HMM là A B , , trong đó:
Trang 2514
Xác suất chuyển giữa các trạng thái A aij trong đó :
aij p q t1 Sj | qt 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
Trong đó , là giá trị trung bình, là độ lệch chuẩn Trong trường hợp x là
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 :
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
(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ời rạc, mô hình MGHMM cũng có bộ tham số chính
, trong đó :
A{ }a ij , a ij là xác suất chuyển từ trạng thái 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
(2.13) và (2.15), điểm khác biệt là bj Từ biểu thức (2.18)
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:
( , ) ( , )
T t t
t
j k c
Trang 2716
' 1
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 suất quan sát trên HMM Trong mô hình DNN-HMM mô hình xác suất của cá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:
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-10 mô tả hệ một thống ASR HMM-DNN điển hình
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
Mạng TDNN
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ều bà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
Trang 3120
Mạng RNN
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
Trang 32g : hàm kích hoạt cho đầu ra
Huấn luyện mạng RNN: thực hiện thuật toán lan truyền ngược theo thời gian (Backprogation through time) để huấn luyện các tham số của mạng RNN
Mạng LSTM
Mạng LSTM là một loại đặc biệt của RNN, có khả năng học được các phụ thuộc xa (longterm dependency) LSTM được giới thiệu bởi Hochreiter & Schmidhuber [22] và sau đó đã được cải tiến và phổ biến bởi rất nhiều người trong ngành Chúng hoạt động cực kỳ hiệu quả trên nhiều bài toán phổ biến hiện nay