4.1.1. Dữ liệu và công cụ cho thực nghiệm
Dựa theo các kết quả nghiên cứu về phân lớp câu hỏi được trình bày trong III, chúng tôi xây dựng bộ phân lớp sử dụng học máy thống kê cho hệ thống hỏi đáp trên miền mở
theo các nội dụng sau:
Taxonomy câu hỏi: Sử dụng taxonomy của Li và Roth (đã trình bày trong phần 2.4.2) bao gồm 6 lớp cha: ABBREVIATION (viết tắt), ENTITY (thực thể),
DESCRIPTION (mô tả), HUMAN (con người), LOCATION (địa điểm) và
NUMERIC VALUE (giá trị số) và 50 lớp con. Tập taxonomy câu hỏi theo loại ngữ
nghĩa của câu trả lời này được xem là có khả năng bao phủ hầu hết các trường hợp về ngữ nghĩa của câu trả lời.
Dữ liệu: Sử dụng tập 5500 câu hỏi tiếng Anh đã được công bố bởi UIUC1 (bộ dữ
liệu đã được gán nhãn chuẩn), chúng tôi tiến hành dịch sang tiếng Việt. Quá trình dịch được tiến hành theo tiêu chí: hiểu nghĩa và phân lớp của câu tiếng Anh, từđó
đặt câu hỏi với nội dung tương tự trong tiếng Việt theo văn phong tự nhiên của người Việt, đảm bảo rằng không có sự gượng ép hay ảnh hưởng của tiếng Anh, số
lượng người làm dữ liệu câu hỏi là 5, đảm bảo tính đa dạng trong văn phong tiếng Việt. Số lượng câu hỏi đã dịch được là 1684 với phân phối trên từng lớp được trình bày chi tiết trong bảng 3:
Bảng 3. Số lượng câu hỏi theo từng lớp cha Lớp cha Số câu hỏi HUMAN 344 NUMERIC VALUE 313 LOCATION 278 ENTITY 317 DESCRIPTION 393 ABBREVIATION 39
Thuật toán áp dụng: Sử dụng Support Vector Machine và Maximun Entropy Model (hai thuật toán được áp dụng nhiều trong phân lớp câu hỏi tiếng Anh)
Công cụ:
o Trong thực nghiêm với SVM, khóa luận sử dụng SVMmulticlass - Multi-Class Support Vector Machine của tác giả Thorsten Joachims [22, 23].
o Với thuật toán Entropy cực đại, khóa luận sử dụng thư viện của tác giả
Phan Xuân Hiếu [16].
o Module xử lý dữ liệu: Khử nhiễu câu hỏi, trích chọn các đặc trưng từ câu hỏi (phần này do tác giả tự viết).
Trích chọn đặc trưng: Chúng tôi tiến hành thử nghiệm và đánh giá ảnh hưởng của các đặc trưng khác nhau của câu hỏi tới việc phân lớp.
o Đặc trưng đầu tiên được sử dụng là bag-of-unigram và bag-of-word. Để sử
dụng bag-of-word, chúng tôi sử dụng công cụ tách từ tiếng Việt JVnTextPro [37].
o Chúng tôi đề xuất đưa thêm đặc trưng từđể hỏi. Trong tiếng Việt, nhiều khi chỉ cần dựa trên các từ để hỏi như ở đâu, khi nào, ai,.. là có thể xác định
được câu hỏi thuộc loại nào. Vì vậy chúng tôi sử dụng một danh sách các từ để hỏi trong tiếng Việt (xem bảng 7) làm đặc trưng cho phân lớp câu hỏi.
4.1.2. Kết quả bộ phân lớp sử dụng SVM và MEM
Do số lượng câu hỏi gán nhãn còn hạn chế nên ban đầu chúng tôi mới chỉ tiến hành thực nghiệm xây dựng bộ phân lớp cho 6 lớp cha.
4.1.2.1. Với MEM
Kết quả thu được khá khả quan, đạt độ chính xác cao nhất là 81.14 % khi sử dụng
đặc trưng là bag-of-word có sử dụng tách từ. Kết quả chi tiết cho từng lớp được liệt kê trong Bảng 4 và Bảng 5.
Bảng 4. Kết quả bộ phân lớp MEM khi sử dụng unigram
Class human model match Pre Rec F1
ENTY 112 104 71 68.27 63.39 65.74 DESC 127 133 107 80.45 84.25 82.31 ABBR 10 11 8 72.73 80.00 76.19 HUM 131 132 112 84.85 85.50 85.17 NUM 97 101 90 89.11 92.78 90.91 LOC 85 81 66 81.48 77.65 79.52 Avg.1 79.48 80.60 80.03 Avg.2 562 562 454 80.78 80.78 80.78
Bảng 5. Kết quả bộ phân lớp MEM khi sử dụng tách từ
class human model match Pre Rec F1
ENTY 112 109 72 66.06 64.29 65.16 DESC 127 137 107 78.10 84.25 81.06 ABBR 10 8 7 87.50 70.00 77.78 HUM 131 116 104 89.66 79.39 84.21 NUM 97 104 92 88.46 94.85 91.54 LOC 85 88 74 84.09 87.06 85.55
4.1.2.2. Với SVM
Thiết lập tham số: Sau khi thử nghiệm với nhiều giá trị khác nhau, chúng tôi đặt giá trị c = 10000 (c là tham số trade off giữa tỉ lệ sai của dữ liệu học và kích thước biên của bộ phân lớp SVM).Kết quả tốt nhất với SVM khi sử dụng đặc trưng unigram kết hợp từ để hỏi với độ chính xác là 81.49%. Kết quả chi tiết được liệt kê trong Bảng 6.
Bảng 6. Kết quả bộ phân lớp SVM sử dụng các đặc trưng khác nhau Đặc trưng Độ chính xác Tỉ lệ lỗi Unigram 80.78% 108/562 = 19.22% Tách từ 79.72% 121/562 = 20.28% Unigram + từ hỏi 81.49% 104/562 = 18.51% Tách từ + từ hỏi 80.60% 109/562 = 19.40% Bảng 7. Danh sách các từ hỏi tại sao thế nào định nghĩa ra sao có cách nào cái gì vì sao bằng cách nào là gì
làm sao chỗ nào gì
nghĩ sao nơi nào ởđâu thì sao lúc nào đi đâu thấy sao lý do nào nơi đâu sao nguyên nhân nào từđâu
bao nhiêu khi nào đâu
bao giờ thời gian nào có phải
bao người nào là ai
có mấy nào ai
mấy nguyên nhân thật không như thế nào lý do phải không
Nhận xét:
- Hai thuật toán SVM và MEM có kết quả xấp xỉ nhau trong phân lớp câu hỏi tiếng Việt. Kết quả tốt nhất với SVM là 81.49% và với MEM là 81.14%.
- Đặc trưng từ để hỏi có tác dụng nâng cao độ chính xác của phân lớp câu hỏi. Khi áp dụng với SVM, đặc trưng từđể hỏi giúp tăng độ chính xác 0.71% và 0.88% tương ứng khi kết hợp với đặc trưng unigram và tách từ. Độ tăng này không lớn có thể được giải thích như sau: Trong các đặc trưng bag-of-unigram và bag-of-word cũng đã xét đến các từ
hỏi này với vai trò giống với các từ khác trong câu hỏi. Việc xuất hiện các từ hỏi này với tần suất lớn theo từng loại câu hỏi khác nhau cũng đã giúp SVM ngầm nhận diện được các từ này là từ quan trọng trong phân lớp.
- Ảnh hưởng của tách từ trong phân lớp câu hỏi: Với MEM, tách từ giúp tăng độ
chính xác của phân lớp, trong khi với SVM đặc trưng tách từ lại không tốt bằng việc dùng unigram. Có thể giải thích như sau: theo nguyên lý cực đại Entropy, mô hình tự tìm ra trong dữ liệu (tập câu hỏi mẫu) những ràng buộc và đặc trưng riêng cho từng phân lớp. Với SVM, dữ liệu được biểu diễn dưới dạng các điểm trong không gian đặc trưng, SVM cố gắng tìm ra các siêu phẳng ngăn cách dữ liệu của từng lớp câu hỏi. Việc tách từ có thể đã ảnh hưởng tích cực với việc tìm các ràng buộc của mô hình MEM, trong khi lại ảnh hưởng tiêu cực đến sự phân bố dữ liệu trong không gian, dẫn đến siêu phẳng phân cách các lớp không tốt như siêu phẳng tìm được khi dùng unigram.
4.2. Thực nghiệm với xác định loại câu hỏi sử dụng mẫu quan hệ
4.2.1. Mô hình thực nghiệm phân tích câu hỏi sử dụng mẫu quan hệ
Trong [6], chúng tôi xây dựng một hệ thống hỏi đáp dựa trên việc trích rút các mẫu quan hệ ngữ nghĩa, áp dụng cho lĩnh vực du lịch. Mục tiêu của hệ thống là trả lời các câu hỏi dạng đơn giản, liên quan đến quan hệ ngữ nghĩa hai ngôi, ví dụ như “Hội lim tổ chức
ở đâu?” (quan hệ LỄ HỘI – tổ chức ở - ĐỊA ĐIỂM), “Hà tây có chùa gì ?” (quan hệ
CHÙA- ở - ĐỊA ĐIỂM),…. Dựa vào việc khảo sát dữ liệu thực tế, chúng tôi liệt kê 85 mối quan hệ được quan tâm nhiều nhất trong ngành du lịch, ví dụ: lễ hội – địa điểm, bãi biển – địa điểm, đặc sản – địa điểm, núi – chiều cao,… Bước đầu chúng tôi tiến hành thực
Hình 11. Mô hình hệ thống hỏi đáp tiếng Việt sử dụng trích xuất mẫu quan hệ
Hệ thống gồm hai pha chính:
Trích rút mẫu tổng quát và sinh seed mới:
Pha này được tiến hành offline, mục đích là tạo ra cơ sở dữ liệu về mẫu và seed phục vụ cho pha phân tích câu hỏi và trích xuất câu trả lời sau này. Phương pháp được sử
dụng là Snowball kết hợp với việc sử dụng máy tìm kiếm Google để khai thác thông tin sẵn có trên Internet (xem chi tiết trong [6])
Pha phân tích câu hỏi và trích xuất câu trả lời (Hình 12):
Pha này sử dụng cơ sở dữ liệu mẫu và seed được sinh ra trong pha trước để phân tích câu hỏi và trích xuất câu trả lời. Bước phân tích câu hỏi có nhiệm vụ xác định tên thực thể và quan hệ mà câu hỏi đang hướng tới. Bước trích xuất câu trả lời chỉ đơn giản là truy vấn cơ sở dữ liệu (dựa trên đầu ra của bước phân tích câu hỏi).
Câu
hỏi Phân tích câu hxuất câu trỏải và trích lời Câu trlời ả
Trích xuất mẫu tổng quát và seed
Hình 12. Mô hình xử lý cho pha phân tích câu hỏi và trích xuất câu trả lời
Pha phân tích câu hỏi bao gồm các bước chính sau đây:
Ví dụ với câu hỏi: Nam Định có những bãi biển gì?
Bước 1: Nhận dạng thực thể trong câu hỏi dựa trên cơ sở dữ liệu.
Sử dụng phương pháp so khớp tất cả các chuỗi con của câu hỏi với các thành phần trong tập seed (tập dữ liệu quan hệ) để tìm ra tập S các seed có chứa thực thể của câu hỏi. Dựa vào các seed này, xác định tập R các quan hệ tương ứng và tập P các mẫu trả lời tiềm năng. Ví dụ với câu hỏi trên, thực thể nhận dạng được là Nam Định với nhãn TỈNH- THANH PHỐ.
Từđó hệ thống xác định được một tập seed S có chứa một thành phần là Nam Định
(Bảng 8).
Bảng 8. Tập seed tìm được cùng với mối quan hệ tương ứng
Mối quan hệ Thành phần thứ nhất
của seed
Thành phần thứ hai của seed
Bãi biển – Địa điểm Quất Lâm Nam Định
Bãi biển – Địa điểm Hải Thịnh Nam Định Câu
trả lời Câu
hỏi Phân tích câu hỏi Trích rút câu trả lời Cơ sở dữ liệu mẫu và seed
Tên thực thể
Tập các mối quan hệ có thể là {Bãi biển-Địa điểm, Lễ hội-Địa điểm} (Bảng 9).
Bảng 9. Tập quan hệ cùng các mẫu tương ứng
Mối quan hệ Mẫu tổng quát
Bãi biển – Địa điểm <BÃI BIỂN> bãi_biển thuộc <ĐỊA ĐIỂM>
Bãi biển – Địa điểm <ĐỊA ĐIỂM> có bãi_biển <BÃI BIỂN>
Bãi biển – Địa điểm … Lễ hội – Địa điểm <LỄ HỘI> khai_mạc tại <ĐỊA ĐIỂM> Lễ hội – Địa điểm Hằng năm <ĐỊA ĐIỂM> tổ_chức lễ_hội <LỄ HỘI> Lễ hội – Địa điểm … … ….
Bước 2: Biểu diễn câu hỏi (đã loại bỏ từ dừng và tách từ bằng công cụ JVnTextPro) dưới dạng vector từ có trọng số. Vector câu hỏi có dạng: <có 1, những 1, bãi_biển 1>
Bước 3: Tính độ tương đồng giữa vector câu hỏi với các mẫu tiềm năng trong P sử dụng
độđo Cosin. Chọn mẫu p có độ tương đồng Simp cao nhất với câu hỏi. Hệ thống sử dụng một ngưỡng µ- độ tương đồng thấp nhất giữa câu hỏi và mẫu. Nếu Simp < µ thì hệ thống không đưa ra câu trả lời (do độ tin cậy quá thấp). Nếu Simp > µ thì quan hệ r mà mẫu p
thuộc vào là quan hệ mà câu hỏi đang hướng tới.
Độđo cosin giữa hai vector s1và s2 là:
Trong ví dụ trên mẫu có độ tương đồng cao nhất với vector câu hỏi là:
<ĐỊA ĐIỂM> có bãi_biển <BÃI BIỂN>
Như vậy, qua ba bước trên, pha phân tích câu hỏi tìm ra được tên thực thểTỈNH-THÀNH PHỐ là Nam Định trong mối quan hệ Lễ hội-Địa điểm. Từ hai thông tin này cũng biết
được rằng câu hỏi đang hỏi vềLễ hội.
Việc còn lại của pha trích xuất câu trả lời là truy vấn cơ sở dữ liệu để đưa ra các Lễ hội
|| || . || || . 2 1 2 1 s s s s Ss =
4.2.2. Kết quả phân tích câu hỏi sử dụng mẫu quan hệ
Tập dữ liệu test: Chúng tôi xây dựng một bộ câu hỏi gồm 1000 câu hỏi đơn giản liên quan đến 10 mối quan hệđược chọn (Bảng 10).
Bảng 10. Các quan hệđược thực nghiệm trong hệ thống
Lễ hội-địa điểm Nhà hàng – địa điểm Bãi biển – địa điểm Khách sạn – địa điểm Chùa chiền – địa điểm Siêu thị - địa điểm Sông – địa điểm Công viên – địa điểm Quán cafe – địa điểm Chợ - địa điểm Công cụ phần mềm (Bảng 11): Bảng 11. Các công cụ sử dụng Java SE JDK 6 http://java.sun.com/ eclipse-SDK-3.4.1-win32 http://www.eclipse.org/downloads/ MySql 5.0 http://www.mysql.com/ JvnTextPro [37]
Các thành phần chính trong hệ thống (Bảng 12):
Bảng 12. Các thành phần chính của hệ thống Q&A trên miền du lịch
Tên package, class Chức năng
package vqa.Datalayer.dao Kết nối với cơ sở dữ liệu MySql
package vqa.Datalayer.data Cài đặt các lớp RefinedPattern, RoughPattern, Seed,… là thành phần chính trong việc trích rút mẫu và seed
package vqa.util Các hàm tiện ích
package vqa.SearchEngineIE Thu thập dữ liệu cho việc tạo mẫu và seed thông qua Google
package vqa. CharsetDetector Phát hiện và sửa lỗi font chữ các tài liệu được lấy về từ
class PatternGenerator và SeedGenerator
Thực hiện quá trình sinh mẫu và seed mới
class QuestionProcessor Phân tích câu hỏi và đưa ra câu trả lời
Lựa chọn ngưỡng µ-độ tương đồng thấp nhất: Hệ thống sử dụng một ngưỡng µ về độ tương đồng thấp nhất giữa câu hỏi và mẫu. Hệ thống chỉ đưa ra câu trả lời khi độ
tương đồng giữa câu hỏi và mẫu vượt qua ngưỡng µ. Khi lựa chọn giá trị của µ cần cân nhắc đến sự cân bằng giữa khả năng trả lời câu hỏi chính xác nhất và khả năng trả lời
được nhiều câu hỏi nhất. Nếu µ càng lớn, thì độ tương đồng giữa câu hỏi và mẫu càng cao do đó độ chính xác sẽ tăng, trong khi đó số lượng câu trả hỏi trả lời được sẽ giảm. Bảng 13 thể hiện độ tương quan giữa độ chính xác và khả năng trả lời phụ thuộc vào ngưỡng µ.
Bảng 13. Kết quả phân tích câu hỏi trong hệ thống hỏi đáp trên miền du lịch
µ Độ chính xác Khả năng đưa ra câu trả lời
0.4 85.5% 95,3%
0.5 89,7 % 91,4%
Kết quảđạt được khá tốt khi chọn µ = 0.5, độ chính xác là 89.7% và khả năng trả lời là 91,4%.
Nhận xét:
Một hệ thống hỏi đáp tốt là hệ thống có khả năng đưa ra câu trả lời chính xác nhất và có thể trả lời được nhiều câu hỏi nhất. Theo thực nghiệm chúng tôi nhận thấy, độ chính xác (số lượng câu trả lời đúng trên số câu trả lời hệ thống đưa ra) và khả năng đưa ra câu trả lời (số lượng câu trả lời trên tổng số câu hỏi đưa vào) của hệ thống có quan hệ tỉ lệ
nghịch với nhau. Chúng tôi chọn giá trị của µ = 0.5 để đảm bảo độ cân bằng giữa 2 tính chất này của hệ thống.
Hệ thống hoạt động khá tốt với các câu hỏi đơn giản hỏi về quan hệ ngữ nghĩa hai ngôi xung quanh các quan hệ được quan tâm, đưa ra câu trả lời có độ tin cậy cao. Việc học ra các mẫu tốt, chính xác, thể hiện được đặc trưng của từng quan hệ là rất quan trọng,
ảnh hưởng lớn đến độ chính xác của hệ thống.
Chúng tôi đánh giá hệ thống có khả năng mở rộng dễ dàng. Chỉ cần làm tay một số
seed ban đầu cho các quan hệ quan tâm là hệ thống có thể tự học ra các mẫu để trả lời cho câu hỏi liên quan.
Tuy nhiên hạn chế của hệ thống là chỉ trả lời được các câu hỏi liên quan đến các quan hệ có trong hệ thống. Để đáp ứng nhu cầu thực sự của người dùng, hệ thống cần phải mở rộng thêm nhiều quan hệ khác.
Kết luận
Hệ thống hỏi đáp tựđộng đang nhận được sự quan tâm đặc biệt của các nhà nghiên cứu và doanh nghiệp trong ngành công nghệ thông tin. Nhu cầu về một hệ thống hỏi đáp tiếng Việt là rất lớn. Phân tích câu hỏi có vai trò đặc biệt quan trọng trong hệ thống hỏi
đáp tựđộng. Khóa luận khảo sát các phương pháp phân tích câu hỏi đang được quan tâm, phân tích và tìm ra phương pháp phù hợp cho phân tích câu hỏi tiếng Việt.
Khóa luận này đã đạt được những kết quả sau:
• Trình bày một cách khái quát nhất về hệ thống hỏi đáp tựđộng và nêu lên ý nghĩa, vai trò của pha phân tích câu hỏi trong hệ thống hỏi đáp.