1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tiểu luận môn công nghệ tri thức HỆ THỐNG TÌM KIẾM ĐỒ THỊ THÔNG MINH TRÊN FACEBOOK

56 614 1

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 56
Dung lượng 6,55 MB

Nội dung

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN T NGUYỄN THÀNH ĐỆ CHUYÊN ĐỀ CÔNG NGHỆ TRI THỨC Đề Tài: HỆ THỐNG TÌM KIẾM ĐỒ THỊ THÔNG MINH TRÊN FACEBOOK Chuyên ngành: KHOA HỌC MÁY TÍNH Mã số: CH1101073 Niên Khóa: Khóa 6 KHÓA LUẬN TỐT NGHIỆP THẠC SĨ Báo cáo chuyên đề Công Nghệ Tri Thức Thaùng 10 – 2013 ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN T NGUYỄN THÀNH ĐỆ CHUYÊN ĐỀ CÔNG NGHỆ TRI THỨC Đề Tài: HỆ THỐNG TÌM KIẾM ĐỒ THỊ THÔNG MINH TRÊN FACEBOOK Chuyên ngành: KHOA HỌC MÁY TÍNH Mã số: CH1101073 Niên Khóa: Khóa 6 GVPT: GS.TSKH. Hoàng Văn Kiếm Hệ Thống Tìm Kiếm Đồ Thị Thông Minh Facebook – Nguyễn Thành Đệ – CH1101073 Trang 2 Báo cáo chuyên đề Công Nghệ Tri Thức Thaùng 10 – 2013 Mục Lục CHUYÊN CÔNG NGH TRI TH CĐỀ Ệ Ứ 1 CHUYÊN CÔNG NGH TRI TH CĐỀ Ệ Ứ 2 M c L cụ ụ 3 1.1.Gi i thi u và đ t v n đớ ệ ặ ấ ề 6 1.2.Lý do ch n đ tàiọ ề 8 1.3.M c tiêu c a chuyên đụ ủ ề 8 1.4.Ph m vi nghiên c u và ý ngh a th c t c a chuyên đạ ứ ĩ ự ế ủ ề 8 2.1. Tìm ki m theo chi u sâuế ề 9 2.2. Thu t toán tìm ki m theo chi u r ngậ ế ề ộ 10 3.1. Gi i thi uớ ệ 28 3.2. M c đích và M u tìm ki m Graph Search trên Facebookụ ẫ ế 29 3.2.1. M c đích c a Graph Search trên Facebookụ ủ 29 3.2.2. Mẫu m kiếm Graph Search của Facebook 29 3.3. ánh b ng x p h ng trên FacebookĐ ả ế ạ 30 3.4. Thi t l p riêng t trên công c tìm ki mế ậ ư ụ ế 32 3.5. M t vài m u truy v nộ ẫ ấ 35 3.6. T i u hóa th ng hi u c a b n trên tìm ki m đ th c a Facebookố ư ươ ệ ủ ạ ế ồ ị ủ 44 3.7. C s d li u đ th c a Facebookơ ở ữ ệ ồ ị ủ 48 4.1. K t lu nế ậ 53 4.2. Nh n xétậ 53 TÀI LI U THAM KH OỆ Ả 55 Danh mục các ký hiệu, các chữ viết tắt API: Application Programing Interface – giao diện lập trình ứng dụng TF-IDF: Term Frequency Inverse Document Frequency – Thuật toán tìm mức độ phổ biến của tài liệu THPT : Trung Học Phổ Thông TAO: Danh mục các hình vẽ, đồ thị Hình 1. Cơ sở dữ liệu Neo4j trang 16 Hình 2. Nút trang 17 Hình 3. Mối quan hệ của nút trang 17 Hệ Thống Tìm Kiếm Đồ Thị Thông Minh Facebook – Nguyễn Thành Đệ – CH1101073 Trang 3 Báo cáo chuyên đề Công Nghệ Tri Thức Hình 4. Quan hệ có hướng và kiểu quan hệ trang 18 Hình 5. Thuộc tính của cơ sở dữ liệu đồ thị trang 19 Hình 6. Đường đi(Paths) trang 20 Hình 7. Ví dụ truy vấn đồ thị trang 21 Hình 8. Kết quả tìm kiếm trang 22 Hình 9. Tìm nới yêu thích trang 23 Hình 10. Tìm người dựa trên sở thích trang 24 Hình 11. Nhóm và danh sách bạn bè trang 28 Hình 12. Dựa vào Tag trang 28 Hình 13. Mẫu tìm kiếm trên Facebook trang 31 Hình 14. Thiết lập tìm kiếm đồ thị trang 36 Hình 15. Thiết lập chó nhóm Basic Info và Work and Education trang 37 Hình 16. Mở rộng của việc tìm kiếm trang 37 Hình 17. Mở rộng của việc tìm kiếm 2 trang 37 Hình 18. Kết quả truy vấn 1 trang 39 Hình 19. Kết quả truy vấn 2 trang 40 Hình 20. Kết quả truy vấn 3 trang 41 Hình 21. Kết quả truy vấn 4 trang 42 Hình 22. Kết quả truy vấn 5 trang 43 Hình 23. Kết quả truy vấn 6 trang 44 Hình 24. Kết quả truy vấn 7 trang 45 Hình 25. Kết quả truy vấn 8 trang 46 Hình 26. Kết quả truy vấn 9 trang 46 Hình 27. Kết quả truy vấn 10 trang 47 Hình 28. Quảng cáo trên Graph Search trang 48 Hình 29. Quảng cáo trên Graph Search 2 trang 51 Hình 30. Mô hình cấu hình TAO của Facebook trang 52 Hình 31. Các mối quan hệ của Nút trang 53 Hình 32. Cấu hình TAO đa vùng trang 55 Hệ Thống Tìm Kiếm Đồ Thị Thông Minh Facebook – Nguyễn Thành Đệ – CH1101073 Trang 4 Báo cáo chuyên đề Công Nghệ Tri Thức HỆ THỐNG TÌM KIẾM ĐỒ THỊ THÔNG MINH TRÊN FACEBOOK MỞ ĐẦU Tìm kiếm thông tin trên internet là rất hữu ích cho mọi người trong xã hội. Giúp cho chúng ta có được thông tin một cách nhanh chóng nhất. Internet là kho lưu trữ thông tin khổng lồ của thế giới. Để có thể tìm kiếm thông tin một cách nhanh chóng mà không làm khó khăn cho người tìm kiếm. Các nhà Công nghệ thông tin đã cho ra đời hàng loạt các cổ máy tìm kiếm thông tin rất hiệu quả như Google, Yahoo, Bing, Ask.com… Tuy nhiên, việc tìm kiếm trên các cổ máy tìm kiếm đó vẫn cho ra những kết quả sai lệch và số lượng kết quả tìm kiếm là quá lớn. Việc lục lội, tìm kiếm trên đống kết quả đó gây khó khăn không nhỏ đối với người tìm kiếm thông tin. Như vậy, nhu cầu tìm kiếm thông tin chính xác của con người là vô cùng cần thiết. Do đó, cổ máy tìm kiếm thông tin ngữ nghĩa đã ra đời để đáp ứng nhu cầu đó. Một cổ máy tìm kiếm thông tin theo đồ thị, đó là tìm kiếm Hệ Thống Tìm Kiếm Đồ Thị Thông Minh Facebook – Nguyễn Thành Đệ – CH1101073 Trang 5 Báo cáo chuyên đề Công Nghệ Tri Thức thông tin đồ thị Facebook. Hiện nay, tuy tìm kiếm đồ thị của Facebook không thể thay thế các cổ máy tìm kiếm như Google, Yahoo, Ask.com, Bing… nhưng nó vẫn có tính hữu quả nhất định trong việc tìm kiếm thông tin theo ngữ nghĩa trên mạng xã hội Facebook. Nó giúp người dùng có một hướng tìm kiếm mới, đó là tìm kiếm theo ngữ nghĩa. Em xin chân thành cảm ơn thầy GS.TSKH. Hoàng Văn Kiếm – Giảng viên chuyên đề Công nghệ tri thức đã nhiệt tình giảng dạy để truyền đạt những kiến thức vô cùng quý báu, xin chân thành cám ơn ban cố vấn học tập và ban quản trị chương trình đào tạo thạc sĩ Công nghệ thông tin qua mạng của Đại Học Quốc Gia TPHCM đã tạo điều kiện về tài liệu tham khảo để em có thể hoàn thành chuyên đề này. Em xin chân thành cảm ơn Nguyễn Thành Đệ CHƯƠNG 1. TỔNG QUAN 1.1. Giới thiệu và đặt vấn đề Tìm kiếm ngữ nghĩa là một khái niệm mà đã được biết đến từ lâu trong tin học, nhưng các ứng dụng của nó đến bây giờ mới thật sự thấy rõ. Mặc dù các hệ thống tìm kiếm lớn như Google, Yahoo, Bing, Ask.com rất hiệu quả trong việc giúp người dùng thu thập thông tin như chúng vẫn thực sự chưa hiệu quả với việc tìm kiếm theo ngữ nghĩa. Ví dụ, chúng ta nhập một đoạn tìm kiếm sau vào google “bố của thủ tướng Nguyễn Tấn Dũng”, ta nhận được một danh sách kết quả khoảng 2.810.000 kết quả liên quan đến thông tin tìm kiếm này. Chúng ta cũng nhận kết quả tương tự khi sử Yahoo, Bing, Ask.com để tìm kiếm cụm từ trên. Như vậy kết quả này quả thật là thiếu chính xác và không hiệu quả, làm hoang mang tâm lý người tìm kiếm thống tin, việc thu thập thông tin vô cùng khó khăn. Hệ Thống Tìm Kiếm Đồ Thị Thông Minh Facebook – Nguyễn Thành Đệ – CH1101073 Trang 6 Báo cáo chuyên đề Công Nghệ Tri Thức Tìm kiếm theo ngữ nghĩa giúp cho chúng ta có một kết quả chính xác hơn rất nhiều. Và kỹ thuật này đã được áp dụng trong Facebook, mà Facebook gọi đó là Graph Search. Graph Search là gì? Là một công nghệ của Facebook để tìm kiếm người và vật mà được kết nối trong mạng xã hội. Mục đích của Graph Search trên Facebook: - Tìm người mà có cùng sở thích với bạn - Khám phá thế giới qua ảnh - Khám phá nhà hàng,shop, cafes, âm nhạc và nhiều hơn thế nữa Để thực hiện được việc tìm kiếm theo ngữ nghĩa trên xã hội. Thì chúng ta phải có một kỹ thuật lưu trữ dữ liệu hợp lý, dữ liệu đó phải có kết nối với nhau và đảm bảo được hiệu năng và hiệu quả của việc tìm kiếm. Như chúng ta đã biết các kỹ thuật lưu trư như lưu trữ bằng tập tin, bằng cơ sở dữ liệu quan hệ, bằng cơ sở dữ liệu không quan hệ(NOSQL), lưu trữ dạng Key-Value[6] và bây giờ là lưu trữ dạng đồ thị. Việc lưu trữ các dữ liệu có kết nối chỉ hiệu quả nhất khi chúng ta chọn cơ sở dữ liệu đồ thị để lưu trữ. Và lúc này, các thuật toán đồ thị chúng ta rất dễ dàng để áp dụng, việc tìm kiếm ngữ nghĩa trên dữ liệu có kết nối có tính hiệu quả rất cao trên cơ sở dữ liệu đồ thị. Hiệu năng thực hiện các câu truy vấn nhanh hơn rất nhiều so với các cơ sở dữ liệu khác. Trong chuyên đề này, em rất tâm đắc với việc trình bày cơ sở dữ liệu đồ thị trên mạng xã hội và các thuật toán tìm kiếm trên nó cụ thể là cơ sở dữ liệu Neo4j[9]. Sau đó em sẽ trình bày chi tiết về công cụ tìm kiếm đồ thị của Facebook , tối ưu hóa các trang để tốt cho việc tìm kiếm và công cụ và kỹ thuật quản lý dữ liệu TAO[4-10] của Facebook. Hệ Thống Tìm Kiếm Đồ Thị Thông Minh Facebook – Nguyễn Thành Đệ – CH1101073 Trang 7 Báo cáo chuyên đề Công Nghệ Tri Thức 1.2. Lý do chọn đề tài Tìm kiếm theo ngữ nghĩa trên các hệ thống tìm kiếm là vô cùng hữu ích cho chúng ta. Giúp cho chúng ta có một kết quả tìm kiếm nhanh chóng và chính xác, việc thu thập thông tin được nhanh hơn và chính xác hơn. Em chọn đề tài này là muốn giới thiệu đến chúng ta một kỹ thuật tìm kiếm như vậy, mặc dù chúng ta đã biết kỹ thuật này từ lâu trong quá trình học, nhưng lại chưa thấy rõ các ứng dụng mạnh mẽ của nó vào thế giới internet. 1.3. Mục tiêu của chuyên đề Mục tiêu của chuyên đề là nghiên cứu cơ sở dữ liệu đồ thị, tìm kiếm đồ thị và ứng dụng đồ thị. Nghiên cứu hệ thống tìm kiếm đồ thị trên Facebook và cách sử dụng công cụ tìm kiếm ngữ nghĩa hiệu quả. 1.4. Phạm vi nghiên cứu và ý nghĩa thực tế của chuyên đề Đề tài giới hạn trong phạm vi của các kỹ thuật tìm kiếm trên đồ thị, cơ sở dữ liệu Neo4j và phép duyệt đồ thị trên Neo4j[9]. Các kỹ thuật tìm kiếm trên hệ thống tìm kiếm Facebook, cơ sở quản lý dữ liệu bằng TAO[4-11] của Facebook. Chuyên đề có ý nghĩa giúp cho các nhà tin học có cái nhìn tổng quát về cơ sở dữ liệu đồ thị và ứng dụng đồ thị. Hướng dẫn cho chúng ta sử dụng các công cụ tìm kiếm theo ngữ nghĩa nói chung và hệ thống tìm kiếm đồ thị của Facebook nói riêng một cách dễ dàng và chính xác. Đề tài này cũng giúp ích cho các doanh nghiệp, các nhà kinh doanh, các nhà tuyển dụng, các nhà marketing tìm thấy những lợi ích của mình trên các hệ thống tìm kiếm của mạng xã hội như Facebook nói riêng và hệ thống tìm kiếm ngữ nghĩa nói chung. CHƯƠNG 2. CÁC THUẬT TOÁN ĐỒ THỊ VÀ CƠ SỞ DỮ LIỆU ĐỒ THỊ NEO4J Hệ Thống Tìm Kiếm Đồ Thị Thông Minh Facebook – Nguyễn Thành Đệ – CH1101073 Trang 8 Báo cáo chuyên đề Công Nghệ Tri Thức Trong chương này em sẽ giới thiệu một vài thuật toán tìm kiếm đồ thị[7] mà em được biết và ứng dụng của thuật toán đồ thị trong cơ sở dữ liệu đồ thị Neo4j. Mặc dù, Facebook cũng đã công bố các kỹ thuật quản lý dữ liệu đồ thị trên mạng xã hội của công ty này nhưng Neo4j là một cơ sở dữ liệu tiêu biểu cho cơ sở dữ liệu đồ thị. 2.1. Tìm kiếm theo chiều sâu Tư tưởng chính là Giả sử chúng ta đang xét trên đồ thị G(V,E). Từ một đỉnh u €V hiện thời nào đó ta sẽ thăm tới đỉnh kề v của u và quá trình được lặp lại đối với đỉnh v. ở bước tổng quát, giả sử hiện tại đang xét đỉnh u 0 , chúng ta sẽ có hai khả năng sẽ xảy ra: - Nếu như tồn tại một đỉnh v 0 kề với u 0 mà chưa được thăm thì đỉnh v 0 đó sẽ trở thành đỉnh đã thăm và quá trình tìm kiếm lại bắt đầu từ đỉnh v 0 đó. - Ngược lại, nếu mọi đỉnh kề với u 0 đều đã thăm thì ta sẽ quay trở lại đỉnh mà trước đó ta đến đỉnh u 0 để tiếp tục quá trình tìm kiếm. Như vậy, trong quá trình thăm đỉnh bằng thuật toán tìm kiếm theo chiều sâu, đỉnh được thăm càng muộn càng sớm được duyệt xong (Cơ chế Last In First Out - Vào sau ra trước). Do đó, ta có thể tổ chức quá trình này bằng một thủ tục đệ quy như sau: Procedure DFS(u); Begin Visit(u); Daxet[u]:=True; For v Kề(u do if not Daxet[v] then DFS(v); End; Hệ Thống Tìm Kiếm Đồ Thị Thông Minh Facebook – Nguyễn Thành Đệ – CH1101073 Trang 9 Báo cáo chuyên đề Công Nghệ Tri Thức Và thủ tục duyệt hệ thống toàn bộ đỉnh của đồ thị sẽ là: Procedure Find; Begin Fillchar(Daxet,SizeOf(Daxet),False); For u V do If not Daxet[u] then DFS(u); End; Dễ nhận thấy rằng, mỗi lần gọi DFS(u) thì toàn bộ các đỉnh cùng thành phần liên thông với u sẽ được viếng thăm. Thủ tục Visit(u) là thao tác trên đỉnh u trong từng bài toán đặt ra cụ thể. 2.2. Thuật toán tìm kiếm theo chiều rộng Thuật toán này thực ra là sự cải biến về thứ tự duyệt đỉnh trên đồ thị của tìm kiếm theo chiều sâu bằng cách thay vì dùng một STACK thì ta lại dùng một hàng đợi QUEUE để kết nạp đỉnh được thăm. Như vậy, đỉnh được thăm càng sớm sẽ càng sớm trở thành duyệt xong (cơ chế First In First Out - Vào trước ra trước). Thủ tục được mô tả dưới đây: Procedure BFS(u); Begin Queue:=Empty Kết nạp u vào Queue; Daxet[u]:=True; While Queue<>Empty do Begin Lấy v từ Queue; Visit(v); For w Kề(v) do Hệ Thống Tìm Kiếm Đồ Thị Thông Minh Facebook – Nguyễn Thành Đệ – CH1101073 Trang 10 [...]... sau: Hệ Thống Tìm Kiếm Đồ Thị Thông Minh Facebook – Nguyễn Thành Đệ – CH1101073 Trang 27 Báo cáo chuyên đề Công Nghệ Tri Thức CHƯƠNG 3 CÔNG CỤ TÌM KIẾM ĐỒ THỊ THÔNG MINH TRÊN FACEBOOK 3.1 Giới thiệu Graph Search là công nghệ của facebook để tìm kiếm người và vật mà được kết nối trong mạng xã hội[2-10] Graph Search Facebook là máy tìm kiếm ngữ nghĩa(sematic search engine), cho phép người dùng tìm kiếm. .. người yêu thích Hệ Thống Tìm Kiếm Đồ Thị Thông Minh Facebook – Nguyễn Thành Đệ – CH1101073 Trang 23 Báo cáo chuyên đề Công Nghệ Tri Thức - Tìm kiếm người dựa trên sở thích Đồ thị sau: Hình 10 Tìm người dựa trên sở thích Tìm kiếm những bạn mới dựa trên danh sách ưu thích của họ như “person” Câu truy vấn như sau: START me=node:node_auto_index(name = "Joe") Hệ Thống Tìm Kiếm Đồ Thị Thông Minh Facebook – Nguyễn... các nhóm còn lại trên thiết lập này Thiết lập này giúp chúng ta giới hạn được kết quả tìm kiếm, chất lượng tìm kiếm sẽ nâng cao hơn Hệ Thống Tìm Kiếm Đồ Thị Thông Minh Facebook – Nguyễn Thành Đệ – CH1101073 Trang 32 Báo cáo chuyên đề Công Nghệ Tri Thức Hình 14 Thiết lập tìm kiếm đồ thị Hình 15 Thiết lập cho nhóm BASIC INFO và WORK AND EDUCATION Hệ Thống Tìm Kiếm Đồ Thị Thông Minh Facebook – Nguyễn... của tất cả các nhóm Hệ Thống Tìm Kiếm Đồ Thị Thông Minh Facebook – Nguyễn Thành Đệ – CH1101073 Trang 20 Báo cáo chuyên đề Công Nghệ Tri Thức Trong Cypher: START refNode=node(16) MATCH refNoderoot, p=root . 55 Hệ Thống Tìm Kiếm Đồ Thị Thông Minh Facebook – Nguyễn Thành Đệ – CH1101073 Trang 4 Báo cáo chuyên đề Công Nghệ Tri Thức HỆ THỐNG TÌM KIẾM ĐỒ THỊ THÔNG MINH TRÊN FACEBOOK MỞ ĐẦU Tìm kiếm thông. máy tìm kiếm thông tin theo đồ thị, đó là tìm kiếm Hệ Thống Tìm Kiếm Đồ Thị Thông Minh Facebook – Nguyễn Thành Đệ – CH1101073 Trang 5 Báo cáo chuyên đề Công Nghệ Tri Thức thông tin đồ thị Facebook. . QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN T NGUYỄN THÀNH ĐỆ CHUYÊN ĐỀ CÔNG NGHỆ TRI THỨC Đề Tài: HỆ THỐNG TÌM KIẾM ĐỒ THỊ THÔNG MINH TRÊN FACEBOOK Chuyên ngành: KHOA

Ngày đăng: 04/07/2015, 03:33

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w