Ứng dụng NLP vào bài toán phân loại comment Trình bày: Hiếu Nguyễn... 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 Q&A... Nội
Trang 1Ứng dụng NLP vào bài toán phân
loại comment
Trình bày: Hiếu Nguyễn
Trang 2Giới thiệu bản thân
Trang 3Nộ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
Q&A
Trang 4Nộ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
Trang 5Bài toán phân loại comment
Trang 6Bài toán phân loại comment
Check theo bad-words
Phase 1
• 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
Check theo ngữ nghĩa
Phase 2
• 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
Khớp theo từng bài báo
Phase 3
• Tính năng trong tương lai ^^
Trang 7Nộ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
Trang 8Ý 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
Trang 9Word vector
One-hot vecter
Word2vec
Fasttext
…
Trang 10One-hot vector
Biểu diễn của từ Queen
Trang 11Word2Vec: Skip-gram & CBOW
Trang 12Word2Vec: Skip-gram & CBOW
Trang 1313
Trang 14Fasttext: Word representation
tự(character) thay vì từ(word)
• Ví dụ: Từ where với ngrams size = 3:
<wh, whe, her, ere, re>, <where>
Trang 15Fasttext: 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)
Trang 16Phươ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
Trang 19Find similar word
Input word Output word Similarity
Trang 20Demo kết quả
Bộ từ điển từ xấu hiện tại có 2669 từ
Trang 21Nộ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
Q&A
Trang 22Machine learning
Trang 2323
Trang 24Xây dựng một mô hình học máy
Trang 25Classification
Trang 26Fasttext: Text classification
Trang 27Tại sao chọn Fasttext
Thư viện nguồn mở, miễn phí từ Facebook AI Research
công bố 08/2016
Fasttext có tốc độ training nhanh và cho độ chính xác cao
Fasttext có thể training với khối lượng dữ liệu lớn
Trang 28Độ chính xác
Trang 29Tốc độ huấn luyện
Trang 31Model training: Linear classifier
Comment và nhãn đều
được đưa về vector
Tìm biểu diễn vector của
comment và xác định nhãn gần nó
Mỗi nhãn đưa ra đi kèm
một xác suất chính xác
Nhãn chính xác là nhãn
có xác suất cao nhất
Trang 36Precision & Recall
Trang 37Precision & Recall
Precision cao đồng nghĩa với việc độ chính xác của các
điểm tìm được là cao
Recall cao đồng nghĩa với việc True Positive Rate cao, tức
tỉ lệ bỏ sót các điểm thực sự positive là thấp
Thường được dùng khi dữ liệu có sự chênh lệch lớn
Trang 39Linear SVC P@0 = 91.09
P@1 = 94.71
R@0 = 75.80 R@1 = 98.32
SGD Classifier P@0 = 91.99
P@1 = 91.09
R@0 = 57.37 R@1 = 98.87
P@1 = 94.52
R@0 = 75.10 R@1 = 97.59
Chú ý:
@0: label bad
@1: label good
Trang 40Demo
Trang 4141
Trang 42Tài liệu tham khảo
[1] scikit-learn 0.19.1 documentation
http://scikit-learn.org
[2] Gensim similar
https://radimrehurek.com/gensim/models/keyedvectors.html#gensim.models.keyedvectors.Doc 2VecKeyedVectors.most_similar
[3] Phương pháp xây dựng tập từ chỉ quan điểm có trọng số dựa trên tập ngữ liệu mạng xã hội Đỗ Đức Cường, Bùi Khánh Linh, Nguyễn Thị Thu Hà, Dương Trung Kiên - Trường Đại học điện lực 235 Hoàng Quốc Việt – Hà Nội, Nguyễn Ngọc Cương - Bộ Công An
[4] Fasttext Facebook
[5] predicting-source-context-words-from-the-ta
https://stats.stackexchange.com/questions/280222/why-the-skip-gram-model-is-called-as-[6] their-benefits/answer/Ajit-Rajasekharan
https://www.quora.com/What-are-the-semantic-models-except-word2vec-and-what-are-[7] https://www.quora.com/What-are-the-continuous-bag-of-words-and-skip-gram-architectures
Trang 4343