SpRecoContext object
Đối tượng này dùng để tạo ra các view và context khác nhau cho engine SR. Mỗi đối
tượng này có thể chứa các sự kiện SR khác nhau và các ngữ pháp n hận dạng khác nhau. Mỗi
ứng dụng sử dụng speech phải có ít nhất một đối tượng SpRecoContext (được implement từ
ISpRecoContext) để tiếp nhận sự nhận dạng. Nếu ứng dụng có nhiều kiểu nhận dạng khác
nhau, người ta cũng có thể tạo ra nhiều đối tượng SpRecoContext này. Inteface này cho phép
ứng dụng tạo và load grammar và kích hoạt bộ nhận dạng. SAPI khai báo engine SR của mỗi
đối tượng SpRecoContext thông qua 2 hàm: OnCreateRecoContext và OnDeleteRecoContext.
SpRecoGrammar object
Đối tượng này quản lý các từ và mệnh đề mà SR engine sẽ nhận dạng.
Một đối tượng SpRecoContext có thể có một hoặc nhiều đối tượng SpRecoGrammar
tương tác với nó. Mối quan hệ giữa 2 đối tượng này cho phép ứng dụng tách các kiểu mệnh đề
và nội dung nhận dạng thành các đối tượng riêng biệt để ứng dụng logic, rõ ràng hơn. Mỗi đối
tượng SpRecoContext cũng có thể có context-free grammar và dictation grammar được load
đồng thời.
SpRecognizer object
Cho phép ứng dụng quản lý SR engine. Mỗi đối tượng mô tả 1 engine SR riêng lẻ và
có thể kết nối đến 1 hay nhiều đối tượng SpRecoContext để điều khiển ngữ pháp nhận dạng,
bắt đầu hay kết thúc sự nhận dạng, nhận sự kiện và các kết quả nhận dạng. Ngoài ra, nó còn
điều khiển các thiết bị nhập âm thanh. Có một thuận lợi cho lập trình viên đó là chúng ta
không cần phải gọi quá nhiều hàm của đối tượng này để thiết lập mọi thứ cho engine vì SAPI
đã thiết lập các thông số mặc định cho engine.
5 trang |
Chia sẻ: netpro | Lượt xem: 2088 | Lượt tải: 2
Bạn đang xem nội dung tài liệu Đề tài Nghiên cứu, ứng dụng công nghệ SAPI và xây dựng hệ thống STT, TTS trong nhận dạng tiếng nói, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Tuyển tập Báo cáo “Hội nghị Sinh viên Nghiên cứu Khoa học” lần thứ 6 Đại học Đà Nẵng - 2008
54
NGHIÊN CỨU, ỨNG DỤNG CÔNG NGHỆ SAPI.
XÂY DỰNG HỆ THỐNG STT, TTS TRONG NHẬN DẠNG
TIẾNG NÓI
RESEARCH, APPLY SAPI TECHNOLOGY.
BUILDING STT, TTS SYSTEM IN SPEECH RECOGNITION.
SVTH: LÊ QUỐC HƯỞNG - TRẦN BỬU DUNG
PHAN PHẠM THỊ MY LY - 03T4
Khoa Công nghệ Thông tin, Trường Đại học Bách Khoa
GVHD: KS. MAI VĂN HÀ
Khoa Công nghệ Thông tin - Trường Đại học Bách Khoa
TÓM TẮT:
Bài báo này giới thiệu công nghệ SAPI của Microsoft trong nhận dạng tiếng nói và một số kết
quả đạt được khi ứng dụng công nghệ này vào việc chuyển từ giọng nói sang text cũng như
chuyển từ text sang giọng nói bằng tiếng Anh. Trong thời gian đến, chúng tôi sẽ ứng dụng
thành công công nghệ này vào việc xây dựng “hệ thống nhập và thông báo điểm thi tuyển sinh
bằng tiếng Việt“.
SUMARY:
This article introduces SAPI technology of Microsoft in speech recognition and some achieved
results when we apply this technology in speech to text (STT), text to speech(TTS) process by
English. In the next time, we’ll apply this technology successful to build “inputing and notifying
university entrance marks system by Vietnamese“.
1. Giới thiệu
Hiện nay, trên thế giới việc sử dụng các phần mềm về âm thanh không còn là một vấn
đề quá mới mẻ. Tuy nhiên, mỗi quốc gia đều có một đặc thù ngôn ngữ khác nhau nên không
có các quy tắc, các luật chung trong việc xử lý từ. Là một người Việt Nam, chúng tôi luôn tự
hỏi làm thế nào để nhận dạng tiếng Việt. Xuất phát từ ý tưởng đó, chúng tôi đã lựa chọn và
nghiên cứu đề tài này.
Trong quá trình tìm hiểu, chúng tôi nhận thấy rằng một số hãng phần mềm lớn như
Microsoft, Sun, IBM… đã xây dựng sẵn các engine trong việc nhận dạng và xử lý tiếng nói.
Trong đó chỉ có một số ít các công ty cung cấp các công nghệ với mã nguồn mở để các lập
trình viên xây dựng nên các ứng dụng phù hợp với mục đích sử dụng của họ. Để giảm thời
gian xây dựng engine, chúng tôi đã lựa chọn công nghệ SAPI của Microsoft vì hiệu quả xử lý
cao và window là hệ điều hành đa người dùng.
Hiện tại, chúng tôi đã đạt được một số kết quả trong việc chuyển từ tiếng nói sang text
và text sang tiếng nói bằng tiếng anh dựa trên nền tảng công nghệ SAPI của Microsoft. Việc
nghiên cứu đề tài này đã tạo ra nền tảng bước đầu cho việc xây dựng ứng dụng trong lĩnh vực
nhận dạng tiếng nói. Hệ thống này mang tính thực tiễn cao vì nó sẽ làm giảm đến mức tối
thiểu các sai sót trong quá trình nhập điểm.
` Trong bài báo này, chúng tôi trình bày những vấn đề cơ bản liên quan đến việc phát
triển hệ thống này.
2. Công nghệ sapi - mô tả chương trình
2.1. Công nghệ SAPI
2.1.1. Giới thiệu công nghệ
Tuyển tập Báo cáo “Hội nghị Sinh viên Nghiên cứu Khoa học” lần thứ 6 Đại học Đà Nẵng - 2008
55
SAPI là một API (Application Programming Interface) được phát triển bởi Microsoft,
cho phép nhận dạng và phân tích giọng nói trong các ứng dụng window (như Microsoft Ofice,
Microsoft Agent, Microsoft Speech Server).
Kiến trúc SAPI
Hình 1. Kiến trúc của SAPI
2.1.2. Engine Speech Recoginize (SR)
SR là một tiến trình chuyển từ ngôn ngữ nói thành dạng text. Tiến trình bao gồm:
1. Thu nhận và số hóa âm thanh của người nói.
2. Chuyển và số hóa âm thanh thành những âm vị cơ bản.
3. Xây dựng những từ (word) từ những âm vị cơ bản đó.
4. Phân tích ngữ cảnh xuất hiện của từ để chắc chắn đánh vần đúng từ được nói.
Hình 2. Quá trình chuyển từ speech to text
2.1.3. Các interface trong SAPI
SpRecoContext object
Đối tượng này dùng để tạo ra các view và context khác nhau cho engine SR. Mỗi đối
tượng này có thể chứa các sự kiện SR khác nhau và các ngữ pháp nhận dạng khác nhau. Mỗi
ứng dụng sử dụng speech phải có ít nhất một đối tượng SpRecoContext (được implement từ
ISpRecoContext) để tiếp nhận sự nhận dạng. Nếu ứng dụng có nhiều kiểu nhận dạng khác
nhau, người ta cũng có thể tạo ra nhiều đối tượng SpRecoContext này. Inteface này cho phép
ứng dụng tạo và load grammar và kích hoạt bộ nhận dạng. SAPI khai báo engine SR của mỗi
đối tượng SpRecoContext thông qua 2 hàm: OnCreateRecoContext và OnDeleteRecoContext.
SpRecoGrammar object
Đối tượng này quản lý các từ và mệnh đề mà SR engine sẽ nhận dạng.
Một đối tượng SpRecoContext có thể có một hoặc nhiều đối tượng SpRecoGrammar
tương tác với nó. Mối quan hệ giữa 2 đối tượng này cho phép ứng dụng tách các kiểu mệnh đề
và nội dung nhận dạng thành các đối tượng riêng biệt để ứng dụng logic, rõ ràng hơn. Mỗi đối
tượng SpRecoContext cũng có thể có context-free grammar và dictation grammar được load
đồng thời.
SpRecognizer object
Cho phép ứng dụng quản lý SR engine. Mỗi đối tượng mô tả 1 engine SR riêng lẻ và
có thể kết nối đến 1 hay nhiều đối tượng SpRecoContext để điều khiển ngữ pháp nhận dạng,
Tuyển tập Báo cáo “Hội nghị Sinh viên Nghiên cứu Khoa học” lần thứ 6 Đại học Đà Nẵng - 2008
56
bắt đầu hay kết thúc sự nhận dạng, nhận sự kiện và các kết quả nhận dạng. Ngoài ra, nó còn
điều khiển các thiết bị nhập âm thanh. Có một thuận lợi cho lập trình viên đó là chúng ta
không cần phải gọi quá nhiều hàm của đối tượng này để thiết lập mọi thứ cho engine vì SAPI
đã thiết lập các thông số mặc định cho engine.
2.2. Mô tả chương trình
2.2.1. Hoạt động của hệ thống Text To Speech
Hình 3. Lưu đồ thuật toán text to speech
Bắt đầu
Khởi tạo engine text to speak
Kiểm tra text
trong control
CÓ TỒN TẠI
Đưa stream vào hàng đợi của engine
Engine cung cấp cho mỗi stream 1 số
Nói từng stream theo thứ tự số
KHÔNG TỒN TẠI
Kết thúc
Thiết lập thiết bị ra cho âm thanh
Chuyển text thành chuỗi kí tự
Tuyển tập Báo cáo “Hội nghị Sinh viên Nghiên cứu Khoa học” lần thứ 6 Đại học Đà Nẵng - 2008
57
2.2.2. Hoạt động của hệ thống Speech To Text
Hình 4. Lưu đồ thuật toán speech to text
Hình 5. Giao diện chính của chương trình.
Baét
ñaàu
TRUE
Thu nhận âm
thanh của
người nói vào
engine
Thiết lập trạng thái kích
hoạt cho dictation
Chuyển âm thanh sang text
FALSE
Giải phóng
grammar
Keát
thuùc
Khởi tạo recognize engine
Khởi tạo recognize context
Thiết lập các event message
Thiết lập các interest
Tạo đối tượng audio
Tạo dictation
Load dictation
Tuyển tập Báo cáo “Hội nghị Sinh viên Nghiên cứu Khoa học” lần thứ 6 Đại học Đà Nẵng - 2008
58
3. Những đóng góp của đề tài
3.1. Ý nghĩa khoa học
Việc ứng dụng công nghệ SAPI của Microsoft giúp tiết kiệm thời gian xây dựng
engine nhận dạng tùy theo mục đích của mỗi nhà phát triển phần mềm. Đồng thời,
windows là hệ điều hành đa người dùng nên chương trình có thể tích hợp trong các ứng
dụng dễ dàng hơn.
Những nghiên cứu và kết quả đạt được tạo ra các bước cơ sở cho việc xây dựng thành
công hệ thống nhập và thông báo điểm thi tuyển sinh bằng tiếng Việt.
3.2. Hiệu quả kinh tế xã hội
Đây là một công nghệ được cung cấp miễn phí bởi Microsoft, điều này góp phần làm
giảm đáng kể các chi phí về mặt bản quyền.
Xây dựng thành công hệ thống sẽ tiết kiệm được thời gian và giảm thiểu các sai sót
trong quá trinh nhập và thông báo điểm.
3.3. Phạm vi ứng dụng
Vì hệ thống mới được nghiên cứu và phát triển nên chưa thể ứng dụng vào thực tiễn.
Trong thời gian đến, chúng tôi sẽ nghiên cứu sâu hơn về đặc điểm của tiếng Việt để xây dựng
hệ thống hoàn chỉnh, phù hợp với yêu cầu thực tế.
4. Kết luận
Chương trình đã đáp ứng được các yêu cầu cơ bản trong việc nhận dạng và xử lý giọng
nói bằng tiếng Anh như :
+ Nhận dạng được giọng nói
+ Đọc các đoạn text bằng giọng tiếng anh chuẩn.
+ Ghi âm, load file .wav
+ Chuyển từ âm thanh ra text.
Tuy nhiên, trong thời gian tới chúng tôi cần nghiên cứu sâu hơn để xử lý được tiếng
Việt và tăng độ chính xác nhận dạng và xử lý của hệ thống.
TÀI LIỆU THAM KHẢO
[1] Chương trình VnSpeech của nhóm BK02 Bách khoa Hà Nội.
[2] Microsoft Speech SDK Version 5.1
[3] Trịnh Văn Loan, Tài liệu xử lý tiếng nói .
[4] Đồng Thị Bích Thủy, Hồ Bảo Quốc, Xử lý ngôn ngữ tự nhiên trong hệ thống tìm kiếm
trên văn bản Tiếng Việt, Đại học Khoa học Tự nhiên TP HCM.
[5] Hồ Bảo Tú, Lương Chi Mai , Xử lý tiếng Việt trong CNTT, Viện Công nghệ Thông tin,
Viện Khoa học Công nghệ Tiên tiến Nhật Bản.
[6] Word Segmentation for Vietnamese Text Categorization: An online corpus approach -
Thanh V. Nguyen, Hoang K. Tran, Thanh T.T. Nguyen and Hung Nguyen
Các file đính kèm theo tài liệu này:
- Nghiên cứu, ứng dụng công nghệ sapi Xây dựng hệ thống stt, tts trong nhận dạng tiếng nói.pdf