Khóa luận Nghiên cứu và phát triển các công cụ xử lý tiếng Việt trên UIMA

ĐẠ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  
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  
i
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  
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.  
ii  
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  
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.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.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.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  
3.1 Cài đặt Plugins cho UIMA.......................................................................................................................26  
3.3 Các công cụ phân tích tiếng Việt .............................................................................................................29  
iii  
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  
3.3.1 Giới thiệu tách từ tiếng Việt.............................................................................................................29  
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  
iv  
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  
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  
v
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  
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  
vi  
Chương 1: Giới thiệu  
Nguyễn Đức Nam  
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à nhiều điểm còn nhập nhằng.  
1
Chương 1: Giới thiệu  
Nguyễn Đức Nam  
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.  
2
Chương 2: Tổng quan UIMA  
Nguyễn Đức Nam  
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.  
3
 
Chương 2: Tổng quan UIMA  
Nguyễn Đức Nam  
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  
4
Chương 2: Tổng quan UIMA  
Nguyễn Đức Nam  
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 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.  
5
Chương 2: Tổng quan UIMA  
Nguyễn Đức Nam  
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ải trong tài liệu và sofa  
(subject of annotator) xác định tài liệu chứa chú giải (được bỏ qua trong các chú giải  
đơ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.  
6
 
Chương 2: Tổng quan UIMA  
Nguyễn Đức Nam  
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ý.  
7
Chương 2: Tổng quan UIMA  
Nguyễn Đức Nam  
Destroy() có thể được gọi khi ứng dụng sử dụng xong các chú giải.  
Chú giải được dùng để nhận dạng các thực thể tìm thấy trong tài liệu. Các thực  
thể có thể là các tên người, tên tổ chức, tên quốc gia v.v…Các miêu tả về chú giải  
được xây dựng bằng bộ miêu tả XML xác định tên của chú giải, dùng lớp nào để định  
nghĩa và đầu ra tương ứng.  
Các chú giải như tên người, tên tổ chức, tên quốc gia v.v… đều được xây dựng  
để nhận dạng một loại thực thể có trong tài liệu. Chúng đều được sử dụng trong máy  
phân tích đơn (2.2.2).  
Mỗi một chú giải thường được dùng để nhận ra một loại thực thể do vậy tồn tại  
yêu cầu ghép nối các chú giải này với nhau để tạo ra một chú giải mới nhận dạng  
nhiều loại thực thể một lúc.  
Một đặc điểm cần quan tâm khi ghép nối các chú giải với nhau đó là khi các  
chú giải có thể cùng nhận dạng một đối tượng khác nhau nhưng đưa vào cả 2 chú giải.  
Do đó khi thực hiện kết hợp các chú giải cần xử lý tốt việc tranh chấp giữa các chú  
giải và thực hiện nhận dạng thực thể một cách chính xác. Ví dụ: một chú giải về nhận  
dạng các từ trong văn bản kết hợp với chú giải nhận dạng các dấu ngắt câu thành một  
chú giải mới có khả năng nhận dạng cả về từ và các dấu ngắt câu trong tài liệu.  
TokenizerVN  
Vietnamese Tokenizer  
Splits  
SplitVN  
Aggregate Annotators  
TokenizerVN  
TokenizerVN  
Splits . . .  
SplitVN  
Annotators  
Hình 2.3 - Kết hợp các chú giải  
8
Chương 2: Tổng quan UIMA  
Nguyễn Đức Nam  
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ả  
phân tích có thể ghi lại những câu khác nhau về nội dung của cùng một tài liệu. Máy  
phân tích sẽ xử lý tài liệu và ghi lại siêu dữ liệu về nội dung tài liệu.  
Ví dụ: trong tài liệu về trường đại học Công Nghệ, kết quả phân tích có thể ghi  
lại các câu sau:  
(1) Chủ đề của tài liệu là về trường đại học Công Nghệ.  
Kiểu  
(annotator)  
(2) Các ký tự từ 10 đến 30 là về một tổ chức.  
Trong câu (1), (2) ở trên có hai cụm đặc biệt là “chủ đề” và tổ chức. Chúng  
chính là những kiểu được nhận ra trong tài liệu.  
UIMA có thể sử dụng máy phân tích để tạo ra đối tượng, nhận dạng chúng  
trong tài liệu và quản lý kết phân tích về đối tượng đó. Lõi của các máy phân tích này  
là các thuật toán làm tất cả mọi việc từ xử lý tài liệu đến lưu lại các kết quả tìm được.  
9
Chương 2: Tổng quan UIMA  
Nguyễn Đức Nam  
UIMA cung cấp một thành phần cơ bản hướng tới việc các thuật toán phân tích chạy  
bên trong máy phân tích. Thành phần đó chính là các chú giải (2.2.1). Các thuật toán  
của nhóm phát triển chủ yếu quan tâm đến việc nghiên cứu và phát triển các chú giải.  
Trong UIMA, người lập trình thuật toán giữ vai trò của nhà nghiên cứu và phát triển  
chú giải.  
Có hai loại máy phân tích là máy phân tích đơn (Primitive AE) và máy phân  
tích tổng hợp (Aggregate AE).  
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ể 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.  
10  
Chương 2: Tổng quan UIMA  
Nguyễn Đức Nam  
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.  
Định dạng chi tiết cho file XML của máy phân tích đơn:  
2.2.3.1 Cấu trúc cơ bản  
File XML bắt đầu bằng định dạng mặc định của phần đầu mục XML thông thường.  
Thẻ <analysisEngineDescription> định nghĩa nguồn nào đang được sử dụng,  
nó bắt buộc là uima.apache.org nếu không các bộ miêu tả XML bị lỗi khi cập nhật.  
11  
Chương 2: Tổng quan UIMA  
Nguyễn Đức Nam  
Thẻ <framworkImplementation> chỉ có 2 giá trị org.apache.uima.java hoặc  
org.apache.uima.cpp bởi các thực thi của framework trong thời điểm hiện tại mới  
được viết bằng java hay C++.  
Thẻ <primitive> chứa giá trị boolean mang giá trị true khi bộ miêu tả này miêu  
tả về máy phân tích đơn.  
Thẻ <annotatorImplementationName> xác định xem máy phân tích sẽ sử dụng  
lớp chú giải nào.  
Thẻ <analysisEngineMetaData> chứa thông tin miêu tả máy phân tích và  
nhiệm vụ của nó là gì (mục 2.2.3.2).  
2.2.3.2 AnalysisEngineMetaData  
Thẻ <analysisEngineMetaData> chứa 4 trường : name, descriptor, version và vendor.  
Trong đó chỉ có trường name yều phải điền đầy đủ.  
Chỉ có thẻ <capabilities> yêu cầu bắt buộc phải khai báo còn các thẻ khác đều  
là tùy vào việc xây dựng máy phân tích của người dùng (mục 2.2.3.3).  
Thẻ <typeSystemDescription> định nghĩa một hệ thống kiểu dùng trong một  
máy phân tích. Muốn sử dụng thẻ này chỉ việc đưa đường dẫn file miêu tả XML về hệ  
thống kiểu được sử dụng vào trong thẻ <import>, các kiểu được định nghĩa trong file  
XML trên sẽ được máy phân tích sử dụng tự động.  
12  
Chương 2: Tổng quan UIMA  
Nguyễn Đức Nam  
2.2.3.3 capabilities  
Thẻ capabilities chứa các thẻ con <inputs>, <outputs>, <languagesSupported>,  
<inputSofas> <outputSofas>. Thẻ <Inputs> <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> <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ỹ.  
13  
Chương 2: Tổng quan UIMA  
Nguyễn Đức Nam  
2.2.3.4 Cấu trúc file XML miêu tả máy phân tích tổng hợp  
Cấu trúc của file XML của máy phân tích tổng hợp có một vài điểm khác biệt so với  
cấu trúc file XML của máy phân tích đơn.  
Thẻ <primitive> chứa giá trị false thay true.  
File miêu tả này sẽ không chứa thẻ <annotatorImplementationName> thay vào  
đó là <delegateAnalysisEngineSpecifiers> dùng để phân biệt giữa việc dùng  
một máy phân tích tổng hợp thay vì một máy phân tích đơn. Các thẻ này sẽ đưa  
vào các máy phân tích nào sẽ được sử dụng và đường dẫn đến các file XML  
miêu tả máy phân tích tương ứng.  
14  
Chương 2: Tổng quan UIMA  
Nguyễn Đức Nam  
Thẻ <flowConstraints> sẽ giúp định hướng xem thứ tự xử lý các chú giải như  
thế nào trong việc phân tích. Các chú giải sẽ được xử lý lần lượt, mỗi một chú giải  
sẽ thông qua các máy phân tích chạy ra kết quả và lưu lại các kết quả đó trong  
CAS.  
Thành phần cuối cùng là thẻ <capabilities> có cấu trúc giống với cấu trúc của  
thẻ <capabilities> của file XML (mục 2.2.3.3).  
2.2.4 Mô tả đối tượng trong tài liệu  
UIMA định nghĩa một cấu trúc phân tích chung (Common Analysis Structure) để thực  
hiện hai nhiệm vụ: đại diện các chú giải và chia sẻ kết quả phân tích cho các thành  
phần trong kiến trúc.  
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.  
15  
Chương 2: Tổng quan UIMA  
Nguyễn Đức Nam  
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  
Đại học  
Công Nghệ  
(thực thể)  
(thực thể)  
Người(P1)  
(chú giải)  
Tổ chức  
Người(P2)  
(chú giải)  
(chú giải)  
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  
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ị.  
Ví dụ tuổi và nghề nghiệp có thể định nghĩa là các đặc trưng của Người. Các kiểu khác  
có thể là tổ chức, công ty, ngân hàng, cơ sở… Không có giới hạn cho các kiểu khác  
nhau mà có thể định nghĩa trong cùng một hệ thống kiểu. Hệ thống kiểu có thể là miền  
hay ứng dụng cụ thể. Các kiểu trong hệ thống của UIMA có thể được tổ chức thành  
một phân loại. Ví dụ công ty có thể định nghĩa là một phân nhóm của tổ chức,  
nounpharse có thể là phân nhóm của một parsenode.  
16  
Chương 2: Tổng quan UIMA  
Nguyễn Đức Nam  
UIMA cũng cung cấp phân tích giả lập về nhiều khung nhìn của một tài liệu. Nó  
được dùng để hỗ trợ xử lý nhiều dạng tài liệu như là audio . . . Máy phân tích xử lý  
một hay nhiều khung nhìn của tài liệu. Mỗi khung nhìn chứa một chủ đề của việc phân  
tích cụ thể đánh chỉ mục dữ liệu trong khung nhìn đó. CAS sẽ giữ một hoặc nhiều  
khung nhìn thêm vào đó là các miêu tả về đối tượng và thể hiện kết quả phân tích  
đượ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  
17  
 
Chương 2: Tổng quan UIMA  
Nguyễn Đức Nam  
UIMA AE Factory lấy các thông tin khai báo từ bộ miêu tả XML, lớp thực thi  
chú giải thiết lập CAS và ngữ cảnh UIMA. Máy phân tích thông qua hàm process trả  
về CAS các kết quả phân tích mới. Ứng dụng sẽ quyết định xem sẽ làm gì với những  
CAS này. Có thể là biểu diễn kết quả, lưu các CAS này vào đĩa cứng cho các xử lý  
tiếp theo, trích xuất và đánh chỉ mục kết quả phân tích để tích hợp vào các máy tìm  
kiếm hay các ứng dụng trong cơ sở dữ liệu v.v…  
2.4.2 Giới thiệu máy xử lý tập tài liệu  
Nhiều ứng dụng UIMA được áp dụng để phân tích tập tài liệu. Chúng kết nối với các  
nguồn tài liệu khác nhau và thực hiện những nhiệm vụ khác nhau với các kết quả thu  
được. Tuy nhiên, trong quá trình phân tích tập tài liệu các ứng dụng UIMA đều thực  
hiện theo các bước sau:  
Kết nối với nguồn tài liệu  
Thu được một tài liệu từ các nguồn  
Tạo ra một CAS với tài liệu chuẩn bị được phân tích  
Gửi CAS tới ứng dụng  
Xử lý kết quả CAS  
Quay lại bước thứ 2 cho tới khi xử lý hoàn toàn tập tài liệu  
Làm bất cứ yêu cầu xử lý cuối cùng nào sau khi tất cả tài liệu đã được phân  
tích.  
UIMA hỗ trợ các ứng dụng này một kiến trúc xử lý tập tài liệu (Collection Processing  
Architecture - CPA). Kiến trúc này sẽ định nghĩa các thành phần được thêm vào để  
đọc qua dữ liệu từ bộ sưu tập dữ liệu, chuẩn bị dữ liệu cho các máy phân tích, xử lý  
phân tích, trích xuất kết quả và phát triển các luồng khác. Các chức năng được định  
nghĩa trong CPA thực hiện bởi máy xử lý tập tài liệu (Collection Processing Engine -  
CPE). CPE bao gồm một máy phân tích, bộ đọc tập dữ liệu (Collection Reader) , khởi  
tạo CAS (CAS Initializer), tổng hợp CAS (CAS Consumer).  
Nhiệm vụ của từng thành phần trong CPE như sau:  
18  
Chương 2: Tổng quan UIMA  
Nguyễn Đức Nam  
. Collection Reader: thành phần giúp sưu tập tài liệu để phân tích. Nó trả  
về cho CAS tài liệu để phân tích, có thể là các siêu dữ liệu.  
. Analysis Engine: chọn một CAS thực hiện phân tích nội dung của nó.  
Bước này có thể tích hợp nhiều engine phân tích một lúc. Sau bước này  
tạo ra các CAS giàu thông tin.  
. CAS Consumer: tổng hợp lại các CAS ở trên đưa ra các cấu trúc dữ liệu  
cho các ứng dụng yêu cầu có thể là đánh chỉ mục cho các máy tìm kiếm  
hoặc đưa dữ liệu vào cơ sở dữ liệu có liên quan.  
. Thành phần CAS Initializer: có thể được sử dụng cho Collection Reader.  
Hình 2.7 - Luồng làm việc của CPE  
Hai thành phần chính của máy xử lý tập tài liệu là Collection Reader và CAS  
Consumer. Công việc của Collection Reader là liên kết và tương tác với tập mã nguồn,  
thu tập tài liệu, khởi tạo các CAS việc cho phân tích. CAS Consumer là chức năng  
cuối cùng trong xử lý CAS. Công việc của nó có thể là đánh chỉ mục nội dung CAS  
cho một công cụ tìm kiếm, trích xuất các yếu tố được quan tâm, đưa kết quả vào một  
19  
Chương 2: Tổng quan UIMA  
Nguyễn Đức Nam  
cơ sở dữ liệu liên quan hoặc lưu trữ, sắp xếp lại các kết quả phân tích cho các công  
việc tiếp theo.  
Hình 2.7 miêu tả luồng làm việc của CPE. Từ các tập dữ liệu hay siêu dữ liệu  
thông qua Collection Reader lấy ra được một tài liệu, khởi tạo CAS rồi đưa tài liệu qua  
máy phân tích trả về các kết quả phân tích được lưu trong CAS Consumer. Các CAS  
Consumer này sẽ đưa các kết quả thu được vào cơ sở dữ liệu liên quan hay đánh chỉ  
mục kết quả để đưa vào máy tìm kiếm [9].  
2.4.3 Quản lý xử lý tập tài liệu  
Hình 2.8 - Tương tác của ứng dụng với CPM  
UIMA cũng bao gồm một bộ quản lý xử lý tập tài liệu (Collection Processing  
Management - CPM). Bộ quản lý này có khả năng đọc một mô tả từ máy xử lý bộ sưu  
tập và triển khai và chạy các thành phần chỉ định. Nhiệm vụ của bộ quản lý xử lý tập  
tài liệu bao gồm:  
Quản lý luồng làm việc.  
Quản lý CAS.  
Phương thức sưu tập.  
Nguồn tài liệu.  
20  
Chương 2: Tổng quan UIMA  
Xử lý lỗi.  
Nguyễn Đức Nam  
2.5 Khai thác kết quả phân tích  
Sau khi xử lý các tài liệu thu được kết quả phân tích có rất nhiều hướng được đặt ra để  
khai thác các kết quả phân tích đó. Bao gồm đưa các kết quả này thành đầu vào của  
các thành phần tìm kiếm hay đưa các kết quả này vào cơ sở dữ liệu có sẵn tương ứng.  
2.5.1 Tìm kiếm ngữ nghĩa  
Trong một máy xử lý tập tài liệu, Collection Reader đọc các tài liệu từ các thư mục  
chứa tài liệu và khởi động các CAS cùng với nội dung của chính nó. Sau đó đưa vào  
máy phân tích từ vựng và các câu, khi đó các CAS chứa đầy thông tin về từ vựng và  
các câu. Các thông tin này sẽ thông qua CAS Consumer và truyền đến công cụ đánh  
chỉ mục dùng cho tìm kiếm hay đưa vào các cơ sở dữ liệu liên quan.  
Cách xử lý truy vấn tìm kiếm có thể sử dụng các chỉ mục ở trên để cung cấp một  
số key_word cho tìm kiếm. Ví dụ khi đưa 1 truy vấn “UIMA” công cụ tìm kiếm sẽ trả  
về tất cả các tài liệu có chứa từ “UIMA”.  
Tìm kiếm ngữ nghĩa là một mô hình tìm kiếm mà có thể khai thác các thông tin  
bổ sung được tạo ra bởi các phân tích từ máy xử lý tập tài liệu.  
Chúng tôi đưa một thực thể có tên vào công cụ xử lý tập tài liệu ở trên. Giả sử  
công cụ này có khả năng phát hiện trong các văn bản và chú giải trong CAS về con  
người và tổ chức. Bổ sung các thực thể tên được nhận ra, tạo ra một CAS  
Consumer để trích xuất thêm tới token và câu chú giải. Con người và tổ chức được  
thêm vào CAS qua việc phát hiện thực thể tên trong tài liệu. Sau đó chúng được đưa  
vào chỉ mục máy phân tích tìm kiếm chỉ mục.  
2.5.2 Cơ sở dữ liệu  
Công cụ tìm kiếm không chỉ dùng để khai thác kết quả phân tích mà nó còn dùng để  
lưu lại các kết quả tìm kiếm vào cơ sở dữ liệu có nôi dung liên quan. Hệ thống sử dụng  
21  
Chương 2: Tổng quan UIMA  
Nguyễn Đức Nam  
CAS Consumer để giúp đưa các kết quả phân tích vào các công cụ tìm kiếm hoặc trực  
tiếp vào các cơ sở dữ liệu. Đồng thời CAS Consumer giúp trích xuất các chú giải đưa  
vào cơ sở dữ liệu về chú giải.  
2.6 Xử lý đa phương tiện  
Trong mục 2.4.2 trình bày về cách CPE khởi tạo một CAS, phân tích dữ liệu bởi công  
cụ phân tích và tổng hợp kết quả trong CAS Consumer. Công cụ phân tích có thể tạo  
ra một số miêu tả về vật thể ví dụ dạng của chú giải. Những miêu tả này sẽ được thêm  
vào các khẳng định về vật thể trong kết quả phân tích trước đó. Cuối cùng một hoặc  
nhiều CAS Consumer sẽ trích xuất thông tin từ CAS cho việc lưu trữ thông tin đã có  
cấu trúc.  
Hình 2.9 -Xử lý audio trong UIMA  
Xem xét ví dụ trong hình 2.9, luồng làm việc bắt đầu với một âm thanh ghi âm  
một cuộc hội thoại, chuyển các audio về dạng văn bản, nhận dạng các thực thể trong  
văn bản và trích xuất thông tin từ các văn bản trên. Sự hỗ trợ cho các đa đối tượng  
trong phân tích của UIMA được gọi là hỗ trợ về chủ đề của chú giải(sofa). Một Sofa  
được liên kết với khung nhìn CAS. Một CAS cụ thể có thể có nhiều khung nhìn, mỗi  
khung nhìn sẽ tương ứng với một vấn đề cụ thể cần phân tích cùng với một tập hợp  
các chỉ số được xác định trong dữ liệu tạo ra trong khung nhìn.  
Trong chương 2, chúng tôi đã trình bày những thông tin tổng quan về kiến trúc  
UIMA, các thành phần cơ bản, cách thức hoạt động. Nó cung cấp những công cụ để  
thực hiện xây dựng công cụ xử lý tiếng Việt được trình bày trong chương tiếp theo.  
22  

Tải về để xem bản đầy đủ

pdf 50 trang yennguyen 08/06/2025 110
Bạn đang xem 30 trang mẫu của tài liệu "Khóa luận Nghiên cứu và phát triển các công cụ xử lý tiếng Việt trên UIMA", để tải tài liệu gốc về máy hãy click vào nút Download ở trên.

File đính kèm:

  • pdfkhoa_luan_nghien_cuu_va_phat_trien_cac_cong_cu_xu_ly_tieng_v.pdf