Tải bản đầy đủ (.doc) (79 trang)

ĐỒ án tốt NGHIỆP đại học NGHIÊN cứu, xây DỰNG CHƯƠNG TRÌNH tự ĐỘNG tóm tắt văn bản

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 (805.36 KB, 79 trang )

LỜI CẢM ƠN
Người đầu tiên tôi muốn gửi lời cảm ơn là thầy giáo hướng dẫn của
tôi, Thầy giáo. Thầy đã gợi mở cho tôi những ý tưởng mới, hướng
nghiên cứu thích hợp, luôn sẵn sàng giúp khi tôi cần sự giúp đỡ và đặc
biệt là luôn luôn động viên để tôi tin rằng mình sẽ thành công. Làm
việc với thầy tôi đã học hỏi được phương pháp nghiên cứu khoa học,
cách tiếp cận và giải quyết với những vấn đề mới và hơn hết là một
cách làm việc nghiêm túc và khoa học.
Tôi muốn gửi lời cảm ơn tới các thầy cô trong khoa Công nghệ
Thông đã giúp đỡ, chỉ bảo tôi trong suốt quá trình học tập tại trường
cũng như làm đồ án tốt nghiệp.
Tôi muốn gửi lời cảm ơn tới các anh, chị tại công ty tôi thực tập –
công ty Cổ phần Dịch vụ Công nghệ Thông tin NaiSCorp. Mọi người ở
công ty đã tạo điều kiện, giúp đỡ tôi trong suốt quá trình thực tập cũng
như làm đồ án tốt nghiệp, phòng Ngôn Ngữ đã giúp tôi trong việc đánh
giá chất lượng bản tóm tắt.
Cuối cùng, tôi muốn gửi lời cảm ơn tới những người thân và bạn bè
của tôi – những người đã luôn động viên tôi trong suốt quá trình học tập
cũng như làm đồ án tốt nghiệp.
1
TÓM TẮT NỘI DUNG
Tự động tóm tắt văn bản là tự động xác định những nội dung quan
trọng nhất trong một (một số) tài liệu (cùng loại). Đây là một bài toán rất
khó, liên quan đến nhiều lĩnh vực khoa học như: trí tuệ nhân tạo, thống
kê, ngôn ngữ học, Bài toán này đã được các nhà nghiên cứu trên thế
giới tìm hiểu từ những năm 1950, kết quả của những nghiên cứu đó là
một số hệ thống tự động tóm tắt văn bản đã được công bố và cho chất
lượng khá tốt như SUMMARIST, SweSUM, MEAD, Tuy nhiên, các
nghiên cứu và các hệ thống đó chỉ áp dụng cho một số ngôn ngữ như:
Tiếng Anh, Tiếng Pháp, Tiếng Nhật,… Mặc dù đã được nghiên cứu
nhiều, thu được nhiều thành công nhưng bài toán này vẫn là một thách


thức và đang thu hút nhiều sự quan tâm nghiên cứu trên thế giới. Bài
toán này sẽ phức tạp hơn rất nhiều với một số ngôn ngữ khác, chẳng hạn
như tiếng Việt là bởi vì cấu trúc từ vựng, ngữ pháp của tiếng Việt là rất
phức tạp. Bên cạnh đó, với tiếng Việt, do chưa có nhiều nghiên cứu nên
thiếu một bộ dữ liệu, một bộ từ điển ngữ nghĩa đầy đủ.
Mục tiêu chủ yếu trong nghiên cứu này là nghiên cứu các kỹ thuật
tự động tóm tắt văn bản trên thế giới. Sau đó sẽ lựa chọn một số phương
pháp và áp dụng vào giải quyết bài toán tự động tóm tắt văn bản cho
tiếng Việt. Để áp dụng vào tiếng Việt, chúng tôi thực hiện thêm nhiệm
vụ trích rút từ đơn, từ kép (text segmentation). Kết quả các phương pháp
sẽ được so sánh, đánh giá với nhau để rút ra phương pháp hiệu quả nhất.
Trong nghiên cứu này, chúng tôi thực hiện tóm tắt đơn văn bản
tiếng Việt, phương pháp là trích rút các câu quan trọng nhất trong văn
bản, loại văn bản chúng tôi chọn là thể loại báo tin tức. Ngoài ra, chúng
tôi còn xây dựng một module thực hiện việc tự động sinh dữ liệu huấn
luyện nhằm phục vụ cho quá trình huấn luyện, đánh giá kết quả chương
trình tự động tóm tắt văn bản.
2
MỤC LỤC
LỜI CẢM ƠN 1
TÓM TẮT NỘI DUNG 2
1.1.Phát biểu bài toán 10
1.1.1.Khái niệm chung 10
1.1.2.Phân loại 11
1.1.3.Các tiêu chí đánh giá 15
1.1.4.Giới hạn đề tài 15
1.2.Kết quả đạt được 16
1.3.Bố cục đồ án 16
2.1.Mô hình ngôn ngữ thống kê N-Gram 19
2.2.Mô hình Markov ẩn 21

2.2.1.Quá trình Markov rời rạc 21
2.2.2.Mô hình Markov ẩn 23
2.2.3.Ba bài toán cơ bản được giải quyết bởi HMM 24
2.3.Mô hình Maximum Entropy 25
2.3.1.Lý thuyết Entropy 26
2.3.2.Mô hình học Maximum Entropy 27
3.1.Mô hình bài toán 31
3.1.1.Tiền xử lý 32
3.1.1.1.Loại bỏ từ dừng (stop-word) 33
3.1.1.2.Stemming 34
3.1.1.3.Case folding 35
3.1.2.Biểu diễn văn bản trên máy tính 35
3.1.2.1.Mô hình Boolean 35
3.1.2.2.Mô hình không gian Vector 36
3.1.3.Trích rút các câu từ văn bản gốc 37
3.1.4.Tạo bản tóm tắt 38
3
3.2.Tổng quan các phương pháp tự động tóm tắt văn bản 38
3.2.1.Các phương pháp heuristic 39
3.2.1.1.Phương pháp Keyword (Luhn 1958) 39
3.2.1.2.Phương pháp Title (Edmunson 1969) 40
3.2.1.3.Phương pháp Location (Edmunson 1969) 40
3.2.1.4.Phương pháp Aggregation Similarity 41
3.2.1.5.Phương pháp Cue 41
3.2.2.Phương pháp thống kê (Statistical based approach) 41
3.2.3.Phương pháp học máy 42
3.2.4.Phương pháp kết hợp (Hybrid approach) 43
4.1.Trích rút từ đơn, từ ghép sử dụng mô hình thống kê N-gram 44
4.2.Sinh dữ liệu huấn luyện 46
4.2.1.Sinh dữ liệu huấn luyện sử dụng phương pháp thống kê 46

4.2.2.Sinh dữ liệu huấn luyện sử dụng mô hình Markov ẩn 49
4.2.2.1.Mô hình bài toán 49
4.2.2.2.Các luật heuristic 51
4.2.2.3.Thuật toán Viterbi 53
4.2.3.Đánh giá và so sánh hai phương pháp trên 54
4.3.Tự động tóm tắt văn bản 56
4.3.1.Tự động tóm tắt văn bản sử dụng độ đo TF-IDF 56
4.3.1.1.Độ đo TF-IDF 56
4.3.1.2.Ý tưởng 57
4.3.1.3.Thuật toán 58
4.3.1.4.Nhận xét 60
4.3.2.Kết hợp một số phương pháp heuristics 60
4.3.2.1.Thuật toán 61
4.3.2.2.Nhận xét 64
4.3.3.Phương pháp học máy thống kê MEM 65
4.4.Đánh giá bản tóm tắt 66
4
4.4.1.Độ chính xác (percision) và độ hồi tưởng (Recall) 66
4.4.2.Phương pháp đánh giá độ tương tự về nội dung 67
5.1.Sơ đồ hệ thống 69
5.2.Giới thiệu hệ thống 69
5.3.Tập dữ liệu 71
5.4.Đánh giá quả giữa các phương pháp khác nhau 72
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 75
5
Danh Sách Hình
6
Danh Sách Bảng
Bảng 4. 1. Bảng các luật Heuristics 52
Bảng 4. 2. Kết quả thử nghiệm mô hình thống kê mà Markov ẩn 55

7
Chương I: Giới thiệu
Trong những năm gần đây, chúng ta đang được chứng kiến sự phát
triển như vũ bão của World-Wide-Web. Theo thống kê của Lyman &
Varian năm 2003 có khoảng 4 tỷ trang web đã được indexed bởi
Google, khoảng 200TB dữ liệu trên Web [28] Và theo số liệu năm 2007
thì số website được indexed bởi Google đã lên tới 10 tỷ. Trước sự phát
triển đó thì một vấn đề đặt ra là làm thế nào con người có thể sử dụng
một cách hiệu quả lượng thông tin khổng lồ đó trên Internet? Đã có rất
nhiều nghiên cứu trên thế giới nhằm giải quyết bài toán này và đã thu
được những kết quả hết sức khả quan. Các nghiên cứu có thể kể đến là:
Hệ thống tổ chức, tìm kiếm thông tin (Information Retrieval – IR), gom
cụm dữ liệu, trích rút thông tin, trả lời câu hỏi, tóm tắt văn bản…[28]
Trong đó tự động tóm tắt văn bản là công cụ rất quan trọng, nó giúp
người sử dụng giảm được thời gian xử lý và nhanh chóng có được thông
tin cần thiết.
Ngày nay, các công cụ tìm kiếm trên Internet đã rất phát triển, hỗ
trợ đắc lực người sử dụng tìm kiếm những thông tin cần thiết. Một số
công cụ tìm kiếm có thể kể đến như: Google.com, Yahoo.com… và ở
Việt Nam có socbay.com.vn, timnhanh.com… Tất cả các công cụ tìm
kiếm này đều thực hiện tìm kiếm dựa trên từ khóa và kết quả trả về có
thể hàng nghìn, hàng vài trăm nghìn kết quả. Chính lượng kết quả trả
nhiều như vậy có thể làm người sử dụng bị choáng ngợp, không biết
nên chọn kết quả nào. Do đó, một công việc hết sức cần thiết là giúp
người sử dụng sàng lọc được lượng thông tin khổng lồ đó và nhanh
chóng chọn được tài liệu thích hợp nhất. Chúng ta thử tưởng tượng, với
mỗi kết quả tìm kiếm được có một bản tóm tắt ngắn gọn những nội
dung chính hoặc các kết quả trả về được chia thành các nhóm tài liệu
khác nhau, với mỗi nhóm có một bản tóm tắt nội dung của nó. Như vậy,
8

thay vì đọc cả tài liệu, người sử dụng chỉ cần đọc bản tóm tắt của nó.
Có thể nói, đây là một cách rất tốt giúp người đọc nhanh chóng xác
định xem tài liệu đó có phù hợp hay không.
Thông thường, các bản tóm tắt được tạo bởi chính tác giả hoặc một
chuyên gia tóm tắt văn bản. Khi một chuyên gia thực hiện tóm tắt một
văn bản thì họ thường phải đọc hiểu hết tài liệu đó (vì thế phải có đủ
kiến thức về lĩnh vực đó) sau đó mới tạo ra bản tóm tắt. Với bản tóm tắt
như vậy sẽ bảo đảm tính mạch lạc của văn bản, tuy nhiên nó lại mang
tính chủ quan và phụ thuộc vào khả năng của người tóm tắt.
Với sự tiến bộ của của công nghệ thông tin, người ta đã thực hiện
các nghiên cứu để có thể tự động tạo ra các bản tóm tắt ngắn gọn, đủ ý,
súc tích và đặc biệt là trung thành với tác giả. Tuy nhiên, với bản tóm
tắt tự động thì sẽ không được mạch lạc như bản tóm tắt của con người.
Ngày nay, rất nhiều ứng dụng của tự động tóm tắt văn bản đang
được sử dụng trong thực tiễn, chẳng hạn như Search Engine Hits (tóm
tắt các kết quả trả về từ Search Engine), trên các thiết bị cầm tay
(Hand-Held Devices), và tạo Headline trên ti vi [22].[13]
Các nghiên cứu về bài toán này được bắt đầu từ những năm 1950
và nó đặc biệt được chú ý tới trong khoảng 20 năm trở lại đây. Ở nước
ta việc nghiên cứu bài toán này cũng đang nhận được sự quan tâm đặc
biệt của giới nghiên cứu [3]., tuy nhiên vẫn chưa có một hệ thống tự
động tóm tắt văn bản tiếng Việt nào được công bố.
Trước ý nghĩa to lớn và thực trạng của việc nghiên cứu bài toán tự
động tóm tắt văn bản đó, chúng tôi quyết định chọn đề tài này. Mục
tiêu của chúng tôi là nghiên cứu các kỹ thuật tóm tắt văn bản trên thế
giới sau đó áp dụng vào tiếng Việt của chúng ta, xây dựng một hệ
thống tự động tóm tắt tin tức tiếng Việt.
9
1.1. Phát biểu bài toán
1.1.1. Khái niệm chung

Có rất nhiều khái niệm về tự động tóm tắt văn bản, tuy nhiên chúng
ta có thể hiểu như sau: Tự động tóm tắt văn bản là tự động tạo ra một
văn bản mới ngắn gọn nhưng chứa nội dung chính của một (hay một
vài) tài liệu (cùng loại) [30] Kích thước của bản tóm tắt được giới hạn
là không dài quá ½ kích thước của tài liệu gốc [8].[27]
Bài toán tự động tóm tắt văn bản là một bài toán phức tạp vì nó
liên quan đến rất nhiều lĩnh vực như: thống kê, ngôn ngữ học, trí tuệ
nhân tạo (làm thế nào để máy tính có thể hiểu được ngôn ngữ tự nhiên
như con người). Ngoài ra nó còn phụ thuộc vào đặc thù của từng ngôn
ngữ. Song đây là một bài toán có ý nghĩa thực tế rất cao đặc biệt trong
bối cảnh hiện nay, trước một lượng thông tin khổng lồ trên Internet, mà
chủ yếu ở dạng text. Một trong những ứng dụng có ý nghĩa hết sức quan
trọng của bài toán này là ứng dụng trong lĩnh vực quốc phòng an ninh.
Như chúng ta đã biết, Internet phát triển đem đến cho loài người rất
nhiều sự tiện lợi, tuy nhiên sẽ có những mặt trái của nó, sẽ có những cá
nhân hoặc tổ chức lợi dụng Internet để phát tán các thông tin không
chính xác, phản động. Việc xác định những thông tin nào là có lợi,
thông tin nào là không chính xác đòi hỏi phải có một đội ngũ nhân viên
xử lý các văn bản. Với sự phát triển của Internet, lượng văn bản được
cập nhật lên mạng là vô cùng lớn và nhanh chóng, điều đó dẫn tới vấn
đề là liệu các nhân viên chuyên xử lý văn bản đó có xử lý kịp thời
không? Chắc chắn là khó có thể xử lý kịp. Do đó, cần phải có các phần
mềm trích rút thông tin, gom cụm dữ liệu, tóm tắt văn bản để giúp các
nhân viên xử lý văn bản giảm thời gian tìm kiếm, xử lý, phân loại văn
bản.
10
Chính vì những ý nghĩa hết sức to lớn của bài toán tự động tóm tắt
văn bản nên hiện nay nó vẫn được giới học thuật trong và ngoài nước
tiếp tục nghiên cứu. Đặc biệt khi mà vẫn chưa có một phần mềm nào
thực hiện tự động tóm tắt văn bản tiếng Việt thì đề tài này sẽ hứa hẹn

nhiều sự quan tâm trong thời gian tới.
Sự phát triển của các kỹ thuật tự động tóm tắt văn bản được tóm
tắt qua các giai đoạn sau [30].:
- Từ năm 1950 đến những năm 1970 sử dụng kỹ thuật thống kê
- Những năm 1980 sử dụng kỹ thuật của trí tuệ nhân tạo
- Những năm 1990 sử dụng kết hợp các phương pháp
- Những năm 2000 là sự phát triển của các kỹ thuật để thực hiện
tóm tắt đa văn bản.
1.1.2. Phân loại
Bài toán tự động tóm tắt văn bản có thể được chia thành nhiều loại
tùy theo các tiêu chí khác nhau [30] Với mỗi loại sẽ có những đặc điểm
khác nhau nên cần có phương pháp giải quyết khác nhau. Sau đây
chúng tôi sẽ nêu ra một số lớp bài toán con chủ yếu của bài toán này.
 Tóm tắt đơn văn bản và tóm tắt đa văn bản
Tóm tắt đơn văn bản là tạo bản tóm tắt chỉ từ một văn bản đầu vào,
trong khi đó tóm tắt đa văn bản là tạo ra bản tóm tắt từ nhiều văn bản
đầu vào cùng loại [19].[27] Bài toán tự động tóm tắt đơn văn bản lại có
thể được chia thành hai loại chính đó là tóm tắt dựa vào trích rút
(extraction) và tóm tắt dựa vào tóm lược (abstraction).
Ý tưởng chính của việc tóm tắt đơn văn bản dựa vào trích rút là sử
dụng một tập các đặc trưng câu (đoạn) xác định, dựa vào các đặc trưng
đó để tính trọng số cho các câu (đoạn), sau đó sẽ thực hiện chuẩn hóa
các trọng số đó, cuối cùng là trích rút ra các câu có trọng số cao nhất –
11
cũng là những câu quan trọng nhất. Các đặc trưng thường được sử dụng
đó là vị trí câu (đoạn) trong văn bản (Edmundson 1969), tần số từ và
cụm từ (Luhn 1958), các cụm từ khóa (ví dụ: “it is important to note”)
(Edmundson 1969). Các kỹ thuật trích rút ngày càng được phát triển
tinh vi hơn, chẳng hạn như áp dụng các phương pháp học máy để xác
định xem câu nào nên được trích chọn. Một số kỹ thuật học máy được

áp dụng là: Kupiec, Pedersen, and Chen (1995) đã sử dụng mạng
Bayesian để thực hiện tóm tắt các báo cáo khoa học; Aone et al (1999)
và Lin (1999) đã thử nghiệm các phương pháp học máy khác nhau và so
sánh kết quả của chúng với nhau;… Ngoài ra có một số các nghiên cứu
khác lại dựa vào ngôn ngữ học [27]
Các kỹ thuật tóm tắt đơn văn bản không phải trích rút thì được xếp
vào loại tóm lược. Witbrock và Mittal (1999) thực hiện chọn ra một tập
các từ (word) từ tài liệu gốc, sau đó tổ chức các từ này thành các câu sử
dụng mô hình ngôn ngữ n-gram. Jing và McKeown (1999) thực hiện kỹ
thuật “cut and paste” các đoạn trong tài liệu gốc, sau đó sẽ kết hợp các
đoạn đã trích rút được để tạo bản tóm tắt. Ngoài ra một phương pháp
khác là từ các câu đã trích rút, sẽ thực hiện cắt bỏ phần dư thừa của mỗi
câu, sau đó bản tóm tắt được sinh ra bằng cách hoặc là sử dụng các câu
đã được tối giản hoặc kết hợp một số câu tối giản thành câu mới. Một
nghiên cứu theo hướng này đó là của Knight và Macru (2000) [27]
Bài toán tóm tắt đa văn bản là bài toán mới được nghiên cứu
khoảng từ năm 2000 trở lại đây. Bài toán có thể được phát biểu như
sau: Tự động tóm tắt đa văn bản là tự động tạo ra bản tóm tắt nội dung
chính từ một số văn bản cùng loại (cùng chủ đề). Đây là bài toán rất
hay, rất có ý nghĩa trong thực tế. Chẳng hạn như, sau khi thực hiện các
kỹ thuật tự động phân loại, gom cụm kết quả tìm kiếm từ search engine,
12
một chương trình tự động tóm tắt nội dung các tài liệu trong mỗi cụm,
hoặc một hệ thống tổng hợp tin tức từ các trang web tin tức khác nhau.
Bài toán tự động tóm tắt đa văn bản có ba vấn đề chính cần được
giải quyết đó là [14].: một là, nhận ra các thông tin dưa thừa; hai là số
lượng văn bản đầu vào và kích thước bản tóm tắt; ba là bản tóm tắt phải
bảo đảm tính mạch lạc. Đây thật sự là ba thách thức lớn bởi vì:
- Với vấn đề thứ nhất: Vì các văn bản đầu vào là cùng loại (cùng
chủ đề) nên nó sẽ chứa những câu quan trọng ở các văn bản khác

nhau nhưng có nội dung tương tự nhau. Các câu này lại có thể
được tạo bởi các cách sử dụng từ ngữ khác nhau. Vấn đề đặt ra là
làm thế nào để biết được hai câu đó có nội dung tương tự nhau. Để
giải quyết vấn đề này, một loạt các độ đo đã được sử dụng, một
phương pháp phổ biến được đề xuất bởi McKeown et al (1999);
Radev, Jing và Budzikowska (2000); Macru và Gerber (2001) là
đo sự liên quan giữa các cặp câu được trích rút từ mỗi tài liệu, sau
đó sử dụng kỹ thuật gom cụm để nhận ra chủ đề của các thông tin
chung.
- Với vấn đề thứ hai: Khi mà số lượng văn bản đầu vào càng lớn
thì bộ nhớ sử dụng càng nhiều, tốc độ thực hiện sẽ giảm. Điều
quan trọng nữa là bản tóm tắt với kích thước bao nhiêu là đủ
(chứa được nội dung chính của các văn bản)?
- Với vấn đề thứ ba: Việc tạo bản tóm tắt mạch lạc là một vấn đề
khó vì nó liên quan đến một vấn đề rất khó là hiểu ngôn ngữ tự
nhiên.
 Tóm tắt bằng trích rút (extraction) và tóm lược (abstraction)
Tóm tắt bằng trích rút (extract) là tạo bản tóm tắt từ các đơn vị dữ
liệu (một cụm từ, một câu, một đoạn…) trong tài liệu gốc. Sau đó
chúng ta tổ chức lại các đơn vị dữ liệu đã trích rút để tạo thành bản tóm
tắt. Nếu đơn vị dữ liệu là các câu thì việc tổ chức các câu này có thể
13
theo thứ tự các câu đó trong tài liệu gốc, câu nào xuất hiện trước thì đặt
trước, câu nào xuất hiện sau thì đặt sau. Hoặc có thể tổ chức các câu
theo mức độ quan trọng (trọng số) của các câu đó.
Tóm lược (Abstraction) là tạo ra bản tóm tắt mà chứa một số đơn
vị dữ liệu không có trong tài liệu gốc.
Như vậy, tóm tắt văn bản bằng cách tóm lược thì sẽ rất khó bởi vì
nó liên quan đến một lĩnh vực rất khó của xử lý ngôn ngữ tự nhiên đó là
tự động sinh văn bản (text generation). Nếu thực hiện tốt thì cho ta kết

quả tóm tắt tốt hơn, lời văn sẽ muợt mà hơn. Tuy nhiên, nếu làm không
tốt thì câu văn sẽ rất lủng củng. Cách thực hiện dễ hơn là trích rút, với
cách thực hiện này có thể tạo ra bản tóm tắt bằng các kết nối các đơn vị
trích rút được. Điều này có thể dẫn tới lời văn không được mượt mà.
Chúng ta cần phải có các kỹ thuật để làm trơn (smoothing) để tạo bản
tóm tắt được mạch lạc, dễ hiểu.
 Tóm tắt chỉ định và tóm tắt thông tin
Tóm tắt chỉ định là tạo ra bản tóm tắt với mục đích giúp người sử
dụng quyết định có nên đọc tài liệu đó không [30].? Dạng tóm tắt này
được ứng dụng trong các hệ thống tìm kiếm thông tin (google,
yahoo…).
Còn tóm tắt thông tin là tạo ra bản tóm tắt chứa đầy đủ những
những nội dung chính của tài liệu, nó có thể được dùng để thay thế tài
liệu gốc. Dạng tóm tắt này thường được ứng dụng để trợ giúp các
chuyên viên xử lý văn bản, giúp họ giảm thời gian xử lý một khối lượng
văn bản lớn.
14
1.1.3. Các tiêu chí đánh giá
Đi kèm với việc tóm tắt văn bản thì việc đánh giá chất lượng của
bản tóm tắt cũng là một vấn đề cần phải được nghiên cứu. Để đánh giá
chất lượng một bản tóm tắt người ta thường dựa vào các tiêu chí sau:
 Độ rút gọn: Là tỷ lệ giữa kích thước bản tóm tắt trên kích thước
tài liệu gốc. Kích thước của tài liệu có thể đo bằng số câu, số từ,
số ký tự,…
 Độ chính xác: Thể hiện xem bản tóm tắt có thể hiện chính xác
nội dung chính của tài liệu gốc hay không
 Độ liên kết: Là thể hiện xem bản tóm tắt có “trơn” hay không?
Nghĩa là bản tóm tắt phải bảo đảm về mặt văn học, nó phải liền
mạch, không rời rạc, lủng củng.
1.1.4. Giới hạn đề tài

Như chúng ta đã biết, tài liệu dạng văn bản gồm rất nhiều thể loại
như: truyện ngắn, thơ, phỏng vấn, bài báo tin tức, bài báo khoa học,…
Mỗi một thể loại có phong cách trình bày riêng. Chẳng hạn như truyện
ngắn thì thường trình bày theo cách dẫn dắt nội dung từ những nội dung
đơn lẻ đến nội dung khái quát hơn; các bài báo khoa học thì lại được
trình bày theo cách diễn giải (nêu nội dung chính trước rồi mới đến các
nội dung đơn lẻ); các bài báo tin tức thì các nội dung chính thường xuất
hiện ở đầu hoặc cuối mỗi bài báo, mỗi đoạn của bài báo. Chính từ
những đặc điểm đó cho thấy rằng sẽ khó có một hệ thống tự động tóm
tắt văn bản nào mà có thể thực hiện tốt cho tất cả các thể loại. Các hệ
thống tự động tóm tắt văn bản thường chỉ áp dụng cho một thể thể loại
tài liệu cụ thể nào đó.
Trong đề tài này chúng tôi tập trung nghiên cứu tự động tóm tắt
đơn văn bản tiếng Việt dựa vào trích rút câu, thể loại văn bản được
15
chọn là các bài báo tin tức. Lý do chọn các bài báo tin tức là: Thứ nhất,
các bài báo tin tức là sẵn có trên mạng Internet. Đây là một điểm rất
quan trọng bởi vì việc thu thập một số lượng lớn văn bản về một thể
loại cụ thể nào đó không phải là vấn đề đơn giản; thứ hai, việc tóm tắt
các bài báo tin tức có ý nghĩa thực tế rất cao, giúp người đọc tiết kiệm
được thời gian mà vẫn có được những thông tin cần thiết, ngoài ra
chúng ta có thể sử dụng kết quả tóm tắt để tiến hành tổng hợp, phân
cụm các bài báo tin tức từ các trang web tin tức khác nhau, đặc biệt nó
trợ giúp cho chính người viết báo, người biên tập báo…
1.2. Kết quả đạt được
Như đã trình bày ở trên, tự động tóm tắt văn bản là một bài toán
phức tạp. Tuy nhiên, trong một thời gian nghiên cứu không dài chúng
tôi cũng đã thu được những kết quả nhất định. Những kết quả chúng tôi
đã đạt được gồm có:
 Thu thập được bộ dữ liệu gồm các bài báo tin tức tiếng Việt đủ

lớn.
 Xây dựng Module thực hiện sinh dữ liệu tự động phục vụ cho quá
trình huấn luyện, kiểm thử và đánh giá kết quả.
 Cài đặt 3 phương pháp khác nhau tự động tóm tắt văn bản: TF-
IDF, kết hợp các phương pháp thống kê và cuối cùng là phương
pháp học máy thống kê Entropy cực đại.
 Xây dựng bộ dữ liệu kiểm thử bằng cách nhờ các chuyên gia ngôn
ngữ và một số bạn sinh viên tạo bản tóm tắt bằng trích rút các câu
quan trọng.
 Sử dụng độ đo PR để đánh giá kết quả thực hiện của các phương
pháp đã cài đặt.
1.3. Bố cục đồ án
Bài báo cáo này được tổ chức như sau:
16
Chương I: Giới thiệu về bài toán tự động tóm tắt văn bản, ý nghĩa
thực tế của bài toán, phân loại và các tiêu chí đánh giá chất lượng bản
tóm tắt. Trong phần này chúng tôi cũng đưa ra giới hạn nghiên cứu của
đề tài, tóm tắt những kết quả đã đạt được và bố cục của báo cáo
Chương II: Chương này trình bày một số mô hình cơ bản mà sẽ
được sử dụng trong đồ án này. Mô hình chúng tôi giới thiệu đầu tiên là
mô hình thống kê N-gram, mô hình này sẽ được áp dụng giải bài toán
text segmentation. Tiếp theo chúng tôi sẽ trình bày những lý thuyết cơ
bản về hai mô hình học máy thống kê: Mô hình Markov ẩn và mô hình
Entropy cực đại. Mô hình Markov ẩn sẽ được sử dụng trong việc sinh
dữ liệu huấn luyện, còn mô hình Entropy cực đại được sử dụng thực
hiện tóm tắt văn bản.
Chương III: Trong chương này, chúng tôi sẽ trình bày mô hình
chung giải quyết bài toán tự động tóm tắt văn bản. Chi tiết các bước
thực hiện cũng như các kỹ thuật thường được sử dụng trong mỗi bước.
Tiếp theo, chúng tôi trình bày tổng quan các kỹ thuật tự động tóm tắt

văn bản, từ đó là cơ sở cho chúng tôi lựa chọn một số phương pháp để
thực hiện.
Chương IV: Chương này chúng tôi trình bày kỹ các phương pháp,
các kỹ thuật và thuật toán được sử dụng trong nghiên cứu này và trong
chương trình ứng dụng của chúng tôi. Trong chương này, các thuật toán
được sử dụng sẽ được trình bày một cách chi tiết. Các vấn đề sẽ được
tập trung giải quyết trong phần này gồm có: giải quyết bài toán text
segmentation sử dụng mô hình N-gram, kỹ thuật sinh tự động sinh dữ
liệu huấn luyện, ba kỹ thuật tự động tóm tắt văn bản và cuối cùng là kỹ
thuật tự động đánh giá chất lượng bản tóm tắt.
17
Chương V: Chương này sẽ giới thiệu hệ thống tự động tóm tắt tin
tức mà chúng tôi đã xây dựng được, những kết quả thực hiện các
phương pháp và các đánh giá, so sánh giữa các phương pháp.
18
Chương II. Một số kiến thức liên quan
Tự động tóm tắt văn bản là một bài toán khó, liên quan đến nhiều
lĩnh vực khác nhau. Hai lĩnh vực liên quan chủ yếu là ngôn ngữ học và
trí tuệ nhân tạo. Trong phần này chúng tôi sẽ trình bày một số kiến thức
thuộc hai lĩnh vực này mà sẽ được sử dụng trong phần tiếp theo. Vấn đề
đầu tiên sẽ được trình bày là mô hình ngôn ngữ thống kê N-Gram [1].,
tiếp theo là hai mô hình học máy thống kê Hidden Markov Model
(HMM) [20].[26].[9].[10]. và Maximum Entropy Model (MEM) [22].[24].[25].
[29].
2.1. Mô hình ngôn ngữ thống kê N-Gram
Mô hình thống kê N-Gram về bản chất là mô hình Markov bậc N-1.
Theo mô hình này thì một từ đơn thứ N có liên quan đến N-1 từ đơn
trước đó, thậm chí do N-1 từ đơn trước đó quy định với một xác suất
nào đó [1]
Trong tiếng Việt, từ được xác định là có nghĩa có thể là từ đơn, từ

ghép đôi hoặc ghép ba, ghép bốn hoặc nhiều hơn. Ví dụ, “tôi”, “học”,
“nhà” là các từ đơn; “tôi tớ”, “học hành”, “nhà cửa” là các từ ghép đôi;
“trường đại học”, “bộ quốc phòng” là các từ ghép ba. Xét về góc độ
ngữ nghĩa thì các cụm từ bộ ba trở lên gồm các từ bộ đôi và từ đơn kết
hợp lại [1] Do vậy, trong nghiên cứu này chúng tôi sẽ nghiên cứu hai
loại N-Gram là: unigram (đơn) và bigram (đôi) là đủ để thống kê và xét
ngữ nghĩa của từ.
Trong các văn bản tiếng Việt thì từ ghép chiếm tỷ lệ cao hơn từ
đơn. Đưa ra một câu tiếng Việt, chúng ta có thể dễ dàng xác định được
đâu là từ đơn, đâu là từ ghép. Tuy nhiên, để máy tính có thể làm được
điều này thì lại là một bài toán không đơn giản. Trong lĩnh vực khai phá
dữ liệu văn bản, bài toán này được gọi là text segmentation. Với cách
tiếp cận thống kê ngôn ngữ theo mô hình N-Gram, chúng ta có thể xác
định được từ đơn, từ ghép trong mỗi câu trong văn bản. Có nghĩa là nó
19
có thể giải quyết cho bài toán text segmentation. Sau đây chúng tôi sẽ
trình bày những kiến thức cơ bản về mô hình thống kê ngôn ngữ N-Gram.
Những kiến thức này sẽ được sử dụng trong thuật toán trích rút từ đơn,
từ ghép tiếng Việt.
• Ước lượng xác suất n-gram
Xác suất mô hình n-gram được ước lượng bằng việc thống kê
(đếm) dãy các từ với số lượng lớn các văn bản trên nhiều lĩnh vực khác
nhau. Nói chung, càng nhiều, càng phong phú càng tốt.
Gọi C(w) là số lần xuất hiện của từ w trong tổng số N từ. Xác suất
ước lượng là:
N
wC
wP
)(
)(

=
Cách tính này mở rộng cho mô hình n-gram với
N
wwwC
wwwP
n
n
) (
) (
21
21
=
• Dự đoán từ kế tiếp
Để dự đoán khả năng xuất hiện của từ thứ n khi đã biết n-1 từ trước
đó chúng ta sử dụng xác suất có điều kiện như sau:
) (
) (
) |(
121
21
121


=
n
n
nn
wwwC
wwwC
wwwwP

• Tính xác suất của cụm từ
Cho một cụm từ , xác suất của cụm từ này được tính
theo công thức xác suất có điều kiện Bayes như sau:
20
2.2. Mô hình Markov ẩn
Mô hình Markov ẩn được mở rộng từ khái niệm mô hình Markov.
Để hiểu được mô hình Markov ẩn, trước hết chúng ta cần phải hiểu
được quá trình Markov. Trong phần này chúng tôi sẽ trình bày những
kiến thức cơ bản về quá trình Markov rời rạc, sau đó sẽ trình bày về mô
hình Markov ẩn.
2.2.1. Quá trình Markov rời rạc
Xét một hệ thống mà tại mỗi thời điểm hệ ở một trạng thái trong
một tập N trạng thái khác nhau S
1
, S
2
, …, S
N
[26]
Ví dụ: Một hệ thống gồm N = 5 trạng thái được mô phỏng như hình sau:
Hình 2. 1. Xích Markov có 5 trạng thái (S
1
, S
2
, S
3
, S
4
, S
5

)
Quá trình Markov là quá trình mà hệ thống chuyển từ trạng thái
này sang trạng thái khác chỉ phụ thuộc vào n trạng thái trước đó. Quá
trình Markov bậc n có nghĩa là có n trạng thái có tác động đến việc
chọn trạng thái tiếp theo. Mô hình Markov đơn giản nhất là mô hình
Markov bậc một, nghĩa là việc thay đổi trạng thái chỉ phụ thuộc vào
trạng thái hiện tại và trạng thái ngay trước nó. Nghĩa là:
)(, ),(
121 itjtktitjt
SqSqPSqSqSqP
======
−−−
21
Gọi a
ij
là xác suất chuyển trạng thái, tại thời điểm t-1 hệ ở trạng
thái q
i
chuyển sang trạng thái q
j
tại thời điểm t. Ma trận A = {a
ij
} được
gọi là ma trận xác suất chuyển.
Quá trình này còn được gọi là một mô hình Markov quan sát được
bởi vì đầu ra của quá trình là một tập các trạng thái tại mỗi thời điểm.
Trong đó mỗi trạng thái tương ứng với một sự kiện có thể quan sát được.
Ví dụ 1: Mô hình đèn giao thông tại các ngã tư, hệ thống gồm 3
đèn {đỏ, xanh, vàng} tương ứng với 3 trạng thái của hệ thống. Trong
mô hình này chúng ta thấy rõ ràng là trạng thái của hệ thống tại thời

điểm t chỉ phụ thuộc vào trạng thái của hệ thống tại thời điểm t-1. Nếu
hệ thống tại thời điểm t-1 đang ở trạng thái đèn đỏ thì trạng thái của hệ
thống tại thời điểm t sẽ phải là đèn xanh. Chúng ta nhận thấy rằng việc
chuyển trạng thái là đã được xác định, nghĩa là nếu hiện tại đèn đỏ thì
thời điểm tiếp theo hệ sẽ chuyển sang đèn xanh với xác suất là 1.
Ví dụ 2: Về việc dự báo thời tiết cho mỗi ngày. Giả sử thời tiết cho
mỗi ngày có 3 dạng {Nắng, Mưa, Mây), không như trong ví dụ 1, việc
chuyển trạng thái thời tiết với xác suất có giá trị trong khoảng [0, 1]. Giả
sử ta có ma trận xác suất chuyển như sau:
Thời
tiết
ngày
hôm
qua
Thời tiết ngày hôm nay
Nắng Mây Mưa
Nắng 0.5 0.25 0.25
Mây 0.375 0.125 0.375
Mưa 0.125 0.625 0.375
Bảng 2. 1. Bảng xác suất chuyển trong dự báo thời tiết
22
Nghĩa là, nếu ngày hôm qua trời Nắng thì hôm nay trời Nắng với
xác suất 0.5, Mây và Mưa với cùng xác suất 0.25. Chúng ta cũng thấy
rằng tổng xác suất trên một cột là bằng 1.
Để hệ thống hoạt động được thì chúng ta cần phải có bước khởi
tạo, cụ thể là khởi tạo trạng thái thời tiết. Chúng ta sử dụng một vector
khởi tạo gọi là vector
π
. Chẳng hạn như chúng ta khởi tạo
)0,0,1(

=
π

tương ứng với (Nắng, Mây, Mưa) nghĩa là chúng ta biết rằng ngày đầu
tiên trời nắng.
Vậy một quá trình Markov đặc trưng bởi các tham số sau:
- Các trạng thái. Ví dụ {Nắng, Mây, Mưa}
- Vector khởi tạo
π
- Ma trận xác suất chuyển
2.2.2. Mô hình Markov ẩn
Trong một số trường hợp, quá trình Markov là chưa đủ để có thể
đưa ra dự báo chính xác. Chẳng hạn như với ví dụ 2 về dự báo thời tiết
ở trên, chúng ta giả sử rằng vì một lý do nào đó mà một người nào đó
không thể quan sát trực tiếp thời tiết, nhưng họ lại có thể quan sát được
cây tảo biển và biết rằng trạng thái của cây tảo biển có liên quan đến
trạng thái thời tiết. Trong trường hợp này chúng ta có hai tập trạng thái,
tập trạng thái thứ nhất quan sát được là {tập trạng thái của tảo biển} và
tập trạng thái thứ hai không quan sát được (ẩn) là {tập trạng thái thời
tiết}. Chúng ta cần đưa ra một thuật toán giúp người này dự báo thời
tiết từ tảo biển.
Như vậy, trong trường hợp này chuỗi các trạng thái quan sát được
liên quan xác suất đến quá trình ẩn. Chúng ta sẽ mô hình quá trình này
sử dụng mô hình Markov ẩn.
23
Kiến trúc của mô hình Markov ẩn bậc 1.
Hình 2.2. Mô hình Markov ẩn bậc 1
Trong đó:
- Biến ngẫu nhiên x(t) là trạng thái ẩn tại thời điểm t
- Biến ngẫu nhiên y(t) là quan sát tại thời điểm t

Định nghĩa HMM: Một mô hình Markov ẩn là một bộ ba (
),, BA
π
trong đó
-
π
: Vector của xác suất trạng thái khởi tạo
- A = (a
ij
) là ma trận xác suất chuyển, a
ij
= P(q
t
= S
j
|q
t-1
= S
i
);
- B = (b
ij
) với b
ij
= P(y
i
|x
j
) là xác suất quan sát y
i

khi hệ ở trạng
thái x
j
.
2.2.3. Ba bài toán cơ bản được giải quyết bởi HMM
Có ba bài toán cơ bản được giải quyết bằng mô hình Markov ẩn là:
Evaluation, Decoding, Learning. Trong phần này chúng tôi chỉ phát
biểu ba bài toán này. Phương pháp giải quyết chi tiết cho các bài toán
này có trong tài liệu [26] Trong phần tiếp theo chúng tôi sẽ áp dụng bài
toán Decoding trong việc sinh dữ liệu huấn luyện.
• Evaluation
Phát biểu bài toán: Cho mô hình Markov ẩn
λ
, và một chuỗi các
quan sát O = {o
1
, o
2
, … o
T
}. Hãy tính xác suất chuỗi quan sát O được
sinh ra bởi mô hình
λ
.
24
Bài toán này được giải quyết bằng cách sử dụng thuật toán
Forward-Backward (tiến-lùi)
• Decoding
Phát biểu bài toán: Cho mô hình Markov ẩn
λ

, và một chuỗi các
quan sát O = {o
1
, o
2
, … o
T
}. Hãy tính chuỗi các trạng thái ẩn tốt nhất
của mô hình để có chuỗi quan sát O.
Bài toán này được giải quyết bằng cách sử dụng thuật toán Viterbi
• Learning
Phát biểu bài toán: Cho mô hình Markov ẩn
λ
, và một chuỗi các
quan sát O = {o
1
, o
2
, … o
T
}. Chúng ta cần thay đổi các biến của mô hình
),,(
π
BA
như thế nào để
)|(
λ
OP
đạt giá trị lớn nhất.
2.3. Mô hình Maximum Entropy

Có rất nhiều bài toán trong xử lý ngôn ngữ tự nhiên (NLP-Natural
Languate Processing) có thể được phát biểu lại thành bài toán phân loại
thống kê [22] Mục đích của bài toán phân loại thống kê này là ước
lượng xác suất lớp a xuất hiện với ngữ cảnh (context) c. Ngữ cảnh c
trong NLP thường gồm các từ, có trường hợp là danh sách các từ đơn,
có trường hợp là danh sách từ đơn kết hợp với nhãn từ vựng của nó.
Tùy theo từng bài toán mà xây dựng ngữ cảnh khác nhau. Bài toán phân
loại này có thể được giải quyết bằng cách tính xác suất có điều kiện
p(a|c) (xác suất lớp a xuất hiện với điều kiện là xuất hiện ngữ cảnh c).
Trong một tập văn bản lớn thì chúng ta có thể trích rút ra một số thông
tin chung của cả a và c. Tuy nhiên, sẽ không bao giờ đủ để tính p(a|c)
cho tất cả các cặp (a, c) bởi vì ngữ cảnh c thường phân phối thưa trên
tập dữ liệu. Để giải quyết vấn đề này, mô hình Maximum Entropy là
một sự lựa chọn tốt.
25

×