Luận văn:Nghiên cứu và phát triển các công cụ xử lý tiếng Việt trên UIMA - Pdf 15



ĐẠ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

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

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

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

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

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…)

đơn giản). Ngoài ra còn có các đặc trưng của chú giải do người phát triển kiến trúc
UIMA tạo ra [11].
UIMA có một công cụ chạy trên Eclipse giúp người dùng định dạng các chú
giải và tìm hiểu thông tin về hệ thống kiểu là Component Descriptor Editor. Trong
hình 2.2 là các chú giải được chúng tôi tạo ra và đăng ký vào trong hệ thống kiểu. Ví
dụ: kiểu Location_VN là chú giải về các tên địa phương trong tiếng Việt. Chúng được
kế thừa từ lớp uima.tcas.annotator, đặc trưng posTag hay componentId kế thừa từ
các lớp uima.cas.String. Các đặc trưng mặc định như begin, end không được thể hiện
ra trong hình vẽ nhưng chúng vẫn là các đặc trưng của Person_VN.
Chương 2: Tổng quan UIMA Nguyễn Đức Nam
7
Hình 2.2 – Các chú giải trong hệ thống kiểu
Các chú giải thực chất là các lớp được sử dụng trong máy phân tích để xử lý tài
liệu. Mục tiếp theo trình bày về máy phân tích, chức năng, phương thức hoạt động
cũng như cách xây dựng chúng trên UIMA. Một lớp chú giải chứa 3 phương thức:
initialize(), process() và destroy().
Initialize() được gọi bởi framework một lần khi khởi tạo lớp chú giải.
Process() được gọi mỗi khi có một tài liệu được xử lý.
Chương 2: Tổng quan UIMA Nguyễn Đức Nam
8


SplitVN
Splits
Aggregate Annotators
TokenizerVN
SplitVN
Annotators
TokenizerVN
Splits . . .
Chương 2: Tổng quan UIMA Nguyễn Đức Nam
9 Trong hình 2.3, các TokenizerVN là các chú giải được xác định bởi các lớp chú
giải Tokenizer Vietnamese. Các chú giải TokenizerVN là các chú giải về các từ vựng
trong tiếng Việt, nhiệm vụ của chú giải là tách ra được các từ tiếng Việt chuẩn xác.
SplitVN là chú giải về các phân tách trong câu (bao gồm . | ! | ?), nhiệm vụ của chú
giải này là tách được chính xác các dấu phân tách trên trong văn bản. Ngoài ra còn có
nhiều chú giải khác về thực thể như tên người, tên địa phương, dân tộc v.v… Các chú
giải này sẽ được đưa vào cùng một chú giải để xử lý trong máy phân tích tổng hợp.
Các chú giải lấy ra từ các chú giải đơn sẽ được ghép lại với nhau để sử dụng
trong một máy phân tích tổng hợp. Máy phân tích này sẽ thực hiện phân tích tất cả chú
giải và xử lý trong tài liệu như các máy phân tích đơn.
2.2.2 Máy phân tích
Một trong những khối cơ bản quan trọng nhất của UIMA là máy phân tích (Analysis
Engine). Chúng được tạo ra để phân tích một tài liệu, suy luận sau đó lưu lại các mô tả
thuộc tính về một phần tài liệu hay toàn bộ tài liệu. Các mô tả này được gọi chung là
kết quả phân tích. Kết quả phân tích thường đại diện cho nội dung của tài liệu. Kết quả


Hình 2.4 - Máy phân tích tổng hợp
Một máy phân tích đơn có thể xử lý một hoặc một vài chú giải. Các công cụ phân
tích phức tạp hơn được gọi là máy phân tích tổng hợp. Các chú giải có xu hướng thể
hiện các chức năng một cách ngang bằng. Ví dụ: phát hiện ngôn ngữ, tách từ, gán nhãn
từ loại v.v… Các chức năng này thường chỉ là một phần trong số các nhiệm vụ của
công cụ phân tích tổng hợp. Một quy trình làm việc của động cơ thành phần có thể
đem ra để thực hiện các nhiệm vụ phức tạp hơn.
Hình 2.4 miêu tả một AE phát hiện thực thể có tên có luồng làm việc như sau: bắt
đầu với phát hiện ngôn ngữ sau đó là tách từ, xác định nhãn từ loại, tiếp theo là phân
tích sâu về ngữ pháp và cuối cùng là xác định thực thể. Kết quả mỗi bước trong luồng
làm việc là yêu cầu đầu vào của các bước tiếp theo. Nhận dạng thực thể chỉ có thể thực
hiện khi phân tích sâu về ngữ pháp đã được ghi trong CAS.
UIMA cung cấp các phương pháp cần thiết cho việc tạo ra chú giải và máy
phân tích, đó là các bộ miêu tả XML.
Chương 2: Tổng quan UIMA Nguyễn Đức Nam
11 2.2.3 Bộ miêu tả XML
Kiến trúc UIMA miêu tả các thông tin về chú giải, máy phân tích trong bộ miêu tả
XML và cung cấp các lớp chú giải đi kèm theo nó giúp cho UIMA hoạt động. Bộ miêu
tả có thành phần chính là một file XML dùng để xác định các thành phần và cách thức
hoạt động của máy phân tích. Thành phần các file XML bao gồm :
 Tên, miêu tả về chú giải, phiên bản và tác giả.
 Đầu vào và đầu ra của những chú giải định nghĩa các kiểu trong hệ thống kiểu.
Định nghĩa các tham số cấu hình cho các chú giải.

XML trên sẽ được máy phân tích sử dụng tự động.

Chương 2: Tổng quan UIMA Nguyễn Đức Nam
13 2.2.3.3 capabilities
Thẻ capabilities chứa các thẻ con <inputs>, <outputs>, <languagesSupported>,
<inputSofas> và <outputSofas>. Thẻ <Inputs> và <Outputs> có thể được để trống
còn các thẻ còn lại có thể không cần bắt buộc khai báo.

Thẻ <Inputs> xác định các kiểu được sử dụng trong máy phân tích gồm những
kiểu gì. Nó thường bắt khai báo đặc trưng tên của kiểu.
Thẻ <Outputs> xác định kiểu đầu ra mong muốn, nó sẽ là các lớp chú giải định
nghĩa đặc trưng của chú giải được sử dụng.
Thẻ <InputSofas> và <outputSofas> xác định tên các sofa được sử dụng bởi
thành phần này, tất cả tên sofa phải được đặt khác nhau và có phần định dạng riêng về
mỗi sofa này.
Thẻ <languagesSupported> chứa mã ngôn ngữ ISO, ví dụ: en cho tiếng Anh
hoặc en-US cho tiếng Anh Mỹ.
Chương 2: Tổng quan UIMA Nguyễn Đức Nam
14
CAS là một cấu trúc dữ liệu dựa trên đối tượng cho phép đại diện giá trị bao
gồm đặc trưng và giá trị. Theo logic, cấu trúc này bao gồm tài liệu sắp được đưa vào
phân tích. UIMA bao gồm lớp thực thi và giao diện cho kiến trúc này.
Chương 2: Tổng quan UIMA Nguyễn Đức Nam
16 Trong hình 2.5 là ví dụ biểu diễn đối tượng trong CAS về câu: “Nam là sinh viên
trường đại học Công Nghệ. Cuối năm nay cậu ấy sẽ ra trường”. CAS sẽ chứa đối
tượng của kiểu Người và đối tượng về kiểu Tổ chức. Đối với mỗi kiểu Người, Tổ chức
tìm thấy trong tài liệu, máy phân tích sẽ tạo ra một đối tượng Người, Tổ chức trong
CAS và liên kết nó với các chuỗi ký tự tương ứng trong tài liệu. Nam là sinh viên trường Đại học Công Nghệ. Cuối năm nay cậu ấy sẽ ra trường.
Hình 2.5 - Biểu diễn đối tượng trong tài liệu
Trong khi CAS là một cấu trúc dữ liệu thì UIMA định nghĩa một số kiểu cơ bản
và hỗ trợ nhà phát triển hoàn thiện hệ thống kiểu của riêng mình. Có thể coi nó như là
một lược đồ đối tượng cho CAS. Các kiểu tạo ra nhằm xác định một vài loại đối tượng
được phát hiện trong tài liệu thông qua máy phân tích rồi ghi lại vào hệ thống kiểu.
Như vậy Người có thể định nghĩa là một kiểu. Các kiểu có đặc trưng và giá trị.

được trong mỗi khung nhìn đó. Một ví dụ cho việc sử dụng khung nhìn CAS là cho
việc dịch các tài liệu. Mỗi một bản dịch sẽ đại diện cho một khung nhìn CAS khác
nhau [11].
2.4 Xây dựng ứng dụng và xử lý tập tài liệu
Trong mục 2.4 chúng tôi trình bày về cách thức tương tác giữa ứng dụng với UIMA và
máy xử lý tập tài liệu.
2.4.1 Tương tác giữa ứng dụng và UIMA

Hình 2.6 - UIMA tương tác với các ứng dụng

Trích đoạn Tách từ tiếng Việt trên UIMA Áp dụng nhận dạng thực thể có tên trên GATE vào UIMA
Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status