Tải bản đầy đủ (.pdf) (38 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.35 MB, 38 trang )





ĐẠ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










HÀ NỘI - 2012





ĐẠ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


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







HÀ NỘI - 2012




VIETNAMNATIONALUNIVERSITY, HANOI

UNIVERSITY OF ENGINEERING AND TECHNOLOGY


Nguyen Viet Anh

USING LEXICAL CHAINS
FOR TEXT SUMMARIZATION




Major: Information Technology

Supervisor: PhD Nguyen Phuong Thai









HANOI - 2012


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

1

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.


2

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

3

MỤC LỤ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
4

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.



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

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

6

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)
7


Ý 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
8


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. F
1
…F
k
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:



  



 

   

 






       










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)
9


 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.
 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
10

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.
 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.
11

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:
12

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:
















Mỗi 1 xích trích xuất 1
câu trong văn bản nguồn
Output.txt
Diễn giải mạnh
nhất (gồm
nhiều xích)
Xây dựng xích từ vựng
WordNet
Chain.txt
Part-Of-Speech Tagging
Văn bản
nguồn
input.txt
Tagged.txt
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
13


3.2 Từ điển WordNet
3.2.1 Giới thiệu
WordNet 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:
14

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
15


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
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ữ Java
Tạ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 ( để 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
16
















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.
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"
17

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


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
18

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 ( 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ựng
Có 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.

19












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.












Mr.
Person
{Mr., Mr, mister}

{person,
individual,
someone,
somebody, mortal,
soul }
Mr.
Person
{Mr., Mr, mister}
{person} (a
human body
)
Diễn giải 1
Diễn giải 2
Hình 6: Xích sau khi xét từ person
Mr.
Person
{Mr., Mr, mister}
{person, individual,
…}
machine
{machine} (an
efficient person)
Mr.
Person
{Mr., Mr,
mister}
{person} (a
human body)
machine
machine

2
, …
machine
6

Diễn giải 1
Hình 7a: Xích sau khi xét từ machine
Diễn giải 2
20














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:












Diễn giải 3
Mr.
Person
{Mr., Mr,
mister}
{person,
individual, …}
machine
machine
2
, …
machine
6


Diễn giải 4
Hình 7b: Xích sau khi xét từ machine
Mr.
Person
{Mr., Mr,
mister}
machine
{machine} (an
efficient person)

{person} (a
human body
)
Hình 8: Diễn giải mạnh nhất
Person
Mr.
Machine
Pump
Device
Microcomputer
{Mr., mr,
mister}
{person,
invidual,
someone
…}
machine
4
{PC,
microcomputer,
…}
device
2
pump
3
21

Để 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

×