Phương pháp hệ chuyêngia: phương pháp này khác với khai phá dữ liệu ở chỗ các ví dụ của chuyên gia thường ở mức chất lượng cao hơn nhiều so với các dữ liệu trong CSDL, và chúng thường ch
Trang 1CHƯƠNG TRÌNH ĐẠO TẠO THẠC SĨ CNTT QUA MẠNGNG TRÌNH Đ O T O TH C SĨ CNTT QUA M NGẠO TẠO THẠC SĨ CNTT QUA MẠNG ẠO TẠO THẠC SĨ CNTT QUA MẠNG ẠO TẠO THẠC SĨ CNTT QUA MẠNG ẠO TẠO THẠC SĨ CNTT QUA MẠNG
BÀI THU HOẠCH MÔN HỌC
CÔNG NGHỆ TRI THỨC VÀ ỨNG DỤNG
Đề tài:
Data mining và social network
Sinh viên thực hiện: Nguyễn Thị Phúc Triêm
Mã số: CH1101051
TP HCM, năm 2012
Trang 3Lời nói đầu
Từ sự xuất hiện cách mạng thông tin, cách mạng tri thức và sự bùng nổ công nghệ cao, con người cần luôn đổi mới, phát huy mạnh mẽ năng lực sáng tạo để luôn đổi mới quốc gia, hội nhập vào nền kinh tế, tri thức toàn cầu Vì tài nguyên là có hạn, năng lực sáng tạo của con người
là vô hạn do đó phải dựa chủ yếu và nguôn sáng tạo của con người để phát triển nền tri thức của nhân loại và toàn cầu
Việc áp dụng công nghệ tri thức vào các ứng dụng của con người là vô cùng quan trọng, không những nâng cao chất lượng cuộc sống mà còn thúc đẩy sự phát triển của nền kinh tế, ngănchặn khủng hoảng Trong xu thế phát triển chung đó em xin trình bày phần tìm hiểu nhỏ của mình trong việc khai phá dữ liệu thuộc lĩnh vực mạng xã hội
Chúng em xin được gửi lời cám ơn chân thành đến Giáo sư-Tiến sỹ khoa học Hoàng VănKiếm, người đã tận tâm truyền đạt những kiến thức nền tảng cơ bản cho chúng em về môn học
“Phương pháp nghiên cứu khoa học trong tin học” Xin 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 Thành phố Hồ Chí Minh đã tạo điều kiện cho chúng em hoàn thành tốt môn học
Trang 4I Data mining và tầm quan trọng
1 Data mining
Khai phá dữ liệu (Data mining) là việc phân tích dữ liệu đã có (thường là lớn) để tìm ra các mối liên hệ tiềm ẩn (unsuspected) và tóm tắt dữ liệu theo các cách mới mà vừa dễ hiểu, vừa hữu ích cho người sở hữu dữ liệu
Các mối liên hệ và các tóm tắt thu được thông qua data mining thường gọi là các mô hình(models) nếu chúng khái quát hóa toàn bộ các đối tượng dữ liệu hoặc gọi là mẫu hình
(patterns) nếu chúng chỉ đặc trưng cho một bộ phận các đối tượng dữ liệu Ví dụ như
phương trình tuyến tính, các quy tắc, các cụm, đồ thị, cây cấu trúc
2 Các bước thực hiện data mining
Làm sạch dữ liệu (data cleaning): loại bỏ nhiễu hoặc các dữ liệu không thích hợp
Tích hợp dữ liệu (data integration): tích hợp dữ liệu từ các nguồn khác nhau như: CSDL, Kho dữ liệu, filetext
Chọn dữ liệu (data selection): ở bước này, những dữ liệu liên quan trực tiếp đến nhiệm vụ
sẽ được thu thập từ các nguồn dữ liệu ban đầu
Chuyển đổi dữ liệu (data transformation): trong bước này, dữ liệu sẽ được chuyển đổi về dạng phù hợp choviệc khai phá bằng cách thực hiện các thao tác nhóm hoặc tập hợp
Khai phá dữ liệu (data mining): là giai đoạn thiết yếu, trong đó các phương pháp thông minh sẽ được áp dụngđể trích xuất ra các mẫu dữ liệu
Đánh giá mẫu (pattern evaluation): đánh giá sự hữu ích của các mẫu biểu diễn tri thức dựa vào một số phép đo
Trình diễn dữ liệu (knowlegde presentation): sử dụng các kĩ thuật trình diễn và trực quan hoá dữ liệu để biểudiễn tri thức khai phá được cho người sử dụng Khai phá dữ liệu là một lĩnh vực liên quan tới rất nhiều ngành họckhác như: hệ CSDL, thống kê, trực quan hóa Hơn nữa, tuỳ vào cách tiếp cận được sử dụng, khai phá dữ liệu còn có thể áp dụng một số kĩ thuật như mạng nơron, lí thuyết tập thô hoặc tập mờ, biểu diễn tri thức… So
Trang 5CSDL chứa nhiều nhiễu, dữ liệu không đầy đủ hoặc biến đổi liên tục Trong khi đó phương pháp học máychủ yếu được áp dụng trong các CSDL đầy đủ, ít biến động và tập
dữ liệu không quá lớn Phương pháp hệ chuyêngia: phương pháp này khác với khai phá
dữ liệu ở chỗ các ví dụ của chuyên gia thường ở mức chất lượng cao hơn nhiều so với các
dữ liệu trong CSDL, và chúng thường chỉ bao hàm được các trường hợp quan trọng Hơn nữa các chuyên gia sẽ xác nhận giá trị và tính hữu ích của các mẫu phát hiện được
Phương pháp thống kê là một trongnhững nền tảng lí thuyết của Khai phá dữ liệu, nhưng khi so sánh hai phương pháp với nhau ta có thể thấy cácphương pháp thống kê còn tồn tạimột số điểm yếu mà Khai phá dữ liệu đã khắc phục được: Các phương phápthống kê chuẩn không phù hợp với các kiểu dữ liệu có cấu trúc trong rất nhiều các CSDL Các phương pháp thốngkê hoạt động hoàn toàn theo dữ liệu, nó không sử dụng tri thức sẵn có
về lĩnh vực Kết quả phân tích của thốngkê có thể sẽ rất nhiều và khó có thể làm rõ được Phương pháp thống kê cần có sự hướng dẫn của người dùng để xác định phân tích dữ liệunhư thế nào và ở đâu…
3 Tầm quan trọng
Ứng dụng của data mining rất đa dạng và rộng lớn, từ marketing, chống gian lận, giảm giá thành sản xuất, tăng doanh thu, phân tích hành vi sử dụng người dùng internet để đáp ứng đúng nhu cầu, đúng đối tượng, hay ứng dụng hỗ trợ ra quyết định, nghiên cứu khoa học đến việc chống khủng bố…
Tự động hóa việc dự doán các xu thế và hành vi sẽ diễn ra trong tương lai: Data mining
tự động hóa quá trình tìm kiếm và trích xuất các tập thông tin có mối quan hệ hoặc tương quan trong một tập dữ liệu cực lớn.Những vấn đề/câu hỏi đặt ra với các cách truyền thống đòi hỏi một quá trình rất phức tạp và tốn kém cả vềtài chính và thời gian để giải đáp thì giờ có thể trả lời một cách nhanh chóng trong khi giá thành là thấp nhất Một ví
dụ đơn giản trong quảng cáo online là quá trình targeting, khi một người dùng click vào một banner quảng cáo bán giầy dành cho nữ giới, thì khả năng người đó là nữ và họ đang quan tâm đến đôi giầy đó, khi hệ thống nhận diện được điều này thì có thể target thêm các kiểu dáng giầy khác nhau, kích cỡkhác nhau, giá thành khác nhau với mục tiêu là người dùng sẽ kết thúc quá trình là mua một đôi giày, ngoài ra bởi vì hệ thống nhận diện
Trang 6người dùng là phụ nữ nên nó có thể quảng cáo thêm các sản phẩm khác nhưmỹ phẩm, quần áo v.v
Tự động hóa việc khám phá/nhận diện ra những tập thông tin quá khứ mà hệ thống không/chưa biết: Công cụ data mining trong quá trình phân tích dữ liệu sẽ nhận diện ra nhưng tập thông tin/dữ liệu không có hoặc bị ẩn bởi những mối liên hệ mà được xác định trước Ví dụ như trong việc bán hàng, có những sản phẩm không có mối liên hệ gì với nhau, nhưng lại hay bán được cùng nhau, từ đó đưa ra cơ chế recommendation Hay cơ chế nhận diện giao dịch gian lận trong thanh toán điện tử dựa vào việc phân tích các giao dịch bất thường…
Ngày nay, các công nghệ data mining được ứng dụng rộng rãi trong các công ty lấy khách hàng làm trungtâm như truyền thông, tài chính, marketing, bán hàng, các nghành công nghiệp sản xuất v.v… Nó cho phép các công ty xác định được các mối quan hệ giữacác yếu tố nội tại như giá thành, mẫu mã, cách thức quảng cáo, thậm chí là kỹ năng của nhân viên công ty… các yếu tố bên ngoài như đối thủ cạnh tranh, chính sách kinh tế hay nhu cầu thị trường v.v Và nó còn hỗ trợ việc xác định được sự tác động của các chính sách khuyến mại, giảm giá, độ hài lòng của khách hàng và lợi nhuận của doanh nghiệp…
II Social network và sự cần thiết ứng dụng
data mining trong social network
1 Social network
a Network
Là một tập hợp các nút, điểm, các địa điểm được kết nối với nhau thông qua việc giao tiếp bằng dữ liệu, thoại, video cho mục đích trao đổi lẫn nhau
Trang 7b Social network
Là một cấu trúc xã hội loài người có liên hệ trực tiếp hoặc gián tiếp với nhau thông qua mối quan hệ thông thường hoặc quan tâm lẫn nhau
Trang 8c Social network site (SNS)
Một trang web mạng xã hội là cụm từ được sử dụng để mô tả bất kỳ trang web nào cho phép người dùng tạo hồ sơ công cộng trong đó trang web tiết lập các mối quan hệ hình thức với những người dùng khác của trang web Các trang web mạng xã hội có thể được sử dụng để
mô tả cộng đồng, các diễn đàn thảo luận trực tuyến, chatroom và không gian xã hội trực tuyến
Mạng xã hội được tạo ra để tự thân nó lan rộng trong cộng đồng thông qua các tương tác của các thành viên trong chính cộng đồng đó Mọi thành viên trong mạng xã hội cùng kết nối và mỗi người là một mắt xích để tạo nên một mạng lưới rộng lớn truyền tải thông tin trong đó
Về cơ bản, mạng xã hội giống như một trang web mở với nhiều ứng dụng khác nhau Mạng
xã hội khác với trang web thông thường ở cách truyền tải thông tin và tích hợp ứng dụng Trang web thông thường cũng giống như truyền hình, cung cấp càng nhiều thông tin, thông tin càng hấp dẫn càng tốt còn mạng xã hội tạo ra các ứng dụng mở, các công cụ tương tác để mọi người tự tương tác và tạo ra dòng tin rồi cùng lan truyền dòng tin đó
d Social network analysis (SNA)
Phân tích mạng xã hội là việc lập bản đồ và đo lường các mối quan hệ và các luồng giữa con người, các nhóm, các tổ chức, máy tính hoặc các thực thể xử lý thông tin / kiến thức
Trang 9Các nút trong mạng chính là người, nhóm trong khi các liên kết chỉ ra mối quan hệ hoặc luồngiữa các nút này
2 Ứng dụng data mining
Ngày nay, việc xây dựng ra một sản phẩm (đặc biệt là sản phẩm internet) ngày càng trở nên đơn giản hóa, tuy vậy để tồn tại, phát triển và mở rộng cần có những tính năng thông minh hỗtrợ cho người dùng đơn giản hóa việc truy xuất, đúng thông tin họ cần… Tất cả điều này đều cần đến nền tảng data mining bên dưới
Các công nghệ data mining thực ra không mới, nó đã hình thành cách đây hơn 20 năm, từ khicác công nghệ điện toán xử lý song song phát triển Tuy nhiên việc ứng dụng nó và các hệ thống web là điều còn khá mới mẻ, đặc biệt là các sản phẩm trực tuyến ở Việt nam chúng ta, hầu như chưa trang web nào ứng dụng thực sự các công nghệ data mining, lý do là quy mô chưa đủ lớn, lượng dữ liệu cần phân tích còn nhỏ và hẹp
Đầu tiên là câu hỏi tại sao kết quả tìm kiếm của Google lại khác nhau khi đăng nhập và khi
không đăng nhập? Câu trả lời ngắn gọn là: Khi bạn đăng nhập Google biết bạn là ai, biết
hành vi trong quá khứ của bạn như thế nào (thông qua quá trình thu thập dữ liệu hành vi của
bạn trên các site mà Google hiện diện), do đó nó dựa vào sự hiểu biết này nên kết quả trả về bao giờ cũng là kết quả có độ chính xác với nhu cầu của bạn cao nhất và ngược lại, khi
không đăng nhập, Google chỉ trả về kết quả ranking bình thường mà không có kèm theo
tham số ranking theo user Và dĩ nhiên để biết được hành vi trong quá khứ của bạn, Google
phải sử dụng đến các công nghệ data mining
Trang 10Thứ hai, tại sao Facebook lại có thể gợi ý cho bạn toàn những người mà bạn đã quen biết? Để
có thể đưa ra gợi ý này đòi hỏi Facebook kết hợp rất nhiều các tham số Tuy nhiên có thể giảithích tóm lược như sau: Khi bạn đăng ký tài khoản Facebook,thông thường bạn nhập thêm các thông tin khác như: quá trình làm việc ở các công ty, công ty bạn đanglàm, trường/lớp bạn đã/đang học, các hội bạn tham gia, bạn gái/trai/vợ/chồng của bạn v.v Đây chính là các thông tin mà Facebook có thể dựa vào để xác định ai là bạn của bạn Ở đây, Facebook đã mô hình hóa các tham số có độ liên quan nhất định để đưa ra những gợi ý mà có xác xuất đúng rất cao, và bạn thấy đó,thực sự là rất đúng News stream của Facebook còn phức tạp và hay
ho hơn nữa Tất các điều đó Facebook làm được là quá trình thu thập dữ liệu hoạt động của người dùng trên site, sau đó sử dụng các công nghệ data mining để cung cấp nội dung, tính năng phù hợp nhất cho người dùng
Thứ ba, tại sao Amazon lại có thể đưa ra danh sách các quyển sách bán kèm có tỷ lệ bán được cao nhưvậy? Để làm được điều này Amazon đã đầu tư phát triển hệ thống
recommendation trong hàng chục năm, thời gian dài đó không chỉ là phát triển thuần túy công nghệ mà còn là quãng thời gian thu thập và phân tíchhành vi người sử dụng trên site củaAmazon, thời gian càng dài, dữ liệu thu thập càng lớn, dẫn đến tập thông tin có độ tương quan càng nhiều và càng chính xác Nôm na bạn có thể hiểu là 100 khách hàng mua quyển sách ABC thì có tới 40 khách hàng đồng thời mua quyển sách DEF, vì thế với khách hàng
101 xem quyển ABC, hệ thống nhận diện và đưa ra gợi ý mua thêm quển DEF, đơn giản là vậy, tuy nhiên bên dưới còn có nhiều tham số khác để tăng độ tương quan lên nữa Và đây cũng là một quá trình mining dữ liệu
Trang 11a Kỹ thuật data mining trong facebook
Mạng lưới của bạn: Khi các kết nối của bạn mời các kết nối của những người khác thì mạng lưới của bạn bắt đầu phát triển Mạng lưới của bạn bao gồm các kết nối của bạn, các kết nối của người khác, và cứ tiếp tục như vậy với trung tâm là chính là bạn
Phân loại người sử dụng: Mạng lưới của bạn bao hàm 3 độ “three degrees” chuyên môn
Trang 12 Sau khi trở thành bạn của nhau, bạn có thể truy cập các thông tin chia sẻ của bạn mình như hình ảnh, audios, videos…
Việc ứng dụng data mining giúp trả lời các câu hỏi:
Có bao nhiêu người bạn của bạn đang sử dụng mạng xã hội thường xuyên
Có bao nhiêu người bạn của bạn gửi các thông điệp thường xuyên
Ai đang là người có nhiều tâm trạng nhấtBao nhiêu người bạn của bạn là ăn chayBao nhiêu người bạn ở gần / xa bạn nhấtBao nhiêu người đang là viêc chung công ty/ học chung trường đại học với bạn
b Quy trình data mining
Khai phá dữ liệu chính là phương pháp khám phá và mô hình hóa mối quan hệ với sô lượng lớn dữ liệu Tìm kiếm thông tin ẩn ttrong một cơ sở dữ liệu, chuyển dữ liệu thành mô hình
Trang 131 Hiểu biết về lĩnh vực (domain): chúng ta cần hiểu một cách cụ thể các vấn đề về kinh doanh hoặc vấn đề khoa học
4 Giải thích kết quả và có thể quay trở lại bước 2
Cụ thể ở đây là cần hiểu về mạng xã hội, phát triển các kết nối, chọn phương thức xây dựng phù hợp để tìm kiếm các thông tin ẩn
Ví dụ về việc giao tiếp bằng E-mail
1 A gửi một e-mail chp B, CC cho C và BCC cho D
2 C chuyển tiếp e-mail này cho E
3 Từ việc phân tích tiêu đề ta có thể suy luận
a A và D biết được: A, B, C và D biết về e-mail này
b B và C biết được: A, B và C biết về e-mail này
c C biết được: E biết về e-mail
Mary
Mary George
John George
John
Trang 14e E biết rằng: A, B và C trao đổi với nhau, A và B đều không biết là E biết về điều này
f …
III Giới thiệu ứng dụng nhỏ data mining với
NoSQL trong việc xây dựng social network
Có rất nhiều hãng lớn đang xử dụng CSDL NoSQL như Amazon, BBC, Facebook, Google…Hiện nay có rất nhiều hệ quản trị cơ sở dữ liệu NoSQL như MongoDB, Redis, Cassandra, CouchDB…Trong đó MongoDB đang dần được chú ý và sử dụng rộng rãi vì là hệ quản trị
cơ sở dữ liệu miễn phí, hỗ trợ Net, cách cài đặt đơn giản, tốc độ xử lý vô cùng nhanh chóng,
dễ giám sát và xử lý…Khi cần xây dựng một hệ thống website như mạng xã hội hay thanh toán online có liên quan nhiều đến các đơn vị dữ liệu khách nhau thì chắc chắn MongoDB sẽ
là sự lựa chọn tốt vì chúng ta có thể triển khai và hoạt động trên hầu hết các thiết bị phần cứng phổ biến hện nay, chứ không phải là dòng thiết bị máy chủ cao cấp và chuyên dụng, đồng nghĩa với việc đó là không cần phải mua hay thuê server, chi phí ban đầu bỏ ra thấp hơn rất nhiều trong khi lợi nhuận không đổi
Chúng ta hãy thử so sánh hiệu suất của SQL và MongoDB được thực hiện trên laptop
Lenovo T61, hệ điều hành Windows 7 64 bit với bộ vi xử lý 2.8 GHz, sử dụng phiên bản 64 bit của SQL Server 2008 Standard và MongoDB 1.4.1
Trang 15 Về chức năng Insert: đây là điểm khác biệt rõ ràng nhất giữa MongoDB và SQL server, MongoDB chèn dữ liệu nhanh hơn SQL tới hơn 100 lần Quá trình này được thực hiện
bằng cách chèn 50.000 đối tượng độc lập sử dụng NoRM của MongoDB và LINQ tới
SQL dành cho SQL Server 2008
Về chức năng Select: chúng ta chuyển sang quá trình tách lọc dữ liệu từ cùng đối tượng khác nhau trong trường ID của mỗi bản ghi