Phương pháp biểu diễn văn bản Vấn đề lớn nhất đối với dữ liệu văn bản, cũng như đối với bất kỳ kiểu dữ liệu nào khác, đó là việc tìm kiếm một sự biểu diễn thích hợp, hay một mô hình cho
Trang 1ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
Trang 2Lời nói đầu
Trong sự phát triển không ngừng của xã hội ngày nay, cùng với sự bùng nổ mạnh mẽ của Internet thì mọi thông tin, giai dịch và trao đổi đều được số hóa Trong đó, văn bản là một hình thức lưu trữ thông tin phổ biến nhất hiện nay Vì vậy mà lượng văn bản được lưu trữ trong các cơ sở dữ liệu cũng như trên Internet hiện nay là một kho dữ liệu khổng lồ Cùng với sự phát triển đó là nhu cầu tìm kiếm dữ liệu của con người ngày càng phát triển Vì thế việc hỗ trợ tìm kiếm, thu thập thông tin, văn bản với nội dung chính xác, nhanh chóng là nhu cầu cần thiết hiện nay cho người sử dụng máy tính cũng như Internet.
Vì vậy, vấn đề phân loại văn bản hiện nay là một nhu cầu cần thiết nhằm cung cấp cho người sử dụng một công cụ giúp cho việc tìm kiếm chính xác hơn, nhanh chóng hơn.
Trang 3Lời cảm ơn
Tôi xin chân thành cảm ơn sự giúp đỡ nhiệt tình của thầy PGS.TS ĐỖ PHÚC trong suốt thời gian học cũng như quá trình làm đồ án môn học:”KHAI PHÁ DỮ LIỆU”, và cũng xin cảm ơn các bạn trong khoa đã có nhiều đóng góp để tôi hoàn thành môn học này Tuy nhiên do thời gian hạn hẹp, và sự hiểu biết của chúng em về môn học này chưa được sâu, cho nên đề tài vẫn còn nhiều thiếu sót, nhiều vấn đề chưa được giải quyết hoàn chỉnh và phù hợp với thực tế hiện nay Vì vậy, tôi mong nhận được sự đóng góp của thầy và các bạn
để chương trình được hoàn thiện hơn.
Học viên thực hiện
Nguyễn Ngọc Tú
Trang 4MỤC LỤC
A ĐẶC TẢ YÊU CẦU CỦA ĐỀ TÀI 1
B HƯỚNG TIẾP CẬN VÀ PHƯƠNG PHÁP XỬ LÝ 1
I PHƯƠNG PHÁP BIỂU DIỄN VĂN BẢN 1
1 Mô hình biểu diễn văn bản···1
2 Mô hình không gian vector (Vector Space Model)···1
3 Gom nhóm từ vựng···2
4 Tiền xử lý văn bản···3
II GIẢI QUYẾT VẤN ĐỀ···4
1 Biểu diễn dữ liệu···4
2 Mã hóa văn bản···6
3 Độ tương tự của các tài liệu···9
III NỘI DUNG THỰC HIỆN···11
1 Biểu diễn dữ liệu···11
2 Mã hóa văn bản···11
3 Tính khoảng cách giữa 2 vector đặc trưng của 2 văn bản···14
IV ĐÁNH GIÁ···16
C GIAO DIỆN···17
1 Hình 1: Giao diện chính của chương trình···17
2 Hình 2: Chọn folder chứa tập tài liệu···18
3 Hình 3: Tập các vector đặc trưng được rút trích···19
Trang 6A.ĐẶC TẢ YÊU CẦU CỦA ĐỀ TÀI
Xây dựng chương trình từ một tập văn bản được cho trước, lấy 1 văn bản và
so sánh với tất cả các văn bản còn lại tìm ra văn bản có nội dung gần giống với nó nhất theo hướng tiếp cận text data mining
B.HƯỚNG TIẾP CẬN VÀ PHƯƠNG PHÁP XỬ LÝ
I Phương pháp biểu diễn văn bản
Vấn đề lớn nhất đối với dữ liệu văn bản, cũng như đối với bất kỳ kiểu
dữ liệu nào khác, đó là việc tìm kiếm một sự biểu diễn thích hợp, hay một mô hình cho những dữ liệu đang tồn tại, với những tài nguyên hiện hữu trong một thời gian hữu hạn Cho nên, hiệu năng của mô hình yêu cầu cả chất lượng lẫn tốc độ
1 Mô hình biểu diễn văn bản
Hầu hêt phần lớn các tiếp cận trong lĩnh vực khai khoáng văn bản khai thác
dữ liệu văn bản đều xem văn bản được đặc trưng bởi một tập hợp từ vựng.Cáchtiếp cận này thường được gọi là mã hóa kiểu “gói từ” (bag of words), bỏ qua trật tự của từ và những thông tin về cấu trúc câu, nhưng ghi nhận lại số lần mỗi
từ xuất hiện
Mã hóa như vậy thực ra đã làm đơn giản hóa rất nhiều thông tin phong phú được thể hiện trong văn bản, cách làm này đơn thuần chỉ là sự thống kê từ vựng hơn là sự mô tả trung thực nội dung Việc phát triển những mô hình tốt hơn nhưng vẫn khả thi về tính toán và cho phép đánh giá được dữ liệu trên thực
tế vẫn còn là một vấn đề thách thức
Mặc dù độ phức tạp chỉ dừng lại ở cấp độ từ vựng của ngôn ngữ nhưng việc
mã hóa dựa trên từ vựng vẫn tạm được xem là có khả năng cung cấp một tượngthông tin ít nhiều thích đáng về những mối kết hợp giữa từ vựng và văn bản, cóthể trong chừng mực nào đó đủ cho việc gom nhóm theo chủ đề cũng như việc tìm kiếm thông tin từ những cơ sở dữ liệu lớn
Trang 7Mặc dù tính đơn giản của nó, mô hình không gian vector và những
biến thể của nó cho đến hiện nay vẫn là cách thông thường nhất để biểu diễn văn bản trong khai khoáng văn bản Một lý giải cho điều này là những tính toánvector được thực hiện rất nhanh, cũng như đã có nhiều thuật toán hiệu quả để tối ưu việc lựa chọn mô hình, thu giảm chiều, và hiển thị trực quan trong khônggian vector Ngoài ra, mô hình không gian vector và những biến thể của nó vẫncòn được đánh giá cao, chẳng hạn như trong lĩnh vực truy tìm thông tin
Một vấn đề hiển nhiên đối với mô hình không gian vector là số chiều
lớn: kích thước vốn từ của một sưu liệu văn bản thường là từ vài chục ngàn cho đến vài trăm ngàn từ Hơn nữa, trong mô hình VSM các từ được xem là độc lập với nhau
Mô tả các văn bản dưới dạng các vector đặc trưng với các chiều là các từ đặc trưng của tập văn bản
Bất kể phương pháp nào được dùng để giảm chiều hay để suy ra những chiều tiềm ẩn, việc gán trọng số cho từ vựng chỉ cần đòi hỏi miễn sao nguyên tắc gán trọng số có thể diễn giải được tốt về tầm quan trọng của từ vựng đối với việc biểu diễn văn bản Trọng số có thể dựa trên mô hình phân bố từ, chẳng hạn nhưphân bố Poisson, hay sự đánh giá thông tin về các chủ đề thông qua entropy
Một sơ đồ trọng số được dùng thông dụng là tf x idf , với tf là tần suất của một từ vựng trong văn bản, và idf là nghịch đảo của số lượngvăn bản mà từ vựng đó xuất hiện Sơ đồ này dựa trên khái niệm rằng những từ vựng xuất hiện thường xuyên trong các văn bản thì thường ít quan trọng đáng kể về ngữ nghĩa,
và những từ hiếm xuất hiện có thể chứa đựng nhiều ngữ nghĩa hơn
Trang 8Vì trọng số của từ vựng trong mô hình không gian vector ảnh hưởng trực tiếpđến khoảng cách giữa các văn bản, do vậy các kết quả cụ thể phụ thuộc chủ yếuvào phương pháp gán trọng số
Những sơ đồ trọng số toàn cục nói trên chỉ nhằm mô tả tầm quan trọng của một từ bất kể ngữ cảnh riêng của nó, chẳng hạn như những từ lân cận hay vị trí của từ trong cấu trúc văn bản Thông tin về cấu trúc của văn bản cũng chưa được tận dụng, ví dụ như nhấn mạnh lên những từ tiêu đề hay những từ xuất hiện đầu văn bản
4 Tiền xử lý văn bản
Trích tách các đặc trưng là bước quan trọng nhất trong phân tích khám phá dữliệu cũng như khai thác văn bản Tất cả các phương pháp học không kiểm soát đều nhằm tìm kiếm một số cấu trúc nào đó trong tập dữ liệu, và các cấu trúc văn bản cũng được xác định bởi các đặc trưng được chọn để biểu diễn các mục
dữ liệu Tính hữu ích của những phương pháp tiền xử lý khác nhau tùy thuộc vào mục đích ứng dụng
Các phương pháp lựa chọn đặc trưng:
Phương pháp đánh giá độ hữu ích của vị từ
Phương pháp xác định từ khóa theo quan điểm Guiraud
Phương pháp xác định cụm từ trên cơ sở ngữ cảnh ngắn
Phương pháp sử dụng ngữ đoạn
Trong lĩnh vực khai khoáng văn bản hầu như cho đến nay đều sử dụng nhữngphương pháp tiền xử lý khá đơn giản trong việc loại bỏ dữ liệu dữ thừa và chọnlựa đặc trưng Trong các thực nghiệm như vậy, những tiêu đề văn bản, những chữ số, công thức, và tất cả những ký hiệu phi ngôn ngữ đều bị loại bỏ Văn bản được xem là đặc trưng bởi một tập hợp các từ vựng có tần số tuyệt đối lớn, những từ ít xuất hiện bị loại bỏ theo một tần số ngưỡng nào đó (thông thường
sẽ chọn ngưỡng trong khoảng từ 5% - 60% tùy vào từng trường hợp cụ thể)
Trang 9II GIẢI QUYẾT VẤN ĐỀ
1 Biều diễn tài liệu
Mô hình không gian vector dựa trên số học tuyến tính và xem các tài liệu, các câu truy vấn như các vector có nhiều chiều, Mỗi chiều của vector có giá trị số biểu thị sự tồn tại và tần suất xuất hiện của các từ vựng trong các tài liệu tương ứng hoặc trong toàn bộ tập tài liệu Để biểu diễn tất cả tài liệu trong cùng một
từ vựng( n vị từ trong cùng một không gian vector), ta phải rút tất cả toàn bộ các từ vựng tìm thấy trong mọi tài liệu để hình thành một không gian vector chung
Đặt n là kích thước của tập các thuật ngữ, và n là kích thước của tập các tài liệu Khi đó tất cả các tài liệu Di ( i = 1,2,…,t) có thể được thể hiện thành các vector n chiều:
Di = [ ai1 , ai2 , ai3 , ……., ai n ]
Trong đó, các hệ số ai k thể hiện các giá trị tương ứng với từ vựng thứ k trong
tài liệu Di Như vậy các tài liệu và các từ vựng hình thành ma trận thuật ngữ - tài liệu( một mảng 2 chiều) Các hàng của ma trận này thể hiện các tài liệu, và các cột ứng với các từ vựng là các chiều trong không gian vector
Xét một ví dụ về ý tưởng mô hình không gian vector Ta sẽ trình bày từng bước để chuyển tập các tài liệu thành một ma trận tài liệu – thuật ngữ trong ví
dụ, cách tính ai k như sau: nếu từ vựng k xuất hiện trong tài liệu i , thì hệ số ai k
trong vector đại diện bằng 1, còn lại nếu từ vựng không xuất hiện trong tài liệu
i, thì hệ số là 0.
D1 : The Sample Project Code
D2 : Sample Code Site Contents
D3 : Project of Sample Code
D4 : Sample Word Document Templates
D5 : Sample Word Problems Trigonometric Functions
D6 : Image Models Sample
Tập các từ vựng xuất hiện trong tập tài liệu: The, Sample, Project, Code, Site, Contents, of, Word, Document,
Templates, Problems, Trigonometric, Functions, Washington, Models.Tập từ vựng gồm 15 từ, như vậy không gian vector sẽ có 15 chiều Trong ví
dụ này, nếu từ vựng có xuất hiện nhiều lần thì hệ số tương ứng trong tài liệu đó vẫn được tính là 1, ngược lại 0
Ta thấy từ “Code” xuất hiện trong tài liệu thứ nhất và trong tập từ vựng chung, từ này ở vị trí thứ tư, nên trong vector thứ nhất vị trí thứ 4 có giá trị là 1
Trang 10“Code” cũng xuất hiện trong tài liệu thứ 3, nên vị trí thứ tư của vector thứ 3 cũng có giá trị là 1 Tương tự ta tính cho các phần tử khác Như vậy, ma trận thuật ngữ tài liệu được hình thành như sau:
Ma trận thuật ngữ - tài liệu
Các điểm mạnh và yếu của mô hình
Ưu điểm của mô hình:
Nền tảng mô hình là số học tuyến tính: sau khi chuyển đổi các tài liệu thành các vector, ta có thể thực hiện các thao tác toán học trên đó một cách dễ dàng,
và các công thức toán học áp dụng trên vector là rất phổ biến
Có thể dùng các cấu trúc dữ liệu đơn giản, hiệu quả để lưu trữ dữ liệu: ví dụ như có thể lưu trữ các vector bằng cấu trúc mảng Tuy nhiên, thường các vector khá thưa, nghĩa là hầu hết các chiều của vector là 0 ( khi xét một tập rất lớn các tài liệu, chưa đựng nhiều từ) Các phương pháp lưu trữ và xử lý đặc biệt
có thể được áp dụng cho các vector này để giảm thiểu thời gian tính toán và vùng nhớ
Nhược điểm của mô hình:
Thông tin lưu trữ trong cấu trúc của tài liệu bị thiếu hụt: trong mô hình khônggian vector cơ bản, chỉ có sự tồn tại của thuật ngữ trong tài liệu là quan trọng, còn thứ tự xuất hiện và số lần xuất hiện lại không được nhắc tới -> sẽ bỏ qua nhiều yếu tố quan trọng gây mất nhiều thông tin để tìm đặc trưng cho từ
Để khắc phục được một số yếu điểm cơ bản của phương pháp này ta có thể
áp dụng biện pháp gán trọng số cho các giá trị của các vector đặc trưng theo một số phương pháp khác thay vì ta chỉ đánh trọng số là 0 va 1
Trang 11Vector mã hóa văn bản k
- Sau khi các tài liệu văn bản được lấy từ internet về và lưu trữ trong CSDL
cục bộ, quá trình tiền xử lý dữ liệu sẽ tiến hành lấy nội dung của các file văn
bản bằng cách chuyển tất cả chúng về cùng một loại font chữ
- Tiến hành loại bỏ tất cả những “tag” của HTML trong file văn bản,
chuyển tất cả chúng về các file dưới dạng TXT, để chuẩn bị cho giai đoạn
trích đặc trưng và mã hóa văn bản
Trang 12Có rất nhiều phương pháp chọn đặc trưng để mã hóa cho văn bản, như
những phương pháp chọn đặc trưng là từ vựng (đơn, ghép), những phương
pháp tìm cụm từ phổ biến, phương pháp dùng ngữ đoạn( trong tiếng việt) để
làm đặc trưng cho văn bản, và một số phương khác
Giai đoạn này đóng vai trò hết sức quan trọng trong tiến trình khám phá tri
thức Tùy vào việc chúng ta lựa chọn cách lấy đực trưng nào để đảm bảo tính
hiệu quả cho bài toán( giải quyết ở phần sau)
Dưới đây ta dùng phương pháp cơ bản chỉ lựa chọn đặc trưng là từ và loại
bỏ những “stop word”( dùng trong tiếng anh)
Trang 13*.TXT
Rút trích những từ trong file và loại bỏ những từ “stop word ”
Tập các thuật ngữ( từ vựng) rút được
Loại bỏ những từ vựng tầm thường( thường dùng ngưỡng > 60% và < 5%)
Tập những từ vựng tầm
thường
Tập những từ vựng dùng
để mã hóa
c Gán trọng số cho tài liệu
Như phân tích ở phần III.1 ta thấy các giá trị tại các vị trí thành phàn của
vector thể hiện sự tồn tại của thuật ngữ tương ứng trong tài liệu Các giá trị đó
được gọi là các trọng số( các trọng số của cùng một thuật ngữ trong các tài
liệu khác nhau thì khác nhau) Có nhiều phương pháp khác nhau dùng để
đánh trọng số cho các thuật ngữ
Phương pháp đơn giản nhất là đánh trọng số luận lý, các trọng số được gán
là 0 va 1 phụ thuộc vào sự xuất hiện của các thuật ngữ trong tài liệu Tuy
nhiên phương pháp này gây mất nhiều thông tin, trong khi số lần xuất hiện
chính xác của một từ là rất quan trọng trong tài liệu
Phương pháp sử dụng số lần xuất hiện chính xác của các thuật ngữ trong tài
liệu được gọi là đánh trọng tf ( term frequency terms weighting ) Ta gán cho
mỗi vị trí k trong vector đại diện tài liệu là số lần xuất hiện của từ k trong tài
liệu tương ứng
Một phương pháp đánh trọng số sử dụng cả tần xuất của từ và tuần xuất của
tài liệu được gọi là đánh trọng số tf-idf, đây có lẽ là phương pháp được sử
dụng phổ biến trong hệ thống truy xuất thông tin Các trọng số được tính theo
Trang 14một hàm phụ thuộc vào tần xuất của từ trong tài liệu và tần xuất tài liệu ngược( inverse document frequencies):
Wi j = tf i j * log n( n / df i)Hoặc
Những công thức gán trọng số toàn cục nói trên chỉ nhằm mô tả tầm quan trọng của một từ bất kể ngữ cảnh riêng của nó, chẳng hạn như những từ lân cận hay vị trí của từ trong cấu trúc văn bản Thông tin về cấu trúc của văn bảncũng chưa được tận dụng, ví dụ như nhấn mạnh lên những từ tiêu đề hay những từ xuất hiện đầu văn bản
3 Độ tương tự của các tài liệu
Giải quyết cho vấn đề tìm kiếm những văn bản có nội dung giống nhau là quá trình mô tả việc xử lý ban đầu của các phương pháp phân nhóm tài liệu trong một tập tài liệu ban đầu Nhân tố góp phần cho sự thành công của giải thuật gom nhóm tài liệu là đo độ tương tự giữa hai văn bản( mô hình đại diện)
Độ tương tự của các tài liệu: Có thể thực hiện đo độ tương tự bằng nhiều cách, cách tiếp cận phổ biến là đo độ tương tự giữa hai vector nhiều chiều
Sử dụng mô hình không gian vector, ta có thể dể dàng tính toán sự tương quan giữa các tài liệu bằng cách tính giá trị tương tự( khoảng cách) giữa các vector thể hiện các tài liệu đó Tính toán độ tương tự giữa hai vector t chiều là
Trang 16III NỘI DUNG THỰC HIỆN
1 Biểu diễn dữ liệu
Với đề tài này, tôi chọn mô hình không gian vector( VSM) để làm mô hình biểu diễn cho các văn bản, nhưng không chọn phương pháp dùng số học tuyến tính cho ma trận hai chiều và đánh trọng số luận lý 0 và 1 Ánh xạ việc
sử dụng mảng hai chiều( ma trận thuật ngữ - tài liệu) cho việc biểu diễn cấu trúc dữ liệu
Biểu diển cấu trúc dữ liệu:
- Để lưu trữ tập hợp các từ vựng ( không gian vector thuât ngữ): dùng mảng( array) một chiều ( size = 300) để lưu 300 từ vựng chung( có thể
ít hoặc nhiều hơn)
- Biểu diễn vector đặc trưng( một văn bản): dùng cấu trúc dữ liệu bảng
băm ( hashTable) chỉ để lưu trữ những từ vựng có tồn tại trong “không
gian vector thuât ngữ” và có trong văn bản đó( những từ không có ta
sẽ không lưu trữ), một thành phần của giá trị băm gồm 2 miền:
o Nội dung của từ( String Word ): giá trị để băm tới
o Trọng số của từ( double termWeighting!= 0), nếu như từ có trong “không gian vector thuât ngữ”( 300 từ chung) mà không
có trong vector này thì sẽ cho giá trị là 0
( Có thể dùng các cấu trúc dữ liệu khác với tính chất tương tự)
Ánh xạ mảng hai chiều( ma trận thuật ngữ - tài liệu) bằng một mảng 1 chiều (size = n văn bản) với mỗi phần tử của mảng là một vector đặc trưng có cấu trúc như trên
2 Mã hóa văn bản
B1:Xử lý lấy nội dung( body) của file *.HTML chuẩn hóa về dạng
chuẩn sau đó lưu vào file *.TXT
B2:Từ n văn bản có n file *.TXT ta sẽ lọc bỏ các “ stop word” Từ tổng