Các chú giải được sử dụng trong xử lý tiếng Việt hầu hết là để nhận dạng các thực thể. Do vậy chúng tôi sử dụng công cụ nhận dạng thực thể có tên [3] được sử dụng trong GATE vào UIMA và xây dựng một máy phân tích tổng hợp để nhận ra tất cả các chú giải đươc xây dựng cũng như tích hợp trong đề tài.
Chúng tôi sử dụng công cụ nhận dạng thực thể tiếng Việt có tên[3] và tích hợp nó vào trong kiến trúc UIMA.
Các loại thực thể được nhận dạng:
PersonVN: Thực thể chỉ người
OrganizationVN: Thực thể chỉ một tổ chức, một nhóm người được thành lập theo một cấu trúc phân cấp nào đó.
FacilityVN: Thực thể chỉ những thực thể do con người tạo ra thường là các thực thể xây dựng và kiến trúc, như sân vận động, bảo tàng, nhà ga …
LocationVN: Thực thể chỉ những thực thể địa lý như vùng lãnh thổ, địa danh, sông, suối …
NationalityVN: Thực thể chỉ quốc tịch người, hoặc thuộc về quốc gia.
ReligionVN: Thực thể chỉ các tổ chức tôn giáo.
Để xây dựng một công cụ phân tích thực thể trên UIMA. Chúng tôi cũng xây dựng một bộ miêu tả XML của máy phân tích, một lớp chú giải về thực thể và lớp định nghĩa đẩu ra cho các chú giải.
35
Chúng tôi trình bày về việc xây dựng nhận dạng thực thể PersonVN, các thực thể khác hoàn toàn tương tự.
Đầu tiên chúng tôi xây dựng bộ miêu tả XML của máy phân tích nhận dạng thực thể bao gồm xác định lớp chú giải VN_NE nằm trong gói VietNamese, hệ thống kiểu được sử dụng là VNExamples và lớp định nghĩa chú giải là VN_NE trong gói Types.
Cấu trúc của file XML bộ miêu tả như sau:
<?xml version="1.0" encoding="UTF-8"?> <analysisEngineDescription xmlns="http://uima.apache.org/resourceSpecifier"> <frameworkImplementation>org.apache.uima.java</frameworkImplementation> <primitive>true</primitive> <annotatorImplementationName>Vietnamese.VN_NE</annotatorImplementationName> <analysisEngineMetaData> <name>NE_VN</name> <description>tên người</description> <configurationParameters/> <configurationParameterSettings/> <typeSystemDescription> <imports> <import name="descriptor.VNExampleTypes"/> </imports> </typeSystemDescription> <capabilities> <capability> <inputs/> <type>Types.Token_VN</type> <type>Types.Splits_VN</type> <outputs> <type>Types.Organization_VN</type> <type>Types.Location_VN</type> <type>Types.Religion_VN</type> <type>Types.Facility_VN</type> <type>Types.Nationality_VN</type> <type>Types.Person_VN</type> </outputs> <languagesSupported/> </capability> </capabilities> </analysisEngineMetaData> <resourceManagerConfiguration/> </analysisEngineDescription>
36
Cấu trúc file XML này có kiểu đầu vào là các từ, dấu ngắt thu được trong máy tách từ tiếng Việt chạy ở trên và các kiểu đầu ra là các kiểu được định nghĩa trong gói Types bao gồm Organization_VN, Location_VN, Religion_VN, Facility_VN, Nationality_VN và Person_VN.
Lớp chú giải sẽ lấy từ kết quả công cụ nhận dạng thực thể có tên [3] hoạt động trên GATE và lấy những từ có nhãn là “Person”, “Nationality”, “Location”, “Religion”, “Facility”, “Organization” đưa chúng thành chú giải được định nghĩa trong gói Types.
Đặc trưng của chú giải bao gồm begin, end xác định ký tự của chú giải trong tài liệu và componentId xác định loại chú giải.
Lớp định nghĩa chú giải tương tự như lớp chú giải Token_VN, chỉ ra các chú giải cũng kế thừa từ lớp Annotator của hệ thống và đưa thêm đặc trưng componentId.
Kết quả thu được qua Document Analyzer:
37
Sau khi xây dựng toàn bộ các chú giải bao gồm tách từ, thực thể có tên, chúng tôi tiến hành xây dựng một máy phân tích tổng hợp sử dụng tất cả các chú giải trên để phân tích trên một tài liệu.
3.4.3 Kết hợp nhận dạng tách từ và thực thể tiếng Việt có tên
Việc kết hợp nhận dạng tất cả thực thể trong UIMA thông qua việc sử dụng Aggregate AE đã được trình bày trong mục trước. Sử dụng Aggregate AE chỉ cần tạo ra file xml để xác định các thành phần AE tương ứng được sử dụng trong việc phân tích.
Trong mục này chúng tôi chỉ cần xây dựng bộ miêu tả cho máy phân tích tổng hợp. Nó sẽ có nhiệm vụ xử lý từng chú giải một và đưa ra kết quả trên một tài liệu.
Cấu trúc file XML như sau:
<?xml version="1.0" encoding="UTF-8"?> <analysisEngineDescription xmlns="http://uima.apache.org/resourceSpecifier"> <frameworkImplementation>org.apache.uima.java</frameworkImplementation> <primitive>false</primitive> <delegateAnalysisEngineSpecifiers> <delegateAnalysisEngine key="NEVN"> <import location="NEVN.xml"/> </delegateAnalysisEngine> <delegateAnalysisEngine key="TokenVN"> <import location="TokenVN.xml"/> </delegateAnalysisEngine> <analysisEngineMetaData> <name>Aggregate AE</name> <description/> <version>1.0</version> <vendor>Namnd</vendor> <configurationParameters/> <configurationParameterSettings/> <flowConstraints> <fixedFlow> <node>VNToken</node> <node>NEVN</node> </fixedFlow> </flowConstraints> <capabilities>
38 <capability> <inputs/> <outputs> <type>Types.Token_VN</type> <type>Types.Token_Splits</type> <type>Types.Person_VN</type> <type>Types.Location_VN</type> <type>Types.Nationality_VN</type> <type>Types.Organization_VN</type> <type>Types.Religion_VN</type> <type>Types.Facility_VN</type> </outputs> <languagesSupported/> </capability> </capabilities> </analysisEngineMetaData> <resourceManagerConfiguration/> </analysisEngineDescription>
Bộ miêu tả này xem máy phân tích tổng hợp sử dụng những máy phân tích đơn nào chỉ rõ file XML miêu tả máy phân tích đơn lấy ra từ đâu, thứ tự xử lý các máy phân tích trong thẻ <flowConstraints> và các định dạng chú giải đầu ra trong thẻ
<outputs>.
Kết quả là Aggregate này sẽ chạy từng thành phần AE con bên trong rồi đưa ra kết quả là tập hợp của những kết quả con ở trên.
Kết quả trong hình 3.9 thể hiện tài liệu được tách thành những chú giải riêng biệt. Tài liệu được xử lý trước hết là tách thành các từ, dấu ngắt sau đó là nhận dạng các thực thể như tên người, tên địa phương, tên quốc gia, tên tổ chức, tên tôn giáo và tên các công trình. Mỗi một token thường có hai chú giải về nó: chú giải về bản thân token và chú giải về kiểu thực thể mà nó nằm trong. Chương trình cũng xử lý được một số nhập nhằng ví dụ sự nhập nhằng trong việc nhận diện tên người, tên quốc gia, tên tổ chức . . .
39
Hình 3.9 Kết quả phân tích cho máy phân tích tổng hợp
Tổng kết
Trong chương 3 chúng tôi đã trình bày về cách xây dựng một bộ công cụ phân tích tiếng Việt được xây dựng từ những thành phần bao gồm tách từ, nhận dạng thực thể có tên và kết hợp tất cả chúng lại trong một máy phân tích. Bằng công cụ này người sử dụng có thể xử lý tài liệu tiếng Việt trên UIMA và tích hợp thêm các thành phần khác vào trong hệ thống.
43
Chương 4
Tổng kết và hướng phát triển
Chúng tôi đã xây dựng được hệ thống tích hợp các công cụ xử lý tiếng Việt có sẵn lên UIMA. Nó bao gồm công cụ xử lý tổng hợp từ các công cụ tách từ tiếng Việt [1][2] và công cụ nhận dạng thực thể tiếng Việt có tên [3]. Việc tận dụng được khả năng linh hoạt giữa các thành phần trong UIMA và sự hỗ trợ tốt giữa chúng mang lại lợi ích không nhỏ cho các nhà phát triển phần mềm. Các kết quả thu được khi chạy các ứng dụng tách từ và nhận dạng thực thể tiếng Việt có tên hoàn toàn tương ứng với các kết quả khi chạy các ứng dụng trên GATE hay các hệ thống khác.
Hướng phát triển tiếp theo là ứng dụng thêm các thành phần tìm kiếm cho các kết quả thu được. Các thành phần tìm kiếm sẽ thực hiện nhiệm vụ như tìm kiếm thực thể mang tên nào đó, liệt kê, đánh chỉ mục hay đưa nó vào các cơ sở dữ liệu tương ứng.
Một hướng phát triển nữa là xây dựng các ứng dụng trong việc tích hợp xử lý hình ảnh, audio và video. Các hướng phát triển này đã có một số nghiên cứu trên ngôn ngữ khác nhưng chưa được phát triển trên ngôn ngữ tiếng Việt do vậy việc phát triển thêm các ứng dụng này hứa hẹn mang lại một hệ thống hoàn thiện hơn trong tương lai.
A
Tài liệu tham khảo
[1] Dang Duc Pham , Giang Binh Tran , Son Bao Pham , A Hybrid Approach to
Vietnamese Word Segmentation Using Part of Speech Tags, International
Conference on Knowledge and Systems Engineering, 2009
[2] D. Pham, Phương pháp phân đoạn từ tiếng Việt sử dụng gán nhãn từ loại, Khóa luận tốt nghiệp, Coltech, VNU, 2009.
[3] B. Đạt Nguyễn, Nhận dạng thực thể tiếng Việt có tên, Khóa luận tốt nghiệp, Coltech, VNU, 2009.
[4] Dat Ba Nguyen, Son Huu Hoang, Son Bao Pham, and Thai Phuong Nguyen,
Named Entity Recognition for Vietnamese, The 2nd Asian Conference on
Intelligent Information and Database Systems, 2010.
[5] T. Nguyễn, T. Oanh, P. Hieu, H. Thuy, Named Entity Recognition in Vietnamese Free-Text and Web Documents Using Conditional Ramdom Fields,
The 8th Conference on Some selection problems of Information Technology and Telecommunication, Hai Phong, Viet Nam 2005
[6] D. Appelt, An Introduction to information extraction, Artificial Intelligence Communications, 12, 1999
[7] Graham Wilcock, GATE and UIMA in Language Technology Teaching (2007). [8] H. Cunningham, Information extraction: a User Guide (revised version),
Research Menorandum CS-99-07, Department of Computer Science, University of Sheffied, May, 1999
[9] [Wei-Bang 2007] Wei-Bang Chen, Chengcui Zhang, Wen-Lin, and Richa Tiwari; MIA: A UIMA-Based Microarray Image Analysis System(2007).
[10] Unstructured Information Management Architecture: http://www.oasis- open.org/committees/download.php/28492/uima-spec-wd-05.pdf.
A
[11] Documentation UIMA: http://uima.apache.org/downloads/releaseDocs/2.2.2- incubating/docs/html/index.html.
[12] Apache UIMA and Metadata Generation:
http://www.slideshare.net/teofili/apache-uima-and-metadata-generation.
[13] UIMA and Semantic Search:
http://domino.research.ibm.com/comm/research_projects.nsf/pages/uima.seman ticSearch.html.