Đối với mỗi tài liệu trong tập huấn luyện, những cụm ứng viên sẽ được xác định và các giá trị đặc trưng của từng cụm ứng viên sẽ được tính tốn.. Quá trình huấn luyện sẽ sinh ra một một m
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
ỨNG DỤNG GIẢI THUẬT NẠVE BAYES VÀO
BÀI TỐN PHÂN LỚP VÀ TRÍCH XUẤT KEYPHRASE
CHO TÀI LIỆU HỌC TẬP CƠNG NGHỆ THƠNG TIN
TP Hồ Chí Minh – Tháng 3 Năm 2014
Trang 2Nguyễn Văn Tiến – CH1301109 Trang 2
MỤC LỤC
LIÊN QUAN 3
1 Các cơng thức xác suất 3
2 Cơng thức Bayes 4
3 Bài tốn phân lớp 4
4 Thuật tốn Nạve Bayes 4
II ỨNG DỤNG NẠVE BAYES VÀ ONTOLOGY VÀO BÀI TỐN PHÂN LỚP VÀ TRÍCH XUẤT KEYPHRASE 5
1 Đặt vấn đề 5
2 Nội dung đề tài: 6
3 Phương pháp xây dựng mơ hình Nạve Bayes 6
4 Các đặc trưng dùng để phân lớp dữ liệu 8
5 Xây dựng mơ hình Nạve Bayes 11
6 Trích xuất Keyphrase cho tài liệu 13
III CÀI ĐẶT VÀ THỬ NGHIỆM 14
1 Chức năng cơ bản: 14
2 Cơng nghệ sử dụng: 14
3 Giao diện người dùng: 14
4 Kết quả đạt được và đánh giá: 18
IV TÀI LIỆU THAM KHẢO 19
Trang 3Nguyễn Văn Tiến – CH1301109 Trang 3
ĐỀ LIÊN QUAN
Định lý Bayes được đặt tên sau khi Reverend Thomas Bayes (1702 – 1761), người
đã nghiên cứu việc làm thế nào để tính tốn một phân phối cho các tham số xác suất của một phân phối nhị thức Sau khi Bayes chết, bạn của ơng ấy là Richard Price đã biên tập
và trình bày cơng việc này vào năm 1763
Phân loại Nạve Bayes là một phân loại xác suất đơn giản dựa trên việc áp dụng định lý Bayes với sự độc lập hồn tồn của các giả thiết
Bayesian Classification là lớp các giải thuật học dựa trên định lý Bayes bao gồm mạng Bayes và thuật tốn Nạve Bayes, nĩ giải quyết các vấn đề về phân loại và gom nhĩm, được ứng dụng thành cơng trong nhiều lĩnh vực: phân tích dữ liệu, phân loại văn bản, lọc thư rác, …
Thuật tốn Nạve Bayes xem độ quan trọng của các thuộc tính là như nhau và các thuộc tính hồn tồn độc lập với nhau Tuy nhiên, việc giả thiết các thuộc tính hồn tồn độc lập với nhau khơng bao giờ đúng, tuy vậy trong thực tế Nạve Bayes cho kết quả khá tốt
1 Các cơng thức xác suất
Cơng thức xác suất cĩ điều kiện:
) (
) ( ) (
) (
) ( ) (
A P
AB P A
| B P
B P
AB P B
| A P
Cơng thức độc lập xác suất: A1, A2,…, An độc lập với nhau P(A1.A2.….An)
= P(A1).P(A2).….P( An)
A, B độc lập P(AB)=P(A).P(B)
Trang 4Nguyễn Văn Tiến – CH1301109 Trang 4
A, B, C độc lập với nhau P(A.B.C)=P(A).P(B).P(C)
2 Cơng thức Bayes
Theo định lí Bayes, xác suất xảy ra A khi biết B sẽ phụ thuộc vào 3 yếu tố:
Xác suất xảy ra A của riêng nĩ, khơng quan tâm đến B Kí hiệu là P(A)
Xác suất xảy ra B của riêng nĩ, khơng quan tâm đến A Kí hiệu là P(B)
Xác suất xảy ra B khi biết A xảy ra Kí hiệu là P(B|A)
) (
) ( ) (
) (
B P
A P A
| B P B
| A
3 Bài tốn phân lớp
Đầu vào:
Một tập các thuộc tính của mẫu X = {x1, x2, …, xn}
Một tập cố định các phân lớp C = {c1, c2, …, cl}
Đầu ra: Phân lớp ci mà mẫu X thuộc về
4 Thuật tốn Nạve Bayes
Quá trình học: cho một tập tài liệu huấn luyện S
;
in examples with
)
| (
estimate )
| (
ˆ
) ,
1
; , , 1 ( attribute each
of value
attribute every
For
;
in examples with
) (
estimate )
(
ˆ
of
t value each targe
S
S
i jk
j i
jk j
j j
jk
i i
L i
i
c C x X P c
C x X
P
N , k
n j
X x
c C P c
C
P
) c , , c (c c
Đầu ra: bảng xác suất điều kiện cho Xj, bao gồm NjxL phần tử
Quá trình kiểm tra: cho một mẫu chưa xác định X’ = (a’1, a’2, ….a’n), tìm kiếm trong bảng để gán c* cho X’ nếu:
L n
a P c
a
Pˆ( | ) ˆ( | )]ˆ( ) [ ˆ( | ) ˆ( | )]ˆ( ), , ,
Trang 5Nguyễn Văn Tiến – CH1301109 Trang 5
PHÂN LỚP VÀ TRÍCH XUẤT KEYPHRASE
1 Đặt vấn đề
Thế giới dưới sự ảnh hưởng mạnh mẽ này cũng dần dần chuyển sang một nền kinh
tế xã hội mà tri thức là nguồn lực chủ yếu Với sự xuất hiện của Internet tốc độ cao, các thiết bị lưu trữ trở nên vô cùng phổ biến, các tài liệu điện tử được sử dụng hết sức rộng rãi, thì lượng thông tin ngày càng khổng lồ, nhu cầu đối với những thông tin này tất nhiên cũng ngày càng bức thiết: đó là nhu cầu học tập, chia sẻ, quản lý,…
Hiện nay, hầu hết các hệ thống tìm kiếm thông tin đều đang tập trung vào việc nghiên cứu tìm kiếm thông tin theo ngữ nghĩa, phương pháp này mang lại độ chính xác cao hơn
vì nó mô phỏng gần gũi hơn với yêu cầu của con người Một vấn đề quan trọng trong hệ thống tìm kiếm thông tin theo ngữ nghĩa là việc lấy ra các thành phần quan trọng trong các tài liệu, hay còn gọi là rút trích keyphrase Keyphrase là một khái niệm không thể thiếu đối với các hệ thống tìm kiếm thông tin theo ngữ nghĩa, nó là một đơn vị thông tin mang đặc trưng, thể hiện nội dung chính của tài liệu
Các keyphrase có vai trò hết sức quan trọng trong các hệ quản lý tài liệu và biểu diễn thông tin theo ngữ nghĩa Nó ảnh hưởng trực tiếp đến sự hiệu quả của các hệ thống này, bởi các keyphrase mô tả nội dung chính của tài liệu, nó chứa siêu dữ liệu ngữ nghĩa có thể sử dụng cho nhiều mục đích khác nhau: biểu diễn và xử lý thông tin theo ngữ nghĩa, tìm kiếm ngữ nghĩa, quản lý tài nguyên theo ngữ nghĩa…
Để có được những tập keyphrase tốt chúng ta cần một phương pháp tốt để phân lớp
dữ liệu dựa theo máy học để trích xuất chúng Do vậy, bài toán phân lớp dữ liệu là một trong những bài toán quan trọng trong trích xuất dữ liệu, nó là tiền đề để phương pháp trích xuất có hiệu quả cao nhất
Trang 6Nguyễn Văn Tiến – CH1301109 Trang 6
2 Nội dung đề tài:
Sử dụng phương pháp máy học Nạve Bayes để phân lớp các keyphrase trong lĩnh vực Cơng nghệ thơng tin nhằm tạo mơ hình máy học và áp dụng mơ hình máy học này kết hợp thuật giải KEA++ để trích xuất keyphrase cho lĩnh vực Cơng nghệ thơng tin
3 Phương pháp xây dựng mơ hình Nạve Bayes
Trong thuật ngữ của học máy, cụm trong tài liệu là các “ví dụ” và vấn đề học ở đây
là tìm một kết nối từ các ví dụ đến hai lớp: “keyphrase” hoặc “khơng phải là keyphrase” Quá trình huấn luyện dùng một tập tài liệu huấn luyện trong đĩ các cụm từ khĩa đã được tác giả xác định trước Đối với mỗi tài liệu trong tập huấn luyện, những cụm ứng viên sẽ được xác định và các giá trị đặc trưng của từng cụm ứng viên sẽ được tính tốn
Mỗi cụm ứng viên sẽ được gán nhãn là cụm từ khĩa hay khơng là cụm từ khĩa dựa vào những cụm từ khĩa do tác giả chỉ định Quá trình huấn luyện sẽ sinh ra một một
mơ hình và mơ hình này được dùng để dự đốn lớp cho các mẫu dữ liệu mới, sử dụng các giá trị các đặc trưng đã được tính tốn
Trang 7Nguyễn Văn Tiến – CH1301109 Trang 7
Hình 1: Quá trình huấn luyện – xây dựng mơ hình máy học Nạve Bayes
ONTOLOGY
Cập nhật các ứng viên dưới sự giám sát của con người Thêm các ứng viên được cho là quan trọng và loại bỏ các cụm khơng là ứng viên Thực hiện tính tốn các đặc trưng cho các ứng viên mới được thêm vào
So khớp các cụm từ trong tài liệu với các Keyphrase trong ontology, chọn các cụm từ trùng khớp làm các ứng viên
Một tập các ứng viên đã được đánh dấu là Keyphrase hay khơng
Tính tốn các đặc trưng cho từng ứng viên
Một tập các ứng viên cùng các đặc trưng
Mơ hình huấn luyện
Các bài báo tiếng
Anh (*.PDF)
Lấy các Keyphrase trong bài
báo, lưu ra một file riêng,
đặt tên trùng với tên bài báo,
định dạng *.key, và đặt
trong cùng một thư mục
Một tập các bài báo cùng
các tập Keyphrase tương
ứng
Quá trình do con người thực hiện
Một tập các ứng viên cùng với các đặc trưng sau khi đã được cập nhật
Xây dựng mơ hình huấn luyện Nạve Bayes
Một tập các ứng viên
Đánh dấu các ứng viên cĩ phải là keyphrase hay khơng dựa vào tập keyphrase kèm theo tài liệu
Xây dựng mơ hình:
Rời rạc hĩa các đặc trưng
Tính tốn lớp xác xuất
TÍnh xác suất P YES , P NO
Trang 8Nguyễn Văn Tiến – CH1301109 Trang 8
4 Các đặc trưng dùng để phân lớp dữ liệu
Để xây dựng được một mô hình hoàn chỉnh cho phương pháp trích xuất ta cần những đặc trưng cơ bản sao cho từ những đặc trưng cơ bản đó chúng ta sẽ xây dựng được mô hình máy học cho trích xuất
Ở đây, chúng ta sẽ sử dụng các đặc trưng sau để xây dựng mô hình máy học:
a TF, IDF, TFxIDF
TF được gọi là tần số thuật ngữ, là tần số xuất hiện của một từ hoặc một cụm từ trong một văn bản
IDF là tần số nghịch của một từ trong một tập các văn bản
TFxIDF là kết quả của hai số liệu thống kê tần số từ (thuật ngữ) TF và tần số nghịch của một từ trong tập ngữ liệu IDF
Giá trị TFxIDF là một thống kê phản ánh tầm quan trọng của một từ trong tài liệu trong một tập ngữ liệu Nó thường được sử dụng như một yếu tố quan trọng trong trích xuất thông tin và khai phá dữ liệu Giá trị TFxIDF tăng theo tỉ lệ thuận với số lần một từ xuất hiện trong các tài liệu, nhưng được bù đắp bởi các tần số của các từ trong tập ngữ liệu, giúp kiểm soát một số từ phổ biến
TF: tần số xuất hiện của một từ trong một văn bản Cách tính:
( , ) ( , )
f t d
tf t d
(3.1)
Trong đó:
ft(t,d): tần số xuất hiện của một từ trong một văn bản Giá trị của biểu thức là thương của số lần xuất hiện 1 từ trong văn bản với số lần xuất hiện nhiều nhất của một từ bất kỳ trong văn bản đó Giá trị của tf(t,d) sẽ thuộc khoảng [0,1]
f(t,d): số lần xuất hiện từ t trong văn bản d
max{f(w,d):w∈d}: số lần xuất hiện nhiều nhất của một từ bất kỳ trong văn bản
Trang 9Nguyễn Văn Tiến – CH1301109 Trang 9
IDF: Số tài liệu chứa từ hay cụm từ trong một tập tài liệu
Việc tính IDF với mục đích giảm giá trị của những từ phổ biến Mỗi từ chỉ có
1 giá trị IDF duy nhất trong tập văn bản
Công thức tính IDF như sau:
| | ( , ) log
|{d D: }|
D idf t D
Trong đó:
idf(t ,D): số tài liệu chứa từ hay cụm từ t trong tập tài liệu D
|D|: tổng số văn bản trong tập D
|{d∈D :t∈d}|: số lượng văn bản chứa từ nhất định, với điều kiện t xuất hiện trong văn bản d (hay: tf(t ,d) ≠ 0) Nếu từ đó không xuất hiện trong tập mẫu nào trong tập thì mẫu số sẽ bằng 0 nên phép chia cho không không hợp lệ, vì thế người ta thường thay bằng mẫu thức:
1 |{d D:t d}|(3.3)
Cơ số logarit trong công thức (2) không thay đổi giá trị của 1 từ mà chỉ thu hẹp khoảng cách của từ đó Vì thay đổi cơ số sẽ dẫn đến việc giá trị của các từ thay đổi bởi một số nhất định và tỷ lệ giữa các trọng lượng với nhau sẽ không thay đổi Nói cách khác, thay đổi cơ số sẽ không ảnh hưởng đến tỷ lệ giữa các giá trị IDF Tuy nhiên, việc thay đổi khoảng giá trị sẽ giúp tỷ lệ giữa IDF vs TF tương đồng để dùng cho công thức TFxIDF
TFxIDF:
tfidf(t, d, D) = tf(t, d) x idf(t, D) (3.4)
b Vị trí xuất hiện đầu tiên, vị trí xuất hiện cuối cùng
Vị trí xuất hiện đầu tiên và vị trí xuất hiện cuối cùng của một từ hay cụm từ là một trong những đặc trưng không thể thiếu trong trích xuất keyphrase Vị trí xuất hiện đầu
Trang 10Nguyễn Văn Tiến – CH1301109 Trang 10
tiên và cuối cùng của một từ hay cụm từ cho ta biết được sự quan trọng của từ hay cụm
từ đó Theo các chuyên gia lập chỉ mục thì các keyphrase thông thường nằm ở vị đầu hoặc cuối của tài liệu
Vị trí xuất hiện đầu tiên: được tính bằng số lượng từ trước sự xuất hiện đầu tiên của cụm từ chia cho số từ có trong tài liệu Kết quả là một số giữa 0 và 1 đại diện cho bao nhiêu cụm từ xuất hiện đầu tiên của cụm từ
𝑺𝒊𝒛𝒆𝑶𝒇𝑫𝒐𝒄
Vị trí xuất hiện cuối cùng: được tính bằng số lượng từ đứng sau vị trí xuất hiện cuối cùng của từ hoặc cụm từ chia cho tổng số từ của tài liệu Giá trị của
vị trí xuất hiện cuối cùng nằm trong khoảng [0…1]
𝑳𝒂𝒔𝒕𝑷𝒐𝒔𝒊𝒕𝒊𝒐𝒏 = 𝑳𝒆𝒏𝒈𝒕𝒉𝑭𝒓𝒐𝒎𝑳𝒂𝒔𝒕𝑨𝒑𝒑𝒆𝒂𝒓𝑻𝒐𝑬𝒏𝒅
𝑺𝒊𝒛𝒆𝑶𝒇𝑫𝒐𝒄
c Số từ trong cụm ứng viên
Chiều dài tối đa: phrase ứng viên thường tối đa là 3 từ
Phrase ứng viên không thể là tên riêng
Phrase ứng viên không được phép bắt đầu và kết thúc với 1 stopword
Tất cả các dãy từ liền nhau trong mỗi dòng sẽ được kiểm tra dùng 3 luật trên Kết quả là một tập các cụm ứng viên
Ví dụ:
the programming by demonstration method programming
demonstration
method
programming by demonstration
demonstration method
(3.7)
(3.8)
Trang 11Nguyễn Văn Tiến – CH1301109 Trang 11
programming by demonstration method
5 Xây dựng mơ hình Nạve Bayes
Dựa vào quy trình trên (hình 1) chúng ta sẽ phân ra 2 giai đoạn để xây dựng mơ hình Máy học cho bài tốn như sau:
a Quá trình được chuyên gia/ người cĩ kiến thức về lĩnh vực cơng nghệ thơng tin:
Người cĩ chuyên mơn trong lĩnh vực Khoa học máy tính sẽ thu thập các bài báo và các bài viết khoa học về ngành Khoa học máy tính
Sau khi thu thập các bài báo về lĩnh vực này, ta phân các tài liệu này thành hai tập khác nhau, một tập dùng để huấn luyện xây dựng mơ hình, một tập dùng
để kiểm tra hiệu năng của mơ hình vừa xây dựng Đối với tập tài liệu dùng để huấn luyện, ta thực hiện việc trích xuất bằng tay các keyphrase cho tài liệu, cơng việc này được thực hiện bằng cách duyệt qua các phần chính của bài báo như: title, abstract, keyword và các tiêu đề chính trong bài báo để chọn ra các keyphrase cho tài liệu Sau khi chọn được các keyphrase cho tài liệu ta tiến hành lưu các
keyphrase của từng tài liệu vào các tập tin cĩ dạng <Tên tài liệu>.key được lưu
trong cùng một thư mục với tài liệu, tập tin cĩ cấu trúc như sau:
<keyphrase>
<keyphrase>
………
<keyphrase>
b Quá trình do máy tính thực hiện và xây dựng mơ hình
Đối với tập tài liệu dùng để huấn luyện Đầu tiên chương trình máy học sẽ so khớp các cụm từ trong tài liệu với các keyphrase trong ontology, chỉ giữ lại các cụm từ xuất hiện trong ontology, gọi các cụm từ này là các cụm ứng viên Sau đĩ,
so khớp các cụm ứng viên này với tập các keyphrase kèm theo tài liệu, đối với các
Trang 12Nguyễn Văn Tiến – CH1301109 Trang 12
ứng viên xuất hiện trong tập keyphrase của tài liệu, ta gán cho nó thuộc tính quyết định là “Yes”, đối với các cụm ứng viên còn lại thì thuộc tính quyết định là “No” Sau bước này ta có được một tập các ứng viên để làm keyphrase cho tài liệu cùng với thuộc tính quyết định của nó
Bước tiếp theo, ta tính toán các đặc trưng cho từng cụm ứng viên, các đặc trưng được tính toán như trong phần tính toán đặc trưng đã được trình bày ở trên Bao gồm các đặc trưng: TF, TFxIDF, vị trí xuất hiện đầu tiên, vị trí xuất hiện cuối cùng, độ dài cụm từ và độ liên quan ngữ nghĩa Sau bước này ta có được tập các cụm ứng viên cùng với các đặc trưng của nó
Tiếp theo, thực hiện việc cập nhật các mẫu huấn luyện dưới sự giám sát của con người, đối với các mẫu học dùng để huấn luyện, ta có thêm vào một mẫu nếu thấy nó có liên quan nhiều đến nội dung của tài liệu, hoặc loại bỏ các mẫu thừa không liên quan đến nội dung của tài liệu Sau khi thực hiện việc cập nhật các mẫu học, ta thu được các mẫu học hoàn chỉnh dùng để huấn luyện và xây dựng mô hình
Trang 13Nguyễn Văn Tiến – CH1301109 Trang 13
Hình 3.9: Ví dụ về mơ hình trích xuất keyphrase bằng Nạve Bayes
Để xây dựng mơ hình, đầu tiên ta rời rạc hốc các đặc trưng của từng cụm ứng viên, ta rời rạc hĩa các giá trị của các đặc trưng từ các số thực qua số nguyên để thuận tiện trong việc tính tốn và đánh giá Ví dụ như trong hình trên đặc trưng TFxIDF được rời rạc hĩa thành 6 cấp độ, đặc trưng chiều dài được rời rạc thành 2 cấp độ, …sau khi rời rạc hĩa các đặc trưng ta thu được tập các ứng viên cùng với các giá trị đặc trưng của
nĩ đã được rời rạc hĩa
Sau đĩ, ta thực hiện tính tốn xác suất lớp cho từng đặc trưng, với mỗi đặc trưng
ta cĩ 2 lớp là “Yes” và “No”, xác suất cho từng lớp của mỗi đặc trưng được tính bằng cách lấy tổng số các ứng viên cĩ cùng thuộc tính quyết định chia cho tổng các ứng viên
cĩ cùng giá trị của đặc trưng sau khi đã rời rạc hĩa Ví dụ: theo mơ hình trên xác suất của đặc trưng TFxIDF cĩ giá trị rời rạc hĩa là 1 của phân lớp “Yes” cĩ giá trị là 0.0056 Cuối cùng ta tính tốn các xác suất ưu tiên PYes và PNo, 2 xác suất ưu tiên này được tính bằng cơng thức sau: PYes = 𝑌
𝑌+𝑁 trong đĩ, Y là tổng số các keyphrase được gán sẵn, N là tổng số các ứng viên mà khơng phải là keyphrase, ta cĩ cơng thức tính PNo tương tự như sau: PNo = 𝑁
𝑌+𝑁 Như vậy ta đã cĩ được một mơ hình hồn chỉnh cho việc trích xuất keyphrase
6 Trích xuất Keyphrase cho tài liệu
Để rút trích các cụm từ khĩa từ một tài liệu mới, chương trình xác định các cụm ứng viên và các giá trị đặc trưng, sau đĩ áp dụng mơ hình đã xây dựng trong quá trình huấn luyện Mơ hình xác định xác suất mà mỗi ứng viên là một cụm từ khĩa Sau đĩ thực hiên thao tác hậu xử lý để chọn ra tập hợp những cụm từ khĩa tốt nhất cĩ thể Giả sử khi mơ hình Nạve Bayes được áp dụng cho các cụm ứng viên, chỉ sử dụng
2 giá trị đặc trưng t (TF*IDF) và d (distance), hai lượng sau được tính tốn đĩ là:
𝒀 + 𝑵 𝑷𝑻𝑭∗𝑰𝑫𝑭[𝒕|𝒚𝒆𝒔]𝑷𝒅𝒊𝒔𝒕𝒂𝒏𝒄𝒆[𝒅|𝒚𝒆𝒔]
𝒀 + 𝑵 𝑷𝑻𝑭∗𝑰𝑫𝑭[𝒕|𝒏𝒐]𝑷𝒅𝒊𝒔𝒕𝒂𝒏𝒄𝒆[𝒅|𝒏𝒐]