SVTH: Đặng Bảo Chung. Lớp D08CNPM2 Page 42 Bảng 3-21 Biểu đồ hoạt động chức năng thêm truyện
Biểu đồ hoạt động của chức năng đọc truyện 3.8 Thiết kế hệ thống
3.8.1 Lựa chọn công nghệ
Đối với trang quản trị, sử dụng ngôn ngữ PHP trên nền tảng Zend Framework. Cơ sở dữ liệu MySql. Tool phát triển là Zend Studio 8.0. Apache wampserver.
Đối với phần mềm đọc truyện, sử dụng công nghệ .NET, phát triển webservice. Tool phát triển là Visual Studio 2010. Webserver IIS
3.8.2 Lựa chọn topology của mạng
Tầng client
o Thể hiện giao diện người dùng. Đối với trang quản trị có thể nhập liệu và xem kết quả nhanh qua WebBrower. Đối với phần mềm đọc truyện, hiển thị trên điện thoại chạy môi trường WP7.
SVTH: Đặng Bảo Chung. Lớp D08CNPM2 Page 43
Tầng giữa
o Tầng nghiệp vụ logic chạy mã chương trình đa luồng.
Tầng dữ liệu (Database)
o Tầng này chịu trách nhiệm lưu trữ dữ liệu, cho phép thực thi các thao tác với cơ sở dữ liệu, với sự trợ giúp của hệ cơ sở dữ liệu MySql.
3.8.3 Biểu đồ lớp thiết kế
Hình 3-9 Biểu đồ lớp pha thiết kế
3.8.4 Đặc tả chi tiết các lớp
Tên lớp Thuộc tính Phương thức
Category id: int
title: String
ThemTheLoai(category: Category): void SuaTheLoai(category: Category):void XoaTheLoai(category: Category): void
Language id: int
code: String title: String
ThemNgonNgu(language: Language): void SuaNgonNgu(language: Language):void XoaNgonNgu(language: Language): void
Story id: int
user: User
category: Category language: Language timeCreate: datetime
ThemTruyen(story: Story): void SuaTruyen(story: Story):void XoaTruyen(story: Story): void
SVTH: Đặng Bảo Chung. Lớp D08CNPM2 Page 44 username: String
password: String role: String email: String
DangNhap(user: User): Void
Seqrecord id: int
user: User data: String
LuuTruyenDaDoc(story: Story, user: User): void
Apriori TimTruyenPhoBien(): Story[]
Bảng 3-22 Đặc tả chi tiết các lớp
3.8.5 Biểu đồ tuần tự
Biểu đồ tuần tự cho chức năng đăng nhập
Hình 3-10 Biểu đồ tuần tự chức năng đăng nhập
SVTH: Đặng Bảo Chung. Lớp D08CNPM2 Page 45 Hình 3-11 Biểu đồ tuần tự cho chức năng thêm truyện
Biểu đồ tuần tự cho chức năng đọc truyện
Hình 3-12 Biểu đồ tuần tự cho chức năng đọc truyện
SVTH: Đặng Bảo Chung. Lớp D08CNPM2 Page 46 Hình 3-13 Cơ sở dữ liệu của hệ thống TTS-S
3.8.7 Kịch bản và thiết kế giao diện
Kịch bản và giao diện cho chức năng đăng nhập
Hình 3-14 Giao diện trang đăng nhập 1. Quản trị nhập username và password
2. Quản trị nhấn vào nút “Đăng nhập TTS-S”
SVTH: Đặng Bảo Chung. Lớp D08CNPM2 Page 47 Hình 3-15 Giao diện thông báo đăng nhập thành công
Kịch bản và giao diện chức năng thêm truyện
1. Kích vào menu Truyện. Hệ thống hiển thị danh sách các truyện đã có trong hệ thống.
Hình 3-16 Giao diện danh sách truyện 2. Kích vào nút thêm truyện để thêm một truyện mới
SVTH: Đặng Bảo Chung. Lớp D08CNPM2 Page 48 Hình 3-17 Form nhập thông tin truyện
3. Quản trị chọn thể loại truyện, chọn ngôn ngữ, nhập tiêu đề, nhập nội dung sau đó bấm vào nút Thêm truyện
Kịch bản và giao diện cho chức năng đọc truyện trên di động
1. Hệ thống đọc danh sách các thể loại truyện và cho hiển thị ra màn hình 2. Bạn đọc chọn nhấn vào màn hình chọn thể loại truyện
SVTH: Đặng Bảo Chung. Lớp D08CNPM2 Page 49 3. Hệ thống đọc danh sách các ngôn ngữ và cho hiển thị ra màn hình
4. Bạn đọc nhấn vào màn hình chọn ngôn ngữ
5. Hệ thống đọc danh sách các truyện và cho hiển thị ra màn hình 6. Bạn đọc nhấn vào màn hình để chọn truyện muốn đọc
7. Hệ thống đọc truyện và cho hiển thị nội dung ra màn hình
SVTH: Đặng Bảo Chung. Lớp D08CNPM2 Page 50
CHƯƠNG 4: CÀI ĐẶT VÀ THỬ NGHIỆM
Trong chương này, chúng ta sẽ tìm hiểu về cách cài đặt hệ thống TTS-S và thử nghiệm hệ thống sau khi đã được cài đặt hoàn chỉnh. Để hệ thống chạy một cách hiệu quả nhất thì ta cần thức hiện cài đặt một số công cụ sau:
4.1 Cài đặt môi trường 4.1.1 Cài đặt wampserver 4.1.1 Cài đặt wampserver
WAMP là chữ viết tắt của Windows, Apache, MySQL, PHP / Perl / Python. WAMP là một hình thức của máy chủ nhỏ có thể chạy trên hầu như bất kỳ hệ điều hành Windows. Bộ cài của wamp bao gồm:
o Apache: chương trình sử dụng máy chủ, cho phép máy chủ phân phát các trang web
o PHP: coi như một “plugin” của Apache, nó cần có Apache để hoạt động. Nhờ PHP mà Apache biết làm việc với những trang Php, nói cách khác Apache+PHP = một server PHP
o Hệ quản trị cơ sở dữ liệu MySql
Tải bộ cài đặt tại địa chỉ http://www.wampserver.com/dl.php#downloadwrapper
Sau khi tải về thì tiến hành cài đặt như cài đặt các chương trình phần mềm khác. Cuối phần cài đặt, server Apache sẽ chạy trước. Nếu tường lửa của máy ngăn chặn chương trình, chỉ cần kích chuột vào Unlock để cho phép chương trình chạy.
Sau khi cài đặt và chạy chương trình. Ta được giao diện sau:
Hình 4-1 Giao diện wampserver
4.1.2 Cài đặt IIS 7
Để cài đặt IIS7 ta thực hiện các bước sau:
- Bước 1: Vào Start ⇒Control Panel ⇒Programs and Features
- Bước 2: Trên thanh menu phía bên trái giao diện Programs and Features, kích chọn Turn Windows features on or off. Giao diện sau sẽ xuất hiện:
SVTH: Đặng Bảo Chung. Lớp D08CNPM2 Page 51 Hình 4-2Giao diện Windows Features
- Bước 3: Tích chọn Internet Information Services và nhấn OK - Bước 4: Cấp quyền đầy đủ cho thư mục C:\Windows\Temp Sau 4 bước ta đã cài đặt thành công IIS7.
4.1.3 Cài đặt trang quản trị hệ thống TTS-S
- Bước 1: Từ giao diện của wampserver, kích vào phpMyAdmin . Một giao diện quản trị cơ sở dữ liệu sẽ hiện ra.
- Bước 2: Tạo 1 bảng cơ sở dữ liệu có tên là TTS-S. - Bước 3: Import CSDL đã có sẵn vào database TTS-S. - Bước 4: Copy mã nguồn của trang quản trị vào thư mục
PATH_TO_WAMP/wamp/www/
4.1.4 Tạo webservice phục vụ cho ứng dụng trên điện thoại
- Bước 1: Vào Start gõ “inetmgr.exe” để chạy chương trình IIS Manager - Bước 2: Chọn như hình Hình 4-3
Hình 4-3 Cài đặt webservice (1) - Bước 3: Nhập như Hình 4-4, sau đó nhấn OK.
SVTH: Đặng Bảo Chung. Lớp D08CNPM2 Page 52 Hình 4-4 Cài đặt webservice (2)
Sau khi thực hiện các bước trên thì ta sẽ được đường dẫn đến webservice có dạng http://localhost:84/tts-s/Service1.svc?wsdl
4.2 Thử nghiệm
Thử nghiệm dịch vụ lấy danh sách truyện phổ biến từ webservice thông qua thuật toán Apriori đã được cài đặt.
Giả sử đầu vào là bộ dữ liệu:
Bảng trên miêu tả bạn đọc có mã là id_user thì đã từng đọc những truyện có mã nằm trong data. Chẳng hạn bạn đọc có mã là 1 thì đã từng đọc những truyện có mã là 1, 2 và 3.
Giả sử bạn đọc có mã là 9 mở phần mềm đọc truyện lên. Trong quá khứ, bạn đọc 9 đã từng đọc truyện có mã là 4. Để gợi ý cho bạn đọc 9 đọc truyện phổ biến ta sẽ gọi
SVTH: Đặng Bảo Chung. Lớp D08CNPM2 Page 53 phương thức GetApriori(9) với tham số đầu vào là mã của bạn đọc từ dịch vụ
webservice. Quá trình gọi sẽ được mô phỏng bằng hình sau:
Bấm vào nút Execute ta sẽ được kết quả như sau:
Hệ thống đã phát hiện ra luật {4}⇒{1} tức là đa số bạn đọc đọc truyện có mã là 4 thì cũng đọc truyện có mã là 1.
Tương tự, ta sẽ kiểm tra với bạn đọc có mã là 10. Trong quá khứ bạn đọc này đã đọc truyện có mã là 2 và 3. Sau khi gọi hàm GetApriori(10) ta sẽ được kết quả như sau:
SVTH: Đặng Bảo Chung. Lớp D08CNPM2 Page 54 Bạn đọc có mã là 10 có thể sẽ thích đọc truyện có mã là 6 bởi vì hệ thống đã phát hiện ra luật {2,3}⇒{6}.
SVTH: Đặng Bảo Chung. Lớp D08CNPM2 Page 55
KẾT LUẬN Những nội dung đồ án đã thực hiện được
Đồ án đã trình bày được tổng quan về khai phá mẫu phổ biến. Tìm hiểu các định nghĩa, ví dụ về luật kết hợp trong khai phá mẫu, đi sâu vào nghiên cứu và cài đặt thuật toán Apriori.
Đồ án trình bày khái quát phương pháp tổng hợp tiếng nói. Giúp chúng ta hiểu được phần nào cách mà Google đã sử dụng để phát triển API Google Translate Text to Speech.
Đồ án xây dựng thành công phần mềm đọc truyện từ chữ sang giọng nói. Trợ giúp cho
những người khiếm thị hay trong những trường hợp không thể nhìn vào màn hình để đọc được. Trợ giúp tìm những mẫu truyện phổ biến giúp người đọc không bị tốn thời gian để tìm những truyện mà mình yêu thích.
Một số hướng phát triển tiếp theo
Cải tiến thuật toán khai phá bằng một thuật toán khác tối ưu hơn.
Tự phát triển hệ thống Text To Speech để có thể nắm bắt được công nghệ, từ đó cải thiện chất lượng giọng đọc cũng như ngữ âm để người nghe cảm nhận được tốt hơn.
SVTH: Đặng Bảo Chung. Lớp D08CNPM2 Page 56
TÀI LIỆU TAM KHẢO Sách tham khảo
[1] Binh Liu1 Bing Liu: “Web Data Mining Exploring Hyperlinks, Contents, and Usage Data”,ACM Comput ing Classification (1998): H.2, H.3, I.2, I.5, E.5.
[2] J.Han, J.Pei, and X.Yan: “Sequential Pattern Mining by Pattern-Growth: Principles and Extensions”, StudFuzz 180, 183–220 (2005).
[3] Đoàn Duy: “Đề tài: Ứng dụng Sequential Pattern Mining trong hệ thống thương mại điện tử”, Học viện Công nghệ Bưu chính Viễn thông.
[4] Thierry Dutoit: “A Short Introduction to Text-to-Speech Synthesis”.
[5] Lawrence R.Rabiner: “Biing−Huang Juang Foundamentals of speech recognition”, Prentice Hall, 1993.
[6] Vô danh: “Luận văn Tổng hợp tiếng Việt bằng giải thuật TD-PSOLA”
Website tham khảo
[7] http://www.winphoneviet.com
[8] http://www.tinhte.vn/threads/830617/
[9] http://www.ctrlq.org/code/19147-text-to-speech-php [10] HTML, CSS, Javascript: http://w3schools.com/ [11] Jquery: http://jquery.com/