Bài viết này trình bày cách tiếp cận xây dựng mô hình khai phá mạng dữ liệu không đồng nhất phục vụ cho công tác nghiên cứu khoa học. Cụ thể chú trọng đến việc tìm kiếm sự tương đồng giữa các thực thể trong mạng học thuật không đồng nhất, bao gồm: Hỗ trợ tìm kiếm các đối tượng như là: Tác giả, đồng tác giả, hội nghị tính toán top-k vùng lân cận giữa các đối tượng nhằm hỗ trợ tìm kiếm và biểu diễn trực quan giúp cho người dùng có cái nhìn tổng quan hơn về sự phân bố, độ tương đồng của nhóm tác giả, nhóm hội nghị.
Trang 1TÌM KIẾM TƯƠNG ĐỒNG TRÊN MẠNG DỮ LIỆU KHÔNG ĐỒNG NHẤT
Nguyễn Văn Gia 1 , Đỗ Phúc 2
1 Công ty CP Thực phẩm Dinh dưỡng NutiFood 1,2 Trường ĐH Công nghệ thông tin, ĐHQG TP.HCM
gianvdba@gmail.com, phucdo@uit.edu.vn
TÓM TẮT: Khai phá mạng dữ liệu không đồng nhất đang là một xu thế và hướng đi mới trong lĩnh vực khoa học dữ liệu (Data
Science) Đa số các công bố hiện nay còn dừng ở mức độ giải thuật mô hình, hơn là áp dụng thực tế cho việc xây dựng một hệ thống
hỗ trợ các nhu cầu thiết thực hiện nay Bài báo này trình bày cách tiếp cận xây dựng mô hình khai phá mạng dữ liệu không đồng
nhất phục vụ cho công tác nghiên cứu khoa học Cụ thể chú trọng đến việc tìm kiếm sự tương đồng giữa các thực thể trong mạng
học thuật không đồng nhất, bao gồm: Hỗ trợ tìm kiếm các đối tượng như là: Tác giả, đồng tác giả, hội nghị… tính toán top-k vùng
lân cận giữa các đối tượng nhằm hỗ trợ tìm kiếm và biểu diễn trực quan giúp cho người dùng có cái nhìn tổng quan hơn về sự phân
bố, độ tương đồng của nhóm tác giả, nhóm hội nghị Nguồn dữ liệu được trích từ DBLP ngày 22/05/2019 với 1,408,606 tác giả,
1,965,362 bài báo và 1,746 địa điểm hội nghị
Từ khóa: Heterogeneous Information Networks, Similarity; Heterogeneous Representation Learning, Metapath2vec,
Metapath2vec++, Network Embedding, word2vec, node2vec
I GIỚI THIỆU
Trong những năm qua, cùng với sự phát triển nhanh chóng của công nghệ làm cho kho dữ liệu ngày càng trở
nên đồ sộ và lớn dần Chính điều đó đã đặt ra một thử thách rất lớn trong vấn đề khái thác và biểu diễn trực quan Xã
hội và mạng dữ liệu cùng chứa lượng thông tin phong phú và phức tạp, có thể hiểu rằng mạng dữ liệu là một ánh xạ
của xã hội trong đó có các loại tương tác của con người Những tiến bộ gần đây trong xử lý ngôn ngữ tự nhiên (NLP)
[1] có thể được áp dụng một cách tự nhiên như word2vec [3, 4] Một số bài báo nghiên cứu gần đây đã đề xuất sử dụng
các frameworks học biểu diễn mạng dựa trên word2vec, chẳng hạn như DeepWalk [5], LINE [10] và node2vec [13]
Thay vì thiết kế tính năng mạng thủ công, các phương pháp học biểu diễn này cho phép phát hiện tự động các tính năng
hữu ích và có ý nghĩa (tiềm ẩn) từ “mạng thô” Tuy nhiên, công việc này đã tập trung vào việc học biểu diễn cho các
mạng đồng nhất - biểu diễn cho một số ít loại nodes và mối quan hệ giữa chúng Đa số các mạng xã hội và thông tin là
không đồng nhất trong tự nhiên, liên quan đến sự đa dạng của các loại nodes và mối quan hệ giữa chúng [6] Các mạng
không đồng nhất này có những khó khăn đặc biệt mà không thể xử lý bằng các mô hình học biểu diễn được thiết kế đặc
biệt cho mạng đồng nhất Cụ thể như một mạng học thuật không đồng nhất: Làm cách nào để chúng ta giữ nguyên bối
cảnh giữa nhiều loại nodes, ví dụ: tác giả, bài báo, địa điểm, ? Liệu chúng ta có thể bước đi ngẫu nhiên (random
walks) bằng cách sử dụng DeepWalk và node2vec cho mạng của nhiều loại nodes? Liệu chúng ta có thể áp dụng trực
tiếp các kiến trúc nhúng theo hướng mạng đồng nhất (ví dụ, skip-gram) cho các mạng không đồng nhất? Để giải quyết
những thách thức này, phương pháp nhúng (embeddings) ngầm mạng không đồng nhất có thể áp dụng cho các tác vụ
khai thác mạng, chẳng hạn như phân loại node [2], phân cụm [8, 9] và tìm kiếm tương đồng [7, 11] Ngược lại với các
phương pháp dựa trên meta-path thông thường [6], lợi thế của việc học biểu diễn không gian ngầm là khai thác được sự
tương đồng giữa các nodes mà không cần kết nối meta-path
Ví dụ, nếu các tác giả chưa bao giờ xuất bản bài báo nào trong cùng một địa điểm - hãy tưởng tượng một
người xuất bản tất cả 50 bài báo tại vKDD và người kia có 50 bài báo được xuất bản tại ICML Như vậy điểm tương
đồng Path- Sim của họ dựa trên “ A-P-C-P-A ” sẽ là số không - điều này sẽ được khắc phục bằng cách học biểu diễn
mạng (network representation learning)
Nội dung bài báo này được tổ chức như sau: Phần 2 bài toán, phần 3 trình bày phương pháp xây dựng mô hình
tìm kiếm tương đồng trên mạng dữ liệu không đồng nhất (HINs), phần 4 trình bày kết quả thực nghiệm, phần 5 kết luận
và hướng phát triển, phần 6 là lời cảm ơn, phần cuối cùng là tài liệu tham khảo
II BÀI TOÁN
Xét trong mạng học thuật không đồng nhất, làm thế nào chúng ta có thể khai thác chính xác “những chủ đề
nghiên cứu nào tương đồng và mới nhất hiện nay?”,“nhóm tác giả nào có những công trình nghiên cứu liên quan với
nhau?”, “hướng nghiên cứu nào hiện nay có sự tương đồng với mình?”, “Nhóm hội nghị nào có sự tương đồng với
nhau?" hay “Tài liệu tham khảo nào có giá trị nhất, phù hợp nhất với hướng nghiên cứu của mình hiện tại?”…
Câu hỏi đặt ra là “Làm thế nào để xây dựng một hệ thống tìm kiếm hiệu quả trên mạng dữ liệu không đồng
nhất?” - Để trả lời được câu hỏi trên chúng ta cần xây dựng mô hình tìm kiếm có khả năng giải quyết bài toán sau:
Bài toán: Làm thế nào để dự đoán chính xác và hiệu quả về vùng lân cận giữa các nodes không đồng nhất?
Trang 2Bài toán được phát biểu như sau: Xét trên tập các đối tượng (objects) ta có khoảng cách giữa các đối tượng là với Mục tiêu của bài toán là tìm top-k các đối tượng lân cận (nearest neighbor) bằng cách sắp xếp khoảng cách của các đối tượng từ
Ví dụ: danh sách top-k các đối tượng lân cận của o1, với k = 3 ta có danh sách khoảng cách được sắp xếp như sau: list = [ ] với
Xét trên mạng dữ liệu không đồng nhất (HINs) G = (V, E, T) và một meta-path
→ , mục tiêu của bài toán là tìm ra được vùng lân cận của node với
Để thực hiện được mục tiêu trên, chúng tôi sử dụng khoảng cách Euclidean để đo khoảng cách giữa 2 vector, ta
có vector và với là số chiều của vector Khoảng cách Euclidean được tính theo công thức sau:
Mô tả lý do sử dụng độ đo khoảng cách Euclidean: trường hợp (B), 2 vector cùng phương ( ⃗⃗⃗⃗ ⃗⃗⃗⃗ ) ,
Hình 1.
cosine( = 1 nhưng khoảng cách Euclidean là khá lớn
III PHƯƠNG PHÁP
Phương pháp khai phá dữ liệu trên mạng dữ liệu không đồng nhất dựa mô hình metapath2vec và metapath2vec ++ [12] để tính toán vùng lân cận giữa các nodes không đồng nhất
A Meta-path trong mạng không đồng nhất
Lược đồ liên kết (Network Schema - NS): Một lược đồ kết nối của một mạng dữ liệu (INs) là tập hợp mẫu của
các loại đỉnh và cung liên kết
Meta-path: Được định nghĩa là một loại lược đồ liên kết (NS) đặc biệt của đồ thị G - với hình thức tổng quát
như sau: NSG = (A,R), với tập (P) là tập các meta-paths của đồ thị G - một meta-path có dạng như sau: → Thông thường ta có thể biểu diễn tập meta-paths của một HINs dưới dạng trong trường hợp không có bất cứ quan hệ nào khác loại
Ví dụ: ta có meta-path → → → → và [tác giả, bài báo, hội nghị, bài báo, tác giả] đều được xem là một dạng của meta-path
B Phương pháp nhúng mạng không đồng nhất vào không gian vector (Heterogeneous Network Embedding)
Metapath2vec duy trì cấu trúc mạng không đồng nhất, sử dụng skip-gram và bước đi ngẫu nhiên (Random Walks) dựa trên meta-path trong các mạng không đồng nhất gọi là Meta-Path-Based Random Walks để biến node thành vector
Skip-gram không đồng nhất: Phương pháp metapath2vec kích hoạt skip-gram để học biểu diễn node cho
mạng không đồng nhất G = (V,E,T) với |TV| > 1 bằng cách tối đa hóa xác suất có bối cảnh không đồng nhất Nt (v), t
TV cho một node v:
∑ ∑ ∑ (2) Trong đó: Nt(v) biểu thị vùng lân cận của node v với các loại nodes tth và p (ct | v; θ) được định nghĩa là hàm
softmax [12],
∑
Trang 3Với là hàng thứ vth của X, biểu diễn vector nhúng cho node v
Meta-Path-Based Random Walks: Là phương pháp tạo ra các đường dẫn phản ánh mối tương quan về ngữ
nghĩa và cấu trúc giữa các loại nodes khác nhau, tạo điều kiện chuyển đổi các cấu trúc mạng không đồng nhất thành vector Giả sử ta có mạng không đồng nhất G = (V, E, T) và một lược đồ meta-path
→ , xác suất dịch chuyển tại bước i được xác định như biểu thức sau:
( | )
{
( ) ( ) ( )
Trong đó và biểu thị loại của vùng lân cận node
C Phương pháp Metapath2vec++ của tác giả Yuxiao Dong
Phương pháp lấy mẫu âm không đồng nhất để tính toán vùng lân cận giữa các nodes Đây là một phương pháp
mở rộng từ metapath2vec trong đó hàm softmax được chuẩn hóa theo bối cảnh từng loại node ct Đặc biệt,
được điều chỉnh theo kiểu node cụ thể t, nghĩa là:
Trong đó: Vt là tập hợp node loại t trong mạng
Metapath2vec ++ chỉ định một bộ phân bố đa cực cho mỗi loại vùng lân cận trong lớp đầu ra của mô hình Skip-gram kích thước của các phân bố đa cực đầu ra bằng số lượng node trong mạng
Thuật toán metapath2vec++ của tác giả Yuxiao Dong
Đầu vào (input): Mạng không đồng nhất G = (V, E,T), Lược đồ Meta-path , số lần đi bộ (walks) trên mỗi
node w, Chiều dài , kích thước nhúng d, kích thước vùng lân cận k
Đầu ra (output): Các nhúng Node ngầm (latent node embeddings) X R|V|×d
Khởi tạo X
for i = 1 w :
for :
MP = MetaPathBasedRandomWalk ;
X = SkipGramKhongDongNhat(X,k,MP);
return X;
MetaPathBasedRandomWalk :
MP[1] = ; for i = 1 l -1
Vẽ u theo biểu thức (4);
MP[i + 1] = u;
return MP;
SkipGramKhongDongNhat(X,k,MP):
for i = 1 l :
v = MP[i];
for j = max(0, i-k) min(i+k,l) & j ≠ i
c t = MP [j];
X new = X old - (biểu thức 6);
Độ dốc của thuật toán trên được dẫn xuất như sau:
∑ ( ( [ ])) Trong đó: [ ] là hàm cho biết có phải là node bối cảnh vùng lân cận hay không khi m = 0,
Mô hình metapath2vec++ được tác giả tối ưu hóa bằng thuật toán giảm độ dốc ngẫu nhiên
Trang 4D Tìm top k thực thể gần nhau thông qua cách tính khoảng cách Euclidean để tìm tác giả, hội nghị tương đồng
Chúng tôi tiến hành bổ sung thêm chức năng tìm kiếm top k các thực thể gần nhau thông qua cách tính khoảng cách Euclidean giữa 2 vector được trình bày bằng ngôn ngữ python như sau:
E Biểu diễn trực quan bằng thư viện D3.js để dễ dàng nhìn thấy độ tương đồng giữa các tác giả, hội nghị
Chúng tôi tiếp tục bổ sung thêm chức năng biểu diễn trực quan top-k các thực thể gần nhau bằng ngôn ngữ lập trình python và thư viện D3.js như sau:
1 Lưu kết quả vào file csv
2 Biểu diễn trực quan với thư viện D3.js
IV THỰC NGHIỆM
A Môi trường thực nghiệm
Thiết bị phần cứng (hardware) sử
dụng:
CPU: Intel(R) Core(TM) i7-7500U CPU @ 2.70 GHz 2.90 GHz
Bộ nhớ: 16 Gb RAM Hệ điều hành: Windows 10 Pro 64-bit (10.0.17763 N/A Build 17763)
Hệ quản trị CSDL đồ thị sử dụng: Neo4j 3.2.6 Community Edition, nền tảng Windows 64-bit
Bộ dữ liệu thực nghiệm: DBLP ngày 22/05/2019
Ngôn ngữ lập trình sử dụng: Python, Java, Javascripts, Cypher (Neo4J)
B Kết quả thực nghiệm
Trong bài báo này, chúng tôi thực nghiệm dựa trên phương pháp metapath2vec và metapath2vec++ của tác giả
Yuxiao Dong [12] với các meta-path “APVPA” biểu thị ngữ nghĩa không đồng nhất của các tác giả xuất bản các bài
báo tại cùng một địa điểm để thực hiện các bước đi ngẫu nhiên Nguồn dữ liệu được chúng tôi rút trích từ DBLP ngày 22/05/2019 bao gồm 1,408,606 tác giả, 1,965,362 bài báo và 1,746 địa điểm hội nghị
Tham số đầu vào như sau:
(1) Số bước đi trên mỗi node w: 1000; (4) Chiều dài l: 100;
(2) Kích thước d: 128; (5) Kích thước vùng lân cận k: 7;
(3) Kích thước mẫu âm: 5
Trang 5Sau khi tiến hành thực nghiệm chúng tôi thấy rằng, bằng cách mô hình hóa vùng lân cận metapath2vec kết hợp với kỹ thuật lấy mẫu âm không đồng nhất, metapath2vec++ có thể đạt được kết quả tốt nhất trong top-5 kết quả tương đồng cho hai câu truy vấn [Bảng 1] Điều đáng chú ý là metapath2vec++ có khả năng tự động tổ chức 2 loại nodes (Tác giả, Hội nghị) và ngầm học các mối quan hệ nội bộ giữa chúng [hình 2] và [hình 3] Ví dụ như dữ liệu training là các cặp dạng meta-path như XiangLi → PVLDB, YongLiu → Complexity…, metapath2vec++ có thể nhóm từng căp tác giả → hội nghị rất chặc chẽ (chẳng hạn như TaoWang → The Journal of Supercomputing [bảng 1]) Điều này không thể phát hiện được từ mô hình nhúng mạng thông thường
Bảng 1 Top-5 kết quả tìm kiếm tương đồng trên bộ dữ liệu DBLP
2 IEEE Data Eng Bull HaoWang IEEE Trans Contr Sys Techn LoetLeydesdorff
3 SIGMOD Record WeiLiu Computer Physics Communications ThomasS.Huang
4 IEEE Trans Knowl Data Eng YuWang Microelectronics Journal Han-ChiehChao
5 ACM Trans Database Syst JianChen IEEE Trans Intelligent Transportation
Các vector đại diện cho tác giả, hội nghị
Hình 2.
được nhúng bởi metapath2vec Các vector đại diện cho tác giả, hội nghị
Hình 3.
được nhúng bởi metapath2vec++
Top 10 tác giả tương đồng với “aXiangLi”, bằng
Hình 4.
phương pháp Metapath2vec Hình 5.Top 10 tác giả tương đồng với “aXiangLi” ” , bằng phương pháp Metapath2vec++
Chúng tôi tiếp tục thử nghiệm tìm Top-10 các thực thể gần nhau bằng cách tính khoảng cách Euclidean và nhận thấy 1 điều khá thú vị rằng, metapath2vec++ có khả năng tối đa hóa vùng lân cận tốt hơn rất nhiều so với metapath2vec Trong khi top-10 các tác giả gần nhau được xử lý bởi metapath2vec++ có khoảng cách Euclidean chỉ từ 0.03574 → 0.038779 [hình 5] thì với phương pháp metapath2vec [hình 4] khoảng cách Euclidean khá lớn từ 0.848738 → 0.938837 Và điều này cũng được thề hiện tương tự với các vector đại diện cho hội nghị như [hình 6] và [hình 7]
Trang 6Top 10 hội nghị tương đồng với “vPVLDB” bằng
Hình 6.
phương pháp Metapath2vec
Top 10 hội nghị tương đồng với “vPVLDB” bằng
Hình 7.
phương pháp Metapath2vec++
Biểu diễn trực quan kết quả top 10 tác giả và hội nghị tương đồng giúp người dùng dễ dàng nhận biết hơn
Biểu diễn trực quan top 10 tác giả tương đồng
Hình 8.
với “aXiangLi” Hình 9.Biểu diễn trực quan top 10 hội nghị tương đồng với “vPVLDB”
Ngoài ra chúng tôi cũng tiến hành thực nghiệm so sánh tốc độ xử lý (microsecond) giữa phương pháp query dữ liệu truyền thống trên cơ sở dữ liệu đồ thị Neo4j so với phương pháp tính khoảng cách Euclidean dựa trên kết quả của metapath2vec++ [bảng 2] Kết quả cho thấy, phương pháp này thật sự hữu ích với tốc độ trung bình vượt trội hơi rất nhiều
so với phương pháp query truyền thống, đây cũng là một yếu tố làm tăng thêm giá trị và tính thuyết phục cho việc áp dụng phương pháp metapath2vec++ để xây dựng công cụ tìm kiếm tương đồng trên mạng dữ liệu không đồng nhất
Minh họa sự biến thiên TB tổng cho Hình 10.
tất cả các lần chạy thực nghiệm tại [Bảng 2]
Bảng 2 So sánh tốc độ thực thi giữa phương pháp truyền thống với metapath2vec++
Thời gian thực thi trung bình (Microsecond)
Truy vấn meta-path A-P-V-P-A trên CSDL đồ thị Neo4j
V KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
Bài báo trình bày cách tiếp cận xây dựng mô hình tìm kiếm tương đồng trên mạng dữ liệu không đồng nhất dựa trên metapath2vec, metapath2vec++ [12] và độ đo khoảng cách Euclidean Đây là một giải pháp hiệu quả và dễ dàng tìm được các thực thể hay các nodes gần nhau
Tuy nhiên kết quả của bài báo này chỉ mới áp dụng cho 2 loại thực thể chính đó là tác giả và hội nghị, trong tương lai chúng tôi sẽ cố gắng phát triển thêm nhiều loại thực thể khác như tìm kiếm bài báo tương đồng phục vụ cho
Trang 7các công tác nghiên cứu hay có thể áp dụng để giải quyết các bài toán liên quan đến mạng xã hội phục vụ cho kinh doanh,
VI LỜI CẢM ƠN
Xin chân thành cảm ơn anh Phạm Thế Anh Phú đã hỗ trợ chúng tôi trong quá trình thực hiện bài báo này
TÀI LIỆU THAM KHẢO
[1] Yoshua Bengio, Aaron Courville, and Pierre Vincent 2013 Representation learning: A review and new perspectives IEEE TPAMI 35, 8 (2013), 1798-1828
[2] Ming Ji, Jiawei Han, and Marina Danilevsky 2011 Ranking-based classification of heterogeneous information networks In KDD ’11 ACM, 1298-1306
[3] Tomas Mikolov, Kai Chen, Greg Corrado, and Jeffrey Dean 2013 Efficient Estimation of Word Representations
in Vector Space CoRR abs/1301.3781 (2013
[4] Tomas Mikolov, Ilya Sutskever, Kai Chen, Greg S Corrado, and Jeff Dean 2013 Distributed representations of words and phrases and their compositionality In NIPS ’13 3111-3119
[5] Bryan Perozzi, Rami Al-Rfou, and Steven Skiena 2014 DeepWalk: Online Learning of Social Representations In KDD ’14 ACM, 701-710
[6] Yizhou Sun and Jiawei Han 2012 Mining Heterogeneous Information Networks: Principles and Methodologies Morgan & Claypool Publishers
[7] Yizhou Sun, Jiawei Han, Xifeng Yan, Philip S Yu, and Tianyi Wu 2011 Pathsim: Meta path-based top-k similarity search in heterogeneous information networks In VLDB ’11 992-1003
[8] Yizhou Sun, Brandon Norick, Jiawei Han, Xifeng Yan, Philip S Yu, and Xiao Yu 2012 Integrating Meta-path Selection with User-guided Object Clustering in Heterogeneous Information Networks In KDD ’12 ACM,
1348-1356
[9] Yizhou Sun, Yintao Yu, and Jiawei Han 2009 Ranking-based Clustering of Heterogeneous Information Networks with Star Network Schema In KDD ’09 ACM, 797-806
[10] Jian Tang, Meng Qy, Mingzhe Wang, Ming Zhang, Jun Yan, and Qiaozhu Mei 2015 LINE: Large-scale Information Network Embedding In WWW ’15 ACM
[11] Jing Zhang, Jie Tang, Cong Ma, Hanghang Tong, Yu Jing, and Juanzi Li 2015 Panther: Fast top-k similarity search on large networks In KDD ’15 ACM, 1445-1454
[12] YuxiaoDong, AnanthramSwami, Nitesh V.Chawla metapath2vec: ScalableRepresentationLearningfor HeterogeneousNetworks KDD’17, August 13-17, 2017, Halifax, NS, Canada
[13] Aditya Grover and Jure Leskovec 2016 Node2Vec: Scalable Feature Learning
[14] https://dblp.uni-trier.de/xml/ accessed on 22/05/2019
SIMILARITY SEARCH IN HETEROGENEOUS INFORMATION NETWORKS
Nguyen Van Gia, Do Phuc
ABTRACT: Mining Heterogeneous Information Networks is a new trend and direction in the field of data science Most of the
current publications also stop at the level of model algorithms rather than building a system to support today's essential demands This paper presents an approach to build a heterogeneous information network mining model for scientific researchs Specifically focus on finding similarities between entities in the heterogeneous academic network, including: Supporting finding objects in the information network such as: Author, co-author, conference calculating top-k neighborhoods between objects to support visual search and representation helps users have a better overview of the distribution, the similarity of the author group, the conference group Data source is extracted from DBLP on May 22, 2019 with 1,408,606 authors, 1,965,362 articles and 1,746 conference locations
Keywords: Heterogeneous Information Networks, Similarity; Heterogeneous Representation Learning, Metapath2vec,
Metapath2vec++, Network Embedding, word2vec, node2vec