Thạc Sĩ Mô hình ngôn ngữ sử dụng MapReduce

Thảo luận trong 'THẠC SĨ - TIẾN SĨ' bắt đầu bởi Quy Ẩn Giang Hồ, 21/6/17.

  1. Quy Ẩn Giang Hồ

    Quy Ẩn Giang Hồ Administrator
    Thành viên BQT

    Bài viết:
    3,084
    Được thích:
    23
    Điểm thành tích:
    38
    Xu:
    0Xu
    GIỚI THIỆU
    Ngày nay với sự phát triển của công nghệ thông tin, lượng dữ liệu trao đổi trên mạng là rất lớn. Dữ liệu về văn bản, hình ảnh, âm thanh đang trở thành những nguồn dữ liệu khổng lồ để phục vụ các nhu cầu về lưu trữ và trao đổi thông tin của con người. Đã có nhiều ứng dụng ra đời để hỗ trợ con người các công việc như: kiểm tra chính tả trên các văn bản, nhận dạng dữ liệu, nhận dạng giọng nói, dịch máy thống kê. Để phát triển các ứng dụng đó người ta đã đưa ra mô hình ngôn ngữ như là một tiền đề để ứng dụng vào các lĩnh vực trên. Mô hình ngôn ngữ là một vấn đề quan trọng của lĩnh vực xử lý ngôn ngữ tự nhiên. Mô hình ngôn ngữ là các phân bố xác suất của một đoạn văn trên một tập văn bản lớn. Vì vậy một mô hình ngôn ngữ tốt sẽ đánh giá câu đúng ngữ pháp và độ trôi chảy tốt hơn những câu có thứ tự ngẫu nhiên. Cách thông dụng nhất được dùng để mô hình hóa ngôn ngữ là thông qua các N-gram. Mô hình N- gram sử dụng các tập dữ liệu văn bản lớn để ước lượng xác suất của mô hình. Nhìn chung thì dữ liệu càng lớn thì mô hình sẽ càng tốt hơn [13]. Khi xây dựng mô hình ngôn ngữ cần phải có một lượng bộ nhớ khá lớn để có thể lưu trữ được xác suất của tất cả các chuỗi và cần cấu hình máy phải mạnh để tính toán và xử lý. Có nhiều phương pháp, kỹ thuật đã được đưa ra để tối ưu bộ nhớ và bộ xử lý. Các phương pháp làm mịn, truy hồi, đồng hóa, nén là những phương pháp trước đây dùng để tối ưu giá trị xác suất và tối ưu bit lưu trữ. Một số ứng dụng về xây dựng mô hình ngôn ngữ được sử dụng gần đây như công cụ SRILM, Random Forest Language Model Toolkit, Mục đích chính của SRILM là để hỗ trợ ước lượng và đánh giá mô hình ngôn ngữ. Random Forest Language Model Toolkit xây dựng dựa trên công cụ SRILM,là một trong các mô hình ngôn ngữ cây quyết định cho kết quả thực nghiệm khá tốt. Tuy nhiên hạn chế của các công cụ trên là với dữ liệu rất lớn thì sẽ tốn rất nhiều thời gian để thực hiện. Với những dữ liệu cực lớn thì có thể sẽ không chạy được. Để giải quyết bài toán với dữ liệu huấn luyện lớn thì hadoop và mapreduce là một công cụ tối ưu nhất. Đó chính là lý do tại sao tôi lựa chọn đề tài “ Mô hình ngôn ngữ sử dụng MapReduce” cho nghiên cứu của mình. Đề tài này nhằm mục đích nghiên cứu sử dụng Hadoop và MapReduce vào việc xây dựng mô hình ngôn ngữ nhằm cải tiến tốc độ cho việc xây dựng mô hình ngôn ngữ và ước lượng mô hình để có thể thực hiện với lượng dữ liệu rất lớn để đưa ra mô hình ngôn ngữ chính xác hơn. Trong phần ứng dụng xây dựng mô hình ngôn ngữ với MapReduce luận văn sẽ sử dụng phương pháp làm mịn GoodTuring. Có nhiều phương pháp làm mịn có thể cho kết quả tốt hơn như Kneser-Ney nhưng do thời gian có hạn nên luận văn đã sử dụng phương pháp làm mịn GoodTuring để đơn giản cho việc xây dựng chương trình nhưng cũng đủ tốt để xây dựng mô hình ngôn ngữ.
    Nội dung luận văn này được trình bày trong bốn chương. Phần giới thiệu về đề tài. Phần này trình bày các ngữ cảnh, các nghiên cứu đã có về vấn đề cần giải quyết, lý do lựa chọn đề tài, mục tiêu của đề tài và cấu trúc nội dung của luận văn.
    Chương 1 trình bày các khái niệm cơ bản phục vụ cho đề tài. Chương này sẽ trình bày các kiến thức cơ bản về mô hình ngôn ngữ, mô hình N-gram, các phương pháp làm mịn và các độ đo dùng để đánh giá mô hình ngôn ngữ.
    Chương 2 trình bày các kiến thức cơ bản về Hadoop và MapReduce, giới thiệu về kiến trúc của Hadoop, MapReduce cũng như cơ chế làm việc của chúng.
    Chương 3 sẽ trình bày về việc ứng dụng Hadoop và MapReduce vào mô hình ngôn ngữ.
    Chương 4giới thiệuvề công cụ thực nghiệm và kết quả thực nghiệm.
    Phần kết luậnđưa rakết luận, định hướng phát triển cho đề tài. Cuối cùng là tài liệu tham khảo.

    MỤC LỤC
    MỤC LỤC i
    LỜI CẢM ƠN . iii
    LỜI CAM ĐOAN iv
    DANH MỤC THUẬT NGỮ VIẾT TẮT v
    DANH MỤC HÌNH VẼ .vi
    DANH MỤC BẢNG .vii
    GIỚI THIỆU .8
    Chương 1:Mô hình ngôn ngữ 10
    1.1 Giới thiệu: .10
    1.2 Mô hình ngôn ngữ N-gram .11
    1.3 Khó khăn khi xây dựng mô hình ngôn ngữ N-gram 13
    1.3.1 Phân bố không đều: 13
    1.3.2 Kích thước bộ nhớ của mô hình ngôn ngữ 13
    1.4 Các phương pháp làm mịn 14
    1.4.1 Phương pháp Add-one .14
    1.4.2 Phương pháp Good – Turing .15
    1.4.3 Phương pháp truy hồi back-off 16
    1.4.4 Phương pháp nội suy .18
    1.4.5 Phương pháp Kneser – Ney .19
    1.4.6 Phương pháp Kneser – Ney cải tiến 20
    1.5 Đánh giá mô hình ngôn ngữ .21
    1.5.1 Entropy – Độ đo thông tin: 21
    1.5.2 Perplexity – Độ hỗn loạn thông tin: 22
    1.5.3 Error rate – Tỉ lệ lỗi: 23
    Chương 2:Tổng quan về Hadoop MapReduce 24
    2.1 Hadoop 24
    2.2 Các thành phần của Hadoop .24
    2.2.1 Kiến trúc hệ thống tệp phân tán .24
    ii
    2.3 Mapreduce 26
    2.3.1 Kiến trúc của Mapreduce .27
    2.3.2 Cơ chế hoạt động .28
    2.4 Ưu điểm của Hadoop 31
    Chương 3:Ước lượng mô hình ngôn ngữ với Mapreduce .32
    3.1 Đếm các từ 33
    3.2 Đếm số lần xuất hiện (Generate count of counts) 36
    3.3 Sinh số làm mịn Good-Turing 37
    3.4 Ước lượng xác suất n-gram 38
    3.5 Sinh bảng Hbase .40
    3.5.1 Cấu trúc dựa trên n-gram .40
    3.5.2 Cấu trúc dựa trên từ hiện tại 40
    3.5.3 Cấu trúc dựa trên đoạn văn 41
    3.5.4 Cấu trúc dựa trên nửa ngram .42
    3.5.5 Cấu trúc dựa trên số nguyên 43
    3.6 Truy vấn trực tiếp .44
    Chương 4: Các phương pháp đánh giá và thực nghiệm .46
    4.1 Các phương pháp đánh giá .46
    4.1.1 Thời gian và bộ nhớ .46
    4.1.2 Sự so sánh độ hỗn loạn thông tin mô hình ngôn ngữ 46
    4.2 Thực nghiệm .47
    4.2.1 Môi trường chạy thực nghiệm .47
    4.2.2 Dữ liệu .47
    4.2.3 Đánh giá thời gian và bộ nhớ cho các ngram 48
    4.2.4 So sánh thời gian chạy với SRILM .50
    KẾT LUẬN .52
    TÀI LIỆU THAM KHẢO 53
     
Đang tải...