1. Trang chủ
  2. » Tất cả

Ứng dụng luyện tập viết chữ tiếng nhật trên thiết bị di động

6 0 0

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

THÔNG TIN TÀI LIỆU

Nội dung

65 ỨNG DỤNG LUYỆN TẬP VIẾT CHỮ TIẾNG NHẬT TRÊN THIẾT BỊ DI ĐỘNG Ngô Nhật Trí Khoa Công nghệ Thông tin, Trường Đại học Công nghệ TP Hồ Chí Minh GVHD TS Lê Thị Ngọc ơ TÓM TẮT Các ứng dụng học tiếng Nhật[.]

ỨNG DỤNG LUYỆN TẬP VIẾT CHỮ TIẾNG NHẬT TRÊN THIẾT BỊ DI ĐỘNG Ngơ Nhật Trí Khoa Cơng nghệ Thơng tin, Trường Đại học Cơng nghệ TP Hồ Chí Minh GVHD: TS Lê Thị Ngọc TÓM TẮT Các ứng dụng học tiếng Nhật tập trung vào việc ôn luyện kỳ thi lực Nhật ngữ mà chưa bao gồm phần thi viết Vì vậy, kỹ viết người học phát triển chậm tiếng Nhật bao gồm nhiều chữ khác Trong đó, đặc biệt khó chữ Hán tự, điều ln gây khó khăn cho người học Với khả nhận dạng chữ viết tay trí tuệ nhân tạo, ta hỗ trợ thêm cách học luyện tập chữ Hán tự phương pháp viết di động Trong báo này, đề xuất ứng dụng áp dụng kỹ thuật nhận dạng chữ viết tay vào thiết bị di động đa tảng nhằm hỗ trợ người học tiếng Nhật luyện kỹ viết Từ khoá: Chữ Hán tự, học tiếng Nhật, máy học, di động, ứng dụng đa tảng ABSTRACT Most of Japanese learning applications focus on training the Japanese language proficiency test (JLPT) without writing test Hence, the writing skill of learners may be slowly improved Japanese language includes many different character sets In which, the especially difficult part is Kanji characters, that always cause difficulties for learners With the handwriting recognition by artificial intelligence technology, we can support learning and practicing Kanji by writing directly on mobile devices In this work, we report our application on applying handwriting recognition techniques for multi-platform mobile devices, which target to support users in training their writing Keyword: Kanji, learn Japanese, machine learning, mobile, hybrid app ĐẶT VẤN ĐỀ Hiện thiết bị di động ngày phổ biến, phát triển cơng nghệ cho phép tích hợp trí tuệ nhân tạo (AI) vào ứng dụng điện thoại di động ngày phát triển khơng ngừng, đóng vai trị then chốt hàng loạt ứng dụng quan trọng Ví dụ năm gần đây, hàng loạt ứng dụng tích hợp nhận dạng gương mặt, nhận dạng giọng nói, dịch tự động,… đời Đặc biệt ứng dụng giáo dục có áp dụng AI để hỗ trợ việc học tập hiệu Mặt khác, phong trào học tiếng Nhật Việt Nam ngày lớn bối cảnh doanh nghiệp Nhật Bản đầu tư mạnh mẽ vào Việt Nam nhiều lĩnh vực, nhu cầu nguồn nhân lực biết tiếng Nhật lớn Đã có nhiều ứng dụng phát triển để hỗ trợ việc học tiếng Nhật hiệu Tuy nhiên, phần chữ viết tiếng Nhật phần khó ứng dụng luyện tập viết chữ tiếng Nhật đặc biệt chữ Hán tự (Kanji) hạn chế Điều nhà phát 65 triển ứng dụng tập trung đến ứng dụng hỗ trợ cho việc luyện thi lực Nhật ngữ (JLPT) JLPT test, JLPT practice, Việc ứng dụng nhận dạng chữ viết tay điện thoại phổ biến việc hỗ trợ việc viết chữ Hán tự để tìm kiếm từ điển Mazii [1] Việc nghiên cứu ứng dụng nhận dạng chữ viết tay di động vào việc luyện tập viết chữ tiếng Nhật giúp việc rèn luyện kỹ viết Hán tự trở nên linh hoạt giảm bớt lượng giấy sử dụng cơng cụ hữu ích cho hệ thống giáo dục tiếng Nhật GIẢI PHÁP CÔNG NGHỆ 2.1 Mơ hình học sâu CNN Học sâu lĩnh vực đời sau nhiều phát triển máy học - lĩnh vực trí tuệ nhân tạo liên quan đến việc nghiên cứu xây dựng hệ thống ‚học‛ tự động từ liệu để giải vấn đề cụ thể Ở giúp cho máy nhận dạng chữ viết tay từ người dùng Convolutional Neural Network – CNN cấu trúc phổ biến quen thuộc mơ hình học sâu CNN ứng dụng nhiều Thị giác máy tính, Hệ thống gợi ý, Xử lý ngôn ngữ tự nhiên,… 2.2 Flutter Dart Flutter [2] SDK phát triển ứng dụng di động nguồn mở tạo Google, sử dụng để phát triển ứng dụng cho Android iOS Flutter phát triển nhằm giải toán thường gặp phát triển ứng dụng di động phát triển nhanh hiệu gốc Nếu React Native – Framework mã nguồn mở sáng tạo Facebook sử dụng để phát triển ứng dụng di động Android iOS đảm bảo phát triển nhanh mã nguồn gốc đảm bảo hiệu gốc Flutter làm điều Flutter sử dụng Dart, ngơn ngữ lập trình hướng đối tượng Google phát triển Ngoài ra, Dart hướng tới việc trở thành ngơn ngữ chạy nhiều platform khác nhau, chạy máy ảo (VM) làm nhiệm vụ dịch mã nguồn sang bytecode Java PHÁT TRIỂN 3.1 Mục tiêu phần mềm Viết ứng dụng luyện tập viết chữ tiếng Nhật điện thoại sử dụng tảng Flutter Sau áp dụng mơ hình CNN vào ứng dụng thực việc nhận dạng chữ viết tay Nghiên cứu tập trung vào việc áp dụng mơ hình máy học vào thiết bị di động đa tảng để phát triển ứng dụng lĩnh vực giáo dục, không tập trung vào việc phát triển ứng dụng hoàn chỉnh 3.2 Giải pháp đề xuất Ứng dụng phát triển dựa phần xây dựng mơ hình máy học giao diện di động Xây dựng mơ hình sử dụng thuật toán CNN nhận dạng chữ viết tay sử dụng liệu chữ viết tay tiếng Nhật 66 Xây dựng giao diện cho ứng dụng thiết bị di động để nhận liệu chữ viết tay người dùng nhập Hình Quá trình phát triển phần mềm 3.2.1 Chuẩn bị liệu Ứng dụng nhận dạng chữ viết tay tiếng Nhật nên sử dụng liệu cung cấp Viện Khoa học Công nghệ Công nghiệp Tiên tiến Quốc gia (AIST) Nhật Bản [3] Dữ liệu cung cấp miễn phí phục vụ cho mục đích nghiên cứu có tên ETLDB Nghiên cứu sử dụng tập nhỏ có chứa 3036 chữ 3.2.2 Tiền xử lý liệu a Import dependencies Chúng xử lý liệu thư viện hỗ trợ Tensorflow, Keras, Numpy, OpenCV b Data generator Ở bước cần định nghĩa sinh liệu, cho tập training testing Bản chất hàm sinh liệu tạo vài mẫu liệu dựa mẫu liệu sẵn có Mục đích để làm phong phú thêm tập liệu cho tập training giúp mơ hình học tốt nhiều trường hợp Phương pháp gọi Data augmentation [4] Hình Minh hoạ cho Data augumentation Định nghĩa cho tập train có vài tham số quan trọng: – Rotation_range: Xoay ảnh ngẫu nhiên khoảng 40o 67 – Width_shifft_range: Cắt ngẫu nhiên phần chiều rộng theo tỷ lệ – Height_shift_range: Cắt ngẫu nhiên phần chiều cao theo tỷ lệ – Rescale: Chuẩn hố hay cịn gọi normalize liệu, giúp đưa giá trị liệu khoảng [0, 1] giúp trình training nhanh – Shear_range: Cắt ngẫu nhiên góc theo chiều kim đồng hồ – Horizontal_flip: Lật ảnh theo chiều ngang, set False liệu chữ, lật ngược ảnh làm ảnh hưởng đến độ xác liệu Định nghĩa cho tập test đơn giản liệu test liệu mà mơ hình hồn tồn chưa biết khơng xử lý Bước chuẩn hố liệu khoảng [0, 1] mà thơi 3.2.3 Lựa chọn mơ hình Kiến trúc mơ hình CNN [5] thiết lập sau: Bảng Kiến trúc mơ hình CNN Layer (type) Output Shape Param # Conv2d_01 (Conv2D) (None, 60, 60, 32) 832 Maxpool2d_01 (MaxPooling2D) (None, 30, 30, 32) Conv2d_02 (Conv2D) (None, 26, 26, 32) 25632 Maxpool2d_02 (MaxPooling2D) (None, 13, 13, 32) Conv2d_03 (Conv2D) (None, 9, 9, 64) 51264 Maxpool_03 (MaxPooling2D) (None, 4, 4, 64) Flatten_01 (Flatten) (None, 1024) Dense_01 (Dense) (None, 256) 262400 Dense_output (Dense) (None, 3036) 780252 Có tổng cộng 1,120,380 tham số cần phải tối ưu q trình training 3.2.4 Huấn luyện mơ hình Đây bước quan trọng cực nhọc q trình thực tốn mơ hình học sâu ngốn nhiều thời gian Nhờ vào việc sử dụng colab Google cung cấp lợi dụng GPU sẵn có máy chủ Google để trình training diễn nhanh Sau huấn luyện mơ hình thu kết sau: Bảng Kết huấn luyện Epoch 42/50 68 Time Loss Acc Val_loss Val_acc 898s 0.0138 0.9963 0.0301 0.9924 Ở bước 42/50 mức độ dự đoán (val_acc) đạt giá trị lớn sau khơng có dấu hiệu tăng thêm Bên cạnh mức độ tổn thất (val_loss) giảm xuống sâu độ xác tập huấn luyện gần đạt 100% chứng tỏ mơ hình học tập tốt tập huấn luyện Nếu huấn luyện dẫn đến tượng khớp (overfitting), nên lấy mơ hình tốt bước thứ 42 3.2.5 Chuyển đổi mơ hình sang TensorFlow Lite TensorFlow Lite phiên nhỏ gọn TensorFlow cho phiên di động Để chạy mơ hình với TensorFlow Lite phải chuyển đổi mơ hình thành mơ hình có (.tflite) [6] 3.2.6 Xây dựng ứng dụng di động Ứng dụng sử dụng tảng Flutter để phát triển chạy hệ điều hành di động phổ biến Android iOS Gồm tính chính: tra từ điển chữ Hán tự, luyện tập viết chữ Hán tự theo chủ đề độ khó a) b) Hình Giao diện iOS (a) Android (b) KẾT QUẢ THỬ NGHIỆM 4.1 Một số hình ảnh ứng dụng (a) (b) (c) (d) Hình (a) Từ điển chữ Hán tự, (b) Lựa chọn chủ đề, (c) Luyện viết chữ Hán tự, (d) Kiểm tra kết 69 4.2 Kết đạt Qua nghiên cứu chúng tơi tìm hiểu xây dựng thành cơng mơ hình CNN nhận dạng chữ viết tay với liệu chữ viết tay tiếng Nhật Bên cạnh chúng tơi phát triển ứng dụng đa tảng thiết bị di động áp dụng mơ hình CNN giúp hỗ trợ người học tiếng Nhật nâng cao kỹ viết chữ Hán tự KẾT LUẬN Trong báo này, áp dụng mơ hình máy học nhận dạng chữ viết tay vào ứng dụng di động nhằm hỗ trợ thêm tính cho người học tiếng Nhật nâng cao kỹ viết, đem lại trải nghiệm cách học tiếng Nhật thiết bị di động Nghiên cứu tiền đề cho chúng tơi phát triển thêm tính kiểm tra thứ tự nét vẽ của người dùng nhằm cải thiện trải nghiệm học tiếng Nhật tảng di động TÀI LIỆU THAM KHẢO [1] ‚Mazii,‛ [2] Flutter, [3] ‚ET Character Database,‛ [4] N T Tuấn (2019) Deep Learning bản, pp 147-162 [5] S amesh, ‚ guide to an efficient way to build neural network architectures,‛ tuyến 0 Trực tuyến Available: https://mazii.net/ 0 Trực tuyến Available: https://flutter.dev/docs Available: 0 Trực tuyến Available: http://etlcdb.db.aist.go.jp 0 Trực https://towardsdatascience.com/a-guide-to-an-efficient-way-to-build- neural-network-architectures-part-ii-hyper-parameter-42efca01e5d7 [6] S Fraile, ‚Handwriting number recognizer with Flutter and Tensorflow,‛ Available: https://medium.com/flutter-community/handwriting-number-recognizer-with- flutter-and-tensorflow-part-i-414157b7574f 70 0 Trực tuyến ... giao di? ??n di động Xây dựng mơ hình sử dụng thuật tốn CNN nhận dạng chữ viết tay sử dụng liệu chữ viết tay tiếng Nhật 66 Xây dựng giao di? ??n cho ứng dụng thiết bị di động để nhận liệu chữ viết. .. phần mềm Viết ứng dụng luyện tập viết chữ tiếng Nhật điện thoại sử dụng tảng Flutter Sau áp dụng mơ hình CNN vào ứng dụng thực việc nhận dạng chữ viết tay Nghiên cứu tập trung vào việc áp dụng mơ... nhận dạng chữ viết tay với liệu chữ viết tay tiếng Nhật Bên cạnh phát triển ứng dụng đa tảng thiết bị di động áp dụng mơ hình CNN giúp hỗ trợ người học tiếng Nhật nâng cao kỹ viết chữ Hán tự

Ngày đăng: 24/02/2023, 13:31

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w