Để 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ả
Trang 1ĐẠ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
Trang 2iv
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
Trang 33.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
Trang 4vi
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 Trường Đại học Công nghệ Thông tin và Truyền thông – Đại học Thái Nguyên
Trang 5LỜ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
Trần Thái Sơn
Trang 6
viii
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
Bảng 26 Bảng tblUser lưu thông tin người sử dụng hệ thống 59
Trang 7DANH 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
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
Trang 8x
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
Hình 51 Form Chức năng xem hồ sơ của phản biện 69
Trang 9LỜ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 10xii
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 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:
Trang 111 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 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
Trang 12CHƯƠNG 1 TỔNG QUAN1.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 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
Trang 13phá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 ,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)
) (
) (
) , (
j i
j i
R P
R P
j i
KW KW
count
KW KW
count R
P SF
(2)
j
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 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,
lượt có tập các từ khóa là KWR1 = {B, C, F, G}; KW R2 = {A, F} Xét trực quan ta dễ
Trang 14đượ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 ,R j )
và ta có SF(P,R1 ) = 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 R2 là phù hợp hơn Xét về mặt ý nghĩa thì việc phân bài báo
báo cho mỗi phản biện, vì count(KWR1 )> count(KW R2 ), 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 ,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
Trang 15toá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
Trang 16cấ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 +C 2
C 1 được xác định như sau:
)(
Re
zeroSFs non
of nuber
Pi for vs numberOf er
revsPerPap C
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 độ
Trang 17tươ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
Trang 18Bà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 , p 2 ,…,p n } là tập các bài báo p i; R={r1 , r 2 ,…,r m } - tập các phản biện r i;
số lượng bài báo tối đa cho phản biện ri; NP={NP1 , 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, 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}
Các điều kiện ràng buộc (1) và (2) có thể được mô tả như sau:
j
M m
1 ,
,,
1 ,
,,
1 (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
n
i i n
j
NP
1 1
j
R, là mức độ tương tự của chủ đề j với chuyên môn của phản biện ri; mức độ tương
tự P,j, R,j 0,}
Trang 19Thuậ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ủ đề j của bài báo pi, thì bài toán đặt ra là tìm ti,j sao cho
max
1 1 ,
n
i k
j j
t ; (9) ]
, 0 [ ,j NP i
P k j
n i
1
, , ,
,
;, ,2,1
;, ,2,
n
i k
j j
t
và thỏa mãn các điều kiện
Trang 20n
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ự [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 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={p1 , p 2 ,…,p n } là tập các bài báo p i; R={r1 , r 2 ,…,r m } -
tập các phản biện ri; T={t1 , 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(pi ); 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(rj ); 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 rj (rj phản biện cho bài báo pi, M.p=pi , M.r=r j); AP x R là tập tất cả các
phép gán, A(pi )={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 pi 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 21(:
)(
p
A( i) p, 1 , 2 , , (13)
m j
Thuật toán Greedy Input: P={p 1 , p 2 ,…,p n }; R={r 1 , r 2 ,…,r m }; 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)
Trang 22CHƯƠ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=P0 P 1 …P m và xâu đích T=T0 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
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 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
Trang 23trê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 thuật toán như sau:
int BFmatcher(int n, int m){
} } if(matched){
return i;
} } return -1; // -1 is NONE
}
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
KMP được mô tả như sau:
Trang 24Return {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
Độ 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
“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ả
Trang 25như 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")
sittin -> sitting (thêm ký tự "g")
Trang 26Để 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ự
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ự
Trang 272.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 R i được đặc trưng bởi tập các từ khóa { 1, 2, , }
i im i
và P , 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<d<1 RAP tìm phản biện Rk 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à 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
ReviewerID Keyword
Trang 282 Machining
Bảng 1: Các từ khóa của phản biện (ReviewerKeyword)
ReviewerID Expertise distance
Bảng 2: Khoảng cách chuyên môn (ExpertiseDistance)
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 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=
M
i i
struct ReviewerKeyword RK[Sum];
struct ExpertiseDistance ED[M];
int ApproximateSearching(P, R,e,d, Max){
for (int i = 1; i <= M; i++)
Trang 29Trong 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++)
If(P j is substring of RK(i) Keyword
or RK(i) Keyword is substring of P j ){
Trang 30Keyword 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:
Table -3: Example to illustrate algorithm
Reviewer ReviewerID Keyword
Trang 31Mộ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ờ (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
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
P
(16) Trong đó
Thuật toán 2
Trang 32for(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 lầ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 luận văn 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 A A 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ờ; q0 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
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
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( , ) (|y|, min{ :d f P f d( , ) y}); 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ờ 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 q0=(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' )
Trang 33đượ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
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 {C , C , ,C }1 2
i
i i ir , 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
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 Ci là i Độ gần chuyên môn
của bài báo với phản biện Ci được xác định là
,
i
X M
Trang 34j ik
l
H J C pl
trích ra từ Jj xuất hiện trong Cik;
1
j m
Input: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: {J1 ,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;
}
Với cấu trúc otomat như trong mục 3, hàm H(Jj ,J j ) được xây dựng như trong
thuật toán 2 và H(Jj , 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
i
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 theo mức độ ưu tiên có chuyên môn gần với bài báo
Trang 35KẾ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 cho việc xây dựng ứng dụng và được trình bày ở Chương 3
Trang 36CHƯƠNG 3 XÂY DỰNG ỨNG DỤNG3.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: {C , C , ,C }1 2
i
i i ir , i=1,2,…,K
Từ khóa báo báo: {J1 ,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ề độ 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ả
+ 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ả
Trang 37+ 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
Trang 38+ 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à
Trang 39thô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: ………
Quê quán: ……… Dân tộc: ………
Trang 402 ……… Mức độ sử dụng: ………
III QUÁ TRÌNH CÔNG TÁC
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 Tên đề tài nghiên cứu / lĩnh vực ứng
Đề tài cấp (NN, Bộ, Ngành, trường)
Trách nhiệm tham gia trong
đề tài
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ố
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ụ:
1 Hệ có tham số phân bố Distributed parameter system