Tiểu luận môn điện toán lưới và đám mây TRÍCH XUẤT TỪ KHOÁ SỬ DỤNG MAPREDUCE

23 455 6
Tiểu luận môn điện toán lưới và đám mây TRÍCH XUẤT TỪ KHOÁ SỬ DỤNG MAPREDUCE

Đ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

ĐẠI HỌC QUỐC GIA TP.HỒ CHÍ MINH __ TRƯỜNG ĐẠI HỌC CƠNG NGHỆ THƠNG TIN Dương Thị Phương Mai TRÍCH XUẤT TỪ KHỐ SỬ DỤNG MAPREDUCE Đồ Án Mơn Học Điện Tốn Lưới Và Đám Mây TP HỒ CHÍ MINH – Năm 2014 ĐẠI HỌC QUỐC GIA TP.HỒ CHÍ MINH __ TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN Dương Thị Phương Mai TRÍCH XUẤT TỪ KHỐ SỬ DỤNG MAPREDUCE Ngành: Khoa Học Máy Tính Đồ Án Mơn Học Điện Tốn Lưới Và Đám Mây GIẢNG VIÊN HƯỚNG DẪN PGS.TS Nguyễn Phi Khứ TP HỒ CHÍ MINH – Năm 2014 Mục Lục Danh sách hình vẽ Trong năm gần đây, với trợ giúp Internet thơng tin lúc đa dạng, phong phú có trùng lặp nhiều Việc trích xuất từ khóa thích hợp giúp dễ dàng chọn lựa văn bản, tài liệu thích hợp để đọc giúp tiết kiệm thời gian Có nhiều hướng nghiên cứu cho vấn đề này, có trích xuất từ khóa từ văn bản, trích xuất từ khóa từ trang web, trích xuất từ khóa tiếng Việt… Có nhiều cơng trình nghiên cứu có giải pháp / thuật tốn cho tốn trích xuất thơng tin từ văn Kết thuật toán đánh giá tốt Tuy nhiên việc xử lý đoạn văn dài, xử lý nhiều file văn làm cho hiệu suất chương trình giảm đáng kể Đồ án nghiên cứu việc áp dụng MapReduce vào thuật tốn trích xuất từ khóa từ văn bản, Keyword Extraction from a Single Document using Word Cooccurrence Statistical Information (Y Matsuo, M.Ishizuka) để nâng cao hiệu suất chương trình việc xử lý nhiều văn văn lớn Chương GIỚI THIỆU 1.1 Đặt vấn đề Trong năm gần đây, với trợ giúp Internet thơng tin lúc đa dạng, phong phú có trùng lặp nhiều Việc trích xuất từ khóa thích hợp giúp dễ dàng chọn lựa văn bản, tài liệu thích hợp để đọc giúp tiết kiệm thời gian Ngồi ra, việc trích xuất từ khóa từ văn cịn giúp hỗ trợ để giải tốn có liên quan như: Phân loại văn bản: dựa vào từ khóa trích xuất ta gom cụm văn lại theo chủ đề để dễ dàng việc lưu trữ tìm kiếm Việc đặc biệt có ích văn tài liệu học thuật, người dùng muốn nghiên cứu vấn đề cụ thể dễ dàng tìm tài liệu, báo để tham khảo Hỗ trợ cho cỗ máy tìm kiếm: hầu hết cơng cụ tìm kiếm giới tìm kiếm từ khóa Việc trích xuất từ khóa tự động từ văn giúp cho việc tìm kiếm dễ dàng hơn…Tuy nhiên việc xử lý đoạn văn dài, xử lý nhiều file văn làm cho hiệu suất chương trình giảm đáng kể Đồ án nghiên cứu việc áp dụng MapReduce vào thuật tốn trích xuất từ khóa từ văn bản, Keyword Extraction from a Single Document using Word Co-occurrence Statistical Information (Y Matsuo, M.Ishizuka) để nâng cao hiệu suất chương trình việc xử lý nhiều văn văn lớn Ý tưởng thuật tốn trình bày phần 1.2 Thuật tốn trích xuất từ khóa từ văn Thuật tốn dùng để trích xuất từ khóa trình bày lấy từ báo Keyword Extraction from a Single Document using Word Cooccurrence Statistical Information (Y Matsuo, M.Ishizuka) Ở trình bày tóm tắt ý tưởng thuật toán Đầu tiên, từ, cụm từ thường xuyên xuất đoạn văn trích xuất ghi nhận lại số lần xuất Nếu cụm từ thường xuyên xuất chung với từ cụ thể đó, cụm từ có ý nghĩa quan trọng văn Độ đo phân phối việc xuất đồng thời tính độ đo χ (Chi-square) Một văn bao gồm nhiều câu Một câu xem tập từ, cụm từ ngăn cách dấu kết thúc câu (“.”, “?” hay “!”) Hai cụm từ câu xem xuất lần Giả sử cụm từ w xuất cách độc lập cụm từ xuất thường xuyên (ký hiệu G), phân phối việc đồng xuất cụm từ w cụm từ xuất thường xuyên tương tự phân phối không điều kiện việc xuất cụm từ thường xuyên Ngược lại, cụm từ w có mối quan hệ ngữ nghĩa với cụm từ cụ thể g∈ G, đồng xuất cụm từ w g lớn mong đợi, phân phối xem có độ lệch Độ lệch đồng xuất sử dụng dấu hiệu nhận biết cụm từ quan trọng Thuật toán biểu diễn xác suất vô điều kiện cụm từ thường xuyên g∈ G xác suất mong đợi pg tổng số lần đồng xuất cụm từ w cụm từ thường xuyên G nw Tần số xuất đồng thời cụm từ w cụm từ thường xuyên g freq(w,g) Giá trị thống kê χ2 xác định công thức sau Nếu χ2(w) > , giả thuyết bị loại bỏ với mức α Thuật ngữ nw pg biểu diễn cho tần số mong đợi xuất đồng thời w g; biểu diễn chênh lệch tần số tính tần số mong đợi Do đó, χ2(w) lớn thể tần số xuất đồng thời cụm từ g biểu diễn độ lệch lớn Tổng kết lại, thuật tốn trích xuất cụm từ thường xuyên xuất “chuẩn” để đo, sau trích xuất cụm từ với độ lệch lớn so với “chuẩn” xem chúng từ khóa Chương GIỚI THIỆU HADOOP MAPREDUCE 2.1 Sự đời mô hình MapReduce Map Reduce mơ hình lập trình, Google phát triển vào năm 2003, để hỗ trợ cho q trình tính tốn song song số lượng tập liệu cực lớn (vài tỷ byte) lưu trữ cụm máy tính thành phần điện tốn đám mây Trong mơ hình này, người dùng định nghĩa hàm Map để tính tốn cặp khóa/giá trị đầu vào tạo nên tập cặp khóa/giá trị tạm thời, sau hàm Reduce gom nhóm tất giá trị tạm thời có chung khóa lại với cho kết mong muốn Hệ thống chạy quan tâm chi tiết phân vùng liệu đầu vào, lập lịch trình thực thi chương trình thơng qua tập máy tính thành phần, xử lý lỗi quản lý kết nối nội máy tính thành phần Trong vòng vài năm trước đây, kỹ sư Google phải khởi tạo hàng trăm q trình tính tốn dành cho mục đích đặc biệt số lượng lớn liệu thô liệu móc nối, nhật ký trang web yêu cầu…Các trình tính tốn dùng cho nhiều mục đích khác tóm tắt số lượng trang móc nối host, tính tần số truy xuất trang web, tìm tập câu truy vấn dùng nhiều ngày…Hầu hết tính tốn khơng phức tạp,nhưng liệu đầu vào thường lớn q trình tính tốn cần phải phân tán cho hàng trăm ngàn máy nhằm thực thi khoảng thời gian cho phép Các vấn đề việc song song hóa tính tốn,phân tán liệu quản lý lỗi làm cho q trình tính tốn vốn đơn giản trở nên vô phức tạp Để giải vấn đề, kỹ sư Google thiết kế mơ hình trừu tượng cho phép diễn tả trình tính tốn cách đơn giản nó, đồng thời che dấu chi tiết phức tạp việc song song hóa, chấp nhận lỗi, cân nạp, phân tán liệu thư viện riêng Sự trừu tượng hóa lấy ý tưởng từ thành phần map reduce Việc sử dụng mơ hình hàm chức map reduce cho phép thực thi song song tính tốn lớn dễ dàng sử dụng q trình thực thi lại chế chấp nhận lỗi Các mạnh phương pháp cung cấp cho giao diện đơn giản mạnh mẽ, cho phép song song hóa phân tán liệu phép toán lớn cách tự động, giúp cho ta thu hiệu cao số lượng lớn cụm máy tính thành phần đám mây điện tốn Mơ hình lập trình Q trình tính tốn nhận cặp giá trị đầu vào gồm khóa/giá trị, tính tốn cho tập cặp khóa/giá trị đầu Người dùng sử dụng thư viện MapReduce để diễn tả q trình thơng qua hai hàm Map Reduce Map hàm định nghĩa người dùng, nhận cặp giá trị đầu vào tạo cặp giá trị trung gian.Thư viện MapReduce nhóm tất giá trị trung gian có liên quan tới key I lại với chuyển cho hàm Reduce Hình 2-1 Cơ chế Map Hàm Reduce viết người dùng, chấp nhận key I tập giá trị trung gian key I Sau tiến hành hợp giá trị thành tập giá trị nhỏ có thể.Một lần nguyên tắc kết hợp lại sử dụng hệ thống điện toán đám mây nhằm phục vụ cho thuật toán giải yêu cầu tốn, sau chia nhỏ chương trình lớn thành phần nhỏ để thực tính tốn cách song song nhằm làm giảm thời gian thực tốn hệ thống tiến hành kết hợp kết tính tốn từ tiến trình nhỏ song song lại với để đưa kết tính tốn thống chương trình tính tốn mà người dùng u cầu Thơng thường có giá trị output đưa từ hàm Reduce khơng có giá trị Hình 2-2 Cơ chế Reduce 10 Hình 2-3 Tổng quan chế MapReduce 2.2 Hadoop Hadoop, dự án phần mềm quản lý liệu Apache với nhân khung phần mềm MapReduce Google, thiết kế để hỗ trợ ứng dụng sử dụng số lượng lớn liệu cấu trúc phi cấu trúc Không giống hệ quản trị sở liệu truyền thống, Hadoop thiết kế để làm việc với nhiều loại liệu liệu nguồn Công nghệ HDFS Hadoop cho phép khối lượng lớn công việc chia thành khối liệu nhỏ nhân rộng phân phối phần cứng cluster để xử lý nhanh Công nghệ sử dụng rộng rãi số trang web lớn giới, chẳng hạn Facebook, eBay, Amazon, Baidu, Yahoo Các nhà quan sát nhấn mạnh Yahoo nhà đóng góp lớn Hadoop 11 Công nghệ Hadoop ngày sử dụng nhiều ngân hàng, công ty quảng cáo, viện nghiên cứu, công ty dược phẩm công ty CNTT khác Cấu trúc tập tin Hadoop cho phép công ty nắm bắt củng cố tốt loại tập tin liệu có cấu trúc phức tạp nào, chẳng hạn nhật ký trang web, siêu liệu, tập tin âm video, dịch vụ email phi cấu trúc, liệu dòng Twitter dịch vụ truyền thơng xã hội Do đó, cơng nghệ lý tưởng cho cơng ty muốn phân tích khối lượng lớn liệu có cấu trúc phi cấu trúc 2.2.1 Thành phần • Lưu trữ: HDFS (Hadoop Distributed File System) Hệ thống file phân tán • Xử lý: MapReduce 2.2.2 Giới thiệu HDFS HDFS đời nhu cầu lưu trữ liệu Nutch, dự án Search Engine nguồn mở HDFS kế thừa mục tiêu chung hệ thống file phân tán trước độ tin cậy, khả mở rộng hiệu suất hoạt động Tuy nhiên, HDFS đời nhu cầu lưu trữ liệu Nutch, dự án Search Engine nguồn mở, phát triển để đáp ứng đòi hỏi lưu trữ xử lý hệ thống xử lý liệu lớn với đặc thù riêng Do đó, nhà phát triển HDFS xem xét lại kiến trúc phân tán trước nhận khác biệt mục tiêu HDFS so với hệ thống file phân tán truyền thống Thứ nhất, lỗi phần cứng thường xuyên xảy Hệ thống HDFS chạy cluster với hàng trăm chí hàng nghìn node Các node xây dựng nên từ phần cứng thông thường, giá rẻ, tỷ lệ lỗi cao Chất lượng số lượng thành phần phần cứng tất yếu dẫn đến tỷ lệ xảy lỗi cluster cao Các vấn đề điểm 12 qua lỗi ứng dụng, lỗi hệ điều hành, lỗi đĩa cứng, nhớ, lỗi thiết bị kết nối, lỗi mạng, lỗi nguồn điện… Vì thế, khả phát lỗi, chống chịu lỗi tự động phục hồi phải tích hợp vào hệ thống HDFS Thứ hai, kích thước file lớn so với chuẩn truyền thống, file có kích thước hàng GB trở nên phổ biến Khi làm việc tập liệu với kích thước nhiều TB, người ta lại chọn việc quản lý hàng tỷ file có kích thước hàng KB, chí hệ thống hỗ trợ Điều chúng muốn nói việc phân chia tập liệu thành số lượng file có kích thước lớn tối ưu Hai tác dụng to lớn điều thấy giảm thời gian truy xuất liệu đơn giản hoá việc quản lý tập tin Thứ ba, hầu hết file thay đổi cách append liệu vào cuối file ghi đè lên liệu có Việc ghi liệu lên vị trí ngẫu nhiên file không tồn Một tạo ra, file trở thành file đọc (read-only), thường đọc cách Có nhiều loại liệu phù hợp với đặc điểm Đó kho liệu lớn để chương trình xử lý qt qua phân tích liệu Đó dịng liệu tạo cách liên tục qua trình chạy ứng dụng (ví dụ file log) Đó kết trung gian máy lại dùng làm đầu vào xử lý máy khác Và vậy, việc append liệu vào file trở thành điểm để tối ưu hoá hiệu suất 2.2.3 Mục tiêu HDFS • • • • • • Lưu trữ file lớn (hàng terabyte) Truy cập liệu theo dịng Mơ hình liên kết liệu đơn giản: ghi lần, đọc nhiều lần Di chuyển trình xử lý thay liệu Sử dụng phần cứng phổ thơng, đa dạng Tự động phát lỗi, phục hồi liệu nhanh 13 2.2.4 Tổng quan kiến trúc HDFS Trên hadoop cluster, có node chạy NameNode, node chạy JobTracker (NameNode JobTracker nằm máy vật lý, nhiên cluster thật với hàng trăm, hàng nghìn node thường phải tách riêng NameNode JobTracker máy vật lý khác nhau) Có nhiều node slave, node slave thường đóng vai trị: DataNode, hai TaskTracker Block Đây đơn vị lưu trữ liệu nhỏ Hadoop dùng mặc định 64MB/block Một file chia thành nhiều block block chứa node cluster NameNode Đây thành phần trọng yếu HDFS, dùng để quản lý thực thi thao tác liên quan đến tên file (mở file, đóng file, lưu tên file) quản lý vị trí block Thành phần đóng vai trò master hệ thống HDFS, quản lý meta-data hệ thống HDFS file system space, danh sách file hệ thống block id tương ứng file, quản danh sách slave tình trạng hoạt động DataNode (live hay dead) thơng qua hearbeat, điều hướng q trình đọc/ghi liệu từ client lên DataNode DataNode Dùng để quản lý block thực thao tác liệu (thêm block, xóa block, xử lý liệu) JobTracker TaskTracker chịu trách nhiệm trì máy MapReduce, nhận thực thi MapReduce Job Vai trò cụ thể sau: 14 JobTracker Thành phần tiếp nhận yêu cầu thực thi MapReduce job, phân chia job thành task phân công cho TaskTracker thực hiện, quản lý tình trạng thực task TaskTracker phân công lại cần JobTracker quản lý danh sách node TaskTracker tình trạng node thơng qua hearbeat TaskTracker Thành phần nhận task từ JobTracker thực task Hình 2-4 Kiến trúc HDFS 15 Chương CHƯƠNG TRÌNH TRÍCH XUẤT TỪ KHĨA SỬ DỤNG MAPREDUCE 3.1 Cấu trúc chương trình Chương trình viết C# tảng NET Framework 4.0 Chương trình gồm modules Word_Searching_MapReduce SemanticLibrary 3.1.1 SematicLibrary Bao gồm thành phần nhỏ Keyword: lớp từ khóa KeywordAnalyzer: thành phần phân tích đánh giá để xác định cụm từ có phải từ khóa hay khơng SemanticLibrary: chứa cấu trúc phân tích câu, cụm từ… Dựa vào tách lọc từ, cụm từ có khả làm từ khóa TitleExtractor: trích lọc tiêu đề 3.1.2 Word_Searching_MapReduce Cơng việc module overwrite lại hàm Mapper Reducer, từ đếm tần số xuất cụm từ có khả làm từ khóa Mapper • Input: Một dịng văn • Output: Trong key ứng viên từ khóa, value giá trị Reducer • Input: Trong key ứng viên từ khóa, values tập hợp giá trị đếm từ • Output: 16 Trong key ứng viên từ khóa, value tổng số lượng từ đoạn văn Cơ chế MapReduce mơ tả cụ thể hình bên dưới: Hình 3-5 Cơ chế MapReduce với toán Word Count 3.2 Demo chương trình Để chạy chương trình máy tính cần phải cài đặt thành phần sau: • • • NET Framework 4.0 HDInsight developer version MapReduce package: cài đặt thơng qua Nuget Visual Studio Ở chạy thử chương trình với liệu đầu vào đoạn báo Keyword Extraction from a Single Document using Word Cooccurrence Statistical Information (Y Matsuo, M.Ishizuka) 17 Hình 3-6 Input File Sau ta khởi động Hadoop Command Line để chép file input vừa tạo vào đường dẫn Input/Input_Files, đường dẫn ta tự tạo định chương trình 18 Hình 3-7 Hadoop Command Line Bước chạy chương trình Hình 3-8 Chạy chương trình Kết trả từ khóa sau: Extraction, Extraction Single, Keyword, Keyword Extraction, Recently, Single, Single Document, Word Co-occurrence Statistical Information… 19 Hình 3-9 Output 3.3 Kết thực nghiệm Dưới kết thực nghiệm so sánh tốc độ chạy chương trình: khơng sử dụng MapReduce có sử dụng MapReduce (có sử dụng MapReduce chạy máy có cấu hình) Chương trình khơng sử dụng MapReduce khơng hỗ trợ việc chạy chương trình với nhiều file input lúc, nên kết so sánh việc chạy chương trình file input đầu vào Ta thấy số lượng từ file tăng thời gian chạy thể rõ khác biệt chương trình Kết mô tả biểu đồ bên dưới: 20 Giây Bảng Bảng so sánh kết thực nghiệm Số lượng từ văn 21 TÀI LIỆU THAM KHẢO Tiếng Việt [1] Chu Anh Minh (2009), Bài tốn trích xuất từ khóa cho trang web áp dụng phương pháp phân tích thẻ HTML đồ thị web, BC Khóa luận Tốt nghiệp Đại học Ngành Công nghệ thông tin Hệ quy, Đại học Quốc gia Hà Nội [2] Hadoop – công nghệ khai thác mỏ vàng Internet (20/05/2014) http://www.asterisk.vn/forum/viewtopic.php?f=23&t=561&view=previous Tiếng Anh [3] Y Matsuo, M.Ishizuka (2003), “Keyword Extraction from a Single Document using Word Co-occurrence Statistical Information”, International Journal on Artificial Intelligence Tools, World Scientific Publishing Company [4] BIG DATA for NET Devs: HDInsight, Writing Hadoop Map Reduce Jobs In C# And Querying Results Back Using LINQ http://www.amazedsaint.com/2013/03/taming-big-data-with-c-using-hadoopon.html [5] Keyword Extraction with Word Co-occurrence Algorithm (23/05/2014) http://www.tsjensen.com/blog/post/2010/03/14/ 22 ...Dương Thị Phương Mai TRÍCH XUẤT TỪ KHỐ SỬ DỤNG MAPREDUCE Ngành: Khoa Học Máy Tính Đồ Án Mơn Học Điện Toán Lưới Và Đám Mây GIẢNG VIÊN HƯỚNG DẪN PGS.TS Nguyễn Phi Khứ... so sánh tốc độ chạy chương trình: khơng sử dụng MapReduce có sử dụng MapReduce (có sử dụng MapReduce chạy máy có cấu hình) Chương trình khơng sử dụng MapReduce khơng hỗ trợ việc chạy chương trình... tập từ, cụm từ ngăn cách dấu kết thúc câu (“.”, “?” hay “!”) Hai cụm từ câu xem xuất lần Giả sử cụm từ w xuất cách độc lập cụm từ xuất thường xuyên (ký hiệu G), phân phối việc đồng xuất cụm từ

Ngày đăng: 20/05/2015, 05:55

Từ khóa liên quan

Mục lục

  • Chương 1. GIỚI THIỆU

    • 1.1 Đặt vấn đề

    • 1.2 Thuật toán trích xuất từ khóa từ một văn bản

    • Chương 2. GIỚI THIỆU HADOOP MAPREDUCE

      • 2.1 Sự ra đời của mô hình MapReduce

      • 2.2 Hadoop

        • 2.2.1. Thành phần

        • 2.2.2. Giới thiệu HDFS

        • 2.2.3. Mục tiêu của HDFS

        • 2.2.4. Tổng quan kiến trúc HDFS

        • Chương 3. CHƯƠNG TRÌNH TRÍCH XUẤT TỪ KHÓA SỬ DỤNG MAPREDUCE

          • 3.1 Cấu trúc chương trình

            • 3.1.1. SematicLibrary

            • 3.1.2. Word_Searching_MapReduce

            • 3.2 Demo chương trình

            • 3.3 Kết quả thực nghiệm

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

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

Tài liệu liên quan