Đây là một bài toán tóm tắt văn bản, trong đó các thông tin quan trọng của tài liệu được định nghĩa là tiêu đề của các đoạn văn bản và được thể hiện dưới dạng danh sách ở mục lục của văn
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Nguyễn Việt Cường
Trang 2MỤC LỤC
LỜI CẢM ƠN i
LỜI CAM ĐOAN ii
MỤC LỤC iii
DANH MỤC CÁC KÍ HIỆU, CÁC CHỮ VIẾT TẮT v
DANH MỤC CÁC BẢNG vi
DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ vii
MỞ ĐẦU 1
Chương 1 GIỚI THIỆU BÀI TOÁN 4
1.1 Bài toán tóm tắt văn bản 4
1.2 Bài toán xây dựng mục lục cho văn bản 4
1.3 Phương hướng giải quyết bài toán 5
1.4 Các công trình liên quan 6
Chương 2 PHÂN ĐOẠN VĂN BẢN VÀ SINH TIÊU ĐỀ 8
2.1 Phân đoạn văn bản 8
2.2 Các phương pháp phân đoạn văn bản 9
2.2.1 Sử dụng mối liên kết từ vựng 9
2.2.2 Sử dụng mô hình nhát cắt cực tiểu 14
2.3 Sinh tiêu đề cho văn bản 17
2.4 Các phương pháp sinh tiêu đề cho văn bản 18
2.4.1 Phương pháp trích chọn cụm từ 18
2.4.2 Phương pháp hai pha 20
2.5 Tóm tắt chương hai 20
Chương 3 XÂY DỰNG MỤC LỤC CHO VĂN BẢN 22
3.1 Mô hình tích hợp thuật toán 22
3.2 Đảm bảo tính hợp lí của mục lục 23
3.3 Các phương pháp đánh giá 24
3.3.1 Đánh giá thuật toán phân đoạn 24
3.3.2 Đánh giá thuật toán sinh tiêu đề 27
3.4 Tóm tắt chương ba 27
Trang 3Chương 4 THỬ NGHIỆM VÀ ĐÁNH GIÁ 29
4.1 Môi trường thử nghiệm 29
4.2 Dữ liệu thử nghiệm 30
4.3 Quá trình thử nghiệm 33
4.4 Kết quả thử nghiệm 33
4.4.1 Kết quả phân đoạn văn bản 33
4.4.2 Kết quả sinh tiêu đề 34
4.5 Đánh giá thử nghiệm 35
4.5 Phương hướng cải tiến 36
4.6 Tóm tắt chương bốn 37
KẾT LUẬN 38
TÀI LIỆU THAM KHẢO 39
Trang 4DANH MỤC CÁC KÍ HIỆU, CÁC CHỮ VIẾT TẮT
Tần suất của từ / cụm từ trong một văn bản
2 TF * IDF Term Frequency * Inverse Document Frequency
Trọng số của từ / cụm từ được tính theo tần suất trong văn bản và tần suất văn bản chứa từ / cụm từ đó.
Hội nghị chuyên về hiểu văn bản.
4 ACL The Association for Computational Linguistics
Hiệp hội xử lí văn bản trên máy tính.
Cấu trúc ngữ pháp Chủ ngữ – Động từ – Tân ngữ.
Trang 5DANH MỤC CÁC BẢNG
Bảng 1 Biểu diễn vectơ của hai khối văn bản ví dụ 11
Bảng 2 Danh sách các công cụ phần mềm sử dụng để thử nghiệm 29
Bảng 3 Cấu trúc văn bản thử nghiệm 30
Bảng 4 Danh sách từ dừng 31
Bảng 5 Tập nhãn từ loại (tập mở) 32
Bảng 6 Tập nhãn từ loại (tập đóng) 32
Bảng 7 Kết quả phân đoạn văn bản 33
Bảng 8 Sinh tiêu đề cho phân đoạn gốc 34
Bảng 9 Sinh tiêu đề cho phân đoạn của C99 35
Bảng 10 Sinh tiêu đề cho phân đoạn của jTextTiling 35
Trang 6DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ
Hình 1 Đồ thị biểu diễn sự thay đổi độ đo tương tự 12
Hình 2 Đồ thị dotplotting cho một văn bản 13
Hình 3 Phân bố độ dài tiêu đề văn bản theo Reuters-1997 18
Hình 4 Ví dụ đánh giá thuật toán phân đoạn 25
Hình 5 Cách xác định tham số cho độ đo P k 26
Hình 6 Kết quả phân đoạn văn bản 34
Trang 7MỞ ĐẦU
Hiện nay, lượng văn bản được số hoá đang tăng lên nhanh chóng và đặc biệt được phổ biến rộng rãi cùng với sự tăng trưởng của Internet Các văn bản này thuộc nhiều dạng khác nhau như văn bản chữ viết, văn bản âm thanh và văn bản hình ảnh Nguồn thông tin khổng lồ này vừa mang lại lợi ích giúp con người tiếp cận và khai thác được nhiều thông tin hơn, nhưng mặt khác cũng gây khó khăn cho công việc lựa chọn và tổng hợp thông tin Lĩnh vực xử lí ngôn ngữ tự nhiên (xử lí ngôn ngữ trên máy tính một cách tự động) ra đời nhằm giải quyết phần nào sự khó khăn này
Lĩnh vực xử lí ngôn ngữ tự nhiên đã đặt ra hàng loạt bài toán nhằm giải quyết các khó khăn và trợ giúp con người xử lí văn bản tốt hơn như: tìm kiếm văn bản, phân lớp văn bản, rút trích thông tin, tóm tắt văn bản, hệ thống hỏi-đáp,… Các hệ thống thông tin trực tuyến như Google, Yahoo!, MSN,… đã thể hiện được các kết quả nghiên cứu giải quyết các bài toán này Ví dụ như máy tìm kiếm Google đảm nhận việc tìm kiếm các văn bản theo yêu cầu của người dùng, trích ra các đoạn văn bản liên quan đến yêu cầu, tóm tắt lại dựa trên các thông tin đó và hiển thị cho người dùng lựa chọn Tuy chất lượng xử lí văn bản chưa đạt được mức độ như con người nhưng sự lớn mạnh của các cỗ máy tìm kiếm trên đã cho thấy tiềm năng và triển vọng thực sự của các bài toán trong xử
lí ngôn ngữ tự nhiên
Tóm tắt văn bản là một bài toán trong xử lí ngôn ngữ tự nhiên, đó là “một
quá trình thu gọn văn bản đầu vào thành văn bản tóm tắt thông qua việc cô đọng nội dung bằng cách lựa chọn và/hoặc tổng hợp những thông tin quan trọng trong văn bản đầu vào” [18] Trong thời gian gần đây, tóm tắt văn bản
đang nhận được sự quan tâm rộng rãi của cộng đồng nghiên cứu trên thế giới với
sự tăng trưởng về số bài báo có liên quan trong các hội nghị DUC1 2001-2007, ACL2 2001-2007,…; sự phát triển của các hệ thống tóm tắt văn bản3 như MEAD, LexRank, Text Analyst (Megaputer), Text Analysis (IBM Japan), Microsoft Word,… Rất nhiều bài toán nhỏ của tóm tắt văn bản đã được đặt ra và giải quyết [18] thông qua các hội nghị và phần mềm kể trên
Trang 8Một trong những vấn đề được quan tâm nghiên cứu gần đây là xây dựng mục lục cho văn bản một cách tự động [2, 5] Đây là một bài toán tóm tắt văn bản, trong đó các thông tin quan trọng của tài liệu được định nghĩa là tiêu đề của các đoạn văn bản và được thể hiện dưới dạng danh sách ở mục lục của văn bản Cấu trúc mục lục là một cấu trúc phổ biến ở trong các văn bản dài mà đặc biệt là các cuốn sách, nó giúp người đọc tìm kiếm chủ đề quan tâm và định vị được vị trí của chủ đề đó trong văn bản Đối với các văn bản âm thanh, hình ảnh, việc xây dựng được mục lục cho văn bản là rất cần thiết vì những văn bản dạng này hầu như không có sẵn mục lục để định vị các phân đoạn thông tin khác nhau [3,
10, 18, 20] Việc xây dựng mục lục cho văn bản gồm hai bước, bước thứ nhất là phân đoạn văn bản, tức là phân văn bản thành các đoạn rời rạc, nối tiếp nhau, mỗi đoạn nói về một chủ đề tương đối khác nhau [2, 4, 6, 15, 16, 20] và bước thứ hai là sinh tiêu đề cho các đoạn văn bản, tức là sinh một cụm từ ngắn thể hiện được chủ đề chính của đoạn văn [3, 10, 17, 28] Trong [5], các tác giả đã trình bày và thử nghiệm xây dựng mục lục cho văn bản, tuy nhiên bài báo mới dừng lại ở việc giải quyết nửa sau của bài toán xây dựng mục lục cho văn bản, tức là sinh tiêu đề và xây dựng cấu trúc mục lục với việc sử dụng cấu trúc phân đoạn sẵn có của văn bản Hơn thế nữa, mô hình trong [5] là mô hình học giám sát, đòi hỏi phải có dữ liệu huấn luyện trong khi loại dữ liệu này rất thiếu đối với bài toán được đề cập
Với việc lựa chọn đề tài “Tự động sinh mục lục cho văn bản”, luận văn
này hướng tới việc tích hợp hai bước phân đoạn và sinh tiêu đề trong quá trình xây dựng mục lục cho văn bản một cách tự động Trong luận văn này, các bài toán của từng bước được nghiên cứu chi tiết; phương pháp tích hợp hai bước với nhau được đề xuất và tiến hành thử nghiệm thực tế trên văn bản khoa học Kết quả thực nghiệm khả quan của luận văn đã cho thấy tính khả thi và triển vọng của bài toán này Ngoài ra trong luận văn, tác giả cũng đưa ra những phương hướng cải tiến cùng cơ sở khoa học của nó để làm tiền đề cho các nghiên cứu tiếp theo
Ngoài phần mở đầu và kết luận, kết cấu của luận văn bao gồm 4 chương:
- Chương 1 “Giới thiệu bài toán” sẽ giới thiệu bài toán tóm tắt văn bản
nói chung và bài toán xây dựng mục lục cho văn bản nói riêng; phân tích các công trình có liên quan và đưa ra các thức giải quyết bài toán của luận văn
- Chương 2 “Phân đoạn văn bản và sinh tiêu đề” sẽ tiến hành nghiên
cứu và trình bày các phương pháp và thuật toán tiêu biểu được sử dụng
Trang 9trong các bước phân đoạn và sinh tiêu đề trong quá trình xây dựng mục lục cho văn bản
- Chương 3 “Xây dựng mục lục cho văn bản” sẽ phân tích và đề xuất
phương án tích hợp các thuật toán của các bước để giải quyết bài toán chính của luận văn; đề xuất một số hướng cải tiến và cơ sở lí luận của các cải tiến đó; và trình bày các phương pháp đánh giá
- Chương 4 “Thử nghiệm và đánh giá” sẽ trình bày quá trình thử
nghiệm của luận văn cùng các kết quả đạt được, đồng thời phân tích và đánh giá các kết quả đó để làm tiền đề cho các đề xuất cải tiến
Trang 10Chương 1
GIỚI THIỆU BÀI TOÁN
1.1 Bài toán tóm tắt văn bản
Tóm tắt văn bản là một bài toán đã được đặt ra từ rất lâu, đó là “một quá
trình thu gọn văn bản đầu vào thành văn bản tóm tắt thông qua việc cô đọng nội dung bằng cách lựa chọn và/hoặc tổng hợp những thông tin quan trọng trong văn bản đầu vào” [18] Trước kia công việc này thường được thực hiện một
cách thủ công bởi chính tác giả hoặc của người thủ thư Tuy nhiên khi lượng văn bản được số hoá ngày càng nhiều thì vấn đề tóm tắt văn bản một cách tự động đã trở nên rất cần thiết Năm 1958, trong bài báo của mình [19], Luhn đã trình bày phương pháp tóm tắt tự động cho các bài báo kĩ thuật sử dụng phương pháp thống kê thông qua tần suất và phân bố của các từ trong văn bản Cho đến gần đây, sự đột phá trong công nghệ máy tính đã giúp các bài toán xử lý ngôn ngữ tự nhiên trở nên “thực tế” hơn Theo [18], ngày càng có nhiều nghiên cứu về tóm tắt văn bản và những tóm tắt này được chia ra làm hai hướng nghiên cứu chính: tiếp cận theo hướng ngôn ngữ học (dựa trên luật), tiếp cận theo hướng thống kê hoặc kết hợp cả hai
Tóm tắt văn bản tự động bị ảnh hưởng bởi rất nhiều yếu tố như: thể loại văn bản, phong cách viết, các sử dụng từ, cấu trúc câu,… Những yếu tố này tạo nên sự khác biệt rất lớn giữa các văn bản khác nhau Do đó việc xây dựng một công cụ tóm tắt tổng quát là một công việc khó Vì vậy, các bài toán được giải quyết trong tóm tắt văn bản thường chỉ hướng đến một kiểu văn bản cụ thể hoặc một kiểu tóm tắt cụ thể [14]
1.2 Bài toán xây dựng mục lục cho văn bản
Hiện nay, các nghiên cứu về tóm tắt văn bản hầu hết tập trung vào việc xử
lí các văn bản ngắn, đặc biệt là các mẩu tin tức, bài viết ngắn hoặc tập trung cho các văn bản thuộc một lĩnh vực cụ thể như văn bản y tế, văn bản khoa học,… [5, 18] Các văn bản loại này hầu hết chỉ tập trung nói về một vấn đề rất cụ thể và không có sự phân biệt về chủ đề giữa các phần trong văn bản Còn đối với các văn bản dài hơn, mà ở đây là loại văn bản bao gồm nhiều phần, mỗi phần nói về một chủ đề cụ thể và cả văn bản nói về một chủ đề rộng hơn thì lượng nghiên cứu còn ít [5]
Trong luận văn này, một bài toán tương đối mới trong tóm tắt văn bản sẽ được đề cập và nghiên cứu, đó là bài toán xây dựng mục lục cho văn bản một
Trang 11cách tự động Mục lục cho một văn bản là một khái niệm rất phổ biến và xuất hiện trong hầu hết các tài liệu có nhiều phần, đặc biệt là trong các tạp chí hay quyển sách Khi người sử dụng gặp một văn bản dài gồm nhiều phần khác nhau thì thông thường họ không đọc toàn bộ văn bản mà sẽ đi tìm mục lục hoặc một hình thức tóm tắt nào đó để nhanh chóng nắm được ý chính của một văn bản Tuy nhiên, mục lục vẫn quan trọng và có ý nghĩa hơn cả vì ngoài khả năng cung cấp thông tin về chủ đề của mỗi đoạn văn bản, nó còn có giúp người đọc có thể định vị được vị trí của đoạn thông tin tương ứng trong tài liệu
Xét về mặt cấu trúc, mục lục có cấu trúc phân cấp nhằm chia nhỏ hơn các phần trong một tài liệu dài Cấu trúc đó thường là phần, chương, mục,… Tuy nhiên qua khảo sát thực tế, các tài liệu có số phần không nhiều lắm (dưới 10 phần) thì người ta thường sử dụng mục lục chỉ có một cấp Trong luận văn này, dựa trên thuật toán giải quyết vấn đề thì mục lục được chia làm hai loại: mục lục tuyến tính (một cấp) và mục lục phân cấp (đa cấp) Và trong luận văn này, tôi tập trung giải quyết bài toán xây dựng mục lục tuyến tính (một cấp)
Bài toán xây dựng mục lục cho văn bản liên quan đến nhiều bài toán khác nhau như: Tách câu, tách từ, phân cụm, gán nhãn chức năng từ loại, tìm cụm danh từ Các bài toán này hầu hết đã được xử lí với chất lượng khá tốt trong văn bản tiếng Anh Trong luận văn này, tôi chỉ đề cập đến việc sử dụng kết quả của các bài toán này để giải quyết bài toán lớn hơn mà không đi trình bày từng bài toán đó
1.3 Phương hướng giải quyết bài toán
Như đã đề cập ở phần trước, mục lục của văn bản sẽ bao gồm tiêu đề và vị trí của các đoạn tương ứng cho văn bản Do đó với một văn bản cho trước thì để
có thể tiến hành xây dựng mục lục, chúng ta cần những bước sau:
- Phân đoạn văn bản (Text Segmentation): phân văn bản thành các
đoạn độc lập và nối tiếp nhau với nội dung các phần có sự khác biệt về mặt ngữ nghĩa và do đó có sự khác biệt về mặt chủ đề
- Sinh tiêu đề (Title Generation): sinh ra các tiêu đề ngắn gọn, giàu
thông tin cho đoạn văn bản tương ứng hay nói cách khác là tìm ra chủ
đề của đoạn văn bản và trình bày dưới dạng ngắn gọn
Phương pháp giải quyết vấn đề của luận văn là chia quá trình xây dựng mục lục thành hai giai đoạn tương ứng với hai bước trên
Bài toán thứ nhất, phân đoạn văn bản, có thể được giải quyết bằng cách sử dụng cấu trúc phân đoạn sẵn có của văn bản (chương, mục, mục con,…) [5]
Trang 12hoặc sử dụng một phương pháp phân đoạn văn bản tự động [2, 4, 6, 15, 16, 20] Trong luận văn này, phương pháp phân đoạn tự động sẽ được áp dụng với một
số cải tiến để đạt được chất lượng tốt hơn
Bài toán thứ hai, sinh tiêu đề cho một đoạn văn bản, có thể sử dụng rất nhiều phương pháp có sẵn để giải quyết [2, 3, 10, 17, 28] Các phương pháp này được chia làm hai hướng chính, hướng thứ nhất sẽ tìm cách trích ra các cụm từ thể hiện ý nghĩa của toàn đoạn và hướng thứ hai là trích ra các từ quan trọng trong văn bản và tìm cách ghép cặp với nhau để đạt được tiêu đề “tốt nhất” Mỗi phương pháp có ưu và nhược điểm riêng và sẽ được phân tích trong Chương 2 Tuy nhiên, luận văn sẽ sử dụng phương pháp thứ nhất cho thực nghiệm và phương pháp thứ hai sẽ để lại làm hướng phát triển tiếp theo cho đề tài
Phần tiếp theo sẽ trình bày một số công trình liên quan được sử dụng trong quá trình thực hiện luận văn
1.4 Các công trình liên quan
Trong phần này, một số công trình liên quan đến đề tài luận văn sẽ được
đề cập, tuy nhiên, các bài toán cơ sở như tách câu, tách từ, gán nhãn từ loại, tìm cụm danh từ,… sẽ không được đề cập do đây không phải là mục tiêu chính của luận văn, hơn nữa độ chính xác của các bài toán đó đã đạt được ở mức rất cao đối với tiếng Anh (trên 90%), do đó hoàn toàn có thể sử dụng làm các bước nền
để giải quyết các bài toán lớn hơn
Về khía cạnh độ dài và thể loại văn bản, trong khi hầu hết các nghiên cứu hiện tại tập trung vào các văn bản ngắn thì đã có một số hướng tiếp cận được triển khai để tóm tắt những văn bản dài hơn Hầu hết các cách tiếp cận này tập trung vào một miền ngữ nghĩa cụ thể như văn bản y tế hoặc tài liệu khoa học Với việc đưa ra các giả thiết mạnh về cấu trúc văn bản đầu vào và định dạng đầu
ra, các cách tiếp cận này đã thu được những kết quả tương đối khả quan Ví dụ, [27] tóm tắt các văn bản khoa học bằng cách lựa chọn những yếu tố tu từ (rhetorical elements) thường được trình bày trong các đoạn tóm tắt của tài liệu khoa học [11] trình bày cách tiếp cận sinh tóm tắt của các tài liệu y tế bằng việc
sử dụng một số cấu trúc mẫu trong lựa chọn nội dung Tuy nhiên, trong luận văn này, tôi sử dụng cách tiếp cận độc lập thể loại, tức là tóm tắt văn bản mà không
sử dụng các yếu tố đặc trưng liên quan để thể loại văn bản
Về bài toán phân đoạn văn bản, đã có khá nhiều công trình nghiên cứu liên quan đến vấn đề này [2, 4, 6, 15, 16, 20] Hầu hết các công trình đều chỉ tập trung nghiên cứu bài toán phân đoạn văn bản một cấp, hay nói cách khác là phân
Trang 13đoạn văn bản tuyến tính Trong đó đáng kể nhất phải nói tới công trình [15], công trình này là cơ sở cho rất nhiều công trình khác liên quan đến bài toán này, chi tiết sẽ được trình bày ở Chương 2 Trong luận văn này, tôi chủ yếu phân tích
và sử dụng công trình [15] với việc cài đặt cụ thể và tích hợp một số cải tiến được đề xuất trong Chương 3
Về bài toán sinh tiêu đề, các công trình liên quan đến vấn đề này đã có rất nhiều, tiêu biểu như [2, 3, 10, 17, 28] Tuy nhiên, các công trình này chủ yếu được sử dụng để sinh tiêu đề cho một tài liệu đơn lẻ trong khi bài toán của chúng ta là sinh tiêu đề cho nhiều đoạn văn bản có sự liên kết và ràng buộc với nhau về mặt nội dung Luận văn sẽ tiến hành đề xuất một mô hình sinh tiêu đề
có khả năng đảm bảo tương đối tính thống nhất giữa các tiêu đề được sinh ra
Mô hình này sử dụng kết hợp cả phương pháp lựa chọn lẫn phương phương pháp sử dụng các đặc trưng về ngữ pháp
Đối với bài toán xây dựng mục lục cho văn bản, trong [2, 5] nêu ra bài toán này Tuy nhiên, các tác giả chỉ tập trung giải quyết bài toán thứ hai của việc xây dựng mục lục cho văn bản, đó là sinh tiêu đề cho đoạn văn bản Trong [2], các tác giả sinh tiêu đề theo hướng trích chọn cụm danh từ quan trọng nhất làm tiêu đề cho văn bản và chất lượng theo đánh giá thực nghiệm thì đạt kết quả rất khả quan, tuy nhiên việc phân đoạn văn bản của [2] tỏ ra thực sự không hiệu quả
do số lượng đoạn sinh ra quá lớn và số câu trung bình trên một đoạn chỉ là 2-3 câu, điều này là không phù hợp với thực tế trong các văn bản Còn trong [5], các tác giả sử dụng cấu trúc phân đoạn sẵn có của văn bản và chỉ tập trung vào bước sinh mục lục cho văn bản Kết quả đạt được theo đánh giá là khá tốt tuy nhiên phương pháp này sử dụng thuật toán học có giám sát trong khi dữ liệu đối với bài toán này hiện nay rất ít nên sẽ khó có thể áp dụng được trên nhiều loại văn bản khác nhau
Trong chương tiếp theo, luận văn sẽ trình bày về một số phương pháp được sử dụng để giải quyết bài toán phân đoạn văn bản và sinh tiêu đề cho văn bản, đồng thời phân tích ưu, nhược điểm của các phương pháp đó
Trang 14Chương 2
PHÂN ĐOẠN VĂN BẢN VÀ SINH TIÊU ĐỀ
2.1 Phân đoạn văn bản
Bài toán phân đoạn văn bản có thể được hiểu là bài toán với một văn bản cho trước, hãy xác định những vị trí mà ở đó chủ đề thay đổi [15, 16] Đối với các văn bản ngắn như bài báo hay bản tin thường chỉ có một chủ đề xuyên suốt toàn văn bản, sự phân lập về mặt chủ đề giữa các đoạn hầu như không có Tuy nhiên trong các văn bản dài hơn, như các văn bản khoa học thì có rất nhiều phần khác nhau, mỗi có một chủ đề riêng tuy các phần đều hướng đến cùng mục đích
là giải quyết vấn đề được đặt ra trong văn bản Bài toán này đã được giải quyết theo một vài hướng khác nhau như sử dụng mối liên kết từ vựng [2, 6, 15, 16],
sử dụng mô hình thống kê [4] hay gần đây là phương pháp áp dụng mô hình đồ thị [20] Trong phần tiếp theo, luận văn sẽ trình bày chi tiết hai phương pháp tiêu biểu dùng trong phân đoạn văn bản được nêu ra trong [15, 20] cùng các cải tiến của các phương pháp đó
Bài toán phân đoạn văn bản không chỉ có ý nghĩa với các văn bản thông thường mà nó còn có ý nghĩa lớn với các bài toán liên quan đến văn bản đa phương tiện dạng âm thanh hay hình ảnh [3, 20] Ví dụ, với một đoạn băng ghi lại bài phát biểu chào mừng năm học mới của hiệu trưởng, có rất nhiều phần khác nhau như: chào mừng học sinh mới, sơ kết năm học cũ và phương hướng năm học mới Các phần này không được phân tách một cách rõ ràng như trong văn bản viết, do đó sẽ khó khăn hơn trong vấn đề phân đoạn Phương pháp thường được sử dụng là phân tích các đặc trưng về khoảng lặng giữa các phần,
âm điệu thay đổi khi chuyển phần,… hay có thể sử dụng một module nhận dạng giọng nói sau đó sử dụng các phương pháp phân đoạn văn bản mà luận văn sẽ trình bày Hay trong một đoạn băng video dài, người ta có thể quay nhiều lần khác nhau ở những thời điểm khác nhau và do đó với những chủ đề khác nhau
để tiết kiệm đoạn băng Việc tự động tìm ra các vị trí thay đổi chủ đề một cách
tự động thực sự có ý nghĩa khi biên tập
Khi tiến hành phân đoạn văn bản, chúng ta sẽ gặp phải những vị trí mà sự thay đổi chủ đề là “lớn” (ví dụ, chuyển hẳn sang chủ đề khác) hoặc sự thay đổi chủ đề là “nhỏ” (ví dụ, vẫn nói về chủ đề lớn nhưng theo các cách tiếp cận khác nhau) Điều đó làm nảy sinh bài toán phân đoạn văn bản đa cấp [2, 5] Với bài toán này, một văn bản ban đầu được chia thành các đoạn lớn mang các chủ đề riêng, sau đó mỗi đoạn văn bản này lại được phân đoạn tiếp để thu được các chủ
Trang 15đề nhỏ hơn, giúp người đọc dễ theo dõi hơn Việc giải quyết bài toán này có thể
đi theo một trong hai hướng tiếp cận: phân đoạn kiểu đệ quy, tức là phân đoạn theo từng mức một, hoặc phân đoạn một lần tức là chỉ một lần áp dụng thuật toán mà ta thu được văn bản đã được phân thành vài cấp
2.2 Các phương pháp phân đoạn văn bản
2.2.1 Sử dụng mối liên kết từ vựng
Phương pháp phân đoạn văn bản sử dụng mối liên kết từ vựng là phương pháp phân đoạn dựa trên sự khác nhau trong việc sử dụng từ, đặc biệt là các tính chất lặp lại của từ, giữa các đoạn văn bản khác nhau: nếu có sự khác biệt lớn trong việc sử dụng từ trong các đoạn văn bản ở hai phía của một vị trí phân tách thì đó được coi là đường biên Tập hợp các đường biên sẽ phân văn bản thành các đoạn khác nhau
Điển hình cho phương pháp này là hệ thống TextTiling của Hearst [15, 16] Trong hệ thống của mình, Hearst đã sử dụng ý tưởng về mối quan hệ liên kết từ vựng trong văn bản để tìm ra những vị trí mà ở đó xảy ra sự thay đổi đồng thời của rất nhiều yếu tố như không gian, thời gian, cấu trúc, sự kiện,… và sự thay đổi này là đạt cực đại tại điểm đó Trong TextTiling, Heart chia văn bản
thành các “tile” Các tile mang ý nghĩa tương đương với các đoạn được hình
thành do quá trình phân đoạn văn bản Sau đây, luận văn sẽ trình bày tóm tắt thuật toán của Hearst dùng để tìm ra các phân đoạn trong một văn bản
Các nghiên cứu trong ngôn ngữ học và khoa học máy tính, đặc biệt là trong tiếng Anh, cho thấy rằng sự lặp lại của các thuật ngữ, khái niệm chỉ ra mối liên kết chặt chẽ về mặt ngữ nghĩa Điều đó đã chỉ ra rằng sự lặp lại của các khái niệm sẽ rất có ích trong việc xác định cấu trúc phân đoạn của văn bản và chúng
ta sẽ sử dụng yếu tố lặp lại của các khái niệm với vai trò là yếu tố chỉ ra mối liên kết từ vựng [15, 22]
Thuật toán này là một mở rộng của thuật toán được trình bày trong [22] với khả năng ghi lại chuỗi các khái niệm lặp lại Thuật toán xác định đường biên bằng cách xem xét các vị trí mà ở đó có sự kết thúc của một chuỗi khái niệm và bắt đầu một chuỗi khái niệm mới
Thuật toán bao gồm các bước:
- Tokenization
- Xác định độ tương tự
- Nhận diện biên
Trang 16Tokenization là quá trình chia văn bản đầu vào thành các đơn vị từ vựng
độc lập (token) Trong quá trình này, văn bản được chia thành các “câu giả” với
độ dài cố định w cho trước (chứ không dùng các câu được xác định với cú pháp
hoàn chỉnh) mặc dù điều này sẽ gây ra vấn đề chuẩn hoá trong bước cuối khi xác định biên chính xác Quá trình này sẽ tạo ra các nhóm token và được gọi là
chuỗi token Các kết quả thực nghiệm cho thấy độ dài w là 20 sẽ phù hợp với
hầu hết các loại văn bản khác nhau Các token được phân tích hình thái và được lưu trong một bảng Tương ứng với mỗi token là số thứ tự (đồng thời là chỉ số) của chuỗi token và tần suất xuất hiện của các token tương ứng chuỗi token Đồng thời, vị trí các điểm ngắt đoạn (paragraph break) trong văn bản cũng được lưu trữ lại Những từ dừng và từ quá phổ biến cũng được loại ra trong quá trình phân tích hình thái (trong [15] không áp dụng quá trình tinh giản này)
Bước tiếp theo sau quá trình tokenization là tiến hành so sánh độ tương tự
từ vựng của các cặp khối (block) liền kề của các chuỗi từ vựng Một tham số
quan trọng khác của thuật toán được đưa vào là kích thước khối (blocksize),
được định nghĩa là số các chuỗi token được nhóm lại cùng nhau để so sánh với
một nhóm chuỗi token liền kề khác Giá trị này được kí hiệu là k thay đổi tuỳ
theo các văn bản khác nhau, tuy nhiên người ta thường lấy nó là độ dài trung bình tính theo chuỗi token của các đoạn văn bản (paragraph) Trong thực tế, giá
trị k là 6 sẽ phù hợp với hầu hết các loại văn bản khác nhau Các đoạn thực sự
trong văn bản không được sử dụng do độ dài của của các đoạn không đều nhau
và gây ra sự mất cân bằng trong quá trình so sánh
Giá trị tương tự sẽ được tính cho tất cả các vị trí ở giữa các chuỗi token
Nghĩa là tại mỗi vị trí i ở giữa các chuỗi token, độ tương tự sẽ được tính trên hai
khối, khối thứ nhất là các chuỗi token từ ik tới i và khối thứ hai là từ i1 tới
1
i k Đây là cách tiếp cận theo kiểu cửa sổ trượt (sliding window), cách tiếp
cận này sẽ khiến mỗi chuỗi token được tính 2k lần
Độ tương tự sim sẽ được tính theo độ đo cosin cho hai khối b1 và b2 với
độ dài k chuỗi token cho mỗi khối:
Ở đây, trọng số được tính đơn giản bằng tần suất của khái niệm tương ứng trong
khối (TF) Ngoài ra trọng số còn có thể được tính theo công thức TF IDF
Trang 17trong trường hợp có nhiều văn bản Theo công thức trên thì nếu độ tương tự giữa hai khối là cao thì chứng tỏ hai khối có nhiều khái niệm chung Giá trị của độ đo này nằm trong đoạn 0;1
Ví dụ ta có 2 khối với nội dung như sau:
Khối 1: I like apples
Khối 2: Apples are good for you
Khi biểu diễn dưới dạng vectơ, hai khối này có nội dung như sau:
Bảng 1 Biểu diễn vectơ của hai khối văn bản ví dụ
Độ đo tương tự này có thể được đồ thị hoá (biểu diễn dưới dạng đồ thị
đường) để có cái nhìn trực quan hơn về sự biến đổi trong đó trục x là số thứ tự của token và trục y là giá trị độ đo tương tự Tuy nhiên, do độ đo tương tự được
tính giữa hai khối b1 và b2, trong đó b1 bao gồm các chuỗi token từ ik đến i
và b2 bao gồm các chuỗi token từ i1 đến i k 1 nên độ đo sẽ rơi vào vị trí giữa chuỗi token i và i1 Và trong thuật toán này, chúng ta sẽ sử dụng đồ thị
khác đi, với trục x là số thứ tự của điểm giữa của các chuỗi token Để thuận tiện
cho việc tính toán nên đồ thị được làm trơn bằng kĩ thuật làm trơn trung bình Trong thực nghiệm cho thấy, việc sử dụng kĩ thuật làm trơn trung bình với kích thước cửa sổ là 3 thích hợp với hầu hết các văn bản và chỉ cần sử dụng một vòng làm trơn
Các vị trí biên được xác định thông qua sự thay đổi trong chuỗi các độ đo tương tự thu được ở bước trước hay một cách trực quan hơn là thông qua sự thay đổi trên đồ thị Số thứ tự của các điểm giữa của các chuỗi token không được sắp xếp theo giá trị độ đo tương tự ở đó mà lại được sắp xếp phụ thuộc vào mức độ dốc của đồ thị tại điểm đó so với các điểm xung quanh Với một điểm giữa của
chuỗi token i, thuật toán sẽ xem xét độ đo tương tự tại điểm giữa của chuỗi token bên trái của i miễn là giá trị của nó đang tăng Khi giá trị so với bên trái
Trang 18đạt cực đại, sự sai khác về độ đo tương tự giữa độ đo tại điểm đạt cực đại và độ
đo tại i được ghi lại Công việc này được áp dụng tiếp tục với các điểm giữa của các chuỗi token phía bên phải của i, độ tương tự của các điểm đó sẽ được kiểm
tra, miễn là chúng vẫn tiếp tục tăng Độ cao tương đối của điểm cực đại so với
bên phải của i được cộng với độ cao tương đối của điểm cực đại so với điểm bên
trái (một điểm giữa xuất hiện tại điểm cực đại sẽ có độ đo bằng 0 vì cả hai điểm bên cạnh đều không cao hơn nó) Độ đo mới này được gọi là độ sâu, tương ứng với mức độ thay đổi xuất hiện ở hai phía của một điểm giữa của chuỗi token Đường biên của các phân đoạn sẽ được ấn định cho các điểm giữa của các chuỗi token có độ đo tương ứng lớn nhất và sẽ được điều chỉnh để lấy được điểm ngăn cách thực sự giữa các đoạn Ngoài ra, thuật toán cũng kiểm tra để đảm bảo các phân đoạn không quá gần nhau Theo thực nghiệm, nên có ít nhất 3 chuỗi token giữa 2 đường biên Điều này sẽ giúp ngăn những văn bản có thông tin tiêu đề giả
và các đoạn chỉ có một câu Một ví dụ cho trường hợp này chính là trong văn bản có sẵn câu tiêu đề cho mỗi đoạn và thông thường câu đó được ngăn với đoạn văn bản tương ứng cũng bằng một dấu ngắt đoạn
Hình 1 Đồ thị biểu diễn sự thay đổi độ đo tương tự
Thuật toán phải xác định có bao nhiêu phân đoạn (segment) sẽ được ấn định cho một văn bản vì mỗi đoạn (paragraph) cũng có thể là một đường biên tiềm năng Không thể có một ngưỡng cố định cho trường hợp này vì nó phụ thuộc theo kiểu văn bản và độ dài văn bản
Hearst đã đưa ra một phương pháp tham ăn cho phép xác định số lượng đường biên được ấn định phụ thuộc theo chiều dài văn bản và phụ thuộc theo
Trang 19các độ đo tương tự trong văn bản đó: giá trị ngưỡng là một hàm của giá trị trung bình và độ lệch chuẩn của độ sâu của văn bản sau khi được phân tích Theo đó, một đường biên được ấn định chỉ khi độ sâu của nó vượt qua s 2, trong đó
s là giá trị trung bình còn là độ lệch chuẩn
Trong [16] trình bày phương pháp đánh giá giải thuật phân đoạn văn bản thông qua độ chính xác và độ hồi tưởng, tuy nhiên các độ đo này tỏ ra không thích hợp với bài toán phân đoạn văn bản Trong [23], các tác giả đã trình bày
một độ đo khác WindowDiff là mở rộng của độ đo P k do Beeferman đưa ra trong [4] Các độ đo này sẽ được trình bày trong Chương 3
Một thuật toán tương tự thuật toán của Hearst là thuật toán của Reynar [25] Thuật toán này cũng thực hiện bước phân tích hình thái để loại bỏ các từ dừng và từ phổ biến Tuy nhiên ở bước sau, thuật toán này sử dụng các câu của văn bản (cú pháp hoàn chỉnh) thay vì các câu giả với độ dài cố định như trong thuật toán của Hearst và sau đó tiến hành tính toán độ tương tự trên tất cả các cặp câu trong văn bản Do đó thuật toán này còn được gọi là thuật toán tính độ tương tự toàn cục so với thuật toán của Hearst tính toán độ tương tự cục bộ (chỉ tính trong vùng lân cận của văn bản) Tiếp đó, thuật toán dựng một đồ thị theo kĩ
thuật dotplotting được trình bày trong [7] Hình 2 là ví dụ của đồ thị dotplotting,
như ta thấy trên đồ thị, các vùng văn bản có độ tương tự cao sẽ sẽ hình thành các khối đậm hơn (mật độ cao) và tập trung quanh đường chéo chính Các đường kẻ dọc là vị trí phân đoạn thực tế trong văn bản Và như quan sát thấy trên đồ thị, các điểm phân cách giữa các vùng có mật độ cao trên đường chéo chính hầu như trùng với điểm phân đoạn thực tế của văn bản
Hình 2 Đồ thị dotplotting cho một văn bản
Trang 20Thuật toán này cũng sử dụng các mối liên kết từ vựng như của Hearst, chỉ khác là thuật toán này sử dụng câu cú pháp thay vì câu giả và sử dụng kĩ thuật
dotplotting để xác định điểm biên thay vì dùng các phương pháp giải tích như
của Hearst Theo [20], việc sử dụng chuỗi token có độ dài cố định hay thay đổi
có tác dụng gần như nhau, không có sự khác biệt đáng kể trong kết quả
Ngoài ra, trong [6], các tác giả đã trình bày một phương pháp tổng hợp dựa trên kĩ thuật của Hearst và kĩ thuật dotplotting cải tiến với việc áp dụng các phép toán xử lí ảnh (nhân chập với một ma trận vuông kích thước 3 3 ) để làm
rõ nét hơn vị trí của các đường biên và qua đó tìm được chính xác hơn vị trí phân tách Thuật toán còn được gọi là thuật toán C99 Trong phần thực nghiệm, luận văn sẽ sử dụng công cụ C99 của Choi là một trong hai công cụ để phân đoạn văn bản
2.2.2 Sử dụng mô hình nhát cắt cực tiểu
Ngoài việc sử dụng các mối liên kết từ vựng, chúng ta còn có thể ứng dụng lí thuyết đồ thị để giải quyết bài toán phân đoạn văn bản Tiêu biểu cho phương pháp này là mô hình nhát cắt cực tiểu được trình bày trong [20] Mô hình này sử dụng phép phân hoạch đồ thị thoả mãn điều kiện nhát cắt chuẩn hoá (normalized-cut criterion) [26]
Trong khi các cách tiếp cận trước đây sử dụng độ đo tương tự để phân đoạn thì trong mô hình này, các tác giả mô hình hoá các đối tượng của bài toán thông qua các đỉnh, cạnh và nhát cắt trên đồ thị Mô hình này sẽ tìm cách cực đại độ tương tự trong mỗi phân đoạn và cực tiểu độ tương tự giữa các phân đoạn khác nhau
Mô hình nhát cắt cực tiểu
Cho đồ thị GV E, là một đồ thị vô hướng có trọng số trong đó V là tập hợp các đỉnh tương ứng với các câu trong văn bản và E là tập hợp các cạnh
có trọng số Trọng số w u v định nghĩa độ tương tự giữa hai đỉnh u và v, trong ,
đó trọng số cao hơn chỉ ra rằng độ tương tự cao hơn Chi tiết về cách thức xây dựng đồ thị sẽ được trình bày ở phần xây dựng đồ thị
Trước hết ta sẽ xem xét bài toán phân hoạch đồ thị thành hai tập hợp đỉnh
A và B Chúng ta sẽ phải làm cực tiểu giá trị của nhát cắt mà giá trị này được
định nghĩa là tổng trọng số của các cạnh nối giữa hai tập hợp đỉnh Hay nói cách khác, ta muốn chia các câu thành hai tập hợp có độ phân biệt đạt cực đại bằng
cách chọn A và B để cực tiểu hoá giá trị nhát cắt:
Trang 21Thông qua việc cực tiểu hoá giá trị này, chúng ta sẽ vừa cực tiểu hoá được
độ tương tự giữa các tập hợp, lại vừa cực đại hoá độ tương tự bên trong mỗi tập hợp Công thức này cũng cho phép chúng ta phân chia giá trị mục tiêu thành tổng của các số hạng riêng lẻ, và cho phép một giải pháp quy hoạch động cho bài toán nhát cắt nhiều đường (nhiều nhắt cắt tại một thời điểm)
Điều kiện này có thể dễ dàng được mở rộng cho trường hợp nhát cắt
chuẩn hoá k-đường:
trong đó A1,,A k là một phân hoạch của đồ thị
Trong [26] đã chỉ ra rằng bài toán cực tiểu nhát cắt chuẩn hoá trên đồ thị
là bài toán NP đầy đủ Tuy nhiên, trong bài toán này, nhát cắt đa đường bị ràng buộc bởi điều kiện duy trì tính tuyến tính của phép phân đoạn Ràng buộc này có nghĩa là tất cả các đỉnh nằm giữa các đỉnh trái nhất và các đỉnh phải nhất của một phân hoạch cụ thể phải thuộc phân hoạch đó Với ràng buộc này, các tác giả
đã trình bày một thuật toán quy hoạch động để tìm chính xác nhát cắt chuẩn hoá
đa đường cực tiểu trong thời gian đa thức:
Trang 22C i k là giá trị nhát cắt chuẩn hoá của phân đoạn tối ưu của k câu đầu
tiên vào phân đoạn i Phân đoạn thứ i, A bắt đầu từ đỉnh j k, u và kết thức ở đỉnh j
trong đó K là số lượng tập phân đoạn còn N là số lượng đỉnh trong đồ thị (số
lượng câu trong văn bản)
Trong quá trình tính toán độ tương tự, các câu sẽ được biểu diễn dưới dạng vectơ tần suất của các từ Độ đo tương tự thường dùng là độ đo cosin như
đã được giới thiệu ở phần trước Trong phần này, để tránh vấn đề độ chính xác
số học khi tính tổng một chuỗi các trọng số rất nhỏ, chúng ta sử dụng độ tương
tự hàm mũ giữa các vectơ của các câu:
Trang 23làm mịn đạt được bằng cách cộng số lượng từ xuất hiện trong các câu liền kề vào vectơ đặc trưng của câu hiện tại Số lượng này được tính toán phù hợp với khoảng cách của chúng từ câu hiện tại:
trong đó s i là vectơ tần suất các từ và là một tham số điều khiển độ mịn
Trong các công thức ở trên, các câu chính là các đỉnh Tuy nhiên, chúng
ta có thể biểu diễn các đỉnh của đồ thị là các chuỗi từ cố độ dài cố định và không giao nhau do trong một số trường hợp việc xác định ranh giới của câu là rất khó khăn (văn bản nói) Khi đó kích thước của chuỗi có thể chọn như trong thuật toán của Hearst được nêu ra ở phần trước
Ngoài các yếu tố trên, việc chọn trọng số cho các từ cũng có ảnh hưởng rất lớn tới chất lượng của việc phân đoạn [6] Thuật toán của Hearst ở trên sử
dụng tần suất của từ (TF) làm trọng số Tuy nhiên thực tế cho thấy có khá nhiều
từ phổ biến trong văn bản mà không có ý nghĩa mấy đến việc phân tách chủ đề
Ví dụ trong tài liệu nói về “Support Vector Machines” thì cụm từ SVM sẽ xuất hiện rất nhiều trong văn bản và nó không có ý nghĩa trong việc phân đoạn văn bản Do đó để giải quyết vấn đề này, trong thuật toán này, các tác giả sử dụng độ
đo TF IDF để loại bỏ những từ quá phổ biến
2.3 Sinh tiêu đề cho văn bản
So với toàn bộ văn bản, tiêu đề sẽ biểu diễn ngắn gọn thông tin trong văn bản và do đó giúp người đọc nhanh chóng nắm bắt được đại ý của toàn văn bản
Tự động sinh tiêu đề cho văn bản là một bài toán phức tạp, nó không chỉ đòi hỏi lựa chọn những từ có khả năng xuất hiện trong tiêu đề mà còn phải được sắp xếp theo một thứ tự phù hợp, đúng thứ tự và dễ hiểu Bài toán này có nhiều khác biệt
so với bài toán tóm tắt văn bản thông thường Ở bài toán tóm tắt văn bản thông thường, độ dài của đoạn tóm tắt thường là 50, 100, 200 hay 400 từ (theo các phân của DUC), nhưng với bài toán sinh tiêu đề thì độ dài đó chỉ là từ 1 đến 12
từ [3] (Hình 3) Cũng vì lí do độ dài ngắn như vậy cho nên trong bài toán này, người ta thường dùng các phương pháp trích chọn ra các từ hoặc cụm từ mang ý nghĩa chính trong văn bản mà cụ thể là các danh từ/cụm danh từ hoặc động từ/cụm động từ [2]
Trang 24Hình 3 Phân bố độ dài tiêu đề văn bản theo Reuters-1997
Hiện nay, phương pháp sinh tiêu đề cho văn bản được chia ra làm hai hướng chính:
- Sinh tiêu đề cho văn bản dựa trên việc trích chọn ra một từ/cụm từ
“đặc trưng nhất” cho văn bản Với phương pháp này thì độ dài của tiêu
đề thường rất ngắn (chỉ từ 1 đến 5 từ) nhưng về mặt cú pháp thì luôn được đảm bảo Hơn nữa phương pháp này thường là dựa trên các luật
cú pháp cho nên rất thích hợp với các trường hợp không có dữ liệu huấn luyện [2]
- Sinh tiêu đề cho văn bản được chia làm hai bước, bước thứ nhất sẽ là chọn ra các từ/cụm từ mang ý nghĩa chính trong văn bản Bước thứ hai
sẽ là sắp xếp các cụm từ để mang đúng cú pháp và dễ hiểu nhất [5, 17, 28] Tuy nhiên các phương pháp này thường sử dụng các mô hình học giám sát nên cần có dữ liệu huấn luyện
Trong phần tiếp theo, luận văn sẽ lần lượt giới thiệu hai thuật toán điển hình đại diện cho hai phương pháp trên
2.4 Các phương pháp sinh tiêu đề cho văn bản
2.4.1 Phương pháp trích chọn cụm từ
Phương pháp trích chọn cụm từ sẽ tiến hành phân tích các câu trong văn bản để tìm ra từ/cụm từ mang ý nghĩa tiêu biểu cho văn bản Phương pháp này thường dựa vào các đặc trưng như: vị trí của cụm từ và sự phổ biến của cụm từ
đó trong văn bản