Website: Email : Tel (: 0918.775.368
MỤC LỤC
MỤC LỤC....................................................................................................................1
Website: Email : Tel (: 0918.775.368.....1
BẢNG DANH MỤC HÌNH HOẠ...............................................................................4
LỜI GIỚI THIỆU........................................................................................................5
I. Đặt vấn đề.................................................................................................................7
II. Cơ sở lý thuyết........................................................................................................8
1. Khái niệm Text Mining.......................................................................................8
a. Khai phá dữ liệu (Data Mining).....................................................................8
b. Khai phá dữ liệu văn bản (Text Mining)........................................................9
2. Bài toán phân loại văn bản (Text categorization).............................................11
a. Khái niệm phân loại văn bản .......................................................................11
b. Các phương pháp phân loại văn bản............................................................11
b.1. Sử dụng từ điển phân cấp chủ đề...........................................................12
b.1.1. Giải thuật phân lớp và phân cấp chủ đề.......................................12
b.1.2. Sự phù hợp và sự phân biệt của các trọng số...............................13
b.2. Phương pháp cây quyết định (Decision tree).........................................14
3. Bài toán thu thập thông tin (Information retrieval - IR)...................................15
a. Khái niệm thu thập thông tin........................................................................15
b. Các phương pháp thu thập thông tin............................................................17
b.1. Các phương pháp chuẩn.........................................................................17
b.1.1. Mô hình Boolean..........................................................................17
b.1.2. Mô hình không gian vec-tơ (Vector space model - VSM)..........19
b.2. Các phương pháp dựa trí tuệ nhân tạo (AI-based method)...................22
b.2.1 Kỹ thuật mạng Nơ-ron (Neural network)......................................23
4. Một số công cụ phân tích văn bản tiếng Anh...................................................27
III. Các giải pháp áp dụng cho Vietnamese Text Mining.........................................30
1. Đặc trưng của văn bản tiếng Việt.....................................................................30
a. Các đơn vị của tiếng Việt.............................................................................30
a.1. Tiếng và đặc điểm của tiếng...................................................................30
2. Kết quả chạy chương trình................................................................................39
TÀI LIỆU THAM KHẢO.........................................................................................40
PHỤ LỤC...................................................................................................................41
Các thông tin về báo cáo.......................................................................................41
Cách chạy chương trình demo..............................................................................41
2
TỪ ĐIỂN THUẬT NGỮ...........................................................................................42
3
BẢNG DANH MỤC HÌNH HOẠ
Hình 1: Một ví dụ về cây quyết định
Hình 2. Mô hình thu thập thông tin chuẩn
Hình 3. Đồ thị biểu diễn các vec-tơ của bài báo D
1
và D
2
Hình 4: Đồ thị biểu diễn quan hệ giữa truy vấn (query) và các tài liệu D1, D2
Hình 5. Mạng nơ-ron: toán tử AND (a) và toán tử OR (b)
Hình 6. Mạng nơ-ron với lớp ẩn: toán tử NOR
Hình 7: Mô hình biểu diễn mạng nơ-ron
Hình 8: Minh hoạ công cụ TextAnalyst
Hình 9: Minh hoạ công cụ TextAnalyst nhúng trên Internet Explorer
4
LỜI GIỚI THIỆU
Ngày nay, cơ sở dữ liệu đã trở thành một phần không thể thiếu của xã hội loài người.
Trong kỉ nguyên thông tin này, các thông tin được lưu trữ và xử lý hiệu quả hầu hết là
thông qua cơ sở dữ liệu. Sau gần 50 năm phát triển, cơ sở dữ liệu đã có những bước tiến vô
cùng quan trọng trong lịch sử Công nghệ thông tin. Từ mô hình Cơ sở dữ liệu quan hệ do
E.Codd đề xuất từ những năm 60, các ứng dụng công nghệ thông tin đã thực sự biến việc
lưu trữ dữ liệu trở thành lưu trữ thông tin thông qua các công cụ quản lý và xử lý cơ sở dữ
liệu. Ngày nay, nhu cầu lưu trữ và xử lý thông tin có mặt ở khắp mọi nơi. Ở bất cứ một tổ
nghiên cứu và các thuật toán về Trí tuệ nhân tạo và Hệ chuyên gia đã được áp dụng và thu
được những kết quả rất quan trọng như: cây quyết định, mạng nơ-ron...
Hầu hết các thuật toán nghiên cứu cho DataMining là tập trung trên các nguồn số liệu
có cấu trúc (structured data). Nhưng phần lớn thông tin mà chúng ta lưu trữ và trao đổi
hằng ngày lại được lưu trữ dưới các dạng dữ liệu bán cấu trúc (semi-structured data) hoặc
phi cấu trúc (non-structured data). Ví dụ như trong các nhà xuất bản, hệ thống các trang
5
web trên một website, tập các công văn, giấy tờ, báo cáo, thư tín điện tử trong một công ty.
Thậm chí ta có thể nhận thấy rằng trong một hệ quản trị cơ sở dữ liệu (nơi mà dữ liệu được
lưu trữ có cấu trúc) thì dữ liệu kiểu text vẫn chiếm một tỷ lệ cao. Do đó một vấn đề đặt ra
là làm thế nào để có thể tìm kiếm và khai thác tri thức từ nguồn dữ liệu như vậy. Các kỹ
thuật để giải quyết vấn đề này được gọi là kỹ thuật "TextMining" hay Khai phá dữ liệu văn
bản. Bài toán Khai phá dữ liệu văn bản không chỉ tập trung vào một hay một nhóm các
thông tin được lưu trữ dưới dạng văn bản, vấn đề đặt ra là làm thế nào có thể Khai phá
được các thông tin theo lịch sử, từ quá khứ hướng dự đoán tương lai. Những tri thức tưởng
trừng như vô ích trong quá khứ nhưng có thể được phát hiện để sử dụng cho các mục đích
sau này.
Một số bài toán quan trọng trong Khai phá dữ liệu văn bản hay được xét đến như là
các bài toán “Text Classification”, “Text Sumarization”, và “Text Categorization”.
Trên thế giới đã có rất nhiều thành công trong đề tài phân lớp văn bản như các nghiên
cứu của hãng IBM, trong các phòng thí nghiệm ở MIT hay ở các viện nghiên cứu của các
trường đại học ở Mỹ, Pháp, Nhật Bản, Canada. Tuy nhiên, các thành công đó chủ yếu tập
trung vào vấn đề nghiên cứu về các văn bản tiếng Anh, tiếng Pháp. Những ngôn ngữ này là
các ngôn ngữ tương đối thuận lợi khi xử lý.
Hiện nay, chưa có một công cụ nào được coi là hiệu quả trong lĩnh vực khai phá văn
bản tiếng Việt. Nền Công nghệ thông tin của nước ta được phát triển hết sức mạnh mẽ. Do
nhu cầu hội nhập, nhu cầu phát triển kinh tế, văn hoá, Xã hội ngày càng tăng, các thông tin
được xử lý thông qua văn bản điện tử, qua web, qua email phát triển với tốc độ chóng mặt.
Từ đó, nhu cầu nghiên cứu và xây dựng các công cụ Khai phá dữ liệu văn bản tiếng Việt
đang được hết sức coi trọng.
Việt lại có những đặc trưng riêng của nó. Ta có thể nhận thấy được ngay sự khác biệt về
mặt kí pháp, cú pháp và ngữ pháp tiếng Việt trong các văn bản so với các ngôn ngữ phổ
biến trên thế giới như tiếng Anh, tiếng Pháp. Vậy thì những đặc trưng này ảnh hưởng thế
nào đến các kỹ thuật khai phá dữ liệu văn bản, ta cần phải có những ký thuật mới nào để có
thể tận dụng được những ưu thế của tiếng Việt cũng như giải quyết được những phức tạp
trong tiếng Việt.
Để trả lời được những câu hỏi này, đồ án sẽ đi từ những bước nghiên cứu về Khai
phá dữ liệu văn bản, tìm hiểu những đặc trưng của tiếng Việt, từ đó đề ra phương hướng
giúp giải quyết bài toán phân loại văn bản tiếng Việt phức tạp ở các nghiên cứu cao hơn.
Các kết quả của nghiên cứu trong đề tài thực tập này sẽ là nhưng bước tiến đầu tiên cho
luận văn tốt nghiệp của em với đề tài “Phân loại văn bản tiếng Việt bằng phương pháp
phân tích cú pháp.”
7
II. Cơ sở lý thuyết
1. Khái niệm Text Mining
a. Khai phá dữ liệu (Data Mining)
Việc sử dụng cơ sở dữ liệu vào hoạt động của một tổ chức đã được phát triển trong
vòng 60 năm trở lại đây. Với dữ liệu được thu thập trong suốt quá trình hoạt động của một
tổ chức, một nhu cầu được đặt ra là tìm kiếm và khai thác tri thức từ những dữ liệu đó. Đó
chính là xuất phát điểm của bài toán Phát hiện tri thức từ cơ sở dữ liệu. Người ta nhận thấy
rằng có rất nhiều tri thức mà chúng ta không lường trước đang còn tiềm ẩn trong dữ liệu,
nhiệm vụ của chúng ta là phát hiện, khám phá các tri thức đó, phục vụ cho những nhu cầu
sử dụng thông tin cao hơn, ví dụ như trong các hệ chuyên gia hay hệ hỗ trợ quyết định.
Khai phá dữ liệu là giai đoạn chủ yếu của quá trình Phát hiện tri thức từ cơ sở dữ
liệu. Quá trình khai phá tri thức được thực hiện sau các quá trình thu thập và tinh lọc dữ
liệu, có nghĩa là chỉ tìm các mẫu tri thức (pattern) có ý nghĩa trên tập dữ liệu có hy vọng
chứ không phải là trên toàn bộ CSDL như các phương pháp thống kê trước đây.
Vì vậy khai phá dữ liệu bao gồm việc thử tìm mô hình phù hợp với dữ liệu và tìm
kiếm các mẫu hình tri thức từ dữ liệu theo mô hình đó. Mặc dù mẫu hình có thể tìm
được từ bất kì một CSDL nào nhưng chỉ những mẫu phù hợp với mục đích tìm kiếm mới
Khai phá dữ liệu văn bản hay phát hiện tri thức từ các cơ sở dữ liệu văn bản (textual
databases) đề cập đến tiến trình trích lọc các mẫu hình thông tin (pattern) hay tri thức
(knowledge) đáng quan tâm hoặc có giá trị (non-trivial) từ các tài liệu văn bản phi cấu trúc.
Quá trình này có thể được coi là việc mở rộng kỹ thuật Khai phá dữ liệu truyền thống, vì
như ch úng ta đã thấy (đã được đề cập ở trên) kỹ thuật Khai phá dữ liệu truyền thống
(DataMining) hướng tới việc phát hiện tri thức từ các cơ sở dữ liệu có cấu trúc.
Thông tin được lưu trữ dưới dạng nguyên sơ nhất chính là văn bản. Thậm chí ta có
thể thấy rằng dữ liệu tồn tại dưới dạng văn bản còn có khối lượng lớn hơn rất nhiều so với
các dữ liệu có cấu trúc khác. Thực tế, những nghiên cứu gần đây đã cho thấy rằng có đến
80% thông tin của một tổ chức nằm dưới dạng văn bản. Đó có thể là các công văn giấy tờ,
các biểu mẫu điều tra, các phiếu đặt hàng, các yêu cầu khiếu nại, giải quyết quyền lợi, các
thư tín điện tử (email), các thông tin trên các website thương mại... Khi các nghiên cứu về
cơ sở dữ liệu ra đời vào những năm 60, người ta tưởng rằng có thể lưu mọi loại thông tin
dưới dạng dữ liệu có cấu trúc. Nhưng trên thực tế sau gần 50 năm phát triển, người ta vẫn
dùng các hệ thống lưu trữ ở dạng văn bản và thậm trí còn có xu hướng dùng thường xuyên
hơn. Từ đó người ta có thể tin rằng các sản phẩm Khai phá dữ liệu văn bản có thể có giá trị
thương mại cao hơn rất nhiều lần so với các sản phẩm Khai phá dữ liệu truyền thống khác.
Tuy nhiên ta cũng có thể thấy ngay rằng các kỹ thuật Khai phá dữ liệu văn bản phức tạp
hơn nhiều so với các kỹ thuật Khai phá dữ liệu truyền thống bởi vì phải thực hiện trên dữ
liệu văn bản vốn đã ở dạng phi cấu trúc và có tính mờ (fuzzy).
Một ví dụ cho bài toán khai phá dữ liệu văn bản, khi phân tích các bài báo nghiên
cứu khoa học, ta có các thông tin sau:
- “stress là một bệnh liên quan đến đau đầu”
- “stress xuất hiện có thể do thiếu Magê trong máu”
- “Canxi có thể ngăn cản một số chứng đau đầu”
- “Magê là một nguyên tố điều hoà canxi tự nhiên trong máu”
Sau khi phân tích các thông tin quan trọng này, hệ thống cần phải đưa ra các suy luân
cụ thể mang tính cách mạng:
- “Thiếu hụt Magê có thể gây ra một số bệnh đau đầu”
9
ví dụ như phân lớp văn bản.
Mục tiêu cuối cùng của Text Mining thường là đường lối hiệu quả, hoàn thiện, và
đặc trưng để trình diễn và tìm kiếm các tập hợp rộng lớn của các văn bản. Do đó, các kỹ
thuật chính của Text Mining có thể được phân phân ra thành các nhiệm vụ mà chúng thực
hiện khi xử lý khai phá văn bản: loại thông tin mà chúng có thể trích ra và loại phân tích
được thực hiện bởi chúng.
Các loại thông tin được trích ra có thể là:
- Các nhãn: Giả sử, được liên kết với mỗi văn bản là tập các nhãn các thao
tác khai phá tri thức được thực hiện trên các nhãn của mỗi văn bản. Nói
10
chung, có thể giả sử rằng các nhãn tương ứng với các từ khoá, mỗi một từ
khoá có quan hệ với một chủ đề cụ thể nào đó.
- Các từ: Ở đây giả sử rằng một văn bản được gán nhãn với từng từ xuất
hiện trong văn bản đó.
- Các thuật ngữ: Ở đây với mỗi văn bản tìm thấy các chuỗi từ, chuỗi từ đó
thuộc về một lĩnh vực nào đó và do đó việc tìm khai phá văn bản được thực
hiện trên các khai niệm được gán nhãn cho mỗi văn bản. Ưu điểm của
phương pháp này là các thuật ngữ được tách ra ít và có xu hướng tập trung
vào các thông tin quan trọng của văn bản hơn hai phương pháp trước đây.
Các loại kết hợp:
- Kết hợp thông thường: Một số thuật toán trước đây giả sử rằng dữ liệu
nguyên mẫu được tạo lập chú dân để trợ giúp cho các kỹ thuật xử lý ngôn
ngữ tự nhiên. Các cấu trúc có chú dẫn trên thực tế có thể được sử dụng như
một cơ sở cho việc xử lý khai phá tri thức.
- Các phân cấp thuật ngữ: Ở đây mỗi văn bản được đính với các thuật ngữ
lấy ra từ một phân cấp các thuật ngữ. Sau đó, một hệ thống sẽ phân tích sự
phân bố nội dung của các thuật ngữ hậu duệ của từng thuật ngữ liện quan
đến các hậu duệ khác do các phân bố liên kết và các phép đo khác nhằm
khai thác các quan hệ mới giữa chúng. Loại liên kết này có thể cũng được
sử dụng để lọc và tổng hợp chủ đề của các tin tức.
danh sách chủ đề là lớn nhưng cố định. Giải thuật của chúng ta không thu được những chủ
đề từ thân của tài liệu nhưng thay vào đó, nó liên hệ tài liệu với một trong những chủ đề
được liệt kê trong từ điển hệ thống. Kết quả là phép đo (về phần trăm) sự tương ứng của tài
liệu với mỗi từngchủ đề có sẵn.
Có một vấn về xuất hiện là độ tối ưu, hay độ hợp lý, độ chi tiết cho phân loại như
vậy. Ví dụ, khi phân loại tin tức trên internet với một người đọc “bình thường”, những phân
loại như các loài động vật hoặc nghành công nghiệp thì khá phù hợp, trong khi phân lớp
các chủ đề về động vật học giống như một cuốn từ điển như vậy sẽ đưa ra một câu trả lời
chung chung rằng tất cả các chủ đề đó đều nói về động vật. Hay nói cách khác, với một
người đọc tin tức trên internet bình thường, thật không thích hợp dùng để phân loại những
tài liệu với những chủ đề chi tiết hơn như những động vật có vú, động vật có xương sống,
động vật thân nhiệt.
Trong bài nghiên cứu này, chúng ta sẽ bàn luận về cấu trúc của từ điển chủ đề, cách
chọn lựa và cách sử dụng các trọng số của các nút riêng lẻ trong phân cấp, và một số khía
thực tế về việc biên soạn điển chủ đề.
b.1.1. Giải thuật phân lớp và phân cấp chủ đề
Trong bài nghiên cứu của các tác giả Guzmán và Arenas vào năm 1997 và 1998, hai
ông đề xuất việc sử dụng một từ điển có phân cấp để xác định những đề tài chính của một
tài liệu [1]. Về mặt kỹ thuật, từ điển bao gồm hai phần: các nhóm từ khóa đại diện cho các
chủ đề riêng biệt, và một biểu diễn phân cấp của các chủ đề này.
Một nhóm từ khóa là một danh sách các từ hoặc các biểu thức liên quan đến tình
trạng tham chiếu bởi tên của chủ đề. Ví dụ, chủ đề tôn giáo liệt kê các từ như nhà thờ, thầy
tu, nến, kinh thánh, cầu nguyện, người hành hương,…Chú ý rằng những từ này không
được liên kết với đầu mục tôn giáo hay liên kết với nhau bởi bất kỳ quan hệ ngữ nghĩa tiêu
chuẩn nào như kiểu con, phần,…
Cây chủ đề được tổ chức thành một phân cấp, hay nói chung là tổ chức thành một
mạng (khi đó một số chủ đề có thể thuộc một vài nút của cây phân cấp).
Giải thuật tìm kiếm chủ đề trên từ điển cũng gồm có hai phần : tìm kiếm chủ đề đơn
(chủ đề lá) và sự truyền lan trọng số của chủ đề trên cây. Thực tế, nó trả lời, cho câu hỏi
sau: tới mức độ nào thì tài liệu này sẽ phù với chủ đề đã cho? Một câu hỏi như vậy được
Di
k
i
Di
k
i
j
i
j
k
n
nr
w
[1]. Ở đây phép tính tổng được thực hiện tất cả các tài liệu có sẵn D,
j
i
r
là phép đo sự phù
hợp của tài liệu i với chủ đề j, và
k
i
n
là số lần xuất hiện của từ hay chủ đề k trong tài liệu i.
Không may, chúng ta không thành thạo bất cứ giải thuật đáng tin cậy nào để tìm ra
phép đo độ phù hợp
j
i
r
của các tài liệu cho các lĩnh vực một cách độc lập. Thay vào đó,
chủ đề qua những tài liệu trong cơ sở dữ liệu. Một cách đơn giản để tính
toán một khả năng phân biệt là đo nó một cách rời rạc:
∑
∈
−=
Di
j
i
j
Mrw
2
)(
, ở đó
13
∑
∈
=
Di
j
i
DrM /
là giá trị trung bình của
j
i
r
qua cơ sở dữ liệu hiện thời D, và
j
i
r
được xác
nằm ở
chiến lược “chia và trị” [2]. Chiến lược này sẽ kiểm tra xem liệu tất cả các khái niệm huấn
lúa mì lúa mì
nông trại nông trại giạ giạ
thương nghiệp
thương nghiệp xuất khẩu
xuất khẩu
nông nghiệp
tấn tấn
nông nghiệp
lúa mìlúa mì
lúa mì
lúa mì
lúa mì
lúa mì lúa mì
lúa mì
Hình 1: Một ví dụ về cây quyết định
14
luyện có cùng nhãn với nó (hoặc
i
c
hoặc
→
i
c
); nếu không, lựa chọn một khái niệm t
k
, phân
chia cây thành các lớp tài liệu có cùng giá trị t
k
thường chúng ta muốn tìm kiếm một cách tương đối chính xác với một thông tin đặc biệt
được đưa vào. Sau đó chúng ta sẽ tự chọn thông tin phù hợp nhất từ các kết quả của phép
xử lý trước đó. Nếu chúng ta so sánh nó với các kiểu hệ thống khác nhau, chúng ta sẽ thấy
rằng trong nội dung các truy vấn cơ sở dữ liệu, một phép tìm kiếm thực chất là để làm thoả
mãn một truy vấn, là câu hỏi để tìm ra câu trả lời (được biết đến với khái niệm trích xuất
thông tin) đặc biệt là với một câu hỏi đặc biệt. Trong thu thập thông tin, một phép tìm kiếm
nhằm tìm ra một tài liệu mà người dùng đang cần. Các hệ thống thu thập thông tin (IR
systems) được sử dụng để thu thập các tài liệu liên quan đến các yêu cầu rõ ràng. Vấn đề
với thu thập thông tin là việc xử lý các văn bản có nội dung liên quan nội tại đến các văn
bản được sử dụng trước đó. Hình 2 đưa ra một mô hình tương tác thu thập thông tin chuẩn.
Hiển nhiên, việc thu thập thông tin là quá trình xử lý lặp lại, với xử lý đầu vào và đầu ra
bao gồm vòng lặp tính toán lại yêu cầu.
Thao tác này chuyển đổi truy vấn theo một chiến lược có sẵn nhằm tăng tính phù hợp
của tài liệu đã nhận được.
Việc thu thập thông tin có thể được định nghĩa cho bất cứ một loại thông tin nào ví
dụ như kiểu văn bản, hình ảnh, âm thanh... Tuy nhiên, ở đây chúng ta chỉ đề cập đến việc
Thông tin cần thiết
Truy vấn
Gửi cho Hệ thống
Nhận kết quả
Đánh giá kết quả
Tốt
?
Dừng lại
Đúng
Công thức hoá lại
Sai
Hình 2. Mô hình thu thập thông tin chuẩn
16