ĐẠI HỌC QUỐC GIA TP. HCM
TRƯỜNG ĐẠI HỌC BÁCH KHOA
--------------------------
PHẠM MINH LUÂN
RÚT TRÍCH GIÁ TRỊ THUỘC TÍNH CHO
WIKIPEDIA INFOBOX
Chuyên ngành: Khoa Học Máy Tính
Mã số: 60.48.01
LUẬN VĂN THẠC SĨ
TP. HỒ CHÍ MINH, tháng 12 năm 2014
CƠNG TRÌNH ĐƯỢC HỒN THÀNH TẠI
TRƯỜNG ĐẠI HỌC BÁCH KHOA - ĐHQG - HCM
Cán bộ hướng dẫn khoa học: GS.TS. Cao Hoàng Trụ ...................................................
(Ghi rõ họ, tên, học hàm, học vị và chữ ký)
Cán bộ chấm nhận xét 1: TS. Hồ Bảo Quốc ....................................................................
(Ghi rõ họ, tên, học hàm, học vị và chữ ký)
Cán bộ chấm nhận xét 2: TS. Nguyễn Thanh Hiên ........................................................
(Ghi rõ họ, tên, học hàm, học vị và chữ ký)
Luận văn thạc sĩ được bảo vệ tại Trường Đại học Bách Khoa, ĐHQG Tp. HCM,
ngày 05 tháng 01 năm 2015
Thành phần Hội đồng đánh giá luận văn thạc sĩ gồm:
(Ghi rõ họ, tên, học hàm, học vị của Hội đồng chấm bảo vệ luận văn thạc sĩ)
1. TS. Nguyễn Hứa Phùng (CT) ............
2. PGS. TS. Quản Thành Thơ (TK) .......
3. TS. Hồ Bảo Quốc (PB1) ....................
4. TS. Nguyễn Thanh Hiên (PB2) ..........
5. TS. Võ Thị Ngọc Châu (UV) .............
Xác nhận của Chủ tịch Hội đồng đánh giá LV và Trưởng Khoa quản lý chuyên ngành
sau khi luận văn đã được sửa chữa (nếu có).
CHỦ TỊCH HỘI ĐỒNG
TRƯỞNG KHOA……….….
ĐẠI HỌC QUỐC GIA TP.HCM
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
TRƯỜNG ĐẠI HỌC BÁCH KHOA
___________________
Độc lập -Tự do -Hạnh phúc
___________________
NHIỆM VỤ LUẬN VĂN THẠC SĨ
Họ và tên học viên: PHẠM MINH LUÂN
MSHV: 12070522
Ngày, tháng, năm sinh: 31/08/1988
Nơi sinh: TP. HỒ CHÍ MINH
Chuyên ngành: KHOA HỌC MÁY TÍNH
Mã số: 604801
I.
TÊN ĐỀ TÀI:
RÚT TRÍCH GIÁ TRỊ THUỘC TÍNH CHO WIKIPEDIA INFOBOX
II. NHIỆM VỤ VÀ NỘI DUNG: .................................................................................
...........................................................................................................................................
...........................................................................................................................................
III. NGÀY GIAO NHIỆM VỤ: 20/08/2013 ..................................................................
IV. NGÀY HOÀN THÀNH NHIỆM VỤ: 10/10/2014 ................................................
V. CÁN BỘ HƯỚNG DẪN: GS.TS. CAO HOÀNG TRỤ
CÁN BỘ HƯỚNG DẪN
(Họ tên và chữ ký)
GS.TS. CAO HOÀNG TRỤ
TP. HCM, ngày …… tháng …… năm 20…
TRƯỞNG KHOA ……………
(Họ tên và chữ ký)
LỜI CẢM ƠN
Trước hết, tôi xin gửi lời cảm ơn chân thành và sâu sắc đến thầy hướng dẫn
của tôi, GS.TS. Cao Hồng Trụ. Trong suốt q trình làm luận văn này, thầy đã
tận tình, kiên nhẫn chỉ dẫn tơi từng bước và thường xun khích lệ tơi. Sự hướng
dẫn và lời khuyên quý báu từ thầy là một nhân tố và động lực khơng thể thiếu để
tơi có thể hồn thành được luận văn này.
Tơi xin gửi lời cảm ơn đến gia đình và bạn bè tơi, những người luôn ủng hộ,
động viên và tạo điều kiện tốt nhất cho việc học tập và nghiên cứu của tôi.
Xin chân thành biết ơn sự tận tình giảng dạy và giúp đỡ của tất cả quý thầy
cô tại trường Đại học Bách khoa, đặc biệt là các thầy cô trong khoa Khoa học và
Kỹ thuật Máy tính trong suốt q trình được đào tạo tại trường.
TĨM TẮT
Infobox là một cấu trúc thơng tin phổ biến trong các bài viết của Wikipedia.
Đây là nơi tập trung các thơng tin cơ đọng, các tính chất đặc trưng nhất của chủ
thể được đề cập đến trong bài viết. Tuy nhiên thực tế cho thấy lượng thông tin
trong infobox thường khơng đầy đủ, vẫn cịn thơng tin khác trong bài viết chưa
được khai thác hết. iPopular và WAVE là hai phương pháp tiêu biểu cho việc làm
giàu infobox bằng cách tìm thơng tin cịn thiếu ngay trong nội dung bài viết trên
Wikipedia.
Trọng tâm của luận án là tập trung tìm hiểu, hiện thực và đưa ra những đánh
giá về hai phương pháp iPopular và WAVE. Bên cạnh kết quả so sánh chéo giữa
các phương pháp này, chúng tôi cũng đề xuất việc kết hợp ưu điểm của các phương
pháp nhằm tối ưu việc trích xuất giá trị thuộc tính từ văn bản bài viết. Kết quả đạt
được từ việc kết hợp tương đối khả quan, có những cải tiến nhất định so với các
phương pháp trước đây.
ABSTRACT
An infobox is a fixed-format table designed to be added to Wikipedia
articles to consistently present a summary of some unifying aspect that the articles
share. Often, an infobox does not contain as much information as possible because
of different reasons. iPopular [11] and WAVE [14] are two typical systems that
automatically enriches infoboxes of Wikipedia articles by extracting informations
from the article’s text.
The goal of this thesis is to compare and analyze the advantages and
disadvantages of iPopular and WAVE. Atfer that, we find the way to enhance the
two baseline systems by combining various techniques of them.The results of our
experiments show that our combination method achieves some improvement in
performance than the baseline methods.
LỜI CAM ĐOAN
Tôi xin cam đoan rằng, ngoại trừ các kết quả tham khảo từ các cơng trình
khác như đã ghi rõ trong luận văn, các nội dung trình bày trong luận văn này là do
chính tơi thực hiện và chưa có phần nội dung nào của luận văn này được nộp để
lấy bằng cấp ở một trường khác.
TP.HCM, ngày ….. tháng ….. năm 20…..
Phạm Minh Luân
MỤC LỤC
1.1. Giới thiệu ................................................................................................. 1
1.2. Bài toán và phạm vi ................................................................................. 2
2.1. Infobox và Wikipedia .............................................................................. 5
2.2. Gom cụm dữ liệu với thuật toán k-means................................................ 6
2.3. Phân loại thuộc tính đơn thành phần và đa thành phần ........................... 8
2.4. Phân tách cấu trúc giá trị của thuộc tính trên infobox ............................. 9
2.5. Thuật toán entropy cực đại .................................................................... 12
2.6. Các độ đo căn bản .................................................................................. 15
3.1. Các hướng tiếp cận ................................................................................ 18
3.2. Phương pháp iPopular ............................................................................ 21
3.3. Phương pháp WAVE ............................................................................. 27
4.1. Tập thực nghiệm .................................................................................... 32
4.2. Phương pháp đánh giá............................................................................ 33
4.3. So sánh iPopular và WAVE................................................................... 35
4.4. Phương pháp kết hợp ............................................................................. 38
5.1. Các đóng góp ......................................................................................... 46
5.2. Hướng phát triển .................................................................................... 46
DANH MỤC HÌNH
Hình 1-1: Khai thác tri thức từ nội dung văn bản của bài viết trên Wikipedia. ... 2
Hình 1-2: Ví dụ minh họa về việc bổ sung giá trị thuộc tính mới từ bài viết.
Trích từ [11]. ........................................................................................ 3
Hình 2-1: Một ví dụ về bài viết có infobox về Elvis Presley. .............................. 6
Hình 2-2: Infobox template Musical Artist. ......................................................... 7
Hình 2-3: Phương pháp gọm cụm dữ liệu. Trích từ [17]. .................................... 7
Hình 2-4: Một ví dụ trong việc phân tích cấu trúc của thuộc tính
number_of_employees từ infobox_company. Trích từ [11].............. 10
Hình 2-5: Giải thuật phân tích cấu trúc. Trích từ [11]. ...................................... 11
Hình 3-1: Mơ hình khai phá tri thức từ DBpedia. .............................................. 19
Hình 3-2: Quy trình hoạt động của iPopular. Trích từ [11]. .............................. 23
Hình 3-3: Hàm so sánh độ tương đồng của giá trị thuộc tính trong infobox và
trong nội dung bài viết. Trích từ [11]. ............................................... 24
Hình 3-4: Đặc trưng CRF áp dụng trên mỗi cụm trong văn bản.Danh sách các
tính chất của các từ trong cửa sổ gồm 5 từ trước và sau từ đang được
phân tích. Trích từ [11]. ..................................................................... 25
Hình 3-5: Sơ đồ hoạt động của WAVE. Trích từ [14]. ...................................... 27
Hình 3-6: Các định dạng văn bản được chuyển hoá trong tiền xử lý văn bản của
WAVE. Trích từ [14]. ........................................................................ 28
Hình 4-1: Tập thực nghiệm phương pháp iPopular sử dụng. ............................. 33
Hình 4-2: Tập thực nghiệm phương pháp WAVE sử dụng. .............................. 33
Hình 4-3: Minh họa quá trình đánh giá dựa trên phương pháp k-fold crossvalidation. Nguồn từ internet. ............................................................ 34
Hình 4-4: Sơ đồ các bước trong phương pháp đề xuất....................................... 40
DANH MỤC BẢNG
Bảng 4-1: Kết quả thực nghiệm của iPopular và Wave trên tập thực nghiệm
WAVE. ............................................................................................... 36
Bảng 4-2: Kết quả thực nghiệm của iPopular và WAVE trên tập thực nghiệm
iPopular. ............................................................................................. 37
Bảng 4-3: Kết quả phương pháp kết hợp so với kết quả từ hai phương pháp
iPopular và WAVE trên tập thực nghiệm WAVE. ............................ 42
Bảng 4-4: Kết quả phương pháp kết hợp so với kết quả từ hai phương pháp
iPopular và WAVE trên tập thực nghiệm iPopular. .......................... 43
Bảng 4-5: Kết quả thực nghiệm của Wave, iPopular và phương pháp kết hợp
trên tập thực nghiệm iPopular chỉ xét thuộc tính có cấu trúc đa thành
phần. ................................................................................................... 44
CHƯƠNG 1
1. TỔNG QUAN
1.1. Giới thiệu
Ngày nay, Internet đóng một vai trò quan trọng trong việc lưu trữ và truyền
tải thơng tin của nhân loại. Bên cạnh đó, với cơng nghệ thông tin ngày càng phát
triển, con người dễ dàng hơn bao giờ hết trong việc tiếp nhận và truyền tải các nội
dung mong muốn cho cộng đồng dưới dạng số. Việc này dẫn đến sự bùng nổ thông
tin trên internet. Tuy nhiên, ngồi những lợi ích mà internet đem lại, con người lại
dễ dàng bị nhầm lẫn và lạc lối trong q trình tìm kiếm những thơng tin cần thiết
giữa nguồn tri thức khổng lồ như vậy.
Vì các trang web phần lớn đều thuộc dạng phi hoặc bán cấu trúc, chiếm hầu
như 80% khối lượng lưu trữ trên internet, chúng chủ yếu xuất hiện dưới dạng thông
tin văn bản hoặc hình ảnh để cho người xem có thể dễ dàng đọc và hiểu được.
Trước nhu cầu khai thác tri thức ngày càng cần phải nhanh chóng và chính xác,
các cơng cụ trợ giúp có thể tự động đọc hiểu và rút trích các thơng tin quan trọng
từ các tài liệu trên web là không thể thiếu. Điều này thúc đẩy nhiều kỹ thuật và
ứng dụng ra đời trong đó các phương pháp xử lý ngôn ngữ tự nhiên (Nature
Language Processing) giúp cho máy tính phần nào hiểu được ngơn ngữ con người.
Trong phạm vi luận án, việc khai thác tri thức từ nguồn thông tin khổng lồ
trên trang Wikipedia được chúng tơi chọn trọng tâm chính (xem thêm về
Wikipedia và infobox ở phần 2.1). Vì Wikipedia là một trong những hệ thống
thông tin mở với nguồn dữ liệu phong phú, đang cịn rất nhiều nguồn tri thức có
giá trị chưa được khai thác hết từ đó. Hướng tiếp cận của luận án là tìm hiểu những
1
phương pháp và kỹ thuật để có thể rút trích thông tin cần thiết từ bài viết trên
Wikipedia với rất nhiều các thơng tin hỗn độn được trình bày trong văn bản đó.
Để minh họa cho tiềm năng khai thác các nguổn tri thức từ những nguồn
thông tin trên Wikipedia, lấy một ví dụ cụ thể về giá trị thơng tin từ bài viết trên
Wikipedia mà ta có thể tìm thấy được; trong bài viết về Albert Einstein1 trên
Wikipedia, ta có thể tìm thấy một câu trong đó “His father was Hermann Einstein,
a sales…”, dựa vào câu này có thể cho ta một thông tin quan trọng là cha của
Albert Einstein là Hermann Einstein (theo như Hình 1-1). Ví dụ trên là một trong
rất nhiều những dạng tri thức tiềm năng mà các kỹ thuật liên quan đến việc xử lý
ngơn ngữ tự nhiên có thể giải quyết.
Hình 1-1: Khai thác tri thức từ nội dung văn bản của bài viết trên Wikipedia.
1.2. Bài toán và phạm vi
Từ những nghiên cứu liên quan đến việc khai thác rút trích thơng tin có giá
trị từ văn bản. Mục tiêu chính của đề tài tập trung vào việc nâng cao giá trị cho
nguồn thơng tin infobox, là một dạng dữ liệu có tính cấu trúc cao và đóng vai trị
rất quan trọng trên Wikipedia (xem giới thiệu về Wikipedia và infobox ở phần
2.1). Dựa vào quá trình tìm hiểu các đề tài liên quan, nội dung của luận văn này
1
/>
2
xoay quanh việc bổ sung giá trị cho thuộc tính cịn trống cho infobox. Vì trong
thực tế cho thấy cịn một phần thông tin không được người viết bài trên wikipedia
đưa vào infobox dù thơng tin đó vẫn có trong nội dung bài viết đó với những lý do
khác nhau rơi vào trong những trường hợp phổ biến như:
- Người viết không chủ động đưa thông tin vào infobox.
- Do infobox thường được chép từ những bài viết khác để tiết kiệm thời
gian, nên có thể có những thuộc tính mà người viết khơng biết là có tồn tại
để bổ sung giá trị.
Lấy ví dụ từ một bài viết trên Wikipedia là Showdown (Dekker novel) theo như
Hình 1-2, người viết bài đã điền vào infobox một số thông tin cho cuốn sách này,
đó là author, county và language. Tuy nhiên, nếu đọc chi tiết trong bài viết, ta cịn
có thể tìm được những thơng tin có giá trị khác đó là dữ liệu về series, genre(s) và
publication date. Trong phạm vi luận án này, chúng tôi tập trung vào việc rút trích
những thơng tin có giá trị chưa được khai thác từ bài viết trên Wikipedia để bổ
sung cho infobox.
Hình 1-2: Ví dụ minh họa về việc bổ sung giá trị thuộc tính mới từ bài viết.
Trích từ [11].
3
Qua quá trình tìm hiểu các kỹ thuật liên quan, chúng tôi nghiên cứu sâu về
iPopular [11] và WAVE [14] là hai phương pháp tiêu biểu, trực tiếp giải quyết vấn
đề trên. Trọng tâm của luận án là tập trung tìm hiểu, hiện thực và đưa ra những
đánh giá về hai phương pháp này trên những tập thực nghiệm khác nhau. Qua việc
so sánh và phân tích những ưu nhược điểm của từng phương pháp, chúng tôi cũng
đưa ra một phương pháp đề xuất là kết hợp hiệu quả từ việc trích xuất giá trị thuộc
tính của phương pháp WAVE với khả năng phân tích cấu trúc giá trị thuộc tính từ
phương pháp iPopular. Cụ thể hơn, mục tiêu của đề tài luận văn gồm hai nội dung
chính như sau:
- Hiện thực, đánh giá và so sánh hai phương pháp iPopular và WAVE trong
việc rút trích các giá trị thuộc tính trên các tập thực nghiệm của nhau.
- Đề xuất phương pháp kết hợp cải tiến, đánh giá hiệu năng của phương pháp
mới so với hai phương pháp iPopular và WAVE.
4
CHƯƠNG 2
2. CƠ SỞ LÝ THUYẾT
2.1. Infobox và Wikipedia
Wikipedia là một trong những nguồn tri thức mở lớn nhất và cũng là bộ từ
điển bách khoa toàn thư đầy đủ nhất trên internet hiện nay. Website này có mật độ
truy cập xếp hạng thứ 6 toàn cầu trên trang alexa.com (tháng 12/2013). Wikipedia
hiện hỗ trợ trên 280 ngôn ngữ khác nhau, và có hơn 3.5 triệu bài viết (thống kê
tháng 6/2011). Bên cạnh thành cơng và lợi ích từ nguồn dữ liệu khổng lồ này, nó
cũng cịn hạn chế về việc khai thác thơng tin và cịn rất nhiều tiềm năng từ nguồn
thông tin cộng đồng này chưa được khai thác hết.
Do đó, kể từ khi Wikipedia xuất hiện cho đến nay, có rất nhiều các đề tài
nghiên cứu xoay quanh vấn đề khai thác thông tin hiệu quả từ Wikipedia. Trong
phạm vi luận văn, chúng tôi sử dụng cơ sở dữ liệu từ Wikipedia vào ngày 15 tháng
1 năm 2011 làm cơ sở tri thức cho việc huấn luận và đánh giá các phương pháp
trích xuất các giá trị thuộc tính từ trong nội dung bài viết.
Infobox là một cấu trúc thông tin được sử dụng trong các bài viết của
Wikipedia. Đây là nơi tập trung các thông tin cơ đọng, các tính chất đặc trưng nhất
của chủ thể được đề cập đến trong bài viết. Infobox được thể hiện dưới dạng một
hộp thơng tin có hình ảnh, mơ tả, và các cặp thuộc tính-giá trị về chủ thể trong bài
viết. Hình 2-1 là hình ảnh ví dụ của một infobox trong bài viết trên Wikipedia.
Mỗi infobox được xây dựng theo một infobox template, các infobox template là
một tập hợp những biểu mẫu để phân loại infobox trên Wikipedia. Infobox
template quy ước và liệt kê tất các thuộc tính có thể có của một infobox bất kỳ.
Người viết bài sẽ bổ sung giá trị cho các thuộc tính này trên một infobox tương
5
ứng (nếu có). Ví dụ infobox Elvis Presley (Hình 2-1) với infobox template là
musical artist (Hình 2-2).
Hình 2-1: Một ví dụ về bài viết có infobox về Elvis Presley.
2.2. Gom cụm dữ liệu với 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 tố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 định 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. Hình 2-3 minh họa cho phương pháp gom cụm
với các chấm là các đối tượng trong không gian, các chấm đen là tâm điểm của
các cụm đã được phân tích trong giải thuật.
6
Hình 2-2: Infobox template Musical Artist.
Hình 2-3: Phương pháp gọm cụm dữ liệu. Trích từ [17].
7
Trong kỹ thuật gom cụm, có một số độ đo phổ biến được sử dụng như:
Minkowski, Euclidean, cosin hai vector. Trong nội dung luận án, các đối tượng ở
đây là các câu trong bài viết. Vì vậy để tính tốn sự giống nhau giữa các câu trong
các cụm, phương pháp WAVE sử dụng độ đo tương đồng trong mơ hình khơng
gian vector [22]. Hay nói cách khác đó chính là độ đo được tính dựa trên kết quả
cosin hai vector trong không gian vector:
𝑐𝑜𝑠 𝜇 =
𝑣. 𝑤
‖𝑣‖. ‖𝑤‖
* Với v và w là hai vector trong không gian vector.
2.3. Phân loại thuộc tính đơn thành phần và đa thành phần
Các giá trị của một thuộc tính trên infobox đều có thể xuất hiện dưới nhiều
dạng khác nhau tùy theo tính chất của thuộc tính đó. Giá trị của thuộc tính có thể
là dạng chuỗi ký tự, số, ngày tháng, danh sách,… Tuy các giá trị có nhiều định
dạng khác nhau nhưng chúng đều được phân thành một trong hai loại giá trị thuộc
tính sau đây tùy vào kết cấu giá trị của thuộc tính đó gồm một hay nhiều thành
phần cấu tạo nên:
- Thuộc tính có cấu trúc giá trị chỉ gồm một thành phần: là giá trị thuộc tính
gồm một cụm duy nhất, không thể tách thành những phần khác nhau có
nghĩa được. Lấy ví dụ một số các thuộc tính và giá trị gồm một thành phần
trên Wikipedia như:
o name: Apple Inc.
o type: [[Public company|Public]]
o website: {{URL|}}
o …
- Thuộc tính có cấu trúc giá trị gồm nhiều thành phần: là giá trị thuộc tính mà
ta có thể tách ra làm các thành phần khác nhau có nghĩa, để khi ghép các
thành phần đó lại ta được một giá trị thuộc tính hồn chỉnh. Lấy ví dụ một
số các thuộc tính và giá trị gồm nhiều thành phần trên Wikipedia như:
o founder: Steve Jobs, Steve Wozniak, Ronald Wayne
8
o number_of_employees: 12,500 (2003)
o …
Do mỗi thuộc tính trên infobox đều có giá trị mà cấu trúc của nó có thể được
cấu tạo bởi một hoặc nhiều thành phần, cho nên chúng tơi gọi thuộc tính đó có cấu
trúc đơn thành phần hoặc đa thành phần. Việc phân loại này nhằm mục tiêu phân
loại các thuộc tính để có thể nâng cao khả năng rút trích giá trị thuộc tính từ trong
bài viết thông qua các thành phần của chúng. Đây là khả năng mà phương pháp
iPopular cũng như phương pháp kết hợp tận dụng để nâng cao hiệu quả phương
pháp.
2.4. Phân tách cấu trúc giá trị của thuộc tính trên infobox
Trong phần này sẽ giới thiệu cách thức mà iPopular sử đụng để phân tích
cấu trúc giá trị của các thuộc tính. Mục tiêu của giải thuật được đưa ra là phân tích
được các cấu trúc chung nhất của tất cả các giá trị được tìm thấy, cấu trúc này thể
hiện được hầu hết các giá trị của thuộc tính đó. Dựa vào cấu trúc này mà ta có thể
phân tách giá trị thành các thành phần, sau đó có thể ghép những thành phần này
lại thành một giá trị đầy đủ ý nghĩa. Kết quả của cấu trúc này có phần giống như
là một biểu thức chính quy (regular expression). Do đó việc phân tích cấu trúc này
giống như là tìm một biểu thức chính quy từ những mẫu ví dụ.
Giải thuật phân tích cấu trúc (structure discovery algorithm) được iPopular
đưa ra là một dạng thu gọn của biểu thức chính quy. Hình 2-4 là một ví dụ minh
họa cho q trình phân tích cấu trúc giá trị thuộc tính. Từ bảng A đến bảng D trong
Hình 2-4 thể hiện kết quả mà giải thuật phân tích được cấu trúc của thuộc tính
number_of_employees trong infobox_company.
Đầu tiên giải thuật sẽ xác định tất cả các mẫu (pattern) trong giá trị của
thuộc tính, những mẫu này là những thành phần có ý nghĩa được tách ra từ các giá
trị (bước a). Những mẫu được xác định từ giá trị thuộc tính ở bảng A được thể
hiện ở bảng B. Những mẫu này được sắp xếp và đếm tần suất xuất hiện của chúng
(bước b). Bảng C thể hiện những mẫu xuất hiện nhiều nhất trong giá trị thuộc tính
theo thứ tự từ cao đến thấp cho thuộc tính number_of_employees. Cuối cùng, các
9
mẫu quan trọng nhất được hợp nhất thành kết quả cuối cùng, một dạng biểu mẫu
chính quy bắt đầu với những mẫu quan trọng nhất (bước c). Trong trường hợp nếu
khơng có đủ số lượng giá trị thuộc tính cho việc phân tích cấu trúc thuộc tính, giải
thuật sẽ bỏ qua các thuộc tính này, đảm bảo khả năng chính xác cao của hệ thống.
Giải thuật phân tích cấu trúc giá trị thuộc tính được thể hiện ở Hình 2-5 và được
trình bày chi tiết ở các nội dung tiếp theo sau đây. Đầu vào của giải thuật là tập
hợp tất cả những giá trị của một thuộc tính (tập hợp V) và đầu ra là cấu trúc chung
của các giá trị thuộc tính được phân tích.
Hình 2-4: Một ví dụ trong việc phân tích cấu trúc của thuộc tính
number_of_employees từ infobox_company. Trích từ [11].
Hàm Parse() Từng giá trị trong tập V sẽ được phân tách thành các mẫu của
giá trị thuộc tính (pattern). Các mẫu này sẽ giúp chia giá trị thuộc tính thành những
thành phần có nghĩa. Điều đó giúp ta có thể đánh nhãn những thành phần riêng
biệt của giá trị thuộc tính. Từ một mẫu ta có thể dễ dàng phân biệt các nhóm chuỗi
có với các nhóm số hoặc các ký tự đặc trưng của Wikipedia như đường dẫn, các
quy ước định dạng trong viết bài. Để thực hiện được điều trên, các dấu ngoặc, dấu
chấm, dấu phẩy hoặc các ký hiệu khác sẽ được đánh dấu. Hàm Parse sử dụng biểu
thức chính quy cho mỗi loại trên.
10
Hàm IsImportantPattern() Với mỗi thuộc tính, có rất nhiều các mẫu khác
nhau thể hiện các giá trị của thuộc tính đó. Nếu tất cả các mẫu được thể hiện trong
một cấu trúc thuộc tính duy nhất, thì kết quả của cấu trúc này sẽ rất phức tạp không
thể thực hiện được. Vì vậy ta chỉ xem xét những mẫu nào phổ biến nhất, vì vậy
cấu trúc cuối cùng của thuộc tính chỉ bao gồm một số các thành phần quan trọng
của thuộc tính. Với các mẫu ít phổ biết, hàm IsImportantPattern() sẽ loại bỏ tương
ứng với giá trị trả về là false. Tương tự giá trị trả về là true nếu mẫu có số lượng
giá trị tương ứng nhiều hơn 20 giá trị và chiếm hơn một phần trăm trong tổng số
giá trị của thuộc tính. Và trong trường hợp nếu thuộc tính nào đó khơng đủ số
lượng các giá trị cần thiết, sẽ khơng xem xét thuộc tính đó.
Hình 2-5: Giải thuật phân tích cấu trúc. Trích từ [11].
Hàm Merge() Có nhiệm vụ xáp nhập mẫu đang xét (merging candidate) với
cấu trúc của giá trị thuộc tính hiện tại đang xây dụng (basic pattern). Để xáp nhập
hai mẫu ta thực hiện các luật sau:
Luật 1: Mở rộng cấu trúc thuộc tính
- Điều kiện: Các mẫu đang xét bao gồm và mở rộng mẫu kết quả hiện tại.
11
- Hành động: Những thành phần mới trong mẫu đang xét được thêm vào mẫu
kết quả hiện tại và đánh dấu là phần phụ (thêm vào dấu ?).
- Ví dụ: Xáp nhập mẫu kết quả hiện tại (Text) với mẫu đang xét (Text
“(“Number”)”) cho ta kết quả là (Text (“(“Number”)”)?).
Luật 2: Nhận dạng cấu trúc thuộc tính dạng danh sách
- Điều kiện: Kết quả cấu trúc giá trị của thuộc tính chứa từ 3 trở lên các thành
phần lập lại giống nhau và ít nhất 2 mẫu trong cấu trúc giá trị thuộc tính
được đánh dấu là thành phần phụ. Các thành phần được tách nhau bằng một
dấu câu (ví dụ dấu phẩy).
- Hành động: cấu trúc dạng danh sách sẽ được thể hiện thay vào đó (bằng
cách thêm dấu * vào thành phần lặp).
- Ví dụ: Giá trị của một infobox film có thể là [[Humphrey Bogart]], [[Ingrid
Bergman]], [[Paul Henreid]]. Trong trường hợp này, mẫu kết quả tương
ứng với giá trị đó là (Link (Separator Link)*).
Nếu trong trường hợp tất cả hai luật trên không sử đụng được để xáp nhập một
mẫu với cấu trúc giá trị thuộc tính hiện tại, thì mẫu đó sẽ bị loại và khơng xem xét
đến nữa.
2.5. Thuật toán entropy cực đại
Đối với bài toán phân lớp dữ liệu, entropy cực đại là một kỹ thuật dùng để
ước lượng xác suất các phân phối từ dữ liệu. Tư tưởng chủ đạo của nguyên lý
entropy cực đại là “mơ hình phân phối đối với mỗi tập dữ liệu và tập các ràng buộc
đi cùng phải đạt được độ cân bằng / đều nhất có thể”. Tập dữ liệu học (tức là tập
gồm các dữ liệu đã được gán nhãn) được sử dụng để tìm ra các ràng buộc cho mơ
hình, đó là cơ sở để ước lượng phân phối cho từng lớp cụ thể. Những ràng buộc
này được thể hiện bởi các giá trị ước lượng được của các đặc trưng. Từ các ràng
buộc sinh ra bởi tập dữ liệu này, mơ hình sẽ tiến hành tính tốn để có được một
phân phối cho entropy cực đại.
12
Ta lấy một ví dụ về mơ hình entropy cực đại: Giả sử với bộ phân lớp về lĩnh
vực kinh tế trên báo VnEconomy có bốn lớp chính được chỉ ra là ngân_hàng,
chứng_khoán, bất_động_sản, doanh_nghiệp. Các thống kê dữ liệu chỉ ra rằng
trung bình 70% các tài liệu trong lớp ngân_hàng có chứa từ “vay vốn”. Như vậy
một cách trực quan có thể thấy rằng nếu một tài liệu D có chứa từ “vay vốn” thì
xác suất được phân vào lớp ngân_hàng là 70% và xác suất phân vào ba lớp còn
lại là 10% đối với mỗi lớp. Nếu tài liệu D khơng chứa từ “vay vốn” thì xác suất
phân phối của D là 25% đều cho mỗi lớp. Trong ví dụ trên, nếu tài liệu chứa cụm
từ “vay vốn” thì có xác suất phân vào lớp ngân_hàng là 70% là một ràng buộc của
mơ hình.
Các ràng buộc và đặc trưng
Trong nguyên lý Entropy cực đại, chúng ta sử dụng tập dữ liệu mẫu làm để
thiết lập ràng buộc cho phân phối điều kiện. Với mỗi ràng buộc được mô tả bởi
một đặc tính của tập dữ liệu học. Một đặc trưng trong mơ hình entropy cực đại
được biểu diễn bởi một hàm fi(d, c), trong đó d là tài liệu và c là lớp. Entropy cực
đại cho phép giới hạn mơ hình phân phối để có thu các giá trị kỳ vọng cho mỗi
đặc trưng của tập dữ liệu. Vì vậy, ta có thể đặt xác suất phân phối của dữ liệu d
cho lớp c là P(c|d) thỏa mãn phương trình sau:
Trong quá trình huấn luyện, phân phối tài liệu P(d) là không biết và chúng
ta không cần quan tâm tới nó. Vì vậy, ta chỉ sử dụng tập dữ liệu mẫu như là một
điều kiện để phân phối dữ liệu tn theo ràng buộc:
Mơ hình entropy cực đại
Mơ hình entropy cực đại xây dựng các đặc trưng từ tập dữ liệu huấn luyện.
Mỗi đặc trưng được biểu diễn dưới một hàm nhận một trong hai giá trị đúng hoặc
13
sai. Tập các ràng buộc sẽ được thiết lập từ các đặc trưng này. Một ràng buộc là
một điều kiện từ dữ liệu buộc mơ hình phải thỏa mãn. Mỗi đặc trưng fi được gán
cho một trọng số λi. Khi đó, bài tốn phân lớp được đưa về bài tốn ước lượng xác
suất có điều kiện:
Trong đó Z(d) là biểu thức chuẩn hóa để đảm bảo điều kiện Σp(c | d ) = 1.
Từ đó đưa ra cơng thức sau:
Entropy cực đại cho phân lớp văn bản
Để áp dụng mô hình entropy cực đại cho một miền, chúng ta cần phải chọn
ra một tập các đặc trưng để sử dụng thiết lập các ràng buộc. Đối với phân lớp văn
bản với mơ hình Entropy cực đại, chúng ta sử dụng số lượng từ như là các đặc
trưng. Trong nghiên cứu này cho với mỗi từ kết hợp, ta đưa ra một đặc tính như
sau:
Trong đó, N(d, w) là số lần từ w xuất hiện trong tài liệu d, và N(d) là số
lượng các từ có trong tài liệu d.
Trong cơng thức này, nếu một từ xuất hiện thường xuyên trong một tài liệu,
ta sẽ tính trọng số cho các cặp từ này và thấy rằng trọng số đó sẽ cao hơn so với
trọng số của các từ ghép trong tài liệu. Trong hầu hết ngôn ngữ tự nhiên sử dụng
entropy cực đại thì các đặc trưng thường là đặc trưng nhị phân. Trong phân lớp
văn bản, chúng ta mong muốn các đặc trưng được tính bằng số lần suất hiện của
một từ trong một tài liệu có thể củng cố cho phân lớp.
14
Một trong những khía cạnh đặc biệt của entropy cực đại là nó khơng bị bất
kỳ giả thuyết độc lập nào ràng buộc. Ví dụ, với cụm từ “Buenos Aires”, hai từ này
hầu như luôn xuất hiện động thời cùng nhau.Với giả thiết Naïve Bayes sẽ đếm số
từ xuất hiện hai lần trong cụm từ này. Mặt khác, Entropy cực đại sẽ giảm giá trị
trọng số λi của mỗi đặc trưng đi một nửa. Một trong những hệ quả của việc không
phụ thuộc vào bất kỳ giả thuyết độc lập nào đó là các sơ đồ và các cụm từ có thể
được thêm vào các đặc trưng của Entropy cực đại một cách dễ dàng mà không cần
lo lắng rằng các đặc tính này chồng lên nhau.
Ưu điểm của mơ hình Entropy cực đại:
- Cho phép khả năng hầu như không hạn chế trong việc biểu diễn các vấn đề
phức tạp về tri thức thông qua dạng các hàm đặc trưng.
- Có thể giải quyết nhiều dạng thuộc tính khác nhau.
- Các giả thiết không cần phải độc lập với nhau.
- Trọng số của các đặc trưng được xác định một cách tự động.
2.6. Các độ đo căn bản
Trong việc đánh giá hiệu suất một phương pháp, thông thường các độ đo căn
bản được sử dụng là: độ chính xác, độ đầy đủ và độ hài hòa. Việc hiện thực hóa
các độ đo này có thể khác nhau tùy mục đích của người sử dụng chúng nhằm phù
hợp với từng bài tốn trong thực tế. Trong phần này, chúng tơi chỉ nêu lên khái
niệm tổng quan về các độ đo căn bản, còn chi tiết về việc hiện thực các độ đo hiệu
suất này trong quá trình thực hiện luận văn trong từng phương pháp sẽ được nêu
trong phần 4.2.
Ví dụ được ta có một số các câu hỏi, mỗi câu hỏi đều có một đáp án đúng.
Một hệ thống tự động tham gia trả lời và đưa ra các câu trả lời tương ứng cho các
câu hỏi trên mà khơng biết được đáp án. Bài tốn được đặt ra là làm sao tính được
hiệu quả/hiệu suất trả lời của hệ thống đó. Ta quy ước một số ký hiệu sau:
- Tall: tổng số câu hỏi
15
- TC: số câu hỏi được hệ thống trả lời và đúng với đáp án.
- TR: tổng số câu hỏi được hệ thống trả lời.
Độ chính xác P (Precision): Độ chính xác P là tỉ lệ giữa số câu hỏi mà hệ
thống đó trả lời đúng và tổng số câu hỏi mà hệ thống đã trả lời. Công thức như
sau:
Độ đầy đủ R (Recall): Độ đầy đủ R là tỉ lệ giữa số câu hỏi mà hệ thống trả
lời đúng và tổng số câu hỏi. Công thức như sau:
Độ hài hòa F (Harmonic Mean): Độ hài hòa F được đưa ra nhằm cân bằng
giữa độ chính xác P và độ đầy đủ R vì nếu ta chỉ xét riêng độ chính xác và độ đầy
đủ khơng thể đánh giá được hiệu suất của hệ thống một cách tồn diện. Cơng thức
độ hài hòa F được xác định như sau:
Để minh chứng cho việc sử dụng độ đo hài hòa F là cần thiết, ta xét hai
trường hợp điển hình: đầu tiên là một hệ thống có độ chính xác cao nhưng độ đầy
đủ thấp. Điều đó đồng nghĩa với việc câu hỏi hệ thống đều trả lời hầu như đúng
nhưng số lượng câu hỏi mà hệ thống đưa ra câu trả lời lại rất ít. Lấy một ví dụ: ta
có 100 câu hỏi, hệ thống chỉ trả lời 20 câu và trong 20 câu đó có 18 câu đúng; dựa
vào cơng thức tính độ chính xác ta có P = 18/20 = 90% và R = 20/100 = 20%.
Ngược lại, hệ thống thứ hai có độ đầy đủ càng cao nhưng độ chính xác thấp đồng
nghĩa với việc hệ thống đưa ra rất nhiều câu trả lời, tuy nhiên số câu trả lời đúng
trong những câu trả lời được đưa ra đều rất ít. Ví dụ: ta có 100 câu hỏi, hệ thống
trả lời 90 câu và trong 90 câu đó có 27 câu đúng; vì vậy P = 27/90 = 30% và khi
R = 90/100 = 90%.
16