Tải bản đầy đủ (.docx) (24 trang)

Đánh giá sản phẩm thông qua phân tích bình luận người dùng

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.17 MB, 24 trang )

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
-----o-----

BÁO CÁO
Đề tài “Đánh giá sản phẩm thơng qua phân tích
bình luận người dùng”
Nhóm 5
Giảng viên hướng dẫn: PGS-TS. Phạm Văn Hải

Hà Nội, tháng 5 năm 2021

1


MỤC LỤC

2


I.

Tóm tắt

Trong những năm gần đây, nhất là khoảng thời gian dịch corona bùng nổ.
Lượng người chuyển sang tiêu dùng online ngày một tăng cao. Tuy nhiên tiêu
dùng online có mặt rủi ro khi sản phẩm rao bán khác với sản phẩm thực tế, hay sản
phẩm có thực sự tốt không. Vậy nên khi mua hàng, người dùng thường tham khảo
những bình luận của người dùng đã mua hàng trước đó để xem sản phẩm tốt hay
khơng.
Để tiện cho việc đánh giá một sản phẩm, chúng em đánh giá tất cả bình luận


của người dùng, tổng hợp và đưa ra đánh giá cuối cùng giúp người dùng nhanh
chóng có cái nhìn tổng quát về sản phẩm mình quan tâm.
1. Xác định bài toán
Bài toán phân loại cảm xúc hay thái độ của người dùng qua bình luận
(comment) trên các trang thương mại điện tử, thế giới di động, … Hay như trong
ứng dụng chatbot, bài toán phân loại văn bản được sử dụng để phát hiện mục đích
của người dùng.
Chúng em phân loại phản hồi khách hàng thành 3 loại: Tích cực(Positive), Tiêu
cực(Negative) và Trung tính(Neutral).
Dựa vào việc phân loại được tự động các bình luận chúng ta có thể đánh giá
được tác động của một sản phẩm, dịch vụ, xu hướng lên khách hàng, cộng đồng là
tích cực hay tiêu cực để có những chiến lược kinh doanh phù hợp. Các công cụ
như thế kết hợp với các công cụ thu thập dữ liệu tự động từ nhiều nguồn khác nhau
(mạng xã hội, báo điện tử, diễn đàn, trang thương mại điện tử…) sẽ tạo lên bộ
công cụ điều tra thăm dò cực kỳ giá trị.
2. Input, Output
Input

Output

Đường link sản phẩm trên thế giới di
động

Tốt / Khơng tốt/ Bình thường

II.

Mơ hình BERT

1. Mơ hình BERT

BERT sử dụng Transformer là một mơ hình attention (attention mechanism)
học mối tương quan giữa các từ (hoặc 1 phần của từ) trong một văn bản.
3


Transformer gồm có 2 phần chính: Encoder và Decoder, encoder thực hiện đọc dữ
liệu đầu vào và decoder đưa ra dự đoán. Ở đây, BERT chỉ sử dụng Encoder.
Khác với các mơ hình directional (các mơ hình chỉ đọc dữ liệu theo 1 chiều
duy nhất - trái→phải, phải→ trái) đọc dữ liệu theo dạng tuần tự, Encoder đọc toàn
bộ dữ liệu trong 1 lần, việc này làm cho BERT có khả năng huấn luyện dữ liệu
theo cả hai chiều, qua đó mơ hình có thể học được ngữ cảnh (context) của từ tốt
hơn bằng cách sử dụng những từ xung quanh nó (phải & trái).

Hình trên mơ tả ngun lý hoạt động của Encoder. Theo đó, input đầu vào là
một chuỗi các token w1, w2, ... được biểu diễn thành chuỗi các vector trước khi
đưa vào trong mạng neural. Output của mơ hình là chuỗi các vector có kích thước
đúng bằng kích thước input. Trong khi huấn luyện mơ hình, một thách thức gặp
phải là các mơ hình directional truyền thống gặp giới hạn khi học ngữ cảnh của từ.
Để khắc phục nhược điểm của các mơ hình cũ, BERT sử dụng 2 chiến lược
training như sau:
a.Masked LM (MLM)
Trước khi đưa vào BERT, thì 15% số từ trong chuỗi được thay thế bởi token
[MASK], khi đó mơ hình sẽ dự đoán từ được thay thế bởi [MASK] với context là
các từ không bị thay thế bởi [MASK]. Mask LM gồm các bước xử lý sau :
-Thêm một classification layer với input là output của Encoder.

4


-Nhân các vector đầu ra với ma trận embedding để đưa chúng về khơng gian

từ vựng (vocabulary dimensional).
-Tính tốn xác suất của mỗi từ trong tập từ vựng sử dụng hàm softmax.
Hàm lỗi (loss function) của BERT chỉ tập trung vào đánh giá các từ được
đánh dấu [MASKED] mà bỏ qua những từ cịn lại, do đó mơ hình hội tụ chậm hơn
so với các mơ hình directional, nhưng chính điều này giúp cho mơ hình hiểu ngữ
cảnh tốt hơn.(Trên thực tế, con số 15% không phải là cố định mà có thể thay đổi
theo mục đích của bài tốn.)
b.Next
Sentence
Prediction
(NSP)
Trong chiến lược này, thì mơ hình sử dụng một cặp câu là dữ liệu đầu vào và
dự đoán câu thứ 2 là câu tiếp theo của câu thứ 1 hay khơng. Trong q trình huấn
luyện, 50% lượng dữ liệu đầu vào là cặp câu trong đó câu thứ 2 thực sự là câu tiếp
theo của câu thứ 1, 50% còn lại thì câu thứ 2 được chọn ngẫu nhiên từ tập dữ liệu.
Một số nguyên tắc được đưa ra khi xử lý dữ liệu như sau:
-Chèn token [CLS] vào trước câu đầu tiên và [SEP] vào cuối mỗi câu.
-Các token trong từng câu được đánh dấu là A hoặc B.
-Chèn thêm vector embedding biểu diễn vị trí của token trong câu (chi tiết
về vector embedding này có thể tìm thấy trong bài báo về Transformer).

Positional embeddings: vị trí token trong câu, tối đa 512 tokens.
Token embeddings: các token của xâu đầu vào. Token đầu tiên là [CLS].
Token kết thúc câu là [SEP]. Trong task phân loại, đầu ra của Transformer (hidden
state cuối cùng) ứng với token này là giá trị phân loại.
Segment embeddings: phân biệt 2 câu trong trường hợp đầu vào là cặp câu,
câu A là các giá trị 0, câu B là các giá trị 1.

5



Các bước xử lý trong Next Sentence Prediction:
-Toàn bộ câu đầu vào được đưa vào Transformer.
-Chuyển vector output của [CLS] về kích thước 2x1 bằng một
classification layer.
-Tính tốn xác suất IsNextSequence bằng softmax.
2. Một số mơ hình sử dụng BERT

- Mơ hình trên bên trái: Áp dụng bài tốn phân loại cặp câu
- Mơ hình trên bên phải: Áp dụng bài toán phân loại câu, câu hỏi, phân loại cảm
xúc
- Mơ hình dưới bên trái: Áp dụng bài tốn hỏi - đáp
- Mơ hình dưới bên phải: Áp dụng bài toán gán nhãn

6


III.

Giới thiệu về phương pháp PhoBERT

Kiến trúc PhoBERT như một mạng xương sống với một số sửa đổi. Đầu ra
của mỗi khối Transformer thể hiện một mức ngữ nghĩa khác nhau cho các đầu vào.
Trong các thử nghiệm của mình, chúng em sử dụng các kết hợp đầu ra khác nhau
của các khối Transformer đó. Mơ hình kiến trúc chung được thể hiện trong Hình 1.
Các tính năng được kết hợp trên các đầu ra của nhiều khối biến áp bằng cách ghép
hoặc thêm vào được đưa vào đầu phân loại. Đầu phân loại đơn giản là một mạng
được bảo vệ hồn tồn khơng có các lớp ẩn.
1.Tinh chỉnh mơ hình:
Mơ hình được đào tạo trước phù hợp với tập dữ liệu lớn hơn nhiều của một

miền hoàn toàn khác. Do đó, mặc dù nó có thể hoạt động rất tốt nói chung, nhưng
mơ hình vani được đào tạo trước sẽ hoạt động kém hiệu quả ở một nhiệm vụ cụ thể
của chúng ta. Điều này đòi hỏi chúng em phải điều chỉnh mơ hình cho phù hợp với
nhu cầu của mình. Do đó, với trọng số hiện có của PhoBERT như một điểm khởi
đầu, chúng em đào tạo mô hình của mình với dữ liệu đào tạo dành riêng cho miền
của chúng em về nhiệm vụ Tạo mơ hình ngôn ngữ được che giấu (MLM).

7


Hơn nữa, để một mơ hình lớn như vậy được đào tạo thành công mà không
quên việc khởi tạo tốt của nó (do gradient giảm dần quá xa so với nó) hoặc khơng
hội tụ (do các mơ hình sâu khơng tốt trong việc lan truyền qua các lớp xa hơn),
chúng em sẽ khởi động sơ đồ lập kế hoạch tỷ lệ học tập. Bắt nguồn từ báo cáo [15]
dưới tên "tỷ lệ học tập hình tam giác nghiêng".

Mục đích chính của phương pháp này là làm cho mơ hình hội tụ nhanh hơn
cho một vùng thích hợp của khơng gian tham số trong quá trình bắt đầu đào tạo.
Cho n thuộc tính X1, X2, …, Xn với bộ trọng số {w 1,w2,…,wn }, cho m
phương án A1,A2,…, Am.
2.Chiến lược tối ưu hóa:
Cố định hoặc khơng Cố định: Mỗi lớp trong mạng RoBERTa nắm bắt các
mức ngữ cảnh khác nhau. Cụ thể, các lớp thấp hơn tạo ra các bản nhúng toàn cục
cho các từ trong khi các bản nhúng từ các lớp trên thì khơng cụ thể hơn. chúng em

8


muốn bảo vệ toàn bộ kiến thức trong khi điều chỉnh các biểu diễn ngữ cảnh cho
mơ hình phân loại của chúng em.

Trong một vài kỷ nguyên đầu tiên, chúng em chỉ giữ lại các lớp được kết nối
đầy đủ chịu trách nhiệm phân loại chuỗi văn bản và phần RoBERTa bị đóng băng.
Điều này cho phép mơ hình tìm hiểu một quyết định phù hợp cho nhiệm vụ. Sau
các kỷ nguyên này, chúng em giải phóng tất cả các lớp và đặt tốc độ học tập khác
nhau cho các lớp khác nhau: lớp càng sâu, tỷ lệ học tập càng tăng. Điều này ngăn
mơ hình qn ý nghĩa tồn cục hữu ích của các từ trong khi buộc nó phải học ngữ
cảnh của miền.
3.Làm mịn nhãn:
Để một mơ hình lớn như vậy phù hợp với một tập dữ liệu tương đối nhỏ, mơ
hình có xu hướng trở nên mất tự tin về hiệu suất của nó, đi đến mặt tối của việc
trang bị quá nhiều. Để tránh điều này, chúng em sử dụng tính năng làm mịn nhãn,
làm mềm các nhãn trung thực một mặt đất nóng của chúng em. Cụ thể, đối với mơ
hình xác suất đầu ra yk của K lớp, thay vì gắn nhãn sự thật cơ bản của chúng ta
bằng mã hóa một nóng:

Chúng em cân bằng lại một chút phân phối mục tiêu để nó trở nên ít bị "phân
quyền" hơn bằng cách làm mịn các xác suất với,

Đối với một số tham số làm mịn α. Kết quả là, kỹ thuật này dạy cho mơ hình
có một số sự khơng chắc chắn trong các dự đốn của nó và giảm mức độ nghiêm
trọng của việc trang bị quá mức. Hơn nữa, vì chúng em đang điều chỉnh trên một
mơ hình được đào tạo trước, vectơ xác suất đầu ra ban đầu của mô hình gần với
một điểm nóng. Điều này dẫn đến sự không ổn định về số nếu nhãn thực mới cũng
là một nóng, vì với entropy chéo là hàm mất mát, tổn thất sẽ trở thành 1 log 0 =
−∞. Do đó, đang được sử dụng ở đây, làm mịn nhãn đóng vai trị như một nhiễu
loạn nhỏ trong phương pháp số của chúng em, làm cho quá trình đào tạo ổn định
hơn, giúp mơ hình của chúng em hội tụ tốt hơn.

9



IV.

SVM

Support Vector Machines (SVM) là kỹ thuật mới đối với việc phân lớp dữ liệu, là
phương pháp học sử dụng khơng gian giả thuyết các hàm tuyến tính trên khơng gian đặc
trưng nhiều chiều, dựa trên lý thuyết tối ƣu và lý thuyết thống kê.
Trong kỹ thuật SVM không gian dữ liệu nhập ban đầu sẽ được ánh xạ vào không
gian đặc trưng và trong không gian đặc trƣng này mặt siêu phẳng phân chia tối ưu sẽ
được xác định.

Ta có tập S gồm e các mẫu học
S = {(x1,y1), (x2,y2), (x3,y3)…..( xe,ye)} (X×Y)e
với một vectơ đầu vào n chiều xi ∈ Rn thuộc lớp I hoặc lớp II (tương ứng
nhãn y i = 1 đối với lớp I v à y i = - 1 đối với lớp II). Một tập mẫu học được
gọi là tầm thường nếu tất cả các nhãn là bằng nhau.
Đối với các dữ liệu phân chia tuyển tính, chúng ta có thể xác định đƣợc siêu
phẳng f(x) mà nó có thể chia tập dữ liệu. Khí đó, với mỗi siêu phẳng nhận đƣợc ta
có: f(x)≥ 0 nếu đầu vào x thuộc lớp dƣơng, và f(x)< 0 nếu x thuộc lớp âm

yif(xi) = yi (w.xi + b) ≥ 0 , i=1,….,l

trong đó w là vector pháp tuyến n chiều và b là giá trị ngưỡng
Vector pháp tuyến w xác định chiều của siêu phẳng f(x), còn giá trị
ngưỡng b xác định khoảng cách giữa siêu phẳng và gốc.

10



Siêu phẳng có khoảng cách với dữ liệu gần nhất là lớn nhất (tức có biên
lớn nhất) được gọi là siêu phẳng tối ưu.

Mục đích đặt ra ở đây là tìm được một ngưỡng (w,b) phân chia tập mẫu
vào các lớp có nhãn 1 (lớp I) và -1 (lớp II) nêu ở trên với khoảng cách là lớn
nhất
1.

Trình bày tóm tắt về phân lớp dữ liệu
-

Phân lớp dữ liệu là một kỹ thuật trong khai phá dữ liệu được sử dụng rộng
rãi nhất và được nghiên cứu mở rộng hiện nay.

-

Mục đích: Để dự đốn những nhãn phân lớp cho các bộ dữ liệu hoặc mẫu mới.

11


Đầu vào: Một tập các mẫu dữ liệu huấn luyện,với một nhãn phân lớp
cho mỗi mẫu dữ liệu
Đầu ra: Bộ phân lớp dựa trên tập huấn luyện,hoặc những nhãn phân lớp
Phân lớp dữ liệu dựa trên tập huấn luyện và các giá trị trong một thuộc tính
phân lớp và dùng nó để xác định lớp cho dữ liệu mới
Kỹ thuật phân lớp dữ liệu được tiến hành bao gồm 2 bước:
Bước 1: Xây dựng mơ hình từ tập huấn luyện
Bước 2: Sử dụng mơ hình – kiểm tra tính đúng đắn của mơ hình và dùng
nó để phân lớp dữ liệu mới.

Bước 1. Xây dựng mơ hình
-

Mỗi bộ/mẫu dữ liệu đƣợc phân vào một lớp đƣợc xác định trước.

-

Lớp của một bộ/mẫu dữ liệu được xác định bởi thuộc tính gán
nhãn lớp

-

Tập các bộ/mẫu dữ liệu huấn luyện - tập huấn luyện – được dùng
để xây dựng mơ hình.

-

Mơ hình được biểu diễn bởi các luật phân lớp,các cây quyết định
hoặc các cơng thức tốn học.

Hình 1: Ví dụ xây dựng mơ hình

Bước 2: Sử dụng mơ hình
-

Phân lớp cho những đối tượng mới hoặc chưa được phân lớp

-

Đánh giá độ chính xác của mơ hình

Lớp biết trước của một mẫu/bộ dữ liệu đem kiểm tra được so sánh với
kết quả thu được từ mơ hình.
Tỉ lệ chính xác bằng phần trăm các mẫu/bộ dữ liệu được phân lớp đúng
bởi mơ hình trong số các lần kiểm tra
12


Hình 2: Sử dụng mơ hình

2
2.1

Thuật tốn SMV
Giới thiệu

Bài tốn phân lớp (Classification) và dự đoán (Prediction) là hai bài tốn cơ
bản và có rất nhiều ứng dụng trong tất cả các lĩnh vực như: học máy, nhận dạng, trí
tuệ nhân tạo, .v.v . Trong khóa luận này, chúng em sẽ đi sâu nghiên cứu phương
pháp Support Vector Machines (SVM), một phương pháp rất hiệu quả hiện nay.
Phƣơng pháp SVM được coi là cơng cụ mạnh cho những bài tốn phân lớp
phi tuyến tính được các tác giả Vapnik và Chervonenkis phát triển mạnh mẽ năm
1995. Phƣơng pháp này thực hiện phân lớp dựa trên nguyên lý Cực tiểu hóa Rủi ro
có Cấu trúc SRM (Structural Risk Minimization), đƣợc xem là một trong các
phương pháp phân lớp giám sát không tham số tinh vi nhất cho đến nay. Các hàm
công cụ đa dạng của SVM cho phép tạo không gian chuyên đổi để xây dựng mặt
phẳng phân lớp

2.2

Định nghĩa


Là phương pháp dựa trên nền tảng của lý thuyết thống kê nên có một nền
tảng tốn học chặt chẽ để đảm bảo rằng kết quả tìm được là chính xác
Là thuật toán học giám sát (supervied learning) được sử dụng cho phân lớp
dữ liệu.
Là 1 phương pháp thử nghiệm, đưa ra 1 trong những phương pháp mạnh và
chính xác nhất trong số các thuật toán nổi tiếng về phân lớp dữ liệu
SVM là một phương pháp có tính tổng qt cao nên có thể được áp dụng cho
nhiều loại bài tốn nhận dạng và phân loại

2.3

Ý tưởng của phương pháp

13


Cho trước một tập huấn luyện, đươcc biểu diễn trong khơng gian vector,
trong đó mỗi tài liệu là một điểm, phương pháp này tìm ra một siêu phẳng quyết
định tốt nhất có thể chia các điểm trên khơng gian này thành hai lớp riêng biệt tương
ứng là lớp + và lớp -. Chất lượng của siêu phẳng này được quyết định bởi khoảng
cách (gọi là biên) của điểm dữ liệu gần nhất của mỗi lớp đến mặt phẳng này. Khi đó,
khoảng cách biên càng lớn thì mặt phẳng quyết định càng tốt, đồng thời việc phân
loại càng chính xác.
Mục đích của phương pháp SVM là tìm đƣợc khoảng cách biên lớn nhất,
điều này được minh họa như sau:

Hình 3: Siêu phẳng phân chia dữ liệu học thành 2 lớp + và - với khoảng cách biên lớn
nhất. Các điểm gần nhất (điểm được khoanh tròn) là các Support Vector.


2.4
2.4.1

Nội dung phương pháp
Cơ sở lý thuyết

SVM thực chất là một bài toán tối ưu, mục tiêu của thuật toán này là tìm
được một khơng gian F và siêu phẳng quyết định f trên F sao cho sai số phân
loại là thấp nhất.
Cho tập mâu (x1, y1), (x2, y2), … (xf, y f ) } với ∈ Rn , thuộc vào hai
lớp nhãn: yi ∈ {-1,1} là nhãn lớp tương ứng của các xi (-1 biểu thị lớp I, 1
biểu thị lớp II).
Ta có, phương trình siêu phẳng chứa vectơ trong khơng gian:
.+b=0

Đặt f() = sign(+b) =

Như vậy, f() biểu diễn sự phân lớp của )vào hai lớp như đã nêu. Ta nói y i=+1
nếu € lớp I và yi = -1 nếu € lớp II . Khi đó, để có siêu phẳng f ta sẽ phải giải bài toán
sau:

14


Tìm min với W thỏa mãn điều kiện sau:

yi (sin(+b))1 với i
Bài tốn SVM có thể giải bằng kỹ thuật sử dụng toán tử Lagrange để biến
đổi về thành dạng đẳng thức. Một đặc điểm thú vị của SVM là mặt phẳng quyết
định chỉ phụ thuộc các Support Vector và nó có khoảng cách đến mặt phẳng quyết

định là 1/ . Cho dù các điểm khác bị xóa đi thì thuật toán vẫn cho kết quả giống
như ban đầu. Đây chính là điểm nổi bật của phương pháp SVM so với các phương
pháp khác vì tất cả các dữ liệu trong tập huấn luyện đều được đùng để tối ưu hóa kết
quả.
TĨM LẠI: trong trường hợp nhị phân phân tách tuyến tính, việc phân lớp
đƣợc thực hiện qua hàm quyết định f(x) = sign(<w.x> + b), hàm này thu được bằng
việc thay đổi vectơ chuẩn w, đây là vectơ để cực đại hóa viền chức năng
Việc mở rộng SVM để phân đa lớp hiện nay vẫn đang được đầu từ nghiên
cứu. Có một phương pháp tiếp cận để giải quyết vấn để này là xây dựng và kết hợp
nhiều bộ phân lớp nhị phân SVM (Chẳng hạn: trong quá trình luyện với SVM, bài
tốn phân m lớp có thể được biến đổi thành bài tốn phân 2*m lớp, khi đó trong mỗi
hai lớp, hàm quyết định sẽ được xác định cho khả năng tổng quát hóa tối đa). Trong
phương pháp này có thể đề cập tới hai cách là một-đổi-một, một-đối-tất cả

2.4.2

Bài toán phân 2 lớp với SVM
Bài toán đặt ra là: Xác định hàm phân lớp để phân lớp các mẫu trong tương

lai, nghĩa là với một mẫu dữ liệu mới xi thì cần phải xác định xi được phân vào lớp
+1 hay lớp -1
Để xác định hàm phân lớp dựa trên phương pháp SVM, ta sẽ tiến hành tìm
hai siêu phẳng song song sao cho khoảng cách y giữa chúng là lớn nhất có thể để
phân tách hai lớp này ra làm hai phía. Hàm phân tách tương ứng với phương trình
siêu phẳng nằm giữa hai siêu phẳng tìm được

15


Hình 6: Minh họa bài tốn 2 phân lớp bằng phương pháp SVM


Các điểm mà nằm trên hai siêu phẳng phân tách được gọi là các Support
Vector. Các điểm này sẽ quyết định đến hàm phân tách dữ liệu

2.4.3

Bài toán nhiều phân lớp với SVM

Để phân nhiều lớp thì kỹ thuật SVM nguyên thủy sẽ chia không gian dữ liệu
thành 2 phần và quá trình này lặp lại nhiều lần. Khi đó hàm quyết định phân dữ liệu
vào lớp thứ i của tập n , 2-Iớp sẽ là:

fi(x) = wiix + bi
Những phần tử x là support vector sẽ thỏa điều kiện

+1 nếu thuộc lớp i
fi (x) =
-1 nếu thuộc phần cịn lại
Nhƣ vậy, bài tốn phân nhiều lớp sử dụng phương pháp SVM hồn tồn có thể
thực hiện giống như bài toán hai lớp. Bằng cách sử dụng chiến lược "một- đốimột”(one - against - one).
Giả sử bài toán cần phân loại có k lớp (k > 2), chiến lược "một-đối-một”sẽ
tiến hành k(k-l)/2 lần phân lớp nhị phân sử dụng phương pháp SVM. Mỗi lớp sẽ
tiến hành phân tách với k-1 lớp còn lại để xác định k-1 hàm phân tách dựa vào bài
toán phân hai lớp bằng phương pháp SVM.

2.4.4

Các bước chính của phương pháp SVM

Phƣơng pháp SVM yêu cầu dữ liệu được diễn tả như các vector của các số

thực. Như vậy nếu đầu vào chưa phải là số thì ta cần phải tìm cách chuyển chúng về
dạng số của SVM
16


Tiền xử lý dữ liệu: Thực hiện biến đổi dữ liệu phù hợp cho q trình tính
tốn, tránh các số q lớn mơ tả các thuộc tính. Thuơng nên co giãn (scaling) dữ
liệu để chuyển về đoạn [-1, 1] hoặc [0, 1].
Chọn hàm hạt nhân: Lựa chọn hàm hạt nhân phù hợp tương ứng cho từng bài
toán cụ thể để đạt được độ chính xác cao trong q trình phân lớp.
Thực hiện việc kiểm tra chéo để xác định các thám số cho ứng đụng. Điều
này cũng quyết định đến tính chính xác của q trình phân lớp.
Sử dụng các tham số cho việc huấn luyện với tập mẫu. Trong q trình huấn
luyện sẽ sử dụng thuật tốn tối ưu hóa khoảng cách giữa các siêu phẳng trong q
trình phân lớp, xác định hàm phân lớp trong không gian đặc trưng nhờ việc ánh xạ
dữ liệu vào không gian đặc trưng bằng cách mô tả hạt nhân, giải quyết cho cả hai
trường hợp dữ liệu là phân tách và không phân tách tuyến tính trong khơng gian đặc
trưng.
Kiểm thử tập dữ liệu Test

17


V.

So sánh 2 mơ hình Deep Learning và Machine learning
Deep Learning (PhoBERT)

Machine Learning (SVM)


86,59%

74,67%

Phần trăm
chính xác
Tốc độ

VI.

Trong khoảng từ 0,5 phút đến Trong khoảng 4 phút đến 6
1 phút
phút

Train mô hình :

1. Tập dữ liệu
Chúng em sử dụng bộ dữ liệu crawl bằng Selenium.Bộ dữ liệu của chúng em
có 5000 mẫu, tất cả đều thu thập trên trang thế giới di động, và đã gán nhãn 1 trong
3 nhãn: POS(Positive), NEG (Negative) và NEU(Neutral).
- Cách cài đặt selenium : pip install selenium
- Thiết lập selenium trên chrome drive

2. Xử lý trước dữ liệu
Chúng em đã xây dựng module tiền xử lý cơ bản để xử lý văn bản thô trước
khi đưa vào mơ hình. Nó bao gồm Unicode chuẩn hóa, chuyển đổi chữ thường và
thay thế tất cả các biểu tượng cảm xúc cho nhãn EMOJI. Cuối cùng văn bản thơ
được phân đoạn. Sau đó sử dụng VnCoreNLP để xử lý trước dữ liệu train.



3. Cài đặt và thực nghiệm
Các bước cài đặt:
- Bước 1: Cài đặt chromium-chromedriver và sao chép
apt install chromium-chromedriver
cp /usr/lib/chromium-browser/chromedriver /usr/bin
- Bước 2: Cài đặt thư viện để train mô hình
pip install transformers
pip install pyvi
pip install emot
- Bước 3: Cài đặt thư viện để tạo web
pip install selenium==3.141.0
pip install beautifulsoup4==4.9.3
pip install infi.traceback
pip install flask-ngrok


VII.

Mơ hình thực hiện :

Người dùng truy cập vào trang web và nhập đường link đến sản phẩm muốn
xem đánh giá.
Hệ thống sẽ truy cập vào link và tiến hành crawl các comment của sản phẩm
bằng selenium và trả về 1 mảng chứa các comment của người dùng về sản phẩm
đấy.
Sau đó sẽ đưa lần lượt các comment vào PhoBERT để tiến hành phân loại
comment và trả về 1 mảng đánh giá sau khi đã phân loại ( gồm POS , NEU, NEG).
Cuối cùng tổng hợp và đưa ra đánh giá cuối cùng dựa vào tỉ lệ phần trăm các
đánh giá.


VIII.

Các vướng mắc trong q trình thực thi
- Khơng có sẵn tools để thực hiện gán nhãn cho các câu phục vụ train
mơ hình.
- Đa số các trang thương mại điện tử đều chặn khơng cho phép crawl
dữ liệu.
- Bóc tách dữ liệu sau khi đã crawl về để lấy được comment.
- Câu trước khi đưa vào PhoBERT cần tách và gán token cho từng từ.

IX.

Kết quả dự kiến đạt được
1.
2.
3.
4.
5.

12/04 : Hồn thành mơ hình PhoBERT.
26/04 : Hồn thành crawl 5000 dữ liệu từ trang thegioididong.com
03/05 : Xây dựng tools và gán nhãn cho 5000 dữ liệu đã crawl.
10/05 : train mơ hình PhoBERT trên bộ 5000 dữ liệu đã gán nhãn và
xây dựng giao diện
24/05 : Hoàn thành project.


X.

Xây dựng bộ chỉ tiêu đánh giá


Phân loại bình luận thành 3 nhóm chính như sau:
- Positive: Tích cực
- Negative: Tiêu cực
- Neutral: Trung tính
Ở đây chủ yếu tập trung xây dựng bộ tiêu chí đánh giá cho nhóm sản phẩm
trên trang thế giới di động. Bộ chỉ tiêu chia ra làm 3 nhóm:





XI.

Nhóm 1: Sản phẩm tốt
- Danh sách bình luận được đánh giá tích cực >70%
Nhóm 2: Sản phẩm bình thường
- Danh sách bình luận được đánh giá trung tính từ 40% đến 60%
- Danh sách bình luận tích cực xấp xỉ danh sách bình luận tiêu cực
Nhóm 3: Sản phẩm khơng tốt
- Danh sách bình luận được đánh giá tiêu cực >70%

Kết quả chạy chương trình

Kết quả chạy training

Giao diện web kiểm tra


XII.


Demo thực nghiệm
Bước 1: Nhập đường link đến sản phẩm


Bước 2 : Crawl các đánh giá của người dùng về sản phẩm

Bước 3: Phân loại đánh giá của người dùng và tổng hợp




×