Ngày có nhiều gõ tiếng Việt thiết bị di động, kể đến như: Gboard (Google), Laban Key (Zalo), Swiftkey (Swiftkey),… hỗ trợ nhiều cho người Việt Nam Các nhà cung cấp gõ tiếng Việt ngày nâng cấp, cải thiện hiệu nhập liệu tiếng Việt, cung cấp nhiều phương pháp khác để giúp người sử dụng thuận tiện nhập liệu nhanh chóng: nhập liệu với chức Auto-correction Word-Prediction, nhập liệu giọng nói,… Trong tính Swipe-to-Type hay cịn gọi Gesture Typing tính thú vị bàn phím Nó giúp người sử dụng nhập liệu cách nhanh chóng với thao tác vuốt lên chữ từ cần nhập Ví dụ để nhập từ VIỆT, ta vuốt chữ V-I-E-T, sau bàn phím gợi ý hiển thị từ VIỆT Tuy nhiên, tiếng Anh phương pháp tỏ hiệu Nhưng với tiếng Việt lại cịn nhiều hạn chế Vì nhóm định chọn chủ đề “Tìm hiểu xây dựng ứng dụng nhập liệu tối ưu cho tiếng Việt điện thoại”
MỤC LỤC MỤC LỤC DANH MỤC HÌNH ẢNH DANH MỤC BẢNG BIỂU CHƯƠNG MỞ ĐẦU 1 Lý chọn đề tài Mục tiêu nghiên cứu Ý nghĩa đề tài nghiên cứu PHẦN TỔNG QUAN Giới thiệu toán Phương pháp nghiên cứu PHẦN CƠ SỞ LÝ THUYẾT Các đặc trưng tiếng Việt [1] 1.1 “Từ” tiếng Việt 1.2 Nguyên âm, phụ âm tiếng Việt Khoảng cách Euclid [2] 10 Khoảng cách Cosine [3] 11 PHẦN GIẢI QUYẾT BÀI TOÁN 14 Xây dựng từ điển 14 Thiết kế ứng dụng điện thoại 16 2.1 Giới thiệu 16 2.2 Layout bàn phím điện thoại 16 2.3 Thiết kế liệu 20 2.4 Xây dựng ứng dụng điện thoại 28 2.6 Giao tiếp với Server 30 2.7 Mơ hình hoạt động 32 Thiết kế thuật toán 33 3.1 Bài toán cần xử lý 33 3.2 Tiền xử lý 33 3.3 Áp dụng thuật toán 38 Thiết kế Server 41 4.1 Giới thiệu Node.js 42 4.2 MySQL 43 4.3 Xây dựng Server dựa Node.js MySQL 45 4.4 Xử lý liệu người dùng 50 Tạo Layout tìm Layout tối ưu 50 5.1 Giới thiệu 50 5.2 Layout Generator 52 5.3 Tạo Layout dựa đặc trưng tiếng Việt 52 Thử nghiệm 55 6.1 Sử dụng toàn liệu từ điển 56 6.2 Sử dụng liệu chuẩn hóa client 58 6.3 Sử dụng liệu gốc User gửi Server 59 PHẦN RÚT RA NHẬN XÉT VÀ KẾT QUẢ 61 PHẦN HƯỚNG PHÁT TRIỂN 62 PHẦN TÀI LIỆU THAM KHẢO 63 DANH MỤC HÌNH ẢNH Hình Cách viết phát âm từ tiếng Việt Hình Nguyên âm đơn tiếng Việt Hình Nguyên âm đôi ba Hình Một phần liệu từ điển từ đơn tiếng Việt 16 Hình Android Linear Layout 17 Hình Android Relative Layout 17 Hình Android Frame Layout 18 Hình Ví dụ nội dung file JSON Layout 23 Hình Giao diện ứng dụng với Layout tạo từ file JSON Config 24 Hình 10 Lược đồ Cơ sở liệu 25 Hình 11 Giao diện bàn phím ảo 29 Hình 12 Giao diện điều chỉnh thông số 30 Hình 13 minh họa cho phân phối xung quanh điểm thuộc layout, tạo từ vector riêng 40 Hình 14 Một cấu trúc REST 43 Hình 15 Bảng khảo sát Database sử dụng nhiều năm 2019 44 Hình 16 Mơ tả CSDL Server 45 Hình 17 Giao diện bàn phím QWERTY 51 Hình 18 Biểu đồ Word Duplicate 52 Hình 19 Layout tối ưu nhập liệu phương pháp vuốt 55 DANH MỤC BẢNG BIỂU Bảng Bảng kí tự thay 14 Bảng Dấu kí tự thay 15 Bảng JSON ROOT – KETE CONFIG 20 Bảng BUTTON CONFIG 21 Bảng LAYOUT CONFIG 21 Bảng USER INTERFACE CONFIG 22 Bảng Mô tả bảng Layout 25 Bảng Mô tả bảng OriginalDictionary 25 Bảng Mô tả bảng InputMethod 25 Bảng 10 Mô tả bảng AlternativeDictionary 26 Bảng 11 Mô tả bảng Point Model 26 Bảng 12 Mô tả bảng PointModelDetails 26 Bảng 13 Mô tả bảng Point 27 Bảng 14 Mô tả liệu thu thập từ User gửi lên Server 31 Bảng 15 Mơ hình hoạt động 32 Bảng 16 Ký tự thay dấu 34 Bảng 17 Mô tả bảng Conflict 45 Bảng 18 Mô tả bảng UserTracking 46 Bảng 19 Mô tả bảng LayoutDetails 46 Bảng 20 Ràng buộc liệu User 47 Bảng 21 Ràng buộc Layout 49 Bảng 22 Bảng mô tả API 49 Bảng 23 Ví dụ bỏ phụ âm đầu thứ 53 Bảng 24 Ví dụ bỏ nguyên âm 53 Bảng 25 Ví dụ bỏ phụ âm cuối 54 Bảng 26 Tỉ lệ xung đột thay đổi N bàn phím QWERTY 56 Bảng 27 Tỉ lệ giống thay đổi N bàn phím QWERTY 56 Bảng 28 Tỉ lệ xung đột thay đổi N bàn phím tối ưu 57 Bảng 29 So sánh khoảng cách trung bình đa tuyến Layout 58 Bảng 30 So sánh thời gian vuốt từ trung bình Layout (milisecond) 58 Bảng 31 Tỉ lệ xác áp dụng thuật toán layout QWERTY - Với n = 50 58 Bảng 32 Tỉ lệ xác áp dụng thuật toán layout QWERTY - Với n = 100 59 Bảng 33 Tỉ lệ xác áp dụng thuật tốn layout Optimize – 59 Bảng 34 Tỉ lệ xác áp dụng thuật tốn layout Optimize – 60 Bảng 35 Ảnh hưởng Epsilon lên độ xác từ 60 CHƯƠNG MỞ ĐẦU Lý chọn đề tài Ngày có nhiều gõ tiếng Việt thiết bị di động, kể đến như: Gboard (Google), Laban Key (Zalo), Swiftkey (Swiftkey),… hỗ trợ nhiều cho người Việt Nam Các nhà cung cấp gõ tiếng Việt ngày nâng cấp, cải thiện hiệu nhập liệu tiếng Việt, cung cấp nhiều phương pháp khác để giúp người sử dụng thuận tiện nhập liệu nhanh chóng: nhập liệu với chức Auto-correction Word-Prediction, nhập liệu giọng nói,… Trong tính Swipe-to-Type hay cịn gọi Gesture Typing tính thú vị bàn phím Nó giúp người sử dụng nhập liệu cách nhanh chóng với thao tác vuốt lên chữ từ cần nhập Ví dụ để nhập từ VIỆT, ta vuốt chữ V-I-E-T, sau bàn phím gợi ý hiển thị từ VIỆT Tuy nhiên, tiếng Anh phương pháp tỏ hiệu Nhưng với tiếng Việt lại cịn nhiều hạn chế Vì nhóm định chọn chủ đề “Tìm hiểu xây dựng ứng dụng nhập liệu tối ưu cho tiếng Việt điện thoại” để tìm hiểu nghiên cứu phương pháp nhập liệu thú vị Mục tiêu nghiên cứu Tìm hiểu cách xử lý thao tác vuốt người dùng sang từ đơn Tiếng Việt Tối ưu độ xác thao tác vuốt cho từ dự đoán với từ người dùng muốn viết Xây dựng ứng dụng hỗ trợ nhập liệu tối ưu tiếng Việt điện thoại Ý nghĩa đề tài nghiên cứu Tối ưu hóa khả nhập liệu tiếng Việt thao tác vuốt bàn phím Qua cung cấp cho người dùng phương thức nhập liệu thú vị nhanh chóng -Trang 1- Khắc phục hạn chế mà kiểu bàn phím vuốt thị trường Gboard (Google), Swift Key gặp phải làm cho việc nhận diện chưa Qua đề xuất phương pháp vuốt để nhập liệu mới, tối ưu cho tiếng Việt -Trang 2- PHẦN TỔNG QUAN Giới thiệu toán Gesture Typing tính tích hợp vào gõ điện thoại Giúp người dùng có phương pháp gõ mới, cho tốc độ gõ nhanh thú vị Thay gõ từ, người dùng vuốt chữ từ để gõ từ mong muốn, hệ thống xử lí thuật tốn để dự đốn từ người dùng muốn viết Hiện thị trường có gõ tiếng Việt hỗ trợ chức như: Gboard (Google), Laban Key (Zalo), Swiftkey (Swiftkey),… Những gõ hỗ trợ chức Gesture Typing, kết hợp với chức Auto-correction WordPrediction để tăng độ xác từ người dùng muốn gõ Tuy nhiên gõ tiếng Anh phương pháp xác, gõ tiếng Việt có nhiều trường hợp từ dự đốn khơng Cụ thể với từ: TƠI, TỐI, TỘI, TỒI, TỎI,… có chung cách vuốt vuốt kí tự T – O – I, hay chẳng hạn với cách vuốt kí tự K – H – O – I hệ thống khơng dự đốn xác người dùng muốn viết từ KHỎI, KHĨI, KHƠI,…hay khơng Chính đa dạng từ dấu tiếng Việt vơ tình tạo nên khó khăn việc nhận dạng dự đốn từ đơn mà người dùng muốn nhập Trong chương trình luận văn này, nhóm muốn nghiên cứu cách xử lý mà ứng dụng thị trường đan [1]g áp dụng Qua đề xuất phương án nhập liệu khác cài đặt số thuật tốn nhằm tăng độ xác nhập liệu phương pháp Phương pháp nghiên cứu Bước 1: Tìm xử lý liệu từ đơn tiếng Việt (Khoảng 6000 từ) Bước 2: Nghiên cứu thuật toán xử lí thao tác vuốt dự đốn từ liệu từ đơn tiếng Việt Bước 3: Viết ứng dụng bàn phím Android, dùng để xây dựng thuật toán thử nghiệm nhập liệu từ người dùng -Trang 3- Bước 4: Viết hệ thống lưu trữ liệu Server để lưu liệu người dùng, phục vụ cơng tác phân tích Bước 5: Phân tích kết quả, điều chỉnh thuật toán rút kết luận -Trang 4- /admin/upload/layout GET /admin/upload/layout POST Trang web chứa form để admin upload layout Xử lí layout upload 4.4 Xử lý liệu người dùng Ở đề mục 2.6, nhóm nói việc gửi liệu user server, nhiên, liệu không bao gồm thiết lập cho việc sử dụng thuật toán từ user, số epsilon sử dụng để giảm nhiễu Việc để giúp tổng quát hoá việc lấy số liệu Với đa tuyến từ người dùng, server sử dụng liệu để thực lại thuật toán nào, với số thiết lập thử nghiệm Bài toán cần xử lý từ liệu người dùng, đốn từ đơn xác Do đó, khơng thiết phải lưu trữ phương thức xử lý, mà tập trung vào liệu từ nguời dùng Phần server, nhóm sử dụng cơng cụ tự thiết kế, gọi TemplateTool Công cụ thiết lập để tạo template chung cho việc xử lý Nhờ đó, dễ dàng thực chạy tự động sinh kết thống kê chi tiết cho trường hợp, tiết kiệm thời gian thử nghiệm cho loại thiết lập riêng biệt bàn phím Android Tạo Layout tìm Layout tối ưu 5.1 Giới thiệu Trong phần luận văn này, tạo layout phần quan trọng để đảm bảo không ảnh hưởng đến việc sai lệch tính tốn thuật tốn Để đảm bảo giao diện người dùng tốt, chúng em tuỳ biến layout việc thay đổi vị trí phím, tồn layout dựa cấu trúc layout QWERTY Việc thay đổi layout cần thiết, bàn phím QWERTY không đáp ứng tốt yêu cầu xung đột Khi thực ứng dụng bàn phím ảo, chúng em cho phép người dùng lựa chọn ba lựa chọn Tuy nhiên, để áp dụng thực tế, cần phải đốn xác lựa chọn, thay -Trang 50- ba lựa chọn Do đó, xung đột dẫn đến dự đoán sai, người dùng khoảng thời gian để chỉnh lại, khơng cịn sử dụng tính Hình bên mơ tả bàn phím QWERTY, dựa vào hình, dễ dàng tìm số cặp từ bị xung đột vuốt: TRẺ - TẺ, TRÊN - TÊN, ĐỢI - ĐỘI, ĐẮNG - ĐÁNG,… Hình 17 Giao diện bàn phím QWERTY -Trang 51- 5.2 Layout Generator Để giải vấn đề layout QWERTY, chúng em thực việc khởi tạo ngẫu nhiên kí tự, sau đưa vào layout QWERTY có sẵn Nhóm chúng em thực chạy ngẫu nhiên 10000 lần, có kết biểu đồ bên word duplicate 2000 1500 1000 500 125 130 135 140 145 150 155 160 165 170 175 180 185 190 195 200 205 210 215 Hình 18 Biểu đồ Word Duplicate Dựa vào biểu đồ, thấy việc random khơng giúp nhiều đến kết quả, xung đột cao, điểm biểu đồ phân phối theo hình vng Theo dự đốn nhóm em, biểu đồ có dạng phân phối giống đồ thị hàm số [n e^x] , với n số bất kì, tức khoảng cách trung bình lớn, xung đột giảm ngược lại 5.3 Tạo Layout dựa đặc trưng tiếng Việt Theo tìm hiểu nhóm đặc trưng Tiếng Việt trình bày chương Cơ sở lý thuyết Tiếng việt bao gồm phần: phần đầu, giữa, (có thể có khơng) Phần đầu bao gồm: kí tự phụ âm kí tự phụ âm (ví dụ: th, tr,…) Với trường hợp bỏ âm thứ có khả tạo thành từ có nghĩa Ví dụ: -Trang 52- Bảng 23 Ví dụ bỏ phụ âm đầu thứ Từ có phụ âm đầu Từ tạo thành sau bỏ phụ âm thứ TRẺ TẺ THU TU … … Phần nguyên âm, tương tự có nguyên âm, nguyên âm: oa, uê, oeo,… Khi bỏ nguyên âm có nghĩa Ví dụ: Bảng 24 Ví dụ bỏ nguyên âm Từ trước bỏ nguyên âm Từ tạo thành sau bỏ nguyên âm KHOEO KHOE KHOE KHE … … Phần cuối khơng ảnh hưởng có nhiều phụ âm, từ khơng cịn có nghĩa thiếu từ [1…n-1] Ví dụ: -Trang 53- Bảng 25 Ví dụ bỏ phụ âm cuối Từ trước bỏ phụ âm cuối Từ tạo thành sau bỏ phụ âm cuối CHANG CHAG MINH MIH … … Dựa đặc điểm tiếng việt, nhóm em thiết kế layout mới, với yêu cầu sau: - Đối với phần đầu, trường hợp có âm thứ trở lên, phải đảm bảo âm đầu tiên, so với nguyên âm phần giữa, kết nối với nhau, âm thứ khơng nằm giữa, đường thẳng kết nối Như vậy, âm thứ hai nằm phía góc layout, đảm bảo khơng thể nằm hai ký tự kết nối - Đối với dấu, dấu kết nối với khơng nằm đường thẳng Ví dụ, gõ từ đội -> doi965 Nếu sử dụng layout QWERTY, khả bị trùng dấu mũ dấu ơ, dấu nằm vị trí số Xung đột xảy hai mẫu : DOI965, DOI975 - Ngồi ra, nhóm chúng em hạn chế việc kí tự nằm đường chéo, có khả người dùng kéo thành đường thẳng, khiến thuật tốn dự đốn sai Sau phân tích đặc điểm trên, chúng em tạo layout mới, có số xung đột thấp nhất, khơng tính trường hợp xung đột kí tự có hai nguyên âm giống boong - bong Bên hình ảnh thể layout : -Trang 54- Hình 19 Layout tối ưu nhập liệu phương pháp vuốt Tuy nhiên với Layout này, thời gian đầu sử dụng người dùng khó quen với việc bố trí xếp button Qua gây khó khăn cho q trình sử dụng ban đầu Nhưng kiểu bố trí button Layout lại cho kết xung đột thấp nhất, qua tối ưu hóa thao tác người dùng Thử nghiệm -Trang 55- 6.1 Sử dụng toàn liệu từ điển Nhóm tiến hành thử nghiệm 6627 từ để tính số lượng từ xung đột Layout QWERTY thay đổi N Một từ gọi xung đột với từ khác từ trùng average distance) Kết thu sau: Bảng 26 Tỉ lệ xung đột thay đổi N bàn phím QWERTY Số từ xung đột Tổng số từ Tỉ lệ xung đột (%) N = 10 367 6627 5.5379 N = 25 367 6627 5.5379 N = 50 367 6627 5.5379 N = 100 367 6627 5.5379 Như việc thay đổi N không làm giảm số lượng từ xung đột Layout QWERTY Nhóm lại tiến hành thử nghiệm tính tổng số từ gần giống Layout QWERTY ( < avg_distance < 0.5) Bảng 27 Tỉ lệ giống thay đổi N bàn phím QWERTY Số từ gần giống Tổng số từ Tỉ lệ giống (%) N = 10 328 6627 4.9494 N = 25 322 6627 4.8589 N = 50 320 6627 4.8289 N = 100 318 6627 4.7986 -Trang 56- Như việc thay đổi N có làm ảnh hưởng đến tỉ lệ giống từ từ điển Cũng với thử nghiệm trên, nhóm tiến hành Layout tối ưu Cho kết sau: Bảng 28 Tỉ lệ xung đột thay đổi N bàn phím tối ưu Số từ xung đột Tổng số từ Tỉ lệ xung đột (%) N = 10 64 6627 0.97 N = 25 64 6627 0.97 N = 50 64 6627 0.97 N = 100 64 6627 0.97 Table Tỉ lệ giống thay đổi N bàn phím tối ưu Số từ gần giống Tổng số từ Tỉ lệ giống (%) N = 10 46 6627 0.69 N = 25 38 6627 0.5734 N = 50 38 6627 0.5734 N = 100 46 6627 0.69 Nếu so sánh khoảng cách trung bình đa tuyến chuẩn layout, kết sau: -Trang 57- Bảng 29 So sánh khoảng cách trung bình đa tuyến Layout Layout QWERTY Khoảng cách 175.755 Layout Optimize 200.746 Tuy nhiên, ta thấy với bàn phím Layout tối ưu hóa rõ ràng cho kết tốt Nhưng so thời gian trung bình để người dùng vuốt kí tự Layout QWERTY lại tốt hơn: Bảng 30 So sánh thời gian vuốt từ trung bình Layout (milisecond) Layout QWERTY Layout Optimize Thời gian vuốt từ 1614.0393 trung bình 2197.0709 (millisecond) 6.2 Sử dụng liệu chuẩn hóa client Với ba thuật tốn cài đặt, nhóm tiến hành thử nghiệm với liệu chuẩn hóa client Và có so sánh thuật toán với N thay đổi sau: Bảng 31 Tỉ lệ xác áp dụng thuật toán layout QWERTY - Với n = 50 Số từ Số từ sai Tỉ lệ xác (%) Euclid distance 687 275 71.4137 Cosine similarity 559 403 58.1081 Mahalanobis distance 606 356 62.9938 -Trang 58- Bảng 32 Tỉ lệ xác áp dụng thuật toán layout QWERTY - Với n = 100 Số từ Số từ sai Tỉ lệ xác (%) Euclid distance 587 329 64.083 Cosine similarity 472 444 51.5284 Mahalanobis distance 496 420 51.1485 6.3 Sử dụng liệu gốc User gửi Server Với ba thuật tốn cài đặt, nhóm sử dụng liệu người dùng thử nghiệm gửi Server, kết sau: Bảng 33 Tỉ lệ xác áp dụng thuật toán layout Optimize – Với n = 50 Số từ Số từ sai Tỉ lệ xác (%) Euclid distance 109 93.1624 Cosine similarity 100 17 85.47 Mahalanobis distance 97 20 82.906 -Trang 59- Bảng 34 Tỉ lệ xác áp dụng thuật toán layout Optimize – Với n = 100 Số từ Số từ sai Tỉ lệ xác (%) Euclid distance 108 92.0377 Cosine similarity 100 17 85.47 Mahalanobis distance 97 20 82.906 Với N=50, xét Layout QWERTY, xét thuật toán Euclid Distance, tỉ lệ xác áp dụng số giảm nhiễu Epsilon: Bảng 35 Ảnh hưởng Epsilon lên độ xác từ Epsilion Số từ Số từ sai Tỉ lệ xác (%) 214 26 89.1667 0.5 212 28 88.3333 206 34 85.8333 195 45 81.25 Như vậy, việc sử dụng Epsilon việc giảm nhiễu không thật cần thiết -Trang 60- PHẦN RÚT RA NHẬN XÉT VÀ KẾT QUẢ Sau thử nghiệm điều chỉnh thuật tốn Nhóm rút số kết sau: Ngoài vấn đề tiền xử lý liệu, có lý sau ảnh hưởng đến độ xác nhận diện thao tác vuốt người dùng (Glide-Typing) chuyển thành từ đơn tiếng Việt: thuật toán sử dụng, độ chia N điểm đa tuyến, bố trí button bàn phím (Layout) Với bàn phím QWERTY: Layout bàn phím sử dụng phổ biến giới Tuy nhiên, với tiếng anh Layout tỏ hiệu quả, nhiên sử dụng cho tiếng Việt xảy nhiều từ bị xung đột Điều dẫn đến độ xác nhận diện từ giảm lại Với bàn phím Layout tối ưu hóa nhóm đề xuất: Layout bàn phím thích hợp cho tiếng Việt nhất, với tỉ lệ xung đột từ 0.97% Tuy nhiên, cách bố trí bàn phím chưa thật hợp lí người dùng cịn bỡ ngỡ với bàn phím thời gian đầu nên tốc độ nhập liệu khơng thật nhanh bàn phím QWERTY Với độ chia N đa tuyến, việc sử dụng N = 50 cho kết tốt so với N = 25 hay N = 100 Việc sử dụng N = 50 khơng tăng độ xác nhận diện từ mà cịn giúp giảm nhớ điện thoại, giúp cho ứng dụng chạy mượt mà Với thuật toán: Cosine similarity, Euclide Distance, Mahalanobis Distance Thuật tốn Euclide cho độ xác cao Kết luận: Việc sử dụng Layout tối ưu, kết hợp với thuật toán Euclide Distance với độ chia đa tuyến N = 50 cho kết tốt nhất, với độ xác cao nhất, tối ưu cho việc nhập liệu tiếng Việt phương pháp vuốt ký tự bàn phím (Glide-Typing) -Trang 61- PHẦN HƯỚNG PHÁT TRIỂN Đây bước nghiên cứu ban đầu cho việc tối ưu hóa nhập liệu tiếng Việt phương pháp vuốt ký tự bàn phím Glide-Typing Trong tương lai nhóm có kế hoạch sau: Tiếp tục cải thiện thuật toán để tối ưu hóa việc nhập liệu phương pháp Thêm mơ hình Máy học để dự đốn từ nhập nhằm tăng trải nghiệm người dùng độ xác Hiện ứng dụng Android ứng dụng nhập liệu dùng để làm thử nghiệm nhóm Trong tương lai viết thành ứng dụng bàn phím (giống Gboard, Swiftkey) để sử dụng rộng rãi Khi ứng dụng dùng rộng rãi, nhóm sử dụng liệu người dùng gửi Server (tức nhiên không lưu lại định danh để bảo mật thông tin người dùng) để ứng dụng việc xác định từ khóa SEO phục vụ cơng tác Marketing Truyền thông -Trang 62- PHẦN TÀI LIỆU THAM KHẢO [1] M N Chừ and V Đ N & H T Phiến, Cơ sở ngôn ngữ học tiếng Việt, NXB Giáo Dục , 1997 [2] Wikipedia, "Euclidean Distance," [Online] Available: [Online] Available: https://en.wikipedia.org/wiki/Euclidean_distance [3] Wikipedia, "Cosine Similarity," https://en.wikipedia.org/wiki/Cosine_similarity [4] Wikipedia, "Mahalanobis Distance," [Online] Available: 2016 [Online] Available: Layout," [Online] Available: https://en.wikipedia.org/wiki/Mahalanobis_distance [5] Laicovannan, "Hunspell-vi," https://github.com/1ec5/hunspell-vi [6] A Developer, "Linear https://developer.android.com/reference/android/widget/LinearLayout [7] A Developer, "Relative Layout," [Online] Available: https://developer.android.com/guide/topics/ui/layout/relative [8] A Developer, "FrameLayout," [Online] Available: https://developer.android.com/reference/android/widget/FrameLayout [9] Okhtt3, "Okhtt3," [Online] Available: https://github.com/square/okhttp -Trang 63- [10] GeeksforGeeks, "REST API," [Online] Available: https://www.geeksforgeeks.org/rest-api-introduction/ [11] stackoverflow.com, "Developer Survey Results," 2019 [Online] Available: https://insights.stackoverflow.com/survey/2019 -Trang 64- ... Nhưng với tiếng Việt lại cịn nhiều hạn chế Vì nhóm định chọn chủ đề ? ?Tìm hiểu xây dựng ứng dụng nhập liệu tối ưu cho tiếng Việt điện thoại? ?? để tìm hiểu nghiên cứu phương pháp nhập liệu thú vị... trợ người dùng quẹt dấu Thiết kế ứng dụng điện thoại 2.1 Giới thiệu Ứng dụng điện thoại xây dựng ứng dụng giả lập bàn phím điện thoại Android Việc xây dựng ứng dụng giả lập để tập trung giải vấn... cứu Tìm hiểu cách xử lý thao tác vuốt người dùng sang từ đơn Tiếng Việt Tối ưu độ xác thao tác vuốt cho từ dự đoán với từ người dùng muốn viết Xây dựng ứng dụng hỗ trợ nhập liệu tối ưu tiếng Việt