Phân loại bình luận tiêu cực trên Wikipedia: Ứng dụng công nghệ thông tin

Khóa luận trình bày công cụ phân loại bình luận tiêu cực trên Wikipedia, ứng dụng hệ thống thông tin trong phân tích dữ liệu trực tuyến.

Chuyên ngành

Hệ Thống Thông Tin

Người đăng

Ẩn danh

Thể loại

khóa luận tốt nghiệp

2020

104
2
0

Phí lưu trữ

35 Point

Mục lục chi tiết

LỜI CẢM ƠN

1. CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI

1.1. Đặt vấn đề

1.2. Khảo sát hiện trạng

1.3. Mục tiêu

1.4. Đối tượng phạm vi

1.5. Nội dung thực hiện

1.6. Bố cục báo cáo

2. CHƯƠNG 2: CƠ SỞ LÝ THUYẾT

2.1. Các vấn đề liên quan đến xử lý dữ liệu văn bản

2.1.1. Tokenization

2.1.2. Stop words

2.2. Phân lớp dữ liệu

2.2.1. Giới thiệu về phân lớp dữ liệu

2.2.2. Các vấn đề phân lớp dữ liệu

2.2.3. Phương pháp Logistic Regression

2.2.4. Phương pháp Random Forest

2.2.5. Phương pháp Support Vector Machine

2.2.6. Phương pháp đánh giá mô hình phân lớp

3. CHƯƠNG 3: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG

3.1. Xử lý dữ liệu văn bản

3.1.1. Làm sạch dữ liệu văn bản

3.1.2. Tiền xử lý dữ liệu văn bản

3.1.3. Phân tách đặc trưng

3.2. Phương pháp Logistic Regression

3.2.1. Ví dụ với Python

3.3. Phương pháp Support Vector Machine

3.3.1. Ví dụ với Python

4. CHƯƠNG 4: TRIỂN KHAI THỰC NGHIỆM

4.1. Công cụ sử dụng

4.2. Xử lý dữ liệu

4.2.1. Đọc dữ liệu

4.2.2. Cân bằng dữ liệu

4.2.3. Làm sạch dữ liệu

4.2.4. Tiền xử lý dữ liệu

4.2.5. Phân tách đặc trưng văn bản

4.2.6. Tách tập dữ liệu huấn luyện/kiểm định

4.3. Thực nghiệm trên mô hình Logistic Regression

4.4. Thực nghiệm trên mô hình Random Forest

4.5. Thực nghiệm trên mô hình Support Vector Machine

4.6. Đánh giá kết quả thực nghiệm

4.7. Ứng dụng thực nghiệm

5. CHƯƠNG 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

5.1. Kết luận

5.2. Hướng phát triển

TÀI LIỆU THAM KHẢO

PHỤ LỤC

Tóm tắt

I. Tổng quan về phân loại bình luận tiêu cực trên Wikipedia

Phân loại bình luận tiêu cực trên Wikipedia là một chủ đề quan trọng trong việc duy trì chất lượng nội dung và sự tôn trọng trong các cuộc thảo luận. Wikipedia, với vai trò là một nền tảng mở, thường xuyên phải đối mặt với các bình luận tiêu cực, gây ảnh hưởng đến môi trường thảo luận. Việc áp dụng công nghệ thông tin để phân loại và xử lý các bình luận này không chỉ giúp cải thiện trải nghiệm người dùng mà còn bảo vệ giá trị cốt lõi của Wikipedia.

1.1. Định nghĩa và tầm quan trọng của bình luận tiêu cực

Bình luận tiêu cực được định nghĩa là những ý kiến mang tính chất xúc phạm, đe dọa hoặc gây tổn thương đến người khác. Chúng có thể làm giảm chất lượng thảo luận và khiến người dùng ngần ngại khi tham gia. Việc nhận diện và phân loại các bình luận này là cần thiết để duy trì một môi trường thảo luận tích cực.

1.2. Công nghệ thông tin trong phân loại bình luận

Công nghệ thông tin đóng vai trò quan trọng trong việc phát triển các công cụ phân loại bình luận tiêu cực. Các thuật toán học máy như Logistic Regression, Random Forest và Support Vector Machine được sử dụng để phân tích và phân loại các bình luận, giúp quản trị viên dễ dàng nhận diện và xử lý.

II. Thách thức trong việc xử lý bình luận tiêu cực trên Wikipedia

Việc xử lý bình luận tiêu cực trên Wikipedia gặp nhiều thách thức. Đầu tiên, sự đa dạng trong ngôn ngữ và cách diễn đạt của người dùng tạo ra khó khăn trong việc nhận diện. Thứ hai, khối lượng dữ liệu lớn từ hàng triệu bình luận trên Wikipedia yêu cầu các phương pháp phân tích hiệu quả và nhanh chóng. Cuối cùng, việc duy trì tính khách quan và công bằng trong phân loại cũng là một thách thức lớn.

2.1. Độ phức tạp của ngôn ngữ tự nhiên

Ngôn ngữ tự nhiên rất phong phú và đa dạng, với nhiều cách diễn đạt khác nhau. Điều này làm cho việc nhận diện bình luận tiêu cực trở nên khó khăn, vì một bình luận có thể được hiểu theo nhiều cách khác nhau.

2.2. Khối lượng dữ liệu lớn

Wikipedia chứa hàng triệu bình luận, và việc phân tích tất cả các bình luận này trong thời gian thực là một thách thức lớn. Cần có các giải pháp công nghệ mạnh mẽ để xử lý và phân loại dữ liệu hiệu quả.

III. Phương pháp phân loại bình luận tiêu cực hiệu quả

Để phân loại bình luận tiêu cực trên Wikipedia, nhiều phương pháp khác nhau đã được áp dụng. Các thuật toán học máy như Logistic Regression, Random Forest và Support Vector Machine đã chứng minh được hiệu quả trong việc phân loại. Mỗi phương pháp có những ưu điểm và nhược điểm riêng, và việc lựa chọn phương pháp phù hợp là rất quan trọng.

3.1. Logistic Regression trong phân loại

Logistic Regression là một trong những phương pháp đơn giản nhưng hiệu quả trong việc phân loại bình luận tiêu cực. Phương pháp này sử dụng xác suất để dự đoán khả năng một bình luận là tiêu cực hay không.

3.2. Random Forest và độ chính xác cao

Random Forest là một thuật toán mạnh mẽ, sử dụng nhiều cây quyết định để cải thiện độ chính xác trong phân loại. Phương pháp này giúp giảm thiểu hiện tượng overfitting và tăng cường khả năng dự đoán.

3.3. Support Vector Machine và khả năng phân loại

Support Vector Machine (SVM) là một phương pháp mạnh mẽ khác, đặc biệt hiệu quả trong việc phân loại các bình luận tiêu cực. SVM tìm kiếm siêu phẳng tối ưu để phân chia các lớp dữ liệu, giúp cải thiện độ chính xác.

IV. Ứng dụng thực tiễn của phân loại bình luận tiêu cực

Việc phân loại bình luận tiêu cực không chỉ giúp cải thiện chất lượng nội dung trên Wikipedia mà còn có thể được áp dụng trong nhiều lĩnh vực khác nhau. Các công cụ phân loại có thể giúp các nền tảng trực tuyến khác duy trì môi trường thảo luận tích cực và an toàn cho người dùng.

4.1. Cải thiện trải nghiệm người dùng

Bằng cách loại bỏ các bình luận tiêu cực, người dùng sẽ cảm thấy thoải mái hơn khi tham gia thảo luận. Điều này giúp tăng cường sự tham gia và đóng góp của cộng đồng.

4.2. Ứng dụng trong các nền tảng trực tuyến khác

Các công cụ phân loại bình luận tiêu cực có thể được áp dụng cho nhiều nền tảng trực tuyến khác như diễn đàn, mạng xã hội, và các trang web thương mại điện tử, giúp duy trì môi trường tích cực.

V. Kết luận và hướng phát triển tương lai

Phân loại bình luận tiêu cực trên Wikipedia là một lĩnh vực nghiên cứu quan trọng, với nhiều thách thức và cơ hội. Việc áp dụng công nghệ thông tin trong phân loại không chỉ giúp cải thiện chất lượng nội dung mà còn mở ra nhiều hướng phát triển mới cho các công cụ phân tích ngôn ngữ tự nhiên.

5.1. Tương lai của công nghệ phân loại

Công nghệ phân loại bình luận tiêu cực sẽ tiếp tục phát triển, với sự xuất hiện của các thuật toán mới và cải tiến trong học máy. Điều này hứa hẹn sẽ mang lại những giải pháp hiệu quả hơn trong việc xử lý bình luận tiêu cực.

5.2. Nâng cao khả năng nhận diện

Nâng cao khả năng nhận diện và phân loại bình luận tiêu cực sẽ là một trong những mục tiêu chính trong nghiên cứu tương lai. Việc cải thiện độ chính xác và tốc độ xử lý sẽ giúp các công cụ trở nên hữu ích hơn.

10/07/2025

Trích đoạn nội dung tài liệu

Chương I: Tổng quan dé tài e Giới thiệu tổng quan nhất về nội dung đề tài, đặt vấn dé và lý do chọn đề tài, khảo sát hiện trạng, mục tiêu, đối tượng, phạm vi nghiên cứu, công cụ xây dựng hệ thống và bố cục báo cáo. Chương II: Cơ sở lý thuyết © Giới thiệu cơ sở lý thuyết về các vấn dé trong dữ lý văn bản và các thuật toán phân loại sử dụng trong đề tài. Chương III: Phân tích và thiết kế hệ thống ¢ M6 tả cách làm sạch, tiền xử lý dữ liệu và 3 phương pháp phân loại bình luận tiêu cực. Chương IV: Triển khai thực nghiệm e Thực hiện đánh giá các thuật toán phân loại bình luận tiêu cực, chọn ra phương pháp tối ưu với dữ liệu.

Áp dụng phương pháp vào phân loại bình luận tiêu cực. 17 SVTH: Nguyên Thanh Quang — 16521524 Phạm Tuân Nghĩa — 16520817 Khóa luận tốt nghiệp. Xây dựng công cụ phân loại các bình luận tiêu cực trên Wikipedia. Chương V: Kết luận và hướng phát triển e Kết luận và đề ra hướng phát triển phân loại bình luận tiêu cực.TS Đỗ Phúc 18 SVTH: Nguyễn Thanh Quang — 16521524 ThS.

Do Thị Kim Phụng Phạm Tuân Nghĩa — 16520817 Khóa luận tốt nghiệp. Xây dựng công cụ phân loại các bình luận tiêu cực trên Wikipedia. Chuong2 Cơ sở lý thuyết 2.1 Các van đề liên quan đên xử lý dữ liệu văn ban 2.1 Tokenization Token hóa (Tokenization) là quá trình tách một chuỗi, văn bản thành danh sách các token. Có thé hiểu các token sau quá trình token hoá là một từ trong một câu văn hoặc có thé là câu văn trong một đoạn van [1].

Vi dụ với câu: “this is a sample sentence”. Ta sẽ được két qua: “this” “is” “a” “sample 99 66,99 66 99 66 sentences”. Vi dụ về Tokenization với python: from nltk.tokenize import word_tokenize text = "this is a sample" tokens = word_tokenize(text) print(tokens) Bang 2. 1 Ví dụ Tokenization với Python Két qua: ['this', ‘is', 'a', 'sample', ‘sentence’] 2.2 Stop words Stop words là các từ thường xuất hiện trong van bản (ví dụ như “the”, “this”,“1s”, “a”, “an”, 99 665.) mà không mang ý nghĩa quan trọng trong các thuật toán phân loại.

Kỹ thuật phổ biên nhât đê xử lý với những từ này là xóa chúng khỏi các văn bản và tài liệu.TS Đỗ Phúc 19 SVTH: Nguyễn Thanh Quang — 16521524 ThS. Do Thị Kim Phụng Phạm Tuân Nghĩa — 16520817 Vi dụ xoá các stop words với python: from nltk.corpus import stopwords from nltk.tokenize import word_tokenize example_sent = "this is a sample sentence" stop_words = set(stopwords.words( 'english')) word_tokens = word_tokenize(example_sent) filtered_sentence = [] for w in word_tokens: if w not in stop_words: filtered_sentence. 2 Ví du xoá các stop words trong văn ban với Python Két qua: Before: ['this', 'is', 'a', ‘sample’, 'sentence'] After: ['sample', 'sentence'] 2.3 Mô hình túi từ (Bag of Words model) Mô hình túi từ (hay bag-of-words model) là một biểu diễn đơn giản hóa được sử dụng trong xử lý ngôn ngữ tự nhiên và truy van thông tin (IR). Trong mô hình này, một văn ban (chẳng hạn như một câu hoặc một tài liệu) được thể hiện dưới dạng túi (multiset) chứa các từ của nó, không quan tâm đến ngữ pháp và thậm chí trật tự từ nhưng vẫn giữ tính đa dạng.

Mô GVHD: PGS.TS Đỗ Phúc 20 SVTH: Nguyễn Thanh Quang — 16521524 ThS. Đỗ Thị Kim Phụng Phạm Tuân Nghĩa — 16520817 Mô hình túi từ thường được sử dụng trong các phương pháp phân loại tài liệu trong đó sự xuất hiện (tần suất) của mỗi từ được sử dụng như một đặc trưng để đào tạo máy phân loại. Một tài liệu tham khảo đầu tiên về "túi từ" trong ngữ cảnh ngôn ngữ có thể được tìm thấy trong bài viết năm 1954 của Zellect Harris về Câu trúc phân phối. Ví dụ, chúng ta có hai văn bản: (d1) this is a sample (d2) this is another example Dựa vào hai văn bản trên, một túi (danh sách) từ được xây dựng như sau: ay; "another", "example", is", "sample", "this" ] Mô hình túi từ được sử dụng nhiều trong việc tạo ra các thuộc tính (feature generation).

Sau khi chuyển văn bản thành "túi từ", chúng ta có thé tính toán bằng nhiều cách khác nhau, hầu hết cách để biểu diễn một văn bản từ túi từ là tần số xuất hiện (term frequency) - số lần xuất hiện của một từ trong văn bản. Tw ví dụ trên, có thé biểu diễn lại thành hai vector văn bản như sau: (đ1) [1, 9, 9, 1, 1, 1] (d2) [@, 1, 1, 1, 9, 1] GVHD: PGS.TS Đỗ Phúc 21 SVTH: Nguyễn Thanh Quang — 16521524 ThS. Đỗ Thị Kim Phụng Phạm Tuân Nghĩa — 16520817 Xây dựng công cụ phân loại các bình luận tiêu cực trên Wikipedia. một con số thu được qua thông kê thé hiện mức độ quan trọng của một từ trong một văn bản, mà bản thân văn bản đang xét nằm trong một tập hợp các văn bản.

TF- term frequency là tần số xuất hiện của 1 từ trong 1 văn bản được tính với công thức: f(t, d) tŒ,4) = max[fdw,d): € đ) > Thương của số lần xuất hiện l từ trong văn ban và số lần xuất hiện nhiều nhất của một từ bất kỳ trong văn bản đó (giá trị sẽ thuộc khoảng [0, 1]). >_f(,d): số lần xuất hiện từ t trong văn bản d. > max{f(w,d):w€d}: số lần xuất hiện nhiều nhất của một từ bất kỳ trong văn bản. IDF - inverse document frequency là tan số nghịch của 1 từ trong tập van bản (corpus).

Tinh IDF dé giảm giá trị của những từ phô biến. Mỗi từ chi có 1 giá tri IDF duy nhất trong tập văn bản. |D| IdfŒ,Đ) = los repre dl > |D|: tổng số văn bản trong tập D. > |{d € D:t € đ)|: số văn bản chứa từ nhất định, với điều kiện r xuất hiện trong văn bản d (ŒfŒ, đ) # 0).

Nếu từ đó không xuất hiện ở bat cứ một văn bản nào trong tập thi mẫu số sẽ bằng 0 dẫn đến phép chia cho không không hợp lệ, vì thế người ta thường thay bang mẫu thức 1 + |{d € D:t € đ|. Cơ số logarit trong công thức này không thay đổi giá trị của 1 từ mà chỉ thu hẹp khoảng giá trị của từ đó. Vì thay đổi cơ số sẽ dẫn đến việc giá trị của các từ thay đổi bởi một số nhất định và tỷ lệ giữa các trọng lượng với nhau sẽ không thay đổi (nói cách khác, thay đổi cơ số sẽ không ảnh hưởng đến tỷ lệ giữa các giá trị IDF). Tuy nhiên việc thay đổi khoảng giá trị sẽ giúp tỷ lệ giữa IDF và 2 SVTH: Nguyên Thanh Quang — 16521524 Phạm Tuân Nghĩa — 16520817 Xây dựng công cụ phân loại các bình luận tiêu cực trên Wikipedia.

tf — idfŒ, d, D) = tf(t, đ) x idf(t, D) > Những từ có giá trị TF-IDF cao là những từ xuất hiện nhiều trong văn bản này, và xuất hiện ít trong các văn bản khác. Việc này giúp lọc ra những từ phổ biến và giữ lại những từ có giá trị cao (từ khoá của văn bản đó). Ví dụ: Với 2 văn bản có tần số xuất hiện như sau: Van ban 1: Tir Số lần xuất hiện this 1 1s 1 a 2 sample 1 Van ban 2: Từ Số lần xuất hiện this 1 is 1 another 2 example 3 Việc tính toán tf-idf cho từ "this" được thực hiện như sau: aMiIeR e tf(this”,dị)= = 0.14 * idf(this",D) = log (2) = 0 Vậy tf-idf cho từ "this" có giá tri: © tÍ— idf(this”,dị,D) = 02x0=0 SVTH: : Nguyên anh Quang — 16521524 Phạm Tuân Nghĩa — 16520817 Khóa luận tốt nghiệp. Xây dựng công cụ phân loại các bình luận tiêu cực trên Wikipedia.301 Vậy tf-idf cho từ "example" có giá tri: e tÝ— idf(“example”, d,,D) = tf(“example”, d,) x idf(“example”,D) = 0 x 0.5 Gan nhãn từ loại (Part of Speech Tagging) Part of Speech Tagging (hay POST) là việc gan nhãn từ loại các từ trong một câu (danh từ, trạng từ, tính từ hay động từ, v.

Việc phân loại từ như thế này sẽ góp phần giúp cho các chương trình xử lý ngôn ngữ tự nhiên nắm được thêm ý nghĩa của câu thay vì chỉ xem nó như là tập hợp của các ký tự. Ví dụ: I fish a fish. Câu này sẽ được gắn nhãn POS như sau: U/PRP fish/VBP a/DT fish/NN. Trong đó: e PRP - Personal pronoun (dai từ).

e VBP - Verb, non-3rd person singular present (động từ ngôi thứ nhất, thứ hai).TS Do Phúc 24 SVTH: Nguyễn Thanh Quang — 16521524 ThS. D6 Thi Kim Phung Pham Tuan Nghĩa — 16520817 Khóa luận tốt nghiệp. Xây dựng công cụ phân loại các bình luận tiêu cực trên Wikipedia. e NN- Noun, singular or mass (danh từ).

Ngoài ra còn nhiều loại POS Tag khác”. Trong ví dụ trên, từ fish đầu tiên là động từ, còn từ fish thứ hai là danh từ, vì thế chúng ta có thé dịch chính xác hơn từ fish đầu tiên bằng cách tra từ điển theo từ loại động từ và từ fish thứ hai theo dạng danh từ. Khi đó kết quả dịch sẽ là: “Tôi câu một con cá Ví dụ với python: from nltk import pos_tag from nltk.tokenize import word_tokenize text = "I fish a fish" tokens = word_tokenize(text) pos_tag(tokens) Bang 2. 3 Part of Speech Tagging Két qua: [('I', 'PRP'), ('fish', 'VBP'), ('a', 'DT'), ('fish', "NN°)] 2.6 Stemming/Lemmatization Stemming e Stemming là quá trình tạo ra các biến thé của từ về dạng gốc bằng cách cực kỳ đơn giản là loại bỏ một số ký tự nằm ở cuối từ mà nó nghĩ rằng là biến thé của từ.

Ví dụ như các từ walked, walking, walks chỉ khác nhau ở các hậu tố, bằng cách bỏ đi các hậu tố -ed, 2 https://www.edu/courses/Fall_2003/ling001/penn_treebank_pos.html GVHD: PGS.TS Đỗ Phúc 25 SVTH: Nguyễn Thanh Quang — 16521524 ThS. Đỗ Thị Kim Phụng Phạm Tuân Nghĩa — 16520817 Khóa luận tốt nghiệp. Xây dựng công cụ phân loại các bình luận tiêu cực trên Wikipedia. -ing hoặc -s, chúng ta sẽ được từ nguyên gốc là walk.

Các bộ xử lý stemming thường được gọi là Stemmer. Các bộ xử lý stemming thường được sử dụng hiện nay: Porter Stemmer: Đây là một trong những thuật toán stemming phổ biến nhất được phát triển vào năm 1980. Nó dựa trên ý tưởng rằng các hậu tố trong ngôn ngữ tiếng Anh được tạo thành từ sự kết hợp của các hậu tố có độ đài ngắn hơn và đơn giản hơn. Thuật toán stemming này được biết đến với tốc độ xử lý nhanh và đơn giản.

Các ứng dụng chính của Porter Stemmer bao gồm Khai thác dữ liệu (Data mining) và Truy xuất thông tin (IR). Tuy nhiên, các ứng dụng của nó chỉ giới hạn trong các từ tiếng Anh và gốc đầu ra không nhất thiết phải là một từ có nghĩa. Snowball Stemmer: Khi so sánh với Porter Stemmer, Snowball Stemmer có thé tạo ra các biến thể của từ về dạng gốc với những từ không phải tiếng Anh.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ