Giới thiệu Big Data
Định nghĩa
Big data là các tập dữ liệu rất lớn và phức tạp, rất khó để quản lý, lưu trữ và phân tí ch bằng các công cụ xử lý dữ liệu truyền thống Điều quan trọng của big data là khả năng phân tích và tìm hiểu thông ti n từ những tập dữ liệu này, vì chúng t hườ ng chứa nhiều thông tin tiềm ẩn và giá trị quan trọng.
Ví dụ như phương pháp cá nhân hóa nội d ung đề xuất cho mỗi ng ười trê n các nền tảng Spotify, Netflix , Youtube, các nền tảng Thương m ại điện tử như Shope e, La zada,
Dữ l i ệu lớn thường bao gồm tập hợp dữ liệu với kích thước vượt xa khả năng của các công cụ phần mềm thông thường để thu thập, hiển thị, quản lý và xử lý dữ liệu trong một thời gian có thể chấp nhận được Kích thước dữ liệu lớn là một mục tiêu liên tục thay đổi Như năm 2012 thì phạm vi m ột vài tá terabytes tới nhiều pet abyt es dữ liệu Dữ liệu l ớn yêu cầu một t ập các kỹ thuật và công nghệ được tích hợp theo hình thức mới để khai phá từ tập dữ liệu đa dạng, phức tạp, và có quy mô lớn.
Trong báo cáo nghi ên cứu năm 2001 và những diễn gi ả liên quan, META Group (bây giờ là Gartner) nhà phân tích Doug Laney định nghĩa những t hách thức và cơ hội tăng dữ liệu như là 3 chiều, tăng giá trị dữ liệu, tốc độ vào ra của dữ liệu (velocity), và khổ giới hạn của kiểu dữ liệu (variety) Gartner, và nhiều ngành công nghiệp tiếp tục sử dụng mô hình '3Vs' để mô tả dữ liệu lớn Trong năm 2012, Gartner đã cập nhật định nghĩa như sau: "Dữ liệu lớn là khối lượng lớn, tốc độ cao và/hoặc loại hình thông tin rất đa dạng m à yêu cầu phương thức xử lý mới để cho phép tăng cường ra quyết định, khám phá bên trong và xử lý tối ưu" Định nghĩa '3Vs' của Gartner vẫn được sử dụng rộng rãi, và trong phù hợp với định nghĩa đồng thuận.là: "Dữ l i ệu lớn tiêu biểu cho tập t hông tin mà đặc đi ểm như khối lượng lớn (Volume), tốc độ cao(Velocity) và đa dạng (Variety) để yêu cầu phương thức phân tích và công nghệ riêng biệt để biến nó thành có giá trị" Thêm nữa, vài tổ chức đã thêm vào tính xác t hự c(Veracity) để mô tả về nó 3Vs đã được mở r ộng để bổ sung đặc tính của dữ liệu lớn
Volume: Khối lượng - dữ liệu lớn không có mẫu; nó chỉ thực hiện và lần theo những gì diễn ra.
- Big d ata là thu ật ngữ nói về khối lượng dữ liệu lớn, kích thước lớn Xác định giá trị của dữ liệu v à kích thước dữ liệu là rất qu an trọng và cần thiết, nếu khối lượng lớn, đó chính l à B ig data.
- Volume là khối lượng dữ l iệu được các doanh nghiệp thu th ập t ừ các nguồn khác nhau, như IoT (Internet of Things), video, giao dịch kinh doanh, các phươn g tiện t ruyền thông xã h ội,
- Khi cô ng nghệ chưa có sự phát triển vượt bậc, việc lưu trữ lượng lớn dữ liệu là một thách thức lớn T uy nhiên ngày nay, các nền tảng lưu trữ giá thành rẻ như Hadoop và D ata lake xuất hiện, việc lưu trữ đ ã trở nên dễ dàng hơn nhiều.
Velocity: Tốc độ - dữ liệu lớn thường được xử lý thời gian thực.
- Dự a vào tốc độ xử lý của luồng dữ liệu để xác định đó c ó phải là Big data hay không Thường thì tốc độ của l uồng dữ liệu trực tiếp vào bộ nhớ cao hơn so với khi được ghi vào đĩa Đặc biệt là ngày nay, với sự phát triển của IoT, cá c luồng dữ liệu truyền tải với tốc độ cực nhanh và chúng phải được xử lý kịp thời.
- Ví dụ: Trên mạng xã hội Facebo ok, các thông báo như status, tweet, đã cũ sẽ không được người dùng quan tâm và bị quên lãng nhanh chóng Dữ liệu giờ đây được tính gần như vào thời gian thực và tốc độ c ập nhật thông tin dường như giảm xuống đơ n vị mili giây.
Variety: Đa dạng - dữ liệu lớn có thể thu thập từ văn bản, hình ảnh, âm thanh, video, cộng với nó hoàn thành các phần dữ liệu thiếu thông qua tổng hợp dữ liệu.
- Đặc trưng tiếp theo của Big data chính là tính đa dạng, linh h oạt, ở dạng cấu trúc và phi cấ u trúc, bao gồm dữ liệu số, Email, Video, â m thanh, giao dịch tài chính, Tính đa d ạng ảnh hưởng đ ến hiệu suất, đây là mộ t t rong nhữn g vấn đ ề chính mà lĩnh vực Big data cầ n phải giải quyết
Machine Learning: Máy học - dữ liệu lớn thường không hỏi tại sao và đơn giản xác định hình mẫu
- Ma chine learning (ML) hay máy học là một nhá nh của trí tu ệ nhân tạo (AI), nó là một lĩnh vực nghiên cứu cho phép máy tính có khả năng cải thiện chính bản thân chúng d ựa trên dữ liệu mẫu (training data) hoặc dựa vào kinh nghiệm (những gì đã đ ược học) Machine learning có thể tự dự đoán hoặc đưa ra quyết định mà không cầ n được lập trình cụ thể.
- Bà i toán machine learning thường được chi a làm hai loại là dự đ oán (prediction) và phân loại (classification) Các bài toán dự đoán như dự đo án giá nhà, giá xe… Các bài toán phân loại như nhận d iện chữ v iết tay, nhận diện đồ vật…
Digital footprint: Dấu chân kỹ thuật số - dữ liệu lớn thường là phụ sinh miễn phí của quá trình tương tác kỹ thuật số
- Bấ t cứ khi nào bạn sử dụng Internet, b ạn đề u để lại dấu vết thông tin được gọi là dấu chân kỹ thuật số của mình Dấu chân kỹ thuật số p hát triển the o nhiều cách – ví dụ: đăng lên mạng xã hội, đăng ký nhận bản tin, để lại đánh giá trực tuyến hoặc mua sắm trực tuyến.
- Đôi khi, không phải lúc nào cũng rõ r àng rằng bạn đang đóng góp vào dấu chân kỹ thuậ t số c ủa mình Ví dụ: các trang web có thể theo dõi ho ạt động của bạn bằng c ách c ài đặt cookie trên thiết bị của bạn và các ứn g dụng có thể đối chiếu dữ liệu của bạn mà bạn không biế t Khi bạn ch o phép một tổ chức truy cập thông tin của mình, h ọ có thể b án hoặc chia sẻ dữ liệu củ a bạn với bê n thứ ba Tệ hơ n n ữa, thông tin cá nhân của bạn có thể bị xâm phạm do vi phạm dữ liệu (BIG DATA LÀ GÌ? ĐẶC ĐIỂM & ỨNG DỤNG BIGDATA VÀO CÁC NGÀNH, n.d.) [1]
Đặc trưng của Big Data
Khi nhắc đến thuật ngữ Big Data người ta sẽ nghĩ đến n gay đặc trưng của nó gắn liền với 5V: Volume, Variety, Velocity, Veracity và Value Theo đ ó lần lượt là khối lượng, mức độ đa dạng, tốc độ phân tích xử lý dữ liệu, t ính xác thực c ủa dữ li ệu và giá trị thông tin.
Volume – Khối lượng kích thước
Khi nói đến big data – dữ liệu lớn thì chữ V đầu tiê n bạn nên biết đó là Volume (Khối lượng).
Trên thực tế, lượng dữ liệu đượ c tạo ra c hỉ trong vài năm năm gần đây đã bằng 90% khối lượng dữ liệu được tạo ra từ thuở sơ khai tính tới 200 3 V à theo dự báo trong những năm tới lượng dữ liệu còn tăng gấp nhiều lần Lượng dữ liệu được tạo ra đến hết năm 2020 sẽ gấp 50 lần lượng dữ li ệu được tạo 10 năm trư ớc đó.
- Thực t ế là l ượn g dữ liệu sẽ si êu siêu lớn khi mà IOT ngày c àng được ứng dụng rộng rã i hơn với hàng triệ u tỉ cảm biến điện tử được sử dụng.
- Những chiếc máy bay có thể tạo ra khoảng 2.5 tỉ Terabyte dữ liệu mỗi năm.
- Square Kilom eter Array Telescope có thể tạo ra 1 Exabyte dữ liệu mỗi ngày
Ngày càng nhiều dữ liệu được tạo ra, lưu trữ và xử lý là nhờ những côn g nghệ đột phá như điện toán đám mây, bộ siêu vi xử l ý…
Ví dụ : - Dữ liệu từ các ng uồn như máy chủ web, thiết bị IoT (Internet ofThings), cảm biến, hệ thống giao dịch.
- Dữ liệu sinh ra từ các trang web mạng xã hội như Faceb ook hoặc Twitter, nơi hàng tri ệu người dùng tạo ra và tươ ng tác với các bài đăng hàng giây.
Variety – Mức độ đa dạng
Theo cách hiểu truyền thống thì dữ liệu (data) được h iểu là dữ liệu có cấu trúc.
Dữ liệu đượ c lưu vào các cột (fields) v à các dòng (rows) như trong excel vậy Tuy nhiên, quan điểm về dữ liệu trong thời đại mới đã mở r ộng hơn rất nhiều, nó có thể là:
- … Đa số dữ liệu là dữ liệu phi cấu trúc Điều này khiến cho dữ liệu trở nên quá đa dạng đến mức phức tạp và tốn kém hơn.
Ví dụ: - Dữ liệu từ cơ sở dữ liệu SQL, dữ liệu JSON, dữ liệu văn bản, hình ảnh và video.
- Dữ liệu trong lĩnh vực y tế có thể bao gồm hồ sơ bệnh nhân (dữ liệu cấu trúc), hình ảnh chụp cắt (dữ liệu bán cấu trúc), và bài báo y khoa (dữ liệu không cấu trúc).
Velocity – Tốc độ Đây là t huật ngữ quan trọng trong big data, nó đề cập tới tốc độ dữ liệu được tạo ra, lưu trữ, xử lý và truy vấn Trong quá khứ thì dữ liệu được cập nhật thường xuyên nhưng thời gian phân tích, xử lý và lên báo cáo thường là định kỳ Có thể là hàng tuần hoặc hàng tháng m ới thu thập được đầy đủ dữ liệu phục vụ báo cáo Nhưng hi ện t ại với sự phát triển mạnh mẽ về công nghệ: Lưu trữ online, băng thông internet, tốc độ xử lý của bộ vi xử lý, … dữ liệu đư ợc tạo ra, lưu trữ, xử lý và truy vấn gần như - hay thậm chí - là theo thời gian thực. Một vài ví dụ về tính chất Velocity của Big Data:
- Theo youtube: Mỗi phút có khoảng 100 giờ video được up lên hệ thống.
- Mỗi phút có khoảng 200 triệu thư điện tử được gửi đi.
- Theo Flickr: Có khoảng 20 triệu bức ảnh được xem và 30 nghìn ảnh được tải lên trang Flickr
- Theo Google: Mỗi phút có khoảng 2.5 triệu lượt truy vấn trên toàn hệ thống.
Với bằng đó ví dụ, bạn có thể thấy được lượng dữ liệu được tạo ra nhiều và nhanh như thế nào Sự thực là dữ liệu được tạo ra theo cấp số nhân với tốc độ chóng mặt.
Ví dụ: - Dữ liệu từ giao dịch tài chính, dữ liệu từ các cảm biến thời tiết, dữ liệu từ mạng xã hội.
- Dữ liệu từ các thiết bị IoT trong các thành phố t hông minh, nơi các cảm biến gửi dữ liệu về giao thông, chất lượng không khí, và nhiều thông tin khác với tốc độ cao.
Veracity: tính xác thực của dữ liệu
Với xu hướng Social ngày nay và sự gi a tăng mạnh mẽ tính tương tác và chia sẻ của người dùng làm cho bức tranh xác định về độ tin cậy & chính xác của dữ liệu ngày m ột khó khăn hơn Bài toán phân tích và loại bỏ dữ liệu thiếu chính xác và nhiễu đang là tính chất quan trọng của Big Data.
Ví dụ: - Dữ liệu từ nguồn Internet, dữ liệu t ừ các thiết bị cảm biến có thể không luôn chính xác.
- Dữ liệu từ các cảm biến trên máy bay thương mại, nơi sự chính xác của dữ liệu là quan trọng để đảm bảo an toàn trong quá trình bay.
Value: Giá trị thông tin
Giá trị là đặc điểm quan trọng nhất của dữ liệu lớn, vì khi bắt đầu triển khai xây dựng dữ liệu lớn thì việc đầu tiên chúng ta cần phải l àm đó l à xác đị nh đư ợc giá trị của thông tin mang lại như thế nào, khi đó chúng ta mới có quyết định có nên triển khai dữ liệu lớn hay không Nếu chúng ta có dữ liệu lớn mà chỉ nhận được 1% lợi ích từ nó, thì không nên đầu tư phát triển dữ liệu lớn.
Ví dụ: - Phân tích dữ liệu để đưa ra quyết định kinh doanh, dự đoán xu hướng thị trường, tối ưu hóa hoạt động sản xuất.
- Dữ liệu khách hàng từ các trang thương mại điện tử có thể được phân tích để dự đoán xu hướng mua sắm và tối ưu hóa chiến lược quảng cáo để tăng doanh số bán hàng [ ]1
Những vấn đề liên quan
a Phân tích dữ liệu Big Data
Khi đã có dữ liệu, điều quan trọng nhất là phải phân tích những dữ liệu đó để chúng thực sự mang lại lợi ích như tăng doanh thu, cải thiện dịch vụ khách hàng, nâng cao hiệu suất và tăng sức cạnh tranh tổng thể
Việc phân tích dữ liệu bao gồm việc kiểm tra các tập dữ liệu, từ đó đưa thông tin chi tiết hoặc rút ra kết luận về xu hướng và dự đoán về hoạt động trong tương lai Nhờ đó, dữ li ệu có thể áp dụng vào công việc như lựa chọn thời gian, địa điểm để quảng cáo cho sản phẩm và dịch vụ, điều rất có ích cho các công ty cần những chiến dịch quảng bá sản phẩm theo t hời đi ểm Phân tích dữ liệu bao gồm:
- Phân tích dữ liệu t hăm dò (để xác định các mẫu và m ối quan hệ trong dữ liệu).
- Phân tích dữ liệu xác nhận (áp dụng các kỹ thuật thống kê để tìm hiểu xem giả định về một tập dữ liệu cụ thể có đúng không).
- Phân tích dữ liệu định lượng (so sánh thống kê).
- Phân tích dữ liệu đị nh tính (tập trung vào dữ liệu phi số như video, hình ảnh và văn bản)
- Phân tích Đối tượng (Descriptive Analysis): o Mô tả: Đây là việc sử dụng các phương pháp thống kê và trực quan hóa để mô tả dữ liệu, hiểu cấu trúc và đặc điểm của dữ l i ệu. o Kỹ thuật: Biểu đồ, biểu đồ hộp, biểu đồ đường, bảng thống kê.
- Phân tích Tương quan (Correlation Analysis): o Mô t ả: Xác định mối quan hệ giữa các biến hoặc thuộc tính trong dữ liệu. o Kỹ thuật: Hệ số tương quan, biểu đồ phân tán, heatmap.
- Phân tích Nhóm (Clustering Analysis): o Mô tả: Phân loại dữ liệu thành các nhóm có tính chất tương đồng nhau. o Kỹ thuật: K-Means, hierarchical clustering.
- Phân tích Chuỗi Thời Gian (Time Series Analysis): o Mô tả: Phân tích xu hướng và biến động của dữ liệu theo thời gian. o Kỹ thuật: Dự báo chuỗi thời gian, phân tích suy giảm (decay analysis).
- Phân tích Văn bản (Text Analysis): o Mô tả: Phân tích và rút trích thông tin từ dữ liệu văn bản. o Kỹ thuật: Phân loại văn bản, phân tích ý kiến, trích xuất thông tin.
- Phân tích Đồ thị (Graph Analysis): o Mô tả: Phân tích mối quan hệ và cấu trúc trong dữ liệu đồ thị. o Kỹ thuật: Độ đo trung tâm (centr al i t y), phân cụm (community detection), phân tích đồ thị tích lũy.
- Học Máy và Phân loại (Machine Learning and Classification): o Mô tả: Sử dụng mô hình học máy để dự đoán và phân loại dữ liệu. o Kỹ thuật: Rừng ngẫu nhiên (Random Forest), Support Vector Machines, Neural Networks.
- Phân tích Đồng thời (Real-time Analysis): o Mô tả: Phân tích dữ li ệu ngay lập tức khi nó được sinh ra, thích hợp cho các ứng dụng yêu cầu độ trễ thấp. o Kỹ thuật: Apache Flink, Apache Storm.
- Phân tích Độ lớn và Hiệu suất (Scale and Performance Analysis): o Mô tả: Đảm bảo khả năng mở rộng và hiệu suất của hệ thống phân tích dữ liệu Big Data. o Kỹ thuật: Apache Spark, Hadoop MapReduce.
- Phân tích An toàn và Bảo mật (Security and Privacy Analysis): o Mô t ả: Bảo vệ dữ liệu và đảm bảo an toàn thông tin trong quá trình phân tích. o Kỹ thuật: Mã hóa dữ liệu, kiểm soát truy cập, giám sát bảo m ật b Xây dựng cơ sở hạ tầng Big Data
Muốn sử dụng và khai thác Big Data một cách hiệu quả, điều cần thi ết là phải xây dựng cơ sở hạ tầng đủ để t hu thập và lưu trữ dữ liệu, cung cấp quyền truy cập và bảo mật thông tin trong khi lưu trữ và chuyển t i ếp, bao gồm các hệ thống lưu trữ và máy chủ, phần mềm quản lý, t í ch hợp dữ liệu, phần mềm phân tích dữ liệu và một số t hành phần khác Điều này có thể được hiện thực hóa bởi các data center lớn, các dịch vụ điện t oán đám m ây cũng góp phần giải quyết bài toán này
Dữ liệu có thể đến từ nhiều nguồn khác nhau như các ứng dụng web,kênh truyền thông xã hội, ứng dụng dành cho thiết bị di động và lưu trữ email, ngoài ra khi IoT trở nên bùng nổ, các cảm biến trong sản phẩm cũng góp phần tạo dựng và chuyển hóa dữ liệu Để lưu trữ tất cả dữ liệu đến, có một số lựa chọn phổ biến là kho dữ liệu truyền thống, xây dựng hồ dữ liệu hoặc tận dụng lưu trữ trên đám m ây Ngoài ra, còn cần xây dựng cơ sở hạ tầng bảo mật, bao gồm việc mã hóa dữ liệu, xác thực người dùng và các quyền truy cập, giám sát hệ thống, xây dựng tường lửa, quản lý doanh nghiệp và các sản phẩm khác để bảo vệ hệ thống và dữ liệu.
Cơ sở hạ tầng IT để hỗ trợ Big Data đóng vai trò quan trọng để xử lý và quản lý các dữ liệu lớn, phức tạp và đa dạng:
- Hệ thống lưu trữ phân tán: Bao gồm các máy chủ và hệ thống lưu trữ được kết nối với nhau thông qua mạng Các hệ thống này giúp lưu trữ và quản lý dữ liệu lớn của Big Data.
Bài toán
Mục tiêu nghiên cứu
Mục ti êu chính của đề tài này là thực hiện một cuộc nghiên cứu để thống kê và phân tích sự quan tâm của người dùng Facebook đối với một sản phẩm cụ thể Để đạt được mục tiêu này, chúng tôi đã xác định những mục ti êu cụ t hể sau:
- Xác định cách mà người dùng Facebook tương tác với bài viết hoặc quảng cáo liên quan đến sản phẩm.
- Phân tích dữ liệu về lượt thích, bình luận, chia sẻ, và các hoạt động khác để hiểu mức độ quan tâm của người dùng.
- Xác định các yếu tố ảnh hưởng đến sự quan tâm của người dùng đối với sản phẩm, như thời gian đăng bài , loại nội dung, và nền tảng thiết bị sử dụng.
Câu hỏi nghiên cứu
Trong quá trình nghiên cứu, chúng tôi sẽ trả lời các câu hỏi sau:
- Làm t hế nào để đo lường mức độ quan t âm của người dùng Facebook đối với sản phẩm?
- Các yếu tố nào ảnh hưởng đến việc người dùng tương tác với sản phẩm trên nền tảng Facebook?
- Làm thế nào để tối ưu hóa quảng cáo và nội dung để tạo sự quan tâm mạnh mẽ từ người dùng?
Phương pháp tiếp cận
Để thực hiện nghiên cứu, chúng tôi sẽ sử dụng phương pháp thống kê và phân tích dữ liệu từ nhiều nguồn khác nhau, bao gồm dữ liệu về lượt thích, bình luận, chia sẻ, và sự tương tác trên nền tảng Facebook Chúng tôi cũng có thể sử dụng các công cụ phân tích dữ liệu để tạo biểu đồ, tính toán tỷ l ệ tương tác, và xây dựng mô hình dự đoán.
Khung thời gian và phạm vi nghiên cứu
Nghiên cứu này sẽ bao gồm một khoảng thời gian cụ thể (ví dụ: 6 tháng) và sẽ tập trung vào một sản phẩm hoặc loạt sản phẩm cụ thể Phạm vi nghiên cứu sẽ bao gồm người dùng Facebook có sự tương tác với sản phẩm hoặc sản phẩm liên quan trong thời gian đó.
Bằng cách trả lời các câu hỏi nghiên cứu và thực hiện phân tích dữ liệu, chúng tôi hy vọng rằng đề tài này sẽ cung cấp thông tin hữu ích về cách mà người dùng Facebook tương tác và quan tâm đối với sản phẩm Điều này có thể hỗ trợ các doanh nghiệp trong việc tối ưu hóa chiến dịch t i ếp thị và tạo sự quan tâm mạnh mẽ hơn từ phía khách hàng.
Giải pháp
Apache Kafka
Apache Kafka là một nền tảng phát trực tuyến sự kiện phân tán mã nguồn mở Apache Kaf ka được xây dựng nhằm mục đích xử lý dữ liệu streaming real- time (theo thời gian thực) Nói một cách đơn giản - Apache Kafka được phát triển để lưu trữ các streams of records (luồng ghi dữ liệu).
Ngày nay, hàng tỷ nguồn dữ liệu liên tục tạo r a các luồng data record, bao gồm các luồng sự kiện Một sự kiện là một bản ghi kỹ thuật số về một hành động đã xảy ra và thời gian nó xảy ra Thông thường, một sự kiện là một hành động thúc đẩy một hành động khác như một phần của quy trình Một khách hàng đặt hàng, chọn chỗ ngồi trên chuyến bay, hoặc gửi đơn đăng ký đều là những ví dụ về các sự kiện Một sự kiện không nhất thiết phải liên quan đến một người — ví dụ: báo cáo của máy điều nhiệt đư ợc kết nối về nhiệt độ tại một thời điểm nhất định cũng là một sự kiện.
Các luồng này tạo cơ hội cho các ứng dụng phản hồi dữ liệu hoặc sự kiện trong thời gian thực Nền t ảng stream dữ liệu cho phép các nhà phát triển xây dựng các ứng dụng liên tục sử dụng và xử lý các luồng này ở t ốc độ cực cao, với mức độ trung thực và chính xác cao dựa trên thứ t ự xuất hiện chính xác của chúng
LinkedIn đã phát triển Kafka vào năm 2011 như một message broker thông lượng cao để sử dụng cho chính nó, sau đó Kafka có nguồn mở và được donate cho Software Foundation Kafka sử dụng ngôn ngữ chính là Java hoặc Scala. Ngày nay, Kafka đã phát triển thành nền tảng stream dữ liệu phân tán được sử dụng rộng rãi nhất, có khả năng nhập và xử lý hàng nghìn tỷ bản ghi mỗi ngày mà không có bất kỳ độ t rễ hiệu suất có thể nhận thấy nào t heo quy mô khối lượng Các tổ chức trong danh sách Fortune 500 như Target, Microsoft, AirBnB và Netflix dựa vào Kafka để cung cấp trải nghiệm theo thời gian thực, theo hướng dữ liệu cho khách hàng của họ (Giới thiệu tổng quan về Spark, n.d.) [3] b Đặc điểm các thành phần Spark
- Spark core: là các hàm, thư viện cơ sở, cung cấp các chức năng cần thiết như lập lịch, I/O,… o Resilient Distributed Datasets (RDDs): RDD là cấu trúc dữ liệu cơ bản trong Spark, chứa các phân vùng có thể được xử lý song song RDD là bền vững (resilient), tức là có thể khôi phục lại dữ liệu sau khi một số lượng phần vùng hoặc nút xử lý bị lỗi. o Spark APIs: Cung cấp các API cho các ngôn ngữ lập trình như Scala, Java, Python và R.
- Spark streaming: là thành phần hỗ trợ xử lý các dữ liệu streams, dữ liệu đầu vào có thể là từ nhiều nguồn như Socket, Kafka, Flume,… o Xử lý dữ liệu dòng (streaming): Cho phép xử lý dữ liệu dòng trực tiếp và thực hiện các phân tích thời gian thực Dữ liệu dòng có thể đến từ nhiều nguồn như Apache Kafka, Flume, HDFS, v.v.
- Spark SQL: là một mô-đun Spark để xử lý dữ liệu có cấu trúc Nó cung cấp một chương trình trừu tượng gọi là DataFrames và cũng có thể hoạt động như một công cụ truy vấn SQL phân tán. o DataFrame API: Cung cấp một giao diện lập trình cao cấp cho xử lý dữ liệu có cấu trúc, tương tự như SQL DataFrame có thể được tạo từ nhiều nguồn dữ liệu khác nhau như Hive, Avro, Parquet, JSON, và có thể thực hiện các truy vấn SQL trực tiếp trên dữ liệu.
- Spark MLib: cung cấp các thư viện hỗ trợ nhiều thuật toán machine learning. oThư viện học máy: Cun g cấp một loạt các thuật toán họ c máy và công cụ hỗ trợ để xây dựng các mô hình h ọc máy trên dữ liệu phân tán.
- Spark GraphX: là API Spark dành cho đồ thị và tính toán song song đồ thị. o Xử lý đồ thị: Được sử dụng để xử lý và phân tích đồ thị lớn, giúp thực hiện các tác vụ như tìm kiếm đường đi ngắn nhất, phân tích cộng đồng, và các tác vụ đồ thị khác.
Tốc độ: Spark có thể chạy trên cụm Hadoop và có thể chạy nhanh hơn 100 lần khi chạy trên bộ nhớ RAM, và nhanh hơn 10 lần khi chạy trên ổ cứng Bằng việc giảm số thao tác đọc nghi lên đĩa cứng Nó lưu trữ trực tiếp dữ li ệu xử l ý lên bộ nhớ.
Hỗ trợ đa ngôn ngữ: Spark cung cấp các API có sẵn cho các ngôn ngữ Java, Scala, hoặc Python Do đó, bạn có thể viết các ứng dụng bằng nhiều các ngôn ngữ khác nhau Spark đi kèm 80 truy vấn tương tác mức cao.
Phân tích nâng cao: Spark không chỉ hỗ trợ ‘Map’ và ‘Reduce’ Nó còn hỗ trợ truy vấn SQL, xử lý theo Stream, học máy, và các thuật toán đồ thị (Graph). Resilient Distributed Datasets (RDD) là một cấu trúc dữ li ệu cơ bản của Spark Nó là một tập hợp bất biến phân tán của một đối tượng Mỗi dataset trong RDD được chia ra thành nhiều phần vùng logical Có thể được tính toán trên các node khác nhau của một cụm máy chủ (cluster) RDDs có thể chứ a bất kỳ kiểu dữ liệu nào của Python, Java, hoặc đối tượng Scala, bao gồm các kiểu dữ liệu do người dùng định nghĩa (Vinh Phạm, 2022) [ ]4 c Giới thiệu Elaticsearch
El astics earch được phát triển bởi Shay B anon vào năm 2010 và là hệ thống phân tán t heo thời gian thực là một hệ thống tìm kiếm full-text , phân tích mã nguồn mở Sử dụng th ông qua RESTfull sử dụng JSON (JavaScri pt Object Notation) để chứa dữ liệu Được viết bằng ngôn ngữ Java điều n ày cho phép Elasticsearch có thể chạy trên nhiều nền tảng khác nhau, cho phép sử dụng truy vấn dữ liệu lớ n với tốc độ cao.
El astics earch là một hệ thống tìm k iếm và phân tích dữ liệu phân tán, mã nguồn mở, xây dựng trên nền tảng Apa che Lucene Nó cung cấp khả năng tìm kiếm và phân t ích dữ li ệu một cách hiệu quả trên các dữ liệu lớn và phân tán. Dưới đây là một số đặc điểm quan trọng của Elast icsearch:
Tì m kiếm và Truy vấn Hiệu suất Cao: Elasticsearch sử dụng cơ s ở dữ liệu ngượ c (invert ed inde x) của Lucene để cung cấ p tìm kiếm nhanh và hiệu quả t rên các tập dữ liệu lớn.
Phân Tán và Mở Rộng Dễ Dàng : E lasticsea rch được thiết kế để làm việc trên nhiều nút và có khả năng mở rộng linh hoạt Cụm nút
El astics earch có thể được mở rộng ngang (horizontal scaling) bằng cách thêm nút mới vào cụm.
Mô hình giải pháp
Mô hình của IBM sử dụng apache spark và elasticsearch
- Load tập dữ liệu movie vào Spark.
- 2 Sử dụng Spark DataFrame để làm sạch dữ liệu và load vào Elasticsearch.
- 3 Sử dụng Spark Mllib để trainning.
- 4 Lưu kết quả mô hình vào Elasticsearch.
- 5 Sử dụng Elasticsearch queries và một custom vector scoring plugin, để tìm ra phim đề xuất Movie Database API để hiển thị poster phim.
Cài đặt thử nghiệm
Nguồn dữ liệu
Có rất nhiều nguồn tài l i ệu chúng t a có thể tham khảo như: API của Facebook, Công cụ khai phá dữ liệu xã hội, Dữ liệu công khai trên Facebook. Nhóm chúng tôi đã quyết định tham khảo dữ liệu trên phần m ềm Kaggel (Kaggle là một nền tảng nổi tiếng cho việc chia sẻ dữ liệu và dự án khoa học dữ liệu Bạn có thể tìm thấy một loạt các tập dữ liệu liên quan đến mạng xã hội và dữ liệu xã hội trên Kaggle, bao gồm dữ liệu từ các nền tảng xã hội như Facebook) để lấy các thông số liên quan đến dề tài để Demo thử nghiệm
Xử lý dữ liệu Đầu tiên, chúng ta cần thu thập dữ liệu từ nguồn đã được đề cập, như tìm kiếm dữ liệu trên Kaggle, dịch vụ phân tích xã hội, hoặc các t ập dữ l i ệu có sẵn Đảm bảo rằng bạn thu thập đủ thông tin liên quan đến sự quan tâm của người dùng đối với sản phẩm Phần mềm này sẽ trích xuất cho chúng ta nhiều file li ên quan đến Facebook, chúng ta có thể lấy file tải về và sang bư ớc l àm sạch dữ liệu, cũng như lọc dữ liệu.
- Làm sạch dữ liệu: Loại bỏ các dòng trùng lặp, dữ liệu nhiễu hoặc không hợp lệ.
- Chuẩn hóa dữ liệu: Đảm bảo rằng các biến dữ liệu được chuẩn hóa để phù hợp với phân tích.
- Xử lý dữ liệu thiếu: Điều này bao gồm việc xác định và xử lý các giá trị bị thiếu trong dữ liệu.
- Thực hiện phân tích thống kê để hiểu sự quan tâm của người dùng đối với sản phẩm Điều này có thể bao gồm tính toán số lượng bài viết, bình luận, lượt thích, và các tương tác khác liên quan đến sản phẩm
- Sử dụng phương pháp phân tích tình cảm để đo lường tình cảm tích cực hoặc tiêu cực đối với sản phẩm.
- Trực quan hóa dữ liệu bằng biểu đồ và đồ thị để làm cho thông tin trở nên dễ hiểu.
Đề xuất hướng phát triển Đề xuất hướng phát triển tiềm năng hoặc nghiên cứu tương lai dựa trên kết quả và các hạn chế chúng tôi đã gặp phải có thể giúp làm rõ hơn về sự quan tâm của người dùng Facebook đối với một sản phẩm và tiềm năng phát triển các nghiên cứu hoặc dự án tiếp theo Dưới đây là một số hướng phát triển và nghiên cứu tương lai các bạn có thể xem xét:
- Phân tích thời gi an: Nghiên cứ u sự thay đổi của sự quan tâm người dùng qua thời gian có thể cung cấp thông tin quý báu Bạn có thể theo dõi cách sự quan t âm biến đổi theo mùa, sự kiện quan trọng, hoặc thậm chí theo ngày, giờ.
- Phân tích đối tượng: Nghiên cứu những đặc điểm của người dùng Facebook (độ tuổi, giới tính, quốc gia, sở thích) để xem liệu có sự khác biệt trong mức độ quan tâm đối với sản phẩm hay không.
- Sử dụng phương pháp học m áy và trí tuệ nhân tạo: Áp dụng các phư ơng pháp học máy để dự đoán sự quan tâm của người dùng dựa trên các yếu tố như nội dung bài viết, tương tác, và hồ sơ người dùng.
- Phân tích tương t ác giữa người dùng và sản phẩm: Nghiên cứu cách người dùng tương tác với sản phẩm trên Facebook, ví dụ như bài viết,bình luận, hoặc đánh giá, và đo lường tác động của các tương tác này đối với sự quan tâm.
- So sánh với các nền tảng xã hội khác: Nghiên cứu cách sự quan tâm của người dùng trên Facebook so sánh với các nền tảng xã hội khác như Twitter, Instagram, hoặc LinkedIn.
- Phân tích t ì nh cảm sâu hơn: Sử dụng phân tích tình cảm sâu hơn để hiểu rõ hơn về tình cảm tích cực và tiêu cực đối với sản phẩm.
- Sử dụng mô hình dự đoán: Phát triển mô hì nh dự đoán sự quan tâm của người dùng dựa trên các yếu tố như hoạt động trước đó hoặc sở thích.
- Nghiên cứu về tiếng gọi hồi đáp và hành vi: Thực hiện nghiên cứ u thêm về cách tiếng gọi hồi đáp và hành vi của sản phẩm có thể ảnh hưởng đến sự quan tâm của người dùng.
- Tương tác với cộng đồng: Nghiên cứu cách tương tác với cộng đồng trên Facebook có thể tạo ra sự quan tâm lớn hơn đối với sản phẩm.
- Nhận định yếu t ố ảnh hưởng: Nghiên cứ u về các yếu tố ảnh hưởng đến sự quan tâm, chẳng hạn như quảng cáo, chiến dịch tiếp thị, hoặc sự kiện đặc biệt.
Thực hiện thử nghiệm
Sau khi nghiên cứu dữ liệu tìm tòi cách giải quyết vấn đề nhóm chúng tôi đã thử nghiệm chạy Demo đưa ra kết quả cho đề tài "Thống kê sự quan tâm của người dùng Facebook đối với một sản phẩm" Dữ liệu này được lấy trên Kaggle và sau đây là một vài thao tác làm sạch dữ liệu.
Phương pháp thu thập dữ liệu
- Công cụ phân tích Big Data: Để thu thập thông tin từ người dùng Facebook, chúng ta có các công cụ phân tích như Facebook Insights, Google Analytics, và các công cụ phân tích dữ liệu khác để xử l ý và hiểu nguyên tắc hoạt động của Big Data.
- Tiến hành khảo sát: Thiết kế câu hỏi phù hợp và tiến hành khảo sát trên Facebook.
- Quét dữ liệu: Sử dụng công cụ tự động để thu thập dữ liệu từ các bài viết và bình luận.
- Xử lý dữ liệu: Phân tích và chuẩn hóa dữ liệu thu thập để sử dụng trong mô hình.
Phân tích sự quan tâm của người dùng trên Facebook
- Sản phẩm được yêu thích: Người dùng Facebook đã thể hiện sự quan tâm qua số lượng lượt thích và chia sẻ.
- Bình luận tích cực: Nhận xét và ý kiến tích cực từ người dùng về sản phẩm trên Facebook.
- Sự thảo luận: Người dùng Facebook đã tham gia thảo luận sôi nổi về sản phẩm.
Phân tích và hiểu sở thích của người dùng: Qua việc phân t í ch dữ l i ệu Big Data, chúng ta có thể hiểu rõ hơn về sự quan tâm của người dùng đối với một sản phẩm cụ thể trên Facebook, từ đó áp dụng vào việc tạo lập các chiến lược tiếp thị hiệu quả.
Sử dụng Big Data trong thống kê sự quan tâm : Trong phần demo này, chúng ta sẽ thực hiện việc sử dụng Big Data để thống kê sự quan t âm của người dùng đối với một sản phẩm trên Facebook Chúng ta sẽ khám phá những sự tương tác và phản hồi từ người dùng.
Ứng dụng và t ận dụng thông tin từ Big Da ta: Thông tin từ Big Data có thể giúp c húng ta nắm bắt sự quan tâm của người dùng, tố i ưu hóa chiến dịch tiếp thị, và nâng cao hiệu su ất ki nh doanh Hãy khám phá cách sử dụng thông ti n này để đạt được sự thành côn g trong thị trường cạnh tranh.
Trình bày mô hình Demo:
- Ngữ cảnh: Đôi khi, việc thấy trực tiếp sản phẩm qua mô hình demo giúp người dùng hiểu rõ hơn về nó.
- Giao diện: Mô hình demo sẽ hiển thị giao diện sản phẩm theo cách dễ hiểu và thu hút sự chú ý.
- Tính năng: Người dùng sẽ được trải nghiệm các tính năng và khả năng của sản phẩm thông qua mô hình.
Dữ liệu cần lọc sạch
Màn hình kết quả thu được e Link Github (phần code)
Kết quả nhận xét
Với đề tài "THỐNG KÊ SỰ QUAN TÂM CỦA NGƯỜI DÙNG
FACEBOOK ĐỐI VỚI MỘT SẢN PHẨM" đã thực hiện một loạt các phân tích để đo lường sự quan tâm của người dùng Facebook đối với một sản phẩm cụ thể Kết quả chính bao gồm việc phát hiện các yếu tố quan trọng ảnh hưởng đến sự quan tâm, như nội dung bài viết và tương tác từ người dùng Kết quả này đã xác thực mục tiêu ban đầu của dự án và đã cung cấp m ột cái nhì n cụ t hể về t ì nh cảm của người dùng đối với sản phẩm Mặc dù đã có những hạn chế như giả định và thiếu sót trong dữ liệu, kết quả này đã tạo nền tảng cho các hướng phát triển tiềm năng trong tương lai, bao gồm nghiên cứu thêm về tác động của quảng cáo và tương tác cộng đồng trên Facebook.
Đề xuất
Áp dụng mô hình trên vào lĩnh vực thống kê sự quan tâm của người dùng Facebook đối với một sản phẩm, với mục tiêu tạo ra một hệ t hống thống kê và dự đoán hiệu quả dựa trên các thành phần sau:
- Thu thập dữ liệu: Bắt đầu bằng việc thu thập dữ liệu từ nhiều nguồn khác nhau Các nguồn này có thể bao gồm dữ liệu về bài viết, bình luận, tương tác, và dữ liệu về người dùng Facebook từ các nguồn khác nhau.
- Tiền xử lý dữ liệu: Sau khi thu thập dữ liệu, tiến hành các bước tiền xử lý để làm sạch dữ liệu, loại bỏ dữ liệu nhiễu, và chuẩn hóa dữ liệu để sử dụng trong phân tích.
- Áp dụng mô hình học máy: Sử dụng các mô hình học máy để dự đoán sự quan tâm của người dùng đối với sản phẩm Các yếu t ố như nội dung bài viết, tương tác, và sở thích người dùng có thể được sử dụng để tạo mô hình.
- Thu thập dữ liệu click của người dùng: Để cải thiện tính chính xác của mô hì nh, thu thập dữ liệu về các tương t ác và click của người dùng liên quan đến sản phẩm hoặc nội dung liên quan.
- Xây dựng bộ dữ liệu huấn luyện: Tạo bộ dữ liệu huấn luyện bằng cách lọc và chỉ lấy các dữ liệu có liên quan tới sự quan tâm của người dùng đối với sản phẩm Các dữ liệu này được sắp xếp theo mức độ quan trọng, và chúng được sử dụng để huấn luyện mô hình.
- Trích xuất vector đặt trưng: T ạo các vector đặt trưng từ dữ liệu để sử dụng trong mô hình học máy Các đặc điểm của bài viết, thông tin người dùng, và các yếu tố khác có thể được biểu diễn bằng các vector để sử dụng trong phân tích và dự đoán.
- Kiểm tra và đánh giá mô hình: Cuối cùng, kiểm tra và đánh giá mô hình dự đoán để xem mức độ chính xác và hiệu quả của nó trong việc thống kê sự quan tâm của người dùng đối với sản phẩm trên Facebook. Điều này sẽ tạo ra một cơ sở để thực hiện phân tích và thống kê sự quan tâm của người dùng Facebook đối với một sản phẩm cụ thể và cung cấp thông t i n cụ thể và giá trị cho đề tài của bạn.
Đánh giá
- Elasticsearch được phát triển trên Java điều này cho phép nó có thể chạy trên hầu hết mọi nền tảng.
- Elasticsearch có thể hoạt động một cách trực tuyến, nghĩa là việc thêm tài liệu được cập nhập và tìm kiếm ngay lập tức.
- Xử lý đa người sử dụng trong Elasticsearch là dễ dàng hơn so với Apache Solr.
- Elasticsearch sử dụng định dạng JSON cho truy vấn và kết quả trả về do đó dễ dàng gọi Elasticsearch từ nhiều ngôn ngữ l ập trình khác nhau.
- Elasticsearch hỗ trợ nhiều loại kiểu dữ liệu khác nhau như văn bản, ngày tháng, số thực, số nguyên, địa chỉ IP và nhiều truy vấn phức tạp
- Một nhược điểm cố hữu của Elasticsearch là do Elasticsearch sử dụng cấu trúc của Apache Lucene cho mỗi shard do đó không thể thay đổi số lượng shard khi bạn đã tạo index do đó chúng ta cần tính toán kỹ số shard của mỗi index vì nếu shard nhiều sẽ ảnh hưởng đến hiệu năng ngược lại sẽ làm giảm khả năng mở rộng khi dữ liệu liệu tăng Do đó cần tính toán kỹ số lượng shard.
- Elasticsearch không hỗ trợ nhiều định dạng trả về khác ngoài JSON không giống như trong Apache Solr nó hỗ trợ các định dạng như CSV, XML và JSON. Ưm điểm của đề tài:
- Dễ sử dụng: Facebook là một nền tảng trực tuyến phổ biến, và người dùng trên toàn thế giới đã quen thuộc với giao diện và tính năng của nó. Điều này giúp thu thập dữ liệu dễ dàng và thuận tiện.
- Dữ liệu người dùng đa dạng: Facebook chứa một loạt các loại dữ liệu như bài đăng, bình luận, tương tác, hình ảnh, video, và nhiều loại nội dung khác Điều này mang l ại đa dạng cho dự án và cung cấp nhiều nguồn thông tin để thống kê sự quan tâm của người dùng đối với sản phẩm.
- Tích hợp dễ dàng: Facebook cung cấp các API và SDK cho các nhà phát triển để truy cập dữ l i ệu và tương tác với nền tảng Điều này giúp bạn tích hợp dữ liệu Facebook vào dự án của mình một cách thuận tiện.
Khuyết điểm của đề tài:
- Bảo mật và quyền riêng tư: Facebook có các chính sách nghiêm ngặt về bảo mật và quyền riêng tư của người dùng Việc thu thập và sử dụng dữ liệu người dùng cần phải tuân thủ các quy định và ràng buộc pháp lý.
- Giới hạn truy cập dữ liệu: Facebook có giới hạn về việc truy cập dữ liệu của người dùng và các thông tin trên nền tảng Điều này có thể làm hạn chế trong việc thu thập dữ liệu và thực hiện thống kê.
- Sự phụ thuộc vào API và tài khoản phát triển: Sự phụ thuộc vào API Facebook và tài khoản phát triển có thể tạo ra các hạn chế về quyền truy cập và số lượng dữ liệu bạn có thể thu thập.
- Xử lý dữ liệu lớn: Dự án có thể đối mặt với thách thức trong việc xử lý và lưu trữ lượng lớn dữ liệu từ Facebook, đặc biệt khi số lượng người dùng lớn.
- Thay đổi liên tục: Facebook liên tục thay đổi gi ao diện và cách hoạt động của nền tảng, điều này có thể làm cho việc duy trì và cập nhật dự án trở nên phức tạp.
Trong quá t rình nghiên cứu và thực hiện dự án "THỐNG KÊ SỰ QUAN TÂM CỦA NGƯỜI DÙNG FACEBOOK ĐỐI VỚI MỘT SẢN PHẨM," chúng tôi đã tiến hành nhiều bước để đo lường sự quan tâm của người dùng đối với sản phẩm trên nền tảng Facebook Dự án này đã mang lại những kết quả quan trọng và điểm học thuật quý báu Chúng tôi đã thu thập dữ liệu từ nhiều nguồn khác nhau tr ên Facebook, bao gồm bài đăng, bình luận, tương tác, và dữ l i ệu người dùng, để tạo bộ dữ liệu phong phú và đa dạng Thông qua việc tiền xử lý dữ liệu và trích xuất các đặc trưng quan trọng, chúng tôi đã xây dự ng một mô hình học máy để dự đoán sự quan tâm của người dùng đối với sản phẩm Dự án đã tiến hành thu thập dữ liệu click của người dùng để cải thiện tính chính xác của mô hình và đảm bảo sự l i ên quan tới chủ để phim trực tuyến Kết quả của dự án đã cung cấp thông tin giá trị về mức độ quan tâm của người dùng và các yếu tố ảnh hưởng trong việc đánh giá sản phẩm trên Facebook Mặc dù có những hạn chế và thách t hức trong việc thu thập và xử lý dữ liệu từ Facebook, dự án đã tạo nền tảng cho các nghiên cứu và phát triển tiềm năng trong tương lai.