Các độ đo được sử dụng trong đánh giá thử nghiệm

Một phần của tài liệu Khóa luận tốt nghiệp Khoa học máy tính: Xây dựng Chatbot biết cảm thông dựa trên mô hình Bert cho tiếng Việt (Trang 57 - 62)

ĐẦU RA Hình 4.1. Mô hành tổng quan của hệ thống chatbot

CHƯƠNG 5. THU NGHIEM, ĐÁNH GIÁ

5.1 Các độ đo được sử dụng trong đánh giá thử nghiệm

Rất khó để đánh giá một câu phản hồi là đúng hay sai, nó tuỳ vào quan điểm

của từng người, tuỳ thuộc vào không gian và thời gian; chỉ có câu phản hồi phù

hợp hay không phù hợp, mà điều đó cho tới nay chỉ có con người mới có thể làm tốt được. Do đó việc đánh giá phản hồi của chatbot là một bài toán khó, hiện

chưa có cách để đánh giá trọn vẹn.

Ỏ đây chúng tôi sử dụng hai cách đánh giá, sử dụng các độ đo tự động (BLEU

và P@k,N) và đánh giá bởi con người.

5.1.1 BLEU

BLEU (bilingual evaluation understudy) [6] là một thuật toán đánh giá chất lượng của một chuỗi (một hoặc nhiều câu) được dịch bởi máy móc từ một ngôn ngữ khác. Chất lượng ở đây được xem là sự tương ứng giữa câu đầu ra với các

câu mẫu, là một trong những độ đo phổ biến nhất và ít tốn kém tài nguyên nhất. BLEU được tính theo công thức:

BLEU = BP.exp (>: vlog) (5.1)N

n=1

Trong đó:

-N là giá tri n-gram của BLEU mà ta muốn tính giá trị, thông thường

N € {1,2,3,4} tương ứng với BLEU@1, BLEU@2, BLEU@3, BLEU@4 .

- cla độ dai của câu dịch, r là độ dai của ground truth, w, = 1/4 là mặc định.

46

- Giá trị BP (Brevity Penalty), thuộc khoảng (0,1], để “phạt” khi câu dịch đầu ra quá ngắn.

1 uf c>r

BP= . / (5.2)

ec jc<r

` 72 £ os + nN Z ^ ` é 2 ⁄ ^ 2

- ứ„ là điểm sụ precision, thộ hiện mức độ trựng lap ở mức độ n-gram của

câu dịch và câu ground truth, được tính theo công thức:

" È 5C€{Candidates} È mgrameC Countctip(ngram)

È )C'€{Candidates} Ð mgram'cC! Count(ngram’)

Pn (5.3)

Giá tri BLEU trải từ [0-1], giá trị càng cao thể hiện câu dau ra càng tốt. Tuy

răng BLEU lúc ban đầu được thiết kế cho bài toán dịch máy, nhưng

nó cũng được ứng dụng để đánh giá các hệ thống sinh văn bản khác,

vì cách tính của BLEU gan giống với việc con người đánh giá chất lượng của một câu text. Dù vậy, BLEU không hoàn hảo vì nó bỏ qua các lỗi về văn phong

và cấu trúc ngữ pháp.

Trong đề tài này, chúng tôi sử dụng BLEU để đánh giá chất lượng câu phản

hồi của chatbot với các thiết đặt sau: giá trị của BLEU là trung bình cộng của BLEU®1, BLEU@2, BLEU@3, BLEU@4; mỗi câu truy vấn có duy nhất một

reference. Dé đảm bảo tính khách quan, các token bắt đầu chuỗi, kết thúc chuỗi,

kí tự lấp đầy chỗ trống (<s>, </s>, <pad>) nhãn cảm xúc đã được nối vào ứng viên theo phương pháp Nỗi thêm cảm xúc [4.4.1] được loại bỏ trước khi tính BLEU. Giá tri BLEU được chuyển đổi sang phần trăm(%).

Độ đo BLEU lí tưởng để đánh giá bài toán có không gian từ vựng nhỏ, và

có nhiều mẫu đúng (references) cho một câu dịch máy (hạn chế vấn đề từ đồng nghĩa, trái nghĩa, cặp nguyên nhân - kết qua ...), so sánh không gian từ vựng của BERT-base tiếng Anh với 28996 token; và PhoBERT-base của tiếng Việt

gồm 64000 token, khó mà trông chờ rằng BLEU của chúng tôi có thể cao hơn

kết quả của [8] vì không gian từ vựng lớn hơn gấp ~ 2.2 lần.

47

5.1.2 P@k,N

P@k,N là độ chính xác của việc tim đúng phản hồi, là precision at k giới han trong N mẫu. Trước khi đề cập đến độ đo P@k,N, hãy xem qua phiên bản tiền

nhiệm của nó, độ đo P@k, được định nghĩa: precision at k là ti lệ của uiệc các

phan tủ có liên quan (đúng) được đấu lên top k đầu tiên. Độ do thường được dùng trong các hệ thống truy vấn thông tin, để đánh giá mức độ hài lòng về các kết quả trả về - các phần tử có liên quan được đẩy lên đầu càng nhiều thì

hệ thống được đánh giá càng tốt. p@k được tinh theo công thức sau: xét trong

k mẫu kết quả trả về đầu tiên của hệ thống.

|{relevant document} (){retrieved document }|

|{retrieved document}| (5.4)

precision =

Trong trường hợp nay, precision dang đánh giá cho lớp tích cực (câu đầu ra đúng). Tương tự như BLEU, p@k không nói lên được chất lượng câu văn, bỏ qua các lỗi về cau trúc ngữ pháp và văn phong tiếng Việt, thậm chí xét một cách

công tâm, p@k thể hiện tệ hơn để đánh giá rang phản hồi dau ra so với BLEU,

vì trong bài toán chatbot mỗi một câu nói của người dùng chỉ có 1 ground truth, nên nếu hệ thống chọn câu phản hồi khác hợp lệ (đúng) thì vẫn tính là truy vấn

sai và đồng thời các hạn chế của BLEU thì P@k,N không khắc phục được.

Các hạn chế khi sử dụng p@k trong xây dựng mô hình text generation là trong không gian từ vựng lớn, (i) các câu đồng nghĩa xuất hiện nhiều hơn, (ii)

có nhiều hơn một câu dau ra liên quan đến (đúng cho) câu đầu vào, (iii) bỏ qua các lỗi ngữ pháp, văn phong. Nhưng ưu điểm ở đây là chi phí tính toán thấp,

dễ hiểu và dễ sử dụng.

Chúng tôi sử dụng p@1 trong giới hạn 100 mẫu, kí hiệu P@1,100 (vì phản hồi của chatbot cho một đầu vào là duy nhất). Câu hỏi đặt ra là: “Tai sao không

sử dụng p@k làm độ do chính thúc để huấn luyện mô hình mà phải giới hạn lại

con 100 mau?” Câu trả lời là, như trong 3 hạn chế khi sử sung p@k đã đề cập ở

trên, N càng lớn càng gây khó khan cho việc học của mô hình, N càng lớn p@k

48

càng nhỏ nếu N bằng số lượng mẫu dữ liệu của dữ liệu, lí do đơn giản vì p@1 giống như việc phân lớp 1 câu input vào N lớp. Vì vậy, cần giới hạn N là một con số cụ thể, miễn sao kết quả với con số đó chưa phải là tuyệt đối và để so sánh kết quả với các nghiên cứu khác. Một số nghiên cứu [12, 13] sử dụng N=10, nhưng chúng tôi sử dụng N=100 để so sánh với hai công trình miền đề tài [2, 8].

5.1.3 Đánh giá bởi con người

Chúng tôi đánh giá con người bằng cách: sử dung các điểm số nguyên từ 1

đến 5 tương ứng với rất tệ đến rất tốt cho câu phản hồi với 2 yếu tố: độ liên quan và độ đồng cảm đến câu nói. Chúng tôi dùng 6 câu nói (ngữ cảnh) ngẫu nhiên để tìm câu phản hồi cho mỗi phương pháp đã tiến hành, mỗi mẫu có 6 người tham gia chấm điểm. Kết quả cuối cùng là lấy trung bình của tất cả mọi

người.

5.2 Đánh giá bộ dữ liệu

Nhìn chung so với tiếng Anh, lượng dữ liệu của bộ UVA và UIT-VED-27K

còn ít (UVA: 100K mẫu, UIT-VED-27K: 27K mau, Reddit conversation dataset

tiếng Anh: 1.7 tỉ mau), không bao quát được hết các khía cạnh, các lĩnh vực cho một cuộc giao tiếp thông thường.

5.2.1 UIT-VED-AUTO (UVA)

Bộ dữ liệu được dịch tự động bang các mô hình máy học nên các mẫu dịch

có văn phong cứng nhắc, không giống văn phong người Việt và câu dịch có sai

ngữ pháp. Trong trường hợp câu input có các từ vựng không xuất hiện trong từ

điển (từ viết tắt, viết sai chính tả, các cụm danh từ, teencode) thì từ đó bị dịch sai hoặc giữ nguyên, điều đó khiến cho đầu ra sai ngữ pháp và không tự nhiên. Đồng thời các đoạn đối thoại không có sự liên kết giữa lượt nói và lượt trả lời

của hai người với nhau. Xét một vài mẫu sau dịch sau dé làm rõ van đề trên:

49

Where has she gone? — Nơi mà cô dy đã biến mắt? (nền là: Cô ấy đã di đâu rồi?)

It feels like hitting to blank wall when I see the darkness. + Nó cam thấu như đánh để trống tường khi tôi nhìn thấy những bóng tối. (nên là: Cam giác giống như va vào bức tường vô hình khi tôi nhìn vào bóng tối.)

“My son will go to preK this year” > “Con trai của tôi sẽ di preK năm

nay.” (nên là: Con trai của tôi sẽ di học mẫu giáo trong năm nay).

Một đoạn đối thoại được dịch tự động:

Đối: Đầu tiên của tôi, con méo disaapeared 2 năm trước sau 14 năm với

anh ta.

Đáp: Đó là rất buồn. Tôi chỉ cần có một con mèo biến mat, nó khá buồn.

Đối: Phải, họ muốn bỏ đi khi họ chết để thử va chữa lành nhưng nó là rất

buon khả họ chi di.

Đáp: Chúng tôi nghĩ nó có thể đã bi săn đuối bởi chó sới kể từ khá chúng

ta sống gan khu rừng. Kha điên ro.

Thông qua các ví dụ trên, chúng tôi nhận thấy bộ dữ liệu UVA không thể sử dụng để làm ứng viên cho chatbot vì chất lượng dịch kém ảnh hưởng đến độ hài lòng của người dùng. Thay vào đó, chúng tôi sử dụng UVA để tinh chỉnh trọng

số lần thứ nhất với tốc độ học 1e-4 trên pretrained PhoBERT, sau đó tiến hành tinh chỉnh lần thứ hai với tốc độ học 1e-5 trên bộ dữ liệu UIT-VED-27K.

5.2.2. ULT-VED-27K

Bộ dữ liệu được dịch thủ công các câu dịch đảm bảo đúng văn phong và cấu trúc tiếng Việt. Các thông số chỉ tiết:

ô Gồm 32 nhón cảm xỳc tương tự với bộ UVA.

50

ô Gồm 6266 đoạn đối thoại, trong đú train/valid/test tương ứng là 5546/565/155

với số lượng câu đối đáp cụ thể là 23871/2502/694.

ô Gồm cú 11407 ứng viờn.

Nhận xét:

e Vì được xây dựng và hoàn thiện dựa trên bộ dữ liệu UVM trước đó, cùng

với việc rà soát, tinh chỉnh, sửa lỗi chính tả,... nên chất lượng của bộ dữ liệu tăng, cả về văn phong và cấu trúc ngữ pháp.

ô Số lượng đoạn hội thoại được tăng đỏng kể so với bộ dữ liệu trước đú, điều

này góp phần đa dạng các câu phản hồi, đồng thời giúp bao phủ nhiều tình huống, lĩnh vực hơn (xem bảng 3.1).

ô Cỏc nhón cảm xỳc phõn bố đều hơn, nhón chiếm lệ cao nhất là 4.6%, thấp

nhất là 2.2%, hạn chế việc thiên vị trong việc chọn phản hồi theo nhãn cảm

xúc.

Một phần của tài liệu Khóa luận tốt nghiệp Khoa học máy tính: Xây dựng Chatbot biết cảm thông dựa trên mô hình Bert cho tiếng Việt (Trang 57 - 62)

Tải bản đầy đủ (PDF)

(83 trang)