Đề tài Nghiên cứu và phát triển các công cụ xử lý tiếng Việt trên UIMA

Kiến trúc xử lý thông tin phi cấu trúc (Unstructured Information Management Architecture - UIMA) giúp phân tích nguồn thông tin không có cấu trúc thành những thông tin có cấu trúc mang giá trị cao. Kiến trúc này linh hoạt và hiệu quả trong việc ghép nối giải pháp nhỏ thành một công cụ lớn hơn, hoàn thiện hơn. Chúng tôi tận dụng những đặc điểm này để xây dựng công cụ phân tích tiếng Việt bằng cách tích hợp các công cụ xử lý tiếng Việt có sẵn lên UIMA và đưa ra một số phương hướng để phát triển chúng.

pdf50 trang | Chia sẻ: nhungnt | Lượt xem: 2055 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Đề tài Nghiên cứu và phát triển các công cụ xử lý tiếng Việt trên UIMA, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ĐẠI HỌC CÔNG NGHỆ ĐẠI HỌC QUỐC GIA HÀ NỘI -------- Nguyễn Đức Nam Nghiên cứu và phát triển các công cụ xử lý tiếng Việt trên UIMA KHÓA LUẬN TỐT NGHIỆP HỆ CHÍNH QUY Ngành: Công Nghệ Thông Tin Hà Nội – 2010 ĐẠI HỌC CÔNG NGHỆ ĐẠI HỌC QUỐC GIA HÀ NỘI -------- Nguyễn Đức Nam Nghiên cứu và phát triển các công cụ xử lý tiếng Việt trên UIMA KHÓA LUẬN TỐT NGHIỆP HỆ CHÍNH QUY Ngành: Công Nghệ Thông Tin GV hướng dẫn: TS. Phạm Bảo Sơn Hà Nội – 2010 Nghiên cứu, phát triển các công cụ xử lý tiếng Việt trên UIMA Nguyễn Đức Nam i Lời cảm ơn Trước tiên, em xin gửi lời cảm ơn sâu sắc nhất đến thầy Phạm Bảo Sơn, người đã không quản vất vả hướng dẫn em trong suốt thời gian làm khóa luận tốt nghiệp vừa qua. Em cũng xin chân thành cảm ơn anh Nguyễn Quốc Đại đã luôn chỉ bảo và giải đáp vướng mắc cho em trong quá trình làm khóa luận. Em xin bày tỏ lời cảm ơn sâu sắc đến các thầy cô giáo trong Trường Đại Học Công Nghệ đã tận tình dạy dỗ em suốt bốn năm học qua. Tôi xin cảm ơn tập thể phòng HMI những người luôn động viên và cho tôi những lời khuyên có ích trong quá trình làm khóa luận. Xin cảm ơn những người bạn luôn ở bên cạnh quan tâm, ủng hộ và động viên tôi. Con xin cảm ơn bố, mẹ và gia đình đã luôn bên con, cho con động lực để làm việc tốt hơn. Hà Nội, ngày 20 tháng 5 năm 2010 Nguyễn Đức Nam Nghiên cứu, phát triển các công cụ xử lý tiếng Việt trên UIMA Nguyễn Đức Nam ii Lời mở đầu Kiến trúc xử lý thông tin phi cấu trúc (Unstructured Information Management Architecture - UIMA) giúp phân tích nguồn thông tin không có cấu trúc thành những thông tin có cấu trúc mang giá trị cao. Kiến trúc này linh hoạt và hiệu quả trong việc ghép nối giải pháp nhỏ thành một công cụ lớn hơn, hoàn thiện hơn. Chúng tôi tận dụng những đặc điểm này để xây dựng công cụ phân tích tiếng Việt bằng cách tích hợp các công cụ xử lý tiếng Việt có sẵn lên UIMA và đưa ra một số phương hướng để phát triển chúng. Nghiên cứu, phát triển các công cụ xử lý tiếng Việt trên UIMA Nguyễn Đức Nam iii Mục lục Lời cảm ơn .............................................................................................................................................................. i Lời mở đầu ............................................................................................................................................................. ii Mục lục .................................................................................................................................................................. iii Danh sách hình vẽ .................................................................................................................................................. v Danh sách thuật ngữ ............................................................................................................................................ vi Chương 1: Giới thiệu ............................................................................................................................................. 1 Chương 2: Tổng quan kiến trúc xử lý thông tin phi cấu trúc ............................................................................ 3 2.1 Giới thiệu UIMA ........................................................................................................................................ 3 2.2 Nền tảng phân tích .................................................................................................................................... 6 2.2.1 Hệ thống kiểu và chú giải ................................................................................................................. 9 2.2.2 Máy phân tích ................................................................................................................................. 10 2.2.3 Bộ miêu tả XML .............................................................................................................................. 15 2.3 Mô tả đối tượng trong tài liệu ................................................................................................................. 17 2.4 Xây dựng ứng dụng và xử lý tập tài liệu ................................................................................................. 17 2.4.1 Tương tác giữa ứng dụng và UIMA ................................................................................................. 18 2.4.2 Giới thiệu máy xử lý tập tài liệu....................................................................................................... 20 2.4.3 Quản lý xử lý tập tài liệu .................................................................................................................. 21 2.5 Khai thác kết quả phân tích .................................................................................................................... 21 2.5.1 Tìm kiếm ngữ nghĩa ......................................................................................................................... 22 2.5.2 Cơ sở dữ liệu .................................................................................................................................... 22 2.6 Xử lý đa phương tiện ................................................................................................................................ 24 Chương 3: Xây dựng công cụ phân tích tiếng Việt trên UIMA ....................................................................... 24 3.1 Cài đặt Plugins cho UIMA ....................................................................................................................... 26 3.2 Document Analyzer .................................................................................................................................. 28 3.3 Các công cụ phân tích tiếng Việt ............................................................................................................. 29 Nghiên cứu, phát triển các công cụ xử lý tiếng Việt trên UIMA Nguyễn Đức Nam iv 3.3.1 Giới thiệu tách từ tiếng Việt ............................................................................................................. 29 3.3.2 Giới thiệu nhận dạng thực thể tiếng Việt có tên............................................................................... 30 3.4 Ứng dụng công cụ phân tích tiếng Việt trên UIMA ................................................................................. 30 3.4.1 Tách từ tiếng Việt trên UIMA ........................................................................................................... 30 3.4.2 Áp dụng nhận dạng thực thể có tên trên GATE vào UIMA ............................................................... 34 3.4.3 Kết hợp nhận dạng các chú giải ....................................................................................................... 37 Chương 4: Tổng kết và hướng phát triển .......................................................................................................... 40 Tài liệu tham khảo ................................................................................................................................................ A Nghiên cứu, phát triển các công cụ xử lý tiếng Việt trên UIMA Nguyễn Đức Nam v Danh sách hình vẽ Hình 2.1 – UIMA là cầu nối 2 “thế giới” thông tin có cấu trúc và phi cấu trúc ............................................... 4 Hình 2.2 – Các chú giải trong hệ thống kiểu ....................................................................................................... 7 Hình 2.3 – Kết hợp các chú giải ............................................................................................................................ 8 Hình 2.4 – Máy phân tích tổng hợp ................................................................................................................... 10 Hình 2.5 – Biểu diễn đối tượng trong tài liệu .................................................................................................... 16 Hình 2.6 – UIMA tương tác với các ứng dụng .................................................................................................. 17 Hình 2.7 – Luồng làm việc của CPE .................................................................................................................. 19 Hình 2.8 – CPM tương tác với ứng dụng ........................................................................................................... 20 Hình 2.9 – Xử lý audio ........................................................................................................................................ 22 Hình 3.1 – Cài đặt Plugins cho UIMA .............................................................................................................. 25 Hình 3.2 – Các công cụ trong SDK .................................................................................................................... 26 Hình 3.3 – Document Analyzer .......................................................................................................................... 26 Hình 3.4 –Kết quả phân tích sử dụng Token_VN ............................................................................................. 27 Hình 3.5 – Style Map Editor ............................................................................................................................... 28 Hình 3.6 –Kết quả chạy tách từ tiếng Việt ....................................................................................................... 33 Hình 3.7 –Gán nhãn từ loại................................................................................................................................. 34 Hình 3.8 – Kết quả phân tích một số chú giải ................................................................................................... 36 Hình 3.9 – Kết quả phân tích tổng hợp .............................................................................................................. 39 Nghiên cứu, phát triển các công cụ xử lý tiếng Việt trên UIMA Nguyễn Đức Nam vi Danh sách thuật ngữ AE (Analysis Engine): các máy phân tích dùng trong xử lý Annotator: các chú giải dùng để phân tích tài liệu Aggregate AE (Aggregate Analysis Engine): máy phân tích tổng hợp CAS (Common Analysis Structure): cấu trúc phân tích thường gặp, nó là một cấu trúc dữ liệu lưu lại các mô tả về đối tượng trong tài liệu CAS Consumer: tổng hợp các cấu trúc dữ liệu từ các CAS và là thành phần kết nối dữ liệu tới máy tìm kiếm hay cơ sở dữ liệu CPE (Collection Processing Engine): máy phân tích dùng để xử lý các tập tài liệu bao gồm từ khâu lấy tài liệu tới trích xuất kết quả ra cơ sở dữ liệu hay máy tìm kiếm CPM (Collection Processing Management): bộ quản lý hoạt động của máy xử lý tập tài liệu Primitive AE (Primitive Analysis Engine): máy phân tích đơn nó dùng để phân tích tài liệu mà chỉ dùng một chú giải Type System: hệ thống kiểu lưu lại các kiểu của hệ thống và các chú giải được đăng ký vào hệ thống UIMA (Unstructured Information Management Architecture): kiến trúc xử lý thông tin phi cấu trúc UIMA SDK (UIMA Software Development Kit): bộ phần mềm của UIMA bao gồm thành phần hỗ trợ việc phát triển kiến trúc Chương 1: Giới thiệu Nguyễn Đức Nam 1 Chương 1 Giới thiệu Với sự bùng nổ của thông tin trong thời đại ngày nay, kho dữ liệu ngày càng lớn việc tìm ra những thông tin có ích, mang giá trị cao là điều cấp thiết. Các thông tin trong các kho dữ liệu thường là những thông tin phi cấu trúc còn những thông tin có cấu trúc thường là những thông tin có ích, mang giá trị cao, do vậy việc đầu tiên cần quan tâm là phải có một hệ thống để chuyển những thông tin phi cấu trúc thành những thông tin có cấu trúc. Thông tin phi cấu trúc là nguồn thông tin lớn nhất, nhanh nhất và ngày càng tăng trong nguồn thông tin có sẵn cho các doanh nghiệp và chính phủ hiện nay. Xem xét các thông tin được lưu trữ trong các doanh nghiệp và phương tiện truyền thông trên thế giới bao gồm văn bản, âm thanh, video v.v…Các nội dung có giá trị cao trong các nguồn thông tin phi cấu trúc thường nằm lẫn lộn trong kho nội dung lớn. Chúng được giấu trong các nguồn thông tin khác nhau. Tự động tìm ra những thông tin mang giá trị cao, chuyển chúng thành những thông tin có cấu trúc, lưu trữ vào cơ sở dữ liệu hay sử dụng những thông tin có cấu trúc này vào các ứng dụng khác là hướng phát triển của một kiến trúc quản lý thông tin hiện đại. Kiến trúc quản lý thông tin phi cấu trúc (Unstructure Information Management Architecture - UIMA) [10][11] được xây dựng để thực hiện nhiệm vụ trên. Trên thế giới đã có rất nhiều các ứng dụng kiến trúc UIMA để xử lý tiếng Anh, tiếng Đức v.v… Kho dữ liệu về tiếng Việt ngày càng phát triển và các nhu cầu xử lý nguồn thông tin này ngày càng tăng. Xây dựng các hệ thống xử lý tiếng Việt trên UIMA trở nên cấp thiết. Điểm khó khăn trong xử lý trên ngôn ngữ tiếng Việt ở chỗ tiếng Việt đa dạng, phong phú và có nhiều điểm còn nhập nhằng. Chương 1: Giới thiệu Nguyễn Đức Nam 2 Các công cụ xử lý tiếng Việt tại thời điểm hiện tại thường tách ra thành những phần riêng biệt như tách từ, gán nhãn từ loại, nhận dạng tên thực thể v.v…Các công cụ này cũng hoạt động trên các hệ thống khác nhau. Trong khóa luận chúng tôi nghiên cứu về UIMA, tích hợp các công cụ xử lý tiếng Việt như tách từ [1][2] và nhận dạng thực thể tiếng Việt có tên [3] trên kiến trúc UIMA nhằm tạo ra một hệ thống phân tích tiếng Việt bao gồm nhiều công cụ nhỏ, tận dụng được các ưu điểm của kiến trúc UIMA và tiết kiệm được thời gian để xây dựng một hệ thống hoàn toàn mới. Phần còn lại của khóa luận được chia thành 4 chương:  Chương 2: Giới thiệu một cách tổng quan nhất về UIMA cũng như các ứng dụng cơ bản của UIMA.  Chương 3: Xây dựng công cụ phân tích tiếng Việt từ các công cụ có sẵn như tách từ và nhận dạng thực thể có tên.  Chương 4: Tổng kết lại kết quả và đưa ra những hướng phát triển mới cho đề tài trong tương lai. Chương 2: Tổng quan UIMA Nguyễn Đức Nam 3 Chương 2 Tổng quan kiến trúc xử lý thông tin phi cấu trúc (UIMA) Chương 2 trình bày những giới thiệu tổng quan nhất về UIMA, các nền tảng cơ bản để xây dựng một ứng dụng, cách xây dựng một ứng dụng và khai thác kết quả phân tích. 2.1 Giới thiệu UIMA UIMA là một kiến trúc quản lý thông tin phi cấu trúc được phát triển bởi IBM giúp phân tích các nguồn dữ liệu phi cấu trúc và chuyển chúng thành nguồn dữ liệu có cấu trúc, mang giá trị cao. UIMA là một kiến trúc dùng để tạo ra, tìm kiếm, khai thác thông tin; triển khai các phương pháp phân tích và tích hợp những phương pháp này với kỹ thuật tìm kiếm. Kiến trúc quản lý thông tin phi cấu trúc bao gồm các thành phần giao diện, mẫu thiết kế, biểu diễn thông tin và đóng vai trò là người phát triển. Framework UIMA là một mã nguồn mở, nó cung cấp một môi trường để các nhà phát triển có thể chạy các chương trình của riêng mình, khai phá các ứng dụng của kiến trúc quản lý thông tin phi cấu trúc. Thành phần của framework viết bằng Java hoặc C++ cho việc phát triển, khai thác các thành phần và ứng dụng UIMA. Những Framework này cũng cung cấp cho lập trình viên một môi trường phát triển dựa trên Eclipse [11] bao gồm các ứng dụng và tiện ích để khai thác kiến trúc quản lý thông tin phi cấu trúc. Chương 2: Tổng quan UIMA Nguyễn Đức Nam 4 UIMA là một mã nguồn mở, có khả năng mở rộng để tạo ra, khai thác các biện pháp quản lý thông tin phi cấu trúc từ các văn bản hay các tài liệu đa phương tiện sau đó ghép nối các kết quả thu được vào các thành phần tìm kiếm. Hình 2.1- UIMA là “cầu nối” giúp liên kết hai thế giới thông tin có cấu trúc và phi cấu trúc [11]. UIMA giúp xây dựng “cây cầu” giữa hai thế giới thông tin có cấu trúc và phi cấu trúc (hình 2.1). Thế giới thông tin phi cấu trúc là những thông tin trên các kho dữ liệu như Web, văn bản, audio, video v.v…Thế giới thông tin có cấu trúc bao gồm các cấu trúc chức năng, nội dung kết quả phân tích và thường được lưu trong cơ sở dữ liệu. “Cây cầu” giữa hai thế giới được xây dựng thông qua các thành phần, khung phần mềm của kiến trúc UIMA và khai thác khả năng phân tích trên chính kiến trúc này. UIMA hỗ trợ việc tạo ra, khám phá, tận dụng các khả năng phân tích và liên kết chúng với các dịch vụ thông tin có cấu trúc. Một ứng dụng quản lý thông tin phi cấu trúc có thể coi như một hệ thống phần mềm dùng để phân tích một khối lượng lớn thông tin phi cấu trúc (văn bản, âm thanh, video, hình ảnh . . .) để tìm ra, tổ chức và cung cấp các thông tin có ích liên quan đến người dùng hoặc đưa ra kết quả được dùng trong các ứng dụng khác. Ví dụ: ứng dụng trong quá trình xử lý hàng triệu phản ứng thuốc từ đó tìm ra mối liên hệ giữa các loại Chương 2: Tổng quan UIMA Nguyễn Đức Nam 5 thuốc gây nghiện. Hay là ứng dụng xử lý hàng chục triệu tài liệu để tìm ra bằng chứng quan trọng cho thấy có thể có mối đe dọa hay tội phạm [11]. Trước hết các dữ liệu phi cấu trúc phải được phân tích để tìm kiếm, xác định và phát hiện các khái niệm liên quan mà không được chú giải rõ ràng như tên người, tổ chức, địa danh, sản phẩm v.v…Thách thức khó hơn trong việc phân tích là phát hiện ra ý kiến, phản hồi hay các sự kiện đặc biệt. Cao hơn nữa là các mối quan hệ giữa các thực thể ví dụ vị trí, tài chính, hỗ trợ, thanh toán, sửa chữa v.v…Các khái niệm này trong tài liệu phi cấu trúc phải rộng, đa dạng và thường có miền cụ thể. Những thành phần dùng cho việc phân tích phải được tương thích dễ dàng và có khả năng kết hợp để tạo thuận lợi cho sự phát triển các ứng dụng của UIMA [11]. Kết quả phân tích được định dạng vào các cấu trúc để thuận tiện trong việc xử lý thông tin, kết hợp với sử dụng công cụ tìm kiếm và đưa các kết quả này vào cơ sở dữ liệu dùng trong phân tích thông tin online hay khai phá dữ liệu. Kết quả phân tích cung cấp những nội dung mới nhất, hiệu quả nhất cho khách hàng trong các quá trình phản hồi hay truy vấn. Trong phân tích nội dung phi cấu trúc, các ứng dụng UIMA sử dụng một loạt các công nghệ phân tích đa dạng như:  Thống kê và xử lý ngôn ngữ tự nhiên  Thông tin phản hồi  Học máy  Ontologies  Trả lời tự động  Khai phá nguồn kiến thức (CYC, WordNet, Framnet v.v…) Kỹ thuật phân tích sử dụng các công nghệ này đã được phát triển độc lập bằng cách sử dụng giao diện hay nền tảng khác nhau. UIMA cho phép các nhóm phát triển chia nhỏ một project lớn thành các thành phần nhỏ sau đó xây dựng giải pháp cho từng thành phần và tích hợp lại nhanh chóng thông qua các kỹ thuật hay giao diện sử dụng khác nhau. Chương 2: Tổng quan UIMA Nguyễn Đức Nam 6 Framework UIMA cung cấp một môi trường thời gian chạy trong đó người dùng chạy bất cứ plugin nào của UIMA để xây dựng, triển khai các ứng dụng UIM. UIMA Software Development Kit (SDK) bao gồm UIMA framework, các công cụ và tiện ích cho việc sử dụng UIMA. 2.2 Nền tảng phân tích Các nền tảng cơ bản của kiến trúc quản lý thông tin phi cấu trúc bao gồm: hệ thống kiểu, chú giải, bộ miêu tả XML, máy phân tích, kết quả phân tích, mô tả kết quả phân tích. 2.2.1 Hệ thống kiểu và chú giải UIMA hoạt động dựa trên việc sử dụng các chú giải để phân tích nguồn dữ liệu phi cấu trúc. Bước đầu tiên để phát triển các chú giải là định nghĩa kiểu cấu trúc chức năng mà nó tạo ra trong hệ thống kiểu. UIMA định nghĩa một số kiểu đơn như Boolean, Integer, Long, Float, String, Double và mảng của những kiểu này. Ngoài ra UIMA còn xây dựng kiểu Top là nền tảng của các kiểu khác, FSArray định nghĩa mảng của một cấu trúc chức năng và các chú giải. Các chú giải có thể được xây dựng bởi người dùng sau đó đăng ký vào hệ thống kiểu của UIMA. Một chú giải thường chứa 3 trường (đặc trưng): begin, end lưu trữ các vị trí của ký tự xác định chú giả