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

7 602 0
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

Đang tải... (xem toàn văn)

Thông tin tài liệu

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. . 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ữ. 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. 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

Ngày đăng: 22/07/2014, 20:21

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan