1. Trang chủ
  2. » Luận Văn - Báo Cáo

Phân loại văn bản cho hệ thống thu thập tin tức tiếng việt

107 11 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 107
Dung lượng 2,08 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Cho đến nay, đã có nhiều đề xuất xây dựng bài toán phân loại văn bản tự động như Neive Bayes, Bayes net, k-láng giềng gần nhất, cây quyết định, mạng nơron, Support Vector Machines, … Các

Trang 1

LUẬN VĂN THẠC SĨ KHOA HỌC

PHÂN LOẠI VĂN BẢN CHO

HỆ THỐNG THU THẬP TIN TỨC TIẾNG VIỆT

BÙI MẠNH HOÀNG

Người hướng dẫn khoa học: TS LÊ THANH HƯƠNG

HÀ NỘI 2009

Trang 2

BÙI MẠNH HOÀNG

LUẬN VĂN THẠC SĨ KHOA HỌC

PHÂN LOẠI VĂN BẢN CHO

HỆ THỐNG THU THẬP TIN TỨC TIẾNG VIỆT

NGÀNH CÔNG NGHỆ THÔNG TIN

MÃ SỐ:

Người hướng dẫn khoa học: TS LÊ THANH HƯƠNG

Trang 3

MỤC LỤC

MỤC LỤC 1

DANH MỤC BẢNG 4

DANH MỤC HÌNH 5

MỞ ĐẦU 6

CHƯƠNG I 8

TỔNG QUAN VỀ KHAI PHÁ VĂN BẢN 8

1.1 Khai phá dữ liệu văn bản (Text mining) 8

1.2 Các bước khai phá dữ liệu văn bản 10

1.2.1 Tiền xử lý văn bản 10

1.2.2 Khai phá văn bản/dữ liệu 10

1.2.3 Ứng dụng kết quả khai phá dữ liệu văn bản trong thực tiễn 11

1.3 Bài toán phân loại văn bản (Text categorization) 11

1.3.1 Bài toán phân loại văn bản 11

Hình 1.1: Các công việc trong phân loại văn bản 14

1.3.2 Một số phương pháp phân loại văn bản 16

1.4 Kết chương 18

CHƯƠNG II 19

TÁCH TỪ VÀ BIỂU DIỄN VĂN BẢN TIẾNG VIỆT 19

2.1 Một số phương pháp tách từ trong văn bản tiếng Việt 19

2.1.1 Các đặc trưng của văn bản 19

2.1.2 Một số đặc trưng của tiếng Việt 20

2.1.3 Một số phương pháp tách từ 26

Hình 2.2 Phương pháp xây dựng ôtômát âm tiết 28

Hình 2.4: Một tình huống nhập nhằng 30

Hình 2.6: Một ví dụ về đồ thị của mô hình HMM bậc 2 36

2.2 Phương pháp biểu diễn văn bản 40

2.2.1 Các kỹ thuật trích chọn đặc trưng của văn bản 41

2.2.2 Một số phương pháp biểu diễn văn bản bằng mô hình không gian vector 46

Trang 4

2.3 Kết chương 50

CHƯƠNG III 51

MỘT SỐ PHƯƠNG PHÁP 51

PHÂN LOẠI VĂN BẢN TRUYỀN THỐNG 51

3.1 Cây quyết định 51

3.1.1 Thuật toán ID3 54

3.1.2 Cách lựa chọn thuộc tính tốt nhất 55

3.1.3 Hiện tượng vượt ngưỡng 57

3.2 K-láng giềng gần nhất (K-Nearest Neighbor) 58

3.2.1 Gán nhãn văn bản gần nhất 59

3.2.2 Gán nhãn theo số đông 60

3.2.3 Gán nhãn theo độ phù hợp của chủ đề 61

3.3 Kết chương 62

CHƯƠNG IV 64

PHƯƠNG PHÁP PHÂN LOẠI VĂN BẢN 64

SUPPORT VECTOR MACHINES 64

4.1 Lý thuyết học thống kê 64

4.1.1 Chiều VC (Vapnik Chervonenkis dimension) 64

4.1.2 Rủi ro của bài toán học phân loại có giám sát 65

4.1.3 Rủi ro thực nghiệm 66

4.1.4 Nguyên tắc tối thiểu rủi ro cấu trúc 67

4.1.5 Định lý 4.1 68

4.2 Support Vector Machines 68

4.3 Phương pháp giải bài toán QP 78

4.3.1 Thuật toán tối ưu 78

4.3.2 Thuật toán khởi tạo các biến 0 i α 81

4.4 Đánh giá : 82

4.5 Kết chương 84

CHƯƠNG V 85

CHƯƠNG TRÌNH VÀ KẾT QUẢ THỰC NGHIỆM 85

5.1 Xây dựng hệ thống tống hợp tin tức tự động 85

5.1.1 Đặt vấn đề 85

Trang 5

5.1.2 Mô hình hệ thống: 86

5.2 Xây dựng hệ thống 86

5.2.1 Ngôn ngữ cài đặt chương trình 86

5.2.2 Thu thập tin tức từ các site: 86

5.2.3 Xây dựng bộ lọc trích rút thông tin: 88

5.2.4 Chương trình hiển thị 92

5.2.5 Kết quả xây dựng 92

5.3 Kết quả thực nghiệm việc phân loại văn bản 94

5.4 Kết luận 99

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN CỦA LUẬN VĂN 100

6.1 Kết luận 100

6.2 Hướng phát triển của luận văn 101

TÀI LIỆU THAM KHẢO 103

Trang 6

DANH MỤC BẢNG

Bảng 2.1 Thông tin về tập huấn luyện của mô hình ……… 38

Bảng 2.2 Kết quả đánh giá độ chính xác của mô hình Markov ẩn ………… 38

Bảng 2.3 Một số từ dừng trong văn bản tiếng Việt ……… 42

Bảng 2.4 Một số hàm tính toán giá trị thông tin của từ trong phân loại ……46

Bảng 3.1 Biểu diễn văn bản bằng vector nhị phân ……… 54

Bảng 3.2 Ví dụ 1 về độ tương tự giữa văn bản và chủ đề ……… 62

Bảng 3.3 Ví dụ 2 về độ tương tự giữa văn bản và chủ đề ……… 63

Bảng 3.4 Ví dụ 3 về độ tương tự giữa văn bản và chủ đề ……… 63

Bảng 3.5 Ví dụ 4 về độ tương tự giữa văn bản và chủ đề ……… 64

Trang 7

DANH MỤC HÌNH

Hình 2.1 Sơ đồ chuyển trạng thái giữa các ký tự ……… 29

Hình 2.2 Phương pháp xây dựng ôtômát âm tiết ……… 29

Hình 2.3 Phương pháp xây dựng ôtômát từ ……… 30

Hình 2.4 Một tình huống nhập nhằng ……… 31

Hình 2.5 Một ví dụ về đồ thị của HMM bậc 1 ……… ……… 36

Hình 2.6 Một ví dụ về đồ thị của HMM bặc 2 ……… ……… 37

Hình 3.1 Xây dựng cây quyết định cho tập mẫu dùng để huấn luyện …… 55

Hình 3.2 Quá trình tìm kiếm lời giải trên cây quyết định …… ……… 56

Hình 4.1 Minh họa chiều VC của tập hàm {f(x)} trong không gian 2 chiều 67

Hình 4.2 Siêu phẳng phân chia tập mẫu huấn luyện ……… ……… 71

Hình 4.3 Siêu phẳng phân chia dữ liệu và các ràng buộc ……… 72

Hình 4.4 Trường hợp dữ liệu có nhiễu ……… ……… 76

Trang 8

MỞ ĐẦU

Trong những năm gần đây phân loại văn bản đã trở thành một kỹ thuật then chốt để tổ chức thông tin trực tuyến Nó có thể được sử dụng để tổ chức cơ

sở dữ liệu văn bản, lọc thư điện tử, tìm kiếm thông tin quan tâm trên Web, hoặc

để chỉ dẫn người dùng tìm kiếm thông tin qua các siêu văn bản (hypertext) Mà

ở đó, việc phân loại văn bản bằng tay là không thể thực hiện được, hoặc thực hiện với chi phí tốn kém nhất Do đó, cùng với sự phát triển của thông tin trực tuyến, một yêu cầu cấp thiết đặt ra là cần phải xây dựng hệ thống phân loại văn bản tự động

Cho đến nay, đã có nhiều đề xuất xây dựng bài toán phân loại văn bản tự động như Neive Bayes, Bayes net, k-láng giềng gần nhất, cây quyết định, mạng nơron, Support Vector Machines, … Các phương pháp phân loại này, đạt được những thành công đáng kể đối với các văn bản tiếng Anh, Pháp, Nhật, Trung Quốc, và đã được ứng dụng trong thực tế như trong các hệ tìm tin của Yahoo, Altavista, Google, … Trong đó, Support Vector Machines là một cách tiếp cận mới và cho độ chính xác của phân loại văn bản cao hơn hẳn các phương pháp phân loại khác

Ở Việt Nam, cũng đã có nhiều nghiên cứu về lĩnh vực xử lý văn bản tiếng Việt, như đề tài nghiên cứu về Máy dịch tự động Anh – Việt (EVTRan) của viện nghiên cứu ứng dụng công nghệ; đề tài nhận dạng, xử lý tiếng Việt VnDoc của Viện Công nghệ thông tin, và nhiều luận văn tốt nghiệp cao học và đại học khác Nhưng các nghiên cứu về phân loại văn bản tiếng Việt chưa nhiều, và kết quả còn hạn chế Bởi vậy, trong luận văn này chúng tôi sẽ tập trung nghiên cứu bài toán phân loại văn bản tiếng Việt dựa trên cách tiếp cận Support Vector Machines

Trang 9

Một vấn đề liên quan mật thiết đến tốc độ xử lý cũng như độ chính xác của quá trình phân loại là số chiều của các vector biểu diễn văn bản Nếu dùng toàn bộ các từ trong từ điển làm đặc trưng để biểu diễn văn bản thì mỗi văn bản tiếng Việt được biểu diễn bằng một vector có hơn 70 nghìn chiều (tương đương với số từ trong từ điển tiếng Việt) 70 nghìn là con số quá lớn khi mà có tới hàng triệu văn bản cần xử lý trong quá trình phân loại Để tăng tốc độ xử lý và độ chính xác của kết quả phân loại văn bản, trong luận văn này chúng tôi trình bày một phương pháp lựa chọn các từ đặc trưng để biểu diễn văn bản tiếng Việt Cuối cùng, chúng tôi xây dựng một chương trình thực nghiệm nhằm đánh giá hiệu quả của phương pháp Support Vector Machines đối với bài toán phân loại văn bản tiếng Việt

Nội dung luận văn bao gồm 6 chương:

- Chương I: Trình bày tổng quan về khai phá dữ liệu văn bản và bài toán phân loại văn bản

- Chương II: Trình bày các vấn đề của qúa trình tiền xử lý văn bản tiếng Việt (tách từ, lựa chọn đặc trưng, biểu diễn văn bản) Và đề xuất một phương pháp lựa chọn từ đặc trưng của chúng tôi

- Chương III: Một số phương pháp phân loại văn bản truyền thống

- Chương IV: Phương pháp phân loại văn bản dựa trên cách tiếp cận Support Vector Machines

- Chương V: Chương trình và kết quả thực nghiệm

- Chương VI: Kết luận và hướng phát triển của luận văn

Trang 10

CHƯƠNG I TỔNG QUAN VỀ KHAI PHÁ VĂN BẢN

Mục đích của chương này là giới thiệu một cách tóm tắt về vấn đề khai phá dữ liệu văn bản, bài toán phân loại văn bản

Khai phá dữ liệu văn bản là gì?

Các bước để xây dựng bài toán khai phá dữ liệu văn bản

Bài toán phân loại văn bản

1.1 Khai phá dữ liệu văn bản (Text mining)

Văn bản là một trong những dạng dữ liệu phổ biến nhất, hiện nay, nó có mặt ở khắp mọi nơi và chúng ta thường xuyên bắt gặp hàng ngày Do đó, các bài toán xử lý văn bản đã được đặt ra từ khá lâu và cho đến nay vẫn là một trong những vấn đề hay trong khai phá dữ liệu văn bản (text), trong đó có những bài toán đáng chú ý như tìm kiếm văn bản, phân loại văn bản, phân cụm văn bản, hoặc dẫn đường văn bản,

Các văn bản được tập hợp trong cơ sở dữ liệu văn bản và có thể chia làm hai loại:

- Dạng không có cấu trúc (unstructured): Những văn bản thông thường mà chúng ta thường đọc hàng ngày được thể hiện dưới dạng ngôn ngữ tự nhiên của con người và nó không có một cấu trúc định dạng nào

- Dạng bán cấu trúc (semi-structured): Những văn bản được tổ chức dưới dạng cấu trúc không chặt chẽ thành bản ghi mà dùng các kí hiệu đánh dấu văn bản và vẫn thể hiện được nội dung chính của văn bản, ví dụ như các dạng HTML, email,

Trong luận văn này, chúng tôi chỉ quan tâm xử lý dữ liệu văn bản ở dạng phi cấu trúc (biểu diễn dưới dạng tập tin TXT), bài toán được giải quyết theo

Trang 11

hướng dữ liệu mở để tương lai có thể áp dụng với các mục đích sử dụng khác nhau

Có nhiều cách phân lớp các lĩnh vực trong xử lý văn bản, Lewis đã chia thành hai nhóm lĩnh vực chính là Phân lớp văn bản (Text Classification) gồm các công việc xác định văn bản hoặc một phần của văn bản vào một hay nhiều lớp xác định trước và Hiểu nghĩa văn bản (Text Understanding) bao gồm các công việc phức tạp hơn để xử lý nội dung của văn bản như tóm tắt văn bản (Text Summarization hoặc Abstraction), trích chọn thông tin (Text Extraction), Tuy nhiên, việc phân làm hai lớp cũng không thật rõ ràng, trong các hệ phần mềm, người ta thường kết hợp hai lớp bài toán trên để thành một hệ như trong các hệ tìm kiếm (Search Engine), hoặc trong bài toán tìm kiếm văn bản (Text Retrieval), một trong những lĩnh vực được quan tâm nhất hiện nay Chẳng hạn trong hệ tìm kiếm như Yahoo, Altavista, Google đều tổ chức dữ liệu theo các nhóm và thư mục, mỗi nhóm lại có thể có nhiều nhóm con nằm trong nó Hệ phần mềm tìm kiếm của Altavista còn tích hợp thêm chương trình dịch tự động

có thể dịch chuyển đổi sang nhiều thứ tiếng khác nhau và cho kết quả khá tốt

Khai phá văn bản (Text mining) là một nhánh của khai phá dữ liệu (Data mining), có mục đích là phát hiện và trích rút thông tin từ các tài liệu văn bản (text documents) Khai phá văn bản liên quan tới các vấn đề như: xử lý ngôn

ngữ tự nhiên, trích rút thông tin, tìm kiếm thông tin, khai phá Web,

Text Mining = Data Mining (applied to text data)

+ Language Engineering

Trang 12

1.2 Cá c bước khai phá dữ liệu văn bản

- Sinh ra cá c tập các từ (còn gọi là túi từ - bag of words): Biểu diễn văn bản bởi

các từ xuất hiện trong văn bản đó, nhận dạng từ, loại bỏ các từ dừng (stop words, là những từ không có ích cho khai phá văn bản) Ví dụ, một số từ dừng trong các văn bản tiếng Việt là: và, vì vậy, tóm lại, nếu, chẳng hạn, …

- L ựa chọn các từ: Sau khi đã loại bỏ các từ dừng, quá trình giảm số chiều của

việc biểu diễn văn bản được thực hiện bằng cách loại bỏ những đặc trưng không thích hợp Việc lựa chọn các đặc trưng của văn bản liên quan đến trọng số của

t ừ xuất hiện trong văn bản đó Trọng số của từ là độ quan trọng, hay hàm lượng

thông tin mà từ đó mang lại cho văn bản Nó là đại lượng dùng để đo sự khác

biệt giữa văn bản chứa nó với các văn bản khác Đại lượng này có thể được xác định bằng tay hoặc đánh giá bằng số lần xuất hiện của từ đó trong văn bản và số lần xuất hiện của từ đó trong các văn bản khác Số lần xuất hiện của từ trong văn bản càng nhiều thì độ quan trọng của nó trong văn bản càng lớn và ngược lại

1.2.2 Khai phá văn bản/dữ liệu

Một số bài toán của khai phá dữ liệu văn bản là:

- Phân lo ại văn bản (Text Categorization): Cho một số lớp văn bản đã được

xác định trước, nhiệm vụ của phân loại văn bản là: gán các văn bản vào một (hay một số) lớp văn bản thích hợp dựa vào nội dung của văn bản

- Lập nhóm văn bản (Text Clustering): Cho một số văn bản, nhiệm vụ của lập

nhóm văn bản là chia các văn bản này thành các nhóm thích hợp căn cứ vào

sự tương tự về mặt nội dung giữa các văn bản

Trang 13

- Tóm t ắt văn bản (Text Summarization): Tóm tắt, chắt lọc thông tin từ một

(hay nhiều) nguồn để đưa ra một mô tả ngắn gọn, cô đọng thông tin từ nguồn tài liệu đó

- Phát hiện xu hướng nổi bật (Emerging Trend Detection): Phát hiện các chủ

đề sẽ được quan tâm và có ích trong tương lai

- Tr ả lời câu hỏi: Đưa ra câu trả lời thích hợp cho câu hỏi (tìm tài liệu thích

hợp cho câu hỏi)

-

1.2.3 Ứng dụng kết quả khai phá dữ liệu văn bản trong thực tiễn

Ứng dụng các kết quả khai phá dữ liệu văn bản là sử dụng các kết quả khai thác văn bản cho những mục đích cụ thể Kết quả của quá trình khai phá dữ liệu văn bản có thể sử dụng cho việc trích lọc thông tin, tóm tắt thông tin, dịch

tự động văn bản, dự đoán các xu hướng trong tương lai, tìm kiếm thông tin, phân loại thông tin, Và các ứng dụng này lại được sử dụng như một công cụ

hỗ trợ trong các hệ thống thông tin khác Ví dụ, chương trình dịch tự động văn bản được sử dụng trong hệ phần mềm tìm kiếm của Altavista để có thể dịch chuyển đổi văn bản sang nhiều thứ tiếng khác nhau Các kết quả của quá trình phân loại thông tin, trích chọn thông tin, tìm kiếm văn bản có thể được trong việc tổ chức, phân loại thông tin trong các hệ tìm kiếm để mang lại hiệu quả cao trong việc tìm kiếm thông tin

1 3 Bài toán phân loại văn bản (Text categorization)

1.3.1 Bài toán phân loại văn bản

Phân loại văn bản là quá trình gán nhãn văn bản vào một (hay một số) chủ đề cho trước, dựa trên nội dung của văn bản

Trong những thập kỷ 80 hầu hết các cách tiếp cận (ít nhất là trong việc thiết đặt thao tác) để phân loại văn bản tự động gồm các kỹ thuật điều khiển

Trang 14

bằng tay bởi chuyên gia tri thức (Knowledge Engineering - KE), một hệ thống chuyên gia có khả năng đưa ra quyết định phân loại Hệ chuyên gia bao gồm một tập các luật logic định nghĩa bằng tay, cho mỗi loại, có dạng:

If(DNF formula) then (category)

Một công thức DNF (“Disjunctive Normal Form”) là hợp của các mệnh

đề liên kết, tài liệu được phân loại vào category nếu nó thỏa mãn công thức,

nghĩa là, nếu nó thỏa mãn ít nhất một mệnh đề trong công thức Một ví dụ nổi tiếng cho cách tiếp cận này là hệ thống CONSTRUE [Hayes et al 1990], xây dựng bởi Carnegie Group cho tập tin tức Reuters Sau đây, là một ví dụ về luật được sử dụng trong CONSTRUE:

If ((wheat & farm) or (wheat & commodity)

or (bushels & export) or (wheat & tonnes)

or (wheat & winter & ¬ soft))

then WHEAT

else ¬ WHEAT

Điều trở ngại của cách tiếp cận này là hạn chế trong quá trình thu nhận tri thức từ tài liệu của các hệ thống chuyên gia Nghĩa là, các luật phải được định nghĩa bằng tay bởi kỹ sư tri thức với sự giúp đỡ của chuyên gia về lĩnh vực được nêu trong tài liệu: nếu tập hợp của các loại được cập nhật, thì hai nhà chuyên nghiệp phải can thiệp lại, và nếu phân loại được chuyển hoàn toàn sang một phạm vi khác, một chuyên gia về lĩnh vực này cần thiết phải can thiệp vào và công việc phải được bắt đầu lại từ tập tài liệu hỗn tạp ban đầu

Đầu thập kỷ 90, cách tiếp cận học máy (Machine Learning) để phân loại văn bản được coi là nổi tiếng và trở thành thống trị, ít nhất là trong cộng đồng người nghiên cứu (Mitchell, 1996), Theo cách tiếp cận này, một quá trình xử lý quy nạp chung (cũng được gọi là quá trình học) xây dựng tự động một phân lớp cho một loại ci bằng quan sát các đặc trưng của tập hợp các tài liệu đã được phân

Trang 15

bằng tay vào ci hay c i bởi chuyên gia về lĩnh vực này; từ đó, quá trình qui nạp thu lượm các đặc trưng để phân loại một tài liệu mới (không nhìn thấy) vào ci Trong kỹ thuật học máy, bài toán phân lớp là hoạt động học có giám sát, quá trình học được “giám sát” bởi tri thức của các phân loại và của các mẫu huấn luyện thuộc chúng

Với phương pháp học máy, sự cố gắng về phương diện công việc của kỹ

sư theo hướng không phải xây dựng một phân lớp mà xây dựng một phân lớp tự động (học) từ một tập hợp các tài liệu đã được phân loại bằng tay Trong các tiếp cận học máy, các tài liệu đã được phân lớp trở thành nguồn Trường hợp thuận lợi nhất, chúng đã có sẵn, khi đó quá trình phân loại bắt đầu bằng việc học

từ tập dữ liệu này, sau đó sẽ thực hiện phân loại tự động với các tài liệu khác Trường hợp ít thuận lợi, không có sẵn tài liệu đã phân loại bằng tay; khi đó quá trình phân loại bắt đầu một hành động phân loại và chọn một phương pháp tự động ngay lập tức Do đó, cách tiếp cận học máy là thuận lợi hơn cách tiếp cận

kỹ sư tri thức

Các phân lớp xây dựng theo nghĩa của kỹ thuật học máy ngày nay gây được ấn tượng sâu sắc về mức độ hiệu quả, khiến cho phân lớp tự động trở thành một lựa chọn tốt để thay thế phân loại bằng tay (không chỉ về phương diện kinh tế) Chúng ta có thể hình dung các công việc của bài toán phân loại văn bản dựa trên kỹ thuật học máy như sau:

Trang 16

Cách tiếp cận học máy dựa trên một tập dữ liệu có sẵn từ đầu Ω={d1, …, d|Ω|} ⊂

D , trong đó D tập tất cả các tài liệu đã được phân lớp trước, dj là văn bản thứ j, Tập các lớp C={c1, …, c|C|}, ci là kí hiệu của lớp thứ i Hàm Φ :D×C →{ }T,F với mọi d j,c i ∈ Ω ×C Một tài liệu dj là mẫu dương của ci nếu Φ  (d j,c i) =T

, là một mẫu âm nếu Φ  (d j,c i) = F

Với mỗi cách phân loại được đưa ra, người ta mong muốn đánh giá được hiệu quả phân loại của chúng Bởi vậy, trước khi xây dựng phân loại người ta chia tập dữ liệu ban đầu thành 2 tập hợp

- Tập huấn luyện (training (-and-validation) set) Tr={d 1 , …, d |TV| } Phân lớp Φ cho các phân loại C={c 1 , …, c |C| } được xây dựng quy nạp dựa trên sự

quan sát các đặc trưng của các tài liệu trong Tr

HỌC QUY NẠP

Biểu diễn ban đầu của văn bản

BIỂU DIỄN BAN ĐẦU

Biểu diễn cuối cùng

GIẢM SỐ CHIỀU HOẶC LỰA CHỌN THUỘC TÍNH

Hình 1.1: Các công việc trong phân loại văn bản

Trang 17

- Tập kiểm tra (test set) Te={d |TV+1| , …d || }, được sử dụng để kiểm tra hiệu quả của phân lớp Mỗi d jT e được đưa vào hệ thống phân lớp để xác định giá trị Φ (d j,c i), và so sánh giá trị này với quyết định Φ(d j,c i) của chuyên gia Hiệu quả của phân lớp dựa trên sự phù hợp giữa Φ (d j,c i)và Φ(d j,c i)

Số tài liệu trong tập luyện và tập kiểm tra thường được chọn theo tỷ lệ tương

ứng là 70% và 30% Trong đó, TrTe =∅ , nếu điều kiện này bị vi phạm thì kết quả đánh giá hiệu quả của mô hình mất đi yếu tố khách quan, khoa học

Phân loại văn bản chủ yếu dựa trên cơ chế trích rút thông tin Kỹ thuật trích rút thông tin được sử dụng trong 3 giai đoạn của quá trình phân loại văn bản:

1) Đánh chỉ số: các văn bản ở dạng thô cần được chuyển sang một dạng biểu

diễn nào đó để xử lý Quá trình này được gọi là quá trình biểu diễn văn bản, dạng biểu diễn của văn bản phải có cấu trúc và dễ dàng xử lý Chi tiết về việc biểu diễn văn bản sẽ được trình bày trong chương 2

2) Kỹ thuật: kỹ thuật ở đây là phương pháp học để phân loại văn bản, nó thường

được sử dụng trong quá trình xây dựng quy nạp của các phân loại

3) Đánh giá: đánh giá hiệu quả của các phân lớp được thực hiện

Sự khác nhau trong các cách tiếp cận trước đây phần lớn là để giải quyết (2) mặc dù trong một số ít đề xuất cũng sử dụng (1) và (3)

Hầu hết các phương pháp phân loại văn bản dựa trên kỹ thuật học máy hiện nay đều dựa vào tần xuất xuất hiện (số lần xuất hiện) của từ hoặc cụm từ trong văn bản, hoặc dựa vào tần xuất xuất hiện của từ trong văn bản và tần xuất văn bản (số các văn bản trong tập dữ liệu huấn luyện có chứa từ đó) Độ chính xác của kết quả tách từ có ảnh hưởng rất lớn đến kết quả của phân loại, không thể có một kết quả phân loại tốt nếu như không tách được đúng các từ trong văn bản Bởi vậy, một vấn đề quan trọng đối với phân loại văn bản là phải tách được

Trang 18

chính xác các từ trong văn bản Các văn bản được viết bằng các ngôn ngữ khác nhau thì có đặc trưng riêng của ngôn ngữ đó, và không có một phương pháp chung nào để tách các từ trong các văn bản được viết bằng các ngôn ngữ khác nhau Trong chương sau, chúng tôi sẽ giới thiệu một số phương pháp tách từ dùng cho các văn bản tiếng Việt, phục vụ cho các bước tiền xử lý của bài toán phân loại văn bản

Tóm lại, một bài toán phân loại văn bản dựa trên kỹ thuật học máy gồm các bước sau:

- Chuẩn bị tập dữ liệu huấn luyện (Training Set) và tập dữ liệu kiểm tra (Test Set)

- Tách từ trong văn bản

- Biểu diễn văn bản

- Phương pháp học để phân loại văn bản

- Đánh giá hiệu quả của phương pháp học

1.3.2 Một số phương pháp phân loại văn bản

Có nhiều phương pháp phân loại văn bản được đề xuất, sự khác nhau cơ bản giữa các phương pháp này là ở thuật toán học quy nạp Nhiều thực nghiệm cho thấy các phương pháp như: cây quyết định (decision tree), k-láng giềng gần nhất (k-nearest neighbors), phương pháp sử dụng các vector hỗ trợ (Support Vector Machines) là những phương pháp có hiệu quả phân loại cao Ở Việt Nam cũng đã có một số nghiên cứu sử dụng các phương pháp cây quyết định, k-láng giềng gần nhất để phân loại các văn bản tiếng Việt

- Phương pháp cây quyết định: Ý tưởng của phương pháp này là xây dựng một

cây phân quyết định gồm các nút và các cung trọng số liên kết giữa các nút

cụ thể: Các nút trong được gián nhãn bởi các từ, nhãn của các cung tương ứng với trọng số của từ trong tài liệu mẫu, nhãn của các lá tương ứng với nhãn của các lớp Cho một tài liệu dj, ta sẽ thực hiện so sánh các nhãn của

Trang 19

cung xuất phát từ một nút trong (tương ứng với một từ nào đó) với trọng số của từ này trong dj, để quyết định nút trong nào sẽ được duyệt kế tiếp Quá trình này được lặp từ nút gốc của cây, cho tới khi nút được duyệt là một lá của cây Kết thúc quá trình này, nhãn của nút lá sẽ là nhãn của lớp được gán cho văn bản

- Phương pháp k-láng giềng gần nhất: Tư tưởng chính của phương pháp này

là tính độ phù hợp của văn bản đang xét với từng nhóm chủ đề dựa trên k văn bản mẫu có độ tương tự gần nhất

- Phương pháp Support Vector Machines: Phương pháp này xuất phát từ suy

nghĩ, làm thế nào để tối thiểu lỗi trong quá trình kiểm tra (test error minimization) Bởi vậy, ý tưởng của Support Vector Machines (SVMs) là tìm một siêu phẳng tối ưu để phân chia tập dữ liệu huấn luyện sao cho các văn bản thuộc lớp ci thuộc về phía của siêu phẳng, còn các văn bản không thuộc lớp ci sẽ thuộc về phía bên kia của siêu phẳng Một siêu phẳng được gọi là tối

ưu nếu khoảng cách từ mẫu gần nhất đến siêu phẳng là lớn nhất

Các phương pháp như cây quyết định, k-láng giềng gần nhất có ưu điểm là dễ hiểu, dễ xây dựng về mặt thuật toán, nhưng cây quyết định được xây dựng sẽ phức tạp khi vector dùng để biểu diễn văn bản có số chiều quá lớn, còn với k-láng giềng gần chúng ta không có một giải pháp tuyệt đối trong việc lựa chọn phương pháp xác định độ tương tự gữa văn bản và chủ đề Hiệu quả của các phương pháp này tăng khi tập dữ liệu huấn luyện có chứa nhiều văn bản Phương pháp SVMs tuy phức tạp về mặt xây dựng thuật toán nhưng hiệu quả phân loại không phụ thuộc vào số chiều của vector biểu diễn văn bản, và có thể cho kết quả phân loại tốt mà không cần quá nhiều văn bản để huấn luyện Quan trọng hơn cả, nhiều kết quả thực nghiệm [16], [14], cho thấy so với các phương pháp phân loại văn bản truyền thống (như cây quyết định, k-láng giềng gần nhất, ), SVMs là phương pháp phân loại văn bản đạt hiệu quả cao hơn

Trang 20

Do đó, trong luận văn này chúng tôi sẽ tập trung vào tìm hiểu phương pháp SVMs, và áp dụng phương pháp này để phân loại các văn bản tiếng Việt

1.4 Kết chương

Trong chương này, chúng tôi đã trình bày tóm tắt các bước cần làm của một bài toán phân loại văn bản Trong các chương tiếp theo chúng tôi, sẽ cụ thể hóa cách làm của từng bước của bài toán phân loại văn bản Nghiên cứu phương pháp SVMs và so sánh nó với một số phương pháp phân loại văn bản khác Cuối cùng là kết quả thực nghiệm của luận văn, dùng phương pháp Support Vector Machines để phân loại các văn bản tiếng Việt

Trang 21

CHƯƠNG II TÁCH TỪ VÀ BIỂU DIỄN VĂN BẢN TIẾNG VIỆT

Để máy tính có thể tự động phân loại văn bản, thì các văn bản được trình bày dưới dạng chuỗi các ký tự cần phải được biến đổi thành một mô tả thuận lợi cho thuật toán huấn luyện và bài toán phân loại, nghĩa là văn bản được chuyển

từ dạng không có cấu trúc (hoặc bán cấu trúc) sang dạng có cấu trúc Có rất nhiều cách biểu diễn văn bản, nhưng dù theo cách này hay cách khác thì việc biểu diễn văn bản đều dựa vào sự xuất hiện của từ trong văn bản Do đó, công việc đầu tiên và có ảnh hưởng lớn đến chất lượng của quá trình phân loại là kết quả của việc tách từ trong văn bản Tiếng Việt có những đặc điểm riêng về cấu tạo của từ, cấu trúc ngữ pháp Nên việc tách từ trong văn bản tiếng Việt cũng đòi hỏi có những phương pháp đặc trưng Trong chương này, chúng tôi sẽ trình bày chi tiết các bước tiền xử lý chuẩn bị cho việc phân loại văn bản tiếng Việt

Một số phương pháp tách từ trong văn bản tiếng Việt

Cách trích chọn đặc trưng để biểu diễn văn bản

Một số phương pháp biểu diễn văn bản

2.1 Một số phương pháp tách từ trong văn bản tiếng Việt

2.1.1 Các đặc trưng của văn bản

- Nhi ều chiều: Số lượng từ dùng để biểu diễn văn bản là rất lớn (hơn 10000)

- Có tính ph ụ thuộc: Các từ, các câu trong văn bản không hoàn toàn độc lập

với nhau, chúng có liên quan với nhau về mặt ngữ nghĩa Để hiểu chính xác ý nghĩa diễn đạt của một từ nào đó trong văn bản ta cần phải xem xét nó trong một ngữ cảnh cụ thể

- Nh ập nhằng: Sự nhập nhằng ở đây là do tính đa nghĩa của từ, một từ có thể

có nhiều nghĩa Thậm trí một câu cũng có thể diễn đạt nhiều ý khác nhau, mà

Trang 22

để hiểu được câu đó chúng ta phải đặt nó trong một văn cảnh cụ thể Ví dụ câu “Ông già đi nhanh quá”, có thể hiểu theo nghĩa một ông già đi với tốc độ nhanh, nhưng cũng có thể hiểu theo nghĩa một ông nào đó nhìn già đi nhiều

- Dữ liệu nhiễu: Dữ liệu nhiễu có thể là do viết sai chính tả, hoặc do từ trong

văn bản không được cập nhật trong từ điển

- C ấu trúc của văn bản đa dạng: Mỗi loại văn bản (như viết thư, văn bản hành

chính, văn xuôi, ), có những bố cục đặc trưng riêng

Tóm lại, văn bản có những đặc điểm sau: Cấu trúc văn bản rất đa dạng, có nhiều văn bản không có một cấu trúc cụ thể Người viết trình độ kém, sai chính

tả, cấu trúc không mạch lạc

2.1.2 Một số đặc trưng của tiếng Việt

Tiếng Việt là ngôn ngữ đơn âm tiết, và thuộc nhóm ngôn ngữ Đông Nam

Á Nó có đặc điểm riêng về ký hiệu, ngữ pháp và ngữ nghĩa, khác với các ngôn ngữ Ấn-Âu Đây không chỉ là khó khăn đối với việc học các ngôn ngữ Châu Âu,

mà còn là khó khăn trong việc ứng dụng các kỹ thuật phát triển để xử lý ngôn ngữ tự nhiên Mặt khác, dù là ngôn ngữ đơn âm tiết nhưng không giống như các ngôn ngữ đơn âm tiết khác như Trung Quốc, Thái, tiếng Việt được viết bằng các

ký tự Lating mở rộng Vì vậy, cách thực hiện của các ngôn ngữ này cũng không thể ứng dụng cho tiếng Việt, và hiện tại một trong số các việc còn chưa được giải quyết trong xử lý ngôn ngữ tự nhiên của tiếng Việt là bài toán xác định các biên giới của từ (word boundaries) trong văn bản tiếng Việt

1.2.2.1 Đặc điểm từ

Với các ngôn ngữ Ấn-Âu (như tiếng Anh, Pháp, ), “từ là một nhóm của các

ký tự có nghĩa, phân cách nhau bởi khoảng trống hoặc các dấu câu” (định nghĩa trong từ điển Webster) Trong khi đó, các ngôn ngữ Châu Á như Trung Quốc, Thái, Việt Nam, … khoảng trống không được sử dụng để xác định các biên giới

Trang 23

từ Phần nằm giữa hai dấu phân cách là tiếng, mỗi tiếng có thể được coi là từ

cũng có khi không phải là từ Cụ thể, chúng tôi sẽ trình bày một số đặc điểm của

từ trong tiếng Việt Các định nghĩa về từ và tiếng của tiếng Việt trong phần này được trích dẫn từ bộ sách tiếng Việt cấp 2, của nhà xuất bản Giáo Dục

a) Tiếng

Ngôn ngữ Việt Nam có một đơn vị đặc biệt gọi là tiếng Mỗi tiếng trong

tiếng Việt được viết thành một chữ, ngược lại mỗi chữ đọc thành một tiếng, mỗi chữ nằm giữa hai dấu phân cách trong câu Tiếng được dùng để tạo thành từ, tiếng có thể có nghĩa rõ ràng hoặc không có nghĩa rõ ràng.Ví dụ:

- Từ “lạnh lẽo” (có nghĩa): tiếng “lạnh” (có nghĩa), tiếng “lẽo” (nghĩa không

rõ)

- Từ “bồ kết” (có nghĩa): tiếng “bồ” và tiếng “kết” (đều có nghĩa)

Tiếng gồm có ba bộ phận kết hợp lại: âm đầu, vần và thanh Ví dụ, tiếng

đà” có âm đầu “đ” vần “a” và thanh “huyền” Hai bộ phận vần và thanh, tiếng nào cũng phải có Âm đầu thì có tiếng có, có tiếng không Ví dụ, tiếng “ở”, chỉ

có vần “ơ” và thanh “hỏi”, không có âm đầu Mỗi bộ phận của tiếng do một âm hay kết hợp một số âm tạo thành Bộ phận âm đầu do một âm tạo thành Âm đầu

là phụ âm Bộ phận vần có thể do một hoặc 2, 3 âm tạo thành, nhưng bao giờ

cũng phải có một âm chính Âm chính là nguyên âm Âm cuối của vần cũng có

thể là phụ âm Ví dụ, tiếng “nam” có âm đầu là n, âm cuối của vần là phụ âm m, nguyên âm làm âm chính là a

Tiếng Việt dùng chữ cái để ghi âm Mỗi âm được ghi bằng 1 hoặc nhiều chữ cái ghép lại Trật tự bảng chữ cái trong tiếng Việt: a, ă, â, b, c, d, đ, e, ê,

g, h, I, k, l, m, n, o, ô, ơ, p, q, r, s, t, u, ư, v, x, y

b) Từ

Tồn tại nhiều định nghĩa khác nhau về từ trong tiếng Việt, nhưng tất cả các nghiên cứu ngôn ngữ đều đồng ý từ trong tiếng Việt có những đặc điểm sau (Đinh Điền, 2001):

Trang 24

1) Từ phải đầy đủ về phương diện hình thức, ngữ nghĩa và độc lập về mặt ngữ pháp

2) Từ được xây dựng từ tiếng

3) Chúng có thể gồm các từ đơn (1-tiếng), hoặc các từ phức (n-tiếng, n<5) Xét về mặt cấu tạo từ có thể chia thành các loại sau:

- Từ đơn: do 1 tiếng tạo thành

- Từ ghép: do 2, 3 hoặc 4 tiếng tạo thành

- Từ láy: là từ do 2 hay nhiều tiếng tiếng lặp lại tạo thành Các tiếng láy có

thể có một phần hay toàn toàn bộ âm thanh được lặp lại Ví dụ, lon ton, xinh xinh, chập chững, nhí nha nhí nhảnh, …

Xét về mặt ngữ loại từ trong tiếng Việt được chia thành một số loại cơ bản sau:

Danh từ

Là những từ chỉ người hay sự vật Ví dụ, bàn, ghế, vải vóc, khoa học, kỹ thuật, Việt Nam, …

Đại từ

Là từ dùng thay thế cho danh từ, hoặc động từ, hoặc tính từ trong câu Đại từ

chỉ ngôi dùng để xưng hô, thay cho tên gọi khi đối thoại Ví dụ, tôi, nó, ai, …

Động từ

Là những từ chỉ hoạt động, trạng thái Nội động từ chỉ hoạt động, trạng thái của người hay sự vật không tác động hoặc ảnh hưởng đến người hay sự vật khác Ngoại động từ chỉ hoạt động của người hay sự vật có tác động, ảnh hưởng

đến người, sự vật khác Ví dụ: động từ cắt trong câu “Thợ gặt đang cắt lúa” là ngoại động từ

Nhận xét:

- Động từ bị và được chỉ trạng thái tiếp thu

- Động từ có chỉ trạng thái tồn tại hoặc sở hữu

- Động từ là được dùng trong câu giới thiệu, nhận xét, đánh giá

Trang 25

Tính từ

Là từ chỉ tính chất (của người, loài vật, đồ vật, cây cối, …) như: mầu sắc,

hình thể, kích thước, dung lượng, phẩm chất, …

Phụ từ

Là những hư từ chủ yếu đi kèm với động từ, tính từ để biểu thị một số

quan hệ Phần lớn phụ từ đứng trước động từ, tính từ Xét về mặt ý nghĩa, phụ

từ không thực hiện được chức năng gọi tên (định danh), mà chỉ làm dấu hiệu cho một loại ý nghĩa nào đó mà thôi Phụ từ biểu thị những quan hệ và những ý

nghĩa thường gặp sau đây:

- Phụ từ (chỉ quan hệ) thời gian

từ làm thành tố chính Đôi khi, nhờ các phụ từ mà ta xác định được từ loại của

từ mà chúng đi kèm Chẳng hạn:

- Các phụ từ: đã, từng, vừa, mới, đang, sẽ, sắp, …cho ta thấy từ đứng sau

được chúng phụ nghĩa thường là động từ

- Các phụ từ chỉ mức độ: rất, hơi, …cho ta thấy từ đứng sau được chúng

phụ nghĩa thưưòng là tính từ hoặc động từ chỉ trạng thái tâm lí

Nhóm từ hãy, chớ, đừng vốn là chứng tố của động từ, không xuất hiện được

trước tính từ nói chung Tuy nhiên cũng có một số trường hợp đặc biệt Ví dụ:

Có phải duyên nhau thì thắm lại

Trang 26

Đừng xanh như lá, bạc như vôi

Như vậy, từ “đừng” có thể được dùng trước một từ (hay tổ hợp từ) không

phải động từ để tạo ra ý nghĩa ngữ pháp “mệnh lệnh”, và làm chứng tố cho tính chất động từ lâm thời (riêng trong trường hợp dùng đó) của nó

Một số phụ từ thường gặp với các ý nghĩa sau:

- Ý nghĩa đối chiếu sự việc: vẫn, cứ, còn, lại, cũng, …

- Ý chỉ kết quả: được (được còn có ý nghĩa chỉ khả năng), phải

- Ý chỉ cách thức diễn biến của hành động: ra, vào, tới, qua, lại, …

- Ý cùng chung: cùng, với, …

Những từ chỉ hướng ra, vào, tới, lui, qua, lại đứng sau động từ không chỉ sự

rời chuyển, thường có tác dụng nêu cách thức diễn biến của hành động Ví dụ:

Nói vào, bàn vào, thêm vào, … (ý góp thêm)

Nói ra, ngãng ra, bàn ra, … (ý giảm bớt)

Cần phân biệt phụ từ với động từ có cùng hình thức âm thanh Ví dụ:

Anh ấy lấy được vợ → được là phụ từ

Anh ấy được lấy vợ → được là động từ

Từ các ví dụ trên cho thấy khi được, phải đứng sau động từ, chúng là các

phụ từ, khi đứng trước động từ, chúng là động từ trung tâm của cụm động từ

Cũng cần phân biệt với, cùng là phụ từ chỉ sự cùng chung với với, cùng là

quan hệ từ Khi các từ này đứng sau động từ thì đó là phụ từ chỉ ý cùng chung

Ví dụ: Cho nó chơi với Khi từ với, cùng đứng trước danh từ chỉ đối tượng của

sự cùng chung thì chúng là quan hệ từ Ví dụ: Tôi chơi với nó

Trợ từ, thán từ

Trợ từ (còn được gọi là tình thái từ): là những hư từ dùng trong câu biểu thị

quan hệ về nhiều mặt giữa người nói – người nghe như hỏi, trả lời, sai khiến, …

quan hệ, vai trò xã hội giữa họ với nhau Trợ từ thường gặp là ư, ơ, à, a, ạ, hử,

hở, nhỉ, nhé, ghe, mà, lại, chứ lị, đi thôi, …, chúng thường đứng ở cuối câu Tên

Trang 27

gọi trợ từ còn được dùng chỉ những từ có tác dụng nhấn mạnh loại như cả, chỉ, những Ví dụ: Nó chỉ mua được hai vé

Thán từ: là những từ dùng biểu thị cảm xúc do sự việc hoặc đối với sự việc Thán từ thường gặp là: ôi, ơ, ái, á, ô hay, than ôi, trời ơi, …chúng thường đứng

ở đầu câu hoặc tách riêng thành câu đặc biệt

2.1.2.2 Đặc điểm chính tả

a) Chính tả chưa thống nhất

Mặc dù chính tả tiếng Việt đã có một hệ thống các quy tắc chuẩn mực, nhưng vẫn có một số từ tồn tại nhiều cách viết khác nhau Ngay cả bản thân một người cũng có lúc viết thế này, có lúc viết thế khác Sự sai khác này là do các nguyên nhân sau:

- Những từ đồng âm: y/i (vật lý/ vật lí, tốc ký/tốc kí, bác sỹ/bác sĩ), d/gi (dông bão/ giông bão)

- Phương ngữ: chính đáng/chánh đáng, tru/con trâu, …

- Vị trí dấu trong một âm tiết: khai hoả/ khai hỏa

- Cách viết hoa tuỳ tiện đối với danh từ riêng: tồn tại nhiều cách viết khác nhau Ví dụ: Bộ Khoa học công nghệ và môi trường/Bộ Khoa học công nghệ

& Môi trường, Việt Nam/Việt nam, …

- Phiên âm tiếng nước ngoài: phiên âm là hình thức biến chữ ngoại quốc thành chữ địa phương Nhưng hiện nay tồn tại cả hai cách viết phiên âm hoặc không phiên âm Chẳng hạn, Singapo/Xing-ga-po, America/ Hoa Kỳ, Trung Quốc/Trung Hoa, …

- Dấu gạch nối: thường xuất hiện khi các từ đa âm nước ngoài du nhập vào Việt Nam Để chỉ rõ đây là một chữ chứ không phải một cụm chữ, người ta dùng dấu gạch nối Tuy nhiên vẫn tồn tại cả hai cách viết Ví dụ, Portugal được dịch là Bồ Đào Nha/Bồ-Đào-Nha

Trang 28

Cách viết không thống nhất như vậy sẽ gây nhiều khó khăn trong việc kiểm tra chính tả nói riêng và xử lý ngôn ngữ tiếng Việt nói chung

b) Tiếng Việt hiện đại đang trên dường phát triển

Quá trình khắc phục những mâu thuẫn giữa nhu cầu giao tế ngày càng tăng,

đa dạng, phong phú và tính chất hữu hạn các phương tiện ngôn ngữ đã thúc đẩy tiếng Việt phát triển không ngừng trên cả hai khía cạnh từ vựng và ngữ pháp Xu hướng phát triển của tiếng Việt theo hướng hoàn thiện và chuẩn mực hoá của ngôn ngữ văn học

So với các thế kỷ trước, cách diễn đạt ngôn từ, cách dùng chữ nghĩa và các phương tiện cú pháp ngày nay phong phú đa dạng hơn nhiều Có những từ xuất hiện trong lối nói trước đây nhưng nay không thấy nữa Ngày nay, cùng với sự phát triển của văn hoá xã hội, khoa học kỹ thuật và sự du nhập các từ nước ngoài, vốn từ vựng của tiếng Việt ngày càng được bổ sung nhiều từ mới

nó Sau đó tiến hành tìm kiếm gốc vừa tách được trong từ điển từ Việc kiểm tra

từ phụ thuộc rất nhiều vào từ điển có đủ lượng từ cần thiết hay không Khác với nhóm ngôn ngữ trên, tiếng Việt là ngôn ngữ đơn âm tiết, phần nằm giữa hai dấu phân cách là tiếng, mỗi tiếng có thể được coi là từ cũng có khi không phải là từ

Do vậy, mặc dù không phải tách các tiếp tiền tố, tiếp hậu tố khi phân tích từ, nhưng việc tách từ trong câu tiếng Việt phức tạp hơn rất nhiều so với quá trình

xử lý tách từ trong nhóm ngôn ngữ trên

Trang 29

Vào thời gian đầu và giữa của thế kỷ 20, khi các nhà nghiên cứu tiếng Việt giới thiệu ngữ pháp phương Tây, một vài thay đổi trong mẫu viết của tiếng Việt được đề xuất, làm cho nó có “hướng từ” hơn, sử dụng các nhãn hiệu khác cho biên giới từ được rõ ràng hơn và ngôn ngữ giống với Châu Âu hơn Các thay đổi này gồm loại trừ khoảng trống giữa các tiếng, và sử dụng dấu gạch nối, ví dụ

“kỹ-thuật” hay “kỹthuật” thay cho “kỹ thuật” Sự cố gắng đó là không thành công, có thể do tính tự nhiên của ngôn ngữ tiếng Việt, hơn nữa sự nhận ra các chính xác các từ không phải lúc nào cũng là quan trọng

Những khó khăn và cũng là vấn đề đặt ra với phân đoạn từ tiếng Việt là:

- Sự nhập nhằng trong từ ghép

- Cho đến nay vẫn chưa có một từ điển tổng hợp, toàn diện

- Nhận ra các danh từ riêng và tên

Nhập vào một câu tiếng Việt bất kỳ, hãy tách câu đó thành những đơn vị

từ vựng (từ), hoặc chỉ ra những âm tiết nào không có trong từ điển (phát hiện đơn vị từ vựng mới)

Với phương pháp này, chúng ta cần tập dữ liệu gồm từ điển âm tiết (khoảng 6700 âm tiết) và từ điển từ vựng tiếng Việt (khoảng 30.000 từ) Các từ điển được lưu dưới dạng các tệp văn bản có định dạng mã TCVN hoặc Unicode (UTF-8)

Các bước giải quyết

1) Xây dựng ôtômát âm tiết đoán nhận tất cả các âm tiết tiếng Việt

2) Xây dựng ôtômát từ vựng đoán nhận tất cả các từ vựng tiếng Việt

Trang 30

3) Dựa trên các ôtômát nêu trên, xây dựng đồ thị tương ứng với câu cần phân tích và sử dụng thuật toán tìm kiếm trên đồ thị để liệt kê các cách phân tích

có thể

Ý tưởng của phương pháp này là: xây dựng dần dần dựa trên ôtômát đã có ở bước trước và âm tiết (hoặc từ vựng) mới học được từ tệp dữ liệu ở bước hiện tại

Bảng chữ cái của ôtômát âm tiết là bảng chữ cái tiếng Việt, mỗi cung chuyển được ghi trên đó một ký tự, ban đầu ôtômát âm tiết chỉ gồm một trạng

thái khởi đầu được đánh số hiệu 0 Giả sử tại bước nào đó ta đọc được âm tiết a

có độ dài n (tính bằng số ký tự) từ tệp dữ liệu Xuất phát từ trạng thái khởi đầu

p=q 0 ta lấy ra từng ký tự c i của a và tìm xem từ p có cung chuyển đến trạng thái

q nào đó mà trên đó ghi ký tự c i hay không Nếu có trạng thái q như thế, ta chuyển p thành q và lặp lại bước trên với ký tự c i+1 tiếp theo Nếu không có q nào như thế, ta ra khỏi vòng lặp và xây dựng mới các trạng thái và cung chuyển

tương ứng trên đó ghi các ký tự c i , c i+1 , …, c n-1 theo sơ đồ sau (ô vuông chỉ rằng

r

Hình 2 2 Phương pháp xây dựng ôtômát âm

Trang 31

Ôtômát từ vựng được xây dựng tương tự, với điểm khác nhau như sau: thay vì ghi trên mỗi cung chuyển một ký tự, ta ghi một số Số này là số hiệu của trạng thái (kết) của ôtômát âm tiết tại đó đoán nhận mỗi âm tiết của từ Với cách

tổ chức này, ta làm giảm được kích thước của ôtômát từ vựng mà không làm mất thông tin của nó, bởi vì mỗi âm tiết được xác định bằng một trạng thái kết duy

nhất trong ôtômát âm tiết Ví dụ, với hai từ phương pháp và phương trình, giả

sử khi đưa lần lượt các âm tiết phương, pháp, trình qua ôtômát âm tiết, ta đến được các trạng thái kết ghi số n 1 , n 2 , n 3 thì trên các cung chuyển tương ứng ta

ghi các số n 1 , n 2 , n 3

Sau khi đã xây dựng xong hai ôtômát, ta ghi chúng vào hai tệp định kiểu

để dùng trong bước phân tách từ vựng Đến lúc này, hai từ điển ban đầu không còn cần thiết nữa, mọi dữ liệu của ta nằm trong hai tệp ghi hai ôtômát này Nếu mỗi ký tự (char) được ghi vào tệp với kích thước 2 byte (mã Unicode), mỗi số nguyên (int) có kích thước 4 byte thì tệp lưu ôtômát âm tiết có kích thước 146KB, tệp ôtômát từ vựng có kích thước 1MB

Tư tưởng của thuật toán phân tách từ vựng là quy việc phân tách câu về việc tìm đường đi trên một đồ thị có hướng, không có trọng số

Giả sử câu ban đầu là một dãy gồm n+1 âm tiết s 0 , s 1 , …, s n Ta xây dựng

một đồ thị có n+2 đỉnh v 0 , v 1 , …, v n , v n+1, sắp thứ tự trên một đường thẳng từ trái

sang phải; trong đó, từ đỉnh v i đến đỉnh v j có cung (i<j ) nếu các âm tiết s i , s i+1 ,

q0 n 1 n 2

n 3

Hình 2.3: Phương pháp xây dựng ôtômát từ

Trang 32

…, s j-1 theo thứ tự lập thành một từ Khi đó mỗi cách phân tách câu khác nhau

tương ứng với một đường đi trên đồ thị từ đỉnh đầu v 0 đến đỉnh cuối v n+1 Trong các cách phân tách câu đó, cách phân tích câu đúng đắn nhất ứng với đường đi qua ít cung nhất trên đồ thị

Trong trường hợp câu có sự nhập nhằng thì đồ thị sẽ có nhiều hơn một đường đi ngắn nhất từ đỉnh đầu đến đỉnh cuối, ta liệt kê toàn bộ các đường đi ngắn nhất trên đồ thị, từ đó đưa ra tất cả các phương án tách câu có thể và để người dùng quyết định sẽ chọn phương án nào, tùy thuộc vào ngữ nghĩa hoặc

văn cảnh Ví dụ, xét một câu có cụm “thuộc địa bàn”, ta có đồ thị sau:

Cụm từ này có sự nhập nhằng giữa thuộc địa và địa bàn và ta sẽ có hai kết quả phân tách là “thuộc địa/bàn” và ”thuộc/địa bàn” Ta có thể chỉ ra rất nhiều những cụm nhập nhằng trong tiếng Việt, chẳng hạn như “bằng chứng cớ”,

Trường hợp trong câu có âm tiết không nằm trong từ điển thì rõ ràng ôtômát âm tiết không đoán nhận được âm tiết này Kết quả là đồ thị ta xây dựng

từ câu đó là không liên thông Dựa vào tính chất này, ta thấy rằng nếu đồ thị

không liên thông thì dễ dàng phát hiện ra rằng đơn vị âm tiết không đoán nhận được không nằm trong từ điển âm tiết, tức nó bị viết sai chính tả hoặc là một đơn vị âm tiết (từ vựng) mới

Đánh giá kết quả

thuộc địa bàn

địa bàn thuộc địa

Hình 2.4: Một tình huống nhập nhằng

Trang 33

Với cách tiếp cận như trên, bài toán phân tách từ vựng trong câu tiếng Việt về cơ bản đã được giải quyết, đặc biệt là vấn đề tách các tổ hợp từ tương đương với một đơn vị từ vựng, thường là các cụm từ cố định, ngữ cố định hoặc các thành ngữ trong tiếng Việt Nếu chúng ta chỉ sử dụng một danh sách từ vựng thông thường và thực hiện các thao tác tìm kiếm trên danh sách này thì không thể đảm bảo thời gian tách từ vựng đối với câu có chiều dài lớn

Với những câu nhập vào có sự nhập nhằng từ vựng, có nhiều hơn một cách phân tách thì chương trình liệt kê toàn bộ các phương án tách từ có thể và giành quyền lựac họn kết quả cho người sử dụng Trong tất cả các phương án phân tách đó bao giờ cũng tồn tại một phương án đúng

Dưới đây là một số câu nhập vào và kết quả tách từ tương ứng

1 Nó | là | một | bản | tuyên ngôn | đặc sắc | của | chủ nghĩa nhân đạo | một | tiếng | chuông | cảnh tỉnh | trước | hiểm họa | lớn lao | của | hành tinh | trước | sự | điên

rồ | của | những | kẻ | cuồng tín

2 Sự | giản dị | trong sáng | tỏa | khắp | tác phẩm | đã | khiến | nó | trở nên | một | bài

| thơ | bất hủ | mà | mãi mãi | người ta | muốn | đem | làm quà | tặng | của | tình yêu

3 Trong khi | các | thành phần | tư bản chủ nghĩa | có | những | bước | phát triển | mạnh | hơn | thời kì | trước | thì | thế lực | của | giai cấp | địa chủ | vẫn | không hề | suy giảm

Tuy nhiên, chương trình phân tách từ vựng này có một số vấn đề khó khăn cần phải tiếp tục nghiên cứu giải quyết:

Thứ nhất là vấn đề giải quyết nhập nhằng phân tách Cần phải chọn một

phương án đúng đắn trong số nhiều phương án Các hướng tiếp cận khả thi cho vấn đề này có thể là:

- Dùng phương pháp phân tích cú pháp Tiến hành phân tích cú pháp của câu với những phương án tách từ vựng có thể, từ đó loại ra những phương án sai

Trang 34

cú pháp Muốn thực hiện được điều này thì ta cần một trình phân tích cú pháp tương đối tin cậy và đầy đủ

- Dùng phương pháp xác suất – thống kê Ta sẽ thống kê trên những tập văn (tập dữ liệu) tương đối lớn của tiếng Việt để tìm ra xác suất của các bộ đôi hay bộ ba từ loại hoặc từ vựng đi cạnh nhau Từ đó lựa chọn phương án phân tách có xác suất sai ít nhất

Thứ hai là vấn đề giải quyết tên riêng, tên viết tắt và tên có nguồn gốc nước

ngoài có mặt trong câu Phương pháp phân tách này chưa nhận ra được các cụm từ dạng “Nguyễn Văn A”, “Đại học Khoa học Tự nhiên”, hoặc

“ĐT.8.20.20.20”, “1.000$”, “0,50%”, …

2.1.3.2 Phương pháp tách từ sử dụng mô hình Markov ẩn

Phương pháp này sử dụng mô hình n-gram được huấn luyện không giám sát bằng thuật toán Baum-Welch và sử dụng từ điển tiếng Việt để thực hiện phân đoạn từ trên tập dữ liệu tiếng Việt chưa được phân đoạn Bài toán phân đoạn từ tiếng Việt được qui về bài toán tìm dãy trạng thái hợp lý nhất khi cho một dãy quan sát Các thí nghiệm cho thấy rằng phương pháp này đạt được độ chính xác cao hơn hoặc ít nhất là bằng các hệ phân đoạn từ tiếng Việt tự động tốt nhất hiện nay, đặc biệt là đối với các văn bản chuyên ngành Hiện nay, kết quả này được ứng dụng vào chương trình kiểm lỗi chính tả và tìm kiếm từ mới tự động [5]

Mô hình tiếng Việt sử dụng HMM

Mô hình n-gram tiếng Anh chính là mô hình Markov bậc n-1 Dưới đây chúng tôi sẽ trình bày mô hình n-gram tiếng Việt

Mô hình n- gram tiếng Việt

Mô hình tiếng Việt cần tham số hoá được hiện tượng nhập nhằng phân đoạn

từ trong đó Ta sẽ xem xét hai cách mô hình hoá nhập nhằng ở đây Cách thứ nhất, ta coi sự xuất hiện của một âm tiết phụ thuộc vào n-1 âm tiết trước đó và

Trang 35

tập âm tiết được bổ xung thêm một âm tiết đặc biệt dùng để phân biệt hai từ kề nhau Cách nhìn nhận này giống Teahan và cộng sự (2000) đã làm Cách thứ hai, ta coi sự xuất hiện của một từ phụ thuộc vào n-1 từ trước đó và từ có thể là đơn hoặc ghép Sproat và cộng sự (1996) đã mô hình hoá tiếng Trung Quốc bằng mô hình uni-gram kiểu này Đinh Điền và cộng sự (2001) cũng đã áp dụng cách làm của Sproat cho tiếng Việt Tuy nhiên độ rộng ngữ cảnh là không thì hẹp quá Chúng ta xây dựng mô hình từ n-gram vì các lý do sau: tính tự nhiên của cách nhìn vấn đề, yêu cầu cơ bản đối với mô hình được thỏa mãn, việc kết hợp thêm xác suất từ loại là thuận tiện Các đặc điểm của mô hình n-gram này là:

- Nó là mô hình Markov ẩn bậc n-1 vì ta không quan sát được dãy từ (dãy trạng thái) mà chỉ quan sát được dãy âm tiết

- Cùng một dãy âm tiết có thể ứng với nhiều n-gram khác nhau Ví dụ dãy

“học sinh học” ứng với hai bi-gram là “học#sinh học” và “học sinh#học”

- Các n-gram có thể có số âm tiết khác nhau Ví dụ “viện#ngôn ngữ học” và

“đi#học” là hai bi-gram

Chúng ta cần ước lượng hàm xác suất:

)

| (w n w1 w n−1P

Xác suất của câu có dãy từ w1w2 w m sẽ là:

)

| ( )

| ( )

| ( ) ( )

(w1w2 w m =P w1 P w2 w1 P w m−1 w mn,m−2 P w m w mn+1,m−1

Huấn luyện mô hình (training model)

Trong trường hợp tập dữ liệu chưa được phân đoạn ta có thể sử dụng thuật toán Baum-Welch (xem Manning, 1999) Ở đây, mô hình được khởi tạo theo kiểu mà Ponte và Croft (1996) đã làm Đó là huấn luyện dựa trên tập dữ liệu đã được phân đoạn bằng thuật toán tham lam FMM

Công thức tính xác suất n-gram theo MLE:

Trang 36

)

(

)

( )

| (

1 1

1 1

n

w w C

w w C w

w w P Trong đó, C(w 1 ,…,w n ) là tần suất n-gam (tần xuất xuất hiện của dãy n từ liên tiếp

nhau)

Xử lý hiện tượng dữ liệu thưa (sparse data)

Hiện tượng dữ liệu thưa ở đây là số từ xuất hiện trong tài liệu ít hơn nhiều so với tổng số lần xuất hiện của chúng trong tài liệu Có nhiều cách để xử lý hiện tượng dữ liệu thưa, trong đó một số lựa chọn được ưa thích là kết hợp Good-Turing hay Witten-Bell discounting với Back-off hay interpolation models

Trong các thí nghiệm của mô hình này sử dụng phương pháp nội suy tuyến tính đơn giản:

Tức là ta cần tính:

) ,

| ( max

) , ( ) ,

| ( ) ,

|

(

µ

µ µ

µ

O P

X P X O P O

X

Do O cố định nên ta cần tính:

Trang 37

(2.2) Tức là ta cần tìm X làm cực đại hàm xác suất (2.1)

Ta có thể tính (2.2) bằng cách xây dựng đồ thị chuyển trạng thái sau đó tìm đường đi làm cực đại Mỗi đường đi từ trạng thái bắt đầu cho tới trạng thái kết thúc trong đồ thị này tương ứng với một giá trị của X Để tìm dãy trạng thái tốt nhất trong mô hình này sử dụng một phiên bản của thuật toán Viterbi theo Manning (1999)

Ví dụ:

Xét câu: “Truyền thông tin trên mạng”

Các từ có thể có: “truyền”, “truyền thông”, “thông”, “thông tin”, “tin”,

“trên”, “mạng”

Nếu ta sử dụng HMM bậc một thì đồ thị là:

Trọng số của cung nối trạng thái w ivà trạng thái w jlà xác suất P(w j |w i), xác xuất này còn được gọi là xác suất bigram

Theo đường đi tô đậm thì:

X = (“truyền”, “thông tin”, “trên”, “mạng”)

P(th«ng|truyÒn)

P(th«ng tin|truyÒn)

Hình 2.5: Một ví dụ về đồ thị của HMM bậc một

Trang 38

P(X) = P(truyền)P(thông tin|truyền)P(trên|thông tin)P(mạng|trên)

Nếu ta sử dụng HMM bậc hai (HMM bậc 1 với trạng thái kép) thì đồ thị là:

Trọng số của cung nối trạng thái w i w j và trạng thái w j w k là xác suất

)

|

(w k w i w j

P ,nó được gọi là xác suất trigram

Theo đường đi tô đậm thì:

X = (“truyền”,”truyền””thông tin”,”thông tin” “trên”,”trên” “mạng”)

P(X)=P(truyền)P(thôngtin|truyền)P(trên|truyền#thôngtin)P(mạng|thông tin#trên) Trong hai đồ thị trên đường đi được tô đậm chính là cách phân đoạn đúng

Để tránh hiện tượng máy tính bị tràn số khi tính tích các con số rất nhỏ, mô hình này sử dụng xác suất logarit tính bởi:

Khi đó (2.2) được viết lại là:

)) , ( log ( min

(

1

1 , 1 2

w w w

P(trªn|truyÒn#th«ng tin)

truyÒn th«ng#tin

th«ng tin#trªn

Hình 2.6: Một ví dụ về đồ thị của mô hình HMM bậc 2

Trang 39

Cụm danh từ riêng được phân đoạn độc lập với các thành phần xung quanh Tuy nhiên trạng thái danh từ riêng vẫn là một mắt xích trong chuỗi các trạng thái Trong mô hình này bỏ qua xác suất trạng thái danh từ riêng phát ra các danh từ riêng khác nhau Các con số cũng được xử lý tưng tự như vậy

Các kết quả thử nghiệm

- Thông tin về huấn luyện

Kích thước corpus Số từ Số bigram Số xuất hiện của từ

Bảng 2.1 Thông tin về tập huấn luyện của mô hình Markov ẩn

Từ bảng trên ta có thể thấy là dữ liệu rất thưa

- Kết quả tách từ trên tập dữ liệu được phân đoạn bằng tay

Kích thước corpus Recall Precision F-score

Bảng 2.2 Kết quả đánh giá độ chính xác của mô hình Markov ẩn

Trong đó, các độ đo recall, precision và F-score được định nghĩa như sau:

N

c call= Re

n

c ecision= Pr

precision recall

precision recall

score F

Giá trị recall cho ta biết tỉ lệ từ đúng được nhận ra, precision cho ta biết tỉ lệ

từ đúng trong số các từ máy nhận biết, F-score là độ đo kết hợp của recall và

Trang 40

precision Đó là các độ đo thường được sử dụng trong đánh giá hệ thống phân tích cú pháp ngôn ngữ tự nhiên (parser)

Một số ví dụ về kết quả tách từ của mô hình này:

Giả sử, chúng ta có đưa vào chương trình các văn bản sau:

Văn bản 1: Nó là một bản tuyên ngôn đặc sắc của chủ nghĩa nhân đạo, một tiếng chuông cảnh tỉnh trước hiểm họa lớn lao của hành tinh trước sự điên rồ của những kẻ cuồng tín

Văn bản 2: Sự giản dị, trong sáng tỏa khắp tác phẩm đã khiến nó trở nên một bài thơ bất hủ, mà mãi mãi người ta muốn đem làm quà tặng của tình yêu

Văn bản 3: Trong khi, các thành phần tư bản chủ nghĩa có những bước phát triển mạnh hơn thời kì trước thì thế lực của giai cấp địa chủ vẫn không hề suy giảm

Văn bản 4: Trận lũ lụt khủng khiếp tháng 11.1999 đã phá vỡ một dải đất ở Thuận An thành cửa biển Hoà Duân (Thừa Thiên - Huế)

Mỗi từ được xác định bằng một cặp SW-EW, SW là kí hiệu bắt đầu của một từ,

EW là kí hiệu kết thúc của một từ Kết quả tách từ của các văn bản trên là:

Văn bản 1 Văn bản 2 Văn bản 3 Văn bản 4

dị EW , SW EW trong SW sáng EW tỏa SW EW khắp SW EW tác SW phẩm EW

đã SW EW

Trong SW khi EW , SW EW các SW EW thành SW phần EW

tư SW bản chủ nghĩa EW

có SW EW

Trận SW EW

lũ SW EW lụt SW EW khủng SW khiếp EW tháng SW EW 11.1999 SW EW

đã SW EW phá SW

vỡ EW một SW EW

Ngày đăng: 25/02/2021, 16:04

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w