Bối cảnh thực hiện luận văn
Ngày nay, với sựphát triển của Internet, con người được thừa hưởng một kho
tài liệu khổng lồcủa nhân loại với vô sốtri thức từrất nhiều lĩnh vực khác nhau. Từ
Internet, con người có thểtìm kiếm được các thông tin mà họcần bằng cách sử
dụng các công cụtìm kiếm thông dụng hiện nay nhưGoogle, Yahoo!,. Các công
cụtìm kiếm này đã giúp cho người dùng tìm kiếm thông tin được nhanh chóng và
dễdàng.
Trong khi các hệthống tìm kiếm thông tin chỉcó thểcung cấp các tài liệu
liên quan vàchúngta phải tựtìm trong đó câu trảlời cho nhu cầu thông tin của
mình, hệthống hỏi đáp lại có thểcho ta câu trảlời ởdạng ngắn gọn, súc tíchchứ
không phải một tập tài liệu. Tuy nhiên đểcó thểcó câu trảlời thường phải sửdụng
kết hợp nhiều phương pháp liên quan đến nhiều lĩnh vực khác nhau, bao gồm ba
lĩnh vực chính là xửlý ngôn ngữtựnhiên (Natural Language Processing), tìm kiếm
thông tin (Information Retrieval) và rút trích thông tin (Information Extraction). Hệ
thống hỏi-đáp hỗtrợtrảlời nhiều loại câu hỏi khác nhau nhưcâu hỏi vềsựvật, sự
kiện, định nghĩa, danh sách, quá trình, cách thức, lý do trên nhiều lĩnh vực khác
nhau. Các hệthống hỏi-đáp tự động dành cho tiếng Anh đã được nghiên cứurất
nhiều [2], ứng dụng trên nhiều lĩnh vực khác nhau, đặc biệt là tìm kiếm câu trảlời
từkho dữliệu khổng lồInternet. Các hệthống hỏi-đáp cho tiếng Việt còn sơkhởi
và chưa được ứng dụng rộng rãi. Vì thế, việc nghiên cứu và thửnghiệm hệthống
hỏi-đáp cho tiếng Việt là một việc làm có ý nghĩa và thiết thực.
Cùng với sựphát triển của Internet, nhu cầu trao đổi thông tin trên các diễn
đàn ngày càng cao. Minh chứng là các diễn đàn trên mạng ngày một nhiều. Rất
nhiều diễn đàn tưvấn trực tuyến phục vụhọc tập cũng ra đời. Các câu hỏi được gởi
lên diễn đàn để được các chuyên gia trong các lĩnh vực đó giải đáp. Khi sốlượng
câu hỏi ngày càng nhiều và lặp đi lặp lại thì việc trảlời thủcông nhưvậy là không
khảthi, hệthống hỏi-đáp là một phương pháp hữu hiệu đểtrảlời tự động. Đây là
một nhu cầu cần thiết. Diễn đàn tưvấn là một nhánh ứng dụng của hệthống hỏi-đáp
tự động.
Đặc điểm của hệthống hỏi-đáp cho tưvấn ghi danh trực tuyến
Hệthống hỏi-đáp phục vụcho tưvấn ghi danh trực tuyến là một hệthống
hỏi-đáp cho một miền xác định là tưvấn ghi danh. Khác với hệthống hỏi-đáp
truyền thống, hầu hết các câu hỏi đều thuộc loại câu hỏi sựkiện, thường chỉgồm
một câu hỏi và câu trảlời có thểlà một cụm từngắn, hệthống hỏi-đáp cho diễn đàn
nói chung cũng nhưhệthống hỏi-đáp cho tưvấn ghi danh trực tuyến nói riêng phải
giải quyết được các đặc trưng rất riêng của chúng, đó là:
- Câu hỏi có thểgồm nhiều câu, nhiều ý hỏi. Ví dụ: “em đã passed 2 môn
BSCI và BCMSN ởTTTH và tháng 6/2005 và bây giờem muốn đăng ký
thi 2 môn còn lại thì phải làm thếnào ạ? cho em hỏi học phí bằng B là
bao nhiêu, giờ đăng ký được giảm 20% đúng không ạ?”
- Câu hỏi có thểkhông rõ ràng và có thểlặp lại các ý hỏi. Ví dụ: “Cho em
hỏi ngày khai giảng lớp java được không? Và nếu chưa biết gì vềlập
trình, cũng có biết sơsơthì có thểvào học lớp java căn bản không? Thời
gian học, học phí và ngày khai giảng và học trong bao lâu”
- Nhiều lọai câu hỏi khác nhau nhưcâu hỏi sựkiện, câu hỏi dạng danh
sách, câu hỏi cách thức, câu hỏi lý do Ví dụcâu hỏi sựkiện như “Cho
em hỏi ngày khai giảng khóa J2EE”, câu hỏi cách thức như“Làm thếnào
đểcó thể được giảm học phí?”
- Câu hỏi có thểthuộc vềnhiều chủ đềkhác nhau. Ví dụnhưcác câu hỏi về
ngày khai giảng khóa họa, về đối tượng miễn học phí, vềthủtục nhập
học
- Dữliệu bao gồm một cặp hỏi-đáp đã có nên có thểkhông có nhu cầu rút
trích câu trảlời từmột tài liệu.
Đặc thù rất riêng của diễn đàn tưvấn trực tuyến cần có những phương pháp
riêng đểgiải quyết.
Mục tiêu của luận văn
Mục tiêu của luận văn là 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, xây dựng thửnghiệm hệthống hỏi-đáp tự động tiếng Việt cho một miền cụthể
là diễn đàn tưvấn ghi danh trực tuyến. 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 hỏi-đáp tiếng Việt có hiệu
quảtrong tương lai.
Đóng góp của luận văn
• Nghiên cứu tổng quan vềlĩnh vực hỏi-đáp tự động (Question Answering).
• Tìm hiểu các phương pháp phân tích câu hỏi.
• Tìm hiểu các phương pháp tìm kiếm văn bản.
• Xây dựng thửnghiệm hệthống hỏi-đáp tự động phục vụtưvấn ghi danh
trực tuyến.
Cấu trúc của luận văn
Luận văn được trình bày gồm 4 chương, danh sách các hình vẽ, danh sách các
bảng, tài liệu tham khảo và phụlục.
Chương 1: Tổng quan và hiện trạng các hệthống hỏi đáp (QA).
Chương 2: Các phương pháp phân tích câu hỏi và tìm kiếm thông tin trong hệ
thống hỏi-đáp.
Chương 3: Giải pháp và thửnghiệm hệthống hỏi-đáp phục vụtưvấn ghi danh
trực tuyến.
Chương 4: Kết luận và hướng phát triển.
23 trang |
Chia sẻ: tuandn | Lượt xem: 3033 | Lượt tải: 2
Bạn đang xem trước 20 trang tài liệu Luận văn Xây dựng một hệ thống hỏi - đáp tự động phục vụ tư vấn ghi danh trực tuyến, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Trang 28
HỎI-ĐÁP TỰ ĐỘNG PHỤC VỤ TƯ VẤN GHI
DANH TRỰC TUYẾN
Chương này chúng tôi trình bày mục tiêu, giải pháp, kế họach thử nghiệm và
kết quả thử nghiệm hệ thống hỏi-đáp tự động phục vụ tư vấn ghi danh trực tuyến.
3.1 Mục tiêu
Mục tiêu của luận văn là xây dựng hệ thống hỏi-đáp tự động phục vụ cho một
miền xác định đó là tư vấn ghi danh trực tuyến. Tư vấn ghi danh trực tuyến có các
đặc điểm riêng (đề cập trong chương mở đầu) nên cần những phương pháp giải
quyết riêng. Mục tiêu của chúng tôi là xây dựng được một hệ thống hỏi-đáp tiếng
Việt phục vụ tư vấn ghi danh trực tuyến với kết quả chấp nhận được. Chấp nhận
được ở đây có nghĩa là người hỏi chấp nhận các kết quả hệ thống đưa ra là một kết
quả tương đối chính xác hoặc chấp nhận các câu trả lời của hệ thống như một gợi ý
trả lời có liên quan về mặt ngữ nghĩa với câu hỏi.
Các câu hỏi và câu trả lời trong tư vấn ghi danh trực tuyến mang những đặc
điểm riêng, đó là ở dưới dạng văn bản tự do, không theo một loại câu hỏi nhất định
nào, cũng không theo một chủ đề nhất định nào cả. Do đó, một phần hết sức quan
trọng trong hệ thống này là phân tích câu hỏi như thế nào để lấy được thông tin
nhiều nhất khi mà câu hỏi không hề có một cấu trúc nhất định nào cả. Hầu hết các
hệ thống hỏi-đáp truyền thống đều chỉ trả lời cho các câu hỏi thuộc về một loại câu
hỏi nào đó. Do đó, phương pháp mà chúng tôi chọn thử nghiệm cho hệ thống tư vấn
ghi danh trực tuyến là phương pháp dựa trên từ khóa, trích từ khóa và đánh trọng số
cho các từ khóa trong văn bản để tìm kiếm câu trả lời. Ngoài ra, nhằm cải thiện hiệu
quả hệ thống, giảm không gian tìm kiếm, trước khi tìm kiếm, các cặp hỏi-đáp được
phân thành các cụm gồm các câu hỏi tương tự nhau.
Chúng tôi tiến hành thử nghiệm các phương pháp đề xuất, cải thiện hiệu quả
hệ thống trên mỗi bước phù hợp với dữ liệu của lĩnh vực tư vấn ghi danh trực tuyến.
Trang 29
Do chưa có một hệ thống hỏi-đáp tiếng Việt nào tương tự nên không thể so sánh
hiệu quả của hệ thống với một hệ thống tiếng Việt khác, nên chúng tôi thử nghiệm,
so sánh, đánh giá kết quả bằng cách thử nghiệm nhiều phương pháp cho hệ thống
nhằm thu được kết quả tốt hơn.
Giải pháp, kế họach thử nghiệm được trình bày chi tiết trong các phần bên
dưới.
3.2 Giải pháp
Kiến trúc hệ thống hỏi-đáp (chương 1) gồm có 3 phần chính yếu nhất là phân
tích câu hỏi, tìm kiếm văn bản chứa câu trả lời và rút trích câu trả lời từ trong các
văn bản tìm được. Hệ thống hỏi-đáp phục vụ cho tư vấn ghi danh trực tuyến có đặc
thù riêng, không cần rút trích câu trả lời nên chúng tôi đề xuất mô hình được biểu
thị trong hình 3-1. Hệ thống này được chia thành 3 giai đoạn chính:
- Giai đoạn phân tích truy vấn
- Giai đoạn so khớp câu hỏi
- Giai đoạn so khớp câu trả lời
Trong giai đoạn phân tích truy vấn (câu hỏi mới), câu truy vấn được đưa vào
hệ thống sẽ được tách câu, tách từ, loại bỏ các hư từ và loại bỏ các cụm từ xuất hiện
nhiều nhưng không có ý nghĩa, để còn lại các từ cần thiết (từ khóa) cho việc tìm
kiếm câu trả lời.
Ở giai đoạn so khớp câu hỏi, các từ khóa thu được trong giai đoạn trước sẽ
được sử dụng để xây dựng vector đặc trưng truy vấn, sau đó xác định các cụm chứa
các câu hỏi tương tự nhất với truy vấn. Vector truy vấn sẽ được so khớp với tất cả
các vector câu hỏi trong các cụm đó theo độ đo tương tự cosin. Các giá trị tương tự
này được xếp hạng, và hệ thống chọn ra nQ câu hỏi có giá trị tương tự cao nhất đưa
vào giai đoạn tiếp theo.
nQ câu hỏi này được chuyển sang giai đoạn so khớp câu trả lời để tìm nQ câu
trả lời tương ứng. Trong giai đoạn này, vector truy vấn sẽ được so khớp với vector
Trang 30
của các câu trả lời tìm được. Một chiến lược xếp hạng được sử dụng để tìm ra nA
câu trả lời tốt nhất.
Hình 3-1: Kiến trúc hệ thống hỏi-đáp phục vụ tư vấn ghi danh online
3.2.1 Giai đoạn phân tích truy vấn
Đây là giai đọan quan trọng nhất trong các hệ thống hỏi-đáp, với mục tiêu là
xác định thông tin cần thiết trong câu hỏi để đưa vào giai đọan tiếp theo. Thông tin
này thu được dựa trên các từ ngữ quan trọng có trong câu hỏi. Vì vậy, mục tiêu của
giai đọan này là xác định các từ khóa (các từ có ý nghĩa trong câu hỏi).
Trang 31
- Tách từ
Việc đầu tiên trước khi xác định từ khóa là phân đoạn câu hỏi thành các từ,
cụm từ, hay còn gọi là tách từ. Như đã đề cập trong chương 2, ngôn ngữ tiếng Việt
rất đa dạng và phong phú, việc xác định ranh giới giữa các câu, các từ tương đối
phức tạp và không có một phương pháp nào là tối ưu cho tất cả các trường hợp. Các
nghiên cứu về tách câu, tách từ tiếng Việt đã có nhiều nhóm tham gia phát triển,
chúng tôi chọn sử dụng công cụ tách từ, tách câu có kết quả chấp nhận được. Và
trong phần thử nghiệm hệ thống, chúng tôi sử dụng bộ công cụ tách từ của [12].
- Trích từ khóa
Truy vấn sau khi tách từ sẽ được loại bỏ bớt các cụm từ không cần thiết, giữ
lại những thông tin quan trọng nhất làm đầu vào cho các giai đoạn sau này. Ngoài
các hư từ là những từ không có ý nghĩa đối với hệ thống, thì trong hệ thống diễn
đàn tư vấn ghi danh trực tuyến có rất nhiều cụm từ xuất hiện trong câu hỏi, nhưng
lại thật sự không có vai trò gì trong việc tìm kiếm câu trả lời, ví dụ: “cảm ơn”,
“xin”, “cho biết”, “thông cảm”…Chính vì lý do này nên chúng tôi tìm cách xây
dựng danh sách các cụm từ xuất hiện nhiều nhưng không có ý nghĩa trong diễn đàn
một cách tự động. Tuy nhiên trong quá trình thử nghiệm với nhiều cách đánh giá
mức độ quan trọng của cụm từ khác nhau, việc xây dựng danh sách này một cách tự
động là không khả quan nên chúng tôi đã xây dựng danh sách này một cách thủ
công. Phần trích từ khóa này, chúng tôi sử dụng bộ từ điển hư từ do nhóm [12] xây
dựng. Từ điển hư từ này bao gồm 795 mục từ. Danh sách các cụm từ xuất hiện
nhiều nhưng không có ý nghĩa với diễn đàn tư vấn chúng tôi xây dựng gồm có 52
mục từ.
Danh mục các hư từ và cụm từ xuất hiện nhiều trong diễn đàn được trình bày
trong phần phụ lục.
Trang 32
3.2.2 Giai đoạn so khớp câu hỏi
Các từ khóa thu được sau giai đoạn phân tích truy vấn sẽ được chuyển vào giai
đoạn này để tìm kiếm các câu trả lời tương tự trong kho dữ liệu.
- Xây dựng vector truy vấn
Có rất nhiều phương pháp tìm kiếm thông tin khác nhau, chúng tôi lựa chọn
phương pháp tìm kiếm phổ biến nhất dựa trên mô hình không gian vector (vector
space model) (chương 2). Trong mô hình này, tài liệu văn bản được xây dựng
vector đặc trưng của văn bản đó, việc so khớp văn bản dựa trên độ đo tương tự giữa
2 vector, cụ thể là độ đo cosin. Sử dụng vector đặc trưng là một phương pháp phổ
biến và khá hiệu quả khi tìm kiếm sự tương đồng giữa hai văn bản.
- Xác định cụm của truy vấn
Sau khi xây dựng vector truy vấn, vector này sẽ được dùng để xác định cụm
gần nhất.
Trước khi thực hiện việc xác định cụm truy vấn, kho dữ liệu đầu tiên được
vector hóa, sau đó được phân cụm theo câu hỏi. Chúng tôi thử nghiệm sử dụng hai
phương pháp là K-means và HAC. Do vậy, khi xác định cụm gần nhất với truy vấn,
chúng tôi sử dụng phương pháp so sánh với tâm của từng cụm (centroid-based
method).
Với mục tiêu là tìm nQ câu hỏi trong kho dữ liệu gần với truy vấn nhất, sau
khi chọn cụm gần nhất, có thể các số lượng các câu hỏi trong cụm nhỏ hơn nQ,
chính vì vậy, chúng tôi chọn giải pháp là nếu số lượng các câu hỏi nhỏ hơn nQ thì
sẽ tìm thêm trong các cụm bên cạnh.
- So khớp câu hỏi và xếp hạng
Sau bước xác định cụm gần nhất với truy vấn, vector truy vấn sẽ được so khớp
với tất cả các câu hỏi trong cụm đó, dựa trên độ đo tương tự là độ đo cosine giữa 2
vector.
Trang 33
Các giá trị tương tự này được xếp hạng từ cao xuống thấp.
Nhằm tránh trường hợp câu truy vấn do người dùng đưa vào không có cặp
hỏi-đáp tương tự trong kho dữ liệu, chúng tôi xác định một giá trị ngưỡng T (giá trị
ngưỡng này được xác định qua thử nghiệm).
nQ câu hỏi được chọn là các câu hỏi thỏa mãn điều kiện:
- Độ đo tương tự với truy vấn là cao nhất.
- Độ đo tương tự lớn hơn ngưỡng T.
Nếu nQ=0 thì hệ thống xem như truy vấn không có câu trả lời nào tương ứng
trong kho dữ liệu.
3.2.3 Giai đoạn so khớp câu trả lời
nQ câu hỏi tìm được sẽ được hệ thống chọn ra nQ câu trả lời tương ứng với
các câu hỏi này. Để tăng tính hiệu quả cho hệ thống, hệ thống tiến hành so khớp
vector truy vấn với vector của các câu trả lời tìm được dựa trên độ tương tự giữa các
vector.
Với ý tưởng là cặp hỏi-đáp nào mà cả câu hỏi và câu trả lời càng tương tự với
truy vấn thì càng được ưu tiên đứng đầu tiên trong số các kết quả hiển thị cho người
dùng, chứ không phải là chỉ có câu trả lời tương tự, chúng tôi kết hợp 2 độ đo tương
tự trong cả giai đọan so khớp câu hỏi và so khớp câu trả lời để tăng hiệu quả cho hệ
thống, gọi là độ đo tổng hợp:
Độ đo tổng hợp:
Trong đó: δ là hệ số tổng hợp (tùy thực nghiệm)
Trang 34
Thêm nữa, hệ thống có thể có rất nhiều câu hỏi tương tự trong kho dữ liệu,
nhưng khi hiển thị kết quả cho người dùng, hệ thống chỉ cần đưa ra một số lượng
hạn chế các câu trả lời, vì vậy một chiến lược xếp hạng dựa trên độ đo tổng hợp
được sử dụng để tìm ra nA (nA<nB) câu trả lời tốt nhất làm kết quả cuối cùng, chứ
không phải là toàn bộ nQ câu trả lời.
3.2.4 Xây dựng bộ dữ liệu thử nghiệm
Để thử nghiệm hiệu quả của hệ thống chúng tôi xây dựng bộ dữ liệu gồm hai
phần: tập các tài liệu bao gồm các cặp hỏi-đáp, tập các câu hỏi để thử nghiệm.
a. Xây dựng kho dữ liệu
Toàn bộ dữ liệu được tải về từ diễn đàn tư vấn ghi danh trực tuyến của Trung
tâm tin học trường Đại học Khoa học tự nhiên TpHCM tại địa chỉ:
dưới dạng tập tin văn bản gồm tất cả các câu
hỏi của học viên và các câu trả lời của nhân viên tư vấn.
Diễn đàn tư vấn ghi danh trực tuyến của Trung tâm tin học có trung bình khoảng 20
đến 200 câu hỏi mỗi ngày được gởi lên diễn đàn tùy theo từng thời điểm. Nhân viên
tư vấn chỉ có thể trả lời trực tiếp các câu hỏi của học viên vào khoảng thời gian trực
tuyến, ngoài thời gian này ra, các câu hỏi của học viên sẽ phải đợi sang ngày hôm
sau mới có câu trả lời. Các câu hỏi trên diễn đàn có số lượng rất lớn, dữ liệu phong
phú thích hợp cho việc thử nghiệm của đề tài.
Để có được tập dữ liệu và tập đánh giá dùng cho thử nghiệm, chúng tôi lấy ngẫu
nhiên dữ liệu hỏi đáp trên diễn đàn tư vấn ghi danh trực tuyến của Trung tâm tin
học 1000 cặp hỏi-đáp. Trong đó 800 cặp hỏi-đáp dùng để làm kho dữ liệu và 200
cặp còn lại dùng để chọn lọc 100 câu hỏi thử nghiệm hiệu quả của hệ thống.
Đặc điểm của dữ liệu:
¾ Dữ liệu còn là tổng hợp tất cả các câu hỏi và câu trả lời.
Trang 35
Hình 3-2: Dữ liệu thô
¾ Các câu hỏi trong diễn đàn là dạng văn bản tiếng Việt tự do (có dấu, không dấu,
sai chính tả, không có cú pháp, lồng ghép các từ tiếng Anh).
Ví dụ: “xin chào, cho mình hỏi vài điều, xin chao,hiện tại mình muốn học thiết
kế nội thất,vậy trung có dạ chương trình này không? thanks”. Đây là câu hỏi
vừa có dấu, vừa không dấu, sai chính tả, dùng từ tiếng Anh và có các từ lặp lại.
¾ Các câu hỏi không theo một chủ đề nhất định nào cả. Các câu hỏi có thể hỏi về
thời gian khai giảng, học phí các khóa học, hỏi về các thông tin nội dung khóa
học, việc miễn giảm học phí…
Ví dụ:
Hỏi về thời gian khai giảng: “Tôi xin hỏi các lớp về lập trình JAVA-J2EE ,
chừng nào khai giảng vậy?”
Trang 36
Hỏi về học phí: “EM đã học qua phần mềm 3ds max, bây giờ em muốn học khóa
3ds max nâng cao, xin hỏi trung tâm có dạy không ạ? Và nếu có dạy thì khi nào
dạy? Mỗi khóa thời gian bao lâu? Học phí bao nhiêu tiền / khóa?”
Hỏi về nội dung học: “Cho em hỏi thời khóa biểu của lớp SQL sắp khai giảng.
Anh/ Chị có thể nói cho em biết nội dung chương trình dạy của trung tâm về
khóa học đấy được không ạ. Em chưa biết gì về CSDL,đang phân vân chưa biết
nên học SQL hay Oracle. Xin cho em lời khuyên.”
¾ Các câu hỏi thuộc nhiều lọai câu hỏi khác nhau.
Ví dụ:
o Câu hỏi lựa chọn có không:
“HI. Cho nình hỏi trung tâm còn mở lớp chuyên viên mạng không?”
“Chào tư vấn, tôi muốn học ngành mạng, không biết bên TTTH có các khóa
học nào về mạng không ?”
o Câu hỏi sự kiện:
“ Cho em hỏi ngày khai giảng khóa Đồ họa đa truyền thông.”
o Câu hỏi cách thức:
“Em thuộc lớp KTV ngành lập trình khóa V98TA. Sau khi hoc xong 5 học
phần rồi,còn việc chuẩn bị kì thi tốt nghiệp thì bây giờ em phải làm gì? T3H
có mở lớp ôn tập không hoặc có tài liệu trên mạng không? Mong đươc sự
giúp đỡ”
“xem diểm thì chứng chỉ B xem làm sao?. Sao vào xem toàn thấy chúng chị
A ko ah.chị giúp dùm đi”
o Câu hỏi lý do
“xin hỏi, em có xem trên mạng thấy có chương trình 3d quảng cáo truyền
hình nhưng sao không thấy nội dung a”…
Trang 37
¾ Các câu hỏi có thể chứa nhiều ý hỏi khác nhau. Ví dụ:
Hình 3-3: Ví dụ câu nhiều ý
Chính vì các đặc điểm trên nên dữ liệu này cần được tiền xử lý (xem phần
dưới) trước khi đưa vào hệ thống. Hơn nữa, do đặc điểm là các câu hỏi không theo
một chủ đề nhất định và không thuộc một loại câu hỏi nhất định, trong khi các
phương pháp của hệ thống hỏi-đáp thường phục vụ cho một loại câu hỏi hoặc một
chủ đề nhất định nào đó, vì vậy chúng tôi chọn phương pháp xây dựng vector đặc
trưng đánh trọng số dựa trên từ khóa. Do đó, sau khi tiền xử lý, để đưa vào hệ thống
hỏi-đáp, chúng tôi thực hiện trích từ khóa và xây dựng vector đặc trưng cho toàn bộ
các cặp hỏi-đáp đã có. Việc tìm kiếm câu trả lời sau này dựa hoàn toàn vào dữ liệu
vector đặc trưng đã tạo ra. Hơn nữa, các vector đặc trưng này được gom thành N
cụm khác nhau để giảm thời gian xử lý trong giai đoạn tìm kiếm câu trả lời.
• Giai đoạn tiền xử lý dữ liệu
Các công việc tiền xử lý sau được thực hiện để dữ liệu tạm có thể làm dữ liệu
chuẩn phục vụ cho hệ thống hỏi-đáp sau này:
¾ Tách văn bản tổng hợp thành các tập tin chỉ gồm một câu hỏi và một câu
trả lời.
¾ Bổ sung dấu và sửa các lỗi chính tả, bỏ các từ tiếng Anh thông dụng trên
diễn đàn như “Hi”, “Hello”, “Thanks”,…
Trang 38
¾ Loại bỏ các câu hỏi dài có quá nhiều ý, hoặc câu hỏi ngắn nhưng hỏi các
ý hoàn toàn độc lập với nhau, nhằm giới hạn câu hỏi, một câu hỏi có thể
gồm nhiều câu nhưng chỉ hỏi về một ý hỏi.
• Trích từ khóa
Đối với mỗi cặp câu hỏi-trả lời sau khi tiền xử lý, chúng tôi thực hiện các
bước sau để trích từ khóa:
¾ Tách câu.
¾ Tách từ.
¾ Loại bỏ các hư từ.
¾ Loại bỏ các cụm từ xuất hiện nhiều nhưng không có ý nghĩa trong diễn
đàn.
(đã trình bày ở trên)
• Xây dựng vector đặc trưng
Xây dựng vector đặc trưng cho tất cả câu hỏi và câu trả lời trong kho dữ liệu,
chúng tôi tiến hành thử nghiệm trên cả 2 độ đo: chỉ sử dụng Tf và sử dụng kết hợp
Tf-Idf (trình bày kết quả trong phần 3.4.3).
• Gom cụm các câu hỏi trong kho dữ liệu
Trước khi tìm kiếm câu trả lời, tất cả các câu hỏi trong kho dữ liệu sẽ được
gom cụm trước nhằm tăng tính hiệu quả của hệ thống. Truy vấn do người dùng đưa
vào không cần thiết phải so khớp với toàn bộ các câu hỏi trong kho dữ liệu mà chỉ
cần so khớp với các câu hỏi trong cùng cụm mà thôi.
Do các câu hỏi trên diễn đàn là dạng văn bản tự do, không theo bất kỳ một chủ
đề nào, các khách tham quan diễn đàn có thể hỏi bất cứ câu nào mà họ muốn. Chính
vì lý do này, chúng tôi thực hiện gom cụm để đưa các câu hỏi gần giống nhau vào
cùng một cụm và dễ dàng cho quá trình tìm kiếm về sau.
Nhiều phương pháp gom cụm được đề cập trong chương 3, chúng tôi chỉ chọn
phương pháp gom cụm có độ phức tạp nhỏ nhất, thích hợp với dữ liệu lớn là
Trang 39
phương pháp gom cụm K-means và HAC. Hai phương pháp này được thử nghiệm,
so sánh đánh giá hiệu quả trong phần 3.4.3.
b. Xây dựng tập câu hỏi thử nghiệm
Tập câu hỏi thử nghiệm là 100 câu hỏi, được lấy từ dữ liệu thực tế trên diễn
đàn trung tâm tin học. Nhằm tránh trường hợp các câu hỏi trong tập câu hỏi thử
nghiệm hoàn toàn không liên quan gì đến các cặp hỏi-đáp đã chọn trong cơ sở dữ
liệu nên chúng tôi chọn tập câu hỏi thử nghiệm với tỉ lệ như sau:
¾ 10 câu hoàn toàn không liên quan.
¾ 50 câu lấy từ câu hỏi trên diễn đàn trung tâm tin học có ít nhất 3 câu trả
lời liên quan trong kho dữ liệu (việc kiểm chứng được thực hiện thủ
công).
¾ 40 câu hỏi được lấy từ kho dữ liệu nhưng có sửa chữa về từ ngữ, về cấu
trúc.
3.3 Chương trình cài đặt
Hệ thống hỏi-đáp tự động phục vụ cho diễn đàn tư vấn ghi danh trực tuyến
được cài đặt gồm các chức năng như: chức năng xây dựng kho dữ liệu, chức năng
gom cụm câu hỏi, chức năng tìm kiếm câu trả lời và chức năng cập nhật kho dữ
liệu. Các chức năng này được biểu diễn như trong hình 4.4.
Trang 40
Hình 3-4: Chức năng hệ thống
Hệ thống hỏi-đáp tự động phục vụ tư vấn ghi danh trực tuyến được cài đặt trên
máy tính có cấu hình: Intel Core2 Duo 2GHz, RAM 2GB.
Chương trình được cài đặt bằng ngôn ngữ C#, .NET framework 2.0, viết trên
môi trường phát triển Microsoft Visual Studio 2005.
Các màn hình chức năng cụ thể trình bày trong phần phụ lục.
3.4 Thử nghiệm
3.4.1 Mục tiêu thử nghiệm
Với mục tiêu thử nghiệm đánh giá kết quả các phương pháp sử dụng, kết quả
của bước này làm nền tảng để thử nghiệm các bước tiếp theo, hướng đến mục tiêu
chung của hệ thống là xây dựng được một hệ thống hỏi-đáp cho lĩnh vực tư vấn ghi
danh trực tuyến để đạt được kết quả hiển thị cho người dùng là chấp nhận được,
chúng tôi đề ra các mục tiêu chi tiết như sau:
o Thử nghiệm, so sánh, đánh giá hiệu quả rút trích từ khóa dựa vào từ điển
(xử lý ngôn ngữ tự nhiên).
o So sánh, đánh giá hiệu quả hệ thống khi sử dụng các phương pháp gom
cụm khác nhau.
Trang 41
o So sánh, đánh giá hiệu quả hệ thống với 2 phương pháp xây dựng vector
đặc trưng khác nhau là sử dụng độ đo Tf và sử dụng độ đo tổng hợp Tf-
Idf.
o Đánh giá hiệu quả sử dụng của tìm kiếm câu trả lời thông tin dựa trên mô
hình đề xuất, với các ngưỡng T khác nhau.
3.4.2 Kế hoạch thử nghiệm
Để đạt được các mục tiêu như trên, chúng tôi thử nghiệm từng giai đoạn, kết
quả của bước này làm nền tảng để thử nghiệm các bước sau. Đầu tiên, chúng tôi xây
dựng hệ thống hỏi-đáp theo kiến trúc đã trình bày trong phần 3.2. Sau đó tiến hành
thử nghiệm lần lượt việc sử dụng các phương pháp khác nhau để so sánh, đánh giá
kết quả đạt được.
o Bước 1: Chúng tôi tiến hành thử nghiệm trên toàn bộ những câu hỏi đã có
trong kho dữ liệu của hệ thống xem liệu kết quả có chính xác 100% hay
không, sau đó mới thử nghiệm trên 100 câu hỏi thử nghiệm để đánh giá kết
quả.
o Bước 2: Thử nghiệm, so sánh, đánh giá hiệu quả hệ thống trong 2 trường
hợp: có sử dụng danh sách các cụm từ xuất hiện nhiều nhưng không có ý
nghĩa với diễn đàn tư vấn và không sử dụng danh sách này. Trường hợp tốt
hơn sẽ sử dụng tiếp cho các bước thử nghiệm tiếp theo.
o Bước 3: Thử nghiệm, so sánh, đánh giá kết quả hệ thống với 2 phương
pháp gom cụm phổ biến là K-means và HAC. Phương pháp nào tốt hơn sẽ
được sử dụng trong các bước thử nghiệm tiếp theo.
o Bước 4: Thử nghiệm, so sánh, đánh giá kết quả hệ thống với 2 phương
pháp đánh trong số từ khóa là tf và tf-idf. Phương pháp nào tốt hơn sẽ được
sử dụng cho bước thử nghiệm tiếp theo.
o Bước 5: Thử nghiệm, so sánh, đánh giá kết quả hệ thống với các giá trị
ngưỡng khác nhau.
Trang 42
3.4.3 Kết quả thử nghiệm
Phương pháp đánh giá phổ biến nhất cho các hệ thống tìm kiếm, cũng như hệ
thống hỏi-đáp là dựa trên hai độ đo: độ chính xác và độ phủ. Để phục vụ cho hệ
thống tư vấn ghi danh trực tuyến, chúng tôi định nghĩa lại độ chính xác và độ phủ
cho các trường hợp cụ thể như sau:
¾ Đối với 800 câu hỏi có trong kho dữ liệu
o Độ chính xác
Do 800 câu hỏi thực nghiệm được chọn hoàn toàn từ kho dữ liệu, mục đích
của bước này là chỉ kiểm tra xem kết quả của hệ thống trả về có chính xác là câu trả
lời tương ứng với câu hỏi đó hay không, nên chỉ cần tính độ chính xác, không xác
định độ phủ.
Trong đó: Pi: Độ chính xác khi trả lời câu hỏi thứ i.
¾ Đối với 100 câu hỏi thử nghiệm được chọn theo tiêu chí như đã trình bày
trong phần 3.2.4b
o Độ chính xác
o Đ