NỘI DUNG VÀ PHƯƠNG PHÁP

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 hệ thống chatbot hỗ trợ tư vấn tuyển sinh đại học (Trang 41 - 61)

3.1 Tổng quan hệ thong

Knowlegde base

HINH 3.1: Tổng quan hệ thống chatbot.

Ở phan nay chúng tôi sẽ trình bày tổng quan hệ thống chatbot, các luồng xử ly

và cách hệ thống chatbot hoạt động. Hinh|3.5|mé tả tổng quan hệ thống chatbot.

Tổng quan hệ thống chatbot gồm 4 phần chính:

¢ Trang web: Noi để người dùng có thể tương tác với chatbot nhập vào các

câu hỏi và nhận các câu trả lời từ hệ thống.

¢ Trung tâm xử lý: Được xây dựng dựa trên trí tuệ nhân tạo để phân luồng

các câu hỏi va dựa vào các luéng xử lý để trả ra câu trả lời phù hợp đối với từng câu hỏi. Đây là thành phần quan trọng để tạo nên hệ thống chatbot

Chương 3. NỘI DUNG VÀ PHƯƠNG PHÁP 30

° Kiến thức cơ sở: Là nơi lưu trữ thông tin các câu trả lời, thông tin dữ liệu

cho các mô hình trong phần trung tâm xử lý. Đây là thành phần tiền đề để chatbot có thể hoạt động hiệu quả.

¢ Lưu trữ dữ liệu: Là nơi lưu trữ thông tin cuộc trò chuyện để chatbot có thể

theo dõi được các cuộc trò chuyện và là nguồn tài nguyên để có thể phục

vụ cho việc phân tích dữ liệu từ cuộc trò chuyện sau này.

Intent classification Private knowledge Answer Database

|

Slot Filling Technique

In domain

Conservation tracking

Recommen‹ \dation Ask again

HINH 3.2: Cac thanh phan trong hé théng.

Hình 8.2| mo tả các luồng xử lý va các tính năng của hệ thống chatbot. Dau

tiên để đưa vào mô hình có thể hoạt động hiệu quả thì câu hỏi sẽ được đưa qua các bước tiền xử lý. Sau đó sẽ kiểm tra xem câu hỏi thuộc ngôn ngữ nào nếu tiếng Việt thì có dấu hay chưa để tiến hành thêm dấu cho câu hỏi, đây là một phần quan trọng trong việc hiểu được câu hỏi giúp cho mô hình linh động tiếp nhận các dạng câu hỏi không dấu và có dấu trong tiếng Việt. Tiếp theo, sẽ được đưa vào một mô hình phân loại miễn trả lời. Có hai trường hợp sẽ xảy ra:

® Ngoài miễn tư van: Nếu câu hỏi không thuộc miễn tư van thì sẽ kiểm tra

câu hỏi có tương đồng với một vài câu hỏi ngoài miễn tư van trong kiến thức cơ sở. Nếu có độ tương đồng cao hơn ngưỡng thì sẽ đưa ra câu trả lời ngoài miễn tư vấn trường hợp nếu thấp hơn ngưỡng thì thông báo câu hỏi ngoài phạm vi hiểu biết của chatbot.

Chương 3. NỘI DUNG VÀ PHƯƠNG PHÁP 31

¢ Trong miễn tư vấn: Nếu câu hỏi trong miễn tư vấn thì sẽ đưa vào mô hình

phân lớp ý định để xác định câu hỏi đang hỏi đến vấn đề gì trong miễn tư

van. Sau đó sé đưa vào mô hình điền khuyết (slot filling) để xác định câu

trả lời cho câu hỏi về ý định đã xác định ở mô hình phân lớp ý định. Nếu

mô hình điển khuyết không xác định được câu trả lời thì chúng tôi sẽ tiến

hành xử lý theo từng trường hợp:

— Theo doi thông tin cuộc trò chuyện (Conversation tracking): Trường

này sẽ xem câu hỏi đầu hiện tại và câu hỏi trước có mối liên kết với nhau hay không để đưa ra câu trả lời.

— Đề xuất (Recommendation): Trường hợp này sẽ dé xuất các câu hỏi liên

quan với câu hỏi hiện tại.

— Hỏi lại (Asking again): Khi người dùng nhập câu hỏi không đủ ý nghĩa

để mô hình xác định được câu trả lời thì mô hình sẽ hỏi lại.

Chỉ tiết phương pháp thực hiện từng phần sẽ được chúng tôi trình bày ở các phần tiếp theo.

3.2 Xây dựng và đánh giá bộ dư liệu

3.2.1 Bộ dư liệu phân lớp ý định

Bộ đữ liệu của chúng tôi được xây dựng dựa trên dé án tuyển sinh của trường Đại học Công Nghệ Thông Tin năm 2021. Dựa vào đề án tuyển sinh, chúng tôi tiến hành đặt những cặp câu hỏi - câu trả lời từ dé án. Để bộ dữ liệu được phong phú, mỗi câu trả lời được chúng tôi tăng cường thêm bằng cách đặt những câu

hỏi có cùng ý nghĩa, khi đọc vào người đọc sẽ liên tưởng được với các câu hỏi

có cùng câu trả lời. Thêm vào đó, để chống lại sự thiên vị và tăng thêm góc nhìn

khác, các câu hỏi này được đặt bởi các người chú thích khác nhau. Với những

trường hợp xảy ra nhập nhằng, những người chú thích sẽ tập hợp các câu đó để giải thích vì sao mình đặt cặp câu hỏi - câu trả lời gây nhập nhằng, từ những góp

ý của các nhà chú thích khác, cặp câu hỏi - câu trả lời này sẽ được chỉnh sửa cho

hợp lý. Như vậy, từ một cặp câu hỏi - câu trả lời ban đầu thì chúng tôi sẽ tăng cường để trở thành nhiều cặp câu hỏi - câu trả lời có cùng câu trả lời.

Chương 3. NỘI DUNG VÀ PHƯƠNG PHÁP 32

STT Câu hỏi Ý định

1 Các phương thức xét tuyển ở UIT? Hỏi dap xét

tuyên

2 | Điểm xét tuyển dựa trên điểm thi tốt nghiệp THPT năm 2022? Hỏi dap điểm

Chỉ tiêu xét tuyến theo tiêu chí riêng của chương trình liên kêt Thông tin chỉ

3 với Dai học Birmingham City - Anh Quốc, do DH on esa om

Birmingham City cập bang?

4 Giá phòng ký túc xá 8 sinh viên là bao nhiêu? Hỏi đáp ký túc xá

5 Vi trí và khả năng làm việc sau tot nghiệp ngành Khoa học dữ Hỏi đáp nghề

liệu là gì? nghiệp

Mã ngành Khoa hoc máy tính liên két do chương trình Dai học ` `

6 Birmingham city cấp bằng 2022? Hỏi đáp ngành

7 Học phí của chương trình chính quy / đại trà là bao nhiêu? Hỏi đáp UIT

8 Tổ hợp xét tuyển Ngành Khoa học máy tính ? Hỏi đáp tổ hợp

9 O trường UIT có các loại học bổng nào? Hỏi đáp học bổng

10 Bắt xe bus số bao nhiêu để tới trường? Hỏi đáp xe bus

‘Dat các câu hỏi và

câu trả lời

Để án tuyển sinh

2021

Xác định các ý

định

Gan các ý định cho câu hỏi Kiểm tra chéo Bộ dữ liệu

Từ bộ câu hỏi - câu trả lời này, chúng tôi tiến hành phân chia thành những ý

định khác nhau. Tổng quan quy trình làm dữ liệu được thể hiện ở Hình |.3| Nội dung các ý định được thể hiện bên dưới va Bang 3.1] vi dụ về các câu hỏi tương

ứng với các ý định.

° Hỏi đáp xét tuyển: Những câu hỏi về phương thức xét tuyển, cách để xét

tuyển vào trường UIT, tiêu chí, đối tượng và điều kiện để xét tuyển, v.v.

¢ Hỏi đáp điểm chuẩn: Những câu hỏi về thông tin điểm chuẩn, ngưỡng dam

bảo đầu vào (điểm sàn) của kỳ thi Đánh giá năng lực và kỳ thi Trung Học Phổ Thông của các ngành qua các năm.

¢ Hỏi đáp ký túc xá: Những câu hỏi liên quan đến nơi cư trú là ký túc xá như

địa chỉ, giá phòng, thông tin phòng, điều kiện để được đăng ký ở ký túc xá,

V.V.

Chương 3. NỘI DUNG VÀ PHƯƠNG PHÁP 33

¢ Hỏi đáp ngành: Những câu hỏi về thông tin ngành, ví dụ như chuyên ngành

đào tạo, thời gian đào tạo, mã ngành.

¢ Hỏi đáp nghề nghiệp: Những câu hỏi liên quan đến vị trí việc làm sau khi

tốt nghiệp trường UIT.

° Hỏi đáp tổ hợp: Những câu hỏi liên quan đến tổ hợp xét tuyển vào các

ngành cua UIT.

¢ Hỏi đáp UIT: Những câu hỏi liên quan đến cơ sở vật chất của trường, hoc

phí, đội ngũ giảng viên hoặc phương châm, tỉnh thần giảng dạy của trường UIT, các ngành đào tạo ở UIT hoặc những thông tin khác về UIT.

e Thông tin chỉ tiêu: Những câu hỏi về thông tin chỉ tiêu của các ngành có

trong trường đại học Công nghệ thông tin.

® Hỏi đáp xe bus: Những câu hỏi liên quan đến xe bus như thông tin tuyến

xe bus, các tuyến xe có đến KTX, UIT.

* Thông tin học bổng: Nhưng câu hỏi về thông tin học bổng như các loại học

bổng, điều kiện để nhận được các loại học bổng đó.

3.2.2 Bộ dữ liệu thêm dấu

Với mục đích sử dụng mô hình thêm dấu để tích hợp vào chatbot, ở phần nghiên cứu này, chúng tôi tái sử dụng bộ dữ liệu phân loại ý định để xây dựng nên bộ dữ liệu cho bài toán thêm dấu. Việc sử dụng lại bộ câu hỏi tuyển sinh sẽ làm cho mô hình thêm dấu tập trung vào chủ dé hon so với sử dụng các bộ dữ

liệu có từ wikipedia hay từ các trang báo khác. Ngoài ra, các câu trả lời cũng có

thể được dùng làm dt liệu cho bài toán bằng phương pháp bóc tách các câu trong

câu trả lời. Từ bộ câu hỏi và các câu trả lời được bóc tách từ dữ liệu tuyển sinh,

chúng tôi tiến hành loại bỏ dau các câu này đi để được câu hỏi mới không có dau.

Các câu được thực hiện bỏ dấu theo quy tắc ở Bảng |B.2|

Câu sau khi bỏ dau sẽ đóng vai trò là câu đầu vào. Câu gốc có dau sẽ là câu đầu ra của mô hình thêm dấu. Như vậy, bộ dữ liệu cho bài toán thêm dấu cuối

cùng được hoàn thành.

Chương 3. NỘI DUNG VÀ PHƯƠNG PHÁP 34

Ký tự có dâu Ký tự không có dâu

IN ZI IX I 2M //ỨXI( PP (0 /PXS// We me Mh me “oman

a, a,a,ay,a,a,a,ay,a,a, Val

1-2 Lee LA Lee Le ee Le ee Le Le Le

a , Aa, A, aA, aA, aA, a

WLM XM IM mM RM IR RR

Oo, 0, 0, 0,90, 0, 0, 0, 0, 0, ”Q⁄

IRMA 1” SL II ZAL VIN AL JP 2đ“ I hh 1 Mh

Qo, Ơ, 0, Ơ, Ơ, Ơ, Ợ

WML IX IN JJAX( PP IK PA OK RY RK Ra WY Mh

é“, “è“, “Š“, “ẽ“, “e“, “ê⁄, “ê“, “ê“, “ế“, “ễ“, “ê e

A LL LL NHị “eo LLL LL ““ "” “

ỳ“,“ự“, “ủ“, “ủ“, “ụ”, “ư“, “ứ”, “ừ“, “ử“, “ữ”,“ự u

JIZM JJÀ/“ IIA JJ~/( JP*// IIMS

0,790, 1, 1, 4 i

"4 “q⁄“

ILM ISAAC PP // WN Mh

Yr, Y, Ys Ys ¥ y

BANG 3.2: Bảng quy tắc bỏ dau

3.2.3. Bộ dữ liệu phân loại miễn tư vấn

Dé chatbot có thể trả lời các câu hỏi ngoài miễn tư vấn chúng tôi thu thập các câu hỏi về các lĩnh vực trong đời sống như kinh tế, xã hội, văn hóa, thể thao, v.v. Ngoài ra chúng tôi cũng tạo ra một số câu hỏi và trả lời trong cuộc sống hàng ngày như thông tin về thời tiết, sức khỏe, một số người nổi tiếng trong nước và quốc tế.

Tiếp theo, chúng tôi tiền hành lọc ra các câu hỏi nhập nhằng với miễn tư vấn.

Loại bỏ các câu trùng.

Sau đó, chúng tôi gộp bộ dữ liệu phân lớp ý định và các câu hỏi ngoài miền

tư van để tạo mô hình phân loại miền tư van. Đây là một phan quan trong của hệ thống để xác định câu hỏi thuộc miền nào để đưa ra câu trả lời chính xác và phù

hợp.

3.2.4 Bộ dữ liệu khuôn mẫu

Từ bộ dữ liệu tuyển sinh, chúng tôi tái câu trúc các câu trả lời theo hệ thống dang cấu trúc dữ liệu cây. Bộ dữ liệu khuôn mẫu gồm các cây nhỏ có các ý định

là nút gốc và các nút cấp dưới là các thực thể. Các nút (và các lá) sẽ đóng vai trò

là một lỗ sẽ kết hợp lại với nhau để tạo thành một mẫu câu trả lời tương ứng. Ví

dụ như các câu trả lời trong ý định hỏi đáp ký túc xá được tổ chức như Hình|3.4|

Để tạo thành mẫu cho câu trả lời của “Giá phòng ký túc xá 4 người máy lạnh

là bao nhiêu“ thì cần phải có sự xuất hiện của các lỗ là các thực thể như “giá

Chương 3. NỘI DUNG VÀ PHƯƠNG PHÁP 35

se;

hồ sơ địa chỉ hồ sơ tổng quan liên hệ giá phòng điều kiện

XY

HINH 3.4: Sơ đồ cau trúc cây cho ý dinh”hdi dap ký túc xa”

phong”, “4 sinh viên“, “máy lạnh“, ghép các thực thé này lại với nhau ta có mẫu

câu trả lời là “hỏi đáp ktxl giá phòng | 4_sinh_vién | máy_lạnh“. Cac ô được tô

đậm như “địa chỉ“, “4 sinh viên“ có nghĩa là mẫu câu trả lời cũng có thể được tao

từ các nút phía trên của nút được tô đậm này mà không cần các nút lá phía dưới.

Ví dụ như mẫu câu trả lời cho câu hỏi “Tôi muốn biết dia chỉ của ký túc xá“ chỉ cần thực thể “địa chỉ“. Tương tự với các ý định còn lại, hệ thống mẫu câu trả lời được xây dựng để phục vụ cho bài toán Điền khuyết (Slot Filling) sẽ được giới

thiệu sau.

3.3 Tien xử lý dữ liệu

Tiền xử ly di liệu là một trong những thành phần quan trong trong các mô hình và bài toán liên quan đến ngôn ngữ. Việc tiền xử lý dữ liệu tốt sẽ giúp mô hình giảm số lượng từ vựng, giảm trọng số huấn luyện và tăng độ chính xác mô hình. Các bước tiền xử lý trước khi đưa vào mô hình được mô tả như sau:

© Bước 1: Đầu tiên chúng tôi tiến hành xóa các khoảng trắng dư thừa trong

câu, giữa 2 từ cách nhau chỉ một khoảng trắng. Sau đó chúng tôi tiến hành thay thế các từ đồng nghĩa hoặc một số từ viết tắt trong câu để giảm số

lượng bộ từ vựng va mô hình dé dàng xác định và hoạt động hiệu quả hơn.

Ví dụ như khmt, khoa học mt thì chúng tôi sẽ chuyển thành khoa học máy

tính.

Chương 3. NỘI DUNG VÀ PHƯƠNG PHÁP 36

° Bước 2: Chúng tôi xóa bỏ các từ dừng và các biểu tượng cảm xúc vì chúng

có rất ít hoặc không có thông tin cho nhiệm vụ phân loại ý định.

© Bước 3: Tiếp theo chúng tôi tiến hành sửa một số lỗi chính tả thường gặp

trong ngôn ngữ tiếng Việt như “xoá” thành “xóa”, “huỹ” thành “hủy” để

mô hình có thể hiểu đây là cùng 1 từ.

© Bước 4: Do trong quá trình tương tác với chatbot có thể có một số từ bị lặp

nhiều lần nên chúng tôi sẽ tiến hành xóa các từ bị lặp và chi giữ lại 1 từ.

© Bước 5: Loại bỏ các ký tự đặc biệt như là ”,.!%&...” để giảm kích thước bộ

dữ liệu.

© Bước 6: Đối với ngôn ngữ như tiếng Việt thì giai đoạn tách từ trong tiền

xử lý là không thể thiếu bởi vi từ vựng trong tiếng Việt có thể được tao thành từ một từ ngữ hoặc nhiều nhiều từ ngữ khác nhau ví dụ như từ vựng

“học sinh” được cau tạo từ 2 từ là “học” và “sinh” nhưng khi 2 từ này đứng riêng lẻ thì đều có ngữ nghĩa riêng và khác nhau. Để giải quyết trường hợp

này, nghiên cứu của chúng tôi sử dụng thư viện tách từ Pyvi Vietnamese

Toolkif|để tách từ trong dữ liệu đầu vào. Ngoài ra, chúng tôi cũng sử dụng

thư viện này để lây các nhãn từ loại của từng từ phục vụ cho quá trình biểu dién đặc trưng cho phương pháp học máy truyền thống.

3.4 Các phương pháp tiếp cận cho bài toán phân lớp

ý định và cài đặt.

Để phân lớp các ý định chúng tôi tiếp cận với các nhóm mô hình là:

¢ Các mô hình thuộc nhóm học máy: SVM, NaiVe Bayes, Neural Network.

® Các mô hình học sâu: CNN, LSTM.

* Các mô hình học chuyển tiếp: PhoBERT, XLMR.

Tổng quan quy trình làm thí nghiệm cho bài toán phân lớp ý định được thể hiện

trong Hình|3.5| Dưới đây là chỉ tiết cách cài đặt các mô hình.

1Python Vietnamese Toolkit:https:/ /github.com/trungtv/pyvi

Chương 3. NỘI DUNG VÀ PHƯƠNG PHÁP 37

Các phương pháp tiếp cận

May học

Trích xuất đặc trưng Thuật toán máy học

⁄ Học sâu

Hoc chuyên tiếp

sean ;S Ỷ PA)

HÌNH 3.5: Tổng quan quy trình làm thí nghiệm cho bài toán Phân

loại ý định.

3.4.1 Mô hình máy học

Trong phần này, chúng tôi trình bày phương pháp biến đổi dựa trên nền tảng học máy để giải quyết bài toán phân lớp ý định. Để giải quyết bài toán này chúng

tôi thí nghiệm sử dụng ba mô hình học máy là: Support Vector Machine, Naive

Bayes và Neural Network. Để đưa vào mô hình học máy chúng tôi thử nghiệm

các đặc trưng sau:

® N-grams: Đặc trưng 2, 3, 4 grams được rút trích từ dữ liệu đầu vào để làm

đặc trưng cho phân loại.

¢ Từ loại: Dựa vào nhãn từ loại để rút trích ra các danh từ, động từ, tinh từ

để làm đặc trưng.

Sau khi rút trích đặc trưng đữ liệu đầu vào chúng tôi đã thí nghiệm sử dụng hai 2 kỹ thuật trích xuất đặc trưng là TF-IDF và BoW để chuyển các đặc trưng rút trích thành vectơ đại diện rồi đưa vào mô hình máy học. Trong quá trình huấn luyện chúng tôi sử dụng kỹ thuật Cross-validation với k=5 để đánh giá hiệu suất của các mô hình và tiến hành so sánh.

Chương 3. NỘI DUNG VÀ PHƯƠNG PHÁP 38

3.4.2 Mô hình học sâu

Mạng tích chập (Convolutional Neural Network ) là một trong những mô hình

học sâu tiên tiến. Nó giúp cho chúng ta xây dựng được những hệ thống thông

minh với độ chính xác cao như hiện nay. Dé mô hình có thé phân lớp ý định chúng tôi xây dựng mô hình CNN với kích thước hạt nhân (kernel size) lần lượt

là 2, 3 kết hợp với bộ lọc (filter) là 64. Sau đó, chúng tôi kết hợp 2 lớp tổng hợp lớn nhất (Global Max Pooling) với lớp tổng hợp trung bình (Average Pooling) để thu được các đặc trưng quan trọng của đầu vào. Để tối ưu tham số mô hình, chúng tôi sử dụng thuật toán Adam với tốc độ học (learning rate) là 0.001, kích thước bó (batch size) là 32 và số lượng kỉ nguyên (epoch) tối đa là 100.

Đối với mô hình mạng hồi quy LSTM, chúng tôi xây dựng lớp LSTM với 256

tế bào (cell) và tỷ lệ bỏ học (drop out) là 0.25. Sau đó chúng tôi sử dụng 2 lớp kết nối đầy đủ (fully connected) với hàm kích hoạt là ReLU. Cả 2 mô hình học sâu chúng tôi đều sử dụng mô hình Word2Vec như là lớp nhúng để trích xuất đặc trưng đầu vào để đưa vào mô hình.

Bên cạnh đó, để khởi tạo vector từ cho các mô hình học sâu, chúng tôi thử

nghiệm với hai mô hình: (1) sử dụng Word2ve?| được dao tạo trước công khai

được đào tạo trên kho tài liệu tiếng Việt 20GB văn bản; (2) đào tạo trực tiếp về dữ liệu câu hỏi về tư van tuyển sinh miễn sử dụng kiến trúc Skip-gram. Thử nghiệm kết quả cho thây rằng việc sử dụng miền word2vec được đào tạo mang lại hiệu quả tốt hơn hiệu suất hơn Word2Vec thông thường. Vì vậy, chúng tôi báo cáo kết quả bằng cách sử dụng miền word2vec để trích xuất vector đại điện từ.

Bên cạnh đó, trong quá trình thí nghiệm chúng tôi cũng sử dụng kỹ thuật

Cross-validation như trong quá trình thí nghiệm với các mô hình máy học để so sánh hiệu suất các mô hình.

3.4.3. Mô hình học chuyển tiếp

Cuối cùng, thí nghiệm phân lớp ý định với 2 mô hình học chuyển tiếp chúng

tôi thí nghiệm sử dụng 2 mô hình đào tạo trước là PhoBERT và XLMR

được tải từ thư viện Huggingfacd | Đồng thời, chúng tôi tối ưu các tham số của

“https:/ /github.com/datquocnguyen/PhoW2V

Shttps: //huggingface.co/

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 hệ thống chatbot hỗ trợ tư vấn tuyển sinh đại học (Trang 41 - 61)

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

(79 trang)