Chương 1 đã trình bày khái quát về lĩnh vực xử lý ngôn ngữ tự nhiên, giới thiệu về bài toán phân loại văn bản. Sau đó đề xuất bài toán xác định ý định người dùng và các nghiên cứu liên quan tới đề tài xác định ý định người dùng, từ đó đưa ra những vấn đề cần làm rõ và giải quyết trong luận văn. Trong Chương 2, luận văn sẽ trình bày về hướng giải quyết cho bài toán xác định ý định người dùng, và đi sâu hơn trình bày về các phương pháp sẽ áp dụng để giải quyết bài toán. Luan van 11 CHƯƠNG 2: CÁC PHƯƠNG PHÁP PHÁT HIỆN Ý ĐỊNH NGƯỜI DÙNG DỰA TRÊN HỌC MÁY Trong chương này, luận văn trình bày chi tiết về các phương pháp được áp dụng trong bài toán phát hiện ý định người dùng.
Chương 2 gồm 3 phần: - Trình bày về phương pháp giải quyết bài toán phát hiện ý định người dùng đã có, đưa ra hướng phát triển thuật toán để cải thiện kết quả xử lý trong 2 trường hợp dữ liệu cùng miền và chéo miền. - Trình bày về các phương pháp biểu diễu đặc trưng cho văn bản được áp dụng trong bài toán phát hiện ý định người dùng: N-Gram, TF- IDF. - Trình bày về các phương pháp học máy, xây dựng mô hình phân lớp dữ liệu cho bài toán phát hiện ý định người dùng: Naïve Bayes, Support Vector Machine (SVM) 2. Phương pháp giải quyết bài toán Các bước thực hiện để xây dựng phương pháp giải quyết cho bài toán xác định ý định người dùng được mô tả như trong hình vẽ dưới đây: Hình 2.1: Phương pháp xây dựng chương trình cho bài toán Để giải quyết bài toán xác định ý định của người dùng trên diễn đàn, ta sẽ thực hiện xác định qua 2 giai đoạn chính như sau: Giai đoạn Huấn luyện: sẽ thu thập dữ liệu mẫu, thực hiện tiền xử lý (loại bỏ các ký tự đặc biệt, ký tự thừa, các từ stopwords không ảnh hưởng tới ý nghĩa của văn bản).
Xây dựng 2 bộ dữ liệu học đã gán nhãn và bộ dữ liệu thực Luan van 12 nghiệm chưa gán nhãn. Trong đề tài giai đoạn huấn luyện sẽ sử dụng 2 thuật toán là TF-IDF, và N-Gram với n=1,2,3… Giai đoạn Phân loại: sẽ tiến hành thực hiện các thuật toán trích chọn đặc trưng và phân lớp cần thiết để xác định các đặc trưng và các lớp dữ liệu đầu ra. Sử dụng kết quả ở giai đoạn Tiền xử lý làm dữ liệu đầu vào cho các thuật toán trích chọn đặc trưng và phân lớp, từ đó đưa ra kết luận về nhãn của bộ dữ liệu chưa gán nhãn. Giai đoạn phân loại trong đề tài sẽ sử dụng 2 thuật toán là SVM và thuật toán Naïve Bayes để tiến hành phân lớp cho dữ liệu.
Các phần tiếp theo của chương 2 sẽ trình bày chi tiết hơn về các thuật toán được lựa chọn và áp dụng vào việc xác định ý định của văn bản. Các phương pháp biểu diễn đặc trưng của văn bản 2. Phương pháp TF-IDF a. Giới thiệu phương pháp Mục đích của việc phân loại là để phân loại ra các thông điệp mà chứa văn bản không phù hợp với chủ đề của danh sách, các tính năng văn bản là các tính năng chính trong hệ thống.
Các tính năng văn bản sẽ đại diện cho sự liên quan giữa chủ đề của văn bản với danh sách như thế nào. Mỗi danh sách có một chủ đề khác nhau (hoặc nhiều chủ đề), vì vậy hệ thống cần một phương thức để tự động lấy ra chủ đề chính của 1 nguồn danh sách, và tính toán sự tương tự của thông điệp với chủ đề của nguồn. Trong phương pháp tiếp cận truyền thống cũng là một trong những phương pháp được sử dụng nhiều nhất đó là phương pháp tần suất thuật ngữ ”term frequency” (TF) hay tần suất thuật ngữ - nghịch đảo tần suất văn bản “term frequency-inverse document frequency” (viết tắt là TF-IDF) được sử dụng trong việc phân loại văn bản. Về cơ bản thì thuật toán TF-IDF là một kỹ thuật giúp chuyển đổi thông tin dưới dạng văn bản thành một mô hình vector trong không gian qua các trọng số.
Mô hình vector trong không gian và thuật toán TF-IDF được phát triển bởi Gerard Salton vào đầu thập niên 1960s. Mặc dù đơn giản, nhưng mô hình vector không gian và những cải tiến của nó hiện nay vẫn là cách phổ biến để biểu diễn văn bản trong khai phá dữ liệu và truy Luan van 13 xuất thông tin. Tuy nhiên, một trong những điểm yếu của mô hình vector không gian là số chiều lớn (high- dimensonal), có khoảng cỡ chục triệu chiều trong không gian vector nếu như luận văn áp dụng chúng vào cơ chế tìm kiếm web. Phương pháp này chỉ ra tầm quan trọng của một từ với văn bản trong hàng loạt các văn bản như thế nào.
Trong TF-IDF, tầm quan trọng của một từ với văn bản lớn hơn khi nó được sử dụng ở trong một văn bản, và nó sẽ thấp hơn khi một từ xuất hiện nhiều trong nhiều bộ văn bản. Thuật toán này được biểu diễn dưới công thức sau: TF-IDF(t, d, D) = TF(t, d) * IDF(t, D) (2.1) Trong đó: - t là thuật ngữ hay có thể là một từ trong văn bản. - d là văn bản cần được phân loại chủ đề. - D là tập hợp tất cả các văn bản.
Khi đó thì: TF(t, d) = frequency(t, d) (2.2) - Frequency(t, d) là tần suất xuất hiện của thuật ngữ t trong văn bản d. Và: 𝑁 IDF(t, D) = log (2.3) {|𝑑∈𝐷:𝑡∈𝑑|} Trong đó: - N là tổng số văn bản trong bộ dữ liệu - |{d ∈ D ∶ t ∈ d}| là số văn bản thuật ngữ t xuất hiện trong bộ dữ liệu Trọng số TF-IDF đạt kết quả cao khi tần suất của thuật ngữ trong văn bản cần phân loại cao và tần suất của thuật ngữ đó trong bộ dữ liệu chung để từ đó ta có thể phân loại ra được các thuật ngữ phổ biến với từng chủ đề. Do trọng số trong hàm log của IDF luôn lớn hơn hoặc bằng 1, vì vậy giá trị của IDF và TF-IDF luôn lớn hơn hoặc bằng 0. Nếu một thuật ngữ xuất hiện trong nhiều tài liệu, thì trọng số bên trong hàm log sẽ có cận là 1, khi đó IDF và TF-IDF sẽ có cận là 0.
Luan van 14 Sau khi trọng số TF-IDF được tính toán sẽ sinh ra một chỉ số TF-IDF đại diện cho giá trị một vector của văn bản đó. Từ đó ta có thể tính được tổng các vector sinh ra một vector cho cả văn bản, sau đó sử dụng vector để tính tần suất và so sánh, đánh giá văn bản.2: Mô tả mô hình vector của văn bản Trong đó: - X1, X2,…,Xn là các từ xuất hiện trong câu - W0, W1, W2,… ,Wn là các vector ứng với từng từ trong một văn bản. Tương tự với 2 văn bản cũng như vậy, sau đó hệ thống có thể tính toán được tính tương đồng lượng giác giữa các vector trong văn bản. Ngoài ra các vector có thể được sử dụng trong việc phân loại thuật toán như một vector các tính năng, trong trường hợp này thuật toán phân loại sẽ học những thuộc tính có ích để quyết định việc phân loại.
Trọng số TF-IDF là trọng số phổ biến được sử dụng trong các công cụ tìm kiếm cũng như các công việc phân loại văn bản khác nhau. So với phương pháp tần số văn bản nghịch đảo, TF-IDF cho kết quả là một số thấp hơn với mỗi thuật ngữ nếu thuật ngữ đó xuất hiện nhiều lần trong bộ văn bản chung, điều này giúp loại bỏ các thuật ngữ phổ biến ví dụ như “the” hay “and” trong tiếng Anh, hoặc những từ thường gặp mà danh sách stopwords còn thiếu. Tuy nhiên, trong trường hợp mà bộ văn bản gồm nhiều chủ đề, tần suất xuất hiện của một thuật ngữ Luan van 15 không đánh giá được là thuật ngữ này liên quan đến danh sách. Vì vậy kế hoạch tính trọng số thường không sử dụng để nhận diện chủ đề của từng văn bản trong một bộ văn bản chung.
Vì việc thực hiện tính trọng số không phù hợp với mục đích phân loại của đề tài, nên trong luận văn áp dụng một phương pháp mới mà về cơ bản điểm số là sự tương đồng của một văn bản so với chủ đề chính của một nguồn dữ liệu. Khó khăn ở đây chính là để phân biệt tần suất các từ thực sự liên quan với chủ đề chính của nguồn, và công việc đó là thường xuyên vì những từ đó thường khá phổ biến. Việc phân biệt này là khả thi khi luận văn quan sát tần số xuất hiện của các từ trong một nguồn dữ liệu chung lớn hơn. Khi tần số của một từ trong một nguồn có chủ đề đặc biệt (hay gọi là nguồn local) và trong một nguồn dữ liệu chung (hay gọi là nguồn global), khi mà một lượng người dùng lớn cập nhật các thông điệp để so sánh, tần số của từ có thể giúp đánh giá mặc dù từ đó tần suất sử dụng nhiều trong nguồn.
Việc so sánh tần số sẽ đưa ra một cách nhìn chính xác hơn về độ liên quan giữa một từ cụ thể với một nguồn dữ liệu chủ đề như thế nào. Ví dụ, giả sử có một nguồn dữ liệu chủ đề bao gồm các bài viết từ một danh sách của một tập người dùng trên Twitter về chủ đề cơ sở dữ liệu, và có một nguồn cấp dữ liệu chung lớn hơn thu thập tất cả các bài viết bởi người dùng của Twitter về các chủ đề khác nhau. Xét về trực quan từ “MySQL” sẽ được xuất hiện thường xuyên trong nguồn dữ liệu chủ đề, như là kết quả của sở thích của người dùng về hệ thống cơ sở dữ liệu. Không giống như nguồn dữ liệu tập trung, nguồn dữ liệu chung sẽ chứa nhiều người dùng với nhiều sở thích khác nhau.
Vậy sẽ có hàng ngàn chủ đề khác nhau trong nguồn dữ liệu chung này và một trong số chúng sẽ là hệ thống cơ sở dữ liệu. Vì vậy, tần số của chủ đề cơ sở dữ liệu trong nguồn dữ liệu chung sẽ thấp nhiều, do đó từ “MySQL” sẽ xuất hiện với tần số ít hơn. Nếu luận văn đưa ra một từ phổ biến như thời gian, con người hoặc hôm nay, dự kiến rằng những từ này rất phổ biến trong cả nguồn dữ liệu chủ đề và nguồn dữ liệu chung. “Today” có thể xuất hiện thường xuyên hơn “MySQL” trong nguồn dữ liệu chủ đề, tuy nhiên luận văn sẽ có thể phân biệt được 2 từ này bởi tần số của chúng trong nguồn dữ liệu Luan van 16 chung.