Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 54 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
54
Dung lượng
1,64 MB
Nội dung
Header Page of 113 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƢỜNG ĐẠI HỌC CÔNG NGHỆ VŨ THỊ THANH MÔHÌNHNGÔNNGỮSỬDỤNGMAPREDUCE Ngành: Công nghệ thông tin Chuyên ngành: Kỹ thuật phần mềm Mã Số: 60480103 LUẬN VĂN THẠC SĨ NGƢỜI HƢỚNG DẪN KHOA HỌC CHÍNH: TS NGUYỄN VĂN VINH NGƢỜI HƢỚNG DẪN KHOA HỌC PHỤ: TS NGUYỄN PHÚ BÌNH Hà Nội – 2016 Footer Page of 113 Header Page of 113 i 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 Chương 1:Mô hìnhngônngữ 10 1.1 Giới thiệu: 10 1.2 Môhìnhngônngữ N-gram 11 1.3 Khó khăn xây dựngmôhìnhngônngữ N-gram 13 1.3.1 Phân bố không đều: 13 1.3.2 Kích thước nhớ môhìnhngônngữ 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ìnhngônngữ 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 Hadoop MapReduce 24 2.1 Hadoop 24 2.2 Các thành phần Hadoop 24 2.2.1 Kiến trúc hệ thống tệp phân tán 24 Footer Page of 113 Header Page of 113 ii 2.3 Mapreduce 26 2.3.1 Kiến trúc Mapreduce 27 2.3.2 Cơ chế hoạt động 28 2.4 Ưu điểm Hadoop 31 Chương 3:Ƣớc lƣợng môhìnhngônngữ với Mapreduce 32 3.1 Đếm từ 33 3.2 Đếm số lần xuất (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 n-gram 40 3.5.2 Cấu trúc dựa từ 40 3.5.3 Cấu trúc dựa đoạn văn 41 3.5.4 Cấu trúc dựa nửa ngram 42 3.5.5 Cấu trúc dựa 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á thực nghiệm 46 4.1 Các phương pháp đánh giá 46 4.1.1 Thời gian nhớ 46 4.1.2 Sự so sánh độ hỗn loạn thông tin môhìnhngônngữ 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 nhớ cho 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 Footer Page of 113 Header Page of 113 iii LỜI CẢM ƠN Đầu tiên, cho phép gửi lời cảm ơn sâu sắc tới TS Nguyễn Văn Vinh TS Nguyễn Phú Bình, người trực tiếp hướng dẫn, bảo tạo điều kiện cho trình hoàn thành luận văn Đồng thời xin gửi lời cảm ơn chân thành tới thầy cô giáo trường Đại học Công Nghệ, Đai học Quốc Gia Hà Nội, người trực tiếp giảng dạy, hướng dẫn tạo điều kiện cho trình học tập làm luận văn Cuối cùng, xin gửi lời cảm ơn tới tất bạn đồng học gia đình ủng hộ, giúp đỡ hoàn thành luận văn Footer Page of 113 iv Header Page of 113 LỜI CAM ĐOAN Tôi xin cam đoan kết luận văn sản phẩm riêng cá nhân Trong toàn nội dung luận văn, điều trình bày cá nhân tổng hợp từ nhiều nguồn tài liệu Tất tài liệu tham khảo có xuất xứ rõ ràng trích dẫn hợp pháp Tôi xin hoàn toàn chịu trách nhiệm theo quy định cho lời cam đoan Hà Nội, ngày 25 tháng 10 năm 2016 Ngƣời cam đoan Vũ Thị Thanh Footer Page of 113 v Header Page of 113 DANH MỤC THUẬT NGỮ VIẾT TẮT Từ viết tắt Từ đầy đủ Ý nghĩa WER Word Error Rate Tỉ lệ lỗi ASR Automatic Speech Recognition Nhận dạng tiếng nói tự động MLE Maximum Likelihood Estimation Ước lượng hợp lý hóa cực đại MSE Mean Squared Error Sai số toàn phương trung bình HDFS Hadoop Distributed File System Hệ thống tệp phân tán Hadoop FIFO First in first out Vào trước trước STT Footer Page of 113 Header Page of 113 vi DANH MỤC HÌNH VẼ Hình 2.1: Kiến trúc Hadoop 24 Hình 2.2: Kiến trúc HDFS 25 Hình 2.3: MôhìnhMapreduce 26 Hình 2.4: Kiến trúc MapReduce 27 Hình 2.5: Cơ chế hoạt động MapReduce 28 Hình 2.6: Mối quan hệ JobTracker Task Tracker .29 Hình 2.7: Môhình Task Tracker 29 Hình 2.8: Môhình JobTracker 30 Hình 2.9: Cơ chế hoạt động JobTracker 31 Hình 5.1: Số lượng n-gram 48 Hình 5.2: Thời gian chạy đếm thô 49 Hình 5.3: Không gian lưu trữ cho đếm thô 50 Footer Page of 113 Header Page of 113 vii DANH MỤC BẢNG Bảng 4.1: Cấu trúc bảng dựa n-gram 40 Bảng 4.2: Cấu trúc bảng dựa từ 41 Bảng 4.3: Cấu trúc bảng dựa đoạn văn 42 Bảng 4.4: Cấu trúc bảng dựa nửa ngram 43 Bảng 4.5: Cấu trúc bảng dựa số nguyên .44 Bảng 5.1: Dữ liệu 47 Bảng 2: Số lượng n-gram cho thứ tự khác 48 Bảng 5.3: Thời gian chạy đếm thô 49 Bảng 5.4: không gian lưu trữ đếm thô 50 Footer Page of 113 Header Page of 113 GIỚI THIỆU Ngày với phát triển công nghệ thông tin, lượng liệu trao đổi mạng lớn Dữ liệu văn bản, hình ảnh, âm trở thành nguồn liệu khổng lồ để phục vụ nhu cầu lưu trữ trao đổi thông tin người Đã có nhiều ứng dụng đời để hỗ trợ người công việc như: kiểm tra tả văn bản, nhận dạng liệu, nhận dạng giọng nói, dịch máy thống kê Để phát triển ứng dụng người ta đưa môhìnhngônngữ tiền đề để ứng dụng vào lĩnh vực Môhìnhngônngữ vấn đề quan trọng lĩnh vực xử lý ngônngữ tự nhiên Môhìnhngônngữ phân bố xác suất đoạn văn tập văn lớn Vì môhìnhngônngữ tốt đánh giá câu ngữ pháp độ trôi chảy tốt câu có thứ tự ngẫu nhiên Cách thông dụngdùng để môhình hóa ngônngữ thông qua N-gram Môhình N- gram sửdụng tập liệu văn lớn để ước lượng xác suất môhình Nhìn chung liệu lớn môhình tốt [13] Khi xây dựngmôhìnhngônngữ cần phải có lượng nhớ lớn để lưu trữ xác suất tất chuỗi cần cấu hình máy phải mạnh để tính toán xử lý Có nhiều phương pháp, kỹ thuật đưa để tối ưu nhớ xử lý Các phương pháp làm mịn, truy hồi, đồng hóa, nén phương pháp trước dùng để tối ưu giá trị xác suất tối ưu bit lưu trữ Một số ứng dụng xây dựngmôhìnhngônngữsửdụng gần công cụ SRILM, Random Forest Language Model Toolkit, … Mục đích SRILM để hỗ trợ ước lượng đánh giá môhìnhngônngữ Random Forest Language Model Toolkit xây dựng dựa công cụ SRILM,là môhìnhngônngữ định cho kết thực nghiệm tốt Tuy nhiên hạn chế công cụ với liệu lớn tốn nhiều thời gian để thực Với liệu cực lớn không chạy Để giải toán với liệu huấn luyện lớn hadoop mapreduce công cụ tối ưu Đó lý lựa chọn đề tài “ Môhìnhngônngữsửdụng MapReduce” cho nghiên cứu Đề tài nhằm mục đích nghiên cứu sửdụng Hadoop MapReduce vào việc xây dựngmôhìnhngônngữ nhằm cải tiến tốc độ cho việc xây dựngmôhìnhngônngữ ước lượng môhình để thực với lượng liệu lớn để đưa môhìnhngônngữ xác Trong phần ứng dụng xây dựngmôhìnhngônngữ với MapReduce luận văn sửdụng phương pháp làm mịn GoodTuring Có nhiều phương pháp làm mịn cho kết tốt Kneser-Ney 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 đủ tốt để xây dựngmôhìnhngônngữ Footer Page of 113 Header Page 10 of 113 Nội dung luận văn trình bày bốn chương Phần giới thiệu đề tài Phần trình bày ngữ cảnh, nghiên cứu có vấn đề cần giải quyết, lý lựa chọn đề tài, mục tiêu đề tài cấu trúc nội dung luận văn Chương trình bày khái niệm phục vụ cho đề tài Chương trình bày kiến thức môhìnhngôn ngữ, môhình N-gram, phương pháp làm mịn độ đo dùng để đánh giá môhìnhngônngữ Chương trình bày kiến thức Hadoop MapReduce, giới thiệu kiến trúc Hadoop, MapReduce chế làm việc chúng Chương trình bày việc ứng dụng Hadoop MapReduce vào môhìnhngônngữ Chương 4giới thiệuvề công cụ thực nghiệm kết 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 tài liệu tham khảo Footer Page 10 of 113 Header Page 40 of 113 39 Hình 3.5: Quá trình sinh đoạn văn với từ Sau làm mịn Good-Turing vài số nhỏ, xác suất lớn Trong trường hợp cần điều chỉnh xuống Cho môhình back-off sửdụng khối đơn giản cung cấp Google, số back-off đặt 0.4 Số 0.4 chọn dựa kinh nghiệm phát triển lựa chọn bước trước Nếu muốn ước lượng số back-off ngẫu nhiên cho n-gram phải thực nhiều bước Hình 3.6: Ước lượng xác suất Footer Page 40 of 113 40 Header Page 41 of 113 Trong bước lấy tất xác suất cho n-gram với số back-off ước lượng xác suất cho kiểm thử n-gram dựa truy vấn Vì bước bước quan trọng để lưu trữ xác suất môi trường phân tán 3.5Sinh bảng Hbase Hbase sửdụng đưa đầu vào vào Hadoop MapReduce Các sửa đổi cần thiết bảng Hbase viết theo dòng, cần sinh khóa với nội dung cột Có vài lựa chọn đây, đơn giản cho n-gram dòng, nhiều dòng cấu trúc dựa từ nội dung Có hai vấn đề lớn cần phải quan tâm tốc độ viết/truy vấn kích thước bảng lưu trữ 3.5.1 Cấu trúc dựa n-gram Một cấu trúc khởi tạo đơn giản tương tự định dạng đầu đoạn văn Mỗi n-gram lưu trữ dòng riêng biệt, bảng có cấu trúc phẳng với cột cho dòng, khóa n-gram cột lưu trữ xác xuất chúng Bảng 3.1 ví dụ đơn giản cấu trúc Cấu trúc dễ dàng để thực thi bảo hành, Khóa Cột a 0.11 a big 0.67 a big house 1.0 buy 0.11 buy a 0.67 … … Bảng 3.1: Cấu trúc bảng dựa n-gram 3.5.2 Cấu trúc dựa từ Cho tất n-gram w1,w2,…,wn chia sẻ từ wn lưu trữ chúng dòng với khóa wn Tất ngữ cảnh có khả Footer Page 41 of 113 41 Header Page 42 of 113 xảy lưu trữ vào cột riêng biệt, tên cột đặt theo định dạng Bảng 3.2 ví dụ Bảng bảng có cấu trúc cột Cho từ với nhiều ngữ cảnh, dòng dài, với vài từ với ngữ cảnh dòng ngắn Trong bảng giảm bớt số dòng mở rộng tất ngữ cảnh vào cột riêng biệt Vì thay cột đơn, có nhiều cột nhỏ Từ khung nhìn sở liệu phân tán, liệu lưu trữ thưa thớt từ khung nhìn cấu trúc liệu gần Ví dụ có từ dòng có ngữ cảnh có xác suất cho vài ngữ cảnh, lưu trữ chúng riêng biệt Những kết nhiều cột có cấu trúc tương tự điều có nghĩa vài loại bị trùng lặp Chúng ta cần tập hợp xác xuất unigram cho từ lưu trữ chúng cột riêng Key Column family: label gt:unigram gt:a gt:a big a 0.15 big 0.057 0.667 house 0.3 0.667 buy 0.15 … gt:i gt:buy … 0.667 1.0 1.0 … … … … … … Bảng 3.2: Cấu trúc bảng dựa từ 3.5.3 Cấu trúc dựa đoạn văn Tương tự cấu trúc dựa từ tại, sửdụng đoạn w1,w2,…,wn-1 khóa dòng, lưu trữ tất khả từ wn theo sau cột khác với định dạng Bảng có nhiều dòng so sánh với bảng dựa từ bảng dựa ngram Cho tập liệu lớn cho ngram cao, đoạn văn dài mặt khác cột giảm bớt Các cột chia từ khác cho tất từ xuất lần, phân chia nhỏ giá trị cột cho phân chia Nói chung có n 1-gram tập liệu có khoảng n cột bảng Cho tập liệu huấn luyện gồm 100 triệu từ, số lượng 1-gram khoảng 30000 bảng thưa thớt Ví dụ cấu trúc có bảng sau Footer Page 42 of 113 42 Header Page 43 of 113 key Column family: label a gt:unigram gt:a gt:big 0.11 0.67 gt:i gt:buy gt:the gt:house 0.67 a big 1.0 buy 0.11 0.67 0.67 buy a i 1.0 0.04 … … 1.0 … … … … … Bảng 3.3: Cấu trúc bảng dựa đoạn văn Để hạn chế dư thừa khóa 1-gram lưu trữ với xác suất lưu xác suất “a big” Vì có nhiều cột xuất lần có giá trị giống thường thấy ngram bậc cao kết hợp cột lại với nhau, giảm bớt chia tách cột 3.5.4Cấu trúc dựa nửa ngram Đối với hai cấu trúc trước đó, nhận số lượng ngày lớn hay số hàng ngày lớn Vì có tráo đổi hàng cột Chúng ta tổ hợp cấu trúc dựa từ cấu trúc dựa đoạn văn với cân số lượng hàng cột Phương pháp chia n-gram thành n/2-gram sửdụng n/2 gram giá trị dòng n/2 gram tên cột Ví dụ cho môhình 4-gram (w1, w2, w3, w4,) khóa dòng (w1 w1) cột Ví dụ cho môhình 4-gram bảng sau Footer Page 43 of 113 43 Header Page 44 of 113 key Column family: label gt:unigram gt:a a0.11 gt:big 0.67 gt:house gt:big house gt:new house 0.67 a 1.0 0.01 big buy 0.11 0.67 buy a 1.0 i 0.04 … … 0.04 1.0 … … … … Bảng 3.4: Cấu trúc bảng dựa nửa ngram Cho ngram bậc cao hơn, cấu trúc giảm bớt nhiều dòng thêm chúng vào cột Về mặt lý thuyết chi phí tách ngram thành từ - đoạn đoạn – từ giống n/2gram - n/2gram đòi hỏi phân tích nhiều 3.5.5Cấu trúc dựa số nguyên Thay lư trữ tất chuỗi chuyển tất từ thành số nguyên lưu số nguyên vào bảng Bước mở rộng cần thiết để chuyển 1-gram thành số nguyên giữ chuyển đổi 1gram-integer vào hệ thống tệp phân tán Ưu điểm việc sửdụng số nguyên có kích thước nhỏ so với lưu trữ chuỗi Nhưng mặt khác cần trình để mã hóa/ giải mã để làm việc chuyển đổi Phương pháp đánh đổi thời gian tính toán kích thước lưu trữ Ngoài cấu trúc kết hợp với phương pháp trước để nén tốt Footer Page 44 of 113 44 Header Page 45 of 113 Dưới ví dụ phương pháp cấu trúc dựa số nguyên 1-gram integer a big house buy Key Column family: label (gr:prob) 0.11 12 0.67 123 1.0 0.11 41 0.67 Bảng 3.5: Cấu trúc bảng dựa số nguyên Lưu ý lưu trữ “a big” 12 xung đột với từ khác có số 12 hàm chuyển đổi Vì phải thêm khoảng trống số giống chuỗi ngram 3.6Truy vấn trực tiếp Quá trình xử lý kiểm thử Phương pháp back-off thực câu truy vấn Dựa môhình back-off cho n-gram thử nghiệm cần truy vấn n-gram không tìm thấy tìm n-1 gram gặp 1-gram Cho cấu trúc bảng khác cần sinh dòng khác đặt tên cho cột Ưu điểm việc sửdụngMapReduce cho việc thử nghiệm đưa nhiều chuỗi thử nghiệm vào HDFS MapReduce xử lý tất chuỗi để đưa số đếm thô chúng Footer Page 45 of 113 Header Page 46 of 113 45 Phương thức gọi truy vấn trực tiếp truy vấn n-gram trực tiếp từ bảng Hbase, nhiều n-gram kiểm thử thời gian cho việc thử nghiệm nhiều Hình 3.8 ví dụ trình truy vấn trực tiếp Nếu xác suất ước lượng cần điều chỉnh xuống Hàm map tập hợp tất số lượng tính toán tất rối loạn phương thức ghi đè gần Như đề cập xác xuất n-gram tập hợp HDFS đầu reduce cuối Hình 3.7: Truy vấn trực tiếp Footer Page 46 of 113 Header Page 47 of 113 46 Chƣơng 4: Các phƣơng pháp đánh giá thực nghiệm Trong chương trình bày phương pháp đánh giá so sánh chi phí thời gian không gian lưu trữ sửdụng cấu trúc bảng khác Cũng độ hỗn loạn môhìnhngônngữ cho tập thử nghiệm đánh giá so sánh với công cụ môhìnhngônngữ truyền thống 4.1 Các phƣơng pháp đánh giá 4.1.1 Thời gian nhớ Ở có hai trình đánh giá, trình huấn luyện trình thử nghiệm Bởi có thử nghiệm cấu trúc bảng khác nên chia trình huấn luyện vào bước: Bước đầu sinh số đếm thô tập hợp thành tham số làm mịn Good-Turing, bước sinh bảng Rõ ràng bước giống cho tất bảng khác nhau, tập chung vào bước thứ để so sánh Sự so sánh chi phí thời gian dựa giá trị trung bình thời gian chạy chương trình lấy từ nhiều lần chạy để hạn chế độ lệch, độ trễ mạng xáo trộn khác ảnh hưởng tới kết Chương trình tính toán thời gian chạy cách so sánh thời gian hệ thống trước sau công việc MapReduce thực Để thu thập kích thước môhìnhngônngữsửdụng chương trình dòng lệnh cung cấp Hadoop 4.1.2Sự so sánh độ hỗn loạn thông tin môhìnhngônngữ Cho môhìnhngôn ngữ, độ hỗn loạn thông tin cho tập thử nghiệm đánh giá chung để nhìn thấy môhình tốt Độ hỗn loạn thông tin có nghĩa giá trị trung bình lựa chọn cho ngram Nói chung môhình tốt độ hỗn tạp thông tin thấp Trong mức ngram ảnh hưởng đến độ hỗn tạp thông tin cho môhình Cho kích thước bình thường tập huấn luyện môhình ngram mức cao có độ hỗn tạp thông tin thấp Trong nhiều tập huấn luyện có môhình tốt độ hỗn tạp thông tin trở lên thấp Footer Page 47 of 113 47 Header Page 48 of 113 Chúng ta so sánh môhìnhngônngữ phân tán với công cụ môhìnhngônngữ truyền thống SRILM SRILM gói chức phong phú để xây dựng đánh giá môhìnhngônngữ Các gói phần mềm viết C++ chạy cục máy tính nhất, tốc độ xử lý nhanh Các thiếu sót SRILM chiếm nhớ chí tràn nhớ xử lý lượng lớn liệu Chúng ta so sánh SRILM với môhìnhngônngữ phân tán tập huấn luyện Các phương pháp làm mịn cần phải dùng giống làm mịn Good-Turing Các thông số cụ thể khác phương pháp làm mịn tương tự cho biết môhìnhngônngữ phân tán ổn định với môhìnhngônngữ truyền thống 4.2 Thực nghiệm Các thực nghiệm xây dựng môi trường cluster với hai node máy chủ Node chạy với Hadoop, HDFS máy chủ kiểm soát tất Phần thực nghiệm thực với trình huấn luyện môhình 4.2.1 Môi trƣờng chạy thực nghiệm Các thực nghiệm chạy công cụ mã nguồn mở chạy máy có cấu sau: CPU model: Intel ® Core™ i3-2310M CPU@2.10GHz RAM: 4.00 GB Hệ điều hành: Ubuntu 15.10, 64 bit Hadoop: 2.6.0 4.2.2Dữ liệu Dữ liệu để thực huấn luyện liệu ngônngữ tiếng Anh Dữ liệu lấy từ website http://www.statmt.org/wmt15/translation-task.html Dữ liệu có cấu trúc câu dòng Xấp xỉ kích thước liệu số từ bảng sau: Dung lượng Số từ 790MB 159 triệu Bảng 4.1: Dữ liệu Footer Page 48 of 113 48 Header Page 49 of 113 4.2.3 Đánh giá thời gian nhớ cho ngram Trong phần thực nghiệm mình, chọn thử nghiệm từ 1-gram tới 3-gram Một số đếm tỉa áp dụng cho tất môhình Bảng 4.2 số lượng 1-gram cho thứ tựtrên tập huấn luyện Hình 4.1 cho biết số lượng 1-gram cho tập huấn luyện Dữ liệu huấn luyện Số từ 159 triệu 1-gram 411835 2-gram 3248760 3-gram 6834140 Bảng 4.2: Số lượng n-gram cho thứ tự khác 8000000 7000000 6000000 5000000 4000000 3000000 2000000 1000000 0 Hình 4.1: Số lượng n-gram Footer Page 49 of 113 49 Header Page 50 of 113 Tập liệu thời gian chạy Số từ 159 triệu từ 1-gram 26 phút 10 giây 2-gram 60 phút 14 giây 3-gram 80 phút 45 giây Bảng 4.3: Thời gian chạy 8000 7000 6000 5000 4000 3000 2000 1000 0 Hình 4.2: Thời gian chạy Thời gian chạy đưa hình 4.2 Chúng ta xem bảng 4.3, số lượng từ nhỏ thời gian chạy gần giống nhau, số lượng từ lớn hơn, khác môhình 1-gram, 2-gram, 3-gram tăng lên nhiều Một khía cạnh khác ảnh hưởng đến thời gian chạy trình huấn luyện job MapReduce thứ hai cần phải ước lượng số lần xuất từ cho làm mịn Good-Turing Với job cần reduce task dược chạy node đưa file đầu Khi thứ tự ngam tăng lên số dòng liệu đầu vào tăng lên cần nhiều thời gian xử lý Footer Page 50 of 113 50 Header Page 51 of 113 Dữ liệu huấn luyện, đếm thô ước lượng Số từ 159 triệu từ 1-gram 2.2MB 2-gram 32MB 3-gram 70MB Bảng 4.4: không gian lưu trữ Bảng 4.4 cho thấy kích thước file đếm thô cho thứ tự n-gram (n=1,2,3) Hình 4.3 đồ thị biểu diễn không gian lưu trữ cho n-gram MB 80 70 60 50 40 MB 30 20 10 0 Hình 4.3: Không gian lưu trữ 4.2.4 So sánh thời gian chạy với SRILM SRILM (The SRI Language Modeling Toolit) công cụ mã nguồn mở để thực nghiệm liệu môhìnhngônngữ chuẩn Đây công cụ sửdụng dịch máy thống kê sửdụng toán xử lý ngônngữ tự nhiên nhận dạng tiếng nói Công cụ SRILM cài đặt môhìnhngônngữ chuẩn, dựa thống kê Ngram như: Modified Kneser-Ney, Kneser-Ney, Good-Turing, Intepolation, Add-one, Witten- Footer Page 51 of 113 51 Header Page 52 of 113 Bell Công cụ SRILM dùng để xây dựngmôhìnhngônngữ N-gram Công cụ SRILM cài đặt hệ điều hành Ubuntu câu lệnh chạy sau: /ngram-count -order -gt1min -gt1max -gt2min -gt2max gt3min gt3max -text corpus105.txt -lm gt_model.lm Bảng 4.5 kết so sánh xây dựngmôhìnhngônngữ SRILM với kỹ thuật làm mịn good-turing chương trình viết MapReducesửdụng kỹ thuật làm mịn Good-Turing Dữ liệu Thời gian chạy SRILM Thời gian chạy Mapreduce 105MB 100 giây 482 giây 309MB Không chạy 20 phút 790 Không chạy 80 phút Bảng 4.5: So sánh thời gian chạy Footer Page 52 of 113 Header Page 53 of 113 52 KẾT LUẬN Luận văn trình bày lý thuyết môhìnhngôn ngữ: định nghĩa, phương pháp làm mịn, phương pháp đánh giá môhìnhngônngữ Tìm hiểu Hadoop MapReduce Phần quan trọng luận văn tìm hiểu môhìnhngônngữ dựa Hadoop MapReduce Luận văn xây dựng ứng dụngMapReduce cho môhìnhngônngữ n-gram sửdụng kỹ thuật làm mịn Good-Turing Luận văn chạy thử nghiệm chương trình MapReduce cho trình huấn luyện với liệu tiếng anh Qua lần chạy thử nghiệm với liệu khác để so sánh với công cụ SRILM chứng minh môhìnhngônngữ xây dựngMapReduce thực với liệu lớn cực lớn công cụ SRILM không thực với liệu cực lớn Hạn chế luận văn áp dụngmôhìnhngônngữ với kỹ thuật làm mịn Good-Turing Kỹ thuật làm mịn Good-Turing kỹ thuật tốt để xây dựngmôhìnhngônngữ có nhiều kỹ thuật làm mịn khác cho kết tốt Trong tương lai tiếp tục nghiên cứu môhìnhngônngữ với MapReduce Xây dựng thử nghiệm với kỹ thuật làm mịn khác kỹ thuật làm mịn Kneser – Ney Footer Page 53 of 113 Header Page 54 of 113 53 TÀI LIỆU THAM KHẢO [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] JordanBoyd-Graber.Language Models.Data-Intensive Information Processing Applications 2011 Yoshua Bengio, Réjean Ducharme, Pascal Vincent and Christian Jauvin A Neural Probabilistic Language Model Journal of Machine Learning Research (2003) 1137–1155 D Jurafsky and J H Martin Speech and Language Processing: An introduction to speech recognition, computational linguistics and natural language processing Chapter 2007 Lidstone, G J Note on the general case of the Bayes-Laplace formula for inductive or a posteriori probabilities Transactions of the Faculty of Actuaries, 1920, 8, 182–192 Chen, S and Goodman, J An empirical study of smoothing techniques for language modeling Computer Speech & Language, 1999, 13: pages 359-393 (35) Gale, W.A and Sampson, G Good-turing frequency estimation without tears Journal of Quantitative Linguistics, 2, 217-237 1995 Kneser, R and Ney, H Improved clustering techniques for class-based statistical language modelling In EUROSPEECH-93, pp.973-976 1993 Irina Sergienya, Smoothing in Language Modeling, 2015 Casey McTaggart,Hadoop/MapReduce,Object-oriented framework presentation CSCI 5448 Xiaoyang Yu, Estimating Language Models Using Hadoop and HBase, 2008 Serge Blazhievsky Nice Systems, Introduction to Hadoop, MapReduce and HDFS for Big Data Applications Klaus Berberich, Srikanta Bedathur, Computing n-Gram Statistics in MapReduce, 2013 Thorsten Brants, Ashok C Popat, Peng Xu, Franz J Och, Jeffrey Dean, Large Language Models in Machine Translation Footer Page 54 of 113 ... 10 Chƣơng 1: Mô hình ngôn ngữ Trong xử lý ngôn ngữ tự nhiên, mô hình ngôn ngữ sử dụng rộng rãi Mô hình ngôn ngữ áp dụng nhiều lĩnh vực nhận dạng giọng nói, dịch máy Mô hình ngôn ngữ ngày nhận... chương trình bày kiến thức mô hình ngôn ngữ định nghĩa mô hình ngôn ngữ, mô hình n-gram, phương pháp đánh giá mô hình ngôn ngữ phương pháp làm mịn 1.1 Giới thiệu: Mô hình ngôn ngữ phân bố xác suất... Markov đưa mô hình Markov sử dụng để lập mô hình cho chuỗi chữ Sau Claude Shannon đưa mô hình cho chữ từ Mô hình ngôn ngữ định nghĩa sau: Tập V tập từ ngôn ngữ Ví dụ xây dựng mô hình ngôn ngữ cho