Tải bản đầy đủ
3 Phương pháp tra cứu thông tin áp dụng lý thuyết tập thô

3 Phương pháp tra cứu thông tin áp dụng lý thuyết tập thô

Tải bản đầy đủ

http://www.ictu.edu.vn
50

Mỗi một thuật ngữ ti được gán một trọng số wi tương ứng và được xác định
theo công thức
M

(1 + log( f d j (ti ))) × log f (t ) if ti ∈ d j
wij = 
D i
 0 if t ∉ d
i
j


Trong đó :
fdj(ti) là tần suất xuất hiện của thuật ngữ ti trong văn bản dj.
FD(ti) là số văn bản xuất hiện thuật ngữ ti.
Sau đó mỗi wij được biểu diễn thô hóa để giá trị nằm trong khoảng [0,1] như
wij ←

sau:

wij



t h j ∈d j

( whj ) 2

Mỗi văn bản dj được biểu diễn lại một cách chi tiết bởi các thuật ngữ có trọng
số cao nhất trong nó.
d j = (t 1 j , w1 j ; t2 j , w2 j ;...; trj , wrj )

Với các wij ∈ [0,1].
Tất cả tập thuật ngữ trong D và trong truy vấn Q được định nghĩa là qi ∈ T. Và
các wiq ∈ [0,1].
Q = (q1 , w1q ; q 2, w2 q ;...; q s , wsq )

Giả sử fD(ti,tj) là số văn bản trong tập D xuất hiện đồng thời 2 thuật ngữ ti và
tj. Ta định nghĩa một hàm không chắc chắn I phụ thuộc vào một ngưỡng θ
Iθ (t j ) = {t j | f D (ti , t j ) ≥ θ } ∪ {ti }
Iθ thỏa mãn điều kiện của ti ∈ Iθ (t i ) và tj ∈ Iθ (t i ) . Nếu ti ∈ Iθ (t j ) với bất kỳ ti,

tj ∈ T , và cả Iθ . Hàm này tương ứng với quan hệ dung sai L ⊆ T × T . ti Lt j nếu tj
∈ Iθ (t i ) và Iθ (t i ) là lớp dung sai của thuật ngữ ti. Một hàm chưa chắc chắn v xác

định bao nhiêu X trong Y được định nghĩa bởi

http://www.ictu.edu.vn
51
v( X , Y ) =

| X ∩Y |
|X|

Sử dụng hàm này để tính toán hàm thành viên µ cho ti ∈ T , X ⊆ T được định
nghĩa

µ (ti , X ) = v( Iθ (ti ), X ) =

| Iθ (ti ) ∩ X |
| Iθ (ti ) |

Dựa vào các định nghĩa trên xác định dung sai xấp xỉ
L( R, X ) = {ti ∈ T | v( Iθ (ti ), X ) = 1}
L( R, X ) = {ti ∈ T | v( Iθ (ti ), X ) > 0}

L(R,X) là xấp xỉ dưới và U(R,X) là xấp xỉ trên. Từ đó, trọng số các thuật ngữ
trong văn bản cũng được tính bởi công thức dưới đây.

M

ti ∈ d j,
(1 + log( f d j (ti ))) × log f (t )
D i

log( M / f D (ti ))

wij = min th j ∈ d j whj ×
t i ∈ U(R, d j ) \ d j
1
+
log(
M
/
f
(
t
))
D
i

0
t i ∉ U ( R, d j )



3.3.3 Phân cụm văn bản
Phân cụm văn bản làm nhiệm vụ nhóm các văn bản có cùng nội dung thông tin
tương tự như nhau về thành các nhóm. Mỗi cụm văn bản có một tập các đặc trưng
đại diện. Từ đó dễ dàng hơn khi tra cứu thông tin.

http://www.ictu.edu.vn
52

THUẬT TOÁN PHÂN CỤM
Đầu vào

D: Tập gồm M văn bản
K: integer;

Đầu ra

K cụm văn bản với các thành viên của cụm

Bước 1: Xác định các đại diện khởi tạo R 1,R2,…RK của các cụm C1,C2,...,CK
bằng cách chọn ngẫu nhiên K văn bản trong D.
Bước 2: Với mỗi d j ∈ Dt tính độ tương tự S(U(R,dj),Rk) và đại diện nhóm
Rk,k=1,...,K. Nếu độ tương tự này lớn hơn một ngưỡng cho trước, gán d j
vào Ck và đưa giá trị tương tự là nhóm thành viên m(dj) của dj trong Ck.
Bước 3: Với mỗi lớp Ck, xác định lại đại diện Rk.
Bước 4: Lặp lại bước 2 và 3 đến khi nào không có thay đổi trong thành
viên nhóm.

Hình 3.5 Thuật toán phân cụm văn bản.
3.3.4 Biểu diễn đặc trưng các cụm
- Mỗi văn bản

d j ∈ Ck

có một số thuật ngữ phổ biến trong Rk.

- Các thuật ngữ trong Rk chiếm một số lượng lớn của d j ∈ Ck .
- Không thuật ngữ trong Rk bắt buộc phải nằm ở mọi văn bản trong Ck.
Có nghĩa là luật quyết định Bayesian với tỉ lệ lỗi là nhỏ nhất sẽ được gán một
văn bản dj trong lớp Ck nếu:
P (d j | C k ) P (C k ) > P (d j | C h ) P (C h ), ∀h ≠ k

Với giả thiết rằng thuật ngữ xuất hiện là độc lập trong mọi văn bản ta có:
P (d j | Ck ) = P (t j1 | Ck ) P (t j 2 | Ck )...P (t jp | Ck )

Định nghĩa fCk(ti) là số văn bản trong Ck chứa ti, ta có
P (ti | Ck ) = f C k (ti ) / | Ck |

http://www.ictu.edu.vn
53

Bước 1: Khởi tạo, Rk = φ
Bước 2: For tất cả các d j ∈ Ck và For tất cả các ti ∈ d j ,
If f C k (ti ) / | Ck |> σ then Rk = Rk ∪ {ti }
Bước 3: If d j ∈ Ck và d j ∩ R k = φ then
Rk = Rk ∪ arg max t i ∈d j wij

Hình 3.6 Tìm thuật ngữ đại diện cho cụm.
Trọng số của các thuật ngữ ti trong Rk là trung bình đầu tiên trọng số của các
thuật ngữ trong tất cả các văn bản phụ thuộc vào C k, có nghĩa
wik = (∑ d j ∈C k wij ) / | {d j : ti ∈ d j } | .

3.3.5 Độ tương tự giữa văn bản và cụm
Độ tương tự giữa văn bản và cụm được tính toán bằng cách đo độ tương tự d j1
và dj2 thông qua hệ số cosin:
S C ( d j1 , d j 2 ) =




N
k =1

N

k =1

( wkj1 × wkj2 )

wkj1 × ∑ k =1 wkj2 )
N

3.4 Kết luận chương 3
Việc phân nhóm các văn bản và rút gọn tập thuật ngữ đại diện cho các nhóm
sẽ giảm thiểu thời gian tìm kiếm, tra cứu thông tin khi lượng dữ liệu ngày càng lớn.
Mặt khác, khi các văn bản đã được phân cụm sẽ cho độ chính xác cao hơn. Giao
diện của hệ thống áp dụng lý thuyết tập thô để rút gọn tập thuật ngữ được trình bày
tại chương sau của luận văn.

http://www.ictu.edu.vn
54

CHƯƠNG 4. XÂY DỰNG HỆ THỐNG VÀ THỬ NGHIỆM
Trong chương này, chúng tôi giới thiệu ngôn ngữ lập trình sử dụng, cơ sở dữ
liệu của hệ thống tra cứu thông tin và giao diện của hệ thống. Chúng tôi cũng giới
thiệu phương pháp xây dựng kho dữ liệu phục vụ cho quá trình xây dựng và thử
nghiệm hệ thống thủ công.
4.1 Môi trường và nền tảng phát triển
Hệ thống tra cứu thông tin áp dụng luật rút gọn trong lý thuyết tập thô được
xây dựng trên nền visual studio.net 2010 và hệ quản trị cơ sở dữ liệu SQL Server
2008 của môi trường windows XP.
4.2 Một số giao diện của hệ thống
4.2.1 Xây dựng cơ sở dữ liệu
Cơ sở dữ liệu được xây dựng trên bốn bảng dữ liệu chính. Bảng lưu trữ thông
tin của các tài liệu văn bản có cấu trúc như Hình 4.1 dưới đây.

Hình 4.1 Bảng thông tin tài liệu.
Hình 4.2 dưới đây là bảng lưu trữ thông tin của các lĩnh vực chính. Các tài liệu
được phân loại theo từng lĩnh vực cụ thể.

Hình 4.2. Bảng lưu trữ thông tin các lĩnh vực.