(Nguồn: http://mathematica.stackexchange.com/ )
Trong đó, loại Graph Databases - cơ sở dữ liệu đồ thị, chuyên dùng để tổ chức, lưu trữ và truy vấn dữ liệu có dạng đồ thị, có tốc độ phổ biến nhanh nhất. Theo thống kê
của DB-Engines, đến tháng 01/2015, cơ sở dữ liệu quan hệ không tăng, các loại cơ sở dữ
liệu NoSql đều tăng, đặc biệt cơ sở dữ liệu đồ thị đã gia tăng độ phổ biến hơn 5 lần kể từ
tháng 01/2013 như trong Hình 1.2 (Andlinger, 2015).
Hình 1.2 — Sự phát triển của các loại cơ sở dữ liệu từ tháng 01/2013 — 05/2015
(Nguồn: http://db-engines. com/en/blog post//43 )
Các mối quan hệ phức tạp giữa các thực thể dữ liệu, như quan hệ bạn bè trên Facebook, trước kia không thể xử lý hiệu quả trên loại cơ sở dữ liệu quan hệ thì nay tổ chức dễ dàng và xử lý hiệu quả trên loại cơ sở dữ liệu đồ thị như Neo4J hoặc OrientDB. Bảng 1.1 so sánh hiệu quả khi tìm kiếm bạn bè giữa RDBMS, hệ quản trị cơ sở dữ liệu quan hệ, và Neo4J. Depth2 có nghĩa là tìm bạn của bạn, Depth3 có nghĩa là tìm bạn của bạn của bạn... Trong các trường hợp, thời gian thực thi của Neo4J đều nhanh hơn RDBMS. Đặc biệt, khi Depth = 5 thì RDBMS khơng thể hồn thành trong khi Neo4J cho kết quả rất ấn tượng chỉ 2,132 giây!
Có thể nói, Big Data và Graph Databases là hai nội dung nghiên cứu mới, hấp dẫn và đầy tiềm năng. Tuy nhiên, qua thông tin trên Internet, tại Việt Nam việc ứng dụng và khai thác Big Data cũng như Graph Databases còn còn khá mới mẻ và chưa đúng với tiềm năng và tầm quan trọng của nó. Nhiều doanh nghiệp Việt Nam đang nắm trong tay
nguồn Big Data nhưng chưa biết cách khai thác đúng mức. Vì vậy chọn
một đề tài để có
thể nghiên cứu và ứng dụng được cả hai kỹ thuật trên là điều cấp thiết. Đó là
lý do tơi
chọn đề tài “TÌM TẦM ẢNH HƯỞNG CỦA BÀI BÁO KHOA HỌC TRONG
MẠNG TRÍCH DẪN”3. Với đề tài này tơi có thể:
- Dùng kỹ thuật Graph Databases để tổ chức, lưu trữ và truy vấn mạng trích dẫn do bản chất của mạng trích dẫn là một đồ thị.
- Dùng kỹ thuật Big Data để phân tích và xử lý mạng trích dẫn do mạng trích dẫn thực nghiệm trong đề tài này khá lớn.
Bảng 1.1 — So sánh hiệu quả khi tìm kiếm bạn bè trong RDBMS và Neo4J
(Nguồn: http://bitnine.net/rdbms-vs-graph-db/?ckattempt= 1 )
Depth execution time(s)RDBMS execution time(s)Neo4J Records returned
2 0.016 0.01 ~2,500
3 30.267 0.168 ~110,000
4 1543.505 1.359 ~600,000
5 Unfinished 2.132 ~800,000
1.2. Mục tiêu của đề tài
1.2.1. Mục tiêu tổng quát
Mục tiêu tổng quát của đề tài là nghiên cứu, ứng dụng Big Data và cơ sở dữ liệu đồ thị để bắt kịp xu hướng của thế giới trong việc khai thác, ứng dụng chúng trong thực tiễn.
3 Những khái niệm liên quan đến đề tài như: mạng trích dẫn, tầm ảnh hưởng... sẽ được trình bày chi tiết ở Chương 2.
1.2.2. Mục tiêu cụ thể
Mục tiêu cụ thể của đề tài là xây dựng hệ thống Citation Network Explorer (CNE) để tìm tầm ảnh hưởng của bài báo khoa học trong mạng trích dẫn. Cụ thể, hệ thống CNE bao gồm các chức năng sau:
1. Tải cơ sở dữ liệu đồ thị vào hệ thống xử lý Big Data. 2. Biểu diễn trực quan đồ thị.
3. Tính PageRank cho các đỉnh trên đồ thị. 4. Tìm tầm ảnh hưởng của một bài báo. 5. Tìm bài báo có tầm ảnh hưởng nhiều nhất. 6. Tìm thành phần liên thơng chứa một bài báo. 7. Xác định độ lan tỏa của một bài báo theo thời gian.
1.3. Nội dung nghiên cứu
Để thực hiện đề tài, những nghiên cứu sau đây cần được thực hiện:
1. Nghiên cứu cách thu thập dữ liệu bài báo khoa học và xây dựng mạng trích dẫn.
2. Nghiên cứu về mạng trích dẫn và các thuật toán xác định tầm ảnh hưởng của bài báo trong mạng trích dẫn.
3. Nghiên cứu về cơ sở dữ liệu đồ thị, OrientDB và các nền tảng biểu diễn trực quan đồ thị.
4. Nghiên cứu về Big Data, Apache Spark, GraphX, ngơn ngữ lập trình Scala. 5. Xây dựng hệ thống Citation Network Explorer để khai thác mạng trích dẫn các
bài báo khoa học.
6. Nghiên cứu cách triển khai hệ thống trên Apache Spark Cluster gồm nhiều máy tính.
1.4. Các phương pháp nghiên cứu
1.4.1. Phương pháp tổng luận
Nghiên cứu tổng luận về Big Data, cơ sở dữ liệu đồ thị, Scala. Nghiên cứu này giúp tìm hiểu những gì trên thế giới đã thực hiện, chưa thực hiện và các vấn đề mở có liên quan đến những nội dung trên.
1.4.2. Phương pháp so sánh
Để thực hiện dự án cần phải chọn lựa hệ quản trị cơ sở dữ liệu đồ thị, ngơn ngữ lập trình, hệ điều hành, ... Do đó cần phải tiến hành so sánh các hệ quản trị cơ sở dữ liệu đồ thị, các ngơn ngữ lập trình, các hệ điều hành phù hợp với đề tài.
1.4.3. Phương pháp nghiên cứu tính khả thi
Trước khi thực hiện đề tài cần phải nghiên cứu tính khả thi của đề tài về: cơng nghệ, kinh tế, pháp lý, tiến độ công việc, ... Qua nghiên cứu lý thuyết sơ bộ và thực hiện các thực nghiệm cơ bản thì đề tài này hồn tồn khả thi.
1.4.4. Phương pháp nghiên cứu mô phỏng
Để xử lý Big Data thực sự cần phải có Server Cluster đủ mạnh gồm nhiều server có cấu hình cao. Do điều kiện trang thiết bị hạn chế nên đề tài này chỉ thực hiện trên ba máy tính thơng thường. Điều này có ảnh hưởng đến tốc độ xử lý cũng như qui mô dữ liệu được xử lý nhưng không làm thay đổi bản chất của bài tốn.
1.4.5. Phương pháp phân tích và thiết kế thuật toán
Do yêu cầu của đề tài gồm những nội dung như: 1. Tổ chức dữ liệu thô thành cơ sở dữ liệu đồ thị. 2. Tìm tầm ảnh hưởng của một bài báo.
3. Tìm bài báo có tầm ảnh hưởng nhiều nhất.
4. Xác định độ lan tỏa của một bài báo theo thời gian. 5. Biểu diễn trực quan đồ thị.
Để giải quyết mỗi u cầu tơi cần phải phân tích, áp dụng thuật tốn phù hợp cũng như thiết kế các thuật toán mới. Ví dụ: hiện có nhiều phương pháp xác định tầm ảnh hưởng của một bài báo, do đó cần phải phân tích các phương pháp cũng như thuật tốn xác định tầm ảnh hưởng để chọn lựa phương pháp phù hợp nhất để có thể cải tiến và áp dụng nó.
1.5. Đóng góp của đề tài
Big Data và cơ sở dữ liệu đồ thị là hai nội dung nghiên cứu mới và nhiều tiềm năng. Chính vì vậy đề tài này tập trung nghiên cứu về Big Data và cơ sở dữ liệu đồ thị
với mong muốn đóng góp một phần cơng sức của mình vào sự phát triển khoa học kỹ
thuật của Việt Nam.
Cụ thể đề tài này triển khai những kỹ thuật mới như sau:
- Sử dụng cơ sở dữ liệu đồ thị, cụ thể là OrientDB, để tổ chức, lưu trữ mạng trích dẫn các bài báo khoa học.
- Dùng nền tảng Apache Spark để khai thác Big Data, cụ thể là sử dụng GraphX để phân tích mạng trích dẫn.
- Dùng ngơn ngữ lập trình Scala kết hợp với Play Framework để xây dựng hệ thống.
- Dùng thư viện VisJs để biểu diễn trực quan mạng trích dẫn.
1.6. Các cơng cụ và cơng trình nghiên cứu tiêu biểu có liên quan
đến đề tài
1.6.1. Các cơng cụ phân tích mạng trích dẫn
1.6.1.1. CitNetExplorer
CitNetExplorer là một công cụ dùng để biểu diễn trực quan và phân tích mạng
trích dẫn các ấn phẩm khoa học của Leiden University, Hà Lan. Công cụ này cho phép nhập trực tiếp các mạng trích dẫn từ website cơ sở dữ liệu khoa học. Mạng trích dẫn có thể được khám phá theo cách tương tác, ví dụ bằng cách khai thác mạng chuyên sâu và
bằng cách xác định các nhóm các ấn phẩm có liên quan chặt chẽ. (citnetexplorer.nl, 2016)
1.6.1.2. VOSviewer
VOSviewer là một công cụ dùng để xây dựng và biểu diễn trực quan mạng đánh
giá ấn phẩm khoa học (bibliometric networks) của Leiden University, Hà Lan. Các mạng này có thể bao gồm các tạp chí, các nhà nghiên cứu, hoặc các ấn phẩm riêng biệt; và chúng được xây dựng dựa trên quan hệ đồng trích dẫn, đồng tác giả... VOSviewer cũng cung cấp chức năng khai thác văn bản mà có thể được sử dụng để xây dựng và biểu diễn trực quan mạng đồng xuất hiện các thuật ngữ quan trọng được trích ra từ nội dung của một tài liệu khoa học. (vosviewer.com, 2016)
1.6.1.3. Scholarometer
Scholarometer là một cơng cụ phân tích trích dẫn và giúp đánh giá tác động của
các ấn phẩm của một tác giả của Indiana University. Nó hoạt động như một mở rộng trình duyệt (browser extension) cho Google Chrome hoặc Mozilla Firefox. (libraryguides.helsinki.fi, 2016)
1.6.1.4. Publish or Perish
Publish or Perish là một công cụ lấy và phân tích trích dẫn học thuật của Giáo sư
Anne-Wil Harzing. Nó sử dụng Google Scholar và Microst Academic Search để lấy các trích dẫn thơ, sau đó phân tích và trình bày các số liệu sau đây:
- Tổng số các bài báo và tổng số trích dẫn.
- Số trích dẫn trung bình trên mỗi bài báo, số trích dẫn trên mỗi tác giả, số bài báo trên mỗi tác giả và số trích dẫn trên mỗi năm.
- H-index của Hirsch và các tham số liên quan.
- G-index của Egghe.
- H-index cùng xuất bản.
- Ba biến thể của h-index.
- Sự gia tăng trung bình hàng năm của h-index cá nhân.
- Phân tích số lượng tác giả trên bài báo. (Harzing, 2016)
1.6.2. Các cơng trình nghiên cứu liên quan
1.6.2.1. Cơng trình của tác giả Pengsheng Ji và Jiashun Jin
Tác giả Pengsheng Ji và Jiashun Jin ở University of Georgia và Carnegie Mellon University tập trung vào 3 chủ đề chính:
- Xác định trọng tâm: xác định khu vực "nóng" cũng như các tác giả có cộng tác nhiều nhất hoặc được trích dẫn nhiều nhất.
- Phát hiện cộng đồng: thảo luận các phương pháp phát hiện cộng đồng.
- Xác định năng suất, mẫu và xu hướng: xác định các mẫu ấn phẩm đáng chú ý của các tác giả và quá trình phát triển theo thời gian của họ. (Pengsheng Jiy, Jiashun Jinz, 2015)
1.6.2.2. Cơng trình của tác giả Vladimir Batagelj
Năm 1989, Hummon và Doreian (N.P. Hummon, P. Doreian, 1989) (N.P. Hummon, P. Doreian, 1990) (N.P. Hummon, P. Doreian, L.C. Freeman, 1990) đề xuất ba chỉ số (NPPC, SPLC, SPNP) để xác định phần quan trọng nhất của mạng trích dẫn một cách tự động - phân tích con đường chính.
Tác giả Vladimir Batagelj ở University of Ljubljana (Slovenia) cải tiến hiệu quả cách tính các chỉ số của Hummon và Doreian, từ đó có thể dùng để phân tích các mạng trích dẫn rất lớn với hàng ngàn đỉnh. (Batagelj, 2003)
1.6.2.3. Cơng trình của tác giả José A. de la Peũa
Tác giả José A. de la Pena ở Universidad Nacional Autónoma de México (Mexico) đề xuất một phương pháp để định nghĩa một hàm PS, cho bất kỳ tập hợp những bài báo khoa học S, trong đó phản ánh tính chất tồn cục của mạng trích dẫn kết hợp với S. Hàm này có thể được dùng như một cơng cụ để xác định tác động của bài báo khoa học. Ngồi ra, tác giả cịn thảo luận về sự khác biệt với các công cụ trước đây, đặc biệt là loại PageRank. (Pena, 2011)
I.6.2.4. Luận án Tiến sĩ của tác giả Huỳnh Ngọc Tín
Tác giả Huỳnh Ngọc Tín (Đại học Cơng Nghệ Thơng Tin, Tp.HCM) nghiên cứu phát triển các phương pháp khuyến nghị dựa trên phân tích mạng xã hội trong lĩnh vực học thuật. Nội dung cụ thể của luận án:
- Xây dựng mơ hình và phân tích các mạng xã hội khoa học từ kho dữ liệu bài báo. Tập trung vào các mạng: mạng đồng tác giả, mạng trích dẫn, mạng cộng tác của các cơ quan.
- Tập trung giải quyết các bài toán: khuyến nghị cộng tác, khuyến nghị các bài báo liên quan.
Tuy nhiên công trình này khơng đề cập đến cách tổ chức cơ sở dữ liệu, cách xử lý phân tán cũng như các kỹ thuật xử lý Big Data. (Tín, 2014)
CHƯƠNG 2:
CƠ SỞ LÝ THUYẾT
2.1. Một số định nghĩa liên quan đến đề tài
2.1.1. Mạng trích dẫn
Mạng trích dẫn là mạng chứa các tài liệu và được liên kết bằng các mối quan hệ trích dẫn. Khi một tài liệu di trích dẫn một tài liệu dj, chúng ta có thể biểu diễn điều này bằng một mũi tên đi từ nút đại diện cho di vào nút đại diện cho dj (en.wikipedia.org, 2016) như trong Hình 2.1. Bằng cách này các tài liệu từ một tập D tạo thành một đồ thị có hướng, được gọi là “đồ thị trích dẫn” hoặc “mạng trích dẫn” như trong Hình 2.2. Như vậy, mạng trích dẫn là một đồ thị có hướng, mỗi đỉnh là một tài liệu, mỗi cạnh là một quan hệ trích dẫn, độ lớn của đỉnh thể hiện tầm quan trọng của đỉnh đó trong đồ thị.
Hình 2.1 — Biểu diễn mối quan hệ trích dẫn: di trích dẫn dj
Mạng trích dẫn có một số đặc điểm nổi bật sau (en.wikipedia.org, 2016):
- Mạng trích dẫn có hướng vì các liên kết đi từ một tài liệu này đến tài liệu
khác.
- Mạng trích dẫn khơng có chu trình4 vì một tài liệu chỉ có thể trích dẫn các tài liệu đang tồn tại.
- Tất cả các cạnh trong mạng trích dẫn hướng về quá khứ.
- Đỉnh và các cạnh thêm vào mạng trích dẫn là vĩnh viễn và khơng thể gỡ bỏ sau này.
2.1.2. Mạng trích dẫn các bài báo khoa học
Mạng trích dẫn các bài báo khoa học là mạng trích dẫn chứa các bài báo khoa học. Cụ thể nó là một đồ thị có hướng, mỗi đỉnh là một bài báo khoa học, mỗi cạnh
là một quan hệ trích dẫn, độ lớn của đỉnh thể hiện tầm quan trọng của bài báo tương ứng với đỉnh đó trong đồ thị như trong Hình 2.2.
Hình 2.2 — Ví dụ về mạng trích dẫn.
Do mạng trích dẫn các bài báo khoa học là đồ thị nên cách tốt nhất là dùng hệ quản trị cơ sở dữ liệu đồ thị để tổ chức, lưu trữ nó. Hơn nữa, trên thực tế số lượng các bài báo khoa học là khổng lồ, tốc độ gia tăng nhanh chóng nên mạng trích dẫn các bài báo khoa học là một đồ thị rất lớn. Vì vậy cần phải dùng kỹ thuật xử lý Big Data để phân tích đồ thị.
2.1.3. Tầm ảnh hưởng
2.1.3.1. Tầm ảnh hưởng của một bài báo
Tầm ảnh hưởng có thể được định nghĩa là năng lực của một nhà nghiên cứu có ảnh hưởng đến ý kiến, ý tưởng, phương pháp thử nghiệm, hoặc lựa chọn các đề tài nghiên cứu của nhà nghiên cứu khác. Trong nghiên cứu khoa học, tầm ảnh hưởng đồng nghĩa với tầm quan trọng. Các nhà nghiên cứu được đánh giá là có ảnh hưởng thường được chọn cho các khoản tài trợ, sự ưu đãi... để hỗ trợ cho các chương trình nghiên cứu của họ. Tầm ảnh hưởng có thể được dùng như một thước đo để đánh giá công việc và kết quả nghiên cứu. Thước đo tầm ảnh hưởng tốt hơn giúp các tổ chức đưa ra quyết định tốt hơn và cải tiến các qui trình khác nhau như: tuyển dụng, tài trợ kinh phí, khuyến mãi và trao các giải thưởng... (S. Bergsma, R. L. Mandryk, G. McCalla, 2014)
Tầm ảnh hưởng của một bài báo có thể được xác định bằng hai cách:
- Đếm số lượng bài báo tham khảo đến bài báo gốc trực tiếp hoặc gián tiếp.
- Dùng thuật toán PageRank.
2.1.3.2. Đếm số lượng bài báo tham khảo
Để xác định tầm ảnh hưởng của một bài báo ta có thể đếm số lượng bài báo tham khảo đến bài báo gốc trực tiếp hoặc gián tiếp. Đây là cách đơn giản nhất, dù tính chính xác khơng cao nhưng nó cũng có ý nghĩa nhất định. Với cách này, ta có thể chia tầm ảnh hưởng thành ba loại:
1. Tầm ảnh hưởng theo chiều rộng (hay tầm ảnh hưởng trực tiếp): được xác định bằng số lượng bài báo tham khảo trực tiếp đến bài báo gốc. Nói cách khác, tầm ảnh hưởng theo chiều rộng chính là bậc trong của đỉnh đại diện cho bài báo trên đồ thị.
Ví dụ, như trong Hình 2.3, tầm ảnh hưởng theo chiều rộng của bài báo A là 3, của