Xem mẫu

  1. Nghiên cứu MÔ HÌNH KIẾN TRÚC HỆ THỐNG VÀ THUẬT TOÁN XỬ LÝ KIỂM TRA, ĐÁNH GIÁ TRÙNG LẶP CÁC ĐỀ TÀI CẤP CƠ SỞ, CẤP BỘ, THỬ NGHIỆM TẠI TRƯỜNG ĐẠI HỌC TÀI NGUYÊN VÀ MÔI TRƯỜNG HÀ NỘI Trần Cảnh Dương, Kiều Đức Hồng Trường Đại học Tài nguyên và Môi trường Hà Nội Tóm tắt Công bố khoa học ngày càng nhiều dẫn đến việc xác định bản quyền, sự trùng lặp văn bản là công việc không đơn giản, đặc biệt khó khăn khi số lượng tài liệu lớn, số trang văn bản nhiều trong phạm vi so sánh rộng. Trong bài báo này, tập thể tác giả giới thiệu một mô hình kiến trúc hệ thống và thuật toán xử lý kiểm tra sự trùng lặp văn bản được sử dụng trong quá trình thực hiện đề tài “Nghiên cứu xây dựng phần mềm kiểm tra, đánh giá sự trùng lặp của các đề tài cấp Bộ, cấp cơ sở, thử nghiệm tại Trường Đại học Tài nguyên và Môi trường Hà Nội”. Từ khóa: Mô hình kiến trúc; Thuật toán; Chương trình phần mềm; Kiểm tra, đánh giá đề tài. Abstract The structured system model and testing algorithms for overlapping assessment of research projects: pilot study for Hanoi University of Natural Resources and Environment Vast amount of scientific publication make plagiarism detection more complicated. In this paper the authors present the structured system model and testing algorithms to analyze text overlapping that has been used in the scientific project titled “Research to build the software to for overlapping assessment of Ministry and Grassroot level scientific projects: Pilot study at Hanoi University of Natural Resources and Environment”. Keywords: Structured model; Algorithm; Software; Overlapping 1. Giới thiệu từng trường hợp cụ thể. Một số công cụ Ngày nay mạng internet phát triển miễn phí nhưng có những hạn chế nhất mạnh mẽ với lượng thông tin ngày càng định về tính năng sử dụng. tăng. Việc kiểm tra sự trùng lặp rất cần Hoạt động khoa học và kỹ thuật của thiết nhằm bảo vệ bản quyền tác giả, Bộ Tài nguyên và Môi trường phát triển tránh đạo văn, tránh trùng lặp tên cũng mạnh mẽ với số lượng lớn đề tài cấp Bộ, như toàn bộ hoặc từng phần nội dung cấp Cơ sở trên các lĩnh vực từ khi Bộ các ấn phẩm, tài liệu. Trên thế giới có được thành lập cho đến nay. Hàng năm, một số công cụ kiểm tra trùng lặp, chẳng ngoài các đơn vị đề xuất đã rà soát sự hạn như Small SEO, Tool, Copyscape, trùng lặp, Vụ Khoa học và Công nghệ Plagium, Duplicheker, DMCA Scan, là cơ quan chủ trì kiểm tra, đánh giá Copygator, Plagiarisma, Plagspotter, sự trùng lặp và hoàn chỉnh hồ sơ trình Dustball, Article Checker,...Tuy nhiên, Lãnh đạo Bộ xem xét, quyết định. Việc mỗi công cụ chỉ sử dụng phù hợp cho kiểm tra, rà soát đánh giá sự trùng lặp 68 Tạp chí Khoa học Tài nguyên và Môi trường - Số 18 - năm 2017
  2. Nghiên cứu như hiện nay mất khá nhiều thời gian và Windows XP, Windows 7, 8, 8.1 hoặc công sức. Chính vì vậy, đề tài “Nghiên 10. cứu xây dựng phần mềm kiểm tra, đánh Hệ quản trị CSDL: Microsoft SQL giá sự trùng lặp của các đề tài cấp Bộ, Server 2014. cấp Cơ sở, thử nghiệm tại Trường Đại Web Server: Microsoft IIS v8.0. học Tài nguyên và Môi trường Hà Nội” đã góp phần đẩy nhanh tiến độ rà soát, Portal core: Dotnetnuke v7. tiết kiệm thời gian và công sức. Trong Công nghệ lập trình: Visual Studio quá trình thực hiện đề tài, các tác giả đề .NET v2013. tài đã nghiên cứu và đề xuất sử dụng mô Ngôn ngữ lập trình: C#.NET, nền hình kiến trúc hệ thống và thuật toán xử tảng .NET Framework 4.5. lý kiểm trùng một cách hợp lý và hiệu Microsoft .NET Framework cung quả cao, đó là cơ sở để xây dựng chương cấp môi trường lập trình và thực hiện trình phần mềm, tạo ra sản phẩm có tính chương trình có hiệu quả cao với sự hỗ ứng dụng cao. trợ tối đa về các tính năng có sẵn của 2. Nội dung Microsoft. Môi trường này có thể rút 2.1. Giải pháp công cụ và ngôn ngắn thời gian lập trình đồng thời có ngữ Lập trình nhiều tính năng cao cấp. Hệ điều hành máy chủ: Microsoft 2.2. Kiến trúc hệ thống Windows Server 2012. Kiến trúc hệ thống được mô tả ở Hệ điều hành máy trạm: Microsoft Hình 1. sẵn sàng cao của dữ liệu [1]. - Tầng ứng dụng (application layer) bao gồm hai thành phần chính như sau. o Thành phần tương tác với CSDL: đóng vai trò trung gian giữa thành phần nghiệp vụ với lớp dữ liệu, xử lý các thao tác liên quan đến cơ sở dữ liệu. o Web services: đóng vai trò xử lý các yêu cầu giữa người dùng và hệ thống. - Tầng giao diện (Presentation Hình 1: Mô hình kiến trúc hệ thống Layer). - Tầng dữ liệu (data layer). Ở đầu cuối, hệ thống giao tiếp với Tầng dữ liệu chứa máy chủ CSDL người dùng thông qua các trình duyệt (Database Server) đóng vai trò nền tảng web thông dụng như Chrome, Internet của hệ thống, nó lưu trữ đầy đủ các thông Explorer, FireFox, Safari,… Mô hình tập tin về người dùng, các đề tài, dự án khoa trung và giao diện đầu cuối thông qua học, tin tức, tạp chí khoa học, sách, giáo trình duyệt web hỗ trợ việc triển khai, mở trình,…Hệ thống yêu cầu quản lý một rộng ứng dụng đơn giản và nhanh chóng, lượng lớn dữ liệu, ngoài ra hệ thống còn dễ quản lý và bảo trì hệ thống, tốn ít thời yêu cầu tính chính xác, bảo mật và tính gian, nhân lực và chi phí. 69 Tạp chí Khoa học Tài nguyên và Môi trường - Số 18 - năm 2017
  3. Nghiên cứu 2.3 Thuật toán xử lý kiểm trùng Trong quá trình nghiên cứu các So sánh một hoặc một vài chuỗi với thuật toán so sánh, kiểm tra sự trùng văn bản để tìm nơi và số lần xuất hiện lặp, nhóm nghiên cứu đề tài đã lựa chọn của chuỗi đó trong văn bản được thực thuật toán WinDiff và Diff để xây dựng hiện bởi thuật toán kiểm trùng. Việc so Hệ thống cung cấp chức năng kiểm sánh có thể tiến hành từ trái qua phải, từ trùng văn bản nhằm hiển thị vị trí và phải qua trái, tại vị trí cụ thể hoặc không nội dung trùng lặp giữa hai văn bản. Hai theo thứ tự nhất định. Mặt khác kết quả thuật toán này được dùng để so sánh so sánh có thể là chính xác hoặc gần đúng. Nghiên cứu các thuật toán sau đó hai văn bản khác nhau hay hai đoạn văn đánh giá hiệu năng của từng thuật toán, bản. Hệ thống sẽ phát hiện được những lựa chọn thuật toán so sánh chuỗi một câu chép nguyên xi, trùng ý và đánh dấu cách phù hợp trong từng trường hợp là cho người quản trị so sánh với văn bản điều rất quan trọng. Đánh giá hiệu năng khác. Tính toán sự khác biệt giữa hai của thuật toán so sánh chuỗi căn cứ văn bản là cốt lõi của hệ thống [2]. số lần tìm kiếm, độ nén văn bản, thời 2.3.1 Xử lý tối ưu hóa thuật toán gian, tiêu chuẩn, số mẫu,...Trên thực tế có các thuật toán so sánh như Brute- a) Kiểm tra sự giống nhau Force, Rabin-Karp, Knuth-Morris-Pratt, Việc so sánh hai văn bản rõ ràng và Boyer-Moore,... Mỗi thuật toán tương đơn giản nhất là kiểm tra sự giống nhau. ứng một phương pháp tìm kiếm mẫu trong văn bản. Thuật toán Brute-Force Câu lệnh được mô tả như sau. tiến hành so sánh không theo thứ tự nhất định, không thực hiện tiền xử lý, dịch chuyển từng ký tự một và tính tối ưu không cao. Thuật toán Rabin-Karp tiến hành so sánh từ trái qua phải, sử dụng hàm băm, rất hiệu quả trong các Khả năng không nhỏ là hai văn bản thuật toán đối sánh đa mẫu. Thuật toán so sánh đều giống hệt nhau, việc kiểm Knuth-Morris-Pratt tiến hành so sánh từ trái qua phải, căn cứ mẫu để quyết tra này là rất đơn giản đối với các hệ định bước dịch chuyển sau đó. Thuật thống. Vì vậy, việc trước tiên chúng toán này khá tin cậy, giảm độ trễ và thời ta phải kiểm tra trường hợp này. Khâu gian so sánh. Thuật toán Boyer-Moore kiểm tra này làm đơn giản hóa mã tiếp tiến hành so sánh từ phải qua trái. Thuật theo [4]. toán này dùng hai hàm dịch chuyển b) Kiểm tra sự giống nhau ở tiền là hậu tố tốt (good suffix) và ký tự tồi tố/hậu tố (bad character). Thuật toán cho kết quả tìm kiếm nhanh và được áp dụng nhiều Tiếp theo, nếu có sự khác biệt giữa trong thực tế. Tuy nhiên, thứ tự so sánh các văn bản, chúng ta sẽ chia sẻ một là khác nhau và biểu diễn thuật toán chuỗi con phổ biến ở đầu và/hoặc cuối. Boyer-Moore phức tạp hơn vì nó dựa trên hai quy tắc để dịch chuyển pattern c) Kiểm tra Chèn/Xóa chuỗi đơn giản trên văn bản. Cài đặt thuật toán: 70 Tạp chí Khoa học Tài nguyên và Môi trường - Số 18 - năm 2017
  4. Nghiên cứu đó n1 và n2 là độ dài của mỗi chuỗi đầu vào) [2]. a) Đầu vào thuật toán Bất kỳ thuật toán khác biệt về mặt lý thuyết có thể xử lý bất kỳ đầu vào, bất kể nó được phân chia theo ký tự, từ hay d) Kiểm tra văn bản chỉnh sửa cả câu. Tuy nhiên, một số thuật toán khác đầu và cuối đoạn biệt hiệu quả hơn nhiều trong việc xử lý Kiểm tra văn bản chỉnh sửa cả đầu các thẻ nhỏ như các ký tự, các hiệu ứng và cuối đoạn khó khăn hơn nhiều so với khác hiệu quả hơn khi xử lý các thẻ lớn các chỉnh sửa đơn lẻ. Hai chuỗi chèn như xử lý câu. Lý do là có một số lượng đơn giản có thể được phát hiện bằng vô hạn các dòng không xuất hiện trong cách tìm kiếm sự hiện diện của ‘Text 1’ một văn bản nhưng xuất hiện ở phần kia trong ‘Text 2’. được biết là một sự chèn hoặc xóa một. Loại bỏ các tiền tố và hậu tố chung Ngược lại, chỉ có 80 mã ký tự riêng biệt như là một bước đầu đảm bảo rằng phải khi xử lý các ký tự (az, AZ, 0-9 và một có sự khác biệt ở mỗi đầu của các văn bản số dấu câu), có nghĩa là bất kỳ văn bản còn lại. Sau đó, ta dễ dàng xác định được không nhỏ nào sẽ chứa nhiều trường chuỗi ngắn hơn hiện diện trong chuỗi dài hợp nhất nếu không phải là tất cả các hơn. Trong những tình huống này kết quả ký tự này. Các thuật toán khác nhau có khác nhau có thể được xác định mà không thể khai thác những khác biệt thống kê cần chạy một thuật toán phức tạp. trong các văn bản đầu vào, dẫn đến các chiến lược hiệu quả hơn. Nếu một chuỗi con tồn tại trong cả hai văn bản, ít nhất bằng một nửa độ dài b) Đầu ra thuật toán của văn bản dài hơn, thì nó sẽ được xác Thuật toán kiểm trùng văn bản định là giống nhau. Trong trường hợp này truyền thống tạo ra một danh sách các các văn bản có thể được chia thành hai, chuỗi chèn và chuỗi xóa mà khi thực và hàm so sánh phức tạp được thực hiện. hiện trên văn bản đầu tiên sẽ được văn Thực hiện phép kiểm tra này một cách đệ bản thứ hai. Một phần mở rộng của điều quy có thể tạo nên sự phân chia khác. này là việc thêm vào một toán tử ‘move’. Việc tính toán chuỗi con phổ biến Một cách tiếp cận hoàn toàn khác đó là dài nhất là một hoạt động phức tạp như sử dụng ‘copy’ và ‘chèn’ làm toán tử. hàm kiểm tra sự khác nhau, có nghĩa c) Độ chính xác là không tối ưu được độ phức tạp. Tuy Nói chung thuật toán kiểm trùng nhiên, giới hạn mà chuỗi ký tự chung đưa ra kết quả chính xác, mô tả một phải có ít nhất một nửa độ dài của văn đường dẫn hợp lệ của sự khác biệt từ bản dài hơn. văn bản này sang văn bản khác. Tuy 2.3.2 Thuật toán kiểm trùng nhiên, một số thuật toán có thể trở lại Một khi quá trình tối ưu hóa hoàn đầu ra phụ tối ưu vì lợi ích của tốc độ. tất, văn bản còn lại được so sánh với một Thuật toán diff được mô tả chi tiết thuật toán diff. Kỹ thuật vét cạn có độ nhất trong bài báo năm 1986 của E. phức tạp O(n1*n2 ) để thực hiện (trong Myers. Một trong những đề xuất tối ưu 71 Tạp chí Khoa học Tài nguyên và Môi trường - Số 18 - năm 2017
  5. Nghiên cứu hóa đó là xử lý sự khác biệt từ cả hai đầu kiểm trùng đề tài cùng một lúc, hội tụ ở giữa. 2.4.1. Quy trình kiểm trùng đề tài d) Xử lý Trước thời điểm đăng ký xét duyệt Một thuật toán diff hoàn hảo sẽ trả đề xuất đề tài, thuyết minh đề tài và đánh về số lượng tối thiểu các chỉnh sửa cần giá nghiệm thu đề tài cán bộ quản lý đề thiết để chuyển đổi một văn bản sang tài sẽ tiến hành kiểm tra trùng lặp các một văn bản khác. Việc chuyển đổi hoàn nội dung nghiên cứu của đề tài. Việc sử toàn an toàn, nhưng vấn đề lớn hơn đó dụng công cụ hỗ trợ kiểm trùng theo dữ là sự khác biệt giữa hai văn bản không liệu có sẵn và được quản lý theo cấp độ giống nhau thường bị xáo trộn với khác nhau sẽ hạn chế hiện tượng trùng những sự trùng hợp ngẫu nhiên nhỏ. Kết lắp của đề tài. quả mong đợi ở trên có thể là xóa tất cả Quá trình kiểm trùng của hệ thống ‘Text 1’và chèn tất cả ‘Text 2’, có thể kiểm trùng đề tài được diễn ra theo tuần ngoại trừ khoảng thời gian ở cuối. tự của quá trình thực hiện đề tài đó là đề Các văn bản dài hơn sẽ dẫn đến xuất đề tài  xây dựng thuyết minh đề nhiều từ chia sẻ hơn. Tuy nhiên, ngay tài  báo cáo kết quả thực hiện đề tài. cả sự khác biệt dựa trên câu cũng dễ Khi tiến hành kiểm trùng hệ thống bị ảnh hưởng. Vấn đề trùng hợp ngẫu chỉ kiểm trùng dữ liệu ở giai đoạn đang nhiên nhỏ thực sự là một trong hai vấn thực hiện đề tài và không kiểm trùng đối đề khác nhau đó là khả năng hoặc ngữ chiếu dữ liệu ở giai đoạn đề xuất đề tài. nghĩa. Mỗi vấn đề này đòi hỏi một giải 2.4.2. Sơ đồ kiểm trùng đề tài pháp xử lý. Sơ đồ kiểm trùng đề tài được thể 2.4. Quy trình vận hành hệ thống hiện ở Hình 2. Hình 2: Sơ đồ kiểm trùng đề tài 2.4.3. Các bước kiểm trùng đề tài chủ với các thông tin cơ bản, chẳng hạn Bước 1. Đăng nhập số liệu về đề tài đã được cập nhật. Trang Sau khi đăng nhập hệ thống kiểm chủ hệ thống cung cấp một số chức năng trùng (vào địa chỉ http://kiemtrung. tác nghiệp của phần mềm (ở phía bên hunre.vn), màn hình sẽ xuất hiện trang trái màn hình) bao gồm “tìm kiếm đề 72 Tạp chí Khoa học Tài nguyên và Môi trường - Số 18 - năm 2017
  6. Nghiên cứu tài, Quản trị đề tài, Báo cáo và Quản trị b) Kiểm trùng Thuyết minh đề tài hệ thống”. và báo cáo tổng kết đề tài. Bước 2. Kiểm trùng đề tài Khi kết thúc quá trình kiểm trùng Hệ thống kiểm trùng đề tài cho cán bộ quản lý đề tài sẽ thực hiện thao phép kiểm trùng từng đề tài riêng lẻ và tác chuyển trạng thái đề tài sang tình từng giai đoạn cụ thể như sau: trạng “Đề tài đã hoàn thành”. Danh sách a) Kiểm trùng đề xuất đề tài đề tài được mô tả ở Hình 3. Hình 3: Danh sách đề tài Bước 3. Báo cáo thống kê kiểm tính năng hiện đại, sử dụng tiện lợi, đảm trùng đề tài bảo độ chính xác, tin cậy và hỗ trợ tích Tại giao diện trang chủ, người dùng cực trong việc quản lý các đề tài khoa học. nhấn chuột vào mục “báo cáo”, hệ thống Phần mềm này có thể được nâng cấp để sử sẽ cung cấp các báo cáo. Hệ thống có dụng trong phạm vi rộng hơn đối với dữ báo cáo tổng hợp và báo cáo chi tiết. liệu lớn, đa dạng và phong phú hơn. Tại chức năng báo cáo chi tiết, hệ TÀI LIỆU THAM KHẢO thống thiết kế để người sử dụng có thể [1]. Phạm Hữu Khang (2010). chọn một đề tài hoặc nhiều đề tài cần báo Microsoft SQL Server 2008 - Quản trị Cơ cáo. Sau khi lựa chọn đề tài cần báo cáo sở dữ liệu (Tập 2). Nhà xuất bản: Nxb Lao sẽ nhấn nút xuất báo cáo hệ thống sẽ xuất động - Xã hội ra một file excel chứa đầy đủ nội dung [2]. Hoàng Nghĩa Tý (2006). Cấu trúc kiểm trùng đề tài đã đưa vào hệ thống dữ liệu và thuật toán. Nhà xuất bản Xây theo lựa chọn đề tài của người dùng. dựng. [3]. Phạm Hữu Khang (2006). C# Lập 4. KẾT LUẬN trình hướng đối tượng. Nhà xuất bản Lao Mô hình kiến trúc hệ thống và thuật động xã hội. toán xử lý kiểm trùng là cơ sở để xây [4]. Nguyễn Ngọc Bình Phương - Thái dựng phần mềm kiểm tra, đánh giá sự Thanh Phong (2006). Các giải pháp lập trùng lặp của các đề tài cấp Bộ, cấp Cơ trình C#. Nhà xuất bản Giao thông Vận tải. sở, thử nghiệm tại Trường Đại học Tài [5]. Andrew Troelsen -‎ Philip Japikse. nguyên và Môi trường Hà Nội. Kết quả Pro C# 7: With .NET and .NET Core 8th thử nghiệm cho thấy sản phẩm có những Edition. BBT nhận bài: Ngày 26/9/2017; Phản biện xong: Ngày 26/10/2017 73 Tạp chí Khoa học Tài nguyên và Môi trường - Số 18 - năm 2017
nguon tai.lieu . vn