Sử dụng AJAX cho phát triển trang web từ điển

Một phần của tài liệu XÂY DỰNG hệ THỐNG từ điển BKDICTIONARY sử DỤNG CHUẨN DICT (Trang 55)

II. KIẾN THỨC CHUNG

3.Sử dụng AJAX cho phát triển trang web từ điển

Với ưu thế của mình , AJAX được sử dụng nhằm xây dựng một phần mềm từ điển dựa web, cung cấp các công cụ tra cứu gần giống như trên desktop. Có khả

năng load về các từ liên quan, các từ gần đúng, và có thể thực hiện tra cứu nhanh bằng cách bắt text trên cửa sổ web.

Chương 5. Text to speech.

Khi sử dụng một ngoại ngữ, một vấn đế khá khó khăn thường gặp phải là việc phát âm chính xác các từ. Vì vậy một từ điển không thể thiếu chức năng phát âm. Có rất nhiều giải pháp thực hiện chức năng này nhưng phổ biến và đơn giản nhất là sử dụng bộ Speech SDK của Microsoft. Giải pháp này đáp ứng yêu cầu đơn giản của hệ thống từ điển và cung cấp khả năng mở rộng ra nhiều ngôn ngữ khá dễ dàng. Ta sẽ đi nghiên cứu giải pháp này và khả năng phát triển với ngôn ngữ ngoài tiếng Anh nói chung và tiếng Việt nói riêng.

1. Microsoft Speech SDK.

Microsoft Speech SDK là một bộ công cụ phát tiển phần mềm nhằm xây dựng công cụ và phần mềm phát âm trên Windows. Nó được xây dựng nhằm hỗ trợ cho việc phát triển các ứng dụng phát âm trên nền desktop. Nó bao gồm một giao diện lập trình phát âm ( SAPI- Speech application programming interface), các engine đọc máy, đọc text, các công cụ hỗ trợ việc biên dịch, xây dựng các ứng dụng đa ngôn ngữ, và các tài liệu liên quan.

Trái tim của Microsoft SDK là SAPI, được xây dựng dựa trên chuẩn về speech do W3C – một tổ chức đưa ra rất nhiều chuẩn mở được áp dụng rộng rãi. Đó là các chuẩn về:

 Ngôn ngữ đánh dấu phát âm tổng hợp – SSML(Speech Synthesis Markup Language): Cung cấp một chuẩn chung có khả năng đánh dấu xác định các âm tiết, tốc độ phát âm, âm lượng, âm điệu, … nhằm đưa đến khả năng phát âm Text to Speech tự nhiên hơn giống với con người hơn.

 Mô tả chi tiết kĩ thuật phát âm dựa vào đoán nhận ngữ pháp - SRGS (Speech Recognition Grammar Specification): Cung cấp các chuẩn phát âm dựa trên đoán nhận ngữ pháp.

 Ngoài ra SAPI còn hỗ trợ cho chức năng đoán nhận ngữ nghĩa ở mức đơn giản. Dựa trên việc đoán nhận ngữ pháp để đoán nhận ngữ nghĩa nhằm phát âm trong một số trường hợp đặc biệt dùng trong văn nói thông dụng. Ví dụ như các từ “yes”, “yeah”, “yep” đều có thể dùng trong dạng ngữ pháp “yes/no” nhưng nó đều mang nghĩa là “yes” vì vậy cả câu sẽ đọc theo ngữ điệu tỏ thái độ đồng ý.

2. Phát âm với ngôn ngữ không phải tiếng Anh.

Tiếng Anh được coi là ngôn ngữ quốc tế, chính vì vậy đã có rất nhiều nghiên cứu, cũng như hệ thống cung cấp khả năng phát âm tiếng Anh. SAPI hỗ trợ đầy đủ và trực tiếp tiếng Anh nên ta sẽ không xét đến ở đây mà chúng ta đi nghiên cứu về khả năng áp dụng cho các ngôn ngữ khác ngoài tiếng Anh.

Với việc hỗ trợ SSML, ta có thể sử dụng Microsoft SAPI để định nghĩa bảng âm vị cho từng ngôn ngữ từ đó định nghĩa cách phát âm các từ dựa theo bảng âm vị đó. Ở đây ta sẽ ví dụ một đoạn của bảng âm vị tiếng Trung một ngôn ngữ có chữ viết tượng hình với số âm vị thuộc loại nhiều nhất thế giới. 422 âm vị.

Âm vị ID Ví dụ

bang 23 bang 3 jia 4 (kidnap)

bao 24 yong 1 bao 4 (embrace)

bei 25 bei 3 fang 1 (north)

ben 26 ben 4 dan 4 (fool)

beng 27 beng 4 tiao 4 (jump)

bi 28 bi 2 zi 5 (nose)

ji 144 ji 2 shi 2 (in time)

jia 145 jia 4 qi 1 (holiday)

jian 146 jian 3 dan 1 (simple)

jiang 147 jiang 1 (river)

jiao 148 jiao 1 tong 1 (traffic)

jie 149 jie 2 ri 4 (feast)

jin 150 jin 3 zhang 1 (strain)

jing 151 gan 1 jing 4 (neatness)

Ví dụ để xây dựng cách đọc từ: 北京 - Bắc Kinh – Beijing ta sẽ khai báo như sau:

<?xml version="1.0" encoding="ISO-8859-1"?>

<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/2001/10/synthesis (adsbygoogle = window.adsbygoogle || []).push({});

http://www.w3.org/TR/speech-synthesis/synthesis.xsd" xml:lang=" zh-Hans ">

<Word value=”北京”

<PRON SYM = "1bei - jing”/> </Word>

• “1” sẽ là trọng âm ở âm tiết đầu tiên.

• “ bei” sẽ được so sánh và tìm ra là âm vị có ID là 25 tương ứng với một âm trong bảng có ID là 25. (Âm này được đưa vào dạng media).

• “-“ là hạ giọng.

• “jing” tương tự trên với âm vị ID 151.

3. Phát âm tiếng Việt.

Với sự hỗ trợ đầy đủ của Microsoft Speech SDK, chúng ta hoàn toàn có thể thực hiện chức năng phát âm tiếng Việt dựa trên những nghiên cứu về âm vị tiếng Việt. Hệ thống từ điển xây dựng được thiết kế mở nhằm hỗ trợ khả năng phát triển phát âm cho nhiều ngôn ngữ khác nhau bao gồm cả tiếng Việt.

4. Sử dụng Text to Speech trong hệ thống phần mềm từ điển.

Text to speech là chức năng không thể thiếu trong hệ thống từ điển mà ta xây dựng. Hiện tại, hệ thống mới nghiên cứu ở mức sử dụng tiếng Anh. Tuy nhiên hoàn toàn có khả năng phát triển sử dụng cho nhiều ngôn ngữ khác nhau bao hồm tiếng Việt và là một mục tiêu phát triển tiếp trong tương lai.

III. PHÂN TÍCH & THIẾT KẾ HỆ THỐNG KẾ HỆ THỐNG

Chương 1. Phân tích hệ thống

1. Các mô hình phát triển hệ thống.

Khi phát triển hệ thống từ điển, các từ điển hiện tại đều phát triển theo 3 mô hình mà ta sẽ đề cập sau đây:

a. Từ điển trên Desktop.

Mô hình này được áp dụng cho các phần mềm từ điển cài đặt trên desktop với một số CSDL đi kèm.

 Đặc điểm:

• Phần mềm được cài đặt trên từng máy tính riêng lẻ. • CSDL được đặt tại máy sử dụng.

• Không thông tin với bên ngoài.

 Ưu điểm:

 Dễ triển khai, dễ xây dựng.

 Thực hiện được nhiều chức năng liên quan đến hệ thống do được cài đặt trực tiếp trên hệ thống.

 Nhược điểm:

- Khó khăn update khi có sự thay đổi về chức năng cũng như CSDL. - Thường CSDL ít, cố định.

- Chỉ sử dụng tại máy tính cài đặt.

b. Từ điển trên Web.

Trong mô hình này, từ điển được xây dựng thành một trang web, người dùng sẽ tra cứu qua web browser thông qua đường truyền Internet.

 Đặc điểm:

• Từ điển là một phần mềm trên nền web. • CSDL được đặt tại máy chủ web. (adsbygoogle = window.adsbygoogle || []).push({});

• Người dùng gửi yêu cầu tra cứu tới máy chủ bằng giao thức http thông qua web browser.

 Ưu điểm:

 Có thể truy cập từ mọi nơi.

 Không yêu cầu cài đặt phần mềm trên máy sử dụng.

 Nhược điểm:

- Một số chức năng bị hạn chế do quyền truy cập. - Đòi hỏi đường truyền Internet.

- Khó khăn đáp ứng tính tiện dụng cho người dùng.

c. Từ điển theo mô hình Client-Server:

Từ điển loại này thường được sử dụng trong các cơ quan, doanh nghiệp nơi có một hệ thống mạng Lan được xây dựng nhằm mục đích chia sẻ thông tin nội bộ.

 Đặc điểm:

• Từ điển gồm 2 phần: phần server cài đặt trên máy chủ chứa CSDL đáp ứng các yêu cầu được gửi từ phần client đặt trên máy trạm.

• Người dùng sử dụng máy trạm tiến hành các thao tác tra cứu, các yêu cầu đó được gửi tới server, server đáp ứng trả lại kết quả tương ứng.

 Ưu điểm:

 Khi cần cập nhật CSDL chỉ cần cập nhật trên server.

 Đảm bảo một môi trường tra cứu thống nhất trong một cơ quan.

 Client được cài đặt trên máy trạm nên đáp ứng đầy đủ các chức năng hệ thống.

 Nhược điểm:

- Không áp dụng cho các người dùng cá nhân.

- Mọi hoạt động phụ thuộc hoàn toàn vào server không đáp ứng một số trường hợp đòi hỏi tính độc lập.

2. Mô tả mô hình hệ thống theo mô hình kết hợp.

Nhằm đáp ứng yêu cầu tốt nhất từ nhiều đối tượng sử dụng, hệ thống chúng ta xây dựng sẽ phát triển dựa trên một mô hình kết hợp nhằm kế thừa các ưu điểm, khác phục các nhược điểm của các mô hình trên.

Xây dựng hệ thống trên mô hình kết hợp đã kế thừa tốt các ưu điểm của các mô hình trên đáp ứng các nhu cầu đa dạng của người dùng đồng thời người sử dụng cũng không cảm thấy phức tạp hơn. Cho phép người sử dụng có thể tùy ý sử dụng theo từng trường hợp.

3. Yêu cầu đặt ra xây dựng hệ thống từ điển.

 Xây dựng từ điển trên Desktop với các chức năng thuận tiện cho việc tra cứu từ trên máy tính.

 Xây dựng Dict Server cài đặt lên máy server cho phép đáp ứng các yêu cầu tra cứu.

Chương 2. Thiết kế hệ thống

1. Các thành phần chung của hệ thống.

Hệ thống gồm 3 thành phần chính minh họa trong hình vẽ sau:

Hình 8. Mô hình chung

a. Phần mềm trên Desktop: (adsbygoogle = window.adsbygoogle || []).push({});

Có thể hoạt động như một phần mềm từ điển độc lập với nhiều chức năng tiện dụng. Đồng thời vừa là một DICT client hoạt động trong mô hình client- server. Giao tiếp, tra cứu thông qua DICT server bằng giao thức DICT

protocol. Người dùng có thể sử dụng chính phần mềm hoặc sử dụng web browser để tra cứu thông qua trang web từ điển.

b. DICT server:

Phần DICT server đặt trên máy chủ: Server cài đặt giao thức DICT protocol với nhiều CSDL từ điển cho phép người dùng tra cứu từ DICT client.

c. Web từ điển.

Phần web từ điển: Xây dựng một trang web cho phép người dùng thông qua web browser tra cứu trực tiếp trên web và tiến hành nhiều chức năng nâng cao như dịch tự động.

2. Thiết kế các module của hệ thống.

a. Tổng quan hệ thống:

Module Mô tả

DICT Server Xây dựng một server cài đặt DICT Protocol cho phép đọc các CSDL đáp ứng đầy đủ các yêu cầu của các client về từ ,nghĩa từ, xác thực người dùng, …. Dễ dàng cập nhật các CSDL.

Phần mềm trên Desktop.

• Module tra từ. Được xây dựng như là một phần mềm độc lập với CSDL, hoặc như một DICT Client cho phép người dùng tra cứu từ với nhiều chức năng tiện dụng.

• Module Quản lí các từ điển

Modul quản lí, hiển thị thông tin về các từ điển, cho phép thêm bớt

• Module Quản lí từ Thêm xóa,history, print, note,… các từ.

• Click’nSee Lấy text trên các nền, đưa ra nghĩa của từ đó.

• Speech Phát âm các từ sử dụng SpeechSDK.

Từ điển trên Web

Sử dụng công nghệ AJAX cho phép người dùng tra từ như trên Desktop.

b. Mô tả chi tiết các module:

Dict Server.

Tên Dict Server Loại module SubProgram

Mục tiêu Chương trình cài đặt trên Server. Đọc dữ liệu, phản hồi các yêu cầu từ Dict Client trả lại các kết quả tra cứu tương ứng.

Nhiệm vụ Đọc các CSDL từ điển hình thành thông tin về chúng, nhận các yêu cầu của DictClient, đọc ra dữ liệu trả về cho

Client. Phụ thuộc các

module khác

Gửi trả lời hay thông tin đến Dict Client qua Dict Protocol. Nhận yêu cầu hay các thông tin từ DictClient.

Giao diện với module khác

Các giao tiếp tuân theo Dict Protocol mô tả trong tài liệu đính kèm.

Tài nguyên Cài đặt trên server. Quy trình thực (adsbygoogle = window.adsbygoogle || []).push({});

hiện

Dict Server chủ yếu nằm chờ đợi những yêu cầu từ Dict Client và thực hiện các hoạt động đáp ứng các yêu cầu đó. Cụ thể có 3 loại đáp ứng chính là:

• Đáp ứng thông tin: Khi DictClient yêu cầu các thông tin về Server, CSDL,..

• Đáp ứng tra từ: Đọc ra từ , tìm trong CSDL trả lại cho Dict Client nghĩa của từ đó.

• Đáp ứng Authenicate: Dùng khi cài đặt Authenicate nhằm xác định quyền sử dụng cho Dict Client. Dữ liệu. Các CSDL từ điển, các thông tin từ điển, thông tin về

người dùng ( TH cài đặt Authenicate),…

Module Tra từ:

Tên Tra từ

Loại module Module

Mục tiêu Nhận từ, tìm kiếm trong danh sách index, lấy ra thông tin về vị trí và độ dài nghĩa. Đọc tiếp file nghĩa trả về nghĩa của từ.

Nhiệm vụ Hoạt động dưới sự yêu cầu của người dùng. Được khởi tạo ban đầu, đọc ra index, nhận từ tìm nó trong danh sách index, và đọc ra nghĩa hiển thị ra giao diện sử dụng. Phụ thuộc các

module khác

Module này liên kết với mọi module khác. Được khởi tạo cùng phần mềm, cung cấp thông tin cho các module khác thực hiện. Như cung cấp từ khi quản lí từ, hay tiến hành các thay đổi khi chỉnh sửa CSDL.

Giao diện với module khác

Giao diện sử dụng được mô tả trong phần dưới. Giao tiếp với các module khác thông qua dữ liệu dùng chung là các đối tượng dùng chung.

Tài nguyên Quy trình thực hiện

• Bắt đầu chương trình, đọc các file dữ liệu lấy ra thông tin về các từ điển, nạp danh sách các index. • Nhận từ do người dùng nhập vào hoặc do module

khác truyền yêu cầu tra từ. Tìm kiếm trong danh sách index lấy ra thông tin về vị trí, độ dài của nghĩa.

• Hiển thị ra nghĩa của từ trong 1 hay một vài từ điển theo cách trực quan nhất.

Dữ liệu Các CSDL từ điển, danh sách các từ điển,…

Module quản lí các từ điển:

Tên Quản lí các từ điển. Loại module Module.

Mục tiêu Quản lí các CSDL từ điển. Thêm, bớt các từ điển. Phân loại, quyết định sử dụng hay không sử dụng 1 từ điển. Nhiệm vụ Đầu vào là thông tin về các CSDL đang sử dụng. Thông

qua chức năng này người dùng sẽ add thêm hay loại bỏ 1 từ điển. Tìm kiếm các CSDL hoặc add vào 1 CSDL trực tuyến.

Phụ thuộc các module khác

Phụ thuộc vào module tra từ về thông tin các từ điển đang sử dụng.

Quy trình thực hiện

Gồm các hoạt động sau:

• Thêm 1 từ điển. Có thể là có file CSDL trên máy hoặc 1 từ điển trực tuyến nào đó.

• Xóa một từ điển. (adsbygoogle = window.adsbygoogle || []).push({});

• Sửa đổi thông tin của một từ điển.

Dữ liệu. Thông tin về các CSDL trên máy.

Module Quản lí từ:

Tên Quản lí từ. Loại module Module.

Mục tiêu Quản lí các từ trong CSDL từ điển. Thêm bớt chỉnh sửa, đánh dấu, ghi nhớ,.. một từ nào đó.

Phụ thuộc các module khác

Module tra từ. Tiến hành trên các từ , các index lấy ra từ module tra từ. Quy trình thực hiện Gồm có các quá trình sau: • Thêm 1 từ • Xóa 1 từ

• Lưu trữ History gồm các từ đã tra. • Bookmark một từ

• Đánh dấu StickyNote Dữ liệu CSDL từ điển.

Module Click’n See:

Tên Click’nSee

Loại module Module

Yêu cầu Lấy text trên màn hình, gửi yêu cầu tra từ đến module tra từ. Lấy kết quả trả về từ module tra từ hiển thị ra tương ứng.

Phụ thuộc các module khác

Module tra từ. Get text SDK. Giao diện với

module khác

Tiến hành tra từ trên các nền như Text, window,web, pdf, …

Quy trình thực hiện

• Lấy text trên màn hình • Phân tách lấy từ • Gửi cho module tra từ

• Lấy kết quả tra từ hiển thị ra màn hình.

Module Speech:

Tên Speech

Loại module Module Yêu cầu Phát âm các từ

Nhiệm vụ Sử dụng Speech SDK tiến hành đọc từ. Phụ thuộc module

khác

Sử dụng các hàm sẵn có trong Speech SDK. Quá trình thực

hiện

• Cho phép chỉnh sửa các tùy chọn phát âm như chọn người phát âm, âm độ, nhanh chậm,…

• Sử dụng Speech SDK để phát âm từ đó.

Dict Website: (adsbygoogle = window.adsbygoogle || []).push({});

Tên Dict Website

Loại module Chương trình riêng.

Yêu cầu Tạo một từ điển trên Internet. Giao diện với

module, thành phần khác

Hoạt động trên nền Web, thông qua Web browser người dùng tiến hành các chức năng tra từ.

3. Thiết kế lớp chính cho phần mềm từ điển.

a. Từ điển trên Desktop:

 Tổng quan:

Hình 9. Thiết kế class cho từ điển trên Desktop

 Mô tả chi tiết như sau:

Một phần của tài liệu XÂY DỰNG hệ THỐNG từ điển BKDICTIONARY sử DỤNG CHUẨN DICT (Trang 55)