khóa luận Đh công nghệ: tóm tắt văn bản tự động bằng xích từ vựng

52
ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Nguyễn Việt Anh TÓM TẮT VĂN BẢN SỬ DỤNG XÍCH TỪ VỰNG KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành:Công nghệ thông tin

Upload: va-daihiep-hyhy

Post on 29-Jul-2015

284 views

Category:

Documents


4 download

DESCRIPTION

[email protected]

TRANSCRIPT

Page 1: Khóa luận ĐH Công Nghệ: Tóm tắt văn bản tự động bằng xích từ vựng

ĐẠI HỌC QUỐC GIA HÀ NỘITRƯỜNG ĐẠI HỌC CÔNG NGHỆ

Nguyễn Việt Anh

TÓM TẮT VĂN BẢN SỬ DỤNG XÍCH TỪ VỰNG

KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY

Ngành:Công nghệ thông tin

HÀ NỘI - 2012

Page 2: Khóa luận ĐH Công Nghệ: Tóm tắt văn bản tự động bằng xích từ vựng

ĐẠI HỌC QUỐC GIA HÀ NỘITRƯỜNG ĐẠI HỌC CÔNG NGHỆ

Nguyễn Việt Anh

TÓM TẮT VĂN BẢN SỬ DỤNG XÍCH TỪ VỰNG

KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY

Ngành:Công nghệ thông tin

Cán bộ hướng dẫn: TS Nguyễn Phương Thái

HÀ NỘI - 2012

Page 3: Khóa luận ĐH Công Nghệ: Tóm tắt văn bản tự động bằng xích từ vựng

VIETNAMNATIONALUNIVERSITY, HANOIUNIVERSITY OF ENGINEERING AND TECHNOLOGY

Nguyen Viet Anh

USING LEXICAL CHAINS

FOR TEXT SUMMARIZATION

Major: Information Technology

Supervisor: PhD Nguyen Phuong Thai

HANOI - 2012

Page 4: Khóa luận ĐH Công Nghệ: Tóm tắt văn bản tự động bằng xích từ vựng

LỜI CẢM ƠN

Trước tiên, em muốn gửi lời cảm ơn sâu sắc nhất đến thầy giáo,

TS. Nguyễn Phương Thái, người đã tận tình hướng dẫn em trong suốt

quá trình nghiên cứu làm khóa luận tốt nghiệp.

Em xin bày tỏ lời cảm ơn sâu sắc đến những thầy cô giáo đã giảng

dạy em trong bốn năm qua, những kiến thức mà em nhận được trên

giảng đường đại học sẽlàhành trang giúp em vững bước trong tương

lai.

Em xin chân thành cảm ơn!

Sinh Viên

Nguyễn Việt Anh

Page 5: Khóa luận ĐH Công Nghệ: Tóm tắt văn bản tự động bằng xích từ vựng

TÓM TẮT VĂN BẢN TỰ ĐỘNG SỬ DỤNG XÍCH TỪ VỰNG

Nguyễn Việt Anh

Khóa QH-2008-I/CQ , ngành Công nghệ thông tin

Tóm tắt Khóa luận tốt nghiệp:

Hiện nay, với sự bùng nổ của công nghệ thông tin, thông tin ngày một nhiều và phổ biến. Con người ngày càng phải xử lý nhiều thông tin hơn, trong đó có không ít những thông tin thừa hay không cần thiết, việc xử lý thông tin như vậy tốn rất nhiều thời gian và công sức. Vấn đề đặt ra là làm sao để giảm chi phí xử lý mà vẫn nắm được những thông tin cần thiết, quan trọng từ nguồn tin. Tóm tắt văn bản tự động được ra đời dựa trên ý tưởng đó. Trên thế giới, vấn đề tóm tắt tự động đã được nghiên cứu từ rất sớm, từ những năm 50 của thế kỷ trước, và đã có rất nhiều phương pháp tóm tắt văn bản được đề xuất, trong đó có phương pháp tóm tắt bằng xích từ vựng doBarzilay và Elhadad giới thiệu năm 1997 với ưu điểm dễ thực hiện và cho kết quả khá khả quan. Do vậy, trong khóa luận này em muốn giới thiệu phương pháp tóm tắt văn bản sử dụng xích từ vựng dựa trên ý tưởng của Barzilay và Elhadad, các bước thực hiện việc tóm tắt văn bản và giới thiệu chương trình sản phẩm do em viết ra.

Từ khóa:Tóm tắt, xích từ vựng.

Page 6: Khóa luận ĐH Công Nghệ: Tóm tắt văn bản tự động bằng xích từ vựng

LỜI CAM ĐOAN

Em xin cam đoan khóa luận tốt nghiệp: “Tóm tắt văn bản tự động sử dụng xích từ vựng” là công trình nghiên cứu của bản thân. Những phần sử dụng tài liệu tham khảo trong khóa luận đã được nêu rõ trong phần tài liệu tham khảo. Các số liệu, kết quả trình bày trong khóa luận là hoàn toàn trung thực, nếu sai em xin chịu hoàn toàn trách nhiệm và chịu mọi kỷ luật của khoa và nhà trường.

Tác giả khóa luận

Nguyễn Việt Anh

MỤC LỤ

Page 7: Khóa luận ĐH Công Nghệ: Tóm tắt văn bản tự động bằng xích từ vựng

C

CHƯƠNG 1: BÀI TOÁN TÓM TẮT VĂN BẢN...................................................................................4

1.1 Giới thiệu bài toán..........................................................................................................................4

1.2 Đặc điểm của bản tóm tắt...............................................................................................................5

1.3 Tóm tắt văn bản bằng xích từ vựng................................................................................................5

1.4 Ứng dụng của bài toán tóm tắt văn bản..........................................................................................5

CHƯƠNG 2: MỘT SỐ HƯỚNG TIẾP CẬN BÀI TOÁN TÓM TẮT VĂN BẢN.................................6

2.1 Phương pháp thống kê....................................................................................................................6

2.2 Phương pháp máy học....................................................................................................................7

2.3 Phương pháp Naïve-Bayes.............................................................................................................8

2.4 Phương pháp Decision Tree...........................................................................................................8

2.5 Phương pháp phân tích ngôn ngữ tự nhiên.....................................................................................8

Tóm tắt chương 2................................................................................................................................10

CHƯƠNG 3: TÓM TẮT VĂN BẢN SỬ DỤNG XÍCH TỪ VỰNG....................................................11

3.1 Giới thiệu và mô hình thực hiện:..................................................................................................11

3.2 Từ điển WordNet..........................................................................................................................13

3.2.1 Giới thiệu...............................................................................................................................13

3.2.2 Quan hệ ngữ nghĩa trong WordNet.......................................................................................14

3.2.3 Sử dụng WordNet trong lập trình với ngôn ngữ Java............................................................15

3.3 Xây dựng xích từ vựng và tóm tắt................................................................................................18

3.3.1 Trích chọn tập các từ ứng cử.................................................................................................18

3.3.2 Xây dựng xích từ vựng..........................................................................................................18

3.3.4 Sử dụng xích từ vựng để tóm tắt văn bản..............................................................................25

Tóm tắt chương 3................................................................................................................................26

CHƯƠNG 4: THỰC NGHIỆM VÀ ĐÁNH GIÁ..................................................................................27

4.1 Môi trường thực nghiệm...............................................................................................................27

4.1.1 Môi trường phần cứng...........................................................................................................27

4.1.2 Môi trường phần mềm...........................................................................................................27

4.2 Dữ liệu thực nghiệm.....................................................................................................................27

4.3 Phương pháp đánh giá..................................................................................................................27

4.4 Đánh giá kết quả thực nghiệm......................................................................................................29

Kết luận...................................................................................................................................................31

PHỤ LỤC...............................................................................................................................................32

TÀI LIỆU THAM KHẢO......................................................................................................................34

Page 8: Khóa luận ĐH Công Nghệ: Tóm tắt văn bản tự động bằng xích từ vựng

CHƯƠNG 1: BÀI TOÁN TÓM TẮT VĂN BẢN

1.1 Giới thiệu bài toán

Tóm tắt văn bản là bài toán của thuộc lĩnh vực xử lý ngôn ngữ tự nhiên, đó là quá

trình rút trích những thông tin quan trọng nhất từ một hoặc nhiều nguồn để tạo ra phiên

bản cô đọng, ngắn gọn phục vụ cho một hoặc nhiều người dùng cụ thể, haymột hoặc

nhiều nhiệm vụ cụ thể [2].Có thể phân loại bài toán tóm tắt văn bản ra nhiều loại tùy

theo đặc điểm khác nhau: Theo số lượng: Đơn văn bản và Đa văn bản, theo văn bản

đầu ra: Trích rút (Extract) và Tóm lược (Abtract). Hiện nay các phương pháp tóm tắt

văn bản đa số tập trung vào dạng tóm tắt trích rút câu, tóm tắt văn bản bằng xích từ

vựng cũng là một trong số đó.

Theo Hovy (1999), Mani (2001), Sparck Jones (1999), quá trình tóm tắt văn bản

được chia ra thành 3 giai đoạn chính:

Phân tích (Analysis or Interpretation): biểu diễn và hiểu văn bản nguồn

Biến đổi (Transformation): trích chọn những nội dung quan trọng

Tổng hợp (Synthesis or Realization): tạo văn bản mới chứa những điểm

chính, quan trọng của văn bản gốc.

Page 9: Khóa luận ĐH Công Nghệ: Tóm tắt văn bản tự động bằng xích từ vựng

1.2 Đặc điểm của bản tóm tắt

Giảm nội dung thông tin : lượng nội dung trong bản tóm tắt phải ít hơn so với

văn bản gốc, nhưng phải đảm bào vẫn còn những thông tin quan trọng, nổi bật.

Mức độ giảm nội dung thông tin được đo bằng tỷ lệ nén.

Hoặc các bản tóm tắt thường có một chiều dài nhất định được mong muốn.

Nội dung thông tin

Phải trung thực hoặc tương đương với văn bản nguồn.

Phải liên quan, phù hợp với yêu cầu người dùng

Định dạng tốt

Phải có định dạng tốt về ngữ pháp và cấu trúc diễn ngôn (cấu trúc nội dung

của từng

loại văn bản).

Phải có thể đọc và hiểu được đối với người dùng.

1.3 Tóm tắt văn bản bằng xích từ vựng

Phương pháp được đề xuất đầu tiên bởi Morris và Hirst năm 1991 và sau đó là

Barzilay và Elhadad năm 1997. Phương pháp thuộc kiểu tóm tắt văn đơn văn bản trích

xuất câu. Phương pháp này tính sự liên quan giữa những từ quan trọng trong văn bản

để xây dựng lên những xích từ vựng, từ những xích đó trích rút câu trong văn bản gốc.

Đây là một phươn pháp dễ thực hiện nhưng cho kết quả khả quan. Chi tiết sẽ được

trình bày trong chương 3.

Hình 1: Quá trình tóm tắt văn bản

Page 10: Khóa luận ĐH Công Nghệ: Tóm tắt văn bản tự động bằng xích từ vựng

1.4 Ứng dụng của bài toán tóm tắt văn bản

Tóm tắt tin tức

Hỗ trợ bác sĩ trong điều trị

Tóm tắt kết quả tìm kiếm trong các search engine

Thu thập dữ liệu thông minh

Tóm tắt bài báo khoa học

Tóm tắt nội dung hội nghị, cuộc họp

Tóm tắt nội dung video, audio, …

Trả lời tự động

Page 11: Khóa luận ĐH Công Nghệ: Tóm tắt văn bản tự động bằng xích từ vựng

CHƯƠNG 2: MỘT SỐ HƯỚNG TIẾP CẬN BÀI TOÁN TÓM TẮT VĂN BẢN

2.1 Phương pháp thống kê[2]

Hầu hết các nghiên cứu đầu tiên cho tóm tắt đơn văn bản đều tập trung trên

những văn bản kỹ thuật (các bài báo khoa học). Các phương pháp cổ điển thường tập

trung vào các đặc trưng hình thái để tính điểm cho các câu và rút trích các câu quan

trọng để đưa vào tóm tắt.

Hướng tiếp cận chung cho phương pháp cổ điển được đề xuất bởi

Edmundson(1969) như sau:

Bước 1

Bước 2

Hình 2: Hướng tiếp cận chung cho phương pháp cổ điển Edmundson(1969)

Page 12: Khóa luận ĐH Công Nghệ: Tóm tắt văn bản tự động bằng xích từ vựng

Ý tưởng chính của hướng tiếp cận :

Thu tập ngữ liệu

Tạo các bản tóm tắt thủ công

Thiết kế các công thức toán hay logic để tính điểm cho các câu

Lặp cho đến khi tóm tắt tự động đạt được tính tương đương với tóm tắt thủ

công :

Tính điểm cho từng câu để tạo ra bản tóm tắt cho từng văn bản trong

ngữ liệu

Dựa vào các đặc trưng về hình thái.

So sánh tóm tắt được tạo tự động với tóm tắt được tạo thủ công.

Cải thiện lại phương thức tính điểm cho câu.

2.2 Phương pháp máy học [2]

Năm 1990, với sự phát triển của nhiều kỹ thuật máy học trong xử lý ngôn ngữ,

một số nhà nghiên cứu đã ứng dụng các kỹ thuật này vào trong tóm tắt văn bản tự

động. Một số nghiên cứu điển hiển của phương phát này là: Naïve-Bayes, Decision

Tree, Hidden Makov Model, Log-Linear, Neural Network, SVM.

Hình 3: Framework chung cho hệ thống tóm tắt văn bản bằng phương pháp máy học vựng

Page 13: Khóa luận ĐH Công Nghệ: Tóm tắt văn bản tự động bằng xích từ vựng

2.3 Phương pháp Naïve-Bayes [2]

Các hướng tiếp cận theo phương pháp này giả định rằng các đặc trưng của văn

bản độc lập nhau. Sử dụng bộ phân lớp Naïve-Bayes để xác định câu nào thuộc về tóm

tắt và ngược lại:

Cho s là các câu cần xác định. F1…Fk là các đặc trưng đã được chọn, và giả định

các thuộc tính độc lập nhau. Xác suất của câu s thuộc về tóm tắt được tính như sau:

P (s∈S|F1 , F2 ,…,Fk ¿=∏i=1

k

P ( Fi|s∈S¿ ∙ P(s∈S) ¿

∏i=1

k

P (Fi)

Sau khi tính xác suất các câu, n câu có xác suất cao nhất sẽ được rút trích.

2.4 Phương pháp Decision Tree [2]

Lin & Hovy (1999) đại diện của phương pháp này giả định rằng, các đặc trưng

không độc lập với nhau. Tác giả đã kiểm tra nhiều đặc trưng và ảnh hưởng của chúng

lên quá trình rút trích. Hệ thống tóm tắt của Lin là loại tóm tắt hướng về truy vấn

(query-based).

Các đặc trưng : position(OOP), numericdata, propername, pronoun&adjective,

weekday hoặc month. Cùng với 2 đặc trưng mới: query signature(số từ truy vấn có

trong câu) và IR signature (những từ nổi bật, quan trọng ~ tf*idf).

Hệ thống Summarist của LinvàHovy sử dụng thuật toán C4.5 để huấn luyện cây

quyết định. Hệ thống sử dụng tập ngữ liệu của TIPSTER-SUMMAC.

2.5 Phương pháp phân tích ngôn ngữ tự nhiên [2]

Phương pháp tiếp theo xử dụng các kỹ thuật phân tích ngôn ngữ tự nhiên phức

tạp. Không phải tất cả các phương pháp phân tích ngôn ngữ tự nhiên đều sử dụng máy

học, đôi khi phương pháp chỉ sử dụng một số các heuristic để tạo rút trích. Hầu hết các

phương pháp này đều dựa trên cấu trúc diễn ngôn (discourse tructure) hay cấu trúc

diễn đạt (thể hiện) của văn bản, như : cấu trúc các section của văn bản, liên kết ngữ

pháp (trùnglặp, tĩnh lược, liên hợp), liên kết từ vựng (đồng nghĩa, bao hàm, lặp lại),

cấu trúc chính phụ.

Các nghiên cứu đại điện cho phương pháp này :

Ono (1994)

Xây dựng một thủ tục để rút trích các cấu trúc chính phụ (rhetorical

structure) từ các văn bản tiếng Nhật, và xây dựng một cây nhị phân

để thể hiện.

Page 14: Khóa luận ĐH Công Nghệ: Tóm tắt văn bản tự động bằng xích từ vựng

Các bước để rút trích cấu trúc:phân tích câu,rút trích một quan hệ

chính phụ, phân đoạn, tạo ứng viên và đánh giá độ ưu tiên.

Sau khi xây dựng cây, sẽ thực hiện tỉa nhánh để giảm bớt câu và tạo

tóm tắt.

Kết quả đạt được 51% các câu chính được xác định, và 74% các

câu quan trọng nhất được xác định.

Barzilay và Elhadad (1997)

Hai tácgiả cũng đã sử dụng một lượng đáng kể những phân tích

ngôn ngữ trong tóm tắt văn bản dựa trên xích từ vựng (lexical

chain). Xích từ vựng là chuỗi các từ liên quan trong văn bản.

Các bước thực hiện : phân đoạn văn bản, xác định các xích từ vựng

và sử dụng các xích từ vựng tốt nhất để xác định câu được chèn vào

tóm tắt.

Để tìm các xích từ vựng, tác giả sử dụng Wordnet. Các từ có liên

quan với nhau sẽ được đưa vào xích. Sự liên quan được tính bằng

khoảng cách trong Wordnet. Xích sẽ được tính điểm dựa vào chiều

dài và sự đồng nhất của nó.

Hạn chế : không thể kiểm được chiều dài. Tóm tắt thiếu sự kết dính

và chưa chi chiết do chọn cả câu.

Marcu (1998)

Sử dụng cá cheuristic dựa trên cấu trúc diễn đạtvới các đặc trưng

truyền thống. Lýt huyết về cấu trúc diễn đạt được tác giả thể hiện

thông qua lý thuyết cấu trúc chính phụ (Rhetorical Structure

Theory). Lý thuyết cho rằng hai khoảng văn bản không trùng lắp

có quan hệ trung tâm (nucleus) và vệ tinh (satellite).Trong đó trung

tâm quan trọng hơn vệ tinh và độc lập hoàn toàn trong cấu trúc

chính phụ. Cấu trúc trọng tâm và vệ tinh được biểu diễn thành cây

nhị phân.

Để tính điểm cho các cấu trúc, tác giả sử dụng nhiều độ đo khác

nhau như : clustering based metric, marker based metric, hetorical

clustering based technique, shape based metric, title based metric,

position based metric, connectedness based metric và sử dụng

phương pháp kết hợp tuyến tính. Lấy ra n câu chứa cấu trúc có

điểm cao nhất.

Page 15: Khóa luận ĐH Công Nghệ: Tóm tắt văn bản tự động bằng xích từ vựng

Hệ thống đạt được kết quả độ đo F 75.42% cao hơn 3.5% so với

baseline bằng phương pháp lấy n câu đầu. Ngữ liệu được sử dụng là

từ TREC.

Tóm tắt chương 2

Trong chương 2, khóa luận đã giới thiệu một số phương pháp tóm tắt văn bản tự động phổ biến, những phương pháp này đa phần thuộc kiểu trích rút câu trong văn bản gốc, và phương pháp tóm tắt sử dụng xích từ vựng cũng vậy. Chương 3 sẽ trình bày rõ ràng, cụ thể hơn về phương pháp này.

Page 16: Khóa luận ĐH Công Nghệ: Tóm tắt văn bản tự động bằng xích từ vựng

CHƯƠNG 3: TÓM TẮT VĂN BẢN SỬ DỤNG XÍCH TỪ VỰNG

3.1 Giới thiệu và mô hình thực hiện:

Xích từ vựng là một đồ thị gồm các từ liên quan đến nhau về ngữ nghĩa, để biết

được 2 từ có liên quan đến nhau hay không ta sử dụng từ điển WordNet, vấn đề này sẽ

được trình bày rõ hơn ở phần sau. Sở dĩ phương pháp sử dụng xích từ vựng để tóm tắt

là vì xích từ vựng có tính chất đại diện cho văn bản, tóm tắt dựa trên xích sẽ có khả

năng nắm được nội dung chính của văn bản. Nhìn chung, quá trình tóm tắt văn bản

gồm 3 bước chính:

Bước 1:Trích xuất các từ ứng cử (candidate).

Bước 2:Tính toán độ liên quan giữa các từ ứng cử và đưa từ ứng cử vào xích

thích hợp.

Bước 3:Tìm những xích đủ “mạnh”, với mỗi xích “mạnh” trích xuất ra 1 câu

trong văn bản.

Ta chọn từ ứng cử đơn giản là các danh từ trong câu, để xác định đâu là danh từ

ta sử dụng framework Part-Of-Speech tagging (POS) được phát triển bởi đại học

Stanford. Sau quá trình này, mỗi từ trong văn bản gốc đều được gán nhãn thích hợp

như danh từ (\NN), danh từ số nhiều (\NNS), động từ, tính từ, … Từ đó có thể dễ dàng

trích xuất ra được danh từ, chính là những từ ứng cử.

Như ta đã biết, mỗi từ thường có nhiều nghĩa khác nhau, vấn đề là làm sao xác

định được một từ ứng cử trong văn cảnh này mang nghĩa nào. Cách giải quyết là ta sẽ

xét tất cả các nghĩa của từ đó, xem cách giải nghĩa nào là “hợp lý” nhất thì đó chính là

nghĩa của từ trong văn cảnh hiện tại. Từ đây ta có khái niệm diễn giải

(interpretation), đó là tập hợp của tất cả các từ ứng cử, trong đó mỗi từ chỉ được đại

diện bởi 1 nghĩa duy nhất. Khi đã có các diễn giải, ta tính toán độ liên quan và hình

thành xích bên trong các diễn giải đó. Khi quá trình tạo xích hoàn tất, ta chọn ra diễn

giải mạnh nhất và coi đây là cách giải nghĩa cho tập từ ứng cử hợp lý nhất, từ đó sử

dụng những xích trong diễn giải này để tóm tắt văn bản.

Ví dụ:

Tập ứng cử có 2 từ {A, B}. Từ A có 2 nghĩa A1 và A2, từ B có 2 nghĩa B1, B2

Vậy ta có các diễn giải sau:

Page 17: Khóa luận ĐH Công Nghệ: Tóm tắt văn bản tự động bằng xích từ vựng

Diễn giải 1: (A1, B1), diễn giải 2: (A1, B2)

Diễn giải 3: (A2, B1), diễn giải 4: (A2, B2)

Mô hình thuật toán như sau:

Tagged.txt

Văn bản nguồn

input.txtPart-Of-Speech Tagging

Chain.txt WordNetXây dựng xích từ vựng

Diễn giải mạnh nhất (gồm nhiều xích)

Output.txt

Mỗi 1 xích trích xuất 1 câu trong văn bản nguồn

Hình 3: Mô hình thuật toán tóm tắt văn bản sử dụng xích từ vựng

Page 18: Khóa luận ĐH Công Nghệ: Tóm tắt văn bản tự động bằng xích từ vựng

3.2 Từ điển WordNet

3.2.1 Giới thiệuWordNet là một cơ sở dữ liệu từ vựng tiếng Anh lớnđược xây dựng bởi Đại học

Princetonbắt đầu từ năm 1985 với mục đích phục vụ việc phân tích văn bản tự động, xử lý ngôn ngữ tự nhiên, trí tuệ nhân tạo, v.v. Tính đến năm 2006, WordNet bao gồm 155287 từ. Những từ trong WordNet được nhóm lại thành các bộ từ đồng nghĩa (synsets), thể hiện một khái niệm khác biệt. Synsets được liên kết với nhau bằng các quan hệ ngữ nghĩa.

Có thể coi WordNet như một từ điển, tuy nhiên WordNet có 1 vài sự khác biệt so với từ điển thông thường. Thứ nhất là những từ trong WordNet không sắp xếp theo thứ tự bảng chữ cái alphabetmà được tổ chức thành một cơ sở dữ liệu, thứ hai là trong WordNet các từ được nhóm lại thành các tập đồng nghĩa, với những từ trong cùng 1 tập thì sẽ có giải nghĩa (glossary) giống nhau.

Tổ chức cơ sở dữ liệu WordNet được miêu tả như hình sau:

Hình 4: Tổ chức cơ sở dữ liệu WordNet phiên bản 3.0(Nguồn: http://wnsqlbuilder.sourceforge.net/schema.html)

Page 19: Khóa luận ĐH Công Nghệ: Tóm tắt văn bản tự động bằng xích từ vựng

3.2.2 Quan hệ ngữ nghĩa trong WordNet [1]Như ta đã biết, các tập từ đồng nghĩa trong WordNet có sự liên quan với nhau

thông qua các mối quan hệ ngữ nghĩa, dựa vào các quan hệ này mà ta có thể xét xem hai từ có liên quan gì đến nhau, hay nói cách khác là ta có thể tính được độ tương đồng của hai từ với nhau. Trong WordNet, có các quan hệ ngữ nghĩa là: Synonymy – Antonymy, Hypernymy – Hyponymy, Meronymy – Holonymy.

Quan hệ Synonymy:Quan hệ này đóng vai trò chính yếu trong tổ chức từ vựng của WordNet

vì biểu diễn tính tương tự về nghĩa giữa các hình thái từ vềmặt từ vựng. Chính mối quan hệ này là cơ sở để các nhà xây dựng WordNet tập hợp các hình thái từ có cùng nghĩa thành các synset. Synonymy được xác định bởi khái niệm như sau: “Hai biểu thức là tương đương về nghĩa trong một ngữ cảnh C nếu sự thay thế giữa chúng trong C không làm thay đổi giá trị đúng”. Tất cả những từ trong cùng một synset thì đều có quan hệ synonym với nhau theo nghĩa của synset đó. Ví dụ ta có synset {car, auto, automobile, machine, motorcar} thì car là synonym với auto, automobile, machine, và motocar theo nghĩa: A motor vehicle with four wheels; usually propelled by an internal combustion engine; "he needs a car to get to work”. Lưu ý rằng nếu nghĩa A1 của từ A có quan hệ X với nghĩa B1 của từ B, thì mọi từ (nghĩa) trong synset của A1 đều có quan hệ X với B1.

Quan hệAntonymy Antonymy xác định mối quan hệ trái nghĩa của hai từ trong WordNet.

Antonym của một từ đôi lúc là not nhưng không phải luôn đúng. Antonymy cung cấp quy tắc tổ chức tính từ trong WordNet và những vấn đề phức tạp phát sinh khi antonymy nằmtrong mối quan hệ ngữ nghĩa giữa các từ. Ví dụ peace là antonym của war.

Quan hệ Hyponymy và Hypernymy: Không giống nhưsynonymy và antonymy, quan hệ hyponymy và

hypernymy cho biết mối quan hệ về ngữ nghĩa giữa các khái niệm, trong đó nghĩa của khái niệm này bao hàm nghĩa của khái niệm kia hay ngược lại. Cặp quan hệ hyponymy và hypernymy còn có thể được xem là cặp quan hệ hạd anh (subordination) và thượng danh (superordination), hay cặp quan hệ tập con(subset) và tập cha (superset), hoặc cặp quan hệ IS-A và HAS-A. Một khái niệm được biểu diễn bởi synset {x, x’, …} được gọi là hyponymy của khái niệm {y, y’, …} nếu mệnh đề“x is a (kind of) y”là đúng. Ví dụ car và vehicle: thì vehicle là hypernym của car, car là hyponym của vehicle. Theo Lyons (1977), quan hệ hyponymy có tính chất bắc cầu và phản xứng. Theo quan hệ hyponymy, việc thêm ít nhất một thuộc tính mới vào khái niệm chi tiết sẽ giúp phân biệt khái niệm đó với một hoặc những khái niệm tổng quát có các thuộc

Page 20: Khóa luận ĐH Công Nghệ: Tóm tắt văn bản tự động bằng xích từ vựng

tính mà nó thừa kế. Quy định này cung cấp nguyên tắc phân cấp cho việc xây dựng quan hệ danh từ trong WordNet.

Quan hệ Meronymy và Holonymy:Quan hệmeronymy và holonymy là mối quan hệ toàn thể–bộ phận giữa

hai synset danh từ. Năm 1998, Winston chia quan hệ meronymy và holonymy thành các loại như trong bảng sau:

STT Loại Tên tiếng Anh Ví dụ

1 Thành phần – đối tượng Component–Object branch–tree

2 Thành viên–Tập hợp Member–Collection tree–forest

3 Vật liệu–Đối tượng Stuff–Object aluminium–airplane

4 Phần–Khối Portion–Mass slice–cake

5 Đặc điểm–Hoạt động Feature–Actitivity paying–shopping

6 Địa điểm–Nơi chốn Place–Area Princeton–New Jersey

7 Giai đoạn–Quá trình Phase–Process addolescence–growing up

3.2.3 Sử dụng WordNet trong lập trình với ngôn ngữ JavaTại bước xây dựng xích từ vựng ta phải xác định được quan hệ ứng với mỗi nghĩa

của 2 từ ứng cử là gì, sau đó mới xét xem sẽ đưa từ vào xích nào. Để làm được điều này ta cần sử dụng từ điển WordNet. Chương trình sử dụng gói API JWI do viện công nghệ Massachusetts phát triển (http://projects.csail.mit.edu/jwi/) để thao tác với WordNet. API này được xem là nhanh, mạnh và dễ sử dụng nhất, ngoài ra trong gói API còn có kèm theo Javadocs nên việc tra cứu sử dụng trở lên rất dễ dàng.

Sau khi download JWI, thêm file jar vào project, ta có thể chạy thử một chương trình đơn giản: In ra ID và giải nghĩa cho nghĩa đầu tiên của từ “dog” [6]:

Bảng 1: Phân loại quan hệ meronymy và holonymy

Page 21: Khóa luận ĐH Công Nghệ: Tóm tắt văn bản tự động bằng xích từ vựng

Kết quả in ra như sau:

Để trích xuất ra Hypernym của nghĩa đầu tiên của từ “dog”, ta chỉ cần thêm vào

ISynset synset = word.getSynset();

List <ISynsetID > hypernyms = synset.getRelatedSynsets(Pointer.HYPERNYM);

Sau đó nếu muốn xét xem wordA có phải là hypernym của wordB hay không ta chỉ cần duyệt list hypernyms của wordB, nếu Id của wordA trùng với Id của hypernym[i] thì wordA là hypernym của wordB. Với các mối quan hệ khác như hyponym, meronym ta tiến hành tương tự, chỉ cần thay đổi Pointer trỏ sang vùng tương ứng là được.

Cấu trúc của JWI được mô tả theo sơ đồ sau (lấy ví dụ là từ “dog”) [6]:

public void testDictionary() throws IOException {

// Tạo đường dẫn đến thư mục chứa từ điển WordNet

URL url = new URL("file", null, "C:\\Program Files (x86)\\WordNet\\2.1\\dict");

// Tạo đối tượng từ điển và mở từ điển

IDictionary dict = new Dictionary(url);

dict.open();

//Lấy nghĩa đầu tiên của từ dog

IIndexWord idxWord = dict.getIndexWord( " dog " , POS.NOUN);

IWordID wordID = idxWord.getWordIDs().get(0);

IWord word = dict.getWord(wordID);

//In ra ID, Lemma, gloss của nghĩa đầu tiên của từ dog

System.out.println( " Id = " + wordID);

System.out.println( " Gloss = " + word.getSynset().getGloss());

}

Id = WID -2084071-n-?-dog

Gloss = a member of the genus Canis (probably descended from the common wolf) that has been domesticated by man since prehistoric times; occurs in many breeds; "the dog barked all night"

Page 22: Khóa luận ĐH Công Nghệ: Tóm tắt văn bản tự động bằng xích từ vựng

Từ sơ đồ này ta có thể thấy rằng JWI quản lý mỗi đối tượng như từ, từng nghĩa của từ,… mỗi đối tượng đều có một ID riêng, việc này sẽ đảm bảo được độ chính xác khi người lập trình muốn truy cập và sử dụng bất kỳ một đối tượng nào.

Hình 4: Cấu trúc của JWI

Page 23: Khóa luận ĐH Công Nghệ: Tóm tắt văn bản tự động bằng xích từ vựng

3.3 Xây dựng xích từ vựng và tóm tắt

3.3.1 Trích chọn tập các từ ứng cửNhư đã nói ở trên, trong phương pháp này ta chọn những từ ứng cử đơn giản là

những danh từ, vì danh từ là loại từ có tính đại diện nhất cho câu. Để trích chọn ra danh từ, trước tiên ta phải gán nhãn từ loại(POS) để xác định đâu là danh từ trong câu và sau đó trích xuất. Chương trình sử dụng Stanford Log-linear Part-Of-Speech Tagger (http://nlp.stanford.edu/software/tagger.shtml)do trường Đại học Stanford phát triển để gán nhãn từ. Một số nhãn phổ biến như /NN: danh từ số ít, /NNS: danh từ số nhiều, /RB: trạng từ, /VB: động từ, /JJ: tính từ,… Chúng ta chỉ quan tâm đến những từ được gán nhãn /NN và /NNS bằng hàm checkCandidate(), sau đó chuẩn hóa bằng hàm standardlize(), hàm này sẽ xóa nhãn của từ và nếu là danh từ số nhiều thì sẽ chuyển về dạng danh từ số ít (bằng hàm findStems() có sẵn trong gói JWI).

Quá trình gán nhãn kết thúc sẽ cho ra file tagged.txt là văn bản nguồn đã được gán nhãn, chương trình sẽ đọc file này để xây dựng xích ở bước tiếp theo.

3.3.2 Xây dựng xích từ vựngCó thể nói đây là bước quan trọng nhất trong quá trình tóm tắt văn bản.Xích từ

vựng là một đồ thị gồm các từ có quan hệ với nhau, giữa 2 từ có quan hệ thì sẽ có 1 cạnh nối 2 từ đó. Quá trình xây dựng xích được tiến hành như sau: Duyệt từng từ ứng cử một, với mỗi từ ứng cử thì xét từng nghĩa của từ đó và tìm xích thích hợp để đưa vào, nếu không tìm thấy xích nào thích hợp thì tạo ra xích mới. Có thể hình dung rõ hơn quá trình tạo xích bằng ví dụ sau [5]: Cho một đoạn văn bản, những từ in đậm được coi là những từ ứng cử:

Mr.Kenny is the person that invented an anesthetic machine which uses microcomputers to control the rate at which an anesthetic is pumped into the blood. Such machines are nothing new. But his device uses two microcomputers to achieve much closer monitoring of the pump feeding the anesthetic into the patient.

Đầu tiên xét từ Mr., vì chưa có xích nào và từ Mr. chỉ có 1 synset (1 nghĩa) {mister, Mr, Mr.} nên tạo ra 1 xích ban đầu. Từ person nếu xét theo synset thứ nhất {person, individual, someone, somebody, mortal, soul} có nghĩa là “ahumanbeing” thì có liên quan đến Mr. nên đưa person vào xích, còn nghĩa thứ hai của person là “a human body” không liên quan đến Mr. nên tạo ra một xích mới.

Page 24: Khóa luận ĐH Công Nghệ: Tóm tắt văn bản tự động bằng xích từ vựng

Tiếp theo xét đến từ machine, từ này có 6 nghĩa, trong đó có 1 nghĩa mang nghĩa là “an efficient person” có liên quan đến Mr. và person. Duyệt 6 nghĩa này với 2 diễn giải đã có, chỉ đưa được nghĩa thứ nhất vào xích ở diễn giải 1. Những nghĩa khác không đưa được vào xích nào, tạo mới xích. Lưu ý rằng ở bước này sẽ tạo ra 12 diễn giải mới, nhưng để ngắn gọn ta chỉ biểu diễn những diễn giải khác nhau.

{person, individual, someone, somebody, mortal, soul }

{Mr., Mr, mister}

Person

Mr.

{person} (a human body)

{Mr., Mr, mister}

Person

Mr.

Diễn giải 1 Diễn giải 2

Hình 6: Xích sau khi xét từ person

{machine} (an efficient person)machine

{person, individual, …}

{Mr., Mr, mister}

Person

Mr.

machine2, … machine6machine

{person} (a human body)

{Mr., Mr, mister}

Person

Mr.

Diễn giải 1

Hình 7a: Xích sau khi xét từ machine

Diễn giải 2

Page 25: Khóa luận ĐH Công Nghệ: Tóm tắt văn bản tự động bằng xích từ vựng

Tiếp tục tiến hành xét các từ ứng cử còn lại, và sau khi xét hết, ta sẽ được diễn giải mạnh nhất với hai xích như sau:

pump3

device2

Diễn giải 3

machine2, … machine6

machine

{person, individual, …}

{Mr., Mr, mister}

Person

Mr.

Diễn giải 4

Hình 7b: Xích sau khi xét từ machine

{person} (a human body)

{machine} (an efficient person)

machine

{Mr., Mr, mister}

Person

Mr.

Hình 8: Diễn giải mạnh nhất

{PC, microcomputer, …}

machine4

{person, invidual, someone …}

{Mr., mr, mister}

Microcomputer

Device

Pump

Machine

Mr.

Person

Page 26: Khóa luận ĐH Công Nghệ: Tóm tắt văn bản tự động bằng xích từ vựng

Để xác định được diễn giải mạnh nhất, trong quá trình xây dựng xích chúng ta cho điểm các mối quan hệ của các thành viên trong xích, điểm của diễn giải là tổng điểm của các xích, điểm của một xích là tổng điểm của tất cả các mối quan hệ thành viên bên trong nó. Ta cho điểm các mối quan hệ như sau:

10 điểm cho quan hệ đồng nghĩa (synonym)

8 điểm cho quan hệ cha con (hypernym)

7 điểm cho quan hệ trái nghĩa (antonym)

4 điểm cho quan hệ meronym

2 điểm cho quan hệ anh-em ruột (có cùng một hypernym)

Sự ưu tiên từ cao xuống thấp, nghĩa là xét điểm từ cao xuống thấp, nếu 2 từ thỏa mãn một mức nào đó thì sẽ dừng không xét các mối quan hệ ở mức thấp hơn nữa.

Như vậy, phương pháp tiếp cận của chúng ta là xét tất cả các trường hợp có thể có và tạo ra tất cả các diễn giải có thể có sau đó cuối cùng lựa chọn một diễn giải có điểm cao nhất để sử dụng tóm tắt. Vấn đề nảy sinh là cách làm như vậy sẽ khiến cho số diễn giải sau mỗi vòng lặp tăng theo cấp số nhân:

Số diễn giải mới = số diễn giải cũ * số nghĩa của từ đang xét

Như vậy bộ nhớ cần đến phải là rất lớn, để khắc phục nhược điểm này, ta đưa vào một ngưỡng MAX_INTER để giới hạn số diễn giải tối đa được lưu trong bộ nhớ, hiện tại trong chương trình MAX_INTER = 10. Trong quá trình tạo xích, nếu số diễn giải lớn hơn 10 thì những diễn giải có điểm thấp hơn 10 diễn giải sẽ bị xóa đi.

Cấu trúc của chương trình:

Class Sense: Lớp để lưu nghĩa của một từ, một đối tượng Sense sẽ bao gồm String từ đó, IWord, IWordID và ISynsetID. Những hàm thành viên để lấy ra hypernym, meronym, synonym, antonym, id, … để phục vụ cho việc xét quan hệ giữa 2 Sense với nhau. Lưu ý rằng ở đây ta chỉ quan tâm đến nghĩa của một từ chứ không cần quan tâm đến từ đó, vì một từ có nhiều nghĩa và với mỗi một nghĩa thì nó lại có quan hệ với những từ khác khác nhau.

Class Chain: Để lưu một xích từ vựng. Như ta đã biết, một xích từ vựng có thể coi như một đồ thị, và để lưu đồ thị này thì trong lớp Chain ta dùng một ArrayList hai chiều để lưu đồ thị theo cấu trúc danh sách kề. Cấu trúc này có ưu điểm là dễ thay đổi kích thước, khi in ra file nhìn cũng khá trực quan. Ngoài ra để biểu diễn đồ thị người ta còn có thể sử dụng ma trận kề, tuy nhiên cách này phức tạp hơn khi muốn thêm 1 nút

Page 27: Khóa luận ĐH Công Nghệ: Tóm tắt văn bản tự động bằng xích từ vựng

vào đồ thị. Cấu trúc danh sách kề để biểu diễn một đồ thị được hiểu rõ hơn qua ví dụ sau:

Giả sử có một xích như sau:

Để lưu xích này ta dùng ArrayList 2 chiều như sau:

A B C DB A DC AD B A

Trong danh sách kề, mỗi một dòng sẽ miêu tả liên kết của nút đầu dòng đến những nút khác trong đồ thị, nút đầu dòng sẽ có liên kết tới tất cả những nút trên dòng đó. Nghĩa là trên đồ thị có bao nhiêu nút thì trong danh sách kề sẽ có bấy nhiêu dòng. Để thêm một nút vào đồ thị thì ta cần thêm một dòng vào danh sách kề với phần tử đầu tiên của dòng chính là nút đó. Vì mỗi phần tử trong xích từ vựng là một Sense nên mỗi nút trong đồ thị cũng là một Sense.

Ngoài ra lớp Chain còn có thêm một biến int scoreChain để lưu giá trị

điểm của toàn bộ xích đó. Mỗi khi thêm một từ vào xích thì điểm đó lại được cập nhật một lần. Một số phương thức thành viên của lớp Chain:

relatedScore(): Phương thức quan trọng nhất, để tính điểm quan hệ giữa hai Sense.

addMember(): Đưa thêm một Sense vào xích. Hàm này sẽ tính điểm quan hệ của Sense đang xét với từng Sense trong xích bằng hàm relatedScore(), sau đó đưa vào xích và cập nhật điểm đã tính.

toString(): Convert xích sang dạng 1 string. scoringChain(): Hàm được gọi khi diễn giải chứa xích được chọn là diễn

giải mạnh nhất. Hàm này có chức năng tính lại điểm để xét xem xích có đủ tiêu chuẩn dùng để tóm tắt hay không, chi tiết hơn sẽ được nói ở phần sau.

B

DC

A

Page 28: Khóa luận ĐH Công Nghệ: Tóm tắt văn bản tự động bằng xích từ vựng

Class Interpreter: Lớp để lưu một diễn giải. Một diễn giải bao gồm nhiều xích nên ta dùng một ArrayList để lưu những xích này. Ngoài ra có thêm một int scoreInterđể cập nhật điểm của một diễn giải, điểm của diễn giải là tổng điểm của

các xích thành viên (tổng của các scoreChain), khi thêm 1 Sense vào xích thì điểm xích được cập nhật và đồng thời điểm của diễn giải cũng được cập nhật. Một số phương thức thành viên của lớp Interpretation:

showAllChain(): Ghi vào file tất cả các xích trong diễn giải hiện tại. indexOfMaxChain(): Trả về vị trí của xích mạnh nhất. scoreCrition(): Hàm được gọi khi diễn giải được chọn, chức năng là tính

điểm tiêu chuẩn, điểm này sẽ là một ngưỡng, chỉ xích nào có scoringChain() vượt qua ngưỡng mới được dùng để tóm tắt văn bản.

main.java: Hàm main để chạy chương trình, trước khi chạy chương trình cần đảm bảo đường dẫn đến thư mục dict của WordNet là đúng, file input có tên input.txt và đặt cùng folder với chương trình. Chương trình dùng một List<Interpretation> để lưu các diễn giải, và số diễn giải lưu tối đa = MAX_INTER=10. Một số hàm trong main.java:

checkCandidate(): Xét xem một từ có phải là từ ứng cử hay không, true nếu đó là từ ứng cử, false nếu không phải từ ứng cử.

standardlize(): Chuẩn hóa từ ứng cử. Xóa bỏ tag và đưa về dạng nguyên mẫu của từ đó.

sortInter(): Sắp xếp các diễn giải theo thứ tự giảm dần. consider(): Đây là hàm quan trọng nhất, để xét xem một Sense có đưa

được vào xích nào trong các diễn giải hay không, dù có đưa được vào diễn giải nào hay không thì vẫn tạo ra diễn giải mới.

Thuật toán xây dựng xích cụ thể như sau:

Input: Văn bản gốc

Output: Văn bản đã tóm tắt

Bắt đầu:

Duyệt từng từ trong văn bản gốc w{

If(checkCandidate(w) == true){

standalize(w);

Đưa các nghĩa của w vào List<Sense>

Duyệt List<Interpretation>{

Page 29: Khóa luận ĐH Công Nghệ: Tóm tắt văn bản tự động bằng xích từ vựng

Tạo List<Interpretation> mới.

Duyệt List<Sense>{

Tạo diễn giải mới là clone của diễn giải cũ để thao tác trên diễn giải này.

Xét từng Sense xem có xích nào thích hợp không. Nếu có thì và đưa Sense vào xích thích hợp của diễn giải mới và cập nhật điểm, nếu không thì tạo xích mới chứa Sense đang xét.

Đưa diễn giải mới vào List<Interpretation> mới.

}

}

Xóa List<Interpretation> cũ.

Thay bằng List<Interpretation> mới.

Sắp xếp List<Interpretation> theo thứ tự từ cao đến thấp.

Xóa những Interpretation trong List có vị trí >= MAX_INTER.

}

}

Lấy ra Interpretation đầu tiên của List<Interpretation>, đây chính là diễn giải mạnh nhất.

Kết thúc chương trình.

Page 30: Khóa luận ĐH Công Nghệ: Tóm tắt văn bản tự động bằng xích từ vựng

3.3.4 Sử dụng xích từ vựng để tóm tắt văn bảnChúng ta đã tìm hiểu cách xây dựng xích từ vựng từ một văn bản nguồn, vấn đề

tiếp theo là làm sao để từ những xích đó ta có thể tóm tắt được văn bản. Như đã nói ở trên, sau quá trình tạo xích thì ta sẽ lấy diễn giải mạnh nhất dùng để tóm tắt, và mỗi một xích trong diễn giải này sẽ dùng để trích xuất ra một câu. Nhưng trong một diễn giải có rất nhiều xích, và đôi khi số xích còn nhiều gần bằng số câu trong văn bản, vậy nên chúng ta chỉ chọn ra những xích đủ tiêu chuẩn dùng tóm tắt mà thôi. Vấn đề đánh giá một xích có đủ tiêu chuẩn hay không không có một cách chính thức nào, vậy nênBarzilay và Elhadad (1997) đã dựa trên kinh nghiệm và đưa ra tiêu chuẩn như sau [5]:

Độ dài: Số lần xuất hiện của các thành viên của xích.

Tính đồng nhất chỉ số (Homogeneity index): 1 – số lần xuất hiện khác nhau/độdài.

Điểm cho xích:

Điểm (xích) = độ dài * HomogeneityIndex

Điểm tiêu chuẩn = Trung bình (điểm tất cả các xích) + Độ lệch tiêu chuẩn (điểm tất cả các xích)/2

Một xích đủ điều kiện thì phải có điểm lớn hơn một điểm tiêu chuẩn:

Điểm (xích) > điểm tiêu chuẩn

Lưu ý rằng điểm xích được tính trong trường hợp này có ý nghĩa khác với điểm được tính trong quá trình xây dựng xích. Điểm khi xây dựng xích mang ý nghĩa để chọn ra diễn giải mạnh nhất, còn điểm hiện tại để chọn ra những xích đủ tiêu chuẩn. Để thực hiện việc đánh giá tiêu chuẩn các xích thì trong lớp Chain đã có hàm scoringChain() được cài đặt để tính điểm cho xích đó và trong lớp Interpretation có hàm scoreCrition() để tính ra điểm tiêu chuẩn. Sau khi chạy chương trình, ngoài văn bản tóm tắt ra thì chương trình còn lưu ra file Chain.txt thông tin về từng xích trong diễn giải mạnh nhất, điểm tiêu chuẩn cũng như điểm của từng xích.

Sau khi chọn ra được những xích đủ tiêu chuẩn, ta tiến hành tóm tắt văn bản theo heuristic 2 theo phương pháp của Barzilay và Elhadad (1997), cách tóm tắt này được tác giả đánh giá là đơn giản nhưng lại cho kết quả tốt hơn so với những heuristic khác. Phương pháp được miêu tả như sau: “Mỗi xích trong tóm tắt đại diện, lựa chọn câu đầu tiên chứa sự xuất hiện thành viên của xích đại diện trong văn bản”. Như vậy, để tóm tắt văn bản, ta duyệt lại từng câu trong văn bản gốc và trích xuất ra những câu đầu tiên chứa sự xuất hiện thành viên của xích đủ tiêu chuẩn.

Page 31: Khóa luận ĐH Công Nghệ: Tóm tắt văn bản tự động bằng xích từ vựng

Tóm tắt chương 3

Trong chương 3, khóa luận đã giới thiệu chi tiết phương pháp cũng như cách thực hiện tóm tắt văn bản bằng xích từ vựng và giới thiệu về cấu trúc chương trình tóm tắt văn bản. Trong chương tiếp theo, khóa luận sẽ trình bày quá trình, kết quả thực nghiệm và đưa ra đánh giá, kết luận cũng như những điểm mạnh, điểm yếu của phương pháp.

Page 32: Khóa luận ĐH Công Nghệ: Tóm tắt văn bản tự động bằng xích từ vựng

CHƯƠNG 4: THỰC NGHIỆM VÀ ĐÁNH GIÁ

4.1 Môi trường thực nghiệm

4.1.1 Môi trường phần cứngChương trình được thử nghiệm trên PC có cấu hình như sau:

CPU: Intel Core i5 2.3Ghz Ram 4Gb Hệ điều hành: Windows 7

4.1.2 Môi trường phần mềmĐánh giá kết quả thực nghiệm bằng ROUGE do Chin-Yew Lin công bố năm 2004.

4.2 Dữ liệu thực nghiệm

Bộ dữ liệu chuẩn gồm 7 tập dữ liệu, mỗi tập bao gồm 3 file: file .abs là bản tóm tắt thủ công, file .body là văn bản gốc, file .txt là văn bản tổng hợp 2 văn bản trên.

4.3 Phương pháp đánh giá

Đánh giá kết quảtóm tắt văn bản là một việc làm khó khăn trong thời điểmhiện tại vì khó có bản tóm tắt lý tưởng và tiêu chuẩn đánh giá của mỗi người khác nhau. Việc sửdụng ý kiến đánh giá của các chuyên gia ngôn ngữ được xem là cách đánh giá tốt nhất, tuy nhiên cách làm này lại tốn rất nhiều chi phí. Bên cạnh các phương pháp đánh giá thủcông do các chuyên gia thực hiện, vấn đề đánh giá tự động kết quảtóm tắt cũng nhận được nhiều sựchú ý hiện nay.

Recall Oriented Understudy of Gisting Evaluation (ROUGE) là một phương pháp đánh giá tự động do Lin và Hovy đưa ra vào năm 2004. Phương pháp này sửdụng n-gram để đánh giá sựtương quan giữa các kết quảcủa mô hình tóm tắt và tập dữliệu đánh giá. Phương pháp này đã cho ra kết quảkhảquan và được sự đánh giá cao của cộng đồng nghiên cứu tóm tắt văn bản.

ROUGE được viết bằng ngôn ngữ PERL, đầu vào là bộ dữ liệu văn bản đã được tóm tắt, bộ dữ liệu cho chương trình tóm tắt và một file xml để config quá trình đánh giá. Cách sử dụng ROUGE như sau [7]:

Tạo 2 folder và 1 file xml: /models: folder chứa những file do người tóm tắt, có thể coi là

những file tóm tắt chuẩn. /systems: folder chứa những file tóm tắt do phần mềm cần đánh giá

tạo ra.

Page 33: Khóa luận ĐH Công Nghệ: Tóm tắt văn bản tự động bằng xích từ vựng

settings.xml: File để config quá trình đánh giá. Định dạng của những file models và systems là html, mỗi một bản tóm tắt

thì có một file html riêng và mỗi một câu thì được nằm trên một dòng. Ví dụ một bản tóm tắt có 3 câu, mỗi một câu được xác định riêng bởi một id:<html><head><title>filename_here</title></head><body bgcolor="white"><a name="1">[1]</a> <a href="#1" id=1>This unit is generally quite accurate.</a><a name="2">[2]</a> <a href="#2" id=2>Set-up and usage are considered to be very easy. </a><a name="3">[3]</a> <a href="#3" id=3>The maps can be updated, and tend to be reliable.</a></body></html>

Về file setting.xml, format có dạng như sau:

<ROUGE_EVAL version="1.0"><EVAL ID="1">--id của task đánh giá<PEER-ROOT>

-- đường dẫn đến folder /systems</PEER-ROOT><MODEL-ROOT>

-- đường dẫn đến folder /models</MODEL-ROOT><INPUT-FORMAT TYPE="SEE"></INPUT-FORMAT><PEERS><P ID= “id của file tóm tắt”>file tóm tắt trong /systems .html</P></PEERS><MODELS><M ID= “id của file tóm tắt” >file tóm tắt trong /models</M></MODELS></EVAL></ROUGE_EVAL>

Chạy ROUGE bằng cách gõ lệnh trong cmd: > ROUGE-1.5.5.pl <đường dẫn đến thư mục chứa file xml>/settings.xmlNgoài ra ROUGE còn có thêm một vài opption khác được miêu tả trong file README.txt đi kèm gói công cụ.

Page 34: Khóa luận ĐH Công Nghệ: Tóm tắt văn bản tự động bằng xích từ vựng

4.4 Đánh giá kết quả thực nghiệm

Sau khi tiến hành đánh giá tự động bằng ROUGE và bằng cách thủ công (người tự đọc và đưa ra tóm tắt) thì kết quả cho thấy phần mềm cho kết quả tóm tắt tương đối khả quan. Có thể thấy rõ hơn qua văn bản tóm tắt sau (văn bản nguồn có ở phần phụ lục):

Văn bản tóm tắt bằng cách thủ công:

Hurricane Andrew made landfall late Tuesday night some 60 miles southwest of New Orleans smashing its way through largely rural Cajun country. The hurricane landed with winds of about 120 mph, causing severe damage in small coastal centers, but sparing New Orleans. The storm lost force as it moved north over land and by yesterday afternoon was downgraded to a tropical storm with windspeeds less than 75 mph. The storm caused little damage to Louisiana's oil refining industry. A senior member of Lloyd's said yesterday insurers' losses in Florida are likely to be less than $1 billion, well below earlier predictions.

Văn bản tóm tắt bằng phần mềm:

HURRICANE Andrew, claimed to be the costliest natural disaster in US history, yesterday smashed its way through the state of Louisiana, inflicting severe damage on rural communities but narrowly missing the low-lying city of New Orleans. The storm, which brought havoc to southern Florida on Monday and then headed north-west across the Gulf of Mexico, had made landfall late on Tuesday night some 60 miles south-west of the city in the agricultural Cajun country. Although the damage from the hurricane's landfall in Florida on Monday was much greater than initially esti mated, insurers' losses there are likely to total less than Dollars 1bn, well below earlier expectations, a senior member of Lloyd's insurance market said yesterday. By yesterday afternoon, it had been down-graded to tropical storm, in that its sustained windspeeds were below 75 mph.

Kết quả đánh giá tóm tắt bằng ROUGE cho 7 văn bản thử nghiệm, kết quả cao hơn khi so sánh kết quả đánh giá với tóm tắt văn bản tự động bằng MSWord 2007 (tỉ lệ nén 10%):

Page 35: Khóa luận ĐH Công Nghệ: Tóm tắt văn bản tự động bằng xích từ vựng

Độ đo Phần mềm hiện tại MS Word 2007

Recall 0.17061-0.28919 0.02621 – 0.05431

Recall trung bình 0.22470 0.03953

Precision 0.09469-0.22759 0.04662 – 0.16734

Presision trung bình 0.15131 0.10235

f-measure 0.12068-0.19698 0.03206 – 0.06415

f-measure trung bình 0.15976 0.04714

Tuy nhiên nhìn chung các điểm recall, precision theo đánh giá của ROUGE là khá thấp, điều này có thể do quá trình chọn từ ứng cử không tính đến việc chọn cụm danh từ mà chỉ chọn danh từ đơn nên xích xây dựng lên sẽ chưa thực sự đại diện cho văn bản. Mặt khác ROUGE đánh giá dựa trên sự so sánh giữa 2 văn bản: một do người tóm tắt và một là do máy tóm tắt, mà văn bản do người tóm tắt dựa trên ý hiểu, còn văn bản do máy tóm tắt trích xuất cả câu nên vẫn có lượng thông tin thừa được đưa vào, dẫn đến khi so sánh 2 văn bản này ROUGE sẽ thấy sự khác nhau tương đối lớn.

Page 36: Khóa luận ĐH Công Nghệ: Tóm tắt văn bản tự động bằng xích từ vựng

Kết luận

Bước đầu thử nghiệm cho thấy chương trình tóm tắt văn bản bằng xích từ vựng cho kết quả khá khả quan. Tuy nhiên vẫn có một số nhược điểm:

Không xác định được tỉ lệ tóm tắt mong muốn. Phương pháp chưa tính đến việc sử dụng tiêu đề văn bản để việc tóm tắt

được chính xác hơn vì tiêu đề văn bản thườn xác định đề chủ đề chính của văn bản.

Chưa tóm tắt được văn bản tiếng Việt do chưa có WordNet tiếng Việt, nếu có WordNet tiếng Việt và có API để thao tác trên cơ sở dữ liệu đó như JWI thì việc tóm tắt văn bản tiếng Việt trở lên khá dễ dàng.

Vì là tóm tắt trích rút câu nên bản tóm tắt vẫn chưa thật cô đọng súc tích.

Hướng nghiên cứu trong tương lai, em sẽ tìm hiểu để khắc phục những nhược điểm nêu trên và nghiên cứu thêm những phương pháp tóm tắt văn bản khác để thấy rõ được ưu nhược điểm của từng phương pháp, từ đó có thể nâng cao hơn khả năng tóm tắt văn bản.

Page 37: Khóa luận ĐH Công Nghệ: Tóm tắt văn bản tự động bằng xích từ vựng

PHỤ LỤC

A. Văn bản gốc cho ví dụ tóm tắt văn bản

HURRICANE Andrew, claimed to be the costliest natural disaster in UShistory, yesterday smashed its way through the state of Louisiana,inflicting severe damage on rural communities but narrowly missing thelow-lying city of New Orleans.The storm, which brought havoc to southern Florida on Monday and then headednorth-west across the Gulf of Mexico, had made landfall late on Tuesdaynight some 60 miles south-west of the city in the agricultural Cajuncountry.Although the damage from the hurricane's landfall in Florida on Monday wasmuch greater than initially esti mated, insurers' losses there are likely tototal less than Dollars 1bn, well below earlier expectations, a seniormember of Lloyd's insurance market said yesterday.In Louisiana, the hurricane landed with wind speeds of about 120 miles perhour and caused severe damage in small coastal centres such as Morgan City,Franklin and New Iberia. Associated tornadoes devastated Laplace, 20 mileswest of New Orleans.Then, however, Andrew lost force as it moved north over land. By yesterdayafternoon, it had been down-graded to tropical storm, in that its sustainedwindspeeds were below 75 mph.Initial reports said at least one person had died, 75 been injured andthousands made homeless along the Louisiana coast, after 14 confirmed deathsin Florida and three in the Bahamas.The storm caused little damage to Louisiana's important oil-refiningindustry, although some plants had to halt production when electricity wascut.The Lloyd's member, in close contact with leading insurers in Florida, saidthat damage to insured property was remarkably small. More than Dollars 15bnof damage may have been caused in all, but was mostly to uninsured property,he said.In north Miami, damage is minimal. Worst affected is one hotel, whosebasement was flooded. Most of the destruction occurred in a 10-mile bandacross Homestead, 25 miles to the south of Miami, where a typical housesells for Dollars 100,000 to Dollars 150,000. US insurers will face a billin respect of such properties, but Lloyd's exposure there is minimal.Many destroyed power lines are thought to be uninsured, as are trees andshrubs uprooted across a wide area. Only one big hotel in that area has beenbadly damaged, a Holiday Inn.

Page 38: Khóa luận ĐH Công Nghệ: Tóm tắt văn bản tự động bằng xích từ vựng

Across Florida, some 2m people remained without electric ity yesterday andhealth officials were warning the public to boil or chemically treat allwater.Hurricane Hugo, which devastated much of South Carolina in 1989, cost theinsurance industry some Dollars 4.2bn. Further uninsured losses may haveraised the total to Dollars 6bn-Dollars 10bn.

B. Ảnh chụp kết quả đánh giá chương trình tóm tắt văn bản (lệnh 1) và tóm tắt văn bản bằng MS Word 2007 (lệnh 2):

Page 39: Khóa luận ĐH Công Nghệ: Tóm tắt văn bản tự động bằng xích từ vựng

TÀI LIỆU THAM KHẢO

Tiếng Việt

[1]Nguyễn Chánh Thành, Xây dựng mô hình mởrộng truy vấn trong truy xuất thông tin văn bản, Luận án tiến sĩ, Trường đại học bách khoa TPHCM – ĐHQGTPHCM, 2010, tr. 39 – 44, phụ lục a.

[2] Nguyễn Minh Thành, Tóm tắt văn bản tự động – Tổng quan & Hiện trạng, Tổng hợp báo cáo, trường ĐH Khoa học Tự nhiên – ĐHQGTPHCM, 2011, tr. 1-10.

[3] Trần Mai Vũ, Tóm tắt đa văn bản dựa vào trích xuất câu, Luận văn thạc sĩ, trường ĐH Công Nghệ - ĐHQGHN, 2009, tr. 15-16.

Tiếng Anh

[3] Debraj Manna, Gettting started with JWI & JWKTL, Indian Institute of Technology Bombay, 2009,pp. 2-6.

[4] Regina Barzilay, Lexical Chains for Summarization, Ben Gurion University Israel, 1997.

[5] Regina Barzilayand Michael Elhadad, Using Lexical Chains for Text Summarization, BenGurionUniversity Israel, 1998

[6]Mark A. Finlayson, MIT Java Wordnet Interface (JWI) User's Guide, Massachusetts Institute of Technology, 2011.

[7] Kavita Ganesan, Basics of Setting up ROUGE Toolkit for Evaluation of Summarization Tasks: http://kavita-ganesan.com/rouge-howto

[8]Penn Treebank Tagset:http://www.computing.dcu.ie/~acahill/tagset.html

[9] Galal Aly, Tagging text with Stanford POS Tagger in Java Applications: http://www.galalaly.me/index.php/2011/05/tagging-text-with-stanford-pos-tagger-in-java-applications/

[10] JWI Homepage: http://www.projects.csail.mit.edu/jwi

[11] WordNet Homepage: http://www.wordnet.princeton.edu/wordnet/

[12] ROUGE Homepage: http://www.berouge.com