Kỹ thuật nhận dạng tiếng nói thành lệnh ứng dụng trong công nghiệp

pdf 15 trang phuongnguyen 160
Bạn đang xem tài liệu "Kỹ thuật nhận dạng tiếng nói thành lệnh ứng dụng trong công nghiệp", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfky_thuat_nhan_dang_tieng_noi_thanh_lenh_ung_dung_trong_cong.pdf

Nội dung text: Kỹ thuật nhận dạng tiếng nói thành lệnh ứng dụng trong công nghiệp

  1. KỸ THUẬT NHẬN DẠNG TIẾNG NÓI THÀNH LỆNH ỨNG DỤNG TRONG CÔNG NGHIỆP SPEECH RECOGNITION TECHNOLOGY INTO THE COMMAND IS APPLICATED IN INDUSTRY Nguyễn Thành Chung1, Trần Thu Hà2 1Trường Đại Học Sư Phạm Kỹ Thuật Tp Hồ Chí Minh, 2Trường Đại Học Sư Phạm Kỹ Thuật Tp Hồ Chí Minh Tóm tắt: Lĩnh vực nhận dạng tiếng nói đã được nghiên cứu từ lâu để phát triển thành một công cụ hữu ích nhằm phục vụ tốt cho thực tiễn ngày nay. Để xây dựng thành một hệ thống nhận dạng hoàn chỉnh đòi hỏi phải có một quá trình phức tạp bao gồm các vấn đề về trích đặc trưng tiếng nói, sử dụng các đặc trưng này vào mô hình nhận dạng, mô hình nhận dạng rất đa dạng nhưng ở đây sử dụng mô hình Markov ẩn vì nó mô hình hóa tiếng nói rất tốt và cho kết quả nhận dạng khá cao. Trong thực tế, công nghệ nhận dạng tiếng nói có thể được sử dụng trong các hệ thống tổng đài, hoặc các hệ thống công ích phục vụ cho người tàn tật, hoặc các hệ thống bảo mật. Tuy nhiên trong thực tế tồn tại rất nhiều vấn đề về nhiễu loạn mà nó có thể ảnh hưởng rất lớn đến quá trình nhận dạng tiếng nói của hệ thống. Bài báo này chỉ xây dựng hệ thống từ vựng cỡ nhỏ, và được dùng để điều khiển robot nhằm thử nghiệm của hệ thống. Kết quả nhận dạng khoảng hơn 92% trong điều kiện môi trường ít nhiễu và khoảng 90% trong điều kiện môi trường có nhiều nhiễu hơn. Abstract: The purpose with this final master degree project was to develop a speech recognition tool, to make the technology accessible. The development includes an extensive study of Hidden Markov Model, which is currently the state of the art in the field of speech recognition. A speech recognizer is a complex machine developed with the purpose to understand human speech. In real life this speech recognition technology might be used to get a gain in traffic security or facilitate for people with functional disability. The technology can also be applied to many other areas. However in a real environment there exist disturbances that might influence the performance of the speech recognizer. The report includes an performance evaluation in different noise situations, in a robot environment. The result shows that the recognition rate varies from 92%, in a noise free environment, to 90% in a more noisy environment. 1. Giới thiệu hợp xử lý thông tin ở các mức cao và cao nhất là tri thức. Nhận dạng tiếng nói bao gồm cả nhận dạng âm tiết rời rạc, liên tục, nhận dạng người nói, ngôn ngữ Các nghiên cứu về nhận dạng tiếng nói dựa trên nói và cao cấp hơn có thể nhận dạng được trạng thái ba nguyên tắc cơ bản: tâm lý của người nói. Có rất nhiều ứng dụng của Tín hiệu tiếng nói được biểu diễn chính xác nhận dạng tiếng nói trong đời sống xã hội như xác bởi các giá trị phổ trong một khung thời gian nhận thông tin (liên quan đến security), dịch tự ngắn (short-term amplitude spectrum). Nhờ động, các hệ thống phone banking, voice mail, vậy ta có thể trích ra các đặc điểm tiếng nói Tuy nhiên cái mà mọi người cố gắng nghiên cứu là từ những khoảng thời gian ngắn và dùng các làm sao máy tính có thể giao tiếp với con người đặc điểm này làm dữ liệu để nhận dạng tiếng thông qua tiếng nói. Nhận dạng tiếng nói là một nói. lĩnh vực của xử lý ngôn ngữ tự nhiên (Natural Language Processing), tức là về cơ bản nhận dạng Nội dung của tiếng nói được biểu diễn dưới tiếng nói phụ thuộc vào ngôn ngữ nói. Do vậy ngôn dạng chữ viết, là một dãy các ký hiệu ngữ ngữ nhận dạng tiếng Việt rất khác so với tiếng Anh âm. Do đó ý nghĩa của một phát âm được bảo và các thứ tiếng khác. Một ví dụ đơn giản để có thể toàn khi chúng ta phiên âm phát âm thành hình dung, nếu sử dụng các engine nhận dạng tiếng dãy các ký hiệu ngữ âm. Anh có sẵn (bao gồm cả software như speech Nhận dạng tiếng nói là một quá trình nhận engine trong Microsoft Office hay hardware như thức. Thông tin về ngữ nghĩa (semantics) và một số vi mạch xử lý tiếng nói đang bán trên thị suy đoán (pragmatics) có giá trị trong quá trường) thì hiệu quả đối với tiếng Việt là khá thấp. trình nhận dạng tiếng nói, nhất là khi thông Một số không thể phân biệt được như chuẩn, chuẫn, tin về âm học là không rõ ràng. [1] chuân, (vì tiếng Việt có thanh điệu - tonal language, còn tiếng Anh thì không), vì vậy nhận 1.1. Ngoài nước dạng tiếng Việt chỉ có thể do người Việt làm. Nhận Hiện nay, trên thế giới có rất nhiều hệ thống dạng và tổng hợp tiếng nói không thể dựa trên các nhận dạng tiếng nói đã và đang được ứng dụng rất mức xử lý thấp (signal processing) mà còn phải kết hiệu quả như:Via Voice của IBM, Spoken Toolkit
  2. của CSLU (Central of Spoken Laguage Model).Đồng thời, một mô hình điều khiển bằng Understanding) trong tiếng Anh, mô hình Fujisaki tiếng nói – tiếng Việt được xây dựng với bộ từ được trong hệ thống của tiếng Nhật, mô hình MFGI vựng nhỏ, thiết lập hệ thống điều khiển bằng tiếng (Mixdorff – Fujisaki model of German Intonation) nói với một tập lệnh cố định. Tập lệnh này dùng để trong tiếng Đức, điều khiển Robot, và mô hình điều khiển robot mặt người thể hiện bằng tiếng nói hoàn chỉnh là một Theo thống kê và dự báo về thị trường công ứng dụng thực tế mang tính thử nghiệm đề tài. nghệ thông tin và truyển thông năm 2009, chi tiêu cho nghiên cứu, phần cứng, phần mềm liên quan 2. Thiết kế hệ thống nhận dạng tiếng nói đến công nghệ xử lý tiếng nói trong năm 2008 trên trên máy tính bằng phần mềm Matlab toàn thế giới đã vượt con số 5 tỷ đô-la Mỹ. Hệ thống nhận dạng thực hiện tác vụ nhận dạng 1.2. Trong nước các từ đơn. Do đó, giả sử chúng ta có R từ cần được Trong nhiều năm qua, một số các hãng công nhận dạng và mỗi từ đó sẽ được mô hình hóa bằng nghệ lớn trên thế giới đã đầu tư nghiên cứu về lĩnh một mô Hình từ HMM, sau đó qui trình nhận dạng vực này song kết quả thu được còn khá khiêm tốn, sẽ được thực hiện như Hình 1. Vì vậy, chúng ta chỉ có một số ít công ty có chíp nhận dạng tiếng nói phải tiến hành theo các bước sau: tiếng Anh như Công ty Sony, Motorola nhưng vẫn 1. Trích chọn đặc trưng: mỗi một khung phổ tín bị giới hạn về số từ vựng và ứng dụng. Ở Việt Nam, hiệu tiếng nói trong miền thời gian sẽ được vấn đề nghiên cứu thiết kế cấu trúc vi mạch nhận dạng tiếng Việt vẫn còn bỏ ngỏ, mặc dù đây là hai phân tích một vector đặc trưng, nó sẽ được sử hướng công nghệ cao được ưu tiên phát triển, tuy dụng để huấn luyện mô Hình HMM. nhiên cũng đã có một số mô hình nhận dạng tiếng 2. Lượng tử hóa vector: kết quả của việc trích nói đã được xây dựng như: chọn đặc trưng tiếng nói là một dãy các vector đặc trưng của chuỗi các đặc trưng phổ tín hiệu Tổng hợp và nhận dạng tiếng Việt của GS.TSKH Bạch Hưng Khang [9]:Nghiên cứu cơ tiếng nói. Do đó, chúng ta có thể ánh xạ các sở lý thuyết của các hệ thống nhận dạng tiếng vector này thành một tập các vector rời rạc nói và đặc trưng tiếng Việt. nhằm mục đích làm giảm số lượng tính toán Kỹ Thuật nhận dạng tiếng nói và ứng dụng trong cho việc huấn luyện hay nhận dạng trên mô điều khiển của TS. Nguyễn Văn Giáp và KS. hình. Trần Hồng Việt [10]: Đề tài này thử nghiệm hệ 3. Huấn luyện HMM: với mỗi một từ trong bộ từ thống nhận dạng tiếng nói tiếng Việt trên máy vựng chúng ta phải xây dựng một mô Hình tính bằng phương pháp MFCC và nhận dạng bằng mô hình Markov ẩn HMM, ứng dụng trong HMM. Chúng ta phải ước tính được các thông điều khiển khiển xe với bộ từ vựng gồm 4 từ: số của mô Hình để xác lập khả năng lớn nhất “trái, phải, tiến, lùi” với kết quả chính xác đạt của tập vector huấn luyện của mỗi từ. được trên 90%. 4. Nhận dạng: mỗi từ trong bộ từ vựng được nói Nhận dạng tiếng Việt dùng mạng neuron kết hợp sẽ được nhận dạng theo qui trình như trong trích đặc trưng dùng LPC và AMDF của Hình 1, chuỗi quan sát thu được thông qua phân TS.Hoàng Đình Chiến [11]:đề tài xây dựng mô tích đặc trưng và bộ vector đã được lượng tử hình nhận dạng tiếng nói tiếng Việt với bộ từ hóa. Tiếp theo tính toán khả năng cho tất cả các vựng “lên, xuống, trái, phải, tới, lùi, xoay, dừng”, cho kết quả chính xác nhận dạng trung mô hình và sau đó là lượng chọn từ mà nó có bình là 99,4%. khả năng cao nhất. Đề tài “Thiết kế chíp nhận dạng tiếng nói Việt 2.1. Trích đặc trưng Nam trên nền công nghệ FPGA” của nhóm Sơ đồ giải thuật tổng quát phân tích thông tin nghiên cứu trường đại học Bách khoa thành phố tiếng nói theo phương pháp MFCC như Hình 2.Tín Hồ Chí Minh do TS. Hoàng Trang vào năm hiệu tiếng nói x(n) sau khi phân tích thông tin sẽ thu 2012 làm trưởng nhóm đã góp phần “cứng hóa” được đặc trưng dạng các vector fx(n;m). Bộ vector thành công các giải thuật phức tạp trong nhận fx(n;m) có M vector (m = 0, 1, , M – 1) và mỗi dạng tiếng Việt. vector có kích thước là N (n = 0, 1, , N – 1). [3] 1.3. Mục đích nghiên cứu Đề tài này nghiên cứu thử nghiệm một hướng 2.1.1. Tiền xử lý nhận dạng tiếng nói – tiếng Việt dựa trên việc trích Bước này ta thực hiện lọc nhiễu, nhấn tín hiệu đặc trưng của tiếng nói bằng phương pháp MFCC và tách tiếng nói khỏi khoảng lặng. Xem Hình 3. (Mel–Frequency Ceptrums Coefficients), và nhận dạng bằng mô hình HMM (Hidden Markov
  3. Nhấn mạnh tín hiệu (pre-emphasis). Trong bước từ micro, dùng kỹ thuật xử lý đầu và cuối để phát xử lý đầu tiên này, tín hiệu được đưa qua một bộ hiện tín hiệu tiếng nói và phần tín hiệu nhiễu. Từ đó lọc số: ta có thể tách tiếng nói ra khỏi nền nhiễu (chỉ thu H(z) = 1 – az-1 (1) tín hiệu tiếng nói mà không thu tín hiệu nhiễu nền). Trong đó a là hệ số nhấn mạnh, thường có giá trị Vấn đề tách tiếng nói khỏi khoảng im lặng cũng là 0,97. Bộ lọc có tác dụng tăng cường tín hiệu tại có nhiều cách thực hiện như: ước tính năng lượng tần số cao (trên 1KHz) với hai lý do chính: [8] .trong khoảng thời gian ngắn, hoặc ước tính công Giọng nói có sự suy giảm khoảng 20dB/decade suất trong khoảng thời gian ngắn, và dò điểm 0. khi lên tần số cao do đặc điểm sinh lý của hệ Nhưng qua quá trình nghiên cứu và thử nghiệm tác thống phát âm của con người. Bước xử lý này giả nhận thấy rằng sự kết hợp giữa phương pháp sẽ tăng cường tín hiệu lên một giá trị gần ước tính công suất trong khoảng thời gian ngắn và 20dB/decade để khắc phục sự suy giảm này, tỉ lệ qua điểm zero cho kết quả tốt hơn. Hệ thống thính giác của con người nhạy cảm Phương pháp này dựa vào tính chất năng lượng hơn với vùng tần số cao, bước xử lý này nhấn của tín hiệu tiếng nói thường lớn hơn năng lượng mạnh vùng tần số cao, trợ giúp cho quá trình của tín hiệu nhiễu và tỉ lệ qua điểm zero của nhiễu mô Hình hoá âm thanh sau này của hệ thống sẽ lớn hơn tín hiệu tiếng nói. Hình4 cho thấy mối quan hệ giữa tín hiệu thu được, giá trị của hàm năng nhận dạng. lượng thời gian ngắn và tỉ lệ qua điểm zero. [5] Tách tiếng nói khỏi nền nhiễu (voice activation detection). Nhiệm vụ của khối này là xử lý tín hiệu O Tiếng nói Trích chọn đặc trưng Tiền xử lý VQ Nhận dạng đầu vào MFCC l O Huấn luyện HMM Hình 1. Sơ đồ khối mô Hình huấn luyện và nhận dạng từ đơn Hình2. Sơ đồ giải thuật phương pháp phân tích thông tin tiếng nói Hình3. Tiền xử lý tín hiệu
  4. Hình 4. Phân tích khoảng lặng của tiếng nói Với một cửa sổ kết thúc tại mẫu thứ m, hàm Tiếp theo là tính ngưỡng quyết định để xác năng lượng thời gian ngắn Es1(m) được xác định điểm đầu và điểm cuối của tiếng nói. Để định bởi: xác định được ngưỡng này, ta phải thu tín hiệu nhiễu nền xung quanh. Giả định rằng ta thu 50 2 푠1 = 푠1 푛 (2) khung nhiễu nền và tính giá trị Ws1 như sau: 푛= −퐿+1 Ws1(m) = Ps1(m) ·(1 −Zs1(m))Sc Công suất tương ứng là: 1 Trong đó, Sc là hệ số dùng để tránh các giá 푃 ( ) = 푠2 푛 (3) trị nhỏ, ở đây chọn S = 1000. Ngưỡng nhiễu 푠1 퐿 1 c 푛= −퐿+1 nền sẽ là: Tỷ lệ qua điểm zero (zero crossing rate) là 푡푊 = 휇푊 + 훼훿푊 một thông số cho biết số lần mà biên độ tín Trong đó, 휇푊 là trị trung bình và 훿푊 là hiệu đi qua điểm zero trong một khoảng thời phương sai của Ws1(m) được tính trong 50 gian cho trước được xác định bởi: khung nhiễu nền. α là hằng số và phụ thuộc 1 푠 푛(푠 푛 ) − 푠 푛(푠 푛 − 1 ) 푍 = 1 1 (4) vào đặc điểm của nhiễu nền. Sau quá trình 푠1( ) 퐿 2 푛= −퐿+1 kiểm tra thực nghiệm thì giá trị α tốt nhất được Trong đó: xác định là: −1.4 +1, 푠1(푛) ≥ 0 훼 = 0,2훿 푠 푛 푠 푛 = 푊 1 −1, 푠 푛 < 0 1 Hàm dò tiếng nói có thể thực hiện như sau: Mỗi khung có L mẫu. Chú ý rằng chỉ sổ 1, 푊 ( ) ≥ 푡 = 푠1 푊 trong các hàm này là m, vì việc tính toán 0, 푊푠1 < 푡푊 không phải thực hiện tại mỗi mẫu (chỉ tính sau mỗi khung mẫu). Hình5. Tách tiếng nói khỏi khoảng im lặng theo VAD
  5. Hình6. Từ tiếng nói có khoảng im lặng tách thành tiếng nói không có khoảng lặng 2.1.2. Tạo khung và cửa sổ hóa tín hiệu Mỗi khung có chiều dài là K mẫu, các Bước tiếp theo là chia tín hiệu x1(n) thành khung cách nhau một khoảng P mẫu, xem các khung và cửa sổ hóa mỗi khung, xem Hình8. Hình7. [3] Giá trị cho K và P lần lượt là 160 mẫu và 50 mẫu tương ứng với thời gian lần lượt là 20ms và 5ms tại tần số lấy mẫu là 8kHz [11]. Bằng cách đó ta chia x1(n) thành M vector, mỗi vector có chiều dài K, khi đó ta nhận được x1(k;m), trong đó k = 0, 1, , K – 1 và m = 0, 1, , M – 1. Tiếp theo ta thực hiện cửa sổ hóa Hình7. Frame blocking và Windowing mỗi khung để giảm gián đoạn tín hiệu ở hai đầu của khung. Cửa sổ thường được sử dụng là Tạo khung tín hiệu (framing). Tín hiệu cửa sổ Hamming. Nó được tính như sau: tiếng nói luôn luôn biến thiên theo thời gian, 2 푤 = 0.54 − 0.46 표푠 (5) tuy nhiên, trong khoảng thời gian khoảng 20- 퐾 − 1 25ms, tín hiệu tiếng nói được coi là tương đối Tất cả các khung x1(k;m) được nhân với ổn định. Do đó, tín hiệu thường được chia w(k) để được x2(k;m). thành các khung kích thước 20 – 25 ms với vùng gối lên nhau khoảng 5 – 10 ms. Hình8. Chia khung chuỗi tín hiệu
  6. Generalized Hamming Window: (1- )- *cos(2 n/(K-1)), 0 k K-1 1 =0 0.9 =0.05 =0.1 0.8 =0.15 0.7 =0.2 =0.25 0.6 =0.3 =0.35 0.5 =0.4 =0.45 0.4 =0.5 0.3 0.2 0.1 0 0 10 20 30 40 50 60 70 80 90 100 Hình9. Cửa sổ Hamming với các hệ số α khác nhau Original signal 1 0.5 0 -0.5 -1 50 100 150 200 250 300 350 400 450 500 Windowed signal 1 0.5 0 -0.5 -1 50 100 150 200 250 300 350 400 450 500 Hình10. Tín hiệu tiếng nói sau khi được cửa sổ hóa so với ban đầu Hình11. Các bước thực hiện MFCC 2.1.3. Trích đặc trưng biến nhất. Các bước chính để thực hiện phương pháp này như được mô tả ở Hình11. Đây là bước quan trọng, được thực hiện để a. Biến đổi Fourier rời rạc (Discrete trích các thông tin chính từ các khung tiếng Fourier Transform - DFT) nói. Phương pháp MFCC được sử dụng phổ
  7. Phép biến đổi Fourier rời rạc (DFT) chuyển (6) −1 tín hiệu âm thanh từ miền thời gian sang miền 2 푖 tần số. Một tín hiệu x (k;m) khi qua biến đổi = 푖 푠푖푛 2 2 DFT sẽ thu được tín hiệu phức miền tần số 푖=0 gồm 2 phần: ReX (kết quả phần thực) và ImX Ở bước này, để thực hiện FFT theo cơ số 4 (kết quả phần ảo). Phương trình của phép biến cho khung tín hiệu tiếng nói với chiều dài 256 đổi DFT: [8] điểm thì ta phải thêm 96 mẫu, vì K = 160 như −1 2 푖 đã trình bày ở trên. Sau khi thực hiện FFT và 푅푒 = 푖 표푠 2 tính biên độ tín hiệu x2(k;m) ta thu được 푖=0 X2(n;m). Original signal Windowed signal 1 1 0.5 0.5 0 0 -0.5 -0.5 -1 -1 50 100 150 200 250 50 100 150 200 250 Energy spectrum (linear scale) Energy spectrum (linear scale) 150 80 60 100 40 50 20 0 0 0 1000 2000 3000 4000 0 1000 2000 3000 4000 Hình12. Phổ Fourier của tín hiệu gốc và tín hiệu đã cửa sổ hóa b. Mel scale −1 = 푛; 푒푙 푛 (8) Lọc theo thang tần số Mel (Mel-frequency 2 푛=0 bandpass filter). Các bộ lọc số được áp dụng 푒푙 để lọc các tín hiệu theo các giải tần số khác Trong đó (푛) là bộ lọc tam giác nhau. IDCT (Iverse Discrete Cosin Transform). Phản ứng của tai người với các thành phần Giọng nói của con người có phổ khá trơn của tần số là không tuyến tính. Sự khác nhau (smooth) trên miền tần số, do vậy, các giá trị về tần số ở vùng tần số thấp (<1KHz) dễ được năng lượng của các bộ lọc gần nhau có sự nhận biết bởi con người hơn là ở vùng tần số tương quan (correlated) khá gần. Bước xử lý cao. Lọc theo thang tần số Mel mô phỏng tính này biến đổi các giá trị năng lượng thành các chất này bằng cách dùng các bộ lọc được phân hệ số ít tương quan với nhau hơn, các hệ số bố theo một hàm phi tuyến trong khoảng này được gọi là hệ số cepstral. [7] không gian tần số, thông thường là hàm Mel: Ở đây có 12 băng lọc được sử dụng trong dãy tần số 0 – 4000 Hz. Các hệ số phổ mel sau 푒푙 = 2595푙표 10 1 + (7) 700 khi được tính sẽ được lấy logarit ngược và biến Như vậy, tiếp theo ta lấy biên độ của đổi cosin rời rạc như sau: −1 2푛 + 1 X2(n;m) nhân với các băng lọc tỉ lệ mel. Bước . log 표푠 , này được mô tả theo công thức sau: 푠 푛; = 2 (9) =0 푛 = 0, 1, , − 1 Trong đó:
  8. thêm các thông tin về sự sai biệt thời gian, các 1 = hệ số delta, các hệ số gia tốc (đạo hàm bậc hai 0 của hệ số mel-cepstrum). Ta có thể sử dụng 2 biểu thức sau để tính trực tiếp các hệ số này: = , 1 ≤ ≤ − 1 (Hình 14). [3] 1 1 훿 푛; = 푕 푛; + 1 − 푕 푛; − 1 (12) Với N là số kênh lọc, mk là giá trị năng 2 lượng của mạch lọc thứ k, n là bậc của hệ số Và 1 cepstral. 훿 2 푛; = 훿 1 푛; + 1 − 훿 1 푛; − 1 (13) 2 Chỉnh các giá trị cepstral. Giá trị cepstral bậc cao thường có giá trị rất thấp, so với các e. Tóm tắt giá trị cepstral bậc thấp. Sự khác biệt này gây Quá trình rút trích vector đặc trưng tiếng khó khăn cho việc mô Hình hoá dữ liệu, ví dụ nói được mô tả lại như Hình15. như khi sử dụng các hàm mật độ xác suất Như vậy, với mỗi khung 20 ms thì vector Gauss. Do đó các hệ số cepstral cs(n;m) tiếp đặc trưng rút ra theo Hình gồm các thành phần tục được điều chỉnh lại (re-scaled) theo công chính như sau: thức: [3] 1 đặc trưng năng lượng 푛 12 MFCC (mel frequency cepstral 푕 푛; = 푠 푛; . 1 + 푠푖푛 , 2 coefficients) (các hệ số cepstral tần 푛 = 1,2, , (10). số mel) c. Tính năng lượng tín hiệu 1 delta đặc trưng năng lượng 12 đặc trưng delta MFCC Thành phần khá quan trọng trong mỗi 1 đặc trưng double – delta năng khung đó là yếu tố năng lượng. Mỗi khung tín lượng hiệu đều có năng lượng riêng và năng lượng 12 đặc trưng double – delta MFCC này được tính theo logarit như sau: 퐾−1 Tổng cộng có 39 thứ nguyên đặc trưng. 2 = 푙표 2 ; (11) =0 d. Các hệ số delta và gia tốc Biến đổi phổ đóng vai trò quan trọng trong nhận dạng tiếng nói. Do đó chúng ta cần có Triangular filter bank 1 0.5 0 0 500 1000 1500 2000 2500 3000 3500 4000 Frequency (Hz) Triangular filter bank (normalized) 0.01 0.005 0 0 500 1000 1500 2000 2500 3000 3500 4000 Frequency (Hz) Hình13. Băng lọc tam giác melscale trên miền tần số
  9. m-1 m m+1 m+2 ch(n;m) δ(1)(n;m) δ(2)(n;m) Hình14. Tính các hệ số delta Hình15. Quá trình rút trích đặc trưng 2.1.4. Hậu xử lý Sau đó các vector đặc trưng được chuẩn Sau khi trích được các vector mong muốn, hóa: ′ các vector này có thể được tăng trọng số hoặc 푛; = 3 푛; − 휇 푛 (16) giảm trọng số để các đặc trưng có tác động Sau bước chuẩn hóa này ta thu được các giá nhiều hoặc ít hơn. Nó có thể được thực hiện trị MFCC hoàn chỉnh. bởi hàm trọng sau: [3] ′ 3 푛; = 3 푛; . 푤 푛 , 푛 = 0, 2, , − 1 (14) Bước tiếp theo là chuẩn hóa các vector đặc trưng. Vector trung bình được tính như sau: −1 1 Hình16.Các bước hậu xử lý tín hiệu 푛 = ′ 푛; (15) 휇 3 =0
  10. 2.2. Lượng tử hóa vector phân chia (tập các dấu tròn đen) codebook phải tìm là codebook có khoảng cách trung bình bé Lượng tử hóa vector có thể được bắt đầu nhất (Hình17). [4]. Việc thực hiện phân nhóm như sau. Cho một vector nguồn với các thuộc vector được thực hiện bằng thuật toán K-mean. tính đã biết, cho một khoảng cách (độ sai lệch), và cho số lượng codevector, tìm một codebook . (tập gồm các dấu tròn xanh lá cây) và cách Hình17. Minh họa lượng tử hóa vector 2.3. Huấn luyện HMM chia thành khung và cửa sổ hóa mỗi khung tiếp theo ta trích đặc trưng bằng phương Thu thập và tiền xử lí tín hiệu tiếng nói ở pháp MFCC.Sau khi có được các vector đặc giai đoạn huấn luyện được thực hiện bằng trưng và hệ số đặc trưng chúng ta tiến hành phương pháp thủ công: sử dụng phần mềm ghi lượng tử hóa các vector đó để chuyển thành âm, lọc nhiễu và cắt thành các từ riêng rẽ. chuỗi quan sát O. Bộ dữ liệu xây dựng gồm: Sau khi có được chuỗi quan sát O của từ 500 file wav 16 bit 8kHz, mỗi file là cần nhận dạng, ta tiến hành đọc lần lượt các phát âm của một từ. mô Hình HMM của từng từ đã được huấn 5 từ là “vui”, “buồn”, “hiền”, “giận”, luyện trước đó và tính xác suất của chuỗi “mệt”. quan sát O vừa được tạo ra đối với từng mô 50 người nói. Hình HMM. Trên cơ sở các xác suất của chuỗi quan sát Các dữ liệu trên được tiếp tục chia làm 2 O đối với từng mô Hình HMM đã được phần: một phần dành cho huấn luyện và một huấn luyện, ta lựa chọn ra xác suất nào có phần để kiểm tra. [2] [6] giá trị lớn nhất thì chuỗi quan sát O ứng với mô hình đó. [2] [6] 2.4. Nhận dạng bằng mô HìnhHMM Sau khi tín hiệu âm thanh được thu từ . micro, tín hiệu này sẽ được lọc nhiễu, nhấn tín hiệu và tách khoảng lặng. Sau đó được
  11. Bắt đầu Sttaarrtt Tín hiệu tiếng nói s(n) Táácchh ttừừ kkhhỏỏii Ghi âm các từ cần huấn luyện, mỗi từ nói kkhhooảảnngg llặặnngg,, nhiều lần xxửử llýý nnhhiiễễuu Trích đặc trưng MFCC 256 của từng từ Trríícchh đđặặcc ttrrưưnngg Kết hợp tất cả các đặc trưng của từng từ tạo Các vector đặc trưng thành tập dữ liệu huấn luyện {y1, y2, , yT} Lưượợnngg ttửử hhóóaa vveeccttoorr Lượng tử vector tập dữ liệu huấn luyện để tạo Chuỗi vectorquan sát codebook y = {y1, y2, , yT} Tíínnhh xxáácc Tíínnhh xxáácc Tíínnhh xxáácc Gán nhãn cho từng từ . . . M1 M2 MR 1 ssuuấấtt 2 ssuuấấtt R ssuuấấtt Khởi tạo HMM cho từng từ P(y|M1) P(y|M1) P(y|MR) . . . Huấn luyện HMM cho từng từ Xáácc đđịịnnhh xxáácc ssuuấấtt llớớnn nnhhấấtt Chỉ số của từ được nhận dạng Kết thúc i*=argmax[P(y|M1)] Enndd i Hình18. Lưu đồ giải thuật huấn luyện HMM Hình19. Lưu đồ giải thuật nhận dạng từ đơn sử dụng HMM 2.5. Kết quả thử nghiệm trên phần mềm nói. Tập hợp tất cả các bộ vector đặc trưng lại và thực hiện lượng tử hóa để tạo ra codebook. Tập dữ liệu tiếng nói được thu âm từ 50 Như vậy, cùng với codebook và các bộ vector người nói khác nhau, thuộc ba miền , và gồm đặc trưng sẽ là bộ tham số để thực hiện huấn cả nam lẫn nữ (40 nam, 10 nữ). Dữ liệu tiếng luyện mô Hình nhận dạng và kiểm tra hiệu suất nói được lấy mẫu ở mức 8000Hz, 16 bit đọc của mô Hình. Riêng đối với nhóm mạo danh, trực tiếp trên phần mềm Matlab từ máy tính. không cần dữ liệu huấn luyện nên chỉ tạo ra bộ Tập dữ liệu này được tổ chức thành 2 vector đặc trưng (không được sử dụng trong nhóm: 40 người sẽ được hệ thống học mẫu công đoạn lượng tử hóa và huấn luyện); do đó, (registered speakers) và 10 người đóng vai trò nhóm này được sử dụng để kiểm tra tính hiệu người mạo danh (impostors/unknown quả của mô hình. speakers). Dữ liệu tiếng nói từng từ của mỗi người trong nhóm hệ thống học mẫu sẽ được phân tích thành một bộ vector đặc trưng có kích thước 39xFrame, trong đó Frame là số khung của dữ liệu tiếng nói, và số khung này sẽ không giống nhau theo thời gian và theo người
  12. Tín hiệu tiếng nói Phân tích hệ số đặc trưng Các vector đặc trưng 1 2 3 4 N c c c c c c c c c c f f f f f m m m m m Hình20. Minh họa phân tích dữ liệu tiếng nói thành các hệ số đặc trưng để sử dụng cho huấn luyện hệ thống và nhận dạng Bảng 2. Kết quả thử nghiệm cho nhóm mạo Như vậy, từ tập dữ liệu ban đầu, ta chia danh thành 2 tập con: Tập huấn luyện: gồm 40 người, mỗi TỪ NHẬN DẠNG người có 5 mẫu. Tổng cộng là 200 mẫu. VUI BUỒN HIỂN GIẬN MỆT Tập kiểm tra: gồm 50 người (40 T ỉ lệ nhận registered speakers và 10 unknown dạng chính 90,38% 91,0% 94% 90,0% 90,27% speakers), mỗi người có 5 mẫu. Tổng xác cộng 250 mẫu. Tỉ lệ nhận 9,62% 9,0% 6,0% 10,0% 9,73% dạng nhầm Tập huấn luyện được dùng để huấn luyện Tỉ lệ không 3,0% 0,0% 0,0% 5,0% 5,0% mô Hình và tập kiểm tra sẽ được dùng để khảo nhận dạng sát các tham số và đánh giá hiệu năng của hệ thống. Mặc dù kết quả nhận dạng những từ không Tất cả các công đoạn này được thực hiện được mạng huấn luyện trước là không cao. trên máy tính và được kiểm tra, mô phỏng trên Nhưng kết quả này có thể chấp nhận được phần mềm MATLAB. trong điều kiện thiết bị thu âm chưa tốt và Kết quả thử nghiệm nhận dạng từ trên phần mềm MATLAB cho nhóm người mà hệ thống điều kiện phòng thu âm cũng chưa đạt yêu cầu. có học mẫu trong điều kiện bình thường được Để nâng cao kết quả nhiều kỹ thuật cần được tổng hợp trong bảng sau: nghiên cứu tiếp. Tuy nhiên, độ phức tạp tính Bảng 1. Kết quả thử nghiệm cho nhóm hệ toán tăng. thống học mẫu Tuy một số trường hợp nhận dạng sai hoặc TỪ NHẬN DẠNG không nhận dạng được là do còn tồn tại một số VUI BUỒN HIỂN GIẬN MỆT hạn chế chính như: việc thu mẫu đầu vào chưa T ỉ lệ nhận dạng chính 92,7% 93,5% 96% 92% 92,3% tốt, chưa có cơ sở tiếng nói tiếng Việt đủ lớn, xác có nhiều thông số chưa được lựa chọn tối ưu, Tỉ lệ nhận 7,3% 6,5% 4,0% 8,0% 7,7% dạng nhầm Vì vậy, ta hoàn toàn có thể nâng cao độ chính Tỉ lệ không 0,0% 0,0% 0,0% 0,0% 0,0% nhận dạng xác của hệ thống nhận dạng thêm nữa. Phương pháp mới được áp dụng để nhận dạng các từ đơn như việc huấn luyện và nhận
  13. dạng bằng cách cho lai giữa mô hình ANN và 4. Tài liệu tham khảo HMM. [1]. Vũ Hải Quân, Nghiên cứu, Xây dựng hệ thống VoiceServer và ứng Như vậy, với bộ codebook có 5 từ thì hệ dụng cho các dịch vụ trả lời tự thống cho kết quả nhân dạng chính xác khoảng động qua điện thoại, Thuyết trình trên 90% và thời gian nhận dạng cho một từ đề tài nghiên cứu khoa học, Đại học chưa đầy 1 giây. Đây là một kết quả có thể quốc gia tp Hồ Chí Minh, 2010 – 2012. chấp nhận được khi triển khai hệ thống nhận [2]. TS. Nguyễn Như Hiền, TS. Lại dạng tiếng nói trên phần cứng. Khắc Lãi, Hệ mờ & Nơron trong kỹ 3. Kết luận thuật điều khiển, NXB Khoa học tự Đề tài thực hiện trích đặc trưng MFCC nhiên và công nghệ Hà Nội, 2007. [3]. Lawrence Rabiner – Biing – Hwan bằng phương pháp mới và huấn luyện nhận Juang, Fundamentals of speech dạng tiếng nói tiếng Việt bằng mô hình HMM recognition, Prentice-Hall cụ thể như sau: International, 1993. Tín hiệu âm thanh được thu từ micro qua [4]. John Holmes, Wendy Holmes, bước tiền xử lý, sau đó được chia khung Speech synthesis and recognition nd và cửa sổ hóa mỗi khung, tiếp theo trích 2 edition, British Library. [5]. Bian Wu, Xiaolin Ren, Chongqing đặc trưng tín hiệu tiếng nói bằng phương Liu, Yaxin Zhang, A Robust, Real- pháp MFCC, các vector được chuẩn hóa và Time Voice Activity Detection được lượng tử hóa thành các vector quan Algorithm for Embedded Mobile sát để phục vụ cho quá trình huấn luyện Devices, International Journal Of và nhận dạng bằng mô hình HMM. Tất cả Speech Technology 8, 2005, các bước đều được thực hiện bằng phần [6]. Hervé Bourlard, Nelson Morgan, mềm Matlab trên máy tính . Connectionist speech recognition a hybrid approach, Kluwer Xây dựng hệ thống nhận dạng tiếng nói để Academic Publishers, ISBN 0- nhận dạng tiếng nói tiếng Việt với số từ 7923-9396-1, 1994. nhận dạng là 5 từ đơn: “vui”, “buồn”, [7]. Ben J. Shannon, Kuldip K. Paliwal, “hiền” “giận”, “mệt”. A Comparative Study of Filter Bank Số mẫu tối đa cho một từ để huấn luyện là Spacing for Speech Recognition, 40 lần, kết quả nhận dạng của mô Hình khi Microelectronic Engineering Research Conference, 2003. đọc 20 lần, tỉ lệ nhận dạng đúng từ là [8]. Deller John R., Jr., Hansen John khoảng trên 90%. J.L., Proakis John G., Discrete- Mô Hình nhận dạng từ trong khoảng 1 Time Processing of Speech Signals, giây. IEEE Press, ISBN 0-7803-5386-2. Không phụ thuộc vào tiếng nói dài ngắn [9]. GS.TSKH Bạch Hưng Khang, khác nhau được thu trong khoảng thời gian Nghiên Cứu Phát Triển Công Nghệ Nhận Dạng, Tổng Hợp Và Xử Lý cài đặt trước. Ngôn Ngữ Tiếng Việt, Viện Công Thiết kế và thi công robot mặt người thể Nghệ Thông Tin, 2007, 281 trang. hiện cảm xúc đúng với các trạng thái của [10]. TS. Nguyễn Văn Giáp, KS Trần các từ huấn luyện, giao tiếp giữa máy tính Hồng Việt, Kỹ Thuật Nhận Dạng và robot thông qua Board điều khiển Tiếng Nói và Ứng Dụng Trong Arduino Mega 2560 . Điều Khiển, Bộ Môn Cơ Điện Tử - Khoa Cơ Khí – Trường Đại Học Bách Khoa Tp.HCM. [11]. TS. Hoàng Đình Chiến, Nhận Dạng Tiếng Việt Dùng Mạng Neuron Kết Hợp Trích Đặc Trưng LPC và AMDF. Trường Đại Học Bách Khoa.Tp.HCM.
  14. BÀI BÁO KHOA HỌC THỰC HIỆN CÔNG BỐ THEO QUY CHẾ ĐÀO TẠO THẠC SỸ Bài báo khoa học của học viên có xác nhận và đề xuất cho đăng của Giảng viên hướng dẫn Bản tiếng Việt ©, TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP. HỒ CHÍ MINH và TÁC GIẢ Bản quyền tác phẩm đã được bảo hộ bởi Luật xuất bản và Luật Sở hữu trí tuệ Việt Nam. Nghiêm cấm mọi hình thức xuất bản, sao chụp, phát tán nội dung khi chưa có sự đồng ý của tác giả và Trường Đại học Sư phạm Kỹ thuật TP. Hồ Chí Minh. ĐỂ CÓ BÀI BÁO KHOA HỌC TỐT, CẦN CHUNG TAY BẢO VỆ TÁC QUYỀN! Thực hiện theo MTCL & KHTHMTCL Năm học 2016-2017 của Thư viện Trường Đại học Sư phạm Kỹ thuật Tp. Hồ Chí Minh.