AngularJs là một framework có cấu trúc cho các ứng dụng web động. Nó cho phép người dùng có thể sử dụng html như là một ngôn ngữ mẫu và cho phép chúng ta có thể mở rộng
44
cú pháp của html để bố trí các thành phần của ứng dụng một cách có bố cục rõ ràng. Một số đặc trưng của AngularJs như:
- Được phát triển dựa trên ngôn ngữ javascript. - Tạo ứng dựng theo mô hình MVC.
- Khả năng tương thích cao. - Mã nguồn mở.
- Chạy được trên nhiều nền tảng trình duyệt trên máy tính cũng như điện thoại. - Cung cấp khảnăng data binding với html.
Nhưng đi cùng với đó AngularJs cũng vẫn còn một số hạn chế nhất định:
- Không an toàn nên cần có sự bảo mật và xác thực phía server để ứng dụng có thể trở nên an toàn hơn.
- Không thể sử dụng được nếu như người dùng vô hiệu hóa Javascript trên trình duyệt web.
Một số hình anh về giao diện của ứng dụng “Tìm kiếm tri thức thông minh trên miền
45
- Khung tìm kiếm và các kết quả phù hợp với truy vấn:
46
- Nội dung của bài viết liên quan đến truy vấn của người dùng:
47
Chương 4
Thực nghiệm và kết luận
Tập dữ liệu thực nghiệm
Hiện nay chưa có một tập dữ liệu chuẩn nào để đánh giá lời giải cho vấn đề tìm kiếm cho câu hỏi “How-to query”. Chính vì vậy trước khi trước khi tiến hành thực nghiệm tôi đã khảo sát 20 người để thu thập được 200 câu hỏi ngẫu nhiên dạng “how-to query” ở các lĩnh vực khác nhau trong đời sống. Sau đó sẽ dùng tập câu hỏi từ người dùng để xem hệ thống của tôi có thể có câu trả lời cho bao nhiêu câu hỏi, và những câu trả lời đó có làm hài lòng người dùng như thế nào qua các đánh giá của người dùng qua các tiêu chí như:
- Mức độ hài lòng về các câu trả lời liên quan đến câu truy vấn. - Tốc độ tìm kiếm.
- Tính thân thiện với người dùng.
Cùng với đó tôi sẽ đo đạc hiệu quả của công cụ tìm kiếm qua thời gian thực hiện tìm kiếm với mỗi query trong trường hợp có một hoặc nhiều truy vấn cùng gửi đến server. Qua đó để đánh giá được khả năng đáp ứng lượng người dùng lớn của hệ thống.
Tính toán thời gian tìm kiếm
Để tiến hành đánh giá tốc độ tìm kiếm và khả năng đáp ứng nhu cầu của hệ thống, tôi sẽ tiến thành thực hiện đo đạc thời gian phản hồi của hệ thống với các truy vấn. Hệ thống sẽ được triển khai trên máy tính có cấu hình như bảng dưới đây:
48
Hệ điều hành Windows 10
CPU Intel Core i7 – 1050U
Số core: 4 Số thread: 8
RAM 16GB
Card đồ họa Card on board
Bảng 6: Cấu hình triển khai hệ thống tìm kiếm
Tôi tiến hành thực hiện truy vấn đa luồng, tức là sẽ gửi nhiều truy vấn (requests) vào cùng một thời điểm để tính toán thời gian nhanh nhất, chậm nhất của kết quả trả về từ hệ thống. Mỗi lần kiểm tra, bộ dữ liệu sẽ được lặp lại 10 lần để tính thời gian trung bình. Điều này mô phỏng lại tương tự việc có nhiều người dùng (users) cùng vào hệ thống để thực hiện truy vấn. Kết quả được thống kê như hình 24:
Trong hình 24, trục tung biểu diễn thời gian phản hồi của các câu trả lời của hệ thống được tính theo mili giây và trục hoành là số lượng truy vấn được gửi cùng 1 lúc.
49
Hình 24: Tốc độ tìm kiếm của hệ thống
Nhìn vào hình trên ta thấy, thời gian nhanh nhất để xử lý 1 truy vấn trong tất cả các thử nghiệm (gửi đồng thời từ1 đến 8 truy vấn cùng 1 lúc) là khoảng 20 mili giây. Thời gian xử lý trung bình tăng dần từ 62 mili giây lên 203 mili giây. Với kết quả như trên và hệ thống được chạy thử nghiệm với cấu hình của một máy tính cá nhân thì cho thấy hệ thống có khả năng xử lý tốt các truy vấn.
Tiến hành thực nghiệm
Với 200 câu hỏi dạng “how-to query” thu thập được tôi sẽ nhân bản theo 2 ngôn ngữ: Tiếng Anh và Tiếng Việt để thử nghiệm trên các ngôn ngữ tương ứng trên công cụ tìm kiếm Google. Sau khi thực hiện tìm kiếm 200 câu hỏi bằng Tiếng Anh và 200 câu hỏi bằng tiếng Việt thì kết quả nhận được như sau:
- Với Tiếng Anh: Tỉ lệ câu trả lời của Google được hiển thị dưới dạng câu trả lời cho câu hỏi how-to query là 49%.
0 20 40 60 80 100 120 140 160 180 200 220 240 260 280 300 320 1 2 3 4 5 6 7 8 Th ời gi an p hả n hồ i (m s)
Số lượng truy vấn cùng thời điểm
50
- Với Tiếng Việt: Tỉ lệ câu trả lời của Google được hiển thị dưới dạng câu trả lời cho câu hỏi how-to query là 18%.
Hình 25: Tỉ lệ tìm thấy câu trả lời dạng how-to query trên Google
Kết quả cho thấy cùng một nội dung truy vấn, trên ngôn ngữ Tiếng Anh tỉ lệ câu trả lời được hiển thị cho câu hỏi how-to query cao hơn nhiều so với trên ngôn ngữ Tiếng Việt. Thực hiện tìm kiếm tập câu hỏi trên Tiếng Việt bằng hệ thống của tôi thì số lượng câu trả lời là xấp xỉ 55%. Tỉ lệ này được xác định bằng việc người dùng thỏa mãn với câu trả lời mà hệ thống trả lời cho người dùng, không bao gồm các câu trả lời mà người dùng đánh giá là chỉ chấp nhận được (không thật sự sát với cả sự mong muốn), kết quả này được tính dự trên thông tin thống kê đánh giá người dùng mục 4.4 bên dưới:
49 51 Tiếng Anh How-to query Dạng khác 18 82 Tiếng Việt How-to query Dạng khác
51
Hình 26: Tỉ lệ tìm thấy câu trả lời trên hệ thống xây dựng
Đánh giá của người dùng
Để đánh giá được tính khả dụng của hệ thống, tôi đã thu thập ý kiến của những người cung cấp bộ dữ liệu thực nghiệm đánh giá về hệ thống. Với mỗi câu truy vấn của người dùng cung cấp tôi sẽ khảo sát xem mức độ chính xác của những gợi ý mà hệ thống đưa ra cho họ theo ba mức độ hài lòng, chấp nhận được và không hài lòng. Kết quả sau khi khảo sát:
- 109/200 câu trả lời được đánh giá là hài lòng với người dùng, có kết quả phù hợp với tìm kiếm của người dùng, đạt tỉ lệ 54.5%.
- 19 câu trả lời ở được xem là chấp nhận được, đạt tỉ lệ 9.5%.
- 72 câu trả lời không đúng với nhu cầu tìm kiếm của người dùng, chiếm 36%.
54.5 45.5
52
Hình 27: Thống kê khảo sát tính chính xác của những câu trả lời từđánh giá của người dùng
Cùng với đánh giá tính chính xác của những câu trả lời từ hệ thống, tôi cũng khảo sát người dùng về tính tiện lợi và thân thiện của hệ thống đối với họ.
Hình 28: Thống kê khảo sát tính tiện lợi của hệ thống 0 20 40 60 80 100 120
Không hài lòng Chấp nhận được Hài lòng
Số câ u tr ả lờ i Đánh giá Độ chính xác 0 2 4 6 8 10 12 14 16 18
Không tiện lợi Tiện lợi
Số câ u tr ả lờ i Đánh giá Tính tiện lợi
53
Hình 29: Thống kê khảo sát tính thân thiện với người dùng
Theo thống kê trên, có 85% số người cho rằng hệ thống khá tiện lợi cho việc sử dụng và có 55% số người đánh giá tính thân thiện của hệ thống là chấp nhận được.
Một số góp ý của người dùng khi được trải nghiệm hệ thống tìm kiếm:
- Cơ sở dữ liệu chưa được lớn nên việc trả lời được các câu hỏi ở các lĩnh vực khác nhau còn hạn chế.
- Giao diện chưa được bắt mắt.
- Một số câu trả lời chính xác hơn lại không được xếp hạng cao hơn.
Những cải tiến trong tương lai
Dưa vào kết quả của thực nghiệm và các góp ý của người dùng tôi đã tổng hợp lại thì dưới đây là một số công việc tôi sẽ phát triển trong tương lai để hoàn thiện thêm công cụ tìm kiếm thông minh trên miền wikiHow:
- Thêm dữ liệu từ một số nguồn khác để cơ sở dữ liệu được đầy đủ hơn. Nếu như không có câu trả lời cho truy vấn của khách hàng thì có thể sẽ chuyển hướng người dùng sang công cụ tìm kiếm trực tuyến để có thể tham khảo thêm.
0 1 2 3 4 5 6 7 8 9 10
Không thân thiện Chấp nhận được Thân thiện
Số câ u tr ả lờ i Đánh giá
54
- Cải tiến giao diện để người dùng có trải nghiệm tốt hơn.
- Cải tiến logic tính toán của thuật toán tìm kiếm tương đồng trên ngữ nghĩa bằng cách sử dụng thêm một số bộ word2vec khác.
55
Tài liệu tham khảo
[1] "Elasticsearch Intro," [Online]. Available: https://www.elastic.co/guide/en/elasticsearch/reference/current/elasticsearch-
intro.html.
[2] A. Aizawa, An information-theoretic perspective of tf–idf measures, Hitotsubashi Chiyoda-ku, Tokyo 101-8430, Japan: Information Processing and Management, 2003.
[3] G. S. a. M. J. McGill, Introduction to modern information retrieval, 1983.
[4] G. S. a. C. Buckley, "Term-weighting approaches in automatic text retrieval," Information Processing & Management, 1988, p. 24.
[5] G. B. T. S. B. P. Dang Duc Pham, "A Hybrid Approach to Vietnamese Word Segmentation Using Part of Speech Tags," 2009 International Conference on Knowledge and Systems Engineering, 2009.
[6] B. Carpenter, "Character language models for Chinese word segmentation and named entity recognition," Proceedings of the Fifth SIGHAN Workshop, pp. 169-172, 2006. [7] C. Papageorgiou, "Japanese word segmentation by hidden Markov model,"
Proceedings of the HLT Workshop, pp. 283-288, 1994.
[8] F. Peng, "Chinese segmentation and new word detection using conditional random fields," Proceeding of COLING, pp. 562-568, 2004.
[9] Y. W. AJ Jacobs, "Maximum entropy word segmentation of Chinese text,"
56
[10] X. D. R. N. J. C. JS Zhou, "A hybrid approach to Chinese word segmentation around CRFs," Proceeding of the Fourth SIGHAN Workshop on Chinese Language Processing, 2005.
[11] S. C. N Xue, "Combining classifiers for Chinese word segmentation," The First SIGHAN Workshop attached with the 19th COLING, pp. 57-63, 2002.
[12] X. Lu, "Towards a hybrid model for Chinese word segmentation," Proceeding of Fourth SIGHAN workshop on Chinese Language Processing, 2005.
[13] D. Q. N. D. Q. N. M. D. M. J. Thanh Vu, "Proceedings of NAACL-HLT 2018," pp. 56-60, 2018.
57
Phụ lục
Danh sách các câu hỏi ngẫu nhiên dạng “How to query” thu thập từngười dùng Truy vấn dạng tiếng Việt Truy vấn dạng tiếng Anh
Cách cài đặt java how to install java
Cách đặt mật khẩu 2 lớp cho facebook how to set up two-factor authentication for facebook Cách đổi nhạc chuông iphone X how to set up ringtone on iphone X
Cách khoá icloud how to deactive icloud account Cách chọn bàn phím cơ how to choose mechanical keyboard Cách root điện thoại Android how to root android operation system Cách nhận mã miễn phí vận chuyển
của shopee how do I get free shipping vouchers from Shopee Cách cài win 10 how to install Windows 10 on pc
Cách tạo boot usb how to make boot usb
Cách để tạo quảng cáo trên facebook how to create facebook advertisement Cách để trở thành facebook partner how to become facebook partner Cách để report video trên youtube how to report youtube's video Cách để khôi phục tài khoản facebook how to recover facebook account Cách tạo chức năng đăng nhập bằng
facebook trên reactjs how to install facebook login package on reactjs Cách kết nối airpods How to connect airpods
Cách tạo ảnh panorama bằng
photoshop How to make a panorama in photoshop
Cách xoá phông bằng photoshop how to make blur mask layer on photoshop Cách thêm phụ đề cho video how to add video subtitle
Cách chơi aoe how to play AOE
Cách tạo bảng trong ms word how to create table in microsoft word Cách chỉnh cỡ chữ trong ms excel how to adjust font size in MS excel
Cách đổi hình nền máy tính how to change desktop wallpaper
Cách chia sẻ file qua Airdrop how to share file by airdrop Cách tạo ảnh động How to Make an Animated GIF Cách cài extension cho Chrome how to install extension on chrome Cách tăng độ sáng màn hình máy tính how to increase brightness of monitor
Cách tăng âm lượng điện thoại How to increase the volume on my phone
Cách chỉnh độ sáng của ảnh how to increase brightness of photo Cách chỉnh giọng nói trong video how to modify voice on video Cách tạo tài khoản Google how to create google account Cách sử dụng touchpad how to use touchpad
58
Cách sử dụng đũa how to use chopsticks Cách sử dụng dao nĩa how to use knife and fork Cách nấu món bít tết how to cook steak
Cách gọt táo How to peel apple
Cách sử dụng lò vi sóng how to use microwave Cách chọn dưa hấu ngon how to pick watermelon
Cách làm caramel how to make caramel
Cách trang trí bằng cà rốt how to decorate by carrot Cách làm bánh ga tô how to bake a cake Cách phi lê cá hồi how to cut salmon Cách rang cà phê How to roast coffee
Cách mở chai rượu vang how to open a bottle of champagne Cách nghiền khoai tây how to mash potato
Cách bóc trứng luộc how to peel eggs
Cách ăn dừa how to eat coconut
Cách làm mứt dâu how to make strawberry jam
Cách nướng bánh mì how to make toast
Cách cạo râu how to shave face
Cách thắt cà vạt how to tie
Cách buộc dây giày how to tie shoes
Cách xoay rubic how to solve rubik's cube Cách chọn kiểu tóc phù hợp với khuôn
mặt how to find a hairstyle to fit your face
Cách để có giấc ngủ ngon how to get a good sleep
Cách chơi poker how to play poker
Cách chơi đàn pinano how to play piano
Cách xây lâu đài cát how to make a sand castle
Cách xin visa sang Mỹ how to apply for us visa
Cách câu cá how to fish
Cách sinh tồn nơi hoang dã how to survive on your own in the wild Cách hồi sức tim phổi How to do CPR
Cách sơ cứu vết thương hở How to first aid open wounds
Cách băng bó khuỷu tay how to tape up your elbow
Cách pha trà ngon how to make tea the right way
Cách cắm hoa how to arrange flowers
Cách trồng cây how to plant a new tree
Cách xử lí khi bị rắn cắn How to handle snake bites Cách chiết cành cây How to make marcot
Cách gấp chăn How to fold the blanket
Cách đan len How to knit
59
Cách là quần áo how to iron
Cách để trở thành ca sĩ how to become a singer
Cách xin lỗi người khác how to apologize
Cách nhuộm tóc how to dye hair
Cách chơi golf how to play golf
Cách kẻ lông mày How to draw eyebrows
Cách sơn móng tay how to paint nails
Cách bơi How to swim
Cách dựng lều how to set up a tent
Cách sử dụng nước hoa how to apply perfume Cách chữa gù lưng how to correct back posture
Cách đăng ký kết hôn how to get marriage license
Cách tham gia chương trình Shark
Tank How to get on shark tank
Cách rửa tay bằng xà phòng How to wash your hands with soap Cách thắt nút dây How to tie a knot
Cách vẽ con gà how to draw a chicken
Cách vẽ cờ hải tặc how to draw a jolly roger Cách trả lời phỏng vấn How to answer the interview Cách chạy marathon How to run a marathon
Cách dạy con viết chữ How to teach children to write Cách giảm đau cơ how to relieve muscle pain Cách hạ sốt nhanh chóng how to reduce fever
Cách chụp ảnh selfie how to take a selfie Cách loại bỏ bã kẹo cao su dính trên
quần áo how to remove gum from clothes
Cách đi xe đạp How to ride a bike
Cách đi xe máy how to ride a motorcycle
Cách trượt ván How to skateboard
Cách quản lý tài chính How to manage finance