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

Tóm tắt văn bản tiếng việt theo hủ đề pdf

125 3 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

Tiêu đề Tóm Tắt Văn Bản Tiếng Việt Theo Chủ Đề
Tác giả Hoàng Đức Đông
Người hướng dẫn TS. Lê Thanh Hương
Trường học Trường Đại Học Bách Khoa Hà Nội
Chuyên ngành Công Nghệ Thông Tin
Thể loại Đồ Án Tốt Nghiệp Cao Học
Năm xuất bản 2008
Thành phố Hà Nội
Định dạng
Số trang 125
Dung lượng 3,81 MB

Nội dung

Cỏc lĩnh vực này chớnh là c u trỳc vấ ề ộ n i dung của cỏc tờ bỏo điện tử, thư viện đi n tử,… Người viết luậệ n văn sử dụng cỏc thành quả đạ t về ử x lý văn bản tiếng Việt như bài toỏn p

Trang 1

B GIÁO DỘ ỤC VÀ ĐÀO TẠO

HOÀNG ĐỨC ĐÔNG

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

Trang 2

TRƯỜNG ĐẠI H C BÁCH KHOA HÀ N I Ọ Ộ

HOÀNG ĐỨC ĐÔNG

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

NGƯỜI HƯỚ NG D N KHOA H Ẫ Ọ C :

TS LÊ THANH HƯƠNG

Trang 3

LỜI CẢM ƠN

Em xin chân thành gử ờ i l i cảm ơn chân thành và sâu sắc nh t t i ấ ớ cô giáo TS Lê

Thanh Hương đã tận tình hướng dẫn và giúp đỡ trong quá trình làm đồ án

Em chân thành cảm ơn các thầy cô trong khoa Công Ngh Thông Tin, cùng toàn thệ ể

các th y cô troầ ng khoa đã cung cấp ki n th c quý báu cho em trong nhế ứ ững năm học

vừa qua.

Xin chân thành cảm ơn các thành viên trong nhóm x lý ngôn ngử ữ ự t nhiên của

khoa Công Nghệ Thông Tin đã đưa ra góp ý, nhận xét v giề ải pháp cũng như kết

qu cả ủa đề tài

Mặc dù em đã ố c gắng hoàn thành luận văn này trong phạm vi khả năng cho phép nhưng chắc ch n không không th ắ ể tránh được nh ng thiữ ếu sót Em kính mong được

nhận được sự thông cảm và sự chỉ ảo tận tình của các thầy cô và các bạn b

H c viên: ọ Hoàng Đức Đông

L p: ớ Cao học

Hà Nội 11/2008

Trang 4

LỜ I NÓI Đ ẦU

Trong những năm gần đây, sự phát triển vượt bậc của công nghệ thông tin đã làm tăng đáng ể ố lượk s ng giao d ch trên mị ạng Internet đặc biệt là thư viện điện tử, tờ báo điện t …Theo th ng kê t ử ố ừ Broder năm 2003 cho thấy số lượng văn bản tăng

gấp đôi sau 9 đến 12 tháng

Với thông tin lớn như vậy làm sao để khai thác thông tin hi u quệ ả là một câu hỏi lớn giành cho các nhà làm tin h c Chúng ta có hàng loọ ại các tờ báo n i ti ng trong ổ ếnước như 15TUwww.vnexpress.netU, www.vietnamnet.vn www.dantri.com,, Chúng ta

có nh ng c máy tìm ki m thông minh nhữ ỗ ế ư Google, Yahoo,…Song m t vộ ấn đề đặ t

ra là chúng ta không thể đọ c hế ấ ả các thông tin trên báo cũng như nhữt t t c ng gì c ỗmáy đó đem tìm kiếm đem về Đ giể ải quyết vấn đề đó, người vi t luế ận văn xin đề

xuất giải pháp “Tóm tắt văn bản tiếng Việt theo chủ đề ục đích củ ” M a đ tài là ềtrích rút n i dung chính cộ ủa các văn bản tiếng Việt l i, hi n thạ ể ị cho người đọc từ đó ngườ ử ụi s d ng xem xét nội dung đó có cần đọc không? Nếu có ngườ ử ụi s d ng ti n ếhành đọc chi tiết văn bản g c, nố ếu không ngườ ử ụi s d ng d ng l i, không c n ph i ừ ạ ầ ả

Nội dung của luậ n văn g m có chương trong đó: ồ 7

Chương 1 Trình bày về nhiệm vụ ủ c a đ án, ề các cơ sở lý thuyết của lĩnh vực ồ v khai phá dữ liệu văn bản và xử lý ngôn ngữ ự nhiên Đó là các lý thuyế t t chung về khai phá dữ ệu văn bả li n, m i liên quan giố ữa xử lý ngôn ngữ ự t nhiên v i khai phá ớ

d liữ ệu văn bản Đ c biệt người viết luận văn có đi sâu phân tích đặc điểm ngôn ngữặ

tiếng Việt

Trang 5

Chương 2 Trình bầy về thành tựu đạt được về các bài toán liên quan t i phân ớnhóm văn bản

Chương 3 Trình bầy về mô hình, giải pháp cho bài toán phân lớ văn bảp n

Chương 4 Trình bầy về ấn đề nghiên cứ , phân lớp văn bản tiếng Việt, giới thiệ v u u

v ề bài toán tóm tắt văn bản tiêng Việt theo chủ đề T ừ đó đưa ra bài toán phân lớp

văn b n, tìm ch ả ủ đề văn bản ph c v cho bài toán tóm tụ ụ ắt văn bản ti ng Vi t theo ế ệchủ đề mà ng i vi t luườ ế ận văn đề xu t ấ

Chương 5 Trình bầy giải pháp tiếp cận phân lớp văn bản tìm ch ủ đề

Chương 6 Trình bầy tổng quan thiết kế ệ h thống tóm tắt văn bản ti ng Vi t theo ế ệchủ đề Và đi sâu vào nhiệm v phân lụ ớp văn bản tìm ch c a luủ đề ủ ận văn này

Chương 7 Kết qu ki m th ả ể ử

Trang 6

DANH M C TỤ Ừ VIẾT TẮT

Phát hiện tri thức trong cơ sở ữ ệ d li u

2 TFxIDF Term Frequency times Inverse Document Frequency

Information Retrieval

X ử lý ngôn ngữ ự t nhiên

Sinh ngôn ngữ ự t nhiên

Support Vector Machine

Mô hình máy vector hỗ trợ

Trang 7

STT T viừ ết tắt Giải nghĩa

Mô hình Markov ẩn

Tách từ dài nh t từ trái qua phải ấ

Trang 8

DANH M C HÌNH VỤ Ẽ

Hình 1.1 Tiến trình khai phá dữ liệu và phát hiện tri th c (KDD) 18ứ

Hình 1.2 Chức năng dẫn đường văn bản trong VNExpress 25

Hình 1.3 Ví dụ ể bi u diễn văn bản d a trên khái ni m mự ệ ờ 30

Hình 2.1 Ví dụ mô t giả ải thu t kậ -means 35

Hình 2.2 Mô tả ộ m t giải thu t phân nhóm d a trên lậ ự ưới 36

Hình 3.1 M t ví ộ d v ụ ềcây quyết định cho phân lớp LÚA 50

Hình 3.2 M t ví d tìm ki m lộ ụ ế ời giải trên cây quyết định phân lớp chủ đề

“LÚA” 51

Hình 3.3 Đồ ị phân bố đại lượng Entropy 53 th Hình 3.5 Minh h a viọ ệc khoanh vùng k văn bản g n nh t vầ ấ ới k = 5 56

Hình 3.6 Minh họa cách tính precision và recall 58

Hình 4.1 Tập mẫu của chủ đề 62

Hình 4.2 Tính chủ đề trong cơ ấu đào tạ c o trường Đạ ọi h c Bách Khoa Hà N iộ 63

Hình 4 3 Cây ch- ủ đề trong báo điện tử www.vnexpress.net 64

Hình 5.1 Mô hình ti p c n theo phế ậ ương pháp học không giám sát 71

Hình 5.2 Thu t toán tách term ti ng Viậ ế ệt 74

Hình 5.3 Phân nhóm các lớp văn bản mẫu v i thu t toán FIHCớ ậ 78

Hình 6.1 Các chức năng hệ ố th ng tóm tắt 82

Hình 6.2 Sơ đồ ệ ố h th ng tóm tắt 83

Hình 6.3 Chứ năng phân lớp văn bảc n theo h ng ti p c n h c không giám sátướ ế ậ ọ 86

Hình 6.4 Mô hình bộ vector hóa văn bản 88

Hình 6.5 Chức năng phân nhóm các lớp văn bản mẫu 90

Hình 6.7 Chứ năng Quảc n lý tập văn bản mẫu 92

Hình 6.8 Chứ năc ng qu n lý Tả ừ điển/StopWord 93

Hình 7.3 Tốc đ ộtách thu t ngậ ữ 97

Trang 9

DANH M C BỤ ẢNG

Bảng 1.1 Ví dụ ề văn bả v n bi u di n theo t khóa và s l n xu t hi n 26ể ễ ừ ố ầ ấ ệ

Bảng 1.2 Ví dụ ểu diễn vector thư 29 bi a

Bảng 2.1 Dữ ệu đầu vào để xây dựng cây FP 39 li

Bảng 3.1 Các mẫu huấn luyện dùng cho cây quy ết định class LÚA 50

Bảng 7.1 Thông tin mô tả ột số m thông s cố ủa các tập dữ li ệu huấn luyệ 96n

Bảng 7.2 Kết quả phân lớp 80 văn bản trên tập mẫu VnExpress 99

Bảng 7.3 Kết quả phân lớ văn bản trên tập mẫu VietNamNet 101p

Trang 11

1.4.4 Độ liên quan giữa các văn bản 22

1.5 Các bài toán cơ ản trong xử lý văn bả 22 b n 1.5.1.Tìm kiếm văn bản (Text Retrieval) 22

1.5.2 Phân lớp văn bản (Text Categorization, Text Classification) 23

1.5.3 Phân nhóm văn bản (Text Clustering) 23

1.5.4 Tóm tắt văn bản (Text Summarization) 24

1.5.5 Dẫn đường văn bản (Text Routing) 24

1.6 Các phương pháp biểu diễ n văn b ản 25

1.6.1 Mô hình không gian vector 25

1.6.1.1 Mô hình Boolean 26

1.6 1.2 Mô hình tần số 27

1.6.1.3 Phương pháp xử lý véc tơ ư th a 28

1.6.2 Phương pháp biểu diễn văn bản d a trên các khái ni m m 30ự ệ ờ 1.7 Kết chương 31

CHƯƠNG 2 PHÂN NHÓM - PHƯƠNG PHÁP HỌC KHÔNG GIÁM SÁT 32 2.1 Gi i thiớ ệu bài toán phân nhóm 33

2.1.1 Phân nhóm dữ ệ li u 33

2.1.2 Bài toán “Phân nhóm văn bản” 33

2.2 Các yêu cầu của kĩ thuật phân nhóm 33

2.3 Các thu t toán Phân nhóm cậ ơ ả b n hiện nay 34

2.3.1 Các ph ng pháp phân chia (ươ Partitionning Algorithms) 35

2.3.2 Ph ng pháp phân nhóm d a trên hàm mươ ự ật độ (Density-Based 35)

Trang 12

2.3.3 Ph ng pháp phân nhóm d a trên lươ ự ưới (Grid-Based Method) 36

2.3.4 Phân nhóm d a trên thu t ngự ậ ữ xuất hi n th ng xuyên (ệ ườ Frequen Itemset) 37

2.3.4.1 Các giải thuật xác đị nh t p các thuậ ậ t ng xu t hi n th ng xuyên 37 ữ ấ ệ ườ 2.3.4.2 Các giải thuật phân nhóm d a trên thu ự ật ngữ xu ấ t hi n th ng xuyên ệ ườ 40

2.4 Đánh giá hiệu su t phân nhóm 46

2.5 K t chế ương 46

CHƯƠNG 3 PHÂN LỚP VĂN BẢN- PHƯƠNG PHÁP HỌC CÓ GIÁM SÁT 47

3.1 Gi i thi u bài toánớ ệ 48

3.2 Các thu t toán Phân lậ ớ p văn b n cơ ả ả b n 48

3.2.1 Thu t toán cây quyậ ết định (Decision Tree) 49

3.2.1.1 Định nghĩa cây quy t đ nh 49 ế ị 3.2.1.2 Ví dụ minh họa cây quyế ị t đ nh 49

3.2.1.3 Xây d ng cây quy ự ế ị t đ nh 51

3.2.2 Thu t toán k NN (k Nearest Neighbor)ậ - - 55

3.3 Đánh giá hiệ u su t phân l p văn b n 58 ấ ớ ả 3.4 Kết chương 59

CHƯƠNG 4 VẤ N Đ NGHIÊN C U CỦA LUẬN VĂN - BÀI TOÁN Ề Ứ PHÂN LỚ P VĂN B N TIẾNG VIỆT 60 Ả 4.1 Khai phá dữ ệu văn bả li n tiếng Việt 61

4.2 Gi i thiớ ệu về bài toán tóm tắt văn bản tiếng Vi t theo ch 61ệ ủ đề 4.2.1 Giới thiệu về tính chủ đề trong bài t oán 61

Trang 13

4.2.2 Các khái ni m trong tóm tệ ắt văn bản theo chủ đề 65

4.3 Bài toán phân lớ p văn b n tiế ả ng Việt 66

4.4 K t chế ương 66

PHẦN II THIẾT KẾ ƯỚNG TIẾP CẬ H N 68

CHƯƠNG 5 ĐỀ XU T VÀ L A CH N GI I PHÁP TI P CẤ Ự Ọ Ả Ế ẬN BÀI TOÁN PHÂN LỚ P VĂN B N TIẾNG VIỆT 69 Ả 5.1 Đề xu ất hướng tiếp cận bài toán 70

5.2 L a chự ọn giải pháp tiếp cận 71

5.2.1 Ti n xề ử lý văn bản 71

5.2.2 Bi u diể ễn văn bản trong mô hình vector 74

5.2.3 Gi i thuả ật phân nhóm văn bản 77

5.2.4 Phân lớp văn bản d a trên ti p cự ế ận phân nhóm 78

5.3 K t chế ương 79

CHƯƠNG 6 PHÂN TÍCH VÀ THIẾT KẾ Ệ H THỐNG 81

6.1 Xác định yêu c u 82

6.2 Phân tích và thi t kế ế ệ ố h th ng 82

6.2.1 Thi t kế ế ổ t ng thể của hệ ống tóm tắt văn bản tiếng Việt theo chủ đề 82 th

6.2.2 Chức năng phân lớp văn bản 86

6.2.3 Chức năng vector hóa văn bản 88

6.2.4 Chức năng phân nhóm các lớp văn bản mẫu 89

6.2.5 Chức năng Quản lý t p mậ ẫu 91

Trang 14

6.2.6 Chức năng quản lý từ điển/ StopWord 926.3 K t chế ương 93

PHẦN III CÀI ĐẶT MÔ HÌNH VÀ KIỂM THỬ ẾT QUẢ K 94

CHƯƠNG 7 – CÀI ĐẶT MÔ HÌNH VÀ KIỂM THỬ Ế QUẢ 95 K T

KẾT LUẬ N VÀ Đ NH HƯỚNG PHÁT TRIỂ 104 Ị N

TÀI LIỆU THAM KHẢO 106

PHẦN PHỤ Ụ 108 L C

PH LỤ ỤC 1 - T P CÁC T D NG (STOPWORD) TI NG VI TẬ Ừ Ừ Ế Ệ 109

PH LỤ ỤC 2 - K T QU Ế Ả TEST TRÊN TẬP D LI U VNEXPRESSỮ Ệ 114

PH LỤ ỤC 3 - HƯỚNG DẪN CÀI ĐẶT VÀ SỬ Ụ D NG CHƯƠNG TRÌNH 122

PH LỤ ỤC 4 - MÔ T NẢ ỘI DUNG ĐĨA CD KÈM THEO 123

Trang 15

PHẦN I

Trang 16

1.4 C¸c kh¸i niÖm c¬ b¶n trong xö lý v¨n b¶n

1.5 C¸c bµi to¸n c¬ b¶n trong xö lý v¨n b¶n

1.6 C¸c ph¬ng ph¸p biÓu diÔn v¨n b¶n

1.7 KÕt luËn

Trang 17

1.1 Nhiệm vụ ủ c a đồ án

Hiện nay, Lĩnh vực khai phá dữ ệu văn bản đối với tiếng Việt vẫn là mộ li t đi u mới ề

m vẻ ới người Việt Gần đây bài toán tóm tắt văn bản phục vụ cho công việc tóm tắt tin t c (tóm tứ ắt trang tin) được nhi u nhà nghiên c u quan tâm D a trênề ứ ự cơ sở ề n n

tảng vốn có về bài toán tách từ trong lĩnh vực ngôn ngữ ự nhiên, bài toán phân t nhóm, phân l p, tóm tớ ắt văn bản trong lĩnh vực khai phá dữ liệu văn bản, người viết

luận văn quyết định thử nghiệm bài toán tóm tắt văn bản tiếng Việt theo chủ đề Đó

là sự ế k t h p c a bài toán tóm tợ ủ ắt văn bản v i bài toán phân nhóm, phân l p và bài ớ ớtoán tách từ

Chính vì lí do đó nên gặ ấp r t nhiều khó khăn như:

 Kh ả năng liên kết giữa bài toán tách t , phân nhóm, phân lừ ớp với bài

toán tóm tắt văn bản

 Tập mẫu cho bài toán tóm tắt văn bản

 Kh ả năng đáp ứng tốc đ cũng như nội dung cho bài toán tóm tắt ộ

trang tin

Tóm l i, theo cách tiạ ếp cận này, bài toán tóm tắt văn bản ti ng Vi t s bao gồm các ế ệ ẽnhiệm vụ ải quyết các bài toán sau: gi

 Bài toán tách từ

 Bài toán phân nhóm, phân lớp

 Bài toán tóm tắt văn bản

Trong luận văn này, tác giả đề ậ c p và gi i quy t nhi m vả ế ệ ụ:

 Bài toán tách từ

 Bài toán phân nhóm, phân lớp

Phần nhi m v cu i bài toán toán tóm tệ ụ ố ắt văn bản d a trên k t qu c a luự ế ả ủ ận văn này,

s ẽ được giải quyết trong luận văn ủc a tác gi Nguyả ễn Hồng Thái [18]

Sau đây người vi t luế ận văn sẽ đi chi tiết vào cơ sở lý thuyết cũng như tiến hành thiết kế mô hình, thử nghiệm giải pháp gi i quy t bài toán trên.ả ế

Trang 18

1.2 Khai phá dữ ệ li u và phát hiện tri thức trong dữ ệ li u

D li uữ ệ được hiểu là một chuỗi các bit, các con số ho c các đối tượng mà chúng ta ặthu thập được hàng ngày Ví d : dụ ữ ệ li u là các file trong máy tính, dữ ệ li u là các văn

bản giấy tờ mà chúng ta phải xử lý hàng ngày, các tín hiệu,

Thông tin là dữ ệ li u đã đư c loại bỏ đi nhiễợ u, s ự dư thừa và đã được bi u diể ễn dưới dạng mà con người có thể nhận thức đư c.Ví dụ: thông tin về tình hình chiến sự ạợ t i Iraq, thông tin về nhi t đ ệ ộtrong tháng,

Tri thức được hiểu là các thông tin đã được tích hợp lại, đã được nhận thức, kiểm

nghiệm, hay được đúc rút ra thành các quy luật có ý nghĩa đối với con người Ví dụ:

t ừ thông tin về nhiệt độ trong tháng, con người có thể đưa ra được những dự báo

thời tiết quan trọng, hoặc từ các thông tin về tình hình chiến sự ại Iraq, các nhà tquân sự có th ể phân tích và nắm đư c đợ ộng thái v quân sề ự cũng như chính trị của các bên có liên quan

Tri th c chính là các dứ ữ ệ li u, thông tin ở ứ m c trừu tượng và khái quát cao hơn So

với dữ ệu và thông tin thì tri thức ở ạng cô đọ li d ng và d hi u nh t đ i v i con ễ ể ấ ố ớngười Rõ ràng trong k nguyên công ngh ỷ ệ thông tin này thì con người ch mu n ỉ ốtìm kiếm và lĩnh hội các tri thức, đó là cách nhanh nhất và h p lý nhợ ất, chứ không

th ể có đủ ời gian và khả năng để ểu được các dữ ệ ở ột dạng thô sơ nào đó th hi li u mĐiều đó cũng cho thấy vai trò quan tr ng c a l p các bài toán khai phá dữ liệu và ọ ủ ớphát hi n tri thệ ức

Khai phá dữ ệ li u, hay Data Mining, đượ định nghĩa như quá trình phát hiệc n các

tri thức từ các dữ ệu lớ được lưu trữ trong cơ sở ữ ệ data warehouse hay các li n d li u, kho ch a thông tin khác[1] ứ

Thuật ngữ khai phá dữ ệu (data mining) chỉ ệc tìm kiếm một tập hợ li vi p nh có giá ỏ

tr t mị ừ ột số lượng lớn các dữ ệu thô Một ví dụ hay được nhắc tới là việc khai li

Trang 19

thác vàng từ đá và cát, khai phá dữ ệu được ví như công việc “đãi cát tìm vàng” litrong m t t p hộ ậ ợp lớn các dữ liệu cho trước Có nhi u thuề ật ngữ hiện được dùng cũng có nghĩa tương tự ớ ừ data mining như v i t knowledge mining (khai phá tri

th c), ứ knowledge extraction (chắt lọc tri thức), data/patern analysis (Phân tích dữ

li u/m u), ệ ẫ data archaeology (khảo cổ ữ ệu), data dredging d li (nạo vét dữ liệu) [12]

Hiện nay, thuật ngữ khai phá dữ ệ được dùng quen thuộc và thườ li u ng đồng nhất

với một thuật ngữ khác là phát hi n tri thệ ức trong cơ sở ữ d li u – ệ Knowledge Descovery in Database (KDD) Thực ra, khai phá dữ ệu chỉ là một bước trong các liquá trình c a KDD ủ

Tiến trình khai phá dữ ệu và phát hiện tri thức (KDD) nói chung bao gồm 7 liquá trình cơ bản sau đây:

1 Làm sạch d li u: Loại bỏữ ệ nhiễu và các dữ ệu không c n thi li ầ ết

2 Tích hợp d li u: Tích hợp các nguồn dữ ệu khác nhau.ữ ệ li

3 Lựa chọn dữ ệ : Chọn lựa các dữ ệu liên quan tới quá trình phân li u litích

4 Chuy n ể đổi dữ ệ : Các dữ ệ được chuyể đổi sang các dạng phù li u li u n

hợp cho việc xử lý

5 Khai phá dữ ệ li u: Là một trong những bước quan trọng nhấ ở đây sửt,

dụng những phương pháp thông minh để chắt lọc ra những m u dẫ ữ ệ li u

6 Ước lượng m u: Quá trình này nhằ đánh giá các kết quả m tìm được thông qua các độ đo nào đó

7 Biểu diễn tri thứ : Sử ụng các kỹc d thuật biểu diễn và thể hiện trực quan các tri thức cho người dùng

Trang 20

Hình 1.1 Tiến trình khai phá dữ liệu và phát hi n tri th c (KDD) ệ ứ

Việc áp dụng tiến trình KDD có thể ực hiện trên nhiểu kiểu loại dữ ệu khác nhau th li

với các hình thức tổ chức lưu trữ khác nhau Hiện nay, có rất nhiều cách tổ chức dữ

liệu khác nhau: cơ sở ữ ệu văn bản, cơ sở ữ ệ d li d li u quan h , cơ sở ữệ d liệu hướng đối tượng, cơ sở ữ ệu không gian, cơ sở ữ ệu hướ d li d li ng th i gian,… Đối với mỗi ờ

dạng cơ sở ữ ệu lại có các phương pháp xử lý khác nhau và mục đích khai phá dữ d liliệu khác nhau tùy theo tính chất và đặc thù c a d li u ủ ữ ệ

Các kỹ thu t đư c sử ụ ậ ợ d ng có thể là các phương pháp truyền thống như học máy(Machine Learning), nhận dạng (Recognition), thống kê Statistics), phân lớ ( p (Classification),… và các kỹ thuật được phát triển bởi ngành nghiên cứu trí tuệ nhân tạo như mạng nơ-ron nhân tạo (Neural Network), thuật toán di truy n (ề Genetic Algorithm), quy nạp lu t (Rule Reduction), cây quyết định (Decision Tree),… ậ

Trang 21

1.3 Text Mining-Góc nhìn nh n quan tr ng trong Data Mining ậ ọ

Trong các dạng dữ ệu thường xuyên đượ li c sử ụng thì văn bả d n là m t trong nhộ ững dạng được dùng phổ biến nhất Văn bản có mặ ở ọi nơi và thường xuyên bắt gặp t mhàng ngày Văn bản có th là các bài báo, các tài liệu kinh doanh, các thông tin kinh ể

tế, các bài nghiên ứu khoa học, Dù việc áp dụng CSDL vào hoạt động quản lý c

của các tổ chức là rất phổ ến và đem lại nhiều lợi ích trong lưu trữ cũng như xử bi lý, nhưng trên thự ếc t còn r t nhiấ ều thông tin khác được lưu trữ dướ ạng văn bải d n 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 ẫ ộbài toán quan tr ng trong khai thác dọ ữ ệ li u văn b n ả

X ử lý văn bả là thao tác tác động lên văn bản đển làm cho chúng d s dễ ử ụng hơn, thông tin trong chúng hữu ích hơn hoặc làm cho chúng được lưu trữ ốt hơn t

D liữ ệ u văn b thường được chia thành hai loại [1]: ản

• 30TDạng phi cấu trúc (unstructured):30T là dạng văn bản chúng ta sử ụng d

hằng ngày được thể ện dưới dạng ngôn ng hi ữ ự t nhiên của con người

và không có m t cộ ấu trúc định d ng cạ ụ ể th nào Ví dụ: các văn bản lưu

dướ ại d ng t p tin TXT, ệ

• 30TDạng bán cấu trúc (semi-structured):30T đây là các loại văn bản không

được lưu trữ dướ ại d ng các b n ghi ch t ch ả ặ ẽ mà đượ ổc t ch c qua các ứ

th ẻ đánh dấu để ể ện nội dung chính củ th hi a văn bản Ví dụ: dạng tệp tin HTML, e-Mail,…

Tùy mục đích sử ụ d ng cụ ể th mà việc xử lý văn bản đư c th c hi n trên d ng c u ợ ự ệ ạ ấtrúc nào Ví dụ, với bài toán phân l p n i dung trang web thì dớ ộ ạng văn bản c n x ầ ử

lý là HTML Trong luận văn này, tác gi ch quan tâm x lý các 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 ,hướng d li u m ữ ệ ở đểtương lai có thể đáp ứng với các mục đích sử ụng khác nhau d

Trang 22

1.4 Các khái niệ m cơ b n trong xử lý văn bản ả

Trong luận văn này nhắc nhiều đến các thu t ngậ ữ: 30Tt ừ khóa (keyword)30T,30T thuật ngữ

(term)30T, 30Tkhái ni m (concept), trệ ọng số thut ngữ ộ , đ liên quan, 30T Việc làm rõ nghĩa

của các thuật ngữ trên ngay từ đầu sẽ làm cho vi c trình bày các n i dung ph n sau ệ ộ ầ

d dễ àng hơn

 T khóa(term): là các từ xuất hiện trong một văn bả ở ạng nguyên thể, có n dnghĩa trong từ điển Ví d vụ ới văn bản: “Chú gà trống choai nhà em l n nhanh ớ như thổi, càng l n chú càng gi ng gà mái ”, các từớ ố khóa có th ể được tách ra là:

“chú”, “gà tr ng”, “choai”, “nhà”, “em”, “lố ớn”, “ nhanh”, “như”, “thổi”,

“càng”, “lớn”, “chú”, “càng”, “gi ng”, “gà mái”

 Thuật ng : là các từ khóa có nghĩa liên quan đến một lĩnh vực nào đó, ví

d : “ụ 30Tmáy tính”, “công ngh phn m m”, “tính toán song song” 30T Các thu t ngậ ữ này thuộc về lĩnh vực 30T“tin học” 30T

 Khái niệm: là các thuật ngữ nhưng nó là sự khái quát hóa, t ng quát hóa cổ ủa nhiều thuật ngữ khác Ví dụ khái niệm “30Tmáy tính” 30Tcó thể chứa đ ng các thuật ự

ng ữ khác như 30T“bàn phím”, “chuột”, “phần cứng”, “ph n m m”, “CPU”, “ầ ề ổ

cứng”, “Internet”, “màn hình”, “số hóa” 30T,… các từ này có m t ph n liên quan ộ ầ

đến khái ni m ệ 30T“máy tính”

Một khái niệm thường liên quan đến một dãy các thuật ngữ ới mứ v c đ khác nhau ộ

Ví dụ thuật ngữ 30T“phần m m” 30Tcó mức đ liên quan đến khái niệ “tin học” nhiều ộ m 30T 30Thơn so với thu t ng ậ ữ30T“số hóa” Một tiêu chuẩn để xem xét mức độ liên quan là xác 30T

xuất đồng xuất hiện của cặp 30Tkhái niệm – thuật ngữ30Ttrong các văn bản Khi thuật ngữ

“máy tính” xuất hiện nhiều trong các văn bản ch a thu t ng ứ ậ ữ30T“tin học”30T thì có nghĩa

là độ liên quan (hay độ ph thu c) gi a c p ụ ộ ữ ặ 30T“tin học”-“máy tính” 30Tcàng cao Một lý

do để ả gi i thích suy lu n này là ậ 30Tmứ c đ thay thế Ở đây, không chỉ ểu đơn thuầ ộ 30T hi n

giống như sự thay thế 1-1 giữa hai từ (giống như cặp từ 30T“loài người”-“chúng ta”) 30T

Trang 23

mà có thể xem như sựthay thế ộ b phận giữa cặp 30Tkhái nim-thut ng30T(giống như 30T“ô

tô”-“vô lăng”30T)

Có th quan sát th y r ng trong các ngôn ngể ấ ằ ữ ự t nhiên, r t nhi u tấ ề ừ được dùng để

biểu diễn cấu trúc câu nhưng hầu như không mang ý nghĩa về ặt nội dung, chẳ m ng

hạn các loại từ: giới từ, liên từ,… Các loại từ này xuất hiện thường xuyên trong các văn bản nhưng không hề mang b t c một thông tin nào vấ ứ ề ộ n i dung hay chủ đề ủ c a văn bản Vi c lo i b các t ệ ạ ỏ ừ như vậy cũng đồng nghĩa với việc giảm số chiều của văn bản, nh ng t ữ ừ đó được g i là t d ng (stop words) ọ ừ ừ

T dừ ừng 30T(Stop Words): 30Tlà các từ mang ít ý nghĩa trong xử lý văn bản vì nó xuất

hiện trong hầu hế các văn bản Ví dụ Có thể, nết : u, vì v y, sau khi, thì, m t sậ ộ ố, với

lại, q ả ật, hầu như u th

Có m t sộ ố phương pháp để xác đ nh các từ ừị d ng

• Xây dựng m t thu t toán phát hi n các t d ng Trong thu t toán này ộ ậ ệ ừ ừ ậ

cần đưa ra một ngưỡng để phát hiện từ ừng, ví dụ ếu phát hiện thấ d n y

một từ xuất hiện trong quá 50% số văn bản thì có thể coi đó là từ

d ng ừ

• S dử ụng so sánh với một từ điển từ ừng đã đượ d c xây d ng ự

Bạn đọc có thể tham khảo bảng từ ừng tiếng Việt đầy đủ hơn trong Phụ ụ d l c 1

Trang 24

1.4.4 Độ liên quan giữa các văn bản

Độ liên quan giữa hai văn bản là một đạ i lư ợng đo mứ c đ gi ng nhau v m t n i ộ ố ề ặ ộ dung giữa hai văn bản đó Các phương pháp đánh giá độ liên quan được chia thành

2 loại: đánh giá theo tần suất xu t hiấ ện thu t ngữ và đánh giá theo ngữ nghĩaậ

• Cách đánh giá đ liên quan theo t n su t xu t hi n thu t ng : không ộ ầ ấ ấ ệ ậ ữ

quan tâm đến th t s p x p c a các thu t ng ứ ự ắ ế ủ ậ ữ trong văn bản mà ch ỉquan tâm đến s l n nó xu t hiố ầ ấ ện trong văn bản đó Ví dụ: phương pháp sử ụ d ng hệ ố s Dice, h s Jaccard, h s consine, ệ ố ệ ố

• Cách đánh giá theo ng ữ nghĩa: không ch ỉ chú ý đến s l n xu t hi n ố ầ ấ ệ

thuật ngữ trong văn bản mà còn chú ý c n s k t c u gi a các t ả đế ự ế ấ ữ ừtrong từng câu văn Phương pháp đánh giá thuộc loại này thường phức tạp hơn, yêu cầu có các giải thu t phù h p v i t ng ngôn ngậ ợ ớ ừ ữ ụ c

th ể

Trong luận văn này, tác giả ch yủ ếu quan tâm đến phương pháp đánh giá độ liên quan theo t n suầ ất

1.5 Các bài toán cơ bả n trong x lý văn b n ử ả

Lewis [12] đã chia ra một số bài toán cơ bản trong xử lý văn bản, bao g m: bài toán ồtìm kiếm văn bản (Text Retrieval), bài toán phân lớp văn bản (Text Catergorization), bài toán phân nhóm văn bản (Text Clustering), bài toán định tuyến văn bản (Text Routing), bài toán tóm tắt văn bản (Text Summarization)

Tìm kiếm văn bản 30T(Text Retrieval)30T là quá trình tìm các văn bản trong một kho lưu

tr ữ theo các yêu cầu của người dùng Ở đây, các yêu cầu là các truy vấ và thườn ng được bi u diể ễn dướ ại d ng thu t ng hay biậ ữ ểu thức logic giữa các thuật ngữ

Ví d : truy vụ ấn 30T“Text Mining” AND (“Categorization” OR “Classification”)30T Ứng với truy vấn này search engine của hệ thống sẽ tìm tất cả các tài liệu về 30T“Text

Trang 25

Mining”30T có liên quan đến 30T“Categorization”30T hoặc “Classification”30T 30T Trên thực tế thì

hầu hết các hệ thống chỉ được thi t k ế ế để 30Thi u30T các truy vấn tương tự như “Text 30TMining” OR “Categorization” OR “Classification” 30T Với câu truy v n này h th ng ấ ệ ố

s ẽ tìm kiếm các tài liệu theo m c phù h p v i c ba thu t ng ứ ợ ớ ả ậ ữ 30T“Text Mining”,

“Categorization”, 30Tvà “Classification” 30T 30T

Kết quả đầu ra của một phép truy vấn là danh sách các tài liệu được sắp x p giế ảm

dần theo mức đ phù hợp với câu truy vộ ấn đầu vào

1.5.2 Phân lớp văn bản (Text Categorization, Text Classification)

Phân lớ p văn b n đượ ả c đ nh nghĩa như quá trình gán các văn bảị n vào m t hay ộnhi u lề ớp văn bản đã được xác định trước d a trên n i dung c a văn bản đó ự ộ ủ[9][12][13]

Người ta có th phân lớp các văn bảể n m t cách thủ công, tức là đọ ừng văn bảộ c t n và gán nó vào m t lộ ớp nào đó, cách này sẽ ố t n r t nhi u th i gian và công s c khi sấ ề ờ ứ ố lượng văn bả ớn l n nên không kh thi Do v y cầả ậ n phải có các phương pháp phân lớp

t ự động Để phân lớp tự động người ta sử ụng các phương pháp học máy trong trí d

tu ệ nhân tạo Khi phân lớp, văn b n đư c gán vào mộ ớả ợ t l p theo m t giá trộ ị ngưỡng

nào đó 30TNgưỡng đặt ra tùy thuộc vào thuật toán và yêu cầu người dùng 30T

1.5.3 Phân nhóm văn bản (Text Clustering)

Phân nhóm văn bản là việc tự động sinh ra các lớp văn bản dựa vào sự tương tự ề v

nội dung của các văn bản Số lượng các nhóm văn bả ở đây là chưa biết trước, n

chẳng h n s nhóm có th ạ ố ể là 2,3 5, Người dùng có th ỉể ch ra s ố lượng các nhóm

cần phân nhóm hoặc hệ ống sẽ ự phân nhóm th t

Đối v i bài toán này, không bao giớ ờ có một kết quả thỏa mãn hoàn toàn theo ý người dùng Một lý do đơn giản để ả gi i thích là 30Tmáy không được học trước Chúng 30T

ta ph i th a nh n r ng ngay cả ừ ậ ằ ả con người cũng giải quy t bài toán này không giế ống nhau Ví dụ, lập nhóm các từ 30T“cầu th ”, “cha c ”, “nủ ố ến”, “trái bóng”; một người 30T

s lẽ ập thành 2 nhóm là: 30Tcon người (“c u th ” , “cha c ”) và s vầ ủ ố 30T 30T ự ật (“nến”, “trái

Trang 26

bóng”)30T, trong khi đó người khác l i phân chúng thành 2 nhóm khác: ạ 30Tnhà thờ (“cha cố”, “nến”) 30T và bóng đá (“cầ30T u th ”, “trái bóng”) 30T Do đó, việc đòi hỏ ệ ối h th ng t ự

động l p nhóm làm viậ ệc đúng tuyệt đối là điều không tưởng

1.5.4 Tóm tắt văn bản (Text Summarization)

Tóm tắt văn bản là bài toán tìm ra thể ệ hi n n i dung c a mộ ủ ột văn bản thông qua

một vài đoạn văn

Ứng dụng điển hình c a bài toán này là trong tìm kiủ ếm văn bản Các kho lưu trữbao g m r t nhi u tài liồ ấ ề ệu và kích thước mỗi tài li u có thệ ể lên đến vài trăm trang Giả ử s khi bạn đọc mu n tìm m t tài li u v ố ộ ệ ề 30T“Text Mining” 30T và nhờ ệ h thống tìm

kiếm văn bản tìm giúp, hệ ống tìm kiếm sẽ đ th ưa ra m t danh sách các tài liệu với ộnội dung tương đối phù hợp với “30TText Mining” Nhưng để ế30T bi t th c s tài liự ự ệu đó có phù hợp với mình hay không, bạn đọc đành phải đọc toàn bộ ho c đ c mộặ ọ t phần trong tài liệu Hệ thống tóm tắt văn bản sẽ làm cho vi c tìmệ kiếm giảm nhẹ đi rất nhiều bằng cách tự động tóm lược nội dung của toàn bộ văn bản bởi một vài đoạn văn bản Sau khi đọc qua đoạn tóm lược này, bạn đọc có thể biết được đây có phải

là tài li u ch a thông tin mà hệ ứ ọ đang cần hay không

Dẫ n đư ờng văn bản là sự ổ t hợp gi a bài toán tìm kiếm văn bản và phân lớp, ữnhóm văn bản Giống như phân lớp, nhóm văn bản, bài toán dẫn đường cũng đưa các văn bản v các l p, nhóm khác nhau và viề ớ ệc xử lý này yêu c u trong th i gian ầ ờthực Tuy nhiên, nó cũng giống như bài toán tìm kiếm, mỗi lớp, nhóm văn bản được gán v i các thông tin c n thi t cớ ầ ế ủa một hay nhiều nhóm người dùng Mỗi người dùng có thể thay đổi thêm bớt các yêu cầu c a mình Quá trình ph n h i có thủ ả ồ ể được

s dử ụng để nâng cao chất lượng tìm kiếm văn bản

M t ộ ứng dụng điểu hình của bài toán dẫn đường văn bản là trong các trang tin điện

tử Khi đọc một tin mới, hệ ống sẽ tìm cách đưa ra danh sách các tin khác có liên thquan đến đoạn tin đang đọ Ức ng d ng cụ ủa bài toán này được s d ng h t s c r ng ử ụ ế ứ ộrãi trên báo điệ ử Khi đọn t c một bài báo, phía dưới m i trang web s ỗ ẽcó các liên t kế

Trang 27

đến các bài báo khác có liên quan v m t n i dung (hình 1.2.) Bề ặ ộ ạn đọc có th theo ểcác thông tin 30Tdẫn đườ gn30T30T 30Tnày để theo dõi toàn bộ ễ di n bi n c a s ki n ế ủ ự ệ

1.6 Các phương pháp bi ể u di ễ n văn b ản

Phần này s trình bày v mẽ ề ột số phương pháp biểu diễn văn b n thông d ng trong ả ụ

đó đặc biệt chú ý đến phương pháp biểu diễn văn bản theo mô hình không gian vector t n suầ ấ TF × IDF, đây là mô hình đượt c s dụng khi cài đặt mô hình thử ửnghiệm trong luận văn này

1.6.1 Mô hình không gian vector

Cách bi u diể ễn văn bản thông d ng nh t là thông qua mô hình không gian vectorụ ấ Đây là một cách biểu diễn tương đối đơn giản Trước đây có mộ ốt s nghiên c u ứnhận thấy phương pháp này gây tốn kém chi phí lưu trữ và công s c x ứ ử lý, nhưng khi các phương pháp xử lý vector thưa được áp dụng thì các nhược điểm trên gi m ả

đi rất nhi u và mang l i hi u qu ề ạ ệ ả cho bài toán đặt ra

Hình 1.2. Chức năng dẫn đường văn bản trong VNExpress

Dẫn đường

Trang 28

Bản chất của mô hình không gian vector:

• Mỗi văn bản được biểu diễn thành một vector

• Mỗi thành phần của vector là mộ t khóat riêng biệt trong tập văn bản gốc và được gán một giá tr là hàm ị 30Tf của từng t khóa trong văn bản

Quan sát ví dụ:“Mạng máy tính là m ột tập hợp các máy tính được n i v i nhau b i ố ớ ở các đường truy n v t lý theo m t kiề ậ ộ ến trúc nào đó” Có thể ể bi u diễn văn bản trên dưới d ng các t khóaạ và hàm 30Tf biểu di n sễ ố ầ l n xu t hi n cấ ệ ủa t khóa trong văn

bản (bảng 1.1) Cách biểu diễn này gọi là biểu diễn văn bản theo tần số xuất hiện

Bảng 1.1 Ví dụ ề văn bả v n bi u di n theo t khóa và s l n xu t hi n ể ễ ừ ố ầ ấ ệ

 Mô hình Boolean đượ c đ nh nghĩa như sau: ị

“Giả ử s có m t cơ sở d li ộ ữ ệu gồm m 30T 30Tvăn bản, 30TD= {dR 1 R, dR 2 R,… dm R R30T 30T} Mỗi văn bản được 30T

biểu diễn dưới dạng một vector gồm 30Tn thu30T ật ngữ T= {t30T R 1 R, tR 2 R,…tn R R30T30T} G i 30T ọ W= {w30T ij R R30T30T} là

ma tr n tr ng sậ ọ ố, trong đó 30TwR i R30T30TR j R30Tlà giá trị ọng số ủa thuật ngữ tr c t30T i R30Ttrong văn bản d30T 30T30TR j R30T

Mô hình Boolean là mô hình đơn giản nhất đượ c xác đ ịnh như sau:

Trang 29

trong mÆt cã nÕu 0

d t

1

1.6.1.2 Mô hình tần số

Trong mô hình t n s , ma trầ ố ận 30TW = {wij R R}30Tđược xác đ nh dựa trên tần sốị xuất hiện

của thuật ngữ30Tti R R30Ttrong văn bản 30TdR j R30T hoặc tần số xuất hiện của thuật ng ữ30TtR i R30Ttrong toàn bộ

cơ sở ữ ệ d li u

Có ba phương pháp:

• Phương pháp dựa trên t n s thu t ng ầ ố ậ ữTF (Term Frequency)

• Phương pháp dựa trên nghịch đ o tầả n số văn bản IDF (Inverse Document Frequency)

• Phương pháp TF × IDF

 Phương pháp dự a trên t n số thuật ngữ ầ TF (Term Frequency)

Các giá trị 30Twij R R30Tđược tính dựa trên tần số xuất hiện của thuật ngữ trong văn bản Gọi 30T

fij R R30Tlà số ần xuất hiện của thuật ngữ l 30TtR i R30Ttrong văn bản 30TdR j R30T, khi đó 30Twij R R30Tđược tính bởi một trong ba công thức (1.2), (1.3), (1.4):

nhiều thuật ngữ 30Tmáy tính30T, điều đó có nghĩa là văn bản đang xét chủ ếu liên quan yđến lĩnh vực 30Ttin học30T

 Phương pháp d ựa trên nghị ch đ ả ầ o t n số văn b ản IDF(Inverse Document

Frequency)

Trong phương pháp này, giá trị 30TwR i R30T 30TR j R30T R Rđược tính theo công th c (1.5) sau: ứ

Trang 30

liÖu tµi trong xuÊt hiÖn thuËt ng

nÕu 0

d t

h m

h

m

trong đó 30Tm 30Tlà số lượng văn bản và 30ThR i R30Tlà số văn bản mà thuật ngữ30TtR i R30T xuất hiện

Trọng số 30TwR ij R30Ttrong công thức này được tính dựa trên độ quan trọng của thuật ngữ 30TtR i R30Ttrong văn bản 30TdR j R30T Nếu 30TtR i R30T xuất hiện trong càng ít văn bản, điều đó có nghĩa là nếu nó xuất hiện trong 30TdR j R30Tthì trọng số ủa nó đối với văn bản c 30TdR j R30T càng lớn hay nó là điểm quan trọng để phân biệt văn bản 30TdR j R30T với các văn bản khác và hàm lượng thông tin trong nó càng lớn Ví dụ: các thuật ngữ 30T“tiền đạo”, “hậ30T 30T u v ”, “thủ môn” ệ 30T 30T 30Tchỉ xu t ấ

hiện trong các bài báo nói về lĩnh vực 30Tbóng đá30T Như vậy, hàm lượng thông tin về

bóng đá chứa đ ng trong các thuật ngữ trên là rất lớn ự

 Phương pháp TF × IDF

Phương pháp này là tổng h p cợ ủa hai phương pháp TF và IDF, giá trị ủ c a ma tr n ậ

trọng số được tính như (1.6) ổ ợp của các công th c (1.3) và (1.5)).(t h ứ

=

l¹i ngîc nÕu

nÕu1

0

hh

mf

Phương pháp này kế ợp được ưu điểt h m c a c ủ ả hai phương pháp trên Trọng s ố 30Twij R R30T R

Rđược tính b ng t n s xu t hi n c a thu t ng ằ ầ ố ấ ệ ủ ậ ữ 30TtR i R30Ttrong văn bản 30TdR j R30T và 30Tđộ ế hi m c30T ủa thuật ngữ 30Tti R R30Ttrong toàn bộ cơ sở ữ ệu Đây cũng chính là phương pháp biểu diễn d livăn bản tác gi s d ng trong luả ử ụ ận văn nghiên cứu này

1.6.1.3 Phương pháp x lý véc tơ thưa ử

Theo mô hình vector chu n, viẩ ệc xử lý các phép toán trên vector sẽ ph thu c vào ụ ộ

độ ớ l n c a ma tr n ủ ậ 30TWnm R R,30T ở đây 30Tn30Tlà số lượng thuật ngữ hay số chiều của vector và 30Tm 30T

là số lượng văn bản có trong cơ sở ữ ệ d li u Trên thực tế, số lượng thu t ngữậ và s ốvăn bản có th lên đến vài chục nghìn Khi đó số lượng phần tử trong ma trận ể 30TWnm R R30T

s ẽ lên đến con số trăm triệu và việc lưu trữ ma tr n ậ 30TWnm R R30T s tẽ ốn quá nhiều tài nguyên

b nh ộ ớ đồng thời các phép toán trên các vector sẽ ất phức tạ r p Để khắc phục vấn đề

Trang 31

này có thể ử s dụng kỹ thuật xử lý trên vector thưa thay vì việc lưu trữ và x lý trên ửcác vector chuẩn

 Các điề u ki n đ có th áp d ng phương pháp vector thưa: ệ ể ể ụ

1 Các vector thực s ự thưa:29T s phố ần tử có trọng số khác 0 nhỏ hơn rất

nhiều so với số thuật ngữ trong cơ sở ữ ệu d li

2 Phép xử lý vector là đơn giản nh t: 29Ts ố vector cùng bị c động trong tá

một phép xử lý cơ bản là nhỏ nhất Thường số vector bị tác động này được quy định tối đa là 3 hoặc 4

Trên thực tế, số thuật ngữ xuất hi n trong mệ ột văn bản thường dưới 1000 Đố ới i vcác văn bản dài và đa chủ đề thì s thu t ng xu t hi n có th nhiố ậ ữ ấ ệ ể ều hơn Trong khi

đó, số lượng thu t ng có trong t ậ ữ ừ điển có th n 100,000 tể đế ừ Đây chính là điều

kiện để áp dụng phương pháp vector thưa đối với điều kiện đầu tiên Việc thỏa mãn điều ki n th hai còn ph thu c vào thu t toán áp d ng trong quá trìệ ứ ụ ộ ậ ụ nh xử lý

 Một ví dụ biểu diễn vector thưa từ các vector chuẩn.

Bảng 1.2 Ví dụ ểu diễn vector thưa bi

w R ij Máy tính Internet Thịt gà Quần bò C ỏ Lông cừu

Trang 32

1.6.2 Phương pháp biểu diễn văn bản d a trên các khái niự ệm mờ

Trong ph m viạ của đề tài này tác giả không đi chi tiết vào r t nhi u khái niấ ề ệm cơ

bản trong tập mờ nên chỉ xin phép giới thiệu qua phương pháp này

Xét tập các văn b n ả 30TD = {dR 1 R, dR 2 R,…dn R R}30Tvà tập các thuật ngữ 30TK = {k1 R R, k2 R R,…km R R}30T Sự liên quan của các thuật ngữ ớ t i một văn bản đư c xác đợ ịnh tương ứng bằng cách sử dụng một phương pháp đánh chỉ ố s thông qua m t giá trộ ị 30Tgọi là hàm thuộc

(membership function)30T μR A R(30Tx30T) nào đó đã biết:

)}

( μ ),

( μ ), (

Ngày nay, máy tính đã xâm

nhập rất sâu vào cuộc sống của

chúng ta Với sự phát tri n mạnh ể

m c ẽ ủa khoa học kỹ thu t, các linh ậ

kiện phần cứng như chuột,

CPU,…ngày càng rẻ đi đã làm cho

giá thành của máy tính rẻ hơn rất

“máy tính”

“phần cứng”

“phần mềm”

0.3 0.5 0.4

“CPU”

“chuột”

“thiết kế”

0.1 0.9 0.2

“cài đặt”

0.6

Trang 33

μ = {μ(“máy tính” ), μ ( “phần cứng” ), ( μ“phần mềm”), ( μ “CPU” ), μ(“chuột”), μ(“thiế ết k ” ), μ(“cài đặt”)}

t30T= 30T“phần mềm” := {“ máy tính”, “ph n mầ ềm”, “thiết kế”, “cài đặt”}

Độ quan trọng của khái niệm “phần mềm”đối với văn bản được xác định là:30T 30T

μ(“phần mềm”30T) = F( (μ 30T “máy tính” 30T), (μ 30T“phần mềm”30T), (μ 30T“thiết kế” 30T), (μ 30T“cài đ t” ặ 30T)) 30T 30T

μ(“phần mềm”30T)=AVEG(0.3, 0.4, 0.2, 0.6)=0.375

Như vậy, bài toán xử lý văn bản trên tập mờ nói chính xác hơn chính là lưu

tr ữ và xử lý trên các khái niệm thay vì phải làm việc trên các thuật ngữ Việc lưu trữ

và x lý trên các khái niử ệm sẽ cho ra các kết quả ốt hơn và hiệ t u qu ả hơn, giải quy t ế

rất nhiều vấn đề, chẳng hạn như từ đồng nghĩa, tuy nhiên vấn đề tính hàm phụ thuộc

giữa các khái niệm và thuật ngữ ẫn còn là m t v v ộ ấn đề không dễ ả gi i quyết

1.7 Kết chương

Trong chương này, tác giả đã trình bày về các lý thuyết cơ bản trong lĩnh vực x lý ửvăn bản và m t s ộ ố phương pháp biểu diễn văn bản Trong các phương pháp biểu diễn văn bản, tác giả đặ c biệt chú ý đến phương pháp vector tần su t TF × IDF ấCách bi u di n này sể ễ ẽ được dùng trong quá trình gi i quy t bài toán chính.ả ế

Trong chương sau, tác giả ẽ đi vào mộ s t vấn đề quan trọng liên quan đến bài toán nghiên cứu chính được đặt ra trong đề tài Đó là 30Tk thuỹ ật phân nhóm văn bả n30T

Trang 34

2.4 §¸nh gi¸ hiÖu suÊt ph©n nhãm

2.5 KÕt ch¬ng

Trang 35

2.1 Gi ới thiệ u bài toán phân nhóm

K ỹ thuật phân nhóm là một kỹ thuật học không giám sát thú vị trong các cơ chếhọc và lĩnh vực thống kê Một cách tổng quát k thu t phân nhóm s d ng phân ỹ ậ ử ụ đểchia t p hậ ợp các phầ ử ữ ện t d li u ban u thành các nhóm gđầ ồm các phầ ử tương tựn tnhau theo m t, m t s khía c nh nào ó Phân nhóm dộ ộ ố ạ đ ựa trên nguyên tắc cực đ i ạhoá tính tương đồng trong m t nhóm và c c tiộ ự ểu hoá tính tương đồng giữa các nhóm

S ự khác nhau giữa phân lớp dữ ệu và phân nhóm dữ ệ li li u:

• Phân lớp d li u: tên l p và s ữ ệ ớ ố lượng l p đư c biớ ợ ết trước

• Phân nhóm dữ ệ li u: tên và s ố lượng nhóm là không biết trước

2.1.2 Bài toán “Phân nhóm văn bản”

Phân nhóm văn bản cũng là một kĩ thuật phân nhóm dữ ệu, thực hiện quá trình tự liđộng phân các văn bản, tài liệu thành các nhóm để các văn bản trong cùng một nhóm có độ tương tự cao và khác v i các văn b n trong nhóm khác ớ ả

Khái ni m tệ ự độ ng ở đây có t ể ểu như là mộh hi t quá trình hoàn toàn t động, không ự

có s tham gia cự ủa con người vào b t c th i đi m nào c a toàn b tiến trình phân ấ ứ ờ ể ủ ộnhóm B i vở ậy, phân nhóm còn được gọi là học không giám sát (unsupervised learning method) hay học không thầy dạy vì chúng ta chỉ ọc bằng “quan sát” hơn h

là học từ “ví dụ”

Phân nhóm văn bản được nghiên c u r ng rãi b i các ng d ng c a nó là r t l n ứ ộ ở ứ ụ ủ ấ ớ

Chẳng hạn như khai phá dữ ệu văn bản (text mining), khai phá d li ữ ệ li u web (web mining), tìm kiếm thông tin (information retrieval), phân tích hình học (topological analysis), tìm kiếm (search engine)

2.2 Các yêu cầ u c a kĩ thu t phân nhóm ủ ậ

Hiện nay các thuật toán phân nhóm phải chú trọng đáp ứng nh ng yêu c u sau: ữ ầ

Trang 36

Tính mở ộ r ng (Scalability): Nhiều thuật toán tỏ ra làm việc ệu quảhi

trên t p dậ ữ ệ li u nh , tuy nhiên, m t vài trong s chúng l i không thỏ ộ ố ạ ể

thực hiện khi tập dữ ệu vượt quá 10000 đố li i tư ng ợ

Tính đa chiều cao (High dimensionality): Một cơ sở ữ ệ d li u có th ể

chứa nhi u thu c tính H u h t các thuề ộ ầ ế ật toán đều hoạt động hi u qu ệ ả

với dữ ệu ít thuộc tính nhưng có thể ấ li th t b i khi th c hi n trên các ạ ự ệ

d liữ ệu nhiều thuộc tính Các thuộc tính này khi mã hoá được coi là các chiều Ch ng h n, m t tẳ ạ ộ ập văn bản ti ng Anh có th có 10000 t ế ể ừ

s tẽ ạo ra một cơ s d liở ữ ệu lên đến 10000 chiều

Không nhạ y c m v i d li u đ u vào (Insensitivity to the order of ả ớ ữ ệ ầ

input data): Một số thuật toán rất nhạy cảm với trật tự ữ ệ d li u vào Điều này làm cho chất lượng của phân nhóm biến đổi và trở nên không dự đoán được

Kiểm soát nhiễu (Noisy data handling): Dữ ệu có sai sót là một vấn li

đề thường thấy trong cơ sở ữ ệu Sai sót đượ d li c g i chung là nhi u ọ ễMột thuật toán phân nhóm tốt cần cực tiểu hoá ảnh hưởng c a nhiủ ễu

nếu không sẽ ảm độ chính xác gi

2.3 Các thuậ t toán Phân nhóm cơ b n hi n nay ả ệ

Các thuật toán Phân nhóm dữ ệ li u cơ b n hiện nay:ả

• Các giải thu t d a trên t p thu t ng xu t hiậ ự ậ ậ ữ ấ ện thường xuyên (Document Clustering Using Frequent Itemsets)

Trang 37

• Các giải thu t phân vùng (Partitionning Algorithms) ậ

• Các giải thu t d a trên mậ ự ật độ (Densit-based Algorithms)

• Các giải thu t d a trên các lư i d li u (Grid-based Algorithms) ậ ự ớ ữ ệ

• Các giải thu t d a trên mô hình d li u (Model-ậ ự ữ ệ based Algorithms), Phần dưới đây sẽ cung c p m t cái nhìn t ng quan v các gi i thu t phân nhóm này ấ ộ ổ ề ả ậ

và tập trung đi sâu vào một gi i thu t chính sả ậ ẽ được s d ng trong luử ụ ận văn

2.3.1 Các phương pháp phân chia (Partitionning Algorithms)

Các phương pháp phân chia thực hiện chia một tập dữ ệu thành các nhóm riêng li

rẽ Ví dụ: để phân một tập các đ i tư ng dữ ệu thành k nhóm, thu t toán ti n hành ố ợ li ậ ếchia chúng ngay từ đầu thành k nhóm Sau đó, liên tục cải tiến, xác định lại các nhóm b ng cách di chuyằ ển các đối tượng d li u ữ ệ ở nhóm này sang nhóm khác cho

đến khi th a mãn m t s ỏ ộ ố điều ki n ệ

Thuật toán k-means do J.MacQueen đưa ra vào năm 1967 và các biến thể ủa nó c(k-means chia đôi bisecting K-Means, ) được biết đến như là các thuật toán phân -chia n i tiổ ếng Chúng thường khác nhau trong việc xác định k trọng tâm ban đầu, tính toán độ tương tự và phương pháp tính toán trọng tâm để gi m th i gian tính ả ờtoán

Hình 2.1 Ví d mô t giả ải thu t kậ -means

a - Bước 1: khởi tạo ; b Vòng lặp đầu tiên; c - - Vòng lặp thứ hai ( ạng thái dừtr ng);

Phương pháp phân nhóm dựa trên mật độ là các phương pháp dựa trên một ý tưởng: các nhóm ban đầu là các vùng dầy đặc trong không gian dữ ệ li u sẽ được tách

Trang 38

ra b ng các vùng cóằ mật đ đốộ i tư ng thấp hơn Tiếp tục phát triểợ n đ i với các ốnhóm mới tách ra cho đến khi mật đ ộ vùng lân cận vượt qua giá trị ngưỡng Nói cách khác, với mỗi điểm bất kì trong m t nhóm, mộ ật độ điểm địa phương xung quanh điểm đó phải không vượt quá ngưỡng M t nhóm s ộ ẽ được xác đ nh d a trên 3 ị ựtiêu chí: mật độ (density), các kết nối với những điểm khác (connectivity) và đường biên (boundary)

Có hai cách ti p cế ận đối với các phương pháp phân nhóm dựa trên mật độ:

• Density-Based Connectivity: bao gồm các gi i thuả ật được biết đến

như DBSCAN, GDBSCAN, OPTICS, và DBCLASD Hướng ti p ế

cận này dựa trên giá trị ậ ộ m t đ và các kế ốt n i giữa các đi m d li u ể ữ ệ

• Density Functions: ví dụ ả gi i thu t DENCLUE, ti p c n theo hàm ậ ế ậ

mật độ

Các phương pháp phân nhóm dựa trên lưới thực hiện lượng tử hóa không gian thành số lượng h u hữ ạn các ô (cell) để tạo thành cấu trúc lưới Sau đó tấ ảt c các thao tác phân nhóm được th c hi n trên cự ệ ấu trúc lưới Độ ph c t p tính toán không ph ứ ạ ụthuộc vào số các đối tượng dữ ệu mà chỉ li ph thuụ ộc vào số các cell trong mỗi chiều trong không gian đã được lượng t hoá ử

Hình 2.2 Mô tả ộ m t giải thu t phân nhóm dậ ựa trên lưới

Trang 39

Trong số các giải thu t phân nhóm dậ ựa trên lưới thì STING(Statistical Information Grid) là một phương pháp phân nhóm dựa trên lưới n i ti ng dùng cho dữ ệổ ế li u không gian Ta không đi sâu vào chi tiế ủt c a gi i thu t này trong luả ậ ận văn.

Itemset)

Các phương pháp s d ng thu t ng ử ụ ậ ữ thường xuyên để phân nhóm được đánh giá là nhiều hứa hẹn trong bài toán phân nhóm nói chung và phân nhóm văn bản nói riêng

Đây cũng là phương pháp phân nhóm tác giả đã lựa ch n khi ti p c n bài toán ọ ế ậ

Nguyên nhân là nó kh c phắ ục được những nhược điểm mà m t sộ ố ả gi i thu t phân ậnhóm khác g p phặ ải như:

• Không thực s gi i quyự ả ết được vấn đề ố s chi u quá l n trong bài toán ề ớ

phân nhóm Không đáp ứng được khi s chiố ều 10000 thuật ngữ/ sốchi u ề

• Bất lợi khi kích thước của cơ sở d liữ ệu quá lớ n

Quá trình phân nhớm dựa trên thu t ngậ ữ xu t hiện thườ ấ ng xuyên bao gồm hai bước

cơ bản:

• Xác định t p các thu t ng xu t hiậ ậ ữ ấ ện thường xuyên

• S dử ụng một giải thuật phân nhóm dựa trên tập thuật ngữ thường

xuyên đã xác định

2.3.4.1 Các giải thuật xác đị nh t p các thuật ngữ xuất hiệ ậ n thư ng xuyên ờ

Có nhi u gi i thuề ả ật xác định tập các thuật ngữ xuất hiện thường xuyên n i tiổ ếng như:

 Thuật toán AIS

 Thuật toán STM

 Thuật toán Apriori, AprioriTid

 Thuật toán FP Growth

Chúng ta s xem xét hai thuẽ ật toán hay được sử ụ d ng Apriori và FP Growth

Trang 40

2.3.4.1.1 Giải thuật Apriori

Thuật toán này sử dụng các k-itemset (tập thuật ngữ ồ g m kitem) để thăm dò itemset và qua đó khai thác được toàn bộ các tập thuật ngữ thường xuyên (FIs) trong t p dậ ữ ệ li u

(k+1)- Đầu tiên tính 1-itemsets 2-itemsets, và sau đó là 3-itemsets…

 Khi tính toán (k+1)-itemsets, chỉ xét nh ng ữ (k+1)-itemsets mà tất cả các tập con có độ dài k đã được xác định là thường xuyên ở bước trước

Mô tả ả gi i thu t Apriori:

Biến C R k R : Các t p thu t ng ậ ậ ữ ứng cử có kích thước k

Biến L R k R : Các t p thu t ng ậ ậ ữ thườ ng xuyên kích thư ớ c k

L R 1 R = {Các thuậ t ng thường xuyên mức 1}; ữ

For (k=1; L R k R !=Ø; k++) do

begin

//Bước k t h p: K t h p Lế ợ ế ợ R k R vớ ả i b n thân nó đ t o ra C ể ạ R k+1 R

//Bước c t t a: Lo i b (k+1)-ắ ỉ ạ ỏ itemsets từ C R k+1 R chứa k-itemsets

không thường xuyên

C R k+1 R = các ứng cử viên được tạo ra từ L R k

For mỗi tài liệu t trong cơ sở ữ d liệu do

Tăng s lư ố ợ ng c a t t c ủ ấ ả các ứ ng c ử viên trong C R k+1 R có chứa trong t

L R k+1 R = các ứng cử viên trong C R k+1 R có GS > min_support

Ngày đăng: 26/01/2024, 23:25

w