ĐẠI HỌC THÁI NGUYÊN

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

TRẦN THÁI SƠN

NGHIÊN CỨU MỘT SỐ PHƯƠNG PHÁP TÌM KIẾM XẤP XỈ VÀ XÂY DỰNG ỨNG DỤNG HỖ TRỢ LỰA CHỌN PHẢN BIỆN CHO TẠP CHÍ KHOA HỌC VÀ CÔNG NGHỆ ĐẠI HỌC THÁI NGUYÊN

Chuyên ngành: Khoa học máy tính

Mã số: 8480101

LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH

Người hướng dẫn khoa học: TS. NGUYỄN ĐÌNH DŨNG

THÁI NGUYÊN, 2018

iii

MỤC LỤC LỜI CẢM ƠN ...................................................................................................... vi

LỜI CAM ĐOAN ................................................................................................ vii

DANH MỤC CÁC BẢNG ................................................................................. viii

DANH MỤC CÁC HÌNH VẼ .............................................................................. ix

LỜI MỞ ĐẦU ...................................................................................................... xi

CHƯƠNG 1. TỔNG QUAN ................................................................................. 1

1.1. Tổng quan về hệ thống hỗ trợ lựa chọn phản biện ................................... 1

1.1.1. Thuật toán Kalmukov ......................................................................... 2

1.1.2. Bài toán lựa chọn phản biện CMACRA ............................................... 6

1.1.3. Lựa chọn phản biện với thuật toán xấp xỉ 1/3 ...................................... 9

CHƯƠNG 2. CƠ SỞ LÝ THUYẾT ................................................................... 11

2.1. Một số phương pháp so khớp mẫu trong tính toán độ gần tựa ngữ nghĩa 11

2.1.1. Thuật toán Brute Force ....................................................................... 11

2.1.2. Thuật toán Knuth-Morris-Pratt ........................................................... 12

2.2. Phương pháp quy hoạch động và ứng dụng trong lựa chọn phản biện .... 13

2.2.1. Phương pháp quy hoạch động ............................................................. 14

2.2.2. Thuật toán lựa chọn phản biện ............................................................ 16

2.3. Otomat hữu hạn mờ và ứng dụng trong lựa chọn phản biện bài báo ........ 20

2.3.1. Độ gần tựa ngữ nghĩa theo mô hình Otomat hữu hạn mờ .................. 20

2.3.2. Thuật toán lựa chọn phản biện ............................................................ 22

CHƯƠNG 3. XÂY DỰNG ỨNG DỤNG........................................................... 25

3.1. Phát biểu bài toán ...................................................................................... 25

3.2. Mô tả yêu cầu hệ thống ............................................................................. 25

3.3. Phân tích hệ thống ..................................................................................... 30

3.3.1. Xác định Actor và Use Case ............................................................... 30

3.3.2. Biểu đồ Use Case ................................................................................ 32

3.3.3. Biểu đồ lớp phân tích ......................................................................... 43

3.3.4. Biểu đồ trạng thái ............................................................................... 44

3.4. Thiết kế hệ thống ....................................................................................... 44

3.4.1. Biểu đồ tuần tự .................................................................................... 44

3.4.2. Biểu đồ lớp chi tiết .............................................................................. 53

iv

3.4.3. Các đối tượng cơ sở dữ liệu và các chức năng của chương trình ....... 54

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN .......................................................... 71

TÀI LIỆU THAM KHẢO ................................................................................... 72

v

LỜI CẢM ƠN

Luận văn này được hoàn thành tại Trường Đại học Công nghệ Thông tin và

Truyền thông dưới sự hướng dẫn của TS. Nguyễn Đình Dũng. Tác giả xin bày tỏ lòng

biết ơn tới các thầy cô giáo thuộc Trường Đại học Công nghệ Thông tin và Truyền

thông đã tạo điều kiện và giúp đỡ tác giả trong quá trình học tập và làm luận văn tại

Trường, đặc biệt tác giả xin bày tỏ lòng biết ơn tới TS. Nguyễn Đình Dũng đã tận tình

hướng dẫn và cung cấp nhiều tài liệu cần thiết để tác giả có thể hoàn thành luận văn

đúng thời hạn.

Xin chân thành cảm ơn anh chị em học viên cao học và bạn bè đồng nghiệp đã

trao đổi, động viên và khích lệ tác giả trong quá trình học tập và làm luận văn tại

vi

Trường Đại học Công nghệ Thông tin và Truyền thông – Đại học Thái Nguyên.

LỜI CAM ĐOAN

Tôi xin cam đoan luận văn này do chính tôi thực hiện, dưới sự hướng dẫn khoa

học của TS. Nguyễn Đình Dũng, các kết quả lý thuyết được trình bày trong luận văn

là sự tổng hợp từ các kết quả đã được công bố và có trích dẫn đầy đủ, Chương trình

ứng dụng trong luận văn này được tác giả thực hiện là hoàn toàn trung thực, nếu sai tôi

hoàn toàn chịu trách nhiệm.

Thái Nguyên, tháng 4 năm 2018

Học viên cao học

vii

Trần Thái Sơn

DANH MỤC CÁC BẢNG

Bảng 1: Các từ khóa của phản biện (ReviewerKeyword).............................................17

Bảng 2. Khoảng cách chuyên môn (ExpertiseDistance)..............................................17

Bảng 3. Bảng RK minh họa thuật toán……………………............................................19

Bảng 4. Kết quả thực hiện thuật toán ………………..................................................19

Bảng 5. Xác định các tác nhân……………….............................................................30

Bảng 6. Xác định các use case ……………….............................................................32

Bảng 7. Scenario cho use case Đăng nhập ………………...........................................33

Bảng 8. Scenario cho use case Cập nhật lý lịch sơ lược ..............................................35

Bảng 9. Scenario cho use case Tổng hợp bài báo theo phản biện................................36

Bảng 10. Scenario cho use case Tổng hợp bài báo theo tác giả……...........................39

Bảng 11. Scenario cho use case Chọn bài báo phản biện.............................................42

Bảng 12. Bảng tblCriticism lưu các thông tin về phản biện.........................................55

Bảng 13. Bảng tblJournal lưu các thông tin về bài báo................................................56

Bảng 14. Bảng tblChuyensan lưu trữ danh mục các chuyên san..................................57

Bảng 15. Bảng tblCri_Journal_and_Book ………………...........................................57

Bảng 16. Bảng tblCri_ProcessOfWork ………............................................................57

Bảng 17. Bảng tblCri_ScientificResearch....................................................................57

Bảng 18. Bảng tblGender lưu thông tin danh mục giới tính.........................................57

Bảng 19. Bảng tblKeywordKHX..................................................................................58

Bảng 20. Bảng tblKeywordNLY..................................................................................58

Bảng 21. Bảng tblKeywordTNK………………..........................................................58

Bảng 22. Bảng tblManageRegist………………..........................................................58

Bảng 23. Bảng tblMenu lưu thông tin danh mục menu trang chủ................................58

Bảng 24. Bảng tblPermission lưu thông tin danh mục phân quyền trong hệ thống....59

Bảng 25. Bảng tblResultOfCriticism ………………………………………………...59

viii

Bảng 26. Bảng tblUser lưu thông tin người sử dụng hệ thống ....................................59

DANH MỤC CÁC HÌNH VẼ

Hình 1. Bước 1-Xác định ma trận độ tương tự.............................................................3

Hình 2. Bước 2 – Xây dựng mảng cấu trúc invlovedReviewers; Bước 3 – Xử lý

involvedReviewers và phân bài báo cho phản biện tại hàng đầu tiên của ma trận K;

Bước 4 – Kết thúc lựa chọn phản biện………...............................................................4

Hình 3. Nhóm Use case Quản trị hệ thống...................................................................32

Hình 4. Use case Đăng nhập.........................................................................................33

Hình 5. Nhóm Use case Quản lý phản biện..................................................................34

Hình 6. Phân rã Use case Cập nhật thông tin phản biện...............................................34

Hình 7. Phân rã Use case Tổng hợp bài báo theo phản biện........................................35

Hình 8. Use case Thống kê và tìm kiếm.......................................................................36

Hình 9. Nhóm Use case Cập nhật bài báo....................................................................37

Hình 10. Phân rã Use case Cập nhật bài báo khoa học tự nhiên..................................37

Hình 11. Phân rã Use case Cập nhật bài báo khoa học Xã hội và Nhân văn................38

Hình 12. Phân rã Use case Cập nhật bài báo Nông Lâm Ngư Y Sinh..........................38

Hình 13. Nhóm Use case Tổng hợp bài báo theo tác giả..............................................39

Hình 14. Use case Đổi mật khẩu...................................................................................40

Hình 15. Use case Đăng ký làm phản biện...................................................................40

Hình 16. Nhóm Use case Tìm kiếm phản biện.............................................................41

Hình 17. Phân rã Use case chọn bài báo phản biện......................................................41

Hình 18. Nhóm Use case Chỉ định phản biện...............................................................42

Hình 19. Biểu đồ lớp phân tích.....................................................................................43

Hình 20. Biểu đồ trạng thái lớp Journal........................................................................44

Hình 21. Biểu đồ tuần tự cho chức năng đăng nhập.....................................................44

Hình 22. Biểu đồ tuần tự cho chức năng tìm kiếm phản biện theo từng từ khóa.........45

Hình 23. Biểu đồ tuần tự cho chức năng tìm kiếm phản biện theo dãy từ khóa...........46

Hình 24. Biểu đồ tuần tự cho chức năng Chọn bài báo................................................47

Hình 25. Biểu đồ tuần tự cho chức năng Cập nhật lý lịch sơ lược...............................48

ix

Hình 26. Biểu đồ tuần tự cho chức năng Cập nhật từ khóa chuyên môn.....................49

Hình 27. Biểu đồ tuần tự cho chức năng đổi mật khẩu.................................................50

Hình 28. Biểu đồ tuần tự cho chức năng Thêm bài báo...............................................50

Hình 29. Biểu đồ tuần tự cho chức năng Chỉ định phản biện 1....................................51

Hình 30. Biểu đồ tuần tự cho chức năng Chỉ định phản biện 2....................................52

Hình 31. Biểu đồ lớp chi tiết.........................................................................................53

Hình 32. Sơ đồ thực thể liên kết...................................................................................59

Hình 33. Các chức năng hệ thống hỗ trợ lựa chọn phản biện.......................................60

Hình 34. Form Đăng nhập hệ thống.............................................................................61

Hình 35. Form Chức năng tìm kiếm phản biện............................................................61

Hình 36. Form Đăng nhập lại hệ thống........................................................................62

Hình 37. Form Đổi mật khẩu........................................................................................62

Hình 38. Form Chức năng cập nhật thành viên............................................................63

Hình 39. Form Chức năng quản lý đăng ký phản biện.................................................63

Hình 40. Form Xem thông tin đăng ký tham gia phản biện.........................................64

Hình 41. Form Cập nhật lý lịch của phản biện.............................................................64

Hình 42. Form Cập nhật quá trình đào tạo...................................................................65

Hình 43. Form Cập nhật quá trình công tác.................................................................65

Hình 44. Form Cập nhật đề tài nghiên cứu khoa học...................................................66

Hình 45. Form Cập nhật công trình khoa học đã công bố............................................66

Hình 46. Form Cập nhật các từ khóa chuyên môn.......................................................67

Hình 47. Form Tổng hợp bài báo theo phản biện.........................................................67

Hình 48. Form Cập nhật bài báo...................................................................................68

Hình 49. Form Thống kê bài báo theo các tiêu chí.......................................................68

Hình 50. Form Tổng hợp bài báo theo tác giả..............................................................69

x

Hình 51. Form Chức năng xem hồ sơ của phản biện....................................................69

LỜI MỞ ĐẦU

Trong thời đại ngày nay, cùng với các phương pháp về chế độ tài chính, chính

sách nhân sự, công nghệ thông tin (CNTT) được xác định là một trong các yếu tố quan

trọng của một tạp chí. Ứng dụng CNTT trong hoạt động tạp chí có thể hiểu

là việc nghiên cứu, phát triển, đầu tư đưa các công nghệ tiên tiến trong lĩnh vực CNTT

vào ứng dụng thực tiễn trong các công đoạn của quá trình hoạt động của tạp chí, từ

khâu nhận bài, phản biện, biên tập và xuất bản. Các hoạt động chủ yếu gồm thiết lập

một chiến lược tổng thể về phát triển CNTT, các quy chế, quy trình quản lý, xây dựng

hạ tầng phần cứng, đường truyền, cơ sở dữ liệu, phần mềm ứng dụng.

Hiện nay đã có một số tạp chí như Tạp chí Khoa học và Công nghệ Đại học Đà

Nẵng [26], Tạp chí Khoa học kỹ thuật Mỏ - Điạ chất [27]… đã có giải pháp ứng dụng

công nghệ thông tin và hệ thống tiện ích của Internet, tự động hóa một số bước trong

quy trình quản lý tạp chí. Nội dung chính của giải pháp là xây dựng hệ thống website

tự động hóa các khâu quản lý tạp chí như: quá trình nộp bài của tác giả, mời đọc phản

biện, theo dõi quá trình xử lý một công trình từ khi gửi đăng cho đến lúc bài được

nhận đăng vào các số của tập chí. Việc nghiên cứu xây dựng hệ thống phần mềm

website tạp chí khoa học đã từng bước hiện đại hóa quá trình quản lý trong thời kỳ hội

nhập quốc tế, tạo môi trường trao đổi giữa các nhà khoa học và tận dụng tối đa nguồn

tài liệu quý.

Để đạt được và giữ vững các tiêu chí cơ bản của một tạp chí khoa học quốc tế,

hiện nay một số các tạp chí quốc tế được xếp hạng bởi ISI ngoài việc đảm bảo phát

hành đều đặn, liên tục, đúng thời hạn theo kế hoạch thì tạp chí còn phải tuân thủ các

điều kiện chặt chẽ khác như quá trình biên tập, về nội dung bài, quá trình xét duyệt,

hình thức xét duyệt. Muốn vậy, việc tác nghiệp của những tạp chí này chủ yếu phải

thực hiện qua mạng, qua hệ thống phần mềm, vì qua hệ thống này các công ước biên

tập quốc tế được lưu giữ trong hệ thống cơ sở dữ liệu (nội dung bài báo, tác giả và tài

liệu tham khảo được trích dẫn), Ban biên tập là ban biên tập quốc tế gồm các nhà khoa

học tiêu biểu cho các hướng chính của tạp chí có thể trao đổi tác nghiệp một cách hiệu

quả; bài gửi đăng được tiếp nhận và xử lý theo đúng thông lệ quốc tế, được phản biện

xi

kín, độc lập và khách quan.

Nhằm nâng cao hiệu quả của việc tiếp nhận, chọn lọc và phản biện, hiện nay một

số hội nghị trong nước và quốc tế đã đăng ký sử dụng dịch vụ quản lý và tổ chức hội

nghị khoa học của phần mềm Easychair [28], đây là một phần mềm được đặt tại máy

chủ của Khoa Khoa học máy tính thuộc Đại học Manchester. Việc nộp báo cáo của các

thành viên đều nộp qua mạng tại trang đó. Quá trình lấy bài, nhận xét và cho kết quả

phản biện của các thành viên trong Ban chương trình đều thực hiện trực tuyến thông

qua phần mềm. Việc cho điểm bài báo được các phản biện thực hiện khách quan theo

các tiêu chí và kèm theo nhận xét. Trao đổi thông tin giữa tác giả bài báo và thành viên

trong Ban chương trình hay giữa các thành viên trong Ban chương trình đều thực hiện

bằng email thông qua sự quản lý của hệ thống Easychair. Đối với kết quả phản biện,

những tác giả có bài được chấp nhận sẽ nhận được bản nhận xét và yêu cầu chỉnh sửa,

bài đã chỉnh sửa cũng sẽ được gửi lại thông qua phần mềm và cuối cùng là hệ thống sẽ

tự động lập danh sách mục lục tác giả, bài được tuyển chọn phục vụ cho việc in ấn.

Tạp chí Khoa học và Công nghệ Đại học Thái Nguyên thành lập theo quyết định

số 1571/QĐ-BGD&ĐT ngày 31 tháng 3 năm 2006 của Bộ trưởng Bộ Giáo dục và Đào

tạo; Giấy phép hoạt động báo chí số 149/GP-BVHTT ngày 17 tháng 04 năm 2001 do

Bộ Văn hóa Thông tin cấp và Giấy phép sửa đổi, bổ sung số 1270/GP-BTTTT ngày 26

tháng 8 năm 2010 do Bộ Thông tin và Truyền thông cấp với mục đích công bố các

công trình nghiên cứu khoa học và công nghệ của cán bộ, sinh viên Đại học Thái

Nguyên, của các nhà khoa học trong và ngoài nước; các thông tin về những kết quả

nghiên cứu và hoạt động khoa học công nghệ nổi bật của các đơn vị thành viên thuộc

Đại học Thái Nguyên. Sau hơn 10 năm hoạt động, Tạp chí đã góp một phần không nhỏ

trong việc quảng bá, nâng cao vị thế của Đại học Thái Nguyên trong lĩnh vực hoạt

động khoa học công nghệ, số lượng bài gửi đăng ngày càng lớn, chất lượng bài ngày

càng đòi hỏi được nâng cao. Để tiệm cận với chuẩn quốc tế, Tạp chí Khoa học và

Công nghệ Đại học Thái Nguyên cần tập trung nâng cao chất lượng các chuyên san,

xử lý linh hoạt và cải tiến hơn nữa trong quy trình phản biện, biên tập; nâng cao điểm

số công trình của bài báo; quảng bá rộng rãi hơn nữa các công trình nghiên cứu của tác

giả trên mạng.

Đề tài luận văn ” Nghiên cứu một số phương pháp tìm kiếm xấp xỉ và xây

dựng ứng dụng hỗ trợ lựa chọn phản biện cho tạp chí khoa học và công nghệ Đại

xii

học Thái Nguyên” tập trung nghiên cứu và thực hiện 2 nội dung chính sau:

1. Nghiên cứu một số bài toán lựa chọn phản biện tự động cho Hội nghị khoa học

đã được công bố và một số thuật toán tìm kiếm xấp xỉ và ứng dụng giải bài toán hỗ trợ

lựa chọn phản biện cho Tạp chí Khoa học.

2. Xây dựng ứng dụng hỗ trợ lựa chọn phản biện bài báo cho Tạp chí Khoa học

và Công nghệ Đại học Thái Nguyên.

Các kết quả đạt được trong luận văn này là kết quả trong quá trình học tập và

nghiên cứu của tác giả tại Trường Đại học Công nghệ Thông tin và Truyền thông.

Ngoài phần mở đầu, kết luận và tài liệu tham khảo, nội dung luận văn được trình bày

thành 3 chương. Chương 1 trình bày các vấn đề tổng quan về hệ thống lựa chọn phản

biện cho Hội nghị, tạp chí. Chương 2 trình bày các thuật toán so khớp mẫu và một

phương pháp tìm kiếm xấp xỉ hỗ trợ lựa chọn phản biện. Chương 3 là các kết quả đạt

được trong quá trình phân tích và thiết kế hệ thống và xây dựng ứng dụng hỗ trợ lựa

xiii

chọn phản biện bài báo cho Tạp chí Khoa học và Công nghệ Đại học Thái Nguyên.

CHƯƠNG 1. TỔNG QUAN

1.1. Tổng quan về hệ thống hỗ trợ lựa chọn phản biện

Việc chọn ra người phản biện có cùng hướng nghiên cứu với nội dung bài báo từ

cơ sở dữ liệu các nhà khoa học đảm bảo tính chất khách quan, đúng vấn đề cần phản

biện là điều hết sức cần thiết đối với một tạp chí, hội nghị khoa học. Muốn vậy, việc

phân loại và chọn phản biện cần phải dựa vào nội dung bài báo, hay phần tóm tắt bài

báo hoặc các từ khóa cho mỗi bài báo… Điều này thực sự hết sức khó khăn cho việc

tìm kiếm phản biện trong cơ sở dữ liệu các nhà khoa học nếu thực hiện thủ công và

thay vào đó ta cần có thuật toán hữu hiệu cho việc lựa chọn phản biện. Bài toán lựa

chọn phản biện bài báo cho tạp chí hay hội nghị không phải là bái toán mới, hiện nay

đã có rất nhiều tác giả đã nghiên cứu tìm lời giải cho bài toán trên nhiều góc độ khác

nhau, với các cách tiếp cận khác nhau. Một số cách tiếp cận như: Phương pháp của

Chumki Basu và cộng sự đề xuất khi chọn tập bài báo phù hợp với phản biện có sử

dụng kết hợp các kỹ thuật thu thập thông tin và cơ sở dữ liệu bằng cách khai thác các

nguồn thông tin từ web [4]; phương pháp chỉ mục ngữ nghĩa ẩn [5]; phương pháp mô

hình hóa chủ đề xác suất [6], phương pháp quy hoạch nguyên tuyến tính lựa chọn tập

người phản biện cho tập bài báo có xét đến các điều kiện ràng buộc [7]; phương pháp

luồng chi phí tối thiểu [8] và cách tiếp cận mô hình lai ghép tri thức trong lựa chọn

phản biện, đánh giá thẩm định cho các dự án nghiên cứu [9]. Gần đây, Tayal, Saxena,

Sharma, Khanna và Gupta đưa ra một phương pháp mới giải bài toán lựa chọn phản

biện trong chính sách tài chính của chính phủ [10]; Li và Watanabe đưa ra phương

pháp tự động lựa chọn phản biện cho bài báo dựa trên mức độ chuyên môn của phản

biện [11]; Long, Wong, Peng, và Ye đã đưa ra thuật toán xấp xỉ 1/3 nhằm giải bài toán

cực đại hóa sự bao phủ chủ đề chuyên môn trong lựa chọn phản biện [12], theo cách

tiếp cận này mỗi bài báo sẽ được lựa chọn phản biện sao cho các chủ đề của bài báo sẽ

được phủ hoàn toàn (mức độ phủ là lớn nhất) bởi chuyên môn của các nhà phản biện

và thỏa mãn 3 điều kiện: (1) mỗi bài báo được phản biện bởi một hay nhiều phản biện

ở trong trạng thái “sẵn sàng”; (2) mỗi phản biện sẽ phản biện số lượng bài báo không

lớn hơn số lượng bài quy định; (3) Không có sự xung đột giữa người phản biện và tác

giả, điều này có nghĩa là không xảy ra trường hợp tác giả hoặc đồng tác giả lại đóng

1

vai trò là người tham gia phản biện. Sau đây chúng tôi trình bày chi tiết một số phương

pháp tìm lời giải cho bài toán lựa chọn phản biện.

1.1.1. Thuật toán Kalmukov

Thuật toán lựa chọn phản biện cho bài báo dựa trên từ khóa được thiết kế bởi

Yordan Kalmukov năm 2006 [19], theo cách tiếp cận này thì giữa bài báo và phản biện

có chung với nhau ít nhất một từ khóa thì bài báo sẽ được đưa vào phản biện; từ khóa

bài báo và từ khóa của phản biện sẽ được chọn trong tập từ khóa cho trước; mỗi người

phản biện sẽ có số lượng bài báo cần phản biện không được vượt quá giới hạn cho

phép. Ngoài ra, khi lựa chọn phản biện thuật toán phải đảm bảo tính phân phối đều về

số lượng bài báo được phân cho các phản biện và được xác định bởi (1).

Noppr= ceil((Nop * Norpp) / Nor); (1)

Noppr: Số lượng bài báo được phân cho một người phản biện;

Nop: Số lượng bài báo; Norpp: Số lượng người phản biện cho một bài báo;

Nor: Số người phản biện; ceil: Hàm làm tròn trên.

Thuật toán lựa chọn phản biện phù hợp nhất cho mỗi bài báo dựa trên độ tương

tự và được xác định như sau:

Ta ký hiệu SF(Pi,Rj) là hàm xác định độ tương tự của bài báo Pi với phản biện

Rj và được xác định bởi công thức (2)

(2)

KWPi: Tập các từ khóa của bài báo Pi; KWRj: Tập các từ khóa của phản biện Rj;

count(S): Số lượng phần tử trong tập S.

KU: là tập các từ khóa được xác định bởi hội nghị;

Như vậy, công thức (2) cho thấy là đại lượng chỉ ra mức độ

phù hợp của bài báo và phản biện và là đại lượng để xác định Pi có thể được phân cho

phản biện Rj hay không.

Để rõ hơn các khái niệm này, ta xét một ví dụ cụ thể như sau:

Trong một hội nghị khoa học, tập các từ khóa được xác định là KU = {A, B, C,

D, E, F, G, H, I}; một bài báo có các từ khóa là KWP = {A, C, F}; xét 2 phản biện lần

lượt có tập các từ khóa là KWR1 = {B, C, F, G}; KWR2 = {A, F}. Xét trực quan ta dễ

thấy khả năng chuyên môn phản biện của R1 và R2 cho bài báo P là tương đương nhau,

vì họ đều có cùng số lượng từ khóa thuộc vào KWP. Trong trường hợp này, để tìm 2

được phản biện phù hợp nhất ta phải sử dụng đến hàm xác định độ tương tự SF(Pi,Rj)

và ta có SF(P,R1) = 2/5 < SF(P,R2) = 2/3. Vậy, từ hàm tương tự ta thấy bài báo P sẽ

được phân cho phản biện R2 là phù hợp hơn. Xét về mặt ý nghĩa thì việc phân bài báo

P cho phản biện R2 sẽ tiết kiệm được tài nguyên khi quan tâm tới giới hạn tối đa số bài

báo cho mỗi phản biện, vì count(KWR1)> count(KWR2), nên khả năng phản biện cho

bài báo khác của R1 là lớn hơn R2, hơn nữa nếu có một bài báo kế tiếp là P1 có KWP1 =

{B, G } cũng cần được phản biện và giả thiết mỗi phản biện chỉ phản biện tối đa là 01

bài báo. Khi đó, nếu ta phân P cho phản biện R1 thì khi đó bài báo P1 sẽ không có

người phản biện mặc dù R1 có chung 2 từ khóa với P1 (vì R1 đã bận phản biện cho P).

Vậy P được phản biện bởi R2 là phù hợp nhất.

Ta gọi, PS và RS lần lượt là các bản ghi thông tin về bài báo và người phản

biện và có cấu trúc như sau:

Thuật toán lựa chọn phản biện gồm 4 bước chính như sau:

Bước 1: Xây dựng ma trận độ tương tự K.

Trong bước này, mỗi bài báo Pi sẽ được tính độ tương tự với tất cả các phản

biện Rj ta thu được K[i]={ SF(Pi,Rj)}. Sau đó sắp xếp K[i] theo thứ tự giảm dần của độ

tương tự khi đó phản biện phù hợp nhất sẽ nằm trên đầu danh sách.

Hình 1. Bước 1-Xác định ma trận độ tương tự

Chuyển sang các bước sau, thuật toán xử lý hàng đầu tiên của ma trận, đó là

3

hàng gợi ý chọn phản biện phù hợp nhất. Lưu đồ sau chỉ ra quá trình thực hiện thuật

toán:

Hình 2. Bước 2 – Xây dựng mảng cấu trúc invlovedReviewers; Bước 3 – Xử lý

involvedReviewers và phân bài báo cho phản biện tại hàng đầu tiên của ma trận

K; Bước 4 – Kết thúc lựa chọn phản biện.

Tại Bước 2, thuật toán xây dựng mảng cấu trúc involvedReviewers nhằm khắc

4

phục hạn chế đối với những phản biện có số lượng bài báo vượt quá giới hạn cho phép,

cấu trúc được xác định như sau:

involvedReviewers[‘revUsername’][index][k_pid];[SFactor]

revUsername: Username của phản biện;

Sfactor: Độ tương tự bài báo và phản biện

Ví dụ: ta có bảng K là

involvedReviewers[‘R1’][1][k_pid]=2; [SFactor]=0.54

Độ tương tự lưu trong involvedReviewers được xác định bao gồm hằng số C,

mục đích của đại lượng C là để xác định và đảm bảo rằng nếu giữa bài báo và phản

biện có chung nhau ít nhất một từ khóa thì bài báo sẽ được phân cho phản biện đó (đối

với phản biện phù hợp nhất và có số lượng bài báo không vượt quá số lượng bài báo

cho phép). Đại lượng C được chia làm 2 phần, C= C1+C2.

C1 được xác định như sau:

If (number of non-zero SFs == 0){

C1 = max; (4)

}

else if (number of non-zero SFs > 2*(revsPerPaper – numberOfRevs for Pi)){

C1 = 0; (5)

}

else{

; (6)

}

Trong đó, number of non-zero SFs là số lượng các đại lượng đo độ tương tự

khác không đối với bài báo Pi; revsPerPaper số người phản biện cho mỗi bài báo, số

lượng này được xác định bởi hội nghị, thường chọn là 2 hoặc 3; numberOfRevs for Pi

là số người phản biện hiện thời được làm phản biện cho bài báo Pi.

Nếu người phản biện tại hàng đầu tiên của K[i] là phản biện duy nhất trong

hàng thì phản biện này (R) sẽ được gán cho bài báo Pi mà không cần quan tâm đến độ 5

tương tự của R với các bài báo khác. Nếu không có phản biện nào phù hợp với Pi (độ

tương tự bằng 0 trong K[i]) thì C1=0.

Đại lượng C2 đảm bảo rằng bài báo được gán cho phản biện thứ 2 là phản biện

có mức độ phù hợp thứ 2, C2 được xác định như sau:

C2 = 2 * (SF of first-suitable reviewer for Pi – SF of second-suitable reviewer

for Pi)

SF of first-suitable reviewer for Pi: Độ tương tự của phản biện thứ nhất đối với

Pi; SF of second-suitable reviewer for Pi: Độ tương tự của phản biện thứ 2 đối với Pi.

Trong quá trình thực hiện tại bước 3, thuật toán xác định bài báo sẽ được gán

cho phản biện nào trong hàng đầu tiên của ma trận K. Có thể minh họa cho bước này

bằng một ví dụ sau:

Nếu các điều kiện ràng buộc giới hạn đặt ra là mỗi phản biện được phản biện tối

đa là 2 bài báo, mỗi bài báo sẽ được phản biện bởi 2 người phản biện thì sau khi thực

hiện bước 2 ta được kết quả là

Sắp xếp lại involvedReviewers[‘R1’] theo thứ tự giảm dần của độ tương tự ta

được involvedReviewers[‘R1’]={P2, P5, P4, P1}.

Vì số lượng tối đa cho mỗi phản biện là 2 bài báo, nên P2 và P5 sẽ được gán

cho R1, quá trình thực hiện tiếp tục tại bước này và các bước sau được mô tả chi tiết

trong Hình 2. Trong trường hợp số lượng bài báo tối đa cho mỗi phản biện là khác

nhau (phụ thuộc vào chuyên môn và các điều kiện của phản biện) và số lượng phản

biện gán cho mỗi bài báo là khác nhau cũng đã được Maryam Karimzadehgan,

ChengXiang Zhai [7] đề xuất và đưa ra thuật toán tìm lời giải cho bài toán này.

1.1.2. Bài toán lựa chọn phản biện CMACRA

Năm 2009, Maryam Karimzadehgan và ChengXiang Zhai [7] mở rộng bài toán

của Yordan Kalmukov và đề xuất 2 thuật toán giải bài toán CMACRA

(ConstrainedMulti-Aspect Committee Review Assignment) bao gồm thuật toán

6

Greedy và thuật toán quy hoạch nguyên tuyến tính.

Bài toán CMACRA đặt ra là lựa chọn phản biện cho tập các bài báo sao cho

thỏa mãn 4 điều kiện sau:

(1) Mỗi bài báo sẽ được phản biện bởi ít nhất một phản biện luôn trong trạng

thái “sẵn sàng”;

(2) Số lượng bài báo cho mỗi phản biện không vượt quá giới hạn cho phép;

(3) Mỗi phản biện được gán cho mỗi bài báo phải có chuyên môn phù hợp với

bài báo;

(4) Chuyên môn tổng hợp của các phản biện phải phủ đủ tốt cho toàn bộ các

chủ đề của bài báo đề cập.

Để giải quyết các vấn đề của bài toán đặt ra, CMACRA được mô hình hóa như

sau: Gọi P={p1, p2,…,pn} là tập các bài báo pi; R={r1, r2,…,rm} - tập các phản biện ri;

NR={NR1, NR2,…, NRm} – tập các giới hạn số lượng bài báo cho mỗi phản biện, NRi là

số lượng bài báo tối đa cho phản biện ri; NP={NP1, NP2,…, NPm} – tập các số lượng

phản biện sẽ được gán cho mỗi bài báo, NPi là số lượng phản biện được gán cho bài

báo Pi. Kết quả tính toán sẽ cho ra một ma trận M={Mi,j}nxm, trong đó Mij {0,1}

(Mi,j=1 nếu ri là phản biện cho bài báo pj).

Các điều kiện ràng buộc (1) và (2) có thể được mô tả như sau:

; (7)

. (8)

Để đảm bảo đủ số lượng phản biện để phản biện cho các chủ đề của tất cả các

bài báo thì cần phải đảm bảo điều kiện .

Giả sử trong một hội nghị có k chủ đề khác nhau, ta ký hiệu là

tập các chủ đề, là ký hiệu chủ đề thứ i (mỗi chủ đề có thể được đặc trưng như là một

từ khóa mà đặc trưng chuyên môn của phản biện hay chủ đề bài báo đề cập sẽ được

lựa chọn trong tập này). Gọi và lần lượt là 2 ma trận chỉ mức độ tương tự của

các chủ đề với nội dung bài báo và độ tương tự của các chủ đề với chuyên môn phản

biện; , là mức độ tương tự của chủ đề , với bài báo pi;

là mức độ tương tự của chủ đề với chuyên môn của phản biện ri; mức độ tương

7

tự , .

Thuật toán Greedy giải bài toán gán phản biện cho bài báo được thực hiện như

sau:

Bước 1: Sắp xếp các bài báo theo thứ tự giảm dần về số lượng chủ đề mà bài

báo đề cập (Số lượng từ khóa của bài báo).

Bước 2: Chọn phản biện có mức độ chuyên môn phù hợp nhất cho bài báo đứng

đầu danh sách (phản biện có chuyên môn phủ các chủ đề bài báo đề cập).

Bước 3: Kiểm tra các ràng buộc: giới hạn về số lượng bài báo cho phản biện,

giới hạn về số lượng phản biện cho mỗi bài báo. Nếu đạt được giới hạn về số lượng bài

báo cho phản biện thì loại bỏ phản biện ra khỏi danh sách, làm tương tự như vậy đối

với bài báo nếu đạt được giới hạn về số lượng phản biện cho mỗi bài báo.

Bước 4: Lặp lại bước 2 cho đến khi các phản biện được gán cho tất cả các bài

báo.

Thuật toán thứ 2 mà Maryam Karimzadehgan sử dụng để tìm lời giải cho bài

toán CMACRA là thuật toán quy hoạch tuyến tính nguyên. Để sử dụng thuật toán này,

bài toán CMACRA được mô hình hóa như sau:

Nếu coi ti,j là số lượng phản biện có chuyên môn phủ chủ đề của bài báo pi,

thì bài toán đặt ra là tìm ti,j sao cho

; (9)

; (10)

và thỏa mãn điều kiện

(11)

Vậy, từ (9), (10), (11) kết hợp với các điều kiện (7), (8) ta có thể phát biểu bài

toán CMACRA như sau:

Tìm tìm ti,j sao cho

8

và thỏa mãn các điều kiện

1.1.3. Lựa chọn phản biện với thuật toán xấp xỉ 1/3

Tiếp tục mở rộng các kết quả của Maryam Karimzadehgan, năm 2013, Cheng

Long và cộng sự [12] đã xét bài toán khi bổ sung các ràng buộc xung đột giữa tác giả

và phản biện (COI-conflict of interest) đồng thời đưa ra thuật toán xấp xỉ 1/3 giải bài

toán lựa chọn phản biện đảm bảo cực đại hóa phủ chủ đề. Các ràng buộc COI được xét

đến ở đây gồm một số dạng như: phản biện được lựa chọn và tác giả bài báo lại là

đồng tác giả cho một số bài báo; mối quan hệ đồng nghiệp; mối quan hệ là thầy trò,

tác giả bài báo là thầy hướng dẫn của người phản biện….Có thể nói bổ sung ràng buộc

COI đảm bảo cho quá trình lựa chọn phản biện thực sự có tính khách quan nhằm nâng

cao chất lượng phản biện cho hội nghị.

Bài toán mà Cheng Long đưa ra được gọi là bài toán MaxTC-PRA (Maximum

Topic Coverage Paper- Reviewer Assignment), bài toán đặt ra là lựa chọn phản biện

cho bài báo sao cho tổng số các chủ đề khác nhau của bài báo được phủ bởi chuyên

môn của các phản biện là cực đại và thảo mãn 3 điều kiện: Mỗi bài báo phải được

phản biện bởi phản biện; Mỗi phản biện phản biện không quá bài báo; thỏa mãn

ràng buộc COI giữa tác giả bài báo và phản biện được chọn. Bài toán MaxTC-PRA

được mô hình hóa như sau: Gọi P={p1, p2,…,pn} là tập các bài báo pi; R={r1, r2,…,rm} -

tập các phản biện ri; T={t1, t2,…,tk} - tập các chủ đề; mỗi bài báo pi được đặc trưng bởi

các chủ đề trong miền T, ký hiệu là T(pi); mỗi phản biện rj được đặc trưng bởi các chủ

đề trong miền T, ký hiệu là T(rj); M=(pi, rj) là một phép gán (lựa chọn) bài báo pi với

phản biện rj (rj phản biện cho bài báo pi, M.p=pi, M.r=rj); A P x R là tập tất cả các

là số lượng các phép gán, A(pi)={M: M A, M.p=pi}, A(rj)= {M: M A, M.r=rj};

chủ đề của bài báo pi. Như vậy Bài toán MaxTC-PRA được phát biểu như sau:

9

Tìm tập các phép gán A sao cho

(12)

(13)

(14)

, C là tập COI (15)

Các kết quả trong [10] đã chỉ ra rằng đây là bài toán NP khó, để giải bài toán

này Cheng Long sử dụng thuật toán Greedy xấp xỉ 1/3. Thuật toán được mô tả như

sau:

Thuật toán Greedy

Ø){

thỏa mãn các điều kiện ràng buộc)

;

Input: P={p1, p2,…,pn}; R={r1, r2,…,rm}; C Output: Nghiệm xấp xỉ của bài toán MaxTC-PRA A=Ø U=PxR-C While (U

Chọn M U sao cho if ( } Return A

KẾT LUẬN CHƯƠNG 1

Trong chương này, chúng tôi trình bày tổng quan về bài toán hỗ trợ lựa chọn

phản biện và các phương pháp giải quyết bài toán đã được công bố như Thuật toán

10

Kalmukov, Bài toán lựa chọn phản biện CMACRA, Thuật toán Greedy xấp xỉ 1/3.

CHƯƠNG 2. CƠ SỞ LÝ THUYẾT

2.1. Một số phương pháp so khớp mẫu trong tính toán độ gần tựa ngữ nghĩa

Bài toán xác định độ gần ngữ nghĩa ngày càng được nhiều tác giả quan tâm và

có nhiều ứng dụng trong thực tế do sự tăng trưởng nhanh chóng của các hệ thống tìm

kiếm thông tin [20, 24, 25]. Các kết quả nghiên cứu thường tập trung vào các phương

pháp thống kê sử dụng độ đo dựa vào sự xuất hiện của từ, tần suất xuất hiện của từ [2,

21], độ đo Levenshtein tìm khoảng cách giữa hai từ [24]… hoặc các phương pháp dựa

trên quan hệ ngữ nghĩa giữa các từ. Phương pháp thống kê có ưu điểm tốc độ xử lý

nhanh đối với hệ thống dữ liệu lớn.Vì vậy, trong nội dung luận văn này chúng tôi tập

trung nghiên cứu phương pháp thống kê làm cơ sở lý thuyết cho việc xây dựng thuật

toán lựa chọn phản biện bài báo cho tạp chí.

Các nhà khoa học tham gia phản biện và các từ khóa chuyên môn được cập nhật

thường xuyên làm cho cơ sở dữ liệu ngày càng lớn.Vì vậy, nếu sử dụng nội dung bài

báo hay tóm tắt bài báo để làm dữ liệu tìm kiếm trong cơ sở dữ liệu phản biện sẽ phải

chấp nhận chi phí khá lớn về thời gian tính toán.Điều này hoàn toàn không khả thi mà

thay vào đó mỗi bài báo sẽ được đặc trưng bởi một số từ khóa, các từ khóa này sẽ

đóng vai trò là dữ liệu đầu vào cho thuật toán. Kết quả của thuật toán là danh sách các

phản biện được sắp xếp theo thứ tự ưu tiên về chuyên môn gần nhất với bài báo. Độ ưu

tiên gần nhất về chuyên môn với bài báo được hiểu là độ gần ngữ nghĩa giữa từ khóa

chuyên môn phản biện và từ khóa bài báo.Trong đó, độ gần ngữ nghĩa là đại lượng

dùng để phản ánh sự giống nhau về nội dung, ý nghĩa giữa hai hay nhiều đối tượng. Từ

khóa là tập hợp các từ đơn được sắp xếp như một từ ghép nhằm chỉ sự đặc trưng của

một đối tượng. Như vậy, bài toán tìm phản biện được quy về bài toán tính độ gần nghữ

nghĩa giữa các xâu ký tự. Bài toán xác định độ gần ngữ nghĩa được phát biểu như sau:

Cho xâu mẫu P=P0P1…Pm và xâu đích T=T0T1…Tn (m ≤ n) trên cùng một bảng chữ cái

A. Cần tìm độ gần ngữ nghĩa giữa xâu mẫu P và xâu đích T. Lời giải cho bài toán này

đã được nhiều tác giả nghiên cứu. Để rõ hơn, sau đây chúng tôi trình bày một số thuật

toán làm cơ sở lý thuyết cho ứng dụng, trong đó bao gồm các thuật toán đối sánh mẫu.

2.1.1. Thuật toán Brute Force

Đối sánh mẫu là một chủ đề quan trọng của lĩnh vực xử lý văn bản. Bài toán so

11

mẫu chính xác tổng quát được phát biểu là: Cho xâu mẫu P và xâu đích (văn bản) T

trên cùng bảng chữ cái A. Tìm một sự xuất hiện của P trong T. Thuật toán cơ bản nhất

tìm lời giải cho bài toán là thuật toán Brute Force [24] với độ phức tạp của thuật toán

là O(mn), tư tưởng của thuật toán là kiểm tra tất cả các vị trí trong T từ vị trí đầu tiên

đến vị trí thứ n-m, mỗi vị trí thứ i thuật toán thực hiện so sánh T[i,i+1,…,i+m-1] với

xâu mẫu P, nếu thấy thì trả về vị trí i, nếu không thấy thì tiếp tục dịch sang vị trí thứ

i+1. Nhược điểm của thuật toán này là kiểm tra tất cả các vị trí i (i=0,1,…,n-m) mà

không quan tâm tới khả năng xuất hiện xâu mẫu hay không ở mỗi vị trí. Giả mã của

int BFmatcher(int n, int m){ int i = 0, s = 0; int matched = 1; for(i = 0; i <= n-m+1; i++){ s = 0; matched = 1; while((matched) && (s <= m-1)){ if (T[i+s] != P[s+1]){ matched = 0; }else { s++; } } if(matched){ return i; } } return -1; // -1 is NONE }

thuật toán như sau:

Có thể thấy với mỗi vòng lặp, chúng ta mất tối đa mm phép so sánh để kiểm tra

xâu P có xuất hiện trong văn bản hay không. Do đó: Thời gian tìm xâu mẫu P trong

văn bản T của giải thuật là O(mn).

2.1.2. Thuật toán Knuth-Morris-Pratt

Khắc phục hạn chế của thuật toán Brute Force, Knuth, Donald E., James H.

Morris, Jr và Vaughan R. Pratt [22] đã đề xuất thuật toán tìm kiếm KMP có độ phức

tạp tuyến tính O(n+m), ý tưởng chính của thuật toán là tìm kiếm vị trí của xâu mẫu P

trong T, nếu tìm thấy vị trí sai thì chuyển sang vị trí tìm kiếm tiếp theo và quá trình tìm

kiếm sau này sẽ được tận dụng thông tin từ quá trình tìm kiếm trước để không phải

kiểm tra những vị trí mà chắc chắn là vị trí không xuất hiện xâu mẫu P. Thuật toán

12

KMP được mô tả như sau:

Input: P, T Output: Vị trí của mẫu P xuất hiện trong T Thuật toán 1 i=0; l=0; pos=l; matched=0 ; while(l + i<= n){ if(P[i] ==T[l + i]){ i:= i + 1; if(i==m){ matched=1;returnpos; } } else if(KMP[i] > -1){ i=KMP[i];l=l + i - KMP[i];pos=l; } else{ i= 0;l=l + 1;pos=l; } } Return {pos, matched}

Trong đó, matched là biến cho giá trị là 0 nếu không tìm thấy và giá trị là 1 nếu

tìm thấy P xuất hiện trong T; pos là vị trí xuất hiện của P trong T;KMPlà bảng đối sánh

một phần, với sự xuất hiện của KMP cho thấy thuật toán thực hiện với độ phức tạp là

O(n), mục đích của bảng là cho phép thuật toán so sánh mỗi ký tự của T không quá

một lần. Thuật toán xác định bảng KMP được mô tả như sau:

Input:P Output: Bảng KMP Thuật toán tạo bảng KMP KMP[0]=-1; KMP[3]= 0; i=2; j=0; while(i

i=i + 1; j=j + 1; } else if (j> 0) j=KMP[j]; else{ KMP[i]= 0; i=i + 1; } }

Độ phức tạp của thuật toán xây dựng bảng KMP là O(m).

2.2. Phương pháp quy hoạch động và ứng dụng trong lựa chọn phản biện

Trong nhiều ứng dụng tìm kiếm thực tế, mẫu P hoặc chuỗi văn bản T xảy ra các

13

“lỗi” do các nguyên nhân khác nhau như sự thay đổi hình thái từ hay các lỗi chính tả

như thêm, bớt hay thay đổi ký tự trong từ thì đòi hỏi hệ thống tìm kiếm cần phải linh

hoạt và mềm dẻo hơn mà vẫn cho kết quả như mong muốn, và cụ thể là trong ứng

dụng tìm độ gần ngữ nghĩa giữa từ khóa bài báo và từ khóa người phản biện. Ví dụ:

nếu cho xâu mẫu P=”approximate searching” và văn bản T=”approximated

searching”, nếu sử dụng các thuật toán đối sánh chính xác thì dễ thấy P không xuất

hiện trong T. Nhưng thực tế có thể thấy giữa P và T có nội dung gần giống nhau do có

sai khác ký tự “d”. Chính vì vậy, lý thuyết so mẫu xấp xỉ ra đời cho phép tìm kiếm

những thông tin gần giống và mang lại kết quả mềm dẻo hơn. Bài toán so mẫu xấp xỉ

là sự mở rộng của bài toán so mẫu chính xác và đặt ra yêu cầu là tìm vị trí xuất hiện

của P trong T với số “lỗi” tối đa là e “lỗi”. Như vậy bài toán so mẫu xấp xỉ có thể được

quy về bài toán tìm khúc con chung dài nhất giữa hai xâu ký tự và lời giải được chấp

nhận nếu như độ dài của khúc con chung có độ lệch không quá e ký tự so với mẫu P.

Đã có nhiều phương pháp tìm xâu con chung dài nhất như phương pháp quy hoạch

động tìm khoảng cách Edit (hay còn goi là khoảng cách Levenshtein) [23] hoặc các

phương pháp đối sánh mẫu theo cách tiếp cận otomat hữu hạn mờ [1],... Các phương

pháp này còn được sử dụng khi xét sự tương đồng về mặt ngữ nghĩa khi thứ tự các từ

trong xâu được bảo toàn.

2.2.1. Phương pháp quy hoạch động

Khái niệm Khoảng cách Levenshtein (hay còn gọi là khoảng cách Edit) thể hiện

khoảng cách khác biệt giữa 2 chuỗi ký tự. Khoảng cách Levenshtein giữa chuỗi S và

chuỗi T là số bước ít nhất biến chuỗi S thành chuỗi T thông qua 3 phép biến đổi là:

Xoá 1 ký tự; thêm 1 ký tự; thay ký tự này bằng ký tự khác.

Khoảng cách này được đặt theo tên Vladimir Levenshtein, người đã đề ra khái

niệm này vào năm 1965. Nó được sử dụng trong việc tính toán sự giống và khác nhau

giữa 2 chuỗi, như chương trình kiểm tra lỗi chính tả của winword spellchecker. Ví dụ:

Khoảng cách Levenshtein giữa 2 chuỗi "kitten" và "sitting" là 3, vì phải dùng ít nhất 3

lần biến đổi.

kitten -> sitten (thay "k" bằng "s")

sitten -> sittin (thay "e" bằng "i")

14

sittin -> sitting (thêm ký tự "g")

Để tính toán Khoảng cách Edit, ta sử dụng thuật toán quy hoạch động, tính

toán trên mảng 2 chiều (n+1)*(m+1), với n, m là độ dài của chuỗi cần tính. Sau đây là

thuật toán quy hoạch động (S, T là chuỗi cần tính khoảng cách, n, m là độ dài của

chuỗi S, T):

Thuật toán quy hoạch động tìm khoảng cách Edit giữa hai xâu ký tự

Input: S, T Output: Edit distance int Edit_distance(S, T){ for (int i = 0; i <= m; i++) d[i, 0] = i; for (int j = 0; j <= n; j++) d[0, j] = j; for (int i = 0; i <= m; i++) for (int j = 0; j <= n; j++) { if (S[i] == T[j]) cost = 0; Else cost = 1; d[i + 1, j + 1] = Min(d[i, j + 1] + 1, d[i + 1, j] + 1, d[i, j] + cost); } return d[i,j]; }

Trong mục này, chúng tôi xây dựng thuật toán lựa chọn phản biện dựa trên

phương pháp quy hoạch động. Việc chọn ra người phản biện có cùng hướng nghiên

cứu với nội dung bài báo từ cơ sở dữ liệu các nhà khoa học đảm bảo tính chất khách

quan, đúng vấn đề cần phản biện là điều hết sức cần thiết đối với một tạp chí khoa học.

Muốn vậy, việc phân loại và chọn phản biện cần phải dựa vào nội dung bài báo, hay

phần tóm tắt bài báo hoặc các từ khóa cho mỗi bài báo. Trong trường hợp sử dụng nội

dung bài báo hay tóm tắt bài báo để làm dữ liệu tìm kiếm trong cơ sở dữ liệu phản biện

sẽ phải chấp nhận chi phí khá lớn về thời gian tính toán. Điều này hoàn toàn không

khả thi mà thay vào đó mỗi bài báo sẽ được đặc trưng bởi một số từ khóa, các từ khóa

này sẽ đóng vai trò là dữ liệu đầu vào cho thuật toán. Kết quả của thuật toán là danh

sách các phản biện được sắp xếp theo thứ tự ưu tiên về chuyên môn gần nhất với bài

báo. Độ ưu tiên gần nhất về chuyên môn với bài báo được hiểu là độ gần ngữ nghĩa

giữa từ khóa chuyên môn phản biện và từ khóa bài báo.Trong đó, độ gần ngữ nghĩa là

đại lượng dùng để phản ánh sự giống nhau về nội dung, ý nghĩa giữa hai hay nhiều đối

tượng. Từ khóa là tập hợp các từ đơn được sắp xếp như một từ ghép nhằm chỉ sự đặc

trưng của một đối tượng. Như vậy, bài toán tìm phản biện được quy về bài toán tính độ

15

gần nghữ nghĩa giữa các xâu ký tự.

2.2.2. Thuật toán lựa chọn phản biện

Bài toán lựa chọn phản biện cho bài báo (RAP) được mô hình hóa như sau: Mỗi

phản biện được đặc trưng bởi tập các từ khóa , (i = 1,2,…, M); bài

báo được đặc trưng bởi các từ khóa . Theo cách tiếp cận này, chúng tôi

đưa ra khoảng cách chuyên môn làm thước đo trong lựa chọn phản biện, khoảng cách

chuyên môn giữa phản biện được xác định là nếu phản biện có chung

với bài báo ít nhất một từ khóa, trong đó ci là số lượng từ khóa dùng chung giữa

và , Max là hằng số dương lớn tùy ý, thông thường chọn Max >> ci; d là một hằng

số dương và chọn sao cho 0

và thỏa mãn , ở đây Dk là miền ràng

buộc mà Rk phải thỏa mãn như: các ràng buộc về tính sẵn sàng hoặc là các điều kiện

về số lượng tối đa bài báo dành cho mỗi phản biện,….

Việc xác định các từ khóa dùng chung giữa phản biện và bài báo một cách

chính xác hay các từ khóa được định nghĩa từ trước thì ta có thể sử dụng các thuật toán

so khớp đã trình bày ở mục 1.2.1 và mục 1.2.2, trong trường hợp này đã có nhiều kết

quả được công bố như đã trình bày ở phần tổng quan (mục 1.1). Tuy nhiên, trong

trường hợp các từ khóa là không được định nghĩa trước trong cơ sở dữ liệu, các từ

khóa giữa phản biện và bài báo có thể giống nhau về nội dung nhưng lại khác nhau về

hình thái từ khi đó sử dụng thuật toán so khớp mẫu chính xác sẽ không mang lại hiệu

quả mà thay vào đó ta sẽ sử dụng các phương pháp tìm kiếm xấp xỉ.

Trước hết chúng tôi định nghĩa từ khóa được gọi là từ dùng chung giữa phản

biện và bài báo như sau: Với hằng số dương e cho trước, nếu khoảng cách Edit giữa từ

khóa bài báo Pk và từ khóa phản biện Rij không lớn hơn e thì từ khóa đó được gọi là từ

khóa chung giữa bài báo và phản biện Rij. Như vậy, bài toán đặt ra là tìm kiếm xấp xỉ

sự xuất hiện của một mẫu trong văn bản với sai số cho phép là e ký tự. Ví dụ cho từ khóa bái báo là Matching và d = 0.5, các từ khóa phản biện được cho trong Bảng 1

Keyword

ReviewerID 1 2 1 3

Matching Random sequence Paper reviewer assignment Machanics

16

2 1

Machining Dynamic programming Bảng 1: Các từ khóa của phản biện (ReviewerKeyword)

ReviewerID 1 2 3

Expertise distance 0.5 x x

Thuật toán thực hiện 2 việc chính, việc thứ nhất là tính toán khoảng cách chuyên

Bảng 2: Khoảng cách chuyên môn (ExpertiseDistance)

môn và phần thứ 2 là thực hiện tìm kiếm, kết quả tìm kiếm là những phản biện có

khoảng cách chuyên môn nhỏ nhất và thỏa mãn các điều kiện ràng buộc của bài toán

đặt ra. Thuật toán được mô tả như sau:

Thuật toán tìm kiếm xấp xỉ

Input: P, R,e,d, Max, Sum=

Output: Return reviewer Rk that satifies (1)

struct ReviewerKeyword { int ReviewerID; char Keyword [Length]; };

struct ExpertiseDistance { int ReviewerID; double Distance; };

struct ReviewerKeyword RK[Sum]; struct ExpertiseDistance ED[M]; int ApproximateSearching(P, R,e,d, Max){ for (int i = 1; i <= M; i++) ED(i). Distance=Max; for (int i = 1; i <= Sum; i++) for (int j = 1; j <= n; j++){ = Edit_distance(Pj, RK(i). Keyword); if ( <=e){ Finding k such that ED(k). ReviewerID is equal RK(i). ReviewerID; if (ED(k). Distance>d) ED(k). Distance=d; Else ED(k). Distance= ED(k). Distance-1/Max Break; } } Finding k such that ED(k).Distance =min1≤i≤M{ED(i).Distance} and satisfying the constraints in (1). return ED(k).ReviewerID; }

17

Trong trường hợp hình thái từ khóa của phản biện và từ khóa bài báo có sự thay

đổi nhưng có cùng ý nghĩa hay mô tả cùng một chủ đề, khi đó chúng tôi phân tách các

từ khóa bài báo thành các từ đơn. Ví dụ: Từ khóa bài báo là “string matching” và từ

khóa phản biện là “pattern matching”, các từ khóa này cùng mô tả một nội dung là kỹ

thuật so khớp. Tuy nhiên, nếu tính khoảng cách chuyên môn của phản biện và bài báo

bằng khoảng cách Edit thì khoảng cách này sẽ là 5. Nếu e <5 thì kết quả của thuật toán

cho thấy không có sự liên quan nào giữa bài báo và phản biện. Vì vậy, để khắc phục

hạn chế này chúng tôi sử dụng thuật toán sau:

Algorithm 5: Modified version of algorithm 4 for Approximate searching

int ApproximateSearching(P, R,e,d, µ, Max){ for (int i = 1; i <= M; i++) ED(i). Distance=Max; for (int i = 1; i <= Sum; i++) for (int j = 1; j <= n; j++){ = Edit_distance(Pj, RK(i). Keyword); if ( <=e){ Finding k such that ED(k). ReviewerID is equal RK(i). ReviewerID; if (ED(k). Distance>d) ED(k). Distance=d; Else ED(k). Distance= ED(k). Distance-1/Max; Break; } else{ If(Pj is substring of RK(i). Keyword or RK(i). Keyword is substring of Pj){ if (ED(k). Distance> µ) ED(k). Distance= µ; Else ED(k). Distance= ED(k). Distance-1/Max Break; } } Finding k such that ED(k).Distance =min1≤i≤M{ED(i).Distance} and satisfying constraints D(Rk,P)≤µ and Rk∊ Dk; return ED(k).ReviewerID; }

Trong Thuật toán này, chúng tôi sử dụng tham số µ thay thế d trong trường hợp

hình thái từ khóa có sự thay đổi mà và d là đại lượng thỏa mãn 0

18

sự xuất hiện của Pj trong RK(i). Keyword hoặc sự xuất hiện của RK(i).

Keyword trong Pj, chúng tôi sử dụng thuật toán so khớp như đã trình bày trong mục

1.2.1 và mục 1.2.2.

Sau đây chúng tôi trình bày một số kết quả thử nghiệm cho thuật toán nhằm

minh họa và khẳng định tính đúng đắn cho thuật toán: Đặt e=2, μ = 0.5, d=0.1 và

Max=10000. Bài báo có các từ khóa là {Pattern matching; Dynamic programming;

Edit distance; Reviewer keyword; paper reviewer assignment}. Bảng RK được cho

như sau:

Table -3: Example to illustrate algorithm

Reviewer ReviewerID

Keyword

R1

1 1 1

2

R2

2 2 3

R3

3

4

4

R4

4 4 4

Machine learning Dynamic programming Random sequence Clinical Document Architecture Drug bills String matching Soft computing Artificial neural network String matching Paper reviewer assignment Dynamic programming Neural network Reviewer’s keyword

Bảng 3: Bảng RK minh họa thuật toán

Các kết quả tinh toán được cho trong bảng sau

ReviewerID

Relevance keywords

Expertise distance

4

0.0998

Paper reviewer assignment; Dynamic programming, Reviewer’s keyword

0.1000 Dynamic programming 0.5000

String matching

1 2 Bảng 4: Kết quả thực hiện thuật toán

Sau khi tính toán, thuật toán trả về kết quả các ứng viên là R4, R1, R2. R4 phủ 3

trong 5 từ khóa của bài báo và có khoảng cách chuyên môn là 0.0998, đây là khoảng

cách nhỏ nhất trong tập các khoảng cách chuyên môn. Vậy bài báo sẽ được gán cho

phản biện R4. Nếu R4 không thỏa mãn các điều kiện ràng buộc như bận hoặc đã đủ số

lượng bài báo để phản biện thì thuật toán sẽ xét tới R1 (R4∉D4). Nếu R1∉D1 thì thuật

19

toán xét tới R2, Nếu R2∉D2 thì kết quả sẽ không có phản biện để phản biện bài báo.

Một vấn đề đặt ra là nếu có nhiều phản biện có cùng khoảng cách chuyên môn với bài

báo thì bài báo sẽ được gán cho phản biện có số lượng từ khóa ít hơn vì xác suất bận

cho phản biện các bài báo khác đối với phản biện này là thấp hơn.

2.3. Otomat hữu hạn mờ và ứng dụng trong lựa chọn phản biện bài báo

2.3.1. Độ gần tựa ngữ nghĩa theo mô hình Otomat hữu hạn mờ

Trong mục trước chúng tôi đề xuất thuật toán tìm kiếm phản biện dựa trên

phương pháp quy hoạch động [23], Tuy nhiên, trong trường hợp cấu trúc thứ tự từ bị

thay đổi nhưng vẫn phản ánh cùng một vấn đề thì sử dụng các phương pháp này lại

cho kết quả không mong muốn. Ví dụ: P=”logic toán” và T=”toán logic”, dễ thấy nếu

sử dụng khoảng cách Edit để đo sự tương đồng ngữ nghĩa thì độ tương đồng rất thấp

(khoảng cách Edit là rất lớn), mặc dù chúng có cùng phản ánh một nội dung. Khắc

phục vấn đề này, chúng tôi đã tách từ khóa thành các từ đơn và đã đưa ra thuật toán

hữu hiệu trong quá trình tìm kiếm. Trong mục này, chúng tôi giải quyết vấn đề theo

một cách tiếp cận khác đó là sử dụng thuật toán xác định độ gần ngữ nghĩa bằng việc

xây dựng độ mờ [2], hàm mờ có tính chất như sau:

0 ≤ ≤ 1, hàm có giá trị càng lớn nếu P càng “gần” T.

=0, nếu P không chứa trong T hay P không phản ánh bất kỳ một nội

dung nào của T.

=1, nếu P chứa trong T hay nội dung của T hoàn toàn được phản ánh bởi

P, trong trường hợp này có thể coi = =1.

Như vậy, để xác định độ gần ngữ nghĩa giữa P và T thì hàm mờ được xác định

như sau:

(16)

Trong đó

i: là số khối có độ dài l được trích ra từ P xuất hiện trong S. Thuật toán có thể được mô tả như sau:

Input:P, T Output:Độ mờ

Thuật toán 2 H=0;

20

for(l=1;l<=m;l++) for(i=0;i<=m-l;i++) if(khối (l,i) của P xuất hiện trong T) H=H+l; M=0; for(l=1;l<=m;l++) M=M+(m-l+1)*l;

;

Trong thuật toán, việc kiểm tra sự xuất hiện của khối (l,i) trong T có thể thực

hiện bằng các thuật toán trong mục 2 hoặc bằng thuật toán theo cách tiếp cận mờ nhiều

lần lặp mẫu trong [1]. Theo cách trên thì thuật toán tính độ mờ có phép so

khớp mẫu, trong trường hợp cần phải so khớp với R chuỗi T khác nhau thì số phép so

khớp sẽ là nếu mỗi T là một từ khóa thuộc một bản ghi, R là số bản ghi

trong cơ sở dữ liệu, nếu R lớn thì việc tính toán mất khá nhiều thời gian. Để khắc phục

nhược điểm này, các kết quả trong [2] đã đưa ra một mô hình otomat cải tiến và chỉ

cần một lần tính cấu trúc otomat trong khâu tiền xử lý mẫu.

Lý thuyết otomat là một công cụ hữu ích cho các hệ thống trạng thái hữu hạn.

Trong phạm vi luận văn này, chúng tôi lựa chọn mô hình otomat hữa hạn mờ

không có trạng thái kết thúc; trong đó A là bảng chữ cái ;

Ap gồm các ký tự xuất hiện trong mẫu P; {#} là tập các ký tự không có mặt trong P; Q

là hàm chuyển trạng. Sau tập hữu hạn các trạng thái mờ; q0 là trạng thái ban đầu;

đây là một số ký hiệu được dùng trong thuật toán: Cho 2 số nguyên ký hiệu

pred(P) là tiền tố của xâu mẫu P được xác định là khúc đầu d ký tự của P; suff(P) là

hậu tố xâu mẫu P và được xác định là khúc cuối gồm f ký tự của P; quy ước

pre0(P)=suf0(P)= ( : xâu rỗng); P(f,d)=suff(pred(P)); (f,d) được gọi là tương đương

với (f’,d’) nếu P(f,d)=P(f’,d’) và ký hiệu là [f,d], cặp (f,d) được gọi là có nghĩa với P

nếu cặp có d nhỏ nhất trong lớp [f,d]; cho u, v

là các xâu ký tự, ký hiệu lfact(v,u)là khúc cuối y dài nhất của v sao cho y cũng là một

khúc con của u. Otomat mờ được xác định như sau: Tập trạng thái

Q={(f,d,k,flag):(f,d) là cặp có nghĩa với P}, k là số khối có độ dài f của P giống nhau;

flag là thành phần ghi nhớ trạng thái tham gia vào quá trình tính độ gần ngữ nghĩa, nếu

trạng thái chưa được sử dụng vào việc tính độ gần ngữ nghĩa thì flag=0, nếu đã được

sử dụng thì flag=1; trạng trạng thái đầu q0=(0,0,0,0); hàm chuyển

21

và được lưu trong bảng chuyển trạng, trong đó ,

được xác định là cặp . Sau đây là thuật toán tính độ gần ngữ

nghĩa giữa P và T.

Input:P, T, Otomat B, M

Output:Độ gần ngữ nghĩa

Thuật toán 3

H=0;

q0=(0,0,0,0);

for(i=0;i

if(q.flag==0){

H=H+q.k*q.f;

q.flag=1;

}

q0=q;

}

;

Như vậy thuật toán trên chỉ cần tính cấu trúc otomat một lần, việc tính toán độ gần

ngữ nghĩa là O(n). Với cấu trúc otomat có thành phần flag thì những trạng thái đã được

xét sẽ không cần phải xét lại, điều này làm giảm đáng kể thời gian tính toán so với thuật

toán 2.

2.3.2. Thuật toán lựa chọn phản biện

Mỗi phản biện Ci(i=1,2,…,K) được đại diện bởi tập từ khóa , ri là

số từ khóa của phản biện Ci; Bài báo cần phản biện J được đại diện bởi tập các từ khóa

{J1,J2,…,Jt}. Bài toán đặt ra là trên cơ sở tập từ khóa bài báo và từ khóa chuyên môn

của các nhà phản biện, ta cần xác định độ gần chuyên môn của bài báo với phản biện

. Độ gần chuyên môn Ci, ký hiệu độ gần chuyên môn của bài báo với phản biện Ci là

của bài báo với phản biện Ci được xác định là

(17)

22

trong đó

p: là số khối có độ dài l được Ký hiệu mj là độ dài của từ khóa Jj;

Thuật toán tìm độ gần trích ra từ Jj xuất hiện trong Cik;

chuyên môn được mô tả như sau:

Input:Từ khóa các nhà phản biện: , i=1,2,…,K

Từ khóa báo báo: {J1,J2,…,Jt}

Output:Danh sách các phản biện được sắp xếp theo thứ tự giảm dần về

độ gần chuyên môn.

Thuật toán 4

for (i=1;i<=K;i++){

X=0;M=0;

for(j=1;j<=t;j++){

Khởi tạo otomat Bj đối với Jj;

for(k=1;k<=ri;k++)

X=X+H(Jj, Cik);

M=M+H(Jj,Jj);

}

M=ri*M;

}

Với cấu trúc otomat như trong mục 3, hàm H(Jj,Jj) được xây dựng như trong

thuật toán 2 và H(Jj, Cik) được xây dựng như trong thuật toán 3. Sau khi tính được độ

gần chuyên môn , ta sắp xếp danh sách các phản biện Ci theo thứ tự giảm dần của

. Như vậy, sau khi thực hiện thuật toán ta được danh sách phản biện được sắp xếp

23

theo mức độ ưu tiên có chuyên môn gần với bài báo.

KẾT LUẬN CHƯƠNG 2

Trong chương này, chúng tôi trình bày về các thuật toán so khớp mẫu. Các

thuật toán so khớp mẫu là cơ sở cho việc xây dựng hệ thống lựa chọn phản biện bao

gồm 2 thuật toán là Thuật toán Brute Force và thuật toán Knuth-Morris-Pratt.

Các thuật toán lựa chọn phản biện được chúng tôi sử dụng để xây dựng ứng

dụng là các thuật toán lựa chọn phản biện dựa trên các phương pháp tìm kiếm xấp xỉ

bao gồm: phương pháp quy hoạch động và phương pháp tính độ gần ngữ nghĩa theo

cách tiếp cận Otomat hữu hạn mờ. Các kết quả của chương này sẽ là cơ sở lý thuyết

24

cho việc xây dựng ứng dụng và được trình bày ở Chương 3.

CHƯƠNG 3. XÂY DỰNG ỨNG DỤNG

3.1. Phát biểu bài toán

Bài toán hỗ trợ lựa chọn phản biện được phát biểu như sau: Bài báo được đặc

trưng bởi các từ khóa P, người phản biện được đặc trưng bởi bộ từ khóa R, trên cơ sở

từ khóa bài báo và từ khóa chuyên môn của người phản biện tìm danh sách các phản

biện được sắp xếp theo thứ tự ưu tiên giảm dần về độ gần chuyên môn với bài báo.

Input:Từ khóa các nhà phản biện: , i=1,2,…,K

Từ khóa báo báo: {J1,J2,…,Jt}

Output:Danh sách các phản biện được sắp xếp theo thứ tự giảm dần về độ gần

chuyên môn.

3.2. Mô tả yêu cầu hệ thống

i/ Các chức năng được phân quyền cho cán bộ văn phòng toàn soạn được Tổng

biên tập chỉ định (sau đây gọi là Thư ký)

- Xem và cập nhật thông tin cá nhân.

- Quản lý tạp chí: Có chức năng tạo mới tạp chí, xem thông tin những tạp chí đã

được tạo theo kế hoạch xuất bản được duyệt.

- Đối với mỗi số tạp chí, mỗi chuyên san, đặc san được tạo mới, các chức năng

dành cho Thư ký bao gồm:

+ Tiếp nhận bài báo do tác giả gửi lên.

+ Phân loại các bài đủ điều kiện (đáp ứng được nội dung, hình thức và kinh phí)

và các bài không đủ điều kiện (trong đó có xác định rõ lý do không đủ điều kiện).

+ Chuyển các bài đủ điều kiện lên Trưởng Ban biên tập chuyên san.

+ Tiếp nhận các bài báo kèm theo chỉ định người phản biện từ Trưởng Ban biên

tập chuyên san.

+ Chuyển bài báo cho phản biện trong danh sách chỉ định (cho cả lần 1 và lần 2

nếu lần 1 không đạt).

+ Tiếp nhận kết quả phản biện.

+ Phân loại những bài viết có chất lượng tốt, khá, trung bình, không đạt.

+ Chuyển kết quả phản biện cho tác giả.

25

+ Tiếp nhận bài báo đã chỉnh sửa kèm theo các giải trình từ tác giả.

+ Chuyển bài báo đã chỉnh sửa kèm theo các giải trình từ tác giả đến các phản

biện.

+ Chuyển bài báo đã được tác giả chỉnh sửa lên Trưởng ban biên tập chuyên san

(Đối với các bài sửa chữa không cần gửi lại cho phản biện).

+ Tiếp nhận ý kiến từ Trưởng ban biên tập chuyên san về bài báo được tác giả

chỉnh sửa (Đối với các bài sửa chữa không cần gửi lại cho phản biện), ý kiến về danh

mục chọn đăng.

+ Xem nội dung và tình trạng bài báo của Tác giả.

+ Tập hợp các bài báo được chấp nhận đăng trình lên Trưởng ban biên tập

chuyên san.

+ Tập hợp các bài báo được chấp nhận đăng trình lên Tổng biên tập và tiếp nhận

ý kiến về danh mục đăng từ Tổng biên tập.

+ Tạo số cho các bài báo được Tổng biên tập duyệt.

- Cập nhật thông tin phản biện.

- Thống kê người phản biện kèm theo số bài báo đã phản biện.

ii/ Các chức năng được phân quyền cho Phản biện

- Xem và cập nhật thông tin cá nhân.

- Xem và tải nội dung bài báo mời phản biện.

- Gửi nhận xét và kết quả phản biện đến Văn phòng tòa soạn: Tóm tắt nội dung bài

báo, những kết quả nghiên cứu mới, ý nghĩa khoa học và thực tiễn, các nội dung chính

của bài báo đã được công bố trên các ấn phẩm khác hay chưa, kết luận không đăng hay

đăng ở các mức độ khác nhau, đánh giá, nội dung sửa lại.

iii/ Các chức năng được phân quyền cho Trưởng Ban biên tập chuyên san

- Xem và cập nhật thông tin cá nhân.

- Đối với mỗi số tạp chí, mỗi chuyên san, đặc san được tạo mới, các chức năng

dành cho Trưởng Ban biên tập chuyên san:

+ Tiếp nhận các bài đủ điều kiện từ Thư ký.

+ Chuyển danh sách các bài báo kèm theo chỉ định người phản biện tới Thư ký.

+ Tiếp nhận các bài báo đã được tác giả chỉnh sửa từ thư ký (Đối với các bài sửa

chữa không cần gửi lại cho phản biện).

+ Gửi ý kiến tới Thư ký về bài báo được tác giả chỉnh sửa (Đối với các bài sửa

chữa không cần gửi lại cho phản biện)

26

+ Gửi ý kiến tới Thư ký về danh mục chọn đăng.

+ Tiếp nhận các bài báo được chấp nhận đăng.

iv/ Các chức năng được phân quyền cho Tổng biên tập

- Xem và cập nhật thông tin cá nhân.

- Đối với mỗi số tạp chí, mỗi chuyên san, đặc san được tạo mới, các chức năng

dành cho Tổng biên tập:

+ Xem nội dung và tình trạng các bài báo được gửi đến từ các tác giả.

+ Tiếp nhận các bài báo được chấp nhận đăng từ Thư ký.

+ Gửi ý kiến tới Thư ký về danh mục đăng.

+ Xem tổng số bài đã gửi, tổng số bài được chấp nhận đăng, tổng số bài không

được đăng, tổng số bài được chấp nhận đăng nhưng phải chỉnh sửa.

- Theo dõi quản lý tạp chí:

+ Các số đã xuất bản

+ Đối với mỗi số xuất bản cho mỗi chuyên san: Xem tổng số bài đã gửi, tổng số

bài được chấp nhận đăng, tổng số bài không được đăng, tổng số bài được chấp nhận

đăng nhưng phải chỉnh sửa.

v/ Chức năng lựa chọn phản biện

Mỗi nhà khoa học có thể tham gia hoạt động chuyên môn nhiều lĩnh vực khác

nhau. Vì tính chất đa ngành đa lĩnh vực của tạp chí, nên việc chọn người phản biện cho

bài báo đôi khi còn thực sự chưa bám sát vào hướng nghiên cứu của người phản biện

và vấn đề mà bài báo đề cập tới. Ví dụ, cùng là lĩnh vực Công nghệ Thông tin nhưng

nội dung bài báo viết về chuyên môn hẹp là Khai phá luật kết hợp, nếu ta chọn một

nhà khoa học phản biện cho bài báo này mà chỉ căn cứ vào lĩnh vực chuyên môn là

Công nghệ Thông tin rất có thể dẫn đến việc ta chọn một người phản biện có hướng

nghiên cứu về An toàn thông tin mà không am hiểu về nội dung bài báo đề cập đến

(mặc dù cũng hoạt động trong lĩnh vực Công nghệ Thông tin). Vì vậy, việc chọn ra

người phản biện có cùng hướng nghiên cứu với nội dung bài báo từ cơ sở dữ liệu các

nhà khoa học đảm bảo tính chất khách quan, đúng vấn đề cần phản biện là điều hết sức

cần thiết. Muốn vậy, việc phân loại và chọn phản biện cần phải dựa vào các từ khóa

cho mỗi bài báo hay số lượng bài báo thuộc hướng nghiên cứu mà tác giả đăng….

Chính vì lý do này, giải pháp xây dựng phần mềm lựa chọn phản biện tự động dựa trên

các phương pháp tìm kiếm xấp xỉ sẽ đem lại cho tạp chí một phương án tối ưu nhất khi

Thư ký hay Tổng biên tập chọn phản biện và các nhà phản biện cho một bài báo sẽ

được liệt kê theo mức độ ưu tiên về chuyên môn gần với bài báo nhất, đó cũng là 27

thông tin hỗ trợ, gợi ý cho Thư ký tạp chí khi phân phản biện bài báo sao cho phù hợp

với từng điều kiện hoàn cảnh cụ thể. Chức năng lựa chọn phản biện thực hiện các việc

chính sau:

- Bổ sung, cập nhật thông tin về người phản biện, gồm các thông tin sau: Họ tên, ngày

sinh, giới tính, đơn vị công tác, lĩnh vực chuyên môn, số điện thoại, địa chỉ email, từ

khóa hướng chuyên môn.

- Lập danh sách các nhà phản biện cho một bài báo theo thứ tự ưu tiên gần với hướng

nghiên cứu của bài báo nhất.

- Cho phép xem hồ sơ phản biện để làm căn cứ khi quyết định lựa chọn phản biện cho

bài báo. Hồ sơ khoa học gồm các thông tin theo mẫu biểu sau:

LÝ LỊCH KHOA HỌC

I. LÝ LỊCH SƠ LƯỢC

Họ và tên: ……….......................................

Giới tính: …………………………………..

Ngày sinh: ………………………………… Quê quán: ………........................................

Nơi sinh: ……..……………………………. Dân tộc: ……………………………………

Đơn vị công tác: ………………………………………………………….…………………

Địa chỉ liên lạc:

…………………………………………………………….………………

Điện thoại liên hệ: ……………………………………………………………………………

E-mail :

……………………………………………………………………………..

Học hàm, học vị:

…………………………Chuyên ngành: ………………………………….

Số tài khoản:

……………………………… tại ngân hàng: ………………………………

Mã số thuế:

……………………………………………………………………………….

II. QUÁ TRÌNH ĐÀO TẠO

1. Đại học: Ngành học: …………………………..…...

Hệ đào tạo: ………………………………....

Nơi đào tạo: ……………………………….

Năm tốt nghiệp:…………………………….

2. Thạc sĩ: Chuyên ngành:………………………..……..

Nơi đào tạo: ……………………………...

Năm cấp bằng: ………………………………

3. Tiến sỹ Chuyên ngành:………………………..……..

Nơi đào tạo: ……………………………...

Năm cấp bằng: ………………………………

Tên luận án tốt nghiệp: ………………………………………………………………………… …………………………………………………………………………………………………….. …………………………………………………………………………………………………….. …………………………………………………………………………………………………….. 3. Ngoại ngữ: 1.………………………..……..

Mức độ sử dụng: …………………………….................

28

2. ………………………………

Mức độ sử dụng: …………………………….................

III. QUÁ TRÌNH CÔNG TÁC

Thời gian

Nơi công tác

Công việc đảm nhiệm

IV. KẾT QUẢ NGHIÊN CỨU KHOA HỌC

1. Các đề tài nghiên cứu khoa học đã tham gia:

TT

Năm hoàn thành

Tên đề tài nghiên cứu / lĩnh vực ứng dụng

Trách nhiệm tham gia trong đề tài

Đề tài cấp (NN, Bộ, Ngành, trường)

2. Các công trình khoa học (bài báo khoa học, báo cáo hội nghị khoa học, sách chuyên khảo…) đã công bố

TT

Tên công trình

Thể loại

Năm công bố

Nơi công bố

3. Để thuận lợi cho việc lựa chọn phản biện, đề nghị các nhà khoa học cung cấp cho Ban biên tập Tạp chí từ 05 – 10 từ khóa thể hiện sở trường chuyên môn của mình, sắp xếp theo thứ tự giảm dần.

Ví dụ:

STT

Từ khóa tiếng Việt

Từ khóa tiếng Anh

1

Hệ có tham số phân bố

Distributed parameter system

2

Điều khiển tối ưu

Optimal control

3

Thiết kế PID

PID design

4

Điều khiển mờ

Fuzzy control

5

Đại số gia tử

Hedge algebras

6

Giảm bậc mô hình

Model order reduction

29

7

Phương pháp số

Numerical methods

8

Truyền thông qua đường dây điện lực

Power line communication

9

……

…………………, ngày …… tháng …… năm 2016 Xác nhận của đơn vị

Người khai ký tên

(Ghi rõ họ tên)

3.3. Phân tích hệ thống

3.3.1. Xác định Actor và Use Case

STT

Tên tác nhân

Vai trò

1

TK

Thư ký Tạp chí

2

TK_TNK

3

TK_KHX

4

TK_NLY

5

Phản biện

6

TB_TNK

7

TB_KHX

8

TB_NLY

9 10

Tổng biên tập Quản trị

Thư ký phụ trách chuyên san Khoa học tự nhiên kỹ thuật Thư ký phụ trách chuyên san Khoa học xã hội và nhân văn Thư ký phụ trách chuyên san Khoa học Nông Lâm Ngư Y Sinh Phản biện Trưởng ban biên tập chuyên chuyên san Khoa học Tự nhiên kỹ thuật Trưởng ban biên tập chuyên chuyên san Khoa học xã hội và nhân văn Trưởng ban biên tập chuyên chuyên san Khoa học Nông Lâm Ngư Y Sinh Tổng biên tập Quản trị hệ thống Bảng 5. Xác định các tác nhân

STT

Use case

Actor

1 1.1 1.2

Quản trị hệ thống Cập nhật người sử dụng và phân quyền Quản lý đăng ký phản biện

1.3

Xem thông tin và danh sách đăng ký làm phản biện

2

Đăng nhập

3

Quản lý phản biện

3.1

Cập nhật thông tin phản biện

3.1.1 3.1.2

Cập nhật lý lịch sơ lược Cập nhật quá trình đào tạo

Quản trị Quản trị Quản trị, TK, TK_TNK, TK_KHX, TK_NLY, TB_TNK, TB_KHX, TB_NLY, Tổng biên tập Quản trị, TK, TK_TNK, TK_KHX, TK_NLY, TB_TNK, TB_KHX, TB_NLY, Tổng biên tập Quản trị, TK, TK_TNK, TK_KHX, TK_NLY, TB_TNK, TB_KHX, TB_NLY, Tổng biên tập

30

3.1.3 3.1.4 3.1.5 3.1.6

Cập nhật quá trình công tác Cập nhật công trình nghiên cứu Cập nhật đề tài nghiên cứu khoa học Cập nhật từ khóa chuyên môn

3.2

Tổng hợp bài báo theo phản biện

Quản trị, TK, TK_TNK, TK_KHX, TK_NLY, TB_TNK, TB_KHX, TB_NLY, Tổng biên tập

3.2.1

3.2.2

3.2.3

3.2.4 4 4.1

TK_TNK, TK_KHX, TK_NLY

4.1.1

TK_TNK

4.1.2

TK_KHX

4.1.3

TK_NLY

4.2

Thống kê danh sách phản biện theo chuyên san khoa học tự nhiên về số bài phản biện đạt, không đạt, chưa trả Tổng hợp theo chuyên san khoa học xã hội và nhân văn về số bài phản biện đạt, không đạt, chưa trả Tổng hợp theo chuyên san Nông Lâm Ngư Y Sinh về số bài phản biện đạt, không đạt, chưa trả Xem hồ sơ tác giả Quản lý bài báo Cập nhật bài báo Cập nhật bài báo thuộc chuyên san Khoa học Tự nhiên kỹ thuật Cập nhật bài báo thuộc chuyên san Khoa học Xã hội và Nhân văn Cập nhật bài báo thuộc chuyên san Nông Lâm Ngư Y Sinh Thống kê và tìm kiếm bài báo theo các điều kiện: Mã bài báo, theo thông tin tác giả, theo phản biện,…

4.3

Tổng hợp bài báo theo tác giả

4.3.1

TK, TK_TNK, TK_KHX, TK_NLY, TB_TNK, TB_KHX, TB_NLY, Tổng biên tập TK, TK_TNK, TK_KHX, TK_NLY, TB_TNK, TB_KHX, TB_NLY, Tổng biên tập TK, TK_TNK, TB_TNK, Tổng biên tập

4.3.2

TK, TK_KHX, TB_KHX, Tổng biên tập

4.3.3

TK, TK_NLY, TB_NLY, Tổng biên tập

Tổng hợp theo chuyên san khoa học tự nhiên về số bài đạt, không đạt, đang chờ kết quả phản biện Tổng hợp theo chuyên san khoa học xã hội và nhân văn về số bài đạt, không đạt, đang chờ kết quả phản biện Tổng hợp theo chuyên san Nông Lâm Ngư Y Sinh về về số bài đạt, không đạt, đang chờ kết quả phản biện

5

Đổi mật khẩu

6 6. 1 6. 2 6.3 6.4 6.5 6.6 7 7.1

Đăng ký làm phản biện Cập nhật lý lịch sơ lược Cập nhật quá trình đào tạo Cập nhật quá trình công tác Cập nhật công trình nghiên cứu Cập nhật đề tài nghiên cứu khoa học Cập nhật từ khóa chuyên môn Tìm kiếm phản biện Xem hồ sơ phản biện

Quản trị, TK, TK_TNK, TK_KHX, TK_NLY, TB_TNK, TB_KHX, TB_NLY, Tổng biên tập Phản biện Phản biện Phản biện Phản biện Phản biện Phản biện Phản biện TK, TK_TNK, TK_KHX,

31

7.2

Dự kiến danh sách phản biện

7.3

Tìm kiếm theo từng từ khóa

7.4

Tìm kiếm theo dãy từ khóa

7.5

Nạp dữ liệu phản biện

8 8.1 8.2

Chỉ định phản biện Chỉ định phản biện 1 Chỉ định phản biện 2

TK_NLY TK, TK_TNK, TK_KHX, TK_NLY TK, TK_TNK, TK_KHX, TK_NLY TK, TK_TNK, TK_KHX, TK_NLY TK, TK_TNK, TK_KHX, TK_NLY TK_TNK, TK_KHX, TK_NLY TK_TNK, TK_KHX, TK_NLY

Bảng 6. Xác định các use case

3.3.2. Biểu đồ Use Case

1/ Quản trị hệ thống

32

Hình 3. Nhóm Use case Quản trị hệ thống

2/ Đăng nhập

Hình 4. Use case Đăng nhập

Tên Use case

Tác nhân chính

Mức

Người chịu trách nhiệm

Đăng nhập Quản trị, TK, TK_TNK, TK_KHX, TK_NLY, TB_TNK, TB_KHX, TB_NLY, Tổng biên tập 1 Người sử dụng: Quản trị, TK, TK_TNK, TK_KHX, TK_NLY, TB_TNK, TB_KHX, TB_NLY, Tổng biên tập Người sử dụng truy nhập vào địa chỉ hệ thống Hệ thống chuyển sang trang chủ Người sử dụng chọn chức năng đăng nhập

Tiền điều kiện Đảm bảo tối thiểu Đảm bảo thành công Kích hoạt Chuỗi sự kiến chính 1. Hệ thống hiển thị trang đăng nhập và yêu cầu người sử dụng nhập thông tin về tài khoản và mật khẩu đăng nhập. 2. Người sử dụng nhập tài khoản, mật khẩu và nhấn nút Đăng nhập. 3. Hệ thống xác nhận tính hợp lệ về tài khoản của người dùng. 4. Hệ thống hiển thị trang chủ. Ngoại lệ 1.a. Hệ thống thông báo tài khoản không hợp lệ nếu thông tin về tài khoản và mật khẩu chưa được cấp hoặc người dùng nhập sai tài khoản, mật khẩu.

33

Bảng 7. Scenario cho use case Đăng nhập

3/ Quản lý phản biện

Hình 5. Nhóm Use case Quản lý phản biện

34

Hình 6. Phân rã Use case Cập nhật thông tin phản biện

Tên Use case

Tác nhân chính

Mức

Người chịu trách nhiệm

Tiền điều kiện

Đảm bảo tối thiểu

Cập nhật lý lịch sơ lược Quản trị, TK, TK_TNK, TK_KHX, TK_NLY, TB_TNK, TB_KHX, TB_NLY, Tổng biên tập 2 Người sử dụng: Quản trị, TK, TK_TNK, TK_KHX, TK_NLY, TB_TNK, TB_KHX, TB_NLY, Tổng biên tập Người sử dụng đã đăng nhập Hệ thống thông báo các thông tin không hợp lệ nếu sai định dạng Thông tin về phản biện được cập nhật vào cơ sở dữ liệu Người sử dụng chọn chức năng lưu thông tin

Đảm bảo thành công Kích hoạt Chuỗi sự kiến chính 1. Hệ thống hiển thị trang cập nhật thông tin phản biện và yêu cầu người sử dụng nhập thông tin về lý lịch sơ bản của người phản biện. 2. Người sử dụng nhập thông tin về lý lịch sơ bản của người phản biện. 3. Hệ thống xác nhận tính hợp lệ về thông tin người phản biện. 4. Hệ thống cập nhật thông tin lý lịch cơ bản của người phản biện. 5. Hệ thống thoát khỏi chức năng cập nhật lý lịch sơ lược. 6. Hệ thống xóa người phản biện được chọn từ danh sách. Ngoại lệ 2.a. Hệ thống thông báo các thông tin bắt buộc phải nhập: Họ tên, đơn vị công tác, địa chỉ email, mật khẩu đăng nhập, chuyên san phản biện. 2.b. Hệ thống thông báo các thông tin không hợp lệ. 2.b.1. Hệ thống thông báo năm sinh không hợp lệ. 2.b.2. Hệ thống thông báo địa chỉ email không hợp lệ. 2.b.3. Hệ thống thông số điện thoại không hợp lệ.

Bảng 8. Scenario cho use case Cập nhật lý lịch sơ lược

35

Hình 7. Phân rã Use case Tổng hợp bài báo theo phản biện

Tên Use case

Tác nhân chính

Mức

Người chịu trách nhiệm

Tiền điều kiện

Đảm bảo tối thiểu

Đảm bảo thành công

Tổng hợp bài báo theo phản biện Quản trị, Tổng biên tập, TB_TNK, TB_KHX, TB_NLY, TK, TK_TNK, TK_KHX, TK_NLY 1 Người sử dụng: Quản trị, Tổng biên tập, TB_TNK, TB_KHX, TB_NLY, TK, TK_TNK, TK_KHX, TK_NLY Người sử dụng đã đăng nhập và đã lựa chọn chuyên san Hệ thống thông báo chọn chuyên san nếu người sử dụng chưa chọn chuyên san Hiển thị danh sách người phản biện và kèm theo là số lượng các bài báo đã phản biện, bao gồm số bài chấm đạt, không đạt và chưa trả. Người SD chọn chức năng Tổng hợp bài báo theo phản biện

Kích hoạt Chuỗi sự kiến chính 1. Người sử dụng nhập các tiêu chí lựa chọn, bao gồm các tiêu chí: Chuyên san; phản biện cho các bài báo nhận từ ngày nào đến ngày nào 2. Hệ thống lập danh sách thỏa mãn tổ hợp các tiêu chí chọn lựa. 3. Hệ thống xác định phản biện được chọn để xem xét. 4. Hệ thống thoát khỏi trang tổng hợp bài báo. Ngoại lệ 1.a. Hệ thống thông báo phải chọn chuyên san bài báo.

Bảng 9. Scenario cho use case Tổng hợp bài báo theo phản biện

4/ Quản lý bài báo

36

Hình 8. Use case Thống kê và tìm kiếm

Hình 9. Nhóm Use case Cập nhật bài báo

37

Hình 10. Phân rã Use case Cập nhật bài báo khoa học tự nhiên

Hình 11. Phân rã Use case Cập nhật bài báo khoa học Xã hội và Nhân văn

38

Hình 12. Phân rã Use case Cập nhật bài báo Nông Lâm Ngư Y Sinh

Hình 13. Nhóm Use case Tổng hợp bài báo theo tác giả

Tên Use case

Tác nhân chính

Mức

Người chịu trách nhiệm

Tiền điều kiện

Đảm bảo tối thiểu

Đảm bảo thành công

Tổng hợp bài báo theo tác giả Tổng biên tập, TB_TNK, TB_KHX, TB_NLY, TK, TK_TNK, TK_KHX, TK_NLY 1 Người sử dụng: Tổng biên tập, TB_TNK, TB_KHX, TB_NLY, TK, TK_TNK, TK_KHX, TK_NLY Người sử dụng đã đăng nhập và đã lựa chọn chuyên san Hệ thống thông báo chọn chuyên san nếu người sử dụng chưa chọn chuyên san Hiển thị danh sách tác giả và kèm theo là số lượng các bài báo đã được đăng, không được đăng và số lượng bài đang chờ kết quả phản biện. Người SD chọn chức năng Tổng hợp bài báo theo tác giả

Kích hoạt Chuỗi sự kiến chính 1. Người sử dụng nhập các tiêu chí lựa chọn, bao gồm các tiêu chí: Chuyên san; các bài báo nhận từ ngày nào đến ngày nào 2. Hệ thống lập danh sách tác giả chính cho các bài báo thỏa mãn tổ hợp các tiêu chí chọn lựa. 3. Hệ thống thoát khỏi trang tổng hợp bài báo. Ngoại lệ 1.a. Hệ thống thông báo phải chọn chuyên san bài báo.

39

Bảng 10. Scenario cho use case Tổng hợp bài báo theo tác giả

5/ Đổi mật khẩu

Hình 14. Use case Đổi mật khẩu

6/ Đăng ký làm phản biện

40

Hình 15. Use case Đăng ký làm phản biện

7/ Tìm kiếm phản biện

Hình 16. Nhóm Use case Tìm kiếm phản biện

41

Hình 17. Phân rã Use case chọn bài báo phản biện

Tên Use case Tác nhân chính Mức Người chịu trách nhiệm Tiền điều kiện

Đảm bảo tối thiểu

Đảm bảo thành công

Chọn bài báo phản biện TK, TK_TNK, TK_KHX, TK_NLY 1 Người sử dụng: TK, TK_TNK, TK_KHX, TK_NLY Người sử dụng đã đăng nhập và đã lựa chọn chuyên san Hệ thống thông báo chọn chuyên san nếu người xử dụng chưa chọn chuyên san Các từ khóa của bài báo được phân tách và hiện thị tại trang tìm kiếm phản biện Người sử dụng chọn chức năng Chọn bài báo

Kích hoạt Chuỗi sự kiến chính 1. Hệ thống hiển thị trang lựa chọn. 2. Người sử dụng nhập các tiêu chí lựa chọn cho bài báo, bao gồm các tiêu chí: Chuyên san; mã bài báo; tác giả chính; bài báo nhận từ ngày nào đến ngày nào; có người phản biện 1 hay chưa; có kết quả phản biện 1 hay chưa (chưa có kết quả; không đồng ý đăng; đồng ý đăng; đồng ý đăng có sửa chữa và không cần gửi lại; đồng ý đăng có sửa chữa và phải gửi lại) ; có người phản biện 2 hay chưa; có kết quả phản biện 2 hay chưa (chưa có kết quả; không đồng ý đăng; đồng ý đăng; đồng ý đăng có sửa chữa và không cần gửi lại; đồng ý đăng có sửa chữa và phải gửi lại). 3. Hệ thống lập danh sách các bài báo theo tổ hợp các tiêu chí chọn lựa. 4. Hệ thống xác định bài báo chọn lựa. 5. Hệ thống thoát khỏi trang chọn bài báo và phân tách các từ khóa bài báo, hiện thị các từ khóa được phân tách trong trang tìm kiếm phản biện. 6. Hệ thống xóa các tiêu chí chọn lựa và cho phép người dùng chọn lại. Ngoại lệ 1.a. Hệ thống thông báo phải chọn chuyên san bài báo.

Bảng 11. Scenario cho use case Chọn bài báo phản biện

8/ Chỉ định phản biện

42

Hình 18. Nhóm Use case Chỉ định phản biện

3.3.3. Biểu đồ lớp phân tích

43

Hình 19. Biểu đồ lớp phân tích

3.3.4. Biểu đồ trạng thái

Hình 20. Biểu đồ trạng thái lớp Journal

3.4. Thiết kế hệ thống

3.4.1. Biểu đồ tuần tự

44

Hình 21. Biểu đồ tuần tự cho chức năng đăng nhập

45

Hình 22. Biểu đồ tuần tự cho chức năng tìm kiếm phản biện theo từng từ khóa

46

Hình 23. Biểu đồ tuần tự cho chức năng tìm kiếm phản biện theo dãy từ khóa

47

Hình 24. Biểu đồ tuần tự cho chức năng Chọn bài báo

Hình 25. Biểu đồ tuần tự cho chức năng Cập nhật lý lịch sơ lược (Thuộc chức năng

48

Đăng ký làm phản biện)

Hình 26. Biểu đồ tuần tự cho chức năng Cập nhật từ khóa chuyên môn thuộc lĩnh vực

49

Khoa học Tự nhiên (Thuộc nhóm Use case Đăng ký làm phản biện)

Hình 27. Biểu đồ tuần tự cho chức năng đổi mật khẩu đối với tác nhân Thư ký

50

Hình 28. Biểu đồ tuần tự cho chức năng Thêm bài báo

51

Hình 29. Biểu đồ tuần tự cho chức năng Chỉ định phản biện 1

52

Hình 30. Biểu đồ tuần tự cho chức năng Chỉ định phản biện 2

3.4.2. Biểu đồ lớp chi tiết

53

Hình 31. Biểu đồ lớp chi tiết

3.4.3. Các đối tượng cơ sở dữ liệu và các chức năng của chương trình

Việc lưu trữ dữ liệu cho các lớp là rất khó khăn bởi chưa có các công cụ chuẩn

hữu hiệu như trong CSDL quan hệ để hỗ trợ cho việc tạo và lưu trữ dữ liệu. Bởi vậy

chúng tôi đã chuyển biểu đồ lớp trong UML sang mô hình EER (Enhaned Entity

Relationship), sau đó chuyển đổi từ mô hình EER sang quan hệ để sử dụng các hệ

quản trị CSDL quan hệ để lưu trữ dữ liệu.

3.4.3.1. Sơ đồ thực thể liên kết

54

Hình 32. Sơ đồ thực thể liên kết

3.4.3.2. Các đối tượng cơ sở dữ liệu

CriticismID SName Name BirthYear Gender PlaceOfBirth NativeCountry Ethnicity Organization Address PhoneNumber Email PassLogin

Bigint nvarchar(200) nchar(100) char(4) nchar(10) nvarchar(200) nvarchar(200) nchar(50) nvarchar(500) nvarchar(500) char(12) nchar(100) nchar(100)

Speciality

nchar(10)

char(50) nvarchar(200)

AccountNumber Bank TaxIdentificationNumber char(50) Univ_Brand Univ_TypeOfTraining University Univ_Year Mast_Specific Mast_University Mast_Year Doct_Specific Doct_University Doct_Year Doct_TitleOfThesis Languages1 LevelOfLanguages1 Languages2 LevelOfLanguages2 KeywordVN KeywordEng Who DateAndTime Date Month Year NumberYes NumberNo NumberWaiting

nvarchar(200) nvarchar(50) nvarchar(200) char(4) nvarchar(200) nvarchar(200) char(4) nvarchar(200) nvarchar(200) char(4) nvarchar(600) nvarchar(50) nvarchar(50) nvarchar(50) nvarchar(50) nvarchar(MAX) nvarchar(MAX) nchar(100) nvarchar(100) char(2) char(2) char(4) Int Int Int

Số định danh phản biện Họ phản biện Tên phản biện Năm sinh Giới tính Nơi sinh Quê quán Dân tộc Cơ quan công tác Địa chỉ Số điện thoại Địa chỉ Email Mật khẩu tài khoản Chuyên san: Nông Lâm Y là NLY; Khoa học xã hội là KHX; Tự nhiên kỹ thuật TNK Tài khoản ngân hang Ngân hàng đăng ký tài khoản Mã số thuế Ngành học đại học Hệ đào tạo đại học Tên trường học đại học Năm tốt nghiệp Chuyên môn thạc sỹ Cơ sở đào tạo thạc sỹ Năm tốt nghiệp thạc sỹ Chuyên môn tiến sỹ Cơ sở đào tạo tiến sỹ Năm tốt nghiệp tiến sỹ Tiêu đề luận án Ngoại ngữ 1 Trình độ ngoại ngữ 1 Ngoại ngữ 2 Trình độ ngoại ngữ 2 Từ khóa tiếng Việt Từ khóa tiếng Anh Người cập nhật phản biện Thời gian cập nhật Ngày cập nhật Tháng cập nhật Năm cập nhật Trường lưu trữ thông tin tạm thời Trường lưu trữ thông tin tạm thời Trường lưu trữ thông tin tạm thời

Tên trường dữ liệu Diễn giải Kiểu dữ liệu (độ rộng)

55

Bảng 12. Bảng tblCriticism lưu các thông tin về phản biện

Bigint JournalID nchar(14) Journal nvarchar(500) TitleVN nvarchar(500) TitleEng nchar(10) Speciality nvarchar(500) KeywordVNM nvarchar(500) KeywordENG char(10) Volume char(2) Issue char(3) Quarters char(4) Years char(10) Pages nvarchar(50) SnameOfAuthor nvarchar(50) NameOfAuthor nvarchar(100) Organization char(12) PhoneNumber nchar(100) Email Coauthor nvarchar(500) OrganizationOfCoauthor nvarchar(500) ReceiveDate ReceiveMonth ReceiveYear ReceiveUser CriticismDate1 CriticismMonth1 CriticismYear1 DeadlineDate1 DeadlineMonth1 DeadlineYear1 CriticismDate2 CriticismMonth2 CriticismYear2 DeadlineDate2 DeadlineMonth2 DeadlineYear2 UpdateUser1 UserDate1 CriticismID1 Result1 Mark1 UpdateUser2 UserDate2 CriticismID2 Result2 Mark2 Result Mark

char(2) char(2) char(4) nvarchar(100) char(2) char(2) char(4) char(2) char(2) char(4) char(2) char(2) char(4) char(2) char(2) char(4) nvarchar(200) nvarchar(20) Bigint Int Real nvarchar(200) nvarchar(20) Bigint Int Real Int Real

ID bài báo Mã bài báo Tiêu đề tiếng Việt của bài báo Tiêu đề tiếng Anh Thuộc chuyên san Từ khóa tiếng Việt Từ khóa tiếng Anh Vol bài báo Issue bài báo Xuất bản vào quý mấy Xuất bản vào năm nào Số trang Họ tác giả Tên tác giả Cơ quan tác giả Số điện thoại Địa chỉ email Đồng tác giả Đơn vị đồng tác giả Ngày nhận bài Tháng nhận bài Năm nhận bài Người nhận bài Ngày giao phản biện 1 Tháng giao phản biện 1 Năm giao phản biện 1 Ngày hạn trả bài của phản biện 1 Tháng hạn trả bài của phản biện 1 Năm hạn trả bài của phản biện 1 Ngày giao phản biện 2 Tháng giao phản biện 2 Năm giao phản biện 2 Ngày hạn trả bài của phản biện 2 Tháng hạn trả bài của phản biện 2 Năm hạn trả bài của phản biện 2 Người cập nhật phản biện 1 Ngày cập nhật phản biện 1 ID phản biện 1 Kết quả phản biện 1 Kết quả điểm số phản biện 1 Người cập nhật phản biện 2 Ngày cập nhật phản biện 2 ID phản biện 2 Kết quả phản biện 2 Kết quả điểm số phản biện 2 Kết luận phản biện Điểm trung bình của 2 phản biện

Tên trường dữ liệu Diễn giải Kiểu dữ liệu (độ rộng)

56

Bảng 13. Bảng tblJournal lưu các thông tin về bài báo

Cách đánh mã bài báo: Mã chuyên san+Ngày nhận bài+Tháng nhận bài+Năm

nhận bài(2 số cuối)+”-“+Số thứ tự(3 chữ số).

Ví dụ: Bài báo thuộc chuyên san tự nhiên kỹ thuật nhận vào ngày 14/11/20017

là bài được nhận đầu tiên sẽ có mã là: TNK141117-001.

Mã chuyên san Tên chuyên san

ID Chuyensan

Tên trường dữ liệu Diễn giải

Kiểu dữ liệu (độ rộng) nchar(10) NotNull nvarchar(100)

Bảng 14. Bảng tblChuyensan lưu trữ danh mục các chuyên san

ID CriticismID TitleCT Kind YearCT Publish

Bigint NotNull Bigint nvarchar(500) nvarchar(200) char(4) nvarchar(200)

ID phản biện Tên công trình khoa học Thể loại: Sách, giáo trình hay bài báo Năm xuất bản Nhà Xuất bản

Tên trường dữ liệu Diễn giải Kiểu dữ liệu (độ rộng)

Bảng 15. Bảng tblCri_Journal_and_Book lưu giữ các công trình của nhà khoa học

tham gia làm phản biện

ID phản biện Thời gian công tác Nơi công tác Vị trí việc làm

Bigint NotNull Bigint nvarchar(100) nvarchar(300) nvarchar(300)

Tên trường dữ liệu Diễn giải Kiểu dữ liệu (độ rộng)

ID CriticismID Time PlaceOfWork Role Bảng 16. Bảng tblCri_ProcessOfWork lưu thông tin quá trình công tác của phản biện

ID CriticismID Title Year Leve Roles

Bigint NotNull Bigint nvarchar(200) char(10) nvarchar(50) nvarchar(50)

ID phản biện Tên đề tài nghiên cứu Năm thực hiện Cấp thực hiện: Nhà nước, Bộ, cơ sở,…. Trách nhiệm: Chủ nhiệm hay thành viên,…

Tên trường dữ liệu Diễn giải Kiểu dữ liệu (độ rộng)

Bảng 17. Bảng tblCri_ScientificResearch lưu thông tin đề tài của phản biện

Gender GenderName

Tên trường dữ liệu Diễn giải

Mã giới tính Tên giới tính

Kiểu dữ liệu (độ rộng) nchar(10) NotNull nvarchar(10)

57

Bảng 18. Bảng tblGender lưu thông tin danh mục giới tính

ID CriticismID KeywordENG KeywordVNM Distance

Bigint NotNull Bigint NotNull nvarchar(100) nvarchar(100) Real

ID phản biện Từ khóa tiếng Anh Từ khóa tiếng Việt Thông tin lưu tạm thời

Tên trường dữ liệu Diễn giải Kiểu dữ liệu (độ rộng)

Bảng 19. Bảng tblKeywordKHX lưu thông tin từ khóa của các phản biện thuộc lĩnh

vực Khoa học xã hội

ID CriticismID KeywordENG KeywordVNM Distance

Bigint NotNull Bigint NotNull nvarchar(100) nvarchar(100) Real

ID phản biện Từ khóa tiếng Anh Từ khóa tiếng Việt Thông tin lưu tạm thời

Tên trường dữ liệu Diễn giải Kiểu dữ liệu (độ rộng)

Bảng 20. Bảng tblKeywordNLY lưu thông tin từ khóa của các phản biện thuộc lĩnh

vực Nông Lâm Y

ID CriticismID KeywordENG KeywordVNM Distance

Bigint NotNull Bigint NotNull nvarchar(100) nvarchar(100) Real

ID phản biện Từ khóa tiếng Anh Từ khóa tiếng Việt Thông tin lưu tạm thời

Tên trường dữ liệu Diễn giải Kiểu dữ liệu (độ rộng)

Bảng 21. Bảng tblKeywordTNK lưu thông tin từ khóa của các phản biện thuộc lĩnh

vực Tự nhiên Kỹ thuật

Trạng thái: 1-Mở, 0-Đóng Người cập nhật trạng thái Thời gian cập nhật Ngày cập nhật Tháng cập nhật Năm cập nhật

Int nchar(100) nvarchar(100) char(2) char(2) char(4)

Tên trường dữ liệu Diễn giải Kiểu dữ liệu (độ rộng)

Status Who DateAndTime Date Month Year Bảng 22. Bảng tblManageRegist lưu thông tin thực trạng cho phép đăng ký phản biện

trực tuyến

MenuID MenuName Link ParentID Permission

Int NotNull nvarchar(50) nvarchar(50) Int char(10)

ID menu Tên menu Liên kết ID menu cha Phân quyền cho menu

58

Tên trường dữ liệu Diễn giải Kiểu dữ liệu (độ rộng)

Bảng 23. Bảng tblMenu lưu thông tin danh mục menu trang chủ

PermissionID PermissionName

Tên trường dữ liệu Diễn giải

Kiểu dữ liệu (độ rộng) ID quyền char(10) Not Null nvarchar(100) NotNull Tên quyền hạn: Thư ký, Quản trị,… Bảng 24. Bảng tblPermission lưu thông tin danh mục phân quyền trong hệ thống

ID

Int

Result

nvarchar(100)

ID Tên kết quả: Đồng ý đăng; không đồng ý đăng; Đồng ý đăng và sửa chữa (không cần gửi lại phản biện); Đồng ý đăng và sửa chữa (phải gửi lại phản biện)

Tên trường dữ liệu Diễn giải Kiểu dữ liệu (độ rộng)

Bảng 25. Bảng tblResultOfCriticism lưu thông tin danh mục các kết quả phản biện

Bigint NotNull nchar(100) NotNull nchar(200) NotNull

ID Username Pass

char(10)

Permission

nvarchar(200) nvarchar(200) nvarchar(200) nchar(100) char(15) char(100) nvarchar(100)

ID Tài khoản người sử dụng Mật khẩu Quyền hạn trong hệ thống: Thư ký, Quản trị,… Họ Tên Cơ quan công tác Địa chỉ Email Số điện thoại Người cập nhật Ngày giờ cập nhật

SName Name Organization Email PhoneNumber Who DateAndTime

Tên trường dữ liệu Diễn giải Kiểu dữ liệu (độ rộng)

59

Bảng 26. Bảng tblUser lưu thông tin người sử dụng hệ thống

3.4.3.3. Các chức năng của chương trình

Hệ thống hỗ trợ lựa chọn phản biện

Tìm kiếm phản biện chuyên san Tự nhiên Khoa học Kỹ thuật

Tìm kiếm phản biện

Tìm kiếm phản biện chuyên san Khoa học Xã hội và Nhân văn

Tìm kiếm phản biện chuyên san Nông Lâm Ngư Y Sinh

Đăng nhập

Đăng ký tham gia phản biện và cập nhật thông tin phản biện

Đổi mật khẩu

Cập nhật thành viên

Quản trị hệ thống

Quản lý đăng ký phản biện

Xem thông tin đăng ký tham gia phản biện

Cập nhật thông tin phản biện

Cập nhật lý lịch

Cập nhật quá trình đào tạo

Cập nhật quá trình công tác

Quản lý phản biện

Cập nhật nghiên cứu khoa học

Tổng hợp bài báo theo phản biện

Cập nhật Thông tin bài báo

Cập nhật bài báo

Cập nhật KQ phản biện 1

Quản lý bài báo

Thống kê và tìm kiếm

Cập nhật KQ phản biện 2

Vào số bài báo

Tổng hợp bài báo theo tác giả

60

Hình 33. Các chức năng hệ thống hỗ trợ lựa chọn phản biện

Chương trình ứng dụng được chúng tôi thực hiện bằng ngôn ngữ lập trình

ASP.Net (bản Visual studio 2012) và hệ quản trị cơ sở dữ liệu SQL Server 2012. Sau

đây là các form được xây dựng thể hiện các chức năng của chương trình.

Hình 34. Form Đăng nhập hệ thống

61

Hình 35. Form Chức năng tìm kiếm phản biện

Hình 36. Form Đăng nhập lại hệ thống

62

Hình 37. Form Đổi mật khẩu

Hình 38. Form Chức năng cập nhật thành viên

63

Hình 39. Form Chức năng quản lý đăng ký phản biện

Hình 40. Form Xem thông tin đăng ký tham gia phản biện

64

Hình 41. Form Cập nhật lý lịch của phản biện

Hình 42. Form Cập nhật quá trình đào tạo

65

Hình 43. Form Cập nhật quá trình công tác

Hình 44. Form Cập nhật đề tài nghiên cứu khoa học

66

Hình 45. Form Cập nhật công trình khoa học đã công bố

Hình 46. Form Cập nhật các từ khóa chuyên môn

67

Hình 47. Form Tổng hợp bài báo theo phản biện

Hình 48. Form Cập nhật bài báo

68

Hình 49. Form Thống kê bài báo theo các tiêu chí

Hình 50. Form Tổng hợp bài báo theo tác giả

Hình 51. Form Chức năng xem hồ sơ của phản biện để tham khảo lựa chọn làm phản

69

biện cho bài báo

KẾT LUẬN CHƯƠNG 3

Trong chương này, chúng tôi thực hiện xây dựng hệ thống đáp ứng các yêu cầu

bài toán đặt ra, bao gồm các kết quả sau:

1. Mô tả yêu cầu của hệ thống

2. Phân tích hệ thống và đã đưa xác định được các tác nhân và Use case từ đó

xây dựng được biểu đồ Use Case, biểu đồ trình tự và biểu đồ lớp.

3. Trên cơ sở phân tích hệ thống và thuật toán lựa chọn phản biện dựa trên

phương pháp quy hoạch động được trình bày trong Chương 2, chúng tôi đã thiết kế

được cơ sở dữ liệu và chương trình ứng dụng. Cụ thể: Xây dựng được sơ đồ thực thể

liên kết và các đối tượng cơ sở dữ liệu; Các chức năng của chương trình được chỉ ra cụ

70

thể nhằm đáp ứng yêu cầu của hệ thống như đã mô tả.

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

I. Các kết quả đạt được

Luận văn này thực hiện các nội dung sau:

1. Nghiên cứu tổng quan về các hệ thống lựa chọn phản biện trong và ngoài

nước.

2. Nghiên cứu một số thuật toán so khớp mẫu và một số phương pháp tìm kiếm

xấp xỉ làm cơ sở cho thuật toán lựa chọn phản biện (bao gồm phương pháp quy hoạch

động và phương pháp tìm kiếm xấp xỉ theo cách tiếp cận Otomat hữu hạn mờ).

3. Xây dựng được modul hỗ trợ lựa chọn phản biện dựa trên thuật toán lựa chọn

phản biện theo cách tiếp cận tìm kiếm xấp xỉ bằng phương pháp quy hoạch động.

4. Đã đưa ra được bản phân tích, thiết kế hệ thống và xây dựng được ứng dụng

đáp ứng các yêu cầu đặt ra của Tạp chí Khoa học Công nghệ.

II. Hướng phát triển

1. Tiếp tục cài đặt thuật toán lựa chọn phản biện theo cách tiếp cận Otomat hữu

hạn mờ và so sánh với thuật toán lựa chọn theo cách tiếp cận quy hoạch động.

2. Giải bài toán lựa chọn phản biện dựa trên sự kết hợp phương pháp lựa chọn

phản biện theo cách tiếp cận tìm kiếm xấp xỉ và đảm bảo các ràng buộc được đặt trong

bài toán CMACRA.

3. Giải bài toán lựa chọn phản biện dựa trên sự kết hợp phương pháp lựa chọn

phản biện theo cách tiếp cận tìm kiếm xấp xỉ và đảm bảo các ràng buộc được đặt trong

71

bài toán MaxTC-PRA.

TÀI LIỆU THAM KHẢO

TÀI LIỆU TIẾNG VIỆT [1] Nguyễn Thị Thanh Huyền, Phan Trung Huy (2002), “Tiếp cận mờ trong một số

thuật toán so mẫu”,Tạp chí Tin học và Điều khiển học, 18(3), tr. 201-210.

[2] Nguyễn Thị Thanh Huyền, Nguyễn Đắc Tuấn, Phan Trung Huy (2006), “Xác định

một số độ đo sự tương tự giữa hai xâu theo mô hình otomat mờ”, Tạp chí Bưu chính

Viễn thông và Công nghệ thông tin, (16), tr. 86-94.

TÀI LIỆU TIẾNG ANH [3] H. K. Biswas and M. Hasan (2007), “Using publications and domain knowledge to build

research profiles: An application in automatic reviewer assignment”, in ICICT.

[4] C. B. Haym, H. Hirsh, W. W. Cohen, and C. Nevill-manning (1999), “Recommending

papers by mining the web”, In IJCAI’99, pp. 1–11.

[5] S. T. Dumais and J. Nielsen (1992), “Automating the assignment of submitted

manuscripts to reviewers”, In SIGIR’92, pp. 233–244.

[6] M. Karimzadehgan, C. Zhai, and G. Belford (2008), “Multi-aspect expertise matching

for review assignment”, In CIKM’08, pp. 1113–1122.

[7] M. Karimzadehgan and C. Zhai (2009), “Constrained multi-aspect expertise

matching for committee review assignment”. In CIKM’09, pp. 1697–1700.

[8] D. Hartvigsen, J. C. Wei, and R. Czuchlewski (1999), “The conference paper-

reviewer assignment problem”, Decision Sciences, 30(3): pp. 865–876.

[9] Y.H. Sun, J. Ma, Z.P. Fan, and J. Wang (2007), “A hybrid knowledge and model

approach for reviewer assignment”, In HICSS’07, pp. 47–47.

[10] D.K. Tayal, P.C. Saxena, A.Sharma, G. Khanna, S. Gupta (2014), “New method

for solving reviewer assignment problem using type-2 fuzzy sets and fuzzy functions”,

Applied intelligence, 40, 1, pp. 54-73.

[11] X. Li, T. Watanabe (2013), “Automatic paper-to-reviewer assignment based on

72

the matching degree of the reviewers”, Procedia Computer Science, 22, pp.633-642.

[12] C. Long, R. C. W.Wong, Y.Peng, L.Ye (2013), “On good and fair paper-reviewer

assignment”, In IEEE 13th International Conference on Data Mining (ICDM'2013),

pp.1145-1150.

[13] Navarro, Gonzalo (2001), “A guided tour to approximate string matching”, ACM

Computing Surveys, 33 (1), pp. 31-88.

[14] Knuth, E. Donald, H. Morris, Jr,James and R. Pratt Vaughan (1977), “Fast pattern

matching in strings”, SIAM Journal on Computing, 6(2), pp. 323-350.

[15] P. Sellers (1980), “The theory and computation of evolutionary distances: Pattern

recognition”, Journal of Algorithms, 1, pp.359–372.

[16] E. Ukkonen (1985), “Finding approximate patterns in strings”, Journal of

Algorithms, 6, pp.132–137.

[17] R. Boyer and S. Moore (1977), “A fast string searching algorithm”,

Communcations of the ACM, 20, pp.762–772.

[18] Tarhio and E. Ukkonen (1993), “Approximate Boyer-Moore string matching”,

SIAM Journal on Computing, 22, pp.243–260.

[19] Yordan Kalmuko (2006), “An algorithm for automatic assignment of reviewers to

papers”, International Conference on Computer Systems and Technologies, V.5-1–

V.5-7.

[20] A. Aho and M. Corasick (1975), “Effcient string matching: an aid to bibliographic

search”, CACM, 18(6), pp. 333-340.

[21] Christian Charras, Thierry Lecroq (2004), “Handbook of Exact String-Matching

Algorithms”, King's College Publications.

[22] Knuth, Donald E., James H. Morris, Jr, and Vaughan R. Pratt (1977), “Fast

pattern matching in strings”, SIAM Journal on Computing, 6.2 (1977), pp. 323-350.

[23] Kurtz S. (1996), “Approximate String Searching under Weighted Edit Distance”,

Proceedings of 3rd South American Workshop of String Processing, Carton

University Press, pp. 156–170.

[24] Navarro, Gonzalo (2001), “A guided tour to approximate string matching”, ACM

Computing Surveys, 33 (1), pp. 31-88.

[25] S. Needleman and C. Wunsch (1970), “Ageneral method applicable to the

search for similarities in the amino acid sequences of two proteins”, J. of

73

Molecular Biology, 48, pp. 444 – 453.

WEBSITE [26] http://tapchikhcn.udn.vn.

[27] http://tapchi.humg.edu.vn.

[28] http://www.easychair.org.

74

[29] http://myreview.lri.fr.