Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 24 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
24
Dung lượng
3,39 MB
Nội dung
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 sinh viên thực hiện: Nhóm Đỗ Thị Hồng Thảo - 20176878 Hồ Khánh Dương -20176736 Lê Đức Đô - 20176716 Nguyễn Thị Thu Phương – 20176848 Giảng viên hướng dẫn: PGS-TS Phạm Văn Hải Hà Nội, tháng năm 2021 MỤC LỤC I Tóm tắt Trong năm gần đây, 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 tăng cao Tuy nhiên tiêu dùng online có mặt rủi ro 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 tốt khơng Vậy nên mua hàng, người dùng thường tham khảo bình luận 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á sản phẩm, chúng em đánh giá tất bình luận người dùng, tổng hợp đưa đánh giá cuối giúp người dùng nhanh chóng có nhìn tổng quát sản phẩm quan tâm Xác định toán Bài toán phân loại cảm xúc hay thái độ người dùng qua bình luận (comment) trang thương mại điện tử, giới di động, … Hay ứng dụng chatbot, toán phân loại văn sử dụng để phát mục đích người dùng Chúng em phân loại phản hồi khách hàng thành loại: Tích cực(Positive), Tiêu cực(Negative) Trung tính(Neutral) Dựa vào việc phân loại tự động bình luận đánh giá tác động sản phẩm, dịch vụ, xu hướng lên khách hàng, cộng đồng tích cực hay tiêu cực để có chiến lược kinh doanh phù hợp Các công cụ kết hợp với công cụ thu thập liệu tự động từ nhiều nguồn khác (mạng xã hội, báo điện tử, diễn đàn, trang thương mại điện tử…) tạo lên cơng cụ điều tra thăm dị giá trị Input, Output Input Output Đường link sản phẩm giới di động Tốt / Khơng tốt/ Bình thường II Mơ hình BERT Mơ hình BERT BERT sử dụng Transformer mơ hình attention (attention mechanism) học mối tương quan từ (hoặc phần từ) văn Transformer gồm có phần chính: Encoder Decoder, encoder thực đọc liệu đầu vào decoder đưa dự đoán Ở đây, BERT sử dụng Encoder Khác với mơ hình directional (các mơ hình đọc liệu theo chiều - trái→phải, phải→ trái) đọc liệu theo dạng tuần tự, Encoder đọc toàn liệu lần, việc làm cho BERT có khả huấn luyện liệu theo hai chiều, qua mơ hình học ngữ cảnh (context) từ tốt cách sử dụng từ xung quanh (phải & trái) Hình mơ tả nguyên lý hoạt động Encoder Theo đó, input đầu vào chuỗi token w1, w2, biểu diễn thành chuỗi vector trước đưa vào mạng neural Output mơ hình chuỗi vector có kích thước kích thước input Trong huấn luyện mơ hình, thách thức gặp phải mơ hình directional truyền thống gặp giới hạn học ngữ cảnh từ Để khắc phục nhược điểm mơ hình cũ, BERT sử dụng chiến lược training sau: a.Masked LM (MLM) Trước đưa vào BERT, 15% số từ chuỗi thay token [MASK], mơ hình dự đoán từ thay [MASK] với context từ không bị thay [MASK] Mask LM gồm bước xử lý sau : -Thêm classification layer với input output Encoder -Nhân vector đầu với ma trận embedding để đưa chúng khơng gian từ vựng (vocabulary dimensional) -Tính tốn xác suất từ tập từ vựng sử dụng hàm softmax Hàm lỗi (loss function) BERT tập trung vào đánh giá từ đánh dấu [MASKED] mà bỏ qua từ cịn lại, mơ hình hội tụ chậm so với mơ hình directional, điều giúp cho mơ hình hiểu ngữ cảnh tốt hơn.(Trên thực tế, số 15% cố định mà thay đổi theo mục đích tốn.) b.Next Sentence Prediction (NSP) Trong chiến lược này, mơ hình sử dụng cặp câu liệu đầu vào dự đoán câu thứ câu câu thứ hay khơng Trong q trình huấn luyện, 50% lượng liệu đầu vào cặp câu câu thứ thực câu câu thứ 1, 50% cịn lại câu thứ chọn ngẫu nhiên từ tập liệu Một số nguyên tắc đưa xử lý liệu sau: -Chèn token [CLS] vào trước câu [SEP] vào cuối câu -Các token câu đánh dấu A B -Chèn thêm vector embedding biểu diễn vị trí token câu (chi tiết vector embedding tìm thấy báo Transformer) Positional embeddings: vị trí token câu, tối đa 512 tokens Token embeddings: token xâu đầu vào Token [CLS] Token kết thúc câu [SEP] Trong task phân loại, đầu Transformer (hidden state cuối cùng) ứng với token giá trị phân loại Segment embeddings: phân biệt câu trường hợp đầu vào cặp câu, câu A giá trị 0, câu B giá trị Các bước xử lý Next Sentence Prediction: -Toàn câu đầu vào đưa vào Transformer -Chuyển vector output [CLS] kích thước 2x1 classification layer -Tính tốn xác suất IsNextSequence softmax Một số mơ hình sử dụng BERT - Mơ hình bên trái: Áp dụng toán phân loại cặp câu - Mơ hình bên phải: Áp dụng toán phân loại câu, câu hỏi, phân loại cảm xúc - Mơ hình bên trái: Áp dụng tốn hỏi - đáp - Mơ hình bên phải: Áp dụng toán gán nhãn III Giới thiệu phương pháp PhoBERT Kiến trúc PhoBERT mạng xương sống với số sửa đổi Đầu khối Transformer thể mức ngữ nghĩa khác cho đầu vào Trong thử nghiệm mình, chúng em sử dụng kết hợp đầu khác khối Transformer Mơ hình kiến trúc chung thể Hình Các tính kết hợp đầu nhiều khối biến áp cách ghép thêm vào đưa vào đầu phân loại Đầu phân loại đơn giản mạng bảo vệ hồn tồn khơng có lớp ẩn 1.Tinh chỉnh mơ hình: Mơ hình đào tạo trước phù hợp với tập liệu lớn nhiều miền hồn tồn khác Do đó, hoạt động tốt nói chung, mơ hình vani đào tạo trước hoạt động hiệu nhiệm vụ cụ thể Điều đòi hỏi chúng em phải điều chỉnh mơ hình cho phù hợp với nhu cầu Do đó, với trọng số có PhoBERT điểm khởi đầu, chúng em đào tạo mô hình với liệu đào tạo dành riêng cho miền chúng em nhiệm vụ Tạo mô hình ngơn ngữ che giấu (MLM) Hơn nữa, để mơ hình lớn đào tạo thành cơng mà khơng qn việc khởi tạo tốt (do gradient giảm dần xa so với nó) khơng hội tụ (do mơ hình sâu khơng tốt việc lan truyền qua lớp xa hơn), chúng em 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] tên "tỷ lệ học tập hình tam giác nghiêng" Mục đích phương pháp làm cho mơ hình hội tụ nhanh cho vùng thích hợp khơng gian tham số q trình bắt đầu đào tạo Cho n thuộc tính X1, X2, …, Xn với 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 không Cố định: Mỗi lớp mạng RoBERTa nắm bắt mức ngữ cảnh khác Cụ thể, lớp thấp tạo nhúng toàn cục cho từ nhúng từ lớp khơng cụ thể chúng em muốn bảo vệ toàn kiến thức điều chỉnh biểu diễn ngữ cảnh cho mơ hình phân loại chúng em Trong vài kỷ nguyên đầu tiên, chúng em giữ lại lớp kết nối đầy đủ chịu trách nhiệm phân loại chuỗi văn phần RoBERTa bị đóng băng Điều cho phép mơ hình tìm hiểu định phù hợp cho nhiệm vụ Sau kỷ nguyên này, chúng em giải phóng tất lớp đặt tốc độ học tập khác cho lớp khác nhau: lớp sâu, tỷ lệ học tập tăng Điều ngăn mơ hình qn ý nghĩa tồn cục hữu ích từ buộc phải học ngữ cảnh miền 3.Làm mịn nhãn: Để mơ hình lớn phù hợp với tập liệu tương đối nhỏ, mơ hình có xu hướng trở nên tự tin hiệu suất nó, đến mặt tối việc trang bị nhiều Để tránh điều này, chúng em sử dụng tính làm mịn nhãn, làm mềm nhãn trung thực mặt đất nóng chúng em Cụ thể, mơ hình xác suất đầu yk K lớp, thay gắn nhãn thật mã hóa nóng: Chúng em cân lại chút phân phối mục tiêu để trở nên bị "phân quyền" cách làm mịn xác suất với, Đối với số tham số làm mịn α Kết là, kỹ thuật dạy cho mơ hình có số khơng chắn dự đốn giảm mức độ nghiêm trọng việc trang bị mức Hơn nữa, chúng em điều chỉnh mơ hình đào tạo trước, vectơ xác suất đầu ban đầu mô hình gần với điểm nóng Điều dẫn đến không ổn định số nhãn thực nóng, với entropy chéo hàm mát, tổn thất trở thành log = −∞ Do đó, sử dụng đây, làm mịn nhãn đóng vai trị nhiễu loạn nhỏ phương pháp số chúng em, làm cho q trình đào tạo ổn định hơn, giúp mơ hình chúng em hội tụ tốt IV SVM Support Vector Machines (SVM) kỹ thuật việc phân lớp liệu, phương pháp học sử dụng khơng gian giả thuyết hàm tuyến tính khơng gian đặc trưng nhiều chiều, dựa lý thuyết tối ƣu lý thuyết thống kê Trong kỹ thuật SVM không gian liệu nhập ban đầu ánh xạ vào không gian đặc trưng không gian đặc trƣng mặt siêu phẳng phân chia tối ưu xác định Ta có tập S gồm e mẫu học S = {(x1,y1), (x2,y2), (x3,y3)… ( xe,ye)} (X×Y)e với vectơ đầu vào n chiều xi ∈ Rn thuộc lớp I lớp II (tương ứng nhãn y i = lớp I v y i = - lớp II) Một tập mẫu học gọi tầm thường tất nhãn Đối với liệu phân chia tuyển tính, xác định đƣợc siêu phẳng f(x) mà chia tập liệu Khí đó, với siêu phẳng nhận đƣợc ta có: f(x)≥ đầu vào x thuộc lớp dƣơng, f(x)< x thuộc lớp âm yif(xi) = yi (w.xi + b) ≥ , i=1,….,l w vector pháp tuyến n chiều b giá trị ngưỡng Vector pháp tuyến w xác định chiều siêu phẳng f(x), giá trị ngưỡng b xác định khoảng cách siêu phẳng gốc Siêu phẳng có khoảng cách với liệu gần lớn (tức có biên lớn nhất) gọi siêu phẳng tối ưu Mục đích đặt tìm ngưỡng (w,b) phân chia tập mẫu vào lớp có nhãn (lớp I) -1 (lớp II) nêu với khoảng cách lớn Trình bày tóm tắt phân lớp liệu - Phân lớp liệu kỹ thuật khai phá liệu sử dụng rộng rãi nghiên cứu mở rộng - Mục đích: Để dự đốn nhãn phân lớp cho liệu mẫu Đầu vào: Một tập mẫu liệu huấn luyện,với nhãn phân lớp cho mẫu liệu Đầu ra: Bộ phân lớp dựa tập huấn luyện,hoặc nhãn phân lớp Phân lớp liệu dựa tập huấn luyện giá trị thuộc tính phân lớp dùng để xác định lớp cho liệu Kỹ thuật phân lớp liệu tiến hành bao gồm 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 đắn mơ hình dùng để phân lớp liệu Bước Xây dựng mơ hình - Mỗi bộ/mẫu liệu đƣợc phân vào lớp đƣợc xác định trước - Lớp bộ/mẫu liệu xác định thuộc tính gán nhãn lớp - Tập bộ/mẫu liệu huấn luyện - tập huấn luyện – dùng để xây dựng mơ hình - Mơ hình biểu diễn luật phân lớp,các định 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 đối tượng chưa phân lớp - Đánh giá độ xác mơ hình Lớp biết trước mẫu/bộ liệu đem kiểm tra so sánh với kết thu từ mơ hình Tỉ lệ xác phần trăm mẫu/bộ liệu phân lớp mơ hình số lần kiểm tra Hình 2: Sử dụng mơ hình 2.1 Thuật tốn SMV Giới thiệu Bài toán phân lớp (Classification) dự đoán (Prediction) hai tốn có nhiều ứng dụng tất 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âu nghiên cứu phương pháp Support Vector Machines (SVM), phương pháp hiệu Phƣơng pháp SVM coi công cụ mạnh cho tốn phân lớp phi tuyến tính tác giả Vapnik Chervonenkis phát triển mạnh mẽ năm 1995 Phƣơng pháp thực phân lớp dựa nguyên lý Cực tiểu hóa Rủi ro có Cấu trúc SRM (Structural Risk Minimization), đƣợc xem phương pháp phân lớp giám sát không tham số tinh vi Các hàm công cụ đa dạng 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 tảng lý thuyết thống kê nên có tảng tốn học chặt chẽ để đảm bảo kết tìm xác Là thuật tốn học giám sát (supervied learning) sử dụng cho phân lớp liệu Là phương pháp thử nghiệm, đưa phương pháp mạnh xác số thuật toán tiếng phân lớp liệu SVM phương pháp có tính tổng qt cao nên áp dụng cho nhiều loại toán nhận dạng phân loại 2.3 Ý tưởng phương pháp Cho trước tập huấn luyện, đươcc biểu diễn khơng gian vector, tài liệu điểm, phương pháp tìm siêu phẳng định tốt chia điểm không gian thành hai lớp riêng biệt tương ứng lớp + lớp - Chất lượng siêu phẳng định khoảng cách (gọi biên) điểm liệu gần lớp đến mặt phẳng Khi đó, khoảng cách biên lớn mặt phẳng định tốt, đồng thời việc phân loại xác Mục đích phương pháp SVM tìm đƣợc khoảng cách biên lớn nhất, điều minh họa sau: Hình 3: Siêu phẳng phân chia liệu học thành lớp + - với khoảng cách biên lớn Các điểm gần (điểm khoanh tròn) Support Vector 2.4 2.4.1 Nội dung phương pháp Cơ sở lý thuyết SVM thực chất toán tối ưu, mục tiêu thuật tốn tìm không gian F siêu phẳng định f F cho sai số phân loại thấp 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} nhãn lớp tương ứng xi (-1 biểu thị lớp I, biểu thị lớp II) Ta có, phương trình siêu phẳng chứa vectơ không gian: +b=0 Đặt f() = sign(+b) = Như vậy, f() biểu diễn phân lớp )vào hai lớp nêu Ta nói y i=+1 € lớp I yi = -1 € lớp II Khi đó, để có siêu phẳng f ta phải giải tốn sau: Tìm với W thỏa mãn điều kiện sau: yi (sin(+b))1 với i Bài tốn SVM giải kỹ thuật sử dụng toán tử Lagrange để biến đổi thành dạng đẳng thức Một đặc điểm thú vị SVM mặt phẳng định phụ thuộc Support Vector có khoảng cách đến mặt phẳng định 1/ Cho dù điểm khác bị xóa thuật tốn cho kết giống ban đầu Đây điểm bật phương pháp SVM so với phương pháp khác tất liệu tập huấn luyện đùng để tối ưu hóa kết TĨM LẠI: trường hợp nhị phân phân tách tuyến tính, việc phân lớp đƣợc thực qua hàm định f(x) = sign( + b), hàm thu việc thay đổi vectơ chuẩn w, vectơ để cực đại hóa viền chức Việc mở rộng SVM để phân đa lớp đầu từ nghiên cứu Có phương pháp tiếp cận để giải vấn để xây dựng kết hợp nhiều phân lớp nhị phân SVM (Chẳng hạn: trình luyện với SVM, tốn phân m lớp biến đổi thành toán phân 2*m lớp, hai lớp, hàm định xác định cho khả tổng quát hóa tối đa) Trong phương pháp đề cập tới hai cách một-đổi-một, một-đối-tất 2.4.2 Bài toán phân lớp với SVM Bài toán đặt là: Xác định hàm phân lớp để phân lớp mẫu tương lai, nghĩa với mẫu liệu xi cần phải xác định xi phân vào lớp +1 hay lớp -1 Để xác định hàm phân lớp dựa phương pháp SVM, ta tiến hành tìm hai siêu phẳng song song cho khoảng cách y chúng lớn để phân tách hai lớp 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 hai siêu phẳng tìm Hình 6: Minh họa tốn phân lớp phương pháp SVM Các điểm mà nằm hai siêu phẳng phân tách gọi Support Vector Các điểm định đến hàm phân tách liệu 2.4.3 Bài toán nhiều phân lớp với SVM Để phân nhiều lớp kỹ thuật SVM nguyên thủy chia không gian liệu thành phần trình lặp lại nhiều lần Khi hàm định phân liệu vào lớp thứ i tập n , 2-Iớp là: fi(x) = wiix + bi Những phần tử x support vector thỏa điều kiện +1 thuộc lớp i fi (x) = -1 thuộc phần lại Nhƣ vậy, toán phân nhiều lớp sử dụng phương pháp SVM hồn tồn thực giống 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ử 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 tiến hành phân tách với k-1 lớp lại để xác định k-1 hàm phân tách dựa vào toán phân hai lớp phương pháp SVM 2.4.4 Các bước phương pháp SVM Phƣơng pháp SVM yêu cầu liệu diễn tả vector số thực Như đầu vào chưa phải số ta cần phải tìm cách chuyển chúng dạng số SVM Tiền xử lý liệu: Thực biến đổi liệu phù hợp cho q trình tính tốn, tránh số q lớn mơ tả thuộc tính Thuơng nên co giãn (scaling) liệu để chuyển đoạn [-1, 1] [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ốn cụ thể để đạt độ xác cao trình phân lớp Thực việc kiểm tra chéo để xác định thám số cho ứng đụng Điều định đến tính xác trình phân lớp Sử dụng tham số cho việc huấn luyện với tập mẫu Trong trình huấn luyện sử dụng thuật tốn tối ưu hóa khoảng cách siêu phẳng trình phân lớp, xác định hàm phân lớp không gian đặc trưng nhờ việc ánh xạ liệu vào không gian đặc trưng cách mô tả hạt nhân, giải cho hai trường hợp liệu phân tách khơng phân tách tuyến tính khơng gian đặc trưng Kiểm thử tập liệu Test V So sánh mơ hình Deep Learning Machine learning Deep Learning (PhoBERT) Machine Learning (SVM) 86,59% 74,67% Phần trăm xác Tốc độ VI Trong khoảng từ 0,5 phút đến Trong khoảng phút đến phút phút Train mô hình : Tập liệu Chúng em sử dụng liệu crawl Selenium.Bộ liệu chúng em có 5000 mẫu, tất thu thập trang giới di động, gán nhãn nhãn: POS(Positive), NEG (Negative) NEU(Neutral) - Cách cài đặt selenium : pip install selenium - Thiết lập selenium chrome drive Xử lý trước liệu Chúng em xây dựng module tiền xử lý để xử lý văn thô trước đưa vào mơ hình Nó bao gồm Unicode chuẩn hóa, chuyển đổi chữ thường thay tất biểu tượng cảm xúc cho nhãn EMOJI Cuối văn thơ phân đoạn Sau sử dụng VnCoreNLP để xử lý trước liệu train 3 Cài đặt thực nghiệm Các bước cài đặt: - Bước 1: Cài đặt chromium-chromedriver 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 : Người dùng truy cập vào trang web nhập đường link đến sản phẩm muốn xem đánh giá Hệ thống truy cập vào link tiến hành crawl comment sản phẩm selenium trả mảng chứa comment người dùng sản phẩm Sau đưa comment vào PhoBERT để tiến hành phân loại comment trả mảng đánh giá sau phân loại ( gồm POS , NEU, NEG) Cuối tổng hợp đưa đánh giá cuối dựa vào tỉ lệ phần trăm đánh giá VIII Các vướng mắc trình thực thi - Khơng có sẵn tools để thực gán nhãn cho câu phục vụ train mô hình - Đa số trang thương mại điện tử chặn khơng cho phép crawl liệu - Bóc tách liệu sau crawl để lấy comment - Câu trước đưa vào PhoBERT cần tách gán token cho từ IX Kết dự kiến đạt 12/04 : Hồn thành mơ hình PhoBERT 26/04 : Hồn thành crawl 5000 liệu từ trang thegioididong.com 03/05 : Xây dựng tools gán nhãn cho 5000 liệu crawl 10/05 : train mơ hình PhoBERT 5000 liệu gán nhãn xây dựng giao diện 24/05 : Hoàn thành project X Xây dựng tiêu đánh giá Phân loại bình luận thành nhóm sau: - Positive: Tích cực - Negative: Tiêu cực - Neutral: Trung tính Ở chủ yếu tập trung xây dựng tiêu chí đánh giá cho nhóm sản phẩm trang giới di động Bộ tiêu chia làm nhóm: ● ● ● XI Nhóm 1: Sản phẩm tốt - Danh sách bình luận đá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 đá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 đánh giá tiêu cực >70% Kết chạy chương trình Kết 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 : Crawl đánh giá người dùng sản phẩm Bước 3: Phân loại đánh giá người dùng tổng hợp ... khảo bình luận 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á sản phẩm, chúng em đánh giá tất bình luận người dùng, tổng hợp đưa đánh giá cuối giúp người dùng. .. ● XI Nhóm 1: Sản phẩm tốt - Danh sách bình luận đá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 đánh giá trung tính từ 40% đến 60% - Danh sách bình luận tích cực xấp... tra XII Demo thực nghiệm Bước 1: Nhập đường link đến sản phẩm Bước : Crawl đánh giá người dùng sản phẩm Bước 3: Phân loại đánh giá người dùng tổng hợp