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,83 MB
Nội dung
ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Nguyễn Song Hà HỆTHỐNGTƯVẤNWEBSITECHOMÁYTÌMKIẾMDỰATRÊNKHAIPHÁQUERYLOG KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Công nghệ Thông tin Hà Nội - 2009 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Nguyễn Song Hà HỆTHỐNGTƯVẤNWEBSITECHOMÁYTÌMKIẾMDỰATRÊNKHAIPHÁQUERYLOG KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Công nghệ Thông tin Cán bộ hướng dẫn: PGS.TS Hà Quang Thuỵ Cán bộ đồng hướng dẫn: Th.S Nguyễn Thu Trang Hà Nội - 2009 HÀ NỘI - 200<số cuối của năm bảo vệ KLTN> (chữ hoa, 12pt, đậm, căn giữa) Lời cảm ơn Trước tiên, tôi xin gửi lời cảm ơn và lòng biết ơn sâu sắc nhất tới Phó Giáo sư Tiến sĩ Hà Quang Thụy và Thạc sỹ Nguyễn Thu Trang, người đã tận tình chỉ bảo và hướng dẫn tôi trong suốt quá trình thực hiện khoá luận tốt nghiệp. Tôi chân thành cảm ơn các thầy, cô đã tạo cho tôi những điều kiện thuận lợi để học tập và nghiên cứu tại trường Đại Học Công Nghệ. Tôi cũng xin gửi lời cảm ơn tới các anh chị và các bạn sinh viên trong nhóm ―Khai phá dữ liệu‖ đã giúp tôi rất nhiều trong việc thu thập và xử lý dữ liệu. Cuối cùng, tôi muốn gửi lời cảm vô hạn tới gia đình và bạn bè, những người thân yêu luôn bên cạnh và động viên tôi trong suốt quá trình thực hiện khóa luận tốt nghiệp. Tôi xin chân thành cảm ơn ! Sinh viên Nguyễn Song Hà i Tóm tắt nội dung Hệtưvấn (recommender system) đã trở thành một trong những lĩnh vực nghiên cứu quan trọng kể từ khi bài báo đầu tiên về lọc cộng tác (collaborative filtering) xuất hiện vào giữa những năm 1990. Hiện nay, sự quan tâm đối với hệtưvấn đang rất cao vì sự cần thiết của những ứng dụng có thể giúp người dùng xử lý với tình trạng quá tải thông tin & đưa ra những nội dung hoặc lời khuyên phù hợp cho từng cá nhân. Một vài ứng dụng nổi tiếng như: hệtưvấn sách, CDs của Amazon.com, hệtưvấn phim của MovieLens… Nhưng so với sách, phim… thì số lượng website bùng nổ mỗi ngày còn lớn hơn rất nhiều. Khóa luận đề xuất phương pháp xây dựng một hệthốngtưvấnwebsitedựatrên việc khaipháquery logs của máytìm kiếm. Các website được tưvấn là kết quả có được dựatrên phân tích những lựa chọn của hàng nghìn người dùng trước đó. Thực nghiệm ban đầu của hệthốngcho kết quả khá tốt. ii Mục lục Tóm tắt nội dung i Mục lục ii Danh sách bảng iv Danh sách hình vẽ v Lời mở đầu 1 Chương 1. Tổng quan về hệtưvấn 3 1.1. Giới thiệu về hệtưvấn 3 1.2. Bài toán tưvấn 4 1.3. Phân loại hệtưvấn 5 1.3.1. Phương pháp dựatrên nội dung 5 1.3.2. Phương pháp cộng tác 7 1.3.3. Phương pháp lai ghép 10 1.4. Sơ bộ về hệtưvấn trong khóa luận 12 Chương 2. Bài toán khaipháquerylog và ứng dụng 14 2.1. Cấu trúc querylog 14 2.2. Khaipháquerylog 16 2.2.1. Một số dạng thống kê 16 2.2.2. Khaiphá luật 20 2.3. Ứng dụng của khaipháquerylog 22 Chương 3. Mô hình 24 3.1. Các công trình liên quan 24 3.1.1. Phân cụm query 24 3.1.2. Phân tích chủ đề ẩn 27 3.2. Mô hình 31 3.2.1. Mô hình tổng quan 31 3.2.2. Phần xử lý ngoại tuyến 33 iii 3.2.3. Phần xử lý online 34 Chương 4. Thực nghiệm và đánh giá 36 4.1. Môi trường 36 4.2. Dữ liệu và công cụ 36 4.3. Thực nghiệm 38 4.3.1. Lọc nội dung query 38 4.3.2. Xử lý offline 39 4.3.3. Xử lý online 41 4.4. Đánh giá 42 Kết luận và định hướng 44 Tài liệu tham khảo 45 Tiếng việt 45 Tiếng Anh 45 iv Danh sách bảng Bảng 1. Đánh giá của người dùng về một số bộ phim đã xem 5 Bảng 2. Ba phương pháp tưvấn 12 Bảng 3. Thống kê sơ bộ trênquerylog của AOL 16 Bảng 4. Thống kê sơ bộ trênquerylog của AltaVista 17 Bảng 5. Phân loại query dài trong MSN log 17 Bảng 6. Những từ được tìm nhiều nhất trên Google 18 Bảng 7. Phân loại chủ đề query của AOL 20 Bảng 8. Phân loại chủ đề query của Excite 20 Bảng 9. Môi trường thực nghiệm 36 Bảng 10. Một số từ khóa liên quan tới miền sản phẩm điện tử 38 Bảng 11. Tổng hợp thực nghiệm phân cụm query 41 Bảng 12. Bảng kết quả thực nghiệm 43 v Danh sách hình vẽ Hình 1. Giải thưởng 1 triệu USD của Netflix 3 Hình 2. Ba hội nghị của ACM về hệtưvấn được tổ chức ở châu Âu và Mỹ 3 Hình 3. Tưvấndựatrên nội dung 6 Hình 4. Tưvấndựatrên cộng tác 8 Hình 5. Một phần querylog của AOL 14 Hình 6. Cấu trúc log của Google 14 Hình 7. Tỉ lệ từ/query trong querylog của AltaVista 17 Hình 8. Tỉ lệ lặp lại query trong log của AltaVista 18 Hình 9. Phân bố query trong ngày của AOL 19 Hình 10. Số query trong một phiên trong querylog của AltaVista 19 Hình 11. Khaiphá luật trong querylog 21 Hình 12. Quan hệ giữa 2 query cùng click 1 url 24 Hình 13. Quan hệ giữa 2 url được click bởi cùng 1 query 25 Hình 14. Đồ thị phân đôi query – url 25 Hình 15. Hai query có chứa từ tương tự nhau 26 Hình 16. Tiến trình sinh văn bản LDA 29 Hình 17. Kí hiệu khối lặp lại 29 Hình 18. Mô hình LDA 30 Hình 19. Sơ đồ hệthốngtưvấnwebsite 32 Hình 20. 3 bước xử lý ngoại tuyến 33 Hình 21. 3 bước xử lý trực tuyến 34 Hình 22. Sử dụng quan hệ giữa các query để tính hạng url 36 Hình 23. Querylog của MSN 37 Hình 24. Phân bố chiều dài query trong MSN log 37 1 Lời mở đầu Trong thời đại bùng nổ thông tin, khi người dùng thường bị ngập trong khối lượng thông tin khổng lồ thì hệtưvấn ngày càng có vai trò quan trọng. Có khá nhiều hệthốngtưvấn nổi tiếng, nhưng hầu hết chỉ tập trung vào một số lĩnh vực hẹp như: sách, phim, ca nhạc…Các hệthống đó thường dựa vào đánh giá của các chuyên gia (reviewer) với những bộ tiêu chuẩn cụ thể, hoặc dựatrên việc chấm điểm sản phẩm bởi người dùng. Nhưng các lĩnh vực trong cuộc sống rất phong phú, số lượng chủng loại sản phẩm rất lớn. Để có hệtưvấndựatrên chuyên gia hay những bộ tiêu chuẩn cụ thể như vậy trên mọi lĩnh vực, mọi sản phầm là điều không thể. Khi cần tìmthông tin về một sản phẩm nào đó, giải pháp được hầu hết người dùng sử dụng là đưa câu hỏi vào máytìmkiếm thay vì tìm đến những website/forum chuyên ngành. Tuy nhiên, máytìmkiếm không phải lúc nào cũng hiệu quả. Máytìmkiếm chỉ có thể đưa ra một danh sách các lựa chọn (có thể lên đến hàng triệu) chứ không thể nói được lựa chọn nào là tốt nhất. Ví dụ, một du khách lần đầu đến Hà Nội, muốn tìm khách sạn bằng query: “hanoi hotel”, sẽ nhận được từ Google gần hai triệu kết quả trả về. Hầu hết mọi khách sạn trong danh sách kết quả đều xa lạ và tự quảng cáo mình là tốt nhất, làm cho du khách bối rối trong biển thông tin. Không thể có thời gian để tìm hiểu lại về từng khách sạn (dù chỉ là trong 10-20 kết quả đầu); người khách cần lời khuyên cho trường hợp này. Những nhu cầu như vậy có thể bắt gặp rất nhiều trong cuộc sống hàng ngày, ngay cả khi người ta tìmkiếm những sản phầm đơn giản như một chiếc đầu DVD, một hãng sơn, một công ty taxi …, mà vì không có thông tin nên với họ mọi thương hiệu đều như nhau. Cần có một phương pháp có thể đưa ra gợi ý, tưvấncho người dùng đủ tốt để áp dụng cho những chủ đề rất đa dạng của cuộc sống. Một giải pháp rất tốt và hiệu quả là gợi ý dựatrên chính kinh nghiệm của những người đã từng tìm về chủ đề này trước đó. Những thông tin được lưu lại trong log của máytìmkiếm sẽ cho biết những người tìm về chủ đề đó thường hay truy cập vào website nào. Những website này đã qua hai lần ―lọc‖, một của máytìmkiếm và một của người dùng (không phải ngẫu nhiên mà nhiều người dùng lại có cùng một lựa chọn). Đôi khi những kết quả này còn tốt hơn cả kết quả máytìmkiếm trả lại. Ví dụ: những website tin tức lớn,được nhiều người tìm & truy cập nhất của Vietnam như: VnExpress, Vietnamnet, Dân Trí… đều không xuất hiện trong top 10 khi tìm “vietnam news” trên cả Yahoo & Live Search (phiên bản mới của MSN). 2 Vì lí do đó, khóa luận đề xuất việc xây dựng một hệthốngtưvấnwebsitechomáytìmkiếmdựatrênkhaipháquery log. Bài toán khaipháquery logs là bài toán phải xử lý khối lượng dữ liệu rất lớn (lên tới hàng gigabyte) nên việc chọn được một thuật toán tốt và hiệu quả về thời gian là rất khó khăn. Hệthống này được phát triển từ đề tài nghiên cứu khoa học về hệtưvấnwebsite của nhóm chúng tôi [1] (thuộc phòng thí nghiệm Sislab – đại học Công Nghệ). [1] tập trung vào việc thống kê website và khaiphá mẫu có thứ tự (tìm ra quy luật giữa từ khóa trong query và url được click) để đưa ra tư vấn. Khác với [1], hệthống được đề xuất trong khóa luận tập trung vào việc xác định tập website có giá trị và xếp hạng lại chúng theo query người dùng đưa vào. Ý tưởng chính của hệthống gồm ba bước: Bước một: nhóm các query tương đồng vào các cụm. Mỗi cụm tương ứng với một chủ đề. Bước hai: tìm ra tập những website (url) tốt, đại diện cho từng cụm. Tập website này gọi là tập websitetư vấn. Bước ba: khi người dùng đưa vào một query mới, query này sẽ được phân cụm. Hệthống sẽ phân tích, và đưa ra các website trong tập websitetưvấn thích hợp nhất với query đó. Phần còn lại của khóa luận được chia thành bốn chương: Chương 1. Tổng quan về hệtưvấn: Trình bày những nội dung cơ bản về hệtưvấn (các hệthống nổi tiếng, mô tả bài toán tư vấn, phân loại các hệtưvấn theo phương pháp xây dựng). Giới thiệu hệtưvấnwebsite được xây dựng trong khóa luận. Chương 2. Khaipháquerylog và ứng dụng: Giới thiệu về cấu trúc querylog của máytìm kiếm, các thông tin có thể khai phá, phương pháp khaiphá và các ứng dụng của việc khaipháquery log. Chương 3. Hệthốngtưvấnwebsitechomáytìmkiếmdựatrênkhaipháquery log: Trình bày mô hình hệthốngtưvấnwebsite do chúng tôi đưa ra và các công trình liên quan. Chương 4. Thực nghiệm và đánh giá: Xây dựng, thử nghiệm và đánh giá hệthống với các query liên quan tới miền sản phẩm điện tử. Phần kết luận tổng kết nội dung chính của khóa luận, các vấn đề còn tồn tại và định hướng phát triển của hệ thống. [...]... đã đề xuất một phương pháp xếp hạng mới (Q-Rank) để xếp hạng lại (rerank) kết quả của máytìmkiếmdựatrên việc xác định ngữ cảnh của query nhờ querylogTưvấn website: Việc xây dựng hệ tưvấnwebsitechomáytìmkiếmdựatrênkhaipháquerylog đã được chúng tôi đề xuất trong nghiên cứu khoa học năm 2009 [1] Hệthống được xây dựng trong khóa luận là một bước phát triên của hệthống cũ 23 Chương 3... nhất hai phương pháp Bảng 2 Ba phương pháp tưvấn [4] 1.4 Sơ bộ về hệ tưvấn trong khóa luậnHệthống được xây dựng trong khóa luận là một hệ thốngtưvấn website Nhưng thay vì đứng như một ứng dụng riêng rẽ, hệthống sẽ được tích hợp ngay vào máytìmkiếm để trực tiếp đưa ra những tưvấn phù hợp với nội dung query của người dùng Phương pháp được sử dụng để đưa ra tưvấncho một query là dựa vào các lựa... và url được click được khai thác từquerylog của máytìmkiếm 13 Chương 2 Bài toán khaipháquerylog và ứng dụng 2.1 Cấu trúc querylogQuerylog bao gồm thông tin về những lượt tìmkiếm của người dùng được máytìmkiếm lưu lại Khác với server logthông thường, querylog có thêm thông tin về nội dung query và các website được người dùng click Mỗi máytìmkiếm có một cách lưu log khác nhau và thường... dùng để tưvấncho c Có rất nhiều hệthống cộng tác đã được phát triển như: Grundy, GroupLens (tin tức), Ringo (âm nhạc), Amazon.com (sách), Phoaks (web)… Các hệthống này có thể chia thành hai loại: dựatrên kinh nghiệm (heuristic-based hay memory-based) và dựatrên mô hình (model-based) 7 Hình 4 Tưvấndựatrên cộng tác [17] 1.3.2.1 Hệthống cộng tác dựatrên kinh nghiệm Các thuật toán dựatrên kinh... đánh giá cao o Lai ghép (hybrid): kết hợp cả phương pháp dựatrên 1.3.1 Phương pháp dựatrên nội dung Theo [4], với phương pháp tưvấndựatrên nội dung, độ phù hợp 𝑢( 𝑐, 𝑠) của sản phẩm s với người dùng c được đánh giá dựatrên độ phù hợp 𝑢( 𝑐, 𝑠 𝑖 ), trong đó si ϵ S và tư ng tự‖ như s Ví dụ, để gợi ý một bộ phim cho người dùng c, hệ thốngtưvấn sẽ tìm các đặc điểm của những bộ phim từng được c đánh... nhưng querylog thường có các trường sau: Query: Truy vấn mà người dùng gửi tới máytìmkiếm Ví dụ: “race cars”, “vietnam 14 landscape”, “swine flu” …Một số máytìmkiếm giới hạn số từ trong query (Google cho phép query dài tối đa 32 từ) Url được click và vị trí của url Địa chỉ url người dùng click và vị trí của nó (trường ItemRank của AOL query log) trong danh sách kết quả máytìmkiếm trả về cho query. .. từng tìm về chủ đề đó Vì thế, có thể xếp hệthống vào nhóm các hệtưvấn cộng tác (collaborative) Với hầu hết các hệ tưvấn cộng tác thường thấy, từng người dùng cụ thể được xác định rõ ràng (qua hồ sơ cá nhân) và các sản phẩm thường được người dùng đánh giá 12 trực tiếp (ví dụ: cho điểm) Nhưng trong hệtưvấnwebsitechomáytìm kiếm, cả hai việc trên đều không thể thực hiện được Hầu hết tất cả các máy. .. mà máy tính đọc được (như ontology) Ví dụ, hệthống Quickstep và Foxtrot sử dụng ontology về chủ đề của các bài báo khoa học để gợi ý những bài báo phù hợp cho người dùng Một vài bài báo như [9] đã thực hiện so sánh hiệu năng của hệthống lai ghép với các hệthốngdựatrên nội dung hoặc cộng tác thuần túy và cho thấy hệthống lai ghép có độ chính xác cao hơn 11 Các kĩ thuật sử dụng Phương pháp Dựa trên. .. mỗi ngày, điều này dẫn tới yêu cầu phải có các phương pháp tự động thu thập thông tin và đưa ra lời khuyên để hỗ trợ cho các phương pháp truyến thốngtrênHệtưvấn (recommender system) là một giải pháp như vậy Hệthống này đưa ra gợi ý dựatrên những gì người dùng đã làm trong quá khứ, hoặc dựatrên tổng hợp ý kiến của những người dùng khác Hệtưvấn đã trở thành một ứng dụng quan trọng và thu hút... nhưng lại có cùng mục đích tìm kiếm. Ví dụ: “đại học công nghệ” và “college of technology” cùng hướng tới trang coltech.vnu.edu.vn Một vài phương pháp phân cụm choquery được sử dụng trong máytìmkiếm (ví dụ, Encarta, AOL), dựatrên mối quan hệ giữa query và url được click: Phương pháp 1: Theo Beeferman trong [11], việc phân cụm được dựa vào hai nhận xét về quan hệ giữa query và url được click: o Nhận . query log của máy tìm kiếm, các thông tin có thể khai phá, phương pháp khai phá và các ứng dụng của việc khai phá query log. Chương 3. Hệ thống tư vấn website cho máy tìm kiếm dựa trên khai phá. TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Nguyễn Song Hà HỆ THỐNG TƯ VẤN WEBSITE CHO MÁY TÌM KIẾM DỰA TRÊN KHAI PHÁ QUERY LOG KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Công nghệ Thông tin . đề xuất phương pháp xây dựng một hệ thống tư vấn website dựa trên việc khai phá query logs của máy tìm kiếm. Các website được tư vấn là kết quả có được dựa trên phân tích những lựa chọn của