Đề tài Xây dựng ứng dụng tóm lược tự động văn bản tiếng Việt

Đây là phần kiểm thử quan trọng nhất. Từ tập kiểm thử em chọn ra 10 văn bản bất kỳ. Các phương pháp đánh giá được áp dụng với các mức độ nén lần lượt là 10%, 20%, 30%, 40%,50%. Mức độ nén này được tính xấp xỉ theo tỉ lệ số câu. Các phương pháp tóm tắt hoặc ứng dụng trích rút được dùng : • Baseline : Mỗi văn bản tóm tắt được tạo bởi việc nối theo đúng thứ tự tự nhiên các câu đầu mỗi đoạn trong văn bản. Tất cả các câu đầu mỗi đoạn đều được chọn nên phương pháp Baseline chỉ áp dụng ở một độ nén cố định. • Human : Đây là tập tóm tắt dựng nên bởi các bạn sinh viên và chuyên gia ngôn ngữ. Đầu tiên họ chọn ra một số lượng các câu quan trọng, sát với ý chính của cả văn bản. Sau khi chọn, họ sắp xếp xem câu nào là câu quan trọng nhất, câu nào là câu quan trọng thứ hai, cứ thế cho đến hết số câu vừa chọn. Tiêu chí lựa chọn là do họ tự xây dựng. • MSSum : Đây là tập tóm tắt dựng nên bởi công cụ Auto Summarize của Microsoft Word 2002. Auto Summarize là một ứng dụng trích rút và sinh tiêu đề dựa trên các phương pháp thống kê, không bị ảnh hưởng quá nhiều vào ngôn ngữ và thể loại của văn bản. • VTAS : Kết quả trả về từ module trích rút của VTAS với các độ nén khác nhau và tổ hợp tuyến tính các “chiến lược” tóm tắt khác nhau. Với các tập kết quả trên, em đánh giá ứng dụng dựa trên các phương pháp đánh giá như sau

doc92 trang | Chia sẻ: aloso | Lượt xem: 1989 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Đề tài Xây dựng ứng dụng tóm lược tự động văn bản tiếng Việt, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
tuyến tính giữa hai tập điểm phù hợp x và y : Trong đó, x ngang và y ngang là trung bình của từng tập điểm phù hợp tương ứng đối với tập văn bản Di. Trên đây là một số phương pháp đánh giá bên trong cũng như bên ngoài một ứng dụng tóm tắt văn bản. Một vài phương pháp trong số này được em sử dụng để đánh giá hệ thống tóm tắt văn bản tiếng Việt. Kết quả đánh giá kiểm thử được nêu ở chương 5. 3.3.6. Các hệ đánh giá ứng dụng tóm tắt văn bản Hiện nay có rất nhiều các hệ thống đánh giá, các hệ này có thể áp dụng cho các loại ứng dụng tóm tắt, thậm chí còn áp dụng trong bất kỳ ngôn ngữ nào. Các hệ thống đánh giá này thường tiến hành các phương pháp đánh giá bên ngoài như TIPSTER, DUC... Tuy nhiên cũng có các hệ có thể dùng để đánh giá theo cả cách bên ngoài và bên trong như ROUGE. Nói chung các hệ thống đánh giá hiện nay thường cho các kết quả tin cậy. Tuy nhiên các hệ thống này chỉ mặc định dùng cho các ứng dụng tóm tắt tiếng Anh, Pháp...còn tiếng Việt thì ta cần phải xây dựng thêm vào hoặc xây dựng mới các tiêu chí đánh giá. 3.4. Một số hệ thống tóm tắt văn bản trên thế giới Hiện tại, trên thế giới đã có rất nhiều nghiên cứu và dự án xây dựng các ứng dụng tóm tắt văn bản. Các ứng dụng này có thể đáp ứng rất nhiều các mục đích khác nhau. Có thể kể ra một số ứng dụng Tóm tắt văn bản tiêu biểu như sau : SUMMARIST Một hệ thống Trích rút văn bản năm thứ tiếng (tiếng Anh, tiếng Nhật, tiếng Tây Ban Nha, tiếng Ả-rập và tiếng Hàn Quốc). Hiện tại SUMMARIST đang nghiên cứu để cải tiến trở thành một hệ thống Tóm lược văn bản và hỗ trợ nhiều ngôn ngữ hơn như tiếng Pháp và Indonesia. SweSUM Ứng dụng Tóm tắt văn bản đa ngôn ngữ của Học viện công nghệ hoàng gia Thụy Điển. SweSUM có thể tóm tắt các văn bản có ngôn ngữ vùng Scandinavi như Thụy Điển, Đan Mạch, Na Uy và các ngôn ngữ khác như tiếng Anh, Pháp, Đức, Tây Ban Nha và cả tiếng Iran. Hình 3.8: Giao diện SweSUM - Hệ thống Tóm tắt đa ngôn ngữ SumUM Hệ thống Tóm lược văn bản kỹ thuật của nhóm nghiên cứu xử lý ngôn ngữ tự nhiên trường Đại học Montréal, Canada. SumUM có thể thực hiện cả chức năng tóm tắt chỉ định và tóm tắt thông tin rất tốt.. FJCL Hệ thống Rút trích văn bản tiếng Nhật được phát triển trong phòng nghiên cứu Ikeda của trường đại học Gifu. Đây là một hệ thống sử dụng các phương pháp áp dụng cho hệ ngôn ngữ đơn âm tiết (monosyllabic language system) như tiếng Nhật, Hàn Quốc, Trung Quốc và Việt Nam. Pertinence Summarizer Hệ thống tóm tắt tin tức đa ngôn ngữ trực tuyến nổi tiếng. Hiện tại để thử nghiệm khả năng của mình, Pertinence đã được tích hợp với Google và tóm tắt tự động danh sách tìm kiếm trả về từ Google thông qua câu truy vấn đưa vào. Chúng ta có thể thử nghiệm hệ thống này trên trang web : www.pertinence.net . MEAD Nền tảng cho các hệ thống Tóm tắt nhiều văn bản và đa ngôn ngữ. Đây là một bộ công cụ xây dựng trên nền Linux và Solaris, sử dụng ngôn ngữ Perl - Một ngôn ngữ có khả năng xử lý văn bản rất linh hoạt và mạnh mẽ. MEAD biểu diễn, lưu trữ dữ liệu ở dạng XML, cung tấp cho chúng ta khung ứng dụng để cài đặt các ứng dụng Tóm tắt văn bản cho ngôn ngữ mà ta muốn. Ngoài ra MEAD cũng cung cấp các công cụ để xây dựng các ứng dụng đánh giá hệ thống tóm tắt theo các tiêu chí và các tập mẫu nổi tiếng. MEAD được xây dựng bởi các chuyên gia nổi tiếng về Xử lý ngôn ngữ ở khắp nơi trên thế giới dưới sự tài trợ của Chương trình Nghiên cứu Công nghệ thông tin của Tổ chức Khoa học quốc gia Mỹ. MEAD được cung cấp ở dạng mã nguồn mở để nghiên cứu và kế thừa. Hiện tại phiên bản mới nhất của MEAD là MEAD v3.07.. Microsoft Word AutoSummary Microsoft cũng cài đặt chức năng Trích rút và sinh tiêu đề trong Microsoft Word từ phiên bản Word '97. Chúng ta có thể thử bằng cách chọn Tools - AutoSummarize trên thanh công cụ (có thể khác tùy vào phiên bản). Công cụ này cho phép chúng ta chọn thông số về độ rút gọn, trích rút hay sinh tiêu đề... Hình 3.9: Giao diện và kết quả trích rút văn bản của Microsoft Word Ngoài ra còn các hệ thống Tóm tắt văn bản nổi tiếng khác như ANES hay SUMMONS. Tuy nhiên tại Việt Nam hiện nay chưa có một nghiên cứu và ứng dụng Tóm tắt văn bản chính thức nào. 3.5. Kết chương Như vậy, một ứng dụng tóm tắt văn bản thường đi qua ba pha chính : Ở pha phân tích, các câu quan trọng, chứa đựng ý chính sẽ được chọn ra thông qua các phương pháp trích rút. Sang pha Biến đổi, các câu này sẽ được rút gọn từng câu một, kết quả ta sẽ được một mảng các câu quan trọng và ngắn gọn. Ở pha Hiển thị cuối cùng, dựa trên các thông tin ban đầu về liên kết giữa các đoạn và câu, chúng ta sinh ra văn bản mới, là phiên bản rút gọn của văn bản đầu vào. Một ứng dụng Rút trích chỉ gồm hai pha : pha Phân tích và Pha Hiển thị. Trong đó, qua pha Hiển thị, các câu quan trọng được xếp lại theo thứ tự ban đầu, không có liên kết về cú pháp và ngữ nghĩa. Điều này sẽ nảy sinh một số vấn đề về độ dễ đọc dễ hiểu của văn bản kết quả. Một ứng dụng Tóm lược, ngược lại, thực hiện các công việc của cả ba pha, và đạt được kết quả mang tính tự nhiên hơn. Ngoài ra, việc đánh giá tóm tắt là một công việc vô cùng quan trọng, là một phần không thể thiếu trong khi cài đặt các giải thuật và xây dựng ứng dụng tóm tắt cũng đã được em đề cập đến bằng những khái niệm cơ bản nhất. Thông qua những tìm hiểu và nghiên cứu về bài toán Tóm tắt văn bản và các đặc trưng ngôn ngữ của tiếng Việt, em quyết định sẽ xây dựng một hệ Tóm lược văn bản tiếng Việt tự động. Chương sau sẽ nói rõ hơn về các thuật toán cài đặt các vấn đề lý thuyết cơ bản mà em đã nêu ra ở những chương trước và việc tích hợp các module Phân tích, Biến đổi, Hiển thị thành một ứng dụng Tóm lược hoàn chỉnh. Chương 4. XÂY DỰNG ỨNG DỤNG TÓM LƯỢC VĂN BẢN TIẾNG VIỆT Chương này em xin trình bày về VTAS. Ứng dụng Tóm lược văn bản tiếng Việt. VTAS được cài đặt các thuật toán hiện thực hóa các vấn đề lý thuyết đã nêu ở các chương trước: Vấn đề tiền xử lý và mô hình hóa văn bản. Chọn câu quan trọng và rút gọn các câu này theo các phương pháp khác nhau, hiển thị kết quả. 4.1. Mô hình xây dựng ứng dụng Dựa trên mô hình chung của bài toán Tóm tắt văn bản, em đã xây dựng mô hình ứng dụng tóm lược tự động văn bản tiếng Việt VTAS (Vietnamese Text Abstractive System). Ứng dụng gồm các phần sau: Phần Tiền xử lý văn bản tiếng Việt làm các công việc như chuẩn hóa văn bản đầu vào, mô hình hóa văn bản và phân loại văn bản đó nhằm áp dụng các “chiến lược” tóm tắt khác nhau đối với từng thể loại văn bản. Phần Phân tích, Biến đổi, Hiển thị có cài đặt của một số thuật toán cụ thể hóa các vấn đề lý thuyết đã nêu trong chương ba. Một số các module dùng chung để thực thi các công việc của Xử lý ngôn ngữ tự nhiên cũng như của Khai phá văn bản như Phân tích cú pháp, Nhận dạng Named Entity, Vector hóa… Một số các module dùng để xây dựng tự động và bán tự động một số tài nguyên ngữ liệu dùng cho ứng dụng… Các module hiển thị kết quả thực thi các phương pháp tóm tắt nhằm mục đích đánh giá, kiểm thử. Văn bản kết quả Văn bản nguồn Hệ Rút trích Chuẩn hóa đầu vào Mô hình hóa văn bản Danh sách thuật ngữ Danh sách NE Việt Nhận dạng NE Title Heading Quan hệ liên đoạn Tần suất xuất hiện Phân tích cú pháp Danh sách Stopword Kết hợp tuyến tính và sắp xếp theo điểm TFIPF Rút gọn câu theo cú pháp Hợp giải tham chiếu Hiển thị Lọc bỏ Stopword Hình 4.1: Mô hình ứng dụng Tóm lược văn bản tiếng Việt 4.2. Cài đặt tiền xử lý văn bản tiếng Việt 4.2.1. Chuẩn hóa văn bản Module này thực hiện các công việc như chuẩn hóa định dạng văn bản vào, loại bỏ các dấu ngắt không đáng có 4.2.2. Mô hình hóa văn bản. Đối tượng văn bản đã được mô hình hóa Văn bản đã chuẩn hóa Tách đoạn và câu Tách thuật ngữ Xác lập các thông số khác Danh sách thuật ngữ tiếng Việt Hình 4.2: Mô hình hóa văn bản Để tiện cho việc xử lý và hiển thị, văn bản đầu vào được mô hình hóa thành đối tượng clsDocument. Đối tượng clsDocument bao gồm một mảng các đối tượng clsParagraph thể hiện cho các đoạn văn bản. Mỗi đối tượng clsParagraph về phần mình lại gồm mảng các clsSentence - đối tượng mô tả các câu trong đoạn. Một clsSentence bao gồm mảng các chỉ số của term trong câu. Ngoài ra, mỗi đối tượng clsDocument, clsParagraph, clsSentence còn chứa các thông tin khác tương ứng như số đoạn trong văn bản, số câu trong đoạn, đoạn này có phải là câu mở đầu hay không, câu này có phải là câu kết thúc hay không… Cuối cùng, các đối tượng này đều có thuộc tính Content để chứa dạng văn bản tương ứng của văn bản, đoạn hay câu. Nói chung, các đối tượng này được hiểu như là văn bản, đoạn văn, câu văn với tất cả các thuộc tính cần thiết. Việc tách đoạn và câu dựa trên các dấu ngắt đoạn và dấu ngắt câu. Một module chuẩn hóa dấu chấm câu, phân biệt với dấu chấm thập phân, dấu chấm trong địa chỉ web, mail..., cũng được em cài đặt nhằm phân tách câu sao cho chính xác - một vấn đề khá quan trọng trong bài toán tóm tắt văn bản. Sau khi tách đoạn và câu, mỗi câu sẽ được tách thuật ngữ theo phương pháp em sẽ trình bày dưới đây. Kết quả là một câu sẽ được tách thành mảng các term thuật ngữ dạng chuỗi ký tự hay dạng chỉ số của thuật ngữ trong từ điển. Cuối cùng, danh sách này sẽ được mô hình hóa bởi mô hình không gian vector thưa, với các trọng số của term là số lần xuất hiện của term đó trong văn bản. Song song với quá trình tách đoạn, câu và vector hóa mảng term này, các thông số khác của đối tượng clsDocument cũng được xác lập. Chú ý rằng câu Title cũng là một câu và được mô hình hóa bởi một đối tượng clsSentence đặc biệt. 4.2.3. Tách thuật ngữ. Như chúng ta đã đề cập trong phần Những vấn đề cơ bản của Xử lý ngôn ngữ tự nhiên, nhiều phương pháp tách thuật ngữ đã được thế giới nghiên cứu và sử dụng như Đối sánh thuật ngữ dài nhất, Đồ thị chuyển trạng thái (Transducing Graph), Tách dựa cú pháp, Mô hình Markov ẩn… Trong đồ án này em lựa chọn phương pháp Đối sánh thuật ngữ dài nhất. Đây là một phương pháp dễ cài đặt, tốc độ phân tách nhanh, độ chính xác có thể chấp nhận được đối với một bài toán Tóm tắt văn bản. Phương pháp này dựa trên một từ điển tiếng Việt, nói chính xác hơn là một danh sách các từ, cụm từ (term) tiếng Việt. Có hai phương pháp Đối sánh thuật ngữ dài nhất, đối sánh từ trái qua và đối sánh từ phải qua. Thuật toán đối sánh từ trái qua như sau : Hình 4.3: Giải thuật tách term từ trái qua Ví dụ: xét câu Hôm nay trời đẹp. Đầu tiên ta kiểm tra xem trong từ điển có term hôm nay trời đẹp không ? Kết quả là không có. Ta tách bớt âm tiết cuối ra, và kiểm tra hôm nay trời có trong từ điển không ? Kết quả cũng không có. Ta lại bỏ bớt một tiếng nữa ra, kiểm tra từ điển có term hôm nay không? Kết quả là có, và hôm nay được coi là một term đã tìm thấy. Ta kiểm tra tiếp phần còn lại của câu, còn lại trời đẹp, kiểm tra xem có term này không . Kết quả là không có, ta lại bỏ tiếng đẹp đi và xét xem có term trời không? Kết quả là có, và ta thu được hai term từ truy vấn con thứ nhất là hôm nay và trời. Xét đẹp xem có hay không ? Kết quả là có, và ta thu được từ truy vấn con thứ nhất các term hôm nay, trời và đẹp. Thuật toán đối sánh từ phải qua chỉ khác thuật toán đối sánh từ trái qua đó là lấy chuỗi dài nhất từ cuối câu (vị trí xuất phát là bên phải nhất) và khi ta cắt chuỗi hay tiếng thì ta cắt phần bên trái nhất đi, giữ lại phần bên phải. Cuối cùng khi thuật toán kết thúc, ta đảo ngược lại thứ tự các term tách được trong danh sách term. Đối với tiếng Việt, độ chính xác của thuật toán đối sánh từ phải qua cao hơn thuật toán từ bên trái, do trong cấu tạo các ngữ danh từ thì các tính từ đứng sau danh từ, còn phần mạo từ hay số từ đi trước không hay kết hợp với các tiếng của danh từ chính để có thể tạo ra mập mờ. Xét ví dụ sau : Ban công tác đã xác định được vấn đề. Khi sử dụng thuật toán từ trái qua, ta sẽ tách được các term như sau : ban công, đã, xác định, được, vấn đề. Như vậy đã có sai sót ở đây. Khi sử dụng thuật toán từ phải qua, ta sẽ tách được chính xác câu này. Kết quả như sau : vấn đề, được, xác định, đã, công tác, ban. Và ta chỉ cần đảo ngược lại thứ tự này. Chúng ta còn có thể thấy rất nhiều câu mà khi dùng thuật toán từ phải qua sẽ khắc phục được sai sót của thuật toán từ trái qua như : “Chúng em thuộc địa bàn do anh ta quản lý”hay “Một chiều đường đã bị cấm lưu thông”…Tuy nhiên, cũng có nhiều câu mà cả hai thuật toán này đều không tách đúng. Ví dụ như câu “Học sinh học sinh học”. Rõ ràng, thuật toán Đối sánh thuật ngữ dài nhất tuy dễ cài đặt nhưng độ chính xác không cao như các thuật toán khác. Thông qua các phân tích trên đây, em lựa chọn cài đặt thuật toán thuật toán Đối sánh thuật ngữ dài nhất từ phải qua cho ứng dụng của mình. Sau đây là sơ đồ cụ thể của thuật toán này : Hình 4.4: Giải thuật tách term từ phải qua 4.3. Lựa chọn, cài đặt các kĩ thuật sử dụng trong bài toán Tóm tắt 4.3.1. Các phương pháp trong pha Phân tích Trong pha phân tích, các đoạn và câu trong văn bản được áp dụng các tiêu chí khác nhau nhằm xác định được các câu quan trọng nhất, có thể đại diện được cho văn bản. Mỗi một phương pháp sẽ “chấm điểm” cho câu theo tiêu chí của phương pháp đó, và cuối cùng, các điểm này sẽ được kết hợp theo một phương trình tuyến tính với các hệ số tuyến tính được xác định thông qua kiểm thử. Tổng điểm cuối cùng thông qua biểu thức tuyến tính là căn cứ để sắp xếp các câu theo độ quan trọng giảm dần. Sự chính xác của toàn bộ ứng dụng phụ thuộc phần lớn vào pha này, các pha khác không làm tăng độ chính xác mà chỉ làm giảm đi. Thông qua việc kiểm thử, chúng ta xác định các hệ số tuyến tính sao cho ứng dụng có được độ chính xác lớn nhất. Các hệ số tuyến tính cũng đại diện cho sự kết hợp của các phương pháp với nhau và việc đánh giá những đóng góp của mỗi phương pháp, xem phương pháp nào nên dùng hơn cả. Xét về mặt chính xác và thời gian xử lý cũng như yêu cầu về tài nguyên ngôn ngữ, trong pha Phân tích, sau khi lựa chọn trong các phương pháp đã nêu ở chương ba, VTAS được cài đặt các phương pháp sau : a. Phương pháp Title - Title là câu tiêu đề của văn bản, phân biệt với các Heading - câu phụ đề cho mỗi đoạn, câu chú thích cho ảnh, bảng, hình vẽ... Một văn bản chỉ có thể có một Title và có thể không có Title. Việc xác định Title hiện tại dựa vào nhận xét : Title là câu duy nhất của đoạn đầu tiên. Nghĩa là ta xét đoạn đầu tiên của văn bản, nếu đây chỉ có một câu thì câu này là Title, ngược lại, ta coi văn bản không có Title. Cách xác định này phụ thuộc định dạng của văn bản đầu vào. - Nếu một văn bản có Title, Title của văn bản sẽ được lấy làm Title hoặc câu đầu tiên của văn bản kết quả. - Nếu một văn bản có Title, các term có trong Title được dùng để đánh giá các câu khác trong văn bản. Mỗi câu trong văn bản tùy thuộc vào sự xuất hiện các term của Title sẽ được gán điểm TitlePoint cụ thể. Hình 4.5: Phương pháp tiêu đề b. Phương pháp Heading - Heading thường là các câu chú thích cho ảnh, hình vẽ... trong các báo điện tử và các tên đề mục trong các văn bản khoa học, tác phẩm văn học... Các Heading được VTAS xác định theo cách tương tự như Title : Khi mô hình hóa văn bản, VTAS đã đánh dấu các đoạn văn bản mà chỉ có duy nhất một câu. Đến pha Phân tích, câu được kiểm tra nòng cốt Đề-thuyết. Sau đó các term của câu sẽ được tách ra và dùng làm tiêu chí để đánh giá các câu khác trong văn bản thông qua việc gán điểm HeadingPoint. Khi áp dụng phương pháp Heading, chúng ta cần chú ý một số vấn đề sau : - Một Heading nếu không đạt về tính hoàn thiện ngữ pháp thì các term vẫn được dùng để đánh giá các câu khác, tất nhiên bản thân Heading sẽ không được chọn làm câu tóm tắt. Điều này rút ra từ nhận xét là các Heading thường chứa các term quan trọng, sát với nội dung văn bản nhưng thường chỉ là một ngữ danh từ. Ngược lại, nếu Heading có đủ phần đề thuyết thì sẽ được chọn làm câu tóm tắt theo vị trí của heading đó trong văn bản đầu vào. - Hệ số tuyến tính của phương pháp Heading không cao bằng phương pháp Title vì các term trong Title có độ quan trọng cao hơn. c. Phương pháp NamedEntity - NE - Các named entity là các tên riêng như địa danh, tên người, tên tổ chức..., các chữ viết tắt, các ký hiệu... Các named entity là các “chứng cứ” rất quan trọng cho việc chọn ra các câu tóm tắt, có thể nói các named entity có độ quan trọng cao hơn các term xét trong một vị trí cụ thể như Title, Heading hay các câu bình thường trong văn bản. - Việc xác định named entity trong văn bản dựa trên việc phân chia các named entity ra làm hai loại và áp dụng các thuật toán khác nhau cho hai loại này : Thứ nhất là các named entity gồm hai tiếng (bigram) trở lên. Các named entity này thường là các tên riêng tiếng Việt như Mỹ Linh, Hồng Sơn (tên người), Hà Nội, Hoàn Kiếm (tên địa danh)... Việc xác định các NamedEntity này gần giống như thuật toán tách thuật ngữ với đối tượng xét là các chuỗi có các tiếng viết hoa liền nhau. Vấn đề chính là ở việc xác định chuỗi có các tiếng viết hoa liền nhau và phân biệt một named entity ở đầu câu với các term đầu câu bình thường khác. Thứ hai là các named entity gồm một tiếng (unigram). Các named entity này thường là các tên riêng nước ngoài, các thuật ngữ nước ngoài, các chữ viết tắt, các ký hiệu hóa học... Chú ý rằng các named entity hai tiếng tên riêng nước ngoài kiểu này được hiểu như hai named entity một tiếng. Điều này không ảnh hưởng tới tính chính xác của thuật toán. Ví dụ Bill Gate sẽ được hiểu là hai named entity là Bill và Gate. Việc xác định các named entity này như sau : Đầu tiên các chuỗi sẽ được tách từng tiếng viết hoa , sau đó kiểm tra xem tiếng này có trong từ điển tiếng Việt hay không, nếu không thì có thể coi đây là một named entity. Việc xác định đồng thời hai loại named entity này có thể dẫn tới sự trùng lặp giữa hai danh sách. VTAS có một module nhỏ để loại bỏ sự dư thừa đó. Thuật toán xác định named entity này rất đơn giản nhưng thông qua kiểm thử em nhận thấy kết quả thu được có độ chính xác cao. - Bằng phương pháp trêm, Title và các Heading được xác định named entity và dùng các named entity này để đánh giá các câu khác và gán điểm NEPoint cho từng câu đó. Tương tự như trường hợp các term, các named entity của Title có độ quan trọng cao hơn của các Heading. Ngoài ra các named entity còn dùng cho module Hợp giải tham chiếu (Coreference Resolution) và các thuật toán sinh văn bản trong pha Hiển thị. d. Phương pháp Quan hệ liên đoạn (Paragraph Cooccurence) - Phương pháp này thuộc các phương pháp cấu trúc trong pha Phân tích. Các đoạn văn được xác định độ liên quan lẫn nhau và dựa vào các độ liên quan này ta gán điểm Cooccurence cho các câu thuộc mỗi đoạn văn đó. Thuật toán cụ thể như sau : Văn bản có n đoạn P1, P2, ..., Pn. Ta tính quan hệ của đoạn Pi với đoạn Pj thông qua công thức Cosine : Pij = với i=;j=; Các giá trị PCij được ghi vào phần tử i,j của một mảng hai chiều nxn. Điểm Cooccurence của đoạn Pi được tính như sau Point(Pi) = Mỗi câu thuộc đoạn Pi được gán điểm Cooccurence bằng điểm Cooccurence của đoạn Pi. Theo tiêu chí của phương pháp này, các câu càng có điểm Cooccurence lớn thì càng quan trọng. Chúng ta chú ý rằng các câu trong cùng một đoạn thì có điểm Cooccurence bằng nhau, điều này sẽ ảnh hưởng phần nào tới độ chính xác của thuật toán. Có thể khắc phục vấn đề bằng cách tính quan hệ lẫn nhau giữa các câu chứ không phải là các đoạn hoặc sau khi tính quan hệ lẫn nhau giữa các đoạn rồi chúng ta tính quan hệ giữa các câu trong đoạn với đoạn đó để xem mức độ “đóng góp” vào điểm Cooccurence của từng câu như thế nào. Tuy nhiên cả hai hướng này đều đòi hỏi tốn thêm nhiều tài nguyên hệ thống cũng như thời gian xử lý nên em không cài đặt theo hai hướng vừa nêu. Một chú ý nữa là do cách đánh giá tính toán độ quan trọng của phương pháp này khác hẳn với các phương pháp khác nên việc xác định hệ số tuyến tính của phương pháp phải dựa trên kết quả kiểm thử mà cải thiện chứ không thể dùng một tiêu chí định lượng nào khác để đánh giá xác định hệ số đó. Hiện tại VTAS đang để hệ số này là 1. e. Phương pháp Tần suất xuất hiện của thuật ngữ Phương pháp này dựa trên cách đánh giá TF (Term Frequency) : Một term xuất hiện trong văn bản nhiều hơn một ngưỡng nào đó thì được coi là term đạt tiêu chuẩn TF và danh sách các term TF trong văn bản được dùng để đánh giá các câu thông qua việc gán điểm TF tùy vào độ xuất hiện của term đó. Hiện tại VTAS để ngưỡng là.... Thông qua kết quả kiểm thử, phương pháp này cho kết quả khá cao, tuy nhiên thời gian xử lý lớn. Hình 4.6: Phương pháp tần suất xuất hiện f. Phương pháp TFxIPF (Term Frequency times Inverted Paragraph Frequency) Phương pháp này dựa trên cách đánh giá TFxIDF đã nêu trong chương 1, phần mô hình biểu diễn văn bản bằng mô hình không gian vector. Theo cách đánh giá này một thuật ngữ là quan trọng và đặc trưng khi nó xuất hiện nhiều trong văn bản này và ít xuất hiện trong các văn bản khác. Ở đây, một thuật ngữ được xét ở trong một đoạn và nó được tính điểm TFIPF theo công thức : Trong đó tf là số lần xuất hiện term i trong đoạn, N là tổng số đoạn trong văn bản, ni là số đoạn chứa term i Sau đó tất cả các thuật ngữ đều được tính điểm TFIPF, sắp xếp giảm dần theo điểm này. Một phần trăm nào đó của các thuật ngữ có số điểm TFIPF cao nhất sẽ được dùng để đánh giá các câu trong văn bản giống như cách của các phương pháp Title, Heading hay Tần suất xuất hiện : gán điểm TFIPF cho mỗi câu dựa trên sự có mặt của các thuật ngữ TFIPD trong câu. Trước khi áp dụng các phương pháp nêu trên của pha Phân tích, văn bản cần được loại bỏ từ dừng (Stopword) bởi vì các từ dừng này ảnh hưởng rất lớn đến độ chính xác của các tiêu chí gán điểm. Các từ dừng là các từ xuất hiện nhiều trong văn bản nhưng không mang nhiều ý nghĩa về mặt nội dung, thường là các hư từ, mạo từ như và, nên, vì thế, tuy nhiên… VTAS loại bỏ từ dừng thông qua một module rất đơn giản, kiểm tra trong các term của văn bản, đoạn văn, câu văn xem có các term trong danh sách từ dừng tiếng Việt không, nếu có thì loại bỏ. Danh sách từ dừng tiếng Việt được xây dựng bán tự động dựa trên việc thu thập các từ xuất hiện nhiều trong một lượng lớn các văn bản thuộc các lĩnh vực khác nhau. Rõ ràng với việc phân tán nội dung như vậy, các từ xuất hiện nhiều là các từ dừng. Sau đó danh sách từ dừng này còn được chuẩn hóa bằng tay. Việc loại từ dừng không thực hiện ở pha tiền xử lý vì rất nhiều từ dừng là những chứng cớ ngôn ngữ rất quan trọng cho các pha sau, đặc biệt là pha Hiển thị. Trong pha hiển thị, dựa vào một số các từ dừng, thường là từ nối, để sinh trở lại văn bản. Trong pha phân tích, em có cài đặt một số các phương pháp khác như Ngữ cố định, Vị trí tối ưu, Chuỗi từ vựng, tuy nhiên chưa tích hợp vào VTAS do chưa chứng minh được tính đúng đắn, do chi phí tính toán cho các thuật toán theo phương pháp đó lớn hoặc do chưa áp dụng được với kiểu tài liệu đầu vào và ngữ liệu tiếng Việt hiện tại. 4.3.2. Các phương pháp trong pha Biến đổi 4.3.2.1. Biến đổi nhờ vào rút gọn câu Như chúng ta đã đề cập, các phương pháp biến đổi nhờ vào rút gọn câu không tăng thêm độ chính xác của ứng dụng tóm tắt, chỉ làm tăng độ nén cũng như làm cho người đọc dễ hiểu và nắm bắt được vấn đề chính. Trong đồ án này em chọn phương pháp rút gọn câu dựa theo luật cú pháp. Các luật cú pháp rút gọn thông thường được thu về thông qua việc học, áp dụng vào một câu đã phân tích cú pháp để rút gọn cấu trúc câu đó. Nhưng hiện tại em chưa có một bộ phân tích cú pháp chính xác mà chỉ là một bộ phân tích nông (shallow parser) nên chỉ có một số luật cơ bản được áp dụng để rút gọn như xóa ngữ đồng vị, xóa bỏ chú thích, xóa trạng ngữ, giữ lại danh từ chính trong ngữ danh từ. Các thuật toán loại bỏ ngữ đồng vị, xóa chú thích, xóa trạng ngữ hay giữ lại danh từ được cài đặt trong đồ án này là các thuật toán khác nhau chứ không phải dựa trên các tập luật rút gọn thống nhất. Thông qua kiểm thử em nhận thấy bốn thuật toán này làm việc rất hiệu quả, áp dụng trên nhiều câu và có độ chính xác cao so với việc học từ các tập mẫu và đưa ra tập luật rút gọn thống nhất. i. Thuật toán loại bỏ ngữ đồng vị Ngữ đồng vị là các ngữ đóng cùng một vai trò với một thành phần nào đó của câu, thường là ngữ danh từ. Các ngữ đồng vị này không mang nhiều chức năng cú pháp, chỉ làm rõ nghĩa cho câu : Ví dụ: Bill Gate, chủ tịch tập đoàn Microsoft, là người giàu nhất thế giới. Ở đây, “chủ tịch tập đoàn Microsoft” là ngữ đồng vị, có thể bỏ đi, kết quả chấp nhận trong một chừng mực nào đó khi ta phải ưu tiên thực hiện yêu cầu về độ nén. Ngữ đồng vị là trường hợp xuất hiện khá nhiều trong các mẩu tin, thường được phân cách bởi một cặp dấu phảy, đây chính là dấu hiệu để phân tách ngữ đồng vị và thành phần cùng chức năng với chúng. Chúng ta có thể dễ dàng phân biệt ngữ đồng vị với tập liệt kê các cụm danh từ - vốn không thể loại bỏ - bằng việc xét chức năng từ loại của thành phần đi ngay sau dấu phảy cuối cùng Ví dụ: Một chiếc Toyota, hai chiếc Hyundai, hai chiếc Mercedez đã bị tạm giữ ngay trong ngày đầu tiên. Ví dụ trên đây là tập liệt kê cụm danh từ vì ngữ đầu tiên sau dấu phảy cuối “hai chiếc Mercedez” vốn là một ngữ danh từ, khác với ngữ đi sau dấu phảy trong trường hợp ngữ đồng vị sẽ là ngữ động từ. Như vậy ta kiểm tra xem ngữ đi ngay sau dấu phảy cuối cùng là ngữ động từ hay ngữ danh từ. Trong trường hợp là ngữ động từ thì ngữ nằm giữa hai dấu phảy cuối cùng là ngữ đồng vị và ta có thể loại bỏ. Tất nhiên trước khi thực hiện việc này chúng ta phải phân tách tập ngữ danh từ và ngữ động từ - nòng cốt của câu - bằng bộ phân tích cú pháp nông để giảm thiểu sai sót gây ra do các dấu phảy nằm ở ngữ động từ. ii. Loại bỏ chú thích Chú thích thực ra phần lớn là một loại ngữ đồng vị, nhưng được phát hiện dễ dàng hơn và thuật toán loại bỏ chúng cũng đơn giản hơn nhiều. Điều này kéo theo độ chính xác của phương pháp là rất cao so với các phương pháp rút gọn khác. Hiện tại, hệ thống chỉ coi những phần nào nằm trong dấu ngoặc đơn, nằm giữa hai dấu ngạch ngang (- như thế này -) là chú thích. Sau khi nhận biết, chúng ta lập tức xóa các chú thích đi. Thuật toán chỉ đơn giản kiểm tra một câu có cặp “()” hay “- -” thì xóa phần nằm giữa. iii. Loại bỏ trạng ngữ Trạng ngữ là các ngữ bổ nghĩa cho câu (chính xác hơn là bổ nghĩa cho động từ chính trong câu ) về mặt thời gian, nơi chốn, nguyên nhân, mục đích, cách thức Ví dụ: Nằm ở xã Kim Thuỷ, huyện Lệ Thuỷ, Quảng Bình, suối Bang còn nguyên nét hoang sơ kỳ bí với đường vào hẹp, quanh co và dốc. Từ ngày hôm nay, nhiều trường đại học trên địa bàn thành phố tiếp tục nhận hồ sơ thí sinh trúng tuyển nguyện vọng một và hai. Để tránh lộn xộn và quá tải, ĐH Kinh tế tiếp nhận hồ sơ sinh viên theo khu vực. Các trạng ngữ này được phát hiện bằng cách tương tự như ngữ đồng vị : Ngữ trước dấu phảy duy nhất của câu được lấy ra và kiểm tra xem có là một ngữ danh từ hay không, nếu không phải, và đồng thời ngữ sau dấu phảy là một ngữ danh từ thì chương trình coi đây là một trạng ngữ và chương trình sẽ loại bỏ trạng ngữ đó. Đây là trường hợp xuất hiện nhiều nhất trong các mẩu tin và cũng là một phương pháp có độ chính xác cũng như độ nén cao. iv. Giữ lại cụm danh từ chính trong ngữ danh từ : Đây là phương pháp rút gọn đơn giản nhưng chỉ mang lại kết quả có độ nén thấp và làm giảm độ chính xác của ứng dụng tóm tắt. Một ngữ danh từ thường gồm các thành phần như danh từ chỉ đơn vị, danh từ loại thể, danh từ chính , tính từ bổ nghĩa cho danh từ chính, trạng từ bổ nghĩa cho tính từ. Ví dụ: “Nokia 9960i là một chiếc điện thoại di động vô cùng sang trọng” Trong câu trên “[một] [chiếc] [điện thoại di động] [vô cùng] [sang trọng]” là một ngữ danh từ. Chúng ta có thể rút gọn ngữ danh từ này chỉ còn “[một] [chiếc] [điện thoại di động], bỏ hết tính từ bổ nghĩa cho danh từ chính, trạng từ bổ nghĩa cho tính từ. Câu sẽ trở thành : Nokia 9960i là một chiếc điện thoại di động. Như chúng ta thấy chỉ nên áp dụng phương pháp này trong trường hợp yêu cầu độ nén cao vì tính chính xác của hệ thống giảm đi khá nhiều. Tùy vào yêu cầu độ nén mà các thành phần trong ngữ danh từ có thể bỏ đi theo thứ tự là trạng từ bổ nghĩa tính từ, tính từ bổ nghĩa danh từ chính, danh từ đơn vị và danh từ loại thể. Như ví dụ trên, nếu yêu cầu độ nén không lớn ứng dụng chỉ cần loại bỏ trạng từ để có được câu sau : Nokia 9960i là một chiếc điện thoại di động sang trọng. Các thành phần từ loại trong ngữ danh từ được gán trọng số “loại bỏ”. Trọng số càng lớn thì mức độ ưu tiên loại bỏ càng lớn. Một số trường hợp tương tự như trạng từ bổ nghĩa động từ, mệnh đề quan hệ cũng sử dụng chung mô hình này nếu có được trọng số “loại bỏ” chính xác. Đặc biệt thông qua quá trình học máy chúng ta có thể rút ra các luật rút gọn và gán các trọng số tương ứng. Ứng dụng hiện tại chưa cài đặt mô hình học tự động từ tập ngữ liệu. Trong các phương pháp rút gọn theo cú pháp ở trên, VTAS sử dụng ba phương pháp đầu do độ chính xác của toàn ứng dụng không bị ảnh hưởng, kết quả rút gọn cũng đạt yêu cầu. Phương pháp cuối cùng khi chưa có bộ phân tích cú pháp cũng như một mô hình học máy thích hợp thì chưa được đưa vào áp dụng để rút gọn câu. 4.3.2.2. Giản lược câu về mặt ngữ nghĩa Thông qua việc kiểm thử, em thấy rằng các phương pháp giản lược câu về mặt ngữ nghĩa không nên áp dụng cho việc rút gọn các mẩu tin bởi vì hiện tượng các khái niệm cùng cấp ý niệm như lê, táo, đào... cùng có chung một kiểu từ loại xuất hiện trong các mẩu tin là rất ít. Và quan trọng hơn, nếu không có mạng ngữ nghĩa chi tiết thì độ chính xác tóm tắt sẽ giảm đi rất nhiều. Sau đây là một câu tin chuyên mục sức khỏe nói về tác dụng của cây chua me đất: Để chữa viêm họng chúng ta dùng chua me đất, bồ công anh, cam thảo sắc uống ngày một thang mỗi thứ 20g, chia làm hai đến ba lần. Sau khi dựa vào mạng ngữ nghĩa về y học, chúng ta tìm được khái niệm “dược thảo” là khái niệm ở cấp ngay trên các khái niệm về “chua me đất”, “bồ công anh”, “cam thảo” và thay thế chúng, ta sẽ được câu mới quả thật có ngắn gọn hơn : Để chữa viêm họng chúng ta dùng dược thảo sắc uống ngày một thang mỗi thứ 20g, chia làm hai đến ba lần. Tuy nhiên chúng ta có thể dễ dàng nhận thấy câu này chả còn ý nghĩa ban đầu của nó ! Người đọc không biết dược thảo ở đây là loại nào, nó quá chung chung. Như vậy chúng ta thấy rằng không nên áp dụng các phương pháp rút gọn câu dựa vào ngữ nghĩa đối với các mẩu tin vì phạm vi ứng dụng rất nhỏ, độ chính xác giảm nhiều đồng thời công sức xây dựng mạng ngữ nghĩa là rất lớn. 4.3.3. Các phương pháp trong pha Hiển thị Pha hiển thị của VTAS được cài đặt đơn giản : Sắp xếp lại các câu đã được chọn và được rút gọn theo thứ tự ban đầu trong văn bản đưa vào. Sau đó các câu này được đưa qua một module hợp giải tham chiếu đơn giản và hiển thị kết quả cuối cùng Việc sắp xếp câu theo thứ tự ban đầu là việc đơn giản bởi các câu của văn bản đầu vào sau khi được VTAS mô hình hóa đã trở thành các đối tượng clsSentence tương ứng, trong đó có các thuộc tính như thứ tự câu trong đoạn (tương đối) và thứ tự câu trên toàn văn bản (tuyệt đối). Chính nhờ thuộc tính thứ tự câu tuyệt đối này, chúng ta có thể sắp xếp và nối chúng lại với nhau theo thứ tự ban đầu. Minh rất thông minh. Cậu ấy thường đạt kết quả cao trong học tập. Ngoài ra cậu ấy còn có khả năng văn nghệ nữa Module hợp giải tham chiếu của VTAS thực hiện hai công việc : loại bỏ tham chiếu tự do và loại bỏ tham chiếu thường. Loại bỏ tham chiếu tự do được thực hiện đơn giản như sau : Các ngữ đầu tiên của câu được tách ra (dựa vào dấu phảy), nếu các ngữ này không là ngữ danh từ, ngữ động từ, ngữ tính từ hoặc không là một mệnh đề, đồng thời chứa các term có trong một danh sách các tham chiếu tự do như “đó”, “như vậy”, “như trên” …thì sẽ bị loại bỏ. Loại bỏ tham chiếu thường là một phần quan trọng, cải thiện tính dễ đọc, dễ hiểu và tính tự nhiên của kết quả trả về. Thuật toán loại bỏ tham chiếu thường dựa trên việc phát hiện các NamedEntity và các tham chiếu ngay từ pha Phân tích. Ở pha phân tích, các chuỗi đồng tham chiếu sẽ được xây dựng với đầu mỗi chuỗi là một named entity, các phần tử đi sau là các đại từ trong câu, cuối cùng là đại từ trước một named entity khác. Các câu chứa các đồng tham chiếu này được thay các đại từ bởi named entity đầu chuỗi đồng tham chiếu. Các named entity ứng viên chọn làm đầu chuỗi đồng tham chiếu là các named entity ở đầu câu trong trường hợp có nhiều named entity trong cùng một câu. 4.4. Kết chương Trong chương này em đã đề cập đến những giải thuật cài đặt phần lý thuyết được nói đến trong các chương đầu tiên. Trong số đó có một số giải thuật đơn giản nhưng cũng có nhiều giải thuật khó, đòi hỏi phải cải tiến thì mới đáp ứng được yêu cầu về tính chính xác, về thời gian thực thi và về hiệu quả ứng dụng. Chương kế tiếp em xin giới thiệu giao diện của chương trình và phần kết quả kiểm thử - phần không thể thiếu đối với bất kỳ ứng dụng nào cài đặt các phương pháp Khai phá văn bản và Xử lý ngôn ngữ tự nhiên. Chương 5. KIỂM THỬ VÀ ĐÁNH GIÁ ỨNG DỤNG Trong chương này em xin trình bày những phần sau : Kết quả thử nghiệm của VTAS Giao diện chính và giao diện kiểm thử của chương trình. Đánh giá truyền thống dựa trên độ chính xác và độ hồi tưởng Đánh giá dựa theo độ phù hợp về nội dung 5.1. Giao diện kết quả thực nghiệm VTAS được em xây dựng trên môi trường .NET bằng ngôn ngữ C#. Đây là ngôn ngữ có khả năng xử lý các cơ sở dữ liệu phẳng một cách nhanh chóng, ngoài ra các đối tượng cấu trúc dữ liệu có sẵn của C# như DictionaryBase, HashTable, ArrayList… có cơ chể quản lý tìm kiếm và truy xuất phần tử tối ưu, linh hoạt, rất thích hợp cho các bài toán Khai phá văn bản. Cơ sở dữ liệu của chương trình là cơ sở dữ liệu phẳng, chỉ gồm các file *.txt. Điều này cho phép dễ dàng truy nhập và sửa đổi thêm bớt dữ liệu. Sau đây là giao diện chính của VTAS. Hình 5.1: Giao diện chính Với mục đích phục vụ nghiên cứu, khi cài đặt ứng dụng em đã cài đặt các chức năng kiểm thử đơn vị, tập hợp thành một form riêng. Sau đây là hình ảnh của form này: Hình 5.2: Giao diện kiểm thử Các kết quả trung gian như mô hình hoá văn bản, tách đoạn, phân tách thuật ngữ của một văn bản được theo dõi trực quan và dễ dàng thống kê, kiểm thử. Kết quả của pha Phân tích và Biến đổi cũng được hiển thị thông qua form này. Hình 5.3: Giao diện phân tách đoạn và câu Hình 5.4: Giao diện phân tách thuật ngữ của đoạn Hình 5.5: Kết quả thực thi phương pháp TFxIDF 5.2. Tập kiểm thử Việc kiểm thử hệ thống được tách thành việc kiểm thử các module thành phần, bao gồm các module sau : tách term tiếng việt, tách named entity, chọn câu quan trọng và sát với ý chính văn bản, rút gọn câu. Trong đó module chọn câu quan trọng (Kết quả của pha Phân tích) là quan trọng nhất vì nó quyết định độ chính xác của toàn ứng dụng. Ứng dụng được kiểm thử dựa trên tập dữ liệu là các tin thuộc nhiều thể loại của báo điện tử VnExpress ( Thông số của tập kiểm thử : 500 văn bản thuộc 8 thể loại : Du lịch : 86 văn bản, kích thước trung bình 4 KB. Giáo dục : 65 văn bản, kích thước trung bình 4 KB. Kinh doanh : 65 văn bản, kích thước trung bình 4 KB. Ô tô - Xe máy : 48 văn bản, kích thước trung bình 4,7 KB. Pháp luật : 70 văn bản, kích thước trung bình 3,5 KB. Sức khoẻ : 76 văn bản, kích thước trung bình 5 KB. Thể thao : 40 văn bản, kích thước trung bình 7.5 KB. Vi tính : 50 văn bản, kích thước trung bình 4.3 KB. Thông số danh sách thuật ngữ Số thuật ngữ có trong danh sách : 70350 từ Độ dài của thuật ngữ dài nhất : 39 ký tự Thông số danh sách từ dừng Số từ dừng có trong danh sách : 1053 từ. Độ dài của từ dừng dài nhất : 24 kí tự. Với tập kiểm thử như trên, em đã lấy ngẫu nhiên một số lượng văn bản nào đó phục vụ cho các lần kiểm thử khác nhau. Kết quả kiểm thử được trình bày trong phần sau. Các lý thuyết đánh giá kiểm thử một ứng dụng Tóm tắt đã được em nêu ở chương 3, phần Đánh giá tóm tắt. 5.3. Kết quả kiểm thử và đánh giá 5.3.1. Kiểm thử thuật toán tách term tiếng Việt - Lấy 6 văn bản bất kỳ thuộc 6 thể loại khác nhau từ tập kiểm thử, lần lượt cho đi qua bộ phân tách thuật ngữ với cùng danh sách thuật ngữ được nêu ở trên, kết quả phân tách như sau : STT Tên văn bản Lớp Số lỗi sai khi tách chuỗi từ trái qua Số lỗi sai khi tách chuỗi từ phải qua 1 Ấn tượng Hoàng Sơn Du lịch 1 1 2 Chính phủ lập Ban chỉ đạo đánh giá chất lượng giáo dục Giáo dục 2 1 3 Cổ phiếu Bảo Minh đắt giá Kinh doanh 0 1 4 Khen thưởng 2 cảnh sát giao thông không nhận hối lộ Pháp luật 1 0 5 Lysine - vi chất quan trọng nhưng dễ bị thiếu hụt Sức khoẻ 3 1 6 Khai mạc diễn đàn CNTT Việt Nam 2004 Vi tính 0 0 Đánh giá : Qua đây ta thấy khi áp dụng thuật toán tách thuật ngữ theo độ dài từ dài nhất từ trái qua không hiệu quả bằng từ phải qua, trong khi độ phức tạp tính toán của hai thuật toán là như nhau. 5.3.2. Kiểm thử thuật toán tách named Entity - Lấy 6 văn bản bất kỳ thuộc 6 thể loại khác nhau từ tập kiểm thử, lần lượt cho đi qua bộ phát hiện Named Entity, kết quả phân tách như sau : STT Tên văn bản Lớp Số NE tách đúng/tổng số NE Kết quả phần trăm 1 Thăm biển Cù Mông Du lịch 16/16 100% 2 Các môn thi và ngày thi tốt nghiệp THCS, THPT chính thức Giáo dục 8/8 100% 3 Vụ kiện tôm đe doạ tới xuất khẩu của Mỹ Kinh doanh 25/27 92.6% 4 TP HCM: Án các loại tăn Pháp luật 11/12 91.7% 5 Viêm não cấp xuất hiện ở nhiều địa phương Sức khoẻ 14/14 100% 6 Bill Gates bênh vực nỗ lực vá lỗi của Microsoft Vi tính 29/33 87.9% Đánh giá : Bộ phát hiện named entity thường cho kết quả cao khi phân tách các văn bản có nội dung thuần tiếng Việt. Độ chính xác của nó giảm đi khi phải đoán nhận các văn bản có các tên riêng nhiều tiếng của nước ngoài. Tuy vậy, kết quả vẫn đạt cao 5.3.3. Kiểm thử, đánh giá module chọn câu quan trọng Đây là phần kiểm thử quan trọng nhất. Từ tập kiểm thử em chọn ra 10 văn bản bất kỳ. Các phương pháp đánh giá được áp dụng với các mức độ nén lần lượt là 10%, 20%, 30%, 40%,50%. Mức độ nén này được tính xấp xỉ theo tỉ lệ số câu. Các phương pháp tóm tắt hoặc ứng dụng trích rút được dùng : Baseline : Mỗi văn bản tóm tắt được tạo bởi việc nối theo đúng thứ tự tự nhiên các câu đầu mỗi đoạn trong văn bản. Tất cả các câu đầu mỗi đoạn đều được chọn nên phương pháp Baseline chỉ áp dụng ở một độ nén cố định. Human : Đây là tập tóm tắt dựng nên bởi các bạn sinh viên và chuyên gia ngôn ngữ. Đầu tiên họ chọn ra một số lượng các câu quan trọng, sát với ý chính của cả văn bản. Sau khi chọn, họ sắp xếp xem câu nào là câu quan trọng nhất, câu nào là câu quan trọng thứ hai, cứ thế cho đến hết số câu vừa chọn. Tiêu chí lựa chọn là do họ tự xây dựng. MSSum : Đây là tập tóm tắt dựng nên bởi công cụ Auto Summarize của Microsoft Word 2002. Auto Summarize là một ứng dụng trích rút và sinh tiêu đề dựa trên các phương pháp thống kê, không bị ảnh hưởng quá nhiều vào ngôn ngữ và thể loại của văn bản. VTAS : Kết quả trả về từ module trích rút của VTAS với các độ nén khác nhau và tổ hợp tuyến tính các “chiến lược” tóm tắt khác nhau. Với các tập kết quả trên, em đánh giá ứng dụng dựa trên các phương pháp đánh giá như sau 5.3.3.1. Phương pháp truyền thống Sử dụng các tiêu chí độ chính xác và độ hồi tưởng, chúng ta đánh giá từng phương pháp Baseline, MSSum va VTAS với kết quả Human do người thực hiện. Vì chúng ta chọn độ nén về câu như nhau cho mỗi lần đánh giá nên dễ dàng thấy F = P = R, do đó chúng ta chỉ ghi lại điểm F mà thôi. Điểm F của mỗi phương pháp là trung bình cộng điểm F trên một văn bản. Kết quả kiểm thử trên phương pháp truyền thống thu được như sau : Độ rút gọn 10% 20% 30% 40% 50% Baseline 0.783 0.302 0.219 - - MSSum 0.921 0.605 0.595 0.650 0.627 VTAS 0.863 0.543 0.754 0.698 0.601 Đánh giá : Qua kết quả như trên, ta thấy đối với tiếng Việt, VTAS tóm tắt rất tốt, hơn trả MS Summary của Microsoft Word 2002 một chút. Điều này có lẽ là do VTAS sử dụng các tài nguyên tiếng Việt, cách tiếp cận cũng là tiếng Việt. Phương pháp lấy câu đầu đoạn có độ chính xác kém nhất. Khi ta tăng từ 10% à 50% độ rút gọn thì độ chính xác bị ảnh hưởng lớn nhất ở phương pháp Baseline, hai phương pháp kia không bị ảnh hưởng lắm (không thấy rõ xu hướng tăng hay giảm). Việc này cũng có thể giải thích được. Khi độ rút gọn tăng, xu hướng liên kết giữa các câu đầu đoạn sẽ yếu hơn. 5.3.3.2. Phương pháp đánh giá theo độ tương tự nội dung Ở đây, chúng ta sử dụng công thức Cosine cho M vì VTAS đã mô hình hoá các văn bản ở dạng vector. S là văn bản do VTAS sinh ra. Tập đánh giá là J=Human. Như vậy công thức xác định độ tương tự nội dung sẽ là : , Trong đó m là số văn bản của tập đánh giá J Kết quả thực nghiệm đối với 10 văn bản như sau : Độ rút gọn 10% 20% 30% 40% 50% 1 1 0.12 0.16 0.12 0.11 2 1 0.12 0.10 0.08 0.07 3 0.30 0.13 0.10 0.08 0.07 4 1 0.11 0.12 0.08 0.09 5 0.13 0.10 0.13 0.06 0.09 6 1 0.12 0.14 0.07 0.07 7 1 0.12 0.14 0.07 0.06 8 1 0.10 0.12 0.10 0.08 9 0.15 0.11 0.14 0.07 0.06 10 1 0.11 0.12 0.07 0.08 Đánh giá : Với độ rút gọn rất nhỏ, VTAS cho kết quả cao bởi vì VTAS ưu tiên các câu Title - chỉ cần có Title thì Title sẽ được đưa vào bản tóm tắt, cũng giống như cách con người tóm tắt. Với độ rút gọn cao hơn, mức độ gần gũi về mặt nội dung của bản kết quả VTAS và bản kết quả do người thực hiện giảm đi. Qua đây, em thấy cần phải có thêm những cách đánh giá khác nữa về mặt nội dung Em không dùng các phương pháp đánh giá bên ngoài cho VTAS vì đây là ứng dụng tóm tắt đơn văn bản chung chung, không tìm kiếm theo truy vấn. 5.3.4. Kiểm thử đánh giá rút gọn câu Đối với VTAS, các phương pháp rút gọn câu không làm ảnh hưởng tới độ chính xác của toàn bộ ứng dụng, do vậy mười câu bất kỳ lấy ra từ tập kiểm thử được rút gọn và tính toán độ nén theo độ dài câu. Kết quả như sau STT Câu Số kí tự 1 Giám đốc của WHO tại khu vực Tây Thái Binh Dương, ông Shigeru Omi, đang kêu gọi các nước xem xét lại tiêu chuẩn an toàn sinh học sau đợt phát dịch SARS mới đây tại Trung Quốc 174 Giám đốc của WHO tại khu vực Tây Thái Binh Dương kêu gọi các nước xem xét lại tiêu chuẩn an toàn sinh học sau đợt phát dịch SARS mới đây tại Trung Quốc 151 2 Hấp dẫn bởi ánh sáng, mực tập trung dưới ánh đèn măng-sông 58 Mực tập trung dưới ánh đèn măng-sông 36 3 Hai phần mềm dự thi (Quản lý học sinh học nghề của Thận và Quản lý thư viện của Dương) đã đưa về hai giải khuyến khích cá nhân 126 Hai phần mềm dự thi đã đưa về hai giải khuyến khích cá nhân 59 4 Với mục đích nâng cao tinh thần trách nhiệm của giáo viên đối với học sinh, Bộ khuyến khích các thày cô giáo tự ra đề cho học sinh lớp mình dạy để có sự đánh giá chính xác nhất 176 Bộ khuyến khích các thày cô giáo tự ra đề cho học sinh lớp mình để có sự đánh giá chính xác nhất 96 5 Tại quyết định ra ngày 5/7, Đoàn Luật sư kết luận đơn tố cáo của bị can Nguyễn Minh Phong về hành vi chạy án của ông Chiến (được thuê bảo vệ quyền lợi cho Phong trong vụ án đánh bạc) không có căn cứ vững chắc 208 Đoàn Luật sư kết luận đơn tố cáo của bị can Nguyễn Minh Phong về hành vi chạy án của ông Chiến không có căn cứ vững chắc 120 6 Cảnh sát hình sự Công an thành phố Đà Lạt vừa bắt quả tang Ngô Việt Trung (nguyên thủ môn đội bóng đá Lâm Đồng) đang ghi độ bóng đá cho hai người chơi tại nhà 158 Cảnh sát hình sự Công an thành phố Đà Lạt vừa bắt quả tang Ngô Việt Trung đang ghi độ bóng đá cho hai người chơi tại nhà 120 7 Trưởng khoa Khám bệnh, bác sĩ Nguyễn Thanh Giảng, cho biết ca mổ này rất phức tạp vì bệnh nhân mới mười hai tuổi, nặng 19 kg do chậm phát triển 143 Trưởng khoa Khám bệnh cho biết ca mổ này rất phức tạp vì bệnh nhân mới mười hai tuổi, nặng 19 kg do chậm phát triển 115 8 Ngoài ra, nguồn cho thận cũng rất khó khăn (thường người nhà bệnh nhân sẽ có độ tương thích lớn hơn) 100 Ngoài ra, nguồn cho thận cũng rất khó khăn 42 9 Eric Benhamou, Chủ tịch kiêm Giám đốc điều hành Palm, nhận định sự hợp nhất này góp phần thúc đẩy thị trường máy tính cầm tay tăng trưởng 137 Eric Benhamou nhận định sự hợp nhất này góp phần thúc đẩy thị trường máy tính cầm tay tăng trưởng 97 10 Nằm giữa một bên là Thái Bình Dương và một bên là hồ Kitaura rộng lớn, Kashima có khí hậu ôn hòa và phong cảnh thiên nhiên tuyệt đẹp 132 Kashima có khí hậu ôn hòa và phong cảnh thiên nhiên tuyệt đẹp 61 Như vậy độ rút gọn câu trung bình là: Trong đó : len(Ti ) là chiều dài câu rút gọn thứ i len(Si ) là chiều dài câu được rút gọn thứ i, Đánh giá : Các phương pháp rút gọn câu ở trên có độ rút gọn khá nhỏ, độ chính xác hầu như không ảnh hưởng. Văn bản sau pha này giảm kích thước khoảng 40%, góp phần vào việc sinh một văn bản ngắn gọn nhưng vẫn hàm chứa những ý chính của câu quan trọng đã được chọn qua pha Phân tích. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN Các bài toán xử lý văn bản tiếng Việt luôn là các bài toán khó nhưng hay và hữu ích, đang được quan tâm và nghiên cứu nhiều ở nước ta hiện nay. Trong đồ án này, em đã trình bày về những vấn đề cơ bản, những khó khăn thách thức, triển vọng phát triển cũng như phạm vi ứng dụng rộng rãi của bài toán Tóm tắt văn bản tiếng Việt. Đây là một trong số ít những bài toán có sự kết hợp của hai lĩnh vực Khai phá văn bản và Xử lý ngôn ngữ tự nhiên. Các kết quả đạt được của đồ án : - Hiểu được những vấn đề tổng quan của Khai phá Văn bản và Xử lý ngôn ngữ tự nhiên, từ đó làm tiền đề cho những nghiên cứu định hướng về bài toán Tóm tắt văn bản. - Nắm bắt và phân biệt được rõ những khái niệm, yêu cầu và mục đích chung của một bài toán tóm tắt văn bản. Tìm hiểu các phương pháp cũng như các hướng giải quyết của các nhà nghiên cứu đi trước về vấn đề này - Tìm hiểu những đặc trưng ngôn ngữ cơ bản của tiếng Việt, từ đó đề xuất những phương pháp riêng, phù hợp hơn đối với một ứng dụng Tóm lược văn bản tiếng Việt, xây dựng mô hình và cài đặt thành công ứng dụng. Hướng phát triển sắp tới của đề tài : - Cải tiến và phát triển các phương pháp tóm tắt theo hướng Xử lý ngôn ngữ tự nhiên nhằm tăng tính chính xác cũng như sự thân thiện của kết quả trả về. - Tích hợp ứng dụng với các ứng dụng khác để tạo ra các hệ thống thật sự hữu ích cho người dùng Việt Nam. - Tham gia vào quá trình xây dựng các tài nguyên ngôn ngữ phục vụ cho ngành công nghệ thông tin và truyền thông cũng như các ngành khác liên quan. Trong suốt quá trình làm đồ án, em đã được sự giúp đỡ, hỗ trợ và đông viên rất lớn từ các thầy cô và bạn bè. Tuy nhiên do những hạn chế về mặt kinh nghiệm và thời gian, đồ án chắc chắn còn tồn tại khiếm khuyết. Qua đây em cũng mong muốn nhận được những góp ý nhằm phát triển tốt hơn đề tài này trong tương lai. Một lần nữa em xin gửi lời cám ơn chân thành và sâu sắc tới TS. Huỳnh Quyết Thắng. Thầy là người định hướng cho em, cũng là người tận tình hướng dẫn, chỉ bảo, động viên em giúp em hoàn thành tốt đồ án. Em cũng xin gửi lời cảm ơn tới các thầy cô trong Bộ môn và trong Khoa, tới gia đình và bạn bè, những người đã tạo điều kiện và giúp đỡ em rất nhiều trong quá trình học tập tại trường cũng như việc hoàn thành tốt nghiệp. TÀI LIỆU THAM KHẢO [1]. Chu Hồng Trang, Bài toán phân nhóm văn bản áp dụng cho Tiếng Việt, Đồ án tốt nghiệp ĐHBKHN, 5/2004. [2]. Hoàng Minh Sơn, Xây dựng hệ thống tìm kiếm thông tin hỗ trợ tiếng Việt, Đồ án tốt nghiệp ĐHBKHN, 2004. [3]. Lê Thị Tú Kiên, Nghiên cứu về xử lý tự động văn bản tiếng Việt, Luận văn thạc sỹ ĐHBKHN, 2003. [4]. Huỳnh Quyết Thắng, Hoàng Minh Sơn, Thử nghiệm các giải thuật tách từ tiếng Việt và xây dựng cấu trúc dữ liệu trong bài toán tìm kiếm văn bản tiếng Việt, Tài liệu khoa học - ĐHBKHN. [5]. Nguyễn Hoàng Anh, Hà Thành Lê, Hoàng Vĩnh Sơn, Phân lớp văn bản, Báo cáo đồ án thực tập chuyên ngành ĐHBKHN, 2004. [6]. Phạm Thị Anh Lê, Tìm kiếm thông tin dựa vào mô hình thống kê các giải thuật và kiến trúc phần mềm, Luận văn thạc sỹ ĐHBKHN, 2002. [7]. Nguyễn Tài Cẩn, Ngữ pháp tiếng Việt (Tiếng - Từ ghép - Đoản Ngữ), NXB Đại học Quốc gia Hà Nội, 1998. [8]. Trung tâm Khoa học xã hội và Nhân văn Quốc gia, Ngữ pháp tiếng Việt, NXB Khoa học xã hội, 2000. [9]. Eduard Hovy & Daniel Marcu, Automated Text Summarization Tutorial, COLING/ACL ’98. [10]. Mani & Maybury, Automatic Summarization, ACL 2001. [11]. Partha Lal, Text Summarization, Doctor thesis, 07/2002. [12]. Udo Hahn, Automated Text Summarization- Methods, Systems, Evaluatio.. [13]. Inderjeet MANI, Summarization Evaluation: An Overview. [14]. Đinh Thị Phương Thu, Bài toán phân lớp văn bản tiếng Việt, Luận văn Thạc sĩ khoa CNTT, 11/2004 [15]. Nguyễn Thị Minh Huyền, Vũ Xuân Lương, Lê Hồng Phương, Sử dụng bộ gán nhãn từ loại xác suất QTAG cho văn bản tiếng Việt - Kỉ yếu hội thảo khoa học quốc gia lần thứ nhất về nghiên cứu, phát triển và ứng dụng công nghệ thông tin và truyền thông (ICT.rda 2003), Nhà xuất bản Khoa học và kĩ thuật, Hà nội, 2003. [16]. Lê Thanh Hương: Phân tích cú pháp tiếng Việt, Luận văn tốt nghiệp cao học ,1999. [17]. Luhn, H. P, The automatic creation of literature abstracts, IBM journal of Research and Development, 1958. [18]. R. Radev Et All, Evaluation challenges in large-scale document summarization, ACL ’03. [19]. Regina Barzilay, Lexical Chains for Summarization, M.Sc Thesis, 11/97. [20]. Jing, H., Sentence reduction for automatic text summarization, Proc. of the 6th Conference on Applied Natural Language Processing, 2000. [21]. Knight, K. and Marcu, D., Statistics-Based Summarization. Step One: Sentence Compression, Proc. of AAAI2000, 2000. [22]. Hồ Tú Bảo, Knowledge Discovery and Data Mining, Viện CNTT - Viện khoa học và công nghệ tiên tiến Nhật Bản JAIST, Bài giảng tại đại học Bách Khoa Hà Nội, 12/2003. [23]. Đinh Điền, Ứng dụng Ngữ liệu song ngữ Anh - Việt điện tử trong ngành ngôn ngữ học so sánh, tạp chí Ngôn ngữ, Viện ngôn ngữ học, 2002. [24]. Đinh Điền, Xây dựng và khai thác Kho ngữ liệu song ngữ Anh - Việt điện tử, Luận án tiến sĩ ngữ văn, 2004

Các file đính kèm theo tài liệu này:

  • doc24813.doc
Tài liệu liên quan