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,43 MB
Nội dung
ĐẠI HỌC QUỐC GIA HÀ NỘI TRƢỜNG ĐẠI HỌC CƠNG NGHỆ VŨ THỊ THANH MƠ HÌNH NGƠN NGỮ SỬ DỤNG MAPREDUCE 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 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ì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 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 nhớ 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 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 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ình ngơn ngữ 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ì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 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 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 tơi q trình hồn thành luận văn Đồng thời tơ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 tơi q 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 đỡ tơi hồn thành luận văn iv LỜI CAM ĐOAN Tơi xin cam đoan kết luận văn sản phẩm riêng cá nhân tơi Trong tồ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 hồn tồ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 v 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ố tồ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 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ình Mapreduce 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 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 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ình ngơn ngữ tiền đề để ứng dụng vào lĩnh vực Mơ hình ngơn ngữ vấn đề quan trọng lĩnh vực xử lý ngôn ngữ tự nhiên Mô hình ngơn ngữ phân bố xác suất đoạn văn tập văn lớn Vì mơ hình ngơn ngữ 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ụng dùng để mơ hình hóa ngơn ngữ 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ựng mơ hình ngơn ngữ 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 tố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ựng mơ hình ngôn ngữ 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ình ngơn ngữ Random Forest Language Model Toolkit xây dựng dựa công cụ SRILM,là mơ hình ngơn ngữ đị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ý tơi lựa chọn đề tài “ Mơ hình ngơn ngữ 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ự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ữ ước lượng mơ hình để thực với lượng liệu lớn để đưa mơ hình ngơn ngữ xác Trong phần ứng dụng xây dựng mơ hình ngơn ngữ 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ựng mơ hình ngơn ngữ 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ình ngơn ngữ, mơ hình N-gram, phương pháp làm mịn độ đo dùng để đánh giá mơ hình ngơn ngữ 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ình ngơn ngữ 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 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 40 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ả 41 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 42 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 43 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 tốn kích thước lưu trữ Ngồi cấu trúc kết hợp với phương pháp trước để nén tốt 44 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ụng MapReduce 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 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ụ q 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 tố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 46 Chƣơng 4: Các phƣơng pháp đánh giá thực nghiệm Trong chương chúng tơi 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ình ngơn ngữ cho tập thử nghiệm đánh giá so sánh với cơng cụ mơ hình ngơn ngữ truyền thống 4.1 Các phƣơng pháp đánh giá 4.1.1 Thời gian nhớ Ở có hai q trình đánh giá, q trình huấn luyện q 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 tố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ình ngơn ngữ chúng tơi 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ình ngơn ngữ Cho mơ hình ngơ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 ln 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 47 Chúng ta so sánh mơ hình ngơn ngữ phân tán với cơng cụ mơ hình ngơn ngữ truyền thống SRILM SRILM gói chức phong phú để xây dựng đánh giá mơ hình ngơn ngữ 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ình ngơn ngữ 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ình ngơn ngữ phân tán ổn định với mơ hình ngơn ngữ 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 q 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ôn ngữ 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 48 4.2.3 Đánh giá thời gian nhớ cho ngram Trong phần thực nghiệm mình, chúng tơi 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 49 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 q 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ý 50 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ình ngơn ngữ chuẩn Đây công cụ sử dụng dịch máy thống kê sử dụng tốn xử lý ngơn ngữ tự nhiên nhận dạng tiếng nói Cơng cụ SRILM cài đặt mơ hình ngơn ngữ chuẩn, dựa thống kê Ngram như: Modified Kneser-Ney, Kneser-Ney, Good-Turing, Intepolation, Add-one, Witten- 51 Bell Công cụ SRILM dùng để xây dựng mơ hình ngơn ngữ 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ựng mơ hình ngơn ngữ SRILM với kỹ thuật làm mịn good-turing chương trình viết MapReduce sử 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 52 KẾT LUẬN Luận văn trình bày lý thuyết mơ hình ngôn ngữ: định nghĩa, phương pháp làm mịn, phương pháp đánh giá mơ hình ngơn ngữ Tìm hiểu Hadoop MapReduce Phần quan trọng luận văn tìm hiểu mơ hình ngơn ngữ dựa Hadoop MapReduce Luận văn xây dựng ứng dụng MapReduce cho mơ hình ngơn ngữ 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ình ngơn ngữ xây dựng MapReduce 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ụng mơ hình ngơn ngữ 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ựng mô hình ngơn ngữ 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ình ngơn ngữ 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 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 ... 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 nhiều... “ Mơ hình ngơn ngữ 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ự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. .. kê Để phát triển ứng dụng người ta đưa mơ hình ngôn ngữ tiền đề để ứng dụng vào lĩnh vực Mơ hình ngơn ngữ vấn đề quan trọng lĩnh vực xử lý ngơn ngữ tự nhiên Mơ hình ngơn ngữ phân bố xác suất