Ứng dụng NLP vào bài toán phân
loại comment
Trình bày: Hiếu Nguyễn
Giới thiệu bản thân
2
Nội dung trình bày
Tổng quan về bài toán phân loại comment
Cách xây dựng bộ từ điển xấu tiếng Việt
Phân loại comment sử dụng học máy
Q&A
3
Nội dung trình bày
Tổng quan về bài toán phân loại comment
Cách xây dựng bộ từ điển xấu tiếng Việt
Phân loại comment sử dụng học máy
Q&A
4
Bài toán phân loại comment
5
Bài toán phân loại comment
Phase 1
Check theo bad-words
• Xây dựng bộ từ điển bad-words tiếng Việt
• Bất kỳ comment nào chứa bad-words thì cảnh báo
Phase 2
Check theo ngữ nghĩa
• Xây dựng mô hình học máy phân loại comment
• Dự đoán comment là tích cực hay tiêu cực theo kết quả huấn luyện
Phase 3
Khớp theo từng bài báo
• Tính năng trong tương lai ^^
6
Nội dung trình bày
Tổng quan về bài toán phân loại comment
Cách xây dựng bộ từ điển xấu tiếng Việt
Phân loại comment sử dụng học máy
Q&A
7
Ý tưởng
B1: Xây dựng bộ từ tiếng Việt xấu cơ bản
Lặp lại:
B2: Xây dựng bộ dữ liệu huấn luyện
B3: Huấn luyện mô hình biểu diễn văn bản(word
representations)
B4: Sử dụng “word similarity” để bổ sung bộ từ điển
8
Word vector
Tại sao cần chuyển văn bản sang vector?
Có những kỹ thuật nào để làm việc này?
One-hot vecter
Word2vec
Fasttext
…
9
One-hot vector
Biểu diễn của từ Queen
10
Word2Vec: Skip-gram & CBOW
11
Word2Vec: Skip-gram & CBOW
•
CBOW
Dự đoán từ hiện tại dựa vào các từ
xung quanh nó
• Nhanh hơn
•
Skip-gram
Sử dụng từ hiện tại để dự đoán
ngữ cảnh của chính nó
• Hiệu quả hơn đối với các từ ít gặp
(infrequent words)
13
Fasttext: Word representation
• Làm việc tương tự word2vec nhưng huấn luyện ở mức ký
tự(character) thay vì từ(word)
• Ví dụ: Từ where với ngrams size = 3:
<wh, whe, her, ere, re>, <where>
14
Fasttext: Word representation
Ưu điểm:
Có thể tạo ra vector “rất gần” với vector của từ đúng dù nó
có sai một chút (vd: behaave sẽ gần với behave).
(It can generate a representation of a vector that is close to the original despite some
ngrams beings wrong, e.g. behaave)
Có hiệu quả trong bài toán word similarity cho dù tập huấn
luyện có “sai chính tả”
(This makes it useful in word sentence similarity tasks on corpus with misspellings )
Có thể tạo ra vector của từ chưa biết
(produce vectors even for unknown words)
15
Phương pháp tiếp cận
• Sử dụng fasttext để biểu diễn text sang vector
• Sử dụng bài toán word similarity để phát triển từ điển
16
Consine similarity
𝐴. 𝐵
si𝑚𝑖𝑙𝑎𝑟 𝐴, 𝐵 = cos(α) =
|𝐴||𝐵|
α
17
Word similarity
Word 1
Word 2
Similar
anh
ảnh
0.24106404426345091
anh
em
0.48184190554111456
lợn
heo
0.77061109850453735
18
Find similar word
Input word
đéo
Output word
Similarity
Đéo
0.6742031574249268
đếch
0.6742031574249268
Địt_mẹ
0.6650117635726929
địt_mẹ
0.6436768770217896
đcm
0.6269497871398926
đíu
0.610.6149406433105469
đoé
0.610.6137498021125793
nầu
0.6040233969688416
chả
0.5994954109191895
vưỡn
0.5988961458206177
19
Demo kết quả
Bộ từ điển từ xấu hiện tại có 2669 từ
20
Nội dung trình bày
Tổng quan về bài toán phân loại comment
Cách xây dựng bộ từ điển xấu tiếng Việt
Phân loại comment sử dụng học máy
Q&A
21
Machine learning
22
23
Xây dựng một mô hình học máy
24
Classification
25