Xây Dựng Công Cụ Hỏi Đáp Tiếng Việt Về Đặc Sản Ẩm Thực Việt Nam Trên Cloud Computing (tt)Xây Dựng Công Cụ Hỏi Đáp Tiếng Việt Về Đặc Sản Ẩm Thực Việt Nam Trên Cloud Computing (tt)Xây Dựng Công Cụ Hỏi Đáp Tiếng Việt Về Đặc Sản Ẩm Thực Việt Nam Trên Cloud Computing (tt)Xây Dựng Công Cụ Hỏi Đáp Tiếng Việt Về Đặc Sản Ẩm Thực Việt Nam Trên Cloud Computing (tt)Xây Dựng Công Cụ Hỏi Đáp Tiếng Việt Về Đặc Sản Ẩm Thực Việt Nam Trên Cloud Computing (tt)Xây Dựng Công Cụ Hỏi Đáp Tiếng Việt Về Đặc Sản Ẩm Thực Việt Nam Trên Cloud Computing (tt)Xây Dựng Công Cụ Hỏi Đáp Tiếng Việt Về Đặc Sản Ẩm Thực Việt Nam Trên Cloud Computing (tt)Xây Dựng Công Cụ Hỏi Đáp Tiếng Việt Về Đặc Sản Ẩm Thực Việt Nam Trên Cloud Computing (tt)Xây Dựng Công Cụ Hỏi Đáp Tiếng Việt Về Đặc Sản Ẩm Thực Việt Nam Trên Cloud Computing (tt)Xây Dựng Công Cụ Hỏi Đáp Tiếng Việt Về Đặc Sản Ẩm Thực Việt Nam Trên Cloud Computing (tt)Xây Dựng Công Cụ Hỏi Đáp Tiếng Việt Về Đặc Sản Ẩm Thực Việt Nam Trên Cloud Computing (tt)Xây Dựng Công Cụ Hỏi Đáp Tiếng Việt Về Đặc Sản Ẩm Thực Việt Nam Trên Cloud Computing (tt)
i DANH MỤC CÁC THUẬT NGỮ, CHỮ VIẾT TẮT Viết tắt Tiếng Anh Tiếng Việt IaaS Infrastructure as a Service Cơ sở hạ tầng dịch vụ SaaS Software as a Service Phần mềm dịch vụ PaaS Platform as a Service Nền tảng dịch vụ DCG Definite Clause Grammar Văn phạm mệnh đề định nghĩa trước SQL Structured Query Language Ngôn ngữ truy vấn có cấu trúc ii DANH SÁCH BẢNG Bảng 1.1: Các ký hiệu từ loại cú pháp DCG Bảng 1.2: Kí hiệu sử dụng câu phân tích DCG Bảng 2.1: Kết thực nghiệm hệ thống 19 iii DANH SÁCH HÌNH VẼ Hình 2.1: Kiến trúc hệ thống hỏi đáp tự động Hình 2.2: Mơ hình sở liệu hệ thống Hình 2.3: Quy trình xử lý câu hỏi 11 Hình 2.4: Quy trình xử lý câu “Cho biết đặc sản Cá Bống vùi tro xuất phát từ tỉnh nào?” 12 Hình 2.5: Giao diện hệ thống 14 Hình 2.6: Giao diện người dùng nhập câu truy vấn .14 Hình 2.7: Giao diện hiển thị kết tìm kiếm 15 Hình 2.8: Giao diện hiển thị chi tiết kết tìm kiếm 15 Hình 2.9: Giao diện hệ thống trường hợp không xử lý câu hỏi 16 MỞ ĐẦU Trong thời đại công nghệ thông tin nay, việc trao đổi, tìm kiếm thơng tin nhu cầu thiếu hàng ngày, hàng tất người Vì vậy, để đảm bảo thơng tin xác nhất, nhanh chóng đến người sử dụng (người có nhu cầu tìm hiểu thơng tin đó) hệ thống hỏi đáp tự động đời Hệ thống hỏi đáp quen thuộc với người trước thường xây dựng chạy ứng dụng theo cách truyền thống: để viết chương trình, ta phải có máy tính đảm bảo cấu phần mềm; chạy ứng dụng, chương trình cài đặt trực tiếp máy chủ máy chủ cố định Chính yêu cầu phần cứng phần mềm máy tính gây khơng khó khăn cho người thực Cơng nghệ điện tốn đám mây đời giúp người dùng giải khó khăn dịch vụ sở hạ tầng (IaaS), phần mềm (SaaS), tảng (PaaS) với chi phí hợp lý, dễ sử dụng, tiện lợi độ tin cậy cao Vận dụng tiện lợi đó, luận văn nghiên cứu việc sử dụng công nghệ điện toán đám mây IBM để cài đặt ứng dụng Ứng dụng website tiếng Việt cho phép người dùng đặt câu hỏi liên quan đến đặc sản ẩm thực Việt Nam nhận câu trả lời từ hệ thống Các câu hỏi đặt cho hệ thống phải đảm bảo cú pháp quy định sử dụng tiếng Việt Hệ thống phân tích câu hỏi tìm kiếm câu trả lời từ sở liệu xây dựng sẵn sau trả kết cho người dùng Thơng qua giúp cho người có nhìn tổng quan cơng nghệ từ tự vận dụng để xây dựng ứng dụng nhanh chóng, dễ dàng Nội dung nghiên cứu gồm chương Chương giới thiệu sơ lược phương pháp phân tích cú pháp câu DCG, quy tắc DCG để phân tích cú pháp câu hướng dẫn cách viết câu văn phạm DCG ngôn ngữ Prolog Chương hướng dẫn xây dựng chương trình, bao gồm giới thiệu mơ hình kiến trúc q trình xây dựng thành phần quan trọng hệ thống hỏi đáp tự động thành phần xử lý, thành phần liệu giao diện chương trình; kết thực nghiệm đánh giá hệ thống Chương kết đạt luận văn điểm hạn chế, đề xuất kiến nghị đưa CHƢƠNG - GIỚI THIỆU PHƢƠNG PHÁP PHÂN TÍCH CÚ PHÁP CÂU DCG 1.1 Sơ lƣợc phƣơng pháp phân tích cú pháp câu DCG DCG [1] văn phạm với tập hợp mệnh đề định nghĩa logic bậc (First – order logic) DCG [3] chủ yếu xây dựng phát triển Prolog, hỗ trợ việc xây dựng cú pháp cho ngôn ngữ tự nhiên 1.2 Định nghĩa quy tắc DCG để phân tích cú pháp câu Bảng 1.1 Các ký hiệu từ loại cú pháp DCG Từ Loại Kí hiệu Câu đơn cau_don Cụm động từ / Động từ: Là cụm từ / từ câu có tác dụng hoạt động, trạng thái cdtv/dtv Cụm danh từ / Danh từ: Là cụm từ / từ người, sinh vật, vật, khái niệm cdtn /dtn Phụ từ Pt Giới từ Gt Bổ từ Bt Từ T Đại từ dt Danh từ để hỏi dtnh Danh từ riêng dtnr Cụm giới từ cgt Động từ để hỏi dtvh Số từ st Tính từ tt 1.3 Viết câu văn phạm DCG ngôn ngữ Prolog Bảng 1.2 Kí hiệu sử dụng câu phân tích DCG Kí hiệu Ý nghĩa tu_dtn Danh từ tu_dtv Động từ tu_gt Giới từ tu_dt Đại từ tu_bt Bổ từ tu_pt Phụ từ tu_c Từ tu_tt Tính từ tu_dtnv Đại từ nghi vấn CHƢƠNG - XÂY DỰNG CHƢƠNG TRÌNH 2.1 Mơ hình kiến trúc hệ thống hỏi đáp tự động Ta có mơ hình kiến trúc hệ thống hỏi đáp tự động có dạng sau [2]: Ngƣời dùng nhập câu hỏi Web tƣơng tác Câu hỏi DỮ LIỆU HỆ THỐNG TIỀN XỬ LÝ CÂU ĐƠN - Mảng từ đơn Câu đơn chuẩn Bộ văn phạm DCG TRUY VẤN SUY LUẬN - Mệnh đề SQL TRUY VẤN SQL Dữ liệu truy vấn Hình 2.1: Kiến trúc hệ thống hỏi đáp tự động Một hệ thống hỏi đáp tự động gồm có thành phần sau: Thành phần giao diện người dùng (web tương tác) Thành phần xử lý (gồm tiền xử lý câu đơn, truy vấn suy luận, truy vấn SQL) Thành phần sở liệu (gồm văn phạm DCG mẫu cho câu truy vấn database SQL để trả lời truy vấn người dùng) 2.2 Xây dựng thành phần sở liệu Gồm sở liệu: Bộ văn phạm DCG mẫu cho câu truy vấn : + Là văn phạm xây dựng để làm văn phạm chuẩn, sử dụng để truy vấn + Bộ văn phạm viết cho câu hỏi mẫu lưu vào file pl Database SQL trả lời truy vấn người dùng: + Là liệu bao gồm liệu đặc sản ẩm thực Việt Nam, liệu câu hỏi mẫu + Dữ liệu thơng tin ăn câu hỏi mẫu lưu vào database DB_MonAn.mdf 11 Câu hỏi đơn A Tiền xử lý câu đơn Chuyển thành câu đơn A không dấu Chuyển sang định dạng chữ thường Tách thành mảng từ đơn B Đưa thành câu hỏi chuẩn C kỹ thuật so khớp: Tính Maxi = Số lượng từ đơn mảng B xuất tương ứng câu hỏi chuẩn sở liệu/số từ mảng B Câu hỏi chuẩn C (lấy sở liệu) tương ứng có Maxi lớn ≠0 Truy vấn suy luận - Mở kết nối file chứa văn phạm DCG mẫu để xử lý - Làm việc với file CauIDc.pl (IDc khóa câu hỏi C bảng CauHoi) Xác định thành phần từ loại câu C’ Lấy câu truy vấn SQL Truy vấn SQL Kết nối sở liệu lấy liệu qua câu truy vấn SQL Hiển thị liệu lên website Kết thúc Hình 2.3 Quy trình xử lý câu hỏi 12 Ví dụ, người dùng nhập vào hệ thống câu hỏi “Cho biết đặc sản Cá Bống vùi tro xuất phát từ tình nào?” Hệ thống tiến hành xử lý hình 2.4 sau: Cho biết đặc sản Cá Bống vùi tro xuất phát từ tỉnh nào? Tiền xử lý câu đơn Cho toi biet dac san Ca Bong vui tro xuat phat tu tinh nao? cho toi biet dac san ca bong vui tro xuat phat tu tinh nao? [cho, toi, biet, dac, san, ca, bong, vui, tro, xuat, phat, tu, tinh, nao] Max12 = 6/14 = 0.42857143 C = “Ca bong vui tro la dac san noi đau” Truy vấn suy luận Kết nối xử lý file cau16.pl tu_danhtudehoi: dac san, tu_danhturieng: ca bong vui tro, tu_phutu: la, tu_daitunghivan: o dau SQL = SELECT * FROM MonAn WHERE TenMonAn LIKE N'%Cá Bống%' Truy vấn SQL Kết nối sở liệu thực thi câu truy vấn SQL để lấy TenMonAn, ImgLink, MoTa, NoiDung, MaMon hiển thị lên website: Hiển thị thơng tin chi tiết ăn người dùng click vào nút “Đọc thêm” (hệ thống thực thi câu truy vấn: select TenMonAn, NoiDung from MonAn where MaMon = „“+foodNo+”‟”): Kết thúc Hình 2.4 Quy trình xử lý câu “Cho biết đặc sản Cá Bống vùi tro xuất phát từ tỉnh nào?” 13 2.4 Xây dựng thành phần giao diện ngƣời dùng Hệ thống website, người dùng tương tác thông qua giao diện web chạy trình duyệt web, chẳng hạn FireFox, Internet Explorer, Cốc Cốc,… 2.4.1 Công cụ ngôn ngữ sử dụng Hệ thống xây dựng dựa tảng điện tốn đám mây IBM Bluemix Ngơn ngữ thiết kế giao diện Java (tiện ích Eclipse) tích hợp sẵn IBM Bluemix 2.4.2 Giao diện hệ thống Giao diện hệ thống gồm thành phần giao diện sau: Giao diện nhận câu truy vấn từ người dùng Giao diện hiển thị kết tìm kiếm cho người dùng Với hình thức sau: 14 + Giao diện hệ thống – trang web tìm kiếm Hình 2.5 Giao diện hệ thống + Giao diện nhận câu truy vấn Hình 2.6 Giao diện ngƣời dùng nhập câu truy vấn 15 + Giao diện hiển thị kết tìm kiếm Trƣờng hợp tìm thấy kết quả: Biểu diễn danh sách kết tìm kiếm Hình 2.7 Giao diện hiển thị kết tìm kiếm Biểu diễn chi tiết kết tìm kiếm Hình 2.8 Giao diện hiển thị chi tiết kết tìm kiếm 16 Trƣờng hợp khơng tìm thấy kết (khơng tìm đƣợc câu hỏi chuẩn C): Hình 2.9 Giao diện hệ thống trƣờng hợp không xử lý đƣợc câu hỏi 2.5 Công nghệ, tảng xây dựng sử dụng hệ thống Về lập trình: Cú pháp câu hỏi định nghĩa dựa văn phạm DCG viết ngơn ngữ lập trình Prolog Prolog nhúng vào Eclipse-Jee-Mars-R thông qua thư viện “JAVA Interface Prolog” jpl.jar version 3.1.4 – alpha download https://jar-download.com Ngôn ngữ thiết kế sở liệu Microsoft SQL Server 2014 Thư viện sqljdbc4.jar sử dụng để kết nối 17 sở liệu thực thi chương trình, download http://www.java2s.com Ngơn ngữ thiết kế giao diện Java, sử dụng version Eclipse-Jee-Mars-R - win32 Công cụ thiết kế server Apache TomCat, download https://tomcat.apache.org Về phía Server: Ở tác giả sử dụng chung server vừa làm web server database server Hệ quản trị sở liệu Microsoft SQL Server 2014 Về phía Client: Một máy tính có cài trình duyệt web, ví dụ: Internet Explorer, Mozila Firefox, Cốc Cốc,… 2.6 Kết thực nghiệm chƣơng trình đánh giá hệ thống 2.6.1 Thử nghiệm hệ thống Hệ thống thử nghiệm máy tính có cấu sau: Server: RAM: 2GB Processor: Intel(R) Core(TM) Duo CPU T6600 – 2.20 GHz 18 Webserver: TomCat Client: Trình duyệt Mozila Firefox Kết thực nghiệm: Văn phạm DCG mẫu: “Kể tên đặc sản Hà Nội” Kết người dùng cần tìm kiếm: thơng tin ăn đặc sản Hà Nội Câu hỏi để thử nghiệm gồm có 11 câu, có nội dung tương tự văn phạm mẫu Kết thử nghiệm trình bày bảng 2.1 sau: 19 Bảng 2.1 Kết thực nghiệm hệ thống STT Câu hỏi Kết tìm kiếm Đúng/Sai Kể tên đặc sản Hà Nội? Đúng Kể tên ăn đặc sản Đúng Hà Nội? Kể tên đặc sản ẩm thực Hà Đúng Nội? Kể tên đặc sản ẩm thực Hà Nội? Đúng 20 Kể tên ăn ngon Đúng tiếng Hà Nội? Hà Nội có Đúng đặc sản nào? Hà Nội có ăn tiếng Đúng nào? Những ăn đặc sản Hà Nội? Đúng 21 Tôi muốn biết số Đúng đặc sản Hà Nội? Thơng tin 10 đặc sản Đúng Hà Nội? 11 Phở bò Hà Sai Nội? Tỷ lệ đúng: 10/11 (90%) Ta thấy, 10/11 câu truy vấn cho kết nội dung câu bám sát văn phạm mẫu nên hệ thống xử lý câu lấy thành phần quan trọng để đưa câu chuẩn theo văn phạm mẫu Riêng câu truy vấn số 11 hệ thống cho kết sai câu chưa định nghĩa hệ thống Nếu muốn hệ thống xử lý ta phải bổ sung vào 22 2.6.2 Đánh giá hệ thống Qua trình kiểm thử, tác giả đưa số đánh giá mang tính chủ quan sau: Hệ thống cho câu trả lời xác tập câu hỏi chuẩn câu hỏi có nội dung tương đương Hệ thống chạy ổn định web với thời gian xử lý yêu cầu người dùng nhanh chóng 23 CHƢƠNG - KẾT LUẬN 3.1 Kết đạt đƣợc hệ thống Xây dựng văn phạm DCG mẫu ngơn ngữ lập trình Prolog lĩnh vực ẩm thực Việt, sử dụng ngôn ngữ tiếng Viết Hệ thống cho câu trả lời xác với câu hỏi đơn có nội dung tương đương câu hỏi chuẩn nằm văn phạm mẫu Hệ thống linh động việc nhập câu hỏi, cho phép người dùng nhập câu hỏi không dấu, viết hoa thường, thiếu thành phần phụ Với câu hỏi dạng này, hệ thống cho câu trả lời xác Hệ thống lưu trữ lại câu hỏi mà người dùng sử dụng để gợi ý nhằm trợ giúp cho việc nhập liệu nhanh chóng Kết tìm kiếm trình bày hợp lý, gợi mở nhiều thông tin liên quan hỗ trợ người dùng Hệ thống xây dựng sử dụng web, giao tiếp với người dùng cách tự động 3.2 Những điểm hạn chế hệ thống Số lượng tập cú pháp cịn chưa đáp ứng hết phạm vi rộng lĩnh vực ẩm thực phong phú nước ta 24 Chỉ đáp ứng câu đơn, dạng câu khác chưa xử lý Kết thử nghiệm hệ thống kết nghiên cứu ban đầu, thời gian trả lời truy vấn người dùng phụ thuộc vào tốc độ đường truyền internet 3.3 Hƣớng phát triển Qua phân tích trên, để có kết tốt luận văn cần phát triển vấn đề sau: Cập nhật thêm thông tin ẩm thực dân tộc nước để đáp ứng yêu cầu tìm kiếm thơng tin người dùng Hồn chỉnh văn phạm, đảm bảo thể đầy đủ truy vấn liên quan đến lĩnh vực ẩm thực Việt Xử lý đa dạng loại mẫu câu, đáp ứng yêu cầu người dùng 25 PHỤ LỤC DANH SÁCH CÁC CÂU HỎI CHUẨN Kể tên đặc sản Hà Nội Kể tên gà ngon? Kể tên bánh ngon? Kể tên canh ngon? Hãy cho biết cách chế biến phở? Cách làm gà gán nào? Cách làm bánh gối nào? Tìm hiểu Tào phớ Hà Nội? Tìm hiểu Bánh tẻ Phú Nhi? 10 Đặc sản Bún Chả Nam Định nào? 11 Cho biết cách nấu canh cá rơ đồng? 12 Tìm hiểu Bánh khúc làng Diềm? 13 Đặc sản bánh Phu Thê Đình Bảng Bắc Ninh có ngon? 14 Ốc xu núi Bà Tây Ninh có hấp dẫn? 15 Đặc sản chè Tân Cương Thái Ngun có ngon? 16 Cá Bống vùi tro đặc sản đâu? 17 Mực rim me đặc sản đâu? 18 Cách làm kẹo đậu phộng giịn tan nào? 19 Đặc sản Dơi xào lăn đâu? 20 Bánh xèo đâu ngon? 21 Tìm hiểu chả cá Lã Vọng? … ... Bảng 2.1 Kết thực nghiệm hệ thống STT Câu hỏi Kết tìm kiếm Đúng/Sai Kể tên đặc sản Hà Nội? Đúng Kể tên ăn đặc sản Đúng Hà Nội? Kể tên đặc sản ẩm thực Hà Đúng Nội? Kể tên đặc sản ẩm thực Hà Nội?... website tiếng Việt cho phép người dùng đặt câu hỏi liên quan đến đặc sản ẩm thực Việt Nam nhận câu trả lời từ hệ thống Các câu hỏi đặt cho hệ thống phải đảm bảo cú pháp quy định sử dụng tiếng Việt. .. liệu đặc sản ẩm thực Việt Nam, liệu câu hỏi mẫu + Dữ liệu thơng tin ăn câu hỏi mẫu lưu vào database DB_MonAn.mdf 8 2.2.1 Xây dựng văn phạm DCG mẫu cho câu truy vấn (file pl) 2.2.1.1 Nguyên tắc xây