Tìm hiểu mô hình ngôn ngữ sử dụng phương pháp bloom filter

71 1.5K 6
Tìm hiểu mô hình ngôn ngữ sử dụng phương pháp bloom filter

Đ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

Tài liệu tham khảo công nghệ thông tin Tìm hiểu mô hình ngôn ngữ sử dụng phương pháp bloom filter

ĐẠI HỌC QUỐC GIA HÀ NỘITRƯỜNG ĐẠI HỌC CÔNG NGHỆNguyễn Thạc HuyTÌM HIỂU HÌNH NGÔN NGỮ SỬ DỤNG PHƯƠNG PHÁP BLOOM FILTERKHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Công nghệ thông tinHÀ NỘI - 2010 ĐẠI HỌC QUỐC GIA HÀ NỘITRƯỜNG ĐẠI HỌC CÔNG NGHỆNguyễn Thạc HuyTÌM HIỂU HÌNH NGÔN NGỮ SỬ DỤNG PHƯƠNG PHÁP BLOOM FILTERKHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Công nghệ thông tinCán bộ hướng dẫn: TS. Nguyễn Văn VinhHÀ NỘI - 2010 Nguyễn Thạc Huy Khóa luận tốt nghiệpTóm tắt nội dungMô hình ngôn ngữ là một thành phần quan trọng trong các ứng dụng như nhận dạng tiếng nói, phân đoạn từ, dịch thống kê, … Và chúng thường được hình hóa sử dụng các n-gram. Trong khóa luận này, chúng tôi nghiên cứu và tìm hiểu hình ngôn ngữ xây dựng dựa trên cấu trúc dữ liệu Bloom Filter. Không lưu trữ toàn bộ tập n-gram giống như các hình truyền thống, loại hình ngôn ngữ này sử dụng một quy trình mã hóa đặc biệt, cho phép chia sẻ một cách hiệu quả các bit khi lưu trữ thông tin thống kê n-gram, nhờ đó tiết kiệm đáng kể bộ nhớ. Sau khi tìm hiểu sơ lược về hình ngôn ngữ, chúng ta sẽ nghiên cứu hai kiểu cấu trúc dữ liệu dựa trên Bloom Filter là Log-Frequency Bloom FilterBloom Map. Qua các thử nghiệm, chúng tôi chỉ ra sự ưu việt của các hình ngôn ngữ dựa trên Bloom Filter trên cả phương diện dung lượng và tính hiệu quả khi ứng dụng trong thực tế, cụ thể ở đây là hệ thống dịch máy bằng phương pháp thống kê với Moses [21].i Nguyễn Thạc Huy Khóa luận tốt nghiệpMục lụcTÓM TẮT NỘI DUNG 1MỤC LỤC . 2LỜI CẢM ƠN 4DANH MỤC TỪ VIẾT TẮT . 5DANH MỤC HÌNH 6 MỞ ĐẦU . 1CHƯƠNG 1 - Tổng quan về hình ngôn ngữ 31.1 N-gram 31.2 Xây dựng hình ngôn ngữ 41.2.1 Ước lượng cực đại hóa khả năng (MLE) . 41.2.2 Các phương pháp làm mịn 51.2.2.1 Kneser-Ney 71.2.2.2 Kneser-Ney cải tiến (Modified Kneser-Ney) . 81.2.2.3 Stupid Backoff . 91.3 Đánh giá hình ngôn ngữ 101.3.1 Perplexity . 101.3.2 MSE . 11CHƯƠNG 2 - Các cấu trúc dữ liệu dựa trên Bloom Filter . 132.1 Các cấu trúc dữ liệu xác suất (PDS) 142.2 Hàm băm 162.3 Bloom Filter cơ bản 182.4 hình ngôn ngữ sử dụng Bloom Filter . 232.4.1 Bloom Filter tần số log . 23ii Nguyễn Thạc Huy Khóa luận tốt nghiệp2.4.2 Bộ lọc dựa vào chuỗi con 252.4.3 Bloom Map . 26CHƯƠNG 3 - Thử nghiệm: Xây dựng LM với RandLM và SRILM 323.1 Ngữ liệu 333.2 Thuật toán làm mịn . 343.3 Xây dựng LM với SRILM và RandLM . 35CHƯƠNG 4 - Thử nghiệm: Dịch máy thống kê với Moses 404.1 Dịch máy thống kê 404.1.1 Giới thiệu về dịch máy thống kê . 404.1.2 Dịch máy thống kê dựa trên cụm 434.1.3 Điểm BLEU . 454.2 Baseline System 464.3 Ngữ liệu 464.4 Kết quả thử nghiệm . 47KẾT LUẬN 50PHỤ LỤC 51iii Nguyễn Thạc Huy Khóa luận tốt nghiệpLời cảm ơnTrước tiên, tôi muốn gửi lời cảm ơn chân thành tới giảng viên, TS. Nguyễn Văn Vinh, cảm ơn sự chỉ bảo tận tình của thầy trong suốt thời gian hướng dẫn tôi thực tập chuyên ngành và nghiên cứu khóa luận này. Tôi cũng xin cảm ơn anh Tống Tùng Khánh và anh Vương Hoài Thu trong nhóm Digital Content Solution ở Công ty cổ phần tin học Lạc Việt, hai anh đã nhiệt tình giúp đỡ tôi với đề tài này và đóng góp nhiều ý kiến quý báu để khóa luận được hoàn thiện hơn. Nếu không có sự hướng dẫn của thầy và các anh, tôi đã không thể hoàn thành được khóa luận này.Sự động viên, khích lệ của bố mẹ, anh chị tôi là nguồn động lực, nguồn hỗ trợ lớn lao. Và tôi cũng rất cảm ơn tất cả những người bạn đại học đã cùng chia sẻ quãng thời gian ý nghĩa của đời sinh viên dưới mái trường Đại học Công nghệ - ĐHQGHN. Chúc các bạn có kết quả tốt nghiệp tốt và thành công trong cuộc sống.iv Nguyễn Thạc Huy Khóa luận tốt nghiệpDanh mục từ viết tắtBF : Bloom FilterBF-LM : hình ngôn ngữ dựa trên Bloom FilterLF-BF-LM : hình ngôn ngữ Log-Frequency Bloom FilterLM : hình ngôn ngữMKN : Phương pháp làm mịn Kneser-Ney cải tiếnMLE : Ước lượng cực đại hóa khả năngMSE : Lỗi trung bình bình phươngMT : Dịch máyNLP : Xử lý ngôn ngữ tự nhiênPDS : Cấu trúc dữ liệu xác suấtRDS : Cấu trúc dữ liệu ngẫu nhiênSMT : Dịch máy bằng phương pháp thống kêv Nguyễn Thạc Huy Khóa luận tốt nghiệpDanh mục hìnhHình 1: hình Markov bậc 2 4Hình 2: Ví dụ về hàm băm .16Hình 3: Ví dụ về bảng băm. Xung đột trong bảng băm 17Hình 4: Huấn luyện Bloom Filter 18Hình 5: Truy vấn Bloom Filter .19Hình 6: Lỗi-một-phía trong Bloom Filter 20Hình 7: Tăng kích cỡ LM cải thiện điểm BLEU . 42Hình 8: Kiến trúc của một hệ thống SMT 43Hình 9: Minh họa dịch máy thống kê dựa vào cụm .43vi Nguyễn Thạc Huy Khóa luận tốt nghiệpMở đầuMô hình ngôn ngữ (Language Model - LM) là một thành phần quan trọng trong nhiều ứng dụng như dịch máy, nhận dạng tiếng nói, … Các LM luôn cố gắng phỏng ngôn ngữ tự nhiên một cách chính xác nhất. Từ nhiều nghiên cứu và thử nghiệm [19, 28], chúng ta có thể thấy rằng hình ngôn ngữ với ngữ liệu càng lớn, bậc càng cao thì phỏng càng chính xác.Trước đây việc xây dựng các ngữ liệu lớn rất khó khăn. Nhưng với sự bùng nổ của Internet như hiện nay, khối lượng thông tin sẵn có là vô cùng lớn. Sẽ thật là lãng phí nếu như chúng ta không tận dụng kho ngữ liệu khổng lồ này. Do đó trong những năm gần đây, kích thước các tập ngữ liệu dùng để huấn luyện LM đã phát triển đáng kinh ngạc, chúng lớn đến mức không còn có thể lưu trữ được trong bộ nhớ của những siêu máy tính với nhiều Gigabytes bộ nhớ RAM. Điều này khiến cho nỗ lực phỏng chính xác hơn ngôn ngữ tự nhiên bằng cách sử dụng các ngữ liệu lớn với kiểu hình truyền thống trở nên vô nghĩa, vì cần phải cắt giảm kích cỡ của ngữ liệu để LM có thể được chứa vừa trong bộ nhớ máy tính. Điều này đi ngược lại với mục đích ban đầu của việc tạo ra những tập ngữ liệu ngày càng lớn hơn. Hạn chế này đòi hỏi các nhà nghiên cứu cần tìm ra những phương pháp khác để hình hóa ngôn ngữ nếu vẫn muốn tận dụng lợi thế mà các bộ ngữ liệu lớn mang lại.Một giải pháp để thực hiện yêu cầu này là bỏ đi sự chính xác, chấp nhận mất mát một lượng thông tin nhất định khi hình ngôn ngữ từ ngữ liệu. Nghĩa là thay vì các LM không mất mát (losses LM), ta sử dụng các LM có mất mát thông tin (lossy LM). Các nghiên cứu về lossy LM tạo ra một lớp các loại cấu trúc dữ liệu mới là Cấu trúc dữ liệu ngẫu nhiên (Randomized Data Structure, viết tắt là RDS), hay còn gọi là Cấu trúc dữ liệu xác suất (Probabilistic Data Structure - PDS). Vài cấu trúc dữ liệu điển hình loại này là Skip List [33], Sparse Partition [16], Lossy Dictionary [31], Bloom Filter [4]. Ở Việt Nam cũng đã có một số nghiên cứu về vấn đề hình ngôn ngữ [39], nhưng mới chỉ dừng lại ở việc sử dụng các hình ngôn ngữ chuẩn. Khóa luận này nghiên cứu và tìm hiểu về hình ngôn ngữ dựa trên Bloom Filter do những cải tiến đáng chú ý những năm gần đây của loại cấu trúc dữ liệu này để xây dựng hình ngôn ngữ [35, 36, 37]. Nội dung khóa luận tập trung nghiên cứu khả năng tiết kiệm bộ nhớ, không gian lưu trữ của loại LM này và 1 Nguyễn Thạc Huy Khóa luận tốt nghiệphiệu quả của nó, so với các LM tiêu chuẩn [34], thông qua một ứng dụng cụ thể là hệ thống dịch máy thống kê Moses.Chương 1 trình bày các hiểu biết cơ bản cần biết về hình ngôn ngữ như n-gram, các thuật toán làm mịn được sử dụng trong hình ngôn ngữ và các thước đo để đánh giá một hình ngôn ngữ.Chương 2 tập trung nghiên cứu về các trúc dữ liệu dựa trên Bloom Filter được sử dụng cho hình ngôn ngữ, cụ thể là Log-Frequency Bloom FilterBloom Map.Chương 3 thử nghiệm xây dựng hình ngôn ngữ trên một ngữ liệu tiếng Anh và một ngữ liệu tiếng Việt Chương 4 giới thiệu sơ lược về dịch máy thống kê, thử nghiệm dịch máy thống kê với hệ thống dịch máy nguồn mở Moses sử dụng các hình ngôn ngữ xây dựng ở chương 3.2 [...]... ( p ) , chúng ta sử dụng entropy chéo trong Perplexity để không bao giờ đánh giá thấp entropy thực sự của hình Perplexity của một hình được đánh giá trên tập kiểm tra Trong thực tế, Perplexity là thước đo đầu tiên để đánh giá một hình ngôn ngữ, và có thể được coi là hàm của cả cả ngôn ngữ hình Trên phương diện là hàm của hình, nó đánh giá một hình phỏng ngôn ngữ chính xác đến... dữ liệu xác suất được sử dụng rộng rãi trong NLP do sự đơn giản và hiệu quả của nó Các ứng dụng của BF có thể kể đến như trong kiểm tra chính tả, các ứng dụng cơ sở dữ liệu [12] và định tuyến mạng [6] 2.4 hình ngôn ngữ sử dụng Bloom Filter Năm 2007, Talbot và Osborne lần đầu tiên giới thiệu phương pháp sử dụng một cấu trúc lưu trữ dữ liệu có mất mát như BF để hình ngôn ngữ, và cũng đưa ra ý tưởng... được ước lượng sử dụng công thức: b j −1 + b j − 1 E[c( x) | qc( x) = j ] ≈ 2 tiếp theo một thuật toán làm mịn sẽ được sử dụng để lấy ra lượng xác suất thực tế sẽ sử dụng trong tính toán [36] 2.4.2 Bộ lọc dựa vào chuỗi con Các hình ngôn ngữ n-gram chuẩn lưu trữ xác suất điều kiện của n-gram trong một ngữ cảnh cụ thể Hầu hết các mô hình ngôn ngữ này cũng lại sử dụng một số phương pháp nội suy để... trên phương diện là hàm của ngôn ngữ, nó đo tính phức tạp của ngôn ngữ 1.3.2 MSE Các hình LM có mất mát không đảm bảo xác suất chính xác vì nó lưu trữ dữ liệu không đầy đủ, do đó làm biến dạng phân phối xác suất thông thường Chính vì lý do này mà ta không thể sử dụng các phương pháp đo dựa trên Entropy như Perplexity để đánh giá chất lượng của hình Tuy nhiên chúng ta vẫn có thể sử dụng một hình. .. xác suất n-gram cho một chuỗi chiều dài N ta sử dụng công thức: N N Pr(w1 ) ≈ ∏ Pr(w i | w ii −1 +1 ) −n i =1 1.2 Xây dựnghình ngôn ngữ Để xây dựng (huấn luyện) một mô hình ngôn ngữ ta cần một ngữ liệu đơn ngữ (corpus) có kích thước tương đối và một bộ ước lượng thống kê có nhiệm vụ hình hóa lượng xác suất của ngữ liệu Các bộ ước lượng được mà LM sử dụng, theo những cách khác nhau, đều cần đến...Nguyễn Thạc Huy Khóa luận tốt nghiệp Chương 1 Tổng quan về mô hình ngôn ngữ hình ngôn ngữ (Language Model - LM) là các phân phối xác suất trên một ngữ liệu đơn ngữ, được sử dụng trong nhiều bài toán khác nhau của xử lý ngôn ngữ tự nhiên, ví dụ như: dịch máy bằng phương pháp thống kê, nhận dạng giọng nói, nhận dạng chữ viết tay, sửa lỗi chính tả, … Thực chất, LM là một hàm chức năng có đầu vào... Perplexity Sau khi LM đã được huấn luyện, chúng ta cần phải đánh giá chất lượng của hình Cách đánh giá chính xác nhất một hình ngôn ngữ là kiểm tra trong thực tế Ví dụ trong nhận dạng tiếng nói, chúng ta có thể so sánh hiệu quả của 2 mô hình ngôn ngữ bằng cách chạy bộ nhận dạng ngôn ngữ 2 lần, mỗi lần với 1 hình và xem hình nào cho kết quả chính xác hơn Nhưng cách này lại rất tốn thời gian, vì... trên Bloom Filter Từ khi ra đời đến nay, việc hình ngôn ngữ đã có nhiều phát triển đáng kể cùng với các thuật toán làm mịn ngày càng tốt hơn [5] Thế nhưng cũng có không ít thách thức mà LM phải đối mặt Đó là làm thế nào tạo ra được hình đại diện hiệu quả ngôn ngữ tự nhiên, bằng cách sử dụng nhiều dữ liệu, tăng bậc hình n-gram (n = 6, 7, 8, …) nhưng không quá phức tạp trong tính toán và sử dụng. .. đánh giá xác suất một người bản ngữ có thể nói chuỗi đó Chính vì vậy, một hình ngôn ngữ tốt sẽ đánh giá các câu đúng ngữ pháp, trôi chảy cao hơn một chuỗi các từ có thứ tự ngẫu nhiên, như trong ví dụ sau: Pr(“hôm nay trời nắng”) > Pr(“trời nắng nay hôm”) 1.1 N-gram Cách thông dụng nhất được dùng để hình hóa ngôn ngữ vào trong LM là thông qua các n-gram Với hình n-gram, chúng ta coi một văn... nó xuất hiện trong ngữ liệu PrMLE (w i ) = c(w i ) ∑ i ' c(w i ' ) trong đó c(wi’) = |wi’| chính là số lần xuất hiện của từ wi’ trong ngữ liệu Phương pháp này được gọi như vậy bởi vì nó cực đại hóa giá trị đầu ra để hình hóa ngữ liệu huấn luyện Ví dụ, trong ngữ liệu Brown 1, một ngữ liệu với một triệu từ, từ khóa “Chinese” xuất hiện 400 lần Vậy thì xác suất mà một hình ngôn ngữ dùng MLE sẽ gán . : Bloom FilterBF-LM : Mô hình ngôn ngữ dựa trên Bloom FilterLF-BF-LM : Mô hình ngôn ngữ Log-Frequency Bloom FilterLM : Mô hình ngôn ngữMKN : Phương pháp. mô hình ngôn ngữ, và có thể được coi là hàm của cả cả ngôn ngữ và mô hình. Trên phương diện là hàm của mô hình, nó đánh giá một mô hình mô phỏng ngôn ngữ

Ngày đăng: 23/11/2012, 15:04

Từ khóa liên quan

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

Tài liệu liên quan