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

Nhận dạng người nói phụ thuộc từ khóa tiếng việt

107 11 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Nhận Dạng Người Nói Phụ Thuộc Từ Khóa Tiếng Việt
Tác giả Đào Thị Thu Diệp
Người hướng dẫn TS. Nguyễn Hồng Quang
Trường học Trường Đại Học Bách Khoa Hà Nội
Chuyên ngành Công Nghệ Thông Tin
Thể loại Luận Văn Thạc Sĩ Kỹ Thuật
Năm xuất bản 2013
Thành phố Hà Nội
Định dạng
Số trang 107
Dung lượng 1,05 MB

Cấu trúc

  • LỜI CAM ĐOAN

  • LỜI CẢM ƠN

  • MỤC LỤC

  • DANH MỤC KÝ HIỆU, CHỮ VIẾT TẮT

  • DANH MỤC HÌNH

  • DANH MỤC BẢNG

  • MỞ ĐẦU

  • Lý do chọn đề tài

  • Mục đích, phạm vi nghiên cứu

  • Đối tượng nghiên cứu

  • Phương pháp nghiên cứu

  • Nhiệm vụ nghiên cứu

  • CHƯƠNG 1. CƠ SỞ LÝ THUYẾT

  • 1.1. Tổng quan về nhận dạng người nói

    • 1.1.1. Nhận dạng người nói là gì?

    • 1.1.2. Các ứng dụng của nhận dạng người nói

  • 1.2. Phương pháp nhận dạng người nói phụ thuộc từ khóa

    • 1.2.1. Giới thiệu chung

    • Hình 1.1. Hệ thống xác định người nói

    • Hình 1.2. Mô hình xác định người nói

    • Hình 1.3. Hệ thống xác minh người nói

    • Hình 1.4. Mô hình xác minh người nói

    • 1.2.2. Các thành phần của một hệ thống nhận dạng người nói phụ thuộc từ khóa

    • Hình 1.5. Các thành phần của một hệ thống nhận dạng người nói

    • phụ thuộc từ khóa

    • 1.2.3. Các giai đoạn xử lý của một hệ thống nhận dạng người nói phụ thuộc từ khóa

    • 1.3. Tìm hiểu về các kết quả nhận dạng người nói đã có với Tiếng Việt

      • 1.3.1. Định danh người nói tiếng Việt sử dụng mô hình hỗn hợp Gaussian của nhóm tác giả Đinh Lê Thành, Nguyễn Quốc Linh, Trịnh Văn Loan

      • Hình 1.6. Hệ thống định danh người nói sử dụng giải thuật GMM

      • 1.3.2. Xây dựng và khảo sát độ dài từ khóa trong nhận dạng người nói phụ thuộc vào từ khóa tiếng Việt theo mô hình Markov ẩn tác giả: Ngô Minh Dũng, Đặng Văn Chuyết

      • Hình 1.7. Pha nhận dạng hệ nhận dạng người nói phụ thuộc từ khóa thay đổi

      • Hình 1.8. Kết quả khảo sát độ chính xác nhận dạng người nói phụ thuộc độ dài từ khóa

  • CHƯƠNG 2. CÁC CÔNG CỤ SỬ DỤNG TRONG ĐỂ TÀI

  • 2.

  • 2.1. Bộ công cụ ALIZE

  • 3.

    • 2.1.1. Nguồn gốc

    • 2.1.2. Giới thiệu về ALIZE

    • Hình 2.1. Thành phần của gói công cụ ALIZE

    • 2.1.3. Bộ công cụ SPro

    • 2.1.4. Các công cụ nhận dạng người nói sử dụng SPro và ALIZE

    • Hình 2.2. Sơ đồ các công cụ sử dụng ALIZE trong nhận dạng người nói

    • Bảng 2.1: Mô tả tùy chọn sử dụng tiêu chuẩn hóa năng lượng

    • Bảng 2.2: Mô tả tùy chọn sử dụng phát hiện tín hiệu tiếng nói

    • Bảng 2.3: Mô tả tùy chọn chuẩn hóa đặc trưng

    • Bảng 2.4: Mô tả tùy chọn chính sử dụng huấn luyện mô hình từ

    • Bảng 2.5: Mô tả tùy chọn trong huấn luyện mô hình đích

  • 2.2. Bộ công cụ Sphinx3

    • 2.2.1. Giới thiệu

    • 2.2.2. Tổng quan về bộ giải mã s3.X

    • 2.2.3. Công cụ nhận dạng tiếng nói sử dụng Sphinx3

  • CHƯƠNG 3. TRIỂN KHAI HỆ THỐNG THỬ NGHIỆM NHẬN DẠNG NGƯỜI NÓI TIẾNG VIỆT

  • 3.

  • 3.1. Sơ đồ tổng quan quá trình xây dựng hệ thống nhận dạng người nói phụ thuộc từ khóa tiếng Việt

    • Hình 3.1. Hệ nhận dạng người nói phụ thuộc từ khóa tiếng Việt

  • 3.2. Chuẩn bị dữ liệu

    • 3.2.1. Chuẩn bị dữ liệu cho nhận dạng bởi công cụ ALIZE

    • 3.2.2. Chuẩn bị dữ liệu cho nhận dạng bởi công cụ Sphinx3

  • 3.3. Nhận dạng người nói sử dụng ALIZE

    • Hình 3.3. Các bước xây dựng hệ nhận dạng người nói sử dụng SPro & ALIZE

    • 3.3.1. Bước 1: Tạo thư mục làm việc

    • 3.3.2. Bước 2: Tính tham số MFCC

    • 3.3.3. Bước 3: Dò tìm năng lượng

    • 3.3.4. Bước 4: Phát hiện tiếng nói trong tín hiệu

    • 3.3.5. Bước 5: Chuẩn hóa các tham số của tín hiệu

    • 3.3.6. Bước 6: Chuẩn hóa TrainWorldInit

    • 3.3.7. Bước 7: Chuẩn hóa TrainWorldFinal

    • 3.3.8. Bước 8: Huấn luyện GMM cho từng người nói

    • 3.3.9. Bước 9: Nhận dạng người nói

  • 3.4. Nhận dạng tiếng nói sử dụng Sphinx3

    • Hình 3.4. Sơ đồ tổng quát xây dựng Forced alignment proces

    • 3.4.1. Bước 1: Tạo cấu trúc thư mục và các file cấu hình cần thiết

    • 3.4.2. Bước 2: Cập nhật dữ liệu huấn luyện

    • 3.4.3. Bước 3: Huấn luyện mô hình âm học

    • 3.4.4. Bước 4: Tính tham số MFCC của file Wav

    • 3.4.5. Bước 5: Tính điểm số từng từ khóa qua Sphinx3

  • 3.5. Nhận dạng người nói phụ thuộc từ khóa tiếng Việt

    • 3.5.1. Nhận dạng người nói sử dụng ALIZE và Sphinx3

    • Bảng 3.2: Kết quả nhận dạng người nói thử nghiệm với Test 1: sử dụng xác suất tiên nghiệm lấy từ mô hình HMM và GMM của người nói

    • Hình 3.5. Biểu đồ thể hiện kết quả nhận dạng với Test 1

    • Bảng 3.3: Kết quả nhận dạng người nói thử nghiệm với Test 2: Xác suất tiên nghiệm lấy từ mô hình GMM và xác suất hậu nghiệm lấy từ mô hình HMM của từng người nói

    • Hình 3.6. Biểu đồ thể hiện kết quả nhận dạng với Test 2

    • 3.5.2. Phân tích và đánh giá kết quả

    • Bảng 3.4: Kết quả tổng hợp các thử nghiệm theo thời gian

    • Bảng 3.5: Bảng tổng hợp kết quả nhận dạng các chương trình đã thử nghiệm

    • Hình 3.7. Biểu đồ thể hiện kết quả nhận dạng với các thử nghiệm

  • Chương 4. KẾT LUẬN VÀ KIẾN NGHỊ

  • 4.

  • 4.1. Những vấn đề đã giải quyết trong luận văn

  • 4.2. Hướng phát triển của đề tài

  • TÀI LIỆU THAM KHẢO

  • PHỤ LỤC

  • A. Mô hình hỗn hợp Gauss

    • Hình A.1. Hàm mật độ Gauss

    • Hình A.2. Mô hình GMM

    • Hình A.3. Hàm mật độ của GMM có 3 phân phối Gauss

  • B. Ba bài toán cơ bản của HMM

    • B.1. Bài toán thứ nhất: Đánh giá xác suất

    • B.2. Thuật toán thứ hai: Tìm dãy trạng thái tối ưu

    • B.3. Thuật toán thứ ba: Ước lượng tham số của mô hình

  • C. Cấu trúc các gói trong thư viện LIA-RAL

    • C.1. Cấu trúc file NormFeat.cfg

    • C.2. Cấu trúc file NormFeat_energy.cfg

    • C.3. Cấu trúc file EnergyDetector.cfg

    • C.4. Cấu trúc file TrainWorldInit.cfg

    • C.5. Cấu trúc file TrainWorldFinal.cfg

    • C.6. Cấu trúc gói TrainTarget

    • C.7. Cấu trúc gói ComputeTest

  • D. Code chương trình nhận dạng người nói tiếng Việt

Nội dung

CƠ SỞ LÝ THUY Ế T

Tổng quan về nhận dạng người nói

1.1.1 Nhận dạng người nói là gì?

Nhận dạng người nói là một hệ thống sinh trắc học, giúp xác thực danh tính người dùng dựa trên đặc điểm giọng nói riêng biệt của họ Qua hơn bốn thập kỷ phát triển, công nghệ này sử dụng các tính năng âm thanh để phân biệt giọng nói của từng cá nhân Đặc điểm tiếng nói con người chứa hai loại thông tin quan trọng.

Thông tin mức thấp trong âm thanh bao gồm các yếu tố như độ cao, trường độ, cường độ, tần số, nhịp điệu, giai điệu, quang phổ và âm formant Những đặc điểm này thường được nhận dạng bởi hệ thống nhận dạng âm thanh thông qua quá trình huấn luyện, giúp đưa ra quyết định chính xác hơn trong việc phân tích và xử lý âm thanh.

Thông tin mức cao bao gồm các yếu tố như phương ngữ, dấu nhấn trong giao tiếp, ngữ cảnh và phong cách chủ đề Những đặc điểm này thường liên quan đến khả năng tự nhiên của con người trong việc xác định danh tính của người nói.

Thông tin về cách nói không thay đổi hoàn toàn từ khi con người bắt đầu nói cho đến khi về già, nhưng chúng có tính ổn định cao trong suốt giai đoạn dài của cuộc đời Khi trưởng thành, những thói quen khi nói và đặc điểm âm thanh sẽ hình thành và duy trì tính ổn định Điều này là cơ sở khoa học quan trọng cho việc phát triển các hệ thống nhận dạng người nói.

Một hệ thống nhận dạng người nói lý tưởng cần phải xác định chính xác người nói trong mọi điều kiện môi trường Tuy nhiên, có nhiều yếu tố ảnh hưởng đến quá trình nhận dạng, dẫn đến những sai sót trong kết quả.

- Trạng thái cảm xúc của người nói Ví dụ như căng thẳng hay ép buộc…

- Vị trí đặt của thiết bị thu âm ở mỗi thời điểm ghi âm khác nhau

- Âm thanh được ghi ở môi trường không phù hợp: phòng nhiều tiếng ồn, bị ảnh hưởng bởi nhiễu

- Sử dụng kênh ghi âm, xác thực không phù hợp

- Tốc độ phát âm khi thử nghiệm khác so với dữ liệu huấn luyện

- Người thử nghiệm bị bệnh (như cảm lạnh… ảnh hưởng đến đường âm), người cao tuổi (đường âm thanh bị thay đổi theo độ tuổi)

Các nguồn nêu các lỗi xác minh dẫn đến kết quả việc nhận dạng người nói thực sự khá phức tạp

1.1.2 Các ứng dụng của nhận dạng người nói

Nhận dạng người nói là lĩnh vực ứng dụng rất nhiều trong đời sống:

- Xác minh danh tính và kiểm soát truy cập:

 Truy cập ngân hàng qua điện thoại

 Truy cập cơ sở dữ liệu, thông tin bí mật máy tính từ xa

 Kiểm soát sử dụng điện thoại trong nhà tù khi người nhà phạm nhân tới thăm

 Tìm ra tội phạm thông qua việc so khớp giọng nói

- Hệ thống bán hàng gián tiếp (lấy lại thông tin khách hàng)

 Lấy được thông tin khách hàng gọi tới trung tâm

 Lấy mẫu giọng nói của khách hàng qua điện thoại

Phương pháp nhận dạng người nói phụ thuộc từ khóa

Nhận dạng người nói được chia thành hai bài toán chính: nhận dạng (Identification) và phát hiện/xác minh (Detection/Verification), tùy thuộc vào ứng dụng Cả hai bài toán này đều dựa trên một cơ sở dữ liệu các mẫu tham khảo từ N người nói đã được xác định trước và sử dụng các kỹ thuật phân tích và quyết định tương tự nhau Nhận dạng người nói (Speaker Identification) là quá trình xác định danh tính của người nói trong một nhóm, dựa vào các mẫu tiếng nói đã được máy tính ghi nhận trước đó.

Xác minh người nói (Speaker Verification) là quá trình xác định xem giọng nói phát ra có phải là của người cần kiểm tra hay không Phương pháp này còn được biết đến với các tên gọi khác như xác nhận giọng nói, chứng thực, xác thực người nói và phát hiện người nói.

Xác minh người nói đơn giản hơn nhận dạng người nói, vì chỉ cần so sánh mẫu kiểm tra với mẫu tham khảo để xác định sự khớp nhau Ngược lại, nhận dạng người nói yêu cầu lựa chọn giọng nói phù hợp nhất từ N giọng đã biết, đòi hỏi thực hiện nhiều so sánh và quyết định Do đó, sai số trong nhận dạng người nói có thể cao hơn so với xác minh người nói.

Tôi mu ốn đăng nh ập hệ thống Xin chào, bạn Dương !

Tôi mu ốn đăng nh ập hệ thống

Tôi mu ốn đăng nh ập hệ thống

Xin lỗi, bạn không được hệ thống nhận dạng!

Hình 1.1 Hệ thống xác định người nói

Hệ thống xác định người nói thông qua dữ liệu tiếng nói cho phép nhận diện người dùng đã được lưu trữ Sau khi người dùng đăng nhập bằng mật khẩu tiếng nói, hệ thống sẽ kiểm tra xem người nói có trong cơ sở dữ liệu hay không Nếu đã có, hệ thống sẽ tiến hành xác thực danh tính người nói.

Ide nt if ica ti o n Sy st em

Để đăng nhập vào hệ thống, người dùng cần phải nhập đúng lời chào và đồng ý với các điều khoản Nếu thông tin không hợp lệ hoặc chưa có trong hệ thống, sẽ có thông báo cảnh báo và người dùng sẽ không được phép truy cập vào hệ thống.

Hình 1.2 Mô hình xác định người nói

Mô hình xác định người nói (Hình 1.2) mô tả quy trình huấn luyện và thử nghiệm của hệ thống nhận diện giọng nói Đầu tiên, hệ thống trích xuất đặc trưng từ dữ liệu tiếng nói Trong giai đoạn huấn luyện, mô hình cho từng người nói được tạo ra và lưu trữ trong cơ sở dữ liệu chung Khi thử nghiệm, dữ liệu tiếng nói mới sẽ được trích xuất đặc trưng và so khớp với dữ liệu trong cơ sở dữ liệu Kết quả sẽ là người nói có độ tương đồng cao nhất hoặc điểm số lớn nhất, từ đó xác định được danh tính người nói cần tìm.

Trích chọn đặc trưng Lựa chọn tốt nhất

Cơ sở dữ liệu người nói

Người nói được nhận dạng

Tính tương độ đồng của mô hình

Tôi là Tu ấn! Xin lỗi,

Hình 1.3 H ệ thống xác minh người nói

Hệ thống xác minh người nói sử dụng dữ liệu tiếng nói để kiểm tra danh tính Khi dữ liệu tiếng nói được cung cấp kèm theo tên người cần xác minh, nếu khớp, hệ thống sẽ hiển thị lời chào cùng tên Ngược lại, nếu phát hiện giả mạo, hệ thống sẽ đưa ra cảnh báo.

Hình 1.4 Mô hình xác minh người nói

V er if ica ti o n S y ste m nghi ệm Th ử

Tính tương độ đồng của mô hình người nói

Mô hình xác minh người nói trong Hình 1.4 hoạt động tương tự như mô hình đã trình bày trước đó, nhưng đơn giản hơn nhiều Trong quá trình thử nghiệm, hệ thống không cần so khớp với toàn bộ cơ sở dữ liệu tiếng nói, mà chỉ so khớp với dữ liệu của người cần kiểm tra Kết quả xác minh sẽ là Đúng hoặc Sai dựa trên sự khớp giữa giọng nói đưa vào và giọng nói của người cần kiểm tra.

Hệ thống nhận dạng người nói được phân loại thành hai loại chính: độc lập văn bản và phụ thuộc văn bản, dựa trên các ràng buộc về tín hiệu tiếng nói trong quá trình huấn luyện và kiểm tra.

Trong nhận dạng phụ thuộc văn bản, người dùng cần phát âm cụm từ đã được hệ thống xác định trước, có thể là cố định hoặc gợi ý Việc sử dụng cùng một văn bản cho cả giai đoạn huấn luyện và kiểm tra giúp nâng cao độ chính xác của nhận dạng Hệ thống này yêu cầu văn bản nói trong giai đoạn kiểm tra phải giống hoặc kết hợp với văn bản đã được sử dụng trong giai đoạn huấn luyện Luận văn này trình bày việc áp dụng mô hình phụ thuộc văn bản với các từ khóa để tiến hành huấn luyện và thử nghiệm.

Trong hệ thống nhận dạng độc lập văn bản, hệ thống không biết trước cụm từ mà người dùng sẽ nói, điều này mang lại tính linh hoạt nhưng có thể làm giảm độ chính xác Để đạt được kết quả tốt trong nhận dạng độc lập văn bản, cần thu thập nhiều dữ liệu tiếng nói hơn cho cả giai đoạn huấn luyện và kiểm tra so với hệ thống phụ thuộc văn bản.

1.2.2 Các thành phần của một hệ thống nhận dạng người nói phụ thuộc từ khóa

Cũng như một hệ nhận dạng người nói nói chung, hệ nhận dạng người nói phụ thuộc từ khóa có thành phần tổng quát như hình vẽ dưới đây:

Hình 1.5 Các thành ph ần của một hệ thống nhận dạng người nói ph ụ thuộc từ khóa

Hình 1.5 cho ta thấy các hệ thống nhận dạng người nói phụ thuộc vào từ khóa gồm các thành phần sau:

- Trích chọn đặc trưng: Tín hiệu tiếng nói đưa vào được biến đổi giọng nói thô thành những vector đặc trưng của từng người nói

- Xây dựng mô hình người nói: huấn luyện người nói dựa vào một phương pháp cụ thể

- Cơ sở dữ liệu người nói: Lưu trữ tất cả dữ liệu người nói đã được trích chọn đặc trưng vào một kho dữ liệu

Luật quyết định là quá trình xác định và đưa ra quyết định dựa trên việc so khớp và tính toán từng từ khóa Quá trình này tổng hợp các cụm từ khóa đã được kiểm tra với cơ sở dữ liệu của người nói trước đó, nhằm đưa ra kết quả chính xác trong việc nhận diện người nói trong các cuộc thử nghiệm.

Huấn luyện người nói Đặc trưng tiếng thứ 2 Đặc trưng tiếng thứ 1 Đặc trưng tiếng thứ N

Cơ sở dữ liệu người nói

1.2.3 Các giai đoạn xử lý của một hệ thống nhận dạng người nói phụ thuộc từ khóa

Hình 1.5 cho ta thấy quá trình xử lý của các hệ thống nhận dạng ng ười nói phụ thuộc vào từ khóa gồm hai giai đoạn:

Để huấn luyện hệ thống, cần ghi âm giọng nói của từng người tham gia, mỗi người sẽ thực hiện việc ghi âm theo các cụm từ khóa hoặc dãy từ khóa cụ thể.

Việc tăng cường số lượng giọng nói được đưa vào sẽ nâng cao độ chính xác trong nhận dạng, nhưng cần lưu ý rằng việc lưu trữ dữ liệu âm thanh có thể tốn nhiều dung lượng.

Trích chọn đặc trưng là quá trình chuyển đổi tín hiệu tiếng nói thực thành dạng tham số đặc trưng, nhằm cải thiện hiệu quả nhận dạng và thử nghiệm Việc này đóng vai trò quan trọng, ảnh hưởng trực tiếp đến kết quả nhận dạng Một số phương pháp phổ biến trong trích chọn đặc trưng bao gồm hệ số cepstrum tần số Mel (MFCC), hệ số cepstrum dự đoán tuyến tính (LPCC), và LPC.

Tìm hiểu về các kết quả nhận dạng người nói đã có với Tiếng Việt

1.3.1 Định danh người nói tiếng Việt sử dụng mô hình hỗn hợp Gaussian của nhóm tác giả Đinh Lê Thành, Nguyễn Quốc Linh, Trịnh Văn Loan a Cơ sở dữ liệu:

Chương trình thử nghiệm được thực hiện trên 13 người nói khác nhau với đoạn phát âm "không một hai ba bốn năm sáu bảy tám chín" Mỗi người tham gia được huấn luyện 10 lần và kiểm thử từ 3-5 lần Định dạng thu âm là 16000Hz, 16 bit, Mono, cho phép người nói huấn luyện hoặc kiểm thử từ file wav đã thu sẵn hoặc trực tiếp trong thời gian thực.

Mô hình Mel Frequency Cepstrum Coefficient (MFCC) được áp dụng trong quá trình trích chọn đặc trưng, trong khi mô hình hỗn hợp dữ liệu Gaussian được sử dụng để mô hình hóa và nhận dạng dữ liệu trong hệ thống.

Hình 1.6 H ệ thống định danh người nói sử dụng giải thuật GMM

Việc huấn luyện GMM bao gồm các bước cần thiết để xác định bộ tham số GMM cho từng người nói Bộ tham số này được tính toán dựa trên dữ liệu huấn luyện đã thu thập.

Pha huấn luyện Pha nhận dạng

Tính độ tương thích mô hình loglikehood

Mô hình có loglikehood lớn nhất được xem là kết quả định danh

Các bộ hệ số GMM đặc trưng

Các bộ hệ số GMM đặc trưng

Để đạt được độ tương đồng cao nhất, cần thực hiện 22 bước luyện tập Việc tính toán có thể được thực hiện thông qua thuật toán EM (Expectation-Maximization) Phương pháp log-tương đồng giúp xác định mức độ tương đồng giữa mẫu thử và mô hình huấn luyện, với kết quả là một điểm số thể hiện mức độ tương đồng; điểm số càng cao thì mức độ tương đồng càng lớn.

- Kết quả kiểm thử ở cấu hình 64 thành phần hỗn hợp Gaussian: 96,7%

- Kết quả kiểm thử ở cấu hình 128 thành phần hỗn hợp Gaussion: 100%

- Kết quả kiểm thử ở cấu hình 256 thành phần hỗn hợp Gaussion: 96,7%

1.3.2 Xây dựng và khảo sát độ dài từ khóa trong nhận dạng người nói phụ thuộc vào từ khóa tiếng Việt theo mô hình Markov ẩn tác giả: Ngô Minh Dũng, Đặng Văn Chuyết a Cơ sở dữ liệu:

Tập từ khóa huấn luyện là các âm tiếng Việt từ số 0 đến số 9, đó là các âm tiết: “Không”, “Một”, “Hai”, “Ba”, “Bốn”, “Năm”, “Sáu”, “Bẩy”, “Tám”, “Chín”

Cơ sở dữ liệu nghiên cứu bao gồm 140 người nói, trong đó có 61 nam và 79 nữ, với độ tuổi từ 20 đến 55, tất cả đều nói giọng Bắc bộ Mỗi người đã thực hiện 15 lần phát âm các âm tiết vào micro máy tính trong môi trường văn phòng Một chương trình ghi âm tự động đã thu tín hiệu âm thanh của từng âm tiết trong vòng 1 giây, với tần số lấy mẫu 11025 Hz, mã hóa PCM, 16 bit, mono, và lưu trữ dưới định dạng file wav riêng biệt Dữ liệu âm thanh từ 10 lần phát âm đầu tiên của mỗi người được sử dụng để huấn luyện hệ thống, trong khi 5 lần phát âm sau được dùng để kiểm tra hiệu suất nhận dạng.

Nhóm tác giả áp dụng phương pháp nhận dạng bằng mô hình HMM, lựa chọn các vector đặc trưng dựa trên độ chính xác, độ phức tạp nhận dạng và tốc độ tính toán Họ quyết định sử dụng 19 hệ số MFCC, sau khi loại bỏ hệ số đầu tiên, nhằm tối ưu hóa đặc trưng trích trọn Để xây dựng hệ thống nhận dạng, nhóm tác giả đã chọn mô hình Markov ẩn với hàm mật độ xác suất liên tục và 7 trạng thái chuyển đổi từ trái qua phải.

Trong hệ thống nhận dạng giọng nói, mỗi người nói sẽ được xây dựng một mô hình riêng biệt Trong quá trình huấn luyện, chuỗi vector đặc trưng từ 10 lần phát âm các âm tiết sẽ được sử dụng để đào tạo Để tính toán các tham số cho từng mô hình, thuật toán EM (Expectance Maximization) sẽ được áp dụng Nguyên lý hoạt động của hệ thống nhận dạng được minh họa qua hình vẽ bên dưới.

Hình 1.7 Pha nh ận dạng hệ nhận dạng người nói phụ thuộc từ khóa thay đổi

Nghiên cứu khả năng nhận dạng người nói dựa trên cơ sở dữ liệu âm tiết từ các file âm thanh khác nhau được thực hiện bằng cách sinh ra dãy số ngẫu nhiên trong miền tham số Thay vì xây dựng nhiều hệ nhận dạng phụ thuộc từ khóa, nhóm tác giả chỉ phát triển 10 hệ nhận dạng tương ứng với 10 từ khóa từ “không” đến “chín” Kết quả đầu ra của hệ thống là sự kết hợp từ 10 hệ nhận dạng này.

Hình 1.8 K ết quả khảo sát độ chính xác nhận dạng người nói phụ thuộc độ dài t ừ khóa

Chương 1 của luận văn trình bày tổng quan về bài toán nhận dạng người nói phụ thuộc từ khóa tiếng Việt, với kết quả nghiên cứu từ hai nhóm tác giả đạt độ chính xác cao, trong đó có phần thực nghiệm đạt 100% Đề tài nghiên cứu đầu tiên tập trung vào việc định danh người nói tiếng Việt qua mô hình hỗn hợp Gaussian, trong khi đề tài thứ hai khảo sát độ dài từ khóa tiếng Việt theo mô hình Markov ẩn Tác giả đề xuất một hướng nghiên cứu mới bằng cách kết hợp hai mô hình này nhằm cải thiện độ chính xác trong nhận dạng người nói phụ thuộc vào từ khóa tiếng Việt Chương tiếp theo sẽ trình bày các công cụ được sử dụng trong đề tài.

CÁC CÔNG CỤ SỬ DỤNG TRONG ĐỂ TÀI

Bộ công cụ ALIZE

ALIZE là thư viện hỗ trợ nhận dạng tự động người qua giọng nói, được phát triển dựa trên hệ thống GIVES (General Identity Verification System) có sẵn tại KTH (Kungliga Tekniska Högskolan - Viện Công nghệ Hoàng gia Thụy Điển).

Gói LIA-RAL sử dụng thư viện ALIZE, đóng vai trò là giao diện chính trong toàn bộ dự án Cả hai gói đều được cài đặt bằng ngôn ngữ lập trình C++ Frederic Wils là tác giả của phiên bản ALIZE đầu tiên, và hiện tại, ALIZE đang được bảo trì và phát triển.

Jean-Francois Bonastre, tác giả của LIA-RAL tại phòng thí nghiệm máy tính của trường đại học Avignon, Pháp

ALIZE là phần mềm miễn phí có thể tải xuống tại [địa chỉ này](http://mistral.univ-avignon.fr/download_en.html), bao gồm hai gói: ALIZE 2.0 (1.028M) và LIA – RAL2.0 (9.761M) Để sử dụng ALIZE, người dùng cần cài đặt hệ điều hành Linux hoặc sử dụng môi trường chạy lệnh UNIX như CYGWIN trên Windows CYGWIN là công cụ miễn phí có thể tải tại [đây](http://www.cygwin.com/) Trong nghiên cứu này, tác giả đã thử nghiệm trên môi trường Linux bằng cách cài đặt máy ảo VMware Workstation v9.0.0 (426M) với hệ điều hành CentOS6.3 (706.5M).

ALIZE được phát triển trong C + + theo hướng đối tượng UML Gói LIA-

RAL được xây dựng dựa trên thư viện ALIZE, do đó không thể chỉ sử dụng LIA-RAL Mặc dù ALIZE là một thư viện tổng quát, nhưng không đủ để trở thành một hệ thống xác minh người qua giọng nói LIA-RAL được sử dụng để ước tính các công việc bên trong của ALIZE, vì vậy hai gói này phải được sử dụng cùng nhau Hầu hết các hoạt động của người dùng diễn ra qua LIA-RAL, ngoại trừ bộ phân tích.

26 các tập tin cấu hình là sử dụng từ ALIZE Mã trong gói LIA-RAL được chia thành hai loại:

Thư viện tổng quát Spk-Tools cung cấp các giải thuật huấn luyện và hàm thống kê, được áp dụng cho các véc tơ đặc trưng, giúp tối ưu hóa quy trình phân tích dữ liệu.

Thứ hai, nó chứa nhiều chương trình con, được thiết kế để làm việc trong phương thức đường ống (pipeline)

Hiện tại, chưa có một khung sườn chính thức nào để triển khai hệ thống xác minh người qua giọng nói (ASV) đầy đủ Để xây dựng một chương trình hoàn chỉnh, cần phải kết nối các chương trình con, điều này đòi hỏi người dùng phải đọc tài liệu, nghiên cứu các tập tin cấu hình có sẵn và kiểm tra tính năng của từng chương trình con.

Hình 2.1 Thành ph ần của gói công cụ ALIZE Để cho phép tất cả mọi người sử dụng ALIZE, ALIZE là tập hợp của một số bộ:

- Một thư viện ở mức độ thấp (ALIZE): thư viện này chứa tất cả các chức năng cần thiết để sử dụng hỗn hợp Gaussian

- Bộ công cụ cấp cao (LIA_RAL): bộ công cụ phân chia thành các phần như sau:

- LIA_SpkTools: thư viện cấp cao

- LIA_Utils: công cụ cần thiết để xử lý tất cả các định dạng được sử dụng trong ALIZE: mô hình GMM, các thông số,

LIA_SpkDet là một bộ công cụ toàn diện phục vụ cho các nhiệm vụ của hệ thống xác thực sinh trắc học, bao gồm huấn luyện mô hình giọng nói và từ ngữ, thiết lập các thông số tiêu chuẩn hóa, cũng như tính toán điểm số thông thường.

- LIA_SpkSeg: một công cụ mới để phát hiện tiếng nói

SPro là một bộ công cụ mạnh mẽ, cung cấp các lệnh thực thi thuật toán trích chọn đặc trưng tiếng nói, hỗ trợ trong các ứng dụng nhận dạng người nói.

SPro được phát triển để hiển thị giải phân tích quang phổ và đồng thời cung cấp các trích chọn đặc trưng cổ điển cho ứng dụng tiếng nói Các lệnh chính của SPro bao gồm những tính năng quan trọng phục vụ cho việc phân tích và xử lý âm thanh.

- Hệ số cepstral (filter-bank và dự đoán tuyến tính)

- Dự đoán tuyến tính dẫn xuất tiêu biểu (dự báo và phản ánh hệ số, tỷ lệ phạm vi và những dòng cặp phổ)

Các thư viện được viết trong ANSI C, cung cấp các chức năng sau:

- Tín hiệu đầu vào dạng sóng

- Xử lý tín hiệu ở mức thấp (FFT, phân tích LPC, )

- Xử lý đặc trưng mức thấp ( CMS, chuẩn hóa sự khác biệt, …)

Thư viện không hỗ trợ các hàm trích chọn đặc trưng ở mức cao, mà thay vào đó, nó trực tiếp chuyển đổi dạng sóng thành các đặc trưng Điều này chủ yếu là do các hàm như vậy cần nhiều đối số để đảm bảo tính linh hoạt.

Spro là phần mềm tương thích với các hệ điều hành Linux, SPARC/SunOS và HP-UX Phiên bản SPro 4.0.1 có dung lượng 1.3M và có thể được tải xuống tại địa chỉ: [http://www.irisa.fr/metiss/guig/spro/spro-4.0.1/](http://www.irisa.fr/metiss/guig/spro/spro-4.0.1/).

2.1.4 Các công cụ nhận dạng người nói sử dụng SPro và ALIZE

Hình 2.2 Sơ đồ các công cụ sử dụng ALIZE trong nhận dạng người nói

Hình 2.2 mô tả các bước và công cụ liên kết tại mỗi bước, dưới đây là trình bày các bước như sau: a Trích chọn đặc trưng

Công cụ phân tích filter – bank sử dụng sfbcep trong SPro để thực hiện các đặc trưng được trích chọn Quá trình này được thực hiện thông qua câu lệnh: sfbcep [option] inputfile outputfile.

Các tùy chọn(option) như sau:

Xác định sóng đầu vào của file Định dạng hiển thị là ‘PCM16’, ‘wave’ hoặc ‘sphere’ Mặc định là: ‘PCM16’

Thiết lập sóng đầu vào tỉ lệ tần sô cho ‘PCM16’ Mặc định là 8kHz

Thiết lập đặc trưng cho các kênh Mặc định là 1

Trích chọn đặc trưng Loại bỏ khoảng lặng

Huấn luyện mô hình nền

Hu ấ n luy ệ n mô hình đích (gmm)

Trao đổi các mẫu sóng đầu vào

Thiết lập bộ đệm đầu vào kích cỡ tới n kbytes Mặc định: 10MB

Thiết lập bộ đệm đầu vào kích cỡ tới n kbytes Mặc định: 10MB

Thiết lập hệ số tiền nhấn mạnh đến f Mặc định: 0.95

Thiết lập các phân tích dài khung tới f ms Mặc định: 20.0 ms

Thiết lập khoảng thời gian giữa hai khung liên tiếp tới ms

Thiết lập số lượng đầu ra hệ số Cepstral đến n Mặc định là 12

Thêm năng lượng cho vector đặc trưng

Xác định các cửa sổ dạng sóng Cửa sổ có sẵn là ‘Hamming’, ‘Hanning',

`Blackman' hay không có gì Mặc định là của số ‘Hamming’

Thiết lập số kênh trong filter bank Mặc định là: 24

Thiết lập ràng buộc tần số thấp đến f Hz Mặc đinh: 0 Hz

Thiết lập tần số giới hạn trên đến f Hz Mặc định: Niquist

Thiết lập độ dài FFT tới n mẫu Mặc đinh: 512

Thêm các dẫn xuất đầu tiên đến các vector đặc trưng

Thêm các dẫn xuất tự thứ hai với vector đặc trưng Yêu cầu ` delta'

In thông báo và giúp các công cụ thoát

In thông tin phiên bản và thoát

Inputfile: Đầu vào là đường dẫn đến file tín hiệu âm thanh

Outputfile: Đầu ra của file âm thanh b Loại bỏ khoảng lặng

Sau khi tính toán tất cả các vector đặc trưng, bước quan trọng tiếp theo là xác định tính khả dụng của các vector đó Một phương pháp hiệu quả để phát hiện vấn đề này là so sánh với các khung có khoảng lặng Để chọn các khung tương ứng với tín hiệu, cần áp dụng một phương pháp dựa trên phân bố năng lượng của từng tín hiệu Để chuẩn hóa các hệ số năng lượng, hãy sử dụng lệnh NormFeat từ thư viện LIA SpkDet.

NormFeat [option] inputFeatureFileName inputfile là công cụ dùng để xử lý tín hiệu đầu vào liên quan đến đặc trưng, thông qua việc áp dụng các phương pháp chuẩn hóa Trong đó, inputfile là tên của file cần xử lý, có định dạng danh sách với phần mở rộng lst, và options là các tùy chọn đi kèm.

Giá trị tùy chọn được mô tả ở bảng dưới đây:

Bảng 2.1: Mô tả tùy chọn sử dụng tiêu chuẩn hóa năng lượng

Tùy chọn Giá trị Mô tả mode norm Xác định các loại tiêu chuẩn hóa( Định mức đặc trưng bình thường là phân bố gaussion

The article outlines the configuration settings for feature extraction in a file processing system It specifies the vector size as 31 on a scale of 1.0, with a feature size of 60 The settings include the load and save feature file formats, with the load feature file extension being prm and the save feature file extension as enr.prm The feature files are stored in the designated path /prm/ Additionally, the parameter writeAllFeatures is set to True, ensuring that all features from the original file are recorded correctly.

Sau đó, để chọn các khung với năng lượng cao nhất, sử dụng lệnh EnergyDetector của thư viện LIA SpkDet Câu lệnh thực hiện như sau:

EnergyDetector.exe [options] inputFeatureFileName inputfile

Bộ công cụ Sphinx3

Sphinx-3 là phiên bản nâng cấp từ Sphinx-II, được phát triển bởi trường Đại học Carnegie Mellon, chuyên về nhận dạng tiếng nói Hệ thống này bao gồm cả huấn luyện âm học và bộ giải mã Sphinx là phần mềm mã nguồn mở, hoạt động trên nền tảng Unix và được lập trình bằng ngôn ngữ C Người dùng có thể tải xuống phiên bản Sphinx 3.0.8 với dung lượng 49MB từ trang web chính thức.

To install Sphinx3, it is necessary to first install Sphinxbase You can download Sphinxbase version 0.8, which has a size of 3.3 MB, from the following link: http://sourceforge.net/projects/cmusphinx/files/sphinxbase/0.8/sphinxbase-

Các bộ giải mã s3.X mới nhất được phát triển nhằm chuyển đổi tiếng nói thành văn bản, với mục tiêu chính là nâng cao tốc độ xử lý Dưới đây là tóm tắt các tính năng nổi bật và những hạn chế của chúng.

- Thời gian nhận 5-10x để nhận dạng các công việc với bộ từ vựng lớn

- Giới hạn mô hình âm học liên tục

- Cấu trúc HMM hạn chế từ 3-5 trạng thái từ trái sang phải

- Mô hình ngôn ngữ Bigram hoặc Trigram

- Thực hiện chế độ hàng loạt hay trực tiếp từ tiếng nói trước khi ghi Gói chứa các chương trình sau:

- s3decode: The Sphinx-3 s3.2/s3.3/s3.X giải mã quá trình xử lý tập tin cesptral

- s3gausubvq: Cụm các vector để xây dựng mô hình âm thanh

- s3livedecode: giải mã trong chế độ trực tiếp

- s3livepretend: giải mã trong chế độ hàng loạt

- s3align: ràng buộc liên kết

- s3allphone: Nhận dạng âm vị

- s3astar: tìm kiếm theo giải thuật A*, tạo ra N-best

- s3dag: ứng dụng để tìm kiếm cách đường đi tốt nhất

2.2.2 Tổng quan về bộ giải mã s3.X

Bộ giải mã s3.X sử dụng thuật toán Viterbi và Heuristics, áp dụng cấu trúc tìm kiếm Lexical-Tree tương tự như Sphinx-II nhưng với cải tiến giúp tăng độ chính xác Đầu vào của bộ giải mã là tiếng nói ghi âm ở định dạng PCM thô, và kết quả nhận dạng được lưu vào một file.

- Kết quả đầu ra: Bộ giải mã cung cấp 2 kiểu đầu ra cho nhận dạng:

Giả thuyết nhận dạng là kết quả tốt nhất cho mỗi quá trình xử lý lời nói, thể hiện dưới dạng một chuỗi từ tuyến tính Nó bao gồm các thuộc tính bổ sung như phân đoạn thời gian và điểm số, giúp cải thiện độ chính xác trong nhận diện.

Lưới từ là một công cụ quan trọng trong việc nhận dạng lời nói, cho phép biểu diễn một từ từ tất cả người nói trong quá trình giải mã Nó bao gồm các thuộc tính như phân đoạn thời gian và điểm số hợp lệ của âm thanh, giúp cải thiện độ chính xác trong việc nhận diện.

Các bộ giải mã không chỉ tạo ra bản ghi chi tiết mà còn cung cấp thông tin hữu ích cho việc gỡ rối và thu thập số liệu thống kê từ thiết bị xuất chuẩn hoặc thiết bị lỗi chuẩn.

Các bộ giải mã bao gồm các chương trình tổng hợp để tạo ra một file thực thi duy nhất, thực hiện nhiệm vụ nhận dạng và đưa ra kết quả chính xác cho file đầu vào Đầu vào cần thiết bao gồm các mô hình đào tạo âm thanh, một tập file chỉ số mô hình, một mô hình ngôn ngữ, từ điển ngôn ngữ, từ điển phụ (filler) và thiết lập các tín hiệu âm thanh cần nhận dạng Dữ liệu được nhận dạng thường được gọi là dữ liệu thử nghiệm.

Tóm lại, các thành phần cung cấp để giải mã sẽ là:

 Mã nguồn của bộ giải mã

 Mô hình ngôn ngữ / Tập ngữ pháp hữu hạn (FSG)

 Các dữ liệu thử nghiệm

Để thực hiện nhận dạng âm thanh, cần có mô hình âm thanh đã được huấn luyện và các bộ giải mã tương ứng Trong quá trình huấn luyện, việc tạo tên cho mô hình tập tin chỉ số là rất quan trọng Tập tin mô hình chỉ số giúp nhận diện các trạng thái của HMM (Hidden Markov Model) và được sử dụng bởi người huấn luyện cũng như các bộ giải mã để truy cập chính xác các thông số trạng thái Mỗi tập hợp mô hình âm thanh cần có tập tin mô hình chỉ số tương ứng để quá trình giải mã diễn ra hiệu quả.

- Giải mã có thểđược thực hiện bằng một trong hai cách:

Để xây dựng một mô hình ngôn ngữ N-gram, cần có một mẫu văn bản đủ lớn, thường được thu thập từ các nguồn kỹ thuật số như tin tức và trang web, hoặc được tạo ra thông qua việc sao chép.

39 chép dữ liệu tiếng nói Đầu ra của một mô hình ngôn ngữ có thể là một sự kết hợp của các từ trong mô hình ngôn ngữ

 Sử dụng tập ngữ pháp hữu hạn (FSG)

Việc sử dụng một tập ngữ pháp hữu hạn (FSG) giúp xác định chính xác ngôn ngữ được chấp nhận bởi bộ nhận dạng giọng nói Đầu ra của FSG chỉ bao gồm những từ đã được quy định trong văn phạm, khác với mô hình ngôn ngữ N-gram, nơi mà các từ có thể được kết hợp tự do.

2.2.3 Công cụ nhận dạng tiếng nói sử dụng Sphinx3 a Tạo thư mục làm việc và cấu hình file cần thiết

Tạo thư mục để lưu trữ các file sinh ra của Sphinx3 Giả sử tên thư mục là: AnhDT Sử dụng câu lệnh như sau:

Kết quả sinh ra thư mục : “etc” Trong thư mục etc chứa 2 file: sphinx_train.cfg và feat params

Sau đó thì sửa trong thư mục “etc” các đường dẫn lưu các file cấu hình, file dữ liệu tiếng nói b Tính tham số MFCC

Để tạo ra các phân đoạn từ âm tiết, trước tiên cần trích xuất đặc trưng của file wav bằng công cụ sphinx_fe Bạn cần cung cấp các đối số phù hợp khi thực hiện lệnh sphinx_fe.

-verbose yes \ (Hiển thị tên file đầu vào)

-samprate 8000 \ (Tỷ lệ lấy mẫu)

-dither yes \ (Thờm ẵ - bớt nhiễu )

-nfilt 33 \ (số các bộ lọc)

-lowerf 133.33334 \ (độ lớn mép dưới của bộ lọc)

-upperf 3500 \ (độ lớn mép trên của bộ lọc)

-nfft 256 \ (kích cỡ của FFT)

-c docs/fileid.txt \ (Thư mục lưu FileID)

-di decoding/data \ (Thư mục lưu trữ file Wav)

-mswav yes \ (Định dạng đầu vào như Microsoft Wav )

-ei wav \ (Đầu vào mở rộng để được áp dụng cho tất cả các tập tin đầu vào) -do features \ (Thư mục lưu trữ các đặc trưng của file)

-eo mfc (Đầu ra mở rộng sẽ được áp dụng cho tất cả các tập tin đầu ra) c Đào tạo mô hình âm học

Lệnh chạy sẽ sinh ra các thư mục: bwaccumdir , logdir, model_architecture, model_parameters, qmanger, result, trees và file html cùng thư mục “etc”

Thư mục bwaccumdir: Thư mục đệm được sử dụng các thuật toán Baum-Welch để lưu trữ các kết quả trung gian

Thư mục feat: Lưu trữ các trích chọn đặc trưng

Thư mục logdir: Thư mục chứa quá trình chạy chương trình trong mỗi lần huấn luyện

Thư mục model_architecture: Chứa tất cả các file mô hình được tạo ra

Thư mục model_parameters: Chứa các tập tin nhị phân chính là các mô hình âm học HMM

Thư mục kết quả chứa thông tin về việc chạy chương trình và tính điểm cho từng từ khóa Đôi khi, âm thanh trong cơ sở dữ liệu không khớp với file danh sách (file transcription) đã tạo ra, ví dụ như file transcription ghi là “Chào các bạn” nhưng âm thanh thu được lại là “Chào chào các bạn” Quá trình huấn luyện thường phát hiện và ghi lại các lỗi này trong các file HTML hoặc file log Nếu có nhiều lỗi, có thể do sai sót trong quá trình sao chép và sắp xếp giữa mô hình âm thanh và file transcription Trong trường hợp có ít lỗi, có thể bỏ qua chúng Để chỉnh sửa cho đúng, người dùng có thể điều chỉnh trong file transcription hoặc yêu cầu hệ thống nhắc nhở bằng cách sử dụng huấn luyện forced alignment với lệnh sphinx3_align.

Sau khi trích xuất đặc trưng và huấn luyện mô hình âm học bằng công cụ sphinx3_align, cần cung cấp các đối số cần thiết để thực hiện lệnh sphinx3_align.

-hmm model_1/ \ (Thư mục lưu trữ các file mô hình: ví dụ mô hình: variance, mixture_weights, transition_matrices, mdef)

-dict marathiAgmark1500.dic \ (file từ điển)

-fdict 850spkr.filler \ (từ điển filler)

-ctl docs/fileid.txt\ (file-ids)

-insent phone.insent \ (File đầu vào transcription tương ứng để kiểm soát tập tin)

-cepdir features\ (thư mục trong đó các file đặc trưng được lưu trữ)

-phsegdir phonesegdir\ (thư mục mà bạn muốn lưu trữ các file phone- segmented)

-wdsegdir aligndir\ (Thư mục lưu trữ các phân đoạn từ)

-outsent phone.outsent\ (File đầu ra transcription chính xác với phát âm/ transcription)

TRIỂ N KHAI H Ệ TH Ố NG TH Ử NGHI Ệ M NH Ậ N D Ạ NG NGƯỜI NÓI TIẾNG VIỆT

Sơ đồ tổng quan quá trình xây dựng hệ thống nhận dạng người nói phụ thuộc từ khóa tiếng Việt

Hình 3.1 H ệ nhận dạng người nói phụ thuộc từ khóa tiếng Việt

Hệ thống nhận dạng người nói được thử nghiệm theo các bước cụ thể Đầu tiên, dữ liệu được chuẩn bị từ các file wav ghi âm qua micro với các từ khóa đã định sẵn Bộ dữ liệu này được chia thành hai phần: phần huấn luyện và phần thử nghiệm, sử dụng cho các công cụ ALIZE và Sphinx Khi chạy thử nghiệm trên ALIZE, hệ thống sẽ cung cấp điểm số (Score) cho từng người nói, trong khi Sphinx sẽ đưa ra điểm số cho từng từ khóa Để xác định người nói, hệ thống tính toán điểm tổng hợp của từng người trong cơ sở dữ liệu.

Tính điểm số của từng người nói sử dụng ALIZE

Tính điểm số của từng từ khóa sử dụng Sphinx

43 giá trị alpha thay đổi, người nói được nhận dạng ứng với người nói có điểm số lớn nhất.

Chuẩn bị dữ liệu

Chương trình đã được thử nghiệm trên 48 người nói, bao gồm 24 nam và 24 nữ, trong độ tuổi từ 13 đến 54, tất cả đều đến từ miền Bắc Việt Nam Thông tin chi tiết về các người nói được trình bày trong bảng dưới đây.

Bảng 3.1: Thông tin về dữ liệu 48 người nói

STT H ọ và tên Tu ổ i Quê quán Gi ớ i tính

1 Đỗ Thế Anh 20 Yên Mỹ - Hưng Yên Nam

2 Nguy ễn Văn Bẩ y 45 Khoái Châu - Hưng Yên Nam

3 Nguyễn Văn Cao 21 Mỹ Hào - Hưng Yên Nam

4 Vũ Công Chiến 20 Yên Mỹ - Hưng Yên Nam

5 Lê Thị Chi 23 Ân Thi - Hưng Yên Nữ

6 Đào Thu Diệp 27 Khoái Châu - Hưng Yên Nữ

7 Đỗ Th ị Dung 24 TP H ải Dương - H ải Dương N ữ

8 Phạm Thị Dung 54 Khoái Châu - Hưng Yên Nữ

9 Đào Đình Dương 14 Khoái Châu - Hưng Yên Nam

10 Phạm Ngọc Hải 45 Khoái Châu - Hưng Yên Nam

11 Đào Thị Hằng 13 Khoái Châu - Hưng Yên Nữ

12 Tr ầ n Th ị H ạ nh 25 Nam Sách - H ải Dương N ữ

13 Trần Văn Hiệp 23 Mỹ Hào - Hưng Yên Nam

14 Vũ Thị Thanh Hoa 20 Mỹ Hào - Hưng Yên Nữ

15 Nguyễn Thị Huệ 24 Kim Thành - Hải Dương Nữ

16 Phạm Mạnh Hùng 23 Duy Tiên - Hà Nam Nam

17 Vũ Khánh Hường 22 Quế Võ - Bắc Ninh Nam

18 Nguyễn Thị Huyền 22 Mỹ Hào - Hưng Yên Nữ

19 Lê Trung Huy 21 Yên M ỹ - Hưng Yên Nam

20 Lê Văn Huy 21 Yên Mỹ - Hưng Yên Nam

21 Trần Văn Khánh 21 Ân Thi - Hưng Yên Nam

22 Đào Đình Khoa 28 Khoái Châu - Hưng Yên Nam

23 Đào Đình Khỏe 23 Chí Linh - Hải Dương Nam

STT H ọ và tên Tu ổ i Quê quán Gi ớ i tính

24 Nguyễn Thế Khương 22 Gia Lâm - Hà Nội Nam

25 Phạm Trung Kiên 22 Yên Phong - Bắc Ninh Nam

26 Phạm Hồng Kì 20 Mỹ Hào - Hưng Yên Nam

27 Đào Thị Lan Anh 13 Khoái Châu - Hưng Yên Nữ

28 Phạm Thị Liên 40 Khoái Châu - Hưng Yên Nữ

29 Nguyễn Văn Minh 21 Bình Giang - Hải Dương Nam

30 Nguyễn Thị Hải Năng 30 Ba Vì - Hà Tây Nữ

31 Nguyễn Xuân Nhị 22 Mỹ Hào - Hưng Yên Nam

32 Đào Thị Quỳnh 18 Khoái Châu - Hưng Yên Nữ

33 Nguyễn Thị Quỳnh 23 Ân Thi - Hưng Yên Nữ

34 Vũ Văn Sơn 21 Văn Giang - Hưng Yên Nam

35 Nguyễn Thị Suốt 24 Văn Giang - Hưng Yên Nữ

36 Tr ầ n Th ị Tâm 24 Văn Lâm - Hưng Yên N ữ

37 Lê Trung Thành 25 Phù Cừ - Hưng Yên Nam

38 Bùi Bá Thức 24 Lương Tài - Bắc Ninh Nam

39 Nguyễn Đình Thương 23 Kinh Môn - Hải Dương Nam

40 Nguyễn Thị Thanh Thủy 21 Kim Bảng - Hà Nam Nữ

41 Ph ạ m Anh T ố 24 Văn Lâm - Hưng Yên Nam

42 Bùi Thị Huyền Trang 21 Yên Mỹ - Hưng Yên Nữ

43 Phạm Thị Trang 22 TX Hưng Yên - Hưng Yên Nữ

44 Phạm Thị Tú 23 Tiên Lữ - Hưng Yên Nữ

45 Trần Thị Vân 24 Phù Cừ - Hưng Yên Nữ

46 Lê Th ị Vui 24 Yên M ỹ - Hưng Yên N ữ

47 Nguyễn Thị Yến 24 Mỹ Hào - Hưng Yên Nữ

48 Nguyễn Thị Ngọc Yến 23 Văn Lâm - Hưng Yên Nữ

Mỗi người tham gia sẽ đọc lần lượt các từ “không một hai ba bốn năm sáu bảy tám chín” và “chín tám bẩy sáu năm bốn ba hai một” tổng cộng 15 lượt cho mỗi cụm từ Quá trình thu âm diễn ra trong các phòng kín, sử dụng mic để thu âm trực tiếp Phần mềm được sử dụng cho việc thu âm là Cool Edit Pro 2.0, với định dạng thu là 16000Hz, 16 bit, Mono.

Hình 3.2 File wav bi ểu diễn tín hiệu phát âm từ khóa 0 đến 9 của người nói

Sau khi thu âm, file âm thanh được lưu trữ dưới định dạng Wav Mỗi người tham gia được huấn luyện với 20 lần phát âm đoạn văn và trải qua quá trình kiểm thử từ 2 đến 10 lần.

Kết quả nghiên cứu đã xây dựng một cơ sở dữ liệu tiếng nói phục vụ cho việc nhận dạng người nói qua các từ khóa tiếng Việt Cơ sở dữ liệu này được lưu trữ trong file INPUT, bao gồm 470MB dữ liệu âm thanh, tương đương với 288 phút.

Mỗi người đọc sẽ có định dạng file lưu theo lượt đọc từ khóa, với 30 lượt đọc cho mỗi cá nhân Lượt đọc từ "không đến chín" được lưu theo định dạng: TenNguoiNoi_09_SoLuotDoc, ví dụ: DiepDT_09_01 đến DiepDT_09_15 Ngược lại, lượt đọc từ "chín đến không" sẽ được lưu dưới định dạng: DiepDT_90_01 đến DiepDT_90_15, với định dạng file mặc định là Wav Mỗi file tiếng nói sẽ chứa 10 âm thanh tương ứng với 10 từ khóa.

Dữ liệu được mô tả ở trên được chia thành 2 tập:

Dữ liệu huấn luyện được xây dựng từ 48 người, mỗi người có 30 file thu âm Trong số này, 20 file sẽ được sử dụng để huấn luyện, bao gồm 10 file đầu từ 0 đến 9 và 10 file đầu từ 9 đến 0.

960 files – khoảng 273MB dữ liệu – 196 phút

- Tập dữ liệu để Test: Lấy 5 file test sau của mỗi người đọc từ 0 -> 9 và 5 file test sau của mỗi người đọc từ 9 ->0 để cắt ra thử nghiệm

Mỗi file test dài được cắt ra thành 10 từ khóa, bao gồm các số từ 0 đến 9 Với 10 file test dài và 48 người nói, tổng số file test sẽ lên tới 4.800 file, mỗi file có độ dài khoảng 0.03-0.05 giây, tạo ra khoảng 66 MB dữ liệu.

Mỗi file test sẽ được cắt thành các cụm từ hai từ, với mỗi người nói thực hiện 50 file test Khi người nói đọc từ 0 đến 9, sẽ có 5 từ khóa được cắt ra: 01, 23, 45, 67, 89 Ngược lại, khi đọc từ 9 đến 0, sẽ có 5 từ khóa khác: 98, 76, 54, 32, 10 Tổng cộng, với 48 người nói, sẽ có 2.400 file test, mỗi file có độ dài khoảng 0.1-0.3 giây, tạo ra khoảng 150 MB dữ liệu.

Mỗi file test sẽ chứa các cụm từ dài 5 từ, được cắt ra từ các đoạn người nói đọc Cụ thể, khi người nói đọc từ 0 đến 9, sẽ có hai từ khóa được cắt ra là 01234 và 56789 Ngược lại, khi đọc từ 9 đến 0, hai từ khóa cắt ra sẽ là 98765 và 43210 Tổng cộng, với 48 người nói thực hiện 20 file test mỗi người, sẽ có 960 file test được tạo ra, mỗi file test có thời gian từ 0.4 đến 0.7 giây.

Tập test bao gồm 10 từ khóa, với mỗi file ghi âm từ 0 đến 9 và từ 9 đến 0 Mỗi người tham gia sẽ có 10 file test, tạo ra tổng cộng 48 người nói, dẫn đến 480 file test với thời gian mỗi file từ 11 đến 15 giây Tổng dung lượng dữ liệu đạt khoảng 160 MB.

Trong quá trình huấn luyện hoặc kiểm tra nhận dạng, chỉ cần sử dụng một số từ khóa nhất định Khi cần cắt một từ khóa để sử dụng trong chương trình, việc thực hiện thủ công sẽ tốn nhiều thời gian, đặc biệt là khi số lượng người lớn Để tiết kiệm thời gian, có thể sử dụng công cụ Praat để cắt từng từ và lưu lại dưới dạng tên file.

Praat là phần mềm nghiên cứu và phân tích ngữ âm phổ biến và dễ sử dụng, cho phép người dùng thực hiện phân tích bài phát biểu một cách miễn phí Được phát triển bởi Paul Boersma và David Weenink từ Đại học Amsterdam, Praat (nghĩa là "nói chuyện" trong tiếng Hà Lan) là công cụ lý tưởng cho các nhà nghiên cứu ngữ âm.

Phần mềm này hỗ trợ phân tích tiếng nói hiệu quả, cho phép các nhà nghiên cứu quan sát trực tiếp các tham số như tần số cơ bản (F0), cường độ, trường độ và formants trên tín hiệu nói Nó còn cung cấp các chức năng trích xuất tham số, phục vụ cho nhiều nghiên cứu khác nhau.

Praat không chỉ hỗ trợ người dùng trong việc phân tích âm thanh mà còn cung cấp khả năng lập trình các chương trình tính toán và biểu diễn tham số tự động thông qua chức năng viết script linh hoạt Bạn có thể tải Praat tại đây: http://praat.en.softonic.com/download.

3.2.1 Chuẩn bị dữ liệu cho nhận dạng bởi công cụ ALIZE a Tạo file danh sách chứa trong thư mục lst

To prepare for training and testing data, the following files are required: all.lst, all1.lst, TenNguoiNoi_train, world.lst, and world.weight Each file contains essential content that must be documented for effective data processing.

Nhận dạng người nói sử dụng ALIZE

Các bước thực hiện nhận dạng người nói sử dụng công cụ ALIZE được mô tả như hình dưới đây:

Hình 3.3 Các bước xây dựng hệ nhận dạng người nói sử dụng SPro & ALIZE

Tạo thư mục làm việc

Dò tìm năng lượng Phát hiện tiếng nói trong tín hiệu

Chuẩn hóa các tham số của tín hiệu Chuẩn hóa TrainWorldInit

Huấn luyện GMM cho từng người nói

Tính điểm số của từng người nói

Sau đây là hướng dẫn chi tiết các bước thực hiện lệnh chạy của chương trình:

3.3.1 Bước 1: Tạo thư mục làm việc

Để tổ chức công việc hiệu quả, hãy tạo các thư mục chứa các file dữ liệu cần thiết cho chương trình, bao gồm các file có tên như lst, prm, lbl, gmm, cfg, ndx và input.

“input”chứa các file wav có thể đặt cùng thư mục hoặc ngoài thư mục này

3.3.2 Bước 2: Tính tham số MFCC

Để tạo ra các vector đặc trưng từ tín hiệu tiếng nói, bạn cần sử dụng công cụ sfbcep để tính toán các tham số MFCC Trước tiên, các file wav cần được chuẩn hóa thành file prm Hãy tạo một thư mục có tên "prm" để chương trình có thể lưu trữ các file prm một cách dễ dàng.

- Đầu vào: file tiếng nói có định dạng *.wav

- Đầu ra: file prm có chứa tham số MFCC

Sử dụng câu lệnh: sfbcep -F PCM16 -f 16000 -p 19 -e -D -A input/AnhDT_09_01.wav prm/AnhDT_09_01.prm Ý nghĩa của câu lệnh như sau:

-F PCM16: sử dụng định dạng hiển thị sóng đầu vào của file là : PCM16

-f 16000: sử dụng tần số cho sóng đầu vào là: 16000F

-p 19: có hệ số Cepstral là 19

-e: sử dụng thêm năng lượng cho vector đặc trưng

-D: Thêm các dẫn xuất đầu tiên đến các vector đặc trưng

-A: Thêm các dẫn xuất thứ hai với vector đặc trưng

 Kết quả : sinh ra file AnhDT_09_01.prm

3.3.3 Bước 3: Dò tìm năng lượng

- Đầu vào: file all1.lst

- Đầu ra: file enr.prm được lưu trong thư mục prm

NormFeat config /cfg/NormFeat_energy.cfg inputFeatureFilename

 Kết quả : sinh ra file AnhDT_09_01.enr.prm, AnhDT_09_02.enr.prm…

3.3.4 Bước 4: Phát hiện tiếng nói trong tín hiệu

- Đầu vào: file all1.lst

- Đầu ra: file lbl được lưu trong thư mục lbl

EnergyDetector config /cfg/EnergyDetector.cfg inputFeatureFilename

/lst/all1.lst verbose true debug false

 Kết quả : sinh ra file AnhDT_09_01.lbl, AnhDT_2Tu_67_4.lbl…

Nội dung của file AnhDT_2Tu_67_4.lbl:

3.3.5 Bước 5: Chuẩn hóa các tham số của tín hiệu

- Đầu vào: file all1.lst

- Đầu ra: file norm.prm được lưu trong thư mục prm

NormFeat config /cfg/NormFeat.cfg inputFeatureFilename /lst/all1.lst

 Kết quả : sinh ra file AnhDT_09_01.lbl, AnhDT_2Tu_67_4.norm.prm…

- Đầu vào: file world.lst và file world.weight

- Đầu ra: file worl_init.gmm, world_initinit.gmm

TrainWorld config /cfg/TrainWorldInit.cfg inputStreamList /lst/world.lst weightStreamList /lst/world.weight outputWorldFilename world_init debug false verbose true

- Đầu vào: file world.lst và file world.weight

- Đầu ra: file world.gmm

TrainWorld config /cfg/TrainWorldFinal.cfg inputStreamList /lst/world.lst weightStreamList /lst/world.weight outputWorldFilename world inputWorldFilename world_init debug false verbose true

3.3.8 Bước 8: Huấn luyện GMM cho từng người nói Đầu vào: file TenNguoiNoi.ndx Đầu ra: file TenNguoiNoi_gmm.gmm

TrainTarget config /cfg/target_dc.cfg targetIdList /ndx/AnhDT.ndx inputWorldFilename world debug false verbose true

 Kết quả : sinh ra file AnhDT_gmm, BayNVN_gmm, CaoNV_gmm,

3.3.9 Bước 9: Nhận dạng người nói

- Đầu và: file testSpeaker_TenNguoiNoi.ndx

- Đầu ra là: file TenNguoiNoi.res

ComputeTest config cfg/target_seg_male.cfg ndxFilename ndx/testSpeakerAnhDT.ndx outputFilename AnhDT.res inputWorldFilename world channelCompensation AnhDT

 Kết quả : sinh ra file AnhDT.res, BayNVN.res, CaoNV.res, ChienDT.res

Ví dụ: file kết quả AnhDT.res như sau:

Mỗi file âm thanh sẽ ghi lại điểm số tương ứng cho N người nói, và người có điểm số cao nhất trong số đó chính là kết quả mà hệ thống xác định.

Nhận dạng tiếng nói sử dụng Sphinx3

Hình 3.4 Sơ đồ tổng quát xây dựng Forced alignment proces

Tạo thư mục làm việc và cấu hình các file

Cập nhật dữ liệu huấn luyện

Tính điểm số qua sphinx3 Huấn luyện mô hình âm học

Quá trình huấn luyện mô hình Sphinx3 được chia thành 4 bước, trong đó bước đầu tiên là tạo cấu trúc thư mục và các file cấu hình cần thiết Bước này sẽ cung cấp hướng dẫn chi tiết về các câu lệnh để thiết lập cấu trúc thư mục và các file cấu hình.

Bước 2: Cập nhật dữ liệu huấn luyện, trong bước này, bạn sẽ thực hiện các thao tác để cập nhật dữ liệu vào các thư mục làm việc trên máy tính, nhằm chuẩn bị cho quá trình huấn luyện hiệu quả.

+ Bước 3: Tính tham số MFCC của các file wav Bước này sẽ trình bày chi tiết các câu lệnh để tính tham số MFCC của các file wav

+ Bước 4: Huấn luyện mô hình âm học của từng từ khóa Ở bước này sẽ tạo ra mô hình các âm vị của người nói (HMM)

+ Bước 5: Tính điểm số nhận dạng tiếng nói của từng từ khóa

Và sau đây là phần trình bày chi tiết từng bước đã nêu ở trên:

3.4.1 Bước 1: Tạo cấu trúc thư mục và các file cấu hình cần thiết

Tạo thư mục Sphinx_TenNguoiNoi, có 48 người nói tương ứng với 48 thư mục Chạy lệnh: sphinxtrain -t AnhDT setup

Kết quả sinh ra thư mục : “etc” Trong thư mục etc chứa 2 file: sphinx_train.cfg và feat params

3.4.2 Bước 2: Cập nhật dữ liệu huấn luyện

Cập nhật các file tài nguyên vào đúng tên file và đường dẫn trong file cấu hình

Mở file có đường dẫn AnhDT/etc/sphinx_train.cfg và sửa như sau:

$CFG_WAVFILES_DIR = "$CFG_BASE_DIR/wav"; sửa thành:

$CFG_WAVFILES_DIR = "/home/diep/input"; Ở bước này copy lần lượt 5 file đã tạo: AnhDT.dic, AnhDT.phone, AnhDT.filler,

AnhDT_train.fileids, AnhDT_train.transcription vào thư mục “etc

3.4.3 Bước 3: Huấn luyện mô hình âm học

Sau khi đã copy đầy đủ các 5 file vào thư mục “etc” Chạy lệnh: sphinxtrain run

Chương trình sẽ tạo ra các file thư mục: bwaccumdir, feat, logdir, model_architecture, model_parameters, qmanger, result, trees cùng thư mục etc

3.4.4 Bước 4: Tính tham số MFCC của file Wav

- Đầu vào: đường dẫn file đến file wav

- Đầu ra: File mfc tương ứng

Câu lệnh thực hiện: sphinx_fe -i /home/diep/input/AnhDT_2Tu_01_1.wav -o AnhDT_2Tu_01_1.mfc

3.4.5 Bước 5: Tính điểm số từng từ khóa qua Sphinx3

- Đầu vào: Thư mục lưu trữ các mô hình HMM, và các file: test.transcription, test.fileids, file mfc, file dic,

- Đầu ra: file out, wdseg

Câu lệnh chạy như sau:

/home/diep/sphinx3/src/programs/sphinx3_align

-insent /Sphinx3_testtran/AnhDT_2Tu_01_1_test.transcription

-hmm /Sphinx_AnhDT/model_parameters/AnhDT.ci_cont

-dict /Sphinx_AnhDT/etc/AnhDT.dic

-ctl /Sphinx3_testtran/AnhDT_2Tu_01_1_test.fileids

-cepdir /mfcc -cepext mfc -wdsegdir

Nội dung trong file wdseg chính là giá trị điểm số cần tính

Ví dụ: kết quả chạy AnhDT_2Tu_01_1.wdseg chương trình như sau:

Chương trình nhận dạng người nói tích hợp bộ công cụ ALIZE và Sphinx3 cho phép lưu trữ kết quả từ các file âm thanh vào một file duy nhất.

TONGHOPAS Tác giả xây dựng bộ thử nghiệm với 4 sự thay đổi của từ khóa

Ví dụ: File tổng hợp cho 1 từ khóa với người thử nghiệm đầu tiên tên là: File TONGHOP1TUAS có nội dung như sau:

Cấu trúc file được lưu trữ bao gồm tên file wav và từ khóa đang xét, tiếp theo là 48 giá trị điểm số từ chương trình ALIZE, sau đó là 48 giá trị điểm số từ Sphinx3_align.

Với file ví dụ ở trên:

- Tên file: AnhDT_0_01.wav: có nghĩa là người tên AnhDT nói số “không” xét lần thứ 01

- 48 giá trị chạy ALIZE là: 0.75 -1.71 -1.04 -1.75 -1.18 0.29 0.26 -1.43 -1.17 - 0.18 -1.02 0.48 -0.33 -1.22 -0.93 -0.81 -1.41 0.28 -0.80 1.01 -0.54 0.09 -2.42 -

Các giá trị từ -2.19 đến 1.17 đại diện cho điểm số nhận dạng của 48 người nói khi so sánh tín hiệu tiếng nói thử nghiệm của người tên AnhDT với 48 mô hình GMM đã được huấn luyện Những giá trị này phản ánh hiệu suất nhận dạng giọng nói trong quá trình thử nghiệm.

Điểm số được lưu trữ sẽ tương ứng với từng người nói theo chỉ số quy ước trước đó Trong dãy điểm số, điểm cao nhất sẽ xác định người nói mà chương trình nhận dạng.

Các giá trị điểm số từ -3205525.00 đến 0.00 đại diện cho kết quả của 48 người nói khi thử nghiệm với 1, 2, 5 và 10 từ khóa Những điểm số này được so sánh với tín hiệu giọng nói của người tên AnhDT khi phát âm số “không” Mỗi điểm số tương ứng với một người nói cụ thể, dựa trên chỉ số đã được quy định trước trong dữ liệu HMM đã được huấn luyện Thông tin chi tiết có thể tham khảo trong phần phụ lục về CODE nhận dạng người nói tiếng Việt.

Với phương pháp lưu trữ dữ liệu thử nghiệm này, các thử nghiệm khác nhau có thể truy cập dữ liệu từ file tổng hợp, giúp chương trình tiết kiệm thời gian và tài nguyên bằng cách không cần phải chạy nhiều lần.

Nhận dạng người nói phụ thuộc từ khóa tiếng Việt

3.5.1 Nhận dạng người nói sử dụng ALIZE và Sphinx3

- P Alize : lần lượt là 48 giá trị điểm số được lưu ở các file tổng hợp là kết quả chạy qua bộ công cụ ALIZE

- alpha: giá trị thử nghiệm

- P Sphinx : lần lượt là 48 giá trị điểm số được lưu ở các file tổng hợp là kết quả chạy tính xác suất qua bộ công cụ Sphinx3

Các th ử nghiệm lần lượt được thực hiện như sau:

- Test 1: Thử nghiệm với dữ liệu lấy từ xác suất tiên nghiệm lấy từ mô hình

GMM (chạy qua bộ công cụ ALIZE ) và mô hình HMM (chạy qua bộ công cụ Sphinx) của từng người nói

Chương trình thử nghiệm sẽ xuất ra file kết quả tổng hợp, bao gồm điểm số từ bộ công cụ ALIZE và Sphinx Tiếp theo, chúng tôi sẽ tiến hành thử nghiệm với các giá trị alpha khác nhau nhằm tìm ra tỷ lệ nhận dạng người nói cao nhất theo công thức đã đề ra.

- Test 2: Thử nghiệm với dữ liệu lấy từ xác suất tiên nghiệm lấy từ mô hình

GMM (chạy qua bộ công cụ ALIZE) và xác suất hậu nghiệm lấy từ mô hình HMM (chạy qua bộ công cụ Sphinx) của từng người nói

Chương trình thử nghiệm tạo ra file kết quả tổng hợp với điểm số từ bộ công cụ ALIZE và Sphinx Hệ số alpha được chạy trong khoảng [0,1], và để tính toán, xác suất tiên nghiệm của ALIZE sẽ được nhân với xác suất hậu nghiệm của Sphinx theo công thức đã đề cập Xác suất tiên nghiệm của ALIZE là kết quả từ chương trình, trong khi giá trị xác suất hậu nghiệm của Sphinx được tính toán riêng.

= xác suất của từng từ khóa/ tổng hợp của N người nói từ khóa đó a Thử nghiệm dữ liệu lấy từ xác suất của ALIZE và Sphinx:

Ch ạy theo xác suất: pSpeakerMax = P Alize + alpha*P Sphinx

Bảng 3.2: Kết quả nhận dạng người nói thử nghiệm với Test 1: sử dụng xác suất tiên nghiệm lấy từ mô hình HMM và GMM của người nói

Tập Test Tỷ lệ nhận dạng đúng % (alpha = value)

Hình 3.5 Bi ểu đồ thể hiện kết quả nhận dạng với Test 1

Nhận xét cho thấy rằng kết quả nhận dạng người nói không thay đổi nhiều với bộ từ khóa ngắn (1-2 từ khóa) khi thay đổi giá trị alpha Tuy nhiên, với bộ từ khóa dài (5-10 từ khóa), tỷ lệ nhận dạng đạt cao hơn và có thể đạt độ chính xác 100% Khi giá trị alpha giảm xuống -9, tỷ lệ nhận dạng giảm còn 86,8% Sự gia tăng tỷ lệ nhận dạng người nói gấp đôi khi chuyển từ 1 từ khóa lên 2 từ khóa, và với 5 từ khóa trở lên, độ chính xác tuyệt đối 100% được duy trì khi giá trị alpha nhỏ.

64 b Thử nghiệm dữ liệu lấy từ xác suất tiên nghiệm của ALIZE và xác suất hậu nghiệm Sphinx

Bảng 3.3 trình bày kết quả nhận dạng người nói trong thử nghiệm Test 2, trong đó xác suất tiên nghiệm được lấy từ mô hình GMM và xác suất hậu nghiệm được lấy từ mô hình HMM cho từng người nói.

Tỷ lệ nhận dạng đúng % (với giá trị alpha=) 0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

Hình 3.6 Bi ểu đồ thể hiện kết quả nhận dạng với Test 2

Nhận xét từ bảng tổng hợp và biểu đồ cho thấy rằng kết quả nhận dạng người nói không có sự thay đổi đáng kể khi giá trị alpha nằm trong khoảng từ 0.0 đến 0.8.

Khi giá trị alpha tăng lên, tỷ lệ nhận dạng từ khóa giảm rõ rệt Cụ thể, với alpha=0.9, tỷ lệ nhận dạng cho 1 từ khóa giảm 3-4%, 2 từ khóa giảm khoảng 4%, 5 từ khóa giảm từ 15-22%, và 10 từ khóa giảm trên 10% Đặc biệt, khi alpha=1, tỷ lệ nhận dạng cho 1, 2, 5, và 10 từ khóa chỉ còn khoảng 1,5 đến 3,1% Điều này cho thấy rằng tỷ lệ nhận dạng có xu hướng giảm khi giá trị alpha tăng.

3.5.2 Phân tích và đánh giá kết quả a Thời gian chạy chương trình thử nghiệm:

Bảng 3.4: Kết quả tổng hợp các thử nghiệm theo thời gian

Thời gian chạy (tính theo phút)

Nhìn vào bảng thời gian chạy thử nghiệm, có thể thấy rằng kết quả của hai bài kiểm tra là tương tự nhau do sử dụng chung một file dữ liệu tổng hợp Sự khác biệt duy nhất giữa hai bài kiểm tra là công thức chạy (3.1) và (3.2) Bảng tổng hợp thời gian chạy cho thấy rằng, với 10 file dài thử nghiệm, bao gồm 5 file của 48 người nói, kết quả không có sự khác biệt đáng kể.

Khi số lượng file dữ liệu từ 48 người giảm dần từ "không" đến "chín", thời gian chạy của chương trình sẽ tăng lên Kết quả cho thấy chương trình hoạt động tối ưu hơn khi số file được tổ chức hợp lý.

Lấy giá trị nhận dạng cho ra kết quả nhận dạng tốt nhất của các chương trình nhận dạng kết hợp của ALIZE và Sphinx được bảng 3.4:

Bảng 3.5: Bảng tổng hợp kết quả nhận dạng các chương trình đã thử nghiệm

Tỷ lệ nhận dạng đúng (%)

Hình 3.7 Bi ểu đồ thể hiện kết quả nhận dạng với các thử nghiệm

Qua s ố liệu thống kê được biểu diễn bằng bảng và biểu đồ, ta có nhận xét chung như sau:

Nghiên cứu cho thấy việc nhận dạng người nói với từ khóa dài mang lại tỷ lệ chính xác cao, đạt 100% trong bài kiểm tra với 5 và 10 từ khóa Tuy nhiên, trong bài kiểm tra thứ hai, tỷ lệ này giảm nhẹ xuống khoảng 97% Khi số lượng từ khóa giảm xuống còn 2, tỷ lệ nhận dạng đạt 86,3% và 84,6% cho hai bài kiểm tra Đặc biệt, khi chỉ sử dụng 1 từ khóa, tỷ lệ nhận dạng giảm xuống dưới 40% Thực tế cho thấy thời gian nhận dạng cho mỗi từ khóa chỉ mất khoảng 0,03-0,05 giây.

1 từ khóa 2 từ khóa 5 từ khóa 10 từ khóa

Việc cải thiện độ chính xác nhận dạng là một thách thức, tuy nhiên, khi thử nghiệm với 2 từ khóa trong mỗi file wav có thời gian từ 0,1-0,3 giây, tỷ lệ nhận dạng đã tăng hơn 2 lần so với khi chỉ sử dụng 1 từ khóa Đặc biệt, khi sử dụng 5 hoặc 10 từ khóa với thời gian thử nghiệm từ 0,4 đến 11 giây cho mỗi file wav, tỷ lệ nhận dạng có thể đạt 100%.

Kết quả từ hai bài kiểm tra cho thấy sự khác biệt trong tỷ lệ nhận dạng Trong khi bài kiểm tra 2 với một từ khóa có tỷ lệ nhận dạng cao hơn 0,3%, bài kiểm tra 1 lại vượt trội hơn khi sử dụng bộ từ khóa dài từ 2-10 từ khóa nhờ vào giá trị alpha thấp hơn Bảng 3.3 cũng chỉ ra rằng thời gian nhận dạng giảm khi người nói sử dụng câu dài hơn, với tỷ lệ nhận dạng tốt hơn cho các câu có 5 và 10 từ khóa so với các câu ngắn chỉ có 1 và 2 từ khóa.

KẾ T LU Ậ N VÀ KI Ế N NGH Ị

Ngày đăng: 08/12/2021, 23:19

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Bonastre J.-F., Scheffer N., Fredouille C., Matrouf D. (2004), “Nist’04 Speaker Recognition Evaluation Campaign: New Lia Speaker Detection Plateform Based On Alize Toolkit”, 2004 NIST SRE 04 Workshop: speaker detection evaluation campaign, Toledo, Spain Sách, tạp chí
Tiêu đề: Nist’04 Speaker Recognition Evaluation Campaign: New Lia Speaker Detection Plateform Based On Alize Toolkit”, "2004 NIST SRE 04 Workshop: speaker detection evaluation campaign
Tác giả: Bonastre J.-F., Scheffer N., Fredouille C., Matrouf D
Năm: 2004
[3] Dương Tử Cường (2003), X ử lý tín hiệu số , Nxb Quân đội nhân dân, Hà N ộ i Sách, tạp chí
Tiêu đề: Xử lý tín hiệu số
Tác giả: Dương Tử Cường
Nhà XB: Nxb Quân đội nhân dân
Năm: 2003
[4] Đinh Lê Thành, Nguyễn Quốc Linh, Trịnh Văn Loan, “Định danh người nói Ti ế ng vi ệ t s ử d ụ ng mô hình h ỗ n h ợ p Gaussian “, H ội nghị khoa học lần thứ 20 – ĐH Bách khoa Hà Nội, tr. 40-45 Sách, tạp chí
Tiêu đề: Định danh người nói Tiếng việt sử dụng mô hình hỗn hợp Gaussian “, "Hội nghị khoa học lần thứ 20 – ĐH Bách khoa Hà Nội
[4] Jean-Francáois Bonastre, Fr´ed´eric Wils (2005), “ALIZE, A FREE TOOLKIT FOR SPEAKER RECOGNITION”, IEEE International Conference , pp. I 737 - I 740 Sách, tạp chí
Tiêu đề: ALIZE, A FREE TOOLKIT FOR SPEAKER RECOGNITION”, "IEEE International Conference
Tác giả: Jean-Francáois Bonastre, Fr´ed´eric Wils
Năm: 2005
[5] Ngô Minh Dũng, Đặng Văn Chuyết (2007), “ Xây dựng và khảo sát độ dài từ khóa trong nhận dạng người nói phụ thuộc vào từ khóa tiếng Việt theo mô hình Markov ẩn”, Tạp chí BCVT & CNTT ), tr. 93-99 Sách, tạp chí
Tiêu đề: Xây dựng và khảo sát độ dài từ khóa trong nhận dạng người nói phụ thuộc vào từ khóa tiếng Việt theo mô hình Markov ẩn”, "Tạp chí BCVT & CNTT
Tác giả: Ngô Minh Dũng, Đặng Văn Chuyết
Năm: 2007
[6] Ngô Minh D ũ ng, Đặ ng V ă n Chuy ế t (2004), “Kh ả o sát tính ổ n đị nh c ủ a m ộ t s ố đặ c tr ư ng ng ữ âm trong nh ậ n d ạ ng ng ườ i nói”, T ạp chí BCVT& CNTT, (kỳ 3 10/2004), tr. 12-18 Sách, tạp chí
Tiêu đề: Khảo sát tính ổn định của một số đặc trưng ngữ âm trong nhận dạng người nói”, "Tạp chí BCVT "& CNTT
Tác giả: Ngô Minh D ũ ng, Đặ ng V ă n Chuy ế t
Năm: 2004
[7] Viện công nghệ thông tin Việt Nam (2004), Tổng hợp và nhận dạng ti ếng Vi ệt , Đề tài nghiên cứu cấp nhà nước KC01- 03D, Hà NộiWebsite Sách, tạp chí
Tiêu đề: Tổng hợp và nhận dạng tiếng Việt
Tác giả: Viện công nghệ thông tin Việt Nam
Năm: 2004

HÌNH ẢNH LIÊN QUAN

Hình 1.1. Hệ thống xác định người nói - Nhận dạng người nói phụ thuộc từ khóa tiếng việt
Hình 1.1. Hệ thống xác định người nói (Trang 17)
Hình 1.2. Mô hình xác định người nói - Nhận dạng người nói phụ thuộc từ khóa tiếng việt
Hình 1.2. Mô hình xác định người nói (Trang 18)
Hình 1.3. Hệ thống xác minh người nói - Nhận dạng người nói phụ thuộc từ khóa tiếng việt
Hình 1.3. Hệ thống xác minh người nói (Trang 19)
Hình 1.3. là một hệ  thống xác minh người nói thông qua cách truy cập bằng dữ  liệu tiếng nói vào hệ thống - Nhận dạng người nói phụ thuộc từ khóa tiếng việt
Hình 1.3. là một hệ thống xác minh người nói thông qua cách truy cập bằng dữ liệu tiếng nói vào hệ thống (Trang 19)
Hình 1.5. Các thành phần của một hệ thống nhận dạng người nói - Nhận dạng người nói phụ thuộc từ khóa tiếng việt
Hình 1.5. Các thành phần của một hệ thống nhận dạng người nói (Trang 21)
Hình 1.6. Hệ thống định danh người nói sử dụng giải thuật GMM - Nhận dạng người nói phụ thuộc từ khóa tiếng việt
Hình 1.6. Hệ thống định danh người nói sử dụng giải thuật GMM (Trang 23)
Hình 1.7. Pha nhận dạng hệ nhận dạng người nói phụ thuộc từ khóa thay đổi - Nhận dạng người nói phụ thuộc từ khóa tiếng việt
Hình 1.7. Pha nhận dạng hệ nhận dạng người nói phụ thuộc từ khóa thay đổi (Trang 25)
Hình 1.8. Kết quả khảo sát độ chính xác nhận dạng người nói phụ thuộc độ dài - Nhận dạng người nói phụ thuộc từ khóa tiếng việt
Hình 1.8. Kết quả khảo sát độ chính xác nhận dạng người nói phụ thuộc độ dài (Trang 26)
Hình 2.1. Thành ph ần của gói công cụ ALIZE - Nhận dạng người nói phụ thuộc từ khóa tiếng việt
Hình 2.1. Thành ph ần của gói công cụ ALIZE (Trang 28)
Hình 2.2.  Sơ đồ các công cụ sử dụng ALIZE trong nhận dạng người nói - Nhận dạng người nói phụ thuộc từ khóa tiếng việt
Hình 2.2. Sơ đồ các công cụ sử dụng ALIZE trong nhận dạng người nói (Trang 30)
Bảng 2.3: Mô tả tùy chọn chuẩn hóa đặc trưng - Nhận dạng người nói phụ thuộc từ khóa tiếng việt
Bảng 2.3 Mô tả tùy chọn chuẩn hóa đặc trưng (Trang 34)
Bảng 2.4: Mô tả tùy chọn chính sử dụng huấn luyện mô hình từ - Nhận dạng người nói phụ thuộc từ khóa tiếng việt
Bảng 2.4 Mô tả tùy chọn chính sử dụng huấn luyện mô hình từ (Trang 35)
Hình từ thông qua phương pháp MAP. - Nhận dạng người nói phụ thuộc từ khóa tiếng việt
Hình t ừ thông qua phương pháp MAP (Trang 36)
Bảng 2.6: Mô tả tùy chọn tính điểm số của mô hình GMM - Nhận dạng người nói phụ thuộc từ khóa tiếng việt
Bảng 2.6 Mô tả tùy chọn tính điểm số của mô hình GMM (Trang 38)
Hình 3.1. Hệ nhận dạng người nói phụ thuộc từ khóa tiếng Việt - Nhận dạng người nói phụ thuộc từ khóa tiếng việt
Hình 3.1. Hệ nhận dạng người nói phụ thuộc từ khóa tiếng Việt (Trang 44)

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

TÀI LIỆU LIÊN QUAN