Bối cảnh và vấn đề nghiên cứu

Sự phát triển nhanh chóng của mạng toàn cầu (World Wide Web) đã biến Internet thành một kho tài nguyên dữ liệu khổng lồ với tốc độ tăng trưởng liên tục. Môi trường mạng chứa đựng khối lượng lớn thông tin có giá trị cao, phản ánh trực tiếp các khía cạnh đời sống xã hội và đặc biệt là các hoạt động sản xuất, kinh doanh thương mại. Xuất phát từ thực tiễn kinh doanh, các doanh nghiệp luôn có nhu cầu nắm bắt phản hồi, cảm nhận và xu hướng của người tiêu dùng đối với từng sản phẩm cụ thể. Người tiêu dùng sau khi mua và trải nghiệm sản phẩm thường chia sẻ nhận xét, đánh giá trên các trang web cá nhân, diễn đàn trực tuyến hoặc mạng xã hội. Tuy nhiên, việc thu thập và đánh giá thủ công nguồn dữ liệu phân tán này đòi hỏi nhiều thời gian và nguồn lực.

Trước thực tế đó, đề tài chuyên đề tốt nghiệp "Khai thác thông tin về sản phẩm từ Web" do sinh viên Trần Nguyễn Anh Tuấn thực hiện (ngành Công nghệ Thông tin, năm 2024) tập trung nghiên cứu phương pháp khai thác, phân loại và tổng hợp thông tin sản phẩm từ Internet thông qua máy tìm kiếm nhằm hỗ trợ công tác khảo sát thị trường.

Mục tiêu và các nhiệm vụ nghiên cứu cụ thể của đề tài bao gồm:

  1. Nhập và quản lý thông tin sản phẩm: Cung cấp chức năng cho phép người dùng nhập các thuật ngữ, từ khóa và thông số về sản phẩm cần đánh giá theo mô hình phân cấp (nhóm sản phẩm, loại sản phẩm, sản phẩm cụ thể).
  2. Tìm kiếm thông tin tự động: Sử dụng thông tin sản phẩm và bộ từ khóa để gửi truy vấn đến máy tìm kiếm (Google), thu thập các liên kết và nội dung chứa ý kiến hoặc xu hướng của người tiêu dùng.
  3. Hỗ trợ phân loại và đánh giá: Xử lý dữ liệu văn bản thô thu thập được từ máy tìm kiếm, tiến hành phân loại và thống kê theo các tiêu chí phản hồi (tích cực, tiêu cực, mong muốn cải tiến).
  4. Lập báo cáo chuyên môn: Tổng hợp và xuất các báo cáo số liệu về ý kiến của người sử dụng phục vụ công tác ra quyết định trong doanh nghiệp.
  5. Xây dựng giao diện ứng dụng: Thiết kế giao diện phần mềm thân thiện, thuận tiện cho thao tác của người dùng và người quản trị hệ thống.

Đối tượng nghiên cứu của khóa luận là các thông tin mô tả sản phẩm (nguồn gốc, tính năng, quy cách, giá thành), ý kiến đánh giá của người tiêu dùng (từ ngữ tích cực như tốt, bền, rẻ, đẹp; từ ngữ tiêu cực như xấu, kém, mau hỏng; từ ngữ thể hiện kỳ vọng như giá như, cần, phải) và các xu hướng phản hồi (tốt, xấu, không thiện cảm) xuất hiện trên các trang web. Phạm vi nghiên cứu tập trung vào việc áp dụng các kỹ thuật khai phá dữ liệu, khảo cứu các thuật toán phân cụm, ứng dụng máy tìm kiếm Google làm công cụ trích xuất và triển khai thử nghiệm hệ thống phần mềm quản lý, đánh giá thông tin sản phẩm.


Cơ sở lý thuyết và phương pháp

Khóa luận dựa trên nền tảng lý thuyết về Khám phá tri thức trong cơ sở dữ liệu (Knowledge Discovery in Databases - KDD), lý thuyết khai phá dữ liệu (Data Mining), kiến trúc máy tìm kiếm Internet và các giải thuật phân cụm dữ liệu (Clustering).

Quy trình khám phá tri thức trong CSDL được tác giả hệ thống hóa qua 5 giai đoạn chính:

  • Trích chọn dữ liệu (Data Selection): Trích xuất tập dữ liệu mục tiêu từ các nguồn lưu trữ ban đầu (cơ sở dữ liệu, kho dữ liệu) theo tiêu chí xác định.
  • Tiền xử lý dữ liệu (Data Preprocessing): Làm sạch dữ liệu (xử lý nhiễu, dữ liệu thiếu, dữ liệu dư thừa), rút gọn dữ liệu qua các kỹ thuật lấy mẫu và rời rạc hóa dữ liệu.
  • Biến đổi dữ liệu (Data Transformation): Chuẩn hóa và tinh chỉnh cấu trúc dữ liệu để phục vụ giai đoạn khai phá tiếp theo.
  • Khai phá dữ liệu (Data Mining): Áp dụng các thuật toán phân tích nhằm phát hiện các mẫu quan hệ, cấu trúc tiềm ẩn trong dữ liệu (đây là bước tiêu tốn nhiều tài nguyên tính toán nhất).
  • Đánh giá và biểu diễn tri thức (Knowledge Evaluation & Representation): Mã hóa và trực quan hóa các mẫu tri thức dưới dạng cây, đồ thị, bảng biểu hoặc luật để hỗ trợ ra quyết định.

Về mặt phương pháp nghiên cứu, tác giả kết hợp hai hướng tiếp cận chính:

  1. Phương pháp nghiên cứu lý thuyết: Tổng hợp tài liệu học thuật về các kỹ thuật khai phá dữ liệu (học có giám sát, học không giám sát, học nửa giám sát; phân lớp, luật kết hợp, chuỗi thời gian, phân cụm); phân tích toán học và nguyên lý hoạt động của các thuật toán phân cụm dữ liệu phân hoạch, phân cấp và dựa trên mật độ; khảo cứu kiến trúc các khối chức năng của máy tìm kiếm.
  2. Phương pháp phân tích và thiết kế hệ thống hướng đối tượng: Sử dụng ngôn ngữ mô hình hóa thống nhất (UML) để phân tích yêu cầu nghiệp vụ, xác định tác nhân, xây dựng biểu đồ ca sử dụng (Use Case Diagram), biểu đồ tuần tự (Sequence Diagram), biểu đồ cộng tác (Collaboration Diagram) và biểu đồ lớp (Class Diagram).

Nguồn dữ liệu thực nghiệm được lấy từ các trang web trên mạng Internet thông qua các truy vấn gửi tới máy tìm kiếm Google, sau đó được lưu trữ và quản lý trong hệ quản trị cơ sở dữ liệu Microsoft SQL Server.


Nội dung chính theo từng chương

Chương 1: Cơ sở lý thuyết

Chương 1 thiết lập các định nghĩa cơ bản và bức tranh tổng quan về khai phá dữ liệu và tìm kiếm thông tin trên Internet. Tác giả định nghĩa khai phá dữ liệu là quá trình tìm kiếm, phân tích và phát hiện các tri thức mới, tiềm ẩn và hữu dụng trong các cơ sở dữ liệu lớn. Các kỹ thuật chính được phân loại theo bài toán bao gồm: phân lớp và dự đoán, luật kết hợp, phân tích chuỗi thời gian, phân cụm và mô tả khái niệm/tóm tắt văn bản.

Về tìm kiếm thông tin trên Internet, tác giả phân tích kiến trúc của máy tìm kiếm thông qua hai khối chức năng cốt lõi: Khối truy vấn (tiếp nhận văn bản từ người dùng, phân tích câu truy vấn, đối sánh với chỉ mục và trả kết quả) và Khối đánh chỉ mục (thu thập tài liệu, phân tích nội dung, lưu trữ chỉ số). Tác giả khảo sát các đặc tính kỹ thuật nổi bật của máy tìm kiếm Google như công nghệ crawling tốc độ cao, khả năng đánh chỉ số trên hàng trăm terabyte dữ liệu, đáp ứng hàng trăm nghìn truy vấn mỗi giây cùng các toán tử tìm kiếm (Boolean, Proximity, Truncation, Fields, Limits, Stop words, Sorting).

Về tổ chức lưu trữ và xử lý, dữ liệu nhận về từ máy tìm kiếm được định nghĩa là văn bản phi cấu trúc (chứa văn bản lẫn các thẻ HTML) và được lưu vào SQL Server dưới dạng bảng trung gian. Tác giả đưa ra cấu trúc bảng lưu trữ kết quả và bảng khóa tìm kiếm:

Tên bảng / Trường Cột 1 Cột 2 Cột 3 Cột 4
Bảng lưu kết quả tìm kiếm WebsiteID (Mã trang web) SearchID (Mã tìm kiếm) Url (Địa chỉ trang web) Content (Văn bản thô)
Bảng SearchTable SearchID (Mã tìm kiếm) SearchKeys (Bộ từ khóa) ProductID (Mã sản phẩm) SearchEngineID (Mã máy tìm kiếm)

Chương 2: Khai phá và tổng hợp dữ liệu

Chương 2 đi sâu vào lý thuyết phân cụm dữ liệu – phương pháp học không giám sát nhằm phát hiện các cấu trúc mẫu tự nhiên trong tập dữ liệu lớn. Tác giả phân tích các ứng dụng của phân cụm trong thương mại, khoa học tự nhiên, nghiên cứu trái đất và khai phá dữ liệu Web (khai thác quan điểm người dùng, xu hướng tiêu dùng).

Chương này trình bày chi tiết cách phân loại dữ liệu và thuộc tính dựa trên kích thước miền (liên tục, rời rạc/nhị phân) và theo hệ đo: thuộc tính định danh (nominal), thuộc tính có thứ tự (ordinal), thuộc tính khoảng (interval), thuộc tính tỉ lệ (ratio) cùng các đặc tính của dữ liệu không gian (spatial data). Đồng thời, tác giả chỉ ra 9 yêu cầu kỹ thuật đối với một thuật toán phân cụm hiệu quả: khả năng mở rộng (scalability), thích nghi đa kiểu dữ liệu, khám phá cụm hình thù bất kỳ, giảm thiểu tham số đầu vào, ít nhạy cảm với thứ tự dữ liệu vào, khả năng thích nghi dữ liệu nhiễu cao, ít nhạy cảm tham số, thích nghi dữ liệu đa chiều và tính dễ cài đặt.

Nội dung trọng tâm của chương là việc khảo cứu chi tiết các họ thuật toán phân cụm kinh điển:

Họ thuật toán Tên thuật toán Tác giả / Năm đề xuất Cơ chế hoạt động chính Độ phức tạp tính toán
Phân hoạch (Partitional) k-means MacQueen (1967) Khởi tạo k trọng tâm, gán điểm theo khoảng cách Euclide, cập nhật trọng tâm theo trung bình cộng cho đến khi hàm sai số E tối thiểu. Phụ thuộc số vòng lặp và k, n
CLARA Kaufman (1990) Lấy 5 mẫu ngẫu nhiên kích thước (40 + 2k), áp dụng PAM trên mẫu để tìm medoid đại diện, chọn phân hoạch có độ phi tương tự trung bình nhỏ nhất. $O(k(40+k)^2 + k(n-k))$
CLARANS Ng và Han Tìm kiếm tối ưu cục bộ ngẫu nhiên bằng cách hoán đổi medoid với láng giềng; giới hạn số láng giềng duyệt bởi tham số Maxneighbor và số vòng lặp Numlocal. Tối ưu hơn CLARA trên dữ liệu lớn
Phân cấp (Hierarchical) BIRCH Zhang et al. Chiến lược top-down; xây dựng cây CF-tree cân bằng lưu bộ ba đặc trưng cụm $(n, LS, SS)$ với 2 tham số: hệ số nhánh $B$ và ngưỡng bán kính $T$. Đọc dữ liệu 1 lần ($O(n)$)
CURE Guha et al. Chiến lược bottom-up; sử dụng nhiều điểm đại diện co về tâm để nhận diện cụm hình thù bất kỳ, kết hợp phân hoạch mẫu và loại bỏ ngoại lai. $O(n^2 \log n)$
Dựa trên mật độ (Density-based) DBSCAN Ester et al. Mở rộng cụm dựa trên tính liên thông mật độ với 2 tham số bán kính láng giềng $Eps$ và số điểm láng giềng tối thiểu $MinPts$. $O(n \log n)$ (với chỉ mục không gian)
OPTICS Ankerst et al. Mở rộng DBSCAN; sắp xếp thứ tự các điểm dữ liệu để phản ánh cấu trúc phân cụm mật độ tương ứng với dãy tham số đầu vào. $O(n \log n)$
DENCLUE Hinneburg & Keim Sử dụng hàm ảnh hưởng (Influence Function) như phân phối Gaussian để tính hàm mật độ toàn cục; xác định cụm tại các điểm cực đại mật độ (density attractors). $O(n \log n)$

Chương 3: Hệ thống đánh giá thông tin sản phẩm

Chương 3 trình bày toàn bộ quá trình phát biểu bài toán, phân tích mô hình nghiệp vụ, xây dựng các biểu đồ thiết kế UML và hiện thực hóa chương trình thử nghiệm.

Hệ thống được thiết kế phục vụ hai tác nhân (Actor): Người dùng (cá nhân/tổ chức thao tác trên hệ thống) và Máy tìm kiếm (Google - thành phần dịch vụ bên ngoài nhận lệnh và trả dữ liệu).

Các yêu cầu chức năng nghiệp vụ được phân rã thành bảng mã hóa tham chiếu:

  • R1 - Cập nhật các danh mục:
    • R11: Cập nhật thông tin nhóm sản phẩm (Mã nhóm, Tên nhóm).
    • R12: Cập nhật thông tin loại sản phẩm (Mã loại, Tên loại).
    • R13: Cập nhật thông tin sản phẩm (Mã sản phẩm, Tên sản phẩm).
    • R14: Cập nhật thông tin Search Engine.
    • R15: Cập nhật thông số tìm kiếm (bộ từ khóa SearchKeys liên kết với mã sản phẩm).
  • R2 - Tìm kiếm: Gửi truy vấn tự động đến Search Engine và thu nhận danh sách liên kết, nội dung.
  • R3 - Báo cáo: Tổng hợp kết quả tìm kiếm, trích xuất dữ liệu đánh giá và tạo báo cáo cho người dùng.

Tác giả đã chi tiết hóa từng ca sử dụng thông qua các bảng mô tả thuộc tính và xây dựng đầy đủ các biểu đồ tương tác UML:

  • 04 biểu đồ Use Case (Biểu đồ tổng quan, Biểu đồ gói Cập nhật, Biểu đồ gói Tìm kiếm, Biểu đồ gói Báo cáo).
  • 07 biểu đồ tuần tự (Sequence Diagram) mô tả luồng tương tác giữa giao diện, đối tượng điều khiển và cơ sở dữ liệu cho các ca sử dụng từ UC1 đến UC5, Tìm kiếm và Lập báo cáo.
  • 07 biểu đồ cộng tác (Collaboration Diagram) tương ứng cho từng ca sử dụng.
  • 03 mô hình phân tích cho các gói ca sử dụng Cập nhật, Tìm kiếm, Báo cáo và Mô hình lớp thiết kế hệ thống tổng thể.

Thiết kế và triển khai

Hệ thống đánh giá thông tin sản phẩm được xây dựng dưới dạng ứng dụng thử nghiệm với môi trường phát triển và công nghệ cài đặt cụ thể:

  • Ngôn ngữ lập trình: C#.
  • Môi trường phát triển tích hợp (IDE): Microsoft Visual Studio 2010.
  • Hệ quản trị cơ sở dữ liệu: Microsoft SQL Server.

Cấu trúc kiến trúc của chương trình được chia thành ba phân hệ (hệ con) chính:

  1. Phân hệ Cập nhật danh mục:
    • Chịu trách nhiệm quản lý cấu trúc sản phẩm đa cấp: Nhóm sản phẩm $\rightarrow$ Loại sản phẩm $\rightarrow$ Sản phẩm cụ thể.
    • Cung cấp giao diện quản lý cấu hình các Search Engine và danh mục thông số tìm kiếm (SearchKeys kết hợp giữa tên sản phẩm và các thuộc tính mong muốn như giá cả, độ bền, xuất xứ).
  2. Phân hệ Tìm kiếm thông tin:
    • Đóng vai trò cầu nối tương tác tự động với máy tìm kiếm Google.
    • Tiếp nhận lệnh tìm kiếm từ hệ thống, đẩy câu truy vấn ra Internet, nhận kết quả trả về gồm danh sách URL và nội dung văn bản trang web, sau đó ghi trực tiếp vào cơ sở dữ liệu SQL Server.
  3. Phân hệ Xử lý và Báo cáo:
    • Đọc dữ liệu văn bản thô từ cơ sở dữ liệu, thực hiện phân loại sơ bộ theo mã sản phẩm và bộ từ khóa đánh giá.
    • Kết xuất giao diện báo cáo thống kê phục vụ công tác theo dõi của người quản trị.

Về giao diện người dùng, chương trình thiết kế các màn hình chức năng chuyên biệt:

  • Giao diện chính của chương trình.
  • Giao diện cập nhật nhóm sản phẩm.
  • Giao diện cập nhật loại sản phẩm.
  • Giao diện cập nhật thông tin sản phẩm.
  • Giao diện thực thi tìm kiếm thông tin sản phẩm.

Kết quả và đóng góp

Khóa luận đã hoàn thành các nội dung nghiên cứu và triển khai theo đúng mục tiêu đặt ra:

  • Về mặt học thuật và lý thuyết: Tổng hợp có hệ thống cơ sở lý thuyết về quy trình KDD và phân loại toàn diện các thuật toán phân cụm dữ liệu lớn theo ba trường phái chính (phân hoạch: k-means, CLARA, CLARANS; phân cấp: BIRCH, CURE; mật độ: DBSCAN, OPTICS, DENCLUE), chỉ rõ ưu nhược điểm và độ phức tạp tính toán của từng phương pháp.
  • Về mặt kỹ thuật và mô hình hóa: Xây dựng hoàn chỉnh hồ sơ phân tích thiết kế hệ thống thông tin theo chuẩn UML với 27 hình vẽ sơ đồ (từ ca sử dụng, biểu đồ tuần tự, biểu đồ cộng tác đến biểu đồ lớp) và 10 bảng đặc tả nghiệp vụ chi tiết cho bài toán khai thác dữ liệu sản phẩm từ Web.
  • Về mặt ứng dụng thực tiễn: Cài đặt thành công phiên bản thử nghiệm của phần mềm trên nền tảng .NET (C#) và SQL Server, cho phép quản lý danh mục sản phẩm phân cấp, cấu hình từ khóa truy vấn máy tìm kiếm tự động và lưu trữ nội dung trang web phục vụ công tác đánh giá ý kiến người tiêu dùng.

Hạn chế và hướng nghiên cứu tiếp

Khóa luận tập trung vào phân tích thiết kế và xây dựng khung ứng dụng thử nghiệm, do đó còn tồn tại một số điểm giới hạn được xác định từ phạm vi nghiên cứu:

  • Quá trình thu thập dữ liệu còn phụ thuộc hoàn toàn vào cơ chế trả về của máy tìm kiếm bên thứ ba (Google) và cấu trúc trang web nguồn, dữ liệu thu thập về ở dạng văn bản thô lẫn nhiều thẻ định dạng HTML cần quy trình lọc nhiễu phức tạp hơn.
  • Mô-đun phân loại và đánh giá ý kiến người dùng trên ứng dụng thử nghiệm mới dừng ở mức phân loại từ khóa đơn giản, chưa tích hợp sâu các thuật toán học máy xử lý ngôn ngữ tự nhiên (NLP) hoặc phân tích quan điểm (Sentiment Analysis) tự động trên ngữ liệu tiếng Việt phức tạp.
  • Hướng mở rộng tiếp theo của đề tài là tích hợp trực tiếp các giải thuật phân cụm nâng cao (như DBSCAN, DENCLUE) vào khối xử lý dữ liệu của chương trình và xây dựng các bộ trích xuất nội dung tự động chuyên sâu cho từng loại hình diễn đàn, mạng xã hội.

Giá trị tham khảo

Tài liệu này là nguồn tư liệu học thuật và kỹ thuật phù hợp cho:

  • Sinh viên ngành Công nghệ Thông tin, Hệ thống Thông tin và Khoa học Dữ liệu đang chuẩn bị thực hiện đồ án tốt nghiệp liên quan đến chủ đề khai phá dữ liệu web (Web Mining) hoặc trích xuất thông tin.
  • Người nghiên cứu cần một tài liệu tổng hợp rõ ràng, chuẩn mực về các thuật toán phân cụm dữ liệu kinh điển kèm công thức, mã giả thuật toán và độ phức tạp tính toán.
  • Các nhà phát triển phần mềm cần mẫu tham khảo về quy trình phân tích thiết kế hệ thống thông tin theo phương pháp hướng đối tượng và mô hình hóa chi tiết bằng biểu đồ UML (Use Case, Sequence, Collaboration, Class Diagram).

Câu hỏi thường gặp

1. Khóa luận sử dụng công cụ máy tìm kiếm nào và lưu trữ dữ liệu bằng hệ quản trị CSDL gì?
Khóa luận sử dụng máy tìm kiếm Google làm công cụ trích xuất thông tin trên Internet và sử dụng hệ quản trị cơ sở dữ liệu Microsoft SQL Server để lưu trữ các bảng danh mục sản phẩm, từ khóa tìm kiếm cùng dữ liệu văn bản thô thu thập được từ web.

2. Quy trình Khám phá tri thức trong CSDL (KDD) được tác giả phân chia thành mấy giai đoạn?
Quy trình KDD trong văn bản được chia thành 5 giai đoạn liên tiếp: (1) Trích chọn dữ liệu, (2) Tiền xử lý dữ liệu, (3) Biến đổi dữ liệu, (4) Khai phá dữ liệu và (5) Đánh giá và biểu diễn tri thức.

3. Cấu trúc quản lý danh mục sản phẩm trong hệ thống được phân cấp như thế nào?
Hệ thống quản lý sản phẩm theo mô hình phân cấp ba tầng: Nhóm sản phẩm (gồm Mã nhóm, Tên nhóm) $\rightarrow$ Loại sản phẩm thuộc nhóm (gồm Mã loại, Tên loại) $\rightarrow$ Sản phẩm cụ thể thuộc loại (gồm Mã sản phẩm, Tên sản phẩm).

4. Những thuật toán phân cụm dữ liệu nào được khảo cứu chi tiết trong Chương 2?
Khóa luận khảo sát 8 thuật toán thuộc ba nhóm: nhóm phân hoạch (k-means, CLARA, CLARANS), nhóm phân cấp (BIRCH, CURE) và nhóm dựa trên mật độ (DBSCAN, OPTICS, DENCLUE).

5. Ứng dụng phần mềm trong đồ án được xây dựng bằng ngôn ngữ và công cụ lập trình nào?
Ứng dụng thử nghiệm được phát triển bằng ngôn ngữ lập trình C# trên môi trường Microsoft Visual Studio 2010, kết nối cơ sở dữ liệu SQL Server.


Kết luận

Chuyên đề tốt nghiệp "Khai thác thông tin về sản phẩm từ Web" của sinh viên Trần Nguyễn Anh Tuấn đã hệ thống hóa đầy đủ cơ sở lý thuyết về khai phá dữ liệu, kiến trúc máy tìm kiếm và các giải thuật phân cụm kinh điển. Tác giả đã hoàn thiện bản phân tích thiết kế hệ thống toàn diện bằng ngôn ngữ mô hình hóa UML cho bài toán thu thập và đánh giá ý kiến sản phẩm từ Internet. Công trình đã hiện thực hóa thành công phần mềm thử nghiệm bằng C# và SQL Server, đặt nền tảng kỹ thuật cho việc xây dựng các công cụ hỗ trợ khảo sát thị trường tự động.