ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN
KHOA CÔNG NGHỆ THÔNG TIN
------------------
NGUYỄN TRẦN VỌNG – TRẦN MINH TRƯỜNG
Hệ thống cung cấp thông tin qua mạng điện thoại
và ứng dụng
KHÓA LUẬN TỐT NGHIỆP
CHUYÊN NGÀNH KỸ THUẬT PHẦN MỀM
TP.HCM, 2010
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN
KHOA CÔNG NGHỆ THÔNG TIN
------------------
NGUYỄN TRẦN VỌNG 0612568
TRẦN MINH TRƯỜNG 0612481
Hệ thống cung cấp thông tin qua mạng điện thoại
và ứng dụng
KHÓA LUẬN TỐT NGHIỆP
CHUYÊN NGÀNH KỸ THUẬT PHẦN MỀM
GIÁO VIÊN HƯỚNG DẪN
TS. VŨ HẢI QUÂN
KHÓA 2006 - 2010
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
Khóa luận đáp ứng yêu cầu của Khóa luận cử nhân CNTT.
TP. HCM, ngày … tháng … năm …
Giáo viên phản biện
LỜI CẢM ƠN
Chúng em xin chân thành cám ơn khoa Công Nghệ Thông Tin trường Đại học
Tự Nhiên đã tạo điều kiện thuận lợi và giúp đỡ chúng em hoàn thành tốt khóa luận
tốt nghiệp này.
Chúng em xin chân thành cám ơn thầy Vũ Hải Quân, thầy Phạm Minh Nhựt đã
tận tình chỉ dạy, giúp đỡ chúng em trong suốt quá trình làm khóa luận, nếu không có
sự hướng dẫn tận tình của các thầy, chúng em không thể nào hoàn thành tốt khóa
luận.
Chúng em xin chân thành cám ơn các thầy cô khoa Công nghệ Thông tin đã tận
tình chỉ dạy, trang bị kiến thức cho chúng em trong suốt bốn năm học qua.
Chúng tôi cũng chân thành cám ơn các anh chị trong AI Lab, các bạn sinh viên
trường Đại Học Khoa Học Tự Nhiên, trường Đại Học Khoa Học Xã Hội và Nhân
Văn, đã nhiệt tình giúp đỡ trong quá trình thu thập dữ liệu phục vụ cho đề tài.
Chúng con xin chân thành cám ơn gia đình, ông bà, cha mẹ đã chăm sóc, nuôi
dưỡng chúng con nên người, và tạo điều kiện cho chúng con hoàn thành khóa luận
này.
Chúng em xin cảm ơn những anh chị đi trước đã để lại những kiến thức rất bổ
ích để chúng em tiếp nối.Cảm ơn các anh chị và các bạn trong nhóm nghiên cứu xử
lý tiếng nói đã giúp đỡ chúng tôi rất nhiều trong quá trình làm luận văn.
Mặc dù chúng em đã cố gắng hết sức để hoàn thành khóa luận, song không thể
giọng đọc mã chứng khoán của 124 người khác nhau, cả nam và nữ, qua môi
trường điện thoại, kèm văn bản tương ứng.
• Định hướng trong việc tìm ra mô hình và phương pháp nhận dạng tiếng Việt
có chất lượng cao.
10
MỞ ĐẦU
Nhu cầu thực tế
Tiếng nói là công cụ giao tiếp chính của con người. Xuất phát điểm từ ý tưởng
giao tiếp người-máy qua tiếng nói, những nghiên cứu về nhận dạng tiếng nói đã thu
hút được rất nhiều sự quan tâm trong suốt 5 thập kỉ qua. Cho đến thời điểm này, nhận
dạng tiếng nói đã tìm được nhiều ứng dụng cụ thể trong những công việc đòi hỏi có
sự giao tiếp người-máy như điều khiển máy tính bằng giọng nói, tìm kiếm các bản tin
thời sự, trả lời điện thoại tự động, tìm kiếm thông tin về du lịch, thị trường chứng
khoán, thời tiết....
Vì được ứng dụng rộng rãi nên yêu cầu đối với những người nghiên cứu nhận
dạng tiếng nói trên thế giới nói chung và đối với tiếng Việt nói riêng là phải làm sao
để kết quả nhận dạng đạt được càng cao càng tốt. Đáp ứng nhu cầu đó, trên thế giới
đã đưa ra nhiều phương pháp mới, nhiều hướng tiếp cận mới và đã đạt được những
kết quả khả quan.
Tuy nhiên việc áp dụng những kiến thức đó vào thực tiễn đối với tiếng Việt ở
nước ta còn nhiều hạn chế, còn thiếu những kết quả thực tiễn có tính ứng dụng cao
trong lĩnh vực phân tích và nhận dạng tiếng nói, cũng như trong việc giao tiếp một
cách tự nhiên giữa người và máy còn nhiều hạn chế.
Từ thực trạng trên, luận văn được phát triển nhằm xây dựng một ứng dụng thực
tiễn áp dụng một số phương pháp đã được đưa trong lĩnh vực nhận dạng tiếng nói, cụ
thể là : “Nghiên cứu và xây dựng hệ thống Voice Server ứng dụng cho các dịch vụ
cung cấp thông tin qua mạng điện thoại”.
Mục tiêu luận văn
Xây dựng một Voice Server nhỏ nhằm cung cấp thông tin qua mạng điện
thoại.Cụ thể là hệ thống sẽ cung cấp thông tin ở mức cơ bản về tỷ giá cổ phiếu và
+ Module xử lý (Truy vấn): cập nhật thông tin trực tuyến từ Internet và lưu
vào Database, tiếp nhận thông tin mã chứng khoán từ Module nhận dạng,
trả về kết quả tương ứng từ database dưới dạng text.
+ Module tổng hợp: ngược lại Module nhận dạng, module này chuyển đổi
thông tin từ dạng text sang dạng âm thanh chuyển về cho module giao
tiếp.
Hình 1.1: Cấu trúc voice server
Chi tiết về từng module sẽ được trình bày trong phần sau của báo cáo này trong
chương 2: “Cơ sở lý thuyết”.
Cấu trúc luận văn
Luận văn trình bày gồm 4 chương:
+ Chương 1: Chương này trình bày tóm lược về thế nào là một Ứng dụng
âm thanh (Voice Application) và giới thiệu về Hệ thống trả lời điện
thoại tự động.
+ Chương 2: Cơ sở lý thuyết thực hiện đề tài.
+ Chương 3: Thiết kế và cài đặt.
13
+ Chương 4: Tóm tắt đề tài.
14
Chương 1: TỔNG QUAN
Chương này trình bày tóm lược về thế nào là một Ứng dụng âm thanh (Voice
Application) và giới thiệu về Hệ thống trả lời điện thoại tự động.
1.1. Thế nào là một Ứng dụng âm thanh (Voice Application)
Là ứng dụng có thể thực hiện tương tác giữa máy tính và con người bằng âm
thanh nó cung cấp cho người dùng khả năng truy cập thông tin bằng âm thanh. Nó có
thể tạo nên những ứng dụng thương mại tương tác với khách hàng bằng âm thanh
thay cho tương tác truyền thống bằng phím và chuột.
Ứng dụng âm thanh có thể được cài đặt trên hệ thống cục bộ hoặc từ xa và
người dùng có thể tương tác với hệ thống bằng các thiết bị cầm tay như điện thoại...
Một ứng dụng âm thanh tiêu biểu sẽ gồm các tương tác sau:
Nếu hệ thống cần cung cấp thông tin động, thông tin không cố định thì phải sử
dụng bộ tổng hợp tiếng nói(TTS) để tổng hợp thành các tập tin âm thanh. Nếu hệ
16
thống chỉ cung cấp các chỉ dẫn hay những thông tin cố định thì chỉ cần ghi âm trước
nội dung rồi đáp ứng người gọi. Ví dụ, dạng tổng đài Vina 900 trong thực tế dùng để
nạp tiền điện thoại trả trước cung cấp các chỉ dẫn được ghi âm trước và nhận các con
số được cung cấp từ điện thoại và sau đó thao tác với cơ sở dữ liệu. Nhưng nếu là hệ
thống cung cấp thông tin tỷ giá cổ phiếu mà nhóm sẽ xây dựng với nội dung luôn
được cập nhật thì ngoài các câu hướng dẫn được ghi âm trước, hệ thống phải sử dụng
thêm bộ phận tổng hợp tiếng nói(TTS) để tổng hợp nội dung thay đổi cung cấp cho
khách hàng.
Lấy một ví dụ, một vài tổ chức sử dụng hệ thống IVR cho phép khách hàng lấy
thông tin về tài khoản được cập nhật ngay thời điểm hiện tại (24 giờ trong ngày) mà
không phải giao dịch trực tiếp với một nhân viên chăm sóc khách hàng nào. Hệ thống
thông tin tự động sẽ bao gồm những chức năng như: là nơi những thông tin về tài
khoản khách hàng có thể được đưa ra một cách tự động theo từng lĩnh vực phù hợp
với yêu cầu của khách hàng. Người sử dụng chỉ việc chọn loại thông tin cần biết và
nhận thông tin đó bằng giọng nói được ghi âm sẵn hoặc qua bộ TTS (Text-To-
Speech) trong hệ thống.
Công nghệ IVR cũng có thể được sử dụng vào mục đích thu thập thông tin, ví
dụ như những cuộc khảo sát qua điện thoại. Người sử dụng sẽ được hướng dẫn để trả
lời những câu hỏi bằng cách nhấn phím số trên điện thoại hoặc thông qua giọng nói.
1.2.2.Các dịch vụ điển hình của IVR
Bưu điện: Hộp thư thông tin, hộp thư thoại, quà tặng âm nhạc, báo thức, báo
máy hỏng tự động, bình chọn, dự đoán…
1900xxxx: Các dịch vụ giải trí truyền hình, trò chơi truyền hình (ví dụ: Hugo),
bình chọn ca sĩ, dự đoán kết quả bóng đá qua điện thoại và tin nhắn SMS.
Ngân hàng/Chứng khoán: Trạng thái tài khoản, thanh toán, chuyển khoản,
kích hoạt tài khoản, thẻ tín dụng, tỷ giá, lãi suất.
Vận tải/Hành khách: Tra cứu chuyến, giá vé, số ghế, đặt chỗ.
TAPI (Telephony Application Programming Interface) là một giao diện lập trình
chuẩn có thể làm cho bạn và máy tính “nói chuyện” với nhau qua điện thoại. Được
phát triển bởi Microsoft và Intel, TAPI được tích hợp trong hệ điều hành Windows
95/98 và Windows NT và các hệ điều hành đồ họa sau này. Sử dụng TAPI, các lập
trình viên có thể tận dụng các hạ tầng hệ thống điện thoại khác nhau bao gồm: PSTN
(Public Switching Telephone Network), ISDN (Integrated Services Digital Network)
hay PBX (Private Branch Exchange) mà không cần hiểu chi tiết về chúng. Mỗi nhà
cung ứng phần cứng cho hệ thống điện thoại (ví dụ: modem hay ISDN card) cung cấp
một driver phần mềm đặt trưng để tương tác với phần cứng.
TAPI mở ra khả năng cho các ứng dụng chạy trên Windows có thể chia sẽ các
thiết bị truyền thông với nhau và cung cấp khả năng đa phương tiện trên một nền tảng
rộng lớn của phần cứng.
Phần cứng được hỗ trợ bao gồm card âm thanh và đồ họa, modem, đường dây
ISDN, mạng ATM và máy quay phim. Với chúng, bạn có thể truyền thông qua các kết
nối trực tiếp đến máy tính cục bộ, đường dây điện thoại, mạng LANs, mạng WANs
và cả Internet.
19
Với việc thực hiện và nhận các cuộc gọi, chương trình có thể dùng TAPI để
cung cấp các tính năng truyền thông tiên tiến như định danh người gọi, định tuyến
cuộc gọi, thư thoại, và hội thảo video. Các chương trình truyền thông có thể định
danh người gọi, tự động gọi lại và hiển thị thông tin của người gọi, và thậm chí có thể
ưu tiên hay chuyển hướng cuộc gọi dựa trên thông tin khách hàng.
Với TAPI, khả năng cung cấp các tiêu chuẩn để các chương trình truyền thông
có thể điều khiển các tính năng của dữ liệu, fax và các cuộc gọi tương tác âm thanh:
o
TAPI cung cấp tính năng quản lý tất cả tín hiệu giữa máy tính và mạng điện
thoại, bao gồm những tính năng cơ bản như: quay số, trả lời cuộc gọi và trì
hoãn cuộc gọi.
o
TAPI bao gồm những tính năng phụ trợ được tìm thấy trong tổng đài, ISDN và
Windows 32 bit.
TAPI 2.0 được giới thiệu cùng với Windows NT 4.0. Đây không phải là phiên
bản TAPI đầu tiên hỗ trợ nền Windows NT nhưng một số tính năng tăng cường quan
trọng bao gồm hỗ trợ ACD và PBX đã được tích hợp thêm vào phiên bản này.
Vào khoảng giữa năm 1997, Microsoft giới thiệu TAPI 2.1. Đây là phiên bản
TAPI đầu tiên hỗ trợ cả nền Windows 95 và Windows NT/2000. Nếu được cài đặt
trên Windows 95 thì một số tính năng đặc trưng của Windows NT sẽ không được
TAPI sử dụng.
TAPI 3.0 được giới thiệu vào năm 1999 cùng với Windows 2000, TAPI 3.0
không hỗ trợ Windows 9.x và Windows NT 4.x nữa. Phiên bản này hỗ trợ điện thoại
trên IP(VoIP) bằng cách cung cấp các phương pháp để kết nối hai (dùng H.323) hoặc
nhiều (dùng IP Multicast) máy tính với nhau và bây giờ nó có khả năng truy cập bất
kỳ loại phương tiện truyền thông nào liên quan đến việc kết nối.
21
Windows XP bao gồm cả TAPI 3.1 và TAPI 2.2. TAPI 3.1 hỗ trợ mô hình đối
tượng và cung cấp một tập các ứng dụng COM để lập trình ứng dụng. Phiên bản này
sử dụng thành phần “File Terminals” có thể ghi và phát tập tin dữ liệu âm thanh.
2.1.3.TSP là gì?
TSP (TAPI SERVICE PROVIDERS) là một trình điều khiển cho phép các ứng
dụng TAPI có thể liên lạc qua lại trên nhiều nền tảng phần cứng khác nhau. Ở
Windows 95 và NT, TSP được gọi là Unimodem. Unimodem là một chuẩn modem
được hỗ trợ hầu hết các định dạng modem phổ biến. Khi sử dụng các thiết bị phần
cứng TAPI khác như PBX, các card xử lý âm thanh… thì phải sử dụng TSP do nhà
sản xuất phần cứng TAPI đó cung cấp.
2.1.4.Mối quan hệ giữa TSP và phần cứng TAPI
TSP thông dịch các hàm TAPI thành những câu lệnh mà phần cứng TAPI có thể
hiểu được, nó cũng dịch các sự kiện từ phần cứng thành dữ liệu mà các ứng dụng
TAPI có thể hiểu được. Bởi vì các phần cứng TAPI khác nhau có thể hoạt động và hỗ
trợ các tính năng khác nhau, mỗi TSP hỗ trợ các hàm TAPI khác nhau. Ví dụ, nếu
TSP hỗ trợ CallerID và modem đang sử dụng cũng hỗ trợ CallerID thì các ứng dụng
23
2.1.6.Kiến trúc TAPI
Hình 2.2: Kiến trúc TAPI
Theo sơ đồ trừu tượng trên, TAPI nằm giữa các ứng dụng và phần cứng. Nếu ta
thay từ “TAPI” thành “Windows”, và thay từ “TSP” thành “thiết bị điều khiển” thì sơ
đồ trên sẽ là sơ đồ kiến trúc Windows.
TSP cung cấp những tính năng và những dịch vụ cụ thể cho phần cứng. Khi một
ứng dụng yêu cầu thiết bị điện thoại thực thi một hành động nào đó thì TAPI sẽ tìm
đến dịch vụ TSP của thiết bị và gọi thực hiện nó. Sau đó, TSP hoàn thành yêu cầu
được gởi đến.
2.1.7.Mô hình của TAPI 2.x
Mô hình thiết kế TAPI được chia làm hai lĩnh vực, mỗi lĩnh vực có các lời gọi
TAPI khác nhau tùy thuộc vào thiết bị mà từng lĩnh vực sử dụng:
Các thiết bị đường truyền: là mô hình sử dụng đường truyền vật lý điện thoại để
gửi và nhận âm thanh và dữ liệu giữa hai địa điểm.
Các thiết bị điện thoại: là mô hình để thực hiện và nhận cuộc gọi.
Line
24
Trong TAPI, các thiết bị đường truyền thực chất không phải là một đường dây
vật lý. Nó như là một đối tượng đại diện cho một đường dây vật lý. Trong các hàm
TAPI cung cấp, một chương trình có thể nắm giữ nhiều thiết bị đường truyền, mỗi
thiết bị đường truyền này kết nối tới một đường dây vật lý.
Ví dụ, một chương trình TAPI có thể thiết kế để cung cấp âm thanh (gọi điện
thoại), fax, liên kết dữ liệu cho người sử dụng. Ứng dụng sẽ định danh ba thiết bị
đường truyền. Một là thiết bị âm thanh, hai là thiết bị truyền dẫn fax, ba là thiết bị để
gửi và nhận dữ liệu thông qua một modem. Nếu máy tính chỉ có một đường truyền
điện thoại vật lý, ứng dụng TAPI sẽ chia sẻ đường truyền này cho cả ba thiết bị
đường truyền. Điều này được gọi là quy hoạch động đường truyền.
Hình 2.3: Mô hình thiết kế TAPI
Vào mỗi thời điểm, ứng dụng TAPI sẽ khởi động một thiết bị đường truyền, nó