ĐẠI HỌC BÁCH KHOA HÀ NỘI
TRƯỜNG CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
----------*----------
BÁO CÁO I TẬP LỚN NHẬP MÔN
HỌC MÁY KHAI PHÁ DỮ LIỆU Đề tài:
HATE SPEECH DETECTION
Giảng viên hướng dẫn: PGS TS. Nguyễn Thị Kim Anh
Nhóm: 20
Sinh viên thực hiện:
Nguyễn Đức Thái An 20204506
Khuất Ngọc Sơn 20204602
Nguyễn Hoàng Quang Anh 20204630
Trần ThAnh 2020
Hà Nội, tháng 7 năm 2023
I. Giới thiệu đề tài
Đây là đề tài nghiên cứu về việc xây dựng hệ thống lưu trữ và xử lý
dữ liệu liên quan đến các câu hỏi - câu trả lời (Q&A) về thị trường chứng
khoán. Mục tiêu là xây dựng hệ thống thu thập, lưu trữ, xử lý, phân tích
trực quan hóa dữ liệu lớn về các câu hỏi câu trả lời liên quan đến
chứng khoán.
Để làm được điều đó, chúng tôi sẽ thu thập dữ liệu Q&A vchứng
khoán từ nhiều nguồn khác nhau như trang tin tức, diễn đàn,.. Sau đó, dữ
liệu này sẽ được làm sạch hóa thành dạng tốt nhất để huấn luyện
các mô hình trí tuệ nhân tạo.
Về phần lưu trữ dữ liệu, chúng tôi sẽ sử dụng Elasticsearch nhằm
đảm bảo tính năng truy vấn phân tích dữ liệu nhanh chóng. Kibana
cũng sẽ được dùng để phân tích visualize dữ liệu dưới dạng biểu đồ,
bản đồ giúp hiểu rõ hơn về dữ liệu.
Đây là những nội dung chính của đề tài nghiên cứu về xử lý và ứng
dụng dữ liệu liên quan đến chứng khoán. Hy vọng đề tài sẽ mang lại những
hiểu biết bổ ích.
II. Tổng quan về công cụ xử dụng
1. Google colab
Google Colab một công cụ quan trọng trong ngành công nghệ
thông tin, đặc biệt trong lĩnh vực Machine Learning Big Data.
Google Colab cung cấp môi trường lập trình trực tuyến mạnh mẽ, cho
phép người dùng chạy c Python, thực hiện các thí nghiệm đào
tạo hình trên các bộ dữ liệu lớn không cần cài đặt bất kỳ phần mềm
hay thư viện nào trên máy tính nhân. sử dụng các máy chủ của
Google để cung cấp tài nguyên tính toán mạnh mẽ và tc độ cao.
Trong lĩnh vực Big Data, Google Colab có vai trò quan trọng trong
việc xử phân tích dữ liệu lớn. Với Google Colab, sinh viên thể
thực hiện các bài tập lớn Big Data một cách dễ dàng thuận tiện. Các
tính năng của Google Colab hỗ trợ cho việc xử lý và phân tích dữ liệu lớn
bao gồm cung cấp tài nguyên tính toán mạnh mẽtốc độ cao, hỗ trợ cho
các thư viện phổ biến trong lĩnh vực xphân tích dữ liệu như Pandas,
NumPy, Matplotlib, Seaborn, Scikit-learn, PySpark và TensorFlow, cung
cấp khả năng trực tiếp truy cập vào các tệp dữ liệu từ Google Drive hoặc
các nguồn dữ liệu khác.
Google Colab cũng cho phép người dùng chia sẻ và cộng tác với
nhau trên các cuốn sổ ghi chép, giúp tăng tốc quá trình học tập và nghiên
cứu. Bên cạnh đó, Google Colab cũng cung cấp các dụ hướng dẫn
về các dự án Big Data trên GitHub, giúp sinh viên thể tham khảo và áp
dụng vào bài tập lớn của mình.
2. Elasticsearch
Elasticsearch một công cụ tìm kiếm phân tích dữ liệu phân tán,
mã nguồn mở được viết bằng Java. Nó áp dụng kiến trúc masternode cho
phép mở rộng theo chiều ngang. Elasticsearch cho phép tìm kiếm và phân
tích dữ liệu rất nhanh chóng thông qua RESTful API.
Elasticsearch hỗ trợ lưu trữ và quản lý dữ liệu theo mô hình tài liệu
- JSON. Các tài liệu có thể được ghi nhãn với nhiều trường dữ liệu khác
nhau. Điều này giúp Elasticsearch hỗ trợ lưu trữ đa dạng các kiểu dữ liệu
thể truy vấn theo nhiều cách, thông qua chiến lược tìm kiếm phân
tích thông minh.
Elasticsearch thể dễ dàng mở rộng với việc thêm nhiều node hơn
nếu lượng dữ liệu ngày càng tăng. Nó hỗ trợ chia sẻ gánh nặng tìm kiếm
và lưu trữ trên nhiều node, giúp có thể quản lý được lượng dữ liệu khổng
lồ (big data).
Với hỗ trợ GPU, Elasticsearch có thể tăng tốc quá trình tìm kiếm
phân tích dữ liệu. còn hỗ trợ nhiều tính năng bảo mật và xác thực để
đảm bảo an toàn thông tin dữ liệu. Tất cả những ưu điểm này khiến
Elasticsearch trở thành giải pháp tưởng cho việc xử lý và tìm kiếm khối
lượng dữ liệu lớn.
3. Kibana
Kibana một công cụ phân tích truy vấn nguồn mở được
phát triển bởi Elastic. Nó giúp người dùng quản lý và truy vấn các dữ liệu
lưu trữ trong Elasticsearch một cách trực quan và dễ dàng thông qua giao
diện đồ họa.
Kibana cung cấp một giao diện người dùng thân thiện để tạo bảng
biểu, đồ thị, bản đồ và dashboard. Những thống kê, biểu đồ và bản đồ này
sẽ được tự động cập nhật khi dữ liệu trong Elasticsearch thay đổi, giúp
người quản trị theo dõi và phân tích dữ liệu một cách kịp thời.
Người dùng thể dễ dàng tìm kiếm dliệu trong Elasticsearch
bằng câu truy vấn, sau đó phân tích và visualize dữ liệu đó thông qua các
thống kê, biểu đồ như Histogram, Map, Goal Metric,... bằng cách kéo thả
các trường dữ liệu trên giao diệnh.
Kibana cũng htrợ người dùng xây dựng các dashboard đtích hợp
nhiều bản đồ, biểu đồ khác nhau giúp quan sát phân tích dữ liệu tổng
thể một cách trực quan nhất. Tất cả những tính năng này khiến Kibana trở
thành một công cụ phân tích và truy vấn dữ liệu mạnh mẽ và hiệu quả.
4. Chức năng của từng công cụ trong project
Google colab: Crawl data từ các trang web, làm sạch và đẩy lên
Elasticsearch.
Sử dụng Elasticsearch làm nơi lưu trữ tìm kiếm dữ liệu.
Elasticsearch giúp lưu trữ quản lượng dữ liệu lớn (big data)
một cách hiệu quả nhờ cấu trúc phân tán và khả năng mở rộng.
Sử dụng Kibana để visualize, phân tích và truy vấn dữ liệu trong
Elasticsearch. Kibana cung cấp giao diện người dùng thân thiện
để xem dữ liệu dưới dạng biểu đồ, bảng, dashboard,...
III. Thiết kế cấu trúc dữ liệu
Các trường của data
IV. Xuất nhập dữ liệu vào Elasticsearch
V. Triển khai Kibana
VI. Kết quả
VII. Tổng kết

Preview text:

ĐẠI HỌC BÁCH KHOA HÀ NỘI
TRƯỜNG CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG ----------*----------
BÁO CÁO BÀI TẬP LỚN NHẬP MÔN
HỌC MÁY VÀ KHAI PHÁ DỮ LIỆU Đề tài: HATE SPEECH DETECTION
Giảng viên hướng dẫn: PGS TS. Nguyễn Thị Kim Anh Nhóm: 20 Sinh viên thực hiện: Nguyễn Đức Thái An 20204506 Khuất Ngọc Sơn 20204602
Nguyễn Hoàng Quang Anh 20204630 Trần Thị Anh 2020 Hà Nội, tháng 7 năm 2023 I.
Giới thiệu đề tài
Đây là đề tài nghiên cứu về việc xây dựng hệ thống lưu trữ và xử lý
dữ liệu liên quan đến các câu hỏi - câu trả lời (Q&A) về thị trường chứng
khoán. Mục tiêu là xây dựng hệ thống thu thập, lưu trữ, xử lý, phân tích
và trực quan hóa dữ liệu lớn về các câu hỏi và câu trả lời liên quan đến chứng khoán.
Để làm được điều đó, chúng tôi sẽ thu thập dữ liệu Q&A về chứng
khoán từ nhiều nguồn khác nhau như trang tin tức, diễn đàn,.. Sau đó, dữ
liệu này sẽ được làm sạch và mã hóa thành dạng tốt nhất để huấn luyện
các mô hình trí tuệ nhân tạo.
Về phần lưu trữ dữ liệu, chúng tôi sẽ sử dụng Elasticsearch nhằm
đảm bảo tính năng truy vấn và phân tích dữ liệu nhanh chóng. Kibana
cũng sẽ được dùng để phân tích và visualize dữ liệu dưới dạng biểu đồ,
bản đồ giúp hiểu rõ hơn về dữ liệu.
Đây là những nội dung chính của đề tài nghiên cứu về xử lý và ứng
dụng dữ liệu liên quan đến chứng khoán. Hy vọng đề tài sẽ mang lại những hiểu biết bổ ích.
II. Tổng quan về công cụ xử dụng 1. Google colab
Google Colab là một công cụ quan trọng trong ngành công nghệ
thông tin, đặc biệt là trong lĩnh vực Machine Learning và Big Data.
Google Colab cung cấp môi trường lập trình trực tuyến mạnh mẽ, cho
phép người dùng chạy các mã Python, thực hiện các thí nghiệm và đào
tạo mô hình trên các bộ dữ liệu lớn mà không cần cài đặt bất kỳ phần mềm
hay thư viện nào trên máy tính cá nhân. Nó sử dụng các máy chủ của
Google để cung cấp tài nguyên tính toán mạnh mẽ và tốc độ cao.
Trong lĩnh vực Big Data, Google Colab có vai trò quan trọng trong
việc xử lý và phân tích dữ liệu lớn. Với Google Colab, sinh viên có thể
thực hiện các bài tập lớn Big Data một cách dễ dàng và thuận tiện. Các
tính năng của Google Colab hỗ trợ cho việc xử lý và phân tích dữ liệu lớn
bao gồm cung cấp tài nguyên tính toán mạnh mẽ và tốc độ cao, hỗ trợ cho
các thư viện phổ biến trong lĩnh vực xử lý và phân tích dữ liệu như Pandas,
NumPy, Matplotlib, Seaborn, Scikit-learn, PySpark và TensorFlow, cung
cấp khả năng trực tiếp truy cập vào các tệp dữ liệu từ Google Drive hoặc
các nguồn dữ liệu khác.
Google Colab cũng cho phép người dùng chia sẻ và cộng tác với
nhau trên các cuốn sổ ghi chép, giúp tăng tốc quá trình học tập và nghiên
cứu. Bên cạnh đó, Google Colab cũng cung cấp các ví dụ và hướng dẫn
về các dự án Big Data trên GitHub, giúp sinh viên có thể tham khảo và áp
dụng vào bài tập lớn của mình. 2. Elasticsearch
Elasticsearch là một công cụ tìm kiếm và phân tích dữ liệu phân tán,
mã nguồn mở được viết bằng Java. Nó áp dụng kiến trúc masternode cho
phép mở rộng theo chiều ngang. Elasticsearch cho phép tìm kiếm và phân
tích dữ liệu rất nhanh chóng thông qua RESTful API.
Elasticsearch hỗ trợ lưu trữ và quản lý dữ liệu theo mô hình tài liệu
- JSON. Các tài liệu có thể được ghi nhãn với nhiều trường dữ liệu khác
nhau. Điều này giúp Elasticsearch hỗ trợ lưu trữ đa dạng các kiểu dữ liệu
và có thể truy vấn theo nhiều cách, thông qua chiến lược tìm kiếm và phân tích thông minh.
Elasticsearch có thể dễ dàng mở rộng với việc thêm nhiều node hơn
nếu lượng dữ liệu ngày càng tăng. Nó hỗ trợ chia sẻ gánh nặng tìm kiếm
và lưu trữ trên nhiều node, giúp có thể quản lý được lượng dữ liệu khổng lồ (big data).
Với hỗ trợ GPU, Elasticsearch có thể tăng tốc quá trình tìm kiếm và
phân tích dữ liệu. Nó còn hỗ trợ nhiều tính năng bảo mật và xác thực để
đảm bảo an toàn thông tin dữ liệu. Tất cả những ưu điểm này khiến
Elasticsearch trở thành giải pháp lý tưởng cho việc xử lý và tìm kiếm khối lượng dữ liệu lớn. 3. Kibana
Kibana là một công cụ phân tích và truy vấn mã nguồn mở được
phát triển bởi Elastic. Nó giúp người dùng quản lý và truy vấn các dữ liệu
lưu trữ trong Elasticsearch một cách trực quan và dễ dàng thông qua giao diện đồ họa.
Kibana cung cấp một giao diện người dùng thân thiện để tạo bảng
biểu, đồ thị, bản đồ và dashboard. Những thống kê, biểu đồ và bản đồ này
sẽ được tự động cập nhật khi dữ liệu trong Elasticsearch thay đổi, giúp
người quản trị theo dõi và phân tích dữ liệu một cách kịp thời.
Người dùng có thể dễ dàng tìm kiếm dữ liệu trong Elasticsearch
bằng câu truy vấn, sau đó phân tích và visualize dữ liệu đó thông qua các
thống kê, biểu đồ như Histogram, Map, Goal Metric,... bằng cách kéo thả
các trường dữ liệu trên giao diệnh.
Kibana cũng hỗ trợ người dùng xây dựng các dashboard để tích hợp
nhiều bản đồ, biểu đồ khác nhau giúp quan sát và phân tích dữ liệu tổng
thể một cách trực quan nhất. Tất cả những tính năng này khiến Kibana trở
thành một công cụ phân tích và truy vấn dữ liệu mạnh mẽ và hiệu quả.
4. Chức năng của từng công cụ trong project
• Google colab: Crawl data từ các trang web, làm sạch và đẩy lên Elasticsearch.
• Sử dụng Elasticsearch làm nơi lưu trữ và tìm kiếm dữ liệu.
Elasticsearch giúp lưu trữ và quản lý lượng dữ liệu lớn (big data)
một cách hiệu quả nhờ cấu trúc phân tán và khả năng mở rộng.
• Sử dụng Kibana để visualize, phân tích và truy vấn dữ liệu trong
Elasticsearch. Kibana cung cấp giao diện người dùng thân thiện
để xem dữ liệu dưới dạng biểu đồ, bảng, dashboard,...
III. Thiết kế cấu trúc dữ liệu Các trường của data
IV. Xuất nhập dữ liệu vào Elasticsearch V. Triển khai Kibana VI. Kết quả VII. Tổng kết