1. Trang chủ
  2. » Luận Văn - Báo Cáo

tài “ phân tích cảm xúc theo khía trên mạng xã hội %22quản lí danh tiếng thương hiệu, phân tích phản hồi của khách hàng trên nền tảng facebook

37 0 0
Tài liệu được quét OCR, nội dung có thể không chính xác
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Phân Tích Cảm Xúc Theo Khía Trên Mạng Xã Hội Quản Lí Danh Tiếng Thương Hiệu, Phân Tích Phản Hồi Của Khách Hàng Trên Nền Tảng Facebook
Tác giả Mai Văn Hựng, Lờ Trung Hiếu, Ha Tiộn Duy, Lương Tiờn Dũng, Nguyờn Hải Đăng
Người hướng dẫn Đinh Xuân Trường
Trường học Học Viện Công Nghệ Bưu Chính Viễn Thông
Chuyên ngành Khoa Học Dữ Liệu
Thể loại Báo cáo tuần
Năm xuất bản 2024
Thành phố Hà Nội
Định dạng
Số trang 37
Dung lượng 4,48 MB

Nội dung

Mục tiêu chính là phân loại cảm xúc theo các khía cạnh khác nhau từ nội dung bài đăng và bình luận, qua đó xác định chỉ số tích cực, tiêu cực, bay trung lập của thương hiệu.. Tuy nhiên,

Trang 1

Dé tai: “ PHAN TICH CAM XÚC THEO KHÍA TRÊN MẠNG XÃ HỘI

“QUAN LI DANH TIENG THUONG HIEU, PHAN TICH PHAN HOI CUA KHACH HANG TREN NEN TANG FACEBOOK ”

Nhóm06: N04 Người hướng dẫn : ĐINH XUÂN TRƯỜNG

Vũ Tiến Quang : B2IDCCN634

Lê Trung Hiếu : B2IDCCN357 Mai Văn Hùng :B21DCCN411

Ha Tién Duy : B2IDCCN291

Lương Tiên Dũng : B2IDCCN272

Nguyên Hải Đăng : B2IDCCN202

HÀ NỘI - 2024

Trang 2

Dé tai: “ PHAN TICH CAM XUC THEO KHIA TREN MANG XA HOI

"QUAN LI DANH TIENG THUONG HIEU, PHAN TICH PHAN HOI

CUA KHACH HANG TREN NEN TANG FACEBOOK ”

Nhóm 06 : _ N04 Người hướng dẫn : ĐINH XUAÂN TRƯƠNG

Vũ Tiên Quang : B2IDCCN634

Lê Trung Hiếu : B2IDCCN357 Mai Văn Hùng :B21DCCN411

Ha Tién Duy : B2IDCCN291

Lương Tiên Dũng : B2IDCCN272

Nguyên Hải Đăng : B2IDCCN202

Trang 3

LỜI CẢM ƠN

Chúng em xin gửi lời cảm ơn sâu sắc và chân thành nhất đến thầy Đinh Xuân Trường, người đã tận tình hướng dẫn

và hỗ trợ nhóm chúng em trong suốt quá trình thực hiện báo cáo tuần này Nhờ sự chỉ bảo nhiệt tình và những lời khuyên quý báu từ thầy, nhóm chúng em không chỉ hiểu rõ hơn về cách tiếp cận và xử lý đữ liệu từ API Facebook,

mà còn tích lũy thêm rất nhiều kiến thức thực tiễn về lĩnh vực khai thác và phân tích đữ liệu Thầy đã không ngừng

động viên và tạo điều kiện thuận lợi để nhóm chúng em có thể tiếp cận các công cụ, phương pháp và tài liệu liên

quan đến môn học Nhập môn Khoa học Dữ liệu Những hướng dẫn cụ thể và sát sao của thầy trong từng bước từ việc thiết kế quy trình thu thập đữ liệu, xử lý đữ liệu thô, đến việc trình bày kết quả một cách trực quan và dé hiểu, đều là những bài học vô giá đối với chúng em Qua quá trình thực hiện báo cáo, chúng em nhận thấy đây không chỉ

là một bài tập thực hành đơn thuần mà còn là cơ hội để tiếp cận những thách thức thực tế trong việc xử lý và phân

tích đữ liệu lớn Những kinh nghiệm và kiến thức mà nhóm chúng em thu được từ sự hướng dẫn tận tâm của thầy chắc chắn sẽ trở thành hành trang quý giá, hỗ trợ cho quá trình học tập và nghiên cứu của chúng em trong tưởng lai Một lần nữa, chúng em xin chân thành cảm ơn thầy vì sự hỗ trợ tận tình và những bài học quý báu mà thầy đã mang đến Chúng em hy vọng rằng sẽ tiếp tục nhận được sự chỉ dẫn của thầy trong các dự án và hành trình học tập

tiếp theo

Hà Nội, ngày 15 tháng II năm 2024

Đại diện nhóm Mai Văn Hùng

Trang 4

1.2 Mục tiêu và định hướng giải pháp . - TQ nQn HH HH HH HH ni n n nv cv s 1

In hố “(d1 .ăẼäă äăää a acc 2

CHUONG 2 BAO CAO TIEN DO TUNG TUAN Topic 1-12 .cccccccsesseseeecessseseeseecseesesseseseees 3

Trang 5

DANH MỤC THUẬT NGỮ VÀ TU VIET TAT

API: Application Programming Interface | Giao dién lap trinh tng dung

11

Trang 6

DANH MUC HINH VE

Code lay Cookies dingnh4p 2 Q Q Q Q Q TQ Q2 4

Lay d@ligu 2 Q Q Q Q Q QQ QQQ Q g v v.v xxx xxx x2 5

Kết quả Random Forest 2 0 ee 13 Kết quả Random Forest Ặ ee 13

kết quả sosánh Q Q Quy v xxx x2 14

Kết quả đánh giá môhình Q TQ 0Q 0Q Q2 16

Trang 7

2.39 Kết quả thông kê

2.40 Kết quả thống kê

Trang 8

PHAN MO DAU

Mục tiêu và định hướng nghiên cứu: Nghiên cứu này tập trung vào việc xây dựng một hệ thống phân tích cảm

xúc từ đữ liệu mạng xã hội, cụ thể là Facebook, nhằm hỗ trợ doanh nghiệp trong quản lý danh tiếng thương hiệu Mục tiêu chính là phân loại cảm xúc theo các khía cạnh khác nhau từ nội dung bài đăng và bình luận, qua đó xác

định chỉ số tích cực, tiêu cực, bay trung lập của thương hiệu Định hướng nghiên cứu không chỉ dừng lại ở việc

cung cấp công cụ hỗ trợ đánh giá mà còn rút ra những khía cạnh quan trọng trong phản hồi của khách hàng, góp phần nâng cao hiệu quả chiến lược marketing và dịch vụ khách hàng

Đặt vẫn đề đến đề tài : Với hơn 3 tỷ người dùng trên toàn cầu, mạng xã hội, đặc biệt là Facebook, đã trở thành

một nền tảng quan trọng để các thương hiệu kết nỗi với khách hàng Tuy nhiên, lượng thông tin khổng lồ từ các bài

đăng và bình luận tạo ra thách thức trong việc quản lý và phân tích dữ liệu Phản hồi của khách hàng trên mang

xã hội chứa đựng thông tin giá trị về cảm xúc, nhu cầu, và quan điểm, nhưng không dễ để khai thác hiệu quả mà

không có sự hỗ trợ của các công cụ hiện đại Điều này dẫn đến việc các doanh nghiệp gặp khó khăn trong việc xác

định mức độ hài lòng của khách hàng và quản lý danh tiếng thương hiệu một cách chính xác

Các giải pháp hiện tại và hạn chế: Hiện nay, một số phương pháp phân tích cảm xúc sử dụng các mô hình học

máy (machine learning) và xử lý ngôn ngữ tự nhiên (NLP) đã được áp dụng Tuy nhiên, hầu hết các phương pháp

này vẫn tổn tại những hạn chế, bao gồm:

« Độ chính xác thấp khi phân tích các bài viết hoặc bình luận có ngôn ngữ phức tạp, mỉa mai hoặc chứa nhiều

Trình bày phần mục tiêu và hướng giải pháp: Mục tiêu của nghiên cứu là xây dựng một hệ thống phân tích cam

xúc theo khía cạnh dựa trên dữ liệu bài đăng và bình luận từ Facebook, với các tính năng nổi bật như:

«Phân loại cảm xúc tích cực, tiêu cực, hoặc trung lập của thương hiệu trên từng khía cạnh cụ thể

5 Rút trích các khía cạnh nội dung liên quan (ví dụ: chất lượng sản phẩm, địch vụ khách hàng) từ dữ liệu phân tích

+ Tăng cường độ chính xác thông qua việc sử dụng các mô hình học sâu (deep learning) hiện đại và tối ưu hóa các phương pháp xử lý ngôn ngữ tự nhiên

Giải pháp đề xuất sẽ mang lại một công cụ hữu ích cho doanh nghiệp trong việc quản lý danh tiếng, cải thiện chất lượng dich vu, và xây dựng chiến lược tiếp thị hiệu quả hơn

vi

Trang 9

CHƯƠNG I GIỚI THIỆU ĐỀ TÀI

của khách hàng qua mạng xã hội đóng vai trò vô cùng quan trọng Nó giúp các doanh nghiệp theo dõi, đánh giá

phản hồi của khách hàng, từ đó điều chỉnh chiến lược kinh đoanh và nâng cao trải nghiệm người dùng Tuy nhiên, việc xử lý và phân tích dữ liệu phi cấu trúc này đòi hỏi các giải pháp công nghệ tiên tiến để có thể trích xuất thông tin hữu ích từ một khối lượng dữ liệu khổng lồ

Các giải pháp biện tại và hạn chế

Hiện nay, nhiều công cụ phân tích cảm xúc và quản lý danh tiếng thương hiệu đã được triển khai, sử dụng các thuật

toán trí tuệ nhân tạo và xử lý ngôn ngữ tự nhiên (NLP) để phân tích dữ liệu từ mạng xã hội Các công cụ này có

khả năng phân tích hàng loạt bình luận, bài viết, và phản hồi từ khách hàng để nhận diện các xu hướng cảm xúc,

từ đó giúp doanh nghiệp hiểu rõ hơn về tâm lý và nhu cầu của người tiêu dùng Tuy nhiên, các giải pháp hiện tại

vẫn còn hạn chế trong việc xử lý dữ liệu phi cấu trúc với số lượng lớn và độ phức tap cao Dữ liệu từ mạng xã hội

không chỉ bao gồm văn bản mà còn chứa hình ảnh và video, đòi hỏi các công cụ phân tích phải đa năng và chính xác hơn Bên cạnh đó, việc phân loại cảm xúc cũng gặp khó khăn do sự đa dạng và phong phú của ngôn ngữ và ngữ cảnh trên mạng xã hội

1.2 Mục tiêu và định hướng giải pháp

« Phát hiện các khía cạnh nội dung: Trích rút các khía cạnh quan trọng như chất lượng sản phẩm, dịch vụ

khách hàng, và chiến lược quảng cáo từ phản hồi của người dùng

¢ Dua ra théng tin chỉ tiết: Hỗ trợ doanh nghiệp theo dõi, quản lý danh tiếng và cải thiện chất lượng dịch vụ

dựa trên thông tin phản hồi từ khách hàng

Định hướng giải pháp

Đề xuất giải pháp tập trung vào các bước chính như sau:

¢ Thu thập dữ liệu:

— Tự động lấy dữ liệu bài viết, bình luận từ Facebook thông qua các công cụ web scraping

— Lưu trữ và tổ chức dữ liệu trong cơ sở đữ liệu NoSQL (MongoDB)

Trang 10

« Tiền xử lý dữ liệu:

— Loại bỏ dữ liệu không cần thiết, ký tự đặc biệt, và chuẩn hóa dữ liệu

— Vector hóa văn bản bằng các kỹ thuật như TF-IDE hoặc CountVectorizer để chuyển đổi dữ liệu phi cầu trúc thành dữ liệu số

* Áp dụng các mô hình học máy và học sâu:

— Sử dụng mô hình Random Forest, SVM hoặc mạng nơ-ron để huấn luyện và phân loại cảm xúc từ đữ liệu

— So sánh và đánh giá hiệu suất các mô hình để chọn ra phương pháp tối ưu

« Trích xuất thông tin chỉ tiết:

— Sử dụng kỹ thuật NLP để trích rút các khía cạnh quan trọng từ phản hồi người dùng

— Xây dựng báo cáo và biểu đồ trực quan hóa giúp doanh nghiệp dé dàng theo dõi xu hướng cảm xúc

« Đánh giá và tối ưu hóa:

— Đánh giá hiệu quả mô hình dựa trên các chỉ số như độ chính xác, F1-score, và ma trận nhầm lẫn

— Tối ưu hóa siêu tham số và thử nghiệm các phương pháp cải tiến để nâng cao hiệu suất

1.3 Đóng góp của dé tài

Đề tài này mang lại những đóng góp quan trọng trong lĩnh vực phân tích cảm xúc và quản lý danh tiếng thương hiệu trên mạng xã hội, bao gồm:

«_ Phát triển hệ thông phân tích cảm xúc: Xây dựng một hệ thông tự động giúp phân loại cảm xúc tích cực, tiêu

cực, hoặc trung lập từ dữ liệu bài đăng và bình luận trên Facebook

s Trích xuất thông tin theo khía cạnh: Áp dụng kỹ thuật xử lý ngôn ngữ tự nhiên (NLP) để trích rút các khía

cạnh nội dung như chất lượng sản phẩm, dịch vụ khách hàng, và chiến lược quảng cáo từ phản hồi người

dùng

5 Cải thiện quản lý thương hiệu: Cung cấp công cụ giúp doanh nghiệp theo dõi danh tiếng thương hiệu, phân tích xu hướng cảm xúc của khách hàng, và từ đó điều chỉnh chiến lược kinh doanh hiệu quả

° Ứng dụng công nghệ hiện đại: Tích hợp các mô hình học máy và học sâu tiên tiến như Random Forest, SVM,

và mạng nd-ron để cải thiện độ chính xác và hiệu suất trong phân tích cảm xúc

5 Hỗ trợ ra quyết định chiến lược: Hệ thống cung cấp báo cáo trực quan hóa và thông tin chỉ tiết giúp doanh

nghiệp hiểu rõ hơn về phản hồi của khách hàng, từ đó tối ưu hóa các chiến dịch tiếp thị và dịch vụ 1.4 Giới thiệu thuật toán Random Forest

Random Eorest là một thuật toán học máy thuộc nhóm ensemble learning Thuật toán này dựa trên việc xây dựng

nhiều cây quyết định (decision trees) từ các mẫu ngẫu nhiên và sử dụng cơ chế bỏ phiếu đa số (voting) để đưa ra kết quả cuỗi cùng Random Forest có khả năng xử lý dữ liệu phi tuyến tính và chống lại hiện tượng overfitting nhờ tính đa dạng giữa các cây Trong bài nghiên cứu, thuật toán này được áp dụng để phân loại cảm xúc từ dữ liệu bình

luận và xác định nhãn cảm xúc như tích cực, trung lập, hay tiêu cực

Trang 11

CHƯƠNG 2 BÁO CÁO TIẾN ĐỘ TUNG TUAN Topic 1-12

2.1 Tổng quan quá trình

Nội dung làm bài tập nhóm:

Tiến độ thực hiện đề tài thể hiện trong bảng đưới đây:

| STT | Các bước thực hiện Thời gian Kết quả Ì

1 Thu thập dữ liệu 06/09/2024 - 13/09/2024 Thu thập dữ liệu trên Facebook

2 Tiên xử lý dữ liệu 13/09/2024 - 20/09/2024 Làm sạch dữ liệu

3 Tìm hiểu mô hình 20/09/2024 - 26/09/2024 Tiên xử lý dữ liệu và trích chọn đặc

trưng và học máy

loại, phân cụm

hóa dữ liệu trong orange

datamining

8 Tiệp tục làm model 25/10/2024 - 31/10/2024 Sử dụng dữ liệu sau tiên xử lý train với bài toán chính model SVM với bài toán phân tích

>

Tiên xử lí dữ liệu Huấn luyện mô hỉnh

Hình 2.1: Tổng quan quá trình

2.2 Quá trình thực hiện

Tuan Topic 1 (06/09 - 13/09)(Hà Tiến Duy)

Chủ đề tìm hiểu tuần 1: Thu thập dữ liệu trên Facebook

Mục đích tuần Topic 1: Mục đích thu thập đữ liệu trong khoa học đữ liệu là để tạo cơ sở cho việc phân tích, khám phá mẫu, xây dựng mô hình dự đoán, và đưa ra các quyết định dựa trên đữ liệu Dữ liệu thu thập giúp giải quyết

Trang 12

Hình 2.2: Code lấy Cookies đăng nhập

2 Sau khi lưu cookies thực hiện tiến hành lấy dữ liệu

(a) Su dụng thư viện selenium

Thư viện Selenium giúp tự động hóa kiểm thử web và mô phỏng các hành động của người dùng trên trình duyệt Nó được sử dụng để kiểm tra tính năng, lấy đữ liệu từ trang web (web scraping), và hỗ trợ

nhiều trình duyệt khác nhau, giúp tiết kiệm thời gian và tăng hiệu quả trong các quy trình phát triển và

kiểm thử phần mềm

Khai báo thư viện

from selenium import webdriver from selenium.webdriver.chrome.service import Service import pickle

from selenium webdriver.common.by import By from selenium webdriver.support.ui import WebDriverWait|

from selenium webdriver.support import expected_conditions as EC import pandas as pd

import time

Hinh 2.3: Import thu vién

Trang 13

(b) Thông qua chrome driver truy cập trang facebook dựa vào cookies trong file facebook_cookies.plk dé dang nhap vao facebook

cheome_optians = Options() chrome_options.sdd_argunent{* šgnore-certificste-errors") cheone_options.add_argunont(* ignoro-cs ; chrone_options.add_argument (~ log-level=3") driver = webdriver i ico(*C: /Urers/Adnin/ 3un/: i i 0.6668 iver.exe'), opti options) driver get("https: //wmay Facebook con*)

# Tải cookie từ file và thém vao trinh duyét

with cpen(*£facebook_ccokies.pkl"„ "rb”)} as file:

jes = pickle losd( file) for cookie in cookies:

driver add_cookie(cookie) deiver.refresh()

Hình 2.4: Truy cập vào trang facebook bằng driver

(c) Tiến hành lấy đữ liệu thông tin người bình luận và nội dung bình luận thông qua XPATH

def scrape_comment_texts(post_url):

driver get (post_url)

comments = WebDriverwait(driver, 1@).until(EC.presence_of_element_located((By.XPATH, '//div[contains(@aria-1abel, "Eình luận for _ in range(55): # Số lần cuộn trang

ériver.execute_script(“window.scrollBy(®, 5@8);~) time sleep(3)

# Tìn tất cả các phần tử chứa bình luận comnent_elesents = driver.fiad_elenents(B/.XPATH, "//điv[contains(@aria-label, “Bình luận")] ")

for comment in comment_elements:

try:

name = comment find_element(By.XPATH, './/s¿an[contaias(@dir, “aute”)]").text

cmt ~ commont.find_clomant (By.XPATH, *.//span[contains(@lang, “vi-VN")]//div’).toxt

comsents append ({"Na»e”: name, “Comment”: cat, “Link account”: link, "Post Link”: post ur]})

except Exception as inner_e:

print("KhOng thm thấy nội đung bình luận:”, inaer_e) except Exception as e

print(“Error scraping comment texts:”, e) retura Comments

# cào comaent post_url = "https: //www facebook com/groups/hanoixinnn/posts/2940583752756073/"

conment_links = scrape_comment_texts(post_url)

Hinh 2.5: Lay dif liéu

(d) Lưu dữ liệu vào file execl và in dữ liệu

print("Không có liên kết bình luận nào duoc tim théy.")

Hình 2.6: Lưu dữ liệu vào excel

Trang 14

(e) Kết quả dif liéu :

Hình 2.7: Lưu dữ liệu vào excel

Tuan Topic 2 (13/09 - 20/09)(Mai Văn Hùng,Hà Tiến Duy)

Chủ đề tìm hiểu tuần 2: Làm sạch dữ liệu

D Mục đích làm sạch đữ liệu

1 Xóa bỏ đữ liệu không hợp lệ hoặc thiếu sót Những đữ liệu không đúng định dang, sai sót hoặc thiếu giá trị cần được loại bỏ hoặc chỉnh sửa để đảm bảo tính chính xác

nN Chuẩn hóa đữ liệu: Đảm bảo các định đạng như ngày tháng, số liệu, văn bản được thống nhất để dễ dàng xử

lý và phân tích sau này

G3 Loại bỏ trùng lặp: Tránh các bản ghi bị trùng để tránh ảnh hưởng đến kết quả phân tích và làm sai lệch các kết luận

4 Giảm sai số và nhiễu: Loại bỏ các thông tin không liên quan hoặc gây nhiễu để dữ liệu trở nên dễ hiểu và

hữu ích hơn

Cải thiện độ chính xác của mô hình: Trong học máy, đữ liệu sạch giúp các mô hình đưa ra kết quả chính xác

hơn và giảm thiểu khả năng dự đoán sai

6 Tăng hiệu quả xử lý đữ liệu: Dữ liệu được làm sạch giúp giảm thời gian xử lý, tăng tốc độ phân tích và tiết kiệm tài nguyên hệ thông

Trang 15

# Chuyến thành chữ thường

text = text = text text =

text lower()

bỏ các ký tự đặc biệt, số và dấu câu re.sub(r'\d+', '', text) # Loại bỏ số re.sub(r"[^\w\s]', '', text) # Loại bỏ dấu câu và ký tự đặc biệt

Trang 16

6 Dữ liệu sau khi làm sạch

srr Name |

1 Mạnh Ma Mãnh Tinh cả kỳ th t ko biết Nhưng chung kết WC nắm đồ xứng đáng là 1 trong những trận đấu hay nhất tầm 15 năm đố về đây Kịch tich lêi cuốn và tốc độ thật sự

2 Ùm Xà Quần Ricon kế từ đỏ ăn phờ ko cần cho ớt

3 Dinh Phạm CK hay nhất bèn phản cèng hay nhất ch sit WC k 1 vết xước

eye sò thế lấy cúp như lấy tử túi xách ra

it ở WC22Chiến thắng bất ngờ nhất Saudi Arabian 21 ArgentinaThất bại bất ngờ nhất ức 12 Nhật Bản Xem thêm

lan M10 trả WC cho tụi mày nèKhỏi phải khóc nha tui thì những

ðt đường mới xứng đáng có

Nếu gn biét trận CK WC nao là hay là đảng xem nhất Với thật sự nhöệt huyết cháy hết mình với quả bóng tròn thì chẳng ai lại

14 Nguyễn Ca bố con chựp chung tấm ảnh mà cả làng soi

15 Hoan Nguyen 1 nhà võ địch vĩ đại sút pen nhàu nhất ch sử các kỳ wc hok hay sao đc cả tuối trẻ đình cao wd hok nối về già thì đc ng cha fifa thicé may quả pen vớ nhẹ nhang game easy

16 Hoàng Lê Tuấn Cương WC22 nếu kh có penGOAT 3 bàn 3 kiến tạoYOUT 1 bản bluetooth 1 köến tạo bằng lưng

17 Mè Vịt Nhiều Chuyện - Xem WC 2022 xong thì thấy C1 và Euro quả võ vị và nhạt nhễ

18 Nguyễn Hữu Quang Trận CK hay nhất lịch sử cũng là trận CK WC dưy nhất đội pháp được hưởng 2 quả pen nhưng vẫn thua vi ARG qui hay va ban nh

Hình 2.10: Dữ liệu đầu ra

Tuần Topic 3 (28/9 - 04/10)(Hà Tiền Duy,Vũ Tiên Quang, Nguyễn Hải Đăng)

Chủ đề tìm hiểu tuần 3: Tiền xử lý dữ liệu và trích chọn đặc trưng và học máy

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

+ Vector hóa văn bản bằng CountVectorizer

train_corpus = train df[ 'Comment' ].tolist()

- Ví dụ: Với tập đữ liệu có 5000 từ thông dụng nhất, mỗi bình luận sẽ được biểu diễn dưới đạng một vector có chiều

dai 5000, với mỗi giá trị tương ứng là số lần từ đó xuất hiện trong bình luận Khi vector hóa văn bản, bạn chuyển

đổi từng bình luận thành một điểm trong không gian vector có chiều cao (tương ứng với số lượng từ hoặc cụm từ)

Điều này giúp mô hình hiểu được mỗi quan hệ giữa các từ trong bình luận - Ví dụ: Nếu từ "tốt và "tuyệt"đều xuất

hiện trong các bình luận tích cực, chúng sẽ có tần suất xuất hiện cao trong các bình luận này và giúp mô hình phân biệt bình luận tích cực với các loại khác

Việc sử dụng max_features=5000 giúp giữ lại các từ thông dụng và có ý nghĩa nhất, trong khi loại bỏ các từ ít xuất hiện hoặc không quan trọng Điều này giúp giảm nhiễu (noise) và giảm độ phức tạp của mô hình

- Bằng cách giới hạn số lượng từ, bạn giúp mô hình tập trung vào các từ có tần suất xuất hiện cao và có liên quan

nhiều đến phân loại cảm xúc

Sau khi dữ liệu văn bản đã được vector hóa, nó sẽ trở thành ma trận số, trong đó mỗi hàng là một bình luận và mỗi

cột là một từ Các mô hình học máy giờ đây có thể học từ các mẫu đữ liệu này để m ra mô hình dự đoán nhãn

(tiêu cực, trung tính, tích cực) cho bình luận mới

Trang 17

Trich chon dac trung

Trích chọn đặc trưng (feature extraction) va gén nhan (labeling) là hai bước quan trọng trong quá trình xử lý dữ liệu, đặc biệt là trong lĩnh vực học máy (machine learning) và phân tích dữ liệu

Mục đích: Trích chọn đặc trưng (feature extraction) là một bước quan trọng trong quá trình tiền xử lý dữ liệu, đặc biệt là trong học máy Đây là quá trình chuyển đổi đữ liệu thô (raw data) thành các đặc trưng (features) có ý nghĩa

và có thể được sử dụng để huấn luyện mô hình

Mục đích:

« Giảm chiều dữ liệu: Trích chọn đặc trưng giúp giảm số lượng biến đầu vào, từ đó giảm độ phức tạp của mô

hình Điều này giúp mô hình dé hiểu hơn và tiết kiệm thời gian tính toán

Tăng tính liên quan của dữ liệu: Các đặc trưng trích chọn có thể giúp làm nổi bật những phần quan trọng

nhất của dữ liệu, từ đó tăng hiệu suất của mô hình học máy

Tăng độ chính xác: Khi đữ liệu được biểu điễn bằng các đặc trưng hữu ích, mô hình có thể đễ đàng phát hiện

mỗi quan hệ giữa các biến và dự đoán chính xác hơn

Xử lý dữ liệu không cầu trúc: Đặc biệt trong xử lý ngôn ngữ tự nhiên (NLP), đữ liệu thô như văn bản cần

được chuyển đổi thành các đặc trưng số (vector) để mô hình có thể làm việc với nó

Hiển thị các từ đặc trưng có tần suất xuất hiện nhiều

sentences = train df[ 'Comment' ].tolist()

sentences_ss = ” ”.join(sentences)

plt.figure(figsize=(16, 16))

plt imshow(lordCloud( ) generate(sentences_ss) ) plt.axis( "off”)

plt show( )

Hình 2.12: Code trích từ đặc trưng

Trang 18

Hình 2.13: Từ đặc trưng

2 Gán nhãn dữ liệu tự động

positive_keywords = ["tốt", "tuyệt", "hài lòng", "ngon", "xuất sắc”]

negative_keywords = ["tệ"”, "bẩn", "thất vọng”, "kém", "tởm”,"tẩy chay”, "chán", "không ngon”]

comment = comment lower()

if any(word in comment for word in positive_keywords):

return ‘2°

elif any(word in comment for word in negative_keywords):

return ‘@' else:

return ‘1°

1

data[ 'Label'] = data[ ‘Comment’ ].apply(label_by_keywords)

Hình 2.14: Gán nhãn tự động

3 Kiểm tra sự phần bỗ của các nhãn

sns.countplot(x= train_df[ ‘Label’ ])

plt.title('Số lượng các nhãn (9: Tiêu cực, 1: Trung tính, 2: Tích cực)') plt show( )

Hình 2.15: Code

NHÓM l - LỚP N03

Ngày đăng: 15/02/2025, 22:20

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w