Tải bản đầy đủ (.doc) (32 trang)

MỘT SỐ KỸ THUẬT PHÂN LỚP VÀ ỨNG DỤNG TRONG VIỆC PHÂN LOẠI THÔNG ĐIỆP TRÊN DIỄN ĐÀN THẢO LUẬN

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (313.84 KB, 32 trang )

Đại Học Quốc Gia TP.HCM
Trường Đại Học Công Nghệ Thông Tin
BÁO CÁO CHUYÊN ĐỀ
KHAI PHÁ DỮ LIỆU VÀ KHO DỮ LIỆU
ĐỀ TÀI:
MỘT SỐ KỸ THUẬT PHÂN LỚP VÀ ỨNG DỤNG TRONG VIỆC
MỘT SỐ KỸ THUẬT PHÂN LỚP VÀ ỨNG DỤNG TRONG VIỆC
PHÂN LOẠI THÔNG ĐIỆP TRÊN DIỄN ĐÀN THẢO LUẬN.
PHÂN LOẠI THÔNG ĐIỆP TRÊN DIỄN ĐÀN THẢO LUẬN.
GVHD : PGS Tiến sỹ Đỗ Phúc
Người thực hiện : Phạm Hùng Phương
Mã số : CH1102006
Lớp : Cao học khóa 6
HÀ NỘI – 2014
Bài thu hoạch môn học: Khai phá dữ liệu và kho dữ liệu.
LỜI CẢM ƠN
Em xin chân thành cảm ơn khoa sau đại học trường Đại học Công nghệ
thông tin – Đại học Quốc gia TP.HCM đã tạo điều kiện giúp em hoàn thành môn
học.
Em xin cám ơn sâu sắc đến PGS.TS Đỗ Phúc. Thầy đã tận tình giảng dạy
chuyển tải thông tin đến cho lớp chúng em trong suốt thời gian học tập và
nghiên cứu môn Khai phá dữ liệu và kho dữ liệu.
Bằng lượng kiến thức đã học tập và nghiên cứu được em cố gắng hoàn
thành bài thu hoạch trong phạm vi cho phép, nhưng do thời gian và kiến thức
còn hạn chế nên bài thu hoạch vẫn còn nhiều thiếu sót. Kính mong thầy quan
tâm giúp đỡ và chỉ bảo để em hoàn thiện bài thu hoạch tốt hơn nữa.
Một lần nữa em xin được tỏ lòng biết ơn thày đã giảng dạy và chỉ bảo tận
tình, cám ơn các thày cô khoa sau đại học và nhà trường đã tạo điều kiện để
chúng em hoàn thành môn học.
Hà Nội, tháng 11/2012
Học viên thực hiện


Phạm Hùng Phương
Phạm Hùng Phương: Lớp Cao học CNTT QM Khoá 06. Trang 2
Bài thu hoạch môn học: Khai phá dữ liệu và kho dữ liệu.
MỤC LỤC
M C L CỤ Ụ 3
CH NG 1. M T S K THU T PHÂN L P.ƯƠ Ộ Ố Ỹ Ậ Ớ 5
CH NG 2. NG D NG PHÂN L P NAIVE BAYES PHÂN LO I THÔNG ƯƠ Ứ Ụ Ớ ĐỂ Ạ
I P TRÊN DI N ÀN.ĐỆ Ễ Đ 21
CH NG 3. K T LU NƯƠ Ế Ậ 31
TÀI LI U THAM KH OỆ Ả 32
LỜI MỞ ĐẦU.
Với sự phát triển của Internet, lượng thông tin chứa đựng trong các trang
web ngày càng nhiều, một trong những hình thức của trang web đó là diễn đàn
thảo luận.
Có rất nhiều diễn đàn trên mạng Internet với nhiều lĩnh vực khác nhau
.
Việc tổ chức, quản lý nội dung thông tin trên diễn đàn không phải là một công
việc đơn giản, thường có những vấn đề nảy sinh:
- Người đưa tin sai diễn đàn chuyên đề.
- Người quản trị có ít công cụ để kiểm duyệt và xem các thông điệp trên
từng chủ đề.
- Chức năng thống kê của điễn đàn chưa thật mạnh cho người quản trị có
thể thống kê theo từ khoá…
Sự phát triển nhanh chóng các ứng dụng công nghệ thông tin và Internet
vào nhiều lĩnh vực đời sống đã tạo ra nhiều cơ sở dữ liệu khổng lồ.
Để khai thác hiệu của nguồn thông tin từ các cơ sở dữ liệu lớn trong việc
hỗ trợ tiến trình ra quyết định, bên cạnh những phương pháp khai thác thông tin
truyền thống, các nhà nghiên cứu đã phát triển nhiều phương pháp, kỹ thuật và
phần mềm mới hỗ trợ tiến trình khám phá, phân tích tổng hợp thông tin.
Có thể chia khai thác dữ liệu thành hai dạng chính: khai thác dữ liệu theo

hướng kiểm tra và khai thác dữ liệu theo hướng khám phá. Trong khai thác dữ
liệu theo hướng kiểm tra, người dùng đề xuất giả thiết, hệ thống kiểm tra tính
đúng đắn của giả thiết. Khai thác dữ liệu theo hướng kiểm tra bao gồm: truy vấn,
báo cáo, phân tích đa chiều, phân tích thống kê… Ngược lại, khai thác dữ liệu
theo hướng khám phá sẽ tìm kiếm các tri thức tiềm ẩn trong CSDL bằng cách
tiến hành xem xét tất cả các giả thiết khả dĩ. Do không gian tìm kiếm lớn, nên
rất nhiều heuristic đã được đề xuất nhằm nâng cao hiệu suất của các thuật giải
tìm kiếm.
Phạm Hùng Phương: Lớp Cao học CNTT QM Khoá 06. Trang 3
Bài thu hoạch môn học: Khai phá dữ liệu và kho dữ liệu.
Ngày nay, khi công cụ thu thập dữ liệu tự động và công nghệ lưu trữ dữ
liệu ngày càng hoàn thiện giúp con người tạo lập và quản lý một lượng dữ liệu
khổng lồ trong các CSDL, kho dữ liệu thì nhu cầu nắm bắt dữ liệu, trích rút
thông tin trở thành cấp thiết và có ý nghĩa. Mặt khác, với nhu cầu ngày càng cao
hơn, con người không bằng lòng với những dữ liệu đơn giản thu được từ những
kỹ thuật trước đây. Từ nhu cầu về những sự kiện rời rạc trong lĩnh vực ứng dụng
nay phát sinh nhu cầu nắm bắt tri thức về các mối quan hệ giữa chúng, xa hơn
nữa là phát hiện những quy luật trong lĩnh vực đó. Khai thác dữ liệu ra đời nhằm
đáp ứng các nhu cầu cấp thiết đó.
Do đó việc phát triển công cụ hỗ trợ quản lý nội dung và tổ chức thông tin
trên diễn đàn thảo luận là cần thiết. Trong đó bài toán phân loại thông điệp trên
diễn đàn mang nhiều ý nghĩa và đem lại hiệu quả trong quản lý thông tin trên
diễn đàn.
Với những lý do trên và qua quá trình được học môn Khai phá dữ liệu và
kho dữ liệu, em chọn đề tài Một số kỹ thuật phân lớp và ứng dụng trong việc
phân loại thông điệp trên diễn đàn thảo luận để viết bài thu hoạch. Em rất
mong tiếp tục nhận được sự quan tâm chỉ bảo của Thầy.
Phạm Hùng Phương: Lớp Cao học CNTT QM Khoá 06. Trang 4
Bài thu hoạch môn học: Khai phá dữ liệu và kho dữ liệu.
CHƯƠNG 1. MỘT SỐ KỸ THUẬT PHÂN LỚP.

1.1. Khái niệm phân lớp.
Phân lớp dữ liệu (data classification) là xếp đối tượng dữ liệu vào một
trong các lớp đã được xác định trước.
Phân lớp dữ liệu gồm hai bước là xây dựng
mô hình và vận hành mô hình
.
Xây dựng mô hình nhằm mục tiêu mô tả một tập những lớp đã được
định nghĩa trước
trong đó mỗi bộ hoặc mẫu sẽ được gán về một lớp đã xác định
trước bởi thuộc tính nhãn lớp.
Vận hành mô hình nhằm mục đích xác định lớp của dữ liệu trong
tương lai hoặc phân lớp những đối tượng chưa biết
.
Lớp sẽ được định nghĩa bởi một phân hoạch không gian các mẫu dữ liệu
(tức là không gian các thuộc tính hay không gian đặc trưng của mẫu). Có thể nói
lớp là một hàm của các thuộc tính (đặc trưng).
Như vậy việc phân lớp một mẫu
mới sẽ không tốt nếu mẫu đề đặt ra là làm thế nào để có thể chọn ra một không gian
thuộc của các mẫu đạt kết quả tốt mà vẫn đảm bảo không gian các thuộc tính này
đại diện cho các tập mẫu đã cho trước đó
.
Có nhiều cách tiếp cận bài toán phân lớp nhưng nhìn chung có ba xu hướng
nghiên cứu chính: tiếp cận phân lớp theo thống kê, theo máy học và mạng
nơron.
Tiếp cận phân lớp theo hướng thống kê có đặc điểm chung là dựa trên mô hình
xác suất cơ sở rõ ràng, đưa ra xác suất của một mẫu có thể thuộc lớp nào, cụ thể hơn
phân lớp thuần tuý
.
Một số phương pháp được áp dụng trong lĩnh vực phân lớp như: Cây
quyết định, Luật kết hợp, Mạng noron, Xác suất Naive Bayes…

Bài thu hoạch này trình bày các bước để xây dựng mô hình phân lớp và
nêu lên một số vấn đề quan tâm trong các hệ thống phân lớp hiện nay, giới thiệu
một số phương pháp phân lớp cơ bản.
Phạm Hùng Phương: Lớp Cao học CNTT QM Khoá 06. Trang 5
Bài thu hoạch môn học: Khai phá dữ liệu và kho dữ liệu.
Như đã nói ở trên, phân lớp là một tiến trình gồm 2 bước:
1.1.1 Bước 1: Xây dựng mô hình (hay bộ phân lớp) từ tập huấn luyện.
- Mỗi bộ/mẫu dữ liệu được phân vào một lớp xác định trước.
- Lớp của một bộ/mẫu dữ liệu được xác định bởi thuộc tính gán nhãn lớp.
- Tập các bộ/mẫu dữ liệu huấn luyện (còn được gọi là tập huấn luyện) được
dùng để xây dựng mô hình.
- Mô hình được biểu diễn bởi các luật phân lớp, các quyết định hoặc các
công thức toán học.
1.1.2. Bước 2: Vận hành (sử dụng) mô hình.
Sử dụng mô hình là kiểm tra tính đúng đẵn của mô hình và dùng mô hình
để phân lớp dữ liệu mới:
- Phân lớp cho những mẫu mới hoặc chưa được phân lớp.
- Đánh giá độ chính xác của mô hình bằng cách:
* Lớp biết trước của một mẫu/bộ dữ liệu đem kiểm tra được so sánh với
kết quả thu được từ mô hình.
* Tỉ lệ chính xác bằng phần trăm các mẫu/bộ dữ liệu được phân lớp đúng
bởi mô hình trong số các lần kiểm tra.
Hiện nay có nhiều kỹ thuật phân lớp được nghiên cứu trên thế giới, tuy nhiên
,
trong thực tế khi áp dụng các kỹ thuật phân lớp cho thấy rằng không có một
kỹ thuật phân lớp nào là tốt nhất cho mọi ứng dụng
mà mỗi kỹ thuật phân lớp
chỉ tốt đối với từng trường hợp cụ thể mà thôi.
Có nhiều vấn đề mà một bộ phận lớp cần phải quan tâm và giải quyết. Một
trong số các vấn đề đó là:

* Độ chính xác: Độ tin cậy của một luật dựa vào độ chính xác khi phân lớp,
mặc dù có một số lỗi được xem là nghiêm trọng hơn các lỗi khác nhưng vấn đề
quan trọng là được hiệu chỉnh và đánh giá chính xác đối với các lớp quan trọng.
* Tốc độ: Trong một số tình huống, tốc độ phân lớp được xem như là một
yếu tố quan trọng. Khi đó, một bộ phân lớp với độ chính xác 92% có thể được
ưa chuộng hơn bộ phận lớp có độ chính xác 95% nhưng chậm hơn 100 lần trong
các phép kiểm tra.
Phạm Hùng Phương: Lớp Cao học CNTT QM Khoá 06. Trang 6
Bài thu hoạch môn học: Khai phá dữ liệu và kho dữ liệu.
* Dễ hiểu: Một bộ phân lớp dễ hiểu sẽ tạo cho người sử dụng tin tưởng hơn
vào hệ thống, đồng thời cũng giúp cho người sử dụng tránh được việc hiểu lầm
kết quả của một luật được đưa ra bởi hệ thống.
* Thời gian để học: Vấn đề này đặc biệt nghiêm trong khi hệ thống được sử
dụng trong các môi trường thay đổi thường xuyên, điều đó yêu cầu hệ thống
phải học rất nhanh một luật phân lớp hoặc nhanh chóng điều chỉnh một luật đã
được học cho phù hợp với thực tế.
Sau đây sẽ trình bày một số kỹ thuật phân lớp chính: Phân lớp dựa trên cây
quyết định, phân lớp dựa vào mạng nơron và phân lớp xác suất Naive Bayes.
1.2. Phân lớp dựa trên cây quyết định (Decision tree).
1.2.1. Giới thiệu.
Phương pháp học dựa trên cây quyết định là một phương pháp xấp xỉ hàm đích
có giá trị rời rạc, trong đó mỗi hàm đã học được thể hiện bởi một cây quyết định
.
Các cây đã học cũng có thể đựơc trình bày lại như là tập các luật dạng nếu thì để
cho dễ hiểu hơn.
Cây quyết định là một cây trong đó:
- Mỗi nút trong xác định một phép kiểm tra trên một thuộc tính.
- Mỗi nhánh của cây là đầu ra của một phép kiểm tra.
- Mỗi nút lá là nhãn phân lớp hoặc sự phân chia vào lớp.
Ví dụ:

Bảng 1.1. minh họa tập dữ liệu mẫu dùng trong phân lớp cây quyết định
,
lớp = C (có chơi tennis), lớp = K (không chơi tennis)
Bảng 1.1. Tập dữ liệu học “chơi tennis”.
STT Thời tiết Nhiệt độ Độ ẩm Gió Lớp
1 Nắng Nóng Cao Không K
2 Nắng Nóng Cao Không K
3 U ám Nóng Cao Không C
4 Mưa ấm áp Cao Không C
5 Mưa Mát Vừa Không C
6 Mưa Mát Vừa Có K
7 U ám Mát Vừa Có C
8 Nắng ấm áp Cao Không K
9 Nắng Mát Vừa Không C
10 Mưa ấp áp Vừa Không C
11 Nắng ấp áp Vừa Có C
12 U ám ấp áp Cao Có C
Phạm Hùng Phương: Lớp Cao học CNTT QM Khoá 06. Trang 7
Bài thu hoạch môn học: Khai phá dữ liệu và kho dữ liệu.
13 U ám Nóng Vừa Không C
14 Mưa ấm áp Cao Có K
Minh hoạ cây quyết định thu được với thuật toán ID3 trên tập dữ liệu huấn
luyện mẫu được phân lớp trong bảng 1.1. trên.
Cây quyết định xây dựng từ tập huấn luyện mẫu bảng 1.
Phân lớp một thể hiện được bắt đầu từ nút gốc của cây, kiểm tra giá trị của
thụôc tính tại nút này, sau đó đi xuống nhánh mà thoả giá trị thuộc tính của thể
hiện cần phân lớp. Tiến trình được lặp đi lặp lại cho đến nút lá thì dừng. Tiếp tục
phân lớp cho các thể hiện khác cũng phải bắt đầu từ nút gốc.
1.2.2. Tạo cây quyết định
1.2.2.1. Thuật toán

Tiến trình tạo cây quyết định gồm hai giai đoạn: xây dựng cây và thu gọn cây.
Giai đoạn 1: Xây dựng cây
- Bắt đầu, tất cả các mẫu huấn luyện đều ở gốc.
- Phân chia các mẫu dựa trên các thuộc tính được chọn
- Kiểm tra các thuộc tính được chọn dựa trên một độ đo thống kê hoặc
heuristic.
Giai đoạn 2: Thu gọn cây
- Xác định và loại bỏ những nhánh nhiễu hoặc tách khỏi nhóm
- Thuật toán mô tả tiến trình học dựa trên cây quyết định được thực hiện
theo hướng xây dựng một cây đệ quy phân chia và xác định các thuộc tính từ
trên xuống như sau:
Phạm Hùng Phương: Lớp Cao học CNTT QM Khoá 06. Trang 8
Thời tiết
Độ ẩm Gió
P
U ám
K
C
Vừa
Cao
K
C
Không


Mưa Nắng

Bài thu hoạch môn học: Khai phá dữ liệu và kho dữ liệu.
• Các thuộc tính được xem là rõ ràng, rời rạc
• Có nhiều thuật toán khác nhau: ID3, C4,5, CART, CHAID, tuỳ thuộc vào

các điểm khác biệt chính: tiêu chuẩn/ thuộc tính phân chia, độ đo để lựa chọn
thuộc tính.
Một độ đo để lựa chọn thuộc tính được sử dụng khá rộng rãi là độ lợi thông tin
(hay còn là Information Gain). Nhiều thụât toán sử dụng tiêu chuẩn này để lựa chọn
thuộc tính tốt nhất giữa các thuộc tính tại mỗi bước trong quá trình xây dựng cây
.
1.2.2.2. Độ lợi thông tin (Information Gain)
Các thuộc tính được xem là rõ ràng, rời rạc. Gọi A là tập thuộc tính trên
toàn bộ tập dữ liệu mẫu, A = {A1, A1, An} (
ví dụ trong bảng 1: A = {thời tiết,
nhiệt độ, độ ẩm, gió}
). Thuật toán phân lớp dựa trên cây quyết định quan trọng ở
việc chọn thụôc tính A nào (tiêu chuẩn nào) để kiểm tra tại mỗi nút của cây
(theo thứ tự từ trên xuống). Do đó ta sẽ chọn thụôc tính A có chỉ số độ lợi thông
tin lớn nhất – gọi là Gain (A).
• Cho P và N là 2 lớp và S là một tập dữ liệu có p mẫu học thuộc lớp P và n
mẫu thuộc lớp N.
• Định nghĩa khối lượng thông tin cần thiết để quyết định một mẫu tuỳ ý có
thuộc về lớp P hay N hay không là I (p,n):
np
n
np
n
np
p
np
p
npI
++


++
−=
22
loglog),(
Phạm Hùng Phương: Lớp Cao học CNTT QM Khoá 06. Trang 9
Tạo_cây (Tập dữ liệu học toàn bộ S)
Phân hoạch (S)
Phân_hoạch (Tập dữ liệu phân mảnh S
i
)
Nếu tất cả các mẫu trong S
1
có cùng lớp thì dừng
Ngược lại, tính khả năng tách nhánh cho mỗi thuộc tính A
Chọn ra một khả năng tách nhánh tốt nhất được tìm thấy từ các khả năng
tách nhánh trên để phân hoạch S
i
, thành S
i1
và S
i2
.
Phân hoạch (S
i1
)
Phân hoạch (S
i2
)
Bài thu hoạch môn học: Khai phá dữ liệu và kho dữ liệu.
• Cho các tập {S

1
, S
2
, S
v
} là một phân hoạch trên S khi sử dụng thuộc tính
A. S
1
đến S
v
là v tập con của tập dữ liệu mẫu được phân mảnh bởi v giá trị
thuộc tính A. Mỗi S
i
chứa p
i
, mẫu lớp P và n
i
mẫu lớp N.
• Định nghĩa “Entropy” là thông tin mong muốn cần thiết để phân lớp các
đối tượng trong tất cả các cây con S
i
:

=
+
+
=
p
i
ii

ii
npI
np
np
AE
1
),(.)(
• Độ lợi thông tin có được bởi việc phân nhánh trên thuộc tính A được tính
bằng công thức:
Ví dụ:
Từ tập dữ liệu mẫu bảng 1.1 ta có:
• Lớp P: chơi tennis = “C”
• Lớp N: chơi tennis = “K”
• Thông tin cần thiết để phân lớp một mẫu được cho: I(p,n) = T(9,5) = 0.940
• Tính entropy cho thuộc tính A = “thời tiết” => phân hoạch dữ liệu (s
1
,s
2
,s
3
)
Thời tiết p
i
N
i
I(p
i
,n
i
)

Nắng 2 3 0.971 s
1
(thời tiết = nắng)
U ám 4 0 0 s
2
(thời tiết = u ám)
Mưa 3 2 0.971 s
3
(thời tiết = mưa)
Ta có:
E (thời tiết) = I(2,3) + I(4,0) + I(3,2) = 0.694
Do đó:
Gain (thời tiết) = I(9,5) – E (thời tiết) = 0.246
Tương tự, tính được
Gain (nhiệt độ) = 0.029
Gain (độ ẩm) = 0.151
Phạm Hùng Phương: Lớp Cao học CNTT QM Khoá 06. Trang 10
Gain (A) = I (p,n) – E (A)
Bài thu hoạch môn học: Khai phá dữ liệu và kho dữ liệu.
Gain (gió) = 0.048
Vậy, chọn thuộc tính “thời tiết” làm tiêu chuẩn đầu tiên để xây dựng cây
quyết định (có độ lợi thông tin Gain lớn nhất) (tương ứng hình 1.1).
1.2.2.3. Tỉ lệ độ lợi (Gain Ration)
Đối với một số thuộc tính có quá nhiều giá trị, ví dụ thuộc tính “ngày” thì
khi tính độ đo Information Gain (độ lợi thông tin) luôn lớn hơn đối với các thụôc
tính khác, khi đó thuật toán sẽ thực hiện hoàn hảo việc phân lớp trên tập dữ liệu
học nhưng sinh ra hàm đích xấu đối với các thể hiện chưa được phân lớp.
Nguyên nhân do thụôc tính có quá nhiều giá trị sẽ dẫn đến tập mẫu được phân
tách thành các tập con quá nhỏ.
Một tiêu chuẩn khác được đưa ra để giải quyết vấn đề này là tiểu chuẩn

Gain Ratio (Quinlan 1986). Gain Ratio được tính toán qua giá trị Split
Information (độ nhạy cảm với sự phân mảnh thông tin).
np
np
np
np
S
S
S
S
AmationSplitInfor
ii
p
i
ii
i
p
i
i
+
+
+
+
=
=


=
=
2

1
2
1
log.
log.)(
Trong đó các tập {S
1
, S
2
S
v
} là một phân hoạch trên tập S khi sử dụng
thuộc tính A.
S
1
đến S
2
là v tập con của tập dữ liệu mẫu được phân mảnh bởi v giá trị
thuộc tính A.
Mỗi S
i
chứa p
i
mẫu lớp P và n
i
mẫu lớp N.
Với
S
= tổng số mẫu trên tập dữ liệu mẫu S,
i

S
= tổng số mẫu trên tập S
i
.
Công thức tính Gain Ratio được xác định như sau:
1.2.3. Rút luật phân lớp từ cây quyết định
• Mỗi một đường dẫn từ gốc đến lá trong cay tạo thành một luật.
Ví dụ một luật trong hình 1.1: IF thời tiết = nắng AND độ ẩm = vừa THEN
chơi tennis (lớp = C)
• Nút lá giữ quyết định phân lớp dự đoán
Phạm Hùng Phương: Lớp Cao học CNTT QM Khoá 06. Trang 11
)(
)(
)(
AmationSplitInfor
AGain
AGainRation =
Bài thu hoạch môn học: Khai phá dữ liệu và kho dữ liệu.
• Mỗi cặp giá trị thuộc tính trên một đường dẫn tạo nên một sự liên tục
• Các luật được dễ hiểu hơn các cây.
1.2.4. Đánh giá
Phương pháp phân lớp dựa trên cây quyết định có các tính chất
• Có thể chuyển đổi thành các luật phân lớp đơn giản và dễ hiểu
• Dễ tích hợp với các hệ thống cơ sở dữ liệu
• Gặp khó khăn khi làm việc với lượng dữ liệu lớn và phân làm nhiều lớp.
• Cây được tạo có thể overfit do dữ liệu huấn luyện có quá nhiều nhánh hoặc
độ chính xác kém cho những mẫu chưa biết. Một số nguyên nhân làm cho
cây quyết định có thể bị overfit như:
• Dữ liệu nhiễu và tách rời khỏi nhóm
• Dữ liệu huấn luyện quá ít

• Các giá trị tối đa cục bộ trong tìm kiếm tham lam
Do đó để tránh trường hợp này, hai hướng thường được xử lý: rút gọn trước
sẽ là ngừng sớm, hoặc rút gọn sau sẽ là loại bỏ bớt các nhánh sau khi xây xong
toàn bộ cây.
1.3. Phân lớp dựa vào mạng nơron (Neural Network)
1.3.1. Giải thuật mạng nơron
Mạng nơron (Neural Netwok) là một công cụ có khả năng giải quyết được
nhiều bài toán khó. Mạng nơron là giải thuật phan loại dựa trên sự mô phỏng
khả năng suy luận của con người.
Mạng nơron được ứng dụng nhiều trong các bài toán về nhận dạng
(Vân tay,
tiếng nói, chữ hay các ứng dụng nhận dạng khác), trong lĩnh vực khai khoáng
dữ liệu (data mining), bài toán xây dựng các hệ hỗ trợ ra quyết định, đánh giá
hiệu năng của mạng Mạng Noron còn có thể kết hợp với logic mờ để tạo ra
mạng Nơron mờ.
Trong mạng nơron có rất nhiều mô hình mạng như mạng nơron lan truyền
thuận/ngược, mạng Kronell Đối với trường hợp học để giải thích dữ liệu nhạy
cảy của thế giới thực thì mạng nơron là một trong các phương pháp học hiệu quả
Phạm Hùng Phương: Lớp Cao học CNTT QM Khoá 06. Trang 12
Bài thu hoạch môn học: Khai phá dữ liệu và kho dữ liệu.
nhất hiện nay. Thuật toán lan truyền ngược đã chứng tỏ hiệu quả trong việc nhận
dạng chữ viết (Lecun et al, 1989) hay nhận diện khuôn mặt (Cottell, 1990).
Mạng nơron là một hệ thống được tạo thành bởi sự nối kết giữa nhiều đơn
vị nơron xử lý đơn giản và hoạt động song song gọi là perceptron. Những đơn vị
nơron có nhiệm vụ thu thập các tín hiệu, xác định các trọng số w
i
, nhận được từ
các tín hiệu xử lý x
i
tại các đơn vị nơron khác truyền đến nó, sau đó tổng cộng

và chuyển tín các tín hiệu ấy sang các đơn vị nơron khác.
Trong mô hình nơron nhân tạo mỗi nơron được nối với các nơron khác và
nhận tín hiệu x
i
, từ chúng với các trọng số w
i
. Tổng thông tin vào có trọng số là:

=
ij
xwNet
Giá trị đầu ra y của một perceptron được tính bằng công thức sau [6]
y = f ((x
n
w
n
+ x
n-1
w
n-1
+ + w
2
x
2
+ w
1
x
1
+ w
0

) -
φ
)
Trong đó: φ được gọi là ngưỡng kích hoạt của nơron
Hàm f được gọi là hàm truyền
Hình 1.2. Cấu tạo một nơron
Một số hàm truyền thường được sử dụng:
* Hàm logistic (hay còn gọi là hàm Sigma): f(x) =
x
e

+1
1
* Hàm Hyperpol: f(x) =
x
x
e
e


+

1
1
Việc huấn luyện cho một mạng nơron bao gồm cập nhật các trọng số cho
các perceptron, giải thuật phức tạp hơn nhiều do ta chỉ biết dữ liệu nhập, dữ liệu
xuất cho từng mẫu và phải cập nhật các trọng số cho tất cả perceptron ở các lớp.
Phạm Hùng Phương: Lớp Cao học CNTT QM Khoá 06. Trang 13
x
1

w
1
w
2
x
2

w
n-1
x
n-1
w
n
x
n
y
f

W
0
Bài thu hoạch môn học: Khai phá dữ liệu và kho dữ liệu.
Việc cập nhật được thực hiện theo hai chiều là lan truyền thuận và lan truyền
ngược. Lan truyền thuận: dữ liệu xuất của lớp i sẽ được sử dụng như dữ liệu
nhập của lớp i + 1. Quá trình này được lan truyền từ lớp nhập để tính giá trị xuất
cho lớp xuất. Lan truyền ngược: độ chênh lệch giữa giá trị thực và giá trị xuất
bởi mạng ở lớp i sẽ được dùng để điều chỉnh trong số cho lớp i - 1.
Mô hình minh hoạ mạng nơron một lớp như hình 1.3
Hình 1.3. Mô hình minh hoạ mạng nơron một lớp
Mô hình minh hoạ mạng nơron tổng quát (nhiều lớp) như hình 1.4
Hình 1.4. Mô hình minh hoạ mạng nơron tổng quát

Phạm Hùng Phương: Lớp Cao học CNTT QM Khoá 06. Trang 14
Cung liên kết
(trọng số w
i
)
Nút xuất
Tín hiệu vào
(các nút nhập)
Các nút xuất O
j
Các nút ẩn a
i
Các nút nhập I
k
W
k,i
W
k,i
I
1
I
2
A
3
A
4
O
5
W
14

W
23
W
13
W
24
W
35
W
45
Bài thu hoạch môn học: Khai phá dữ liệu và kho dữ liệu.
Hình 1.5. Một ví dụ mạng lan truyền.
Nguyên tắc xác định giá trị Output của nút 5 trong hình 1.5 là
O
5
= f (W
3,5
A
3
+ W
4,5
A
4
)
= f (W
3,5
f(W
1,3
I
1

+ W
2,3
I
2
) + W
4,5
f(W
1,4
I
1
+ W
2,4
I
2
)
Mạng nơron nhìn theo hướng khác gồm các lớp: lớp nhập (input), lớp ẩn
(hidden), và lớp xuất (output)
Hình 1.6. Mô hình mạng nơron nhìn hướng khác
Mỗi nút trong lớp nhập nhận giá trị của một biến độc lập và chuyển vào
mạng. Dữ liệu từ tất cả các nút trong lớp nhập được tổng trọng hoá và chuyển
kết quả cho các nút trong lớp ẩn. Tương tự, các nút trong lớp xuất cũng nhận
được các tín hiệu tích hợp từ các nút trong lớp ẩn. Mỗi nút trong lớp xuất tương
ứng một biến phụ thuộc. Trong thực tế, hầu hết các bài toán gặp phải thường có
nhiều biến độc lập và thường có nhiều biến phụ thuộc. Vì thế ta cần một mạng
tổng quát có nhiều nút nhập và nhiều nút xuất.
Phần lớn các bài toán chỉ có một biến phụ thuộc, nhưng mạng nơron cho phép
có số biến phụ thuộc tuỳ ý
. Ví dụ trong bài toán phân lớp, chúng ta cần xác định
Phạm Hùng Phương: Lớp Cao học CNTT QM Khoá 06. Trang 15
Dữ liệu xuất

Dữ liệu nhập
Lớp ẩn
Lớp nhập
Lớp ẩn
Bài thu hoạch môn học: Khai phá dữ liệu và kho dữ liệu.
lớp của các mẫu mới (vd: mỗi mẫu có 100 thuộc tính (đặc trưng)) trong tổng số
12 lớp có thể có
thì chúng ta có thể xây dựng một mạng với 100 nút trong lớp
nhập và 12 nút trong lớp xuất, giá trị nút trong lớp xuất nào cao nhất thì khả năng
mẫu mới sẽ thuộc về lớp tương ứng với nút trong lớp xuất đó. Mạng lan truyền
tổng quát có thể có n lớp (n>2): lớp thứ nhất gọi là lớp nhập, lớp thứ n là lớp xuất,
và n - 2 lớp ẩn.
1.3.2. Đánh giá
Phương pháp phân lớp dựa trên mạng nơron có các đặc điểm sau:
+ Hàm đích của mạng nơron không tường minh, khó hiểu.
+ Việc xác định các tham số của mạng phụ thuộc vào người thiết kế mạng.
+ Nhược điểm của phân lớp mạng nơron là giải thuật phức tạp, thời gian
học của phương pháp này thường chậm và không phù hợp với lượng dữ liệu lớn
thường gặp trong phân lớp văn bản.
1.4. Phân lớp Naive Bayes.
1.4.1. Sự phân hoạch và công thức Bayes
Giả sử các biến cố H
1
, H
2
H
n
tạo thành một phân hoạch của không gian
mẫu H. Các biến cố H
i

là một nhóm đầy đủ các biến cố và hợp của chúng bằng
H. Với biến cố A bất kỳ trong H:
A = (H
1
A) + (H
2
A) + + (H
n
A)
Vậy
P(A) =


n
i 1
P(H
i
) x P (A|H
i
) (1.1)
Các xác suất P(Hi) và P(A Hi) thường được biết trước khi thực hiện phép
thử và được gọi là các xác suất tiền nghiệm, còn các xác suất P (H
i
/A), cho biết
khả năng tham gia của H
i
vào việc xảy ra biến cố A, được gọi là xác suất hậu
nghiệm. Chúng ta có thể tính xác suất hậu nghiệm từ các xác suất tiền nghiệm:
P(H
i

| A) =
)(
)|()(
AP
HAPHP
ii
×
(1.2)
Dùng công thức (1.1) thế vào (1.2) ta có (1.3)
Giả sử H
1
, H
2
H
n
là một phân hoạch của không gian mẫu H và A là một
biến cố bất kỳ trong H. Khi đó, với mọi ∈ {1,2 ,n};
Phạm Hùng Phương: Lớp Cao học CNTT QM Khoá 06. Trang 16
Bài thu hoạch môn học: Khai phá dữ liệu và kho dữ liệu.
P(H
i
| A) =

=
×
×
n
lk
kk
HAPHP

HAPHiP
)|()(
)|()(
1
(1.3)
Muốn xác định phân hoạch H
i
nào có khả năng xảy ra biến cố A cao nhất
ta tính từng P(H
i
| A) và lấy P(H
i
| A) có giá trị lớn nhất. Mỗi phân hoạch P(H
i
)
được hiểu mở rộng là mỗi lớp.
1.4.2. Mô hình phân lớp Naive Bayes
Mô hình phân lớp Bayes được áp dụng nhiều nhất trong thực tế là mô hình
phân lớp Naive Bayes.
Cho V
1
, V
2
, V
m
là một phân hoạch của không gian mẫu V (được xem là
các lớp V
j
). Không gian thể hiện X bao gồm tất cả các thể hiện được mô tả trên
tập thuộc tính (A

1
, A
2
A
n
) và hàm đích f(x) có thể nhận bất kỳ giá trị nào trong
V (f (x) = V
j
| j = 1, ,m). Không gian thể hiện X này được xem là các ví dụ học.
Khi có một thể hiện mới với bộ giá trị <a
1
,a
2
a
n
>, bộ phận lớp sẽ dự đoán giá
trị hàm đích f (x) hoặc lớp cho thể hiện mới này (f(x) = một trong các giá trị V
j
).
Cách tiếp cận Bayes để phân lớp một thể hiện mới là lấy giá trị đó có xác
suất cao nhất V
MAP
của thể hiện này. Hay nói cách khác, định lý Bayes được sử
dụng để chọn giả thuyết có xác suất đúng cao nhất từ tập mẫu huấn luyện, giả
thuyết này được gọi là giả thuyết cực đại xác suất sau (xác suất hậu nghiệm)
MAP - Maximum A Posterior:
V
MAP
= max P(v
j

| a
1
, a
2
a
n
) (1.4)
Sử dụng định lý Bayes - công thức (1.2) - áp dụng vào (1.4), ta có:
V
MAP
=
) ,(
)|, ,,()(
max
21
21
n
jnj
Vv
aaaP
vaaaPvP
i

=
Vv
i

max
P(v
j

)P(a
i
,a
2
a
n
/v
1
)
(Cùng mẫu số P(a
1
, a
2
a
n
) nhưng vì so sánh lớn nhất nên ta bỏ qua so sánh
mẫu).
Các P (v
j
) được tính bằng cách đếm số lần có mặt của giá trị đích V
j
trong
tập dữ liệu học. Tuy nhiên, để tính P(a
1
,a
2
a
n
), bộ phận lớp Naive Bayes dựa trên
việc đơn giản hoá các giả định ban đầu là các giá trị đích cho trước.

Nói cách khác, xác suất của một thể hiện quan sát được <a
1
, a
2
a
n
> trên
mỗi lớp v
i
sẽ là tích của các khả năng của từng thuộc tính riêng biệt bên v
j
:
Phạm Hùng Phương: Lớp Cao học CNTT QM Khoá 06. Trang 17
Bài thu hoạch môn học: Khai phá dữ liệu và kho dữ liệu.
P(a
1
, a
2
a
n
| v
j
) = Π
i
P(a
i
| v
j
)
Công thức (1.5) được viết lại như sau:

V
NB
= max P(v
j
) Π
i
P(a
i
| v
i
) (1.6)
Bộ phận lớp Naive Bayes liên quan đến một bước học mà trong đó P(v
j
) và
P(a
1
, a
2
a
n
) được ước đoán dựa trên tần số xuất hiện của chúng trên toàn bộ tập
dữ liệu học. Tập các dự đoán này tương ứng với kết luận học được. Kết quả của
bộ phân lớp trong công thức (1.6) được sử dụng để phân lớp thể hiện mới này
(cho biết thể hiện mới này có xác suất thụôc vào lớp (v
j
) nào cao nhất).
Với giả định thoả các điều kiện độc lập xác suất của phương pháp, phân lớp
Naive Bayes đồng nhất với phân lớp MAP.
Ví dụ:
Bảng 1.2. minh hoạ tập dữ liệu mẫu, lớp = C (có chơi tennis), lớp = K

(không chơi tennis)
Bảng 2. Tập dữ liệu mẫu dùng trong phân lớp Naive Bayes
STT Thời tiết Nhiệt độ Độ ẩm Gió Lớp
1 Nắng Nóng Cao Không K
2 Nắng Nóng Cao Không K
3 U ám Nóng Cao Không C
4 Mưa ấm áp Cao Không C
5 Mưa Mát Vừa Không C
6 Mưa Mát Vừa Có K
7 U ám Mát Vừa Có C
8 Nắng ấm áp Cao Không K
9 Nắng Mát Vừa Không C
10 Mưa ấp áp Vừa Không C
11 Nắng ấp áp Vừa Có C
12 U ám ấp áp Cao Có C
13 U ám Nóng Vừa Không C
14 Mưa ấm áp Cao Có K
Áp dụng phương pháp phân lớp Naive Bayes vào tập dữ liệu mẫu trong
bảng 1.2 để phân lớp cho một thể hiện mới sau: <mưa, nóng, cao, không> (có
chơi tennis (C) hoặc không chơi tennis (K)?)
Ta có 2 lớp V
1
= C, V
2
= K, tổng số mẫu = 14
Số mẫu được phân lớp C là 9 => xác suất giá trị đích P(C) = 9/14
Số mẫu được phân lớp K là 5 => xác suất giá trị đích P (K) = 5/14
Phạm Hùng Phương: Lớp Cao học CNTT QM Khoá 06. Trang 18
Bài thu hoạch môn học: Khai phá dữ liệu và kho dữ liệu.
Theo công thức (1.6) ta tính xác suất phân bố trên từng lớp V cho thể hiện

mới < mưa, nóng, cao, không> bằng cách sử dụng công thức Bayes và sau đó
lựa chọn lớp có xác suất cao nhất như là lớp được dự báo báo cho thể hiện này:
V
NB
= max P(v
j

j
P(a
i
| v
j
)
= max (P(C)Π
j
P(a
i
| C); P(K)Π
i
P(a
i
| K)
Đặt X1
(lớp=C)
= P(C)Π
j
P(a
i
| C) và X2
(lớp=K)

= P(K)Π
j
P(a
i
| K)
X1 = P(C).P(Thờitiết=mưa|C).P(Nhiệtđộ=nóng|C).P(Độẩm=cao|C).P(Gió=không|C)
X2 = P(K).P(Thờitiết=mưa|K).P(Nhiệtđộ=nóng|K).P(Độẩm=cao|K).P(Gió=không|K)
Lần lượt tính các xác suất điều kiện P(a
i
| C) và P(a
i
| K):
P(Thờitiết=mưa|C) = 3/9 (tần suất giá trị thuộc tính (thờitiết = mưa) trên lớp C)
P(Thờitiết=mưa|K) = 2/5 (tần suất giá trị thuộc tính (thờitiết = mưa) trên lớp K)
P(Nhiệtđộ=nóng|C) = 2/9
P(Nhiệtđộ=nóng|K) = 2/5
P(Độẩm=cao|C) = 3/9
P(Độẩm=cao|K) = 4/5
P(Gió=không|C) = 6/9
P(Gió=không|K) = 3/9
Vậy, X1
(lớp = C)
=
01058.0
9
6
.
9
3
.

9
2
.
9
3
.
14
9
=
và X2
(lớp=K)
=
01828.0
9
3
.
5
4
.
5
2
.
5
2
.
14
5
=
V
NB

= max (X1
(lớp=C)
, X2
(lớp=K)
) = X2
(lớp = K)
Như vậy bộ phận lớp Naive Bayes gán giá trị đích lớp K (không chơi
tennis) cho thể hiện mới này.
1.4.3. Đánh giá.
Mô hình phân lớp Naive Bayes là mô hình phân lớp dựa trên xác suất.
Trong một số lĩnh vực, khả năng áp dụng của nó có thể so sánh với các phương
pháp khác như mạng nơron hoặc cây quyết định. Trong thực tế, mô hình phân
lớp Naive Bayes thực hiện rất tốt trong phân lớp văn bản như hệ thống phân loại
văn bản Rainbow, hay trong các hệ thống phân loại email.
Các luật toán Bayes tính toán các khả năng cụ thể đối với các giả định,
chẳng hạn như bộ phận lớp Naive Bayes là một trong các cách tiếp cận thực tế
Phạm Hùng Phương: Lớp Cao học CNTT QM Khoá 06. Trang 19
Bài thu hoạch môn học: Khai phá dữ liệu và kho dữ liệu.
nhất đối với các kiểu học chắc chắn. Michie đã đưa ra một nghiên cứu chi tiết
việc so sánh giữa bộ phận lớp Naive Bayes với các thuật toán máy học khác
trong đó có cả các thuật toán theo cây quyết định và mạng noron. Các nhà
nghiên cứu đã chứng minh rằng bộ phận lớp Naive Bayes là tương đối mạnh và
trong một số trường hợp nó còn cho kết quả tốt hơn. Bên cạnh đó, việc thiết kế
một hệ thống phân lớp Naive Bayes trong thực tế thường dễ dàng hơn so với
phương pháp phân lớp khác vì tính đơn giản của nó và thời gian thực hiện phân
lớp một văn bản mới cho kết quả nhanh hơn nhiều.
Một số đặc điểm của phương pháp Naive Bayes:
+ Phương pháp học Naive Bayes tính xác suất rõ ràng cho các giả định
bằng cách đếm tần suất của các kết hợp dữ liệu khác nhau trong tập dữ liệu huấn
luyện để tính xác suất.

+ Mỗi mẫu học quan sát được có thể giảm hoặc tăng xác suất dự đoán một
giả định là đúng đắn. Điều này cho ta một cách tiếp cận thiết kế một hệ thống
học uyển chuyển hơn các thuật toán khác và loại trừ hoàn toàn một giả định nếu
nó thấy có sự không nhất quán với bất kỳ mẫu đơn lẻ nào.
+ Kiến thức biết trước có thể kết hợp với dữ liệu quan sát được để xác định
khả năng của một giả định. Trong đó kiến thức biết trước có được bằng cách
phân phối xác suất
trên toàn bộ dữ liệu quan sát được cho mỗi giả định có thể có
.
+ Phương pháp Naive Bayes cung cấp xác suất dự đoán. Mỗi thể hiện mới
được phân lớp bằng cách kết hợp dự đoán của nhiều giả định.
+ Phương pháp học Naive Bayes có tính tăng trưởng:
+
Mỗi mẫu huấn luyện có thể tăng/giảm dần khả năng đúng của một giả thiết.
+ Tri thức ưu tiên có thể kết hợp với dữ liệu quan sát được.
+ Ngay cả khi các phương pháp Naive Bayes khó trong tính toán chúng vẫn
có thể cung cấp một chuẩn để tạo quyết định tối ưu so với các phương pháp khác
.
+ Phương pháp Naive Bayes phù hợp với các bài toán có yêu cầu về chi phí
xuất hiện của giá trị các thuộc tính.
+ Việc thiết kế hệ thống phản lớp trong thực tế thường dễ dàng hơn so với
các phương pháp khác.
+ Các thuộc tính trong tập mẫu học phải là độc lập điều kiện.
Phạm Hùng Phương: Lớp Cao học CNTT QM Khoá 06. Trang 20
Bài thu hoạch môn học: Khai phá dữ liệu và kho dữ liệu.
+ Độ chính xác của thuật toán phân lớp phụ thuộc nhiều vào tập dữ liệu học
ban đầu.
Dựa trên những đặc điểm của các phương pháp phân lớp nêu trên, ta chọn
phương pháp phân lớp xác suất Naive Bayes làm mô hình phân lớp các thông điệp
trên diễn đàn thảo luận

.
CHƯƠNG 2.
ỨNG DỤNG PHÂN LỚP NAIVE BAYES ĐỂ PHÂN
LOẠI
THÔNG ĐIỆP TRÊN DIỄN ĐÀN.
Để tạo mô hình phân lớp, người ta sử dụng các văn bản mẫu từ các lớp
văn bản
(loại văn bản) đã định nghĩa trước. Các văn bản mẫu trong cùng một
lớp có nội dung nêu bật lên những đặc điểm và đặc trưng riêng của lớp đó so với
các lớp văn bản khác. Một số thuật toán học được sử dụng để trích ra các đặc
trưng đại diện cho từng lớp. Khi có một mẫu mới, ta có thể tiến hành phân lớp
mẫu mới này vào một trong các lớp đã biết dựa vào mô hình phân lớp. Phân lớp
theo phương pháp này được gọi là học có giám sát.
Một số các nghiên cứu trước đây chọn từ khoá cho văn bản là những dãy từ
phổ biến (dãy từ được lặp đi lặp lại nhiều lần trong 1 văn bản) hoặc kết hợp các
Phạm Hùng Phương: Lớp Cao học CNTT QM Khoá 06. Trang 21
Bi thu hoch mụn hc: Khai phỏ d liu v kho d liu.
t ph bin. Tuy nhiờn, thc t cho thy, tip cn biu din t khoỏ di dng
t loi (danh t, cm danh t, ng t) cho kt qa cú chớnh xỏc cao hn,
t khoỏ s mang thụng tin ca vn bn nhiu hn. Vỡ vy, bi vit ny s dựng
danh t v cm danh t ph bin lm yu t c trng.
D kin s thc hin cỏc ni dung sau:
2.1. H thng chng trỡnh.
H thng chng trỡnh c chia thnh cỏc cụng vic chớnh nh sau:
1. Xõy dng mt Website din n qun tr ni dung.
2. Thu thp c s d liu cú trờn din n cao hc qua mng, sa ting Vit
khụng du trờn din n, lc cỏc thụng ip d liu mu, to kho ng liu Ting
Vit. Phõn tớch v tỏch t thụng ip, xỏc nh danh t, cm danh t, trớch danh
t, cm danh t lm c trng. Da vo mt ngng T
0

chn s c trng
cho tng din n chuyờn (hay cũn gi l tng lp vớ d: din n cao hc
qua mng cú mt s din n chuyờn nh: Cụng ngh tri thc, C s d liu
nõng cao, Nh kho d liu v khai thỏc d liu, )
3. Da vo kho ng liu hun luyn, chng trỡnh xõy dng b phn lp
Naive Bayes phõn lp cỏc thụng ip mi da trờn xỏc sut xut hin ca cỏc
c trng mi lp. Xõy dng module d oỏn lp cho mt thụng ip mi cha
xỏc nh lp.
2.2. Qui trỡnh thc hin.
Qui trỡnh thc hin tng quỏt nh hỡnh 2.1
Phm Hựng Phng: Lp Cao hc CNTT QM Khoỏ 06. Trang 22
Tp d liu
hun luyn ó
gỏn nhón t loi
T in t vng
Huấn luyện
Bng t vng
T in ng ngha
Tinh chế
dữ liệu
Dữ liệu diễn đàn (các
message thuộc lớp
có sẵn)
Tách từ
Gán nhãn từ loại
Massage mới
ch a phân lớp
Trích danh từ
cụm danh từ
Chọn ng ỡng

Điều chỉnh trọng số
Tạo tập hợp
đặc tr ng
Đặc tr ng cho mỗi lớp (giá trị,
tần suất xuất hiện, số
message chứa đặc tr ng)
(tạo vector đặc tr ng)
Tính xác suất
thuộc mối lớp
Lớp dự đoán
(xác suất cao nhất)
Xác suất từng đặc tr ng
trong mỗi lớp
Phân lớp
Naive Baives
Tách từ
Gán nhãn từ loại
Trích danh từ
cụm danh từ
Bài thu hoạch môn học: Khai phá dữ liệu và kho dữ liệu.
Hình 2.1 Quy trình thực hiện tổng quát.
2.2.1. Cơ sở dữ liệu lưu trữ thông điệp
Cơ sở dữ liệu diễn đàn được chia làm 2 phần:
* Phần cơ sở dữ liệu học lấy từ diễn đàn thực tế sau khi lọc lại nội dung
phù hợp với từng chuyên đề kết hợp với nội dung bài giảng các môn học trên
diễn đàn.
* Phần cơ sở dữ liệu thử nghiệm (lấy từ diễn đàn thực tế).
Cơ sở dữ liệu diễn đàn được tổ chứ thành nhiều bảng (table), luận văn chỉ
đưa ra một số bảng và một số trường liên quan đến cấu trúc các chuyên mục,
diễn đàn chuyên đề, chủ đề và thông điệp diễn đàn.

- Bảng Chuyên mục (Categories)
STT Thuộc tính Diễn giải Kiểu Ghi chú
1 ID Mã số chuyên mục Số Default ‘0’
Phạm Hùng Phương: Lớp Cao học CNTT QM Khoá 06. Trang 23
Bài thu hoạch môn học: Khai phá dữ liệu và kho dữ liệu.
2 State Trạng thái Chuỗi
3 Name Tên chuyên mục Chuỗi
4 Description Mô tả Chuỗi
5 Image Hình ảnh Chuỗi
6 Position Vị trí Số
7 url Đường liên kết Chuỗi
- Bảng Diễn đàn chuyên đề (Forums)
STT Thuộc tính Diễn giải Kiểu Ghi chú
1 ID Mã số chuyên mục Số
Default ‘0’
2 Topics Số chủ đề của diễn đàn này Số
3 Name Tên diễn đàn chuyên đề Chuỗi
4 Posts Số thông điệp của diễn đàn Số
5 Category Mã số chuyên mục mà diễn đàn
chuyên đề này thuộc về
Số
6 Last - poster - name Tên người gởi sau cùng Chuỗi
7 Last - poster -id Mã số người gởi sau cùng Số
Default ‘0’
8 Description Mô tả Chuỗi
9 Position Vị trí Số
10 Last - title Tiêu đề của chủ đề gởi lần sau cùng Chuỗi
11 Last - id Mã số của chủ đề gởi lần sau cùng Số
12 Parent - id Diễn đàn cấp cha Số
Default ‘-1’

- Bảng Chủ đề (Topics)
STT Thuộc tính Diễn giải Kiểu Ghi chú
1 TID Mã số chủ đề Số Auto-
inrement
2 Title Tiêu đề của chủ đề Số
3 Forum_id Mã số diễn đàn chuyên đề Số
4 Description Mô tả Chuỗi
5 State Trạng thái chủ đề Chuỗi
6 Posts Số thông điệp thuộc chủ đề Số
7 Starter_id Mã số người tạo chủ đề (tạo thông
điệp đâu tiên)
Số
8 Starter_name Tên người tạo chủ đề Chuỗi
9 Start_date Ngày tạo Ngày
10 Last_poster_id Người gởi thông điệp cuối Số
11 Last_poster_name Tên người gởi thông điệp cuối Chuỗi
Phạm Hùng Phương: Lớp Cao học CNTT QM Khoá 06. Trang 24
Bài thu hoạch môn học: Khai phá dữ liệu và kho dữ liệu.
12 Last_post Ngày gởi cuối Ngày
13 Views Số lần xem Số
- Bảng Thông điệp (Posts)
STT Thuộc tính Diễn giải Kiểu Ghi chú
1 TID Mã số thông điệp Số Auto -
inrement
2 Post Nội dung thông điệp Chuỗi
3 Topic_id Mã số chủ đề của thông điệp Số
4 Forum_id
Mã số diễn đàn chuyên đề của thông
điệp
Số

5 Classified Thuộc tính cho biết thông điệp đã
được phân lớp hay chưa
Số
6 Post_title Tiêu đề thông điệp Chuỗi
7 Post_date Ngày gởi thông điệp Ngày
8 Author_id Mã số người gởi Số
9 Author_name Tên người gởi Chuỗi
10 Edit_topic Tên người biên tập lại nội dung
thông điệp
Chuỗi
11 New_file Là thông điệp đầu tiên của chủ đề Số
12 Attach_file Đính kèm file Chuỗi
13 Use_sig Chữ ký Chuỗi
14 IP_address Địa chỉ IP người gởi Chuỗi
Thao tác cập nhật cơ sở dữ liệu khi thông điệp được phân lớp như hình sau:
Phạm Hùng Phương: Lớp Cao học CNTT QM Khoá 06. Trang 25
Diễn đàn thảo luận Các chuyên mục
Hệ thống phân lớp
Gåm
Các diễn đàn
Các chủ đề trao đổi
Các thông điệp
S¾p xÕp
th«ng ®iÖp sai
diÔn ®µn chuyªn ®Ò
CËp nhËt tr êng
forum_id,topic_id

Classified=1
(®· ph©n líp)

Gåm
Gåm
Th«ng ®iÖp míi
Classified=0
(ch a ph©n líp)
Chñ ®Ò míi
Thành viên diễn đàn

×