Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 26 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
26
Dung lượng
1,81 MB
Nội dung
ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Nguyễn Duy Long BÁO CÁO THỰC TẬP TỐT NGHIỆP PHÂN TÍCH CÂU HỎI TRONG HỆ THỐNG HỎI ĐÁP TIẾNG VIỆT Ngành: Công nghệ thông tin Cán hướng dẫn: TS Trương Anh Hồng Nơi thực tập: Cơng ty Nhất Thái Dương iSolar Hà Nội, tháng 9/2012 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Lời cảm ơn Lời em xin chân thành cảm ơn đến quý Thầy, Cô trường ĐH Công Nghệ ĐH Quốc Gia Hà Nội, người trực tiếp giảng dạy, truyền đạt kiễn thức bổ ích cho em, tảng bản, hành trang vô quý giá, buốc cho em bước vào nghiệp sau tương lai Đặc biệt Tiến sĩ Trương Anh Hồng người tận tình, quan tâm giúp đỡ em suốt trình em tham gia thực tập Thầy giải đáp thắc mắc khó khăn mà em gặp phải Nhờ đó, em hồn thành báo cáo thực tập chuyên ngành Bên cạnh đó, em xin gởi lời cảm ơn chân thành tới Giám đốc, anh chị Công ty Nhất Thái Dương iSolar tạo hội giúp em tìm hiểu rõ môi trường làm việc thực doanh nghiệp mà ngồi ghế nhà trường em chưa biết Em xin chân thành cảm ơn anh Vũ Tất Thắng giám đốc công ty, bận rộn với công việc dành thời gian bảo, hướng dẫn, tạo điều kiện thuận lợi để em tìm hiểu thu thập thông tin phục vụ cho báo cáo Trong trình thực tập làm báo cáo, kinh nghiệm thực tế chưa có, dựa vào lý thuyết với thời gian hạn hẹp nên báo cáo tránh sai sót Kính mong nhận góp ý, nhận xét từ phía q Thầy, Cơ anh chị Công ty để kiến thức em hoàn thiện rút kinh nghiệm bổ ích để áp dụng vào thực tiễn cách hiệu tương lai Em xin chân thành cảm ơn! Sinh viên Nguyễn Duy Long LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Lời mở đầu Nghiên cứu hệ thống hỏi đáp tự động (Q&A) quan tâm từ lâu giới Ngay từ năm 1960, hệ thống hỏi đáp sử dụng sở liệu đời Đến năm 1970-1980, nhiều dự án lớn hướng đến việc “understanding text” xây dựng hệ thống hỏi đáp dựa mô hình ngơn ngữ thống kê Cuối năm 1990, World Wide Web đời phát triển nhanh chóng trở thành kho ngữ liệu khổng lồ Các nhà nghiên cứu hệ thống hỏi đáp bắt đầu khai thác web nguồn liệu cho việc tìm kiếm câu trả lời Các kĩ thuật địi hỏi tốc độ cao, khả xử lý lượng liệu web lớn quan tâm Tuy nhiên nghiên cứu xây dựng hệ thống hỏi đáp cho tiếng Việt nhiều hạn chế Một lý cịn thiếu công cụ xử lý tiếng Việt, tài nguyên ngơn ngữ học (Wordnet [28], ontology [30]…) Phân tích câu hỏi pha kiến trúc chung hệ thống hỏi đáp, có nhiệm vụ tìm thông tin cần thiết làm đầu vào cho trình xử lý pha sau (trích chọn tài liệu, trích xuất câu trả lời, …) Vì phân tích câu hỏi có vai trị quan trọng, ảnh hưởng trực tiếp đến hoạt động toàn hệ thống Nếu phân tích câu hỏi khơng tốt khơng thể tìm câu trả lời Trong viết báo cáo thực tập em thực nghiên cứu phương pháp xây dựng hệ thống hỏi đáp phân tích câu hỏi quan tâm nay, từ đưa phương pháp phân tích câu hỏi phù hợp (trên sở nguồn tài ngun ngơn ngữ sẵn có) cho hệ thống hỏi đáp tiếng Việt Những nghiên cứu coi tiền đề cho nghiên cứu để xây dựng hệ thống hỏi đáp hoàn thiện cho tiếng Việt LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com CHƯƠNG 1: TỔNG QUAN VỀ QUÁ TRÌNH THỰC TẬP Giới thiệu Thực tập tốt nghiệp giai đoạn quan trọng đối viên sinh viên năm cuối, đặc biệt sinh viên công nghệ thông tin Thực tế công việc, với kinh nghiệm kỹ học tập giai đoạn này, giúp cho sinh viên vững vàng vào công việc thực tế đầy áp lực Với ý nghĩa thực tiễn đó, cho phép nhà trường, may mắn sinh viên thực tập Công ty Nhất Thái Dương iSolar, công ty chuyên gia công phần mềm cho ngành giáo dục Với thời gian thực tập khoảng tháng, đem lại cho nhiều kinh nghiệm kỹ công việc, nghiên cứu Tôi tham gia làm nghiên cứu vấn đề xử lý ngôn ngữ tự nhiên Natural Language Processing Cùng với sinh viên thực tập khác với hướng dẫn tận tình TS Vũ Tất Thắng, phần nghiên cứu NLP hoàn chỉnh mục tiêu đề Tên công ty thực tập Nhất Thái Dương iSolar Địa Phịng 1504, 671 đường Hồng Hoa Thám Thời gian 01/07/2012 – 01/09/2012 Cán trực tiếp quản lý TS Vũ Tất Thắng Đề tài nghiên cứu Natural Language Processing Vị trí thực tập Research LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Công ty Nhất Thái Dương iSolar Được thông qua Hội đồng Khoa học Ban Quản lý Khu Cơng nghệ cao Hồ Lạc, ngày 31/05/2011, nhóm Giải pháp sáng tạo Nghiên cứu tiên tiến Nhất Thái Dương (iSolar) thức tham gia vào hoạt động ươm tạo Trung tâm Ươm tạo doanh nghiệp cơng nghệ cao Nhóm ISOLAR TS Vũ Tất Thắng,Viện CNTT-Viện KHCN Việt Nam làm trưởng nhóm, hoạt động lĩnh vực công nghệ thông tin với sản phẩm nghiên cứu triển khai hệ thống Speech translation Hiện nhóm ISOLAR phát triển thành Cơng ty Nhất Thái Dương iSolar với mục tiêu tạo sản phẩm chuyên nghiệp cho ngành giáo dục Việt Nam Đây môi trường tốt dành cho sinh viên công nghệ thông tin để học hỏi làm việc tương lại Mục tiêu công ty cung cấp cho nhân viên môi trường làm việc động, thử thách, vui nhộn, để nhân viên thật “tài sản” quý công ty, khách hàng Đặt vấn đề Xử lý ngôn ngữ tự nhiên lĩnh vực quan tâm hướng nghiên cứu phát triển, khơng khía cạnh giao tiếp người mà vài khía cạnh khác, cịn phần thể hiểu biết tri thức người Xử lý ngôn ngữ tự nhiên hướng tiếp cận máy tính hóa nhằm phân tích văn dựa lý thuyết cơng nghệ Có thể định nghĩa: “xử lý ngơn ngữ tự nhiên học thuyết thúc đẩy phát triển cơng nghệ tính tốn khác phục vụ cho việc phân tích biểu diễn văn Việc phân tích biểu diễn văn thực một vài mức độ khác nhằm xử lý ngôn ngữ người từ dạng tự nhiên thành định dạng định cho công việc ứng dụng cụ thể” LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Mục tiêu Mục tiêu đề tài nghiên cứu hiểu cách thức xử lý ngơn ngữ tự nhiên nói chung ngôn ngữ Đặc biệt xử lý tiếng Việt nghiên cứu sâu phần phân tích câu hỏi hệ thống hỏi đáp miền đóng 4.1 Phạm vi nghiên cứu Đối tượng rút trích metadata đề tài báo khoa học có định dạng tập tin PDF Đề tài thực tập tập trung nghiên cứu cách rút trích thơng tin metadata, cịn việc tổ chức liệu thư viện số làm giàu ontology hướng cho đề tài, lần nghiên cứu chúng tơi chưa sâu vào vấn đề 4.2 Kết dự kiến Xây dựng thành công hệ thống quy mơ nhỏ có khả hỏi trả lời tự động theo phương thức Client-Server Kết xác phải từ 80% trở lên 4.1 Mục tiêu, thời gian kế hoạch thực tập Các mục tiêu phải đạt trình thực tập: Tìm hiểu thực tế mơi trường cơng việc công ty phần mềm Quan sát học tập kỹ mềm yếu thiếu như: kỹ xử lý vấn đề, kỹ giao tiếp, kỹ đặt câu hỏi v.v… Nâng cao kỹ lập trình Nâng cao khả học hỏi, sáng tạo xử lý vấn đề chuyên môn giao tiếp LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 4.4 Thời gian kế hoạch thực tập Những công việc cụ thể giai đoạn là: o Tìm hiểu xử lý ngôn ngữ tự nhiên NLP phân tích câu hỏi hệ thống hỏi đáp cho tiếng Việt o Tìm hiểu mã nguồn mở OpenNLP ngơn ngữ lập trình Python o Phân tích, thiết kế hệ thống code demo o Kiểm tra độ xác hệ thống viết báo cáo thu hoạch Thời gian tuần tuần Nội dung Tìm hiểu lý thuyết xử lý ngơn ngữ tự nhiên Tìm hiểu phân tích câu hỏi hệ thống trả lời tự động Tiếng Việt Tìm hiểu mã nguồn mở OpenNLP ngơn ngữ lập trình Python.và tuần ngơn ngữ lập trình Python Tiến hành phân tích hệ thống hỏi đáp thực tế tuần Thu thập liệu địa điểm, tên người để phục vụ cho việc code demon hệ thống LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Bố cục báo cáo Phần 1: Tổng quan trình thực tập tốt nghiệp: thực tập công ty nào, thời gian thực tập sao, tham gia dự án gì… Ngồi Chương giới thiệu khái quát công ty thực tập, đề tài thực tập, mục tiêu kế hoạch đợt thực tập Phần 2: Giới thiệu hệ thống hỏi đáp tự động Phần 3: Phân tích câu hỏi hệ thống hỏi đáp Phần 4: Xây dựng hệ thống trả lời tiếng Việt tự động sử dụng mã nguồn mở OpenNLP Java Phần kết luận tổng hợp nội dung kiến thức tiếp cận, kỹ lập trình học hỏi, kinh nghiệm thực tiễn tích lũy, điều làm chưa nghiên cứu xử lý ngôn ngữ tự nhiên NLP phương hướng tới LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Chương 2: Giới thiệu hệ thống hỏi đáp tự động Hệ thống hỏi đáp tự động Hệ thống hỏi đáp tự động coi lựa chọn thứ hai bên cạnh hệ thống trích chọn thơng tin người dùng muốn tìm kiếm thơng tin họ cần Hệ thống trích chọn thơng tin nhận đầu vào từ khóa trả tập tài liệu liên quan (có chứa từ khóa đó) Kết mà hệ thống trích chọn thơng tin (máy tìm kiếm) trả lại cho người dùng lớn, lên đến hàng nghìn trang web mà phần nhiều không chứa thông tin người dùng mong muốn Trong đó, hệ thống hỏi đáp nhận đầu vào câu hỏi dạng ngôn ngữ tự nhiên người dùng, trả lại đoạn văn ngắn chứa câu trả lời trực tiếp cho câu hỏi Nghiên cứu hệ thống hỏi đáp tự động thu hút quan tâm nhiều nhà nghiên cứu từ trường đại học, viện nghiên cứu doanh nghiệp lớn ngành cơng nghệ thơng tin, có ý nghĩa khoa học lẫn ý nghĩa thực tế Rất nhiều hội nghị thường niên khai phá liệu, trích chọn thơng tin dành chủ đề riêng cho nghiên cứu hệ thống hỏi đáp TREC1, CLEF2, vv Bài toán xây dựng hệ thống hỏi đáp toán khó thuộc lĩnh vực xử lý ngơn ngữ tự nhiên (Natural Language Processing) Chúng ta biết ngôn ngữ tự nhiên vốn nhập nhằng, đa nghĩa, việc xác định ngữ nghĩa câu hỏi phát câu trả lời thách thức không nhỏ Không vậy, câu hỏi câu trả lời tồn quan hệ “ngầm” hay phụ thuộc vào ngữ cảnh Ví dụ câu hỏi: Một người đường với điện thoại di động có kết nối internet Người muốn tìm đường từ Kim Mã tới Xuân Thủy Người đặt câu hỏi “Tơi muốn tìm đường từ Kim Mã tới Cầu Giấy” Câu trả lời ứng dụng điện thoại, đường GoogleMap Một câu hỏi khác: “ Bill Gates sinh năm ?” câu trả lời “….Bill Gates sinh LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com ngày 28, tháng 10, năm…” Để tìm câu trả lời cho câu hỏi, hệ thống cần có chế để biết Kim Mã Xuân Thủy tên địa điểm cần học mẫu thường gặp câu trả lời (các mẫu ngày tháng năm sinh, thời gian, địa chỉ….) tương ứng với loại câu hỏi Các hệ thống Q&A giới sử dụng nhiều công cụ xử lý ngôn ngữ như: Bộ gán nhãn từ loại (POS Tagger), nhận dạng tên thực thể (Named Entity Recognizer), phân tích ngữ pháp (Parser)… tài ngun ngơn ngữ để phân tích câu hỏi trích xuất câu trả lời Một hệ thống hỏi đáp người dùng đánh giá hữu ích đáp ứng tiêu chuẩn: Tính hợp lý thời gian (Timeliness): Câu trả lời phải đưa thời gian ngắn, có hàng ngàn người dùng truy nhập hệ thống lúc Các nguồn liệu cần phải tích hợp vào hệ thống chúng sẵn sàng để cung cấp cho người dùng câu trả lời cho câu hỏi kiện có tính thời Tính xác: Tính xác hệ thống hỏi đáp tự động quan trọng việc đưa câu trả lời sai tai hại nhiều không đưa câu trả lời Nghiên cứu Q&A cần tập trung vào việc đánh giá tính đắn câu trả lời đưa ra, bao gồm phương thức để phát trường hợp mà liệu thời không chứa câu trả lời cho câu hỏi Các thông tin mâu thuẫn liệu cần tìm thơng tin cần xử lý theo cách phù hợp, quán Để đạt xác, hệ thống Q&A cần tích hợp nguồn tri thức (world knowledge ) chế “bắt chước” việc suy luận thông thường (việc bắt chước hiểu q trình học) Tính khả dụng: Hệ thống Q&A cần đáp ứng yêu cầu cụ thể người dùng Các ontology miền cụ thể ontology miền mở cần tích hợp hệ thống Hệ thống Q&A cần có khả khai phá câu trả lờitừ dạng liệu (văn bản, web, sở liệu, …) đưa câu trả lời định dạng mà người dùng mong muốn, cho phép người dùng miêu tả ngữ cảnh câu hỏi cung cấp thơng tin giải thích, trích dẫn nguồn cho câu trả lời Tính hồn chỉnh: Câu trả lời hoàn chỉnh cho câu hỏi người dùng điều mà hệ thống Q&A hướng tới Trong nhiều trường hợp (câu hỏi danh sách, nguyên nhân, cách thức…), phần câu trả lời nằm rải rác văn bản, chí nhiều văn Vì cần phải hợp phần dựa thông tin liên kết để tạo câu trả lời hồn chỉnh Tính thích hợp câu trả lời: Trong ngôn ngữ tự nhiên, câu hỏi đưa ln gắn với ngữ cảnh câu trả lời nằm ngữ cảnh định Câu trả lời mà hệ thống Q&A đưa phải phù hợp ngữ cảnh với câu hỏi Một hệ thống Q&A có khả giao tiếp (interactive Q&A) cần thiết nhiều trường hợp chuỗi câu hỏi liên quan đến vấn đề giúp làm sáng tỏ thông tin mà người dùng hỏi Việc đánh giá hệ thống Q&A cần hướng người dùng ý kiến người dùng đánh giá tốt cho tính thích hợp câu trả lời Các tiêu chuẩn đặt với mong muốn xây dựng hệ thống LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com web) để tìm câu trả lời Các nghiên cứu cải tiến phương pháp cũ để áp dụng cho nguồn liệu web vốn đa dạng, nhiều “nhiễu” trùng lặp quan tâm 2.2 Phân loại theo khả trả lời câu hỏi Hệ thống có khả trả lời câu hỏi liên quan đến vật, tượng, dựa việc trích câu trả lời có sẵn tập tài liệu Câu trả lời chuỗi ký tự tài liệu Kỹ thuật sử dụng xử lý chuỗi từ khóa Hệ thống có chế lập luận đơn giản: Trích xuất câu trả lời có sẵn tập tài liệu sau sử dụng suy luận để tìm mối liên kết câu trả lời câu hỏi Hệ thống sử dụng nguồn tri thức ontology miền cụ thể ontology chung Hệ thống trả lời câu hỏi yêu cầu khả tổng hợp: Các phần câu trả lời trích rút từ nhiều tài liệu sau tổng hợp lại thành câu trả lời hoàn chỉnh Câu hỏi thường danh sách, cách thức, nguyên nhân Hệ thống có khả giao tiếp với người dùng: Trả lời chuỗi câu hỏi người dùng vấn đề Ví dụ câu hỏi người dùng như: “Tôi đứng đâu? Tôi muốn đến Hàng Bơng? Nói với vợ tơi tối anh khơng về” Hoặc câu hỏi như: “Giáo sư Nguyễn Văn Hiệu sinh đâu?” Hệ thống có khả lập luận tương tự: Có thể trả lời câu hỏi có tính chất suy đốn, câu trả lời ẩn tập tài liệu Hệ thống cần trích luận chứng sử dụng lập luận tương tự để tìm câu trả lời 2.3 Các bước chung hệ thống hỏi đáp tự động Một hệ thống hỏi đáp tự động thường gồm bước chung sau: Bước1-Phân tích câu hỏi: Bước phân tích câu hỏi tạo truy vấn cho bước trích chọn tài liệu liên quan tìm thơng tin hữu ích cho bước trích xuất câu trả lời Bước2-Trích chọn tài liệu liên quan: Bước sử dụng câu truy vấn tạo bước phân tích câu hỏi để tìm tài liệu liên quan đến câu hỏi Bước3-Trích xuất câu trả lời: Bước phân tích tập tài liệu trả từ bước sử dụng thơng tin hữu ích bước phân tích câu hỏi cung cấp để đưa câu trả lời LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com xác Câu hỏi Phân tích câu hỏi trích xuất câu trả lời Câu trả lời DATA SET Trích xuất mẫu tổng quát Các hệ thống hỏi đáp tự động có kiến trúc đa dạng, nhiên chúng bao gồm ba phần Sự khác hệ thống trình xử lý bước, đặc biệt cách tiếp cận việc xác định câu trả lời Cách tiếp cận theo trích chọn thông tin túy (pure IR) là: chia nhỏ tài liệu tập liệu thành chuỗi tài liệu con, trích chọn tài liệu có độ tương đồng lớn với câu truy vấn (do bước phân tích câu hỏi tạo ra) trả lại chúng cho người dùng.Thách thức lớn chia nhỏ tài liệu thành phần với kích cỡ tương ứng với kích cỡ câu trả lời mà đủ lớn để đánh mục (nếu chia nhỏ số lượng tài liệu để đánh mục lớn, gây gánh nặng cho hệ thống trích chọn thơng tin) Cách tiếp cận theo xử lý ngôn ngữ tự nhiên (pure NLP) là: so khớp biểu diễn ngữ pháp (hoặc) biểu diễn ngữ nghĩa câu hỏi với dạng biểu diễn ngữ pháp, ngữ nghĩa câu tài liệu liên quan trả Khó khăn cách tiếp cận hệ thống phải thực việc phân tích ngữ pháp, ngữ nghĩa so khớp đủ LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com nhanh để đưa câu trả lời thời gian chấp nhận được, số lượng tài liệu cần xử lý lớn bước phân tích lại phức tạp tốn nhiều thời gian Sự khác cách trích xuất câu trả lời dẫn đến việc phân tích câu hỏi trở nên đa dạng Trong hướng tiếp cận theo trích xuất thơng tin túy, phân tích câu hỏi cần làm tốt việc tạo truy vấn, với hướng tiếp cận theo xử lý ngôn ngữ tự nhiên, câu hỏi cần phân tích ngữ pháp, ngữ nghĩa cách xác Các hệ thống thường kết hợp hai hướng tiếp cận, sử dụng hệ thống trích chọn thơng tin để thu hẹp khơng gian tìm kiếm câu trả lời, đồng thời phân tích câu hỏi để tìm thơng tin ngữ pháp, ngữ nghĩa nhằm tìm câu trả lời xác Kết bước phân tích câu hỏi đầu vào cho hai bước trích chọn tài liệu liên quan trích xuất câu trả lời Bước phân tích câu hỏi có ý nghĩa quan trọng, ảnh hưởng đến hoạt động bước sau định đến hiệu tồn hệ thống Chương 3: Phân tích câu hỏi hệ thống hỏi đáp Nội dung phân tích câu hỏi Bài tốn phân tích câu hỏi: Phân tích câu hỏi nhận đầu vào câu hỏi dạng ngôn ngữ tự nhiên người dùng, đưa câu truy vấn cho bước trích chọn tài liệu liên quan thơng tin cần thiết cho bước trích rút câu trả lời Câu truy vấn dạng tổ hợp từ khóa quan trọng câu hỏi (và từ khóa mở rộng) với phép tốn tập hợp AND, OR Các thơng tin cần thiết để trích xuất câu trả lời đa dạng, tùy phuộc vào phương pháp trích xuất câu trả lời Thơng thường thơng tin mục đích câu hỏi (ví dụ mục đích hỏi để khẳng định điều, để so sánh hay để tìm kiếm thơng tin, để hỏi định nghĩa, cách thức…), loại câu trả lời mong đợi (question target hay answer type) Ví dụ câu hỏi “Dân số giới bao nhiêu”, câu trả lời mong đợi “con số” hay câu hỏi “Chủ tịch nước Việt Nam ai” loại câu trả lời “tên người” Khó khăn phân tích câu hỏi LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Câu hỏi đầu vào hệ thống hỏi đáp tự động câu hỏi dạng ngơn ngữ tự nhiên người dùng Vì việc phân tích câu hỏi gặp khó khăn xử lý ngơn ngữ tự nhiên Khó khăn làm để máy tính hiểu ngơn ngữ người Bản chất phức tạp ngôn ngữ người, đặc biệt đa nghĩa nhập nhằng ngữ nghĩa ngôn ngữ Thêm nữa, có khác biệt sâu sắc người ngầm hiểu dùng nhiều lẽ thường (common sense) ngơn ngữ, hỏi “thời gian” tức hỏi “giờ, phút, tháng, năm, thứ …” Cùng hỏi thơng tin câu hỏi diễn đạt theo nhiều cách khác nhau, sử dụng từ ngữ, cấu trúc câu khác nhau, lúc dạng nghi vấn, lúc lại dạng khẳng định Mơ hình cần có khả chuyển đổi câu hỏi phức tạp thành chuỗi câu hỏi đơn giản hơn, xác định nhập nhằng xử lý chúng theo ngữ cảnh sử dụng cách thức giao tiếp với người dùng để làm rõ ngữ nghĩa Một số nội dung xử lý ngôn ngữ tự nhiên phân tích câu hỏi Việc xử lý ngơn ngữ tự nhiên thường bao gồm bước (tầng, layer) sau: o Tầng ngữ âm (phonetic and phonological layer): Nghiên cứu ngữâm (linguistic sounds), mơ hình hố việc từ cách nói thơng thường phát âm nào, chất điệu, ngôn điệu, ngữ điệu (prosody, intonation), trường độ âm tiết, độ nhấn, biến thanh, … o Tầng hình thái (morphological layer): Nghiên cứu thành phần có nghĩa từ (word), từ tạo hình vị (morphemes) từ tách câu Thí dụ, từ “tiếng Việt” tạo thành từ “t-iếng V-iệ-t”, ngữ (phrase) “xử lý tiếng Việt” tạo thành gồm hai từ “xử lý” “tiếng Việt” Trong tiếng Việt, toán quan trọng phân tách từ (word segmentation) Một thí dụ quen thuộc câu “Ơng già nhanh q” phân tách thành (Ơng già) (đi) (nhanh quá) (Ông) (già đi) (nhanh quá) cách khác o Tầng ngữ pháp (morphological layer): Nghiên cứu quan hệ cấu trúc từ, xem từ với để tạo câu Quá trình thường cụ thể bước sau: Xác định từ loại (POS tagging): Xem từ câu loại (danh từ, động từ, giới từ, …) Trong thí dụ trên, “Ơng già” danh từ, “đi” động từ, “nhanh” trạng từ, “quá” thán từ LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Xác định cụm từ (chunking): Thí dụ “Ơng già” cụm danh từ, “đi” cụm động từ, “nhanh quá” cụm trạng từ Như câu có hai phân tích (Ơng già) (đi) (nhanh q) (Ông) (già đi) (nhanh quá) Xác định quan hệ ngữ pháp (parsing): (Ông già) (đi) (nhanh quá) quan hệ chủ ngữ-vị ngữ-trạng ngữ o Tầng ngữ nghĩa (semantic layer): Nghiên cứu xác định nghĩa từ tổ hợp chúng để tạo nghĩa câu Thí dụ phân tích (Ơng già) (đi) (nhanh q), động từ “đi” có nghĩa “bước đi”, hay “chết” hay “điều khiển” (khi đánh cờ), … tương ứng ta có nghĩa khác câu o Tầng ngữ dụng (pragmatic layer): Nghiên cứu mối quan hệ ngôn ngữ ngữ cảnh sử dụng ngôn ngữ (context-of-use) Ngữ dụng nghiên cứu việc ngôn ngữ dùng để nói người vật Việc phân tích câu nói hay câu văn tầng từ ngữ âm (1) đến tầng ngữ pháp (3) gọi phân tích sơ bộ(shallow parsing) Nếu phân tích thêm tầng ngữ nghĩa (từ (1) đến (4)) ta có phân tích đầy đủ (fully parsing) Trong vấn đề xử lí ngơn ngữ, có vấn đề cần đến phân tích đầy đủ (như dịch tự động), có vấn đề với phân tích sơ xử lí (như tìm kiếm thơng tin, phân tích văn cho tổng hợp tiếng nói, mơ hình ngơn ngữ nhận dạng tiếng nói…) Chương 4: Xây dựng hệ thống trả lời tiếng Việt tự động sử dụng mã nguồn mở OpenNLP Mô tả hệ thống thực tế Hệ thống xây dựng cho thiết bị di động có kết nối internet để đáp ứng câu hỏi người dùng lĩnh vực sau: Tìm đường: Người dùng tìm đường từ vị trí tới vị trí khác khu vực Hà Nội xác định vị trí mà đứng Nhắn tin: Người dùng dễ dàng nhắn tin cho người có danh sách điện thoại giọng nói Hẹn giờ: Người dùng hẹn giọng nói LUAN VAN Chuyển âm thành text Định dạng câu trả lời TEXT Xác định miền cụ thể cho câu hỏi Xử lý câu hỏi Gửi câu trả lời cho ứng dụng thiết bị CHAT LUONG download : add luanvanchat@agmail.com Mơ hình hệ thống trả lời tự động giọng nói Trong việc xây dựng hệ thống không quan tâm tới việc làm để chuyển liệu âm thành TEXT, mà quan tâm làm để phân tích câu hỏi dạng TEXT câu trả lời Phân tích câu hỏi tiếng Việt cho hệ thống trả lời tự động Trong hệ thống trả lời tự động câu hỏi tiếng Việt này, làm việc với lĩnh vực nêu lên Trong thực tế người dùng hỏi câu hỏi như: Đường từ Hàng Bài tới Trần Thái Tơng nào? Nói với Nguyễn Duy Long, bạn có muốn ăn tối với tớ khơng? Hãy báo thức cho lúc 30 phút chiều Tơi muốn dậy lúc rưỡi tối Vì làm việc với hệ thống hỏi đáp miền đóng nên số câu hỏi mà người ta muốn đưa không nhiều với số hữu hạn câu Nhưng hệ thống phải phân tích câu hỏi xử lý yêu cầu mà người hỏi muốn có Trong lĩnh vực tìm đường, người hỏi quan tâm địa điểm muốn tìm như: địa điểm A tới địa điểm B Trong lĩnh vực nhẵn tin, người nhẵn quan tâm làm để tin nhắn đến được người mà nhắn như: Nguyễn Văn A, Người yêu Hay hẹn quan trọng mà người ta muốn báo thức: X Y phút Có điều quan trọng phân tích ngữ nghĩa câu: Làm để xác định câu hỏi thuộc loại lĩnh vực nào: tìm đường, nhắn tin hay hẹn Vấn đề hay gọi phân lớp cho câu (Classifying) Sau phân lớp xong cho câu, phải phát thực thể số cần thiết câu Phân lớp cho câu (Classifying) OpenNLP Để xây dựng hệ thống phân lớp cho câu Mã nguồn mở OpenNLP cho phép tạo Model để làm nhiệm vụ Để xây dựng Model ta phải viết tài liệu định đạng phân lớp chuẩn theo OpenNLP Mỗi dòng chứa thể loại (category) văn ngăn cách dấu cách trắng Ở timduong, nhantin, hengio, thể loại tìm đường, nhắn tin hẹn LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com timduong Đường từ Hàng Bài tới Trần Thái Tông nào?\ Làm để đến Hàng Bơng nhantin Nói với Nguyễn Duy Long, bạn có muốn ăn tối với tớ khơng? hengio Tôi muốn dậy lúc rưỡi\ Hãy báo thức tơi lúc tối Khi thực có Model OpenNLP có hỗ trợ Document Categorizer API để phân lớp: InputStream is = DoccatModel m = new DoccatModel(is); Với lớp DoccatModel gọi tiếp tục String inputText = “Đường từ Hàng Bài tới Trần Thái Tông nào?” DocumentCategorizerME myCategorizer = new DocumentCategorierME(m); double[] outcomes = myCategorizer.categorize(inputText); String category = myCategorizer.getBestOutcome();// ket qua: timduong Phát thực thể câu (Name Finder) OpenNLP Để xác định thực thể Name Finder câu sau cần có Model Model bị phụ thuộc vào ngôn ngữ khác kiểu thực thể huấn luyện Để tìm tên văn câu dạng liệu phải phân tách thành thẻ (token) câu Trong hệ thống phải phân tách thực thể câu Ví dụ huyến luyện Model sau: Hãy đường từ Kim Mã tới Xuân Thủy Nói với Nguyễn Duy Long bạn ăn tối với Hãy báo thức lúc bốn chiều Để có model tốt nên huấn luyện với 15000 câu LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Câu lệnh sau chuyển liệu thành model với định dang bin $bin/opennlp TokenNameFinderTrainer -encoding UTF-8 -lang en -data en-nerperson.train -model en-ner-person.bin Để tiến hành tìm tên câu sử dụng code OpenNLP TokenNameFinderModel model = null; try { model = new TokenNameFinderModel(modelIn); } catch (IOException e) { e.printStackTrace(); } finally { if (modelIn != null) { try { modelIn.close(); } catch (IOException e) { } } } NameFinderME nameFinder = new NameFinderME(model); String text = "Đánh thức lúc bốn chiều"; String[] sentence = text.split(" "); Span nameSpans[] = nameFinder.find(sentence); 4.1 Phân tích trả lời câu lĩnh vực tìm đường Đối với hệ thống câu hỏi tìm đường, phân tích người ta thường tìm đường với số câu hỏi thông dụng sau: Tôi muốn từ tới Làm để từ tới Hãy đường cho từ tới Đường từ tới nào? Hãy dẫn đường tới Tôi đứng đâu? Chỗ chỗ nào? Trong dấu “ ” tên địa điểm mà người ta muốn đề cập tới Làm để hệ thống phát địa điểm câu điều khó Địi hỏi phải có sở liệu lớn tên địa điểm cập nhật theo LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com thời gian Vậy nên với hệ thống q trình phát triển làm việc với số địa danh tiếng khu vực TP.Hà Nội Sau có Model tốt để phục vụ Chúng ta tiến hành tìm danh từ địa điểm câu trả lời cho ứng dụng di động Khi xác định địa điểm câu Đối với câu có địa điểm địa điểm đứng trước nơi xuất phát, địa điểm sau đích đến Vậy câu trả lời cho client có dạng: timduong|địa điểm – địa điểm Đối với câu xác định địa điểm địa điểm đích cịn địa điểm xuất phát nơi đứng Câu trả lời cho client có dạng: timduong|địa điểm – địa điểm Khi client nhận kết có định dạng hiểu câu hỏi tìm đường Và sử dụng Googlemap để hiển thị đường cho người dùng theo thứ tự câu trả lời 4.2 Phân tích trả lời câu lĩnh vực nhắn tin Những câu hỏi thông dụng mà hỏi nhắn tin giọng nói sau: Nói với (nội dung) Nhắn tin tới (nội dung) Bảo với (nội dung) Trong dấu “ ” tên người Cũng vấn đề phần tìm đường làm để hệ thống nhận dạng tên người câu không dễ dàng Địi hỏi phải có sở liệu tên người lớn để đào LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com tạo Tên người tiếng Việt lớn phong phú nên để nhận dạng tốt phải cần có thời gian để thu thập lượng liệu Sau sử dụng OpenNLP để nhận dạng tên người câu Chúng ta cần tách nội dung tin nhắn câu để gửi trả kết cho client Điều dễ nhận bời nội dung tin nhắn nằm sau tên người câu hỏi Vậy tạo câu trả lời cho client sau: nhantin|tên người| nội dung tin nhắn 4.3 Phân tích trả lời câu lĩnh vực hẹn Những câu hỏi thông thường hàng ngày tiếng Việt đa dạng phức tạp, bao gồm từ như: kém, rưỡi, sáng, chiều, trưa, tối Và nhiệm vụ hệ thống phải phân tích đưa câu trả lời xác người dùng mong muốn Những câu hỏi mà người dùng hay hỏi như: Đánh thức lúc LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Tôi muốn dậy lúc Tôi muốn đánh thức vào lúc Hãy gọi lúc Trong dấu “ ” trường hợp thời gian mà người hẹn muốn đặt báo thức Ở câu thơng thường như: rưỡi chiều => 15h30min 12 35 phút => 12h35min 15 chiều => 16h45min 12 chiều => không hợp lệ Dưới đây, em xin đưa thuật toán để đưa thời gian tiếng Việt thời gian chuẩn INPUT: time OUPUT: hour:minute Var: minute=0, hour=0; minute = getMinute(); hour = getHour(); if (exist “kém”) { hour = hour – 1; minute = 60 – minute; } if (exist “sáng”) { } LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com if (exist “trưa”) { if(hour >= 10 && hour = && hour = 12 && hour = && hour = 18 && hour = && hour