Tải bản đầy đủ (.pdf) (7 trang)

Báo cáo nghiên cứu khoa học: " XÂY DỰNG TỪ ĐIỂN ĐA NGỮ DÀNH CHO ĐIỆN THOẠI DI ĐỘNG DỰA TRÊN ANDROID FRAMEWORK" potx

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 (418.42 KB, 7 trang )

TẠP CHÍ KHOA HỌC VÀ CÔNG NGHỆ, ĐẠI HỌC ĐÀ NẴNG - SỐ 2(31).2009
1
XÂY DỰNG TỪ ĐIỂN ĐA NGỮ DÀNH CHO
ĐIỆN THOẠI DI ĐỘNG DỰA TRÊN ANDROID FRAMEWORK
DEVELOPMENT OF A MULTILINGUAL DICTIONARY
FOR MOBILE PHONES BASED ON THE ANDROID FRAMEWORK

Võ Trung Hùng – Trịnh Công Duy
Trường Đại học Bách khoa, Đại học Đà Nẵng

Tóm tắt
Trong bài báo này, chúng tôi giới thiệu những kết quả nghiên cứu và phát triển từ điển
đa ngữ trên điện thoại di động sử dụng nền tảng Android. Chúng tôi đã khai thác những tính
năng ưu việt của Android để phát triển một từ điển đa ngữ sử dụng trên điện thoại di động. Dữ
liệu từ điển được sử dụ
ng lại từ kết quả dự án FEV (đây là dự án hợp tác giữa Khoa Công
nghệ Thông tin – Trường Đại học Bách khoa – Đại học Đà Nẵng và Trung tâm Nghiên cứu về
dịch tự động GETA – Groupe d’Etude pour la Traduction Automatique, Cộng hoà Pháp) và
chương trình được viết trong ngôn ngữ lập trình Java. Ứng dụng do chúng tôi phát triển có thể
cài đặt lên các điện thoại có hỗ trợ Android và có thể tra cứu từ điển cho các cặp Anh-Việt,
Pháp-Việt và Anh-Pháp.
Abstract
In this paper, we introduce our research and development of a multilingual dictionary for
the
mobile phone based on the Android Application Framework. We directly exploit the
capability of the Android Application Framework to develop a multilingual dictionary used on
mobile phones. The dictionary data is reused from the FEV project (this is an international
cooperation project between the Information Technology Faculty of Danang University and
GETA - Groupe d’Etude pour la Traduction Automatique, INPG, France) and the Jawa
programming language is used to make this programme. Our application can be installed on
Android-supported mobile phones where English-Vietnamese, French-Vietnamese and French-


English dictionaries can be consulted.

1. Giới thiệu
Điện thoại di động không chỉ là thiết bị đàm thoại thông thường mà đang dần trở
thành thiết bị thông minh để đáp ứng nhu cầu ngày càng cao của con người. Các bước
tiến vượt bậc về công nghệ giúp bộ nhớ của điện thoại di động ngày càng lớn, tốc độ xử
lý nhanh hơn và nhờ đó chúng ta có thể tích hợp nhiều chức năng khác nhau như chụp
ảnh, quay video, nghe radio, xem tivi Trong tương lai, điện thoại di động thông minh
(smartphone) có chức năng như một máy tính sẽ tích hợp tất cả chức năng để đáp ứng
các nhu cầu cần thiết của con người. Mặt khác, cùng với sự phát triển của công nghệ,
giá cả điện thoại cũng càng ngày càng rẻ hơn và các đối tượng là học sinh, sinh viên sử
dụng điện thoại di động để hỗ trợ cho việc học tập ngày càng phổ biến hơn.
Một trong những ứng dụng cần thiết đối với người dùng và phù hợp với điện
TẠP CHÍ KHOA HỌC VÀ CÔNG NGHỆ, ĐẠI HỌC ĐÀ NẴNG - SỐ 2(31).2009
2
thoại di động là từ điển và dịch tự động. Các ứng dụng này cần thiết cho nhu cầu học
tập, trao đổi kiến thức, cũng như hỗ trợ học ngoại ngữ cho mọi người. Sẽ rất thuận lợi
nếu có một bộ từ điển đa ngôn ngữ với đầy đủ chức năng cần thiết lại nhỏ gọn, thuận lợi
cho việc di chuyển và tra từ nhanh chóng.
Trong bài báo này, chúng tôi tập trung giới thiệu kết quả nghiên cứu khai thác
những tính năng ưu việt của Android để phát triển một từ điển đa ngữ sử dụng trên điện
thoại di động. Chúng tôi đã sử dụng dữ liệu từ điển từ kết quả dự án FEV (đây là dự án
hợp tác giữa Khoa Công nghệ Thông tin – Trường Đại học Bách khoa – Đại học Đà
Nẵng và Trung tâm Nghiên cứu về dịch tự động GETA – Groupe d’Etude pour la
Traduction Automatique, Pháp) và chương trình được viết trong ngôn ngữ lập trình
Java. Ứng dụng do chúng tôi phát triển có thể cài đặt lên các điện thoại có hỗ trợ
Android và có thể tra cứu từ điển cho các cặp Anh-Việt, Pháp-Việt và Anh-Pháp.
2. Tổng quan về Android
2.1. Giới thiệu
Android Application Framework là một gói phần mềm dạng ngăn xếp dành cho

các thiết bị di động, gồm một hệ điều hành (Linux), phần tiện ích và các ứng dụng
chính. Các ứng dụng được viết bằng ngôn ngữ lập trình Java và chạy trên Dalvik, một
máy ảo thông thường được thiết kế dành cho thiết bị nhúng thực thi trên nhân Linux.
Android thể hiện tham vọng của Google: tạo nên nền tảng phổ biến, thuần nhất
cho việc phát triển ứng dụng trên điện thoại thông minh, tương tự như điều mà
Microsoft đã làm được đối với máy tính cá nhân PC. Khác với mô hình kinh doanh của
Microsoft, nền tảng Android của Google được công bố với giấy phép nguồn mở
Apache. Mọi người đều có thể tiếp cận tất cả giao diện lập trình ứng dụng (API -
Application Programming Interface), không có những phần dành riêng cho nhà sản xuất
thiết bị. Với giấy phép nguồn mở, nền tảng Android sẽ dễ dàng được cài đặt trên nhiều
loại điện thoại thông minh hiện có, tạo nên không gian dịch vụ rộng lớn cho Google. Về
mặt kỹ thuật, Android sẽ phát huy tác dụng tốt nhất trên những điện thoại giống như
iPhone của Apple. Liên minh ủng hộ Android bao gồm HTC, Motorola, Samsung, LG
(các nhà sản xuất thiết bị), Sprint Nextel, T-Mobile và AT&T (các nhà cung cấp dịch vụ
viễn thông).
2.2. Kiến trúc tổng quát
Android dựa trên kiến trúc 4 lớp gồm: lõi hệ điều hành (Linux Kernel), các thư
viện (Libraries), khung ứng dụng (Application Framework) và các ứng dụng
(Applications).
Linux Kernel là hạt nhân của Linux, được Linus Torvalds phát triển, mô phỏng
lại hạt nhân Unix. Linux là một trong những ví dụ điển hình của phần mềm mở và miễn
phí.
Lớp thư viện chính là nơi để thực hiện các xử lý, nó được xem như bộ xử lý đa
phương tiện dùng để xem/ghi lại âm thanh và hình ảnh, nhân của trình duyệt Web, tiến
TẠP CHÍ KHOA HỌC VÀ CÔNG NGHỆ, ĐẠI HỌC ĐÀ NẴNG - SỐ 2(31).2009
3
trình biên dịch kiểu chữ, và bộ máy cơ sở dữ liệu SQLite.
Application Framework là tập hợp các dịch vụ có thể dùng lại được và những
thành phần chung phục vụ cho các ứng dụng. Ví dụ, một loại framework là thành phần
cung cấp nội dung cho bất kỳ dịch vụ nào có liên quan đến việc lưu trữ và truy xuất dữ

liệu. Giao diện ứng dụng trong SQLite chính là một thí dụ cụ thể về trình cung cấp nội
dung này.

Các ứng dụng chạy ở lớp trên cùng của hệ điều hành với một bộ các nhân ứng
dụng bao gồm thư điện tử, lịch làm việc, trình duyệt web Khi phát triển một ứng dụng
dành cho Android, ta thực hiện các đoạn mã trong ngôn ngữ Java. Sau đó, các đoạn mã
này sẽ được biên dịch sang các bytecode của Java, tuy nhiên để thực thi được ứng dụng
này trên Android thì nhà phát triển phải thực thi một công cụ có tên là Dex. Đây là công
cụ dùng để chuyển đổi bytecode sang một dạng gọi là dex bytecode. "Dex" là từ viết tắt
của "Dalvik executable" đóng vai trò như cơ chế ảo thực thi các ứng dụng Android.
2.3. Phát triển ứng dụng cho Android
Android SDK bao gồm rất nhiều công cụ tùy chọn, cho phép chúng ta phát triển
các ứng dụng trên thiết bị sử dụng nền tảng Adroid. Hai thành phần quan trọng nhất là
Android Emulator (bộ giả lập) và Android Development Tools plugin (bộ công cụ
phát
triển) dành cho Eclipse, nhưng ngoài ra Android SDK còn chứa một trong số những
công cụ khác cho bộ gỡ lỗi, đóng gói và khởi tạo các ứng dụng trên bộ giả lập.
Để tạo được một giao diện người dùng (UI) trong Android, chúng ta cần nắm
vững được các thành phần cơ bản để tạo một màn hình và cách định nghĩa trong XML.
View và ViewGroup là hai thành phần cơ bản để tạo nên một giao diện người
dùng. Chúng thuộc gói android.widget.*. Gói này cũng tương t
ự như gói java.awt.*
trong Java. Trong gói này cũng chứa Button, EditText, TextView, CheckBox,
GridView… là các thành phần tạo giao diện cơ bản. Ngoài ra, trong Android còn có các
lớp trình bày cơ bản cho phép bạn ràng buộc mối quan hệ giữa các thành phần này như:
FrameLayout, LinearLayout, TableLayout, RelativeLayout, AbsoluteLayout.
TẠP CHÍ KHOA HỌC VÀ CÔNG NGHỆ, ĐẠI HỌC ĐÀ NẴNG - SỐ 2(31).2009
4
Sau khi tạo tập tin cần phải khởi tạo cho nó bởi phương thức onCreate(), ví dụ
để hiển thị lớp hello_activity ta viết:

protected void onCreate(Bundle savedValues)
{ super.onCreate(savedValues);
setContentView(R.layout.hello_activity);
restoreValues(savedValues);
}
2.4. Phát triển ứng dụng từ điển
Chức năng:
Ứng dụng do chúng tôi phát triển là từ điển đa ngữ trên điện thoại di động với
các chức năng chính như sau:
- Khởi động ứng dụng
- Hướng dẫn sử dụng
- Thay đổi từ điển (cặp ngôn ngữ)
- Thay đổi kiểu hiển thị (phông
chữ)
- Thêm/sửa từ
- Tra từ
- Thiết lập các thông số ứng dụng

Hình 1. Use Case của người sử dụng
Dữ liệu:
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
(CSDL) và điều quan tâm xử lý là làm thế nào để chúng ta có thể lưu trữ, tìm kiếm dữ
liệu này trên thẻ nhớ của điện thoại. Chúng tôi chọn giải pháp thiết lập dữ liệu từ điển
cho ứng dụng bằng cách đọc dữ liệu từ tập tin text rồi lưu vào bộ nhớ của máy theo
chuẩn DICT, sau đó tìm kiếm trên bộ nhớ.
Định dạng DICT được mô tả như sau: toàn bộ CSDL được chứa trong 2 tập tin,
một tập tin chứa nghĩa của từ (ví dụ: anhviet.dict) và một tập tin chỉ mục (ví dụ:
anhviet.index). Các tập tin dữ liệu này được sử dụng lại từ kết quả của dự án FEV.
Tập tin chỉ mục
Tập tin chỉ mục bao gồm tên từ, vị trí bắt đầu nghĩa của từ trong tập tin chứa

nghĩa và độ dài của nghĩa. Mỗi dòng trong tập tin chỉ mục 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.
Cấu trúc của tập tin chỉ mục:
từ1 {tab} offset1 {tab} len1
từ2 {tab} offset2 {tab} len2
Trong đó:
TẠP CHÍ KHOA HỌC VÀ CÔNG NGHỆ, ĐẠI HỌC ĐÀ NẴNG - SỐ 2(31).2009
5
- offset1 là vị trí bắt đầu nghĩa của từ 1 trong tập tin chứa nghĩa.
- len1 là độ dài nghĩa của từ 1 trong tập tin chứa nghĩa.
Tập tin chứa nghĩa
Cấu trúc của tập tin chứa nghĩa gồm các phần như sau:
@từ
* từ loại (danh từ, động từ )
- định nghĩa 1= câu ví dụ cho định nghĩa 1 + nghĩa của câu đó
- định nghĩa 2= câu ví dụ cho định nghĩa 2 + nghĩa của câu đó
* từ loại
- định nghĩa 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ách đọc dữ liệu
Đầu tiên đọc tập tin anhviet.index từng hàng một để lấy vị trí (offset) và chiều
dài (len) của từ cần tìm nghĩa.
Sau đó chuyển offset và len đã mã hóa trong cơ số 64 bằng 64 ký tự tương ứng
(ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz012345
6789+/
) qua số trong hệ thập phân.
Ví dụ: đọc dòng “advance kbpP D3”
thì offset = kbpP = 9550415 và len = D3 = 247
Sau khi có offset và len (theo cơ số 10), ta đọc tập tin anhviet.dict để lấy nghĩa

của từ.
Lưu ý cách chuyển đổi: 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*64
3
+ 27*64
2
+ 41*64
1
+ 15*64
0
=
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à: 3*64
1
+ 55*64
0
= 247.
2.5. Lưu trữ dữ liệu từ điển
Chúng ta có thể lưu trữ dữ liệu từ điển trên máy chủ hoặc trên thẻ nhớ của điện
thoại.
Nếu dữ liệu từ điển được đặt trên máy chủ, ứng dụng chạy trên máy di động sẽ
kết nối đến máy chủ thông qua mạng không dây để gửi yêu cầu và nhận kết quả trả về.
Mọi việc lưu trữ hay tìm kiếm đều được thực hiện trên máy chủ, còn ứng dụng trên máy
di dộng chủ yếu dùng để hiển thị giao diện kết quả. Để sử dụng được ứng dụng này thì
yêu cầu máy phải kết nối WIFI hoặc GPRS. Với giải pháp tra cứu trên Server, ứng dụng
có thể kế thừa dịch vụ từ điển c
ủa Google, dịch vụ này cho phép chúng ta tra cứu đa
ngữ không chỉ một từ mà có thể tiến hành cho cả đoạn văn bản.
Nếu dữ liệu từ điển đặt trên thẻ nhớ của thiết bị (hoặc bộ giả lập) thì ta tạo thư
TẠP CHÍ KHOA HỌC VÀ CÔNG NGHỆ, ĐẠI HỌC ĐÀ NẴNG - SỐ 2(31).2009

6
mục bkdict, và mỗi từ điển bao gồm 1 tập tin chỉ mục .index và 1 tập tin chứa nghĩa
.dict theo quy định của chuẩn DICT.ORG.
2.6. Cài đặt và kết quả thử nghiệm
Cài đặt
Để chạy ứng dụng trên thiết bị điện thoại di động, ta chỉ cần nối thiết bị vào máy
tính, chép tập tin đóng gói ứng dụng vào thẻ nhớ cùng với thư mục dữ liệu từ điển. Sau
đó vào màn hình thiết bị để cài đặt và chạy ứng dụng. Để tra cứu qua Internet, thiết bị
phải được kích hoạt mạng GPRS hoặc mạng WIFI.
Kết quả
Sau đây là hình ảnh giao diện của ứng dụng và các chức năng trên thực đơn
chính của ứng dụng:


Hình 2. Khởi động phần mềm từ điển
Chúng ta có thể tra từ trên điện thoại di động:
Hình 3. Chọn lựa từ điển Hình 4. Kết quả tra cứu từ
3. Kết luận
Trên cơ sở nghiên cứu đầy đủ về Android Framework và cách thức phát triển
các ứng dụng trên điện thoại di động có hỗ trợ Android, chúng tôi đã phát triển một từ
TẠP CHÍ KHOA HỌC VÀ CÔNG NGHỆ, ĐẠI HỌC ĐÀ NẴNG - SỐ 2(31).2009
7
điển đa ngữ cho các cặp ngôn ngữ tương ứng Anh, Pháp và Việt. Chúng tôi đã chạy thử
nghiệm phần mềm trên điện thoại Gphone và kết quả rất ổn định, khả năng tìm từ
nhanh.
Tuy nhiên, trong từ điển này chúng tôi chưa tích hợp phần phát âm và còn thiếu
một số chức năng như xóa từ, tra từ gần đúng, tra từ đồng nghĩa, trái nghĩa…
Với những kết quả đạt được, chúng tôi sẽ tiếp tục hoàn thiện từ điển và mở rộng
sang cho các dòng điện thoại di động khác. Ngoài ra, chúng tôi sẽ tiếp tục phát triển
thêm các ứng dụng trên thiết bị di động để phục vụ công tác đào tạo tại Trường Đại học

Bách khoa như: đăng ký tín chỉ, xem điểm, forum

TÀI LIỆU THAM KHẢO

[1] DiMarzio J., Android a Programmers Guide, McGraw-Hill, ISBN 0071599886, 2008.
[2] Burnette E., Hello, Android: Introducing Google's Mobile Development Platform,
McGraw-Hill, ISBN 9781934356173, 2008.
[3] Vo-Trung H., Phan H.K., Boitet Ch., FEV Dictionary, a product of the generic
solutions to import it Vietnamese in Papillon project, LTT 2005, Sep. 2005,
Bruxelles, Belgium.

×