Ngiên cứu mô hình ngôn ngữ và ứng dụng trong bài toán tìm kiếm toàn văn tiếng việt

71 6 0
Ngiên cứu mô hình ngôn ngữ và ứng dụng trong bài toán tìm kiếm toàn văn tiếng việt

Đ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

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC VINH HỒNG VĂN SƠN NGHIÊN CỨU MƠ HÌNH NGƠN NGỮ VÀ ỨNG DỤNG TRONG BÀI TỐN TÌM KIẾM TOÀN VĂN TIẾNG VIỆT LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN NGHỆ AN, 2017 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC VINH HỒNG VĂN SƠN NGHIÊN CỨU MƠ HÌNH NGƠN NGỮ VÀ ỨNG DỤNG TRONG BÀI TỐN TÌM KIẾM TOÀN VĂN TIẾNG VIỆT Chuyên ngành: CÔNG NGHỆ THÔNG TIN Mã số: 60.48.02.01 LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN Người hướng dẫn khoa học: TS.TRẦN XUÂN SANG NGHỆ AN, 2017 LỜI CẢM ƠN Lời đầu tiên, tơi xin bày tỏ lịng biết ơn sâu sâu sắc tới tất thầy giáo, cô giáo hỗ trợ, giúp đỡ tơi q trình thực luận văn tốt nghiệp Tôi xin cảm ơn thầy giáo, cô giáo Khoa cơng nghệ thơng tin, phịng Sau Đại học tạo điều kiện thuận lợi giảng dạy giúp đỡ tơi q trình học tập làm luận văn tốt nghiệp Tôi xin gửi lời cảm ơn chân thành đến TS.Trần Xuân Sang, người trực tiếp hướng dẫn thực luận văn Cảm ơn thầy nhận xét, bảo, đóng góp định hướng, ý kiến q báu, giúp đỡ em hồn thành luận văn Xin kính chúc thầy giáo sức khỏe tiếp tục đạt nhiều thành công nghiên cứu khoa học nghiệp giảng dạy, chúc khoa Công nghệ thông tin ngày phát triển Cuối cùng, tơi xin cảm ơn gia đình đồng nghiệp, người bên động viên cổ vũ tơi suốt q trình học tập Tơi xin chân thành cảm ơn ! Nghệ An, tháng 08 năm 2017 Học viên Hoàng Văn Sơn i MỤC LỤC MỞ ĐẦU Chương MÔ HÌNH NGƠN NGỮ 1.1 Tổng quan mô hình ngơn ngữ 1.2 Mơ hình ngơn ngữ N-gram 1.2.1 Khái quát N-gram 1.2.2 Cơng thức tính xác suất thơ 1.2.3 Phân bổ kích thước nhớ mơ hình ngơn ngữ N-gram 1.3 Các phương pháp làm mịn phân bổ xác suất N-gram 1.3.1 Phương pháp chiết khấu 1.3.2 Phương pháp truy hồi 1.3.3 Phương pháp nội suy 11 1.4 Các kỹ thuật làm giảm kích thước liệu 11 1.4.1 Loại bỏ 12 1.4.2 Đồng hóa 14 1.4.3 Nén (Compression) 14 1.5 Một số độ đo đánh giá chất lượng mơ hình 14 1.5.1 Entropy – Độ đo thông tin 15 1.5.2 Perplexity – Độ hỗn loạn thông tin: 16 1.5.3 Error rate – Tỉ lệ lỗi 16 Chương XÂY DỰNG N-GRAM CHO TIẾNG VIỆT 18 2.1 Giới thiệu 18 2.1.1 Tách câu 18 2.1.2 Tách từ 20 2.1.3 Gán nhãn từ loại 27 2.1.4 Phân tích cú pháp 29 2.2 Cơng cụ xử lý mơ hình 29 2.2.1 Công cụ tách từ cho tiếng Việt - vnTokenizer 29 2.2.2 Bộ cơng cụ xây dựng mơ hình ngơn ngữ - SRILM 33 2.3 Công cụ xử lý văn tiếng Việt 36 ii 2.4 Đánh giá N-gram cho tiếng Việt 37 2.4.1 Số lượng cụm N-gram 37 2.4.2 Phân bố thống kê tần số cụm N-gram 39 2.4.3 Phương pháp loại bỏ (Cut-off ) 42 2.4.4 Các phương pháp làm mịn 43 Chương ỨNG DỤNG TRONG BÀI TỐN TÌM KIẾM TỒN VĂN TIẾNG VIỆT 45 3.1 Tổng quan tìm kiếm tồn văn 45 3.2 Giới thiệu tốn tìm kiếm tồn văn 45 3.2.1 Bài toán tìm kiếm tồn văn 45 3.2.2 Một số đề xuất 46 3.3 Một số kỹ thuật sử dụng tìm kiếm tồn văn 46 3.3.1 Tạo mục (Inverted Index) 46 3.3.2 Kỹ thuật tách xâu (Tokenize) 49 3.3.3 Tìm kiếm sử dụng Boolean Logic 51 3.3.4 Các mơ hình Ranking 53 3.4 Đề xuất hệ thống, xây dựng liệu thực nghiệm 56 3.5 Thực nghiệm đánh giá 57 3.5.1 Xây dựng ứng dụng thực nghiệm 57 3.5.2 Một số hình ảnh demo 58 3.5.3 Đánh giá 62 KẾT LUẬN 63 TÀI LIỆU THAM KHẢO 64 iii DANH MỤC BẢNG BIỂU Bảng 2-1 Số lượng cụm N-gram văn huấn luyện với âm tiết 37 Bảng 2-2 Số lượng cụm N-gram văn huấn luyện với từ 39 Bảng 2-3 Số lượng cụm N-gram (âm tiết) theo tần số 40 Bảng 2-4 Số lượng cụm N-gram (từ) theo tần số 41 Bảng 2-5 Bộ nhớ độ hỗn loạn thông tin áp dụng loại bỏ âm tiết 42 Bảng 2-6 Bộ nhớ độ hỗn loạn thông tin áp dụng loại bỏ với từ 42 Bảng 2-7 Độ hỗn loạn thông tin phương pháp làm mịn cho âm tiết 43 Bảng 2-8 Độ hỗn loạn thông tin phương pháp làm mịn cho từ 43 iv DANH MỤC HÌNH VẼ Hình 2-1 Mơ hình phân đoạn TBL 25 Hình 2-2 Quy trình tách từ vnTokenizer 30 Hình 2-3 Giao diện phân tích tệp cơng cụ vnTokenizer 32 Hình 2-4 Phân tích tệp văn vnTokenizer 32 Hình 2-5 Sử dụng vnTokenizer để phân tích thư mục 33 Hình 2-6 Số lượng cụm N-gram với âm tiết tăng kích thước liệu 38 Hình 2-7 Số lượng cụm N-gram với từ tăng kích thước liệu 39 Hình 2-8 Số lượng cụm N-gram (âm tiết) có tần số từ đến 10 40 Hình 2-9 Số lượng cụm N-gram (âm tiết) có tần số từ đến 10 41 Hình 3-1 Tiến trình tạo mục 47 Hình 3-2 Các bước phân tích tài liệu 47 Hình 3-3 Mơ hình ranking dựa vào học máy 55 Hình 3-4 Tiến trình hoạt động hệ thống tìm kiếm tồn văn 56 Hình 3-5 Giao diện ứng dụng Tìm kiếm tồn văn 59 Hình 3-6 Giao diện mơ đun Lập mục 60 Hình 3-7 Kết mô đun Lập mục 60 Hình 3-8 Giao diện mơ đun tìm kiếm 61 Hình 3-9 Kết tìm kiếm với từ khóa 61 v MỞ ĐẦU Ngày nay, với phát triển ngành Công nghệ thông tin, hệ thống ứng dụng phần cứng, phần mềm dẫn trở nên gần gủi với người Các dạng liệu điện tử lưu thiết bị nhớ mạng Internet ngày phổ biến, đặc biệt liệu liên quan đến ngôn ngữ viết (văn bản) nói (tiếng nói) dần trở thành kiểu liệu Đặc điểm bật kiểu liệu khơng có cấu trúc nửa cấu trúc [3](non-structured semi-structured) chúng lưu trữ khuôn dạng cố định bảng biểu sở liệu quan hệ Theo đánh giá cơng ty Oracle, có đến 80% liệu khơng cấu trúc lượng liệu lồi người có [Oracle Text] Với đời phổ biến Internet, sách báo điện tử, máy tính cá nhân, viễn thơng, thiết bị âm thanh,… người người tạo liệu văn hay tiếng nói [3] Vấn đề xử lý hay chuyển dạng liệu thành dạng hiểu giải thích để thuận tiện q trình tìm kiếm thơng tin, tri thức mà nhu cầu cấp thiết lĩnh vực xử lý ngơn ngữ tự nhiên Mơ hình ngơn ngữ phận quan trọng lĩnh vực xử lí ngơn ngữ tự nhiên, có nhiều tốn xử lí ngơn ngữ tự nhiên sử dụng mơ hình ngơn ngữ như: kiểm lỗi tả, phát sinh câu ngẫu nhiên, dịch máy, tìm kiếm tồn văn… Các mơ hình ngơn ngữ cho biết xác suất xuất câu ngôn ngữ cụ thể nhằm giúp cho ứng dụng xử lý ngơn ngữ có ý nghĩa Trên giới, có nhiều nước cơng bố nghiên cứu mơ hình ngôn ngữ áp dụng cho ngôn ngữ Tại Việt Nam, việc nghiên cứu xây dựng mơ hình ngơn ngữ chuẩn cho tiếng Việt mẻ gặp nhiều khó khăn tiếng Việt ngơn ngữ phức tạp Việc nghiên cứu mơ hình ngơn ngữ ứng dụng chúng cần thiết xã hội Trong lĩnh vực tìm kiếm thơng tin, việc sử dụng mơ hình ngơn ngữ giúp giới hạn khơng gian tìm kiếm nhằm nâng cao hiệu tìm kiếm Với đề tài “Nghiên cứu mơ hình ngơn ngữ và ứng dụng tốn tìm kiếm toàn văn tiếng Việt” tơi muốn tìm hiểu rõ lý thuyết mơ hình ngơn ngữ, để từ xây dựng mơ hình ngơn ngữ cho tiếng Việt áp dụng vào tốn tìm kiếm tồn văn cho văn tiếng Việt Mục tiêu luận văn tìm hiểu lý thuyết mơ hình N-gram vấn đề liên quan, đặc biệt phương pháp làm mịn; Luận văn tập trung nghiên cứu xây dựng mơ hình ngơn ngữ cho tiếng Việt Phần cuối luận văn giới thiệu toán tìm kiếm tồn văn, đặc biệt vấn đề ứng dụng mơ hình ngơn ngữ vào tốn tìm kiếm tồn văn Về thực nghiệm, luận văn trình bày việc xây dựng ứng dụng minh họa cho kỹ thuật tìm kiếm tồn văn văn tiếng Việt Về cấu trúc, luận văn gồm có nội dung sau: Chương 1: nghiên cứu lý thuyết mơ hình ngơn ngữ N-gram, xem xét vấn đề liên quan đến mơ hình ngơn ngữ N-gram, cố gặp phải cách khắc phục Chương 2: nghiên cứu xây dựng N-gram cho tiếng Việt dựa vào cơng cụ xử lý mơ hình tiếng Việt có Chương 3: nghiên cứu tốn tìm kiếm tồn văn kỹ thuật liên quan, vấn đề tìm kiếm tồn văn văn tiếng Việt, đề xuất công cụ xây dựng tập liệu huấn luyện để thực nghiệm; so sánh, đánh giá kết luận nghiên cứu Phần kết luận: tổng kết lại luận văn đạt đưa kế hoạch nghiên cứu tương lai Chương MƠ HÌNH NGƠN NGỮ 1.1 Tổng quan mơ hình ngơn ngữ Mơ hình ngơn ngữ phân bố xác suất tập văn [5] Nói đơn giản, mơ hình ngơn ngữ cho biết xác suất câu (hoặc cụm từ) thuộc ngôn ngữ Chính thế, dựa vào mơ hình ngơn ngữ dự đốn khả chuỗi từ xuất ngơn ngữ Ví dụ: áp dụng mơ hình ngơn ngữ, ta có: P[“mơ hình ngơn ngữ”] > P[“ngữ hình mơ ngơn”] Mơ hình ngơn ngữ có nhiều hướng tiếp cận, chủ yếu xây dựng theo mơ hình N-gram 1.2 Mơ hình ngơn ngữ N-gram 1.2.1 Khái quát N-gram Để biết khả xuất câu (chuỗi) từ ngôn ngữ cần tính xác suất cho chuỗi m phần tử P(w1w2…wm), xác suất thường tính dựa vào công thức Bayes: P(AB) = P(B|A) * P(A) Với:  P(A): Xác suất xảy kiện A  P(B): Xác suất xảy kiện B  P(B|A): Xác suất (có điều kiện) xảy kiện B biết kiện A xảy Do đó, ta có cơng thức: P(w1w2…wm) = P(w1) * P(w2|w1) * P(w3|w1w2) *…* P(wm|w1w2…wm-1) (1) Nhìn vào cơng thức (1) tốn tính xác suất chuỗi từ quy tốn tính xác suất từ dựa vào từ đứng trước (tạm coi w1 từ đứng đầu chuỗi, thêm từ khóa vào đầu chuỗi để tính xác suất từ đầu tiên) Mặt khác theo công thức (1), mơ hình ngơn ngữ cần phải có lượng nhớ vơ lớn để lưu hết xác suất tất chuỗi độ dài nhỏ m [1] Rõ ràng, điều m độ dài văn ngôn ngữ tự nhiên (m tiến đánh mục để ánh xạ tài liệu với term Để tách xâu có hai kỹ thuật phổ biến N-gram Morphological Analysis a) N-gram N-gram kĩ thuật tách chuỗi thành chuỗi con, thông qua việc chia chuỗi có thành chuỗi nhau, có độ dài N Ví dụ với chuỗi “tìm kiếm tồn văn”, sử dụng tách 2-gram ta có: "tìm kiếm tồn văn " => {"tì", "m ", "ki", "ếm ", " t", "òa", "n ", "vă", "n "} b) Morphological Analysis Morphological Analysis (MA) kỹ thuật tách từ dựa hình thái từ, kĩ thuật phổ biến xử lý ngôn ngữ tự Việc tách từ MA cho tập kết từ có nghĩa Ví dụ với chuỗi “tìm kiếm tồn văn”, sử dụng tách MA ta có: " tìm kiếm tồn văn" => {"tìm_kiếm" , “tồn_văn"} Phương pháp sử dụng phổ biến, việc tách từ cần dựa từ điển tốt nghiên cứu sâu ngôn ngữ, chi tiết tách từ cho tiếng Việt trình bày mục 2.1.2 Cơng đoạn tách từ ảnh hưởng trực tiếp đến chất lượng liệu dùng để tạo mục trình tìm kiếm toàn văn, việc lựa chọn kỹ thuật tách từ phù hợp quan trọng Trong phần lớn trường hợp, kỹ thuật MA cho kết tách từ xác, phù hợp với thực tế Nhưng, để xây dựng MA cần từ điển tốt đầy đủ thuật ngữ nhằm giúp cho máy tính phân biệt từ có nghĩa Tuy nhiên, tốn xử lý ngơn ngữ tự nhiên ngơn ngữ lại có đặc trưng riêng, khơng ngừng mở rộng, không ngừng thêm từ Việc sử dụng MA gây tác dụng phụ có nhiều từ khơng/chưa có từ điển bị loại bỏ khỏi tập kết sau phép tách, dẫn đến tạo mục cho chúng, việc gây ảnh hưởng nghiêm trọng chúng nằm chuỗi từ khóa từ kiếm khơng thể tiến hành tìm kiếm từ Do vậy, toán tùy thuộc vào trường hợp cụ thể cần sử dụng kỹ thuật khác nhau, nhiều trường hợp cần phải kết hợp MA N-gram Cách kết hợp tùy trường hợp cụ thể, từ khó/khơng phân tích MA, dùng N-gram 50 3.3.3 Tìm kiếm sử dụng Boolean Logic Sau tạo mục cho tập tài liệu đưa vào kho tìm kiếm dựa vào kỹ thuật tách xâu tạo mục Một vấn đề quan trọng kỹ thuật tìm kiếm tồn văn xử lý chuỗi từ khóa để cung cấp đầu vào chuỗi truy vấn (query string), tìm kiếm trả kết phù hợp Về bản, để tìm kiếm bên khối liệu khổng lồ đánh mục dạng “Inverted Index”, tìm kiếm sử dụng “Boolean Logic” Boolean Logic phép toán thường sử dụng đại số Boolean, phép toán sử dụng phổ biến AND, OR, NOT Trong kỹ thuật tìm kiếm toàn văn cung cấp chuỗi truy vấn, việc tìm kiếm cần làm sử dụng module để bóc tách chuỗi truy vấn theo ngữ pháp qui định trước, để tạo thành “cụm” sử dụng cho logic tìm kiếm Việc bóc tách dựa vào kỹ thuật tách xâu nghiên cứu Với câu truy vấn phức tạp, việc kết hợp logic “cụm” tách từ câu truy vấn trở nên phức tạp khiến cho hiệu suất tìm kiếm bị giảm Chính thế, tìm kiếm tồn văn, để kết tìm kiếm xác ta cần sử dụng quy ước ngữ pháp gần giống với Boolean Logic để chuyển câu truy vấn bớt phức tạp dễ hiểu Kỹ thuật tìm kiếm tồn văn thường sử dụng ba phép toán Boolean logic AND, OR, NOT Giả sử có văn có nội dung tương ứng: D1 = " Skype cho Windows khơng cịn cập nhật" D2 = " Skype Windows tiếp tục cập nhật hàng loạt tính " D3 = "Tiếp tục tập trung cho Skype Windows 8" Sau tách xâu tạo mục ta có: "Skype " => {D1, D2, D3 } "Windows " => {D1, D2, D3} "cập_nhật" => {D1, D2} "tiếp_tục" => {D2, D3} … Với câu truy vấn Q = “tiếp tục cập nhật”, sử dụng kỹ thuật MA để tách xâu ta có Q gồm hai từ “tiếp_tục” “cập_nhật” Bỏ qua yếu tố chữ hoa, chữ thường để tìm 51 kiếm, ta có "tiếp_tục" đánh mục { D2, D3}, "cập_nhật" đánh mục {D1, D2} Thông thường dễ hiểu phù hợp với logic người dùng, space tương đương với logic AND, bỏ qua xét việc chữ hoa, chữ thường, kết việc tìm kiếm kết tìm “tiếp_tục” AND kết tìm “cập_nhật” Ta có {D1, D2 } AND {D2, D3} ={D2} Như vậy, kết tìm kiếm với từ khóa Q = “tiếp tục cập nhật” tài liệu 2, tài liệu chứa đầy đủ từ chuỗi từ khóa Trong trường hợp người dùng cần tìm kiếm cụm “tiếp tục OR cập nhật” kết tìm kiếm {D1, D2 } AND {D2, D3 } ={D1, D2, D3} Trong trường hợp người dùng cần tìm kiếm cụm “tiếp tục NOT cập nhật” kết tìm kiếm {D2, D3 } NOT {D1, D2} ={D3} Từ ví dụ thấy độ phức tạp việc tìm kiếm lúc chuyển thành:  Độ phức tạp công đoạn tách câu truy vấn (1)  Độ phức tạp tìm kiếm liệu mục Index lookup(2)  Độ phức tạp thao tác Boolean Logic dựa kết Index lookup(3) (1) thường khơng lớn từ khóa người sử dụng nhập ngắn, trường hợp chuỗi truy vấn sinh phức tạp, việc sử dụng boolean logic đơn giản làm giảm độ phức tạp tách chuỗi truy vấn (2) Độ phức tạp trình tìm kiếm liệu mục tương đương với việc tìm kiếm giá trị khóa bảng băm (3) Thao tác tối ưu nhiều dựa vào lý thuyết tập hợp, hay thư viện toán học số nguyên lớn Như thấy tốn tìm kiếm ban đầu đưa toán nhỏ hơn, dễ tối ưu 52 3.3.4 Các mơ hình Ranking Trong tốn tìm kiếm nói chung tìm kiếm tồn văn nói riêng, sau tìm tài liệu thích hợp với câu truy vấn vấn đề hiển thị kết cho người dùng định chất lượng tìm kiếm Nếu câu truy vấn trả đến 10 kết quả, hiển thị hình việc xếp kết không ảnh hưởng nhiều đến chất lượng tìm kiếm, nhiên kết lên đến hàng trăm nghìn, việc khơng đơn giản trả lại kết Lúc có vấn đề cần giải quyết, đưa kết lên trước, tốn Ranking Việc Ranking kỹ thuật tìm kiếm tồn văn thơng thường thực thơng qua việc tính điểm Tài liệu tìm thấy, xếp hạng dựa vào điểm số tính Việc tính điểm thực thông qua công thức, hay thuật tốn gọi chung mơ hình Ranking Mơ hình Ranking phải giải việc thứ hạng cho tài liệu kết dựa mối quan hệ chuỗi truy vấn người dùng nhập nội dung tài liệu tìm kiếm Mơ hình Ranking chia làm loại chính: Static, Dynamic, Machine Learning a) Static Trong mơ hình ranking static, việc xếp hạng tài liệu trả không phụ thuộc vào mối quan hệ ngữ nghĩa từ chuỗi truy vấn tài liệu, mà dựa quan điểm độ quan trọng tài liệu phụ thuộc vào mối quan hệ tài liệu với Chẳng hạn mơ hình PageRank, PageRank thuật tốn đời đầu Google, sử dụng chủ yếu để xếp thứ hạng cho trang web, chúng liên kết với Ý tưởng PageRank “trang web có nhiều liên kết tới liên kết trang quan trọng điểm cao” Để tính tốn PageRank, thường cần sử dụng WebCrawler để thu thập mối quan hệ liên kết tất trang web, tạo Directed Graph chúng Chính cách tính điểm dựa vào việc tạo Graph, nên mơ hình dạng gọi “Static” Ngồi PageRank cịn có số thuật toán khác gần tương tự HITS sử dụng Yahoo! thời gian đầu 53 b) Dynamic Khác với mơ hình Static, mơ hình ranking dạng Dynamic xếp hạng kết chủ yếu dựa vào mối quan hệ cụm chuỗi truy vấn (query term) tài liệu Có nhiều thuật tốn theo mơ hình ranking Dynamic, có thuật tốn dựa vào tần suất xuất “query term” tài liệu, có thuật tốn lại dựa vào đặc tính ngữ nghĩa “query term” , có thuật tốn lại sử dụng quan sát mang tính người thứ tự xuất từ “query term” thứ tự xuất tài liệu Một thuật toán sử dụng nhiều TF-IDF (Term Frequency Inverse Document Frequency) Thuật toán dựa ý tưởng “query term” xuất nhiều tài liệu, tài liệu có điểm cao Thuật tốn biểu diễn công thức sau [8]: TF-IDF(t,d,D)=TF(t,d)∗IDF(t,D) Với TF(t,d)=frequency(t,d) IDF(t,D)= log 𝑁 ‖{d∈D:t∈d}‖ Trong đó: - t query term - d tài liệu cần tính điểm - D tập hợp “tất cả” tài liệu Một cách đơn giản thì: TF: tần suất xuất term t tài liệu d IDF: số biểu cho tần suất xuất term t toàn tài liệu, t xuất nhiều, số thấp (vì xuất nhiều đồng nghĩa với độ quan trọng thấp) Công thức TF-IDF phối hợp cách hợp lý tần suất term ý nghĩa/độ quan trọng term Trong thực tế người ta hay sử dụng thuật toán Okapi BM25 hay gọi tắt BM25, mở rộng TF-IDF, thêm vài trọng số cho hợp lý 54 c) Sử dụng học máy Ngoài việc sử dụng mối quan hệ đơn giản giừa query term tài liệu, hay tài liệu với nhau, gần việc sử dụng học máy (Machine Learning) Ranking trở nên phổ biến Ý tưởng việc sử dụng học máy ranking sử dụng mơ hình xác suất để tính tốn Ý tưởng sử dụng học máy để xác định ranking Error! Reference source not found Query Documents Câu truy vấn Search Result Indexer Top-kretrieval Index Ranking model Tài liệu mục Hình 3-3 Mơ hình ranking dựa vào học máy Mơ hình ranking dựa vào học máy có input tập liệu X để huấn luyện, mơ hình đánh giá ranking M ban đầu, hàm error để so sánh kết output X’ có từ việc áp dụng model M vào query term, hàm boost để từ kêt hàm error tính lại model M Việc lặp lặp lại lần có query để model M ln ln cải thiện Mơ hình học máy mơ hình phức tạp, giới hạn luận văn tơi trình bày ý tưởng khơng chi tiết vào mơ hình học máy Việc tìm hiểu mơ hình ranking nhằm xây dựng cơng cụ tìm kiếm tốt việc hiển thị kết quả, chất lượng mơ hình ranking khó đánh giá chúng chất lượng chúng phụ thuộc vào việc thống kê người dùng Trên thực tế, cơng cụ tìm kiếm lớn Google, Yahoo, MS khơng có mơ hình ranking cố định, mà dựa kết có từ người dùng để liên tục cải thiện 55 3.4 Đề xuất hệ thống, xây dựng liệu thực nghiệm Bài tốn tìm kiếm thơng tin liên quan đến việc biểu diễn, lưu trữ, tổ chức tiếp cận yếu tố thơng tin Để thực chức tìm kiếm toàn văn, hệ thống cần đảm bảo kiến thức tổng thể sau: Đầu tiên tài liệu đầu vào trải qua số trình xử lý tách xâu lọc bỏ từ danh sách stopword, trình cho ta liệu từ tách gọi token Sau token trải quá trình tạo mục, liệu mục lưu vào tệp index Quá trình đầu tiên, tách từ băm nhỏ tài liệu đầu vào thành đơn vị tài liệu nhỏ nhất, với tiếng Việt tập từ Việc tách từ sử dụng cơng cụ vnTokenizer sử dụng phương pháp tách so khớp dựa vào từ điển tiếng Việt Trong ngôn ngữ khác, trình loại bỏ hậu tố, nhiên với ngôn ngữ tiếng Việt không cần giai đoạn xử lý Và sau đó, chuỗi đầu vào lọc bỏ stopword, tức bỏ từ khơng có ý nghĩa việc chọn tài liệu phù hợp với từ khóa người dùng nhập vào Qua việc tìm hiểu kỹ thuật sử dụng tốn tìm kiếm tồn văn, dựa đặc tính ngơn ngữ tiếng Việt tơi xin đề xuất hệ thống tìm kiếm tồn văn tài liệu tiếng Việt Hệ thống tìm kiếm phải đáp ứng yêu cầu: Xếp hạng ranking Kết truy vấn Nhập câu truy vấn Xử lý câu truy vấn Câu truy vấn So khớp Dãy kết truy vấn Tài liệu mục Phân tích tài liệu Dữ liệu mục Tạo mục Tập tài liệu Hình 3-4 Tiến trình hoạt động hệ thống tìm kiếm toàn văn 56 Từ tập liệu (các tài liệu ban đầu) cần có cơng cụ để chuẩn hóa chúng, đưa tài liệu kho tài liệu dạng văn Công đoạn nhằm loại bỏ liệu dạng văn nhằm tiết kiệm khơng gian góp phần tăng tốc độ cho việc tìm kiếm sau Sau chuẩn hóa liệu, cần thiết kế công cụ tạo mục để đánh mục cho tập tài liệu dạng văn túy Công cụ đánh mục cần dựa vào tập từ tách từ tài liệu công cụ tách từ Giai đoạn thứ tìm kiếm tồn văn phân tích câu truy vấn, câu truy vấn người dùng nhập vào tách từ, loại bỏ từ danh sách stopword, chuyển đổi số từ khóa phép toán Boolean logic, chẳng hạn từ “AND”, “&”, “OR”, “NOT”, để xây dựng câu truy vấn Sau phân tích từ khóa, xây dựng câu truy vấn, cần xây dựng phương thức tìm kiếm, việc tìm kiếm vào câu truy vấn xây dựng bước kho mục tạo mục bước Sử dụng mơ hình ranking để xếp hiển thị kết truy vấn 3.5 Thực nghiệm đánh giá 3.5.1 Xây dựng ứng dụng thực nghiệm Để minh họa cho nghiên cứu mình, tơi cài đặt ứng dụng tìm kiếm nhỏ mơi trường Java, sử dụng NetBean IDE ứng dụng máy chủ Tomcat Hệ thống tìm kiếm theo kỹ thuật tìm kiếm tồn văn có hai mơ đun chính: tạo mục cho tập văn đầu vào tìm kiếm a) Mơ đun tạo mục Đầu vào: Đường dẫn chứa tập tin *.txt cần lập mục Đầu ra: Tập mục nghịch đảo lưu vào nhớ ngồi Q trình xử lý: Chức tạo mục có vai trị tạo mục cho tập văn đầu vào, văn đưa vào tìm kiếm tải lên thư mục documents máy chủ, sau ứng dụng sử dụng cơng cụ VnTokenizer (như giới thiệu mục 2.2.1) để tách văn 57 thành từ (term) VnTokenizer cung cấp cung cấp API cho ứng dụng môi trường Java cách sử dụng thư viện tài nguyên hỗ trợ VnTokenizer sử dụng N-Gram, cụ thể unigram bigram để xây dựng tài nguyên tiếng Việt Quá trình tách tạo văn tách từ lưu thư mục tokenizer máy chủ Sau có tách từ, văn gốc văn tách đưa vào chức tạo mục Quá trình bao gồm tiền xử lý văn bản, loại bỏ stopwords (nguồn [11]) Quá trình tạo mục kết hợp với tạo mục từ văn gốc documents văn tách tokenizer với tập từ (term) Dữ liệu mục lưu trữ tệp invertedindex.txt theo cấu trúc: T_1[tab]document frequency[tab]DId_1[space]term frequency[tab]DId_2… b) Mơ đun tìm kiếm Đầu vào: Từ khóa Đầu ra: Kết truy vấn Q trình xử lý: Với từ khóa nhận từ người sử dụng, hệ thống xử lý xây dựng câu truy vấn Giai đoạn tiền xử lý từ khóa trước xây dựng câu truy vấn sử dụng cơng cụ vnTokenizer để tách từ khóa thành chuỗi từ có nghĩa (term) Chuỗi term đưa vào để xây dựng câu truy vấn làm đầu vào cho q trình tìm kiếm Khác với mơ đun tìm kiếm thơng thường, việc tìm kiếm thực liệu mục thay thực tập văn gốc, điều làm tăng tốc độ tìm kiếm trả kết tìm kiếm xác Sau có kết tìm kiếm, hệ thống sử dụng đoạn mã xếp kết tìm kiếm (ranking) dựa tần suất xuất term tài liệu gốc 3.5.2 Một số hình ảnh demo Giao diện ứng dụng Hình 3-5, gồm khối Giới thiệu, Mơ đun tạo mục mơ đun tìm kiếm 58 Hình 3-5 Giao diện ứng dụng Tìm kiếm toàn văn Để tìm kiếm, cần đưa liệu vào để lập mục, liệu đầu vào gom theo thư mục mô đun lập mục có chức đưa văn thơ lên máy chủ tìm kiếm Sau liệu gốc máy chủ đưa tách xâu (tách từ -term) thành tệp tương ứng với liệu gốc Giao diện form lập mục Hình 3-6 kết lập mục cho văn Hình 3-7 gồm STT từ (term), từ Id văn Việc lưu trữ liệu mục thực nhớ tệp txt Việc lập mục nên sử dụng lần trước tìm kiếm Khi có bổ sung tài liệu đưa vào tìm kiếm việc lập mục thực lại toàn tập văn có máy chủ 59 Hình 3-6 Giao diện mơ đun Lập mục Hình 3-7 Kết mô đun Lập mục Sau lập mục, hệ thống cung cấp chức tìm kiếm dựa vào từ khóa Giao diện mơ đun tìm kiếm Hình 3-8 Kết tìm kiếm Hình 3-9 60 Hình 3-8 Giao diện mô đun tìm kiếm Hình 3-9 Kết tìm kiếm với từ khóa 61 3.5.3 Đánh giá Ứng dụng minh họa chức hệ thống tìm kiếm tồn văn, từ kết luận:  Các hệ thống tìm kiếm tồn văn cần có dung lượng nhớ cực lớn máy chủ đủ mạnh để thường xuyên thu thập lưu trữ liệu cần đưa vào trình tìm kiếm  Dữ liệu trình tách xâu lưu trữ thường xuyên khiến cho yêu cầu dung lượng lưu trữ tăng gấp đơi  Trong tìm kiếm tồn văn cần có kỹ thuật tách xâu văn có độ xác cao có hiệu suất xử lý tốt để đáp ứng việc tách xâu nhanh xác Hiện nay, ngơn ngữ phổ biến có nhiều công cụ tách xâu chuẩn xác, tiếng Việt, công cụ tách xâu sử dụng phổ biến vnTokenizer, công cụ đánh giá có độ xác từ 96%-98% đảm bảo kết việc tách term có ý nghĩa sử dụng từ điển tiếng Việt đầy đủ xác  Một yếu tố quan trọng tìm kiếm tồn văn q trình tạo mục ngược từ term đến văn gốc, tạo mục cần sử dụng đến tệp kết văn sau tách để tạo mục ngược Việc loại bỏ stopword làm cho liệu mục gọn làm tăng hiệu tìm kiếm  So với phương pháp tìm kiếm nội dung tệp rõ ràng tìm kiếm tồn văn có hiệu suất tìm kiếm tốt sau có liệu mục việc tìm kiếm cần thực liệu mục, loại bỏ stopword sử dụng phương pháp so khớp term để lấy id tài liệu đầu vào Việc tìm kiếm cho kết tốt từ khóa đưa vào xử lý tách từ vnTokenizer tạo chuỗi từ có nghĩa để xây dựng câu truy vấn  Một thuật tốn xếp (Ranking) kết tốt có ý nghĩa việc xếp thứ hạng kết tìm kiếm, làm cho cơng cụ tìm kiếm “tốt” Trong tìm kiếm tồn văn, việc xếp hạng dễ dàng thực đếm tần số xuất docid liệu mục từ nằm từ khóa người dùng nhập vào Tuy nhiên, hệ thống tìm kiếm lớn cần thuật toán thứ tự tốt phức tạp Hệ thống thực nghiệm tập liệu gốc gồm 200 tệp văn thơ cho kết tìm kiếm xác 62 KẾT LUẬN Q trình thực luận văn tơi đạt mục tiêu sau: Tìm hiểu lý thuyết mơ hình N-gram vấn đề liên quan đến mơ hình ngơn ngữ, phương pháp làm mịn phân bổ xác suất mơ hình N-gram, kỹ thuật giàm giảm kích thước liệu, số độ đo để đánh giá chất lượng mô hình ngơn ngữ; Nghiên cứu đặc trưng tốn liên quan đên việc xây dựng mơ hình ngơn ngữ cho tiếng Việt; Tìm hiểu, cài đặt số cơng cụ liên quan đến việc xây dựng mơ hình ngơn ngữ tiếng Việt Tìm hiểu giới thiệu kỹ thuật tìm kiếm tồn văn, nghiên cứu kỹ thuật thường sử dụng toàn tìm kiếm tồn văn kỹ thuật tạo mục, kỹ thuật tách xâu văn bản, tìm kiếm sử dụng Boolean logic mơ hình ranking để xếp thứ tự kết Nghiên cứu ngôn ngữ Java cơng cụ kèm, tìm hiểu số thư viện phục vụ cho việc xử lý ngôn ngữ tự nhiên tìm kiếm tồn văn Đề xuất xây dựng hệ thống thực nghiệm Tuy nhiên, giới hạn thời gian, kiến thức tài nguyên khác nên ứng dụng thực nghiệm dùng lại mức đơn giãn Bài tốn tìm kiếm tồn văn tốn lớn, có ý nghĩa thời đại bùng nổ thơng tin nay, q trình nghiên cứu nhận ngôn ngữ Python ngơn ngữ mạnh có số thư viện bổ trợ cho việc xử lý ngôn ngữ tự nhiên khổng lồ Thời gian tới dự định nghiên cứu sâu lĩnh vực để hồn thiện cơng cụ tìm kiếm 63 TÀI LIỆU THAM KHẢO [1] Lê Anh Cường, Cao Văn Việt, Nguyễn Việt Hà, Xây dựng mơ hình ngơn ngữ tiếng Việt ứng dụng, Trường ĐH Công Nghệ, ĐHQG Hà Nội [2] Nguyễn Quang Châu, Phan Thị Tươi, Cao Hoàng Trụ, Gán nhãn từ loại cho tiếng Việt dựa văn phong và tính tốn xác suất, Tạp chí phát triển KH&CN, Tập [3].Hồ Tú Bảo, Lương Chi Mai, Xử lý tiếng Việt Công nghệ thông tin, Viện Công nghệ thông tin [4].Tô Hồng Thắng, NGRAM, Trường đại học Công Nghệ, 2007 [5] Cao Đức Tư, Nghiên cứu mơ hình ngơn ngữ N-Gram ứng dụng toán thêm dấu cho tiếng Việt không dấu, Luận văn tốt nghiệp, ĐH Thái Nguyên, 2011 [6] Andreas stolcke, Entropy-based pruning of backoff language models, in proceedings of the ARPA Workshop on human language technology, 1998 [7] Andreas stolcke, SRILM – an extensible language modeling toolkit, Conference on spoken language processing, 2002 [9] J Lafferty, A McCallum, and F Pereia Conditional ramdom fields: probabilistic models for segmenting and labeling sequence data International Conference on Machine Learning, 2001 [8].http://viet.jnlp.org/kien-thuc-co-ban-ve-xu-ly-ngon-ngu-tu-nhien/mo-hinh-ngonngu [9].https://viblo.asia [10].http://ktmt.github.io [11] https://github.com/stopwords/vietnamese-stopwords 64 In ... toàn văn tiếng Việt? ?? tơi muốn tìm hiểu rõ lý thuyết mơ hình ngơn ngữ, để từ xây dựng mơ hình ngơn ngữ cho tiếng Việt áp dụng vào tốn tìm kiếm tồn văn cho văn tiếng Việt Mục tiêu luận văn tìm hiểu... 43 Chương ỨNG DỤNG TRONG BÀI TỐN TÌM KIẾM TỒN VĂN TIẾNG VIỆT 45 3.1 Tổng quan tìm kiếm tồn văn 45 3.2 Giới thiệu tốn tìm kiếm tồn văn 45 3.2.1 Bài tốn tìm kiếm tồn văn ... vấn đề ứng dụng mơ hình ngơn ngữ vào tốn tìm kiếm tồn văn Về thực nghiệm, luận văn trình bày việc xây dựng ứng dụng minh họa cho kỹ thuật tìm kiếm tồn văn văn tiếng Việt Về cấu trúc, luận văn gồm

Ngày đăng: 25/08/2021, 16:33

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

Tài liệu liên quan