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

Nhận dạng tự động lứa tuổi của tiếng việt nói

81 14 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

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - PHẠM THU THUẬN NHẬN DẠNG TỰ ĐỘNG LỨA TUỔI CỦA TIẾNG VIỆT NĨI Chun ngành: CƠNG NGHỆ THÔNG TIN LUẬN VĂN THẠC SĨ KỸ THUẬT CÔNG NGHỆ THÔNG TIN NGƯỜI HƯỚNG DẪN KHOA HỌC TS NGUYỄN HỒNG QUANG Hà Nội - 2014 LỜI CAM ĐOAN Tôi - Phạm Thu Thuận, học viên lớp Cao học CNTT 2012 – 2014 Trường Đại học Bách khoa Hà Nội – cam kết: Luận văn tốt nghiệp cơng trình nghiên cứu thân hướng dẫn TS Nguyễn Hồng Quang - Viện Công nghệ Thông tin Truyền thông – Đại học Bách Khoa Hà Nội Các kết Luận văn tốt nghiệp trung thực, khơng chép tồn văn cơng trình khác Hà Nội, ngày 23 tháng năm 2014 Học viên: Phạm Thu Thuận Lớp: CNTTHY2012 i LỜI CẢM ƠN Tơi xin bày tỏ lịng biết ơn sâu sắc tới Thầy giáo, TS Nguyễn Hồng Quang – Bộ mơn Kỹ thuật máy tính – Viện Cơng nghệ Thơng tin Truyền thông – Đại học Bách khoa Hà Nội, người Thầy kính mến hết lịng giúp đỡ, dạy bảo, động viên tạo điều kiện thuận lợi cho tơi suốt q trình học tập hồn thành luận văn tốt nghiệp Tơi xin chân thành cảm ơn tập thể thầy, cô giáo trường Đại học Bách Khoa Hà Nội nói chung Viện Cơng nghệ Thơng tin Truyền Thơng nói riêng tận tình giảng dạy truyền đạt cho tơi kiến thức, kinh nghiệm quý báu suốt năm học vừa qua Cuối xin chân thành cảm ơn gia đình, bạn bè ln ủng hộ động viên tơi lúc khó khăn ii MỤC LỤC LỜI CAM ĐOAN i LỜI CẢM ƠN ii MỤC LỤC iii DANH MỤC KÝ HIỆU, CHỮ VIẾT TẮT v DANH MỤC HÌNH vi CHƢƠNG CƠ SỞ LÝ THUYẾT 1.1 Tổng quan nhận dạng lứa tuổi tiếng Việt nói 1.1.1 Cơ sở khoa học nhận dạng lứa tuổi tiếng Việt nói: 1.1.2 Nguyên lý làm việc hệ thống nhận dạng lứa tuổi ngôn ngữ nói 1.1.3 Mơ hình hệ thống nhận dạng lứa tuổi tiếng Việt nói 1.2 Các công cụ sử dụng đề tài 1.2.1 Máy ảo Vmware Workstation v9.0 1.2.2 Hệ điều hành Linux-CentOS 10 1.2.3 Bộ công cụ ALIZE 11 1.2.4 Ngơn ngữ lập trình Python 11 CHƢƠNG TRIỂN KHAI HỆ THỐNG THỬ NGHIỆM NHẬN DẠNG NGƢỜI NÓI TIẾNG VIỆT 13 2.1 Phương pháp thu âm liệu 14 2.2 Phân chia sở liệu để thử nghiệm 15 2.3 Mơ hình phân cấp nhận dạng lứa tuổi tiếng Việt nói 18 2.4 Quy trình nhận dạng lứa tuổi người nói sử dụng ALIZE 19 2.4.1 Tính tham số MFCC 19 2.4.2 Chuẩn hóa lượng 20 2.4.3 Phát lượng tín hiệu 21 2.4.4 Chuẩn hóa thơng số tín hiệu 23 2.4.5 Huấn luyện mơ hình tổng qt (TrainWorldInit) 24 2.4.6 Huấn luyện mô hình đích (TrainWorldFinal) 26 iii 2.4.7.Huấn luyện mơ hình GMM cho lứa tuổi người nói 27 2.4.8 Nhận dạng 27 2.5 Phân tích đánh giá kết 30 2.5.1 Kết thử nghiệm với sở liệu không đồng đều: 30 2.5.2.Kết thử nghiệm với sở liệu đồng 46 CHƢƠNG 3: KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN 56 3.1 Những vấn đề giải luận văn 56 3.2 Hướng phát triển: 56 TÀI LIỆU THAM KHẢO 57 PHỤ LỤC 58 iv DANH MỤC KÝ HIỆU, CHỮ VIẾT TẮT Chữ viết tắt ASR CPU EM GMM HMM Chữ viết đầy đủ Automatic Speech Recognition Nhận dạng tiếng nói tự động Central Processing Unit Bộ xử lý trung tâm Expectation – Maximization Thuật toán tổng qt Gaussion Mixture Model Mơ hình hợp Gauss Hidden Markov Model Mơ hình Markov ẩn Mel - Frequency Cepstral Coefficients MFCC Hệ số Cepstral theo thang đo tần số Mel NORMFEST Giai đoạn chuẩn hóa đặc trưng TARGET MODEL Mơ hình người nói Word Error Rate WER Tỷ lệ lỗi nhận dạng v DANH MỤC HÌNH Hình 1.1 Mơ hình tổng quát hệ thống nhận dạng lứa tuổi ngơn ngữ nói Hình 1.2: Mơ hình nhận dạng lứa tuổi sử dụng công cụ Alize Hình 1.3: Hàm mật độ Gauss Hình 1.4: Mơ hình GMM Hình 1.5: Hàm mật độ GMM có phân phối Gauss Hình 1.7: Hệ điều hành Centos 11 Hình 2.1: Quy trình nhận dạng lứa tuổi tiếng Việt nói sử dụng Alize 13 Hình 2.2: Quy trình thu âm liệu 14 Hình 2.3: Phần mềm hỗ trợ thu âm 15 Hình 2.4: Phần mềm thu âm 15 Hình 2.5: Tổ chức thư mục chứa liệu để thử nghiêm nhận dạng lứa tuổi 16 Hình 2.6: Mơ hình hệ thống nhận dạng 18 Hình 2.7: Mơ hình huấn luyện (Training) 18 Hình 2.9: Phát tiếng nói 23 vi DANH MỤC BẢNG Bảng 2.1: Tổ chức liệu để đưa vào thử nghiệm nhận dạng lứa tuổi 16 Bảng 2.2: Tổng hợp số file âm lứa tuổi 30 Bảng 2.3: Tổng hợp số file âm tập A 31 Bảng 2.4: Tổng hợp số file âm tập B 31 Bảng 2.5: Kết nhận dạng lứa tuổi với giới tính Nam tập A 32 Bảng 2.6: Kết nhận dạng lứa tuổi với giới tính Nam tập B 33 Bảng 2.7: Tỷ lệ % nhận giọng nói giới tính Nam theo lứa tuổi 34 Bảng 2.8: So sánh tỷ lệ nhận dạng lứa tuổi giọng Nam hai tập A B 36 Bảng 2.9: Kết nhận dạng lứa tuổi với giới tính Nữ tập A 37 Bảng 2.10: Kết nhận dạng lứa tuổi với giới tính nữ tập B 38 Bảng 2.11: Tỷ lệ % nhận giọng nói giới tính Nữ theo lứa tuổi 39 Bảng 2.12: So sánh tỷ lệ nhận dạng lứa tuổi giọng nữ hai tập A B 40 Bảng 2.13: Kết nhận dạng lứa tuổi kết hợp nam nữ tập A 42 Bảng 2.14: Kết nhận dạng lứa tuổi kết hợp nam nữ tập B 42 Bảng 2.15: Tỷ lệ % nhận giọng nói kết hợp nam nữ tập A B 43 Bảng 2.16: Tỷ lệ nhận dạng lứa tuổi kết hợp nam nữ với thành phần Gause khác 45 Bảng 2.17: Tổng hợp số file âm lứa tuổi đưa vào nhận dạng thử nghiệm lần 46 Bảng 2.18: Kết nhận dạng lứa tuổi giới tính Nam tập A-thử lần 48 Bảng 2.19: Kết nhận dạng lứa tuổi giới tính Nam tập B thử lần 49 Bảng 2.20: Kết nhận dạng lứa tuổi giới tính nữ tập A – thử lần 50 Bảng 2.21: Kết nhận dạng lứa tuổi giới tính nữ tập B – lần thử 51 Bảng 2.22: Kết nhận dạng lứa tuổi kết hợp nam nữ tập A 52 Bảng 2.23: Kết nhận dạng lứa tuổi kết hợp nam nữ tập B 53 Bảng 2.24: Tổng hợp tỷ lệ % nhận dạng lứa tuổi theo giới tính 54 vii DANH MỤC BIỂU ĐỒ Biểu đồ 2.1: Kết nhận dạng lứa tuổi với giới tính Nam tập A 32 Biểu đồ 2.2: Kết nhận dạng lứa tuổi với giới tính Nam tập B 34 Biểu đồ 2.3: So sánh tỷ lệ % nhận dạng lứa tuổi tệp A giới tính Nam 35 Biểu đồ 2.4: So sánh tỷ lệ % nhận dạng lứa tuổi tệp B giới tính Nam 35 Biểu đồ 2.5: So sánh tỷ lệ nhận dạng lứa tuổi giọng hai tập A B 36 Biểu đồ 2.6:Kết nhận dạng lứa tuổi với giới tính nữ tập A 37 Biểu đồ 2.7: Kết nhận dạng lứa tuổi với giới tính nữ tập B 38 Biểu đồ 2.8: So sánh tỷ lệ % nhận dạng lứa tuổi tệp A giới tính Nữ 39 Biểu đồ 2.9: So sánh tỷ lệ % nhận dạng lứa tuổi tệp B giới tính Nữ 40 Biểu đồ 2.10: So sánh tỷ lệ nhận dạng lứa tuổi giọng nữ tập A B 41 Biểu đồ 2.11: Kết nhận dạng lứa tuổi kết hợp nam nữ tập A 42 Biểu đồ 2.12: Kết nhận dạng lứa tuổi kết hợp nam nữ tập B 43 Biểu đồ 2.13: So sánh tỷ lệ % nhận dạng nam nữ tệp A 44 Biểu đồ 2.14: So sánh tỷ lệ % nhận dạng nam nữ tệp B 44 Biểu đồ 2.15: So sánh tỷ lệ nhận dạng lứa tuổi giọng Nam Nữ 45 Biểu đồ 2.16: Kết nhận dạng với giới tính nam tập A-thử lần 49 Biểu đồ 2.17: Kết nhận dạng giọng nam tập B-thử lần 50 Biểu đồ 2.18: Kết nhận dạng giọng nữ tập A-thử lần 51 Biểu đồ 2.19: Kết nhận dạng giọng nữ tập B-thử lần 52 Biểu đồ 2.20: Kết nhận dạng kết hợp nam nữ tậpA-thử lần 53 Biểu đồ 2.21: Kết nhận dạng kết hợp nam nữ tập B-thử lần 54 Biểu đồ 2.22: So sánh kết nhận dạng lứa tuổi theo giới tính 55 viii MỞ ĐẦU Lý chọn đề tài Tiếng Việt ngôn ngữ người Việt, phương tiện giao tiếp chung sử dụng rộng rãi toàn quốc Song địa phương khác nhau, lứa tuổi khác nhau, tiếng Việt lại mang nét riêng biệt vô phong phú, đa dạng Theo quy ước nhà ngơn ngữ học chia đối tượng nói ngơn ngữ Việt thành nhóm lứa tuổi: thiếu niên, niên, trung niên, người già Khi âm người nói phát ra, người dễ dàng nghe hay cảm nhận thơng tin: giới tính, lứa tuổi, cảm xúc…? Từ điều này, đời ứng dụng thuộc lĩnh vực nhận dạng tự động lứa tuổi người qua giọng nói Như ứng dụng chương trình, trị chơi giải trí, điều tra… Trên giới có nhiều hệ thống nhận dạng lứa tuổi người nói (như lứa tuổi người nói tiếng Anh, tiếng Pháp) ứng dụng hiệu Nhưng vấn đề nhận dạng lứa tuổi người nói tiếng Việt cịn nhiều hạn chế Ở Việt Nam sở tiếp thu thành tựu khoa học công nghệ giới, việc sâu nghiên cứu đặc trưng lứa tuổi người nói tiếng Việt, khai thác ứng dụng đặc trưng vào hệ thống nhận dạng lứa tuổi người nói vấn đề cần thiết nhằm tiến tới xây dựng ứng dụng phù hợp với đặc trưng ngôn ngữ tiếng Việt lứa tuổi người nói, đáp ứng nhu cầu ứng dụng ngày cao xã hội Với mục đích tìm hiểu góp phần phát triển chương trình nhận dạng người nói tiếng Việt, tác giả thực đề tài “ Nhận dạng tự động lứa tuổi tiếng Việt nói” Mục đích, phạm vi nghiên cứu Mục đích đề tài: “Nhận dạng tự động lứa tuổi tiếng Việt nói” - Nghiên cứu sở lý thuyết giọng nói lứa tuổi - Nghiên cứu mơ hình GMM cơng cụ ALIZE, gói thư viện LIA-RAL để nhận dạng lứa tuổi người nói tiếng Việt PHỤ LỤC Mục đích phụ lục dùng để tham khảo chi tiết thực nghiệm Đây danh sách tham số cho cấu hình khởi tạo ban đầu suốt giai đoạn “nhận dạng người nói theo lứa tuổi” A Cấu trúc gói thƣ viện Lia-ral A.1 Cấu trúc file NormFeat.cfg * NormFeat config File mode norm bigEndian false loadFeatureFileFormat SPRO4 saveFeatureFileFormat SPRO4 loadFeatureFileExtension prm saveFeatureFileExtension norm.prm featureServerBufferSize ALL_FEATURES featureFilesPath /prm/ sampleRate 100 saveFeatureFileSPro3DataKind FBCEPSTRA labelSelectedFrames speech segmentalMode false writeAllFeatures true labelFilesPath frameLength /lbl/ 0.01 featureServerMode FEATURE_WRITABLE featureServerMemAlloc 50000000 A.2 Cấu trúc file NormFeat_energy.cfg * NormFeat config File mode norm 58 bigEndian loadFeatureFileFormat false SPRO4 saveFeatureFileFormat SPRO4 loadFeatureFileExtension prm saveFeatureFileExtension enr.prm featureServerBufferSize ALL_FEATURES featureFilesPath /prm/ sampleRate 100 saveFeatureFileSPro3DataKind FBCEPSTRA labelSelectedFrames all addDefaultLabel true defaultLabel all segmentalMode false writeAllFeatures true labelFilesPath /lbl/ frameLength 0.01 vectSize 60 featureServerMode FEATURE_WRITABLE featureServerMemAlloc 50000000 A.3 Cấu trúc file EnergyDetector.cfg *** EnergyDetector Config File *** loadFeatureFileExtension enr.prm minLLK -200 maxLLK 1000 bigEndian false loadFeatureFileFormat SPRO4 saveFeatureFileFormat SPRO4 59 saveFeatureFileSPro3DataKind FBCEPSTRA featureServerBufferSize ALL_FEATURES featureServerMemAlloc 50000000 featureFilesPath /prm/ mixtureFilesPath / lstPath /lst/ labelOutputFrames speech labelSelectedFrames all addDefaultLabel true defaultLabel all saveLabelFileExtension lbl labelFilesPath /lbl/ frameLength 0.01 segmentalMode file nbTrainIt varianceFlooring 0.0001 varianceCeiling 1.5 alpha 0.0 mixtureDistribCount featureServerMask 19 vectSize baggedFrameProbabilityInit 0.001 thresholdMode weight Cấu trúc file TrainWorldInit.cfg distribType GD mixtureDistribCount loadMixtureFileExtension 20 gmm saveMixtureFileExtension gmm loadFeatureFileExtension norm.prm 60 maxLLK 200 minLLK -200 bigEndian false saveMixtureFileFormat RAW loadMixtureFileFormat RAW loadFeatureFileFormat SPRO4 featureServerBufferSize ALL_FEATURES featureServerMemAlloc 100000000 featureFilesPath /prm/ mixtureFilesPath /gmm/ labelFilesPath /lbl/ frameLength 0.01 lstPath /lst/ labelSelectedFrames speech baggedFrameProbability 0.2 baggedFrameProbabilityInit 0.5 initVarianceFlooring 0.5 initVarianceCeiling finalVarianceFlooring 0.5 finalVarianceCeiling 5.0 normalizeModel true nbTrainIt 10 use01 true verbose true featureServerMask 0-18,20-50 baggedMinimalLength baggedMaximalLength A.4 Cấu trúc file TrainWorldInit.cfg distribType GD 61 mixtureDistribCount 20 loadMixtureFileExtension gmm saveMixtureFileExtension gmm loadFeatureFileExtension norm.prm maxLLK 200 minLLK -200 bigEndian false saveMixtureFileFormat RAW loadMixtureFileFormat RAW loadFeatureFileFormat SPRO4 featureServerBufferSize ALL_FEATURES featureServerMemAlloc 100000000 featureFilesPath /prm/ mixtureFilesPath /gmm/ labelFilesPath /lbl/ frameLength 0.01 lstPath /lst/ labelSelectedFrames speech baggedFrameProbability 0.2 baggedFrameProbabilityInit 0.5 initVarianceFlooring 0.5 initVarianceCeiling finalVarianceFlooring 0.5 finalVarianceCeiling 5.0 normalizeModel true nbTrainIt 10 use01 true verbose true featureServerMask 0-18,20-50 62 baggedMinimalLength baggedMaximalLength A.5 Cấu trúc file TrainWorldFinal.cfg distribType mixtureDistribCount GD 20 loadMixtureFileExtension gmm saveMixtureFileExtension gmm loadFeatureFileExtension norm.prm maxLLK 200 minLLK -200 bigEndian false saveMixtureFileFormat RAW loadMixtureFileFormat RAW loadFeatureFileFormat SPRO4 featureServerBufferSize ALL_FEATURES featureServerMemAlloc 100000000 featureFilesPath /prm/ mixtureFilesPath /gmm/ labelFilesPath /lbl/ frameLength 0.01 lstPath /lst/ labelSelectedFrames speech baggedFrameProbability initVarianceFlooring initVarianceCeiling 0.5 5.0 finalVarianceFlooring 0.5 finalVarianceCeiling 5.0 featureServerMask normalizeModel 0-18,20-50 true 63 use01 nbTrainIt true baggedMinimalLength baggedMaximalLength A.6 Cấu trúc gói TrainTarget *** TrainTarget Configuration File *** maxLLK 200 minLLK -200 bigEndian false saveMixtureFileFormat loadMixtureFileFormat loadFeatureFileFormat RAW RAW SPRO4 featureServerBufferSize ALL_FEATURES loadMixtureFileExtension gmm saveMixtureFileExtension gmm loadFeatureFileExtension norm.prm featureFilesPath /prm/ labelFilesPath /lbl/ mixtureFilesPath /gmm/ nbTrainIt labelSelectedFrames speech normalizeModel normalizeModelMeanOnly true true normalizeModelNbIt MAPAlgo MAPOccDep meanAdapt true MAPRegFactorMean frameLength 14 0.01 64 featureServerMemAlloc 100000000 featureServerMask 0-18,20-50 A.7 Cấu trúc gói ComputeTest *** ComputeTest Config File *** distribType GD loadMixtureFileExtension saveMixtureFileExtension gmm loadFeatureFileExtension prm mixtureDistribCount 1024 maxLLK 200 minLLK -200 bigEndian false saveMixtureFileFormat RAW loadMixtureFileFormat RAW loadFeatureFileFormat SPRO3 featureServerBufferSize ALL_FEATURES featureFilesPath / mixtureFilesPath / labelSelectedFrames male labelFilesPath / frameLength 0.01 segmentalMode segmentLLR topDistribsCount 10 computeLLKWithTopDistribs COMPLETE ndxFileName ndx worldModelName wld outputFile test1.res 65 gender debug M true verbose featureServerMask true 0-15,17-32 vectSize 32 B Code chƣơng trình nhận dạng lứa tuổi tiếng Việt nói B1 Code chƣơng trình tính tham số MFCC Tạo vector đặc trưng từ tín hiệu tiếng nói, sử dụng cơng cụ sfbcep để tính tham số MFCC Điều kiện cần thiết để tạo tham số MFCC phải chuẩn hóa file wav thành file prm Tính tham số MFCC viết thành chương trình câu lệnh sau: import sys import os fileLst = sys.argv[1] print "File danh sach: ", fileLst with open(fileLst, 'r') as f: for line in f: line = line.rstrip() print line cmd = "sfbcep -F PCM16 -f 16000 -p 19 -e -D -A " + "/home/thuanpt/TestAlize/input/" + line + ".wav" + " /home/thuanpt/TestAlize/prm/" + line + ".prm" print cmd os.system(cmd) B2 Code chƣơng trình tạo spearker cho test fileLst = "/home/thuanpt/TestAlize/lst/AllANam.lst" # đầu vào thay AllANam, AllBNam, AllANu, AllBNu, AllANamNu, AllBNamNu 66 fileGmms = " CSDLAThieuNien_Nam_gmm CSDLAThanhNien_Nam_gmm CSDLATrungNien_Nam_gmm CSDLANguoiGia_Nam_gmm " outputFile = open('/home/thuanpt/TestAlize/ndx/testSpeakerANam.ndx','w') # đầu TestSpeakerANam…… tương ứng với cách đặt tên đầu vào test = open(fileLst,'r') for line in test: line = line.replace('\n','') outputFile.write(line) outputFile.write(fileGmms) outputFile.write('\n') outputFile.close() test.close() B3 Code chƣơng trình kết nhận dạng import os, sys, math maTranKetQua = [[0 for x in xrange(4)] for x in xrange(4)] f= open("/home/thuanpt/TestAlize/ketqua/A_Nu.res","r") listEmotion = ["Tha", "Thi", "Tru", "Ngu"] while i

Ngày đăng: 19/02/2022, 17:17

Xem thêm:

TỪ KHÓA LIÊN QUAN

Mục lục

    TÀI LIỆU THAM KHẢO

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN