Câu hỏi đơn giản (factual-base)

Một phần của tài liệu Phân tích câu hỏi cho hệ thống hỏi đáp tiếng Việt (Trang 27 - 71)

Câu hỏi factual-base là những câu hỏi về các sự vật, sự kiện đơn lẻ,.. có câu trả lời là những đoạn văn bản ngắn nằm sẵn trong tài liệu. Kiến trúc thông thường để xử lý loại câu hỏi này như sau (Hình 3): Câu hỏi đầu vào được phân lớp theo loại ngữ nghĩa của câu trả

lời và biến đổi sang dạng truy vấn. Câu truy vấn được sử dụng để tìm kiếm các tài liệu có liên quan đến câu hỏi, loại câu hỏi được sử dụng trong phần trích xuất câu trả lời nhằm thu hẹp không gian tìm kiếm và kiểm tra câu trả lời có chính xác hay không [35].

Hình 3. Kiến trúc cho xử lý các câu hỏi factual-base

Như vậy, hai công việc chính của pha xử lý câu hỏi với loại câu hỏi này là xác định loại câu hỏi và tạo truy vấn cho hệ IR (information retrieval) trích chọn tài liệu liên quan.

Xác định loại câu hỏi NER NER Kho tài liệu Phân tích câu hỏi Trích chọn tài liệu liên quan Trích xuất câu trả lời WordNet Parser WordNet Parser Truy vấn Tài liệu Loại câu hỏi Câu trả lời Câu hỏi

trình bày). Có nhiều cách để xác định loại câu hỏi như: xây dựng bộ phân lớp câu hỏi sử

dụng học máy thống kê, xác định câu hỏi sử dụng các kỹ thuật của xử lý ngôn ngữ tự

nhiên, xác định loại câu hỏi dựa vào so khớp với các mẫu quan hệ có sẵn. Nội dung chi tiết của các phương pháp này được trình bày ở chương 3.

Tạo truy vấn từ câu hỏi

Vấn đề của tạo truy vấn là lựa chọn các từ khóa trong câu hỏi và kết hợp chúng để

tạo ra câu truy vấn không quá chung chung, cũng không quá chi tiết. Chiến lược được sử

dụng để trích ra các từ khóa quan trọng là sử dụng độ ưu tiên: Độ ưu tiên cao nhất được gán cho các từ trong dấu nháy kép hoặc nháy đơn, tiếp đến là các cụm danh từ, danh từ,

động từ, tính từ, trạng từ. Các từ dừng, giới từ, trợđộng từđược bỏ qua.

Nhiều hệ thống Q&A có độ hồi tưởng (tỉ lệ câu trả lời đưa ra trên câu hỏi đầu vào) rất thấp. Một số nguyên nhân chính bao gồm: module phân tích câu hỏi không nhận diện

được câu hỏi thuộc loại nào hoặc không tìm được các mẫu khớp với câu hỏi, module trích chọn thông tin (IR) không tìm ra được các tài liệu có chứa câu trả lời, module trích xuất câu trả lời không thể tìm ra câu trả lời thỏa đáng cho câu hỏi. Vì vậy với module trích chọn thông tin trong hệ thống Q&A, độ hồi tưởng là quan trọng hơn so với độ chính xác bởi các module sau có thể lọc ra các tài liệu không liên quan, nhưng không thể tìm ra

được câu trả lời nếu các tài liệu chứa câu trả lời không được trả về từ IR [34] .

Các nghiên cứu trước đây nhằm làm tăng độ hồi tưởng của IR đều tập trung vào việc thu nhỏ sự khác biệt về mặt hình thái, từ vựng và ngữ nghĩa giữa các từ xuất hiện trong truy vấn và trong tài liệu chứa câu trả lời.

Về mặt hình thái, có hai cách được sử dụng [9,34]:

- Áp dụng kĩ thuật stemming cho tập dữ liệu được đánh chỉ mục và các từ trong truy vấn (stemming là chuyển tất cả các dạng biến thể của một từ thành từ gốc, ví dụ “expand”, “expanded”, “expansion”, “expandable”… đều được chuyển thành “expand”).

- Đánh chỉ mục cho các từ trong tài liệu mà không sử dụng stemming. Sử dụng kĩ

thuật mở rộng hình thái (morphological expansion – ví dụ từ “expands” được mở rộng thành {“expands”,“expand”, “expanded”, “expansion”, “expandable”

Về mặt từ vựng và ngữ nghĩa, phương pháp hay được sử dụng đó là: các từ trong truy vấn được mở rộng bởi tập các từ đồng nghĩa, các khái niệm có nghĩa khái quát hơn hoặc chuyên môn hơn, chi tiết hơn hoặc bởi các từ liên quan. Phương pháp này đòi hỏi phải có các nguồn tri thức về ngôn ngữ, từ vựng như Wordnet hoặc Ontology.

Moldovan trong [29] đã chỉ ra rằng từ trọng tâm của câu hỏi (question focus – xem trong phần 3.2) thường không xuất hiện trong tài liệu chứa câu hỏi. Với các câu hỏi có từ

trọng tâm là “tỉnh thành”, “thành phố”, “đất nước”, “ngày tháng”… thì câu trả lời sẽ chứa các thể hiện cụ thể của các từ này (ví dụ với “đất nước” thì sẽ là “Việt Nam”, “Trung Quốc”… chứ không nhất thiết phải là “đất nước Việt Nam”). Vì vậy các từ trọng tâm của câu hỏi thường không được sử dụng để làm từ khóa tạo truy vấn.

2.5.2. Câu hỏi định nghĩa (definition question)

Câu hỏi định nghĩa hỏi về định nghĩa hoặc mô tả về một điều, một khái niệm gì đó. Các câu hỏi thường gặp có dạng như “Máy tìm kiếm là gì”, “Định nghĩa khai phá dữ

liệu”, “Bush là ai ?”…

Câu trả lời cho loại câu hỏi này rất đa dạng, rất nhiều đoạn văn bản ngắn có thể coi là câu trả lời chấp nhận được. Ví dụ với câu hỏi “Who is George W. Bush ?” thì các câu trả lời có thể là:

“… George W. Bush, the 43rd President of the United States…”

“George W. Bush defeated Democratic incumbent Ann Richards to become the 46th Governor of the State of Texas…

……

Với loại câu hỏi định nghĩa, phương pháp thường hay được sử dụng là so khớp mẫu (pattern matching) [17].

Ví dụ về các mẫu câu hỏi và mẫu câu trả lời

Mẫu câu hỏi What <be> a <Q> ? Who <be> <Q> ?

<Q> là gì? <Q> là ai?....

Ưu điểm: Có độ chính xác khá cao.

Nhược điểm: Các mẫu khó có thể bao quát được hết các trường hợp đa dạng của câu hỏi và câu trả lời.

2.5.3. Câu hỏi phức tạp, có ràng buộc về thời gian

Phương pháp trình bày trong phần 2.5.1 có thể trả lời được các câu hỏi đơn giản factual base có từ ngữ diễn đạt thời gian đơn giản như: “Hồ Chí Minh sinh năm nào” hoặc “Ai là thủ tướng Việt Nam năm 2009 ?”. Tuy nhiên nhiều câu hỏi phức tạp đòi hỏi phải phát hiện ra các thuộc tính về thời gian hoặc thứ tự diễn ra của sự kiện. Ví dụ “Ai là tổng bí thưĐảng Cộng Sản Việt Nam trong chiến thắng lịch sửĐiện Biên Phủ”.

Câu hỏi liên quan đến thời gian được chia làm 4 loại [33]:

Loại 1: Câu hỏi về một sự kiện đơn lẻ, không có biểu đạt về thời gian (temporal expressions)

“Đại học Công Nghệ thành lập khi nào ?”.

Loại 2: Câu hỏi về một sự kiện đơn lẻ, có biểu đạt về thời gian

“Đội tuyển nào của Đại học công nghệ tham dự cuộc thi ACM quốc tếnăm 2009” Ràng buộc thời gian: năm2009.

Loại 3: Câu hỏi có nhiều sự kiện, có biểu đạt về thời gian

“Việt Nam đạt được những thành tựu gì sau khi chính sách mở cửa năm 1987 được thông qua ? ”

Tín hiệu thời gian: sau khi

Ràng buộc thời gian: năm 1987

Loại 4: Câu hỏi có nhiều sự kiện, không có biểu đạt về thời gian “Dân số thế giới là bao nhiêu trước chiến tranh thế giới thứ 2” Tín hiệu thời gian: trước

Phương pháp xử lý: Gồm 4 bước sau:

- Phân tích câu hỏi thành các các câu hỏi factual-base đơn giản hơn. “Dân số thế giới là bao nhiêu trước chiến tranh thế giới thứ 2 ?”

1) “Dân số thế giới là bao nhiêu ?”

2) “Chiến tranh thế giới thứ 2 xảy ra khi nào ?” - Tìm câu trả lời cho câu hỏi thứ nhất

- Tìm câu trả lời cho câu hỏi thứ hai

- Đưa ra câu trả lời mà vừa trả lời câu hỏi thứ nhất, vừa có giá trị thời gian thích hợp với câu trả lời cho câu hỏi thứ hai.

Chương 3. Các phương pháp xác định loi câu hi 3.1. Phương pháp phân lớp sử dụng học máy thống kê

Theo [4] có hai hướng tiếp cận được sử dụng rộng rãi trong việc phân lớp câu hỏi đó là hướng tiếp cận dựa trên luật (rule-base approach) và hướng tiếp cận dựa trên xác suất thống kê.

Hướng tiếp cn da trên lut:

Hướng tiếp cận này yêu cầu phải có các chuyên gia ngôn ngữ cung cấp các luật, các biểu thức chính quy (regural expression), các từ khóa cho từng lớp câu hỏi … để hệ thống hoạt động.

Các hạn chế của hướng tiếp cận này được chỉ ra trong [38]:

o Xây dựng mô hình cho phương pháp này rất tốn thời gian và công sức, cần có sự

cộng tác của những chuyên gia trong lĩnh vực ngôn ngữ học khi xây dựng các mẫu câu hỏi và văn phạm cho từng loại câu hỏi đó.

o Các luật ngữ pháp viết tay và văn phạm của từng loại câu hỏi rất cứng nhắc, không linh động. Khi một dạng câu hỏi mới xuất hiện, mô hình theo hướng này không thể xử lý. Muốn xử lý được mô hình cần phải được cung cấp những luật mới.

o Vấn đề nhập nhằng của các văn phạm ngữ pháp rất khó xử lý, kiểm soát và phụ

thuộc vào đặc điểm của từng ngôn ngữ.

o Khi tập câu trả lời được mở rộng hoặc thay đổi kéo theo việc phải viết lại hoàn toàn các luật trước đó nên hệ thống rất khó mở rộng.

Một số hệ thống hỏi đáp sử dụng luật để phân lớp câu hỏi như Webclopedia [18] và [39].

Hướng tiếp cn da trên xác sut thng kê: Được Jonathan Brown tổng hợp lại bao gồm hai cách tiếp cận chính đó là

Phương pháp học máy: Sử dụng một tập đủ lớn các câu hỏi đã được gán nhãn lớp

lớp cho câu hỏi dựa trên những đặc trưng hay những mối quan hệ của các từ trong câu hỏi

đưa vào. Các thuật toán thường được sử dụng là Support Vector Machines (SVM), láng giềng gần nhất (Near Neighbors – kNN), Naïve Bayes (NB), Entropy cực đại, …Ngoài ra, các phương pháp học máy bán giám sát [36] cũng được đưa ra để sử dụng các câu hỏi chưa được gán nhãn làm tăng cường thêm độ chính xác cho phân lớp câu hỏi.

Phương pháp sử dụng mô hình ngôn ngữ: Xây dựng một mô hình ngôn ngữ thống kê để ước lượng được phân phối của ngôn ngữ tự nhiên chính xác nhất có thể. Cụ thể với bài toán phân lớp câu hỏi là việc ước lượng xác suất có điều kiện p(a|b) của “loại câu hỏi”

a xuất hiện trong “ngữ cảnh” câu hỏi tự nhiên b. Bài toán đặt ra là chúng ta phải tìm một phương pháp ước lượng (có thể tin tưởng được) mô hình xác suất có điều kiện p(a|b) [4].

Hướng tiếp cận dựa trên học máy thống kê hiện đang được rất nhiều nhà nghiên cứu quan tâm vì nó không chỉ tốn ít công sức của con người hơn (so với phương pháp dựa trên luật) mà còn có tính khả chuyển cao, dễ dàng áp dụng cho nhiều miền ứng dụng khác nhau. Tuy nhiên hướng tiếp cận này cũng gặp khó khăn khi số lượng lớp câu hỏi lớn. Trong phân lớp câu hỏi, người ta muốn phân câu hỏi vào các lớp càng nhỏ càng tốt nhằm thu hẹp không gian tìm kiếm câu trả lời. Các hệ thống hỏi đáp hiện nay thường có số

lượng lớp câu hỏi lớn (hệ thống của Li và Roth [25] có 50 lớp, hệ thống trong [39] có 54 lớp, trong [15] có 68 lớp, Webclopedia [18] có 122 lớp,…), trong khi các thuật toán học máy sẽ giảm hiệu quả nếu số lớp tăng. Vì vập cần cải tiến mô hình và thuật toán để phù hợp với số lượng lớp lớn trong phân lớp câu hỏi. Phần 3.1 này sẽ trình bày các nội dung về học máy thống kê và mô hình áp dụng cho phân lớp câu hỏi.

3.1.1. Bài toán phân lớp trong khai phá dữ liệu

Phân lớp là bài toá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.

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 (tức là cao), 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.

Đánh giá thuật toán phân lớp [3]

Độ hồi tưởng ρ và độ chính xác πđược dùng để đánh giá chất lượng của thuật toán phân lớp. Giả sử các tài liệu thuộc vào hai lớp và thuật toán cần học một lớp trong hai lớp

đó, khi đó các giá trị TP (true positives), TN (true negatives), FP (false positives), FN

(false negatives)được xem xét:

- TP: số lượng ví dụ dương (tài liệu thực sự thuộc lớp cần đoán nhận) được thuật toán phân lớp cho giá trị đúng.

- TN: số lượng ví dụ âm (tài liệu thực sự không thuộc lớp cần đoán nhận) những được thuật toán phân lớp cho giá trịđúng.

- FP: số lượng ví dụ dương được thuật toán phân lớp cho giá trị sai. - FN: số lượng ví dụ âm được thuật toán phân lớp cho giá trị sai.

Đánh giá phân lp đa lp (thông qua d liu test Dtest)

Bài toán ban đầu: C gồm có k lớp

Đối với mỗi lớp Ci , cho thực hiện thuật toán với các dữ liệu thuộc Dtest nhận được các

Bảng 2. Biểu diễn của TP, TN, FP, FN trong đánh giá phân lớp

Giá trị thực Lớp Ci

Thuộc lớp Ci Không thuộc lớp Ci Thuộc lớp Ci TPi TNi

Giá trị qua bộ

phân lớp đa lớp

Không thuộc lớp Ci FPi FNi

Khi đó, FP TP TP + = ρ và TP FN TP + = π

Trong trường hợp phân lớp K lớp, các độ đo cực tiểu trung bình (microaveraging)

và cực đại trung bình (macroaveraging)được sử dụng:

) ( 1 1 ∑ =∑ = + = K c c c K c c FP TP TP µ ρ (microaveraging recall) ) ( ) ( 1 1 ∑∑= = + + = K c c c K c c c FN TP FP TP µ π (microaveraging precision) và ∑ = = K c c M K 1 1 π π (macroaveraging recall) ∑ = = K c c M K 1 1 ρ ρ (macroaveraging precision)

3.1.2. Các thuật toán học máy thống kê cho việc phân lớp

Có nhiều thuật toán khác nhau cho phân lớp như Naïve Bayes, K láng giềng gần nhất, cây quyết định (Decision Tree), Máy Vector hỗ trợ (Support Vector Machine), Mạng lọc thưa (Sparse Network of Winnows -SNoW), Mô hình Entropy cực đại … Tuy nhiên phần tiếp theo của khóa luận chỉ trình bày về máy Vector hỗ trợ và mô hình Entropy cực đại - hai thuật toán được sử dụng nhiều trong phân lớp câu hỏi và cũng sẽ được sử dụng trong phần thực nghiệm ở chương 4.

3.1.2.1. Máy Vector h tr - SVM

a. Thuật toán

Theo [2], thuật toán Support Vector Machines (máy vector hỗ trợ) được Corters và Vapnik giới thiệu vào năm 1995. SVM rất hiệu quảđể giải quyết các bài toán với dữ liệu có số chiều lớn như các vector biểu diễn văn bản. Thuật toán SVM ban đầu được thiết kế để giải quyết bài toán phân lớp nhị phân (hai lớp).

Cho tập dữ liệu học D ={(xi, yi), i = 1,…, n} với xi Rmyi{-1,+1} là một số

nguyên xác định xi là dữ liệu dương (+1) hay âm (-1). Một tài liệu xiđược gọi là dữ liệu dương nếu nó thuộc lớp ci ; xiđược gọi là dữ liệu âm nếu nó không thuộc lớp ci . Bộ phân lớp tuyến tính được xác định bằng siêu phẳng:

{x : f(x) = wTx + w0 =0 }

Trong đó w∈ Rmw0R là các hệ số có thể điều chỉnh đóng vai trò là tham số của mô hình. Hàm phân lớp nhị phân h: Rm → {0,1}, có thể thu được bằng cách xác định dấu của

f(x): {1 (x) 0 0 (x) 0 > ≤ = f f h Như vậy việc học mô hình phân lớp chính là việc xác định w w0 từ dữ liệu. Với thuật toán này, mỗi dữ liệu được xem là một điểm trong mặt phẳng. Dữ liệu học là tách rời tuyến tính (linearly separable) nếu tồn tại một siêu phẳng sao cho hàm phân lớp phù

Một phần của tài liệu Phân tích câu hỏi cho hệ thống hỏi đáp tiếng Việt (Trang 27 - 71)

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

(71 trang)