STT Loại đối tượng Các chỉ số
1. Bài báo - Số lượng trích dẫn. 2. Tác giả - Số lượng bài báo.
- Số lượng trích dẫn.
- Số trích dẫn trung bình của một bài báo. - Số lượng đồng tác giả.
- H-index. - G-index.
3. Tổ chức - Số lượng bài báo. - Số lượng trích dẫn.
- Số trích dẫn trung bình của một bài báo. - Số lượng tác giả.
- H-index. - G-index.
4. Hội thảo - Số lượng bài báo. - Số lượng trích dẫn.
- Số trích dẫn trung bình của một bài báo. - G-index.
5. Tờ báo - Số lượng bài báo. - Số lượng trích dẫn.
- Số trích dẫn trung bình của một bài báo. - G-index.
6. Tạp chí - Số lượng bài báo. - Số lượng trích dẫn.
- Số trích dẫn trung bình của một bài báo. - G-index.
Ở đây có một chỉ số khá đặc biệt là số trích dẫn của một bài báo, nó có thể được tính một cách dễ dàng bằng cách lấy số lượng trích dẫn chia cho số lượng bài báo. Vì vậy khơng cần phải tính tốn và lưu trữ chỉ số này, nó có thể được tính tốn ngay tại thời điểm truy xuất dữ liệu từ hai chỉ số số lượng bài báo và số lượng trích dẫn.
Để tăng thêm hiệu quả khi sử dụng các chỉ số, chương trình sẽ tính tốn với nhiều cấp độ gom cụm khác nhau:
Cấp độ tổng thể: Việc đếm và tính tốn khơng có ràng buộc nào.
Cấp độ lĩnh vực con: Việc đếm và tính tốn sẽ bị ràng buộc với điều kiện các bài báo thuộc lĩnh vực con tương ứng.
Cấp độ từ khóa: Việc đếm và tính tốn sẽ bị ràng buộc với điều kiện các bài báo có liên hệ đến từ khóa tương ứng.
Việc tính tốn với nhiều cấp độ gom cụm này sẽ giúp cho việc đánh giá các chỉ số dễ dàng hơn. Việc sử dụng các chỉ số để đánh giá các đối tượng cũng hiệu quả, chính xác hơn. Từ đó, hệ thống thư viện điện tử được xây dựng với các chỉ số này cũng hoạt động tốt hơn.
Các chỉ số như số lượng bài báo, số lượng trích dẫn, số đồng tác giả, số tác giả có thể được thực hiện thông qua thao tác đếm các đối tượng trong cơ sở dữ liệu quan hệ. Vì vậy các chỉ số này sẽ được cài đặt tính tốn bằng các sử dụng
giúp cho việc tính tốn nhanh chóng, hiệu quả hơn, giảm thiểu sử dụng tài nguyên vì stored procedure đã được biên dịch sẵn và lưu trong server.
Các chỉ số như h-index, g-index có cách tính phức tạp hơn nên khó cài đặt và bảo trì với stored procedure. Vì vậy các chỉ số này sẽ được viết chương trình để tính tốn riêng.
Các thao tác tính tốn sẽ được tiến hành trực tiếp trên cơ sở dữ liệu thu thập được từ web crawler. Để lưu trữ kết quả tính tốn, ta sẽ thêm vào các bảng cần thiết. Kết quả của việc thêm vào các bảng này ta sẽ thu được một cơ sở dữ liệu hồn chỉnh, có cả dữ liệu chỉ mục các bài báo khoa học được thu thập về và dữ liệu chỉ số được tính tốn. Cơ sở dữ liệu này cũng sẽ được sử dụng cho hệ thống thư viện điện tử sau một số tinh chỉnh nhằm tăng hiệu quả.
Mỗi loại đối tượng được tính tốn sẽ có một bảng để lưu dữ liệu chỉ số tổng quát, một bảng để lưu dữ liệu chỉ số trong mỗi lĩnh vực con, một bảng nữa để lưu dữ liệu chỉ số trong mỗi từ khóa. Các bảng này có khóa chính được lấy tương ứng từ các bảng dữ liệu chính của đối tượng tương ứng. Tuy nhiên các khóa chính này khơng phải là khóa ngoại, vì vậy các bảng lưu dữ liệu tính tốn sẽ nằm tách biệt nhau và tách biệt với các bảng dữ liệu chính thu thập về, như vậy sẽ đơn giản hơn khi thực hiện tính tốn, tránh các ràng buộc khơng cần thiết.
Để giảm kích thước lưu trữ, ta cũng sẽ quy ước rằng các đối tượng có các chỉ số cần lưu bằng khơng thì sẽ khơng cần lưu, tức là các đối tượng khơng tồn tại trong các bảng lưu trữ này thì coi như các chỉ số đều bằng khơng.
STT Tên bảng Tên cột Kiểu dữ liệu
Mô tả
1. _Rank_Paper idPaper INT Mã bài báo.
citationCount INT Số lượng trích dẫn. rank INT Thứ hạng.
2. _Rank_Paper _Subdomain
idPaper INT Mã bài báo. idSubdomain INT Mã lĩnh vực con.
citationCount INT Số lượng trích dẫn trong lĩnh vực con đang xét. rank INT Thứ hạng.
3. _Rank_Paper
_Keyword idPaper INT Mã bài báo. idKeyword INT Mã từ khóa.
citationCount INT Số lượng trích dẫn trong từ khóa đang xét.
rank INT Thứ hạng. 4. _Rank_Autho
r idAuthor INT Mã tác giả. publicationCou
nt INT Số lượng bài báo. citationCount INT Số lượng trích dẫn. coAuthorCount INT Số lượng đồng tác giả. h_index INT h-index
g_index INT g-index rank INT Thứ hạng. 5. _Rank_Autho
r_Subdomain
idAuthor INT Mã tác giả. idSubdomain INT Mã lĩnh vực con.
publicationCou
nt INT Số lượng bài báo trong lĩnh vực con đang xét. citationCount INT Số lượng trích dẫn trong
lĩnh vực con đang xét. coAuthorCount INT Số lượng đồng tác giả. h_index INT h-index
g_index INT g-index rank INT Thứ hạng. 6. _Rank_Autho
r_Keyword idAuthor INT Mã tác giả. idKeyword INT Mã từ khóa. publicationCou
nt
INT Số lượng bài báo trong từ khóa đang xét.
citationCount INT Số lượng trích dẫn trong từ khóa đang xét.
coAuthorCount INT Số lượng đồng tác giả. h_index INT h-index
g_index INT g-index rank INT Thứ hạng. 7. _Rank_Org idOrg INT Mã tổ chức.
publicationCou nt
INT Số lượng bài báo. citationCount INT Số lượng trích dẫn. authorCount INT Số lượng tác giả trong tổ
chức. h_index INT h-index g_index INT g-index rank INT Thứ hạng. 8. _Rank_Org_S idOrg INT Mã tổ chức.
ubdomain idSubdomain INT Mã lĩnh vực con. publicationCou
nt
INT Số lượng bài báo trong lĩnh vực con đang xét.
citationCount INT Số lượng trích dẫn trong lĩnh vực con đang xét. authorCount INT Số lượng tác giả trong tổ
chức. h_index INT h-index g_index INT g-index rank INT Thứ hạng. 9. _Rank_Org_
Keyword
idOrg INT Mã tổ chức. idKeyword INT Mã từ khóa. publicationCou
nt INT Số lượng bài báo trong từ khóa đang xét. citationCount INT Số lượng trích dẫn trong từ
khóa đang xét.
authorCount INT Số lượng tác giả trong tổ chức.
h_index INT h-index g_index INT g-index rank INT Thứ hạng. 10. _Rank_Confe
rence
idConference INT Mã hội thảo. publicationCou
nt INT Số lượng bài báo. citationCount INT Số lượng trích dẫn. g_index INT g-index
rank INT Thứ hạng. 11. _Rank_Confe idConference INT Mã hội thảo.
rence_Subdo
main idSubdomain INT Mã lĩnh vực con. publicationCou
nt
INT Số lượng bài báo. citationCount INT Số lượng trích dẫn. g_index INT g-index
rank INT Thứ hạng. 12. _Rank_Confe
rence_Keywo rd
idConference INT Mã hội thảo. idKeyword INT Mã từ khóa. publicationCou
nt INT Số lượng bài báo. citationCount INT Số lượng trích dẫn. g_index INT g-index
rank INT Thứ hạng. 13. _Rank_Journ
al idJournal INT Mã tờ báo. publicationCou
nt INT Số lượng bài báo. citationCount INT Số lượng trích dẫn. g_index INT g-index
rank INT Thứ hạng. 14. _Rank_Journ
al_Subdomai n
idJournal INT Mã tờ báo. idSubdomain INT Mã lĩnh vực con. publicationCou
nt
INT Số lượng bài báo. citationCount INT Số lượng trích dẫn. g_index INT g-index
rank INT Thứ hạng. 15. _Rank_Journ idJournal INT Mã tờ báo.
al_Keyword idKeyword INT Mã từ khóa. publicationCou
nt
INT Số lượng bài báo. citationCount INT Số lượng trích dẫn. g_index INT g-index
rank INT Thứ hạng. 16. _Rank_Maga zine idMagazine INT Mã tạp chí. publicationCou nt
INT Số lượng bài báo. citationCount INT Số lượng trích dẫn. g_index INT g-index
rank INT Thứ hạng. 17. _Rank_Maga
zine_Subdom ain
idMagazine INT Mã tạp chí. idSubdomain INT Mã lĩnh vực con. publicationCou
nt INT Số lượng bài báo. citationCount INT Số lượng trích dẫn. g_index INT g-index
rank INT Thứ hạng. 18. _Rank_Maga
zine_Keywor d
idMagazine INT Mã tạp chí. idKeyword INT Mã từ khóa. publicationCou
nt
INT Số lượng bài báo. citationCount INT Số lượng trích dẫn. g_index INT g-index
4.3.3 Cài đặt
Như đã phân tích, việc tính tốn sẽ được cài đặt làm hai phần: stored procedure và chương trình tính tốn riêng.
Stored procedure được sử dụng là của cơ sở dữ liệu MySQL. Ngoài những ưu điểm chung của stored procedure, MySQL cung cấp một số tính năng đặc biệt giúp việc cài đặt và tính tốn hiệu quả hơn, chẳng hạn như cú pháp INSERT IGNORE và INSERT ON DUPLICATE KEY UPDATE.
Chương trình tính tốn các chỉ số h-index và g-index được cài đặt bằng ngôn ngữ Java, với các công nghệ và cơng cụ tương tự như chương trình web crawler. Chương trình này cũng khơng sử dụng framework mà dùng code Java thuần túy để dễ dàng tinh chỉnh hiệu suất. Chương trình này kết nối đến cơ sở dữ liệu MySQL dùng MySQL Java Connector 5.1.16.
Kiến trúc của chương trình cũng là kiến trúc phân tầng với các tầng như của như crawler:
Controller: Quản lý các hoạt động của chương trình.
Business Logic: Thực hiện các chức năng chính của chương trình: tính tốn các chỉ số.
Data Access: Cung cấp giao tiếp giữa chương trình và Database. Database: Cơ sở dữ liệu quan hệ quản lý dữ liệu của hệ thống.
Chương trình được tổ chức thành các package tương tự như của web crawler, điểm khác biệt là thay vì có các controller và business logic thực hiện chức năng thu thập dữ liệu thì chương trình này có package calculateindexes.controller chứa lớp CalculateIndexes điều khiển hoạt động của chương trình và các hàm chức năng chính thực hiện việc tính tốn được viết trong lớp CalculateIndex ở package uit.guruofpub.utility. Các lớp khác như hằng số, data access, connection, data transfer object được sử dụng lại từ chương trình web crawler.
4.3.4 Kết quả
Các chỉ số sẽ được tính tốn trên một bản dữ liệu cụ thể và kết quả sẽ chỉ có ý nghĩa khi sử dụng trên bản dữ liệu đó. Khi hệ thống đi vào hoạt động thực tế, việc tính tốn các chỉ số này sẽ được tiến hành định kì nếu dữ liệu được thêm vào đều đều, hoặc sẽ tính đột xuất sau mỗi lần thêm một lượng lớn dữ liệu.
Dữ liệu thu thập hiện tại không phân biệt tờ báo (Journal) với tạp chí (Magazine) nên cả hai sẽ được xếp vào cùng loại tờ báo khi tính tốn. Việc tính tốn mẫu được thực hiện trên hai bản dữ liệu khác nhau với hai cấu hình phần cứng khác nhau:
Bản dữ liệu 1: ngày 19 tháng 10 năm 2011
Bảng 4.8 – Dữ liệu mẫu 1 dùng để tính tốn các chỉ số đánh giá.
STT Tên bảng Giải thích Số bản ghi
1. Author Tác giả 73000
2. Conference Hội thảo 222
3. Domain Lĩnh vực 1
4. Journal Tờ báo 265
5. Keyword Từ khóa 15045
6. Org Tổ chức 3499
7. Paper Bài báo 594840
8. Subdomain Lĩnh vực con 24
9. Author_Paper Số liên kết tác giả với bài
báo 241540
10. Paper_Keyword Số liên kết bài báo với từ
khóa 301796
11. Paper_Paper Số liên kết bài báo trích dẫn bài báo khác
1973172 12. Subdomain_Paper Số liên kết bài báo thuộc
Bản dữ liệu 2: ngày 08 tháng 11 năm 2011
Bảng 4.9 – Dữ liệu mẫu 2 dùng để tính tốn các chỉ số đánh giá.
STT Tên bảng Giải thích Số bản ghi
13. Author Tác giả 230413
14. Conference Hội thảo 518
15. Domain Lĩnh vực 1
16. Journal Tờ báo 476
17. Keyword Từ khóa 22148
18. Org Tổ chức 5397
19. Paper Bài báo 975203
20. Subdomain Lĩnh vực con 24
21. Author_Paper Số liên kết tác giả với bài
báo 785537
22. Paper_Keyword Số liên kết bài báo với từ khóa
928722 23. Paper_Paper Số liên kết bài báo trích
dẫn bài báo khác 3168061 24. Subdomain_Paper Số liên kết bài báo thuộc
lĩnh vực con 372328
Cấu hình phần cứng 1:
Bảng 4.10 – Cấu hình phần cứng 1
Machine name: WIN2008
Operating System: Windows Server 2008 R2 Enterprise 64-bit (6.1, Build 7601) Service Pack 1 (7601.win7sp1_gdr.110622-1506)
BIOS: Default System BIOS
Processor: Intel(R) Xeon(R) CPU E5504 @ 2.00GHz (4 CPUs), ~2.0GHz Memory: 2048MB RAM
HDD: 136 GB SAS 10000 rpm
Cấu hình phần cứng 2:
Bảng 4.11 – Cấu hình phần cứng 2
Machine name: UITSVR
Operating System: Windows Server® 2008 Standard without Hyper-V (6.0, Build 6002) Service Pack 2 (6002.vistasp2_gdr.110617-0336)
System Manufacturer: IBM
System Model: IBM x3850-[88642TA] BIOS: Default System BIOS
Processor: Intel(R) Xeon(TM) CPU 3.00GHz (8 CPUs), ~3.0GHz Memory: 3326MB RAM
HDD: 160 GB Sata 10000 rpm
Cả hai máy tiến hành thử nghiệm đều sử dụng JVM của Sun Oracle với phiên bản 1.7.0_01, mơi trường lập trình là Netbeans 7.01 và Max Java Heap Size là 512 MB cho máy có cấu hình phần cứng 1 và 1200 MB cho máy có cấu hình phần cứng 2. Hệ quản trị cơ sở dữ liệu được sử dụng là MySQL 5.6.
Thời gian tính tốn:
Vì hạn chế về thời gian thử nghiệm cũng như phần cứng máy tính, một số thử nghiệm khơng được thực hiện, kết quả của các thử nghiệm này không ảnh hưởng lớn đến các kết luận sử dụng heuristic.
Bảng 4.12 – Kết quả thử nghiệm cài đặt các chỉ số.
STT Nội dung Thời gian
Dữ liệu 1
cứng 1 cứng 1 cứng 2 cứng 2
1. Chạy stored procedure tính số bài báo, số trích dẫn, số tác giả của tổ chức, số đồng tác giả của tác giả. 38 phút 32 giây 4 giờ 10 phút 11 giây 30 phút 15 giây 3 giờ 20 phút 10 giây 2. Tính tốn h-index, g- index cho các tác giả.
15 phút 6 giây 1 giờ 36 phút 7 giây 12 phút 5 giây 1 giờ 17 phút 15 giây 3. Tính tốn h-index, g- index cho các tổ chức. 13 phút 50 giây 1 giờ 29 phút 11 giây 10 phút 18 giây 1 giờ 11 phút 17 giây 4. Tính tốn h-index, g-
index cho các hội thảo.
2 phút 45 giây 12 phút 55 giây 2 phút 7 giây 10 phút 2 giây 5. Tính tốn h-index, g-
index cho các tờ báo. 4 phút 30 giây 20 phút 12 giây 3 phút 5 giây 16 phút 12 giây 6. Tính toán h-index, g-
index cho các tác giả trong các lĩnh vực con. 51 phút 25 giây 5 giờ 50 phút 35 giây 41 phút 32 giây 4 giờ 38 phút 33 giây 7. Tính tốn h-index, g- index cho các tổ chức trong các lĩnh vực con. 18 phút 18 giây 1 giờ 54 phút 54 giây 14 phút 25 giây 1 giờ 31 phút 48 giây 8. Tính tốn h-index, g-
index cho các hội thảo trong các lĩnh vực con. 3 phút 12 giây 14 phút 53 giây 2 phút 11 giây 11 phút 22 giây 9. Tính tốn h-index, g-
index cho các tờ báo trong các lĩnh vực con. 3 phút 26 giây 19 phút 47 giây 2 phút 45 giây 15 phút 40 giây 10. Tính tốn h-index, g-
index cho các tác giả với các từ khóa. Chưa thử nghiệm 11. Tính tốn h-index, g- index cho các tổ chức với các từ khóa. 12. Tính tốn h-index, g-
với các từ khóa. 13. Tính tốn h-index, g-
index cho các tờ báo với các từ khóa.
Kết quả này được thể hiện trong các biểu đồ sau:
Biểu đồ 4.1 – Biểu đồ thời gian tính tốn các chỉ số.
Nhận xét:
Qua kết quả thực nghiệm ta nhận thấy cả hai yếu tố khối lượng dữ liệu và cấu hình phần cứng đều ảnh hưởng đến thời gian tính tốn. Thời gian tính tốn cụ thể có thể được cải thiện bằng cách tối ưu chương trình tính tốn, cịn tỷ lệ thời gian giữa các tác vụ thì gần như không đổi.
Sự thay đổi khối lượng dữ liệu làm thay đổi đáng kể thời gian tính tốn. Khi thay đổi từ dữ liệu một sang dữ liệu hai, thời gian tính tốn của hầu hết các chỉ số đều tăng từ 6 đến 7 lần, trung bình tăng khoảng 6,7 lần.