Tải bản đầy đủ (.pdf) (72 trang)

Xây dựng hệ thống trả lời tự động tư vấn tuyển sinh tại trường cao đẳng bình định

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.06 MB, 72 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƢỜNG ĐẠI HỌC QUY NHƠN

ĐINH THỊ BẢO CHÂU

XÂY DỰNG HỆ THỐNG
TRẢ LỜI TỰ ĐỘNG TƢ VẤN TUYỂN SINH
TẠI TRƢỜNG CAO ĐẲNG BÌNH ĐỊNH

Chuyên ngành: KHOA HỌC MÁY TÍNH
Mã số:8480101

Người hướng dẫn: TS. TRẦN THIÊN THÀNH


LỜI CAM ĐOAN
Tôi xin cam đoan số liệu và kết quả nghiên cứu trong luận văn là hoàn
toàn trung thực. Tất cả những sự giúp đỡ cho việc xây dựng cơ sở lý luận cho
bài luận văn đều được trích dẫn đầy đủ và ghi rõ nguồn gốc.
Quy Nhơn, ngày

tháng 9 năm 2020

Người thực hiện

Đinh Thị Bảo Châu


LỜI CẢM ƠN
Đầu tiên tôi xin gửi lời cảm ơn đến Ban giám hiệu Trường Đại học Quy
Nhơn và cán bộ, nhân viên Phòng Sau đại học đã tạo điều kiện giúp đỡ tơi tận


tình trong suốt khóa cao học vừa qua. Tôi cũng xin được gửi lời cảm ơn đến
các quý thầy, cô trong bộ môn cũng như khoa Công Nghệ Thông Tin đã mang
lại cho tôi những kiến thức vơ cùng q giá và bổ ích trong q trình học tập
tại trường.
Đặc biệt xin chân thành cảm ơn thầy TS. Trần Thiên Thành, người đã
định hướng, giúp đỡ, trực tiếp hướng dẫn và tận tình chỉ bảo tơi trong suốt
q trình nghiên cứu, xây dựng và hồn thiện luận văn này.
Tôi cũng xin được cảm ơn tới gia đình, những người thân, các đồng
nghiệp và bạn bè thường xuyên quan tâm, động viên, chia sẻ kinh nghiệm,
cung cấp các tài liệu hữu ích trong thời gian học tập, nghiên cứu cũng như
trong suốt quá trình thực hiện luận văn tốt nghiệp.
Trân trọng.
Quy Nhơn, ngày

tháng 9 năm 2020

Người thực hiện

Đinh Thị Bảo Châu


MỤC LỤC
PHẦN MỞ ĐẦU ............................................................................................. 1
1. Lý do chọn đề tài ....................................................................................... 1
2. Mục tiêu và nhiệm vụ nghiên cứu ............................................................. 3
3. Đối tượng và phạm vi nghiên cứu ............................................................. 3
4. Phương pháp nghiên cứu ........................................................................... 4
Chƣơng 1. TỔNG QUAN VỀ HỆ THỐNG TRẢ LỜI TỰ ĐỘNG ............ 5
1.1 Hệ thống trả lời tự động.............................................................................. 5
1.1.1 Hệ thống trả lời tự động là gì? ............................................................. 5

1.1.2 Lịch sử phát triển các hệ thống trả lời tự động .................................... 6
1.1.3 Một số hệ thống trả lời tự động tiêu biểu ............................................. 7
1.1.4 Tiêu chuẩn cho một hệ thống trả lời tự động ....................................... 9
1.2 Kiến trúc của một hệ thống trả lời tự động ............................................... 10
1.3 Phân loại câu hỏi dựa trên các phương pháp tiếp cận .............................. 12
1.3.1 Phương pháp tiếp cận ngôn ngữ ......................................................... 12
1.3.2 Phương pháp thống kê........................................................................ 12
1.3.3 Phương pháp đối sánh mẫu ................................................................ 13
1.4 Các kỹ thuật sử dụng trong hệ thống trả lời tự động ................................ 13
1.4.1 Kỹ thuật phân tích câu hỏi ................................................................. 13
1.4.1.1 Tiền xử lý văn bản ....................................................................... 15
1.4.1.2 Trích xuất đặc trưng và vectơ hóa văn bản .................................. 15
1.4.1.3 Thuật tốn huấn luyện mơ hình phân lớp .................................... 16
1.4.2 Kỹ thuật xử lý dữ liệu ........................................................................ 17
1.4.3 Kỹ thuật đưa ra câu trả lời .................................................................. 17
1.5 Bài toán phân lớp dữ liệu.......................................................................... 18
1.6 Thuật toán phân lớp sử dụng mạng Nơron ............................................... 19


1.6.1 Kiến trúc của mạng ANN ................................................................... 19
1.6.2 Quá trình học (Learning Processing) của ANN ................................. 23
1.6.3 Nguyên tắc huấn luyện (Training protocols) ..................................... 23
1.7 Xử lý ngôn ngữ tự nhiên cho bài toán hỏi đáp tự động ............................ 24
1.7.1 Tách từ (word segmentation) ............................................................. 24
1.7.2 Xử lý từ gõ sai chính tả ...................................................................... 24
1.7.3 Xác định từ loại (POS Tagging)......................................................... 26
1.8 Bài tốn trích chọn đặc trưng ................................................................... 27
1.8.1 Phương pháp Bag-of-words ............................................................... 27
1.8.1.1 Bag-of-words là gì ....................................................................... 27
1.8.1.2 Mơ hình Bag-of-words ................................................................ 28

1.8.2 Phương pháp tf-idf features................................................................ 28
1.8.2 Phương pháp word2vec ...................................................................... 29
1.9 Trích xuất thơng tin .................................................................................. 31
Chƣơng 2. XÂY DỰNG HỆ THỐNG TRẢ LỜI TỰ ĐỘNG TƢ VẤN
TUYỂN SINH ............................................................................................... 34
2.1 Giới thiệu về bài toán tư vấn tuyển sinh ................................................... 34
2.1.1 Tuyển sinh .......................................................................................... 34
2.1.2 Tư vấn tuyển sinh ............................................................................... 34
2.1.3 Sự cần thiết của tư vấn tuyển sinh ..................................................... 36
2.1.4 Thực trạng tư vấn tuyển sinh hiện nay ............................................... 36
2.1.4.1 Thực trạng ................................................................................... 36
2.1.4.2 Nguyên nhân ................................................................................ 39
2.1.4.3 Hướng khắc phục ......................................................................... 39
2.1.5 Bài tốn tư vấn tuyển sinh .................................................................. 40
2.2 Xây dựng mơ hình học máy cho hệ thống hỏi đáp tự động...................... 41
2.2.1 Chuẩn bị dữ liệu ................................................................................. 41


2.2.2 Xây dựng mơ hình phân lớp câu hỏi .................................................. 46
2.2.4 Lựa chọn câu trả lời ........................................................................... 46
Chƣơng 3. THỰC NGHIỆM VÀ ĐÁNH GIÁ ........................................... 48
3.1 Chương trình thực nghiệm........................................................................ 48
3.1.1 Dữ liệu thử nghiệm ............................................................................ 48
3.1.2 Xây dựng mô hình phân lớp câu hỏi .................................................. 50
3.1.3 Độ chính xác ...................................................................................... 56
3.2 Kết quả...................................................................................................... 56
3.3 Nhận xét.................................................................................................... 57
KẾT LUẬN ................................................................................................... 59
TÀI LIỆU THAM KHẢO............................................................................ 61



DANH MỤC TỪ VIẾT TẮT
Từ viết tắt

Viết đầy đủ

TREC

Text Retrieval Conference

IR

Information Retrieval

QA

Question Answering systems

Q&A

Question and Answering

AI

Artificial intelligence

BI

Business Intelligence


NLP

Natural Language Processing

NLU

Natural Language Understanding

ANN

Artifficial Neural Network

FSA

Finite-state automaton

ASR

Automatic Speech Recognition

QC

Query Classifier

OE

OpenEphyra

CRF


Random Forest classifier

NLG

Natural Language Generation

RNN

Recurrent Neural Network

DNNs

Deep Neural Networks

LSTM

Long Short-Term Memory

PE

Processing Elements

NLTK

Natural Language Toolkit

CSDL

Cơ sở dữ liệu


TF

Term Frequency

CNTT

Công nghệ thông tin

TF-IDF

Term Frequency – Inverse Document
Frequency


DANH MỤC HÌNH ẢNH
Hình 1.1 : Lĩnh vực trả lời tự động. .................................................................. 6
Hình 1.2: Lịch sử hình thành và phát triển của Chatbot ................................... 6
Hình 1.3: Sơ đồ hệ thống trả lời tự động ........................................................ 11
Hình 1.4: Hệ thống trả lời tự động tiêu biểu................................................... 11
Hình 1.5: Mơ hình phân lớp ........................................................................... 14
Hình 1.6: Hệ thống tạo phản hồi .................................................................... 18
Hình 1.7: Kiến trúc tổng quát của một ANN.................................................. 20
Hình 1.8: Skip-gram model ............................................................................ 30
Hình 1.9: Các bước xử lý chính trong pipeline của NLU .............................. 31
Hình 1.10: Mơ hình quản lý trạng thái và quyết định action trong hội thoại . 33
Hình 2.1: Tỉ lệ tuyển sinh vào các ngành giai đoạn 2018 – 2019 .................. 39


DANH MỤC CÁC BẢNG
Bảng 2-1: Phân lớp câu hỏi ........................................................................... 43

Bảng 2-2: Dữ liệu cho học máy ..................................................................... 43
Bảng 3-1: Kết quả thử nghiệm ....................................................................... 56


1

PHẦN MỞ ĐẦU
1.

Lý do chọn đề tài
Sự phát triển của trí thơng minh nhân tạo đang vượt xa những gì con

người có thể tưởng tượng trước đây. Nổi bật giữa làn sóng tiến bộ ấy, chatbot
đã khẳng định được vai trị quan trọng của mình trong nhiều lĩnh vực cuộc
sống.
Khái niệm chatbot hay chatbox hay hệ thống trả lời tự động bắt đầu sôi
động kể từ 2016 khi các công ty lớn như Microsoft (Cortana), Google
(Google Assistant), Facebook (M), Apple (Siri), Samsung (Viv), WeChat,
Slack đã giới thiệu các trợ lý ảo của mình, là các hệ thống trả lời tự động.
Chính thức đặt cược lớn vào cuộc chơi chatbot, với mong muốn tạo ra một trợ
lý ảo thực sự thông minh tồn tại trong hệ sinh thái các sản phẩm của mình[1].
Kết hợp những đoạn hội thoại được thiết lập sẵn và dựa vào mạng thần
kinh có khả năng học, chatbot có thể dự đốn, đưa ra được câu trả lời phù
hợp, chính xác về câu hỏi hay phát biểu của người dùng theo cách lược bỏ bớt
những từ rườm rà của một câu hoàn chỉnh, để bắt chước theo văn nói ngắn
gọn thơng thường. Theo đó, nó có thể ứng dụng vào mọi lĩnh vực và dịch vụ
như thương mại điện tử, dự báo thời tiết,..
Theo ghi nhận thực tế, tùy thuộc vào cách những chương trình cụ thể
được lập trình, chúng ta có thể chia thành hai nhóm lớn: Thực hiện cơng việc
theo lệnh đã được lập trình trước (simple chatbox) và thực hiện công việc

bằng cách đào tạo (smart chatbox).
Chatbot xuất hiện như chìa khóa giải quyết vấn đề này cho các doanh
nghiệp, đặc biệt trong hoạt động giao tiếp và kết nối với các khách hàng.
Chatbox trực tuyến giúp tiết kiệm thời gian, công sức bằng cách hỗ trợ người
dùng một cách hoàn toàn tự động.


2
Với sức mạnh của trợ lý ảo chatbot, chúng ta có thể ứng dụng vào thực
tế để nâng cao chất lượng phục vụ khách hàng, giảm chi phí vận hành, gia
tăng lợi thế cạnh tranh thích ứng nhanh trong thời kỳ hậu ứng dụng, đón đầu
cách mạng cơng nghiệp 4.0.
Trường Cao đẳng Bình Định là đơn vị đào tạo đa ngành nghề, đáp ứng
nhu cầu giáo dục của địa phương, các tỉnh miền Trung và Tây Nguyên. Nhà
trường chính thức đi vào hoạt động vào năm 1965, đến cuối năm 2009 đã trả
qua 5 giai đoạn phát triển và đã cung cấp hàng nghìn nhân lực tri thức sư
phạm và ngoài sư phạm. Tuy nhiên số, lượng tuyển sinh của trường giảm
mạnh trong những năm gần đây đã gây khó khăn cho nhiều hoạt động của
Trường.
Mặt khác, theo quyết định của UBND tỉnh Bình Định từ ngày
01/01/2019 thì 4 Trường Trung cấp trên địa bàn tỉnh được sáp nhập vào
Trường Cao đẳng Bình Định. Do đó, nhà trường hiện có gồm 75 ngành nghề
được đào tạo trình độ trung cấp và cao đẳng (gồm trong và ngoài sư phạm) và
gần 30 ngành nghề đào tạo trình độ sơ cấp. Vì vậy, việc sử dụng nhân sự
trong tư vấn tuyển sinh gặp nhiều khó khăn vì khơng nắm hết các nội dung tư
vấn như: trình độ đào tạo, chương trình đào tạo, thời gian khóa học, học phí…
nên sẽ khơng đáp ứng được nhu cầu người học.
Trong khi đó, tuyển sinh đào tạo hiện nay có một khối lượng lớn các tài
liệu điện tử cho phép tìm kiếm của bất kỳ thông tin tuyển sinh nào, thông tin
tuyển sinh thường xuyên thay đổi và cập nhật hằng năm cho phù hợp với tình

hình thực tế của ngành. Tuy nhiên, dữ liệu này vẫn chưa được khai thác triệt
để. Trong tình hình thực tế hiện nay, cần ứng dụng tốt công nghệ thông tin và
truyền thông, để công tác thông tin tuyển sinh ngày càng dễ tiếp cận. Vì vậy,
vấn đề tư vấn học sinh và phụ huynh của học sinh biết về tất cả thông tin
tuyển sinh của Nhà trường là rất cần thiết.


3
Với những lý do trên, tôi quyết định chọn đề tài “Xây dựng hệ thống trả
lời tự động tư vấn tuyển sinh tại Trường Cao đẳng Bình Định” nhằm giúp
cho học sinh và phụ huynh của học sinh quan tâm có hiểu biết về cơng tác
tuyển sinh của Bộ Giáo dục và Đào tạo, Bộ Lao động thương binh và Xã hội
nói chung và của Trường Cao đẳng Bình Định nói riêng để từ đó có lựa chọn
đúng đắn trường và ngành sẽ học trong tương lai.
2.

Mục tiêu và nhiệm vụ nghiên cứu
Mục tiêu của đề tài là ứng dụng học máy để xây dựng một hệ thống trả

lời tự động nhằm ứng dụng có hiệu quả cho cơng tác tư vấn tuyển sinh tại
Trường Cao đẳng Bình Định.
Để hồn thành mục tiêu trên cần thực hiện các nội dung sau:
Nghiên cứu tổng quát về hệ thống hỏi-đáp tự động, tập trung nghiên
cứu các phương pháp có thể áp dụng cho ngôn ngữ tiếng Việt dựa trên những
thành quả xử lý ngơn ngữ tiếng Việt đã có. Dựa trên những nghiên cứu này,
nhằm đề xuất ra được một giải pháp xây dựng hệ hỗ trợ tư vấn tự động bằng
tiếng Việt trong tuyển sinh đào tạo. Những nghiên cứu này làm cơ sở lý
thuyết cũng như thực nghiệm cho việc xây dựng các hệ thống trả lời tự động
(hỏi-đáp) tiếng Việt có hiệu quả trong tương lai.
3.


Đối tƣợng và phạm vi nghiên cứu
 Đối tượng nghiên cứu
+ Học máy.
+ Xử lý ngôn ngữ tự nhiên.
+ Hệ thống trả lời tự động.
 Phạm vi nghiên cứu
Hệ thống trả lời tự động dạng văn bản. Nội dung trả lời giới hạn trong

chủ đề liên quan đến các vấn đề tuyển sinh Trường Cao đẳng Bình Định.


4
4.

Phƣơng pháp nghiên cứu
 Phương pháp lý thuyết
Nghiên cứu tài liệu, ngơn ngữ lập trình và cơng nghệ liên quan. Tổng

hợp các tài liệu, phân tích và xây dựng mơ hình hệ thống.
 Phương pháp thực nghiệm
Phân tích u cầu thực tế của bài toán và đề xuất giải pháp xây dựng hệ
thống trả lời tự động hỗ trợ tư vấn tuyển sinh.
Xây dựng dữ liệu và hệ thống thông tin dựa trên các dữ liệu, số liệu và
thống kê tuyển sinh của Nhà trường.
Đánh giá kết quả thực nghiệm.
 Công cụ và kỹ thuật sử dụng
+ Ngôn ngữ lập trình: Python
+ Định dạng dữ liệu: JSON
+ Thư viện xử lý ngôn ngữ tự nhiên: NLTK, PYVI

+ Xây dựng mô hình học máy: TFlearn của Tensorflow.


5

Chƣơng 1. TỔNG QUAN VỀ HỆ THỐNG TRẢ LỜI
TỰ ĐỘNG
Chương này trình bày tổng quan về hệ thống trả lời tự động và một số
kỹ thuật học máy, xử lý ngôn ngữ tự nhiên thường dùng trong các hệ thống
trả lời tự động.
1.1 Hệ thống trả lời tự động
1.1.1 Hệ thống trả lời tự động là gì?
Hệ thống trả lời tự động là hệ thống được xây dựng để thực hiện việc
tìm kiếm tự động câu trả lời từ một tập lớn các tài liệu cho câu hỏi đầu vào
một cách chính xác. Từ những năm 1960, các hệ thống hỏi đáp đầu tiên đã
được ra đời. Điểm chung trong các hệ thống này là sử dụng cơ sở dữ liệu
được thiết kế bằng tay bởi các chuyên gia trong lĩnh vực được chọn. Giai
đoạn những năm 1970- 1980, có nhiều dự án lớn hướng đến việc “hiểu văn
bản” và xây dựng hệ thống hỏi đáp dựa trên các mô hình ngơn ngữ thống kê.
Hội nghị TREC diễn ra hàng năm (bắt đầu từ cuối những năm 1990) thu hút
sự tham gia của rất nhiều các nhóm nghiên cứu cũng đã góp phần rất lớn
trong việc thúc đẩy các nghiên cứu về hệ thống hỏi đáp. Cuối những năm
1990, world wide web ra đời và nhanh chóng phát triển bùng nổ trở thành một
kho ngữ liệu khổng lồ. Các nhà nghiên cứu về hệ thống hỏi đáp cũng bắt đầu
khai thác web như là một nguồn cho việc tìm kiếm câu trả lời. Các kĩ thuật
mới đòi hỏi tốc độ cao, khả năng xử lý lượng dữ liệu web lớn đang rất được
quan tâm.


6


Hình 1.1 : Lĩnh vực trả lời tự động.

1.1.2 Lịch sử phát triển các hệ thống trả lời tự động
Trả lời câu hỏi tự động đã là một chủ đề được nghiên cứu và phát triển
kể từ những ứng dụng AI đầu tiên. Sức mạnh máy tính đã tăng lên kể từ khi
các hệ thống đầu tiên như vậy được phát triển và phương pháp luận chung đã
thay đổi từ việc sử dụng cơ sở kiến thức được mã hóa thủ công về các lĩnh
vực đơn giản sang sử dụng các tập hợp văn bản làm nguồn tri thức chính trên
các lĩnh vực phức tạp hơn.
Thuật ngữ “Chatbot” dường như chỉ mới được đưa vào bảng từ vựng
cách đây vài năm, nhưng dự kiến sẽ có đến 80% doanh nghiệp tồn cầu sẽ sử
dụng chúng vào năm 2020. Nhưng có rất ít người biết rằng Chatbot có một
lịch sử phát triển rất lâu đời từ những thập niên 50 của thế kỷ trước[15].

Hình 1.2: Lịch sử hình thành và phát triển của Chatbot (Nguồn:
congdongchatbot.com)


7
Trong sự phát triển nhanh như vũ bão của làn sóng cách mạng cơng
nghiệp 4.0, nhiều chương trình dựa trên trí thơng minh nhân tạo (AI) được
biểu hiện dưới nhiều dạng như hình ảnh, âm thanh và giọng nói. Bots cũng sẽ
có thể làm được nhiều thứ như con người và có khả năng thay thế con người,
chẳng hạn như bán hàng, thanh tốn hóa đơn, chẩn đốn bệnh tật, quản lý tài
chính và cuối cùng là thấu hiểu cảm giác của con người.
1.1.3 Một số hệ thống trả lời tự động tiêu biểu
- Giải trí: Các Chatbot giải trí trực tuyến tốt nhất dựa trên AI có thể là
Mitsuku, Rose, Insomno Bot…trong qua trình tương tác với người dùng Bot
có thể hiểu được tâm trạng người dùng với sự đa dạng của ngôn ngữ.

- Thời tiết: Poncho, Siri, Cortana… là ChatBot được thiết kế để trở
thành một chuyên gia thời tiết, ngồi dự báo thời tiết chúng cịn gửi cảnh báo
khi thời tiết xấu với sự chấp thuận của người dùng.
- Từ thiện: Để nâng cao nhận thức của con người về cuộc khủng hoảng
nước ở Ethiopia, Yeshi là một ChatBot giúp người dùng có trải nghiệm sâu
sắc về cuộc sống khắc nghiệt ở nơi đây.
- Nhà hàng và các ngành bán lẻ: Đi cùng với chuỗi các cửa hàng thì
việc sở hữu các kênh bán lẻ online là một trong những kênh kinh doanh chính
của nhiều của nhiều cửa hàng bán lẻ hiện nay. Cùng với những hình thức tiếp
thị online như Email, SMS, việc xây dựng chat bot qua Fanpage Facebook
cũng sẽ là một trong những công cụ đắc lực trong việc thúc đẩy doanh thu,
xây dựng thương hiệu và tiết kiệm được tối đa chi phí nhất.
Mua sắm online đang dần trở thành xu hướng của đa số người dùng,
khi mà cuộc sống bận rộn không cho phép khách hàng có quá nhiều thời gian
dành cho mua sắm. Vì thế mà việc mua bán sản phẩm, đặt chỗ thông qua chat
bot dần trở nên phổ biến hơn, điển hình như BizFly Chat ược vận hành
bởi VCCorp, như Alexa của Amazon.


8
Đối với chuỗi nhà hàng, việc tìm hiểu thơng tin thực đơn, giá cả,...
trước đây thông thường đều qua website. Tuy nhiên, các thiết bị di động và
nền tảng nhắn tin trên các mạng xã hội đã giúp thay đổi hành vi của người
dùng.
Khách hàng có thể tiến hành đặt bàn online, đặt hàng online thông qua
chat bot. Điều này giúp cho khách hàng tối giản được quy trình đặt chỗ cũng
như tận hưởng các món ăn với khơng gian riêng tư của chính mình, điển hình
như BizFly Chat được vận hành bởi VCCorp, Feebi.
- Khách sạn và Du lịch: Mặc dù chat bot khơng thể thay thế hồn tồn
con người, tuy nhiên các ứng dụng chat bot lĩnh vực du lịch là rất đáng kể.

Chat bot về cơ bản có thể hoạt động như một nhân viên du lịch ảo, đưa ra các
gợi ý phù hợp với từng cá nhân dựa trên sở thích, yêu cầu của người dùng và
có thể tích hợp đưa ra những gợi ý về đặt vé máy bay, xe lửa, thuê xe, đặt
khách sạn và nhà hàng với mức giá cả và chấp nhận đặt trước, thanh tốn,
điển hình như Facebook Messenger, BizFly Chat được vận hành bởi VCCorp,
như Alexa của Amazon, Marriott Rewards....
- Y khoa: Sử dụng chat bot sẽ giúp cho bạn dễ dàng trò chuyện với các
khách hàng tiềm năng, các bệnh nhân, đối tác và các khách hàng một cách
nhanh chóng nhất. Woebot được sử dụng chủ yếu thơng qua Facebook
Messenger như một chatbot thông minh nhân tạo được đào tạo về liệu pháp
nhận thức-hành vi, một trong những phương pháp điều trị trầm cảm được biết
đến rộng rãi nhất.
Nền tảng của Babylon Health sử dụng một chatbot hỗ trợ AI để tạo ra
các chẩn đoán dựa trên phản hồi của người dùng. Người dùng có thể tương
tác với chatbot giống như cách họ làm khi nói chuyện với các nhà cung cấp
dịch vụ chăm sóc chính hoặc các chun gia y tế khác.
- …


9
1.1.4 Tiêu chuẩn cho một hệ thống trả lời tự động
Năm 2000, Carbonell và các đồng nghiệp trong bài báo The Vision
Statement to Guide Research in Question Answering and Text Summarization
đã đưa ra các tư tưởng chung cho việc nghiên cứu Q&A. Theo đó một hệ
thống hỏi đáp được người dùng đánh giá là hữu ích nếu đáp ứng được các tiêu
chuẩn:
- Tính hợp lý về thời gian (Timeliness): Câu trả lời phải được đưa ra
trong thời gian ngắn, ngay cả khi có hàng ngàn người dùng cùng truy nhập hệ
thống một lúc. Các nguồn dữ liệu mới cần phải được tích hợp vào hệ thống
ngay khi chúng sẵn sàng để có thế cung cấp cho người dùng câu trả lời cho

những câu hỏi về các sự kiện có tính thời sự.
- Tính chính xác: Tính chính xác của hệ thống hỏi đáp tự động là cực kì
quan trọng bởi việc đưa ra câu trả lời sai còn tai hại hơn nhiều là không đưa ra
câu trả lời. Nghiên cứu về Q&A cần tập trung vào việc đánh giá tính đúng đắn
của câu trả lời đưa ra, bao gồm cả phương thức để phát hiện các trường hợp
mà dữ liệu hiện thời không chứa câu trả lời cho câu hỏi. Các thông tin mâu
thuẫn trong dữ liệu cũng cần được tìm ra và các thơng tin này cần được xử lý
theo một cách phù hợp, nhất quán. Để đạt được sự chính xác, hệ thống Q&A
cần được tích hợp các nguồn tri thức (world knowledge) và cơ chế “bắt
chước” việc suy luận thơng thường (việc bắt chước có thể hiểu như là một
q trình học).
- Tính khả dụng: Hệ thống Q&A cần đáp ứng được các yêu cầu cụ thể
của một người dùng. Các ontology trên từng miền cụ thể và ontology trên
miền mở cần được tích hợp trong hệ thống. Hệ thống Q&A cần có khả năng
khai phá câu trả lời từ bất kì dạng dữ liệu gì (văn bản, web, cơ sở dữ liệu, …)
và đưa ra câu trả lời dưới định dạng mà người dùng mong muốn, cho phép
người dùng miêu tả ngữ cảnh của câu hỏi và cung cấp các thơng tin giải thích,


10
trích dẫn nguồn cho câu trả lời.
- Tính hồn chỉnh: Câu trả lời hoàn chỉnh cho câu hỏi của người dùng
là điều mà các hệ thống Q&A hướng tới. Trong nhiều trường hợp (câu hỏi về
danh sách, nguyên nhân, cách thức…), các phần của câu trả lời nằm rải rác
trong một văn bản, thậm chí trong nhiều văn bản. Vì vậy cần phải hợp nhất
các phần này dựa trên các thông tin liên kết để tạo ra câu trả lời hồn chỉnh.
- Tính thích hợp của câu trả lời: Trong ngôn ngữ tự nhiên, câu hỏi đưa
ra luôn gắn với ngữ cảnh nào đó và câu trả lời cũng nằm trong một ngữ cảnh
nhất định. Câu trả lời mà hệ thống Q&A đưa ra phải phù hợp ngữ cảnh với
câu hỏi. Một hệ thống Q&A có khả năng giao tiếp (interactive Q&A) là cần

thiết trong nhiều trường hợp bởi chuỗi các câu hỏi liên quan đến một vấn đề
sẽ giúp làm sáng tỏ thông tin mà người dùng đang hỏi. Việc đánh giá một hệ
thống Q&A cần hướng người dùng bởi ý kiến người dùng là đánh giá tốt nhất
cho tính thích hợp của câu trả lời.
Các tiêu chuẩn trên được đặt ra với mong muốn xây dựng được một hệ
thống Q&A hồn chỉnh. Tuy nhiên, khơng phải hệ thống nào cũng có khả
năng thơng minh và hồn thiện như thế. Các nghiên cứu về Q&A hiện nay
đang tập trung vào xây dựng hệ thống hỏi đáp có tính chính xác cao và có khả
năng sử dụng nguồn dữ liệu web khổng lồ trên Internet.
1.2 Kiến trúc của một hệ thống trả lời tự động
Dựa trên hình 1.3, có thể thấy cấu tạo của một hệ thống trợ lý ảo bao
gồm 2 khối: khối người dùng (user) có đầu vào là ảnh, giọng nói, văn bản và
khối xử lý dữ liệu (server) gồm các khối xử lý hình ảnh, âm thanh, văn bản,
khối quản lý hội thoại.


11

Hình 1.3: Sơ đồ hệ thống trả lời tự động[23]

Tuy nhiên, trong thực tế của phần nội dung này chỉ tìm hiểu giới hạn ở
đầu vào là dạng ngơn ngữ tự nhiên.
Như trong Hình…, một hệ thống Hỏi & Đáp điển hình bao gồm ba mơđun. Cụ thể là Query Processing Module, Document Processing Module và
Answer Processing Module, tất cả các mơ-đun này đều có thành phần như
Phân loại câu hỏi, Thơng tin truy xuất và Trích xuất câu trả lời làm cốt lõi cho
các mơ-đun tương ứng.

Hình 1.4: Hệ thống trả lời tự động tiêu biểu[7]



12
Query Processing Module là xác định câu hỏi và phân loại câu hỏi
được đưa vào. Đồng thời, nó cũng tìm câu trả lời chính xác ứng với câu hỏi và
tuy nhiên sau đó cũng có thể tạo ra nhiều câu trả lời gợi ý khác.
Document Processing Module là định dạng lại câu hỏi ( hoặc mở rộng
truy vấn) thành những câu hỏi có ý nghĩa tương tự như trong hệ thống truy
xuất thông tin (IR). Điều này rất quan trọng đối với việc trả lời câu hỏi, bởi vì
nếu khơng có câu trả lời chính xác nào trong tài liệu, thì khơng thể tiến hành
xử lý để tìm câu trả lời.
Thành phần cuối cùng trong hệ thống trả lời tự động là Answer
Processing Module. Đây là đặc điểm phân biệt giữa hệ thống Hỏi & Đáp và
hệ thống truy xuất văn bản vì nó ảnh hưởng và quyết định đến việc trả lời câu
hỏi để cho kết quả cuối cùng của hệ thống.
1.3 Phân loại câu hỏi dựa trên các phƣơng pháp tiếp cận
1.3.1 Phương pháp tiếp cận ngôn ngữ
Cách tiếp cận này có thể bao gồm phương pháp dựa trên AI sử dụng kỹ
thuật NLP và kho ngữ liệu / cơ sở kiến thức. Các kỹ thuật ngôn ngữ như mã
hóa, gắn thẻ POS và phân tích cú pháp có thể được triển khai trên câu hỏi của
người dùng để xây dựng câu hỏi đó thành một truy vấn chính xác chỉ trích
xuất câu trả lời tương ứng từ cơ sở dữ liệu có cấu trúc. Hạn chế chính của các
hệ thống này là kiến thức được lưu trữ trong cơ sở dữ liệu có cấu trúc chỉ có
khả năng trả lời các câu hỏi được hỏi trong miền đóng[7].
1.3.2 Phương pháp thống kê
Tầm quan trọng của phương pháp này được tăng lên bởi sự phát triển
nhanh chóng của các kho văn bản trực tuyến có sẵn. Nó được sử dụng khi cần
xử lý một lượng lớn dữ liệu không đồng nhất. Các cách tiếp cận thống kê độc
lập với SQL và có thể hình thành các truy vấn ở dạng ngôn ngữ tự nhiên. Các
cách tiếp cận này về cơ bản yêu cầu một lượng dữ liệu thích hợp cho việc học



13
thống kê chính xác nhưng một khi được học đúng cách sẽ tạo ra kết quả tốt
hơn các cách tiếp cận cạnh tranh khác [7]. Một lợi thế của Hệ thống Q&A
được xây dựng bằng Phương pháp tiếp cận thống kê là chúng dựa trên các
phương pháp đã được chứng minh để tìm phạm vi ngưỡng, mối quan hệ đồng
nhất và tính hợp lệ của các đối số. Nhưng cũng có một nhược điểm là các hệ
thống này có thể có sai số lấy mẫu lớn. Một trong những cơng trình tiên
phong dựa trên mơ hình thống kê là Hệ thống Q&A thống kê của IBM[8]
1.3.3 Phương pháp đối sánh mẫu
Sử dụng bản chất biểu đạt của các mẫu văn bản, cách tiếp cận này thay
thế quá trình xử lý phức tạp liên quan đến các cách tiếp cận khác. Có hai cách
tiếp cận để đối sánh mẫu: Dựa trên Mẫu bề mặt và dựa trên Mẫu.
Hầu hết các hệ thống Hỏi & Đáp phù hợp với mẫu dựa trên các mẫu
văn bản bề mặt trong khi một số hệ thống cũng sử dụng mẫu để tạo phản hồi.
Ngày nay, nhiều hệ thống sử dụng việc học các mẫu văn bản thay vì sử dụng
các lơgic phức tạp [7].
1.4 Các kỹ thuật sử dụng trong hệ thống trả lời tự động
1.4.1 Kỹ thuật phân tích câu hỏi
Câu hỏi đầu vào của hệ thống hỏi đáp tự động là câu hỏi dưới dạng
ngơn ngữ tự nhiên của người dùng. Vì vậy việc phân tích câu hỏi cũng gặp
những khó khăn của xử lý ngôn ngữ tự nhiên. Theo Phan Thị Tươi và Vũ Hữu
Tiệp [1] [2], cái khó nằm ở chỗ làm sao cho máy tính được hiểu ngơn ngữ
con người, từ việc hiểu nghĩa từng từ trong mỗi hoàn cảnh cụ thể, đến việc
hiểu nghĩa của cả câu hỏi, hiểu câu hỏi đang hỏi về cái gì và người hỏi mong
muốn cái gì. Mấu chốt ở đây là bản chất phức tạp của ngôn ngữ của con
người, đặc biệt là sự đa nghĩa và nhập nhằng ngữ nghĩa của ngôn ngữ. Thêm
nữa, có một khác biệt sâu sắc là con người ngầm hiểu và dùng quá nhiều lẽ
thường (common sense) trong ngôn ngữ.



14
Việc xác định đúng ý định (intent) người dùng đóng vai trị quan trọng
trong chatbot vì nó sẽ quyết định cấu trúc và kịch bản của đoạn hội thoại kế
tiếp. Trong bài toán này, chúng ta phải xử lý những cách diễn đạt, dùng từ
ngữ khác nhau cho cùng một ý định. Chúng ta cũng cần giải quyết những hiện
tượng ngơn ngữ đặc thù trong hội thoại như sai chính tả, dùng từ viết tắt, dùng
teencode[15].
Trong miền ứng dụng đóng (closed domain), chúng ta có thể giới hạn
số lượng intent. Khi đó bài tốn xác định ý định có thể được mơ hình hố
thành bài tốn phân lớp văn bản. Để xây dựng hệ thống phân lớp ý định,
chúng ta cần chuẩn bị một tập dữ liệu bao gồm các câu hội thoại và các ý định
tương ứng[22].
Phân lớp câu hỏi theo kỹ thuật học có giám sát bao gồm 2 giai đoạn
chính: giai đoạn huấn luyện và giai đoạn phân lớp. Bài toán phân lớp câu hỏi
cho hệ thống chatbot mà chúng tôi đang hướng đến, được xây dựng trong
miền dữ liệu đóng. Dữ liệu đầu vào là tập các cặp (Câu hỏi, Câu trả lời) độc
lập đã được gán nhãn Intent (ý định), các Intent ở đây chính là mục tiêu của
người hỏi được gắn với câu trả lời cụ thể.

Hình 1.5: Mơ hình phân lớp[25]


15
1.4.1.1 Tiền xử lý văn bản
- Làm sạch dữ liệu văn bản: chuẩn hóa chữ tiếng Việt khơng dấu sang
có dấu, chuẩn hóa “i” và “y”, lỗi sai chính tả, chuẩn hóa font, dấu câu, xóa các
từ dừng (stopwords),...
- Tách mỗi câu thành một danh sách các từ tố (token): Mỗi câu được
tách ra thành một danh sách các từ có nghĩa.
- Chuẩn hóa từ đồng nghĩa: đồng nhất từ đồng nghĩa, từ địa phương,

tiếng lóng về một từ chuẩn hóa.
- Xác định từ loại (part of speech: từ loại): Sau khi câu được tách thành
danh sách các từ. Bước này sẽ xác định đúng từ loại (POS - như noun, verb,
pronoun, adverb ...) của mỗi từ trong câu.
Ví dụ, xâu: “Hàng hóa của tơi có chứa động vật như là chó có được
khơng?” Sau tiền xử lý: “Hàng_hóa chứa động_vật chó”.
Sau khi tiền xử lý, văn bản có thể xem như là một tập hợp các đặc
trưng, đó là tập hợp các từ quan trọng còn lại để biểu diễn văn bản. Việc phân
loại văn bản sẽ dựa trên các đặc trưng này.
1.4.1.2 Trích xuất đặc trưng và vectơ hóa văn bản
Để số hóa văn bản, chúng tơi đã sử dụng mơ hình Bag-of-Words
(BoW) để xây dựng vector đặc trưng, kết hợp thuật toán TF-IDF để xác định
giá trị các phần tử trong vector. Mơ hình BoW là một mơ hình được sử dụng
phổ biến trong lĩnh vực phân loại văn bản. Trong đó, mỗi văn bản di trong tập
ngữ liệu đang xét, tập này có n câu văn bản và m từ xuất hiện không lặp lại
(theo từng cặp), sẽ được mơ hình hóa như là một vector trọng số của các đặc
trưng: i = {wi1, wi2, …,wim}, wij là trọng số của đặc trưng thứ j (1<= j <=m).
Để xác định trọng số (sự quan trọng) của các từ trong văn bản, hiện nay thuật
toán đánh giá từ khóa dựa trên sự kết hợp của độ đo cục bộ và toàn cục là TFIDF cho một kết quả khá tốt[25]. Độ đo trọng số của một từ wij trong tài liệu


16
di sẽ được tính bằng cơng thức sau:

- TFij là số lần xuất hiện của từ thứ j trong văn bản di
- DFj là tổng số văn bản có chứa từ thứ j trong tập ngữ liệu
- N là tổng số văn bản trong tập ngữ liệu
Ví dụ, cho tập ngữ liệu gồm 2 câu văn bản sau tiền xử lý như sau:
d1 = “chó vận_chuyển chuyến_bay hàng_hóa”
d2 = “gửi hành_lý vận_chuyển đường hàng_hóa”

Thực hiện vector hóa văn bản bằng mơ hình BoW, kết hợp với thuật
tốn TF-IDF để xác định trọng số, cho kết quả như sau:

Tập T chúng tôi đã xây dựng sau tiền xử lý, gồm 650 câu hỏi (văn
bản) và từ điển có n từ vựng (không lặp lại theo từng cặp). Tập T được biểu
diễn thành ma trận có kích thước 650 x n, dịng thứ i của ma trận T là
vector trọng số (đặc trưng) của câu hỏi thứ i, để đưa vào huấn luyện mơ
hình ở bước tiếp theo.
1.4.1.3 Thuật tốn huấn luyện mơ hình phân lớp
Học có giám sát được áp dụng cho 2 nhóm bài tốn chính là bài tốn
dự đốn (regression problem) và bài toán phân lớp (classification problem).
Một số thuật toán thường được lựa chọn khi xây dựng bộ phân lớp gồm
có [3][4]: máy vector hỗ trợ (Support Vector Machine – SVM); k láng giềng
gần nhất (K Nearest Neighbours – KNN); tiếp cận xác suất thống kê (Naïve
Bayes – NB); Cây quyết định (Decision Tree – DT); sử dụng mạng nơron
(Neural Network – Nnet); dựa trên vector trọng tâm (Centroid–base vector);
hay tuyến tính bình phương nhỏ nhất (Linear Least Square Fit – LLSF). (Chi
tiết các thuật tốn này có thể tham khảo trong [3], [4]).


×