Mô hình Boolean

Một phần của tài liệu Khai phá dữ liệu văn bản bằng lý thuyết tập thô (Trang 47 - 86)

Một mô hình biểu diễn vector với hàm f cho ra giá trị rời rạc với duy nhất hai giá trị đúng và sai (true và false, hoặc 0 và 1) gọi là mô hình Boolean. Hàm f tương ứng với từ khóa ti sẽ cho ra giá trị đúng nếu và chỉ nếu từ khóa ti

xuất hiện trong văn bản đó.

Mô hình Boolean được xác định như sau:

Giả sử có một cơ sở dữ liệu gồm m văn bản, D = {d1, d2,Ầ dm}. Mỗi văn bản được biểu diễn dưới dạng một vector gồm n từ khóa T = {t1, t2,Ầtn}. Gọi

W = {wij } là ma trận trọng số, trong đó wij là giá trị trọng số của từ khóa ti

trong văn bản dj. Wij= 1 0   

Trở lại với 2 văn bản trên, áp dụng mô hình Boolean ta có biểu diễn sau:

Nếu ti dj Nếu ti dj

Số hóa bởi Trung tâm Học liệu Ờ Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

Từ Vector _ VB1 Vector _ VB2

Life 1 1

Fight 0 1

Only 1 0

Bảng 2.3. Mô tả giá trị của mô hình Boolean. 2.1.2.6. Mô hình tần suất

Trong mô hình tần suất, ma trận W = {wij} được xác định dựa trên tần số xuất hiện của từ khóa ti trong văn bản dj hoặc tần số xuất hiện của từ khóa ti

trong toàn bộ cơ sở dữ liệu. Sau đây là một số phương pháp phổ biến:

* Phương pháp dựa trên tần số từ khóa (TF Ờ Term Frequency):

Các giá trị wij được tắnh dựa trên tần số (hay số lần) xuất hiện của từ khóa trong văn bản. Gọi fij là số lần xuất hiện của từ khóa ti trong văn bản dj, khi đó wij được tắnh bởi một trong ba công thức:

w = f ij ij w = 1+ log(f ) ij ij w = ij fij

Trong phương pháp này, trọng số wij tỷ lệ thuận với số lần xuất hiện của từ khóa ti trong văn bản dj. Khi số lần xuất hiện từ khóa ti trong văn bản dj càng lớn thì điều đó có nghĩa là văn bản dj càng phụ thuộc vào từ khóa ti, hay nói cách khác từ khóa ti mang nhiều thông tin trong văn bản dj.

Vắ dụ, khi văn bản xuất hiện nhiều từ khóa máy tắnh, điều đó có nghĩa là văn bản đang xét chủ yếu liên quan đến lĩnh vực tin học.

Nhưng suy luận trên không phải lúc nào cũng đúng. Một vắ dụ điển hình là từ ỘvàỢ xuất hiện nhiều trong hầu hết các văn bản, nhưng trên thực tế từ này

Số hóa bởi Trung tâm Học liệu Ờ Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

lại không mang nhiều ý nghĩa như tần suất xuất hiện của nó. Hoặc có những từ không xuất hiện trong văn bản này nhưng lại xuất hiện trong văn bản khác, khi đó ta sẽ không tắnh được giá trị của log(fij). Một phương pháp khác ra đời khắc phục được nhược điểm của phương pháp TF, đó là phương pháp IDF.

* 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ị wij được tắnh theo công thức sau:

Trong đó: m là số lượng văn bản và hi là số lượng văn bản mà từ khóa ti xuất hiện. Trọng số wij trong công thức này được tắnh dựa trên độ quan trọng của từ khóa ti trong văn bản dj. Nếu ti xuất hiện trong càng ắt văn bản, điều đó có nghĩa là khi nó xuất hiện trong dj thì trọng số của nó đối với văn bản dj

càng lớn hay nó là điểm quan trọng để phân biệt văn bản dj với các văn bản khác và hàm lượng thông tin trong nó càng lớn.

* Phương pháp TF ừ IDF: Phương pháp này là tổng hợp của hai phương (adsbygoogle = window.adsbygoogle || []).push({});

pháp TF và IDF, giá trị của ma trận trọng số được tắnh như sau:

Đây là phương pháp kết hợp được ưu điểm của cả hai phương pháp trên. Nếu ti xuất hiện trng tài liệu dj

Nếu ngược lại

m

log = log(m) - log(h ) i h w = i ij 0      Nếu fij1

Nếu ngược lại

m [1+ log(f )].log( ) ij h w = i ij 0     

Số hóa bởi Trung tâm Học liệu Ờ Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

Trọng số wij được tắnh bằng tần số xuất hiện của từ khóa ti trong văn bản dj và độ hiếm của từ khóa ti trong toàn bộ cơ sở dữ liệu.

2.1.2.7. Mô hình dựa trên tập mờ (Fuzzy Set)

Trong toán học truyền thống khái niệm tập hợp được phát biểu như sau: Cho tập hợp X và A ⊆ X khi đó ta có thể xây dựng một hàm, được gọi là hàm đặc trưng, xác định các phần tử của tập X như sau:

Xét ộ : X → {0,1 } với x ∈ X thì: ộ (x) = 1 nếu x ∈ A; ộ (x) = 0 nếu x

 A;

Hàm đặc trưng ộ(x) rõ ràng là hàm xác định các phần tử của tập A. Nhờ hàm ộ(x) ta có thể nói tập A là tập gồm những phần tử x mà ộ (x)=1. Bây giờ tập A có thể biểu diễn một cách khác qua các phần tử của tập X:

A={(x, ộ(x)=1)| x ∈ X}

Mở rộng khái niệm tập hợp của toán học học cổđiển nêu trên, Lofti Zadeh xét hàm ộ trên toàn đoạn [0,1].

* Biểu diễn văn bản sử dụng các khái niệm mờ

Giả sử ta có một tập gồm m văn bản: D=(d1 , d2 , Ầdm ). Khi đó xác định được một tập p từ khóa: K = (k1 , k2 , Ầ kp )

Một khái niệm có thể là một từ khóa theo nghĩa thông thường, trong đó gồm các từ có liên quan đến từ khóa đó.

Vắ dụ: Với khái niệm là ỘTrường họcỢ, nó có thể bao gồm 1 số từ khóa: ỘBan giám hiệuỢ, ỘGiáo viênỢ, Ộhọc sinhỢ, ỘlớpỢ, ỘđiểmỢ.

Gọi C là tập gồm có n khái niệm liên quan đến văn bản, C được kắ hiệu như sau: C = {c1 , c2 , Ầcn }

Số hóa bởi Trung tâm Học liệu Ờ Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

Trong đó: ci là khái niệm do người dùng xác định. Giả sử một khái niệm ci sẽ bao gồm các từ khóa có liên quan, ci = {k1 , k2 , Ầkp }, trong đó k là các từ khóa trong tập từ điển và có liên quan đến khái niệm ci.

Trong vắ dụ trên chúng ta có: ỘTrường họcỢ = {ỘBan giám hiệuỢ, ỘGiáo viênỢ, Ộhọc sinhỢ, ỘlớpỢ, ỘđiểmỢ}

Định nghĩa (Khái niệm mờ): Một tập mờ tương ứng với khái niệm trong đó hàm thuộc của nó được xác định bằng độ quan trọng của các từ khóa có liên quan tới khái niệm đó được gọi là một khái niệm mờ, kắ hiệu c* . Ta có thể biểu diễn khái niệm mờ qua tập từ khóa như sau:

* c ={(k , ộ (k )), (k , ộ (k )),...( k , ộ (k ))} c c p c p 1 1 2 2 Trong đó:

Định nghĩa (Hàm tắch hợp khái niệm mờ): Hàm F: [0,1]p

→ [0,1], được gọi là hàm tắch hợp thỏa mãn các tắnh chất của hàm tắch hợp mờ:

1. F(ộc (k1 ),..., ộc(kp )) ∈[0,1] 2. F(ộc (k1 ),..., ộc (ki‟ ),..., ộc(ki)) ≥F(ộc(k1),..., ộc(ki),..., ộc(kp)) Với ộc(ki ) <ộc(ki‟ ), i 1,...,p (adsbygoogle = window.adsbygoogle || []).push({});

Trong đó: ộc (ki) biểu diễn mức độ quan trọng của các từ khóa trong văn bản.

Vắ dụ:

Giả sử ta có tập từ khóa: ỘTrường họcỢ, ỘNhân viênỢ, ỘGiám đốcỢ, ỘBan giám hiệuỢ, ỘGiáo viênỢ, Ộhọc sinhỢ, ỘlớpỢ, ỘđiểmỢ, ỘTrưởng phòngỢ

(k )

c i

   

0 nếu ki không thuộc c

( )k

c i

 nếu ki thuộc c 1 nếu ki thuộc hoàn toàn c

Số hóa bởi Trung tâm Học liệu Ờ Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

K = {ỘTrường họcỢ, ỘNhân viênỢ, ỘGiám đốcỢ, ỘBan giám hiệuỢ, ỘGiáo viênỢ, Ộhọc sinhỢ, ỘlớpỢ, ỘđiểmỢ, ỘTrưởng phòngỢ} với độ liên quan đến văn bản được xác định bằng một hàm đánh chỉ số tương ứng:

ộk = {(ộỘTrường họcỢ), ộ(ỘNhân viênỢ), ộ(ỘGiám đốcỢ), ộ(ỘBan giám hiệuỢ), ộ(ỘGiáo viênỢ), ộ(Ộhọc sinhỢ), ộ(ỘlớpỢ), ộ(ỘđiểmỢ), ộ (ỘTrưởng phòngỢ)} = {0.9, 0.7, 0.2, 0.5, 0.1, 0.0, 0.6, 0.3, 0.1}

Ta tìm được một cụm từ khóa có liên quan đến nhau trong trong văn bản như vắ dụ trên: {ỘTrường họcỢ, ỘBan giám hiệuỢ, ỘGiáo viênỢ, Ộhọc sinhỢ, ỘlớpỢ, ỘđiểmỢ}. Chọn từ khóa ỘTrường họcỢ làm khái niệm, thì khái niệm mờ c* = ỘTrường họcỢ được biểu diễn như sau:

ỘTrường họcỢ = {(ỘBan giám hiệuỢ, 0.5) (ỘGiáo viênỢ, 0.1), (Ộhọc sinhỢ,0.0), (ỘlớpỢ,0.6), (ỘđiểmỢ,0.3)}.

Khi đó, độ quan trọng trong văn bản của Ấbệnh viện‟ được xác định bởi hàm tắch hợp khái niệm mờ:

ộ(ỘTrường họcỢ) = F(ộ(ỘBan giám hiệuỢ), ộ(ỘGiáo viênỢ), ộ(Ộhọc sinhỢ), ộ(ỘlớpỢ), ộ(ỘđiểmỢ) )

Nếu hàm tắch hợp là hàm MAX thì: ộ(ỘTrường họcỢ) = MAX(0.5, 0.1, 0.0, 0.6, 0.3) = 0.6

Nếu hàm tắch hợp là hàm trung bình thì:

ộ(ỘTrường họcỢ) = AVERAGE(0.5, 0.1, 0.0, 0.6, 0.3) = 0.3

2.1.2.8. Mô hình tập thô dung sai (Tolerance Rough Set Model-TRSM)

Tháng 8 năm 2001 tại Hàn Quốc các tác giả Hồ Tú Bảo, Saori Kawasaki, Nguyễn Ngọc Bình đề xuất mô hình tập thô dung sai ở hội nghị về các hệ thống thông minh tiên tiến.

Số hóa bởi Trung tâm Học liệu Ờ Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

* Định nghĩa (Không gian dung sai): R = (U, I, V, P). Trong đó: U: Tập vũ trụ các đối tượng; I: U  2U - Hàm không chắc chắn (uncertainty function); V: 2U x 2U  [0,1] - Độ mập mờ (vague inclusion); P: I(U) 

{0,1} Ờ Hàm cấu trúc (structurality function)

Giả sử đối tượng x được nhận biết bằng hàm thông tin Inf(x);

I: U 2U: hàm không chắc chắn xác định I(x) là một lớp dung sai (tolerance class) của tất cả các đối tượng có cùng thông tin với x. Từ đó suy ra I có thể là một hàm bất kỳ sao cho thoả mãn điều kiện: xI(x) và yI(x) nếu và chỉ nếu x  I(y) với  x, y U; V: 2U x 2U  [0,1]: hàm mập mờ đánh giá mức độ bao hàm của các tập hợp, cụ thể nó đánh giá độ bao hàm của lớp dung sai I(x) trong tập thô x; P: I(U) {0,1}: Hàm cấu trúc phân lớp tập I(x) của đối tượng x  U vào một trong hai tập con là tập có cấu trúc với P(I(x)) = 1 và tập không có cấu trúc với P(I(x)) = 0.

* Biểu diễn văn bản trong mô hình tập thô dung sai (TRSM): Cho một tập

gồm m văn bản: D = (d1 , d2 , Ầdm ). Mỗi văn bản dj được ánh xạ sang một danh sách các thuật ngữ ti, mà mỗi thuật ngữ được gán cho 1 trọng số thể hiện độ quan trọng của nó trong văn bản.

Giả sử f ( )ti (adsbygoogle = window.adsbygoogle || []).push({});

dj là số lần xuất hiện của thuật ngữ ti trong văn bản dj và

fD(ti) là các văn bản trong D có chứa thuật ngữ ti (tần xuất văn bản).

Trọng số Wij của thuật ngữ ti trong văn bản dj, đầu tiên được tắnh như sau[Theo 13] Nếu tidj j d D m )). ) f ( ) = 91+ log(f log( w ij 0 i t      Nếu t d ij

Số hóa bởi Trung tâm Học liệu Ờ Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

Sau đó chuẩn hóa bởi công thức: w wij

ij 2 (w ) t ij h dj   

Mỗi văn bản dj được biểu diễn bởi A thuật ngữ có trọng số cao nhất: dj = (t1j, w1j; 21j, w2j;... tAj wAj;).

Sau đó ta thực hiện cố định A chung tất cả các thuật ngữ thuộc D được đặt là tập T=(t1, t2,...tn). Tập K={k1, w1k, k2, w2k... ks, wsk} là một truy vấn trong đó ki thuộc T và wik [0,1].

2.2. Các thuật toán lập nhóm văn bản

Bài toán lập nhóm văn bản: từ một tập văn bản đã cho trước, hệ thống phải tự động lập ra các nhóm văn bản sao cho các văn bản thuộc cùng một nhóm phải có sự giống nhau theo một tiêu chuẩn đánh giá nào đó.

Các nhóm văn bản được tạo ra do người sử dụng đưa vào hoặc hệ thống sẽ phải tự động tắnh số nhóm sao cho phù hợp nhất.

Lập nhóm văn bản là một công cụ rất mạnh để trắch rút tri thức từ tập các văn bản. Đặc biệt là ứng dung trong tìm kiếm thông tin.

2.2.1. Thuật toán K Ờ Means

K-Means là thuật toán rất quan trọng và được sử dụng phổ biến trong kỹ thuật phân cụm. Tư tưởng chắnh của thuật toán K-Means là tìm cách phân nhóm các đối tượng (objects) đã cho vào K cụm (K là số các cụm được xác đinh trước, K nguyên dương) sao cho tổng bình phương khoảng cách giữa các đối tượng đến tâm nhóm (centroid ) là nhỏ nhất.

Thuật toán K-Means thực hiện qua các bước chắnh sau:

Đầu vào: M văn bản

Số hóa bởi Trung tâm Học liệu Ờ Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

Bước 1: Chọn ngẫu nhiên K tâm (centroid) cho K cụm (cluster). Mỗi cụm được đại diện bằng các tâm của cụm.

Bước 2: Tắnh khoảng cách giữa các đối tượng (objects) đến K tâm (thường dùng khoảng cách Euclidean)

Bước 3: Nhóm các đối tượng vào nhóm gần nhất

Bước 4: Xác định lại tâm mới cho các nhóm

Bước 5: Thực hiện lại bước 2 cho đến khi không có sự thay đổi nhóm nào của các đối tượng.

Thuật toán K-Means có ưu điểm là đơn giản, dễ hiểu và cài đặt. Tuy nhiên, một số hạn chế của K-Means là hiệu quả của thuật toán phụ thuộc vào việc chọn số nhóm K (phải xác định trước) và chi phắ cho thực hiện vòng lặp tắnh toán khoảng cách lớn khi số cụm K và dữ liệu phân cụm lớn.

2.2.2. Thuật toán lập nhóm theo cây phân cấp

2.2.2.1. Thuật toán theo cây phân cấp từ trên xuống (Top Down Hierachical Clustering) Clustering)

Đầu vào: Cho M văn bản; Đầu ra: Cây phân cấp trên xuống của các văn bản.

Bước 1: Gán tất cả các văn bản vào trong 1 nhóm duy nhất

Bước 2: Chọn 1 nhóm trong các nhóm để phân chia thành 2 nhóm con theo điều kiện nào đó.

Bước 3: Phân chia nhóm đó thành 2 nhóm. Xóa nhóm cũ và tạo nhóm mới. Cập nhật các nhóm.

Số hóa bởi Trung tâm Học liệu Ờ Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 2.2.2.2. Thuật toán theo cây phân cấp từ dưới lên (Bottom Up Hierachical Clustering) (adsbygoogle = window.adsbygoogle || []).push({});

Đầu vào: Cho M văn bản; Đầu ra: Cây phân cấp dưới lên của các văn bản. Bước 1: Ban đầu mỗi văn bản ta coi như một nhóm.

Bước 2: Tắnh độ tương tự giữa tất cả các nhóm với nhau.

Bước 3: Cọn ra 2 nhóm có độ tương tự cao nhất, kết hợp chúng lại thành một nhóm mới đồng thời loại bỏ 2 nhóm đó.

Bước 4: Lặp lại bước 2 và bước 3 cho đến khi chỉ còn 1 nhóm duy nhất chứa bộ các văn bản.

2.2.2.3. Giải thuật lập nhóm Non Hierachical Clustering Overlap

Đầu vào: D = {d1, d2Ầ.,dm} và K là số nhóm văn bản cần lập nhóm; Đầu ra: K nhóm chứa các văn bản đã được phân nhóm.

Bước 1: Xác định các đại diện ban đầu R1, R2ẦRk của các nhóm C1, C2ẦCk , như là K văn bản được chọn ngẫu nhiên trong tập D.

Bước 2: Với mỗi văn bản dj thuộc D, tắnh độ tương tự S(U(R, dj), Rk) giữa các xấp xỉ cận trên U(R, dj) của nó và các đại diện nhóm Rk với k=1ẦK; Nếu độ tương tự lớn hơn một ngưỡng cho trước thì gán dj vào Ck đó và lấy giá trị độ đo tương tự này như thứ tự xếp hạng của văn bản trong nhóm m(dj) của dj trong Ck.

Bước 3: Với mỗi nhóm Ck, xác định lại đại diện Rk của nó.

Bước 4: Lặp lại bước 2 và 3 cho đến khi có rất ắt hoặc không có sự thay đổi nào trong các thành viên của các nhóm.

Bước 5: Coi du là các văn bản chưa phân nhóm sau bước 2, 3, 4 và NN (du) là các văn bản lân cận nhất (độ tương tự khác 0) trong các nhóm đã thiết lập. (Trong đó: NN(Neasets Neighbor) - văn bản gần nhất); Gán du vào nhóm chứa NN(du) và xác định các thành viên nhóm của du trong lớp này bằng

Số hóa bởi Trung tâm Học liệu Ờ Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

công thức: m(du) =m((NN)( du)) x S(U(R, du), U(R, NN(du))). Xác định lại các đại diện Rk, k=1ẦK.

2.2.2.4. Giải thuật lập nhóm Non Hierachical Clustering Non Overlap

Đầu vào: D = {d1, d1Ầ.,dm} và K là số nhóm văn bản cần lập nhóm. Đầu ra: K nhóm chứa các văn bản đã được phân nhóm.

Bước 1: Xác định các đại diện ban đầu R1, R2ẦRk của các nhóm C1, C2ẦCk , như là K văn bản được chọn ngẫu nhiên trong tập D.

Bước 2: Với mỗi văn bản dj thuộc D, tắnh độ tương tự giữa dj và tất cả các nhóm; Chọn ra nhóm có độ tương tự S(U(R, dj), Rk) lớn nhất; Nếu độ tương tự lớn hơn một ngưỡng cho trước thì gán dj vào Ck đó và lấy giá trị độ đo tương tự này như thứ tự xếp hạng của văn bản dj trong Ck.

Bước 3: Với mỗi nhóm Ck, xác định lại đại diện Rk của nó.

Bước 4: Lặp lại bước 2 và 3 cho đến khi có rất ắt hoặc không có sự thay đổi nào trong các thành viên của các nhóm.

Bước 5: Coi du là các văn bản chưa phân nhóm sau bước 2, 3, 4 và NN (du) là các văn bản lân cận nhất (độ tương tự khác 0) trong các nhóm đã thiết lập. (Trong đó: NN(Neasets Neighbor) - văn bản gần nhất).

Bước 6: Gán du vào nhóm chứa NN(du) và xác định thứ tự của du trong lớp này bằng công thức: m(du) =m((NN)( du)) x S(U(R, du), U(R, NN(du))). Xác định lại các đại diện Rk, k=1ẦK.

Một phần của tài liệu Khai phá dữ liệu văn bản bằng lý thuyết tập thô (Trang 47 - 86)