Ứng dụng mô hình mapreduce xây dựng hệ thống đánh giá độ tương đồng văn bản

26 26 0
Ứng dụng mô hình mapreduce xây dựng hệ thống đánh giá độ tương đồng văn bản

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

BỘ GIÁO DỤC VÀ ĐÀO TẠO ĐẠI HỌC ĐÀ NẴNG LÊ VIỆT ANH ỨNG DỤNG MƠ HÌNH MAPREDUCE XÂY DỰNG HỆ THỐNG ĐÁNH GIÁ ĐỘ TƢƠNG ĐỒNG VĂN BẢN Chuyên ngành: KHOA HỌC MÁY TÍNH Mã số: 60.48.01.01 TĨM TẮT LUẬN VĂN THẠC SĨ KỸ THUẬT Đà Nẵng – Năm 2016 Cơng trình hồn thành ĐẠI HỌC ĐÀ NẴNG Người hướng dẫn khoa học: PGS.TS Nguyễn Tấn Khôi Phản biện 1: TS Ninh Khánh Duy Phản biện 2: PGS TS Lê Mạnh Thạnh Luận văn bảo vệ trước Hội đồng chấm Luận văn tốt nghiệp thạc sĩ Khoa học máy tính họp Đại học Đà Nẵng vào ngày 25 tháng 07 năm 2016 Có thể tìm hiểu luận văn tại: Trung tâm Thơng tin - Học liệu, Đại học Đà Nẵng MỞ ĐẦU Lý chọn đề tài Theo thống kê, vào năm 2000 có phần tư lượng thơng tin lưu trữ toàn giới dạng kỹ thuật số Ba phần tư lại người ta lưu giấy tờ, phim, phương tiện analog khác Nhưng lượng liệu kỹ thuật số bùng nổ nhanh, năm lại tăng gấp đôi, cục diện nhanh chóng thay đổi Ngày nay, 2% tổng lượng thông tin chưa chuyển sang lưu trữ dạng kỹ thuật số Những loại liệu sử dụng vào chức đặc biệt nhờ vào hỗ trợ nhớ máy tính có chi phí thấp, xử lý cực mạnh Dữ liệu lớn cho phép tiến hành thử nghiệm nhanh hơn, khám phá nhiều thông tin Việc phân tích, đánh giá, xử lý tìm kiếm, tổng hợp liệu lớn cách nhanh chóng trở nên cần thiết thời đại mà liệu bùng nổ Những lợi cần phục vụ cho tiến trình sáng tạo, nhiều sáng tạo đem lại kết bất ngờ mà khơng liệu tiên đốn, chưa có trước Hiện kỹ thuật xử lý song song, phân tán nghiên cứu ứng dụng rộng rãi, đáng kể mô hình MapReduce - tảng lập trình giúp Google, Yahoo, Facebook, hãng khác cho phép xử lý khối liệu khổng lồ (hàng petabytes) họ Mơ hình MapReduce đưa quy trình giúp xử lý tập hợp liệu siêu lớn đặt máy tính phân tán, xử lý liệu khơng cấu trúc (dữ liệu lưu trữ dạng tệp tin hệ thống) liệu cấu trúc (dữ liệu quan hệ chiều) Ở dạng đơn giản nhất, MapReduce chia việc xử lý thành nhiều khối công việc nhỏ, phân tán khắp liên cung gồm nút tính tốn, thu thập kết MapReduce định nghĩa liệu dạng cặp khóa/giá trị, hỗ trợ xử lý song song có khả mở rộng cao Việc tìm kiếm, phát tương đồng, giống nội dung văn kho văn khổng lồ vấn đề quan trọng công tác kiểm tra, ngăn chặn việc chép nội dung cơng trình nghiên cứu hay phục vụ cho việc tra cứu tài liệu học tập, tìm kiếm tài liệu chủ đề Nhưng với khối lượng lớn khó cho máy tính đơn lẻ yêu cầu người dùng thời gian thực, cách kết hợp vượt trội tính tốn hệ thống máy tính song song để giải vấn đề Bài toán tìm kiếm đánh giá độ tương đồng nội dung hai văn có nhiều ứng dụng thực tiễn giáo dục, nghiên cứu khoa học, sinh học, tìm kiếm, … Xuất phát từ nhu cầu thực tiễn, nghiên cứu thực đề tài luận văn cao học: “Ứng dụng mơ hình MapReduce xây dựng hệ thống đánh giá độ tương đồng văn bản” Mục tiêu đề tài Mục tiêu Nghiên cứu xây dựng hệ thống xử lý, đánh giá độ tương đồng tài liệu với tài liệu khác sở liệu dựa mơ hình MapReduce Mục tiêu cụ thể - Nghiên cứu phân tích mơ hình triển khai, mơ hình dịch vụ sở liệu phân tán - Nghiên cứu sở liệu phân tán, ưu nhược điểm hệ sở liệu phân tán, phạm vi áp dụng - Tìm hiểu hệ thống quản lý tập tin phân tán (HDFS), kiến trúc HDFS, cách thức lưu trữ - Tìm hiểu mơ hình lập trình Map Reduce, Hadoop - Xây dựng ứng dụng so khớp, tìm độ tương đồng tài liệu với tài liệu khác sở liệu lớn dựa vào mơ hình MapReduce Đối tƣợng phạm vi nghiên cứu Đối tượng nghiên cứu - Mô hình lập trình phân tán MapReduce - Nền tảng Hadoop, sở liệu phân tán - Thư viện lập mục ngôn ngữ Apache Lucene Phạm vi nghiên cứu - Đánh giá độ tương đồng văn sử dụng phương pháp thống kê tần số xuất từ văn dựa vào xử lý phân tán - Mơ hình Map Reduce việc xử lý tài liệu kho liệu lớn Phƣơng pháp nghiên cứu Phương pháp lý thuyết - Khảo sát, phân tích tổng hợp nhu cầu ứng dụng mơ hình MapReduce - Nghiên cứu mơ hình lập trình song song, phân tán - Phân tích, lựa chọn công nghệ Phương pháp thực nghiệm - Triển khai mô hình MapReduce, cấu hình Hadoop - Xây dựng giải thuật so trùng, phân tích mục tiêu yêu cầu tốn tìm kiếm văn có độ tương đồng - Xây dựng giải thuật mô hệ thống cài đặt Ý nghĩa khoa học thực tiễn Ý nghĩa khoa học - Ứng dụng công nghệ xử lý phân tán việc quản lý, tìm kiếm lưu trữ liệu với quy mô liệu lớn, đáp ứng nhu cầu quản lý liệu ngày mở rộng xã hội - Nâng cao chất lượng, hiệu kinh tế, thời gian, công sức việc quản lý, khai thác liệu phân tán lớn, phục vụ cho mục đích cụ thể người dùng Ý nghĩa thực tiễn - Ứng dụng mơ hình lập trình phân tán MapReduce công cụ hỗ trợ giúp giải toán xử lý tập liệu lớn - Xây dựng ứng dụng phục vụ tìm kiếm văn có độ tương đồng - Ứng dụng mơ hình lập trình MapReduce nhiều giải thuật tìm kiếm khác tập liệu lớn Bố cục luận văn Mở đầu: Đặt vấn đề tính cần thiết đề tài, mục đích, phạm vi nghiên cứu đề tài, phương pháp nghiên cứu bố cục luận văn Chương 1: Tổng quan đề tài Chương 2: Xử lý phân tán MapReduce Chương 3: Thiết kế xây dựng hệ thống CHƢƠNG TỔNG QUAN ĐỀ TÀI 1.1 HỆ THỐNG PHÂN TÁN 1.1.1 Khái niệm hệ thống phân tán Khái niệm hệ thống phân tán hiểu theo nhiều mức độ khác nhau, đơn giản việc trao đổi thông tin chương trình sử dụng chế đường ống, mức độ cao trao đổi thơng tin chương trình mạng Nhìn chung việc xây dựng ứng dụng phân tán phức tạp nhiều so với ứng đụng tập trung Trong nhiều trường hợp, việc bắt buộc phải xây dựng ứng dụng phân tán thường lý sau: - u cầu tính tốn phân tán : ứng dụng chạy nhiều máy tính khác nhằm tận dụng khả tính tốn song song nhằm mục đích sử dụng khả tính tốn máy tính chuyên dụng - Yêu cầu xử lý phân tán : ứng dụng chạy nhiều máy tính khác có để đáp ứng u cầu tốn toán Trong trường hợp này, đối tượng phục vụ, giải toán thường xa đối tượng phục vụ, đối tượng giải - Yêu cầu tính xác an tồn liệu: u cầu liên quan tới hệ thống cần phải đảm bảo tính xác cao an tồn liệu lớn Các hệ thống thường thiết kế để đáp ứng u cầu tính tốn có cố xảy ra, điều thực cách tăng số lần tính tốn cho nhiệm vụ, tăng số ứng đụng chạy dự phòng nhằm mục đích kịp thời phát xử lý lỗi - Chia sẻ tài nguyên: Các ứng dụng chạy mạng thực trao đổi thơng tin với Các ứng dụng chia sẻ tài nguyên cho ứng dụng khác, sử dụng tài nguyên chia sẻ với quyền hạn định nghĩa Một số ứng dụng phải chạy nhiều máy tính liệu đặt phân tán mạng liên quan đến quyền quản lý quyền sở hữu liệu: cho phép truy nhập sử dụng theo quyền cho phép 1.1.2 Mơ hình xử lý phân tán mở Việc phát triển ứng dụng hệ thống phân tán thường gặp số khó khăn sau: - Khác hiệt chủng loại: Trên mạng có nhiều loại máy tính thiết bị mạng nhiều nhà sản xuất khác máy tính cài đặt hệ điểu hành khác - Khơng tương thích giao diện liên kết: Các nhóm phát triển hệ thống phân tán hồn tồn tự qui định giao diện liên kết hệ thống với nhau, gặp khó khăn liên kết với hệ thống phân tán nhóm khác phát triển - Khó tích hợp: Các phần mềm thường phát triển hệ điều hành khác nhau, ngôn ngữ khác nhau, nhiểu đơn vị độc lập phát triển, sử dụng sở liệu khác Do vậy, để tích hợp phần mềm thường đòi hỏi nhiều thời gian, nhận lực, đơi khi, khả tích hợp khơng thể - Tính rủi ro sản phẩm cao : Xây dựng triển khai hệ thống phân tán thường chịu nhiều rủi ro không tuân thủ chuẩn khuyến nghị trước, thân khuyên nghị khơng Vì vậy, giá thành phát triển bị kéo theo Thời gian phát triển khả bảo hành bảo trì thường lớn hệ thống độc lập 1.1.3 Các đặc trƣng hệ phân tán a Chia sẻ tài nguyên b Tính mở (Openess) c Tính tương tranh (Concurrency) d Tính chịu lỗi (Fault tolerance) e Tính suốt (Transparency) f Khả thay đổi quy mơ (Saclability) 1.1.4 Các mơ hình hệ thống phán tán Tuỳ theo yêu cầu sử dụng khả phát triển, xây dựng hệ thống phân tán theo mức độ sau: - Mơ hình truyền tập tin - Mơ hình khách chủ t (Client/Server) - Mơ hình ngang hàng (Pear-To-Pear) a Mơ hình truyền tập tin Mơ hình truyền tập tin mơ hình cổ điển nhất, chương trình máy tính sử dụng giao thức để trao đổi thông tin với dạng truyền tập tin b Mơ hình Client/Server Mơ hình Client/Server áp dụng phổ biến chương trình sử dụng chế trao đổi tin báo để liên lạc với nhau, mềm dẻo mơ hình truyền tập tin Thực chất mơ hình xuất phát từ phương pháp gọi thủ tục từ xa RPC, mơ hình Client/Server phát triển theo hướng sử dụng đối tượng phân tán Trong lĩnh vực công nghệ thơng tin, mơ hình Client/Server hiểu hình thức trao đổi thơng tin tiến trình cung cấp dịch vụ (Server) tiến trình sử dụng dịch vụ (Client) Trong mơ hình này, Client u cầu dịch vụ cài đặt Server, Server xử lý yêu cầu trả kết cho Client c Mơ hình ngang hàng Mơ hình ngang hàng tương tự mơ hình Client/Server, tiến trình tương tác Client, Server đồng thời Client Server 1.1.5 Ƣu nhƣợc điểm hệ thống phân tán a Ưu điểm - Tính sẵn sàng cao: Hệ thống phân tán nhằm mục đích đáp ứng nhu cầu xử lý phân tán Vì vậy, tăng tính sẵn sàng hệ thống nhờ tăng độ dự phòng phần cứng, phần mềm hệ thống, dựa việc lưu trữ liệu phân tán nhiều điểm để dự phòng lỗi - Tăng hiệu xử lý: Hệ thống phân tán giải nhu cầu tính tốn song song, phân tải hệ thống, đồng thòi, yêu cẩu truy cập liệu thường xuyên nhanh liệu lưu trữ gần - Chia sẻ tài nguyên: Hệ thống phân tán thay đổi quy mơ Do kết nối với mạng bên ngồi để chia sẻ tài nguyên, sử dụng tài nguyên chia sẻ - Nhất quán sử dụng: Các ứng dụng hệ thống phân tán quán giao diện, chuẩn kết nối liệu, giao thức truyền thông Do giúp người sử dụng hệ thống dễ dàng nắm bắt module hệ thống b Nhược điểm - Khó thiết kế xây dựng: Hệ thống phân tán thường phức tạp Để hệ thống phân tán hoạt động được, người ta phải 10 1.4 CÁC KẾT QUẢ NGHIÊN CỨU LIÊN QUAN 1.5 HƢỚNG NGHIÊN CỨU CỦA ĐỀ TÀI Đánh giá độ tương đồng văn sử dụng phương pháp thống kê tần số xuất từ văn dựa vào xử lý phân tán Sử dụng thư viện nguồn mở Apache Lucene để lập mục văn kho liệu, tìm kiếm trọng số từ kho liệu Sử dụng MapReduce framework để chia chỏ trình đánh mục cho kho liệu lớn tính tốn độ tương đồng văn nhập vào so với kho liệu 1.6 KẾT CHƢƠNG Chương giới thiệu khái niệm hệ thống phân tán, mơ hình xử lý phân tán, đặc trưng hệ phân tán, mô hình hệ thống phân tán, xử lý liệu phân tán, phương pháp tính độ tương đồng văn Ngồi đưa nghiên cứu có hướng nghiên cứu riêng đề tài CHƢƠNG XỬ LÝ PHÂN TÁN MAPREDUCE Chương tìm hiểu, phân tích thành phần cấu tạo cài đặt mơ hình xử lý phân tán MapReduce Tìm hiểu thư viện nguồn mở ApacheLucene việc lập mục tìm kiếm nội dung văn 2.1 MƠ HÌNH MAPREDUCE 2.1.1 Cơ chế xử lý 2.1.2 Hàm Map 2.1.3.Hàm Reduce 2.2 NỀN TẢNG HADOOP 2.2.1 Giới thiệu Hadoop 11 HBase Hive Chunka HDFS Pig MapReduce Core Hình 2.4 Kiến trúc Hadoop 2.2.2 Hệ thống tập tin phân tán HDFS a Kiến trúc HDFS b Quá trình đọc file HDFS Hình sau miêu tả rõ trình client đọc tập tin HDFS Hình 2.6 Quá trình client đọc tập tin HDFS c Ghi file HDFS Tiếp theo, ta khảo sát trình client tạo tập tin HDFS ghi liệu lên tập tin Hình sau mơ tả q trình tương tác client lên hệ thống HDFS 12 Hình 2.4 Quá trình client ghi tập tin HDFS 2.2.3 Kiến trúc MapReduce Engine a Các thành phần MapReduce Engine Client Program: Chương trình HadoopMapReduce mà client sử dụng tiến hành chạy MapReduce Job JobTracker: Tiếp nhận job đảm nhận vai trò điều phối job này, có vai trò não Hadoop MapReduce Sau đó, chia nhỏ job thành task, lên lịch phân công task (map task, reduce task) đến tasktracker để thực Kèm theo vai trò mình, JobTracker có cấu trúc liệu riêng để sử dụng cho mục đích lưu trữ, ví dụ lưu lại tiến độ tổng thể job, lưu lại trang thái TaskTracker để thuận tiện cho thao tác lên lịch phân công task, lưu lại địa lưu trữ output TaskTracker thực maptask trả TaskTracker: Đơn giản tiếp nhận maptask hay reducetask từ JobTracker để sau thực Và để giữ liên lạc với JobTracker, Hadoop Mapreduce cung cấp chế gửi heartbeat từ TaskTracker đến JobTracker cho nhu cầu thông báo tiến độ task TaskTracker thực hiện, thơng báo trạng thái hành (idle, in-progress, completed) HDFS:** hệ thống file phân tán 13 dùng cho việc chia sẻ file dùng trình xử lý job thành phần với b Cơ chế hoạt động Đầu tiên chương trình client yêu cầu thực job kèm theo liệu input tới JobTracker JobTracker sau tiếp nhận job này, thơng báo ngược chương trình client tình trạng tiếp nhận job Khi chương trình client nhận thơng báo tình trạng tiếp nhận hợp lệ tiến hành phân rã input thành split (khi dùng HDFS kích thước split thường với kích thước đơn vị Block HDFS) split ghi xuống HDFS Sau chương trình client gửi thơng báo sẵn sàng để JobTracker biết việc chuẩn bị liệu thành công tiến hành thực job Khi nhận thông báo từ chương trình client, JobTracker đưa job vào stack mà lưu job mà chương trình client yêu cầu thực Tại thời điểm JobTracker thực job Sau job hoàn thành hay bị block, JobTracker lấy job khác stack (FIFO) thực Trong cấu trúc liệu mình, JobTrack có job scheduler với nhiệm vụ lấy vị trí split (từ HDFS chương trình client tạo), sau tạo danh sách task để thực thi Với split tạo maptask để thực thi, số lượng maptask với số lượng split Còn reduce task, số lượng reduce task xác định chương trình client Bên cạnh đó, JobTracker lưu trữ thông tin trạng thái tiến độ tất task Ngay JobTracker khởi tạo thơng tin cần thiết để chạy job, bên cạnh TaskTracker hệ thống gửi heartbeat đến JobTracker Hadoop cung cấp cho TaskTracker 14 chế gửi heartbeat đến JobTracker theo chu kỳ thời gian đó, thơng tin bên heartbeat cho phép JobTrack biết TaskTracker thực thi task hay khơng Nếu TaskTracker thực thi JobTracker cấp task vị trí split tương ứng đến TaskTracker để thực Tại ta lại nói TaskTracker thực thi task hay không Điều lý giải Tasktracker lúc chạy nhiều map task reduce task cách đồng bộ, số lượng task dựa số lượng core, số lượng nhớ Ram kích thước heap bên TaskTracker Khi TaskTracker nhận thực thi maptask, kèm theo vị trí input split HDFS Sau đó, nạp liệu split từ HDFS vào nhớ, dựa vào kiểu format liệu input chương trình client chọn parse split để phát sinh tập record, record có trường: key value Cho ví dụ, với kiểu input format text, tasktracker cho phát sinh tập record với key offset dòng (offset tồn cục), value ký tự dòng Với tập record này, tasktracker chạy vòng lặp để lấy record làm input cho hàm map để trả out liệu gồm intermediate key value Dữ liệu output hàm map ghi xuống nhớ chính, chúng xếp trước bên nhớ Trước ghi xuống local disk, liệu output phân chia vào partition (region) dựa vào hàm partition, partition ứng với liệu input reduce task sau Và bên partition, liệu xếp (sort) tăng dần theo intermediate key, chương trình client có sử dụng hàm combine hàm xử lý liệu partition xếp 15 Sau thực thành công maptask liệu output partition ghi local, lúc TaskTracker gửi trạng thái completed maptask danh sách vị trí partition output localdisk đến JobTracker 2.3 THƢ VIỆN LUCENE Apache Lucene thư viện mã nguồn mở, phát triển Dough Cutting Thư viện cung cấp hàm hỗ trợ cho việc đánh mục tìm kiếm, mục tiêu phát triển thành thư viện tìm kiếm tài liệu hoàn chỉnh, cho phép nhà phát triển ứng dụng dễ dàng tích hợp chức tìm kiếm vào hệ thống Lucene thư viện tìm kiếm thơng tin có khả xử lý khả mở rộng mức cao, cho phép tích hợp vào ứng dụng Lucene dự án mã nguồn mở nguyên thuỷ phát triển ngôn ngữ Java, ngày Lucene phát triển nhiều ngôn ngữ khác Delphi, Perl, C#, C++, Python, Ruby PHP… 2.3.1 Tìm kiếm với liệu cấu trúc phi cấu trúc Với việc liệu người tạo ngày phong phú, nhu cầu tìm kiếm thơng tin ngày thiết đa dạng, dẫn đến đời nhiều cơng cụ hỗ trợ tìm kiếm Trong lĩnh vực tìm kiếm, người ta tạm chia liệu thành hai loại chính, liệu có cấu trúc (structured data) liệu phi cấu trúc (unstructured data) Dữ liệu có cấu trúc thường dùng để liệu lưu trữ hệ quản trị sở liệu quan hệ MS SQL server hay MySQL, thực thể thuộc tính định nghĩa sẵn 16 2.3.2 Tìm kiếm tồn văn Thư viện Lucene cung cấp hàm hỗ trợ cho việc đánh mục tìm kiếm Để sử dụng Lucene,cần phải có sẵn liệu Dữ liệu tập hợp tập tin dạng PDF, Word trang web HTML, liệu lưu hệ quản trị CSDL MS SQL Server hay MySQL Dùng Lucene, bạn tiến hành đánh mục trước liệu có để sau thực thao tác tìm kiếm, giảm thời gian chờ đợi tìm kiếm 2.4 ĐÁNH CHỈ MỤC ĐỐI TƢỢNG VĂN BẢN 2.4.1 Thành phần tạo mục Bao gồm phần chức xử lý tạo mục, từ văn đầu vào kết tập mục Lucene hỗ trợ văn sau tách nội dung dạng ký tự thuần, cho phép lập mục trường thông tin văn cho phép thiết lập hệ số cho trường thơng tin để nâng cao vai trò lúc tìm kiếm 2.4.2 Thành phần tìm kiếm Bao gồm phần chức cho xử lý tìm kiếm, từ yêu cầu người dùng, thông qua biên dịch so khớp để lấy kết tốt Lucene hỗ trợ nhiều loại truy vấn thuận tiện cho người sử dụng, cho phép tìm theo trường thơng tin hay thiết lập nâng cao xếp kết quả, giới hạn thời gian số lượng kết quả, phân trang… 2.5 KẾT CHƢƠNG Chương phân tích thành phần cấu tạo cài đặt mơ hình xử lý phân tán MapReduce, nghiên cứu đề xuất giải pháp lập mục, tìm kiếm văn thư viện nguồn mở Apache Lucene làm tiền đề để xây dựng hệ thống chương 17 CHƢƠNG THIẾT KẾ VÀ XÂY DỰNG HỆ THỐNG Chương đưa giải thuật so khớp mơ hình MapReduce minh họa, xây dựng hệ thống kiểm tra độ tương đồng văn sử dụng mơ hình MapReduce, chạy thử nghiệm triển khai chương trình, tổng kết kết thử nghiệm đưa nhận xét, đánh giá so sánh với chương trình khác tương tự 3.1 PHÁT BIỂU BÀI TỐN Xây dựng chương trình nhằm mục đích kiểm tra độ tương đồng tài liệu thử kho liệu lớn, kết đưa tài liệu tương đồng với tài liệu cần kiểm tra dựa tính tốn, xử lý song song thơng qua mơ hình MapReducenhằm tối ưu mặt thời gian tìm kiếm 3.2 XÂY DỰNG MƠ HÌNH Kho liệu lập mục, người dùng đưa tài liệu cần kiểm tra vào thông qua giao diện hệ thống để kiểm tra trọng số, tổng hợp trọng số trả kết văn tương đồng cao 3.3 GIẢI THUẬT SO KHỚP TRÊN MAPREDUCE 3.3.1 Cách thức xác định độ tƣơng đồng cặp văn Để xác định độ tương đồng cặp văn bản, hệ thống xây dựng thông qua bước sau: Bước 1: Lập mục ngược cho từ (Indexing) Xây dựng số đảo ngược tiêu chuẩn (Frakes Baeza Yates, 1992), từ t liên kết với danh sách docid cho tài liệu có chứa trọng số liên quan đến từ t Lập đồ tất tài liệu, tính trọng số cho từ t tài liệu, với “thuật ngữ” giá trị key 18 mapper, bao gồm trọng số docid t đóng vai trò value hàm mapper chạy MapReduce tự động xử lý nhóm liệu t, tiếp tục qua hàm reduce, tạo tập postings(t) Bước 2: Tính trọng số văn kho văn Khi văn cần kiểm tra nhập vào phân tích thành từ đơn, thành phần tìm kiếm tìm kiếm từ văn kho văn lập mục để lấy trọng số Cuối trọng số giá trị key giống tính lại để xuất kết cuối 3.3.2 Kỹ thuật làm giảm từ tài liệu a Lọc từ trùng lặp tài liệu dựa vào hàm thư viện Lucene Ví dụ: Trong câu văn bản:“Tơi biết tơi bị đau cố gắng làm việc nên tơi suy nghĩ thật kỹ trước làm” Từ “tôi” xuất lần câu lượt bỏ để so sánh lấy trọng số lần văn cần kiểm tra.Trong trình kiểm tra đánh trọng số cho từ thuộc văn cần kiểm tra, ta cần kiểm tra đánh trọng số cho từ lần từ trùng lặp lại lần không đánh trọng số việc đánh giá nhiều lần khơng có nhiều ý nghĩa thực tế đồng thời làm giảm số thao tác cho hệ thống hoạt động nhanh b Đưa từ lại dạng nguyên mẫu từ (từ gốc) Trong Tiếng Anh, từ, cụm từ có nhiều thể tiền tố, hậu tố, thể danh từ, động từ, động từ thể khứ…Để tránh cho trình lập mục hiểu lầm từ khác làm cho việc lập mục thêm nhiều hơn, văn xử lý đưa dạng nguyên mẫu từ (từ gốc) Ví dụ: từ “harm”, “harmful”, “harmless”,… Phải 19 chuyển từ gốc “harm” c Loại bỏ từ stopword (sử dụng danh sách stopword Lucene) Đây từ có tần số xuất cao có trọng số ý nghĩa thấp, khơng có ý nghĩa nhiều q trình tìm kiếm Chúng thường đóng vai trò mặt ngữ pháp ngôn ngữ, không chuyển tải nội dung tài liệu, ví dụ mạo từ, giới từ cắt bỏ để giảm bớt số lượng từ mục Để thực kỹ thuật loại bỏ, làm giảm từ khối lương tính tốn cho hệ thống cách sử dụng gói lệnh sau thư viện ApacheLucene Sử dụng kỹ thuật df-cut loại bỏ 1% “thuật ngữ” có trọng số cao văn để rút ngắn thời gian tính tốn Sử dụng mơ hình MapReduce tính độ tương đồng cho thuật ngữ lại văn Việc phân tích so sánh, so khớp tài liệu tiền đề để giải loạt vấn đề phân nhóm tài liệu, so sánh chuỗi ADN sinh học, vấn đề quyền tác phẩm… Ví dụ, PubMed cơng cụ tìm kiếm PubMed, công cụ truy cập vào tài liệu khoa học đời sống văn học, tính duyệt web thực tra cứu đơn giản tài liệu tương tự Các kho văn bản, tài liệu với kích thước nhỏ ban đầu phù hợp với nhớ vi xử lý máy tính đơn lẻ, kích thước kho văn bản, tài liệu phát triển gấp nhiều lần, cuối trở thành tải cho việc lưu trữ đĩa kích thước kho liệu tăng lên, mà điểm xếp thứ tự tính tốn với truy cập đĩa mẫu trở thành thách thức Sự mở rộng liệu kho văn cuối làm cho việc xử lý tính tốn song song cần thiết, 20 khung công việc MapReduce cung cấp giải pháp tốt thách thức Ở mơ tả cách tính cặp văn tương đồng kho liệu lớn thực hiệu với MapReduce Tôi thực nghiệm chứng minh loại bỏ tần số cao (và entropy thấp) kết khoảng tuyến tính tăng trưởng không gian đĩa yêu cầu thời gian chạy tăng với kích thước kho liệu, kho liệu có chứa hàng trăm ngàn tài liệu Như tài liệu, văn trước lập mục hay kiểm tra với kho liệu trải qua giai đoạn sau: - Bước 1: Chuẩn hóa từ (chuyển toàn nội dung văn chữ thường) - Bước 2: Đưa nguyên mẫu, từ gốc - Bước 3: Loại bỏ từ trùng lặp - Bước 4: Loại bỏ từ Stopword 3.3.3 Xử lý phân tán MapReduce 3.3.4 Minh họa giải thuật so trùng 3.4 PHÂN TÍCH VÀ THIẾT KẾ CÁC CHỨC NĂNG HỆ THỐNG 3.4.1 Lập mục cho kho liệu Người dùng đưa vào đường dẫn (path) cho thư mục cần lập mục (thư mục chứa văn thuộc nhiều dạng khác *.doc, *.xls, *.pdf….) Tiến hành lập mục trước nhằm “chuẩn bị” cho việc đánh giá độ tương đồng văn cho văn cụ thể Nguồn liệu đầu vào với kích thước lớn chia nhỏ để xử lý theo mơ hình lập trình MapReduce thành n tiến trình với tiến trình có kích thước lớn 64M Với tiến trình thực trình lập mục thư viện Lucene nhằm giảm thời gian cho trình lập mục ứng dụng Quá trình gọi q trình 21 “Mapping” hình 3.4 Sau kết trình tập hợp lại để xuất thành file lập mục cho thư mục đó, q trình ứng với cơng đoạn “Reducing” hình 3.4 mơ hình MapReduce Kết chức ta thu tập tin lập mục ngược thư mục thư viện Lucene áp dụng trình MapReduce để giảm tải thời gian thực cho ứng dụng Thành phần tạo mục: bao gồm chức định liệu lập mục, thực phân tích tài liệu, tạo mục lưu trữ xuống tập mục, cập nhật mục trường hợp bổ sung hay thay đổi, theo dõi quản trị nội dung mục… Thành phần dựa lớp có sẵn Lucene, phát triển số lớp văn thuộc lĩnh vực cho việc tìm kiếm tập trung độ xác cao 3.4.2 Xuất file trọng số Người dùng nhập vào đường dẫn (path) nội dung file văn cần kiểm tra độ tương đồng (có thể file *.doc, *.xls, *.pdf….) Nhập vào đường dẫn (path) “kho liệu” (big data) có nội dung tương ứng theo lĩnh vực cần kiểm tra Ví dụ: khoa học, văn học, tin học, cơng nghệ,… Thành phần tìm kiếm: bao gồm chức nhận thơng tin truy vấn, biên dịch tìm kiếm, trình bày kết liên kết đến tài liệu gốc… lớp biên dịch truy vấn tìm kiếm dựa thành phần có sẵn Lucene Do đặc trưng văn lưu trữ thu thập từ nhiều đơn vị, nhiều nguồn khác nhiều người dùng tạo ra, nên tồn nhiều loại tệp tin văn Về bản, Lucene hỗ trợ 22 cho văn Text ngôn ngữ tiếng Anh, số lượng văn lập mục (chỉ có tệp tin dạng *.txt), nên hệ thống xây dựng khơng dùng sở liệu hạn chế liệu phi cấu trúc loại tập tin mà Lucene lập mục đa dạng hơn(*.doc, *.xls, *.txt, *.pdf …) 3.4.3 Kết kiểm tra Thực chức đánh giá độ tương đồng Xuất tên file bảng kết mà chương trình thực đánh giá có độ tương đồng với tài liệu cần kiểm tra, tô cho tên văn hệ thống đánh giá độ tương đồng cao Trên sở tạo mục Lucene, hệ thống xuất thành file mục Một nội dung văn cần kiểm tra đưa vào hệ thống xử lý tách từ kiểm tra với file mục có sẵn mơ hình MapReduce nên cải thiện tốc độ cho kết nhiều nhờ có “chuẩn bị” sẵn mơ hình xử lý phân tán 3.5 TRIỂN KHAI XÂY DỰNG HỆ THỐNG 3.5.1 Chức lập mục văn 3.5.2 Chức đánh trọng số cho từ văn 3.5.3 Chức xuất kết 3.6 KẾT QUẢ TRIỂN KHAI THỰC NGHIỆM 3.6.1 Mơ hình triển khai 3.6.2 Các bƣớc xây dựng kho liệu 3.6.3 Kịch 1: Tạo văn mẫu để so khớp văn mẫu kho liệu 3.6.4 Kịch 2: So khớp với kho liệu Đồ án tốt nghiệp Khoa CNTT Đại học Bách Khoa Đà Nẵng 3.6.5 Kịch 3: So khớp với trang tin Internet 3.6.6 Nhận xét đánh giá 23 Luận văn thực so sánh kết đánh giá độ tương đồng văn kho sở liệu cách sử dụng: - Mô hình ứng dụng thư viện Lucene máy đơn - Mơ hình MapReduce đề xuất luận văn Kết cho thấy việc ứng dụng mơ hình MapReduce cho tốc độ tốt hơn, xử lý nhiều liệu thời gian ngắn Đối với việc xử lý tìm kiếm văn có nội dung lớn cho kết xác tính thêm trọng số từ thơng dụng, nằm số văn Việc xử lý văn Tiếng Việt chưa linh hoạt đặc thù riêng ngơn ngữ gồm từ ghép, từ láy, từ địa phương, từ đồng âm,… Nhưng văn đủ lớn kết trả đảm bảo độ xác Thời gian thực nhanh nhiều so với kết máy tính đơn 3.7 KẾT CHƢƠNG Việc tìm kiếm tài liệu tương đồng công việc thông dụng học tập, nghiên cứu hay công tác kiểm tra trùng lắp tài liệu mang tính khoa học, nghiên cứu… Phần trình bày kết xây dựng hệ thống kiểm tra độ tương đồng văn sử dụng mơ hình MapReduce Các kết thực nghiệm chứng tỏ ưu điểm mơ hình đề xuất KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN Kết đạt đƣợc Luận văn nghiên cứu ứng dụng mơ hình lập trình phân tán MapReduce tảng Hadoop thư viện mã nguồn mở ApacheLuceneđể xây dựng hệ thống cho phép kiểm tra độ tương 24 đồng văn kiểm tra với văn lại kho tài liệu lớn nhằm đưa độ tương đồng tài liệu Về lý thuyết, luận văn đạt kết sau: - Tìm hiểu mơ hình xử lý song song hiệu xu hướng thời đại tiếp cận xử lý liệu khổng lồ MapReduce - Tìm hiểu ứng dụng thư viện mã nguồn mởApacheLucene, Apache Tika hỗ trợ xử lý, lập mục nội dung văn - Xây dựng hệ thống chương trình dựa mơ hình MapReduceđể kiểm tra độ tương đồng văn Về ứng dụng, luận văn xây dựng hệ thống kiểm tra độ tương đồng văn sử dụng mơ hình MapReduce sở lý thuyết nghiên cứu Kết đánh giá hiệu hệ thống so sánh với hệ thống khác Hƣớng phát triển - Tối ưu khả kiểm tra đánh trọng số cho văn tiếng việt số khác biệt ngôn ngữ tiếng Việt tiếng Anh từ ghép, từ đồng nghĩa, từ địa phương… - Nâng cao hiệu trình lập mục, giảm thiếu tối đa thời gian chờ đợi hệ thống, Kết đạt luận văn lý thuyết chương trình ứng dụng tảng để thân phát triển hệ thống so sánh văn cho nhiều loại liệu hình ảnh…,theo hướng mở rộng Lucene như: tìm kiếm theo ngữ nghĩa, tìm kiếm từ xa qua hệ thống tập tinphân tán Hadoop ... mục nội dung văn - Xây dựng hệ thống chương trình dựa mơ hình MapReduce ể kiểm tra độ tương đồng văn Về ứng dụng, luận văn xây dựng hệ thống kiểm tra độ tương đồng văn sử dụng mô hình MapReduce. .. hợp trọng số trả kết văn tương đồng cao 3.3 GIẢI THUẬT SO KHỚP TRÊN MAPREDUCE 3.3.1 Cách thức xác định độ tƣơng đồng cặp văn Để xác định độ tương đồng cặp văn bản, hệ thống xây dựng thông qua bước... Luận văn thực so sánh kết đánh giá độ tương đồng văn kho sở liệu cách sử dụng: - Mơ hình ứng dụng thư viện Lucene máy đơn - Mơ hình MapReduce đề xuất luận văn Kết cho thấy việc ứng dụng mơ hình MapReduce

Ngày đăng: 26/05/2020, 17:35

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan