Tải bản đầy đủ (.docx) (69 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 (710.74 KB, 69 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
••

Chun 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
••


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


DANH MỤC CÁC BẢNG



8

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.


9

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.
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ả


10

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
J Đố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.
J 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. Phương pháp nghiên cứu


11

J 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.
J Phương pháp thực nghiệm

Phân tích yê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.
J 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.


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.1Hệ 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.


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].
1964 ELIZA

1972 PARRY

19Í JABBERWAKY

1992 DR SBAITSữ

19*5 5 A.LI.C.E


zoo SMARTERCHILD

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

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, ngoà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ó q 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.


Đố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 toà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.


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, trích dẫn nguồn cho câu trả lời.


- Tính hồn chỉnh: Câu trả lời hồ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
ln 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à hoà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.2Kiế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.


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 IIÌ11I1..., 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]

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.3Phâ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
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.4Cá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ữ.
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ể.
GIAI ĐOẠN HUẤN LUYỆN
■!!
Tập dữ liệu
Huân luyện _

Càu đẩu vào

}
*


Trích

xuất đặc
trưng

Tiền xử


-

-

Hn luyện /
mơ hình Ị
1
1
1
1
1

__ / Mơ hình 1
\ phản lớp /

1

phàn lớp %

i
1
1

GIAI ĐOẠN PHẨN LỚP INTENT


1

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

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, ...jWrn}, 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 tố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à TF- IDF 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 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:
(h = (0.08.

0.08, 0.00,

0.00,

0.00,

0.00.


0.00}

d£={0.00,

0.00, 0.06,

0.06,

0.00,

0.06.

0.00Ị

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ê (Naive
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]).
1.4.2

Kỹ thuật xử lý dữ liệu

Nếu các kết quả của giai đoạn rút trích câu trả lời có nhiều hơn một câu


trả lời thì các câu trả lời sẽ được xếp hạng dựa trên mức độ liên quan về mặt
ngôn ngữ với câu hỏi của người dùng. Có rất nhiều cách tiếp cận khác nhau để
xác định mức độ liên quan của các câu trả lời và điều này liên quan mật thiết
với cách xác định câu trả lời trong giai đoạn rút trích thơng tin từ các tài liệu ở
bước trước. Ví dụ, tác giả đề xuất một chiến lược xếp hạng nhiều pha dựa trên
sự kết hợp các độ đo tương tự giữa câu hỏi do người dùng đưa vào với câu hỏi
và câu trả lời trong kho dữ liệu xác định từ giai đoạn trước.
1.4.3

Kỹ thuật đưa ra câu trả lời

Một số hệ thống hỏi đáp cải thiện thêm tính chính xác bằng cách phân
tích các câu trả lời thu được, qua việc sử dụng phương pháp xử lý ngơn ngữ tự
nhiên bằng cách phân tích sâu hơn để xác minh lại câu hỏi. Các câu hỏi và câu
trả lời được phân tích cú pháp và chuyển đổi sang cùng một hình thức logic.
Các câu hỏi và câu trả lời sau đó được so sánh với nhau để xác minh tính hợp
lý của các câu trả lời.
user message

Context Jjjh


Inta I’ l Classi lies lid
n

Entity r ecoụiì ilid ft

Intent

Entities

Candidate
response

Q»rií rator

Response

cand dates

'--------------------------->
Response selector
V_________________>

Re sparse

Ruso onses


Hình 1.6: Hệ thống tạo phản hồi (Nguồn: pavel.surmenok)


1.5Bài tốn phân lớp dữ liệu
Phân lớp là bài tốn điển hình trong khai phá dữ liệu. Mục đích của
phân lớp là để dự đoán những nhãn lớp cho các bộ dữ liệu mới.
• Đầu vào: một tập các mẫu dữ liệu huấn luyện, với một nhãn phân lớp
cho mỗi mẫu dữ liệu.
• Đầu ra: mơ hình (bộ phân lớp) dựa trên tập huấn luyện và những nhãn
phân lớp.
Phân lớp là quá trình gồm hai bước:
Bước 1 (học mơ hình): một mơ hình sẽ được xây dựng dựa trên việc
phân tích các đối tượng dữ liệu đã được gán nhãn từ trước. Tập các mẫu dữ
liệu này còn được gọi là tập dữ liệu huấn luyện (training data set). Các nhãn
lớp của tập dữ liệu huấn luyện được xác định bởi con người trước khi xây
dựng mơ hình, vì vậy phương pháp này cịn được gọi là học có giám sát
(supervised learning). Trong bước này, chúng ta cịn phải tính độ chính xác của
mơ hình, mà cần phải sử dụng một tập dữ liệu kiểm tra (test data set). Nếu độ
chính xác là chấp nhận được, mơ hình sẽ được sử dụng để xác định nhãn lớp
cho các dữ liệu khác mới trong tương lai.
Bước 2 (sử dụng mơ hình): sử dụng mơ hình đã được xây dựng ở bước 1
để phân lớp dữ liệu mới.
1.6Thuật toán phân lớp sử dụng mạng Nơron
1.6.1

Kiến trúc của mạng ANN

Mạng Nơron nhân tạo (Artificial Neural Network- ANN) là mơ hình xử
lý thơng tin được mơ phỏng dựa trên hoạt động của hệ thống thần kinh của
sinh vật, bao gồm số lượng lớn các Nơron được gắn kết để xử lý thông tin.
ANN giống như bộ não con người, được học bởi kinh nghiệm (thông qua huấn
luyện), có khả năng lưu giữ những kinh nghiệm hiểu biết (tri thức) và sử dụng



×