Trong pha thứ nhất: Thông điệp chuyển từ người được hướng dẫn tới người cố vấn, và sau đó, thơng điệp quay trở lại từ người cố vấn tới người được hướng dẫn. Có hai loại thông điệp trong pha thứ nhất: £ƠO→TO, £Tc, ¦2E đó j ∈ tJ . Thông điệp từ
` i .J sinh ra và chỉ gửi đi khi nào mà tất các các thơng điệp từ các nút con của nó đến. Và .J ngay lập tức gửi tất cả thông điệp từ nút cha ông J , j ∈ tJ.
Trong pha thứ hai: Có hai loại thơng điệp: £TO, ÊƠc→TO, ¦2E đó j ∈ tJ cho mỗi chiều đảo ngược trên cạnh giống như pha thứ nhất. Q trình chuyển thơng điệp được miêu tả như hình (8).
ÊƠO →TOM = *+ max
O ă /'O©,∀TJlog JN + A £T
e→ªO vTew
e∈O (2.19)
£TcM = ÊƠO→TOM (2.20)
£TOÔOM = A ÊÔc →TOM
29 £ÔO→TOM = *+c ă /'max côc,T`log `Tc+ ÊTcễc v.`w + A ÊT eêO vTew eO (2.22)
Sau q trình chuyển thơng điệp trong hai pha, chúng tôi tập hợp hai thông điệp trên cạnh bất kỳ và tính tốn giá trị hàm biên duyên:
J` = max 3v.K, … , .0_ ¬.J = j
= exp£ÔO→TOj + £TOÔO j (2.23)
Tuy nhiên, thuật tốn vẫn cịn có nhiều bước tính tốn dư thừa. Thông điệp được gửi đi giữa nút hàm và nút biến là những giá trị hàm mà cần được lưu trữ trong các vector. Một vài thông điệp không bao giờ được sử dụng trong suốt quá trình kết hợp, và mộ tsố thông tin chỉ đơn giản là được truyền từ một nút biến đến nút hàm tương ứng thíc hợp của nó. Thơng tin có thể được truyền lan rộng giữa các tác giả, và luồng thơng tin có
thể được lưu trữ với mỗi tác giả trong hai vector: một vector gửi đi và một vector nhận
thông tin. Thứ tự q trình truyền thơng tin được minh họa thơng qua số cạnh. Bằng cách này, có thể tiết kiệm được cả không gian và thời gian.
Cải tiến của sự truyền thông tin là được phân chia thành hai pha. Ở pha thứ nhất, thông tin gửi senti , được truyền từ một trong số những nút cha ông của chúng. Ở pha thứ hai, thông tin được quay trở lại từ nút cha ông recvi được lưu trữ trong mỗi nút. Sau khi kết thúc hai pha, mỗi nút sẽ thu thập hai vector và tính tốn được độ xếp hạng cuối cùng.
Cơng thức tính điểm xếp hạng (ranking score):
~nlm = log J` + A *+â ă /'Oc ®, N¯Jmax ~nN
30
°~±lm= `e∈c,/'max
cce² *+Oc ³F``e + log ``e + A N,*+â /'max
cce đ, N`~nN O,J + A max `eâFN`e + A max Ne,*+âe /'õce đ, NeN~nNe â,J N O,N¯`e (2.25) °lm = exp ~nlm + °~±lm (2.26)
Trong thuật tốn mới, thơng tin được lan truyền bằng cách sử dụng ngăn xếp – hàng đợi. Trong pha thứ nhất, mỗi nút sẽ được đưa vào hàng đợi và tính tốn vector
2J. Trong pha thứ hai, quét hàng đợi từ đi trở lại đầu coi như đó là một ngăn xếp và tính tốn FJ. Sau đó, tiêu chuNn hóa các kết quả và tổng hợp chúng để tính số điểm xếp hạng (ranking score). Thời gian chạy của thuật toán được đánh giá là ∑ Jb
J 0_
JK , trong đó J và b
J là bậc vào và bậc ra của mỗi nốt DJ trong đồ thị <′.
Thuật toán:
Input: u′ = ?b, Zb*, VvJ`, J`, J`wXJ,`∈ dex
Output: u = ?b, Zb*, VvJ`, J`, J`wXJ,`∈ dex
Calculate the logarithm of local feature function J`; Initialize all 2J` as log J`;
Initialize a counter for each node ¦2J ← |tJUK|;
Initialize a stack – queue Q, enqueue all the nodes x, ¦2N = 0; repeat
i ← the head of Q;
increament the head pointer Q by 1; foreach Ei, j, j¶tJ do
Update 2J` according to Eq (2.24);
31
If ¦2`== 0) then enqueue j; end;
end;
until the head of Q is 0;
Treat Q is a stack, let top points to the tail; repeat
Pop the top element of Q to j; if(j == 0) then F`f ← 0
end else
foreach jb ∈ t` ¦
Collect F``bD2 2``b¦ ¦£: ``; according to Eq(2.26) and prepare to compute F``b;
end else
foreach i ∈ t`UK do
Computer FJ` according Eq(2.25); end
Until Q is not empty;
Generate u = ?b, Zb*, VvJ`, J`, J`wXJ,`∈ dex
Bảng 2-1: Thuật toán suy diễn TPFG
Tóm tắt chương hai
Giới thiệu các nghiên cứu và các hướng tiếp cận giải quyết bài tốn trích chọn quan hệ giữa các thực thể trong mạng cộng tác: học tự động mối quan hệ tác giả từ cơ sở dữ liệu mục lục, xếp hạng các ứng viên dựa trên phân tích chỉ dẫn khoa học, dự báo mối quan hệ đồng tác giả trong mạng cộng tác. Chương này tập trung vào việc giới thiệu mơ hình xác suất đồ thị phụ thuộc thời gian do Chi Wang và cộng sự (2010) [4] đề xuất. Đây là cơ sở phương pháp luận quan trọng để khóa luận đưa ra mơ hình thực nghiệm một phần mơ hình hệ thống được các tác giả xây dựng.
32
Chương 3. Mơ hình thực nghiệm
Trên cơ sở phân tích các hướng tiếp cận giải quyết trích chọn quan hệ trong mạng cộng tác, khóa luận đã lựa chọn phương pháp trích chọn quan hệ cố vấn – hướng dẫn khoa học dựa trên mơ hình đồ thị xác suất phụ thuộc thời gian [2] để giải quyết bài toán này.
3.1. Đặc trưng của DBLP Computer Science Bibliography Database
DBLP là viết tắt của Digital Bibliography & Library Project (Michael Ley, 2002) [13]. Dữ liệu từ DBLP cung cấp thơng tin về các cơng trình nghiên cứu khoa học đã được công bố. Ban đầu, các máy chủ DBLP tập trung vào cơ sở dữ liệu hệ thống và lập trình logic, cho đến hiện nay thì nó đã mở rộng ra các lĩnh vực khác của khoa học máy tính.
Các thực thể trong DBLP:
Mỗi bài công bố có quan hệ với một danh sách các tác giả, năm công bố và các thông tin khác như tên hội nghị hay tạp chí mà bài cơng bố đó xuất bản. Các sinh viên sẽ có sự cộng tác với người hướng dẫn của họ trong bài công bố. Quan hệ cố vấn – hướng dẫn và năm tốt nghiệp với các tác giả khác nhau được xem như là các biến Nn trong mô hình.
Để vào các thư mục, lựa chọn danh sách của tất cả các hội nghị khoa học hoặc là danh sách của tất cả các tạp chí được đánh chỉ mục bởi DBLP.
Mức tiếp theo của trang web trên DBLP là dịng thơng tin công bố.
Nội dung các bảng của tạp chi là mức độ tiếp theo của các trang DBLP. Bao gồm danh sách đầy đủ tên của tác giả,tiêu đề, và số trang được liệt kê cho mỗi bài báo được công bố trên tạp chí.
Trên DBLP, một thực thể được liên kết với một trang DBLP khác với các mô tả liên quan đến thực thể theo cách: mỗi thực thể xuất hiện trong trang DBLP này, liên kết tới trang DBLP mơ tả các thơng tin liên quan đó. Ví dụ: khi click vào tên tác giả, chuyển đến một trang trong đó liệt kê tất cả các bài nghiên cứu được công bố của người này, và những người là đồng tác giả.
33
Hình 10: Thơng tin trên trang DBLP [13]
Trong lĩnh vực nghiên cứu khoa học hiện nay, số lượng các bài báo được công bố tăng vơi tốc độ nhanh chóng. Mục đích của những cơng bố khoa học là cung cấp những xu hướng, kết quả vấn đề đang được quan tâm và phát triển. Theo thống kê, dữ liệu trên DBLP có hơn 600.000 tác giả và hơn 1.600.000 cơng trình khoa học được công bố [13]
DBLP cung cấp các mục phân loại, sắp xếp dữ liệu cho phép liên kết từ các trang tới các mục phân loại tương ứng. Một trang có thể liên kết với nhiều mục. Danh sách tên các hội nghị hoặc tạp chí trong cùng một dòng tiêu đề của các trang mục lục. Đối với một tập hợp các công bố, DBLP cung cấp thêm thông tin về các trang trích dẫn, giúp cho người dùng có thể truy cập theo các liên kết xuất bản điện tử từ các trang mục lục.
Với số lượng danh sách các nghiên cứu được công bố và danh sách tên các tác giả, chúng tôi nhận thấy DBLP là cơ sở dữ liệu tốt phục vụ cho việc trích chọn quan hệ cố vấn – hướng dẫn khoa học. DBLP được phát triển từ một thực nghiệm nhỏ cho dịch vụ Web Server cho cộng đồng nghiên cứu khoa học máy tính. Dữ liệu từ DBLP được lưu trữ trong file dblp.xml. Vấn đề đặt ra là trích chọn được dữ liệu bao gồm tên các bài báo, tên các tác giả để phục vụ cho dữ liệu bài toán. File dblp.xml chứa tất cả bản ghi mục lục được cung cấp bởi DBLP. Các kiểu định nghĩa dữ liệu kèm theo được cung cấp trong file dblp.dtd.
34
3.2. Mơ hình thực nghiệm dựa trên mơ hình đồ thị xác suất phụ thuộc thời
gian
3.2.1. Phát biểu bài toán
Bài tốn trích chọn quan hệ cố vấn – hướng dẫn khoa học đã được Chi Wang [2] phát biểu như ở chương 1, trong trường hợp này có thể được viết lại như sau:
Đầu vào:
Tập dữ liệu D: danh sách các tác giả, các bài báo, quan hệ bài báo _ tác giả, quan hệ bài báo _ năm công bố.
Đầu ra:
Các cặp quan hệ , [, ]
Mơ hình trích chọn quan hệ được chia làm 2 pha chính: xâu dựng tập dữ liệu học và giai đoạn áp dụng
35
3.2.2. Xây dựng tập dữ liệu học
Mơ hình thu thập dữ liệu học:
Hình 11: Quá trình xây dựng tập dữ liệu học
o Phân tích cú pháp của dblp.xml:
Với mỗi một bản ghi trong dblp.xml, có cấu trúc tương tự như bảng dưới
Parser dblp.xml
Author, paper_author,
36
<dblp>
<article key="journals/talip/NguyenPHNH09" mdate="2009-09-22"> <author>Cam-Tu Nguyen</author>
<author>Xuan Hieu Phan</author> <author>Susumu Horiguchi</author> <author>Thu-Trang Nguyen</author> <author>Quang-Thuy Ha</author>
<title>Web Search Clustering and Labeling with Hidden Topics.</title>
<year>2009</year> <volume>8</volume>
<journal>ACM Trans. Asian Lang. Inf. Process.</journal> <number>3</number>
<ee>http://doi.acm.org/10.1145/1568292.1568295</ee> <url>db/journals/talip/talip8.html#NguyenPHNH09</url>
</article> </dblp>
Bảng 3-1: Cấu trúc một bản ghi trong dblp.xml
Sau khi tiến hành parse dblp.xml, chúng tôi thu được tập dữ liệu dùng làm đầu vào cho bài toán: bao gồm danh sách các tác giả (author), danh sách các bài báo (paper), danh sách bài báo_tác giả (paper_author), danh sách bài báo_năm công bố (paper_year).
3.2.3. Mơ hình thực nghiệm
Qua quá trình khảo sát một số hướng tiếp cận giải quyết và dựa vào các ưu nhược điểm điều kiện thực tế về kỹ thuật xử lý ngôn ngữ, tài nguyên ngôn ngữ học cũng như các kỹ thuật học máy phục vụ cho q trình xử lý, khóa luận trình bày mơ hình thực nghiệm phương pháp trích chọn quan hệ cố vấn – hướng dẫn khoa học dựa trên mơ hình đồ thị xác suất phụ thuộc thời gian do Chi Wang và cộng sự đề xuất[2]. Dưới đây là mơ hình thực nghiệm.
37 Xũu Hình 12: Mơ hình thực nghiệm Dblp.xml Pha xử lý dữ liệu học Parser dblp.xml Tách lấy các thực thể ðồ thị G Pha tìm cặp quan hệ tiềm năng Tạo CSDL Lọc dữ liệu ðồ thị H’ Học mơ hình TPFG Đồ thị H
38
- Bước 1: Xử lý dữ liệu học
o Bước này sẽ thực hiện việc parse dblp.xml như đã trình bày ở phần trên để trích chọn ra được danh sách tên các tác giả (author), danh sách tên bài báo_tác giả (paper_author), danh sách bài báo _ năm công bố (paper_year).
o Sinh đồ thị G: với danh sách các tác giả là các đỉnh của đồ thị, cạnh là liên kết giữa bài báo và tác giả.
- Bước 2: Pha tìm cặp quan hệ tiềm năng
o Xây dựng G’:
• Thiết kế cơ sở dữ liệu để lưu trữ các đỉnh và cạnh của đồ thị G
• Thực hiện việc tính tốn và xử lý dữ liệu, cập nhật vào hai vector
:. Fà :2.
o Xây dựng H’:
• Với mỗi cạnh J` thuộc ′, chọn D` là người hướng dẫn tiềm năng của DJ. Kiểm tra ràng buộc bằng giả thiết &c > &O.
• Ước lượng các giá trị J` Fà J`.
• Ước lượng độ đo Kulc và IR
• Tính gía trị hàm likelihood (chính là giá trị trung bình của độ đo Kulc và IR)
- Bước 3: Học mơ hình
o Từ đồ thị ứng viên H’, biết được các cặp hướng dẫn tiềm năng của mỗi tác giả với cùng độ đo khả năng likelihood.
o Áp dụng mơ hình TPFG do Chi Wang và cộng sự đề xuất [2]:
• Với mỗi node DJ, có 3 biến sẽ được thể hiện: .J, J, J. Giả sử đã có hàm đặc trưng địa phương E.J, J, J được định nghĩa với các nút đã qui định. Tiến hành mơ hình xác suất cho tất cả các node.
o Áp dụng thuật tốn TPFG để học mơ hình
o Sinh đồ thị H’ bao gồm các cặp quan hệ cố vấn – hướng dẫn, cùng với số điểm đánh giá và khoảng thời gian hướng dẫn.
39
Tóm tắt chương 3
Trên cơ sở phân tích và dựa vào miền dữ liệu, khóa luận đã lựa chọn và xây dựng mơ hình thực nghiệm, trích chọn quan hê dựa vào mơ hình đồ thị xác suất phụ thuộc thời gian để giải quyết bài toán này.
Do hạn chế về mặt thời gian và kiến thức, nên chúng tôi mới tiến hành thực nghiệm quá trình xây dựng đồ thị H - trích chọn ra được những cặp quan hệ hướng dẫn – cố vấn tiềm năng.
Chúng tôi tiến hành thực nghiệm một phần mơ hình đề xuất. Quá trình thực nghiệm và kết quả thực nghiệm một phần của mơ hình chúng tơi sẽ trình bày ở chương tiếp theo sau đây.
40
Chương 4. Thực nghiệm và đánh giá kết quả
4.1. Môi trường thực nghiệm
4.1.1. Cấu hình phần cứng
Bảng 4-1: Cấu hình phần cứng
Thành phần Chỉ số
CPU Intel Core i3 2.27Ghz
RAM 2G
HDD 320G
OS Window 7 Ultimate 32 bit
4.1.2. Công cụ phần mềm
Bảng 4-2: Công cụ phần mềm
STT Tên phần mềm Tác giả Nguồn
1 NetBeans IDE 6.9 http://netbeans.org/
2 SQL Server 2008 Microsoft http://www.microsoft.com/
3 SQL Server Business Intelligence Development Studio
41
4.2. Dữ liệu thực nghiệm
Dữ liệu được lấy từ các cơng trình được cơng bố trên DBLP Computer Science Bibliography Database được lưu trữ trong file dblp.xml. Sau q trình phân tích và tiến hành parser dblp.xml, thu được danh sách các tác giả, danh sách bài báo_tác giả, danh sách bài báo_năm công bố.
4.3. Thực nghiệm
Mơ tả cài đặt chương trình
a) Xây dựng tập dữ liệu học dựa trên DBLP.xml
Chúng tôi sử dụng bộ phân tách SAX Parser (SAX – Simple API for XML) để xử lý thông tin XML dưới dạng một dịng dữ liệu Khóa luận xin cung cấp một số thông tin về SAX như sau:
SAX là một API đơn giản của XML (Simple API for XML), được đưa ra cuối năm 1997 và đầu năm 1998 bởi Peter-Rust. SAX được thiết kế dựa trên chiều hướng giao diện trừu tượng hơn là các lớp hiện thực, vì thế nó được thiết kế dưới dạng các tầng trên của các bộ phân tích đã có thơng qua API. Khi sử dụng SAX có thể thực hiện trên nhiều phiên bản bộ phân tích với các kiến trúc khác nhau.
Trong dữ liệu, chúng tôi chỉ quan tâm tới tên của tác giả, định danh của bài báo, năm công bố. Chúng tôi xem mỗi công bố đi kèm theo là một danh sách các tác giả. Các thông tin khác như: số trang, tên hội nghị hay nhà xuất bản…. có thể bỏ qua.
42
Bảng 4-3 Phân tích bản ghi trong dblp.xml
<dblp>
<inproceedings key="conf/kdd/TangSWY09" mdate="2009-07-02"> <author>Jie Tang</author>
<author>Jimeng Sun</author> <author>Chi Wang</author> <author>Zi Yang</author>
<title>Social influence analysis in large-scale networks.</title> <pages>807-816</pages> <year>2009</year> <booktitle>KDD</booktitle> <ee>http://doi.acm.org/10.1145/1557019.1557108</ee> <crossref>conf/kdd/2009</crossref> <url>db/conf/kdd/kdd2009.html#TangSWY09</url> </inproceedings> </dblp>
Chương trình được tổ chức thành gói DBLP_Parser.jar, có nhiệm vụ sẽ lấy danh