Vietnamese Text Classification
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN, ĐHQG-HCM
KHOA CÔNG NGHỆ THÔNG TIN
• 21C11013 – Lê Công Luận
• 21C11027 – Huỳnh Viết Thám
• 21C11026 – Nguyễn Thành Thái
Học viên thực hiện:
1
NỘI DUNG
2
Giới thiệu
bài toán
Phương
pháp bài
toán
Phương
pháp đề
xuất
Đánh giá
tổng kết
Tài liệu
tham khảo
3
I. Giới thiệu bài toán
4
Mục tiêu bài toán:
Phân loại văn bản trên ngôn ngữ tiếng việt.
Đầu vào: Đoạn văn bản Đầu ra: Chủ đề của văn bản
Ý nghĩa:
Bài toán phục vụ giải quyết nhiều vấn đề trong cuộc sống
Phân loại
Thư rác
Không là Thư
rác
Phân loại chủ đề
báo điện tử
Kinh tế
Tải chính
Chính Trị
…
Phân loại email
I. Giới thiệu bài toán
5
Giới thiệu đề tài: Đề tài nhóm nghiên cứu là đề tài Phân loại
văn bản tiếng Việt.
(https://github.com/jackNhat/classification)
- Đề tài được phát triển bởi nhóm nghiên cứu xử lý ngôn
ngữ tự nhiên tiếng Việt - Underthesea.
Phương pháp sử dụng:
- Nhóm tác giả tiến hành thử nghiệm trên:
● Fasttext
● Srilm
● SVM(Tfidf/BoW + SVM + Top 20000 features)
● SVM_2(StopWord + Tfidf/BoW + SVM + Top 50000
features)
Dữ liệu: Bộ dữ liệu VNTC.
Đây là bộ dữ liệu với đa dạng các lĩnh vực: Chính trị,
Xã hội, Khoa học, Kinh doanh,...
Kết quả
Kết quả các thử nghiệm kết hợp mô hình SVM
và các đặc trưng Tfidf, BoW
8
a) Bag of Word:
Biểu diễn dựa trên số lần xuất hiện của mỗi
từ trong vocabulary.
2.1. Word Embedding
Nhược điểm:
● Kích thước của vector sẽ tăng khi có từ
mới được thêm vào vocabulary
● Vector chứa nhiều giá trị 0 => sparse
matrix
● Không biểu diễn được thông tin về cấu
trúc của câu (thứ tự từ)
II.Phương pháp bài toán
Review 1: This movie is very scary and long
Review 2: This movie is not scary and is slow
Review 3: This movie is spooky and good
Ví dụ:
II.Phương pháp bài toán
9
2.2. Word Embedding
b) TF-IDF (Term frequency - Inverse document
frequency): dựa vào thống kê để biểu diễn được
mức độ quan trọng của từng từ trong văn bản.
IDF: Đo độ quan trọng của từ
Ví dụ:
TF: Đo tần suất xuất hiện của từ trong văn bản
II.Phương pháp bài toán
10
2.1. Word Embedding
Word2vec (CBOW and Skip-gram)
II. Phương pháp bài toán
2.3. Classification model
Nhược điểm:
● Không phù hợp với lượng data lớn.
● Không đưa ra được phân phối xác suất cho dữ liệu phân
loại. 11
SVM: tìm một hyperplane tuyến tính sao cho margin của
hyperplane đến điểm gần nhất của mỗi class là lớn nhất và các
margin này là bằng nhau
Training:
● TF-IDF (ngram_range=(1, 2), max_df = 0.8)
● Linear SVM
● C = 1
12
II. Phương pháp bài toán
II. Phương pháp bài toán
2.4. Demo code gốc
13
Dựa trên mô hình của tác giả, nhóm tiến hành huấn luyện lại và kiểm tra độ chính
xác
14
Bộ dữ liệu: Dữ liệu phản hồi khách hàng trên foody được craw và đăng
trên trang streetcodevn
30000 train
10000 val
10000 test
Mục tiêu: Phân loại ngữ nghĩa văn bản nhập vào thuộc lớp tích cực
hay tiêu cực dựa trên dữ liệu huấn luyện thực tế từ người dùng.
II. Phương pháp bài toán
15
II. Phương pháp bài toán
● Trật tự từ
“Note that 85% of Vietnamese word types are composed of at least two syllables”
"chúng tôi" ≠"tôi"​
"nghiên cứu" -- "nghiên", "cứu"​
"chúng_tôi là những_người_nghiên_cứu"​
giá trị gia tăng ≠trị giá gia tăng
● Việc xác định các từ chưa biết (đối với máy tính) như các câu thành ngữ, từ láy, hoặc
tên người, địa điểm, tên các tổ chức…
III. Phương pháp đề xuất
Khó khăn trong Tiếng Việt
III. Phương pháp đề xuất
18
18
III. Phương pháp đề xuất
19
PhoBERT, BARTpho
19
IV. Đánh giá tổng kết
20
Kết quả thực hiện nhóm
Giới thiệu chi tiết :
- Mục tiêu
- Cách tiếp cận
- Bộ dữ liệu
- Kết quả tác giả
Chạy thử nghiệm :
- Bộ dữ liệu khác
- Phân loại tích
cực/tiêu cực
Đề xuất :
- Sử dụng kết
hợp PhoBert
IV. Đánh giá tổng kết
21
Nhận xét:
Mô hình máy học truyền thống dựa trên kỹ thuật xác suất -> máy tính có khả năng "học" và “ xác
định được các patterns” cho việc dự đoán thay vì thực hiện thủ công dựa trên hệ thống luật
(rule-based system) => Điều này dẫn đến mô hình cần phải có nhiều dữ liệu được gán nhãn tốt.
Trending transformer biểu diễn từ được tốt hơn
V. Tài liệu tham khảo
22
- http://viet.jnlp.org/
- https://github.com/undertheseanlp/NLP-Vietnamese-progress
- https://github.com/undertheseanlp/classification
- https://github.com/jackNhat/classification
- https://docs.google.com/document/d/1vpBhK8qCXBMqF80VIOcOE1xvBcyvRLsI20chmVUvcdc/edit?usp
=sharing
- https://medium.com/nlplanet/a-brief-timeline-of-nlp-from-bag-of-words-to-the-transformer-family-
7caad8bbba56
- https://developers.google.com/machine-learning/guides/text-classification/step-1
- https://zephyrnet.com/vi/learning-text-classification-using-the-fasttext-library/
- https://viblo.asia/p/xay-dung-mo-hinh-khong-gian-vector-cho-tieng-viet-GrLZDXr2Zk0
- https://viblo.asia/p/xay-dung-sentence-matrix-bieu-dien-cho-cau-doan-van-tieng-nhat-OeVKBvPMKkW
CẢM ƠN QUÝ THẦY CÔ
ĐÃ CHÚ Ý LẮNG NGHE
23

NLP-Text classification.pptx

  • 1.
    Vietnamese Text Classification TRƯỜNGĐẠI HỌC KHOA HỌC TỰ NHIÊN, ĐHQG-HCM KHOA CÔNG NGHỆ THÔNG TIN • 21C11013 – Lê Công Luận • 21C11027 – Huỳnh Viết Thám • 21C11026 – Nguyễn Thành Thái Học viên thực hiện: 1
  • 2.
    NỘI DUNG 2 Giới thiệu bàitoán Phương pháp bài toán Phương pháp đề xuất Đánh giá tổng kết Tài liệu tham khảo
  • 3.
  • 4.
    I. Giới thiệubài toán 4 Mục tiêu bài toán: Phân loại văn bản trên ngôn ngữ tiếng việt. Đầu vào: Đoạn văn bản Đầu ra: Chủ đề của văn bản Ý nghĩa: Bài toán phục vụ giải quyết nhiều vấn đề trong cuộc sống Phân loại Thư rác Không là Thư rác Phân loại chủ đề báo điện tử Kinh tế Tải chính Chính Trị … Phân loại email
  • 5.
    I. Giới thiệubài toán 5 Giới thiệu đề tài: Đề tài nhóm nghiên cứu là đề tài Phân loại văn bản tiếng Việt. (https://github.com/jackNhat/classification) - Đề tài được phát triển bởi nhóm nghiên cứu xử lý ngôn ngữ tự nhiên tiếng Việt - Underthesea. Phương pháp sử dụng: - Nhóm tác giả tiến hành thử nghiệm trên: ● Fasttext ● Srilm ● SVM(Tfidf/BoW + SVM + Top 20000 features) ● SVM_2(StopWord + Tfidf/BoW + SVM + Top 50000 features) Dữ liệu: Bộ dữ liệu VNTC. Đây là bộ dữ liệu với đa dạng các lĩnh vực: Chính trị, Xã hội, Khoa học, Kinh doanh,... Kết quả Kết quả các thử nghiệm kết hợp mô hình SVM và các đặc trưng Tfidf, BoW
  • 6.
    8 a) Bag ofWord: Biểu diễn dựa trên số lần xuất hiện của mỗi từ trong vocabulary. 2.1. Word Embedding Nhược điểm: ● Kích thước của vector sẽ tăng khi có từ mới được thêm vào vocabulary ● Vector chứa nhiều giá trị 0 => sparse matrix ● Không biểu diễn được thông tin về cấu trúc của câu (thứ tự từ) II.Phương pháp bài toán Review 1: This movie is very scary and long Review 2: This movie is not scary and is slow Review 3: This movie is spooky and good Ví dụ:
  • 7.
    II.Phương pháp bàitoán 9 2.2. Word Embedding b) TF-IDF (Term frequency - Inverse document frequency): dựa vào thống kê để biểu diễn được mức độ quan trọng của từng từ trong văn bản. IDF: Đo độ quan trọng của từ Ví dụ: TF: Đo tần suất xuất hiện của từ trong văn bản
  • 8.
    II.Phương pháp bàitoán 10 2.1. Word Embedding Word2vec (CBOW and Skip-gram)
  • 9.
    II. Phương phápbài toán 2.3. Classification model Nhược điểm: ● Không phù hợp với lượng data lớn. ● Không đưa ra được phân phối xác suất cho dữ liệu phân loại. 11 SVM: tìm một hyperplane tuyến tính sao cho margin của hyperplane đến điểm gần nhất của mỗi class là lớn nhất và các margin này là bằng nhau Training: ● TF-IDF (ngram_range=(1, 2), max_df = 0.8) ● Linear SVM ● C = 1
  • 10.
  • 11.
    II. Phương phápbài toán 2.4. Demo code gốc 13
  • 12.
    Dựa trên môhình của tác giả, nhóm tiến hành huấn luyện lại và kiểm tra độ chính xác 14 Bộ dữ liệu: Dữ liệu phản hồi khách hàng trên foody được craw và đăng trên trang streetcodevn 30000 train 10000 val 10000 test Mục tiêu: Phân loại ngữ nghĩa văn bản nhập vào thuộc lớp tích cực hay tiêu cực dựa trên dữ liệu huấn luyện thực tế từ người dùng. II. Phương pháp bài toán
  • 13.
  • 14.
    ● Trật tựtừ “Note that 85% of Vietnamese word types are composed of at least two syllables” "chúng tôi" ≠"tôi"​ "nghiên cứu" -- "nghiên", "cứu"​ "chúng_tôi là những_người_nghiên_cứu"​ giá trị gia tăng ≠trị giá gia tăng ● Việc xác định các từ chưa biết (đối với máy tính) như các câu thành ngữ, từ láy, hoặc tên người, địa điểm, tên các tổ chức… III. Phương pháp đề xuất Khó khăn trong Tiếng Việt
  • 15.
    III. Phương phápđề xuất 18 18
  • 16.
    III. Phương phápđề xuất 19 PhoBERT, BARTpho 19
  • 17.
    IV. Đánh giátổng kết 20 Kết quả thực hiện nhóm Giới thiệu chi tiết : - Mục tiêu - Cách tiếp cận - Bộ dữ liệu - Kết quả tác giả Chạy thử nghiệm : - Bộ dữ liệu khác - Phân loại tích cực/tiêu cực Đề xuất : - Sử dụng kết hợp PhoBert
  • 18.
    IV. Đánh giátổng kết 21 Nhận xét: Mô hình máy học truyền thống dựa trên kỹ thuật xác suất -> máy tính có khả năng "học" và “ xác định được các patterns” cho việc dự đoán thay vì thực hiện thủ công dựa trên hệ thống luật (rule-based system) => Điều này dẫn đến mô hình cần phải có nhiều dữ liệu được gán nhãn tốt. Trending transformer biểu diễn từ được tốt hơn
  • 19.
    V. Tài liệutham khảo 22 - http://viet.jnlp.org/ - https://github.com/undertheseanlp/NLP-Vietnamese-progress - https://github.com/undertheseanlp/classification - https://github.com/jackNhat/classification - https://docs.google.com/document/d/1vpBhK8qCXBMqF80VIOcOE1xvBcyvRLsI20chmVUvcdc/edit?usp =sharing - https://medium.com/nlplanet/a-brief-timeline-of-nlp-from-bag-of-words-to-the-transformer-family- 7caad8bbba56 - https://developers.google.com/machine-learning/guides/text-classification/step-1 - https://zephyrnet.com/vi/learning-text-classification-using-the-fasttext-library/ - https://viblo.asia/p/xay-dung-mo-hinh-khong-gian-vector-cho-tieng-viet-GrLZDXr2Zk0 - https://viblo.asia/p/xay-dung-sentence-matrix-bieu-dien-cho-cau-doan-van-tieng-nhat-OeVKBvPMKkW
  • 20.
    CẢM ƠN QUÝTHẦY CÔ ĐÃ CHÚ Ý LẮNG NGHE 23