- Xây dựng được Phần mềm 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 dựa trên các phương pháp tìm kiếm mờ nhằm hỗ trợ Tòa soạn tìm được danh
Trang 1ĐẠI HỌC THÁI NGUYÊN - -
BÁO CÁO TỔNG KẾT
ĐỀ TÀI KHOA HỌC VÀ CÔNG NGHỆ CẤP ĐẠI HỌC
Tên đề tài: Xây dựng phần mềm quản lý và lựa chọn phản biện tự
động cho Tạp chí Khoa học và Công nghệ Đại học Thái Nguyên
Mã số: ĐH2017-TN01-01.ĐH Chủ nhiệm: TS Nguyễn Đình Dũng
Trang 2ĐỀ TÀI KHOA HỌC VÀ CÔNG NGHỆ CẤP ĐẠI HỌC
Tên đề tài: Xây dựng phần mềm quản lý và lựa chọn phản biện tự
động cho Tạp chí Khoa học và Công nghệ Đại học Thái Nguyên
Mã số: ĐH2017-TN01-01.ĐH
Trang 3
Stt HỌ VÀ TÊN ĐƠN VỊ
1 TS Nguyễn Đình Dũng Trung tâm CNTT - ĐHTN
2 ThS Nguyễn Tuấn Anh Ban KHCN&MT - ĐHTN
3 ThS Nguyễn Thế Vịnh Ban KHCN&MT - ĐHTN
4 TS Nguyễn Thị Yến Tạp chí KH&CN - ĐHTN
5 CN Nguyễn Thị Phượng Tạp chí KH&CN - ĐHTN
6 CN Hoàng Thị Hồng Hạnh Tạp chí KH&CN - ĐHTN
7 CN Nguyễn Thị Thủy Trung tâm CNTT - ĐHTN
CƠ QUAN PHỐI HỢP NGHIÊN CỨU
1 Tạp chí Khoa học và Công nghệ - Đại học Thái Nguyên
2 Trung tâm Công nghệ thông tin – Đại học Thái Nguyên
Trang 4DANH MỤC CÁC BẢNG 2
DANH MỤC CÁC HÌNH VẼ 3
LỜI MỞ ĐẦU 4
CHƯƠNG 1 CƠ SỞ LÝ THUYẾT 8
1.1 Tổng quan về hệ thống hỗ trợ lựa chọn phản biện 8
1.1.1 Thuật toán Kalmukov 9
1.1.2 Bài toán lựa chọn phản biện CMACRA 14
1.1.3 Lựa chọn phản biện với thuật toán xấp xỉ 1/3 17
1.2 Một số phương pháp so khớp mẫu trong tính toán độ gần tựa ngữ nghĩa 17
1.2.1 Thuật toán Brute Force 18
1.2.2 Thuật toán Knuth-Morris-Pratt 19
1.3 Phương pháp quy hoạch động và ứng dụng trong lựa chọn phản biện 21
1.3.1 Phương pháp quy hoạch động 22
1.3.2 Thuật toán lựa chọn phản biện 23
1.4 Otomat hữu hạn mờ và ứng dụng trong lựa chọn phản biện bài báo 27
1.4.1 Độ gần tựa ngữ nghĩa theo mô hình Otomat hữu hạn mờ 27
1.4.2 Thuật toán lựa chọn phản biện 30
CHƯƠNG 2 XÂY DỰNG ỨNG DỤNG 32
2.1 Hệ thống hỗ trợ lựa chọn phản biện 32
2.1.1 Mô tả yêu cầu của hệ thống 32
2.1.2 Phân tích hệ thống 37
2.1.3 Thiết kế hệ thống 51
2.2 Hệ thống quản lý tạp chí 77
2.2.1 Sơ đồ thực thể liên kết và các đối tượng cơ sở dữ liệu 77
2.2.2 Các chức năng của chương trình 78
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 3
Trang 5DANH MỤC CÁC BẢNG
Bảng 1: Các từ khóa của phản biện (ReviewerKeyword) 24
Bảng 2 Khoảng cách chuyên môn (ExpertiseDistance) 24
Bảng 3 Bảng RK minh họa thuật toán……… 26
Bảng 4 Kết quả thực hiện thuật toán ……… 27
Bảng 5 Xác định các tác nhân……… 37
Bảng 6 Xác định các use case ……… 37
Bảng 7 Scenario cho use case Đăng nhập ……… 40
Bảng 8 Scenario cho use case Cập nhật lý lịch sơ lược 42
Bảng 9 Scenario cho use case Tổng hợp bài báo theo phản biện 43
Bảng 10 Scenario cho use case Tổng hợp bài báo theo tác giả…… 46
Bảng 11 Scenario cho use case Chọn bài báo phản biện 49
Bảng 12 Bảng tblCriticism lưu các thông tin về phản biện 63
Bảng 13 Bảng tblJournal lưu các thông tin về bài báo 63
Bảng 14 Bảng tblChuyensan lưu trữ danh mục các chuyên san 64
Bảng 15 Bảng tblCri_Journal_and_Book ……… 64
Bảng 16 Bảng tblCri_ProcessOfWork ……… 64
Bảng 17 Bảng tblCri_ScientificResearch 64
Bảng 18 Bảng tblGender lưu thông tin danh mục giới tính 65
Bảng 19 Bảng tblKeywordKHX 65
Bảng 20 Bảng tblKeywordNLY 65
Bảng 21 Bảng tblKeywordTNK……… 65
Bảng 22 Bảng tblManageRegist……… 65
Bảng 23 Bảng tblMenu lưu thông tin danh mục menu trang chủ 66
Bảng 24 Bảng tblPermission lưu thông tin danh mục phân quyền trong hệ thống 66
Bảng 25 Bảng tblResultOfCriticism ……… 66
Bảng 26 Bảng tblUser lưu thông tin người sử dụng hệ thống 66
Trang 6DANH MỤC CÁC HÌNH VẼ
Hình 1 Bước 1-Xác định ma trận độ tương tự 11
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……… 12
Hình 3 Nhóm Use case Quản trị hệ thống 39
Hình 4 Use case Đăng nhập 40
Hình 5 Nhóm Use case Quản lý phản biện 41
Hình 6 Phân rã Use case Cập nhật thông tin phản biện 41
Hình 7 Phân rã Use case Tổng hợp bài báo theo phản biện 42
Hình 8 Use case Thống kê và tìm kiếm 43
Hình 9 Nhóm Use case Cập nhật bài báo 44
Hình 10 Phân rã Use case Cập nhật bài báo khoa học tự nhiên 44
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 45
Hình 12 Phân rã Use case Cập nhật bài báo Nông Lâm Ngư Y Sinh 45
Hình 13 Nhóm Use case Tổng hợp bài báo theo tác giả 46
Hình 14 Use case Đổi mật khẩu 47
Hình 15 Use case Đăng ký làm phản biện 47
Hình 16 Nhóm Use case Tìm kiếm phản biện 48
Hình 17 Phân rã Use case chọn bài báo phản biện 48
Hình 18 Nhóm Use case Chỉ định phản biện 49
Hình 19 Biểu đồ lớp phân tích 50
Hình 20 Biểu đồ trạng thái lớp Journal 51
Hình 21 Biểu đồ tuần tự cho chức năng đăng nhập 51
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 52
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 53
Hình 24 Biểu đồ tuần tự cho chức năng Chọn bài báo 54
Hình 25 Biểu đồ tuần tự cho chức năng Cập nhật lý lịch sơ lược 55
Hình 26 Biểu đồ tuần tự cho chức năng Cập nhật từ khóa chuyên môn 56
Trang 7Hình 27 Biểu đồ tuần tự cho chức năng đổi mật khẩu 57
Hình 28 Biểu đồ tuần tự cho chức năng Thêm bài báo 57
Hình 29 Biểu đồ tuần tự cho chức năng Chỉ định phản biện 1 58
Hình 30 Biểu đồ tuần tự cho chức năng Chỉ định phản biện 2 59
Hình 31 Biểu đồ lớp chi tiết 60
Hình 32 Sơ đồ thực thể liên kết 61
Hình 33 Các chức năng hệ thống hỗ trợ lựa chọn phản biện 67
Hình 34 Form Đăng nhập hệ thống 68
Hình 35 Form Chức năng tìm kiếm phản biện 68
Hình 36 Form Đăng nhập lại hệ thống 69
Hình 37 Form Đổi mật khẩu 69
Hình 38 Form Chức năng cập nhật thành viên 70
Hình 39 Form Chức năng quản lý đăng ký phản biện 70
Hình 40 Form Xem thông tin đăng ký tham gia phản biện 71
Hình 41 Form Cập nhật lý lịch của phản biện 71
Hình 42 Form Cập nhật quá trình đào tạo 72
Hình 43 Form Cập nhật quá trình công tác 72
Hình 44 Form Cập nhật đề tài nghiên cứu khoa học 73
Hình 45 Form Cập nhật công trình khoa học đã công bố 73
Hình 46 Form Cập nhật các từ khóa chuyên môn 74
Hình 47 Form Tổng hợp bài báo theo phản biện 74
Hình 48 Form Cập nhật bài báo 75
Hình 49 Form Thống kê bài báo theo các tiêu chí 75
Hình 50 Form Tổng hợp bài báo theo tác giả 76
Hình 51 Form Chức năng xem hồ sơ của phản biện 76
Trang 8THÔNG TIN KẾT QUẢ NGHIÊN CỨU
1 Thông tin chung
- Tên đề tài: Xây dựng phần mềm quản lý và 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
- Mã số: ĐH2017-TN01-01.ĐH
- Chủ nhiệm đề tài: TS Nguyễn Đình Dũng
- Tổ chức chủ trì: Đại học Thái Nguyên
- Thời gian thực hiện: từ tháng 01 năm 2017 đến tháng 12 năm 2018
2 Mục tiêu
- Thiết kế được Website Tạp chí Khoa học và Công nghệ Đại học Thái Nguyên
nhằm cập nhật những tin tức mới nhất về hoạt động của tạp chí đồng thời phản ánh những vấn đề thời sự, cấp thiết trong các lĩnh vực khoa học, kinh tế, xã hội
- Xây dựng được Phần mềm Quản lý Tạp chí Khoa học và Công nghệ Đại học
Thái Nguyên nhằm nhằm mục đích nâng cao chất lượng hoạt động của Tạp chí để dần đạt chuẩn quốc tế
- Xây dựng được Phần mềm 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 dựa trên các phương pháp tìm kiếm mờ nhằm
hỗ trợ Tòa soạn tìm được danh sách người phản biện có cùng hướng nghiên cứu với bài báo, am hiểu vấn đề mà bài báo quan tâm
3 Tính mới và sáng tạo
Hiện nay phần lớn các tạp chí trong và ngoài nước đều đã ứng dụng CNTT trong hoạt động quản lý tạp chí nhằm nâng cao hiệu quả tác nghiệp Bài toán lựa chọn phản biện bài báo cho tạp chí hay hội nghị cũng 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 với các cách tiếp cận khác nhau và đều dựa trên các phương pháp tìm kiếm chính xác và các thuật toán này thực hiện thực sự không hiệu quả đối với tạp chí mà đặc thù là tạp chí đa ngành, đa lĩnh vực như Tạp chí Khoa học và Công nghệ Đại học Thái Nguyên Vì vậy, khắc phục hạn chế này chúng tôi đề xuất các thuật toán tìm kiếm phản biện dựa trên các phương pháp tìm kiếm mờ mà cụ thể ở đây là các thuật toán lựa chọn phản biện dựa trên phương pháp quy hoạch động và phương pháp tính độ gần tựa ngữ nghĩa theo cách tiếp cận Otomat hữu hạn mờ
Trang 94 Kết quả nghiên cứu
(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ỉ và từ đó xây dựng được các thuật toán lựa chọn phản biện dựa trên 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 hệ thống hỗ trợ lựa chọn phản biện, hệ thống quản lý Tạp chí Khoa học và Công nghệ Đại học Thái Nguyên và Website tạp chí
5 Sản phẩm
5.1 Sản phẩm khoa học
(1) Nguyễn Đình Dũng, Nguyễn Hữu Công, Nguyễn Tuấn Anh (2017), “Ứng
dụng phương pháp tính độ gần ngữ nghĩa theo mô hình Otomat hữu hạn mờ trong lựa
chọn phản biện bài báo”, Tạp chí khoa học và công nghệ Đại học Thái Nguyên, Tập
173 (13), tr 19-23
(2) Nguyen Dinh Dung, Nguyen Huu Cong, Nguyen Tuan Anh (2017),
“Algorithm Of Dynamic Programming For Paper-reviewer Assignment problem”,
International Research Journal of Engineering and Technology, vol 11 (4), pp
i/ Kết quả của đề tài là tài liệu hữu ích cho sinh viên, học viên cao học ngành
Công nghệ Thông tin
ii/ Các sản phẩm ứng dụng đáp ứng các yêu cầu đặt ra của Tạp chí Khoa học
Công nghệ và được sử dụng tại Đại học Thái Nguyên Cụ thể:
- Hệ thống hỗ trợ lựa chọn phản biện dựa trên thuật toán được thiết kế theo cách tiếp cận tìm kiếm mờ là công cụ hữu ích cho Tạp chí Khoa học Công nghệ ĐHTN tìm phản biện phù hợp với bài báo nhất
- Hệ thống quản lý Tạp chí khoa học và công nghệ góp phần nâng cao chất lượng hoạt động của Tạp chí để dần đạt chuẩn quốc tế
Trang 10INFORMATION ON RESEARCH RESULTS
1 General information
- Project title: Development of management and support of paper-reviewer assignment software for Journal of Science and Technology, Thai Nguyen University
- Code number: ĐH2017-TN01-01.ĐH
- Project director: PhD Nguyen Dinh Dung
- Organization: Thai Nguyen University
- Duration: from January 2017 to December 2018
2 Objectives
- Designing website of Journal of Science and Technology aims to update latest
news and reflecting current issues, necessary on science, economy and society areas
- Developing the Science and Technology journal management software aims to improve the quality of the journal's operations to gradually reach international standards
- Developing paper-reviewer assignment support software for science and technology journal based on fuzzy search methods aims to assisting journal in finding
a list of reviewers who have the same research direction with the paper and a good understanding of relevant content
3 Creativeness and innovativeness
Nowadays, most domestic and overseas journals have applied information technology in the journal management activities to improve the efficiency of the operation Problem of paper-reviewer assignment for journal or conference is not new problem Nowadays, Authors propose approachs to find a solution to the problem and these approachs are base on exact matching algorithms that is effectless for multi-disciplinary Journal such as Journal of Science and Technology of Thai Nguyen University So, we propose reviewers searching algorithms that based on fuzzy searching methods that are paper-reviewer assignment algorithms based on dynamic programming method and semantic close measure method by fuzzy finite automata to overcome these restrictions
Trang 11(3) Designing paper-reviewer assignment support system, Science and Technology journal management system and journal website
5 Products
5.1 Scientific product
(1) Nguyen Dinh Dung, Nguyen Huu Cong, Nguyen Tuan Anh (2017),
“Application of a semantic close measure determining method by fuzzy automata in
paper-reviewer assignment”, Journal of Science and Technology, Thai Nguyen
University, vol 173 (13), pp 19-23
(2) Nguyen Dinh Dung, Nguyen Huu Cong, Nguyen Tuan Anh (2017),
“Algorithm Of Dynamic Programming For Paper-reviewer Assignment problem”,
International Research Journal of Engineering and Technology, vol 11 (4), pp
1928-1932
5.2 Applied product
(1) Paper-reviewer assignment support software for science and technology
journal (http://phanbien.tnu.edu.vn)
(2) Science and Technology journal management software (http://jst.tnu.edu.vn)
6 Transfer alternatives, applications, impacts and benefits of research
- Science and Technology journal management system improves the quality of the journal's operations to gradually reach international standards
Trang 12LỜ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 kín, độc lập và khách quan
Trang 13Nhằ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 Muốn vậy, Tạp chí cần đẩy mạnh ứng dụng công nghệ thông tin trong các hoạt động tác nghiệp của tạp chí mà đặc biệt là cần xây dựng phần mềm Quản lý Tạp chí và hỗ trợ lựa chọn phản biện với các mục tiêu sau:
1 Thiết kế được Website Tạp chí Khoa học và Công nghệ Đại học Thái Nguyên
Trang 14nhằm cập nhật những tin tức mới nhất về hoạt động của tạp chí đồng thời phản ánh những vấn đề thời sự, cấp thiết trong các lĩnh vực khoa học, kinh tế, xã hội
2 Xây dựng được Phần mềm Quản lý Tạp chí Khoa học và Công nghệ Đại học Thái Nguyên nhằm nhằm mục đích nâng cao chất lượng hoạt động của Tạp chí để dần đạt chuẩn quốc tế
3 Xây dựng được Phần mềm 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 nhằm hỗ trợ Tòa soạn tìm được danh sách người phản biện có cùng hướng nghiên cứu với bài báo, am hiểu vấn đề mà bài báo quan tâm
Đề tài ”Xây dựng phần mềm quản lý và lựa chọn phản biện tự động cho Tạp chí Khoa học và Công nghệ Đại học Thái Nguyên” mang mã số ĐH-TN01-01.ĐH
được nhóm tác giả thực hiện từ tháng 1 năm 2017 nhằm đáp ứng các mục tiêu đặt ra Ngoài phần mở đầu, kết luận và tài liệu tham khảo, nội dung báo cáo đề tài được trình bày thành 02 chương Chương 1 là cơ sở lý thuyết, trong chương này chúng tôi 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í và đề xuất 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ỉ Chương
2 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 chọn phản biện bài báo và hệ thống quản lý Tạp chí Khoa học và Công nghệ Đại học Thái Nguyên
Các công trình đã công bố có liên quan đến đề tài:
[1] Nguyễn Đình Dũng, Nguyễn Hữu Công, Nguyễn Tuấn Anh, “Ứng dụng phương pháp tính độ gần ngữ nghĩa theo mô hình Otomat hữu hạn mờ trong lựa chọn
phản biện bài báo”, Tạp chí khoa học và công nghệ Đại học Thái Nguyên, 173 (13),
19-23
[2] Nguyen Dinh Dung, Nguyen Huu Cong, Nguyen Tuan Anh (2017),
“Algorithm Of Dynamic Programming For Paper-reviewer Assignment problem”,
International Research Journal of Engineering and Technology, 11 (4), pp
1928-1932
[3] Phần mềm hỗ trợ lựa chọn phản biện bài báo và Phần mềm quản lý tạp chí đã được đặt tại các địa chỉ: http://phanbien.tnu.edu.vn; http://jst.tnu.edu.vn
Trang 15CHƯƠNG 1 CƠ SỞ LÝ THUYẾT
Trong chương này, chúng tôi tập trung trình bày một số thuật toán được ứng dụng trong lựa chọn phản biện Các kết quả được trình bày trong 4 mục Mục 1.1 là tổng quan về hệ thống hỗ trợ lựa chọn phản biện đã được công bố trong và ngoài nước, mục 1.2 là một số thuật toán so khớp mẫu làm nền tảng cho thuật toán lựa chọn phản biện, mục 1.3 là thuật toán lựa chọn phản biện dựa trên phương pháp quy hoạch động
và mục 1.4 là thuật toán lựa chọn phản biện dựa trên phương pháp tìm kiếm xấp xỉ theo cách tiếp cận Otomat hữu hạn mờ
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 [9]; phương pháp chỉ mục ngữ nghĩa ẩn [7]; phương pháp mô hình hóa chủ đề xác suất [10], 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 [11]; 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 [21]
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ủ [23]; Li và
Trang 16Watanabe đư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 [14]; 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 [16], 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 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 [25], 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(P i ,R j ) là hàm xác định độ tương tự của bài báo P i với phản biện
R j và được xác định bởi công thức (2)
Trang 17)(
),(
j i
j i
R P
R P
j i
KW KW
count
KW KW
count R
P SF
(2)
KW Pi : Tập các từ khóa của bài báo P i ; KW Rj : Tập các từ khóa của phản biện R j;
count(S): Số lượng phần tử trong tập S KW P i KU;KW R j KU
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 SF(P i,R j)[0,1] 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 P i có thể được phân cho
phản biện R j 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à KW P = {A, C, F}; xét 2 phản biện lần
lượt có tập các từ khóa là KW R1 = {B, C, F, G}; KW R2 = {A, F}
Xét trực quan ta dễ thấy khả năng chuyên môn phản biện của R 1 và R 2 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 KW P Trong trường hợp này, để tìm đượ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(P i ,R j ) và ta có SF(P,R 1 ) = 2/5 < SF(P,R 2 ) = 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 R 2 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 R 2 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(KW R1 )> count(KW R2 ), nên khả năng phản biện cho bài báo khác của R 1 là lớn
hơn R 2 , hơn nữa nếu có một bài báo kế tiếp là P1 có KW P1 = {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 R 1 thì khi đó bài báo P 1 sẽ không có người phản biện mặc dù R 1
có chung 2 từ khóa với P 1 (vì R 1 đã bận phản biện cho P) Vậy P được phản biện bởi
R 2 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:
Trang 18Thuậ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 P i sẽ được tính độ tương tự với tất cả các phản
biện R j ta thu được K[i]={SF(P i ,R j )} 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à 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:
Trang 19Hì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
Trang 20Tại Bước 2, thuật toán xây dựng mảng cấu trúc involvedReviewers nhằm khắc
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= C 1 +C 2
C 1 được xác định như sau:
Re
zeroSFs non
of nuber
Pi for vs numberOf er
revsPerPap C
Trang 21là số người phản biện hiện thời được làm phản biện cho bài báo P i
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 P i mà không cần quan tâm đến độ
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 P i (độ
tương tự bằng 0 trong K[i]) thì C1=0
Đại lượng C 2 đả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, C 2 đượ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 [11] đề 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 [11] mở rộng bài
Trang 22toá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 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={p 1 , p 2 ,…,p n } là tập các bài báo p i ; R={r 1 , r 2 ,…,r m } - tập các phản biện r i;
NR={NR 1 , NR 2 ,…, NR m } – tập các giới hạn số lượng bài báo cho mỗi phản biện, NR i là
số lượng bài báo tối đa cho phản biện r i ; NP={NP 1 , NP 2 ,…, NP m } – tập các số lượng
phản biện sẽ được gán cho mỗi bài báo, NP i là số lượng phản biện được gán cho bài
báo P i Kết quả tính toán sẽ cho ra một ma trận M={M i,j } nxm , trong đó M ij{0,1} (M i,j =1 nếu r i là phản biện cho bài báo p j)
Các điều kiện ràng buộc (1) và (2) có thể được mô tả như sau:
j
j NR M
m
1 ,,,
1 ; (7)
i
j NP M
n
1 ,,,
j
NP
1 1
Trang 23biện; P{P,j}nk, P,j là mức độ tương tự của chủ đề j với bài báo p i; R {R,j}mk,
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 t i,j là số lượng phản biện có chuyên môn phủ chủ đề j của bài báo p i,
thì bài toán đặt ra là tìm t i,j sao cho
t ; (9)
],0[
j t R M P
k j
n i
1
, , ,
,
;, ,2,1
;, ,2,
t
Trang 24và thỏa mãn các điều kiện
i j j
j
n j
i j
m i
j j
i j
j
M R t
P k j n i C
NR M
m i C
NP M
n j C
NP t
k j n i C
M n j m i C
1
, , ,
, 5
1 , 4
1 , 3
, 2
, 1
],,1[],,1[:
],,1[:
],,1[:
}, ,1,0],
,1[],,1[:
},0],
,1[],,1[:
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ự [16] đã 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 p phản biện; Mỗi phản biện phản biện không quá r 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={p 1 , p 2 ,…,p n } là tập các bài báo p i ; R={r 1 , r 2 ,…,r m } -
tập các phản biện r i ; T={t 1 , t 2 ,…,t k } - tập các chủ đề; mỗi bài báo p i được đặc trưng bởi
các chủ đề trong miền T, ký hiệu là T(p i ); mỗi phản biện r j được đặc trưng bởi các chủ
đề trong miền T, ký hiệu là T(r j ); M=(p i , r j ) là một phép gán (lựa chọn) bài báo p i với
phản biện r j (r j phản biện cho bài báo p i , M.p=p i , M.r=r j ); AP x R là tập tất cả các
phép gán, A(p i )={M: MA, M.p=p i }, A(r j )= {M: MA, M.r=r j }; i ( A) là số lượng các
chủ đề của bài báo p i Như vậy Bài toán MaxTC-PRA được phát biểu như sau:
Tìm tập các phép gán A sao cho
Trang 25(:
)(
i A
(12)
n i
p
A( i) p, 1,2, , (13)
m j
Thuật toán Greedy Input: P={p 1, 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 MU sao cho (A{M})(A)max
if ( A{M} thỏa mãn các điều kiện ràng buộc)
A A{M};
U U{M}
}
Return A
1.2 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 [3, 17, 18] 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, 6], độ đo Levenshtein tìm khoảng cách giữa hai từ [18]… 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 bài báo 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à
Trang 26thay 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=P 0 P 1 …P m và xâu đích T=T 0 T 1… T n (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
1.2.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 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 [18] 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 thuật toán như sau:
int BFmatcher(int n, int m){
Trang 27Có 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)
1.2.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 [12] đã đề 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
KMP được mô tả như sau:
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
Trang 28tạ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
Độ phức tạp của thuật toán xây dựng bảng KMP là O(m)
1.3 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
“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) [14] 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
Trang 29phá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
1.3.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")
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ự
Trang 30Trong 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 độ gần nghữ nghĩa giữa các xâu ký tự
1.3.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 R i được đặc trưng bởi tập các từ khóa { 1, 2, , }
i
im i
i R R
R , (i = 1,2,…, M); bài
báo P được đặc trưng bởi các từ khóa {P1,P2, ,P n} 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 R i được xác định là
và P , Max là hằng số dương lớn tùy ý, thông thường chọn Max >> c i ; d là một hằng
số dương và chọn sao cho 0<d<1 RAP tìm phản biện R k sao cho:
),(min
)
,
D k iM i và thỏa mãn D(R k,P)d,R k D k , ở đây D k là miền ràng
buộc mà R k 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,…
Trang 31Việ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 P k và từ khóa phản biện R ij 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 R ij 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
Bảng 1: Các từ khóa của phản biện (ReviewerKeyword)
Bảng 2: Khoảng cách chuyên môn (ExpertiseDistance)
ReviewerID Expertise distance
Trang 32Thuật toán tìm kiếm xấp xỉ
Input: P, R,e,d, Max, Sum=
M i i
m
1
Output: Return reviewer R k that satifies (1)
struct ReviewerKeyword RK[Sum];
struct ExpertiseDistance ED[M];
int ApproximateSearching(P, R,e,d, Max){
for (int i = 1; i <= M; i++)
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:
Trang 33Algorithm 5: Modified version of algorithm 4 for Approximate searching int ApproximateSearching(P, R,e,d, µ, Max){
for (int i = 1; i <= M; i++)
If(Pj is substring of RK(i) Keyword
or RK(i) Keyword is substring of Pj){
sự xuất hiện của P j trong RK(i) Keyword hoặc sự xuất hiện của RK(i)
Keyword trong P j, 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:
Trang 34Bả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
Bảng 4: Kết quả thực hiện thuật toán
ReviewerID Expertise
distance Relevance keywords
Paper reviewer assignment; Dynamic programming,
1.4 Otomat hữu hạn mờ và ứng dụng trong lựa chọn phản biện bài báo
1.4.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 [14], Tuy nhiên, trong trường hợp cấu trúc thứ tự từ bị
Trang 35thay đổ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ờ (P,T) [2], hàm mờ có tính chất như sau:
=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 (P,T)=(P,P)=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:
),(
),(),(
P P H
T P H T
(16) Trong đó
Thuật toán 2
H=0;
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)
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
Trang 36lần lặp mẫu trong [1] Theo cách trên thì thuật toán tính độ mờ có m m( 1) / 2 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à Rm m( 1) / 2,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 bài báo này, chúng tôi lựa chọn mô hình otomat hữa hạn mờ
0
B A Q q không có trạng thái kết thúc; trong đó A là bảng chữ cái AA p{#};
A p 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 tập hữu hạn các trạng thái mờ; q 0 là trạng thái ban đầu; là hàm chuyển trạng Sau đây là một số ký hiệu được dùng trong thuật toán: Cho 2 số nguyên d f 0, ký hiệu
pre d (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; suf f (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
pre 0 (P)=suf 0 (P)= (: xâu rỗng); P(f,d)=suf f (pre d (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]; lid y P( , )(| |,min{ :y d f P f d( , )y}); cho u,
vlà 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ờ B( , ,A Q q0, ) đượ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 thái đầu q 0 =(0,0,0,0); hàm chuyển trạng
(( , , ), )f d k a ( ', ', ')f d k
và được lưu trong bảng chuyển trạng, trong đó aA, (f',d')
được xác định là cặp lid(lfact(P(f,d)a,P),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 ( , )P T
Thuật toán 3
H=0;
Trang 37Như 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
1.4.2 Thuật toán lựa chọn phản biện
Mỗi phản biện C i (i=1,2,…,K) được đại diện bởi tập từ khóa {C ,C , ,C }i1 i2 ir i , r i là
số từ khóa của phản biện C i ; Bài báo cần phản biện J được đại diện bởi tập các từ khóa
{J 1 ,J 2 ,…,J t } 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
C i , ký hiệu độ gần chuyên môn của bài báo với phản biện C i là i Độ gần chuyên môn
của bài báo với phản biện C i được xác định là
,
i
X M
p: là số khối có độ dài l được
trích ra từ J j xuất hiện trong C ik;
Trang 38Input:Từ khóa các nhà phản biện: {C ,C , ,C }1 2
i
i i ir , i=1,2,…,K
Từ khóa báo báo: {J 1 ,J 2 ,…,J t }
Output: Danh sách các phản biện được sắp xếp theo thứ tự giảm dần về
M=M+H(J j ,J j );
} M=r i *M;
i X M
}
Với cấu trúc otomat như trong mục 3, hàm H(J j ,J j ) được xây dựng như trong
thuật toán 2 và H(J j , C ik ) được xây dựng như trong thuật toán 3 Sau khi tính được độ
gần chuyên môn i, ta sắp xếp danh sách các phản biện Ci theo thứ tự giảm dần của
Trang 39CHƯƠNG 2 XÂY DỰNG ỨNG DỤNG
2.1 Hệ thống hỗ trợ lựa chọn phản biện
2.1.1 Mô tả yêu cầu
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ả
+ 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ả
Trang 40+ 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)
+ 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ý