Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 97 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
97
Dung lượng
2,47 MB
Nội dung
BỘ GIÁO DỤC VÀ ĐÀO TẠO VIỆN ĐẠI HỌC MỞ HÀ NỘI LUẬN VĂN THẠC SỸ CHUYÊN NGÀNH: CÔNG NGHỆ THÔNG TIN NHẬN DẠNG VÀ CHUYỂN ĐỔI TIẾNG NÓI TIẾNG VIỆT SANG VĂN BẢN HOÀNG MINH SƠN HÀ NỘI - 2015 BỘ GIÁO DỤC VÀ ĐÀO TẠO VIỆN ĐẠI HỌC MỞ HÀ NỘI LUẬN VĂN THẠC SỸ NHẬN DẠNG VÀ CHUYỂN ĐỔI TIẾNG NÓI TIẾNG VIỆT SANG VĂN BẢN HOÀNG MINH SƠN CHUYÊN NGÀNH: CÔNG NGHỆ THÔNG TIN MÃ SỐ: 60480201 NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS NGUYỄN QUANG HOAN HÀ NỘI - 2015 LỜI CAM ĐOAN Em xin cam đoan công trình nghiên cứu em chưa công bố công trình chưa đăng tài liệu, tạp chí, hội nghị khác Những kết nghiên cứu luận văn trung thực Hà Nội, tháng 11 năm 2015 TÁC GIẢ LUẬN VĂN Hoàng Minh Sơn i LỜI CẢM ƠN Trước hết, em xin gửi lời cảm ơn sâu sắc đến PGS.TS Nguyễn Quang Hoan, người giúp đỡ em nhiều kiến thức tài liệu kỹ thuật phục vụ cho công tác nghiên cứu Em xin chân thành cảm ơn thầy, cô giáo giảng viên giảng dạy Viện Đại học Mở - Hà Nội tạo điều kiện giúp đỡ em hoàn thành đề tài tốt nghiệp, cảm ơn tất bạn bè nhiệt tình giúp đỡ, động viên góp ý cho luận văn, đề tài Mặc dù nỗ lực cố gắng để hoàn thành luận văn tốt nghiệp chắn tránh khỏi sai sót Vì vậy, em mong bảo thầy, cô giáo để luận văn hoàn thiệ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 thuật ngữ, chữ viết tắt v Danh sách bảng vi Danh sách hình vẽ vii Mở đầu Chương 1: Tổng quan nhận dạng tiếng nói, tiếng nói tiếng Việt 1.1 Tổng quan nghiên cứu nhận dạng tiếng nói nước 1.1.1 Các nghiên cứu nhận dạng tiếng nói giới 1.1.2 Các nghiên cứu nhận dạng tiếng nói nước 1.2 Tổng quan hệ thống nhận dạng tiếng nói 1.3 Tổng quan tiếng nói, tiếng Việt 1.3.1 Các đặc trưng tiếng nói 1.3.2 Quá trình phát âm máy phát âm 1.3.3 Một số đặc điểm tìm hiểu tiếng nói 10 1.4 Ngữ âm tiếng Việt 11 1.4.1 Khái niệm ngữ âm tiếng Việt 11 1.4.2 Cấu trúc âm tiết 11 1.5 Lý chọn đề tài toán nhận dạng 17 1.6 Kết luận chương 18 Chương 2: Phân tích liệu tiếng nói 19 2.1 Cấu trúc tập tin âm 19 2.2 Các kỹ thuật tiền xử lý tiếng nói 24 2.2.1 Các đơn vị tiếng nói 24 2.2.2 Phương pháp trích chọn đặc trưng LPC 26 2.3 Kết luận chương 31 iii Chương 3: Cấu trúc luật học mạng nơron 32 3.1 Khái niệm mạng nơron nhân tạo 32 3.2 Cấu trúc nơron nhân tạo 33 3.3 Các luật học mạng nơron 35 3.3.1 Học tham số 35 3.3.2 Học cấu trúc 37 3.4 Kết luận chương 44 Chương 4: Nghiên cứu, thiết kế chương trình nhận dạng chuyển đổi tiếng nói 45 4.1 Mô tả cấu trúc ứng dụng 45 4.1.1 Hoạt động 45 4.1.2 Dịch vụ 48 4.1.3 Bộ thu nhận 50 4.1.4 Trình cung cấp nội dung 51 4.2 Mô tả liệu 52 4.3 Mô tả mạng nơron máy chủ Google 53 4.4 Sơ đồ trình hoạt động ứng dụng 54 4.5 Quá trình thực chương trình ứng dụng 55 4.6 Lưu đồ thuật toán chương trình 56 4.7 Mô ứng dụng máy tính 57 4.7.1 Mô ứng dụng với đoạn văn có câu 57 4.7.2 Hướng dẫn sử dụng chương trình 64 4.8 Kết luận chương 68 Kết luận hướng phát triển đề tài 69 Tài liệu tham khảo 71 Phụ lục iv DANH MỤC CÁC THUẬT NGỮ, CHỮ VIẾT TẮT Viết tắt AMDF Tiếng Anh Tiếng Việt Average Magnitude Difference Function Hàm vi sai biên độ trung bình ANN Artificial Neural Network API Application Programming Interface Giao diện lập trình ứng dụng AVI Audio Video Interleave Định dạng tập tin hình ảnh BP Back Propagation Lan truyền ngược Information Technology Công nghệ thông tin Genetic Algorithms Global System for Mobile Giải thuật di truyền Công nghệ mạng thông tin di Communications động Linear Predictive Coding Mã hoá dự đoán tuyến tính MPEG Motion Picture Experts Group Định dạng tệp tin hình ảnh Nơron PE Neural Perceptron Tế bào thần kinh RIFF Resource Interchange File Format CNTT GA GSM LPC s2t SDK Mạng nơron nhân tạo Định dạng tập tin trao đổi tài nguyên Speech to text Tiếng nói sang văn Software Development Kit Bộ phát triển phần mềm v DANH SÁCH BẢNG Bảng 1.1: Cấu trúc âm tiết thành phần 12 Bảng 1.2: Cấu trúc âm tiết thành phần 13 Bảng 1.3: Tổ hợp âm 14 Bảng 1.4: Phân loại điệu tiếng Việt 17 Bảng 2.1: Bảng thông tin định dạng âm 22 Bảng 2.2: Bảng thông tin liệu 23 Bảng 3.1: Các hàm truyền H(s) thường dùng 34 Bảng 3.2: Một số hàm phi tuyến thường dùng mô hình nơron 35 vi DANH SÁCH HÌNH VẼ Hình 1.1: Ứng dụng Windows Speech Recognition Hình 1.2: Ứng dụng Voice-To-Text Facebook Messenger Hình 1.3: Ứng dụng tích hợp Web Speech API Demonstration Hình 1.4: Sơ đồ hệ thống nhận dạng tiếng nói Hình 1.5: Đồ thị tín hiệu tiếng nói thời gian dài Hình 1.6: Đồ thị tín hiệu tiếng nói thời gian ngắn Hình 1.7: Thanh điệu tiếng Việt 15 Hình 2.1: Sơ đồ mô tả cấu trúc trường thông tin Wave 20 Hình 2.2: Mô tả cấu trúc trường liệu Wave 24 Hình 3.1: Phân loại mạng nơron nhân tạo 32 Hình 3.2 Mô hình nơron nhân tạo 33 Hình 3.3: Sơ đồ khối luật học giám sát mạng nơron 36 Hình 3.4: Sơ đồ khối luật học không giám sát mạng nơron 37 Hình 3.5: Sơ đồ khối luật học củng cố mạng nơron 37 Hình 3.6: Mạng Perceptron lớp đơn 38 Hình 3.7: Cấu trúc mạng Hopfield rời rạc 40 Hình 3.8: Cấu trúc mạng Back Propagation 42 Hình 4.1: Giao diện chương trình nhận dạng tiếng nói tiếng Việt 86 Hình 4.2: Biểu đồ Hoạt động 47 Hình 4.3: Biểu đồ Dịch vụ 49 Hình 4.4: Biểu đồ Bộ thu nhận 51 Hình 4.5: Sơ đồ Trình cung cấp nội dung 52 Hình 4.6: Mô tả liệu máy chủ Google Speech to Text 52 Hình 4.7: Deep Neural Network 53 Hình 4.8: Quá trình hoạt động Ứng dụng Nhận dạng chuyển đổi tiếng nói sang văn 54 Hình 4.9: Kết đoạn văn có câu thử nghiệm với giọng nữ giới 57 vii Hình 4.10: Kết đoạn văn có câu thử nghiệm với giọng nam giới 57 Hình 4.11: Kết đoạn văn có câu thử nghiệm với em bé 58 Hình 4.12: Kết đoạn văn có câu thử nghiệm với người già 58 Hình 4.13: Kết đoạn văn có câu thử nghiệm với hai người nói 59 Hình 4.14: Kết đoạn văn có hai câu thử nghiệm với giọng nữ giới 59 Hình 4.15: Kết đoạn văn có hai câu thử nghiệm với giọng nam giới 60 Hình 4.16: Kết đoạn văn có hai câu thử nghiệm với em bé 60 Hình 4.17: Kết đoạn văn có câu thử nghiệm với người già 61 Hình 4.18: Kết thực nghiệm với kết đầu câu có nhiều chữ tiếng Anh 62 Hình 4.19: Kết thử nghiệm lần 62 Hình 4.20: Kết thử nghiệm lần 63 Hình 4.21: Kết thử nghiệm lần 63 Hình 4.22: Kết thử nghiệm lần 63 Hình 4.23: Kết thử nghiệm lần n 63 Hình 4.24: Biểu tượng Ứng dụng Nhận dạng chuyển đổi tiếng nói tiếng Việt sang văn 64 Hình 4.25: Giao diện Chương trình 65 Hình 4.26: Giao diện thực nhận dạng tiếng nói phương thức Google API 66 Hình 4.27: Giao diện Kết thực chương trình chuyển đổi tiếng nói sang văn 67 viii PHỤ LỤC A: CODE CHƯƠNG TRÌNH ỨNG DỤNG Tệp tin Main.xml Tệp tin Activity_main.xml 73 74 Tệp tin MainActivity.java package s2t.ungdung; import java.util.ArrayList; import java.util.List; import android.app.Activity; import android.app.SearchManager; import android.content.Intent; import android.content.pm.PackageManager; import android.content.pm.ResolveInfo; import android.os.Bundle; import android.speech.RecognizerIntent; import android.util.Log; import android.view.View; import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.Button; import android.widget.EditText; import android.widget.ListView; import android.widget.Spinner; import android.widget.Toast; public class MainActivity extends Activity { private static final int VOICE_RECOGNITION_REQUEST_CODE = 1001; private EditText metTextHint; private ListView mlvTextMatches; private Spinner msTextMatches; private Button mbtSpeak; 75 @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mlvTextMatches = (ListView) findViewById(R.id.lvTextMatches); msTextMatches = (Spinner) findViewById(R.id.sNoOfMatches); mbtSpeak = (Button) findViewById(R.id.btSpeak); checkVoiceRecognition(); } public void checkVoiceRecognition() { Log.v("", "checkVoiceRecognition checkVoiceRecognition"); PackageManager pm = getPackageManager(); List activities = pm.queryIntentActivities(new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH), 0); if (activities.size() == 0) { mbtSpeak.setEnabled(false); Toast.makeText(this, "Voice recognizer not present", Toast.LENGTH_SHORT).show(); } } public void speak(View view) { Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH); intent.putExtra(RecognizerIntent.EXTRA_CALLING_PACKAGE, getClass().getPackage().getName()); intent.putExtra(RecognizerIntent.EXTRA_PROMPT, metTextHint.getText().toString()); 76 intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_WEB_SEARCH); if (msTextMatches.getSelectedItemPosition() == AdapterView.INVALID_POSITION) { Toast.makeText(this, "Please select No of Matches from spinner", Toast.LENGTH_SHORT).show(); return; } int noOfMatches = Integer.parseInt(msTextMatches.getSelectedItem().toString()); intent.putExtra(RecognizerIntent.EXTRA_MAX_RESULTS, noOfMatches); startActivityForResult(intent, VOICE_RECOGNITION_REQUEST_CODE); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == VOICE_RECOGNITION_REQUEST_CODE) if(resultCode == RESULT_OK) { ArrayList textMatchList = data.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS); if (!textMatchList.isEmpty()) { if (textMatchList.get(0).contains("search")) { String searchQuery = textMatchList.get(0).replace("search", " "); Intent search = new Intent(Intent.ACTION_WEB_SEARCH); search.putExtra(SearchManager.QUERY, searchQuery); startActivity(search); 77 } else { mlvTextMatches.setAdapter(new ArrayAdapter(this, android.R.layout.simple_list_item_1, textMatchList)); } } } else if (resultCode == RecognizerIntent.RESULT_AUDIO_ERROR){ showToastMessage("Audio Error"); } else if (resultCode == RecognizerIntent.RESULT_CLIENT_ERROR){ showToastMessage("Client Error"); } else if (resultCode == RecognizerIntent.RESULT_NETWORK_ERROR){ showToastMessage("Network Error"); } else if (resultCode == RecognizerIntent.RESULT_NO_MATCH){ showToastMessage("No Match"); } else if (resultCode == RecognizerIntent.RESULT_SERVER_ERROR){ showToastMessage("Server Error"); } super.onActivityResult(requestCode, resultCode, data); } void showToastMessage(String message){ Toast.makeText(this, message, Toast.LENGTH_SHORT).show(); } } 78 Tệp tin Manifest.xml package="s2t.androidvoicerecognition" android:versionCode="1" android:versionName="1.0" > 79 PHỤ LỤC B: GIẢI THUẬT LAN TRUYỀN NGƯỢC Mạng nơron gồm Q lớp, a = 1,2, ,Q q Neti qOuti đầu vào tổng thể (net input) giá trị đầu nơron i tầng q (q=3 toán chúng ta) Mạng có m tín hiệu đầu vào n nơron đầu q wij trọng số liên kết từ nơron j tầng (q-1) đến nơron i tầng q Bước (Khởi tạo): Chọn ngưỡng lỗi Ethreshold (giá trị lỗi chấp nhận được) Khởi tạo giá trị ban đầu trọng số với giá trị nhỏ ngẫu nhiên Gán E=0 Bước (Bắt đầu chu kỳ học): Áp dụng vector đầu vào ví dụ học k tầng đầu vào (q=1) q outi =1out i = xi( k ) , ∀i Bước (Lan truyền tiến): Lan truyền tiến tín hiệu đầu vào qua mạng, nhận giá trị đầu mạng (ở tầng đầu ra) QOuti q out i = f ( net ) = f ∑ q i q j wij q −1out j Bước (Tính toán lỗi đầu ra): Tính toán lỗi đầu mạng tín hiệu lỗi Qδi nơron tầng đầu i E =E+ n (k ) Q ∑ d i − outi i =1 ( ) δ i = (d i( k ) − Q out i ) f ' ( Q net i ) Q Bước (Lan truyền ngược lỗi): Lan truyền ngược lỗi để cập nhật trọng số tính toán tín hiệu lỗi q-1δi cho tầng phía trước 80 Bước (Kiểm tra kết thúc chu kỳ học): Kiểm tra xem toàn tập học sử dụng (đã xong chu kỳ học - epoch) Nếu toàn tập liệu học dùng, chuyển đến Bước Ngược lại, chuyển đến Bước Bước (Kiểm tra lỗi tổng thể): Nếu lỗi tổng thể E nhỏ ngưỡng lỗi chấp nhận ([...]... trình Nhận dạng và chuyển đổi tiếng nói tiếng Việt sang văn bản sử dụng được trên thiết bị di động thông minh Chương trình ứng dụng có khả năng: - Nhận dạng và chuyển đổi tiếng nói tiếng Việt sang văn bản - Hoạt động được trên một số thiết bị di động thông minh Luận văn này gồm 4 chương nội dung: Chương 1: Tổng quan về nhận dạng tiếng nói, tiếng nói tiếng Việt Chương 2: Phân tích dữ liệu tiếng nói Chương... Chương 3: Cấu trúc và các luật học mạng nơron nhân tạo Chương 4: Nghiên cứu, thiết kế chương trình nhận dạng và chuyển đổi tiếng nói tiếng Việt sang văn bản Kết luận và hướng phát triển của đề tài 1 CHƯƠNG 1: TỔNG QUAN VỀ NHẬN DẠNG TIẾNG NÓI, TIẾNG NÓI TIẾNG VIỆT 1.1 Tổng quan về nghiên cứu nhận dạng tiếng nói trong và ngoài nước Nhận dạng tiếng nói là một quá trình phức tạp Tín hiệu tiếng nói phát ra là... nói và nhóm sử dụng nhằm xử lý từ tiếng nói sang văn bản (hình 1.4) [16] 6 Nhận dạng tiếng nói Điều khiển ra lệnh Tiếp xúc Nhận dạng người nói Văn bản Không tiếp xúc Điều khiển thiết bị Tìm dữ liệu Thời gian thực Ngân hàng thoại Phát âm liên tục Thời gian không thực Phát âm rời rạc Phát âm liên tục Phát âm rời rạc Hình 1.4: Sơ đồ hệ thống nhận dạng tiếng nói 1.3 Tổng quan về tiếng nói, tiếng Việt Tiếng. .. thể nhận dạng được Ngữ pháp của tiếng nói cũng là một vấn đề phức tạp trong nhận dạng, với mỗi quốc gia đều có kiểu nói và ngữ pháp của ngôn ngữ khác nhau Do đó, để nhận dạng tốt với mỗi tiếng nói là rất phức tạp Hệ thống nhận dạng tiếng nói độc lập hay phụ thuộc vào người nói được dùng để thực hiện học và nhận dạng cho một người nói Hệ thống này nhận dạng có hiệu quả tương đối cao so với hệ thống nhận. .. tạo ra được một công cụ ưu việt có thể nhận dạng được tiếng nói tiếng Việt Chính vì thế, nhận dạng tiếng Việt đã và đang là vấn đề mới được các nhà khoa học ở Việt Nam nghiên cứu chuyên sâu hơn Xác định được tầm quan trọng của nhận dạng tiếng nói tiếng Việt trong nhiều lĩnh vực, em thấy cần phải học hỏi, tìm hiểu về âm thanh, tiếng nói tiếng Việt 1.3.2 Quá trình phát âm và bộ máy phát âm - Khí được... dụng về nhận dạng tiếng nói, điều khiển tự động, xử lý tín hiệu thành công khác mà em chưa có thời gian để tìm hiểu thêm 1.2 Tổng quan về hệ thống nhận dạng tiếng nói Nhận dạng tiếng nói là kỹ thuật nhận ra các thành phần lời nói của con người Quá trình này được thực hiện từ việc thu tín hiệu tiếng nói từ micro đến việc hiển thị từ, chữ, văn bản đã được nhận dạng Việc nghiên cứu nhận dạng tiếng nói được... dụng” của hệ điều hành Android, nhận dạng tiếng nói giúp người sử dụng dịch từ ngôn ngữ này sang ngôn ngữ khác qua văn bản được nhận dạng tiếng nói của người dùng Trên đây là một số phần mềm ứng dụng, đề tài nghiên cứu khoa học về việc nhận dạng tiếng nói trong và ngoài nước em đã tìm hiểu và nhận thấy việc nghiên cứu, phát triển các đề tài, ứng dụng về nhận dạng tiếng nói đã và đang được quan tâm rất nhiều... bị thay đổi, phản ánh những âm thanh khác nhau được nói Hình 1.5: Đồ thị tín hiệu tiếng nói trong thời gian dài Hình 1.6: Đồ thị tín hiệu tiếng nói trong thời gian ngắn Trong xã hội, tiếng nói đã được các nhà khoa học nghiên cứu dưới nhiều góc độ khác nhau và đã cho thấy tiếng nói nói chung và tiếng nói tiếng Việt nói riêng là vô cùng phức tạp 8 Chính vì thế, nhận dạng tiếng nói để áp dụng vào CNTT... tương đối cao so với hệ thống nhận dạng độc lập với người nói vì khi học sẽ dùng nhiều mẫu học của nhiều người nói khác nhau và khi nhận dạng cũng phải nhận dạng nhiều người nói Tuy nhiên, ở kiểu nhận dạng phụ thuộc người nói có nhược điểm là phải học lại mẫu khi nhận dạng với một người nói Cả hai kiểu nhận dạng trên đều được dùng khi nhận dạng tiếng nói Hệ thống nhận dạng từ đơn được học với các đơn... dụng khác dựa trên nhận dạng, tổng hợp tiếng nói tiếng Việt [23] 4 - Các đặc trưng của đề tài: + Nhận dạng tiếng nói tiếng Việt và hơn 20 ngôn ngữ trên thế giới + Độ chính xác trong nhận dạng tối thiểu là 80% trong môi trường ít nhiễu + Thiết kế chip nhận dạng với giá thành rẻ - Một số hạn chế: Khó khăn trong việc nhận dạng giọng nói tuỳ vùng miền 1.1.2.2 Nghiên cứu về sử dụng tiếng nói để điều khiển