Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 55 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
55
Dung lượng
1,37 MB
Nội dung
HANOI UNIVERSITY OF SCIENCE AND TECHNOLOGY SCHOOL OF INFORMATION AND COMMUNICATION TECHNOLOGY ──────── * ─────── UNDERGRADUATE DISSERTATION MAJORED IN INFORMATION TECHNOLOGY ASSESSMENT OF USER EXPERTISE IN QUESTION-AND-ANSWER SYSTEMS: DESIGN AND IMPLEMENTATION Author: Phạm Tuấn Long Software Engineering C51 SoICT, HUST Mentors: Prof. Dr. Huỳnh Quyết Thắng MS. Lê Quốc HANOI, 5-2011 TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG ──────── * ─────── ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC NGÀNH CÔNG NGHỆ THÔNG TIN ĐÁNH GIÁ CHUYÊN MÔN NGƯỜI DÙNG TRONG CÁC HỆ THỐNG HỎI ĐÁP: THIẾT KẾ VÀ CÀI ĐẶT Sinh viên thực hiện: Phạm Tuấn Long Lớp CNPM – K51 Giáo viên hướng dẫn: PGS. TS Huỳnh Quyết Thắng ThS. Lê Quốc HÀ NỘI 5-2011 DISSERTATION TASK SHEET 1. Student information Full-name: Phạm Tuấn Long Phone number: (+84) 972-889-760Email: longpt214@gmail.com Email: longpt214@gmail.com Class: Software Engineering - C51 Form of education: Regular Form of education: Regular This dissertation is completed at: BkProfile group, based in Vietnam branch of Cazoodle Inc. Execution time: FromFebruary 15 February 15 th , 2011to May 15 to May 15 th , 2011 2. Objectives Design and implement an algorithm to assess expertise of users in question-and-answer systems (Q&A systems), applied in BkProfile – a knowledge sharing community. 3. Tasks − Research Q&A systems in the world and their methods to evaluate expertise of users and quality of answers. − Design an scalable assessment algorithm which is suitable with the context of BkProfile. − Implement the algorithm and test it in real system BkProfile, addressing at http://www.bkprofile.com 4. Author's commitment: I, Pham Tuan Long, hereby commit that this dissertation is my work under the instruction of Prof. Dr. Huỳnh Quyết Thắng and Ms. Lê Quốc, incorporating no plagiarized passage. All results and findings of this dissertation are honest. Hanoi, February 15 th , 2011 Author Phạm Tuấn Long 5. Confirmation of the main mentor about the completeness of the dissertation and the acceptance of dissertation defence: Hanoi, February 17 th , 2011 Mentor Prof. Dr. Huỳnh Quyết Thắng PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP 1. Thông tin về sinh viên Họ và tên sinh viên: Phạm Tuấn Long Điện thoại liên lạc: 0972889760Email: longpt214@gmail.com Email: longpt214@gmail.com Lớp: Công nghệ phần mềm K51 Hệ đào tạo: Chính quy Hệ đào tạo: Chính quy Đồ án tốt nghiệp được thực hiện tại: Nhóm BkProfile, đặt tại công ty Cazoodle@Việt Nam Thời gian làm ĐATN: Từ ngày 15/02/2011 đến 25/05/2011 2. Mục đích nội dung của ĐATN Xây dựng và cài đặt thuật toán đánh giá chất lượng câu trả lời và chuyên môn người dùng trong các hệ thống hỏi đáp, ứng dụng cụ thể vào mạng cộng đồng chia sẻ tri thức BkProfile. 3. Các nhiệm vụ cụ thể của ĐATN − Nghiên cứu các hệ thống hỏi đáp trên thế giới và cỏch tớnh điểm chuyên môn người dùng và chất lượng câu trả lời của chúng. − Thiết kế thuật toán đánh giá phù hợp với điều kiện của hệ thống BkProfile, và có thể mở rộng khi hệ thống lớn lên. − Cài đặt thuật toán và chạy thử nghiệm trên địa chỉ bkprofile.com 4. Lời cam đoan của sinh viên: Tôi - Phạm Tuấn Long - cam kết ĐATN là công trình nghiên cứu của bản thân tôi dưới sự hướng dẫn của PGS. TS. Huỳnh Quyết Thắng và ThS. Lê Quốc Các kết quả nêu trong ĐATN là trung thực, không phải là sao chép toàn văn của bất kỳ công trình nào khác. Hà Nội, ngày 15 tháng 02 năm 2011 Tác giả ĐATN Phạm Tuấn Long 5. Xác nhận của giáo viên hướng dẫn về mức độ hoàn thành của ĐATN và cho phép bảo vệ: Hà Nội, ngày 17 tháng 02 năm 2011 Giáo viên hướng dẫn PGS. TS. Huỳnh Quyết Thắng PREFACE To me, writing this dissertation is a prestigious chance to review my academic knowledge, present my biggest product at school, and test my ability to deal with real-life problems which I will have to solve in the future! This dissertation is an important module of BkProfile, a knowledge sharing web applications, developed by BkProfile team, a student team of School of Information and Communication Technology, bases in Vietnam branch of Cazoodle Inc., under the instruction of Prof. Dr. Thang Quyet Huynh and Ms. Quoc Le. The first version of the module was integrated to the beta version of the web application, addressing at http://www.bkprofile.com. It connects with other important modules of the system, i.e. SOLR search engine and JOO-framework-based presentation. The objectives of this dissertation are as follows: Research Q&A systems in the world and their methods to evaluate the expertise of users. Design a scalable assessment algorithm which is suitable with the context of BkProfile. Implement the algorithm and test it in real system BkProfile, addressing at http://www.bkprofile.com As a result, the dissertation will be organized as follows: Chapter 1 describes my motivation to do the research, the statement of the problem and my approach to tackle the problem. Chapter 2 includes a quick review of Google AardVark and Google Confucius, as the most related research; Markov chain & PageRank as the foundation of my research; and Hadoop MapReduce as the platform I use to implement the algorithm. Chapter 3, the most important chapter of this dissertation, elaborates my method to rank users in a Q&A system. Chapter 4 discusses the details of my implementation of the algorithm in Hadoop MapReduce. It includes a technique to automate MapReduce processes. Chapter 5 summarizes the experimental results when I test ExpertRank in a real system, named BkProfile. I also include the population & sampling I uses to experiment the algorithm. Chapter 6 discusses the current application and current problems of ExpertRank, and recommend a few ways to make it better. Chapter 7 is the conclusion. MỞ ĐẦU Với em, việc viết đồ án tốt nghiệp là một cơ hội quý báu để tổng kết lại kiến thức đã học, giới thiệu sản phẩm lớn nhất mà em đã từng làm trong trường đại học, và thử khả năng đương đầu với những thử thách của cuộc sống mà em sẽ phải đối diện trong tương lai. Kết quả của đồ án này là một bộ phận quan trọng của BkProfile, một ứng dụng web chia sẻ tri thức, được phát triển bởi nhóm BkProfile, một nhóm sinh viên của Viện Công nghệ thông tin & Truyền thông, làm việc tại chi nhánh Việt Nam của công ty Cazoodle, dưới sự hướng dẫn của PGS. TS. Huỳnh Quyết Thắng và Ths, Lê Quốc. Phiên bản đầu tiên của module này đã được tích hợp vào phiên bản beta của BkProfile, tại địa chỉ htttp://www.bkprofile.com. Nó cú mối liên hệ với các modules quan trọng khác của hệ thống như máy chủ tìm kiếm SOLR và bộ hiển thị viết trên nền JOO. Mục tiêu của đồ án này là như sau: Nghiên cứu các hệ thống Hỏi & Đỏp trờn thế giới và phương pháp của chúng trong việc đánh giá chuyên môn của người dùng. Thiết kế một thuật toán đánh giá có khả năng mở rộng cho các hệ thống cỡ lớn và phải phù hợp với môi trường cụ thể của BkProfile. Cài đặt và triển khai chương trình tại hệ thống thực BkProfile, tại địa chỉ: http://www.bkprofile.com Theo đó, đồ án sẽ được tổ chức như sau: Chương 1 mô tả động lực thúc đẩy việc nghiên cứu, nêu vấn đề sẽ nghiên cứu và hướng tiếp cận để giải quyết vấn đề. Chương 2 bao gồm một bản phân tích ngắn hướng tiếp cận của các hệ thống hỏi đáp khác là Google AardVark và Google Confucius; bản tìm hiểu về chuỗi Markov và thuật toán PageRank như là những nền tảng chính của nghiên cứu này; và cuối cùng là Hadoop MapReduce là nền tảng phân tán mà em đó dựng để cài đặt thuật toán. Trong đó, em cũng chỉ rõ đóng góp chính của nghiên cứu này. Chương 3, cũng là chương quan trọng nhất của đồ án, trình bày chi tiết phương pháp của em để xếp hạng người dùng trong các hệ thống Hỏi & Đáp. Chương 4 thảo luận các chi tiết về cách em cài đặt thuật toán đề xuất trên nền tảng Hadoop MapReduce, trong đó có chứa một kỹ thuật để tự động hóa quá trình chạy Hadoop MapReduce. Chương 5 tóm tắt kết quả thử nghiệm khi em kiểm thử ExpertRank trong một hệ thống thực có tên là BkProfile. Em cũng mô tả dữ liệu mà em đã sử dụng để kiểm thử. Chương 6 thảo luận những ứng dụng hiện tại, những vấn đề còn tồn tại của ExpertRank và trình bày một vài hướng có thể cải thiện chất lượng kết quả của thuật toán. Chương 7 là phần tổng kết những gì em đã làm được, đối chiếu với những gì đã đặt ra từ trước. Như vậy, chương 1 – 2 tương đương với phần đặt vấn đề và định hướng giải pháp, chương 3-6 tương đương với phần các kết quả đạt được và chương 7 tương đương với phần kết luận trong hướng dẫn viết đồ án của Viện. ABSTRACT This dissertation presents ExpertRank, an iterative algorithm to evaluate the expertise of users about a specific domain of knowledge in question & answer systems, i.e. BkProfile – a knowledge sharing community. The evaluation help users prove their ability in their professional profiles in the system which is a critical motivation for Q&A system to run smoothly. I base my method on Markov chain model, refer to Google's PageRank algorithm, to convert the above problem into a probabilistic model and then use an iterative method to solve the problem. My algorithm is designed on MapReduce programming model so that it can be applied for large scale systems. We have experimented it in a open-source platform named Hadoop mapReduce and deploy it in BkProfile web application, http://www.bkprofile.com. Results of the algorithm can be encapsulated as a reliable parameter for evaluation system of other large-scale sharing web applications. Keywords Iterative method, Markov chain, MapReduce, PageRank TÓM TẮT NỘI DUNG ĐỒ ÁN TỐT NGHIỆP Nghiên cứu này giới thiệu ExpertRank, là một thuật toán lặp đánh giá chất lượng câu trả lời và trình độ chuyên môn của người dùng về một lĩnh vực nào đó trong các hệ thống hỏi và trả lời cỡ lớn, mà cụ thể là mạng cộng đồng chia sẻ tri thức BkProfile. Việc đánh giá chuyên môn người dùng sẽ giúp người dùng có thể chứng minh được kiến thức chuyên môn của mình trong hồ sơ nghề nghiệp của họ trong hệ thống, là một động lực quan trọng thúc đẩy hoạt động của các hệ thống Hỏi & đáp. Em đã dựa trên thuật toán phân loại trang web của máy tìm kiếm Google có tên là PageRank, và mô hình chuỗi Markov để chuyển bài toán trên thành các mô hình xác suất, từ đó xây dựng thuật toán lặp đánh giá cùng một lúc hai đại lượng trên. Thuật toán của chúng tôi được thiết kế trên mô hình Map-Reduce nên có thể được áp dụng cho các hệ thống phân tán cỡ lớn. Em đã thử nghiệm nó trờn hệ thống mã nguồn mở có tên là Hadoop Map Reduce và triển khai nó chạy ổn định trên ứng dụng web BkProfile tại địa chỉ http://www.bkprofile.com. Các kết quả của thuật toán cũng có thể được đóng gói như là 1 tham số tin cậy sử dụng cho các hệ thống đánh giá trong các ứng dụng chia sẻ tri thức cỡ lớn khác. Từ khóa Phương pháp lặp, chuỗi Markov, MapReduce, PageRank ACKNOWLEDGEMENT First, I am heartily thankful to Prof. Dr. Thang Quyet Huynh whose prestigious advice and on-time guidance enabled me to complete this dissertation. I would like to thank Ms. Quoc Le for his in-depth discussion with me when I was searching for a solution to tackle this research problem. Then, I want to express my appreciation and special thank to BkProfile team, particularly Anh Nguyen, Vi Nguyen and Khanh Ha who have supported me in implementing ExpertRank on Hadoop MapReduce. Finally, I want to send many heartfelt thanks to School of Information & Communication Technology, under Hanoi University of Science & Technology, for the knowledge, skills and spirit I have been learning there. Pham Tuan Long . CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG ──────── * ─────── ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC NGÀNH CÔNG NGHỆ THÔNG TIN ĐÁNH GIÁ CHUYÊN MÔN NGƯỜI DÙNG TRONG CÁC HỆ THỐNG HỎI ĐÁP: THIẾT KẾ VÀ CÀI ĐẶT Sinh. chuyên môn người dùng trong các hệ thống hỏi đáp, ứng dụng cụ thể vào mạng cộng đồng chia sẻ tri thức BkProfile. 3. Các nhiệm vụ cụ thể của ĐATN − Nghiên cứu các hệ thống hỏi đáp trên thế giới và. trong việc đánh giá chuyên môn của người dùng. Thiết kế một thuật toán đánh giá có khả năng mở rộng cho các hệ thống cỡ lớn và phải phù hợp với môi trường cụ thể của BkProfile. Cài đặt và triển