Tải bản đầy đủ (.doc) (80 trang)

XÂY DỰNG hệ THỐNG từ điển BKDICTIONARY sử DỤNG CHUẨN DICT

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.34 MB, 80 trang )

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN
──────── * ───────
ĐỒ ÁN
TỐT NGHIỆP ĐẠI HỌC
NGÀNH CÔNG NGHỆ THÔNG TIN
XÂY DỰNG HỆ THỐNG TỪ ĐIỂN
BKDICTIONARY
SỬ DỤNG CHUẨN DICT
Sinh viên thực hiện : Cao Sĩ Dũng
Lớp CNPM - K48
Giáo viên hướng dẫn: TS. Cao Tuấn Dũng
Hà Nội 5-2008
PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP
1. Mục đích nội dung của ĐATN:
Nghiên cứu , thiết kế, xây dựng hệ thống từ điển BKDictionary theo chuẩn DICT. Hệ
thống bao gồm một từ điển trên desktop, DICT server và một từ điển trên web.
2. Các nhiệm vụ cụ thể của ĐATN:
 Tìm hiểu về chuẩn từ điển DICT, WordNet,
 Xây dựng từ điển trên Desktop hoạt động trên nhiều loại CSDL.
 Thực hiện Get Text và tra từ trên mọi nền như Web, PDF,
 Phát triển từ điển với Microsoft Speech SDK tạo khả năng đọc từ.
 Xây dựng Dict Server, Dict Client, Dict Protocol . Tạo một từ điển trên nền Web với
công nghệ AJAX.
 Xây dựng từ điển trên Desktop có thể sử dụng nhiều loại CSDL theo chuẩn DICT.
Thuận lợi cho việc sử dụng nhiều loại ngoại ngữ như Anh, Pháp, Nhật,Việt, Đức,…
 Xây dựng hệ thống từ điển với DICT protocol theo mô hình Server-Client kết hợp sử
dụng các Dict Server miễn phí trên mạng.
 Xây dựng trang web từ điển sử dụng công nghệ Ajax.
3. Lời cam đoan của sinh viên:
Tôi Cao Sĩ Dũng cam kết ĐATN là công trình nghiên cứu của bản thân tôi dưới sự hướng


dẫn của TS. Cao Tuấn Dũng.
Các kết quả nêu trong ĐATN là trung thực, không phải là sao chép toàn văn của
bất kỳ công trình nào khác.
Hà Nội, ngày 18 tháng 5 năm 2008
Tác giả ĐATN
Cao Sĩ Dũng
4. Xác nhận của giáo viên hướng dẫn về mức độ hoàn thành của ĐATN và cho phép bảo
vệ:
Hà Nội, ngày tháng năm
Giáo viên hướng dẫn
TS. Cao Tuấn Dũng
TÓM TẮT NỘI DUNG ĐỒ ÁN TỐT NGHIỆP
Từ điển là một công cụ không thể thiếu trong việc tra cứu, dịch thuật,
làm việc với một ngôn ngữ. Cùng với việc ngày nay con người sử dụng
máy tính như một công cụ lao động thiết yếu thì nhu cầu xây dựng một hệ
thống từ điển trên máy tính đáp ứng mọi yêu cầu công việc là một nhu cầu
tất yếu.
Đồ án này tập trung tìm hiểu đánh giá các yêu cầu về hệ thống từ điển,
đánh giá các hệ thống hiện tại, nghiên cứu các giải pháp kỹ thuật cũng như
triển khai, thiết kế, xây dựng một hệ thống từ điển đáp ứng tốt nhất các yêu
cầu đa dạng của người dùng.
Hệ thống từ điển sẽ xây dựng là một giải pháp tổng thể theo mô hình kết
hợp từ phần mềm trên desktop, client- server đến web nhằm đưa đến người
sử dụng nhiều sự lựa chọn phục vụ cho các yêu cầu công việc khác nhau.
Mang lại tính tiện dụng khi sử dụng từ điển như có khả năng tra cứu, phát
âm, dịch tự động, tra cứu nhanh trên nhiều nền như Windows, web, pdf,…
Đáp ứng mọi nhu cầu về các ngôn ngữ khác nhau của người dùng thông
qua việc sử dụng chuẩn DICT cho phép dễ dàng thêm, bớt thay đổi các cơ
sở dữ liệu từ điển hay dễ dàng tạo, sửa, chia sẻ các tài nguyên từ điển, phát
huy sức mạnh từ cộng đồng mạng xây dựng các CSDL cho tất cả các ngôn

ngữ. Tạo lập các cơ sở dữ liệu riêng biệt của các cơ quan, tổ chức, cá nhân
có nhu cầu tổ chức riêng CSDL từ điển cho mình. Đồng thời hướng tới
mục tiêu xây dựng các cơ sở dữ liệu chuyên biệt cho từng lĩnh vực kinh tế,
xã hội, khoa học.
ABSTRACT OF THESIS
Dictionary is an unnecessary tool in looking-up, translation, and working with a
language. Together with the human use of computers as a essential working tool,
the building need for a dictionary system integrated into the computer is a vital
need.
This project concentrates on studying to assess requirements of dictionary
system, assess the current system, study, design, and build a dictionary system that
best satisfy all diversified requirements of users.
Construction Dictionary System is a comprehensive solution to build in
accordance with combined model from the sofeware on desktop, client- server to
website in order to bring users many choices serving for different task requirements
that bring back benefits when using dictionary such as looking-up capacity,
pronounciation, automatic translation, quick looking-up on many desktops such as
Windows, web, pdf,etc.; satisfy all requirements of different languages by using
DICT standard that allows to easily add or remove, change its database; easily
create, repair, share dictionary resources, promote strength from web community to
build database for all languages; establish specific database of bodies,
organizations, and individuals who have a private need for their own dictionary
databse; and simultaneously aim at the target of building specific database for each
economic, social, and scientific sector.
Lời cảm ơn
Để có ngày hoàn thành đồ án tốt nghiệp này, em xin chân
thành cảm ơn các thầy cô giáo trong khoa Công Nghệ
Thông Tin Trường Đại học Bách khoa Hà Nội đã tận tâm
dạy dỗ chúng em trong suốt những năm học vừa qua. Xin
cảm ơn trung tâm Bkis đã tạo điều kiện giúp em có một môi

trường thực tập và làm việc trong hơn một năm vừa qua.
Em cũng xin gửi lời cảm ơn tới gia đình, các bạn đồng
nghiệp, những người đã giúp đỡ, động viên em trong suốt
quá trình học tại trường.
Cuối cùng, em xin bày tỏ lòng biết ơn sâu sắc tới thầy
Cao Tuấn Dũng người đã tận tâm hướng dẫn em thực hiện
đồ án này.
Em xin chân thành cảm ơn!
Hà Nội ngày 18/5/2008
Cao Sĩ Dũng.
MỤC LỤC
I. PHẦN MỞ ĐẦU 10
1. Đặt vấn đề 11
2. Yêu cầu về hệ thống từ điển: 12
3. Các tiêu chí của một hệ thống từ điển hoàn chỉnh 13
4. Khảo sát đánh giá hệ thống phần mềm từ điển hiện tại 14
5. Cơ sở dữ liệu từ điển 15
6. Mục đích của đồ án 16
7. Cấu trúc luận văn 16
II. KIẾN THỨC CHUNG 18
Chương 1. Chuẩn DICT 19
1. DICT format 19
2. DICT Protocol 21
3. Ứng dụng chuẩn DICT trong hệ thống từ điển 31
Chương 2. Mô hình Client-Server và lập trình mạng 32
1. Kiến trúc client-server 32
2. Giao thức mạng: 34
3. Socket 35
4. Các mô hình đáp ứng của server: 36
5. Các vấn đề gặp phải khi triển khai mô hình Client – Server: 36

6. Ứng dụng mô hình Client – Server trong hệ thống từ điển 37
Chương 3. Nhận dạng text trên Windows 38
1. Kĩ thuật hook trong Windows 38
2. Kĩ thuật lấy text 47
3. Sử dụng kĩ thuật lấy text trong hệ thống từ điển 52
Chương 4. Công nghệ Ajax 53
1. Định nghĩa về Ajax 53
2. Mô tả về công nghệ 53
3. Sử dụng AJAX cho phát triển trang web từ điển 55
Chương 5. Text to speech 57
1. Microsoft Speech SDK 57
2. Phát âm với ngôn ngữ không phải tiếng Anh 57
3. Phát âm tiếng Việt 59
4. Sử dụng Text to Speech trong hệ thống phần mềm từ điển 59
III. PHÂN TÍCH & THIẾT KẾ HỆ THỐNG 60
Chương 1. Phân tích hệ thống 61
1. Các mô hình phát triển hệ thống 61
2. Mô tả mô hình hệ thống theo mô hình kết hợp 62
3. Yêu cầu đặt ra xây dựng hệ thống từ điển 62
Chương 2. Thiết kế hệ thống 64
1. Các thành phần chung của hệ thống. 64
2. Thiết kế các module của hệ thống 65
3. Thiết kế lớp chính cho phần mềm từ điển 70
4. Thiết kế giao diện cho phần mềm từ điển trên desktop 72
IV. CÀI ĐẶT & SỬ DỤNG HỆ THỐNG 73
V. KẾT LUẬN 79
DANH MỤC HÌNH VẼ
Hình 1. Mô hình DICT protocol 22
Hình 2.Mô hình IOCP 36
Hình 3.Mô hình phân lớp của Acrobat core API 49

Hình 4. Cấu trúc tổ chức Acrobat SDK 50
Hình 5.Mô hình web truyền thống 54
Hình 6.Mô hình ứng dụng Web: truyền thống và sử dụng Ajax 55
Hình 7.Mô hình tương tác trong một ứng dụng Web dùng Ajax 55
Hình 8. Mô hình chung 64
Hình 9. Thiết kế class cho từ điển trên Desktop 70
Hình 10.Thiết kế class cho DICT server 71
Hình 11.Thiết kế giao diện từ điển 72
Hình 12.Cài đặt 74
Hình 13.Giao diện chương trình chính 75
Hình 14.Giao diện quản lí từ điển 75
Hình 15.Giao diện quản lí từ 76
Hình 16.Giao diện dịch tự động 76
Hình 17.Giao diện tra nhanh 77
DANH MỤC TỪ NGỮ VIẾT TẮT VÀ KHÁI NIỆM
STT
Từ viết tắt/
khái niệm
Mô tả
1. CSDL Cơ sở dữ liệu
2. DICT Một chuẩn từ điển
3. DICT format Định dạng file CSDL từ điển theo chuẩn DICT
4.
DICT protocol Giao thức theo chuẩn DICT giữa DICT client và
DICT server.
5.
6.
7.
I. PHẦN MỞ ĐẦU
1. Đặt vấn đề.

Mọi tri thức trên thế giới đều được truyền đạt thông qua ngôn ngữ. Chính vì vậy
để tiếp thu được nguồn tri thức vô tận của nhân loại thì hiển nhiên chúng ta phải sử
dụng được các ngôn ngữ. Tuy nhiên, thật khó để có thể biết hết mọi từ, mọi ngữ
nghĩa của một ngôn ngữ. Thậm chí tất cả chúng ta cũng không ai dám khẳng định
mình nắm bắt hết mọi thứ của tiếng mẹ đẻ. Chính vì vậy từ điển là một công cụ
không thể thiếu cho việc học tập nghiên cứu và làm việc. Nhưng thật vất vả khi lúc
nào cũng phải có một cuốn từ điển dày cộp bên cạnh, mặc dù tấn xuất sử dụng đến
chúng là rất nhỏ.
Giải pháp khắc phục khó khăn này chính là một quyển từ điển trên máy tính. Ưu
thế về khả năng lưu trữ dự liệu vượt trội so với từ điển giấy thông thường, cùng với
việc sử dụng máy tính, mạng Internet ngày càng trở thành một công cụ thiết yếu
trong học tập , cuộc sống, công việc hàng ngày; từ điển trên máy tính đã trở thành
một phần không thể thiếu của hầu hết các máy tính ngày nay.
Hiện nay ở nước ta có rất nhiều phần mềm từ điển như: Lạc Việt, English Study,
MutiDictionary, Vdict, từ điển của tác giả Hồ Ngọc Đức, từ điển của tác giả Huy
Biên, … Ở nước ngoài thì có Stardict, Babylon, Lingoes, Hoặc các từ điển trực
tuyến như của Lạc Việt, BaamBoo, Wikimedia,…
Tuy có nhiều phần mềm từ điển như vậy nhưng các từ điển này vẫn còn nhiều
vấn đề chưa đáp ứng được yêu cầu cao của người dùng như: CSDL từ điển chưa
phong phú, không đáp ứng được nhiều ngôn ngữ trong một phần mềm. Đồng thời
các từ điển này còn sử dụng chưa được thực sự tiện dụng chưa cung cấp cho người
dùng nhiều sự lựa chọn phục vụ cho các yêu cầu công việc khác nhau, chưa tự
động tra được trên hầu hết các nền hiển thị (web, cửa số ứng dụng thông
thường, pdf,…).
Vì vậy việc xây dựng một hệ thống tổng thể cung cấp nhiều chức năng đáp ứng
các yêu cầu công việc đa dạng của người dùng là cần thiết. Một hệ thống sử dụng
tập CSDL từ điển phong phú, đa ngôn ngữ khắc phục nhược điểm CSDL ít, không
chuẩn hóa của các từ điển trên. Dễ dàng chia sẻ các tài nguyên từ điển, phát huy sức
mạnh của cộng đồng mạng, xây dựng các CSDL cho tất cả các ngôn ngữ. Tạo lập
các cơ sở dữ liệu riêng biệt của các cơ quan, tổ chức, cá nhân có nhu cầu tổ chức

riêng CSDL từ điển cho mình. Đồng thời hướng tới mục tiêu xây dựng các cơ sở dữ
liệu chuyên biệt cho từng lĩnh vực kinh tế, xã hội, khoa học. Cải thiện tính tiện dụng
của phần mềm từ điển, cung cấp một môi trường tra cứu dễ dàng hơn với nhiều
chức năng tra cứu, phát âm, dịch tự động, tra cứu nhanh trên nhiều nền như
trên các ứng dụng trên Windows, web, pdf,…
Trong đồ án này, ta sẽ đi nghiên cứu, thiết kế , xây dựng một hệ thống tổng thể
như vậy.
2. Yêu cầu về hệ thống từ điển:
Để có thể nắm bắt được các yêu cầu về hệ thống từ điển, chúng ta đi xem xét tất
cả các vấn đề mà người dùng gặp phải:
 Vấn đề chung.
Vấn đề khó khăn. Giải pháp đề xuất
Thiếu cơ sở dữ liệu từ điển. Nhất là
các từ điển chuyên ngành. Các cơ sở
dữ liệu lại không thống nhất với
nhau. Các từ điển hầu hết chỉ sử dụng
một vài cơ sở dữ liệu từ điển cố định.
Sử dụng một chuẩn dành cho cơ sở
dữ liệu từ điển là chuẩn DICT
Format. Các cơ sở dữ liệu từ điển sẽ
được xây dựng dựa trên 1 format duy
nhất, hoặc có thể convert từ các
nguồn CSDL khác. Sau đó phần
mềm từ điển chỉ cần hỗ trợ duy nhất
chuẩn này tương đương với việc có
thể thêm bất cứ loại từ điển nào tùy ý
thích người dùng.
Các từ điển hỗ trợ ít ngôn ngữ. Với chuẩn DICT Format, việc hỗ trợ
đa ngôn ngữ trở lên đơn giản hơn.
Chỉ cần có CSDL của ngôn ngữ đó

đã được xây dựng theo chuẩn DICT
là có thể sử dụng trong phần mềm từ
điển.
Các từ điển thiếu các kiểu tra từ
thông dụng và hữu ích như trên từ
điển giấy thông thường là tra từ theo
tiền tố hậu tố, …
Có rất nhiều bộ CSDL kiểu này đã
được xây dựng. Chỉ việc đưa những
CSDL này vào là người dùng đã sử
dụng được các chức năng hữu ích đó.
Đa số các từ điển thiếu chức năng
phát âm. Làm thiếu hẳn đi một ưu thế
của từ điển trên máy tính đó là tính
mutilmedia.
Hiện nay có rất nhiều các SDK hỗ trợ
việc phát âm trong các ngôn ngữ. Nổi
bất nhất là Speech SDK của
Microsoft có thể dễ dàng áp dụng
vào phần mềm từ điển.
Kết quả tra cứu trả lại người dùng
còn nghèo nàn , đặc biệt với các từ có
nhiều ý nghĩa trên các lĩnh vực khác
nhau. Đó là do các từ điển thường chỉ
tra được trên một CSDL tại một thời
điểm.
Xây dựng từ điển hỗ trợ tra trên
nhiều CSDL. Đồng thời xây dựng
chiến thuật sắp xếp nhằm đưa ra kết
quả trực quan và hữu ích nhất đến

người dùng.
Chức năng Click and See thiếu hoặc
làm việc không tốt. Thông thường
với những người dùng rất hay vừa
Xây dựng chức năng Click and See
hoạt động trên nhiều nền.
đọc tài liệu vừa tra cứu từ điển trên
cùng một máy tính. Chức năng Click
and See là một chức năng rất hay đáp
ứng yêu cầu đó. Nhưng hiện nay các
phần mềm từ điển thường không hỗ
trợ hoặc hỗ trợ kém. Không tra được
trên một số nền như pdf, web,ảnh,…
Không cho phép người dùng truy cập
tới các CSDL đặt trên các Dict
Server
Sử dụng DICT Protocol xây dựng
DICT server, Dict Client cho phép
đặt CSDL trên các server.
Các từ điển trên nền Web thiếu tính
tương tác thân thiện với người dùng
như trên Desktop
Sử dụng công nghệ AJAX xây dựng
từ điển online. Xây dựng các Add-
Ons , plugin cho phép người dùng tra
từ điển mọi nơi, mọi lúc.
 Vấn đề của học sinh sinh viên.
Học sinh, sinh viên chủ yêu sử dụng phần mềm từ điển cho mục đích học
tập.
 Vấn đề của các cơ quan, doanh nghiệp.

Khối cơ quan doanh nghiệp chủ yếu quan tâm đến hiệu quả làm việc và
tính an toàn cũng như thống nhất các thôn tin vì vậy họ cần 1 từ điển chung
cho toàn bộ các máy tính trong cơ quan.
Vấn đề khó khăn Giải pháp đề xuất.
Cập nhật , thống nhất giữa các từ
điển trong các máy trong cơ quan.
Xây dựng Dict Server cài trên máy chủ
của cơ quan , cài đặt Dict Client cho các
máy tính khác trong cơ quan. Khi cần
cập nhật thì chỉ cần cập nhật từ điển trên
Server.
3. Các tiêu chí của một hệ thống từ điển hoàn chỉnh.
 Tra cứu nhanh.
Vấn đề khó khăn Giải pháp đề xuất.
Thiếu các công cụ hỗ trợ học tập, ghi
nhớ từ mới, ngữ mới.
Xây dựng thêm chức năng Sticky Note
cho phép dễ dàng tạo Note cho các từ.
 Giao diện thân thiện, dễ sử dụng, thuận tiện cho người dung
 Nhiều CSDL, dễ dàng thêm vào các CSDL theo nhu cầu
 Phân loại từ ngữ trả về kết quả đúng ý người dùng.
 Hỗ trợ người dùng tra từ theo nhiều cách từ phần mềm, web.
 Khả năng phát âm tốt
 Nhiều chức năng nâng cao như dịch tự động, ghi nhớ,…
 Có khả năng tra nhanh trên màn hình máy tính.
4. Khảo sát đánh giá hệ thống phần mềm từ điển hiện tại.
 Từ điển Lạc Việt.
Là từ điển thương mại đầu tiên và duy nhất ở Việt Nam. Tuy được sử dụng rất
rộng rãi nhưng nó cũng có rất nhiều điểm gây khó khăn cho người sử dụng. Ta sẽ đi
xem xét ưu nhược điểm của từ điển này.

 Ưu điểm:
 Đáp ứng các chức năng cơ bản của một phần mềm từ điển như
chức năng tra cứu, đọc , chỉnh sửa từ, click and see,…
 Đơn giản.
 Nhược điểm:
- Load chậm.
- Bố trí giao diện xấu, khó nhìn gây khó chịu cho người sử dụng.
- Sử dụng không thuận tiện 1 số chức năng như việc đặt tab cho các
thành phần.
- CSDL ít. Muốn sử dụng các CSDL từ điển ngôn ngữ khác nhau
phải cài những phiên bản phần mềm khác nhau. Với mỗi phiên bản,
không cho phép thay đổi, chỉ sử dụng cho mục đích tra cứu một
ngôn ngữ duy nhất.
 Từ điển Lingoes.
Từ điển Lingoes đại diện cho lớp các từ điển được cung cấp trên Internet. Trong
lớp từ điển này phải kể đến như: Stardict, Lingoes, Vdict, Babylon,MultiDictionary,
… Những từ điển kiểu này thường được học sinh, sinh viên sử dụng. Ta chọn ra
một từ điển được đánh giá cao nhất trong đó là từ điển Lingoes để xem xét ưu
nhược điểm.
 Ưu điểm: Ngoài những tính năng cơ bản của từ điển thông thường,
Lingoes có một số ưu điểm như sau:
 Giao diện thân thiện dễ sử dụng
 Chức năng Tranlation rất hay. Sử dụng nhiều engine sẵn có trên
Internet.
 Cung cấp một số dịch vụ dịch thuật trực tuyến.
 Nhược điểm:
- Nghĩa khá nhiều không có sự phân loại.
- Click and see trên pdf không được. Trên các nền khác thì chưa tốt
lắm, không bắt được đúng từ.
 Từ điển Baamboo.

 Ưu điểm:
 Tra trên nhiều loại từ điển.
 Phân loại nghĩa tốt tạo mục lục rõ ràng
 Sử dụng mã nguồn mở của MediaWiki nên kế thừa được hết các đặc
điểm về tính mở, cho phép người dùng tự edit từ điển.
 Xây dựng cộng đồng cho phép người dùng tham gia xây dựng từ điển.
 Nhược điểm:
- Tạo cảm giác như tra trên Web tĩnh.
- Chỉ mới đáp ứng nhu cầu tra cứu đơn giản trên web chứ chưa cung
cấp một giải pháp tổng thể tốt.
5. Cơ sở dữ liệu từ điển.
Trong việc xây dựng hệ thống phần mềm từ điển, một vấn đề bắt buộc phải thực
hiện là chọn lựa, xây dựng cơ sở dữ liệu từ điển. Việc xây dựng một CSDL từ điển
mới hoàn toàn tốn rất nhiều thời gian và công sức. Đồng thời nếu mỗi từ điển lại đi
xây dựng CSDL cho riêng mình thì thứ nhất là sẽ phải xây dựng nhiều loại CSDL
từ điển gây tốn kém, thứ hai là gây lãng phí vì hầu như CSDL từ điển cho một song
ngữ nào đó đều gần giống nhau.
Một giải pháp thông thường là sử dụng các từ điển sẵn có. Rất may, hiện nay trên
Internet tồn tại rất nhiều CSDL từ điển miễn phí. Chúng ta có thể download các
CSDL này về để sử dụng một cách dễ dàng. Do các từ điển này được cộng đồng mở
trên Internet – những người đến từ khắp nơi trên thế giới, sử dụng nhiều ngôn ngữ
khác nhau nên các CSDL từ điển miễn phí này rất phong phú, đa dạng có thể đáp
ứng hầu như mọi yêu cầu về các ngôn ngữ khác nhau. Thêm một ưu điểm nữa là các
CSDL từ điển đa số sử dụng chuẩn chung là chuẩn DICT. Vì vậy nếu ta xây dựng
một phần mềm từ điển hỗ trợ chuẩn DICT thì có thể sử dụng hầu hết các CSDL
này.
Không chỉ có CSDL từ điển miễn phí, trên mạng còn tồn tại những server từ điển
miễn phí. Những server này cho phép tra cứu thông qua Internet trên rất nhiều
CSDL. Có thể kể ra đây rất nhiều server từ điển miễn phí như :dict://dict.org,
dict://mova.org, dict://vocabulary.aioe.org, dict://dict.tugraz.at, dict://dict.tu-

chemnitz.de, dict://dict.die.net , dict://test.dict.org, dict://dict.arabeyes.org,
dict://lividict.org, dict://dict.saugus.net, …
Các server này đều sử dụng DICT protocol nên rất dễ dàng cho việc tra cứu từ
xa. Mục tiêu xây dựng hệ thống từ điển của chúng ta là có thể tận dụng hết những
DICT server này cho phép đáp ứng tất cả các nhu cầu tra cứu dịch thuật cho các
ngôn ngữ khác nhau.
Việc sử dụng các CSDL từ điển không chỉ bó hẹp trong việc chọn nhiều CSDL,
nhiều ngôn ngữ mà còn phải phân loại, định hình nhằm đưa ra các kết quả tra cứu
hợp với mong muốn của người dùng nhất.
Đồng thời cũng cung cấp giải pháp cho các cơ quan tổ chức, cá nhân muốn xây
dựng, sử dụng cho riêng mình những CSDL từ điển riêng biệt.
6. Mục đích của đồ án.
Xuất phát từ những yêu cầu trên, đồ án sẽ thực hiện những mục sau:
 Tìm hiểu về chuẩn từ điển DICT, WordNet,
 Xây dựng từ điển trên Desktop hoạt động trên nhiều loại CSDL.
 Thực hiện Get Text và tra từ trên mọi nền như Web, PDF,
 Phát triển từ điển với Microsoft Speech SDK tạo khả năng đọc từ.
 Xây dựng Dict Server, Dict Client, Dict Protocol . Tạo một từ điển trên nền Web
với công nghệ AJAX.
 Xây dựng một từ điển trên Desktop có thể sử dụng nhiều loại CSDL theo chuẩn
DICT , WordNet, Thuận lợi cho việc sử dụng nhiều loại ngoại ngữ như
Anh,Pháp,Nhật,Việt,Đức,Nga,
 Xây dựng hệ thống từ điển với DICT protocol theo mô hình Server-Client kết
hợp sử dụng các Dict Server miễn phí trên mạng.
 Xây dựng trang web từ điển công nghệ Ajax.
7. Cấu trúc luận văn.
Luận văn gồm 5 phần:
 Phần I. PHẦN MỞ ĐẦU: Đặt vấn đề xây dựng hệ thống.
 Phần II. KIẾN THỨC CHUNG: Nêu ra những kiến thức, kĩ thuật sử dụng
trong đồ án

 Phần III.PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
 Phần IV. CÀI ĐẶT VÀ SỬ DỤNG HỆ THỐNG.
 Phần V.KẾT LUẬN.
II.KIẾN THỨC CHUNG
Chương 1. Chuẩn DICT
1. DICT format.
a. Giới thiệu về DICT format
Phần quan trọng nhất đối với một ứng dụng từ điển chính là cơ sở dữ liệu. Việc
xây dựng CSDL cho từ điển phải đảm bảo được khả năng truy cập nhanh bởi dữ
liệu của từ điển thường khá lớn, lên tới hàng chục nghìn đến hàng trăm nghìn từ.
Thông thường mỗi phần mềm từ điển lại có một cách tổ chức CSDL từ điển riêng
của mình. Do vậy, mỗi từ điển phải tự xây dựng các CSDL riêng cho mình và mỗi
CSDL chỉ có thể dùng cho một từ điển duy nhất. Do vậy thông thường một phần
mềm từ điển chỉ có một vài CSDL xác định không đáp ứng được nhu cầu sử dụng
đa dạng của người dùng.
Các CSDL từ điển hiện nay chủ yếu xuất hiện dưới dạng mở nghĩa là do các cá
nhân, tổ chức phi lợi nhuận xây dựng lên, được phát hành miễn phí chủ yếu trên
môi trường mạng. Vì vậy một nhu cầu tự nhiên là chia sẻ việc sử dụng các CSDL từ
điển đó.
Sẽ thật là khó khăn nếu mỗi CSDL lại được xây dựng một kiểu, khi đó muốn sử
dụng CSDL nào ta phải có chương trình từ điển tương ứng hoặc chí ít là viết
chương trình chuyển đổi. Thật may, DICT.ORG (www.dict.org) đã xây dựng một
format (định dạng) từ điển rất dễ sử dụng, format này đã được dùng để xây dựng
những bộ từ điển khá lớn. Đó là DICT format, được sử dụng rộng rãi chia sẻ rất
nhiều các CSDL mở.
b. Mô tả chi tiết về DICT format.
DICT format được mô tả như sau:
 Toàn bộ CSDL được chứa trong 2 file, một file chứa nghĩa của từ và một file
index. File index bao gồm tên từ, vị trí nghĩa của từ bắt đầu trong file chứa
nghĩa và độ dài của nghĩa.

 Vị trí bắt đầu và độ dài của nghĩa được mã hoá theo cách như sau: Sử dụng
64 chữ cái:
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz01234
56789+/
Trong đó: chữ cái A tương đương số 0, chữ cái B tương đương số 1 v.v
 Giữa từ, vị trí bắt đầu và độ dài nghĩa phân cách nhau bởi ký tự tab (ASCII
9).
 Mỗi dòng trong file index chứa dữ liệu của một từ. Các dòng phân cách nhau
bởi ký tự xuống dòng (ASCII 10).
Ví dụ trong file index của từ điển Đức-Việt có một dòng như sau:
Abdeckung kbpP D3
Như vậy nghĩa của từ Abdeckung trong file chứa nghĩa sẽ bắt đầu tại offset
kbpP (theo mã 64 ký tự) và có độ dài là D3.
Việc chuyển từ mã cơ số 64 về cơ số 10 được thực hiện như sau:
Đối với vị trí bắt đầu: kbpP. Ta có k (ở cơ số 64) = 36 (ở cơ số 10), b = 27,
p = 41, P = 15. Như vậy chuyển sang cơ số 10, mã kbpP có giá trị là: 36*643
+ 27*642 + 41*641 + 15*640 = 9550415
Đối với độ dài nghĩa: D3. Ta có D = 3, 3 = 55. Như vậy chuyển sang cơ số
10, mã D3 ở cơ số 64 có giá trị là: 247.
 File index được sắp xếp để giảm bớt thời gian tìm kiếm. Việc mã hoá theo cơ
số 64 như trên giúp cho kích thước file index giảm xuống rất nhiều so với
không mã hóa.
 Còn cấu trúc của file chứa nghĩa gồm các phần như sau:
@headword
* tu loai (noun, verb )
- dinh nghia 1
= cau vi du cho dinh nghia 1 + nghia cua cau do
- dinh nghia 2
= cau vi du cho dinh nghia 2 + nghia cua cau do
* tu loai

- dinh nghia 3
 Nghĩa của mỗi từ gồm một phần như trên, các nghĩa của mỗi từ nối tiếp nhau
liên tục.
c. Ứng dụng DICT format.
Phần khó khăn xây dựng một hệ thống từ điển là xây dựng CSDL. Nhưng với
việc sử dụng DICT format, chúng ta có thể sử dụng rất nhiều bộ CSDL từ điển miễn
phí sẵn có trên Internet được xây dựng cho hầu hết các ngôn ngữ.
Việc sử dụng DICT format cũng cho phép người dùng có thể tự xây dựng nên
những CSDL của riêng họ, hoặc sử dụng những CSDL sẵn có phù hợp với nhu cầu
sử dụng của họ. Công việc chỉ đơn giản tìm kiếm một CSDL đáp ứng yêu cầu rồi
sau đó thêm vào phần mềm từ điển. Điều này đảm bảo tính đa dạng, đáp ứng tốt các
nhu cầu sử dụng khác nhau của người dùng.
2. DICT Protocol.
a. Giới thiệu về DICT Protocol.
Cách đây nhiều năm, thông qua giao tiếp Internet truy cập tới các định nghĩa
ngôn ngữ chủ yếu sử dụng “Webster” protocol. Webster protocol hỗ trợ việc truy
cập tới một từ điển duy nhất hoặc một bộ từ điển duy nhất mà thôi. Trong những
năm trở lại đây, số lượng các server từ điển cài đặt Webster Protocol đã giảm xuống
do sự đòi hỏi ngày càng cao của người dùng phải có nhiều từ điển mà giao thức này
không thể đáp ứng được.
Hiện nay, ngày càng có càng nhiều bộ từ điển, thuật ngữ miễn phí xuất hiện trên
Internet. Tuy nhiên, các CSDL từ điển này không thể truy cập thông qua một giao
diện chung, cũng như không thể truy cập thông qua một site đơn lẻ. Đó thường là
các CSDL nhỏ, không hoàn thiện mang tính chất cá nhân. Cũng có một số CSDL từ
tiếng Anh khá thú vị và hữu dụng. Ví dụ như các file từ điển Jargon, CSDL
Wordnet, từ điển Foldoc,… Việc biên dịch và tra cứu các từ điển không phải tiếng
Anh ngày càng phổ biến hơn. Đây cũng là một vấn đề mà trước đó ít được quan tâm
đến mà thường chỉ chú ý đến ngôn ngữ duy nhất là tiếng Anh mà thôi. Vì vậy yêu
cầu mới đặt ra là phải có một cách thức chung để có thể sử dụng được cùng lúc
nhiều từ điển với nhiều ngôn ngữ. Giao thức DICT ra đời nhằm đáp ứng các yêu

cầu đó và đang dần thay thế dần giao thức Webster.
Giao thức Webster không thích hợp để truy cập tới nhiều CSDL từ điển riêng lẻ,
việc mở rộng giao thức này cũng không phải là một giải pháp tốt cho vấn đề này.
Giao thức DICT được thiết kế cho mục đích truy cập tới nhiều CSDL cùng một
lúc. Đáp các yêu cầu tra từ trả về nghĩa, có thể tìm kiếm các từ , cung cấp các thông
tin về server ( như Server chứa những CSDL nào, có các kiểu tra từ nào được hỗ
trợ,…), thông tin về CSDL ( như số từ, người tạo, người giữ quyền, người phần
phối,…), xác thực quyền truy cập tài nguyên trên Server ( cài đặt Authenicate). Cho
phép tùy biến dùng một, một vài hay toàn bộ các CSDL từ điển.
b. Đặc tả giao thức.
 Tầng Link.
DICT protocol có thể coi như là một dòng dữ liệu giống như được cung cấp bởi
giao thức TCP. Khi sử dụng TCP, Dict Server lắng nghe ở cổng 2628.
Dict server đóng vai trò là một giao diện cầu nối giữa chương trình và CSDL từ
điển. Nó không thực hiện một sự tương tác người dùng nào, hay các hàm tầng trình
diễn. Minh họa như sau:
Hình 1. Mô hình DICT protocol
 Các kí hiệu từ ngữ.
Các lệnh và các phản hổi của DICT protocol là các kí tự thuộc tập kĩ tự theo bảng
mã UTF-8. Để mô tả cú pháp ta dùng các kí hiệu từ ngữ như sau:
; ( Octal, Decimal.)
CHAR = <any UTF-8 character (1 to 6 octets)>
CTL = <any ASCII control ; ( 0- 37, 0 31.)
character and DEL> ; ( 177, 127.)
CR = <ASCII CR, carriage return> ; ( 15, 13.)
LF = <ASCII LF, linefeed> ; ( 12, 10.)
SPACE = <ASCII SP, space> ; ( 40, 32.)
HTAB = <ASCII HT, horizontal-tab> ; ( 11, 9.)
<"> = <ASCII quote mark> ; ( 42, 34.)
<'> = <ASCII single quote mark> ; ( 47, 39.)

CRLF = CR LF
WS = 1*(SPACE / HTAB)
dqstring = <"> *(dqtext/quoted-pair) <">
dqtext = <any CHAR except <">, "\", and CTLs>
sqstring = <'> *(dqtext/quoted-pair) <'>
sqtext = <any CHAR except <'>, "\", and CTLs>
quoted-pair = "\" CHAR
atom = 1*<any CHAR except SPACE, CTLs, <'>, <">, and "\">
string = *<dqstring / sqstring / quoted-pair>
word = *<atom / string>
description = *<word / WS>
text = *<word / WS>
 Mô tả chung về lệnh.
Một lệnh bao gồm một từ khóa và có thể có thêm các tham số theo sau. Lệnh có tham số
thì các tham số phải phân cách với từ khóa bằng các kí tự trông hoặc tab. Mỗi lệnh kết thúc
với kí tự hết dòng CRLF. Mỗi lệnh chỉ nằm trên một dòng. Mỗi dòng chỉ được phép chứa
một lệnh. Có độ dài lớn nhất là 1024 kí tự.
Cú pháp lệnh có dạng như sau:
command = cmd-word *<WS cmd-param>
cmd-word = atom
cmd-param = database / strategy / word
database = atom
strategy = atom
 Mô tả về phản hồi từ server.
Có 2 loại phản hồi từ server là : phản hồi trạng thái và phản hồi dạng text.
 Phản hồi trạng thái (status reponse):
Là phản hồi của server cho câu lệnh cuối cùng mà server nhận được từ client.
Phản hồi trạng thái bằng một mã gồm 3 chữ số với quy định như sau:
 Chữ số đầu tiên là dấu hiệu nhận biết lệnh yêu cầu là sai, đúng, hay đang xử
lí câu lệnh trước.

1yz - Positive Preliminary reply
2yz - Positive Completion reply
3yz - Positive Intermediate reply
4yz - Transient Negative Completion reply
5yz - Permanent Negative Completion reply
 Chữ số tiếp theo cho biết kiểu reponse:
x0z - Syntax
x1z - Information (e.g., help)
x2z - Connections
x3z - Authentication
x4z - Unspecified as yet
x5z - DICT System (These replies indicate the status
of the receiver DICT system vis-a-vis the
requested transfer
or other DICT system action.)
x8z - Nonstandard (private implementation)
extensions
 Một số mã hay dùng:
500 Syntax error, command not recognized
501 Syntax error, illegal parameters
502 Command not implemented
503 Command parameter not implemented
420 Server temporarily unavailable
421 Server shutting down at operator request
 Phản hồi text ( text reponse):
Trước khi truyền text, một mã reponse trạng thái được truyền đi với dạng mã là
1yz.
Sau đó đi tiếp theo là cả 1 chuỗi các dòng text – “text stream” được truyền đi. Cuối
đoạn Text cần truyền truyền thêm một dòng có duy nhất một kí tự là “.”
Sau khi dòng text truyền xong thì sẽ ngay lập tức truyền đi một mã reponse dạng

2yz.
Dòng Text có độ dài không vượt quá 1024 kí tự. Tương đương với 6144 octet trong
trường hợp sử dụng UTF-8.
c. Tập lệnh.
i. Khởi tạo kết nối.
Quá trình giao tiếp giữa DICT client và DICT server bắt đầu bằng khởi tạo yêu
cầu kết nối từ client. Khi đó server sẽ phản hồi theo một số trường hợp sau:
 Chấp nhận kết nối :
220 text capabilities msg-id
 Từ chối:
530 Access denied
 Lỗi khác:
420 Server temporarily unavailable
421 Server shutting down at operator request
ii. Lệnh DEFINE.
 Cú pháp:
DEFINE database word.
 Phản hồi:
 Lỗi:
550 Invalid database,use "SHOW DB" for list of databases
552 No match
 Đúng:
150 n definitions retrieved - definitions follow
151 word database name - text follows
250 ok (optional timing information here)
 Mô tả lệnh.
Lệnh yêu cầu server tra cứ từ “word” trong cơ sở dữ liệu “database”. “database” là
tên CSDL hoặc kí tự đại diện “*”:đại diện cho tất cả các từ điển, “!”: đại diện cho từ
điển đầu tiên tìm thấy “word”. Tất cả DICT server đều phải cài đặt lệnh này.
iii. Lệnh MATCH.

 Cú pháp:
MATCH database strategy word
 Phản hồi:
 Lỗi:
550 Invalid database,use "SHOW DB" for list of databases
551 Invalid strategy, use "SHOW STRAT" for a list of trategies
552 No match
 Đúng:
152 n matches found - text follows
250 ok (optional timing information here)
 Mô tả lệnh:
Lệnh yêu cầu server tra cứ từ “word” trong cơ sở dữ liệu “database” theo kiểu tra
“strategy”. “database” là tên CSDL hoặc kí tự đại diện “*”:đại diện cho tất cả các từ
điển, “!”: đại diện cho từ điển đầu tiên tìm thấy “word”. Còn “strategy” là kiểu tra
như tra theo tiếp đầu ngữ, tiếp vĩ ngữ, hay tra theo kiểu tồn tại trong cụm từ. Tất cả
DICT server đều phải cài đặt lệnh này.
iv. Lệnh SHOW DATABASES.
 Cú pháp:
SHOW DB.
SHOW DATABASE.
 Phản hồi:
110 n databases present - text follows
554 No databases present
 Mô tả lệnh:
Lệnh yêu cầu server trả về thông tin của tất cả các CSDL được phép truy cập.
Mỗi CSDL được trả về theo một dòng theo định dạng.

×