Giải quyết vấn đề nhận dạng tiếng Việt bằng phân tích cú pháp

107 630 0
Giải quyết vấn đề nhận dạng tiếng Việt bằng phân tích cú pháp

Đ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

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TỪ TRUNG HIẾU GIẢI QUYẾT VẤN ĐỀ NHẬN DẠNG TIẾNG VIỆT BẰNG PHÂN TÍCH CÚ PHÁP LUẬN VĂN THẠC SỸ HÀ NỘI - 2004 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TỪ TRUNG HIẾU GIẢI QUYẾT VẤN ĐỀ NHẬN DẠNG TIẾNG VIỆT BẰNG PHÂN TÍCH CÚ PHÁP Chuyên ngành : Công nghệ thông tin Mã số : 1.01.10 LUẬN VĂN THẠC SỸ NGƯỜI HƯỚNG DẪN KHOA HỌC TS Lương Chi Mai HÀ NỘI - 2004 Mục lục Lời cảm ơn Mục lục Chỉ mục hình vẽ .6 Chỉ mục bảng biểu .7 Mở đầu Chương TỔNG QUAN VỀ NHẬN DẠNG TIẾNG NÓI 10 1.1 Cơ sở tiềm nhận dạng tiếng nói 10 1.2 Các ứng dụng hay gặp 11 1.2.1 Chương trình quay số giọng nói (voice dialer) 11 1.2.2 Chương trình soạn thảo giọng nói (voice editor) .13 1.2.3 Chỉ mục đa phương tiện (Multimedia Indexer) 14 1.2.4 Chương trình lệnh giọng nói (voice commander) 15 1.2.5 Chương trình hội thoại (conversational computer) .16 1.3 Khó khăn thuận lợi 17 1.3.1 Chất lượng tiếng nói (quality of speech) 17 1.3.2 Các từ tách biệt tiếng nói liên tục 18 1.3.3 Kích thước từ vựng 19 1.3.4 Biến đổi theo người nói (speaker) .19 1.3.5 Độc lập người nói phụ thuộc người nói 20 1.3.6 Biến đổi theo phương ngữ (dialect) 21 1.3.7 Cấu trúc ngôn ngữ .22 1.4 Các toán liên quan tới nhận dạng tiếng nói 22 1.4.1 Nhận dạng tiếng nói tổng hợp tiếng nói 23 1.4.2 Nhận diện người nói (speaker identification) 23 1.4.3 Xác minh người nói (speaker verification) 24 1.5 Giới hạn nghiên cứu 24 1.6 Cách tiếp cận 25 Chương CƠ SỞ TOÁN HỌC 27 2.1 Từ điển mẫu (pattern dictionary) 27 2.1.1 Định nghĩa hình thức từ điển mẫu .27 2.1.2 Triển khai từ điển mẫu 29 2.2 Văn phạm (grammar) 30 2.2.1 Định nghĩa hình thức văn phạm .30 2.2.2 Biểu diễn đơn giản văn phạm .31 2.2.3 Định nghĩa triển khai văn phạm 32 2.3 Ngôn ngữ (language) 34 2.3.1 Định nghĩa hình thức ngơn ngữ 34 2.3.2 Biểu diễn ngôn ngữ đĩa từ 35 2.4 Sơ đồ chuyển trạng thái tuyến tính (linear state transition diagram) 36 2.4.1 Định nghĩa hình thức 37 2.4.2 Định nghĩa triển khai 38 2.4.3 Thuật toán xây dựng 39 2.5 Sơ đồ chuyển trạng thái đẩy xuống (pushdown state transition diagram) 40 2.5.1 Định nghĩa hình thức 40 2.5.2 Định nghĩa triển khai 42 2.5.3 Thuật toán xây dựng 43 2.6 Chuỗi chung lớn 44 2.6.1 Định nghĩa chuỗi chung lớn 45 2.6.2 Thuật tốn tìm chuỗi chung lớn 46 2.6.3 Vai trò chuỗi chung 47 Chương TÍN HIỆU TIẾNG NÓI 49 3.1 Định nghĩa tín hiệu .49 3.2 Lấy mẫu tín hiệu (signal sampling) 49 3.3 Phân đoạn tín hiệu 51 3.4 Tham số hố tín hiệu 52 3.4.1 Số lần vượt qua điểm không (zero crossing) .52 3.4.2 Năng lượng (energy) 53 3.4.3 Số mỏm (number of hills) 54 3.4.4 Biên độ (amplitude) 55 3.4.5 Độ dừng (duration) 56 3.4.6 Tần số (fundamental frequency) 57 3.5 Biến đổi tín hiệu (signal transformation) 59 3.5.1 Gây nhiễu (noising) .60 3.5.2 Biến đổi biên độ tổng thể (global amplitude transformation) .60 3.5.3 Thu nhỏ tín hiệu (zoom smaller) 61 3.5.4 Phóng to tín hiệu (zoom bigger) 61 3.5.5 Cắt bỏ biên độ (amplitude cutoff) .61 3.5.6 Biến đổi Fourier 62 Chương PHƯƠNG PHÁP NHẬN DẠNG DỰA TRÊN PHÂN TÍCH TỪ VỰNG VÀ PHÂN TÍCH CÚ PHÁP 65 4.1 Phân tích tiếng Việt 65 4.1.1 Ngơn ngữ có điệu 65 4.1.2 Ngôn ngữ đơn âm tiết (monosyllable) .66 4.1.3 Các lỗi phát âm mơ hình hố 67 4.1.4 Từ điển phát âm (phonetic dictionary) 68 4.1.5 Văn phạm tiếng Việt 69 4.1.6 Sự không thống tả 70 4.2 Phát biểu toán nhận dạng 70 4.2.1 Đầu trình nhận dạng 71 4.2.2 Đầu vào trình nhận dạng 72 4.2.3 Tham số độ đo trình nhận dạng .73 4.2.4 Hệ nhận dạng, nhận dạng huấn luyện 73 4.3 Nhận dạng dựa từ điển 76 4.4 Huấn luyện nhận dạng dựa từ điển .77 4.5 Nhận dạng dựa phân tích từ vựng .78 4.6 Huấn luyện nhận dạng dựa phân tích từ vựng .80 4.7 Nhận dạng dựa phân tích cú pháp 81 4.8 Huấn luyện nhận dạng dựa phân tích cú pháp .85 Chương TRIỂN KHAI HỆ THỐNG NHẬN DẠNG 86 5.1 Các tập tin hệ thống 86 5.1.1 Tập tin âm 86 5.1.2 Tập tin nhãn (label file format) 87 5.1.3 Tập tin văn phạm (grammar file format) 88 5.1.4 Tập tin sơ đồ tuyến tính (linear diagram) 89 5.2 Phát sinh triển khai 90 5.2.1 Cơ sở tri thức trình nhận dạng .90 5.2.2 Nhận dạng trực tuyến 90 5.2.3 Chuyển đổi trạng thái trực tuyến 92 5.2.4 Huấn luyện trực tuyến huấn luyện hàng loạt 92 5.3 Các thư viện dùng để triển khai 93 5.3.1 WaveBuffer 93 5.3.2 WaveBufferQueue .95 5.3.3 WaveRecorder .96 5.3.4 WaveMapper .97 5.4 Chương trình smartphone 98 5.5 Chương trình wordrec 98 5.6 Đánh giá kết triển khai .100 Kết luận 102 Kết đạt 102 Đề xuất phát triển 103 Tài liệu tham khảo 104 Tiếng Việt 104 Tiếng Anh 105 Chỉ mục hình vẽ Hình 1-1 Sơ đồ hệ quay số giọng nói .13 Hình 1-2 Câu "cộng hoà xã hội chủ nghĩa việt nam" phát âm rời rạc .18 Hình 1-3 Câu "cộng hồ xã hội chủ nghĩa việt nam" phát âm liên tục 19 Hình 1-4 Nhận dạng máy tính cá nhân (phụ thuộc người nói) 20 Hình 1-5 Nhận dạng máy phục vụ cơng cộng (độc lập người nói) 21 Hình 2-1 Ví dụ sơ đồ chuyển trạng thái tuyến tính 38 Hình 2-2 Ví dụ sơ đồ chuyển trạng thái đẩy xuống 41 Hình 3-1 Tín hiệu số lần vượt qua điểm không 53 Hình 3-2 Tín hiệu lượng .54 Hình 3-3 Các từ ma, má, mà, mả, mã, mạ 57 Hình 3-4 Chu kỳ 57 Hình 3-5 Tín hiệu sau bị tách ngưỡng .58 Hình 3-6 Tín hiệu sau bị tách ngưỡng (trường hợp xấu) 58 Hình 3-7 Tín hiệu sin phổ 64 Hình 3-8 Tín hiệu sin phổ (lệch pha) .64 Hình 4-1 Các từ ma, má, mà, mả, mã, mạ 66 Hình 4-2 Câu "cộng hồ xã hội chủ nghĩa việt nam" phát âm rời rạc .66 Hình 4-3 Hệ nhận dạng 75 Hình 4-4 Sơ đồ chuyển trạng thái tuyến tính 78 Hình 4-5 Sơ đồ chuyển trạng thái đẩy xuống 82 Hình 5-1 Chương trình smartphone 98 Hình 5-2 Chương trình wordrec .99 Hình 5-3 Hộp thoại huấn luyện wordrec 99 Hình 5-4 Kết nhận dạng điệu 100 Hình 5-5 Kết nhận dạng với số lượng từ tăng lên 101 Chỉ mục bảng biểu Bảng 2-1 Định nghĩa từ điển mẫu 28 Bảng 2-2 Ví dụ từ điển mẫu 28 Bảng 2-3 Từ điển mẫu dạng liệt kê 28 Bảng 2-4 Định nghĩa triển khai từ điển mẫu .29 Bảng 2-5 Định nghĩa mẫu từ điển 29 Bảng 2-6 Định nghĩa từ từ điển 30 Bảng 2-7 Định nghĩa hình thức văn phạm .31 Bảng 2-8 Ví dụ văn phạm 31 Bảng 2-9 Ngôn ngữ sinh văn phạm 31 Bảng 2-10 Biểu diễn văn phạm tập tin 32 Bảng 2-11 Định nghĩa triển khai văn phạm .33 Bảng 2-12 Định nghĩa ký hiệu văn phạm .33 Bảng 2-13 Định nghĩa luật văn phạm 33 Bảng 2-14 Ví dụ ngơn ngữ 35 Bảng 2-15 Ví dụ khác ngôn ngữ 35 Bảng 2-16 Biểu diễn ngôn ngữ tập tin 36 Bảng 2-17 Định nghĩa hình thức sơ đồ chuyển trạng thái tuyến tính 37 Bảng 2-18 Định nghĩa triển khai sơ đồ chuyển trạng thái tuyến tính 39 Bảng 2-19 Định nghĩa trạng thái tuyến tính 39 Bảng 2-20 Định nghĩa phép chuyển tuyến tính .39 Bảng 2-21 Thuật toán xây dựng sơ đồ chuyển trạng thái tuyến tính .40 Bảng 2-22 Định nghĩa hình thức sơ đồ chuyển trạng thái đẩy xuống .41 Bảng 2-23 Ví dụ sơ đồ chuyển trạng thái đẩy xuống 42 Bảng 2-24 Định nghĩa hình thức sơ đồ chuyển trạng thái đẩy xuống .42 Bảng 2-25 Định nghĩa trạng thái đẩy xuống 43 Bảng 2-26a Thuật toán xây dựng sơ đồ chuyển trạng thái đẩy xuống 43 Bảng 2-26b Thuật toán xây dựng sơ đồ chuyển trạng thái đẩy xuống 44 Bảng 2-27 Thuật toán chuỗi chung 46 Bảng 2-28 Ví dụ thuật toán chuỗi chung 47 Bảng 3-1 Các giá trị độ phân giải mẫu 51 Bảng 3-2 Cơng thức tính ZC 53 Bảng 3-3 Công thức tính lượng .54 Bảng 3-4 Thuật toán đếm số mỏm 54 Bảng 3-5 Thuật toán đếm số mỏm với ngưỡng .55 Bảng 3-6 Thuật tốn tìm tần số 59 Bảng 3-7 Biến đổi biên độ tổng thể 60 Bảng 3-8 Xấp xỉ tín hiệu chuỗi Fourier 63 Bảng 4-1 Mơ hình hố phát âm 68 Bảng 4-2a Ví dụ từ điển phát âm 68 Bảng 4-2b Ví dụ từ điển phát âm 68 Bảng 4-3 Ví dụ văn phạm tiếng Việt 70 Bảng 4-4 Các lỗi không thống 70 Bảng 4-5 Thuật toán nhận dạng dựa từ điển 76 Bảng 4-6 Ví dụ thuật toán nhận dạng dựa từ điển .77 Bảng 4-7 Thuật toán huấn luyện 77 Bảng 4-8 Thuật tốn nhận dạng dựa phân tích từ vựng 79 Bảng 4-9 Ví dụ thuật tốn nhận dạng dựa phân tích từ vựng 80 Bảng 4-10 Thuật toán huấn luyện độc lập .81 Bảng 4-11 Thuật toán nhận dạng dựa phân tích cú pháp 83 Bảng 4-12 Ví dụ thuật tốn nhận dạng dựa phân tích cú pháp 84 Bảng 4-13 Thuật tốn huấn luyện liên kết .85 Bảng 5-1 Định dạng tập tin âm 87 Bảng 5-2 Ví dụ tập tin nhãn 88 Bảng 5-3 Ví dụ tập tin văn phạm 89 Bảng 5-4 Ví dụ tập tin sơ đồ tuyến tính 89 Bảng 5-5 Lớp CWaveBufferQueue 92 Bảng 5-6 Lớp CWaveBuffer 95 Bảng 5-7 Lớp CWaveRecorder 96 Bảng 5-8 Lớp CWaveMapper 97 Mở đầu Với mong muốn góp phần nhỏ bé vào cơng việc thực hoá hệ thống nhận dạng tiếng Việt, đặt mục tiêu áp dụng phương pháp nhận dạng tiếng nói dựa vào phân tích cú pháp phân tích từ vựng đồng thời xây dựng thử nghiệm hệ thống nhận dạng để chứng minh tính thực phương pháp nhận dạng mà đề xuất Để thuận lợi trình nghiên cứu tránh việc tốn bị mở rộng theo cách khơng mong muốn, đưa số giới hạn nghiên cứu Ban đầu tập trung vào nhận dạng tiếng nói rời rạc khơng q nhiễu Chúng tơi tập trung phát triển ứng dụng phụ thuộc người nói chưa đặt vấn đề cung cấp dịch vụ nhận dạng cho môi trường công cộng Nhận thức vai trị thơng tin cú pháp q trình nghe tự nhiên hiểu tương đối phương pháp phân tích cú pháp, chúng tơi tiếp cận vấn đề dựa lý thuyết chương trình dịch, cụ thể phát triển phương pháp nhận dạng dựa phân tích cú pháp phân tích từ vựng với nội dung Chương giới thiệu tổng quan vấn đề nhận dạng tiếng nói khái niệm hay gặp nhận dạng tiếng nói Chương dành để đưa khái niệm toán học cần thiết để hiểu triển khai hệ thống nhận dạng Chương bao gồm vấn đề tín hiệu xử lý tín hiệu Các khái niệm chương dùng chương Chương bao gồm kết lý thuyết chương bao gồm kết triển khai thời gian nghiên cứu Trong suốt q trình nghiên cứu, chúng tơi giả định tốn nhận dạng chúng tơi có đầu vào chuỗi véc tơ đặc trưng đầu chuỗi ký hiệu nhận dạng (nhãn) Vì có phương pháp nhận dạng dựa phân tích cú pháp, khái niệm nhãn mở rộng để bao gồm ký hiệu trung gian hay ký hiệu sinh văn phạm 92 void EnterFreeListSection() { while(m_FreeListDenial); m_FreeListDenial = 1; } void LeaveFreeListSection() { m_FreeListDenial = 0; } void EnterUsedListSection() { while(m_UsedListDenial); m_UsedListDenial = 1; } void LeaveUsedListSection() { m_UsedListDenial = 0; } }; Bảng 5-5 Lớp CWaveBufferQueue Vùng đệm mà chúng tơi thiết kế có số khối liệu cố định độ dài khối cố định Các thơng số thay đổi khơng có q trình nhận dạng, giữ cố định công việc nhận dạng tiến hành Phát sinh triển khai khơng nằm ngồi mà nhà lập trình hệ thống đưa Chúng sử dụng lại giải pháp họ 5.2.3 Chuyển đổi trạng thái trực tuyến Trong phân tích cú pháp, trạng thái chuyển thơng qua việc đưa từ vào sơ đồ chuyển trạng thái đẩy xuống Mỗi có từ nhận dạng, từ điển mẫu để nhận dạng từ thay đổi Việc thay đổi từ điển dựa vào trạng thái từ vừa nhận Trong nhận dạng trực tuyến, cụ thể trường hợp soạn thảo giọng nói, chúng tơi chuyển trạng thái tại, từ điển mẫu tại, cách gửi thông điệp cho khung làm việc hệ nhận dạng Khung làm việc chịu tránh nhiệm phản ứng lại thay đổi trạng thái Cách làm khơng đơn giản hố cơng việc chuyển trạng thái mà cịn khơng làm thay đổi thủ tục nhận dạng 5.2.4 Huấn luyện trực tuyến huấn luyện hàng loạt Trong hầu hết nghiên cứu lĩnh vực học máy, việc huấn luyện thường thực sở liệu bảng liệu lưu trữ sẵn máy Do huấn luyện thường hoạt động độc lập với nhận dạng, nên nhận dạng có kích thước nhỏ Và huấn luyện có vai trị chuyển từ liệu thơ thành sở tri thức Bộ nhận dạng hoạt động sở tri thức chuyển đổi Cách áp dụng giai đoạn đầu nghiên cứu chúng tơi Mặc dù cách có ưu điểm dễ dàng triển khai (không cần giao diện) huấn 93 luyện hàng loạt (nhiều tập tin lượt huấn luyện) Nhưng cách tỏ khơng thân thiện với người sử dụng Chính chúng tơi áp dụng phương pháp huấn luyện trực tuyến Phương pháp huấn luyện trực tuyến cho phép người dùng ghi âm thêm vào sở tri thức hộp thoại Mặc dù phương pháp huấn luyện trực tuyến không cho phép huấn luyện nhiều tập tin lúc, có nhiều lợi điểm Thứ nhất, gần gũi với người dùng người dùng máy tính quen với hộp thoại Thứ hai, cho thấy kết huấn luyện nhận dạng sở tri thức Thứ ba, không cần lưu lượng liệu trung gian âm nhãn, lượng liệu không nhỏ thân tập tin đa phương tiện lớn Và thứ tư, không cần nhiều công cụ trung gian thao tác trung gian đánh nhãn, ghi âm, huấn luyện Tất tích hợp chương trình, cụ thể tập tin thi hành 5.3 Các thư viện dùng để triển khai Trong trình tiến hành lập trình chương trình nhận dạng, chúng tơi có dùng đến số thư viện Một số thư viện cung cấp sẵn Windows khai thác trực tiếp Đa số thư viện cịn lại chúng tơi lập trình Chúng tơi giới thiệu phần thư viện đóng vai trò hạt nhân hệ thống 5.3.1 WaveBuffer Vùng đệm âm vùng nhớ có độ dài cố định dùng để chứa âm ghi tải lên để xử lý Chúng thiết kế lớp liệu chủ yếu để ghi âm Mỗi vùng đệm có trỏ tới cửa sổ quản lý Con trỏ cho phép tiếp tục chuyển tiếp (forward) thông điệp ghi xong chơi xong Do khơng có phần ghi chơi âm thanh, phận khác liên quan tới vùng đệm nhận thơng điệp 94 Mỗi vùng đệm có trỏ tới hàng đợi quản lý Đây chế cho phép phận ghi âm thao tác với nhiều hàng đợi khác Khi vùng đệm thao tác xong, trả gắn vào hàng đợi tuỳ thuộc vào trỏ hàng đợi Mỗi hàng đợi gắn với tiêu đề (header) âm Trong trình ghi âm chơi lại, tiêu đề phận âm sử dụng Do gắn liền với vùng đệm cho tiện thao tác Hai thao tác SendToPlayer SendToRecorder gắn liền với vùng đệm hai thao tác sử dụng thông tin nội vùng đệm class CWaveBuffer { protected: WAVEHDR m_WaveHeader; UCHAR m_SampFormat; CWaveBuffer *m_NextBuffer; class CWaveBufferQueue *m_OwnerQueue; CWnd *m_OwnerWindow; public: CWaveBuffer(DWORD dwBufferLength=44100, CWaveBuffer *pNextBuffer=0, UCHAR nFormat=0); virtual ~CWaveBuffer(); void ResizeBuffer(DWORD dwBufferLength, int nFormat); void SendToPlayer(HWAVEOUT hPlayer); void SendToRecorder(HWAVEIN hRecorder); public: void SetOwnerQueue(class CWaveBufferQueue *pQueue); void SetOwnerWindow(class CWnd *pWindow); void SetNextBuffer(class CWaveBuffer *pBuffer); class CWaveBufferQueue * GetOwnerQueue(); 95 class CWnd * GetOwnerWindow(); class CWaveBuffer *GetNextBuffer(); ULONG GetLength(); LPSHORT GetArray(); double GetSample(ULONG pos); }; Bảng 5-6 Lớp CWaveBuffer 5.3.2 WaveBufferQueue Hàng đợi vùng đệm âm vừa coi tập tin âm (wave file) vừa coi hàng đợi tín hiệu ghi âm Có thể coi tập tin trực tuyến Một đầu hàng đợi ghi âm sử dụng để đẩy thông tin ghi vào Đầu hàng đợi nhận dạng sử dụng để lấy thông tin ghi nhận dạng Để giải tranh chấp ghi âm nhận dạng, cung cấp hàm giải tranh chấp EnterCriticalSection LeaveCriticalSection, xem [18] Mặc dù chế thông điệp (message) Windows giải tốt tranh chấp, không muốn dùng chế hàng đợi cần thao tác nhanh mà thông điệp có xung hướng làm chậm thao tác lại Các hàm giải tranh chấp viết nội tuyến (inline) để tăng tốc tối đa thao tác sở Chúng tổ chức hàng đợi thành hai phần, phần dùng để chứa vùng đệm rỗng phần chứa hàng đợi có liệu Do tổng số vùng đệm ln cố định Điều để đảm bảo hàng đợi không phát triển đà xâm chiếm vùng nhớ phận khác Khi tất vùng đệm dùng, liệu ghi âm đành phải bỏ phí (giống việc đánh 16 phím chưa có chương trình xử lý, chương trình xử lý phím ấn phát tiếng bíp) Thuật tốn hàng đợi tham khảo [11] 96 5.3.3 WaveRecorder Bộ phận ghi âm đóng vai trị quan trọng hệ nhận dạng trực tuyến Chúng thiết kế ghi âm dựa hàng đợi vùng đệm hệ thống thư viện âm mmsystem Windows cung cấp Bộ ghi âm hỗ trợ hai chế độ, ghi âm với chiều dài hữu hạn dùng huấn luyện ghi âm sử dụng hàng đợi vùng đệm dùng nhận dạng trực tuyến Trong chế độ trực tuyến, tín hiệu kết thúc người dùng gửi tới (hoặc họ đóng chương trình nhận dạng, họ ấn nút dừng ghi) class CWaveRecorder : public CWnd { protected: WAVEFORMATEX m_RecordFormat; HWAVEIN m_RecordDevice; CWaveBufferQueue *m_RecordQueue; public: CWaveRecorder(); virtual ~CWaveRecorder(); public: void OpenRecorder(USHORT BPC, USHORT CPS, ULONG SPS); void CloseRecorder(); void RecordBuffer(CWaveBuffer *pBuffer); void StopBuffer(); void RecordBufferQueue(CWaveBufferQueue *pQueue); void StopBufferQueue(); }; Bảng 5-7 Lớp CWaveRecorder Trong triển khai, coi phận ghi khung làm việc độc lập, cụ thể cửa sổ độc lập Do việc đón thơng điệp gửi từ thiết bị ghi âm thực chế thông điệp Windows 97 5.3.4 WaveMapper Mặc dù ánh xạ (mapper) độc lập với âm thanh, đặt tên với nhóm từ wave đầu để thống với phần khác thư viện để phân biệt với ánh xạ tổng quát đặt tên MetaMapper Chúng thiết kế MetaMapper lược đồ tổng quát ánh xạ (trong thủ tục triển khai rỗng) để giao tiếp với nhiều đối tượng khác class CWaveMapper: public CMetaMapper { public: CWaveMapper(LPCONSTR lpSrcConstr, LPCONSTR lpTagConstr); virtual ~CWaveMapper(); public: virtual LPVOID OnInsertTargetItem(CMetaMapperTarget *pTag); virtual int OnDeleteTargetItem(CMetaMapperTarget *pTag); virtual int OnChangeTargetItem(CMetaMapperTarget *pTag); virtual int OnDeleteAllTargetItems(); virtual LPVOID OnInsertSourceItem(CMetaMapperSource *pSrc, CMetaMapperTarget *pTag); virtual int OnDeleteSourceItem(CMetaMapperSource *pSrc); virtual int OnChangeSourceItem(CMetaMapperSource *pSrc); virtual int OnDeleteAllSourceItemsOfTarget(CMetaMapperTarget *pTag); }; Bảng 5-8 Lớp CWaveMapper Các thao tác giao diện sử dụng hàm ảo WaveMapper để thực biên soạn Người dùng gọi thủ tục với tham số hợp lý thủ tục khơng phải thủ tục quản lý thông điệp Như tên thủ tục ra, có thao tác thêm (insert), xố (delete), sửa (change) Vì ánh xạ có hai phần nguồn (source) đích (target) nên số thủ tục gấp đơi Các thao tác xố (delete all) trường hợp đặc biệt xoá Do ràng buộc ánh xạ nguồn ln có đích tương ứng, nên việc xố phần tử đích (target) phải xoá phần tử nguồn (source) liên quan tới trước 98 5.4 Chương trình smartphone Chương trình smartphone mơ hệ nhận dạng cài đặt điện thoại di động Để quay số giọng nói, người dùng ấn “Voice dial ” sau nói đoạn âm có tên người Bộ phận ghi âm tự dừng sau khoảng thời gian (do tên người có độ dài xác định) Bộ nhận dạng tham số hố tìm kiếm tên người gần tên người số điện thoại Để huấn luyện, người dùng chọn tên người, ấn nút Record, ấn nút Update Hình 5-1 Chương trình smartphone Chương trình hoạt động tồn tín hiệu (signal-based) chương trình thơ sơ sử dụng lý thuyết nhận dạng Trong triển khai, dùng ánh xạ để lưu trữ thông tin nhận dạng, nghĩa tham số tên người tương ứng trình nhận dạng 5.5 Chương trình wordrec Chương trình wordrec mơ chương trình soạn thảo giọng nói Người dùng đọc từ, nhận dạng chuyển đổi âm thành tên từ, chèn từ nhận dạng vào vị trí trỏ soạn thảo 99 Hình 5-2 Chương trình wordrec Để đưa huấn luyện, người dùng ấn vào biểu tượng từ điển cơng cụ Người dùng huấn luyện trực tuyến từ muốn cách thêm từ vào dùng chức Add bên phần Word, sau dùng nút Record Update bên phần Pattern Các chức khác phục vụ thêm cho phần Hình 5-3 Hộp thoại huấn luyện wordrec 100 Do phần huấn luyện không bao gồm thông tin ngữ cảnh nên phận nhận dạng không hoạt động hiệu dùng thông tin ngữ cảnh Nhưng trường hợp nhận dạng lệnh (các từ có danh sách), bắt buộc phải dùng thông tin ngữ cảnh để nhằm tăng độ xác giảm thời gian tìm kiếm 5.6 Đánh giá kết triển khai Các chương trình thử nghiệm hoạt động tốt với giọng nói thử Tuy nhiên người nói cần phải làm quen với chương trình để sử dụng thành thạo Đây nhược điểm cần khắc phục Trong thử nghiệm chúng tơi thấy chương trình nhận dạng từ khác tiếng Việt, kể từ khác điệu, nghĩa chương trình phân biệt từ "ma" với từ "má" Tuy nhiên tăng số lượng mẫu lên từ bị trùng nhiều Hình 5-4 Kết nhận dạng điệu Chúng tơi thấy chương trình bị nhầm lẫn từ dấu, nhận dạng người có giọng trầm Ví dụ từ "tùng" từ "tồn" thường bị nhầm người nói người có giọng trầm Các từ không dấu "hương" "nguyên" dễ bị nhầm với chúng điệu ngang có phần đầu phần cuối giống 101 Hình 5-5 Kết nhận dạng với số lượng từ tăng lên Khi số lượng từ tăng lên số lượng mẫu tăng lên, kết nhận dạng giảm xuống đáng kể thấy biểu đồ 5-5 Kết phụ thuộc vào nhiều nguyên nhân ví dụ độ đo chọn, tham số chọn 102 Kết luận Đến chúng tơi trình bày ý tưởng sản phẩm minh hoạ cơng trình nghiên cứu thời gian qua Các sản phẩm minh hoạ tên gọi chưa đưa ứng dụng sản phẩm thương mại chúng chưa phát triển hoàn chỉnh Nhưng chúng minh chứng vấn đề nhận dạng tiếng Việt thực hố chúng sở để phát triển sản phẩm tương lai Kết đạt Trong luận văn này, chúng tơi hình thức hoá toán nhận dạng dạng toán xử lý tập tin sau đơn giản hố toán giản toán dựa lý thuyết chương trình dịch Trong phần lý thuyết, chúng tơi phân tích kỹ phương pháp giải triển khai thư viện nhận dạng cho phương pháp Dựa vào lý thuyết mà xây dựng, chúng tơi xây dựng thử nghiệm chương trình nhận dạng Chương trình smartphone mơ máy điện thoại thơng minh quay số giọng nói Chương trình có ứng dụng thiết thực nhằm giảm thao tác người dùng điện thoại phải quay số để gọi tới người danh bạ Chúng ta mở rộng chương trình để tạo chương trình tìm kiếm từ (word finding) giọng nói vốn phổ biến máy tính (danh sách phơng, danh sách tập tin, danh sách người dùng) Chương trình wordrec mơ máy nghe đọc tả Mặc dù cần phải có nhiều cải tiến để chương trình ứng dụng vào hệ thống cá nhân khác nhau, lý thuyết nhận dạng tiếng nói thực hố Trong luận văn, đưa số vấn đề giải pháp xử lý tín hiệu tiếng nói Một số vấn đề nghiên cứu giải trực tiếp thực nghiệm, số triển khai cải tiến từ tài liệu 103 trình bày Đây tư liệu cần thiết cho trình nhận dạng tham số tạo q trình xử lý tín hiệu ảnh hưởng mạnh tới độ xác tốc độ q trình nhận dạng Ngồi ra, chúng tơi áp dụng kiến thức tín hiệu mơ hình tốn để phân tích tiếng Việt cách định lượng Dựa hệ thống kiến thức tiếng Việt nhà ngôn ngữ xây dựng quan sát cơng cụ thí nghiệm mà chúng tơi tự viết, chúng tơi đưa nhận xét mang tính thực nghiệm tiếng Việt Các kiến thức áp dụng trực tiếp vào triển khai Đề xuất phát triển Trong thời gian tới, hy vọng phát triển tiếp hệ thống tiếng nói hồn chỉnh với hệ thống lý thuyết mà chúng tơi xây dựng Và chúng tơi hồn thiện chương trình có sẵn để mang đến với người dùng Một phát triển mà định làm tích hợp hệ thống nhận dạng từ vào Windows dạng thơng điệp móc nối (hook message) để chương trình chúng tơi giống ứng dụng Vietkey làm Chúng tơi muốn có thời gian dài để phân tích định lượng kỹ tiếng Việt, qua chúng tơi tiếp tục mơ hình hố tiếng Việt xác cải tiến chất lượng nhận dạng Mặc dù thời gian vừa qua bỏ nhiều cơng sức để phân tích tiếng Việt với số liệu ỏi công cụ đơn giản mà chúng tơi tự viết Nhưng để có kết áp dụng rộng rãi, chúng tơi cần có lượng liệu lớn cơng cụ xác để nghiên cứu Và hy vọng áp dụng hệ thống tham số phức tạp để phản ánh đặc trưng phức tạp tiếng Việt so với ngôn ngữ khác Mục tiêu thời kỳ tới phát triển hệ thống nhận dạng tiếng nói liên tục tự nhiên Nghĩa người nói nói với giọng điệu giao tiếp hai người Đây không mong muốn mà mong muốn chung nhà sản xuất phần mềm khác Microsoft Mặt khác nhu cầu người dùng sử dụng phần mềm nhận dạng tiếng nói 104 Tài liệu tham khảo Tiếng Việt Diệp Quang Ban - Ngữ pháp tiếng Việt (2) – nhà xuất Giáo Dục – 1988 Diệp Quang Ban, Hoàng Văn Thung - Ngữ pháp tiếng Việt (1) – nhà xuất Giáo Dục – 1988 Bùi Tiến Bảo, Đặng Xuân Thu - Giáo trình lý thuyết dịch - Xưởng in trường Đại học Ngoại Ngữ Hà Nội - 1999, tr.16, ch Vũ Ngọc Cân, Lê Đình Tư - Nhập môn Ngôn ngữ học - Xưởng in trường Đại học Ngoại Ngữ Hà Nội - 1999 - tr.63, ch 4; tr 129, ch 129 Nguyễn Tài Cẩn - Ngữ pháp tiếng Việt – nhà xuất Đại Học Quốc Gia Hà Nội - 1998 - tr.23, ch.2 Đỗ Đức Giáo - Cơ sở tốn lập trình - nhà xuất Khoa Học Kỹ Thuật – 1998 Nguyễn Thiện Giáp, Đoàn Thiện Thuật, Nguyễn Minh Thuyết - Dẫn luận Ngôn ngữ học - nhà xuất Giáo dục - 1996 - tr.8, ch.1; tr.60, ch.4; tr.214, ch.6 Quách Tuấn Ngọc - Xử lý tín hiệu số - Nhà xuất giáo dục - 1999 tr.134, ch.3 Trần Ngọc Thêm - Ngữ pháp văn - Xí nghiệp in quận I - 1996 - tr.25, ch.2; tr.112, ch.4 105 10 Nguyễn Quốc Trung - Xử lý tín hiệu lọc số (tập 1) - nhà xuất khoa học kỹ thuật - 2001 - tr.7, ch.1; tr.155, ch.3 11 Đinh Mạnh Tường - Cấu trúc liệu thuật toán - nhà xuất Khoa Học Kỹ Thuật - 2000 Tiếng Anh 12 Alfred V Aho, Ravi Sethi, Jeffrey D Ullman - Compilers Principles, Techniques, and Tools - Addison Wesley Publishing Company - 1986 pp.83, ch.3; pp.159, ch.4 13 Steven B.Davis, Paul Mermelstein - Comparison Parametric Representations for Monosyllabic Word Recognition in Continuous Spoken Sentences – March 1980 14 J Earley - An Efficient Context-Free Parsing Algorithm, PhD Dissertation - Computer Science Department, Carnegie Mellon University, August 1968 15 Gordon E Pelton - Voice Processing - McGraw-Hill - 1993 - pp.83, ch.4 16 Guojun Lu - Multimedia Database Management Systems - Artech House 1999 17 John Lyons - Introduction to Theoretical Linguistics - Cambridge University Press - 1996, pp 5-65, ch 18 Milan Milenkovic - Operating Systems, Concepts and Design - McGrawHill, 1992 106 19 Annedore Paeseler - Modification of Earley's Algorithm for Speech Recognition 20 Lawrence Rabiner, Biing-Hwang Juang - Fundamentals of Speech Recognition - pp.3, ch.69; pp.321, ch.6; pp.434, ch.8 21 Lawrence R Rabiner - A Tutorial on Hidden Markov Models and Selected Applications in Speech Recognition - October 1988 22 L R Rabiner, R W Schafer - Digital Processing of Speech Signals Prentice Hall - 1978 23 Steve Young, Dan Kershaw, Julian Odell, Dave Ollason, Valtcho Valtchev, Phil Woodland - The HTK Book - July 2000 24 F Jelinek - Self-organized language modeling for speech recognition - in "Readings in Speech Recognition", volume 2, pp 447-506 25 Ronald W.Chafer and Lawrence R Rabiner - Digital Representation of Speech Signals - 1975 ... Huấn luyện nhận dạng dựa phân tích từ vựng .80 4.7 Nhận dạng dựa phân tích cú pháp 81 4.8 Huấn luyện nhận dạng dựa phân tích cú pháp .85 Chương TRIỂN KHAI HỆ THỐNG NHẬN DẠNG 86... tơi phát triển phương pháp nhận dạng dựa phân tích cú pháp phân tích từ vựng với nội dung Chương giới thiệu tổng quan vấn đề nhận dạng tiếng nói khái niệm hay gặp nhận dạng tiếng nói Chương chúng... thực hố hệ thống nhận dạng tiếng Việt, đặt mục tiêu áp dụng phương pháp nhận dạng tiếng nói dựa vào phân tích cú pháp phân tích từ vựng đồng thời xây dựng thử nghiệm hệ thống nhận dạng để chứng

Ngày đăng: 25/03/2015, 09:37

Từ khóa liên quan

Mục lục

  • Mục lục

  • Chỉ mục hình vẽ

  • Chỉ mục bảng biểu

  • Mở đầu

  • Chương 1 TỔNG QUAN VỀ NHẬN DẠNG TIẾNG NÓI

  • 1.1. Cơ sở và tiềm năng của nhận dạng tiếng nói

  • 1.2. Các ứng dụng hay gặp

  • 1.2.1. Chương trình quay số bằng giọng nói (voice dialer)

  • 1.2.2. Chương trình soạn thảo bằng giọng nói (voice editor)

  • 1.2.3. Chỉ mục đa phương tiện (Multimedia Indexer)

  • 1.2.4. Chương trình ra lệnh bằng giọng nói (voice commander)

  • 1.2.5. Chương trình hội thoại (conversational computer)

  • 1.3. Khó khăn và thuận lợi

  • 1.3.1. Chất lượng tiếng nói (quality of speech)

  • 1.3.2. Các từ tách biệt và tiếng nói liên tục

  • 1.3.3. Kích thước từ vựng

  • 1.3.4. Biến đổi theo người nói (speaker)

  • 1.3.5. Độc lập người nói và phụ thuộc người nói

  • 1.3.6. Biến đổi theo phương ngữ (dialect)

  • 1.3.7. Cấu trúc ngôn ngữ

Tài liệu cùng người dùng

Tài liệu liên quan